如何让机器客服更像人类客服?

简介: 机器客服如果仅仅只是根据历史记录来回复用户,就会生成相对安全、通用的回复,无法让用户感受到人类客服的语言“温度”,自然也无法让用户真切地感受到服务的力量。为了解决这个问题,阿里工程师提出了异构记忆网络来同步处理用户语句、对话历史以及背景知识库,从而提升机器的对话质量。本文已被自然语言处理领域顶会EMNLP2019收录,2019年EMNLP阿里巴巴共16篇论文被主会收录。

概要

人类通过语言将大脑里的知识表达出来,通过对话相互传递知识。机器通过学习大量的语料可以一定程度学会流畅的语句表达,但如果没有知识,则生成的只会是漂亮而无内涵的回复。传统的模块化的对话模型可以通过数据库查询等方式将关键信息填入回答的模版中,但是端到端的对话生成模型则要更复杂一些。

image.png

为了解决这个问题,记忆网络(Memory Networks)通常是一个不错的技术方法。但是现有的记忆网络结合对话系统只是提供了如何引入知识的一个方法,并不能很好的处理多种来源和结构的知识。

因此在这篇文章中,我们提出了一个异构记忆网络Heterogeneous Memory Networks, HMNs)来同步处理用户语句,对话历史以及背景知识库。HMNs由上下文无关(context-free memory)记忆网络和我们提出的上下文敏感(context-aware memory)记忆网络组成,分别用于编码、储存结构化的知识元组(knolwdge tuples)和序列化的用户语句、历史对话,并生成两个小词表分布(知识词表和历史对话词表)以及一个大词表(所有训练的词汇分布)供回复语句生成的选词。在三个数据集上的实验结果表明,HMNs超过了现有的SOTA模型,能够较显著的提高端到端任务型对话模型的表现。

问题背景

人类客服在回答客户问题时首先理解用户的语言,然后到相关数据库、知识库中查询所需要的知识,最终整理并回答问题。在这个过程中如果缺乏相对应的知识数据,即使是人类也几乎不可能准确回答用户所需要的问题,因为客户可能需要的关键点就是那条数据库中的知识,而再漂亮的回复偏离了重点也是不合格的。机器也是如此。生成模型如果仅通过历史对话语料学习,最终学习到的可能只是最安全、最通用的回复,但在实际对话中缺乏关键知识,也将导致无法解决具体事务。因此在对话模型中恰当的引入知识显得至关重要。

image.png

如图所示一个典型的任务型对话,用户问题What is the address for keen需要根据上文的hotel_keen以及KnowledgeBase中检索到的2_miles、578_arbol_dr等作为关键信息来生成系统回复的语句。在这种情况下,传统的pipeline类型的对话系统通常采用填槽(slot filling)以及检索的方式来查找所需的关键信息,这种方式需要大量的人工标注。深度学习的发展促使我们更进一步探索:许多[7, 8]工作证明了完全数据驱动的任务型对话也是可行具有一定前景的。现有的完全数据驱动(fully data-driven)的任务型对话模型通常基于Sequence to Sequence模型,同时采用注意力(attention)机制来引入外部知识。Madotto在这些基础上进一步提出了Mem2Seq(Memory to Sequence)模型[1],将multihop attention和pointer network的思想引入了对话生成模型。

现有的模型将不同来源、不同结构的信息杂糅、拼接到一起,用同一个网络(RNN或Memory Network)表达。但是人类思考的时候并不是将所有的信息杂糅在一起的,而是有一个思路:例如该对话任务,真人客服首先考虑的是问题,然后结合上下文,依靠这些信息查阅数据库,最后生成最后的回复。在这样的思想指导下,我们考虑不同的知识在对话这个任务中起到的作用是不同的,例如历史对话实际上指导的是上下文信息和回答的模式,而知识/数据库信息则更像插入到回复中的“值”。同样的,历史对话是一种序列化的信息,而知识库往往是一种结构化的数据,所以我们还需要对不同信息采用更适合它们结构的表达模型。因此我们提出了异构记忆网络模型(Heterogeneous Memory Networks, HMNs)结合Encoder-Decoder框架来更好的完成对话任务。本文的主要贡献在于:

