New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于 spearman 得分很高但检索很差的询问 #2
Comments
我有碰到过跟你一样的情况,我的原因是句向量pooling操作没有去除[PAD]位置,spearman系数特别高, 但是召回的时候100个召回率确只有0.2左右. |
我的应该是负样本比例太低了,把正负样本设置为 1: 10,结果好了很多,但比不上 simcse。 |
为什么要把正负比例设置这么大呢? |
负样本数据量比较大,可能当时想的是把所有样本都用上吧 |
多谢,请教2个问题: |
补充,建议 simcse,效果很好 |
数据集是 0-1 格式的数据集,0 表示不相似,1 表示相似,各有10 万对。语料库中总共有 200 万个句子,也就是说有些样本没参与训练。不太一样的就是:第一个句子很短,5 6 个字左右,第二个句子很长,50字左右。比如淘宝搜索:XXX零食,推荐的结果会有:XXX商店XXX口味XXX面包。
我使用 CoSENT 进行训练,在 bert 后接入一个降维层,生成文本的 128 维度特征向量,期待相似样本的距离近,不相似样本距离远。微调 3 个 epoch 左右,spearman 得分在 0.86 左右。
而后,将所有文本生成特征向量,构建向量索引(这里用的别人成熟的框架,不是构建索引出错),并查询距离最近的向量,发现很难查回正样本,MRR 指标也很差,这个问题我怀疑是距离还是没有拉开,请问您在使用这个方法的时候有没有遇到过类似问题呢?
仿佛偏题了The text was updated successfully, but these errors were encountered: