多语言反事实检测数据集助力产品检索

5 阅读5分钟

某机构发布数据集助力检测反事实短语

产品检索系统(如某电商平台使用的系统)常利用产品评论的文本内容来优化查询结果。但此类系统可能被反事实陈述误导,这些陈述描述的是未发生或不可能发生的事件。例如,考虑反事实陈述“如果这件衬衫有红色,我就会买下它”。该句子包含短语“有红色”,一个朴素的产品检索系统可能会将其作为证据,认为这件衬衫确实有红色。

评论中的反事实陈述虽然罕见,但可能导致令客户沮丧的体验——例如,当搜索“红色衬衫”时,结果却是一个评论明确说明其没有红色款式的产品。为缓解这一问题,我们公开发布了一个新的数据集,用于帮助训练机器学习模型识别反事实陈述。

在发表于自然语言处理实证方法会议(EMNLP)的一篇论文中,我们阐述了该数据集的构建过程,并描述了为确定哪些类型的机器学习模型在此数据集上训练效果最佳而进行的实验。

数据集构建

项目启动时,尚不存在涵盖多语言产品评论中反事实陈述的大规模数据集。我们决定为英语、德语和日语三种语言的产品评论中选取的句子进行标注。

自然语言文本中表达反事实的句子很少见——一项研究表明仅占句子的1-2%。因此,简单标注随机选取的句子将产生一个高度不平衡、训练信号稀疏的数据集。

反事实陈述可分为两部分:关于事件的条件陈述(如果它有红色),也称为“前件”,以及该事件的结果(我就会买下这件衬衫),称为“后件”。

为识别反事实陈述,我们在特定线索词存在的情况下,指定了前件和后件之间的某些关系。例如,在句子“如果每个人都和睦相处,那会更愉快”中,后件紧随前件并包含情态动词,而前件则由一个条件连词后跟一个过去式情态动词构成。

在针对所有目标语言的专业语言学家的协助下,我们编制了一套此类规范,涵盖了合取正常句、合取逆序句、模态命题句,以及包含“wished”、“hoped”等线索词的句子。

然而,并非所有包含反事实线索的句子都表达反事实。例如,在句子“当我生日收到iPhone时,我的愿望实现了”中,反事实线索“愿望”并不表示反事实条件,因为说话者确实收到了iPhone。因此,专业语言学家也审阅了选定的句子,以确定它们是否真正表达了反事实。

然而,基于预编译线索词列表选取句子可能会使数据产生偏差。因此,我们也选取了不含线索词但与含线索词语句高度相似的句子。相似度的衡量标准是使用预训练BERT模型计算的句子嵌入(句子的向量表示)之间的接近度。

基线模型

反事实检测可以建模为一个二元分类任务:给定一个句子,如果它表达了反事实陈述,则分类为正例,否则为负例。

我们尝试了不同的句子表示方法,如词袋表示、静态词嵌入表示和上下文词嵌入表示。

我们还评估了不同的分类算法,从逻辑回归、支持向量机到多层感知器。我们发现,基于RoBERTa模型的跨语言模型(XLM)在反事实标注数据上进行微调后,整体表现最佳。

为研究我们的数据集与现有数据集的关系,我们在自己的数据集上训练了一个反事实检测模型,并在一个公开的反事实检测竞赛数据集(包含来自新闻文章的反事实陈述)上进行了评估。在我们的数据集上训练的模型在竞赛数据集上表现不佳,表明产品评论中的反事实陈述——即我们数据集的重点——与新闻文章中的反事实陈述存在显著差异。

鉴于我们的数据集涵盖了英语、日语和德语的反事实陈述,我们也有兴趣研究如何将用一种语言训练的反事实检测模型迁移到另一种语言。作为一个简单的基线,我们首先在英语训练数据上训练了一个模型,然后将其应用于通过机器翻译系统翻译成英语的德语和日语测试数据。然而,这个简单的基线方法导致性能不佳,表明反事实具有高度的语言特异性,因此需要更有原则的方法来实现跨语言迁移。

在持续的工作中,我们正在研究除反事实之外的其他类型语言结构的过滤方法,并将我们的检测模型扩展到其他语言。FINISHED