我们在基于深度学习的语义相似度模型系列文章的开篇《深度学习语义相似度系列:概论》中介绍了两种语义相似度的学习范式,其中第一种范式的重点是表示学习,也就是为输入对象学习一个低维稠密的embedding向量,使得基于此embedding向量计算的相似度能够很好地反映原始对象之间的相似性。本文主要介绍一种在第一范式下的相似度学习模型的设计。
相似度度量建模
一般而言,相似度度量可以建模为回归问题,也可以建模为分类问题,甚至可以建模为排序问题。取决于我们有什么格式的标签数据。
回归相似性学习
给定一对输入
以及它们的相似性度量值
. 回归相似性学习的目标是在三元组
训练数据集上学习一个近似函数
。这通常通过最小化一个带正则项的损失函数来达成目标
。
分类相似性学习
假设我们拥有的训练数据为一组成对的相似对象
集合和不相似对象
集合,训练数据可以等价地描述为对于每一个成对的输入对象
,关联一个二值标签
,标签表示输入的两个对象是否相似。分类相似性学习的目标是学习一个分类器来预测相似度。
排序相似性学习
相似度度量建模为回归或者分类问题虽然简单,但很多时候我们没有合适的带有标签的监督数据可用,而且人工标注的代价又很高。这时我们可以考虑把相似性度量问题建模为排序问题。
具体地,假设我们有一个由三元组
构成的数据集,其中每个三元组代表了一个预先定义好的偏序关系:
与
的相似度大于于
的相似度。排序相似性学习的目标是学习一个相似性度量函数
,使得对于一个新的三元组有
成立。 </