我正在使用Spacy并尝试检测文本中的名称。例如,text ='Keras是一个很好的软件包。亚当·史密斯(Adam Smith)使用黑色汽车。我希望卡特里娜飓风在她的工作中表现良好。'
答案应该是这样的:亚当·斯密和卡特里娜。
任何人都可以推荐
答案 0 :(得分:0)
这是一个典型的命名实体识别问题。 Spacy有一个经过预先训练的模型可以启用此功能,该模型应该能够准确地检测到人员姓名。
根据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