我们提出了HMNs模型结合Encoder-Decoder模型第一次探索将对话历史、知识库等用不同的Memory来表示。

我们提出了一种用门机制(gating mechanism)加强的上下文敏感记忆网络(context-aware memory networks)来更好的学习、表达对话历史等上下文依赖信息。

我们在三个流行的公开数据集上进行了测试,实验结果表明对话模型总体水平显著超过现有的SOTA模型,且不同部分的改进都是有效的。

模型

我们的模型主体结构上采用端到端生成模型常用的Encoder-Decoder框架。本章将详细介绍模型结构。

1. 编码器(Encoder)

image.png

Encoder的作用是将对话历史编码和用户Query表达成一个内容向量(contextvector)。Encoder部分采用了一个上下文敏感记忆网络(如下图decoder的左半部分)将历史对话和用户的Query作为输入。每一个输入的词汇由(1)token本身(2)该句话的轮次以及(3)对话的身份。例如:用户在第一轮说“hello”然后系统回复“may i help you”则输入为:[(hello, t1, user),(may, t1, sys),(I, t1, sys),(help,t1, sys), (you,t1, sys)],t1即表明为对话的第一轮,user和sys则代表是用户和系统所说的话。将hello,t1,user三个转换为vector相加则是这个词的embedding。最后将embedding的序列输入到上下闻敏感记忆网络中最终得到context vector。

image.png

2. 上下文敏感记忆网络

由于传统的记忆在储存对话历史的时候会丢弃上下文序列信息,因此我们在端到端记忆网络(end to end memory networks)[5]基础上进行修改。记忆网络由多个hop组成,hop 由每个hop自身随机初始化的嵌入矩阵的每个word embedding相加拼接而成。在此我们采用相邻权重共享方案,这意味着不仅是第k个hop中的输入嵌入矩阵,而且是第(k-1)个hop中的输出嵌入矩阵。为了让记忆网络更好地学习和表达上下文信息,我们在存储单元之间添加了一个门控机制,采用的门参考了双向GRU[6]的方法。在加载序列话信息时候,便会通过门机制得到上下文相关的词汇表达以存储至记忆网络。

将查询向量输入,计算注意力权重并得到输出向量。将查询和输出向量相加,我们就得到了第k个hop的输出。在这里也是(k+1)个hop的查询向量。

3. 异构记忆网络

HMNs如前图展示的那样,包含了一个上下文敏感记忆网络和一个上下文无关记忆网络。上下文敏感记忆网络前文已经详述,而上下文无关记忆网络则与端到端记忆网络完全相同。上下文敏感记忆网络用于储存和表达历史对话信息,而上下文无关记忆网络则用来表达知识库信息。两者连接的方式则是通过上下文敏感记忆网络输出一个查询向量作为上下文无关记忆网络的输入。这样即为RNN控制器输入到历史对话中,来结合上下文信息以及一定程度上获得回答的模式,再通过这些信息来查询关键数据,和人类的思考过程相似:根据问题首先确定回答的方式,再通过回答的方式来查找缺失的数据信息。

4. Decoder(解码器)

解码器部分包含了HMNs和一个RNN的控制器如图所示。

image.png

RNN控制器将在每个step将查询向量输入到HMNs中。在每一步中,输入的查询向量通过上下文敏感记忆网络生成对话历史词表(最后一层hop的输出)和大词表(第一层的hop输出作为预测)。而后上下文敏感网络的输出向量将作为查询向量输入上下文无关记忆网络以查询知识库信息并生成一个知识库词表。最后通过选词策略从三个词表中选择一个词作为该轮生成的单词。

5. 拷贝机制和选词策略

