2011-04-16 103 views

回答

7

如果您有训练有素的标记器,您可以先标记您的文本,然后使用NLTK附带的NE分类器。

标签文本应作为一个列表

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

然后,NE分类将被称为像这样

nltk.ne_chunk(tagged_sentence) 

它返回一个树。分类的单词将在主结构内显示为树节点。 结果将包括如果它是人,组织或GPE。

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

使用NLTK计算文档中每个单词的频率很容易。首先,你必须加载语料库,一旦你有加载它,并有一个文本对象,只需拨打:

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

最后,你可以过滤掉所有relevant_terms_sorted_by_freq词不属于字的网元列表。

NLTK offers an online version of a complete book我觉得有趣开始