知识库上的问答系统:实体、文本及系统观点

编者:本文来自复旦大学博士崔万云在携程技术中心主办的深度学习Meetup上的主题演讲,分享了复旦大学研发的基于知识图谱的QA系统。关注携程技术中心微信公号ctriptech,可获知更多技术分享信息。文末可下载演讲PPT。

 QA系统用于回答人们以自然语言形式提出的问题,其在互联网、通信及医疗等领域获得显著的成功。其中,IBM研发的Watson系统就在与人类的答题比赛中获胜并首次获得100万美金奖励;苹果的Siri系统成功运行于iPhone之中,改变人与iPhone的交流方式;还有很多其它的公司也成功研发文字或语音的QA系统,比如谷歌的Google Now、亚马逊的Alexa和微软的Cortana;另外,在医学上面如Health Care,QA系统也帮助医生与患者得到及时的交互。

QA系统依据其回答语料可以分为两类,一类是常见的纯文本形式,如网络文档、问答社区内容、搜索引擎结果、百科数据等。另一类则是知识图谱,通常以RDF三元组的形式结构化表示。由于结构化的特点,QA系统相比纯文本语料,往往可以提供更加精确和简练的结果。另一方面,近些年涌现出了大批十亿甚至更大规模的知识图谱,包括WolframAlpha, Google Knowledge Graph, Freebase等。这些知识图谱的出现保证基于其的问答系统的覆盖率。所以当前,基于知识图谱的开放领域QA系统是可行的。

一、系统架构

QA系统分为三层架构模型,分别为实体、语言和应用层,如下图所示。

其中最下层为实体层,其为上层模型提供最基础的计算单元,包括了语义社区搜索、语义消歧义和同现网络模块;中间层为语言层,作为连接实体层和应用层的桥梁,其包含了具有一定语义信息的短文本;最上层则为集成的QA系统,包括了问题模板和深度学习模块。

1、实体层模型研究

1.1 语义社区搜索

如上图所示,节点即代表单词在语义社区网络中的语义,边则为单词与单词之间的关系,以此模型即可找到一个单词所在的社区,以及单词之间的相似度,如下图所示pot和bowl为同一语义社区,有很高的相似度;pot和plate为不同的语义社区,其中两个有两个单词交集,为中等相似度;pot和tube为不同的语义社区,其中只有一个单词交集,为低等相似度;

1.2 语义消歧义

2、语言层模型研究

2.1 动词语义模板

根据动词与名词之间的相关性,提出了动词语义模板的理论,其中包括概念化的动词模板比如verb $cconcept,和固定化的动词模板比如verb $iobject。动词语义模板主要是用来对语言实体做概念化的处理,所以需要保证其既具有通用性,又具有特殊性的特征。基于信息论的最小描述距离理论,我们提出了满足上述两个特征的动词语义模板,即

3、应用层模型研究

如上图所示,QA系统从问题中通过语言实体识别、语言模板提取、预知索引建立并最终查找到问题的答案。其中,重点为怎么从问题中提取出正确的实体属性?问题模板很好解决了该问题,其可以将问题中的实体转化为其所对应的概念,如下图Honolulu其概念为City的意义。

那么,问题模板又是怎么从实体找到对应的属性呢?我们提出了一个基于概率图的方法,使得问题的答案跟预测的答案最接近,如下图所示。首先通过问题的实体识别可以得到实体,然后进行问题的概念化得到问题的问题模板,然后根据模板找到对应的属性,最后根据属性查找值。

 

二、研究结果

基于上述三层架构模型,训练了27126355个问题模板,覆盖了2782个问题意图群,成功研发了QA系统,如下图1所示。在CGF举办的一个基于知识图谱问答的竞赛中,基于实体的问答成功率高达59%,如下图2所示。在QALD的测试中也获得了很高的准确率,如下图3所示。

三、基于深度学习的QA研究

首先,为什么深度学习适合做实体属性查找呢?因为,深度学习对于序列性的问题有着天然的优势,而一般我们的问题都是序列性的。

1、CNN

如下为最简单的CNN网络,最下层即为问题的实体提取层,首先将连续的问题序列化为单个的实体。然后,对各个实体进行卷积运算。最后获取概率最大的Inbinding,由此得到实体属性值。同时,提出了能更好理解问题上下文的双向LSTM模型。

2、KB Based QA + Deep Learning

为了增强上述CNN网络的特性,我们提出了以下的模型。其模型原理与CNN类似,包含3个CNN网络,每个CNN网络独立进行属性的预测,并最后获得最大的均方根值。与单个CNN网络相比,其除了具有Answer Path属性外,还增加了Answer Context和Answer Type的属性。其中,Answer Context表示候选答案周围的信息,Answer Type则表示候选答案的类型。

四、对QA系统的思考

对于QA系统,我们现在面临的问题有:

1、缺乏高质量的训练数据集,比如只有3778个网络问题的QA对,而对于QALD则只有100个QA对;

2、知识图谱本身的数据不完善;

同时,基于KB-based的QA具有的有限的联系且准确的答案的属性,而基于IR-based的QA具有无限的联系且模糊的答案的属性,那么如何将两个模型进行结合得到更广且更准确的问题答案呢?这是我们正在着力研究,且具有良好前景的问题。

(本文由携程技术中心何军整理)

演讲PPT下载:

知识库上的问答系统:实体、文本及系统观点-崔万云

说明:本文由携程技术中心原创,如需转载请邮件niuq#ctrip.com(#改为@)。

深度学习Meetup系列:

深度学习在携程攻略社区的应用

深度学习在搜狗无线搜索广告中的应用

知识库上的问答系统:实体、文本及系统观点

