天天看点

哈啰智能客服:如何应用语言模型提升机器人服务能力

作者:闪念基因

哈啰智能客服的总体介绍和算法流程

用户、算法眼中的智能客服痛点

哈啰智能客服:如何应用语言模型提升机器人服务能力

右图是哈啰APP的客服中心,用户进入该页面,系统会根据用户的使用情况智能推荐高频问题,并猜测用户想解决的问题,这部分标准问题的解决方案由业务专家进行整理,能涵盖用户大部分的意图。对于解决不了的问题,用户进入IM入口,聊天机器人会和用户进行对话。机器人基于知识库进行匹配,针对每个意图分别配置答案,或者给出具体解决方案。

目前的痛点在于:

  • 知识库迭代更新费时费力
  • 模型难以跨业务通用
  • 解决方案涉及到多模态的复杂数据融合问题
  • 多轮任务型会话上下文的长距离依赖问题

用户在哈啰智能客服的历程

哈啰智能客服:如何应用语言模型提升机器人服务能力

用户进入热线或在线服务渠道,以线渠道为例,系统会预测用户想咨询的订单,并给出猜你想问和自助服务,如不能解决问题,会进入机器人服务。机器人链路包括query补全、精准匹配、分类模型、匹配模型和启发式问答,解决方案依托于知识库,可能是一套标准的服务流程,也可能需要判责,包括规则和智能判责。

机器人仍不能解决问题,会进入人工服务,我们用了NLP辅助人工客服更好地服务用户,如智能派单,并给出服务引导,在确认问题后实时推荐方案,用户确认方案后会进行话术推荐。如果不能解决需要升级到专门的客服,会生成摘要工单后移交。

此外,哈啰有一套利用众包模式的云客服系统,目前云客服受理占比达到70%。

案例:意图识别 表示型文本匹配模型 > 分类模型

哈啰智能客服:如何应用语言模型提升机器人服务能力

意图识别可用分类做,也可用匹配。分类模型无法适应知识库变更、迁移性弱,而匹配模型能很好地克服这些缺点。

分类模型局限性:

  • 知识库变更无法及时响应,模型维护投入量大;
  • 新标准问缺少训练数据,无法更新模型;
  • 需要大量标注高质量数据,耗费人力大;无法快速迁移到新业务。

匹配模型优势:

  • 对知识库变更能及时响应,降低维护成本;
  • 在新增标准问缺少训练数据情况下,也能进行识别;
  • 可快速迁移到新业务,可做成通用模型,应用于所有业务;
  • 可单纯通过增加相似问就能提高识别能力,易于优化。

但是匹配模型有自己的问题。在克服准确率下降的困难后,我们匹配模型超越了分类模型的效果。

在实践中我们尝试了多种模型和优化方案,最终超越了线上分类模型的效果,在一条业务线的意图识别top1 准确率达到了82.21%。

案例背景

哈啰智能客服:如何应用语言模型提升机器人服务能力

匹配模型分两类,各有自身缺点。交互型匹配模型准确率高,但计算量大,故而放弃。表示型匹配准确率一般不如分类,如何提升准确度成了我们思考的重点。

表示型匹配模型落地流程

哈啰智能客服:如何应用语言模型提升机器人服务能力

一系列优化措施提升准确率

哈啰智能客服:如何应用语言模型提升机器人服务能力

使用对比loss能够对效果有所提升,但还是远远不够。我们做了一系列实验,如图是实验的记录,发现领域内大规模预训练、扩充高质量数据和输入文本mask有效,增大句子长度和温度系数有一定效果,采样策略效果一般。

成功要点 VS 无效尝试

成功要点:

  • 超越线上分类模型(fastText),top1 准确率82.21% > 80.62%;
  • 意图识别QPS高,精排匹配不适合,重点转向更好的编码表示;
  • 预训练和数据质量始终是影响的大头;
  • 多尝试,引入CV经验和各种tricks。

无效尝试:

  • 尝试不同损失函数:tripletloss、bprloss,损失组合等;
  • 调参:学习率,batch size;
  • 模型选择:CNN、ALBERT、SentBert、ESIM;
  • 其他逻辑:mask方式、拼接标准问等。

下一步启示

  • 难负例是指距离小于一个较小阈值的负例,需要拉开;
  • 知识库里不同标准意图(类)间,相似的样本少,导致难以区分;
  • l 受simCSE启发,可用dropout机制为难负例生成更多难负例。

案例:度量学习技术提升新意图发现的准确率

哈啰智能客服:如何应用语言模型提升机器人服务能力

