是否有任何算法(或软件库)可用于检测文本中概念的相似性,而不考虑发音、语法、同义词等?
例如,这些短语:
外面,很暖和。
外面,很热。
外面,并不冷。
外面并不冷。
应该类似于这句话:
外面很暖和。
理想情况下,算法(或软件)将能够基于概念相似性生成从 0 到 1 的分数。目标是使用此算法或软件将大量语句映射到单个相似的原始语句。正是为了给定语句到原始语句的这种映射,才会生成上述相似度分数。
这样的算法(或软件)是否已经存在?
是否有任何算法(或软件库)可用于检测文本中概念的相似性,而不考虑发音、语法、同义词等?
例如,这些短语:
外面,很暖和。
外面,很热。
外面,并不冷。
外面并不冷。
应该类似于这句话:
外面很暖和。
理想情况下,算法(或软件)将能够基于概念相似性生成从 0 到 1 的分数。目标是使用此算法或软件将大量语句映射到单个相似的原始语句。正是为了给定语句到原始语句的这种映射,才会生成上述相似度分数。
这样的算法(或软件)是否已经存在?
在机器翻译中,有一个广泛使用的 BLEU 分数(https://en.wikipedia.org/wiki/BLEU)。它只是计算两个文本段之间的匹配 n-gram 并基于此返回 0-1 分数。
这种方法的问题在于,它会给“它很热”/“它很冷”和“它很热”/“它很温暖”对给出相同的分数。拼写或同义词没有细微差别:对于每个单词,您要么有文字匹配,要么没有。
最近对 BLEU 的改进是 BLEURT ( https://arxiv.org/abs/2004.04696 )。关键思想是还要查看两个文本段的 BERT 嵌入,现在您可以注意到“热/暖”比“热/冷”更相似,并产生更细微的分数。
这都是针对机器翻译评估的,可能适用于您的特定应用程序,也可能不适用于您的特定应用程序。