[英]'Spacy' Names Undetected
我下面的代码应该识别字符串中的名称,但它似乎不能识别所有名称。
import spacy
nlp = spacy.load('en_core_web_sm')
text = "Elon Musk 889-888-8888 elonpie@tessa.net Jeff Bezos (345)123-1234 bezzi@zonbi.com Reshma Saujani example.email@email.com 888-888-8888 Barkevious Mingo"
doc = nlp(text)
print([ent for ent in doc.ents if ent.label_ == 'PERSON'])
Output如下:
['Elon Musk 889-888-8888', 'Jeff Bezos']
预期的 output 将是:
['Elon Musk', 'Jeff Bezos', 'Reshma Saujani', 'Barkevious Mingo']
是否有不同的 package 可能有用?
尝试关注;
首先,模型并不完美,它们会出错。 这只是你需要准备的事情。
其次,针对英语(以及大多数其他语言)的 spaCy 预训练管道是针对具有完整句子和段落的文本进行训练的,例如报纸文章。 您似乎只有一个姓名和联系信息列表——这些模型以前从未见过这样的数据,并且在这些数据上的表现相对较差。 如果您的所有文本都是这样,最好使用基于规则的匹配器或训练您自己的 model。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.