Spacy правильно определяет GPEPython

Программы на Python
Anonymous
Spacy правильно определяет GPE

Сообщение Anonymous »

У меня есть набор строк, в котором я могу определить страну, к которой она принадлежит, ссылаясь на обнаруженный GPE.

Код: Выделить всё

sentences = [
"I watched TV in germany",
"Mediaset ITA canale 5",
"Je viens d'Italie",
"Ich komme aus Deutschland",
"He is from the UK",
"Soy de Inglaterra",
"Sono del Regno Unito"
]
Итак, мои ожидания:
"Я смотрел телевизор в Германии" => DE
"Soy de Inglaterra" => UK
и т. д.
p>
Я пробовал использовать этот код:

Код: Выделить всё

from spacy.pipeline import EntityRuler
nlp = spacy.load('xx_ent_wiki_sm')  # Multilingual model

def detect_country(text):
doc = nlp(text)
countries = []
for ent in doc.ents:
if ent.label_ == 'GPE':
countries.append(ent.text)
return countries

for sentence in sentences:
countries = detect_country(sentence)
print(f"Countries detected in '{sentence}': {countries}")
Но результаты совершенно пустые:

Код: Выделить всё

Countries detected in 'I watched TV in germany': []
Countries detected in 'Mediaset ITA canale 5': []
Countries detected in 'Je viens d'Italie': []
Countries detected in 'Ich komme aus Deutschland': []
Countries detected in 'He is from the UK': []
Countries detected in 'Soy de Inglaterra': []
Countries detected in 'Sono del Regno Unito': []
Я не понимаю, не упускаю ли я что-то в пространственном конвейере и действительно ли я выбираю хороший выбор для многоязыковой модели.
Заранее спасибо за любые советы
п>

Подробнее здесь: https://stackoverflow.com/questions/786 ... rectly-gpe

Вернуться в «Python»