云知声:深度文本匹配在智能客服中的应用

目录

一. 深度文本匹配的简介

1.文本匹配的价值

2.深度文本匹配的优势

3.深度文本匹配的发展路线

二. 智能客服的简介

1.智能客服的应用背景

2.智能客服的核心模块

·FAQ 库的构建

·语义召回

·相似度模型

·模型更新

三. 深度文本匹配在智能客服中的应用

1.为什么使用深度文本匹配

2.怎么样使用深度文本匹配

·深度文本匹配模型

·文本匹配引擎

3. 深度智能客服的效果评测

四. 参考

一、深度文本匹配的简介

1. 文本匹配的价值

文本匹配是自然语言理解中的一个核心问题,它可以应用于大量的自然语言处理任务中,例如信息检索问答系统、复述问题、对话系统、机器翻译等等。这些自然语言处理任务在很大程度上都可以抽象成文本匹配问题,比如信息检索可以归结为搜索词和文档资源的匹配,问答系统可以归结为问题和候选答案的匹配,复述问题可以归结为两个同义句的匹配,对话系统可以归结为前一句对话和回复的匹配,机器翻译则可以归结为两种语言的匹配。

2. 深度文本匹配的优势

传统的文本匹配技术如图1中的 BoW、TFIDF、VSM等算法,主要解决词汇层面的匹配问题,而实际上基于词汇重合度的匹配算法存在着词义局限、结构局限和知识局限等问题。

·词义局限:的士和出租车虽然字面上不相似,但实为同一种交通工具;而苹果在不同的语境下表示的东西不同,或为水果或为公司;

·结构局限:机器学习和学习机器虽词汇完全重合,但表达的意思不同;

·知识局限:秦始皇打 Dota,这句话虽从词法和句法上看均没问题,但结合知识看这句话是不对的。

传统的文本匹配模型需要基于大量的人工定义和抽取的特征,而这些特征总是根据特定的任务(信息检索或者自动问答)人工设计的,因此传统模型在一个任务上表现很好的特征很难用到其他文本匹配任务上。而深度学习方法可以自动从原始数据中抽取特征,省去了大量人工设计特征的开销。首先特征的抽取过程是模型的一部分,根据训练数据的不同,可以方便适配到各种文本匹配的任务当中;其次,深度文本匹配模型结合上词向量的技术,更好地解决了词义局限问题;最后得益于神经网络的层次化特性,深度文本匹配模型也能较好地建模短语匹配的结构性和文本匹配的层次性[1]。

3. 深度文本匹配的发展路线

图 1 深度文本匹配的发展路线

随着深度学习计算机视觉语音识别推荐系统领域中的成功运用,近年来有很多研究致力于将深度神经网络模型应用于自然语言处理任务,以降低特征工程的成本。最早将深度学习应用于文本匹配的是微软 Redmond 研究院。2013年微软 Redmond 研究院发表了 DSSM [2],当时 DSSM 在真实数据集上的效果超过了SOTA(State of the Art);为了弥补 DSSM 会丢失上下文的问题,2014年微软又设计了CDSSM [3];2016年又相继发表了 DSSM-LSTM, MV-DSSM。微软的 DSSM 及相关系列模型是深度文本匹配模型中比较有影响力的,据了解百度、微信和阿里的搜索场景中都有使用。其他比较有影响的模型有:2014年华为诺亚方舟实验室提出的 ARC-I和ARC-II [4],2015年斯坦福的 Tree-LSTM [5],2016年 IBM 的 ABCNN [6],中科院的 MatchPyramid [7],2017年朱晓丹的 ESIM[8],2018 年腾讯 MIG 的多信道信息交叉模型 MIX [9]。

一般来说,深度文本匹配模型分为两种类型,表示型和交互型。表示型模型更侧重对表示层的构建,它会在表示层将文本转换成唯一的一个整体表示向量。典型的网络结构有 DSSM、CDSMM 和 ARC-I。这种模型的核心问题是得到的句子表示失去语义焦点,容易发生语义偏移,词的上下文重要性难以衡量。交互型模型摒弃后匹配的思路,假设全局的匹配度依赖于局部的匹配度,在输入层就进行词语间的先匹配,并将匹配的结果作为灰度图进行后续的建模。典型的网络结构有 ARC-II、DeepMatch 和 MatchPyramid。它的优势是可以很好的把握语义焦点,对上下文重要性合理建模。由于模型效果显著,业界都在逐渐尝试交互型的方法。

