专栏首页大数据智能实战AllenNLP系列文章之六:Textual Entailment(自然语言推理-文本蕴含)

AllenNLP系列文章之六:Textual Entailment(自然语言推理-文本蕴含)

自然语言推理是NLP高级别的任务之一,不过自然语言推理包含的内容比较多,机器阅读,问答系统和对话等本质上都属于自然语言推理。最近在看AllenNLP包的时候,里面有个模块:文本蕴含任务(text entailment),它的任务形式是:给定一个前提文本(premise),根据这个前提去推断假说文本(hypothesis)与premise的关系,一般分为蕴含关系(entailment)和矛盾关系(contradiction),蕴含关系(entailment)表示从premise中可以推断出hypothesis;矛盾关系(contradiction)即hypothesis与premise矛盾。文本蕴含的结果就是这几个概率值。

Textual Entailment

Textual Entailment (TE) models take a pair of sentences and predict whether the facts in the first necessarily imply the facts in the second one. The AllenNLP TE model is a re-implementation of the decomposable attention model (Parikh et al, 2017), a widely used TE baseline that was state-of-the-art onthe SNLI dataset in late 2016. The AllenNLP TE model achieves an accuracy of 86.4% on the SNLI 1.0 test dataset, a 2% improvement on most publicly available implementations and a similar score as the original paper. Rather than pre-trained Glove vectors, this model uses ELMo embeddings, which are completely character based and account for the 2% improvement.

从中可以看出,AllenNLP集成了EMNLP2016中谷歌作者们撰写的一篇文章:A Decomposable Attention Model for Natural Language Inference

1、论文原理

  每个训练数据由三个部分组成

,模型的输入为

,分别代表前提和假说,

表示a和b之间的关系标签,C为输出类别的个数,因此y是个C维的0,1向量。训练目标就是根据输入的a和b正确预测出他们的关系标签y。

上图的三大步骤解释如下:

(1)Attend:首先对a和b中的每个词计算它们之间的attention weights

(2)Compare:该模块的功能主要是对加权后的一个句子与另一个原始句子进行比较,

(3)Aggregate:现在我们得到了两个比较向量的集合,

,

,先分别对两个向量集合进行求和,然后将求和的结果输入前馈神经网络做最后的分类。

(4)Intra-Sentence Attention(可选):除了上述的基础模型之外,可以在每个句子中使用句子内的attention方式来加强输入词语的语义信息,

2、论文实践

(1)测试例子一:

前提:Two women are wandering along the shore drinking iced tea.

假设:Two women are sitting on a blanket near some rocks talking about politics.

其测试结果如下:

可视化呈现结果如下:

测试例子二:

前提:If you help the needy, God will reward you.

假设:Giving money to the poor has good consequences.

测试结果如下:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • textgenrnn 文本生成实战

    文本生成是一件很神奇的自然语言处理任务,深度学习给文本生成带来的全新的技术途径,如这篇文章The Unreasonable Effectiveness of R...

    sparkexpert
  • HBase启动错误client.ConnectionManager$HConnectionImplementation的解决办法

    有时候,HBase因为在写入过程中直接强行中断之后,再次重启过程中,会经常出现一些异常信息。其中标题这个错误也是经常碰到的一个。 具体报的错误如下: ? 201...

    sparkexpert
  • DeepSpeech源码编译及语音识别效果复现

    DeepSpeech是国内百度推出的语音识别框架,目前已经出来第三版了。不过目前网上公开的代码都还是属于第二版的。

    sparkexpert
  • ZOJ 3932 Handshakes

    Last week, n students participated in the annual programming contest of Marjar U...

    ShenduCC
  • HDU-1011 Starship Troopers(树形dp)

    Starship Troopers Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536...

    ShenduCC
  • Leetcode 174 Dungeon Game

    The demons had captured the princess (P) and imprisoned her in the bottom-right...

    triplebee
  • 数学--数论--HDU--5878 Count Two Three 2016 ACM/ICPC Asia Regional Qingdao Online 1001

    这个题的意思是让你找到一个k大于n并且能写成 2 ...

    风骨散人Chiam
  • POJ-2029 Get Many Persimmon Trees(动态规划)

    Get Many Persimmon Trees Time Limit: 1000MS Memory Limit: 30000K Total ...

    ShenduCC
  • Yet Another Walking Robot (Map)

    There is a robot on a coordinate plane. Initially, the robot is located at the p...

    dejavu1zz
  • 云存储上文件共享系统的缺陷

    云存储提供了一种更为简单的方式来私下和公开地共享文件。一个好的云存储提供商(SCP)不仅通过访问速度或可共享给他人的文件大小来衡量,而且还通过文件共享本身的安全...

    用户7724216

扫码关注云+社区

领取腾讯云代金券