用户经常会有新的意图,需要及时发现。我们希望建设有壁垒的知识库,需要重叠率低且覆盖率高,覆盖率高需要自动挖掘新意图。传统的做法是对未识别问题聚类,然后人工选出新意图,而我们的做法是用模型识别已知类和未知类,然后从未知类中选出。最终,我们推荐出的新意图占比提升50%,人工审核效率提升。

案例背景

哈啰智能客服:如何应用语言模型提升机器人服务能力

传统聚类方法有一定的局限,人工审核效率低,推荐的新意图占比低。

关键实践

哈啰智能客服:如何应用语言模型提升机器人服务能力

我们用分类的方式识别新意图,假设k个类是已知类,第k+1类是未知类,例如“车主为什么不接单”这类表述分类到k+1类。具体的做法是通过决策边界,到每个类别中心的距离d是否在所有边界外,判断是否为新意图。边界的半径由自适应学习而来。

哈啰智能客服:如何应用语言模型提升机器人服务能力

我们进行了更好的语义特征表达,对『难』正负例进行采样。引入度量学习的三元组损失,每个batch选择跟锚点最远的正例,最近的负例。

实验数据

哈啰智能客服:如何应用语言模型提升机器人服务能力

我们在snips、banking和oos等3个该领域的公开数据集进行了实验,随机选择25%、50%、75%的类别作为已知意图,其余都作为新意图。

哈啰智能客服:如何应用语言模型提升机器人服务能力

随机x%的类作为已知类,剩下的未知类。80%的数据作为训练集,其余为测试集。第一个任务是做二分类,F1是对未知类,我们的整体正确率是最高的。第二个任务是做K+1分类,分别对已知、未知类计算F1,也是同样的结果。

成功要点

  • 自适应地确定决策边界,避免人为设置阈值的弊端;
  • 利用度量学习,侧重于获得更加各向同性的意图表达。为后续分类和学习决 策边界创造了条件;
  • 可从T-SNE可视化印证。

T-SNE Visualization

Beneficial from deep metric learning, the intents of the same class are clustered close, and the intents of different classes are also well separable. Moreover, open intents are farther away from known intents.

案例:生成式模型用于NLP任务

哈啰智能客服:如何应用语言模型提升机器人服务能力

我们使用生成式模型辅助人工客服,通过域内学习哈啰的知识,并通过微调,提升域内表现。

案例背景

人工客服理解业务、规则难度大,成本高,而ChatGPT等大模型表现出惊人的对话能力和总结能力。但如何应用于公司业务,有两个问题待解决。一是IDC资源受限,RT要求快,中文效果好;用多大的大模型,这么大的模型是否够用不明确。二是如何在保持通用能力同时,学到公司的业务知识。

开源基础模型评测

哈啰智能客服:如何应用语言模型提升机器人服务能力

我们对开源基础模型进行比较和评测。发现清华开源的ChatGLM-6B 参数较小,A100上RT 2s内,QPS也OK,中文任务支持高。

哈啰智能客服:如何应用语言模型提升机器人服务能力
哈啰智能客服:如何应用语言模型提升机器人服务能力

同时,我们对原生效果进行了评测,这里以语义分类任务和阅读理解任务为例。

业务上优化

哈啰智能客服:如何应用语言模型提升机器人服务能力

一是在Prompt工程,给模型更清晰的提示。实体识别准确率有所提高,但指令遵从性较差,回复内容不可控,导致准确率低。

哈啰智能客服:如何应用语言模型提升机器人服务能力

二是融入GPT4中文指令,并微调P-tuning。指令遵从性有所提高,但响应时间较长,影响体验。

哈啰智能客服:如何应用语言模型提升机器人服务能力

三是学习哈啰知识,实体识别准确率和匹配准确率有所提高,但胡编几率较高,输出不可控。

哈啰智能客服:如何应用语言模型提升机器人服务能力

四是增多高质量数据,匹配准确率大大提高,回答更可控。

未来展望

  • 基于知识库QQ匹配的意图识别技术已经很成熟。在专业领域内继续训练及微调,获取领域知识后,能够生成更好的回答,减轻人们的脑力负荷;
  • 生成式大模型短期内不太可能直接为用户提供解决方案。因为业务的复杂性 经常超出想象,并且解决方案取决于多模态的数据。除了文本和图像,还和订单状态、用户画像、地理轨迹、点击行为、商品卡券等相关;
  • TaskMatrix提供思路,一系列解决方案可以抽象为APIs,它们和具体业务 数据相关。把LLM作为自然语言人机交互工具。LLM正确顺序调用正确的 API并给出解决方案,仍然有不少难点。

作者:王林林

来源:微信公众号:哈啰技术

出处:https://mp.weixin.qq.com/s/E0CJ6y_pAs_VfI4hethXKw

继续阅读