zoukankan      html  css  js  c++  java
  • 问答系统

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

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

    崔万云_meitu_1

     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系统分为三层架构模型,分别为实体、语言和应用层,如下图所示。

    61

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

    1、实体层模型研究

    1.1 语义社区搜索

    62

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

    63

    1.2 语义消歧义

    64

    2、语言层模型研究

    2.1 动词语义模板

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

    65

    3、应用层模型研究

    66

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

    67

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

     68

    二、研究结果

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

    69

    610

    611

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

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

    1、CNN

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

    612

    2、KB Based QA + Deep Learning

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

    613

    四、对QA系统的思考

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

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

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

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

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

    演讲PPT下载:

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

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

    深度学习Meetup系列:

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

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

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

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

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

     
     
  • 相关阅读:
    LeetCode 70
    LeetCode 81
    LeetCode 33
    LeetCode 78
    LeetCode 50
    LeetCode 34
    关于机器学习的学习笔记
    图的 DFS 与 BFS 复杂度分析
    Sqlalchemy的学习使用和常见问题
    mysql的使用和远程连接
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/5727754.html
Copyright © 2011-2022 走看看