论文笔记整理:谭亦鸣,东南大学博士生,研究兴趣:知识图谱问答。


来源:ISWC 2019

链接:https://link.springer.com/content/pdf/10.1007%2F978-3-030-30793-6_22.pdf

本文提出一个end2end神经网络模型以知识图谱为数据源,自动生成复杂的多跳问题,且问题难度是可控的。该模型以一个子图(来自知识图谱)及预设的问题答案为输入,利用基于transformer的模型生成自然语言问题。问题难度的控制因子基于命名实体的popularity指标构建得到。实验方面,利用现有的两个2-hops问答数据集,构建训练/测试数据得到的实验结果验证了该模型可以生成高质量,流利,且与输入子图密切相关的自然语言问题。

相关数据集和源码链接传送门:https://github.com/liyuanfang/mhqg.

动机

目前最好的KG QA模型基于神经网络建立,这种数据驱动的模型需要大量的训练数据,包括知识图谱中的三元组集,问题集以及对应的答案数据。为了迎合这种数据需求,近些年来,很多问答数据集被构建出来,包括简单的Single-hop信息的问题,以及更复杂信息的问题。其中复杂问题数据集又大体可以分为两类:多跳推理或者离散型推理问题。

但是,随着上述数据集被充分利用之后,模型性能的进一步提升又受到了数据集规模的限制,虽然这对Single-hop问答没什么影响,其性能在实验数据上已经媲美人类问答水平(Single-hop问题难度并不高),对于复杂问题则不然,其依然需要更多高质量的问答数据集提升模型的质量。显然复杂问题相对简单问题数据的建立难度更高,大部分现有的复杂问题都是基于人工或半自动的方式得到。

因此本文拟利用现有的复杂问题集作为训练数据(包含问题子图,对应的自然语言问题reference以及答案,来自COMPLEXWEBQUESTIONS及PathQuestion数据集),例1描述了这些数据的形式:

方法

本文将基于知识图谱的问题生成任务看作一个Seq2Seq学习问题:

假定背景知识(图谱)为G,其中包含一系列三元组事实,给定一个子图g(来自G),及n个三元组,EA表示三元组中的答案实体(可能不唯一,建例1的第二张图),模型将会生成一个自然语言问题Q = (w1,…,wm),生成过程可以描述如下:

θ表示模型参数

模型的框架如下图所示:

这个框架整体还是类Transformer结构,主体分为编码和解码两个部分,相关网络细节就不多赘述。

关于知识图谱编码

对于子图g,编码器以其embedding作为输入(对g中的三元组做embedding),令d_e表示实体/关系的embedding维度,d_g 表示三元组embedding的维度

初始化阶段,三元组的embedding由主体,谓词,客体的embedding拼接,加之其余值随机初始化以匹配三元组的embedding维度

每个E_A答案实体还被embedding到一个d_e维的向量中,通过一个多层感知机学习该实体是否是一个答案实体。

接着对答案embedding和原始实体embedding做元素加法以获得最终对每个答案实体的embedding

因此,对于包含n个三元组的子图g,可以表示为一个n×d_g矩阵G,以该矩阵为输入,Transformer 编码器将其映射为一个连续表示序列Z = (z1,…,zn)∈R^{n×dg}

令Q,K,V分别表示编码器中的query,key和value矩阵,给定输入G,使用query矩阵对相关的三元组做软筛选(soft select)并积累Attention,公式如下:

其中,KT为K的转置      均为可训练模型参数

为了获得不同三元组在不同表示子空间的信息,作者使用包含k个head的Multi-head attention,并汇总它们如下:

其中,   ,

汇总后的输出x被传递到一个前馈网络,如下:

关于难度评价模型

本文主要提到了两个衡量难度的因素:问题中实体链接的confidence;子图中实体的selectivity

前者指的是对问题做命名实体识别时,具有较高confidence的实体识别一般具有较小的ambiguity,这使得子图很容易理解所问的目标实体,且生成的问题也更易于回答。

后者指的是识别完实体后图谱中可匹配的实体的候选数量,当候选实体较多时,意味具有更低的selectivity,这表示问题所问的内容具有较高的模糊性,也就更难。

基于此,作者构建了难度评价模型如下:

其中G和q分别表示子图和问题,Con表示confidence,Sel表示selectivity,该难度得分被标准化到[0,1]之间。考虑单靠得分不具备明确的区分度,比如想生成较难的问题该怎么定义阈值,因此作者随机抽取了200个简单例子做难度测量,最终取其得到的最高值作为阈值。

关于带有难度控制因子的解码

本文利用一个多层感知机DE将难度信息编码进解码器,其由输入线性层,整流线性单元层和输出线性层构成。公式如下:

其中,x表示难度level,W和b是可训练的模型参数。

实验

数据集相关

实验使用到了三个多跳问题集:

WebQuestionsSP,ComplexWebQuestions,PathQuestion

对于每个实例,WebQuestionsSP,ComplexWebQuestions都包含自然语言问题,SPARQ query及答案实体和一些辅助信息

