释义识别概念
1、两个问题具有相同的语义(二分类),即如果两个问题的回答完全相同,那么这两个问题是相互释义的。
2、检验检索出来的问题是否是一个输入问题的释义。
模型架构
模型分为四部分:编码器、注意力对齐、匹配聚合、双预测网络。该模型利用双向递归神经网络将前提问题编码为短语向量,然后利用注意机制从候选问题中提取软对齐的对应短语嵌入。
最后的相似性得分是基于两个蕴涵方向的聚合短语比较来产生的。
模型是对称的,且参数对于两侧是共享的。即使在中等大小的数据集上也可以有效训练模型参数。
问题数学表达
假如有两个问题句子A和B,A表示为,B表示为;A问题词个数是,B问题词个数是;每个词都在两个句子当中,和属于词汇 。
训练集由标签文本对构成,是二值标签,代表A问题()是否是B问题()的释义。目标是预测是否是释义的。
一、编码器
目的:获取每个单词在上的稠密表示(捕获了上下文词义)
1. 利用混合嵌入矩阵, 将映射成d维向量;词嵌入矩阵(由大语料训练得到,训练时会被修正);随机初始化的可训练嵌入矩阵。
混合设置的目的是:对嵌入做fine-tune,避免过早偏离预先训练的表示,以识别特定领域的词义语义。
2 .编码器将词嵌入序列转换成上下文向量列表H=,H的大小随着段落的长度而改变。
由两层堆叠双向循环神经网络(BRNN)利用两边的上下文构成。BRNN编码器从两个方向用两个分开的隐藏子层处理数据。表示成:
是LSTM当中的激活单元。通过级联两个方向的隐向量和来形成当前时间步骤的输出;BRNN的上层把来自下层的输出作为输入,进一步产生。最后已编码的上下文向量是嵌入向量和两层输出的和
二、注意力对齐
目的:从另一个句子的编码序列 中收集一个软对齐上下文向量。
1. 计算每对上下文向量基于内容的得分,得分衡量和的第j个上下文向量的相关性。
2. 对相关性得分进行归一化,作为注意力权重。
3. 生成软对齐短语向量,是注意力权重和上下文向量的加权和.
三、匹配聚合
给定H和它的软对齐向量,问题简化为比较对齐短语向量序列。
每对对齐向量首先被合并成一个匹配向量;随后由RNN层扫描,最后一个时间戳的输出作为最终的聚合向量。
四、双预测网络
预测网络由两层批处理归一化多层感知机,MaxOut神经元网络,和基于上述匹配聚合向量产生蕴含得分的线性层构成。然而,注意对齐、匹配聚合、预测网络只能检查一个句子的信息是否被另一个句子所覆盖。为了识别释义,我们使用共享网络从两个方向的问题对去计算蕴涵得分。最后,将两个分数相加,然后用Logistic层预测标签P。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |