当前位置: 首页 > 专利查询>浙江大学专利>正文

基于深度学习的客服回复推荐方法技术

技术编号:15910804 阅读:42 留言:0更新日期:2017-08-01 22:30
本发明专利技术公开了一种基于深度学习的客服回复推荐方法,通过直接从客服的对话记录中学习对话模型,来进行客服回复推荐;该方法通过端到端的训练方式进行模型构建,相比传统基于规则和人工特征的方法构建速度快;该方法提升了客服回复推荐系统中回复内容的覆盖范围;同时本发明专利技术可应用于各种垂直领域的客服服务中,包括但不限于:电商、医药、法律等。

Customer service response recommendation method based on depth learning

The invention discloses a reply recommendation method of deep learning service based on learning through direct dialogue model from customer service dialogue recording, to recommend the method of customer service reply; by the end of the training mode of model construction, compared with the traditional method and artificial rules based on the characteristics of fast construction; the method to enhance the recovery the contents of the coverage of customer service reply recommendation system; at the same time, the invention can be applied to various vertical field service, including but not limited to: electricity, medicine and the law.

【技术实现步骤摘要】
基于深度学习的客服回复推荐方法
本专利技术属于客服辅助
,具体涉及一种基于深度学习的客服回复推荐方法。
技术介绍
随着互联网经济的不断发展,提供在线商品和服务选购的电商平台的规模和成交量也在日益增大,这种改变的潮流对在线客服的服务效率提出更高要求。同时一些新的客服场景,如在线健康咨询、在线法律咨询,涉及知识较多,对从业人员专业要求较高。现有的解决思路有两种:一种是利用智能客服机器人直接替代人工承接一部分咨询任务;另一种是利用计算机来辅助人工客服以提升其工作效率。常见的智能客服机器人通常以手工构建的知识库作为核心引擎,替代人工完成一些常见的简单咨询服务。这种方法的不足之处主要有:机器人通常只能处理常见的标准问题,对于一些个性化较强或出现频次较低的问题则较难处理;复杂知识库的建立需要极大成本;用户对机器人的接受程度不如人工客服。计算机辅助人工客服,通常可以完成一些不直接和用户交互的任务如:标准回复推荐、常用问答对推荐。现有的客服辅助系统主要针对所需专业知识相对较少的场景设计,如交易纠纷、商品信息咨询等。现有解决方案需要人工进行前期知识库或语料的建立和整理,成本较高。同时知识库和标准回复存在覆盖率问题,通常针对一些出现次数较多的问题设计,对于个性化较强的问题则覆盖较少。传统在线客服场景问题分布比较集中、涉及专业知识相对较少,因此知识库和语料的构建成本和覆盖率问题比较容易解决。但是在对专业要求较高的场景下,由于涉及知识的深度和广度增加,知识库和对应语料的构建难度也随之增加,实现较高问题覆盖率较难。
技术实现思路
针对现有技术所存在的问题,本专利技术提出了一种基于深度学习的客服回复推荐方法,其能够根据客服咨询过程中的对话记录,为客服推荐其当前可能需要的回复文本,从而减少客服在工作过程中的输入量,提升客服工作效率。本专利技术的技术方案如下:这种基于深度学习的客服回复推荐方法,其特征在于,包含如下步骤:(1)对聊天语料库中所有的客服回复进行聚类并构建候选客服回复集合;(2)在客服聊天语料库上训练词向量;(3)对客服聊天语料库的对话记录进行标准化处理;(4)在处理后的语料集上训练对话模型;(5)将客服当前的对话记录输入模型,获取取该时刻的推荐回复。所述的步骤(1)中对所有回复进行聚类的步骤如下:1.1使用中文分词器对语料进行处理,获取其分词结果;1.2在分词结果上的运行LDA主题生成模型,并计算每个回复向量表示;1.3在所有回复的向量表示上运行k-means聚类算法,距离度量函数使用欧几里得距离,完成对回复文本的聚类,得到n个簇:{c1,…,cn}其中:d()为计算距离的函数,X,Y为两个回复的向量表示,xi,yi分别为X,Y的分量;1.4设定一个阈值m,从{c1,…,cn}对应的每个类簇中分别随机抽样m个句子组成候选回复集合C;所述的步骤(2)中训练词向量的步骤如下:2.1使用中文分词器对所有语料进行分词处理;2.2使用词向量训练工具在分好词的语料上训练词向量,获得词向量矩阵。所述的步骤(3)中对语料的标准化处理步骤如下:3.1删除对全部聊天记录中无意义的格式控制符号,以及非人工产生的对话;3.2将聊天记录中的对话按照产生对话的角色分为:用户的对话和客服的对话两种,在此基础上将每次服务的多条对话记录处理为:{用户,客服,用户,客服,…}的次序,即每组对话均以用户的对话开始,用户和客服的对话严格交替出现;3.3对过长的对话单句对话,和过场的对话序列做截断处理。所述的步骤(4)中训练深度对话模型的步骤如下:4.1从数据集中随机选取一批样本,每个样本均为的一组对话序列可以表示为:{(u0,h0,u1,h1,…),…}其中ui表示对话序列中用户的第i句话,hi表示对话序列中客服的第i句对话;4.2为样本中的每个客服对话均选从语料库中随机选取一条客服对话作为负样本4.3对样本中的所有对话:均使用本专利技术中提出的单句编码器(UtteranceEncoder)进行编码,分别获得各个句子的向量表达:4.4将一个样本表示为向量序列:在此基础上使用上下文编码器(ContextEncoder)对该序列进行编码,获得一个向量输出序列,表示对话对各个时刻对话历史的编码结果:4.5在客服对话的每个时间刻,均使用对应时间刻的作为输入,使用如下公式计算局部损失函数值:其中margin为手工设定的阈值,其中Sim(x,y)为相似度函数,其计算方法如下面公式所示:4.6将当前批次样本中所有的局部损耗进行相加,得到本次更新所需的损失函数值,计算公式如下:其中:n为当前批次所含样本的数量,mi为第i个样本中所含的客服对话数量,lossi,j为第i个样本中第j句客服对应时刻的局部损失值;4.7使用梯度下降对对话模型中的所有参数进行更新;4.8如果迭代次数达到阈值(该阈值可根据需要自行设定),则保存模型,结束迭代,否则返回步骤4.1。在所述步骤4.3中单句编码器对单个句子进行编码的流程如下:4.3.1根据产生句子的角色不同,为每个句子分配一个角色标志,对于用户产生的句子,设定其角色标记为0,对于客服产生的句子或候选回复,设定其角色标记为1,使用符号r来表示角色标记;4.3.2通过查找在步骤(2)中训练的词向量矩阵,将句子中的每个词均替换为与其对应的词向量表示形式,表示为4.3.3并将角色标同句子中的每个词向量分别进行级联,其过程可表示为:vw′=[vw;];4.3.4使用一个两层GRU网络读入处理后的词向量序列,并获取最后时刻的输出作为UtteranceEncoder的编码结果,其中每个GRU单元的更新方式如下面公式所示:zt=σ(Wz·[ht-1,xt])rt=δ(Wr·[ht-1,xt])ht=(1-zt)*ht-1+zt*ht其中xt表示某一时间刻的输入,ht表示对应时间刻的输出。在所述步骤4.4中上下文编码器对对话记录序列进行编码的流程如下:4.4.1读入对话记录里各个句子的向量表示:4.4.2在向量序列的头部插入一个同样长度的全零向量:4.4.3使用长度为2的滑动窗口对序列中的向量进行拼接,得到输出为:4.4.4将拼接后的向量序列作为输入,使用一个双层GRU网络对其进行编码,取其每个时刻的输出并表示为:其中表示第i个时间刻的输出;4.4.5将每个时刻的上下文表示向量同该时刻对应的句子向量进行级联组合,在第i时刻获得输出为:其中表示GRU网络第i时刻的输出,表示在对话序列中用户的第i句话的向量编码,表示在对话序列中客服的第i句话的向量编码;4.4.6利用线性层对拼接后的向量进行重新映射,其计算过程如下面公式Vi′=WT·Vi其中WT为线性层权值矩阵,通过训练得到,Vi为拼接后的向量,Vi′为context在对该时刻上下文的向量表示结果。在所述步骤(5)中根据进行当前客服对话历史选取回复的流程如下:5.1将步骤(1)中构造的候选回复集合表示为:A={a0,a1,…,an}其中ai表示一条候选回复文本;5.2使用单句编码器将每个候选回复句子表示成为向量形式,其处理过程同步骤4.3相同,将其输出表示为:5.3使用UtteranceEncoder对将当前对话记录中的各条对话进行编码,其处理步骤与4.3相同,将其处理结果表示为:5.4使用作为上下文编码器的输本文档来自技高网...
基于深度学习的客服回复推荐方法

