我正在使用Levenshtein算法来查找两个字符串之间的相似性。这是我正在制作的程序中非常重要的一部分,因此它必须有效。问题在于该算法找不到以下类似示例:
CONAIR AIRCON
该算法将得出6的距离。因此,对于6个字母的单词(您看一下具有最高字母数量的单词),差异为100%=>相似度为0%。
我需要找到一种方法来找到两个字符串之间的相似性,同时还要考虑到我之前介绍的情况。
我可以使用更好的算法吗?还是你们推荐我什么?
编辑:我也研究了“ Damerau–Levenshtein”算法,该算法增加了换位。问题在于此换位仅适用于相邻字符(不适用于许多字符)。
我将术语分为字母,二元组和三元组,然后计算余弦相似度。