2. 经典匹配模型
已经提出了使用传统的机器学习技术进行搜索中的查询文档匹配和推荐中的用户项目匹配的方法。这些方法可以在一个更通用的框架内形式化,我们称之为“学习匹配”。除了搜索和推荐外,它还适用于其他应用,例如释义,问题解答和自然语言对话。本节首先给出学习匹配的正式定义。然后,它介绍了传统学习以匹配为搜索和推荐而开发的方法。最后,它提供了该方向的进一步阅读。
2.1 匹配学习
2.1.1 匹配函数
匹配问题的学习可以定义如下。假设存在两个空间X和Y。在两个空间 x∈X和 y∈Y的两个对象上定义了一个匹配函数 F=f(x,y),其中每个函数f:X×Y→R表示两个对象x和y之间的匹配程度。两个对象x和y及其关系可以用一组特征 Φ(x,y)来描述。
匹配函数f(x,y)可以是特征的线性组合:
其中w是参数向量。它也可以是广义线性模型,树模型或神经网络。
2.1.2 匹配学习函数
可以采用监督学习来学习匹配函数f的参数,如图2.1所示。
监督学习的匹配通常包括两个阶段:离线学习和在线匹配。在离线学习中,给出了一组训练实例D={(x1,y1,r1),...,(xN,yN,rN)},其中ri是指示对象之间匹配程度的布尔值或实数xi和 yi,N是训练数据的大小。进行学习以选择可以在匹配中表现最好的匹配函数f∈F。在在线匹配中,给定一个测试实例(一对对象)(x,y)∈X×Y,学习到的匹配函数f用来预测对象对之间的匹配度,表示为f(x,y)。
与其他监督学习问题类似,我们可以将学习匹配的目标定义为最小化损失函数,该函数表示匹配函数在训练数据和测试数据上可以达到多少精度。更具体地,给定训练数据D,学习等于解决以下问题:
目标由两部分组成:经验损失L(D,f)衡量匹配函数f对训练数据产生的总损失,而正则化器Ω(f)防止过拟合训练数据。通常选择Ω(f)来惩罚f的复杂度。流行的正则化器包括l1,l2以及它们的混合。
经验损失函数L(D,f)的不同定义导致不同类型的学习以匹配算法。文献中已广泛使用三种类型的损失函数,分别称为点向损失函数(pointwise loss function),成对损失函数(pairwise loss function)和列表损失函数(listwise loss function)【1】。接下来,我们简要描述三种类型的损失函数。
Pointwise Loss Function
Pointwise Loss Function 仅在一个实例(即源对象和目标对象)上定义。假设存在一对真正匹配度为r的对象 (x,y)。此外,假设由匹配模型给出的 (x,y)的预测匹配度是 f(x,y)。逐点损失函数定义为表示匹配度之间差异的度量,表示为 lpoint(r,f(x,y))。 f(x,y)与r越近,损失函数的值越小。在学习中,给定训练数据集 D={(x1,y1,r1),...,(xN,yN,rN)},我们将训练数据的总损失或对象对损失的总和最小化:
其中 (xi,yi)的真实匹配度。
作为 Pointwise Loss Function 的一个示例,均方误差(MSE)是广泛使用的损失函数。给定一个带标签的实例 (x,y,r)和匹配模型f,MSE定义为:
另一个例子是交叉熵损失函数。交叉熵损失函数假设r∈0,1,其中1表示相关,否则为0。进一步假设f(x,y)∈[0,1]是x和y相关的预测概率。然后,交叉熵损失定义为:
Pairwise Loss Function
假设有两对对象(x,y )和 (x,y−),其中一个对象x是共享的。我们称x源对象(例如查询或用户)、 y 和 y−为目标对象(例如文档或项目)。进一步假设在给定对象x的情况下,在对象 y 和 y−之间存在顺序,表示为 r >r−。在此, r 和 r−分别表示(x,y )和 (x,y−)的匹配度。对象之间的顺序关系可以显式或隐式获得。
我们使用 f(x,y )和 f(x,y−)分别表示匹配模型f给出的(x,y )和 (x,y−)的匹配度。Pairwise Loss Function 定义为表示匹配度和阶数关系之间差异的度量,表示为 lpair(f(x,y ),f(x,y−))。f(x,y )比 f(x,y−)越大,损失函数值越小。
在学习中,给定训练数据集D,一组有序对象对P的推导如下:
训练数据上的总经验损失是有序对象对上的损失之和:
我们可以看到Pairwise Loss Function是在对象的有序对上定义的。
例如,通常采用pairwise hinge loss。给定一个偏好对(x,y ,y−)和匹配模型f,pairwise hinge loss定义为
推荐中 pairwise loss 的另一种常见选择是贝叶斯个性化排序(BPR)损失【6】,其目的是最大程度地提高正例预测和负例预测之间的余量:
其中 σ(⋅)是sigmoid形函数。
Listwise Loss Function
在搜索和推荐中,源对象(例如,查询或用户)通常与多个目标对象(例如,多个文档或项目)相关。用于搜索和推荐的评估措施通常将目标对象列表作为一个整体来处理。因此,合理的是在目标对象列表上定义损失函数,称为Listwise Loss Function。假设源对象x与多个目标对象y=y1,y2,...,yN,以及相应的真实匹配度为 r=r1,r2,...,rN。在x和y1,y2,...,yN之间由f预测的匹配度为r^=f(x,y1),...,f(x,yN)。逐项损失函数定义为表示真实匹配度和预测匹配度之间差异的度量,表示为 llist(r^,r)。r^中的预测匹配度与r中的真实匹配度越高,则损失函数的值越低。在学习中,给定训练数据 D={(xi,yi,ri)}i=1M,经验损失函数定义为训练实例上按Listwise Loss的总和:
listwise loss function的一个示例,某些方法将其定义为给定其他不相关对象时,判断为相关对象的概率的负数。具体来说,让我们假设在y中仅存在一个相关文档,该文档表示为y 。然后,标记对象的列表可以写为 (x,y=y ,y1−,...,yM−),其中 y1−,...,yM−是M个不相关的对象。逐列表损失函数可以定义为在给定x的情况下y 是相关的概率的负数:
其中λ>0,是一个参数。
与排序学习的关系
我们认为匹配学习和排序学习是两个不同的机器学习问题,尽管它们之间密切相关。排序学习【7】【8】是学习一个表示为 g(x,y)的函数,其中x和y分别是查询中的查询和文档以及推荐中的用户和项目。例如,在搜索中,排序函数 g(x,y)可能包含有关x和y之间关系的特征,以及x上的特征和y上的特征。相反,匹配函数 f(x,y)仅包含有关x和y之间关系的特征。
通常,首先训练匹配函数 f(x,y),然后以 f(x,y)为特征来训练p排序函数 g(x,y)。对于排序,确定多个对象的顺序是关键,而对于匹配,确定两个对象之间的关系是关键。当排名函数 g(x,y)仅包含匹配函数 f(x,y)时,只需要学习即可进行匹配。
在搜索中,x上的特征可以是查询x的语义类别,y上的特征可以是PageRank分数和文档y的URL长度。匹配函数f(x,y)定义的特征可以是传统IR中的BM25,也可以是传统机器学习或深度学习中学习的函数。排名函数g(x,y)可以通过LambdaMART【9】实现,这是传统机器学习的算法。表2.1列出了匹配学习和排序学习之间的一些关键区别。
最近,研究人员发现,传统的IR中的单变量评分模式是次优的,因为它无法捕获文档间的关系和本地上下文信息。已经开发了将文档列表与多元评分函数直接进行排序的排序模型【10】【11】【12】【13】。在推荐方面也做出了类似的努力(Pei et al。,2019)。因此,从这个意义上说,匹配和排名的问题可以更加明显地分开。
引文
【1】Cao, Y., J. Xu, T.-Y. Liu, H. Li, Y. Huang, and H.-W. Hon (2006). “Adapting ranking SVM to document retrieval”. In: Proceedings of the 29th Annual International ACM SIGIR Conference on Re- search and Development in Information Retrieval. SIGIR ’06. Seattle, Washington, DC, USA: ACM. 186–193. 【2】He, X., L. Liao, H. Zhang, L. Nie, X. Hu, and T.-S. Chua (2017c). “Neural collaborative filtering”. In: Proceedings of the 26th Interna- tional Conference on World Wide Web. WWW ’17. Perth, Australia. 173–182. 【3】Joachims, T. (2002). “Optimizing search engines using clickthrough data”. In: Proceedings of the Eighth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. KDD ’02. Edmonton, Alberta, Canada: ACM. 133–142. 【4】Nallapati, R. (2004). “Discriminative models for information retrieval”. In: Proceedings of the 27th Annual International ACM SIGIR Con- ference on Research and Development in Information Retrieval. SIGIR ’04. Sheffield, UK: ACM. 64–71. 【5】Rendle, S., C. Freudenthaler, Z. Gantner, and L. Schmidt-Thieme (2009). “BPR: Bayesian personalized ranking from implicit feedback”. In: Proceedings of the Twenty-Fifth Conference on Uncertainty in Artificial Intelligence. UAI ’09. Montreal, Quebec, Canada: AUAI Press. 452–461. url: http://dl.acm.org/citation.cfm?id=1795114.1 795167. 【6】Rendle, S., C. Freudenthaler, Z. Gantner, and L. Schmidt-Thieme (2009). “BPR: Bayesian personalized ranking from implicit feedback”. In: Proceedings of the Twenty-Fifth Conference on Uncertainty in Artificial Intelligence. UAI ’09. Montreal, Quebec, Canada: AUAI Press. 452–461. url: http://dl.acm.org/citation.cfm?id=1795114.1 795167. 【7】Li, H. (2011). “Learning to rank for information retrieval and natural language processing”. Synthesis Lectures on Human Language Technologies. 4(1): 1–113. 【8】Liu, T.-Y. (2009). “Learning to rank for information retrieval”. Foun- dations and Trends in Information Retrieval. 3(3): 225–331. 【9】Burges, C. J. (2010). “From RankNet to LambdaRank to LambdaMART: An overview”. Technical report. MSR-TR-2010-82. https://www.mi crosoft.com/en-us/research/publication/from-ranknet-to-lambdar ank-to-lambdamart-an-overview/. 【10】Ai, Q., K. Bi, J. Guo, and W. B. Croft (2018). “Learning a deep listwise context model for ranking refinement”. In: The 41st International ACM SIGIR Conference on Research & Development in Informa- tion Retrieval. SIGIR ’18. Ann Arbor, MI, USA: Association for Computing Machinery. 135–144. 【11】Bello, I., S. Kulkarni, S. Jain, C. Boutilier, E. H. Chi, E. Eban, X. Luo, A. Mackey, and O. Meshi (2018). “Seq2Slate: Re-ranking and slate optimization with RNNs”. In: Proceedings of the Workshop on Negative Dependence in Machine Learning at the 36th International Conference on Machine Learning. Long Beach, CA. PMLR 97, 2019. 【12】Jiang, R., S. Gowal, Y. Qian, T. A. Mann, and D. J. Rezende (2019b). “Beyond greedy ranking: Slate optimization via list-CVAE”. In: 7th International Conference on Learning Representations, ICLR 2019, New Orleans, LA, USA. OpenReview.net. url: https://openreview. net/forum?id=r1xX42R5Fm. 【13】Pang, L., J. Xu, Q. Ai, Y. Lan, X. Cheng, and J.-R. Wen (2020). “Se-tRank: Learning a permutation-invariant ranking model for informa- tion retrieval”. In: The 43rd International ACM SIGIR Conference on Research & Development in Information Retrieval. SIGIR ’20. Association for Computing Machinery.