bojone / BERT-whitening

简单的向量白化改善句向量质量
480 stars 65 forks source link

得到的whitening向量,如何在STS数据集上测试 #9

Open liuleiBUAA opened 2 years ago

liuleiBUAA commented 2 years ago

因为STS数据集的相似度的得分是回归任务,句子对的关系是分类任务,如何从两个句子向量中得到他们的相似度得分以及关系呢,cos距离或者皮尔逊相似系数的范围是[-1,1],但STS数据集相似度的范围是[1,5]

bojone commented 2 years ago

如果你的评价指标是spearman相关系数,那么它只依赖于预测结果的相对顺序,跟范围无关,比如将每个预测结果从y改为y**3+10,spearman相关系数不会变化;

如果你的评价指标是pearson相关系数,那么它只依赖于预测结果的线性关系,跟范围无关,也就是说如果将每个预测结果做同一个线性变换(比如3y+1),pearson相关系数不会变化;

如果你非要一个[1,5]之间的指标,那也很容易,比如(3 + 2 * cos)就能保证在1~5之间。

liuleiBUAA commented 2 years ago

如果你的评价指标是spearman相关系数,那么它只依赖于预测结果的相对顺序,跟范围无关,比如将每个预测结果从y改为y**3+10,spearman相关系数不会变化;

如果你的评价指标是pearson相关系数,那么它只依赖于预测结果的线性关系,跟范围无关,也就是说如果将每个预测结果做同一个线性变换(比如3y+1),pearson相关系数不会变化;

如果你非要一个[1,5]之间的指标,那也很容易,比如(3 + 2 * cos)就能保证在1~5之间。

谢谢解答,如果是分类任务,如何评价向量的质量呢,比如两句话的关系是包含,无关,对立这种数据集,看STS也有这样的label

bojone commented 2 years ago

谢谢解答,如果是分类任务,如何评价向量的质量呢,比如两句话的关系是包含,无关,对立这种数据集,看STS也有这样的label

分类任务直接算acc呀

liuleiBUAA commented 2 years ago

两个向量如何计算acc啊

bojone commented 2 years ago

哦,你说直接用NLI语料来评价无监督句向量?NLI数据本身就不是严格的相似度数据,这也不大好评价吧。

比较简单的方法是将包含、无关、对立分别转化为得分1、0、-1,然后算spearman,可能会有一定的效果。比较靠谱的方式是用句向量作为输入特征,训练一个3分类模型,然后比较acc。

liuleiBUAA commented 2 years ago

哦,你说直接用NLI语料来评价无监督句向量?NLI数据本身就不是严格的相似度数据,这也不大好评价吧。

比较简单的方法是将包含、无关、对立分别转化为得分1、0、-1,然后算spearman,可能会有一定的效果。比较靠谱的方式是用句向量作为输入特征,训练一个3分类模型,然后比较acc。

嗯啊,谢谢大佬,这么说无监督的方法,还是要靠一个分类模型去学习才能得到acc。目前我看到的bert向量降维方法就是whitening,请问还有其他bert向量的降维方法吗,还没有搜到相关文献

bojone commented 2 years ago

将句向量进行降维的操作,我确实没留意到其他的。