【发布时间】:2019-04-16 22:33:46
【问题描述】:
我正在使用namesparser 从姓名列表中提取全名。
from namesparser import HumanNames
names = HumanNames('Randy Heimerman, James Durham, Nate Green')
print(names.human_names[0])
Namesparser 在大多数情况下都能正常工作,但上面的例子已经挂了。我相信这是因为名称“Randy”包含“and”,namesparser 将其视为分隔符。
当我将 Randy 的名字移到字符串的末尾时,会打印出正确的名字 (James Durham)。但是,如果我尝试打印其他 2 个名称中的任何一个,则会返回错误的字符串。
关于如何解决这个问题的任何想法?
【问题讨论】:
-
你能提供你得到的当前输出是什么吗?
-
所有的全名都是用逗号分隔的吗?另外,您是否考虑过使用命名实体识别管道?斯坦福大学的 CoreNLP 会毫不费力地解析它,然后您只需使用 while 循环来收集具有 person 属性的连续标记...
-
whats
HumanNames我在文档中看不到该课程,只有HumanName一次需要一个人,如果您可以提供更多信息,可能已经有一种方法可以做这个在图书馆里 -
问题在这里 -> github.com/gwu-libraries/namesparser/blob/master/… 你必须更改该行,否则它将继续拆分
and上的名称