相关文本匹配技术

问题描述

根据query从海量的doc中召回最相关的N个doc。

从数据上区分,通过用点击数据训练得到的模型是行为相关,通过相关本文训练的数据是语义相关
从模型上区分,有基于表征的关联模型和基于匹配的关联模型。

 

语义关联模型

从语义关联模型的角度,可以分为基于表征的模型和基于交互的模型

模型的训练目标可以分为3类:
  • pointwise,即一个query对应1个doc,标签形式为 0 或 1,标签 0 表示 query 与该 doc 不匹配,标签 1 表示匹配。
  • pairwise,即一个query对应N个doc,需负采样N-1个doc,标签形式为 一个1多个0 。
  • listwise,一个query对应M个doc,标签形式为 1 到 M 的正整数,标签 m 表示 query 与该 doc 的匹配度在该组里位列第 m 位。(具有性质排序的标签,很难标,一般不会用)
 

基于表征的SE 网络

query和doc都被同一模型表征成embedding之后进行匹配(必须是同一参数的模型,使用不同参数的模型训练会将query和doc嵌入到不同的向量空间中,模型无法收敛)。
相关文本匹配技术_第1张图片
 
  • representation-based 类模型,思路是基于 Siamese 网络,提取文本整体语义再进行匹配。
  • 典型的 Siamese 结构,双塔共享参数,将两文本映射到同一空间,才具有匹配意义。
  • 表征层进行编码,使用 MLP、CNN、RNN、Self-attention、Transformer encoder、BERT 均可,模型越复杂,关联效果越好,同时计算复杂度越大。
  • 匹配层进行交互计算,采用点积、余弦、高斯距离、MLP、相似度矩阵均可。
  • 经典模型有:DSSM、CDSSM、MV-LSTM、ARC-I、CNTN、CA-RNN、MultiGranCNN 、Bert等。
  • 优点是可以对文本预处理,构建索引,大幅降低在线计算耗时。
  • 缺点是失去语义焦点,易语义漂移,难以衡量词的上下文重要性。

基于交互的SI 网络

相关文本匹配技术_第2张图片

 
  • interaction-based 类模型,思路是捕捉直接的匹配信号(模式),将词间的匹配信号作为灰度图,再进行后续建模抽象。
  • 交互层,由两文本词与词构成交互矩阵,交互运算类似于 attention,加性乘性都可以。
  • 表征层,负责对交互矩阵进行抽象表征,CNN、S-RNN 均可。
  • 经典模型有:ARC-II、MatchPyramid、Match-SRNN、K-NRM、DRMM、DeepRank、DUET、IR-Transformer、DeepMatch、ESIM、ABCNN、BIMPM 等。
  • 优点是更好地把握了语义焦点,能对上下文重要性进行更好的建模。
  • 缺点是忽视了句法、句间对照等全局性信息,无法由局部匹配信息刻画全局匹配信息。

总结

实践经验中,SE类网络效果较好,可以利用大量的负采样+负采样共享技术实现高效的训练,Albert模型性价比超高,不过需要注意将position embedding固定,或者改用正余弦交替的position embedding,因为query和doc长度差距较大,同一位置的position embedding语义相差较大。SI类网络训练任务由于无法采样大量的负样本,导致损失函数很快收敛到一个较小的值,训练效率低,,从而模型效果也不如SE类网络。实际上基于词汇重合度的无监督算法TFIDF、BM25 等技术较粗糙但是也有SI网络的意思,也能达到不错的效果。

你可能感兴趣的:(学习笔记,自然语言处理,神经网络,深度学习)