5

nltk.corpus.wordnet2 つの単語の類似性を見つけるのに適切な類似性関数はどれですか?

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

大きなテキストで同様の検索を行うための関数word clusteringとアルゴリズムを使用したい。yarowskycollocation

4

2 に答える 2

7

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

単語のクラスタリングを実行したい場合、これらの測定値はまさにあなたが望むものではないかもしれません...

于 2011-09-13T17:50:31.203 に答える
3

私は、いくつかのテキストを自動的に一致させることを目的として、NLTK/wordnetで遊んでいます。nltk.corpus.wordnetTed Pedersenの回答が指摘しているように、類似度関数は、堅実なIS-A系統を持つ非常に密接に関連する用語に対してのみ非ゼロの類似度を生成することがすぐに明らかになります。

私がやったことは、テキストの語彙を取り、次にlemma-> synset->lemmasとlemma->similar_tosを使用して、独自の単語リンケージグラフgraph_toolを作成し(これには素晴らしい)、必要な最小ホップ数を数えることでした。 2つの単語をリンクして、それらの間のある種の(非)類似性の尺度を取得します(これらを印刷するのは非常に面白いです。非常に奇妙な単語連想ゲームを見るようなものです)。これは、POS /センスを考慮に入れなくても、実際には私の目的には十分に機能しました。

于 2011-09-22T20:38:11.920 に答える