基于知识图谱的智能问答方案

2020-07-14 15:57:50 浏览数 (1)

三个角度理解知识图谱

2012年谷歌首次提出“知识图谱”这个词,由此知识图谱在工业界也出现得越来越多,对于知识图谱以及相关概念的理解确实也是比较绕。自己在研究大数据独角兽Palantir之后开始接触知识图谱,也算对其有了一定了解,这里从三个角度总结一下怎么去理解知识图谱。

几个基本概念:本体、实体、知识库、知识图谱

1、本体是概念的集合,是大家都公认的概念框架,一般不会改变如“人”、“事”、“物”、

“地”、“组织”,在面对对象编程里面,我们把它叫做类,在数据管理里面我们把它叫做元数据;

2、实体是本体、实例及关系的整合,比如“人”是本体框中的一个概念,概念中也规定了相关属性比如“性别”,小明是一个具体的人,叫做实例,所以小明也有性别,小明以及体现小明的本体概念“人”以及相关属性,叫做一个实体(简单的说就是:本体 实例);

3、很多实体形成的数据库叫做知识库,如dbpedia等;

4、知识图谱是一种图谱组织形式,通过语义关联把各种实体关联起来,之前不叫做知识图谱,而叫做语义网。知识图谱把结构化、非结构化的数据通过数据抽取、融合在一起,体现了数据治理、语义连接的思想,有利于大规模数据的利用和迁移。

一、从数据治理角度

我的理解是知识图谱的构建是基于动态本体理论的,一套完整的数据本体可以把不同的数据形式进行串联转换,融合成一个综合的数据体系去使用。如国脉数据提出的数据基因系统,我想它应该就是一套政务数据的本体框架(通俗点说就是数据目录),这套框架就像是政务数据的“基因”,其它数据都是在这个的基础之上建立的。在面对对象编程理论中,可以理解为“类”,在数据管理中,也可以理解为元数据。有了这套完整的本体框架,就为企业或政府的数据治理奠定了基础。所谓数据治理,简单的理解就是要站在战略的高度去梳理数据和业务,有什么类型的数据?怎么用?如何围绕业务构建标准的数据体系?等。而构建知识图谱的过程其实就是把各种和领域相关的数据进行一定的梳理和融合,把杂乱无章的数据通过本体框架整合成结构化的数据。浙江杭州提出的“最多跑一次”的电子政务服务理念,在具体的实施过程中也体现了这个观点。

除了有利于多源异构数据的整合,知识图谱也有利于多模(文本、视频、图片)数据的整合。最近谷歌正在研究一项工作叫做多模任务学习,就是要把文本、图片、视频多种模态一起作为输入进行学习,这是一项比较复杂的工作。但是语义连接的作用可能就是一个解决问题的方向,比如阿里的“看图说话”应用,通过深度学习识别图像中的实体和行为然后通过文本的形式呈现出来。既然图像可以转化为文本,那么视频也可以转化文本,所以通过深度学习把多种模态进行转化,利用语义进行连接和理解,这样说不定就可以解决相关问题。

二、语义连接角度

在机器学习过程中,特别让人烦的就是特征工程。就算是一个已经梳理好数据的大数据比赛,在实际的处理过程中也要考虑如何把各表的数据进行拼接,找到合适的特征或让算法自己找到合适的特征。所以如何把相关的数据关联起来,也就是如何进行数据融合,就成了使用算法的一大前提和关键。当我看到知识图谱的构建有利于进行数据融合时,就立刻吸引了我的兴趣,但后来发现,它和我们机器学习中的所体现的特征连接有点不一样。

从多源数据的融合来说,主要有如下三种方式:

1、分阶段使用:这比较好理解,就是先使用某种数据,再使用某种数据;

2、利用特征拼接:大部分的机器学习算法都是这么做的,可以根据具体的情况增减特征数目;

