中文文本蕴含/推理

什么是文本蕴含识别

文本间的推理关系,又称为文本蕴含关系 (TextualEntailment),作为一种基本的文本间语义联系,广泛存在于自然语言文本中。简单的来说文本蕴含关系描述的是两个文本之间的推理关系,其中一个文本作为前提(premise),另一个文本作为假设(hypothesis),如果根据前提P能够推理得出假设H,那么就说P蕴含H,记做。这跟一阶逻辑中的蕴含关系是类似的。

数据集:略

文本蕴含识别算法

基于相似度的方法

构成蕴含关系的两个文本往往比较相似,可以通过计算前提和假设之间的相似度来判断其之间是否构成蕴含关系。这类方法比较直观,在RTE研究领域一度是比较流行的方法,但随着研究的深入,现在更多把相似度作为判别模型中的一个特征。这种基于相似度的方法简单易实现,但这种方法强行假设“相似及蕴含”是有明显缺陷的,这会导致有大量的文本蕴含关系识别错误。

基于文本对齐的方法

在基于相似度识别方法的基础上演化出了基于文本对齐的方法,这类方法不直接使用相似度判别蕴含关系,这类方法先把前提和假设相似的部分进行对齐,通过对齐的方式和程度作为最后判别是否为蕴含关系的依据。这种方式优点就是能够更好体现两个文本之间的相似度。对齐方法缺点在于需要引入先验知识进行对齐,并且存在一些一对多、多对多的对齐情况难以操作。

基于逻辑演算

蕴含关系实际上是一种语义推理关系,而数学届对命题逻辑问题已经有了比较成熟的方法和工具,因此将逻辑演算运用到文本蕴含是非常自然的想法。基于逻辑演算的方法一般是将文本表示成数学逻辑表达式,比如一阶逻辑,构成事实集合,然后用逻辑推理规则判断是否能根据前提推理出假设。

基于逻辑演算的方法把数学界机器证明领域成熟的思想迁移到文本蕴含识别领域,具有一定的理论基础,但文本到逻辑表达式的转换不够鲁棒,容错性较差。而背景知识缺失往往导致推理链条的中断,导致结果召回率偏低。

基于文本转换

由于基于逻辑演算方法的不足,有的学者提出了基于文本转换的思路。这类方法采用了类似的“演算”思想,却抛弃了严格的数学逻辑表达式,转而利用语言分析技术,例如句法分析,语义角色标注,把前提和假设都表示成某种语言表示形式,如句法树、依存图等。然后利用背景知识设计推理规则将前提和假设进行改写,将其转换成对方的类似的形式,然后再通过子图相似性判别出其蕴含关系。

基于转换的方法保留了基于逻辑演算的内核,同时不再要求把前提和假设表示成逻辑表达式,避免了引入噪音,但是该方法严重依赖转换规则。这些转换规则有的来自于知识库有的来自于语料。

基于混合模型

针对前面所介绍的各类文本蕴含识别方法的优势与不足,有学者提出了基于混合模型的方法.该类方法把诸如前提和假设的词级别相似度(如单词重叠率、同义词、反义词等)、句法树相似度、句法树编辑距离、对齐程度、由T转换为H的代价等等混合在一起作为特征,送入分类器(如支持向量机等)进行分类的方法。

基于深度学习的模型

基于CNN模型

Yin在论文中ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs提出了基于Attention机制的卷积神经网络来处理RTE问题,由于蕴含关系需要考虑一对文本前提和假设的信息,可以在对其中一个文本(比如假设)建模是同时考虑前提的信息,这种参照机制就是Attention机制。该方法通过在卷积中加入Attention Matrix来实现此目的。

此外,普通的卷积神经网络不能够有效捕获句法信息,而这些信息是判别文本蕴含所需要的重要特征。因此Mou在论文Natural Language Inference by Tree-Based Convolution and Heuristic Matching中提出了基于树结构的卷积神经网络,该网络将句法依存树作为卷积的操作对象,构成子树特征提取器,它能够一次性提取父节点及其子节点间的依存关系,该方法使用两个TBCNN分别对前提和假设进行建模,使用拼接、求差、相乘等启发式特征构造向量代表前提和假设的对的语义信息,最后再使用softmax进行分类。该方法在SNLI数据集上准确率达到0.824.

基于RNN方法

Rocktäschel 在论文 Reasoning about Entailment with Neural Attention提出了使用LSTM进行RTE的方法,主要思想为分别使用两个LSTM对前提和假设进行建模,并使用前提的LSTM的状态来初始化假设LSTM。在建模的过程中引入了Attention机制,即在处理假设时考虑前提的信息。Rocktäschel等人还提出了word by word Attention机制,即在LSTM处理假设文本中的每个词时,都引入前提经过LSTM建模后的信息,这样进一步提升了模型的性能。最后实验通过分析Attention矩阵,发现该机制能很好的发现前提和假设中词之间的关联关系,并且实现了软对齐,较之前的RTE方法有了很大进步,在SNLI数据集上的准确率为0.832。

