智能问答从20世纪80年代的手柄/按键/遥控交互,到2007年iphone带来的触摸交互,再到2015年echo诞生带来的语音交互,可以发现,人机交互方式越来越接近以视觉+自然语言为主的人人交互方式(未来也可能是视觉、表情、手势等的隔空交互),人机交互不再是人服从机器,而是机器服从人。知识图谱在这些变革中也具有重要的应用场景,下面分两部分介绍:一是对话系统的基本框架介绍;二是知识图谱在智能问答中的应用。 3.1 关于对话系统从具体应用场景来看,当前对话系统解决的典型问题有三种:任务型Task、问答型QA、闲聊型Chat。 a. 任务型:主要目的是依照用户意图收集必要的信息以协助用户完成任务或操作
e.g. 帮我订一张从北京到广州的高铁票;帮我打开空调 b. 问答型:主要目的是检索并为用户提出的自然语言问题提供答案
e.g. 忘记密码怎么办?奥巴马出生在哪? c. 闲聊型:主要目的是满足用户的情感需求,拉近与用户的距离
e.g. 我今天心情不好、你太傻了
如果让我们来设计一个对话系统,通常需要考虑六大部分:
(1)“问答型”需求的答案是否都来自同类型的知识库?
在智能问答任务中,不同类型的问题通常需要基于不同类型的问答知识库生成答案。根据所使用问答知识库类型的不同,可分为四大类: a. 知识图谱问答:使用知识图谱作为问答知识库,问题的答案可以来自知识图谱的实体集合,也可以基于知识图谱推理出来的内容。 b. 表格问答:使用从互联网上抓取得到的表格集合作为问答知识库,问题的答案既可以是某个表格,也可以是基于表格推理得到的内容。 c. 文本问答:使用无结构文本作为问答知识库,问题的答案既可以是输入文本中的句子,也可以是输入文本中的单词或短语。前者对应答案句子选择任务,其核心目标是计算问题和答案句子候选之间的相关性;后者对应机器阅读理解任务,其核心目标是根据问题定位答案在输入文本中的起始和终止位置。 d. 社区问答:使用从社区问答网站上抓取的<问题,答案>对作为问答知识库,问题的答案来自于和输入问题语义最为匹配的已有问题对应的答案。该类任务的核心目标之一是计算问题和已有问题之间的相似度。 (2)什么场景下适合基于知识图谱对话?(参考段楠《智能对话》中对问题的分类) a. 事实类(factoid)问题
用户的问题通常比较客观,对应的答案是现实世界中的一个或多个实体,例如问题“金庸是哪里人”,对应的答案是地点类型实体“浙江嘉兴”。
b. 是非类(yes/no)问题
用户问题对应的答案是yes或no。例如问题“天空是红的吗”
c. 定义类(definition)问题
用户提问的模式相对固定,对应的答案是关于问题中提到的某个实体的术语解释,例如“谷歌知识图谱是什么”,对应的答案是“谷歌知识图谱”的术语解释。
d. 列表类(list)问题
用户问题对应的答案通常是一个集合,例如“list of highest mountains on earth”
others:
比较类、意见类和指导类问题,由于对应的答案较为主观,不适合基于知识图谱返回答案,而是通常基于来自问答社区网站的<问题,答案>对来进行解答。 e. 系统主动会话
还有一种场景,VUI(Voice User Interface)交互下,存在用户浏览内容的缺陷,使得产品的很多功能无法被用户感知。通过知识图谱,推荐相同实体下的其他关系/属性或者相同关系下的其他实体等,有助于引导用户发现产品功能or提高用户对产品智能化的感知。