使用机器学习提升客户服务
Hugging Face 展示了一种通过机器学习过滤和优先处理不满意客户反馈来实现客服自动化的工作流。通过将业务问题映射为文本分类任务并微调预训练的 Transformer 模型,组织可以显著降低人工工作量,同时确保紧急投诉得到处理。
将客户服务映射到 NLP 任务
为了自动化客户信息的优先级排序,该问题被建模为 文本分类任务。具体而言,目标是将收到的消息分类为五种情感类别之一:非常不满意、不满意、中性、满意或非常满意。
这种方法使客服团队能够专注于最不满意的客户,目标是回复 100% 的紧急信息,同时过滤掉中性或正面的反馈。
数据集选择与整理
模型性能在很大程度上取决于训练数据的质量和相关性。虽然在实际应用中建议使用公司内部数据,但 Hugging Face 在本次模拟中使用了 amazon_reviews_multi 数据集。
数据集评估标准
- 质量:数据必须对应预期的真实使用场景,并保持多样性和无偏性。
- 规模:更大的数据集通常能带来更好的性能。
在多个选项中,选择了 amazon_reviews_multi,因为它提供了细粒度的情感标签(1-5 星),可以直接映射到所需的五个情感类别,而其他数据集如 Amazon polarity 仅提供二元标签。
模型选择与微调
在本实现中,选择了 microsoft/deberta-v3-base 模型。DeBERTa 在 GLUE、SuperGLUE 等基准测试中排名靠前,这些基准用于评估文本分类能力。
技术实现工作流
- 预处理:使用
datasets库,对review_body进行分词,并限制最大长度为 128 个 token。标签(1-5)被转换为 0-4 范围,以兼容模型。 - 训练:使用 Hugging Face
TrainerAPI 对模型进行微调,超参数如下:- Epochs(训练轮数):2
- Learning Rate(学习率):2e-5
- Warmup Steps(预热步数):200
- Evaluation Strategy(评估策略):每 5,000 步
- 指标:初始评估使用标准准确率。模型在验证集上约达到 61.8% 的准确率,训练 50,000 步后。
针对用例的特定评估
如果业务目标较为具体,标准准确率可能会产生误导。为更好衡量模型在客服中的实用性,Hugging Face 实现了一个聚焦于 “非常不满意” 类别的自定义指标。
将 “非常不满意” 与 “不满意” 两个标签都视为需要响应的目标,模型在测试集上取得了以下结果:
- 对非常不满意客户的召回率:约 95%(正确捕获的非常不满意信息的比例)。
- 误报率:约 12%(将满意信息错误标记为不满意的比例)。
业务影响模拟
在每日 10,000 条信息(其中 500 条为非常负面)的情境下,该系统可将人工工作量从 10,000 条降至约 1,700 条。这相当于 降低 83% 的人工工作量,且仅漏掉 5% 的最紧急投诉。
生产环境优化
一旦模型达到可接受的性能,Hugging Face 推荐以下几种生产优化路径:
- 硬件与精度:使用优化的 GPU 并将精度降低至 float16。
- 加速库:使用 ONNX Runtime、量化或类似 NVIDIA Triton 的推理服务器。
- Hugging Face Optimum:一个旨在简化 Transformer 模型优化的开源库。
- Inference API:一种即插即用的解决方案,可在生产环境中提供机器学习任务服务,无需深厚的技术基础设施知识。