3、基于语义信息的融合:通过本体之间的关系属性来体现语义信息的融合,这里面涉及到自然语言的处理、统计分析概率、语义网等。比如,“小红的爸爸(小明)”,“小红的妈妈的老公(小明)”这两句话中的爸爸和老公都是指的是同一个人小明,通过上下文分析、语义分析等就会获得这两人为同一个人的概率为100%。举个比较实际的知识库推理的例子,如下图

知识库中本来就有的语义信息有:<王教授, belongto ,男性疾病诊疗中心 >以及<王 教授 ,specializein,性病前列腺炎 >。但是,知识库中并没有 <王教授, specializein,急性前列腺 炎>,通过知识图谱的语义推理得到<王教授, specializein,急性前列腺炎>。

这里要说明的是,深度学习的本质其实也是一种重度、高通量的“语义”链接器,只是这里的“语义”是隐藏的语义,不易理解的语义。所以有人说深度学习是一台端到端传递信息的广义翻译机器。对于知识图谱和深度学习:深度学习是通过一个黑盒子来进行预测,人类不好理解;而知识图谱是通过语义分析来推理,人类好理解。融合知识图谱与深度学习,已然成为进一步提升深度学习效果的重要思路之一。以知识图谱为代表的符号主义,和以深度学习为代表的联结主义,日益脱离原先各自独立发展的轨道,走上协同并进的新道路。目前的几种交叉应用如下:

1、利用深度学习来构建知识图谱:利用深度学习来进行实体识别、关系识别等;

2、利用知识图谱来管理数据,深度学习来做特征工程;

3、用符号表达知识图谱,利用深度学习对符号化的知识图谱进行学习将知识图谱的语义信息输入到深度学习模型中,将离散化的知识表示为连续化的向量,从而使得知识图谱的先验知识能够称为深度学习的输入;

4、利用知识作为优化目标的约束,指导深度学习模型的学习过程,通常是将知识图谱中的知识表示为优化目标的后验正则项。

三、智能应用角度

知识图谱最早就是由Google应用到知识搜索中取的一个名字,以前都不叫知识图谱。对于知识图谱的行业应用,目前主要是以一些智能问答/聊天机器人/客服类、搜索类、企业智能类、医疗服务类、图书情报服务类、金融服务类等为主,在搜索上有谷歌、百度、搜狗等,在问答上有出门问问、启齿科技的客服机器人等,在决策支持上有Palantir、明略、智器云等,当然还有一些为知识图谱提供相关组件的语义分析公司,如达观科技、智言科技等。

在问答和搜索应用上,知识图谱可以使搜索以精准的结果呈现给你,而不是返回一堆相似的页面让你自己去筛选,达到“所答即所问”,比如,搜索姚明有多高,返回来的结果就是姚明具体的身高。

以前的搜索引擎返回来的基本都是已经在网页中写好的东西,比如姚明的身高,这些都是属于静态的结果。而利用知识图谱的推理功能,我们还可以获得动态的结果,在Wolfram|Alpha知识计算引擎中,我可以输入我们的数学题目,引擎可以直接给出答案,而这些答案显然并不是预先写好的。而在企业智能应用中,因为有了知识图谱,我可以关联相关的数据来探测异常、控制风险等。

之前看到有人说,作为人工智能的产品经理,不能不了解知识图谱。为何知识图谱在人工智能时代如此重要呢?这就要从知识图谱的相关技术实现来说了。知识图谱的构建主要包括知识获取、知识建模、知识存储、知识融合、知识计算、知识表现、知识应用等。其中知识获取、知识融合是较难的点,其中主要涉及到实体识别、实体链接等,而解决这些关键的前提就是NLP技术。我们知道人工智能技术主要包括图像识别、语音识别、语义识别等,其中图像识别、语音识别技术都取得了较大的突破,而语义识别还处于起步阶段,尤其是深度学习在NLP中的应用。很多人都说智能音箱可能成为下一个入口,如果要让智能音箱操作电器等,这里面除了要让音箱知道你说的是什么(利用语音识别),还要让音箱知道你说的是什么意思(利用语义识别),由此可见语义识别以及组织语义间关系的知识图谱的重要性。

