gpt4 book ai didi

sql - Postgres 选择具有百分比匹配的行,并按百分比排序

转载 作者:行者123 更新时间:2023-11-29 12:11:41 25 4
gpt4 key购买 nike

我在 postgres 数据库中有一个句子表。该表称为 sentences,每行存储句子的列称为 sentence

我如何将句子与给定句子进行比较,并返回其中 60% 的单词(或者更好的词根)匹配的句子,然后根据匹配质量对结果进行排序?

理想情况下,90% 的匹配会出现在 70% 的匹配之前,而 50% 的匹配则根本不会显示。

理想情况下,它也会排除标点符号,但这不是必需的。

最佳答案

查看 fuzzystrmatch模块,尤其是 levenshtein 函数。这会计算两个字符串之间的“距离”,值越小意味着它们越相似。它通常用于两个单词之间,但只要句子不太长(每个参数的最大字符串长度为 255 字节),您也可以将它们与句子一起使用。

然后您将按 levenshtein 函数的输出升序排序,结果从最相似到最不相似。

如果您想排除标点符号,请使用正则表达式对字符串调用 regexp_replace 以删除您想要的所有字符,将其替换为空字符串,并将这些返回值用作 编辑

关于sql - Postgres 选择具有百分比匹配的行,并按百分比排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31224801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com