Я пробовал использовать spacy для ner, но результаты очень непредсказуемы. Иногда spacy не распознает конкретную страну. Кто-нибудь может объяснить, почему это происходит? Я пробовал несколько случайных предложений.
ДЕЛО 1:
nlp = spacy.load("en_core_web_sm")
print(nlp)
sent = "hello china hello japan"
doc = nlp(sent)
for i in doc.ents:
print(i.text," ",i.label_)
ВЫХОД: в этом случае нет вывода.
СЛУЧАЙ 2:
nlp = spacy.load("en_core_web_sm")
print(nlp)
sent = "china is a populous nation in East Asia whose vast landscape encompasses grassland, desert, mountains, lakes, rivers and more than 14,000km of coastline."
doc = nlp(sent)
for i in doc.ents:
print(i.text," ",i.label_)
ВЫХОД:
<spacy.lang.en.English object at 0x7f2213bde080>
china GPE
East Asia LOC
more than 14,000km QUANTITY