对于知识图谱的理解、构建都是一个比较困难的过程,尤其是要理解知识图谱并把它应用到实际业务中去。

知识图谱的构建过程

1 知识图谱的总体构建思路

如下图所示,从原始的数据到形成知识图谱,经历了知识抽取、知识融合(实体对齐)、数据模型构建、质量评估等步骤。

原始数据分为结构化数据、半结构化数据和非结构化数据。采用不同方法将不同结构化形式的数据转换为三元组,然后对三元组的数据进行知识融合(主要是实体对齐,和数据模型进行结合),之后形成标准的数据表示。可以依据一定的推理规则发现新知识,形成的知识经过质量评估后进入知识图谱。依据知识图谱数据平台可构建语义搜索,智能问答,推荐等应用。

以下是知识图谱构建步骤的详细介绍。

2 知识抽取

2.1 结构化数据处理

普遍采用D2R技术把关系型数据库中的数据转换为RDF数据(linked data),D2R主要包括D2R Server,D2RQ Engine,D2RRQ Mapping语言。

D2R Server 是一个 HTTP Server,它的主要功能提供对RDF数据的查询访问接口,以供上层的RDF浏览器、SPARQL查询客户端以及传统的 HTML 浏览器调用。

D2RQ Engine的主要功能是使用一个可定制的 D2RQ Mapping 文件将关系型数据库中的数据换成 RDF 格式。D2RQ Engine 并没有将关系型数据库发布成真实的 RDF 数据,而是使用 D2RQ Mapping 文件将其映射成虚拟的 RDF 格式。该文件的作用是在访问关系型数据时将 RDF 数据的查询语言 SPARQL 转换为 RDB 数据的查询语言 SQL,并将 SQL 查询结果转换为 RDF 三元组或者 SPARQL 查询结果。D2RQ Engine 建立在 Jena(Jena 是一个创建 Semantic Web 应用的 Java 平台,它提供了基于 RDF,SPARQL 等的编程环境)的接口之上。

D2RQ Mapping语言的主要功能是定义将关系型数据转换成 RDF 格式的 Mapping 规则。

2.2 半结构化数据处理

半结构化数据是指那些具有一定的数据结构,但需要进一步提取整理的数据。比如百科的数据,网页中的数据等。对于这类数据,主要采用包装器的方式进行处理。

包装器是一个能够将数据从HTML网页中抽取出来,并且将它们还原为结构化的数据的软件程序。

对于有规律的页面,可使用正则表达式写出XPath和CSS选择器表达式来提取网页中的元素。但通用性很差,因此可通过包装器归纳这种基于有监督学习的方法,自动从标注好的训练样例集合中学习数据抽取规则,用于从其他相同标记或相同网页模板抽取目标数据。

2.3 非结构化数据处理

对于非结构化的文本数据,抽取的知识包括实体、关系、属性,对应的研究问题就有三个。

一是实体抽取,也称为命名实体识别,此处的实体包括概念、人物、组织、地名、时间等。

二是关系抽取,也就是实体和实体之间的关系,也是文本中的重要知识,需要采用一定的技术手段将关系信息提取出来。

三是属性抽取,也就是实体的属性信息,和关系比较类似,关系反映实体的外部联系,属性体现实体的内部特征。

非结构化数据的抽取问题,研究的人比较多,对于具体的语料环境,采取的技术也不尽相同。比如关系抽取,有的人采用深度学习的方法,将两个实体,它们的关系,以及出处的句子作为训练数据,训练出一个模型,然后对非结构化数据进行关系抽取。这是一种关系抽取的方法。还有人用句法依存特征,来获取关系,这种方法认为,实体和实体之间的关系可以组成主谓宾结构,在一个句子中,找出主谓关系和动宾关系,其中的谓词和动词如果是一个词,那么这个词就是一个关系。比如说“小明吃了一个苹果”,主谓关系是“小明吃”,动宾关系是“吃苹果”,那么就认为“吃”是一个关系。

