58 同城 | 帮帮商家版智能问答模型优化实践

star2017 1年前 ⋅ 8089 阅读

来源: 郭宗沂 58 技术

导读: 58 同城是国内最大的生活服务信息服务平台,连接着数千万 C 端用户和数百万 B 端商家,为了提升 B 端商家和 C 端用户的有效连接,基于智能对话机器人我们构建了帮帮智能客服商家版,其中一项功能为在微聊中对用户问题进行智能回复。

背景

智能回复流程由 QABot 机器人和 Taskbot 机器人两部分构成,如图所示,第一部分 QABot 机器人用于解答用户问题,第二部分 Taskbot 机器人用于引导用户留下更多信息以及商机,当前智能回复已接入黄页多个二级类目,本文我们主要讲述 QABot 机器人相关实践探索。

图片

智能问答在黄页业务中的难点

黄页场景业务线数量相对较多,不同业务线之间消息分布差别较大,用户消息相比智能客服简短,存在大量陈述句。这些陈述消息难以归为某一类问题咨询,因此相对智能客服场景有结果率较低。为此我们首先采用了分类模型进行线上迭代,之后实验了分类模型 + 检索的方法。

分类模型整体架构

QABot 问答机器人目前由分类模型实现,分类模型冷启动和线上迭代过程构成。冷启动期间,我们拉取线上各业务线的微聊数据日志,抽取 C 端用户消息通过 BERT[1]或者 word2Vec[2]的方式生成用户消息句向量。采用 Bi-KMeans 方法进行聚类,将相似语义的用户消息聚集到一起。

图片

对聚类结果标注,相似语义消息归为一类(例:“价格是多少”、“多少钱”、“钱怎么算”是一类问题,均是对商品价格的询问),分类模型预测频次出现较高的类别,能够覆盖用户的高频问题。为方便编辑同学进行标注,我们对每类问题抽象出一条标准问题来概括该类,而该类下的具体用户消息称为扩展问题,是标准问题的具体表现形式。获取数据后,通过不断模型的迭代和线上评测,最终达到对用户消息有效分类。

image.png

分类模型选择

在分类模型的选择上,我们考虑了多种工业界常用的算法:

(1)FastText

FastText[3]是由 Facebook 于 2016 年发布的文本分类模型,具有结构简单,训练及推理速度较快的特点。FastText 与生成词向量的 CBOW 方法结构很像,并且采用了 N-gram 的方法,在预测过程中使用了分层 SoftMax 来加速训练。

图片

FastText 能够在文本分类任务中迅速达成 baseline,达到相对较好的效果,并且推理耗时较少,适用于项目启动时期的快速上线。

(2)LSTM+DSSM

DSSM[4]即 Deep Structured Semantic Model,模型出自微软研究院,主要方法是将 query 和 doc 通过深度网络映射到相同维度的空间中,通过最大化其余弦相似度来进行训练。

图片

LSTM-DSSM 是对 DSSM 的优化,原生 DSSM 的基础上,引入 LSTM 作为句子表征,提取更多的语义级别的信息。

(3)BERT

BERT 是由谷歌发布的预训练模型,采用了 12 层 transformer 和多头注意力机制,使用大量数据进行预训练,得到了通用模型,在大量数据集上创造了最佳成绩。实际应用的过程中仅需要将原有模型在当前任务上进行 Fintiune 即可。

图片

(4)SPTM

SPTM 是 58 自研框架,该框架与 BERT 采用相同的预训练数据方法,第一版 SPTM 删除了 NSP 训练任务,使用字粒度的数据,随机掩码 15% 的字。并将 Bert 中的 TransFormer 替换为残差 Bi-LSTM 进行预训练,完成预训练之后保留模型参数。在微调时替换最后的全连接层,采用不同场景的标注数据对预训练模型进行微调,整体结构如图所示:

图片

在分类模型的选择中,我们参考了其他业务线的实验结果,采用了自研的 SPTM 框架。SPTM 在离线实验中能够保持较高的分类精度,满足问答匹配过程中对准确率召回率的总体要求。同时在耗时方面仍旧能够有相对较快的推理速度。以 FastText 为 baseline,LSTM+DSSM 能够在 baseline 的基础上提高 6.07% 的 F1 值,而 BERT 和 SPTM 能够分别提升 21.37% 和 20.79% 的 F1,效果明显较好。在推理耗时方面,CPU 场景下 SPTM 耗时 11.74ms,相比 BERT 的 81ms 能大大减少预测耗时,达到线上预测要求。

检索模型探索

