基于客服场景的智能对话系统的设计与实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《工业控制计算机》2019年第32卷第7期

一般来说,人机对话系统大致可分为两种:任务导向型[1] (Task-oriented)对话系统和非任务导向型穴Non-task-orient⁃ed雪对话系统(也称为聊天机器人)。聊天型机器人如微软小冰,主要是满足用户的情感需求;而任务导向型,主要目的是依据用户意图收集必要信息来协助用户完成任务。

近年来,各种人工助手、问答系统、智能客服等产品的出现帮助用户在多个垂直领域完成任务,从最早的对话系统1.0版的聊天机器人Eliza到现在大众普识的语音助手,如Siri、Cor⁃tana和Google Now等。其中,智能客服是问答型人机对话问题一个重要的落地场景,淘宝、苏宁、京东等电商平台都上线了各自的智能客服系统。在此场景下,一款好的智能客服系统不仅可以降低人工成本,还能大大提高企业的工作效率,在电商等领域发挥着重要的作用。然而,目前市面上的智能客服对话机器人主要还是回答一些常规和通用性高的问题,在复杂多变的客服场景下存在诸多缺陷,比如反应慢、理解能力差、机械式回答等。本文研究的重点在于如何更好地理解用户意图,更接近人工服务以及更好的处理大部分客服场景。

1对话系统框架

一个完整的自然语言人机对话系统由自动语音识别(Auto⁃matic speech recognition,ASR)、自然语言理解(Natural lan⁃guage understanding,NLU)、对话管理(Dialogue manage⁃ment,DM)、自然语言生成(Natural language generation, NLG)和语音合成(Text to speech,TTS)五部分组成[3]。如图1所示,其中DST(对话状态跟踪)以及Policy(动作候选排序)统称为DM模块。

图1人机对话流程

本文设计的基于客服场景的对话系统是一个综合型多轮对话模型,它结合了对话领域中的多种处理方式,包括传统的检索方法,任务流程处理方法,以及神经网络匹配和端到端生成方法。如图2所示,该对话系统框架图主要包含四大模块:数据处理模块(Text preprocessing)、自然语言处理模块(Natural language understanding,NLU)、对话管理模块(Dialogue management,DM)和自然语言生成模块(Natural language generation,NLG)。其中DM模块又结合了QA-Bot、Task-Bot、Seq2seq-Bot三种不同的对话机器人,便于处理不同场景下的客服对话。下面具体介绍各模块信息。

图2系统设计框架

1.1数据处理模块

在此模块中,我们使用了一份公开的淘宝客服对话数据,通过对数据进行分析,发现原始的对话语料存在大量的噪声,对于检索效果和模型训练都存在非常大的干扰,例如语料中留存了大量的特殊符号等。我们通过了精确的分词和数据归一化处理,对语料中的数字、日期等信息进行正则过滤,通过丢弃短回复、清理低频回复等方法清洗语料,过滤了大量低质量的对话,减少对检索、匹配和生成模型的干扰,为后续模型的训练提供了数据质量保障。通过清洗之后的训练语料给模型的效果带来了一定程度的提升。

基于客服场景的智能对话系统的设计与实现

沈丹凤(上海大学,上海200444)

李繁(中山大学,广东广州510006)

Design and Implementation of Intelligent Dialogue System in Customer Service

摘要:对话系统是一种通过自然语言与人进行沟通交流的人机交互系统,它被定义为未来各种服务的入口。在智能客服领域,对话系统有着重要的研究意义和应用价值。智能对话机器人不仅可以解决用户提出的问题,还可以主动感知用户的需求,为用户提供服务。设计了一个针对客服场景的包含了检索式、生成式、任务式的综合性多轮对话系统,与传统检索式的对话系统相比,该对话在真实电商平台下可满足大部分用户的需求,同时在测试集上的评测分数也有较大提升。

关键词:智能客服,多轮对话,自然语言处理

Abstract押This paper designs a comprehensive multi-turn dialogue system熏including QA-Bot熏Task-Bot and Seq2seq-Bot熏for customer service pared with the classical retrieval dialogue system熏the system is able to meet the de⁃mands of most users under the real e-commerce platform熏and meanwhile obtains a greatly improved evaluation score on the test set.

Keywords押intelligent customer service熏multi-turn dialogue

system熏NLP

99

基于客服场景的智能对话系统的设计与实现1.2NLU自然语言理解模块

在此模块中,对输入的问答和文本内容进行分析。通过提取

有用的信息,如订单号、手机号、商品ID等信息槽点来确定用户

意图,并通过给这些意图分类,进行序列标记,从而为下面的对

话处理做准备。

1.3DM对话管理模块

在此模块中,把接收到了NLU模块提取的信息作为输入,

并且根据信息内容安排相应的处理方式。本文设计了三种对话

Bot,QA-Bot、Task-Bot、Seq2seq-Bot。

1.3.1QA-Bot

QA-Bot使用了信息检索[4]方法,对原始的对话语料进行了

细致的挖掘工作,提取了高质量单轮以及多轮对话语料。我们使

用了BM25[5](Bestmatch25)模型进行检索,BM25模型是在信

