文献阅读02期:Real-time Personalization using Embeddings for Search Ranking at Airbnb

文献阅读02期:Real-time Personalization using Embeddings for Search Ranking at Airbnb_第1张图片

[ 文献阅读 ] 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} vliRd
  • 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=sSlismjm,i=0logP(li+jli)(1)
    其中 P ( l i + j ∣ l i ) \mathbb{P}\left(l_{i+j} \mid l_{i}\right) P(li+jli)是一种soft-max形式的上下文临近概率,数学表达如下:
    P ( l i + j ∣ l i ) = exp ⁡ ( v l i ⊤ v l i + j ′ ) ∑ l = 1 ∣ V ∣ exp ⁡ ( v l i ⊤ v l ′ ) (2) \mathbb{P}\left(l_{i+j} \mid l_{i}\right)=\frac{\exp \left(\mathbf{v}_{l_{i}}^{\top} \mathbf{v}_{l_{i+j}}^{\prime}\right)}{\sum_{l=1}^{|\mathcal{V}|} \exp \left(\mathbf{v}_{l_{i}}^{\top} \mathbf{v}_{l}^{\prime}\right)}\tag{2} P(li+jli)=l=1Vexp(vlivl)exp(vlivli+j)(2)
    其中 v l {v}_{l} vl v l ′ {v}^{'}_{l} vl是列表 l l l的输入输出的向量形式表达。超参数 m m m是前后观察上下文(Clicked Lists, 近邻)的长度。
  • 在计算梯度 ∇ L \nabla \mathcal{L} L的过程中,计算时间会随着列表数量 ∣ V ∣ |\mathcal{V}| V的增加而增加。对于有上百万个点击Lists的训练而言,这几乎是个不可能完成的任务,所以引文[2]中所提出的“负采样”(Negative Sampling)方法将被本文采用,以减少计算复杂度。
  • 负采样的具体实施:集合 D p \mathcal{D}_{p} Dp代表正相关组Positive Pairs ( l , c ) (l,c) (l,c)其中 c c c为列表 l l l的上下文列表(也叫做临近列表);集合 D n \mathcal{D}_{n} Dn代表负相关组Negative Pairs ( l , c ) (l,c) (l,c)其中 c c c为列表 l l l的上下文列表(也叫做临近列表);基于此,优化目标可以表述为:
    argmax ⁡ θ ∑ ( l , c ) ∈ D p log ⁡ 1 1 + e − v c ′ v l + ∑ ( l , c ) ∈ D n log ⁡ 1 1 + e v c ′ v l (3) \underset{\theta}{\operatorname{argmax}} \sum_{(l, c) \in \mathcal{D}_{p}} \log \frac{1}{1+e^{-\mathrm{v}_{c}^{\prime} \mathbf{v}_{l}}}+\sum_{(l, c) \in \mathcal{D}_{n}} \log \frac{1}{1+e^{\mathrm{v}_{c}^{\prime} \mathbf{v}_{l}}}\tag{3} θargmax(l,c)Dplog1+evcvl1+(l,c)Dnlog1+evcvl1(3)
  • 采用随机梯度下降

2.1.1. “已预订”数据作为全局上下文

  • Click Sessions S \mathcal{S} S可以被拆分为以下两种Sessions:1.已经订房的客户的点击Sessions(Booked sessions);2.未定房的客户的浏览点击Sessions(Exploratory sessions),将Booked sessions作为全局上下文,这样无论它是否在上下文窗口中时,都能参与预测,而更新规则也将改为如下公式:
    argmax ⁡ θ ∑ ( l , c ) ∈ D D log ⁡ 1 1 + e − v c ′ v l + ∑ ( l , c ) ∈ D n log ⁡ 1 1 + e v c ′ v l + log ⁡ 1 1 + e − v l b ′ v l (4) \underset{\theta}{\operatorname{argmax}} \sum_{(l, c) \in \mathcal{D}_{D}} \log \frac{1}{1+e^{-\mathrm{v}_{c}^{\prime} \mathbf{v}_{l}}}+\sum_{(l, c) \in \mathcal{D}_{n}} \log \frac{1}{1+e^{\mathbf{v}_{c}^{\prime} \mathbf{v}_{l}}}+\log \frac{1}{1+e^{-\mathbf{v}_{l_{b}}^{\prime} \mathbf{v}_{l}}} \tag{4} θargmax(l,c)DDlog1+evcvl1+(l,c)Dnlog1+evcvl1+log1+evlbvl1(4)

2.1.2.为“集中搜索”调整训练

  • 简而言之,用户一般喜欢待在本地,在本地的租赁市场租房子。这也使得 D p \mathcal{D}_{p} Dp里含有更多用户当地的内容,而 D n \mathcal{D}_{n} Dn中的当地房源也就相对较少了。笔者认为,“用户专注于搜索本地房源”便是所谓“集中搜索”的一种。
  • 推论(可能有表述不对之处):这种不平衡的后果便是学习会局限在当地市场内,当没有较好的推荐lists时,算法更倾向于从本地内市场压榨本就不再值得搜索的信息。
  • 为解决这一问题,论文作者加入随机负集合 D m n \mathcal{D}_{m_{n}} Dmn,以减少再次从Central Listing l l l采样的问题出现,因此更新规则进而改变为:
    argmax ⁡ ∑ ( l , c ) ∈ D p log ⁡ 1 1 + e − v c ′ v l + ∑ ( l , c ) ∈ D n log ⁡ 1 1 + e v c ′ v l + log ⁡ 1 1 + e − v l ′ v l + ∑ ( l , m n ) ∈ D m n log ⁡ 1 1 + e v m n ′ v l (5) \begin{aligned} \operatorname{argmax} & \sum_{(l, c) \in \mathcal{D}_{p}} \log \frac{1}{1+e^{-\mathrm{v}_{c}^{\prime} \mathrm{v}_{l}}}+\sum_{(l, c) \in \mathcal{D}_{n}} \log \frac{1}{1+e^{\mathrm{v}_{c}^{\prime} \mathrm{v}_{l}}} \\ &+\log \frac{1}{1+e^{-\mathrm{v}_{l}^{\prime} \mathrm{v}_{l}}}+\sum_{\left(l, m_{n}\right) \in \mathcal{D}_{m_{n}}} \log \frac{1}{1+e^{\mathrm{v}_{m_{n}}^{\prime} \mathrm{v}_{l}}} \end{aligned}\tag{5} argmax(l,c)Dplog1+evcvl1+(l,c)Dnlog1+evcvl1+log1+evlvl1+(l,mn)Dmnlog1+evmnvl1(5)
    文献阅读02期:Real-time Personalization using Embeddings for Search Ranking at Airbnb_第2张图片

论文相关实验

文献阅读02期:Real-time Personalization using Embeddings for Search Ranking at Airbnb_第3张图片
文献阅读02期:Real-time Personalization using Embeddings for Search Ranking at Airbnb_第4张图片
文献阅读02期:Real-time Personalization using Embeddings for Search Ranking at Airbnb_第5张图片
文献阅读02期:Real-time Personalization using Embeddings for Search Ranking at Airbnb_第6张图片
文献阅读02期:Real-time Personalization using Embeddings for Search Ranking at Airbnb_第7张图片
文献阅读02期:Real-time Personalization using Embeddings for Search Ranking at Airbnb_第8张图片

参考文献:

[1] Grbovic M, Cheng H. Real-time personalization using embeddings for search ranking at airbnb[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2018: 311-320.

[2] Mikolov T, Sutskever I, Chen K, et al. Distributed representations of words and phrases and their compositionality[J]. arXiv preprint arXiv:1310.4546, 2013.

你可能感兴趣的:(每日一文,机器学习,大数据)