使用NLTK命名的实体识别。提取的关键字的相关性

时间:2011-04-16 07:31:17

标签: nltk relevance named-entity-recognition

我正在查看NLTK的命名实体识别功能。是否有可能找出哪些提取的关键字与原始文本最相关?此外,是否可以知道提取的关键字的类型(人/组织)?

1 个答案:

答案 0 :(得分:7)

如果您有经过培训的标记器,则可以先标记文本,然后使用NLTK附带的网元分类器。

标记文本应显示为列表

sentence = 'The U.N.'
tagged_sentence = [('The','DT'), ('U.N.', 'NNP')]

然后,ne分类器将像这样被调用

nltk.ne_chunk(tagged_sentence)

它返回一棵树。分类的单词将在主结构中显示为树节点。 结果将包括PERSON,ORGANIZATION或GPE。

要找出最相关的术语,您必须定义“相关性”的度量。通常使用tf/idf,但如果您只考虑一个文档,频率就足够了。

使用NLTK可以轻松计算文档中每个单词的频率。首先你必须加载你的语料库,一旦你加载了它并有一个Text对象,只需调用:

relevant_terms_sorted_by_freq = nltk.probability.FreqDist(corpus).keys()

最后,您可以过滤掉不属于网元词典列表的related_terms_sorted_by_freq中的所有单词。

NLTK offers an online version of a complete book我觉得有趣的是