2017-06-27 15 views
0

私はいくつかの言葉をクラスターにしようとしています(車のブランドを取りましょう)。そのためにはk-meansやk-medoidsを使うことができないので、SklearnのAffinity Propagationを使ってみました。そして私は距離libからのlevenshteinまたはpyxdameraulevenshtein libからのdamerau_levenshtein_distanceでそれを使用しています。ここ言葉のクラスタリング

例:https://stats.stackexchange.com/questions/123060/clustering-a-long-list-of-strings-words-into-similarity-groups

しかし、これらの指標は、私がまさに必要なものではありません。たとえば、MERCEDES-BENZとMERCEDESの距離は5で、VOLVOとFIATと同じです。 VERVOとFIATよりもMERCEDES-BENZとMERCEDESの類似度スコアが高い指標をいくつか知っていますか?

おかげで、 Djokx

答えて

1

あなたはそれらの単語を構成するトライグラムからジャカード類似性を使用することができます。つまり、各単語を3文字の要素(volvo:vol、olv、lvo)で分解し、それぞれのJaccardの類似性を設定します。 N-gramJaccard index

ジャカード類似性は共通のnグラムの数および全nグラム数との比として定義されます。