当然,还有其它很多方法,可以在一定程度上实现实体抽取,关系抽取和属性抽取,效果可能会有差异,这需要在实践中测试和完善。

3 知识融合

知识融合就是将多个知识库中的知识进行整合,形成一个知识库的过程。在这个过程中,主要需要解决的问题就是实体对齐。不同的知识库,收集知识的侧重点不同,对于同一个实体,有知识库的可能侧重于其本身某个方面的描述,有的知识库可能侧重于描述实体与其它实体的关系,知识融合的目的就是将不同知识库对实体的描述进行整合,从而获得实体的完整描述。

比如,对于历史人物曹操的描述,在百度百科、互动百科、维基百科等不同的知识库中,描述有一些差别,曹操所属时代,百度百科为东汉,互动百科为东汉末年,维基百科为东汉末期;曹操的主要成就,百度百科为“实行屯田制,安抚流民消灭群雄,统一北方,奠定曹魏政权的基础,开创建安文学,提倡薄葬”,互动百科为“统一北方”,维基百科为“统一了东汉帝国核心地区”。

由此可以看出,不同的知识库对于同一个实体的描述有差异,所属时代的描述差别在于年代的具体程度,主要成就的差别的范围不同,等等。通过知识融合,可以将不同知识库中的知识进行互补融合,形成全面、准确、完整的实体描述。 知识融合过程中,主要涉及到的工作就是实体对齐,也包括关系对齐,属性对齐,可以通过相似度计算,聚合,聚类等技术来实现。

4 数据模型构建

知识图谱的数据整体上可以分为数据模型和具体数据,数据模型是知识图谱的数据组织框架,不同的知识图谱,会采用不同的数据模型。对于行业知识图谱来说,行业术语、行业数据都相对比较清晰,可以采用自顶向下的方式来建设知识图谱。先确定知识图谱的数据模型,然后根据数据模型约定的框架来补充数据,最后完成知识图谱的建设。数据模型的构建,一般都会找一个基础的参考模型,这个参考模型,可以参照行业的相关数据标准,整合标准中对数据的要求,慢慢形成一个基础的数据模型,再根据实际收集的数据情况,来完善数据模型。也可以从公共知识图谱数据模型中抽取,将与行业有关的数据模型从公共知识图谱数据模型中提取出来,然后结合行业知识进行完善。

5 知识推理

知识推理是根据已有的数据模型和数据,依据推理规则,获取新的知识或者结论,新的知识或结论应该是满足语义的。知识推理,依据描述逻辑系统实现。描述逻辑(Description Logic)是基于对象的知识表示的形式化,也叫概念表示语言或术语逻辑,是一阶谓词逻辑的一个可判定子集。

一个描述逻辑系统由四个基本部分组成:最基本的元素:概念、关系、个体;TBox术语集:概念术语的公理集合;Abox断言集:个体的断言集合;TBox 和 ABox上的推理机制。

描述逻辑涉及到的内容也比较多,此处举几个例子,比如实体的分类包含关系,一个电脑椅是椅子,椅子是家具,可以说,一个电脑椅是家具。常识规则的推理,一个男人的孩子是A,一个女人的孩子是A,可以知道,这个男人和女人是配偶。

通过推理发现新的知识,应用比较多,说明知识图谱的时候也经常不自觉的会应用推理,比如前两年比较受人关注的王宝强离婚案,为什么会聘用张起淮做律师,通过知识图谱可以很清楚知道,王宝强和冯小刚关系比较密切,冯小刚聘用张起淮作为律师顾问,所以王宝强很容易和张起淮建立关系,这也可以看作是知识推理的范畴。当然,更确切地说,应该是规则的范畴。推理更强调的是固有的逻辑,规则一般是和业务相关的自定义逻辑,但推理和规则都是通过逻辑准则,获取新的知识或发现。