息检索系统中根据提出的回答对文本进行评分的算法,是一种

文本相似度度量方法,在检索领域有着非常广泛的应用,其中主

要思想是根据两个句子中每个词语的相似度,然后给与每个词

对的权重,最后加权得出的得分,从而计算两个句子的相似度,

具体的计算公式如下:

Score(Q,d)=n

i∑w i·R(q i,d)

其中Q代表一个句子,d代表要搜索的句子,而句子Q中的

每一个词q与带搜索的句子d之间的相似度再给予对应的权重

即为该句子同被搜索句子的相似度得分。而每一个词的权重W

则是根据逆文档频率(Inverse document frequency,IDF)[6]计算得出。我们也使用WMD(Word Movers Distance)[7]等语义度量方法进行排序。

1.3.2Task-Bot

我们对语料进行细致观察和分析之后,发现除了传统信息

检索方法之外,有一些可以流程化处理的任务,比如一些用户常

问的一般问题,如发货、开发票等,适合使用任务式对话进行处

理[1]。通过整理发票、价保、提现等客服业务中常见的高频任务,我们进行流程梳理,设计了与之对应的task对话。如果NLU模

块传入的意图已知,系统会直接按照流程化执行;如果task没

有给出适当的回复,会执行其他的对话管理模块。

1.3.3Seq2seq-Bot

端对端的方法是当前深度学习很流行的方法之一,由于生

成模型能够很好地整合上下文信息,生成不错的回复。我们在Seq2seq-Bot中分别训练了单轮和多轮的生成模型。这里的Seq2seq模型[2],采用比较通用的biLSTM作为encoder、sched⁃uled sampling方法训练优化。

1.4NLG模块

经过了上面对话管理模块之后,我们综合对话Bot给出的

候选回复,根据策略得出系统认为可信度最佳的回复。具体来

说,如果Task-Bot产生的回复,认为是最可信的,直接返回给

用户,否则会考虑QA-Bot和Seq2seq-Bot。如果QA-Bot返

回的回复分数很高,表明检索的回复可信度很高,可以返回给用

户,否则使用生成产生的回复。

2实验结果

我们的目标是使得本文设计的对话系统的判断和人为判断

尽量相似。而对话系统的评价指标的一大难点在于,回复的选择

空间太大,看起来完全无关的两句话都可以是合适的回复,两个

正确的回复如果不联系上下文的话,无论是从词频角度还是语

义角度来分析都是不相关的两个回复。这边使用最常用的评估

方法Recall@k[4],给定一个问题选择k个最有可能的回答,检测正确的回答在不在这k个回答里。在检索模块中,利用TF-IDF 值表示前面已经分好的context文本和answer文本,然后将测试的样例同context文本中的上下文信息进行了相似度计算,并将最相似的十个上下文在answer中对应的回复返回。其中相似度计算公式如下:

similarity(c,q)=c

T q

‖c‖‖q‖

使用ubuntu corpus[9]数据集作为测试集,此语料既有Di⁃alog State Tracking Challenge数据集的多轮对话特性,也有服务上的人类自然对话特点。另外,ubuntu数据量大,大约有一百万个对话。这对利用神经网络来建人机对话模型很有优,能够充分发挥神经网络非线性学习能力。另外,语料中对于多轮应答的特点,可以不使用人工标注标签来训练神经网络模型。表1显示了评测结果,我们的模型在R2@1、R10@1、R10@2和R10@5分别得到了0.719、0.487、0.651和0.835的分数,一定程度上高于只有检索模型的QA-bot。因此,实验结果说明我们设计的对话系统相比传统的检索模型来说,具有较好的鲁棒性,能应用于更多的场景。实验效果如图3所示,人工智能机器人小智可以处理用户常见的客服问题。

表1实验结果

图3实验效果图

3结束语

本文的对话系统拥有不错的可扩展性,可针对不同场景设计不同的应答技巧,今后可以适当结合情感分析来提高智能客服的情感智能。然而,客服对话场景复杂多变,检索式方法对语义相关的回复召回能力较弱,实际用户提问方式、流程多变,传统的填槽技术很难处理复杂的对话情形,想要达到语义泛化的目的需要更多的探究。

对于任务型多轮对话来说,从意图识别到槽填充以及对话状态跟踪等,目前仍然是以pipeline的方法为主,这个过程中如何能够把关键的历史信息提取并且保留,对应答生成进行指导,进一步将整个一体化,是一个值得研究的课题。除此之外,使用半监督、弱监督或者强化学习的方法来改进对话效果,也是今后突破的重点。

参考文献

[1]Z Yan熏N Duan熏P Chen熏et al.Building task-oriented dialogue systems for onlineshopping[C]∥AAAI Conference on Artificial Intelligence熏2017

[2]Sutskever I熏Vinyals O熏Le Q V.Sequence to Sequence Learn⁃ing with Neural Networks[C]∥Conference on Neural Information Processing Systems熏2014

[3]Hongshen Chen熏Xiaorui Liu熏Dawei Yin熏et al.A Survey on Di

(下转第102页

)

100

相关文档
最新文档