我们采用拷贝机制来复制来自记忆网络中的单词。记忆网络中目标词的概率就是两个记忆网络中的注意力权重_x001D_。如果没有出现目标词,则会选中预处理阶段添加的标记存储器跳转位置标记。在选词过程中,如果两个记忆网络的输出都不是跳转标记,我们就比较两个网络中选中的词概率更大的那个。如果只有一个跳转标记,则选择另一个网络中概率最大的词汇。如果两者都为跳转标记,则选择大词表中概率最大的词。

实验和结果

为了验证我们模型,我们设计了相关实验以证实我们模型的设计是否能够达到更好的效果以及模型的新设计(堆叠多个记忆网络以及上下文敏感记忆网络)是否都是有效的。

1. 数据集

image.png

如表格示,我们的采用了流行的三个数据集:Key-Value Retrieval Datasets[2]、DSTC2[3]以及(6) dialogbAbI tasks[4]。三个数据集均只采用对话以及知识库(元组形式,由于DSTC 2并没有知识库,所以使用的是本体ontology文件生成),去除了slot fillings等等所有标签。三个数据集的数据质量较高且同时包括多领域、单领域等多种形式。

2. 实验指标

为了达到验证的目的,我们采用了多种指标以验证我们的设想。

BLEU:我们采用BLEU来验证模型能否生成流畅的回复语句。

F1:我们使用F1来验证模型能否准确地在知识库中抽取到回答所需的关键信息并回复。

Per-response accuracy and Per-dialog accuracy:主要用在bAbI数据集中,来验证模型是否有能力生成、复现学习到的表达。

3. 对比模型

我们对比了以下几个模型:

SEQ2SEQ: seq2seq(LSTM)模型目前来看还是各项生成模型研究对比的可靠稳定的模型。

SEQ2SEQ+Attn: 增加了attention机制的seq2seq能够更好的生成待知识、稀有词语的信息。

Mem2Seq:memory to sequence将multihop attention引入了任务型对话生成中。

HMNs-CFO:HMNs withcontext-free memory only。同样是HMNs的模型,但是该模型用上下文无关网络替换了上下文敏感网络,用来验证上下文敏感网络是否真的起到了效果。

4. 实验结果

image.png

image.png

可以看出我们的模型在绝大部分主要评价指标上都得到了最好的表现效果。

在下表随机抽取的一个生成实例中也可以看到,能够生成最流畅的语句并抽取最准确的知识。

image.png

5. 实验分析

  • 模型的效果。在所有的实验中,我们发现HMNs基本都取得了最好的实验效果。因此总体的模型一定程度上是可靠有效的。特别是在F1指标上,HMNs的表现更加显著,结合实际的生成语句效果(甚至能够抽取到比ground truth更多且仍然准确的实体),我们认为HMNs在某种程度上能够学会如何利用query和历史对话信息从知识库中抽取相关关键信息。
  • 上下文敏感网络是否真的有效?在bAbI实验结果(Table 3)中我们对比HMNs-CFO和HMNs模型的实验结果:HMNs在全部指标中均显著胜过HMNs-CFO,而HMNs和HMNs-CFO都采用了两个记忆网络堆叠的方式,唯一的区别便是HMNs-CFO用了两个同样的上下文无关记忆网络分别存储历史对话以及知识库的信息。此外结合训练的loss图像(Figure 4),我们可以得出结论,上下文敏感网络能够更好更快地学习对话生成任务。
  • 用多个网络分别学习对话历史和知识库信息是否有效?同样地在该实验中,我们对比Mem2Seq和HMNs-CFO的实验结果:HMNs-CFO在绝大部分指标上(特别是perdialogueaccuracy)都取得了更好地成绩。Mem2Seq和HMNs-CFO的两个关键区别在于HMNs-CFO相对于Mem2Seq采用专用的记忆网络存储不同信息,同时通过对话历史信息输出查询向量到知识库的方式连接两个网络。因此采用专用的记忆网络并用合适的方式连接不同的记忆模块这个想法在这里也得到了有效的证明。

未来工作

