gpt4 book ai didi

postgresql - Postgres pg_trgm 模块中的相似度是如何计算的

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

谁能给我解释一下在 Postgres pg_trgm 模块中相似度函数是如何计算的。

例如相似度('sage', 'message') = 0.3

1) "  s"," sa",age,"ge ",sag
2) " m"," me",age,ess,"ge ",mes,sag,ssa

n1: cardinality(1) = 5
n2: cardinality(2) = 8
nt: cardinality(1 intersect 2) = 3

我看不出我们如何从这 3 个等于 0.3 的量中得到一个公式。我原以为它会基于一个常见的字符串相似性度量(例如 Dice-Sorensen)

2*nt/(n1 + n2) = 6/13 = 0.46

pg_trgm 相似度分数对我来说似乎异常低

最佳答案

公式可以在contrib/pg_trgm/trgm.h中找到(参见宏CALCSML),如下:

nt / (n1 + n2 - nt)

在你的例子中是 3/(5+8-3) = 0.3

关于postgresql - Postgres pg_trgm 模块中的相似度是如何计算的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48872618/

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