不同相似度算法的分值介绍
在信息大暴涨的今天,人类已经不可能出现通才、全才式的人物。利用 ChatGPT 来询问我们未知领域的知识是很好的习惯和用法。但对严肃知识的学习,一定要通过权威来源复核审校,保证自己所学知识的正确。否则,很有可能牛头不对马嘴,在行家面前贻笑大方。
本节以笔者一次自身经历为例,展示 ChatGPT 在统计学方面的"大愚若智"。希望大家在各种有严格定义、有唯一正确解读的场景下,多想想,多看看,不要过度相信 ChatGPT。
笔者在查阅 Elasticsearch 新功能变更说明时,发现一个名为 significant_terms 的聚合函数,新引入了几种不同的相关性指标供切换选择,但文档里给出的都是首字母缩写。分别是:JLH score、Mutual information、Chi-square、GND。
尽管对 Elasticsearch 有十年使用和维护经验,在 AI 领域也有一些常见认知,这几个缩写里还是有一半不认识。这时候,自然可以问 ChatGPT:
看起来很棒,ChatGPT 知道所有 4 种相关性指标,并给出了通俗简单的原理解释和适用场景。
不过要实际把功能应用在业务中,肯定还得知道这几种指标的更多细节,比如相关度的强弱如何判定?是单调递增的,还是有开闭区间的?我们还得再问问:
ChatGPT 也给出了回答,看起来好像没啥问题。那进一步再明确一点:对于有 0-1 区间的,是否有具体的强相关、弱相关、不相关阈值标准可以方便业务代码使用?
ChatGPT 依然给出了回答,对于 GND 指标,0-0.2 属于强相关,0.2-0.5 属于弱相关,0.5-1 属于不相关。
到此为止,问题似乎已经得到了答案,体验丝滑,结果完美。但是仔细一看,怎么前后两次,ChatGPT 对 GND 的取值含义说明是相反的?第一次说取值为 0 时最相关,第二次说取值为 0 时最不相关?看来我们还是要自己费点功夫,逐一搜索一下这几个相关度指标,注意可能需要用英文名称。结果出人意料,ChatGPT 给出 0-1 取值范围的两次说明,都是错误的!
首先,JLH score 的计算方法是:
(foregroundPercentage / backgroundPercentage)
- (foregroundPercentage - backgroundPercentage)
其中 foregroundPercentage 表示待检验数据在指定小集合内的百分比,backgroundPercentage 则是其在全体集合内的百分比。所以我们一眼可以看出,只要 backgroundPercentage 的百分比够小,JLH score的取值肯定远远大于 1。ChatGPT 说的取值范围 0-1 是错的!
其次,GND 的维基百科中介绍,其实际取值范围是 0 到正无穷大,且越接近 0,相关度越高,当值为 1 时,已经可以认为很不相关了。但并没有找到任何强弱性的阈值说明。所以,ChatGPT 关于 GND 的取值范围回答是错误的,而关于强弱阈值的建议也是随意编造!
如果不加审核,直接按 ChatGPT 输出进行应用规划,给出的推荐结果,很可能就南辕北辙了,对业务运营影响巨大。可以说正好匹配上 cohere 三原则的第二条。因此,对这种敏感知识,我们还是要多加小心,不要轻信 ChatGPT。