在前面的实验结果中我们可以注意到Key-Value Retrieval Datasets实验中天气预测这项指标HMNs、Mem2Seq等利用了记忆网络的模型表现不佳。对此我们展开调研发现天气预测任务中,平均的知识库元组条目数量是其他任务的三倍之多,然后我们在这个任务中通过匹配的方式缩减元组数量到和其他任务大致相同之后,F1指标上升到了48。因此我们认为目前的训练方式记忆网络在显著增加信息存储量的情况下可能存在问题。在实际使用的时候需要先利于匹配等方式减少候选数量。因此我们需要进一步研究HMNs在不同数据量尺度之下的表现以及改进方法。

image.png

参考资料:

[1] Madotto, Andrea, Chien-Sheng Wu, andPascale Fung. "Mem2seq: Effectively incorporating knowledge bases intoend-to-end task-oriented dialog systems." arXiv preprint arXiv:1804.08217(2018).

[2] Eric, Mihail, and Christopher D. Manning. "Key-value retrieval networksfor task-oriented dialogue." arXiv preprint arXiv:1705.05414 (2017).

[3] http://camdial.org/~mh521/dstc/downloads/handbook.pdf

[4] Bordes, Antoine, Y-Lan Boureau, and Jason Weston. "Learning end-to-endgoal-oriented dialog." arXiv preprint arXiv:1605.07683 (2016).

[5] Sukhbaatar, Sainbayar, Jason Weston, and Rob Fergus. "End-to-endmemory networks." Advances in neural information processing systems. 2015.

[6] Cho, Kyunghyun, et al. "On the properties of neural machinetranslation: Encoder-decoder approaches." arXiv preprint arXiv:1409.1259(2014).

[7] Vinyals, Oriol, and Quoc Le. "A neural conversational model."arXiv preprint arXiv:1506.05869 (2015).

[8] Shang, Lifeng, Zhengdong Lu, and Hang Li. "Neural responding machinefor short-text conversation." arXiv preprint arXiv:1503.02364 (2015).

原文链接:https://mp.weixin.qq.com/s/RszGpc00iXKZQcrQ6mIb3Q

