某机构发布数据集,助力检测反事实语句
产品检索系统,例如某机构商城中的检索系统,常利用产品评论文本来改善查询结果。但这类系统可能被反事实语句误导,这类语句描述了未发生或无法发生的事件。
例如,考虑反事实语句“要是这件衬衫有红色的,我就买了”。该句子包含短语“有红色的”,一个简单的产品检索系统可能会据此认为这件衬衫确实有红色款。
反事实表达(“要是它是绿色的就好了”)可能会误导那些只关注自然语言评论中短语(“有绿色的”)的信息检索系统。一个新的数据集可以帮助解决这个问题。
评论中的反事实语句虽少见,但可能导致糟糕的用户体验——例如,当搜索“红衬衫”时,却搜到评论明确表示没有红色款的产品。
为缓解此问题,我们公开发布了一个新数据集,用于训练机器学习模型识别反事实语句。在发表于自然语言处理经验方法会议的一篇论文中,我们阐述了如何构建该数据集,并描述了实验,以确定基于我们的数据集训练时,何种机器学习模型能产生最佳效果。
数据集构建
项目启动时,尚无大规模数据集涵盖多语种产品评论中的反事实语句。我们决定为三种语言(英语、德语和日语)的产品评论中选取的句子进行标注。
表达反事实的句子在自然语言文本中很罕见——一项研究表明仅占 1-2%。因此,仅标注随机选取的句子会产生一个高度不平衡的数据集,训练信号稀疏。
反事实语句可分为两部分:关于事件的陈述(“要是它有红色的”),也称为前提;以及事件的结果(“我就买了这件衬衫”),也称为结论。
为识别反事实语句,我们根据特定线索词的存在,规定了前提和结论之间的特定关系。例如,在句子“如果大家都和睦相处,那会更愉快”中,结论跟在前提之后并包含一个情态动词,而前提则由一个条件连词后跟一个过去式情态动词组成。
在针对所有相关语言的专业语言学家的协助下,我们为以下句式编制了一套此类规范:连词正常句式、连词倒装句式、情态命题句式、以及包含“wished”(希望)、“hoped”(期望)等线索词的句子。
然而,并非所有包含反事实线索的句子都表达反事实。例如,在句子“我生日那天收到iPhone时,我的愿望成真了”中,反事实线索“愿望”并不表示反事实条件,因为说话者确实收到了iPhone。因此,专业语言学家也审查了选定的句子,以确定它们是否真正表达了反事实。
然而,基于预先编制的线索词列表选取句子可能会使数据产生偏差。因此,我们还选取了那些不包含线索词但与包含线索词的句子高度相似的句子。作为相似度的衡量标准,我们使用了由预训练的 BERT 模型计算的句子嵌入(句子的向量表示)的接近度。
基线模型
反事实检测可以建模为一个二分类任务:给定一个句子,如果它表达反事实陈述,则将其分类为正向,否则为负向。
我们实验了不同的句子表示方法,如词袋表示、基于静态词嵌入的表示和基于上下文词嵌入的表示。
我们还评估了不同的分类算法,从逻辑回归、支持向量机到多层感知机。我们发现,基于 RoBERTa 模型并在反事实标注句子上进行微调的跨语言模型总体表现最佳。
为研究我们数据集与现有数据集的关系,我们在我们的数据集上训练了一个反事实检测模型,并在一个公开的反事实检测竞赛数据集上对其进行评估,该竞赛数据集包含来自新闻文章的反事实语句。在我们的数据集上训练的模型在竞赛数据集上表现不佳,这表明产品评论中的反事实语句(我们数据集的焦点)与新闻文章中的反事实语句存在显著差异。
鉴于我们的数据集不仅涵盖英语,还涵盖日语和德语的反事实语句,我们同样关注如何将一个语言训练的反事实检测模型迁移到另一种语言。作为一个简单的基线,我们首先在英文训练数据上训练一个模型,然后将其应用于德语和日语测试数据,这些测试数据通过机器翻译系统翻译成英语。然而,这个简单的基线方法导致性能不佳,表明反事实具有高度的语言特异性,因此需要更有原则的方法来实现跨语言迁移。
在正在进行的工作中,我们正在研究过滤其他类型的语言结构(除了反事实),并将我们的检测模型扩展到其他语言。FINISHED