2011-09-13 21 views
5

nltk.corpus.wordnetの類似機能は2つの単語の類似性を見つけるのに適していますか?nltk.corpus.wordnetの類似機能は2つの単語の類似性を見つけるのに適していますか?

path_similarity()? 
    lch_similarity()? 
    wup_similarity()? 
    res_similarity()? 
    jcn_similarity()? 
    lin_similarity()? 

私は大規模なテキストで同様のcollocationを見つけるためword clusteringyarowsky algorightmのための機能を使いたいです。

答えて

7

これらの尺度は、実際には単語ではなく単語感覚(または概念)です。その区別は重要かもしれません。言い換えれば、「列車」という言葉は、「機関車」または「何かをするように教えられている」ことを意味することができます。これらの尺度を使用するには、どの意味が意図されているかを知る必要があります。

あなたは単語のクラスタリングを行いたい場合は、これらの対策正確に何をしたいではないかもしれません...

3

私はいくつかのテキストを一致しようとする目的のためにNLTK/WordNetの自分でプレーしてきましたいくつかの自動方法で。テッド・ペダーセンの解答ノートによれば、nltk.corpus.wordnetの類似性関数は、堅実なIS-A系統と非常に密接に関連した用語に対してのみ非類似性を生み出すことがかなり迅速に明らかになる。

私は何をやってしまったことは、私のテキストで語彙を取り、その後、私自身の言葉リンケージグラフ(このための素晴らしいgraph_tool)を育てるためにlemma-> synset->補題とlemma-> similar_tos使用して、minimum number of hopsを数えました。 2つの単語をリンクして、それらの間にある種の(dis-)類似性の測度を得る必要があった(これらを印刷するのは非常に面白い;非常に奇妙な単語連想ゲームのように)。これは実際にPOS/senseを考慮する試みがなくても、私の目的のために十分にうまく機能しました。

関連する問題