目录
相关文章
|
机器学习/深度学习 存储 数据采集
如何让机器客服更像人类客服?
小叽导读:机器客服如果仅仅只是根据历史记录来回复用户,就会生成相对安全、通用的回复,无法让用户感受到人类客服的语言“温度”,自然也无法让用户真切地感受到服务的力量。为了解决这个问题,阿里工程师提出了异构记忆网络来同步处理用户语句、对话历史以及背景知识库,从而提升机器的对话质量。 本文已被自然语言处理领域顶会EMNLP2019收录,2019年EMNLP阿里巴巴共16篇论文被主会收录。
1501 0
如何让机器客服更像人类客服?
|
3月前
|
机器学习/深度学习 自然语言处理 搜索推荐
深度分析 | 2024主流的智能客服系统有哪些?他们是怎么实现的?
本文深入探讨了智能客服系统的使用方法和相关技术实现逻辑,涵盖前端交互、服务接入、逻辑处理、数据存储四大层面,以及自然语言处理、机器学习、语音识别与合成、数据分析与挖掘、知识库管理和智能推荐系统等核心技术,帮助企业更好地理解和应用智能客服系统,提升服务效率和客户满意度。
545 1
|
2天前
|
人工智能 运维 Cloud Native
2025年国内工单系统推荐:技术架构、场景适配与行业实践
分析了智能化升级、大数据驱动、云原生架构及全渠道融合四大技术趋势,从功能适配性、易用性、集成能力、安全性和性价比五个维度指导企业选型,并推荐合力亿捷等三家系统的优劣对比,结合电商和制造行业的实际案例,帮助企业提升客户服务水平与竞争力。
29 11
2025年国内工单系统推荐:技术架构、场景适配与行业实践
|
4天前
|
人工智能 自然语言处理 算法
DeepSeek大模型在客服系统中的应用场景解析
在数字化浪潮下,客户服务领域正经历深刻变革,AI技术成为提升服务效能与体验的关键。DeepSeek大模型凭借自然语言处理、语音交互及多模态技术,显著优化客服流程,提升用户满意度。它通过智能问答、多轮对话引导、多模态语音客服和情绪监测等功能,革新服务模式,实现高效应答与精准分析,推动人机协作,为企业和客户创造更大价值。
70 5
|
2天前
|
人工智能 自然语言处理 算法
DeepSeek 大模型在合力亿捷工单系统中的5大应用场景解析
工单系统是企业客户服务与内部运营的核心工具,传统系统在分类、派发和处理效率方面面临挑战。DeepSeek大模型通过自然语言处理和智能化算法,实现精准分类、智能分配、自动填充、优先级排序及流程优化,大幅提升工单处理效率和质量,降低运营成本,改善客户体验。
27 2
|
1月前
|
人工智能 自然语言处理 安全
2025最新排名|盘点值得推荐的5个在线客服系统
在数字化浪潮下,在线客服系统迅速发展,成为企业提升竞争力的关键。本文推荐五款2025年值得使用的在线客服系统:合力亿捷、淘宝、京东、华为云和中国移动客服系统。它们各自具备全渠道接入、智能问答、数据分析、高稳定性等亮点,助力企业高效服务客户,优化营销策略并提升整体运营效率。
108 24
|
16天前
|
自然语言处理 Prometheus 监控
基于DeepSeek的智能客服系统实战:从开发到部署
本文详细介绍如何将基于DeepSeek的智能客服系统从开发到部署,涵盖服务器选择、环境配置、代码部署及Web服务器设置。通过具体案例和代码示例,讲解系统上线步骤,并介绍使用Prometheus、Grafana等工具进行性能监控的方法。此外,针对高并发、API调用失败等常见问题提供解决方案,确保系统的稳定运行。最后强调数据安全与隐私保护的重要性,帮助读者全面掌握智能客服系统的部署与维护。
|
5月前
|
存储 自然语言处理 机器人
实战揭秘:当RAG遇上企业客服系统——从案例出发剖析Retrieval-Augmented Generation技术的真实表现与应用局限,带你深入了解背后的技术细节与解决方案
【10月更文挑战第3天】随着自然语言处理技术的进步,结合检索与生成能力的RAG技术被广泛应用于多个领域,通过访问外部知识源提升生成内容的准确性和上下文一致性。本文通过具体案例探讨RAG技术的优势与局限,并提供实用建议。例如,一家初创公司利用LangChain框架搭建基于RAG的聊天机器人,以自动化FAQ系统减轻客服团队工作负担。尽管该系统在处理简单问题时表现出色,但在面对复杂或多步骤问题时存在局限。此外,RAG系统的性能高度依赖于训练数据的质量和范围。因此,企业在采用RAG技术时需综合评估需求和技术局限性,合理规划技术栈,并辅以必要的人工干预和监督机制。
325 3
|
16天前
|
机器学习/深度学习 存储 自然语言处理
从零开始构建基于DeepSeek的智能客服系统
在数字化时代,智能客服系统成为企业与客户沟通的重要桥梁。本文介绍如何使用PHP和DeepSeek技术构建智能客服系统,涵盖环境搭建、核心功能实现、多轮对话支持及电商客服案例。DeepSeek基于深度学习,能理解复杂意图并提供个性化服务,显著提升客户体验和运营效率。通过具体代码示例,帮助开发者从零开始构建强大智能客服系统。
|
16天前
|
缓存 自然语言处理 搜索推荐
深入优化基于DeepSeek的智能客服系统:从基础到高级
本文在上一篇构建的DeepSeek智能客服系统基础上,深入探讨了性能优化、用户体验提升和高级功能集成的方法。通过缓存机制、异步处理优化性能;利用情感分析、个性化回答提升用户体验;引入语音识别、知识图谱等高级功能增强智能化水平。结合具体案例与代码示例,帮助开发者打造更高效、智能的客服系统。