自然语言推理和数据集
Natural Language Inference and the Dataset
情绪分析的问题。此任务旨在将单个文本序列分类为预定义的类别,例如一组情感极性。然而,当需要判断一个句子是否可以从另一个句子中推断出来,或者通过识别语义上等价的句子来消除冗余时,知道如何对一个文本序列进行分类是不够的。相反,需要能够对文本序列进行推理。
- Natural Language Inference
自然语言推理研究一个假设是否可以从一个前提中推断出来,前提和前提都是文本序列。换句话说,自然语言推理决定了一对文本序列之间的逻辑关系。这种关系通常分为三类:
蕴涵:假设可以从前提中推断出来。
矛盾:假设的否定可以从前提推断出来。
中立:所有其情况。
自然语言推理也被称为识别文本蕴涵任务。例如,下面的一对会被标记为蕴涵,因为假设中的“示爱”可以从前提中的“拥抱”中推断出来。
前提:两个女人互相拥抱。
假设:两个女人在表达爱意。
下面是一个矛盾的例子,因为“运行编码示例”表示“不睡觉”而不是“睡眠”。
前提:一个男人正在运行一个代码示例,该示例来自于深度学习。
假设:这个人正在睡觉。
第三个例子显示了一种中立关系,因为“为演出”的事实不能推断出“著名”和“不出名”。
前提:音乐家在为表演。
假设:音乐家是有名的。
自然语言推理一直是理解自然语言的中心话题。在信息检索、开放领域问答等领域有着广泛的应用。为了研究这个问题,将从研究一个流行的自然语言推理基准数据集开始。
- The Stanford Natural Language Inference (SNLI) Dataset
斯坦福自然语言推理(SNLI)语料库是一个50万标记英语句子对【Bowman等人,2015年】。将提取的SNLI数据集下载并存储在路径…/data/SNLI_1.0中。
import collections
from d2l import mxnet as d2l
from mxnet import gluon, np, npx
import os
import re
import zipfile
npx.set_np()
#@save
d2l.DATA_HUB[‘SNLI’] = (
'https://nlp.stanford.edu/projects/snli/snli_1.0.zip',
'9fcde07509c7e87ec61c640c1b2753d9041758e4')
data_dir = d2l.d