PathQuestion相对上述数据集缺少了实体对应知识库(Freebase)的ID,因此处理方式稍有不同。

数据集统计信息如下表:

作者对其实验细节在文章中做了详细描述,有需要可以去瞅瞅

实验结果

由于是自然语言生成类的任务,这里使用的评价指标均为翻译常用的自动评价指标BLEU,METEOR等

同时,作者也提供了人工评价结果如下:


OpenKG

开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenKG 博客。

论文浅尝 | 基于知识图谱难度可控的多跳问题生成相关推荐

  1. 论文浅尝 | 基于知识图谱的智能调研方法(DI佳作)

    转载公众号 | 数据智能英文刊 题目:A Knowledge Graph Based Approach to Social Science Surveys 引用:Z. Pan, Z.J., et al ...

  2. 论文浅尝 | 基于知识图谱 Embedding 的问答

    论文笔记整理:谭亦鸣,东南大学博士生,研究方向为知识图谱问答. 来源:WSDM 2019 链接:https://dl.acm.org/citation.cfm?doid=3289600.3290956 ...

  3. 论文浅尝 | 基于知识图谱嵌入的 Bootstrapping 实体对齐方法

    来源: IJCAI 2018 链接: https://www.ijcai.org/proceedings/2018/0611.pdf 本文关注基于知识图谱嵌入(后文全部简称为知识嵌入)的实体对齐工作, ...

  4. 论文浅尝 | 基于知识图谱注意力网络的商品推荐

    论文笔记整理:康矫健,浙江大学计算机科学与技术系,硕士研究生. 论文链接:https://arxiv.org/pdf/1905.07854.pdf 发表会议:KDD 2019 任务定义 输入:协同过滤 ...

  5. 论文浅尝 | 基于知识图谱中图卷积神经网络的推荐系统

    笔记整理:王若旭,浙江大学在读硕士,研究方向为关系抽取,零样本学习. 本文发表于 www2019,参考链接:https://arxiv.org/pdf/1905.04413.pdf 为了解决推荐系统中 ...

  6. 论文浅尝 | 基于知识图谱的子图匹配回答自然语言问题

    本文转载自公众号:珞珈大数据. 本次论文讲解的是胡森  邹磊   于旭  王海勋  赵东岩等作者写的论文-Answering Natural Language Questions by Subgrap ...

  7. 论文浅尝 | 知识图谱中的链接预测:一种基于层次约束的方法

    论文笔记整理:张良,东南大学博士生,研究方向为知识图谱,自然语言处理. 链接:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber= ...

  8. 论文浅尝 | 知识图谱三元组置信度的度量

    论文笔记整理:叶橄强,浙江大学计算机学院,知识图谱和知识推理方向. https://arxiv.org/pdf/1809.09414.pdf 动机 在构建知识图谱的过程中,不可避免地会产生噪声和冲突. ...

  9. 论文浅尝 | 知识图谱的不确定性衡量

    论文笔记整理:谭亦鸣,东南大学博士. 来源:Knowledge and Information Systems volume 62, pages611–637(2020) 链接:https://lin ...

最新文章

  1. Highchart插件下载与安装
  2. 实现商城商品秒杀分析
  3. C#操作SharePoint列表
  4. Java NIO 入门
  5. day3 and homework
  6. nosql-redis学习 数据类型
  7. 『飞秋』Windows7新功能体验(1):为Windows 7 Media Center安装网络电视(Internet TV)
  8. 有了这个框架,平台开发谁还手敲代码?
  9. jquery中prop()方法和attr()方法的区别
  10. Gallery of Processor Cache Effects
  11. 【实用开发工具】将BAT脚本打包成exe可执行文件
  12. 把老婆训练成女黑客的漏洞大神黄正|宅客故事
  13. 运行Map Reduce报错Got exception: java.net.ConnectException: Call From master.localdomain/127.0.0.1 to
  14. Nginx的try_files指令详解
  15. CSS 轮廓(outline)/CSS margin(外边距)/CSS padding(填充)
  16. 一款实用的web截图工具(一)
  17. HTML5学习_day10(4)--兼容性个例
  18. linux内核内存管理slub
  19. MySQL mysqld dead but subsys locked的解决办法_张童瑶的博客
  20. 2021年2月中国编程语言排行榜

热门文章

  1. MySQL单机版Recycle Bin回收站功能
  2. C++/C中mutalbe与volatile的详解
  3. mysql order by 索引名字_MySQL如何利用索引优化ORDER BY排序语句
  4. python os renames_Python3 os.renames() 方法
  5. 如何 给给软件开发 添加 代理_敏捷开发是如何被跑偏的
  6. Node中使用token(基于第三方包jsonwebtoken)
  7. LeetCode 2185. 统计包含给定前缀的字符串
  8. LeetCode 1855. 下标对中的最大距离(双指针)
  9. LeetCode 1797. 设计一个验证系统(map)
  10. LeetCode 391. 完美矩形(set检查顶点+面积检查)