可使用相似性度量方法将单词分为不同的组别。其中一个常见的相似性度量方法是编辑距离算法。可以使用Python中的字符串包(string)中的levenshtein模块计算两个字符串之间的编辑距离,从而判断它们的相似性,并将其分为同一组别。示例代码如下:
import collections from Levenshtein import distance
def group_similar_words(words_list): groups = collections.defaultdict(list) for i, word1 in enumerate(words_list): for j, word2 in enumerate(words_list[i+1:]): dist = distance(word1, word2) # 计算编辑距离 if dist <= 2: groups[word1].append(word2) # 相似的单词加入同一组 return groups
words = ['apple', 'pineapple', 'banana', 'orange', 'grape', 'ape', 'able', 'code', 'mode'] groups = group_similar_words(words) print(groups)