介绍
本文的主要贡献:
- 分析了已存档答案在相似问题识别任务中的作用,并提出了答案的两面用法,以将其用作两个问题的桥梁。
- 提出了一种新颖的匹配匹配(
)模型,以比较两个问题在相同答案上的匹配模式,以进行相似的问题识别。
模型
给定一个用户问题
- 基于表示的相似度模块:根据两个问题的表示在两个问题之间生成一个相似向量
- 基于匹配模式的相似度模块:比较两个问题与已归档答案的匹配模式
- 聚合模块:通过汇总基于表示形式和基于匹配模式的模块来产生最终的相似度得分。 整体架构如图3所示,我们将按以下方式详细描述模型
基于表示的相似度模块
基于表示的相似度模块一般以这两个问题作为输入,预测一个相似度向量,与前面的问题匹配方法相似。由于BERT算法在许多自然语言理解任务中具有优越性,因此在本文中采用该算法来度量问题的相似性。
其中,
基于匹配模式的相似度模块
基于匹配模式的相似度模块负责比较两个问题在相同答案上的匹配模式。如图3右侧所示,此模块具有Siamese网络结构,其中包括三个依赖层:
- 匹配模式层:以两个问题-答案对作为输入并分别学习它们的匹配模式
- 模式相似度层:通过对比两个匹配模式来建立模式相似度张量
- 压缩层:通过压缩匹配的相似度张量来产生问题之间的相似度向量
匹配模式层
再次采用Bert来计算同一答案上两个问题的匹配范围。 与公式1中的
式中,L为Bert中Transformer层数,
模式相似度层
给定两个匹配模式
其中S表示张量方向相似度函数,
按元素计算的匹配相似性标量
相似度计算函数:
- 点积:
- 余弦:
- L1:
- L2:
- Jesene-Shannon散度:
压缩层
压缩层旨在通过将图案相似度张量
聚合模块
来自前两个模块的相似度向量被组合起来以计算该模块中的问题相似度分数
⊗是按元素相乘,σ表示sigmoid 函数,
基于问题的相似度向量
其中
模型训练和推理
在训练阶段,采用交叉熵损失以端到端的方式学习Match2模型。 为了充分训练模型,我们采用了多任务学习策略将问题与问题的匹配任务与问题与问题的匹配任务相结合。问题与问题的匹配任务旨在以两个问题之间的相似性为主要测量对象 答案匹配是一项辅助任务,旨在评估答案是否可以满足基于匹配模式的相似性模块中的问题。然而,由于缺少问答匹配标签,我们应该为辅助任务建立基础,(1)对于每个存档问题,我们将相应的存档答案视为相关答案; (2)对于每个用户问题,我们将与其相似问题相对应的答案视为相关答案,因此,我们再次计算了具有交叉熵损失的问题答案匹配损失
其中r∈[0,1]是主要任务丢失率,为了克服稀疏不相关答案的问题,对于每个问题,我们从其top-K中随机抽取不相关答案通过BM25[34]方法从整个答案集合中检索到5个候选答案。请注意,如果答案与用户问题和归档问题都不相关,则在训练该实例时将r设置为0,因为在这种情况下答案不能成为桥梁。
在推理阶段,给定用户问题
实验
结论
本文的创新点在于针对Q-Q匹配引入Q-A匹配来辅助判断,并巧妙的设计了聚合模块,但是在推理阶段是令人担忧的。
参考文献
1、Match2 : A Matching over Matching Model for Similar question Identification