以下内容总结自《自然语言处理实践与聊天机器人原理应用与实践》
闲聊系统概述
闲聊系统与问答系统,面向任务的对话系统三者均为聊天机器人的典型应用。但应用任务目标和实现方式均有较大不同目前,大量聊天机器人产品定位于闲聊系统,如微软推出的「小冰」。值得一提的是,2018 年 8 月 22 日第 6 代小冰发布,微软宣布小冰逐步进入完成态,实现了从人工智能交互到初级感官再到高级感官的跨越,其核心对话引擎包括情绪识别、兴趣分析、情感策略及主动回应模型,并全面使用了生成模型与用户进行对话。虽然目前对于开放平台的接入还在逐步进行,不过已经可以看到微软小冰在闲聊系统之外的诸多尝试。比较早期的闲聊机器人包括 2013 年的「小黄鸡」,作为一款聊天机器人程序,其上线后在人人网迅速蹿红,三天内累积增长 70 万粉丝,日发送回复量超过 70 万。用户只要在人人网主页@小黄鸡,小黄鸡就会自动回复用户,并与用户聊天。其主要功能是通过将韩国聊天机器人平台 SimSimi 的开放 API 和人人网接口相连实现的。微软小冰也做了网络聊天的尝试,包括其推出的 QQ 版本小冰机器人,以及微博小冰和微信小冰。同时,大量的聊天机器人硬件产品也基本上都具备闲聊功能,例如小米音箱、天猫精灵、叮咚音箱等。
类似于已经介绍过的问答系统和面向任务的对话系统,根据具体实现方式,闲聊系统也可以分为基于对话库检索的闲聊系统和基于生成的闲聊系统
(1)尽管基于对话库检索的闲聊系统可以有效避免出现语法错误,但很难处理对话库中不存在的或者没有预定义的问题。
(2)尽管基于生成的闲聊系统能比较灵活地整合上下文的信息,但是生成模型的训练需要大量标注数据,且难以避免安全回复的问题和回答中可能出现的不一致问题或语法错误。无论是基于检索的还是基于生成的方法,都可以在系统中引入深度学习技术。由于端到端的深度学习结构非常适用于文本生成,许多最新的研究工作正试图促进深度学习技术在这个领域取得飞速的进展。但是实际上,由于基于生成的方法还处在发展的早期阶段,其表现并不尽如人意,在实际应用中还是更多地使用基于检索的模型。
基于对话库检索的闲聊系统
基于对话库检索的闲聊系统指的是事先存在一个对话库,闲聊系统收到用户输入的句子后,在对话库中通过搜索匹配的方式进行应答内容的提取。由于用户在真实场景下对话语料极为丰富,这种方式对对话库中语料的数量和质量要求很高,必须能够尽量多地匹配用户问句。另外,因为对话库中存储的都是真实的问答数据,所以这种方式的回复质量较高,表达比较自然。从本质上讲,基于检索技术的聊天机器人类似于搜索引擎,其工作流程是事先存储好对话库并建立索引,根据用户输入的内容在对话库中匹配最合适的回复内容。基于检索的闲聊技术主要使用匹配的方法,而匹配方法的核心是匹配用户问句 x 和对话库中现有的句子 y 的相似度并进行排序,选出候选问句。传统的做法是将句子表示成 one-hot 向量,然后对向量求相似度。随着深度学习技术的发展,句子的表示也常采用词嵌入的方式,以便更好地体现句子中的语义信息。目前主流的匹配方法有两种,一种是弱相关(weak interaction)模型,包括 DSSM [1] 、ARC-I [2] 等算法,另一种是强相关(strong interaction)模型,包括 ARC-II [2] 、MatchPyramid [3] 、DeepMatch 等算法。两种方法最重要的区别是对句子 <x,y> 建模的过程不同,前者是单独建模,后者是联合建模。下面将通过几个经典的算法进行阐述。DSSM 算法采用词袋模型进行句子表示,如图 5-1 所示,Q 表示待匹配的句子,D 1 ,…,D n 表示对话库中已有的句子,逐步对句子进行降维,在最后的 128 维向量上做相似度计算,从而选出最相似的句子。这就是很典型的弱相关模型。
图 5-1 DSSM 算法采用词袋模型进行句子表示
(七)继续对话库检索的闲聊系统
最新推荐文章于 2023-08-10 20:00:00 发布