我试图比较不同的文件。如何在表示同义词时克服冲突,这个例子会给出不同的向量。虽然它们具有相同的含义。
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是否支持这个?
答案 0 :(得分:1)
LSA是解决同义词问题的好方法,但是NLTK没有实现这一点。不过,如果你有研究论文,应该直截了当地实施。
另一种方法是利用WordNet。从他们的介绍(http://wordnet.princeton.edu/):
WordNet®是一个庞大的英语词汇数据库。名词,动词,形容词和副词被分组为认知同义词集(同义词集),每个表达一个不同的概念。
NLTK已经为您帮助实现了这一点(http://www.nltk.org/howto/wordnet.html)。我将把确切的实施细节留给您。祝你好运!