【一】《Effective Utilization of External Knowledge and History Context in Multi-turn Spoken Language Understanding Model》
当前语句编码后经过两个部分加工
(1)上下文注意模块
做法就是当前utterance对context中每一句做attention,得到加权向量(ps:并不求和)。然后把所有向量和当前utterance向量一起送到Blstm中编码出这个模块最终向量
(2)知识注意模块
将当前utterance的每个token都检索出知识图谱里所包含的知识,transE编码出每个三元组向量。
将三元组向量关系和尾实体 和utterance做attention得到权重(就是个神经网络)将所有三元组实体加权求和(这个是加权求和)
(3)Jointmodel
最终是Bilstm解码。用(1)的编码结果作为初始状态,每一个字的解码输入是(该字编码向量,该字知识向量)
【二】《A BERT-based Approach with Relation-aware Attention for Knowledge Base Question Answering》
本篇论文面向的任务是KBQA的单跳问题,即给定用户一句话,查找出知识库中最符合的答案。任务型对话在选取知识时可以参考。
通过语义解析question得到实体。将每一个实体的一跳知识三元组作为候选知识。
(1)每次bert输入为(CLS question sep 尾实体i sep)多少个候选输入就执行输入打分多少次。bert输入结果(整个句子表示)再通过双向lstm层后得到分数1
(2)将bert计算得到的CLS和所有候选知识的relation计算得到每一条知识的权重后,加权求和得到最终关系向量。关系向量和CLS点乘得到分数2
(3)分数1和分数2全连接后得到最终分数。
【三】《ERNIE: Enhanced Language Representation with Informative Entities》清华版
整个模型的动机就是将知识图谱的信息有效融入到模型的训练中,考虑到BERT的复杂结构将知识图谱的信息进行有效融合
1、Encoder端:
(1)对于非实体的token依旧和bert编码一样。
(2)对于实体token将BERT中的Encoder多了一个K-encoder。具体的,TransE编码知识,然后多头注意力机制,这样文本中的实体token会另有一个来自知识图谱的实体表示。
2.信息融合层
有实体对应的token:就是文本token和实体token线性层后激活得到隐层。
无实体对应的:仅仅文本token过线性层后激活
3.预训练
在bert原有的mask和上下句预测的训练任务基础上,添加了一个实体对齐任务。
4.微调
实体标注和关系分类两个子任务
PS:很多细节论文描述的感觉有点不清楚,建议读下源码
参考:https://blog.csdn.net/weixin_37947156/article/details/94776493
【四】《ERNIE: Enhanced Representation through Knowledge Integration(Baidu/2019)》
百度也在2019年推出过一个知识信息加强版Bert。
具体来说, 采用三种masking策略:
Basic-Level Masking:跟bert一样对单字进行mask,很难学习到高层次的语义信息;
Phrase-Level Masking:输入仍然是单字级别的,mask连续短语;
Entity-Level Masking:首先进行实体识别,然后将识别出的实体进行mask。
通过mask实体可以让bert上下文去更多的关注实体和上下文的关系。
论文总结之知识融入NLU思考
最新推荐文章于 2023-02-15 17:53:58 发布