图 2 深度文本匹配模型的类型

二、智能客服的简介

1. 智能客服的应用背景

由于人工客服在响应时间、服务时间和业务知识等方面的局限性,有必要研发智能客服系统,使其通过智能化的手段来辅助人工客服为用户服务。智能客服与人工客服的优劣势对比如图 4 所示。

图 3 智能客服与人工客服的优劣势对比

2. 智能客服的核心模块

智能客服的一般框架如图 5 所示:当有 Query 请求时,首先对 Query 进行补全、解析和需求理解;其次,问题召回模块通过精准召回、核心召回和语义召回从 FAQ 库召回与 Query 相关的问题;接着,问题排序模块通过 CTR 模型和相似度模型对召回的问题进行排序,选出 Top k 返回给用户;最后,反馈系统记录用户的点击行为等,对模型进行更新。具体哪些模型会被更新,与语义召回和相似度模型阶段使用的算法有关。

图 4 智能客服的一般框架

在智能客服的框架中,最重要的模块是 FAQ 库的构建、语义召回、相似度模型和模型更新,它们性能的好坏对用户的使用体验有很大影响。

FAQ 库的构建

对于重视用户体验的客服系统来说,FAQ 库的构建是非常严格的,它的内容需要非常完整和标准,不能像聊天机器人那样可以插科打诨。一般的做法是将积累的 FAQ ,或是将场景相关的设计文档、PRD文档中的相应内容整理成 FAQ,添加到 FAQ 库中。日常的维护就是运营人员根据线上用户的提问做总结,把相应的问题和答案加入 FAQ 库。不难想像,随着用户量的增加,用户的问题种类五花八门,问法多种多样,这种维护方式肯定会给运营带来很大的压力,也会给用户带来糟糕的体验。那么,有没有什么自动或是半自动的方法可以解决新问题的挖掘和 FAQ 库的更新?

一种理想的 FAQ 库构建的流程应该是:从客服的直接对话出发,提取出与产品相关的问题,计算问题之间的距离,通过增量聚类的方法把用户相似的问题聚到一起,最后由运营人员判断新增的问题能否进入 FAQ 库,同时将他们的反馈更新给文本匹配模型。

图 5 理想的FAQ 库构建的流程

语义召回

当 FAQ 库达到一定规模时,再让用户请求的 Query 与 FAQ 库中的问题一一计算相似度是非常耗时的,而问题召回模块可以通过某些算法只召回与请求 Query 相关的问题,减少问题相似度模型阶段的复杂度。精准召回和核心召回是基于词汇重合度的检索方法,它们的局限是不能召回那些 FAQ 库中与请求 Query 无词汇重合,但语义表达是一样的问题,而语义召回可以解决此类问题。

相似度模型

相似度模型分别计算召回的相关问题与请求 Query 之间的相似度,作为排序模型的特征之一。需要注意,此处的相似度模型不同于语义召回中的相似度计算,前者更靠近输出端,对准确率要求高;后者对召回率要求高。因此,这两个模块在实现时使用的模型往往不同,在我们的文本匹配引擎中,语义召回使用的是基于表示型的深度文本匹配模型,相似度模型使用的是基于交互型的深度文本匹配模型和其他传统文本匹配模型的混合模型。

模型更新

智能客服投入线上使用后,用户 query 可能与某些模型的训练数据分布不一致,导致智能客服的响应不理想。因此,十分有必要从收集到的用户行为数据中挖掘相关知识,并更新相关模型。

三、深度文本匹配在智能客服中的应用

1. 为什么使用深度文本匹配

问题聚类、语义召回和相似度模型都可以归结为文本匹配问题。传统智能客服在这些模块中使用的是传统文本匹配方法,不可避免地会遇到词义局限、结构局限和知识局限等问题;加上传统文本匹配方法多是无监督的学习方法,那么由这些方法训练的模型就无法利用运营人员的反馈和用户的点击行为等知识。然而,使用深度文本匹配的方法则可以有效地解决这些弊端。具体改进方面如图 7 所示。

