将一组字符串句子聚类成未知数量的组

问题描述 投票:0回答:1

我有一组句子(每个句子= x行数,其中x属于范围(1,6))。我想根据它们之间的相似性对这些句子进行分组。我已经尝试过模糊的wuzzy.token_set_ration,但我遇到的麻烦是我需要给它两个句子,但我确实想要迭代集合中所有句子的组合,如果集合包含例如10k语句如何明智地分组数据?是否有任何方法,如聚类到这个问题? (我可以有9500个类似的句子。

例:

AAA Limited
AAA Ltd
AAA
Google
Gogle
Googlee
Facebook
Alphabet
Alpfabet
etc
python cluster-analysis levenshtein-distance fuzzywuzzy
1个回答
0
投票

“聚类”可能会主要带你走错方向。

您似乎正在寻找的是拼写纠正。你想要合并拼写错误的版本,为此,最好的策略通常是将字符串转换为“拼音”版本(找到'听起来很容易混淆的字符串,就像在你的字母表示例中那样!),以及看似愚蠢的方法排序所有字母并删除重复 - 然后谷歌和Goolge和Goglee和谷歌成为“eglo”,可以匹配。

但是我怀疑你会发现任何可靠地自动运行的东西,而是准备好要求人工互动。 (在上面的匹配中,Lego也会成为eglo,因此匹配Google。也许最好保留第一个字母,并且仅将其应用于其余部分)。

© www.soinside.com 2019 - 2024. All rights reserved.