在问答场景中,有结果率是一个重要的指标,计算方法为:AI 回复的用户消息量/用户发送的消息总量。有结果率较低,会造成大量的用户消息没有被回复,产生用户问答体验下降。而在黄页场景中,用户消息中存在大量陈述句和琐碎短句,难以归类于某一类问题,造成了有结果率较低。

人工客服与用户有着大量的历史交互数据,为了有效的利用这一部分人工客服数据,提高有结果率和用户体验,我们尝试了检索模型和分类模型相结合的方法来提高有结果率。检索模型将线上用户和客服的微聊数据构建离线的问答对 < 用户问题,客服回复 >,当线上用户咨询时,检索距用户消息距离最近的消息,并取对应的客服回复来回答用户。

离线构建表征模型的流程如下图所示,



(1)通过 IDCNN 实体识别过滤带有电话、地址、时间等信息的回复,通过规则和人工审核过滤带有姓氏和不恰当回复。

(2)采用 ALBert tiny[5]作为用户消息表征模型,将用户消息表征为 312 维的向量并横向拼接,构建 < 多轮表征,回复 > 的格式。

(3)多轮消息表征训练 Faiss 任务,用于线上检索最近邻消息,回复写入 Redis 用于线上回答。

图片

线上预测流程如图所示:

(1)用户消息通过 ALBert tiny 输出第四层 Encoder 的 312 维的表征向量,拼接后获取多轮表征

(2)通过 Faiss 检索召回多条相似表征向量

(3)阈值过滤,距离精排选取 top1 相似表征

(4)以相似表征对应 ID 为 Key 获取对应的人工客服回复

图片

模型融合

检索模型模型和分类模型在回复消息的分布上存在差异,为此我们融合了检索模型和分类模型。以检索模型优先,分类模型作为兜底,当检索模型无结果时由分类模型来回复。

图片

融合模型提高了对于用户的有结果率,相比分类模型,仅使用检索模型能够提高 7.68% 的有结果率,而融合检索模型和分类模型之后能够提高 26.21% 的有结果率,同时在结果的准确率方面并没有下降。

在模型融合方面,当前的融合方法逻辑相对简单,仅仅当检索结果不满足要求的时候再调用分类模型。但实际线上的检索回答结果并不一定优于分类模型回答,这里可以构建一个精排模型,将分类模型答案与检索答案一起精排来决定最终选择。但检索模型仍旧存在一些问题,历史数据并不一定恰当,需要进行大量的人工审核。并且由于人工客服回复中也存在商机引导内容,检索结果与智能回复中的 taskbot 存在冲突。

总结和展望

帮帮商家版是有效连接商家和用户的平台,QABot 作为与用户直接交互的渠道,关系着用户的使用体验。我们通过不断优化实践提高 QABot 问答效果,在不同的业务线中均促进了商机转化率的提高,为公司带来了更多收益。

今后的实践过程中会进行更多的算法调研,例如在检索精排过程中尝试 DAM[6]等多轮匹配模型而非阈值或规则等方法,从语义层面来提高问答匹配的准确率。

参考文献:

[1] Devlin J , Chang M W , Lee K , et al. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding[J]. 2018.

[2] Mikolov T, Chen K, Corrado G, et al. Efficient Estimation of Word Representations in Vector Space[J]. Computer Science, 2013.

[3] Joulin A , Grave E , Bojanowski P , et al. Bag of Tricks for Efficient Text Classification[J]. 2016.

[4] Huang P S , He X , Gao J , et al. Learning deep structured semantic models for Web search using clickthrough data[C]// Proceedings of the 22nd ACM international conference on Conference on information & knowledge management. ACM, 2013.

[5] Lan Z, Chen M, Goodman S, et al. Albert: A lite bert for self-supervised learning of language representations[J]. arXiv preprint arXiv:1909.11942, 2019.

[6] Xiangyang Zhou∗, Lu Li∗, Dong D , et al. Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network[C]// Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2018.

作者简介:

郭宗沂, 58 同城 TEG 技术工程平台群 AI Lab 算法工程师

部门简介:

58 同城 TEG 技术工程平台群 AI Lab,旨在推动 AI 技术在 58 同城的落地,打造 AI 中台能力,以提高前台业务人效和用户体验。AI Lab 目前负责的产品包括:智能客服、语音机器人、智能写稿、智能语音分析平台、智能营销系统、AI 算法平台、语音识别等,未来将持续加速创新,拓展 AI 应用。

部门详细介绍可点击:ailab.58.com


本文地址:https://www.6aiq.com/article/1614636786056
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出

更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: