我有兴趣了解有关自然语言处理(NLP) 的更多信息,并且很好奇目前是否有任何策略可以识别文本中不基于字典识别的专有名词?另外,任何人都可以解释或链接到解释当前基于字典的方法的资源吗?谁是 NLP 的权威专家,或者该主题的权威资源是什么?
8 回答
为文本中的单词确定正确的词性的任务称为词性标记。例如,Brill 标注器混合使用了字典(词汇)单词和上下文规则。我相信这个任务的一些重要的初始字典单词是停用词。一旦你的词有了(大部分是正确的)词性,你就可以开始构建更大的结构了。这本面向行业的书区分了识别名词短语 (NP) 和识别命名实体。关于教科书:Allen 的《自然语言理解》是一本不错但有点过时的书。Foundations of Statistical Natural Language Processing是对统计 NLP 的一个很好的介绍。语音和语言处理更严格一些,也许更权威。计算语言学协会是计算语言学的领先科学社区。
除了基于字典的方法之外,我还想到了另外两个方法:
- 基于模式的方法(以简单的形式:任何大写的都是专有名词)
- 机器学习方法(在训练语料库中标记专有名词并训练分类器)
该领域主要被称为命名实体提取,通常被认为是信息提取的一个子领域。NLP 不同领域的一个很好的起点通常是牛津计算语言学手册中的相应章节:
(来源:oup.com)
尝试搜索“命名实体识别”——这是 NLP 文献中用于此类事物的术语。
这取决于您所说的基于字典的含义。
例如,一种策略是使用字典中没有的东西,并尝试假设它们是专有名词。如果这导致合理的解析,请考虑临时验证的假设并继续进行,否则得出结论它们不是。
其他想法:
- 在主题位置上,任何没有限定词的简单主题都是不错的候选者。
- 介词短语中的同上
- 在任何位置,所有格限定词的基础(例如“鲍勃的姐姐”中的鲍勃)是一个很好的候选者
——马库斯
一些工具包建议: 1. Opennlp:你的任务有一个命名实体识别组件 2. LingPipe:也是它的 NER 组件 3. 斯坦福 NLP 包:用于学术用途的优秀包,可能对商业不友好。4. nltk:一个 Python NLP 包
如果您有诸如“谁是比尔·盖茨”之类的句子并且如果您对其应用词性标注器。它会给出答案
“谁/WP 是/VBZ 比尔/NN 盖茨/NNS ?/。”
你可以在http://cst.dk/online/pos_tagger/uk/上在线尝试
所以你得到了这句话中的所有名词。现在您可以使用一些算法轻松提取这些名词。如果您使用自然语言处理,我建议使用 python。它有 NLTK(自然语言工具包),您可以使用它。
如果您对自然语言处理的实现感兴趣并且 Python 是您的编程语言,那么这可能是一个非常有用的资源:http ://www.youtube.com/watch?v=kKe4M4iSclc
虽然这是针对孟加拉语的,但它可以画出一个通用的程序来识别专有名词。所以我希望这对你有帮助。请查看以下链接: http ://www.mecs-press.org/ijmecs/ijmecs-v6-n8/v6n8-1.html