2014-11-23 82 views
0

我想比較不同的文檔。如何在表示同義詞時克服衝突,這個例子會給出不同的向量。儘管它們具有相同的含義。使用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

LSA是解決同義詞問題的好方法,但是NLTK並沒有實現這一點。不過,如果你有研究論文,實施應該很簡單。

另一種方法是利用WordNet。從他們的介紹(http://wordnet.princeton.edu/):

WordNet®是一個大型的英語詞彙數據庫。名詞,動詞,形容詞和副詞被分爲一組認知同義詞(synsets),每個都表達一個獨特的概念。

NLTK已經幫你實現了這個(http://www.nltk.org/howto/wordnet.html)。我將給你確切的實施細節。祝你好運!

+0

非常好!感謝澄清這一點。 – user3378649 2014-11-23 16:07:20