用户在线广告点击行为预测的深度学习模型

知识图谱中的推理技术及其在高考机器人中的应用

时间: 2024-08-08 09:41:45

知识库上的问答系统:实体、文本及系统观点的相关文章

在英文Win7操作系统上部署C#开发的Web系统出现乱码的解决方法

今天,迁移机器,把一个使用C#开发的Web系统部署到一台英文版Win7操作系统上,部署好以后,系统可以登录,只是网页上出现汉字乱码. 在这台电脑上,打开Word等文本编辑器,是可以正常输入.显示中文的. 解决方法如下: 1.打开"控制面板"----->选择"Region and Language" 2.Formats 页里Format为"English(United States),Location页选择的是United States,这个是没有影响

在云上搭建大规模实时数据流处理系统

在大数据时代,数据规模变得越来越大.由于数据的增长速度和非结构化的特性,常用的软硬件工具已无法在用户可容忍的时间内对数据进行采集.管理 和处理.本文主要介绍如何在阿里云上使用Kafka和Storm搭建大规模消息分发和实时数据流处理系统,以及这个过程中主要遭遇的一些挑战.实践主要立 足建立一套汽车状态实时监控系统,可以在阿里云上立即进行部署. 一.实时大数据处理利器——Storm和Kafka 大数据时代,随着可获取数据的渠道增多,比如常见的电子商务.网络.传感器的数据流.太空数据等,数据规模也变得

文本注释系统 + MarkDown

标记系统: 笔记的要点 题材 缘起 目标 等级: 细节性 事实性 规律 法则 适用范围: 时间.地点.人物.起因.经过.结果,who what where when why how whom 6W1H 行动指南 计划 闹钟 提醒 文本注释系统 粗体.斜体突出 [??][!!][..]思辨:观点.结论.描述.叙述,陈述,逻辑 添加文字 [eg]例证:[ref:化学.物理.政治.经济学][then]引申:引发细节.联想.思辨.存疑: [Tips1:]行动指南:计划.提醒.目标 不兼容 [--]细节,

使用Word Embedding构造简洁有效的文本摘要系统

/* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/ author: 张俊林,黄通文,薛会萍 文本摘要是在信息泛滥的时代非常重要的工具,可以帮助用户快速判断文章内容主旨,并以此决定是否值得细看文章内容. 本文介绍下我们在2014年底2015年初时,使用WordEmbedding思想来构造文本摘要的一些思路,其中包括一种异常简单的文本摘要实现思路,实验效果证明这种方法虽然简单,可能比传统的TFIDF方法还要简单,但是效果与比较复杂的方法是相当的. 这里介绍我们做的其中两种方法,

记一个文本分类系统的实现

基于信息检索课程,完成实现了一个文本分类系统,现记录一下整个实现过程. 文本分类以文本数据为分类对象,本质上是机器学习方法在信息检索领域的一种应用,可以继承机器学习领域的很多概念和方法,但同时也需要结合信息检索领域的特点进行处理.主要研究的方向是:文本分词方法.文本特征提取方法.分类算法. 本人主要使用了5种常用的分类算法,分别是kNN.Rocchio.NBC.SVM和ANN,对每种算法的结果进行了比较,使用了十折交叉验证绘制了各自的准确率曲线.由于本系统基于的搜狗语料库,是中文文本,因此使用的

Linq to Sql:N层应用中的查询(上) : 返回自定义实体

原文:Linq to Sql:N层应用中的查询(上) : 返回自定义实体 如果允许在UI层直接访问Linq to Sql的DataContext,可以省去很多问题,譬如在处理多表join的时候,我们使用var来定义L2S查询,让IDE自动推断变量的具体类型(IQueryable<匿名类型>),并提供友好的智能提示:而且可以充分应用L2S的延迟加载特性,来进行动态查询.但如果我们希望将业务逻辑放在一个独立的层中(譬如封装在远程的WCF应用中),又希望在逻辑层应用Linq to sql,则情况就比

在不使用U盘的情况下使用wubi.exe程序在Win7上安装ubuntu-14.04.3版系统

本文介绍如何在不使用U盘的情况下使用wubi.exe程序在Win7上安装ubuntu-14.04.3版系统. 花了一天的时间终于安装上了Ubuntu14.04,过程坎坷,是血泪史,开始报"cannot download the metalink and therefore the ISO"错误,解决后,又报"没有定义根文件系统",解决后在运行系统之后发现,此种方法会在启动时提示 "为/检查磁盘时发生严重错误 ",并且无法进入系统,折腾了半天,终于

Linux下VirtualBox启动物理硬盘上已安装的Window 8系统

创建虚拟机 1.创建一个没有硬盘的windows虚拟机,与已安装在物理硬盘上的系统一致.2.通过命令行在创建的虚拟机目录下创建一个指向物理硬盘的虚拟硬盘 VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda -partitions 1,2,3,4,5,8 -relative3.在创建的虚拟机中加载刚创建的vmdk虚拟硬盘.4.正常启动虚拟机,一切搞定.5.当然,要在虚拟机里

macbook上实现MacOS+Windows8+Ubuntu三系统

至于为什么要装win和linux就不说了,本文只解释安装过程. GPT vs MBR MacOS下装另外两个系统的一个基本问题是:硬盘使用GPT分区,它和常见的MBR分区是两个硬盘分区方式. 它们的主要区别有: MBR分区方式最多支持三个主分区加一个扩展分区,在扩展分区中可以存在多个逻辑分区. 而GPT分区方式不区分主分区和扩展分区,也没有四个分区的限制. MBR的使用BIOS引导,而GPT使用efi引导,引导区位于磁盘开头的第一个分区,如/dev/sda1 最新的windows和ubuntu都