Python-Bibliothek zur Erkennung länderspezifischer benannter Entitäten

Python-Bibliothek zur Erkennung länderspezifischer benannter Entitäten

Ländernamen in unstrukturiertem englischen Text mit Python erkennen

Wir haben eine Python-Bibliothek namens Country Named Entity Recognition als Open Source freigegeben, um Ländernamen in einer Zeichenfolge zu finden. Beispiel: „Diese Studie wird Studienstandorte in Namibia, Simbabwe und Südafrika umfassen.“ Diese NLP-Aufgabe wird Named Entity Recognition (Länder im Text finden) und Named Entity Linking (Länder IDs zuordnen) genannt.

Bitte beachten Sie, dass die Country Named Entity Recognition nur Länder mit hoher Konfidenz findet. Ein Text wie „Amerika“ ist mehrdeutig.

Auch Country Named Entity Recognition findet nur die englischen Namen dieser Länder. Namen in der Landessprache werden nicht unterstützt.

Sie können die Python-Bibliothek installieren, indem Sie in die Befehlszeile Folgendes eingeben:

pip install country-named-entity-recognition

Der Quellcode befindet sich auf Github und das Projekt auf Pypi .

Georgia (the country)

Anwendungsbeispiele

In Ihrer Python-Konsole können Sie Folgendes versuchen:

Beispiel 1

from country_named_entity_recognition import find_countries
find_countries("We are expanding in the UK")

gibt eine Liste von Tupeln aus.

[(Country(alpha_2='GB', alpha_3='GBR', flag='', name='United Kingdom', numeric='826', official_name='United Kingdom of Great Britain and Northern Ireland'),
)]

Beispiel 2

Das Standardverhalten des Tools geht davon aus, dass Ländernamen richtig geschrieben und Zeichensetzung verwendet werden:

from country_named_entity_recognition import find_countries
find_countries("I want to visit france.")

Natural language processing

Want to learn more?

Hat Ihnen gefallen, was Sie gerade gelesen haben? Nehmen Sie Kontakt mit uns auf, um eine NLP-Beratungssitzung zu vereinbaren.

wird nichts zurückgeben.

Wenn Ihr Text jedoch aus sozialen Medien oder einer anderen nicht moderierten Quelle stammt, möchten Sie möglicherweise die Groß-/Kleinschreibung ignorierende Übereinstimmung zulassen:

from country_named_entity_recognition import find_countries
find_countries("I want to visit france.", is_ignore_case=True)

Schwierige Randfälle bei der Erkennung benannter Entitäten

Gladys Knight. Image source: https://www.flickr.com/people/36277035@N06 . Licence: Attribution-ShareAlike 2.0 Generic (CC BY-SA 2.0)

Gladys Knight. Bildquelle . Lizenz: Namensnennung-Weitergabe unter gleichen Bedingungen 2.0 Generic (CC BY-SA 2.0)

Klärung der Frage: Ist Georgien ein Staat oder ein Land?

Sie können dem Tool auch Kontext hinzufügen. Wenn wir auf die Zeichenfolge „Georgia“ stoßen, geht die Bibliothek standardmäßig davon aus, dass es sich um den US-Bundesstaat handelt, und kennzeichnet ihn nicht als Land:

from country_named_entity_recognition import find_countries
find_countries("Gladys Knight and the Pips wrote the Midnight Train to Georgia")

gibt eine leere Liste zurück.

Sie können jedoch eine Zeichenfolge angeben, die einen klaren Kontexthinweis enthält, und das Tool erkennt Georgien als Land:

from country_named_entity_recognition import find_countries
find_countries("Salome Zourabichvili is the current president of Georgia.")

kehrt zurück

[(Country(alpha_2='GE', alpha_3='GEO', flag='', name='Georgia', numeric='268'),
    )]

Sie können über einen optionalen Parameter einige Metadaten angeben, damit das Tool davon ausgeht, dass es sich bei dem Land um Georgien handelt:

from country_named_entity_recognition import find_countries
find_countries("I want to visit Georgia.",
    is_georgia_probably_the_country=True)

„Ich möchte Georgien besuchen.“

Hinzufügen benutzerdefinierter Varianten zur Country Named Entity Recognition

Wenn Sie feststellen, dass eine Variante des Ländernamens fehlt, können Sie diese mit der Methode hinzufügen.

Stellen wir uns vor, wir möchten Nimmerland als Synonym für die VAE hinzufügen:

from country_named_entity_recognition import find_countries, \
    add_custom_variants
add_custom_variants(["Neverneverland"], "AE")
find_countries("I want to visit Neverneverland")

Probleme ansprechen

Wenn Sie auf ein Problem stoßen, können Sie entweder unter https://github.com/fastdatascience/country_named_entity_recognition/issues eine Meldung senden oder sich an Fast Data Science wenden .

Zitieren der Country Named Entity Recognition-Bibliothek

Wood, TA, Country Named Entity Recognition [Computersoftware], Version 0.4, abgerufen unter https://fastdatascience.com/country-named-entity-recognition/ , Fast Data Science Ltd (2022)

@unpublished{countrynamedentityrecognition,
    AUTHOR = {Wood, T.A.},
    TITLE  = {Country Named Entity Recognition (Computer software), Version 0.4},
    YEAR   = {2022},
    Note   = {To appear},
    url = {https://fastdatascience.com/country-named-entity-recognition/}
}

Fallstudien: Wer verwendet die Country Named Entity Recognition Library?

Glücklicherweise nutzen zahlreiche Personen und Organisationen auf der ganzen Welt die Bibliothek und haben uns zitiert.

Die sechste Welle des Massenaussterbens von Arten …

Alisa Redding von der Universität Helsinki verwendete das Tool für ihre Masterarbeit zum Thema Massenaussterben von Arten und Artenvielfalt.

Die nachhaltigen Entwicklungsziele (SDGs) der UN

Christoph Funk und seine Kollegen von der Justus-Liebig-Universität Gießen nutzten die Country-Named-Entity-Recognition für ihre Metaanalyse von Artikeln zu den nachhaltigen Entwicklungszielen im Jahr 2023:

Die Europäische Kommission: Aufdeckung von Terrorismus und Extremismus

Francesco Bosso und sein Team bei der Europäischen Kommission haben einen Bericht verfasst, in dem sie NLP zur Standorterkennung untersuchen und sich dabei auf die Terrorismus- und Extremismusdatenbank des JRC konzentrieren.

Kennzeichnung radikaler Online-Inhalte

Ugochukwu Etudo und Victoria Y. Yoon von der Virginia Commonwealth University verwendeten das Tool bei ihrer Analyse radikaler Online-Inhalte:

What we can do for you

Transform Unstructured Data into Actionable Insights

Contact us