意图层级关系示例
意图识别本质上可以视为分类问题。在搭建分类体系时,我们采用 ABL(Attention Bi-LSTM)模型结构作为初版 baseline,后续引入融入浅层语意特征和用户行为数据,并借鉴 Transformer 中的 positional encoding (位置编码) 与原始输入进行融合,最终使模型的准确率提升三个点。除此之外,我们还基于 BERT 模型,采用 fine-tune 的方式,在更小的标注数据集上训练分类模型,最终的效果与 ABL - based 模型相差不多。预训练模型可以采用较少的样本就可以获得较好的泛化能力,减少人工标注的成本,但值得注意的是,这同时也需要付出更多的计算资源。
FAQ 业务问答是智能客服的核心功能之一,该模块由召回、重排两部分组成。- 召回阶段,采用了词粒度的离散检索,以及基于稠密句向量的语义检索
- 重排阶段,通过 TensorFlow 构建了文本匹配模型,对召回的候选问答进行重排序
辅佐策略融合,得到最终的答案
在自动问答领域,文本匹配技术通常被应用在句子相似度判别、问答语句相关性判别任务中。从最基础的 Siamese-LSTM 网络,到 InferNet、Decomposable Attention、ESIM,再到 BERT,匹配模型也经历了一系列的结构变迁。多数模型集中在两个维度发力:单句表征的 encode 方式,及利用各式 attention 捕捉句间的交互语义。
输入问题 Q 与标准问题 Qs 的相似问题匹配。
三类方式从不同角度分别提供问句的相关性召回效果、问答关联匹配效果,在 match 及 rank 阶段可以用策略灵活的加权判别。
模型层面,我们搭建 Siamese-LSTM 作为 baseline 模型,后续模型迭代方案包括以下:- 将 LSTM 子单元更换为 Transformer 的 encoder,并将余弦距离表征模块,替换为句子对向量特征 (u⃗
,v⃗,∣u⃗−v⃗∣,u⃗⋅v⃗) 接上 MLP 层
基于 BERT 的 fine-tune
实验下来,几个模型都有一定的提升,如 Transformer 的 encoder 最终在任务(1)和(3)中获取了更好的准确率,效果提升了近五个点。
另外我们发现,不需要额外的特征构造及技巧,BERT 便能获取稳定优秀的匹配效果。究其原因,BERT 在预训练阶段的目标任务之一就是预测两个句子之间是否是上下文的关系,可以学习到句间关系的知识;此外,自注意力机制更加擅长捕捉深层的语意,可以获得句子 A 中单词和句子 B 中任意单词的细粒度的匹配结果,这在文本匹配任务中是至关重要的。
在商品知识问答及导购模块中,我们基于 TensorFlow 构建了电商领域的命名实体识别(NER)模型,用来识别用户问句中的商品名、商品属性名、商品属性值等关键的商品信息(如下图所示),并将实体词送至后续模块,结合知识图谱问答技术生成最终的答案。