6 质量评估

质量评估就是对最后的结果数据进行评估,将合格的数据放入知识图谱中。质量评估的方法,根据所构建的知识图谱的不同,对数据要求的差异而有所差别。总的目的是要获得合乎要求的知识图谱数据,要求的标准根据具体情况确定。比如对于公共领域的知识图谱,知识的获取采用了众包的方法,对于同一个知识点,可能会有很多人来完成,如果这个知识点只有一个答案,可以采用的一种策略是,将多人的标注结果进行比较,取投票多的结果作为最终的结果。当然,这是不严谨的,因为真理往往掌握在少数人的手里,特别是针对一些行业的知识图谱,表现尤为突出。行业内的一条知识,可能只有行业专家能够给出权威正确的答案,如果让大众投票来决定,可能会得到一条错误的知识。所以,针对行业知识图谱,可能会采用不同于公共知识图谱的策略,来进行知识的质量评估。

基于知识图谱的相关应用大致可以分为搜索、问答、决策、推荐等几种常见的类别,本文主要就年初规划的xx智能问答建设方案,介绍一下基于知识图谱的智能问答,主要分为如下几个方面:

1、人机对话体系结构

2、问答产品知识结构

3、典型的智能问答产品

4、智能问答的关键技术

5、基于知识图谱的智能问答

1、人机对话体系结构

心部分是对问题进行理解,并给出相应的答案,主要涉及到语言理解、语义搜索、知识图谱、情感分析、对话管理以及深度问答等。对于不同的问答系统可以对该体系中的相关部分进行增删和修改,或看成一个由简单到完善的发展过程。比如,对于xx问答系统,在初期阶段,可能做不到语音问答的形式,那么,重点就应该落在理解这个部分,以实现初步的文本识别、文本理解和文本回答。

2、问答产品知识结构

问答类产品的主要目标是输入问题,获得答案。从问题的类型上可以分为事实类/非事实类,不同类型的处理方式以及技术难度都存在一定差异。在问答形式上可以分为单轮问答、多轮以及聊天式的情感互动,其中单轮问答相对简单,多轮问答以及情感互动还处于较为初级的发展阶段。对于问答系统的实现方式也有多种,对技术需求也不尽相同,要根据具体的需求具体规划。

3、典型的智能问答产品

  • 苹果 Siri

Siri 作为 iPhone 4S 推出时的一个亮点特征,定位是语音个人助理。在推出之时,引起了极大的轰动。虽然这么多年 Siri 的技术也不断提升,但他更大的价值是作为聊天机器人之门开启的开门砖,教育了用户和市场。回到刚刚的分类,Siri 其实是一个面向特定任务的对话系统。对接了很多本地服务如通讯录、音乐播放等以及 Web 服务如订餐、订票和导航等功能服务。针对这些服务意图,他通过实体驱动的自然语言理解(Natural LanguageUnderstanding, NLU)来识别问句中涉及到的对象和相关服务,从而实现特定任务下的多轮功能交互。对于解决不了的问题,即服务意图范畴外的需求,则直接调用搜索引擎返回相关答案来返回。随后,Siri 的核心人员 Dag Kittlaus 和 Adam Cheyer 于 2016 年推出了 Viv。Viv 被认为是 Siri 的升级版,虽然其在多服务组合,服务编排等方面做了不少亮点工作,但背后的基本原理和定位和 Siri 无差异。

  • 微软小冰和小娜

