基于注意力机制的问句实体链接
摘要
问句实体链接不仅需要大量的数据处理和特征选择工作,而且容易形成错误积累,降低链接效果。针对这种情况,文中提出基于注意力机制的编码器-解码器问句实体链接模型。模型使用双向的长短期记忆网络编码问句,经过注意力机制解码,生成对应的实体指称和消歧信息输出,最后链接到知识库实体。在有关汽车领域车系产品问句好热实体数据集上的实验表明,文中模型仅利用较少的上下文信息便可取得良好效果。
关键词 :问句实体链接;注意力机制;编码器-解码器;长短期记忆网络;生成模型
问句实体链接是问答系统的一个重要步骤,传统的问句实体链接方法主要通过两个步骤完成,命名实体识别(Named Entity Recognition,NER)和实体链接(Entity Linking)
命名实体识别最初主要是基于规则的方法:隐马尔可夫模型(Hidden Markov Models,HMM)、最大熵马尔可夫模型(Maximum Entropy Markov Models,MEMM)、条件随机场(Conditional Random Fields,CRF)、支持向量机(Support Vector Machines,SVM)、决策树(Decision Tree,DT)和长短期记忆网络-条件随机场(Long Short-Term Memory-Conditional Random Field,LSTM-CRF)等
基于注意力机制(Attention Mechanism,AM) :通过对输入设置不同的权重,捕获其中的关键对齐信息。
问句和其链接到的实体具有明显的对齐关系,本文将问句实体链接归纳为具有对齐关系的端到端过程,避免传统方法中先进行命名实体识别,再进行实体链接的处理步骤,从而避免其中可能的错误传递累计情况,大幅减少数据处理的工作
基于注意力机制的Encoder-Deconder
Encoder部分 :对于输入序列$x=(x_1,x_2,…,x^{T_x}),x_i∈R^m$,$m$为输入字典的大小,采用One-Hot编码时也是每个字向量的维度,$T_x$为输入序列的长度。
通常使用循环神经网络(Recurrent Neural Network,RNN)进行编码处理 :$h_t=f(x_t,h_{t-1})$,$h_t∈R^n$表示RNN Encoder中$t$时刻的隐藏状态,$f$表示非线性函数,$n$表示编码器隐藏层单元数量。
本文的Encoder使用双向LSTM(Bidirectional LSTM,Bi-LSTM)作为函数$f$
Decoder部分 :AM首先计算第$j$时刻输入$h_j$与第$t$时刻隐藏层状态$s_{t-1}$的对齐关系得分$e_{tj}$:
$$e_{tj}=a(s_{t-1},h_j)=v_a^Ttanh(W_as_{t-1}+U_ah_j)$$
$h_j$的权重$\alpha_{tj}$为:
$$\alpha_{tj}=\cfrac{exp(e_{tj})}{\sum_{k=1}^{T_x}exp(e_{tk})}$$
求出权重$\alpha_{tj}$,即可计算所有Encoder隐藏层输出$h_{j}$的加权和,构成上下文向量$c_t$:
$$c_t=\sum_{j=1}^{T_x}\alpha_{tj}h_j$$
基于注意力机制的问句实体链接
数据预处理阶段 :将问句进行去停用词处理,然后在训练集数据上进行字级别的适配,生成字典。
字典的意义 :赋予单个字一个唯一的索引值,方便后续模型将输入问句和输出序列转换为字的索引序列。
模型流程图
- 将问句按字典的索引转换为整数序列,为了减小内存开销,每次取一批的问句转换为One-Hot编码
- 再使用Bi-LSTM作为编码器,将前向和后向隐藏层的输出提供给AM解码器解码,通过选取最大值的下标索引将解码输出转换为整数序列,在字典中查找得出生成的实体指称,冰去除结束符和占位符
- 最后直接与知识库实体名和后缀匹配进行实体链接
实验及结果分析
实验数据集 :通过网络收集的汽车领域问句和车系实体数据,包含318927条问句,知识库中车系实体共1901种
评价方法 :准确率$P$、召回率$R$及$F1$值
实验结果 :
小结
基于注意力机制的问句实体链接模型,将问句实体链接抽象为端到端的类似机器翻译问题,避免传统方式先进行命名实体识别,再进行实体链接带来的数据处理繁琐、特征难以提取和选择、错误累计等诸多缺点。不足是内存占用较大,仅能处理问句中只存在一个实体指称的情况,后续研究可结合知识库实体上下文信息,改进编码方式,降低内存开销,改进模型,使之可以处理问句中存在多个实体指称的情况
若没有本文 Issue,您可以使用 Comment 模版新建。