
Knowledge-enhanced Hierarchical Attention for Community Question Answering with Multi-task and Adaptive Learning
介绍
作者认为社区QA存在下列问题:
- 外部事实知识没有得到充分利用(KB)
- CQA模型应当考虑输入序列的不同语义级别(attention)
- 现有的CQA模型没有考虑输入question的类别,可能丢失重要特征(多任务:QA+question 分类)
- 现有的CQA模型不能有效的处理噪声数据
问题定义
给定一个问题qqq =[wwwq^qq1_11,wwwq^qq2_22,…,wwwq^qqn_nn]和一个答案aaa=[wwwa^aa1_11,wwwa^aa2_22,…,wwwa^aam_mm],CQA任务旨在推断标签YYY∈∈∈{good,bed}。此外还假设每个问题qqq有一个类别标签xxx。
The Overall Architecture:five modules
(1) Knowledge-enhanced Representation Learning with Hierarchical Attention
包括三个阶段的attention
- Word-level Mutual Attention
首先嵌入。word2Vec:词嵌入和ELMo:character-level嵌入,将两个嵌入连接作为异构词向量:

所以每个qqq和aaa的上下文表示分别为:


然后通过n-gram匹配进行实体检测,并为输入文档中提及的每个实体从知识库中获取前KKK个实体候选。实体嵌入用的DeepWalk。在形式上,第ttt个实体的候选实体称为{eeennntttt_tt1_11,eeennntttt_tt2_22,…,eeennntttt_ttK_KK} ∈∈∈ RRRK^KK×^××d^ddk^kkb^bb,其中dddk_kkb_bb是嵌入KKKBBB中的实体的维数。上下文引导的注意力模型被设计为计算文档中提到的每个实体的知识表示,其计算如下:

vvv是注意力计算函数(MLP),EEE为qqq或aaa的上下文表示,所以经过attention后获得知识-aware的qqq和aaa表示:


在获得实体和单词嵌入后,作者设计了单词级的相互注意机制来识别上下文和知识表示之间的关系。采用上下文和知识表示之间的点积来计算问题qqq的相关矩阵MqM_qMq,如下所示:

矩阵中每一个元素表示上下文表示和知识表示的相关性(0-1之间)。然后对矩阵中的每行和每列都都做一个取平均值操作,分别为上下文表示和知识表示计算注意向量:

最后,相互感知:

IqI^qIq=[1,…,1]T^TT,维度为d,⊗表示科罗纳乘积:可以进行两个不同维度的矩阵运算。 ⚪表示元素对乘法。
- Phrase-level Attention
首先将WqW^qWq和WWW−^-−q^qq用一个CCCNNNNNN处理得到feature maps:

然后设计了一种Phrase-level Attention来学习重要的局部n-gram组块:

PqP^qPq和PPP−^-−q^qq表示短语级别的知识强化的上下文表示和短语级别的上下文强化的知识表示。
最后使用两个独立的LSTM对PqP^qPq和PPP−^-−q^qq编码:

- Document-level Attention
使用知识表示作为关注源来关注上下文,以便选择那些关键的知识增强的上下文词块来组成知识感知文档表示。在形式上,文档级关注的定义如下

µµµ是mean pooling操作,文档级别的attention的输出OOOq^qqi_ii表示为对于qqq的文档级别的知识强化表示。
执行相同的操作得到知识增强的答案表示OOOa^aa。
(2)Interactive Question/Answer Representation Learning
多头注意力处理OOOa^aa和OOOq^qq。

其中
表示关注矩阵的第iii行,bbb是关注的跳数。同样,可以计算问题感知答案表征的注意矩阵

然后计算交互:

faltten是将矩阵展平操作。
(3)Question Categorization
问题表征eeemmmbbbq^qq被feed特定任务的全连接层输出类别概率:

loss为交叉熵:

(4)Community Question Answering
- Category-aware Representation Learning
作者开发了一个类别感知转换过程,使转换后的问题嵌入保持类别信息。在形式上,模型将问题表示eeemmmbbbq^qq转换为特定类别的问题表示eeemmmbbbq^qq−^-−

是转换矩阵。
为了使得转换后的问题表示能够捕获类别信息。引入了XXX(类别数)个子矩阵(W1W_1W1,…,WXW_XWX),其中每个子矩阵对应于一个问题类别。类别感知变换矩阵WµW_µWµ可以计算为子矩阵的加权和:

对于CQA任务,连接最终的问题和答案表示,并将它们馈送到特定于任务的完整连接层即可:

CQA任务的loss仍然为交叉熵:

- Ensemble Learning
作者从SemEval-2017测试集中随机选择100个被KHAMA错误预测的问题进行错误分析。我们观察到,错误预测的问题在问题类别中是不平衡的。“Family Life in Qatar”和“Moving to Qatar”等问题类别中的样本比“Doha Shopping”和“Carsand driving”等其他类别中的样本更难预测。为了建立一个更加稳定和鲁棒的预测模型,作者构造了多个CQA分类器,并集成它们的结果作为最终的预测结果,他们从自适应boosting算法中学习到多个分类器,基于训练误差更新第iii个CQA分类器gig_igi的权重αiα_iαi:

最终预测模型G通过加权投票获得:

(5)Multi-task Learning

λ1λ_1λ1= 0.2 and λ2λ_2λ2= 0.8
实验
数据集

实验细节
使用Freebase的子集作为KB:FB5M3
根据服从正态分布初始化图嵌入,维度:100
word2vec:100
LSTM hidden_size:200
CNN feature maps :200 个2×2
分类器数量:5
候选实体数量:6
学习率:1×10−^-−4^44
batch_size:64
L2正则:0.001
dropout:0.2
结果


分类器数量和候选实体数量对结果的影响:

该博客探讨了社区问答(CQA)中的一些挑战,如未充分利用知识库(KB)、多级语义理解不足以及处理噪声数据的能力差。作者提出了一种包含知识增强的层次注意力模型,通过结合词级、短语级和文档级注意力来捕捉问题和答案的语义。同时,模型结合了多任务学习,进行问题分类和CQA,以保留问题的类别信息。通过类别感知的表示学习,模型能更好地处理不同类别的问题。实验表明,候选实体数量和分类器数量的选择对模型性能有显著影响。最后,通过集成学习提高了预测的稳定性和鲁棒性。
707

被折叠的 条评论
为什么被折叠?



