【问题标题】:How to recognize if string is human name?如何识别字符串是否是人名?
【发布时间】:2021-06-25 19:41:11
【问题描述】:

所以我有一些文本数据被杂乱地解析,因此我将名称与实际数据混合在一起。是否有任何类型的包/库可以帮助识别单词是否是名称? (在这种情况下,我会假设以美国/西方/欧洲为中心的名称)

否则,有什么好的方法来标记这个?也许在名称语料库上训练模型并为数据集中的每个单词分配一个分类?只是不确定解决这个问题的最佳方法/哪种模型适合,或者是否已经存在解决方案

【问题讨论】:

  • 您可以创建一个包含每个名称列表的文本文件并循环访问您的数据吗?效率不高,但仍然......
  • 巴黎、希尔顿和布鲁克林的名称、品牌或地点也是如此?胡佛,熊,...祝你好运。
  • @barny 好点,但我只是在寻找我的数据集的整体改进,在这种情况下我不需要完美的结果,所以这样的例子将在可接受的误差范围内。跨度>
  • 您是否尝试过简单地查找大写单词?
  • 这能回答你的问题吗? Improving the extraction of human names with nltk

标签: python nlp


【解决方案1】:
import nltk
from nltk.tag.stanford import NERTagger
st = NERTagger('stanford-ner/all.3class.distsim.crf.ser.gz', 'stanford-ner/stanford-ner.jar')
text = """YOUR TEXT GOES HERE"""

for sent in nltk.sent_tokenize(text):
    tokens = nltk.tokenize.word_tokenize(sent)
    tags = st.tag(tokens)
    for tag in tags:
        if tag[1]=='PERSON': print tag

通过Improving the extraction of human names with nltk

【讨论】:

  • 哦,我没想到要使用NER,这可能是要走的路,谢谢
猜你喜欢
  • 2011-05-26
  • 2010-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-09
  • 1970-01-01
  • 2015-05-11
  • 2014-11-08
相关资源
最近更新 更多