使用NLTK比较两个同义词

时间:2014-11-23 14:20:50

标签: python nltk

我试图比较不同的文件。如何在表示同义词时克服冲突,这个例子会给出不同的向量。虽然它们具有相同的含义。

text1, text2= "I like birds", "I admire birds"
from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer = TfidfVectorizer(stop_words='english')
tfidf = vectorizer.fit_transform([text1, text2])

注意:我发现一些引用Latent Semantic analysis的论文,NLTK是否支持这个?

1 个答案:

答案 0 :(得分:1)

LSA是解决同义词问题的好方法,但是NLTK没有实现这一点。不过,如果你有研究论文,应该直截了当地实施。

另一种方法是利用WordNet。从他们的介绍(http://wordnet.princeton.edu/):

  

WordNet®是一个庞大的英语词汇数据库。名词,动词,形容词和副词被分组为认知同义词集(同义词集),每个表达一个不同的概念。

NLTK已经为您帮助实现了这一点(http://www.nltk.org/howto/wordnet.html)。我将把确切的实施细节留给您。祝你好运!