有没有办法比较sql中句子之间的相似度?

Is there a way to compare the similarity between sentences in sql?

有没有办法比较sql中句子之间的相似度?我的数据集很大,我需要识别两个或多个句子中存在相似词的实例。

如何告诉 SQL 仅 return 以下值?

根据我在谷歌上搜索到的内容,可能有一种方法可以使用全文搜索和语义搜索来执行此操作,但我已经找到一篇文章来解决我正在努力实现的目标。

群里有人可以给我举个例子或指出一篇可以帮助我的文章吗?更好的是,我正在尝试做的事情甚至可以在 SQL.

中实现

您可以试试SOUNDEX功能。 Google SOUNDEX 然后了解这是否适合您的情况。查询是:

SELECT *
FROM your_table
WHERE SOUNDEX(Sentence) = SOUNDEX(Sentence);

没有,没有。

部分问题是“相似性”是一个复杂的设置,这需要一个程序来分析可能需要数月编程的句子。你给出了非常简单的例子 - 谢天谢地。甚至那也不像您想的那么容易。 “小男孩穿红色 T 恤”怎么样 - 小男孩会不会有所不同?

这需要大量的工作,大量的定义,或者可能是多层神经网络的大量训练。

SQL 通常在字符串操作方面很糟糕 - 你得到的最好结果是 SOUNDEX 并且它只比较第一个单词的 4 个字母(RTFM,它的工作原理实际上非常有趣,但是这使得它绝对不适合比较句子之类的事情。

所以,不 - 这完全超出了 SQL 中任何内容的范围,您将不得不下载数据并使用 SQL 之外的方法(这也是很多适合这类工作)。

您显然可以使用简单的 SQL 来解决这个问题,例如@ASH 建议 - 但这不是寻找“相似的句子”,而是解决特定于您的数据集的特定标记。这是过度拟合并绕过了回答您提出的问题。