微软针对娱乐化和工具化这两个截然不同的定位,分别推出了小冰和小娜(Cortana)。小娜,作为嵌入在 Windows 或 Windows Mobile 等微软操作系统内核的语音个人助理,承载着类似 Siri 或 Viv 的角色,它的目的是提升用户的工作效率,据说 Cortana 有 1.5 亿多用户,这也使得微软吸引到 Bengio 这样的大师作为顾问加入。另一方面,小冰是微软中国团队推出的娱乐聊天机器人。她的人设是一位 16 岁的少女。小冰是一个基于搜索的回复检索系统。通过各种基于深度学习的语义匹配算法,从海量的问答对语料中返回最佳的回复(Message response 而非 Answer)。小冰也会不定期推出新的技能供大家使用,这些技能往往包含了微软团队在图像理解、语音和自然语言理解方面的各种小应用尝试。更值得一提的是:微软针对日本、北美和欧洲等市场陆续推出了具有不同人设的少女如 Rinna、Tay和 Zo,她们往往可以方便的通过微信、微博或 Twitter 等平台进行交流。

  • IBM Watson 系统

Watson 系统是典型的问答系统,其由 IBM 研究院在 2011 年推出,参加美国知识竞赛Jeopardy!(危险边缘)并挑落人类冠军而名声大躁。相比 AlphaGo 或早年 IBM 研制的战胜卡斯帕罗夫的国际象棋人工智能程序深蓝,Watson 具有更清晰的商业路径。IBM 斥巨资成立医疗事业部,并与 MD Anderson 等知名医疗机构合作推出面对特定病种(尤其是癌症)的辅助诊断 AI 医生。与此同时,Ross Intelligence 依托 Watson 认知计算平台推出了法律咨询系统。回到技术层面,Watson 所用到的知识库是一个广义的知识库,不仅包含各种结构化知识、也包含各种文本语料和语言学知识。整个流程称为 Deep QA,包含问题分解、假设生成、基于证据的融合排序等关键步骤。这里的 Deep QA 并非指通过深度学习(Deep Learning)技术来提供问答。事实上,Watson 诞生于深度学习大热之前,这里的Deep 是指通过深度解析(Deep Parsing)来实现对问句的真正理解。

  • Facebook Messenger

Facebook Messenger 是一个庞大的 Bot 平台,有非常活跃的开发者群体,平台包含上万种 Bots。针对 Messenger,第一,它在 2014 年收购了 wit.ai。Wit.ai 类似于谷歌所收购的 api.ai,包含大量的行业相关或场景相关的对话。基于以上高质量海量的对话数据,Facebook 基于深度学习技术推出了一个用于自然语言处理的框架叫 DeepText,用于自然语言表示学习和各种分类等任务。有名的 Fast Text 也包含在内。Facebook 更是基于Deep Text 推出了 CLUE,进一步提高了其易用性。通过以上的数据和技术积累,Facebook就可快速构建一个端到端的 Chatbot 或者问答系统。此外,还有一点需要强调的是,我们可以发现 Facebook Bot 的很多应用场景涉及到购物、递送礼物、预约参观和安排旅程等非实时任务,即相对比较复杂,但不要求马上得到反馈。传统的做法是,通过指派一名客服来对接,提供进一步的服务。对于这些非实时任务,Facebook 结合机器返回的自动化推荐结果和人工的进一步编辑和审核来保证用户体验的同时也降低了纯人工对接存在效率低、工作量大等弊端。而这也是近期大家很推崇的人机融合,即赋予人工智能新的内涵:ArtificialIntelligence Human Intelligence(人类智能)=Augmented Intelligence(增强智能)。

  • 亚马逊Alexa