图 6 深度文本匹配对传统智能客服的改进

2. 怎么样使用深度文本匹配

我们曾在智能客服的不同领域中尝试过多种深度文本匹配方法,通过业务场景推动技术演进的方式,逐淅形成了一套成熟的文本匹配引擎。我们的文本匹配引擎除了使用传统的机器学习模型(如话题匹配模型、词匹配模型、VSM等)外,还使用了基于表示型和基于交互型的深度文本匹配模型。

深度文本匹配模型

Representation-based Model

表示型的深度文本匹配模型能抽出句子主成分,将文本序列转换为向量,因此,在问题聚类模块,我们使用表示型的深度文本匹配模型对挖掘的问题和 FAQ 库的问题做预处理,方便后续增量聚类模块的计算;在语义召回模块,我们使用表示型的深度文本匹配模型对 FAQ 库的问题做向量化处理,并建立索引,方便问题召回模块增加对用户 query 的召回。另外,我们使用基于 Bi-LSTM 的表示型模型以捕获句子内的长依赖关系。模型结构如图 7 所示。

图 7 基于 Bi-LSTM 的表示型模型

Iteraction-based Model

我们在相似度模型模块使用了基于交互型的深度文本匹配模型 MatchPyramid,其原因有三点:

·第一点,表示型的深度文本匹配模型对句子表示时容易失去语义焦点和发生语义偏移,而交互型的深度文本匹配模型不存在这种问题,它能很好地把握语义焦点,对上下文重要性进行合理建模。

·第二点,在语义召回阶段,用户 query 与召回问题间的语义相似度会作为排序模型的特征之一,同样地,相似度模型阶段,用户 query 与召回问题间的另一种语义相似度也会作为排序模型的特征之一。

·第三点,相似度模型需要实时计算,用户每请求一次,相似度模型就需要计算 n 个句对的相似度,n 是问题召回的个数。而序列型的神经网络不能并行计算,因此我们选择了网络结构是 CNN 的 MatchPyramid 模型。模型结构如图 8 所示。

图 8 An overview of MatchPyramid on Text Matching

文本匹配引擎

由于自然语言的多样性,文本匹配问题不是某个单一模型就能解决的,它涉及到的是算法框架的问题。每个模型都有独到之处,如何利用不同模型的优点去做集成,是任何文本匹配引擎都需要解决的问题。我们的文本匹配引擎融合了传统文本匹配模型和深度文本匹配模型,具体的框架如图 9 所示。

图 9 文本匹配引擎的框架

3. 深度智能客服的效果评测

应用上述的文本匹配引擎后,我们为某汽车公司开发的智能客服系统,在测试集上的 precision 达到了 97%;与某寿险公司合作完成的智能客服,其 precision 比 baseline 高出 10 个点。除此之外,在对话系统的音乐领域中,使用深度文本匹配引擎替代模糊匹配后,整体 precision 提高了 10 个点;在通用领域的测试集上,我们的文本匹配引擎也与百度的 SimNet 表现不相上下。

四、参考

1.庞亮,兰艳艳,徐君等. 深度文本匹配综述. 计算机学报. 2017, 40(4):985-1000.

2.Po-Sen Huang, Xiaodong He, Jianfeng Gao, et al. Learning Deep Structured Semantic Models for Web Search using Clickthrough Data. 2013, In CIKM.

3.Yelong Shen, Xiaodong He, Jianfeng Gao, et al. A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval. 2014, In CIKM.

4.Baotian Hu, Zhengdong Lu, Hang Li, et al. Convolutional Neural Network Architectures for Matching Natural Language Sentences. 2014, In NIPS.

5.Kai Sheng Tai, Richard Socher, Christopher D. Manning. Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks. 2015.

6.Wenpeng Yin, Hinrich Schutze, Bing Xiang, et al. ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs. 2016.

7.Liang Pang, Yanyan Lan, Jiafeng Guo, et al. Text Matching as Image Recognition. 2016.

8.Qian Chen, Xiaodan Zhu, Zhenhua Liu, et al. 2017.

