2020 年 10 月 12 日 - 发布者:刘慧云,网易高级算法工程师 随着自然语言处理 (NLP) 技术的发展,智能客服已成为电子商务领域的重要应用场景。近年来,这一应用场景越来越受到关注。这是因为,在购买过程中,如果用户遇到任何问题或有疑问,需要转到客服系统进行咨询和支持。如果客服系统能够提供准确有效的回复,将直接提升用户体验,对购买转化率产生积极影响。例如
随着自然语言处理 (NLP) 技术的发展,智能客服已成为电子商务领域的重要应用场景。近年来,这一应用场景越来越受到关注。这是因为,在购买过程中,如果用户遇到任何问题或有疑问,需要转到客服系统进行咨询和支持。如果客服系统能够提供准确有效的回复,将直接提升用户体验,对购买转化率产生积极影响。例如
在实际业务运营中,网易严选,中国大型电子商务平台,会产生并积累大量信息,例如商品属性、活动运营、售后政策。同时,相应的业务逻辑也比较复杂。智能客服是一个智能对话系统,它利用这些信息自动回答用户的问题,或帮助人工客服人员进行回答。
然而,电子商务领域涉及许多详细且复杂的业务方面,用户可能会以多种不同的方式,并以口语化的方式提问。这些特性要求智能客服系统具备强大的语义理解能力。为此,我们结合了一般的客户场景和严选的业务,设计了一个基于深度学习的系统。查看严选智能客服框架的完整图
如您所见,深度学习算法被应用于框架中的不同模块。由于先进的 NLP 算法,我们可以从用户的语句中提取更多通用和多粒度的语义信息。
图 3 显示了晓轩机器人在一个真实的对话场景中回答问题。接下来,我将介绍应用深度学习技术的不同子模块。
图 3. 在线对话示例 |
当用户输入文本时,我们使用基于 TensorFlow 构建的多层分类意图识别模型来分析输入文本、其上下文以及用户的历史行为。我们将一级意图分为四大类:售前商品问题、售后问题、闲聊以及其他。当用户询问常见的政策相关的售后问题时,输入会概括为更详细的二级意图。单击此处(图 4)查看意图识别流程的结构。
本质上,意图识别可以看作是一个分类问题。在构建分类系统时,我们使用 Attention+BiLSTM (ABL) 模型结构作为初步基线。除了原始输入文本,我们还设计了更多输入到深度模型的特征,例如 Transformer 模型中的 n-gram 和位置编码。最终,更多人工设计的特征将模型准确率提高了三个百分点。此外,我们还使用微调后的 BERT 模型来训练一个使用较少标记数据的分类模型,其性能与 ABL 模型一样好。预训练模型具有更好的泛化能力,并且可以基于更少的标记数据学习更多语义信息。但是,这种方法需要更多计算资源。
回答常见问题是智能客服系统的关键功能。该模块由两个组件组成:召回和重新排序。
在自动问答领域,文本匹配算法通常应用于句子相似度任务和自然语言推理任务。从最基本的 Siamese-LSTM 网络,匹配模块的结构已经通过 InferNet、可分解注意力、ESIM,最终发展到 BERT 模型。一般来说,匹配算法可以分为两种,一种是基于表示的,另一种是基于交互的。表示方法侧重于单个句子的编码,而不考虑交互方法中使用的句子之间的交互语义。
在服务层,我们采用多种问题匹配解决方案
这三种方法以不同的方式执行问题相关性召回和问答关联匹配。在匹配和排序阶段,我们可以使用灵活的加权判别。
我们构建了一个 Siamese-LSTM 模型作为我们的基线模型,然后实现了以下模型迭代解决方案
测试表明这些优化改进了这些模型。例如,Transformer 模型的编码器在任务 (1) 和 (3) 中表现出更好的准确率,性能提高了近 5 个百分点。
此外,我们发现,在没有任何额外的特征构建或技术的情况下,BERT 可以提供稳定且出色的匹配性能。这是因为,在预训练阶段,BERT 的目标是预测两个句子之间是否存在上下文关系,因此它可以学习句子之间的关系。此外,自注意力机制擅长捕捉深层语义,并且可以获得句子 A 中的单词与句子 B 中的任何单词之间的细粒度匹配结果。这对文本匹配任务至关重要。
在商品知识库问答 (KBQA) 和购物指南模块中,我们基于 TensorFlow 为电子商务领域构建了一个命名实体识别 (NER) 模型。该模型可以识别用户提出的问题中商品名称、商品属性名称、商品属性值和其他关键商品信息,如图 5 所示。然后,实体名称被发送到下游模块,在那里使用问答知识图技术来生成最终答案。
图 5. 电子商务 NER 示例 |
通常,NER 算法模型使用带有条件随机场 (CRF) 层的双向 LSTM。前者捕捉前后特征,理解上下文,并充分提取上下文信息。后者侧重于从当前对话文本的局部和全局特征构建的概率转移,有效地挖掘文本的语义信息。严选使用 BiLSTM-CRF 模型作为词粒度基线模型,为智能客服系统提供服务。在后来的实验中,我们测试了特征提取和微调后的 BERT 模型。
在基于 bert 的模型优化中,我们尝试使用 bert 提取句子向量特征,并将它们融入 bilstm 和 crf,以及基于 bert 的微调的两种方法:最后一层嵌入预测和加权隐藏层的嵌入方法。在测试集上,特征融合效果最佳,F1 高达 0.92,其次是多隐藏层融合方法 (0.90),最后是单高层方法 (0.88)。就在线推理的时间效率而言,特征融合大约需要 100 毫秒,而微调模型大约需要 10 毫秒。
使用严选数据集的性能结果如表 1 所示。这些结果告诉我们以下内容
一个独立的客服机器人必须能够回答用户提出的复杂问题。同时,它也需要具备闲聊的能力,展现其人性化和智能性。
为了赋予我们的机器人这种能力,我们构建了一个可以处理日常聊天的闲聊模块。该模块包含两个关键模型:基于检索的 QA 和生成式 QA。
然而,纯粹的 E2E 方式生成响应难以控制。因此,我们决定在我们的在线系统中融合这两个模型,以确保更可靠的响应。
图 6 展示了基于 BERT 模型的在线服务流程。得益于 BERT 等语言模型的开源 TensorFlow 版本,只需少量标记样本即可构建各种具有高精度的文本模型。然后,我们可以使用 GPU 加速计算,以满足在线服务的 QPS 要求。最后,我们可以基于 TensorFlow Serving (TFS) 快速部署和启动模型。因此,正是 TensorFlow 的支持,使我们能够稳定、高效地部署和迭代在线服务。
图 6. 基于 BERT 的在线服务流程 |
随着深度学习技术的不断发展,新的模型将在 NLP 领域取得新的突破。通过持续将学术界的前沿成果应用于产业界,我们可以取得杰出的业务成果。然而,这一切都离不开 TensorFlow 的功劳。在严选的业务场景中,TensorFlow 提供了灵活、精细的 API,使工程师能够进行敏捷开发和测试新模型,极大地促进了算法模型的迭代。