【技术保护点】
一种基于深度学习的客服回复推荐方法,包含以下步骤:(1)对聊天语料库中所有的客服回复进行聚类并构建候选客服回复集合;并在客服聊天语料库上训练词向量;(3)对客服聊天语料库的对话记录进行标准化处理;(4)在经标准化处理后的语料集上训练对话模型;(5)将客服当前的对话记录输入上述对话模型,获取相应的推荐回复。

【技术特征摘要】
1.一种基于深度学习的客服回复推荐方法,包含以下步骤:(1)对聊天语料库中所有的客服回复进行聚类并构建候选客服回复集合;并在客服聊天语料库上训练词向量;(3)对客服聊天语料库的对话记录进行标准化处理;(4)在经标准化处理后的语料集上训练对话模型;(5)将客服当前的对话记录输入上述对话模型,获取相应的推荐回复。2.根据权利要求1所述的客服回复推荐方法,其特征在于:所述的步骤(1)具体包括如下步骤:1.1使用中文分词器对语料中所有的客服回复进行处理,获取其分词结果;1.2使用LDA主题模型对分词后的对话进行主题建模,并获取其向量表示;1.3使用k-means聚类算法对客服回复在向量空间上进行聚类;1.4在每个类簇中均随机选取等量的回复,对其进行去重操作后构成候选回复集。3.根据权利要求1所述的客服回复推荐方法,其特征在于:所述的步骤(3)中对话记录的标准化处理的具体步骤如下:3.1删除对话记录中所有的格式控制符号及非人工产生的对话;3.2将对话按照产生对话的角色分为:用户的对话和客服的对话两种,在此基础上将每次服务的多条对话记录处理为:{user,host,user,host,…}的次序,即每组对话均以用户的对话开始,用户和客服的对话严格交替出现,其中user代表用户,host代表客服。4.根据权利要求1所述的客服回复推荐方法,其特征在于:所述的步骤(4)中对话模型训练的具体步骤如下:4.1从数据集中随机选取一批样本,每个样本均为多组对话序列可以表示为:{(u0,h0,u1,h1,…),…},其中ui表示对话序列中用户的第i句话,hi表示对话序列中客服的第i句对话;4.2为样本中的每个客服对话均从语料库中随机选取一条客服对话作为负样本4.3对样本中每组对话序列的所有对话:均使用单句编码器进行编码,将各个句子均编码成为定长向量,分别获得各个句子的向量表达:4.4将每组对话序列表示为向量序列:在此基础上使用上下文编码器对该序列进行编码,其可以获取每条对话出现时已产生的对话记录的编码结果,用户和客服的每条对话都各自对应一个时刻,编码后获得一个向量输出序列,表示对各个时刻对话历史的编码结果:其中k为该组对话序列中所含对话数量;4.5在客服对话的每个时间刻,均使用对应时间刻i的作为输入,使用如下公式计算局部损失函数值:其中margin为手工设定的阈值,其中Sim(x,y)为相似度函数,其计算方法如下面公式所示:4.6将当前批次样本中所有局部损耗进行相加,得到本次更新所需的损失函数值,计算公式如下:其中:n为当前批次所含样本的数量,mi为第i个样本中...

【专利技术属性】
技术研发人员:王东辉梁建增庄越挺
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1