2020版联想对话机器人白皮书.pdf
联 想 对话 机器人白皮 书 (2020 版 ) Confidential page 2 7/16/2020 目 录 第一章 对话机器人简介 . 3 1.1 对话机器人的概念及发展历程 . 3 1.2 对话机器人的关键技术 . 4 第二章 对话机器人的技术发展现状及趋势 . 6 2.1 核心技术发展现状 . 6 2.2 技术面临的挑战和发展趋势 . 10 第三章 联想对话机器人的特色及评价体系 . 11 3.1 联想对话机器人的技术特色 . 11 3.2 人机协同、互学互长的对话系统 . 16 3.3 对话机器人设计体验 . 18 3.4 工业级对话机器人的分级评价体系 . 22 第四章 对话机器人解决方案和应用场景 . 27 4.1 联想智能客服机器人应用 . 27 4.2 行业优秀案例 . 29 第五章 对话机器人的未来与展望 . 30 5.1 性能展望 . 30 5.2 应用展望 . 30 参考文献 . 35 Confidential page 3 7/16/2020 第一章 对话机器人简介 对话机器人也称作智能对话系统,是一种计算机与人用自然语言的方式进行沟通交流的人 工智能( Artificial Intelligence-AI)系统。随着语音技术、自然语言处理技术的发展,对话机器 人正在 广泛应用于社会生活 的方方面面。例如,医疗设备商使用对话机器人来帮助医生解释临床 测试结果;学校 应用 对话机器人 来帮助老师以个性化的方式 解 答 学生提问; 工业界 通过在 客服系 统中引入对话机器人来回复客户的多样 性 请求等。 未来, 对话 机器人将成为提 高 企业 运营效率 的 重要工具 。 作为联想智能转型战略的一部分 ,联想 人工智能实验室( AI Lab) 已经开发了多款对话机器 人, 目前 主要应用于智能客服 以及智慧办公等 领域。 联想的客服机器人 已在全球 60 个国家 和地 区 部署 使用,它 正在用客 户喜欢的方式 、 用 客 户的 母语 , 在 任何时间 、 任何地点为客户提供 产品 咨询 和 服务 。 联想的 智慧办公助手也在公司内部 的 行政、人事、财务等 部门 为全球数万名员工提 供服务。 1.1 对话机器人 的概念及发展历程 从图灵测试开始,人类就已经有了 让 计算机 与 人 进行语言交流的 构想。 早在 1970 年 维诺格 拉德( T.Winograd) 开发 的 SHRDLU1项目中, 当人与机器在 一个 虚拟 “ 积木世界 ” 中,运用 有限的词汇表进行对话时, 即已拉开了 对话机器人研究 的 序幕 。 进入本世纪,随着人工智能 在 自然语言处理领域的技术突破 ,对话机器人 的性能 有了 较大的 提高 , 比如 在 客服等一些 领域已经开始 获得商业成功 。 对话机器人采用的技术大致可分为两类:一类是基于规则的以人工书写的规则驱动型系统, 另一类是基于 机器学习 的数据驱动型系统。 早期成功的商业应用大都采用基于规则的方法。这类对话机器人 依赖人工制定的 规则去理 解语言和生成回答。虽然开发规则需要付出较大的代价 , 但 规则很容易被人解释和理解 , 规则 修 复 相对 容易,系统更新也很容易。 基于规则的对话机器人的局限性在于规则依赖专家编 写 、 跨领 域的扩展性不足 。 因此 , 基于规则的 对话机器人 适 用于一些 对话情景相对 狭小的领域。 与基于规则的系统不同,以深度学习为代表的数据驱动型 系统 从 数据 中 学习对话系统中的 所有 知识 。 随着 深度学习方法的应用,近年来 , 自然语言处理的整体性能 获得了 显著 提升 , 技术 的进步也带动了对话机器人的蓬勃发展 。采用深度学习技术的对话系统在学习能力和领域适应 能力上 远比 基于 规则驱动的系统 更加 强大, 它吸引了全世界范围内的巨大的研究和投资 兴趣。 虽 然 基于深度学习的对话机器人已经成为研究的主 流,但基于深度学习的系统也存在着明显的局 限,比如需要大数据支撑、 神经网络的学习 结果难以解释、系统漏洞难以修补、更新系统困难等。 Confidential page 4 7/16/2020 对话系统的 真实应用场景 不仅要求基于领域的自然语言理解,还要求正确的、持续更新的知 识 , 一个 成功 的商用对话机器人还需要根据业务场景设计 灵活 的 交互策略。所以目前真正商用的 对话机器人通常采用规则与数据相结合的技术路线 , 两种方法取长补短,达到性能最优 。 1.2 对话机器人的关键技术 对话机器人是一项融合了语音识别、自然语言处理、知识图谱、人机交互等诸多技术的人工 智能应用。图 1 所示为一个任务导向型对话机器人的对话过程 : 首先系统引导用户输入意图,然 后系统分析用户意图,通过用户和系统交互完善用户意图信息,最终完成具体任务。 为 了实现这 个过程 ,一个完整的智能对话系统需要具备自然语言理解、对话管理、自然语言生成和知识图谱 等关键技术。 图 1 智能对话系统 1 自然语言理解 对话机器人技术的核心是让机器人具备分析和理解对话信息的能力,这就是自然语言理解 的任务。 具体地説, 自然语言理解 ( Natural Language Understanding)的研究内容是 探索人 类自身语言能力和语言思维活动的本质 ,是 研究和模仿人类语言认知过程的一项技术 。 自然语言理解 是自然语言处理的一个重要方向 , 其 目的是 将文本数据转换为机器可处理的 语义表示。 在智能对话任务中 , 机器可处理的语义表示可细化为 用户意图识别 , 用户情感识别 , 指代消解 , 回复 确认 以 及拒识判断等子任务 。 ( 1) 用户意图识别 分为 显式意图 识别 和隐式意图 识别。 显式意图通常对应一个明确的需求 , 如用户输入 我想查询 Moto Z 手机的价格 , 明确表 明想要查 询商品价格的 意图 ; 隐式意图则较难判断 , 如 我 晕 , 表示 可能想 看病 , 也 可能 太累了 想要休息 。 ( 2) 用户情感识别 同样分为 显式和隐式两种 , 如 “ 我今天心情不好 ” 明确 表明 心情 ; 如 “ 我想 出去走走 ” 则不太容易判断用户情感 。 ( 3) 指代消解和省略恢复 ,在 对话的双方具备 对话 主题背景一致的前提 下 , 用户通常使用代词来指代上文中的某个事物或某件事情 , 或 干脆省 略一部分句子 。机器需要结合上下文明确识别代词的指代关系以及句子的省略 成分 , 以便 正确理 解用户的输入 。 ( 4) 回复确认 , 用户意图有时会带有一定的模糊性 , 这时需要系统具有主动询 Confidential page 5 7/16/2020 问的功能 , 进而对模糊的意图进行确认 , 即回复确认 。 ( 5) 拒识判断 ,对话机器人需要 具备一 定的拒识能力 , 主动拒绝识别超出自身回复范围或涉及敏感话题的用户输入 。 2 对话管理 对话管理( Dialog Manager 或者 Dialog Management), 是对话机器人区别于 问答系统 的核心步骤。对话管理 主要 用于协调对话 机器人的各个部分 , 维护 对话的状态 。 主要负责根据用 户当前的输入以及对话上下文,决定系统下一步的最佳响应,保证对话持续进行。 对话管理 包括 对话行为识别 , 对话状态识别 , 对话策略学习等 。 ( 1) 对话行为识别 , 对话行为是预先定义或 者动态生成 的对话意图的 抽象表示 。 ( 2) 对话状态识别 与 对话的时序及对话行为相关联 。 在某 一时刻的对话行为序列为该时刻的对话状态 , 因此对话状态的转移由前一时刻的对话状态与当 前时刻的对话行为决定 。 ( 3) 对话策略学习 ,指从对话数据中学习对话的行为 、 状态 、 流畅 度 等 , 从而指导人 机对话的过程,实现自然、友好、流畅的对话 。 3 自然语言生成 自然语言生成( Natural Language Generation)的主要目的能够用汉语、英语等人类语言 生成计算机的输出结果。在智能对话系统中,自然语言生成的任务是 根据对话管理 识别的对话状 态,生成给用户的回复。 它 包括两部分:内容选择和内容描述。其中,内容选择由对话管理部分 决定,而内容描述则取决于自然语言生成模块。 传统上,自然语言生成可分解为六个核心步骤: 内容确定( Content Determination)、文本结构( Text Structuring)、句子聚合( Sentence Aggregation) 、词汇化( Lexicalization)、引用表达式生成( Referring Expression Generation)、 语言实现( Linguistic Realization)。具体到一轮对话中看这些问题:首先需要确定哪些与用户 意图和系统响应相关的关键信息应该包含在正在传递给用户的文本中,然后合理的组织文本顺 序,确定多个信息合并到一个句子里呈现是否更加流畅,更易于阅读,接下来根据语境和对话领 域,通过基于人工挖掘或定义的模板,或者借助特定的形式语言技术来选择正确的单词和短语来 表达信息,最终将 前述 步骤的结果组合起来按照符合人类表达习惯的方式转换为自然语言语句。 4 知识图谱 “ 没有知识的 AI 不是 AI” 2, 知识图谱 (Knowledge Graph)作为描述自然知识和社会知识 的重要载体, 用来帮助对话机器人进行记忆、联想和推理,它 构成了对话机器人的大脑 。 知识图 谱的构建过程是一个从数据到信息到知识再到智慧的不断凝练的过程,其 任务包括:知识建模、 知识获取与整合与知识服务。 知识图谱 在对话系统中的任务是 在对话过程中为用户提供个性化 知识服务,为用户提供精确的答案 ,帮助对话系统解决复杂的推理问题 。自然语言理解、对话管 理和自然语言生成模块 都会 与知识图谱进行交互,检索相关的知识点,进而推理,最终分析出用 户的意图,生成正确的回复。 Confidential page 6 7/16/2020 第二章 对话机器人的 技术 发展现状及趋势 2.1 核心 技术发展现状 任务导向型 对话机器人的目标是让 对话机器人可以理解来自用户的输入信息以及系统的内 部信息,从而生成有效的、解决目标任务的正确回复 。对话机器人的关键技术 都围绕着这一目标 展开和 发展 。 自然语言理解 在对话系统中,自然语言理解将非结构化的文本经过 算法 转换为结构化的语义表示,从而能 被对话管理 、 自然语言生成、知识图谱等其它模块使用和处理 。 对话系统中的自然语言理解部分往往由多个模块组成,这些模块包括用户意图识别,用户情 感识别, 命名实体识别 , 指代消解,省略补全,回复确认以及拒识判断等 。 意图识别 和 用户情感识别 可以采用 文本分类 方法求解 。自 2013 年 Word2Vec 出现以来, 词嵌入方法 普遍应用于 文本分类 任务 3 4,目前词嵌入 与 SVM、 Random Forest 等 结合 ,或 者与 深度学习模型 LSTM、 RNN、 CNN、 TextCNN 等结合做分类任务,效果 最 好 。 在命名实体识别方面,采用 深度学习 结合 CRF 的做法较为常见。 2017 年 transformer5架构,以及 次年 的 GPT6、 BERT7等 架构出现以后, 大规模文本预 训练 +微调( fine tuning) 的架构 成为文本分类、命名实体识别等任务 采用 的标准范式。 目前对 话机器人中的意图理解通常采用 BERT 及其后续模型进行微调。 后续 DistilBERT8、 ALBERT9在模型蒸馏、压缩、量化方面 , XLM-R10在 跨语言 方面 取得 了一定的进展, 这些模型在自然语言理解任务中也有应用。 自然语言理解经历了基于经验的规则表示,基于统计的机器学习模型到当下的深度学习模 型等不同阶段。在实际对话系统中,往往要针对不同的客观条件使用不同的自然语言处理方法, 或者将多个方法结合使用。 总体而言, 对话机器人 在 早期语料较少的情况下,使用 基于 规则 的自然语言理解策略实现快 速 上线,可以保证较高的精确率( precision),当语料积累到一定量后,替换为使用线上语料微 调后的预训练模型是较为通用的做法。 对话管理 对话管理主要职责是根据用户当前的输入以及对话上下文,决定系统下一步的最佳响应,保 证对话持续进行。目前,从应用的角度来看,对话系统分为任务型对话系统和非任务型对话系统 11,本文以完成用户的目标为主要职责 的任务型对话系统 。 任务型对话管理主要包括两大类方法,一类是基于规则的方法,一类是基于统计学习的数据 Confidential page 7 7/16/2020 驱动的方法。 在基于规则的方法中,基于有限状态机( FSM)的方法是比较常用的一种方法 12,该方法把 对话过程看成是自动状态的转移过程,主要工作是设计自动机的状态和状态转移条件 13。该方 法的特点是需要人为 定义对话流程,适用于比较简单的任务,扩展也比较困难。 另外一种基于规则的方法是 Frame-based 的方法 14,15,该方法是对基于 FSM 方法的扩展, 它将对话建模成填槽的过程,这里的槽是指多轮对话过程中将不明确的用户意图转化成明确的 用户意图所需要补充的信息。 Frame-based 的方法特点是语义表达更丰富,输入也相对更灵活, 但是 仍然 无法应对复杂流程的处理。卡内基梅隆大学的 Dan Bohus 等 16对基于 Frame 的方法 进行了改进,提出 Agenda 加 Frame 的方法,使其具有了层次结构,支持话题的切换,回退及 退出。 以上这些方法共性的问题是可扩展性的问题。 第二大类是基于 机器 学习的数据驱动方法,主要为 了 解 决可扩展问题 。在 这 类 方法中, 有两 种方法比较具有代表性,一类是基于分类的方法,另一类是基于强化学习的方法。 第一种方法是基于分类的方法,这种方法将 “ 系统的最佳响应 ” 问题看成是一个序列文本 的分类问题。最典型的一个工作是来自 Jason D. Williams 提出的 Hybrid code network 17 用 到了会话实体、响应掩码( action mask)、会话 内容的向量嵌入、会话词袋向量、上一个时刻调 用其他应用诸如知识、企业服务等得到的结果、上一时刻系统响应等组成当前时刻会话的特征进 行建模,巧妙地转换成了分类的问题。 第二种方法是基于强化学习的方法。目前我们所讨论的对话管理的各种方法,最终都会聚焦 到如何选择 “ 最佳响应 ” 给予用户,或者说如何选择一个最佳的对话策略回应用户。而目前比较 流行的一种策略学习方法是把人机交互看做是马尔科夫决策的过程( MDP/POMDP),最后通过 强化学习来解决决策过程的优化问题 18。然而这个方法的特点是需要大量的人工 标注 ,而且复 杂度很高 ,即使中小型规模,其涉及的状态、行为和观察值很容易达到 10 的 10 次方量级。 基于数据驱动的方法,需要大量的 标注 语料,通常标注的难度也非常高,质量很难得到保障; 在实际应用中,会面临缺乏 标注 语料的 问题 ;面对新领域 时 , 还 会面临数据来源匮乏的问题 19。 实践中,只靠数据驱动而脱离人工设计往往并不现实,两个方法可以相互弥补自身缺点,因 此有不少研究者采用 Hybrid 的方式开发对话管理,比如 前文 提到的 Hybrid Code Network 17 可以让开发者在端到端的 RNN 架构中添加领域相关的逻辑。另外还 有一类比较 重要的方法是 基于端到端的解决方案 20,把自然语言理解和对话管理融合起来进行,这里不再详细叙述。 Confidential page 8 7/16/2020 自然语言生成 在人机对话场景中,语言生成的任务是将系统的响应转化为符合人类语言习惯的自然语言 语句回复给用户。依照文本生成的复杂程度,可以将自然语言生成技术分为 5 个等级, 虽然 这些 等级的定义仍然不够明确,并且 边界比较 模糊 21 ,但已经能够看到明显的区别。 等级 1:简单的填槽系统,即通过将变化的关键信息填充到预先写好的模板中,如 MS Word 中集成的 Mail Merge 功能 22。这种方式可以满足很多应用的需求,但是对于改变书写的表达 方式和条件的支持非常有限。 等级 2:以脚本或规则生成文本,即在 Level 1 的基础上加入编程结构,支持复杂条件、循 环、访问代码库等,如基于 JAVA 的模板引擎 Apache Velocity23。这显然是一种更明智更强大 的方法,但是由于缺乏语言能力,需要大量的编程实现,建立系统的人工成本非常高昂。 等级 3:词语级别的语法功能实现,即在 Level 2 的基础上以语法功能解决形态学(如 child 的复数形式为 children 而不是 childs)和形态音位学 ( 如 选择 a 和 an)等问题。这种方式减轻 了人工编程的成本,更易于产生语法正确的文本,但是这 仅 局限在词语级别。 等级 4:动态生成完整的句子,即系统可以根据其所需的语言结构 、 所要表达的意思动态地 创建句子。以这种方式动态地创建句子意味着系统可以在不同情况下产生不一样的结果,而不需 要开发人员为每种情况显式地编写代码,同时系统可以用多种方式在语言上优化句子,包括引用、 聚合和排序。 等级 4 的系统已经可以产生高质量的句子,但还缺乏对整篇文档的宏观把控。 等级 5:动态生成完整的文档,即系统生成的文档内容对读者是相关且有意义的,并且具有 良好的行文结构。 深度神经网络技术为 自然语言生成 带来的变革是序列预测算法( Sequence-to-Sequence) 。 它 依据从大量语料中习得的 “ 语言能力 ” 来进行对话构建 , 可以不依赖于特定的流程或模板, 实 现 等级 4 及更高级别的文本生成系统。这类方法最大的优势是利用 神经网络 强大的 学习 能力自 动从海量的数据源中归纳、抽取对解决问题有价值的知识和特征,从而规避人为特征工程所带来 的不确定性和繁重的工作量 24。通过大规模、高质量文本预训练的语言模型能够学习到很多通 用的语言信息,并具有很强的泛化能力,但在文本生成方向的可控制能力上还有待进一步优化提 高。 2019 年开始,以 GPT2.025为代表的大规模深度学习模型在各类生成式任务中所生成的文 本,其上下文连贯性和情感表达都超过了人们的预期,这证明了这种采取深层 Transformer 训 练得到的无监督语言模型能够 习得 通用语言 知识 ,进而在下游任务上以端到端的形式解决自然 语言生成中大部分问题 。 继续加大模型规模以获取更强的语言能力,和内容可控制的语言生成技 术则成为了接下来 的发展趋势。 Confidential page 9 7/16/2020 知识图谱 知识图谱 用来帮助对话机器人实现认知交互 。 知识图谱技术 包括 :知识图谱构建、知识图谱 查询和推理。 其中 知识图谱构建是核心 和 基础。 知识图谱构建 包括本体构建和知识收集。 首先是 本体构建 即知识的建模 。 本体 具有很高的抽 象性和概括性,高质量的知识 本体 一般通过人工构建。随着知识需求的增长,例如需要建模时间 和空间信息、需要建模复杂的且有关联的多事实组合信息等, 目前 逐步 出现了一些能 够描述时空、 事件等信息的 人工构建的 知识框架 26,27。例如, YAGO2 通过 把 事 件 表示为五元组形式来记录事 件出现 的起止时间和空间信息 ; Freebase 通过定义组合数据类型 (Compound Value Types), 描述时空、事件信息,用语义框架的形式描述 N 元关系 28。此外, 如何 自动地从数据中学习 本 体 也是一 个研究热点 。 本体构建后 ,就可以在本体的指导下开始知识的收集、整理和整合 ,构建 知识 图谱 。 知识需 要从 非结构化 和结构化数据中抽取出来。非结构化 数据 中的知识 ,例如文本数据, 需要利用多种 自然语言 处理 工具 将知识从文本中识别和抽取出来; 对于结构化 数据 中的知识 需要 与本体进行 知识校准, 通过 分析 结构数据中 蕴含的语义信息,并将其映射到 本体 的相应部分 29,30。 知识 图谱构建的关键模块 有 命名实体识别 、 实体链接 和关系识别。 命名实体识别有基于规则 的方法、基于特征机器学习的方法以及基于神经网络的方法。在基于规则的方法中,最有代表性 的方法是基于词典的方法,采用字符串完全匹配或部分匹配的方式,从文本中找到与词典中最相 似的单词或短语 31。基于特征的机器学习方法是比较常用的,包括语言模型 32、隐马尔可夫模 型 33、最大熵模型 34、决策树方法 35、 CoBoost36等 ,基于神经网络方法比较常用的是 长短记 忆网络和条件随机场相结合的方法 (LSTM+CRF)37; 实体链接是指将实体链接到知识图谱中特 定的实体,主要 采用 基于向量空间的模型 38,主题一致性的模型 39,协同实体的模型,以及基 于神经网络的方法 40等。关系抽取主要有基于模板的抽取和基于机器学习的关系抽取。所谓基 于模板,指当一个句子中所出现的实体指称的上下文文本满足模板时,就可以认为这两个实体在 这个句子中具有特定的关系。已有的方法多采用自提升 (Bootstrapping)策略,对于实体和模板 进行迭代式地交替抽取和学习。基于机器学习 的关系 抽取 , 包括基于核函数的方法 41,以及基于 神经网络的方法 42和 弱监督 关系抽取( 也称 远监督 Distant Supervision 关系抽取 ) 43。 在对话系统中认知交互主要采用知识查询的方式,有 两种类型 的知识查询: 一种 是 语义解析 型,把自然语言问句自动地转化为结构化的查询语句,直接通过检索知识图谱得到精确答案 ; 另 一种是搜索排序型 , 首先可以通过搜索与实体有路径 关联 的实体作为候选答案,然后 通过 从问句 和候选答案提取出来的特征进行比对,进而对候选答案进行排序得到最优答案。 Confidential page 10 7/16/2020 2.2 技术面临的挑战和 发展趋势 作为一种自然语言处理的应用,在 技术上 自然语言处理面临的挑战也是对话系统 面临的挑 战 。主要 包括: 低资源下的学习;知识的表示与获取;知识的利用与推理;机器学习的可解释等。 低资源困扰着数据驱动的对话系统,在 跨领域、跨语言的场景下, 当 缺少目标领域 或目标语 言语料的情况下,如何快速高效地进行自然语言理解和生成; 如何 在缺少 资源 的情况下,借助 迁移学习、零 /单 /少样本学习、远监督 /弱监督学习、对抗学习等技术完成复杂的 理解和 生成 ; 如何开发适应性更强的对话管理平台 使系统 能够从当前领域,快速移植到新的领域,而又尽可能 不增加 或少增加资源需求,这些仍是尚待解决的问题。 对话系统的智能需要专业知识和常识的支撑,在对话系统中如何表示知识,构建知识图谱是 需要解决的问题。知识图谱的构建离不开人工,在实际项目中如何控制成本,如何获取常识和隐 性知识 ; 知识构建后,如何更新、如何保证知识的质量 ; 当用户的输入是多模态的情景时,用户 的语音、图片、视频信息如何进行语义表示,如何整合 , 这些问题是每一位构建实用对话系统的 研发人员都需面临的挑战。 对话系统需要解决复杂的推理问题,包括常识推理,才能达到更加具有 “智慧” 的对话。在 自然语言理解阶段如何引入 知识,如何利用常识与推理达到真正的理解;在对话管理阶段,如何 综合利用常识、上下文和 领域知识 ,灵活应对用户的各种需求 ;在语言生成阶段, 产生带有情感 反馈且符合社会认知的个性化语句,最终给出最佳的响应 等等都是非常具有挑战的课题。 对话系统还需要能够解释自己的行为。比如 在法 律 、医疗等领域,对 话 系统提供的答案, 既 要 准确, 也需要 回复可解释,这样才能 使 用户理解 并接受 系统的回复。 对于基于统计或深度神经 网络构建的对话系统,如何用人类接受的方式解释模型的结果是一个开放问题。 如何构建更合理的、可量化的对话系统评价体系,包括自然 语言理解的评价、自然语言生成 的评价以及对话自然度、用户体验等的评价,都值得深入研究。 此外,对话过程中可能涉及用户隐私,数据或知识中也可能存在偏见。随着对话机器人出现 在人类生活的方方面面,这些问题也需要引起重视。如何构建有知识、有道德、遵守社会规范的 对话机器人是一项巨大挑战。 人工智能的技术在推进,智能对话的商业应用在迅速扩大,万物可交流的诱惑也在不断地增 大。尽管智能对话系统面临着各种技术挑战,还存在着诸多未解决的问题,对话机器人在社会生 活中越来越重要的趋势是毋庸置疑的。未来对话机器人将在与人的交流中主 动学习;将能够据有 常识,并借助常识和知识推理 更加有效地理解语言和 对话场景;对话系统能够自我解释;对话系 统能够在考虑对话方社会、文化等背景的情况下,生成更灵活更自然的回复。 Confidential page 11 7/16/2020 第三章 联想 对话机器人 的 特色及评价体系 3.1 联想对话机器人的 技术 特色 作为联想智能转型战略的一部分,联想已经开发了多款对话机器人。 在技术 定位 上, 联想的 对话机器人本着务实的原则,以技术落地为基础,在实践 中 总结和创新。联想的对话 机器人 既 使 用规则方法也采用统计方法。在自然语言理解任务上,采用深度学习方法实现细粒度情感识别、 用户问题类型识别、用户焦点识别、用户行为识别等自然语言多维度的精细理解。在对话管理上 融合了规则驱动 以及机器学习 方法,构建支持快速部署以及线上热更新的规则引擎,实现了立即 修改立即 上线 ,让技术真正落地。 联想的对话机器人 在技术上 有如下特色: 1) 支持 多语言、细粒度、 跨 领域 的 自然语言理解 , 在语料缺乏情况下 快速达到上线要求 自然语言理解 引擎 的 功能 , 如图 2 所示 ,具体的技术特点 如下 : 图 2 多任务、多语言、跨领域的自然语言理解 - 多语言 方面, 目前支持中文 /英文 /葡萄牙 /西班牙 /日文 /印地语 /德语 /法语 /意大利语 / 马来 语 10 种语言,还在持续增加语种。 - 细粒度方面,在用户意图识别、情感识别、用户问题类型识别、用户焦点识别、用户行 为识别、用户问题域分类等多项理解上实现高精度的理解 。 - 跨领域 、跨语言 方面,通过 迁移学习技术,解决数据缺乏 问题 ,实现冷启动。 在 缺 少领 域训练 数据 时,自然语言理解引擎采用 通用领域 数据和 预训练模型 构建初始模型 , 再 结合业务领 域的少量标注数据进行精调。 为提高多语言理解能力, 采用 跨语言迁移学习技术,将高理解率地 区(语言)的业务知识迁移至其他语言 。通过迁移学习技术 , 自然语言理解引擎 为零标注语料的 业务场景提供冷启动方案,并在少量语料支持下 可达到较高的理解水平。 Confidential page 12 7/16/2020 - 在 应对上线运行 时的紧急需求 方面 , 自然语言理解引擎 开发了 面向关键词、正则的规 则引擎模块,通过规则配置便可以实现对话机器人的 快速 理解 能力, 并基 于词向量对规则进行了 泛化 ,提高规则适用性 。 2) 独创的高效可配置的网络驱动的对话管理平台,汲取基于规则及基 于端到端的解决方 案优势,做到流畅、可配置、可扩展的对话管理 , 如图 3 所示 。 图 3 DM 框架和特色 - 基于多层状态机的对话管理,采用基于语义框( Semantic Frame)的设计,把对话建 模成填槽和补全信息的过程。这里采用两层状态机来维护对话流程的运转,第一层是会话主线管 理层,第二层是子流程。流程构建的基本单元是各种基础组件。这些组件来自对各种问题解决方 案流程的抽象。抽象出的基础组件可以拼装成各种新问题的解决方案的流程。如图 3 所示这些 通过组件组成的流程是可编辑的。对话流程的双层结构以及流程本身的可编辑性,可以保证对话 管理能够处理多流程嵌套的问题。同时,为了能够应用端到端方案带来的优势,首先我们根据客 户 服务中发生的主要会话,建立用户行为对话策略机制,保证用户的任何行 为都有相对应的 Bot 回复策略。这里的用户行为包括问题 询问 、确认 /拒绝反馈等已知的各种行为; Bot 回复策略则 由相应的 Bot 行为构成。 “ 用户行为 ” 和 “Bot 行为 ” 构成了用户和 Bot 两套行为框架 ,从而 可 应对用户的各种对话行为 。此外,我们采用策略可插拔的方式,保证策略可以随时更新和替换。 3) 分层设计的自然语言生成策略,面向情景生成个性化答案 联想的自然语言生成系统针对智能对话任务的复杂性采用分层设计,结合脚本规则、语法规 则和深度学习技术,实现精细的生成工作。 如图 4 所示。 Confidential page 13 7/16/2020 图 4 NLG 框架和特点 - 联想 的自然语言生成过程 分为 4 个步骤,首先对数据输入进行分析和解释,输入的类 型包括用户输入、自然语言分析结果、系统行为和答案知识,其中关键的信息将被解析并提取出 来;然后在知识库中查找相关的用户画像、话术模板、语言知识和常识信息,并根据分析结果制 定个性化生成策略;接下来进入结构设计和词语选择,根据策略分解得到精细的子任务,并依次 调用技能模块实现,获得完整的文档;最终根据客户端要求形成不同展示形式。系统实现分为三 层 ,见图 4 左上方。其中 服务 层负责输入解析、生成策略制定和结果封装; 引擎 层根据策略设计 文档及句子结构,产生文 本结果; 模块 层则专注于具体任务的完成,比如根据语法功能选择正确 的词汇。 - 联想的自然语言生成系统支持 10 种语言,支持富文本、语音、视频等多媒体答案输出, 提供完善的 RESTful API,通过动态灵活的数据存储结构有效减少数据维护成本与服务复制成本, 结合用户体验策略,通过系统行为聚合的方式使复杂场景下的答复更加自然,并且在定义领域之 外的问题上自动产生语法正确且内容基本可控的回答。 4) 人机结合的知识图谱构建 与更新 ,用系统化的思路构建知识图谱 实用的对话系统需要大规模完备的知识图谱,其构建面临成本、效率等多方面的挑战。联想 的知识图谱在构建和使用上采用人机结合的方式,用工程化的思路,综合利用来自知识表示、自 然语言处理、运维迭代等多种技术,用系统化的思路做到了知识图谱的低成本、高效构建。联想 的人机结合知识图谱构建与更新模式如图 5 所示。 Confidential page 14 7/16/2020 图 5 人机结合的知识图谱构建与更新 -知识图谱构建采用 人机结合, 线下 、线上无缝衔接的模式。线下 构建 初始图谱,线上 进行 知识的 完善 和 更新。在线下,利用 自然语言处理和机器学习 技术从大量文本 内容中 提取实体和关 系 ,构建初始知识图谱 。 同时利用实体链接技术整合我们已有的知识图谱资源 和外部资源 。在线 上 ,将 知识的 完善、 更新与线上 运维无缝 结合。 在实际 系统 迭代过程中, 以线下构建的知识图谱 为基础 , 持续收集 人 工系统的对话内容 作为 知识完善和更新的原始素材。 原始素材经过实体识别、 关系识别 、实体链接和人工检验加入已有的知识图谱中,在不断的迭代中累积知识、更新知识。 -为了正确回答用户问题, 对话机器人 对知识的时效性有要求。 联想 的知识图谱 设计了知识 使用寿命管理功能。 从 知识的 生效周期和置信度两个角度对知识时效性进行了定义 。 知识的更新 方面 我们区分了时事类知识与常识类知识,并采取不同的知识收集和更新策略。此外我们 还设计 了事件触发机制,建立事件与知识之间的关联,对与事件关联的知识进行检查更新,以增强知识 图谱的宏观一致性和准确性。 5) 工厂 化的 生产与 优化 平台 ,实现对话机器人 的 批量 生产 为 了 批量 生产用户满意的对话机器人,我们构建了对话机器人的生产平台 Scello ( Scalable Creator and Effective Launcher of Lenovo Bot) 和优 化平台 Pranbo (Improving the Performance of Bot), 如图 6 所示。 图 6 对话机器人生产与优化中心 Confidential page 15 7/16/2020 Scello 平台 的生产过程与客户下订单订购汽车或服装的过程类似 , 在 客户端 , Scello 负责 收集和确认用户需求,包括确认 业务 中涉及的概念体系 ,业务答案内容,业务支持渠道,业务需 要集成的 IT 系统 等, Scello 可为用户 提供高度定制化服务; 在 生产端 , Scello 将 业务 需求转变 为 Bot 的设计蓝图,形成明确的 生产说明书,生产说明书将 自动映射 为 生产流程,形成对应的任 务,比如语料生产任务, NLU 理解模型,前端适配 等, Scello 为 Bot 的工厂化生产 提供流程化, 自动化,成熟度和进度管理, 以工厂化的设计实现对话机器人的批量生产。 Scello 为 对话机器人的高效 生产提供统一的工具集支撑,如:应用的配置中心,业务数据的 发布平台,模型的训练平台,语料的标注平台, DevOps 等等。同时, Scello 也清晰地定义用户 角色和权限,提供用户任务视图和消息中心。方便研发人员聚焦自己的工作,也为项目管理人员 提供生产进度图, 机器人 成熟度趋势图,了解生产任务耗时较多之处,便于改进生产方式,提升 生产效能。 初期 上线 的对话机器人如新人 初入职场, 离实际业务需要 仍 存在 差距 , 需要基于 实际上线运 营 收集到的信息 进行 系统 优化 , 最终做到用户满意 。 为此, 我们构建了 Pranbo 平台, 通过实际 运营过程中的数据分析,发现问题, 调整优化对话系统,实现 Bot 的最终交付。 如图 7 所示。 Pranbo 借助内置的多种运营分析模型,通过分析 解决率,用户满意度和转人工功率 这三个 关键业务指标,发现对话机器人存在的问题,也 帮助客户快速定位需求 。通过优化的领域意图、 知识图谱和业务流程,并由标准化的运维 SOP 和自动化的运维工具驱动解决问题过程,大大提 升 Bot 运维效率和效果。 经过 在 运营 过程中的优化迭代,最终交付给用户 满足业务指标 、符合要 求的系统 。 通过这种自动化、数据化的生产和优化 ,联想对话机器人 实现 了 大规模生产 ,实现 了从 业务 需求 到 上线实用的 Bot 的转化。 图 7 对话机器人运营中心 Confidential page 16 7/16/2020 6) 敏感数据处理 随着对话机器人出现 并参与到 人类生活的方方面面,对话过程中可能会涉及敏感数据。 联想 的对话机器人作为一款企业 应用,在技术上联想的对话机器人 对敏感信息的处理遵循 如下 策略 / 约定 , 努力 妥善 保护用户的隐私 : 原则上对敏感信息不做持久化存储,比如信息抽取,搜集,存 储等 ; 必要存储的信息做脱敏处理,比如 哈希变换,或添加掩码,使信息不可识别 ; 涉及敏感信 息的传输通道 必须加密,比如使用 https, tls 等加密传输协议 ; 定期审计各个模块对敏感信息的 处理结果,确保合规。 3.2 人机协同 、互学互长 的对话 系统 人机交互是一门研究 人、计算机以及它们之间相互作用方式的学科 。在联想的对话机器人中 引入人机交互技术的目的是使对话机器人更好 地 为用户服务 ,并通过人机交互提高对话机器人的 性能。 目前联想的对话机器人的主要应用集中 在 客服和电子政务领域, 而在 这两个领域 里 人工客 服 扮演 着 不可或缺的角色 。 比如客服系统, 面对客户广度深度兼备、五花八门的问题,只有那些 有着丰富工作经验的客服人员才可能 保障用户 使用 体验 。 因此 人机