什么是文本相似对比算法,原理是什么
什么是文本相似对比算法,原理是什么
目录
- 什么是文本相似对比算法,原理是什么
- 编辑距离算法
- 余弦相似度算法
- 词频向量确定:两个向量怎么获取的,
- 向量长度:按长的句子出现词语数量确定
- 其他常见且有效的文本相似对比算法 :J,accard相似度算法,Smith-Waterman算法
- Jaccard相似度算法
- Smith-Waterman算法
- Word2Vec + 余弦相似度
- BERT + 余弦相似度
文本相似对比算法有多种,常见的有编辑距离算法、余弦相似度算法等。
编辑距离算法
- 原理:编辑距离,也叫莱文斯坦距离,是指将一个字符串变换为另一个字符串所需要的最少编辑操作次数。编辑操作包括插入、删除和替换字符。通过计算两个字符串之间的编辑距离,可以衡量它们的相似程度,编辑距离越小,说明两个字符串越相似。
- 案例:计算“horse”和“ros”的编辑距离。
- 首先,初始化一个二维数组,用于存储中间结果。数组的行数为“horse”的长度加1,列数为“ros”的长度加1。
- 然后,填充数组的第一行和第一列,表示空字符串与“horse”或“ros”的编辑距离,即字符的插入或删除次数。
- 接着,从数组的第二行第二列开始,依次计算每个位置的编辑距离。对于当前位置(i, j),比较“horse”的第i - 1个字符和“ros”的第j - 1个字符是否相等。如果相等,当前位置的编辑距离等于左上角位置(i - 1, j - 1)的编辑距离;如果不相等,当前位置的编辑距离等于左边(i, j - 1)、上边(i - 1, j)和左上角(i - 1, j - 1)三个位置中编辑距