2017-06-27 55 views
0

我想聚集一些詞(讓我們拿汽車品牌)。爲了做到這一點,我不能使用k-means或k-medoids,所以我嘗試使用Sklearn的Affinity Propagation。我使用levenshtein從距離lib或damerau_levenshtein_distancepyxdameraulevenshtein庫。詞聚類

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

然而,這些指標並不完全,我需要的人。例如,MERCEDES-BENZ和MERCEDES有5個距離,與VOLVO和FIAT相同。你們是否知道一些衡量指標可以使MERCEDES-BENZ和MERCEDES的相似度得分比VOLVO和FIAT更高。

感謝, Djokx

回答

1

你可以使用Jaccard相似從三克撰寫的那些話。也就是說,你分解每個單詞的三個字符組件(對於volvo:vol,olv,lvo)並且使他們的Jaccard與其他組相似。 N-gram

Jaccard相似被定義爲間號共同的n-gram的數目的總的n-gram的比率:Jaccard index