基线QAGNN思路:1.命名实体识别,识别出问题中的实体,从知识库中获取k跳邻居节点作为推理子图。2.将问题和答案候选项进行拼接作为QA上下文节点,将QA上下文节点与问题实体和答案候选进行连接。3.使用LM对QA上下文节点和知识库节点进行嵌入表示。4.使用GAT对推理子图进行表示更新。5.推理子图池化、QA上下文节点嵌入、QA上下文节点最后一层GAT表示三者送入MLP,获取一个分数。6.将一个问题中候选项中所有分数送入softmax,使用交叉熵损失函数进行训练。
存在的问题:1.推理子图静态不变,不能获取实时信息。2.问题和推理子图的相关性缺少交互。
我的改进:1.在每一层GAT更新过后,未被mask的实体节点向量更新到初始推理子图,使用多头注意力机制算法计算初始推理子图实体节点与QA上下文节点的注意力分数,将注意力分数较低的节点进行mask。2.将最后一层的推理子图的实体节点与QA上下文节点的相关性作为损失。