智能客服设计思路(上)

初赛阶段思路及算法模型
在初赛阶段,团队成员在对比赛数据集进行分析之后,考虑到测试集为单轮问答回复的形式,我们准备采用检索式多轮对话的方式,构建了一套检索+匹配的系统,针对测试集中给出的上下文信息,去候选池中检索相似度最高的问题,并将问题对应的答案重新组成成更加细致的候选池。而后,构建特征工程,从词向量训练,语义匹配,深度匹配等多个角度进行特征融合,这里融合先归一化,然后加权融合分数,输出最佳回复。

image.png

初赛阶段的比赛主要包括前期的数据处理,检索模型算法的构建,匹配模型的算法搭
建三个主要模块,下面将对每一个模块进行详细的介绍和说明。

2.1 数据处理
数据处理是初赛阶段的关键,几次大幅度的提分都和数据处理有着密不可分的关系,数据处理的好坏直接决定了比赛成绩的高低。在初赛阶段,我们发现同往常认知的“数据驱动的模型需要更大的数据集”的常识不同,数据集的扩充并没有提升模型的性能,相反却降低了测试集评测的分数。观察测试集案例给出的参考答案,我们发现:得分较高的参考答案普遍具有更长的句子长度,信息量也包含的更加丰富。由此,我们决定大胆地对初赛训练集进行删减,在按照QAQAQA 三对QA pair 的原始语料切分之后,我们删除了最后一个答案A 对应的句子长度小于六个词的语料对。这样的数据处理方式将原始切分的十三万对数据缩减到七万对。测试集评测结果印证了我们的方法的正确性,最终通过进一步的精简,初赛训练集的数据被缩减到五万对,线上评测分数有了不错的提升。

2.2 检索模型
检索模型顾名思义,就是从全体语料的候选池当中挑选出来。在检索模块中,我们首先利用tf-idf 值对前面已经分开好的context 文本和answer 文本进行表示,回顾一下,context 也就是三对QA 对话中的前五句Q1A1Q2A2Q3,answer 就是最后一句的回复A3。然后我们将测试的样例同context 文本中的上下文信息进行了相似度计算,并将最相似的十个上下文在answer 中对应的回复A3 返回。


image.png

2.3 匹配模型
在匹配模型版块,我们融合了多种语义匹配的特征工程,并且引入深度学习匹配模型,利用深度学习方法挖掘检索回复中的语义关联度。

  1. WMD 模型
    WMD(word mover’s distance),一种文本距离计算方法,用于表征文本语义上的相似度。这幅图中,两个待比较的文本中的所有非停用词,也就是加粗的词汇被嵌入到了word2vec 的表示空间。 两个文本的相似度,用一个累加距离来表示,这个累加距离就是文本1 中的词到文本2 中的词的最小移动距离,图中用蓝色箭头表示。


    图2. Word mover’s distance 原理图
  2. BM25 模型
    BM2.5 模型也是一种文本相似度度量的方法,在检索领域有着非常广泛的应用,其主要思想是根据两个句子中每个词语的相似度,然后给与每个词对的权重,最后加权得出的得分,从而计算两个句子的相似度,具体的计算公式如下:


    image.png

    其中的Q 代表一个句子,d 代表要搜索的句子,而句子Q 中的每一个词q 与待搜索的句子d 之间的相似度再给予对应的权重即为该句子同被搜索句子的相似度得分。而每一个词的权重W 则是根据逆文档频率(IDF)计算得出。

  3. SMN
    Sequential Matching Network 是微软亚洲研究院在2017 年提出来的一个检索式多轮对话网络。该网络综合利用了RNN 在时间序列上的信息提取以及CNN 在语言细节上的提取能力,将候选的回复同多轮对话中上下文信息中的每一句话进行语义匹配,最终给出相应的匹配得分。这种方式很大程度上挖掘了上下文的语义信息,使得最终得到的答案更加可靠。这里简要介绍一下该神经网络的网络结构,我们首先会对每一个句子进行分词操作,并利用训练好的word2vec 模型来得到表示每一个词的词向量。这样一个句子中所有词的词向量拼接起来就可以构成一个词向量矩阵,来代表该句子。然后将候选的回复句子同上下文context 中的每一个句子进行匹配。这里的匹配是在两个不同粒度上的,第一个粒度是将两个句子的词向量矩阵直接转置相乘,用来计算词级别的相似度;另外一个粒度,是句子片段级的相似度计算。具体是将每个句子输入到GRU 网络中,GRU 网络会得到一个对应的隐藏向量矩阵,然后做矩阵的乘法运算。这样做的好处,是通过GRU 网络挖掘了候选回复和上下文句子中不同长度片段的相似程度。接下来,将代表了两个不同粒度语义相似度的矩阵送入到CNN 网络当中,CNN 会输出一个2D 的feature map 特征图,该特征图被降维拼接成一维向量之后送入GRU,这个GRU 网络的每个time step 对应对话产生的时间,相当于考虑了整体对话的时间问题。最终softmax 归一化会计算得到一个相似度分数。

图3. Sequential Matching Network 神经网络结构图

以上是初赛中,我们团队的算法模型介绍,下面给出初赛阶段的几次关键性提分,
这也体现了我们在算法模型上探究的过程和结果。
模型 得分
tf-idf 0.189
Tfidf+wmd 0.205
Tfidf+wmd+bm25 0.216
Tfidf+wmd+bm25+smn 0.278
Tfidf+wmd+bm25+smn+data mine 0.330

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,755评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,305评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,138评论 0 355
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,791评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,794评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,631评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,362评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,264评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,724评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,900评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,040评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,742评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,364评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,944评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,060评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,247评论 3 371
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,979评论 2 355