二、知性会话基本概念及示例分析
我们做对话必须理解这几个概念——语义、语境、语用。特别是语境,它就是在对话时才有含义,语境就是指人和人发生对话时的一个具体环境,这个环境又包括言语语境,就是我们所说的上下文,还有很多非言语语境,如说话的时间、地点、天气都是非言语语境,还有说话人的信息等等,我们今天强调的知识也是一种重要的非言语语境。
假如用户说「太冷了」这三个字,语义是温度有点低,但如果考虑语用,这句话在特定语境下面传递的会话意义、真实含义: 如果在车里面开着空调,理解这句话的意思是把空调温度调高一点;如果是冬天没有开空调,这句话的意思可能是把车的暖气打开,或者把车的窗户关上;现在马上到秋天了,如果一个女孩子对你说「太冷了」,她的含义可能是想让你给她一个拥抱之类的。所以语境和语用是非常重要的概念,如果做人机对话系统,都会接触到这两个概念。
1. 人机(设备)对话系统下的语境
刚才是说人和人对话时,语境很关键,现在我们做人机对话系统,人和设备对话的时候有哪些语境呢?
1、物理语境。也就是你说话当时现场的信息,包括(1)时间、地点、场所,这个场所是指在车里或在家里等等。(2)天气。(3)情绪和情感。(4)设备上面显示的内容。(5)设备能感知到的信息,比如我们和空调对话,空调能够感知到室内外的温度、湿度。这个语境的生命周期是请求级的。
2、言语语境。(1)上下文,设备上和设备上面反馈的信息也是一种上下文,这个生命周期可以看成是会话级的。
3、知识语境。包括:
(1)人类的常识和领域知识。举个简单的例子,以前我们一句话叫「中国乒乓球队谁也赢不了」,还有「中国足球队也是谁也赢不了」,这两句话看起来字面是一样的,但人能够理解这两句话的差别,因为我们有常识是:中国足球队很弱,中国乒乓球队很强。所以知识对这句话的理解至关重要。
(2)用户画像,包括用户的一些基本信息,用户的性别、年龄、文化水平、爱好等等。(3)Agent 画像,就是这个机器人定义的信息,像小冰把它的 Agent 画像定义为一个 18 岁的邻家小妹。(4)设备信息库,如果把音箱作为中控的话,中控连接的设备信息、设备状态等都是语境。如果在家里对中控说「我回家了」这句话到底是什么含义?中控可能会根据你的设备状态、根据当前的环境情况,给你决定是开灯还是关灯,是给你开窗户还是拉窗帘等等。
2. 不要神话知识图谱
知识图谱的历史和概念大家已经比较理解了,我这里主要强调几个基本概念:最重要的知识图谱概念就是「Things,Not Strings」,知识图谱里面的东西都是一个个实体而不是字符串。
另外,我们也不要神化知识图谱,它其实只是一种知识的组织形式而已。因为不管做什么应用,在各种场景下都有知识,以前可能用其他方式来表示这个知识。在概念层,我们以前也接触过类似的东西,就像我们做关于数据库建模时用 ER 模型,它也是一种概念模型。我们写程序,做面向对象设计时会画些类图,这些都是概念模型,这些模型都可以很方便的转成知识图谱来表示。我认为知识图谱首先是知识的一种组织形式。在数据层,知识图谱是一种图模型,它是用节点、边来表达实体、值、关系和属性等。
3. 什么是知性会话?
什么叫知性会话?我这里举个例子,用户可能跟音箱聊天:「你喜欢谢霆锋?」「喜欢,他很酷」「你知道他女朋友是谁吗?」「王菲」「来一首她的《传奇》」这是一种操控,机器就会给你播放王菲的传奇,播放之后系统还可以接着问说「你还想听李键的原唱吗?」这是一种主动对话,用户说「好的」,系统可以播放李键的《传奇》,用户还可以问「他的音乐风格是什么样的?」系统说「李健的风格,有民谣的简洁,但比民谣华丽得多。」
你看这个例子的话,它涉及很多跟音乐相关的知识,还包括一些歌星的人物相关的知识。交互形式有聊天、问答、操控、主动对话,是通过知识把它们关联在一起,你会感觉整个对话是个很流畅的对话。
总结下来,知性会话的意思是:它以知识图谱为中心,通过实体发现与链接技术把各种各样可以用来作为对话的数据源融合在一起,实现跨领域、跨交互形式的多轮对话。
知性会话的主要特点有:一是跨领域,跨交互形式共享上下文,你可以看它的聊天和问答可以衔接在以前;二是它体现了领域专家的机器人定位,它对这些领域的知识非常了解,可以在聊天或者问答中体现出它掌握的领域知识。它有这方面的知识后,也可以主动发起一些对话。
知性会话的核心技术有:
- 离线处理,首先要有知识图谱,所以有一个知识图谱构建的问题。另外,我们要把各种跟对话相关的数据通过实体发现与链接技术跟知识图谱关联起来。
- 在线处理。基于知识做话语理解,怎么在聊天里把知识融合进去,还有基于知识图谱的问答,基于知识图谱的主动对话等。