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

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

Erkennen von Ländernamen in unstrukturiertem englischen Text mit Python

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

Bitte beachten Sie, dass die Country Named Entity Recognition nur Länder mit hoher Zuverlässigkeit 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 Folgendes in die Befehlszeile eingeben:

pip install country-named-entity-recognition

Der Quellcode ist 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änder korrekt großgeschrieben und mit Satzzeichen versehen werden:

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

werde nichts zurückgeben.

Wenn Ihr Text jedoch aus sozialen Medien oder einer anderen nicht moderierten Quelle stammt, möchten Sie möglicherweise den Abgleich ohne Berücksichtigung der Groß- und Kleinschreibung zulassen:

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

Schwierige Randfälle für die 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: Attribution-ShareAlike 2.0 Generic (CC BY-SA 2.0)

Georgien – ist es 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 sie sich auf den US-Bundesstaat bezieht, und markiert 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 kontextbezogenen Hinweis enthält, und das Tool erkennt Georgien als das 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 bereitstellen, um das Tool zu zwingen, davon auszugehen, dass Georgien das Land ist:

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 ein abweichender Ländername fehlt, können Sie ihn mit der Methode hinzufügen.

Stellen wir uns vor, wir möchten Neverneverland 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 ein Problem finden, können Sie es entweder unter https://github.com/fastdatascience/country_named_entity_recognition/issues ansprechen oder sich an Fast Data Science wenden .

Unter Berufung auf die 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/}
}

What we can do for you

Transform Unstructured Data into Actionable Insights

Contact us