首页 > 代码库 > 机器阅读理解中文章和问题的深度学习表示方法

机器阅读理解中文章和问题的深度学习表示方法

/* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/

                                       author: 张俊林


注:本文是《深度学习解决机器阅读理解任务的研究进展》节选,该文将于近期在“深度学习大讲堂”公众号发布。



2.1文章和问题的表示方法


   用神经网络处理机器阅读理解问题,首先面临的问题就是如何表示文章和问题这两个最重要的研究对象。我们可以从现有机器阅读理解相关文献中归纳总结出常用的表示方法,当然这些表示方法不仅仅局限于阅读理解问题,也经常见于NLP其他子领域中。


技术分享

    4.文档表示方法:模型一


首先,对于机器阅读理解中的文章来说,有两种常见的文章内容表达方式。最常见的一种即是将一篇文章看成有序的单词流序列(参考图4的模型一),在这个有序序列上使用RNN来对文章进行建模表达,每个单词Dt对应RNN序列中的一个时间步t的输入,RNN的隐层状态Ht代表融合了Dt本身词义以及其上下文语义的语言编码。这种表示方法并不对文章整体语义进行编码,而是对每个单词及其上下文语义进行编码,在实际使用的时候是使用每个单词的RNN隐层状态Ht来进行相关计算。至于具体的RNN模型,常见的有标准RNNLSTMGRU及其对应的双向版本等。对于机器阅读理解来说双向RNN是最常用的表示方法,一般每个单词的语义表示由正向RNN隐层状态和反向RNN隐层状态拼接来表示,即:

技术分享

模型一往往在机器阅读理解系统的原始输入部分对文章进行表征,因为对于很多阅读理解任务来说,本质上是从文章中推导出某个概率最大的单词作为问题的答案,所以对文章以单词的形式来表征非常自然。


另外一种常见的文章内容表达方式则是从每个单词的语义表达推导出文章整体的Word Embedding表达,这种形式往往是在对问题和文章进行推理的内部过程中使用的表达方式。典型的表达过程如图5所示的模型二所示。


技术分享

             5. 文档表示方法:模型二


    模型二的含义是:首先类似于模型一,用双向RNN来对每个单词及其上下文进行语义表征,形成隐层状态表示Ht,然后对于Ht向量的每一维数值,乘以某个系数,这个系数代表了单词对于整个文章最终语义表达的重要程度,将每个单词的系数调整后的隐层状态Ht累加即可得到文章的Word Embedding语义表达。而每个单词的权重系数通常用Attention计算机制来计算获得,也有不使用权重系数直接累加的方式,这等价于每个单词的权重系数都是1的情形,所以可以看作加权平均方法的特殊版本。以公式表达的话,文章的语义表达公式如下:

技术分享

对于机器阅读理解中的问题来说,有三种常见的语义表达方式。如果将查询看作一种特殊的文章的话,很明显文章的语义表达方式同样可以用来表征问题的语义,也就是类似于文档表示方法的模型一和模型二,除此外,还有另外一种不同的表达方式。问题的表示方法模型一如图6所示,模型二如图7所示,其代表的含义与文章表征方式相似,所以此处不赘述。

技术分享

  6.问题表示方式:模型一


技术分享

     7.问题表示方法:模型二

问题表示方法的另外一种表示如图8所示,我们可以称之为模型三。

技术分享

              8.问题表示方法:模型三


模型三也是在模型一的基础之上的改进模型,也是NLP任务中表达句子语义的最常见的表达方式。首先类似于模型一,使用双向RNN来表征每个单词及其上下文的语义信息。对于正向RNN来说,其尾部单词(句尾词)RNN隐层节点代表了融合了整个句子语义的信息;而反向RNN的头部单词(句首词)则逆向融合了整个句子的语义信息,将这两个时刻RNN节点的隐层状态拼接起来则可以表征问题的整体语义:

技术分享

理论上模型三也可以用来表征文章的语义信息,但是一般不会这么用,主要原因是文章往往都比较长,RNN对于太长的内容表征能力不足,所以类似模型三的方法会存在大量的信息丢失,而“问题”一般来说都是比较短的一句话,所以用模型三表征是比较合适的。


以上介绍的几个模型是在机器阅读理解领域里常用的表征文章和问题的表示方法。下面我们从机器阅读理解神经网络结构的角度来进行常用模型的介绍。


技术分享扫一扫关注微信号:“布洛卡区” ,深度学习在自然语言处理等智能应用的技术研讨与科普公众号


机器阅读理解中文章和问题的深度学习表示方法