[ 文献阅读 ] Outline:Real-time Personalization using Embeddings for Search Ranking at Airbnb
推荐理由:该文获得了 KDD 2018 Applied Data Science Track 的 Best Paper,主要介绍了 Embedding 技术在 Airbnb 房源搜索排序中的应用。Airbnb是目前全世界最大的民宿短租平台,整篇文章与Airbnb自身业务特点紧密结合,非常具有工程实践价值。
关键词: Search Ranking; User Modeling; Personalization;搜索排序;用户模型;个性化;定制化
食用建议:需要掌握NLP中Word Embedding等相关知识。
1.摘要&简介
- 对于求租者与房东们的需求,从模型上来看是有一定差异的,如何用一套系统求解两套问题非常关键。
- 将房东的“拒绝”行为作为一个“Negative word”加入训练集。
- 本文提供了一套以Airbnb为背景的Listing与User Embedding技术。
- 本文针对搜索排序(Search Ranking)以及(Similar Listing Recommendations),提出一套实时的定制化列表方案(Real-time Personalization)。
- 可以满足不同用户的长租或短租需求。
2.研究方法&模型
2.1.列表Embedding(Listing Embeddings)
- 假定有一个用户集合 N N N,其中用户点击页面产生了点击集合 S S S(Click Sessions)。
- 其中Click Sessions可以表述为: s = ( l 1 , … , l M ) ∈ S s=\left(l_{1}, \ldots, l_{M}\right) \in \mathcal{S} s=(l1,…,lM)∈S,其中为M个用户点击过的不间断id
- 如果点击间断超过30分钟,则会开始一个新的记录Click Session
- 在以上给定数据的背景下,本文的目标是学习一个d维实数值表达:即每个独立的列表 l i l_i li可以表达为: v l i ∈ R d \mathbf{v}_{l_{i}} \in \mathbb{R}^{d} vli∈Rd
- btw. v l i \mathbf{v}_{l_{i}} vli由Wrod Embedding产生,相近点击的List在Embedding空间当中距离也理应较近。
- 具体来说,本文Embedding的方式为skip-gram[2],但本文的目标函数为下式:
L = ∑ s ∈ S ∑ l i ∈ s ( ∑ − m ≥ j ≤ m , i ≠ 0 log P ( l i + j ∣ l i ) ) (1) \mathcal{L}=\sum_{s \in \mathcal{S}} \sum_{l_{i} \in s}\left(\sum_{-m \geq j \leq m, i \neq 0} \log \mathbb{P}\left(l_{i+j} \mid l_{i}\right)\right)\tag{1} L=s∈S∑li∈s∑⎝⎛−m≥j≤m,i=0∑logP(li+j∣li)⎠⎞(1)
其中 P ( l i + j ∣ l i ) \mathbb{P}\left(l_{i+j} \mid l_{i}\right) P(li+j∣l