Alexa 作为亚马逊 Echo 智能音箱背后的 Bot 框架,通过 Skill Set 的形式不断扩展其功能,其内核是亚马逊在 2016 年底发布的 Lex,并对接专注图像识别的 Rekognition 和基于机器学习特别是深度学习技术的快速 TTS(文本到语音转换)。细心的观众会发现 Echo 音箱并没有提供任何屏幕,仅通过语音进行交互,依托 Amazon 的内容资源和电商购物优势提供各种智能交互。这种以语音为主的交互方式在家庭、车载等领域得到广泛关注和应用,由此也提出了 Voice UI 的概念。除了语义理解,这里需要强调的是:对于 Echo 音箱的交互,是采用远场(通常 3-5 米)沟通的。对于远场语音交互,目前远比近场通讯的难度大,涉及到声源定位、噪声(如回声、背景噪声、各种声波反射折射产生的混响)消除、人声分离、声音增强甚至是声纹识别等各种技术挑战。目前通用的做法是采用麦克风阵列 波束成形等方案,不过有很大的提升空间。不过智能音箱是否能在中国成为一个爆款,这个还是一个未知数,当然这里涉及到更多使用习惯、价格、内容质量等很多非技术因素的考量,在此就不做具体展开。

  • Google Assistant

从 Google Now 到 Google Assistant,谷歌一直没有停止过在语音个人助理方面的尝试。Allo是基于 Google Assistant 的新一代人工智能类微信 IM 应用。Allo 具有几个亮点:首先,其具备一定的自我学习能力。这里包括两方面的学习,一方面是学习用户的习惯,包括说话风格和交互模式。值得一提的是,Allo 的开发者也参与了 Gmail Smart Reply功能的开发,帮用户草拟回复的邮件。具体来说,根据邮件接收的对象、主题和关联的场景等,根据用户口吻来尽量完成要回复内容。另一方面也包括用户偏好的学习,这一点在推荐系统中是非常重要的,属于用户画像的学习。Allo 学习用户画像的低维稠密向量化表示(User Embedding)。将 User Embedding 加入 Chatbot 的回复生成解码模型中,将有助于回复的相对一致性和个性化。

  • 百度度秘

度秘(英文名:Duer)是百度出品的对话式人工智能秘书,2015年9月在百度世界大会中推出。它是基于DuerOS对话式人工智能系统,通过语音识别、自然语言处理和机器学习,用户可以使用语音、文字或图片,以一对一的形式与度秘进行沟通。目前DuerOS已经具备10大类目100多项能力,可以为不同行业的合作伙伴赋能,广泛支持手机、电视、音箱、汽车、机器人等多种硬件设备,实现语音控制、日常聊天、直接提供多种O2O服务等的智能化转变,被国内外同行称为“具有划时代意义的对话式人工智能操作系统”。依托于百度强大的搜索及智能交互技术,度秘可以在对话中清晰的理解用户的多种需求,进而在广泛索引真实世界的服务和信息的基础上,为用户提供各种优质服务。

  • 搜狗汪仔

搜狗汪仔机器人是搜狗公司打造的问答机器人,搜狗汪仔能听、会说、会看、会思考,代表了人工智能领域的前沿技术。搜狗汪仔背后依靠的是基于人工智能技术的搜狗立知问答系统。立知问答系统是搜狗搜索研发的面向未来的搜索技术,在理解用户的问题或信息需求后,利用海量网络信息及大规模知识库,直接给出答案,方便快捷,适用于多种交互方式。其背后蕴含语义分析、问题理解、信息抽取、知识图谱、信息检索、深度学习等众多技术。

  • 阿里小蜜

阿里小蜜是一个无线端多领域私人助理,依托于客户真实的需求,通过智能 人工的方式提供客户极致的购物体验服务,提升客户留存并创造价值。在跨终端、多场景领域支持多轮交互、多模式交互(文本、语音和图像)和问题推荐预测、支持多模型识别客户意图,基于客户需求的垂直领域(服务、导购、助手等)均通过智能 人工的方式提供客户极致的客户体验。

  • 科大讯飞灵犀

灵犀是中国移动和科大讯飞联合推出的智能语音助手,更是国内首款支持粤语的语音助手。灵犀既能语音打电话、发短信、查天气、搜航班,还能查话费、查流量、买彩票、订彩铃,还可以陪你语音闲聊讲笑话。

  • 其它

