You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将TS-SS计算结果转换为0-1区间的相似度指标?

问题解答:TS-SS距离转相似度指标的方法及公式可行性

一、公式S = 1 / (1.1 ** D)是否可行?

完全可行,原因如下:

  • 符合距离转相似度的核心逻辑:TS-SS值(D)越小,代表答案与参考答案越相似,转换后的相似度(S)越接近1;D越大则S越趋近0,和你原有的余弦相似度趋势完全匹配。
  • 从你提供的测试数据来看,该公式转换后的结果和余弦相似度数值接近,能够满足自动评分的需求——评分场景不需要绝对精准的数值映射,只要相对排序和分值区间符合预期即可。
  • 你也可以根据自己的核心数据点微调底数(比如把1.1换成1.19),让转换结果更贴合你在意的余弦相似度对应值,比如针对D=1.455对应S=0.77的情况,用1/(1.19**D)就能得到几乎完全匹配的结果。

二、正确的转换方法建议

1. 基于现有数据做曲线拟合(精准匹配)

你已经有TS-SS和余弦相似度的多组对应数据,可以用非线性最小二乘法拟合合适的映射函数,常用的函数类型包括:

  • 指数型:S = e^(-b*D)(边界条件:D=0时S=1,符合你的数据)
  • 幂函数型:S = 1 / (1 + k*D)^n
  • 混合型:比如结合指数和线性项的函数

拟合后得到的函数会比手动找的公式更精准,能让转换结果和原余弦相似度的匹配度更高。

2. 反向推导TS-SS的逆函数(最优解)

既然TS-SS计算过程中用到了余弦相似度,如果你能找到TS-SS的完整计算公式(比如原始论文、开源实现细节),可以直接推导它的逆函数,也就是从TS-SS值反推出对应的相似度,这是最精准的转换方式——相当于直接还原TS-SS背后的相似性逻辑。

3. 简化方案(快速落地)

如果不需要极致精准,直接用你找到的S = 1 / (1.1 ** D)即可,或者根据你的测试数据微调底数,快速适配自动评分的需求。


内容的提问来源于stack exchange,提问作者newtocoding

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 20:45:34