Wang等人在Rocktäschel基础上在论文Learning Natural Language Inference with LSTM提出了match-LSTM模型,重点关注前提和假设之间各个部分的匹配情况。Wang等人认为Rocktäschel的方法有俩个局限性。第一个是这个模型仅使用了前提的单一向量来跟假设之间做匹配。第二个是这个模型没有对前提和假设之间匹配的部分增加权重,对冲突的部分降低权重。也就是没有很好区分这两种情况。针对这两点Wang对模型进行了改进,他们把对前提和假设进行LSTM建模时的Attention向量进行拼接输入到match-LSTM。此外该方法还在前提中引入特殊单词NULL,当假设中的单词与前提中的单词不构成任何匹配时,match-LSTM就会把这个词跟NULL进行匹配,相当于增加了悬空对齐方式,完善了对齐模型。

Wang在实验中同样对Attention矩阵进行了分析,除此之外还对LSTM中的遗忘门、输入们、输出门分别作了实验分析。该方法在SNLI数据集上的准确率为0.861。

 

————————————————————————————————————————

知识点:        

on-hot skip_gram CBOW n_gram 马尔科夫模型  分类、逻辑回归模型 CRF条件随机场模型 朴素贝叶斯
LSTM 双向LSTM GRU RNN CNN text_CNN DNN(前向传播) BP(DNN反向传播)对应损失函数、激活函数学习 
卷基层,池化层,全连接层

学习完整机器学习项目历程
https://blog.csdn.net/u010960155/article/details/81335067
http://www.tensorflownews.com/2018/04/12/text-cnn/
https://blog.csdn.net/fendouaini/article/details/80489348
https://www.cnblogs.com/pinard/p/6418668.html
https://www.julyedu.com/question/index/type/1

        中文文本推断项目,包括88万文本蕴含中文文本蕴含数据集的翻译与构建,基于深度学习的文本蕴含判定模型构建.

        文本间的推理关系,又称为文本蕴含关系 (TextualEntailment),作为一种基本的文本间语义联系,广泛存在于自然语言文本中。简单的来说文本蕴含关系描述的是两个文本之间的推理关系,其中一个文本作为前提(premise),另一个文本作为假设(hypothesis),如果根据前提P能够推理得出假设H,那么就说P蕴含H,记做P->H,这跟一阶逻辑中的蕴含关系是类似的。
目前关于文本蕴含还存在两个问题:
一,中文文本蕴含数据集严重匮乏
目前,关于文本蕴含的研究主要还是集中在英文,如评测中常常使用的SNLI数据集与MultiNIL:
1) The Stanford Natural Language Inference (SNLI) 是斯坦福大学NLP组发布的文本蕴含识别 的数据集。SNLI由人工标注的,一共包含570K个文本对,其中训练集550K,验证集10K,测 试集10K,一共包含三类entailment,contradiction,neutra,上节提到的例子就是出自此数据
2) The Multi-Genre Natural Language Inference (MultiNLI)是一个众包数据集,包含433k个文 本对。

然而,在中文中,还没有出现大规模的文本蕴含数据集, CCL2018有一个文本蕴含的评测,由北京语言大学于东老师团队组织的,发布了一个数量级为10W的评测集,这是目前最大的一个文本蕴含数据集,与英文还有很大的差距。
二,语言之间存在根本性差异
在英文SNIL数据集中,准确率已经达到将近90%,这个准确率是在50W+数据集上得到的,而中文与英文有实质性差异,英文的文本蕴含模型无法直接应用到中文的文本蕴含当中,我们需要在中文上做技术上的PK,做本土化的创新

因此,本项目将尝试完成两个任务:
一, 完成与SNIL规模相当的中文文本蕴含数据集
二, 基于构建起的中文文本蕴含数据集, 尝试完成模型实验

本实验采用两个双向LSTM对前提Premise和假设hypothsis进行编码,最将两个句子表征进行拼接,送入全连接层进行三分类 

架构:

 

总结:

1, 本项目针对中文文本蕴含数据集数量不足的问题,提出了一个中文文本蕴含数据集,规模达到88W
2, 借助翻译方法进行英文中文转换,前提是英文句子较为短小,短句的翻译效果还是不错的
3, 原先打算使用百度API进行翻译,但是使用次数有限制,因此转而以金山毒霸代之,使用在线翻译结果
4, 本项目实现了一个以LSTM进行文本蕴含三分类的模型,准确率不是很高,只有0.54左右,后期还有很大的优化空间

 

 

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页