©PaperWeekly 原创 · 作者 | 苏剑林
单位 | 追一科技
研究方向 | NLP、神经网络
一般来说,文本匹配有交互式(Interaction-based)和特征式(Representation-based)两种实现方案,其中交互式是指将两个文本拼接在一起当成单文本进行分类,而特征式则是指两个句子分别由编码器编码为句向量后再做简单的融合处理(算 cos 值或者接一个浅层网络)。
通常的结论是,交互式由于使得两个文本能够进行充分的比较,所以它准确性通常较好,但明显的缺点是在检索场景的效率较差;而特征式则可以提前计算并缓存好句向量,所以它有着较高的效率,但由于句子间的交互程度较浅,所以通常效果不如交互式。
自动阈值
在文章《CoSENT:比 Sentence-BERT 更有效的句向量方案》中,我们评测 CoSENT 所用的指标是 Spearman 系数,它是一个只依赖于预测结果相对顺序的指标,不依赖于阈值,比较适合检索场景的评测。但如果评测指标是 accuracy 或者 F1 这些分类指标,则必须确定一个阈值,将预测结果大于这个数的预测结果视为正、小于则为负,然后才能计算指标。在二分类的场景,我们用二分法就可以有效地确定这个阈值。
对于上述问题,参考代码如下:
import numpy as np
from scipy.optimize import minimize
def loss(t):
"""这里的y_true.shape=[batch_size],
y_pred.shape=[batch_size, num_classes]
"""
t = (np.tanh(t) + 1) / 2
return -np.mean(y_true == (y_pred * t[None]).argmax(1))
options = {'xtol': 1e-10, 'ftol': 1e-10, 'maxiter': 100000}
result = minimize(
loss, np.zeros_like(y_pred[:1]), method='Powell', options=options
)
thresholds = (np.tanh(result.x) + 1) / 2
https://github.com/bojone/CoSENT/tree/main/accuracy
实验结果如下(指标是 accuracy):
实验结果显示,从效果上来看,交互式确实是“王者”地位,但是特征式(CoSENT 和 Sentence-BERT/RoBERTa)的效果差距并没有笔者想象中大。客观来说,在 ATEC 和 BQ 两个任务上,交互式 Interact 与特征式 CoSENT 并无显著差异,而在 LCQMC 任务上,交互式 Interact 与特征式 Sentence-BERT/RoBERTa 并无显著差异。
理论上来说,交互式能做到的效果,特征式“几乎”都能做到。
那为什么在 PAWSX 这样的困难数据集上两者有明显差异呢?个人认为这是“神经网络和 cos 指标的连续性”与“文本匹配天然存在的对抗性”之间的矛盾造成的。
于是,在此类任务之下,连续性非常好的“特征式”方案要去拟合对抗性明显的数据集,就会非常困难。当然,前面我们已经分析过理论上是可以拟合的,所以实际上是拟合确实能拟合,但需要训练比较多的 epoch 来“磨”掉特征式方案原有的连续性,但比较多的 epoch 也造成了更严重的过拟合。
参考文献
特别鸣谢
感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