使用英语的SpaCy进行人名检测。寻找答案

时间:2018-07-06 15:59:14

标签: python nlp nltk spacy ner

我正在使用Spacy并尝试检测文本中的名称。例如,text ='Keras是一个很好的软件包。亚当·史密斯(Adam Smith)使用黑色汽车。我希望卡特里娜飓风在她的工作中表现良好。'

答案应该是这样的:亚当·斯密和卡特里娜。

任何人都可以推荐

2 个答案:

答案 0 :(得分:0)

这是一个典型的命名实体识别问题。 Spacy有一个经过预先训练的模型可以启用此功能,该模型应该能够准确地检测到人员姓名。

看看this code sample.

根据Spacy的annotation scheme,名称标记为PERSON

答案 1 :(得分:0)

spacy有一个label_称为person。您有几种模型选择:小,中或大。大量使用更多资源来运行

def find_persons(text):
     # Create Doc object
     doc2 = nlp(text)

     # Identify the persons
     persons = [ent.text for ent in doc2.ents if ent.label_ == 'PERSON']

     # Return persons
     return persons
相关问题