reranker为什么对大小写这么敏感!
from FlagEmbedding import FlagReranker reranker = FlagReranker('/bge-reranker-v2-m3/bge-reranker-v2-m3', use_fp16=True) score = reranker.compute_score(['Jc Sweet House', 'Candy House'], normalize=True) print(score)#0.14354750671079064
score = reranker.compute_score(['jc sweet house', 'candy house'], normalize=True) print(score)#0.8033281311678119
@staoxiao 辛苦给看一下是不是用的有问题呢?
而且对于一些特殊符号也非常敏感,比如['K Coffee Kot Kaeo', 'So K Cafe']#0.8971559208377049 ['K-Coffee Kot Kaeo', 'So-K Cafe'] #0.1759624741797008
可以将模型换成bge-reranker-large,或者将文本全部转换成小写,我们后续会重点关注这个问题 bge-reranker-large的结果:
reranker.compute_score(['Jc Sweet House', 'Candy House'], normalize=True) # 0.9874236517231209
reranker.compute_score(['jc sweet house', 'candy house'], normalize=True) # 0.992988204618503
在我的场景,类似'Jc Sweet House', 'Candy House' 这种case,相似度不应该这么高的。而且bge-reranker-large的结果跟之前的bge-m3的差别非常大,bge-m3看上去稍微合理点
优化后的几个版本,关于文本相似度计算的结果都比较离谱,不知道什么原因
可以拿领域相关的数据继续对bge-reranker-v2-m3进行微调,效果应该会更好点