其它还包括叮咚智能音箱、小i机器人、海知智能的机器人等。这里的智能问答助手主要都是通过机器人、虚拟语音助手、音箱等形态来承接,并且具有多模态识别以及服务推荐、引导、聊天等功能,比一般的文本问答都更智能、更方便。

4、智能问答的关键技术

  • 智能问答系统的能力需求

根据AI应用能力框架,对于智能问答系统的能力需求,可以分为基础能力、业务积累以及智能技术三部分。其中基础能力主要是解决智能问答中的比较基础的、通用的、基础的能力如敏感词过滤、多种问法识别等;业务积累主要是指针对具体的问答领域,在业务上所需积累的经验,比如大致可以把问题分成几类,每种类型有哪些,一般采取什么样的回答方式等;智能技术主要是面对更高级的应用的技术,如怎样实现多轮对话、识别多种模态、动态载入等。

  • 智能问答系统的技术范围

目前国际上的智能问答技术主要采用检索技术、知识网络、深度学习这三大技术,当然,对于以上三种技术最后都需要应用在自然语言处理领域才能最终实现所需的功能。

  • 不同类别的问答系统

问答系统可分为面向任务、面向知识和面向聊天三类,从关键技术上分,还可以把其分成基于搜索技术的问答系统、基于协同的问答系统、基于知识库的问答系统。

面向任务的问答系统是一种闭域应用,通常使用基于规则的或基于模板的方法,并采用对话状态跟踪技术。在帮助服务中所使用的槽位填充方法,就是一种基于模板的方法。

面向知识的问答系统可用于闭域和开放域,通常使用以数据为驱动的信息检索模型。该类方法基于从问答知识库中查找与提问问题最匹配的知识。一份最新的研究工作尝试使用基于神经网络的方法实现问题间的匹配。最常用的一种方法是基于知识图谱与信息检索相结合的方法,检索知识图谱可给出高准确率的问答,并以信息检索为补充。

基于聊天的问答系统常用于开放域,使用方法包括信息检索和生成模型。

5、基于知识图谱的智能问答

对于知识图谱的构建需要从两个角度来进行抽象,一个是实体维度的挖掘,一个是短句维度进行挖掘,通过获取各种网上积累的大量数据,通过主题模型的方式进行挖掘、标注与清洗,再通过预设定好的关系进行实体之间关系的定义最终形成知识图谱,下表为知识图谱作为问答匹配的优缺点对比:

基于知识图谱的问答匹配

优点

  • 在对话结构和流程的设计中支持实体间的上下文会话识别与推理
  • 通常在一般型问答的准确率相对比较高(当然具备推理型场景的需要特殊的设计,会有些复杂)

缺点

  • 模型构建初期可能会存在数据的松散和覆盖率问题,导致匹配的覆盖率确实;
  • 对于知识图谱增量维护相比传统的QA Pair对知识的维护上的成本会更大一些;

对于知识图谱处理问答匹配的流程一般可以总结为如下图,主要包括8个过程:

  • 自然语言的输入:问题文本
  • 问题分类器:对输入的自然语言进行问题分类;
  • 问题分析:主要完成分词、词性标注、实体识别和实体消岐工作;
  • 语义槽提取:完成类别判别;
  • SPARQL抽取:主要完成构造SQPARQL模板工作;
  • 语义链接:主要解决语义槽中待链接的自然语言表达分别链接到<类别,资源,实体>对应的知识图谱中的URL上;
  • SAPQRL查询生成:查询生成模块以及问题类别,以及连接完成的实体,构造标准的SPARQL查询;
  • 结果生成:由SPARQL查询返回相应的结果,并转化成用户易于理解的形式;

基于知识图谱的智能问答,以上只是一种简单的实现方式,实际的情况远比这个要复杂,如果要达到比较好的智能问答效果,需要在语料库、技术架构、算法、业务理解等方面下功夫。这里借用电信业务场景的智能问答机器人的架构,简单展示一下具体的逻辑架构。

0 人点赞