9.[Haolan Chen, Di Niu, Dong Liu, et al. MIX: Multi-Channel Information Crossing for Text Matching. 2018, In KDD.

理论深度学习聊天机器人智能客服文本匹配云知声
6
相关数据
理查德·索切人物

Richard Socher(理查德·索赫尔)是Salesforce的首席科学家。 在此之前,他是斯坦福大学计算机科学系的兼职教授,也是2016年被Salesforce收购的MetaMind的创始人兼首席执行官/首席技术官。研究兴趣:深度学习、自然语言处理和计算机视觉。

李航人物

李航,毕业于日本京都大学电气电子工程系,日本东京大学获得计算机科学博士学位。北京大学、南京大学兼职教授。曾任日本NEC公司中央研究所研究员,微软亚洲研究院高级研究员与主任研究员、华为技术有限公司诺亚方舟实验室主任,是《统计学习方法》作者。

克里斯托弗·曼宁人物

现任斯坦福大学教授、斯坦福自然语言处理组负责人。Christopher Manning是自然语言处理领域著名学者,是国际计算机学会(ACM)、国际人工智协会(AAAI)、国际计算语言学会(ACL)等国际权威学术组织的会士,曾获ACL、EMNLP、COLING、CHI等国际顶会最佳论文奖,著有《统计自然语言处理基础》、《信息检索导论》等自然语言处理著名教材。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

信息检索技术

信息检索(IR)是基于用于查询检索信息的任务。流行的信息检索模型包括布尔模型、向量空间模型、概率模型和语言模型。信息检索最典型和最常见的应用是搜索引擎。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

特征工程技术

特征工程是利用数据所在领域的相关知识来构建特征,使得机器学习算法发挥其最佳的过程。它是机器学习中的一个基本应用,实现难度大且代价高。采用自动特征工程方法可以省去采用人工特征工程的需求。Andrew Ng 说“挖掘特征是困难、费时且需要专业知识的事,应用机器学习其实基本上是在做特征工程。”

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

聊天机器人技术

聊天机器人是经由对话或文字进行交谈的计算机程序。能够模拟人类对话,通过图灵测试。 聊天机器人可用于实用的目的,如客户服务或资讯获取。有些聊天机器人会搭载自然语言处理系统,但大多简单的系统只会撷取输入的关键字,再从数据库中找寻最合适的应答句。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

长短期记忆网络技术

长短期记忆(Long Short-Term Memory) 是具有长期记忆能力的一种时间递归神经网络(Recurrent Neural Network)。 其网络结构含有一个或多个具有可遗忘和记忆功能的单元组成。它在1997年被提出用于解决传统RNN(Recurrent Neural Network) 的随时间反向传播中权重消失的问题(vanishing gradient problem over backpropagation-through-time),重要组成部分包括Forget Gate, Input Gate, 和 Output Gate, 分别负责决定当前输入是否被采纳,是否被长期记忆以及决定在记忆中的输入是否在当前被输出。Gated Recurrent Unit 是 LSTM 众多版本中典型的一个。因为它具有记忆性的功能,LSTM经常被用在具有时间序列特性的数据和场景中。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

问答系统技术

问答系统是未来自然语言处理的明日之星。问答系统外部的行为上来看,其与目前主流资讯检索技术有两点不同:首先是查询方式为完整而口语化的问句,再来则是其回传的为高精准度网页结果或明确的答案字串。以Ask Jeeves为例,使用者不需要思考该使用什么样的问法才能够得到理想的答案,只需要用口语化的方式直接提问如“请问谁是美国总统?”即可。而系统在了解使用者问句后,会非常清楚地回答“奥巴马是美国总统”。面对这种系统,使用者不需要费心去一一检视搜索引擎回传的网页,对于资讯检索的效率与资讯的普及都有很大帮助。从系统内部来看,问答系统使用了大量有别于传统资讯检索系统自然语言处理技术,如自然语言剖析(Natural Language Parsing)、问题分类(Question Classification)、专名辨识(Named Entity Recognition)等等。少数系统甚至会使用复杂的逻辑推理机制,来区隔出需要推理机制才能够区隔出来的答案。在系统所使用的资料上,除了传统资讯检索会使用到的资料外(如字典),问答系统还会使用本体论等语义资料,或者利用网页来增加资料的丰富性。

推荐文章
暂无评论
暂无评论~