【阅读笔记】Real-time Personalization using Embeddings for Search Ranking at Airbnb

Real-time Personalization using Embeddings for Search Ranking at Airbnb

Airbnb, Inc
KDD2018 ADS Track 的最佳论文

METHODOLOGY

Listing Embeddings

在这里插入图片描述
我们有用户浏览的 session 数据,使用类似 skip-gram model 的方法来 embed 每条 listing,认为浏览过程中前后的 listing 是相似的,最大化:
L = ∑ s ∈ S ∑ l i ∈ s ( ∑ − m &lt; j &lt; m , j ≠ 0 l o g P ( l I + j ∣ l i ) ) L=\sum_{s\in S}\sum_{l_i \in s}(\sum_{-m&lt;j&lt;m,j\neq 0}logP(l_{I+j}|l_i)) L=sSlis(m<j<m,j̸=0logP(lI+jli))

P ( l i + j ∣ l i ) = v l i + j T v l i ∑ l v l T v l i P(l_{i+j}|l_i)=\frac{v^T_{l_{i+j}}v_{l_i}}{\sum_{l}v^T_lv_{l_i}} P(li+jli)=lvlTvlivli+jTvli

但是 listing 太多,计算过于复杂。我们改变思路,生成正集合 D p D_p Dp(里面的元素对在一个 session 窗口 m m m内连续点击)和负集合 D n D_n Dn(里面的元素为随机取的),优化问题变为:
a r g m a x θ ∑ ( l , c ) ∈ D p l o g 1 1 + e x p ( − v c T v l ) + ∑ ( l , c ) ∈ D n l o g 1 1 + e x p ( v c T v l ) argmax_{\theta}\sum_{(l,c)\in D_p}log\frac{1}{1+exp(-v^T_cv_l)}+\sum_{(l,c)\in D_n}log\frac{1}{1+exp(v^T_cv_l)} argmaxθ(l,c)Dplog1+exp(vcTvl)1+(l,c)Dnlog1+exp(vcTvl)1

Booked Listing as Global Contex

对于最终预定的 session,我们任务浏览过程的 listing 与最后预定的 listing 也是相似的,多增加一项
a r g m a x θ ∑ ( l , c ) ∈ D p l o g 1 1 + e x p ( − v c T v l ) + ∑ ( l , c ) ∈ D n l o g 1 1 + e x p ( v c T v l ) + l o g 1 1 + e x p ( v l b T v l ) argmax_{\theta}\sum_{(l,c)\in D_p}log\frac{1}{1+exp(-v^T_cv_l)}+\sum_{(l,c)\in D_n}log\frac{1}{1+exp(v^T_cv_l)}+ log\frac{1}{1+exp(v^T_{l_b}v_l)} argmaxθ(l,c)Dplog1+exp(vcTvl)1+(l,c)Dnlog1+exp(vcTvl)1+log1+exp(vlbTvl)1

Adapting Training for Congregated Search

因为随机抽取的 D n D_n Dn,所以大概率选取 D p D_p Dp来源于同一个 market, D n D_n Dn来源于不同的 market,为了使得学习的 embedding 学到的不是 market 的信息而是产品的信息,所以我们随机抽取同一市场的作为辅助负集合 D m D_m Dm

Cold start listing embeddings

创建 listing 后,host 需要提供有关信息,例如位置,价格,列表类型等。使用提供的元数据来查找3个地理位置最接近(半径10英里内)、其他类型也相似的、价格区间相同的 listing ,把这3个 listing 的 embedding 向量以形成新的 listing 的 embedding。 这样我们能够覆盖超过98%的新 listing。

Examining Listing Embeddings

发现 embedding 确实有效,相似的 listing 有相近的 embedding。

User-type & Listing-type Embeddings

我们希望学习到不同市场(纽约和伦敦的房间)之间的 listing 之间的相似性。我们给定一个 user 的预定列表 s b = ( l b 1 , . . . , l b M ) s_b = (l_{b1} , . . . ,l_{bM}) sb=(lb1,...,lbM),认为同一个 user 定的 listing 之间有一定的相似性。下面这种思路的一些困难:

  • 有预定的 session 数目远远小于点击 seesion 的数目
  • 众多 user 只预订过1次
  • 如果希望学习出有意义的 embedding 每个 entities 至少需要发生事件出现5到10次,大量的 listing 没出有这么多次预定
  • 长时间的间隔的预定可能喜好发生变化,例如长大了,职业发生变化等

为了解决这些问题(我的理解是太稀疏了数据),我们制定规则把 listing 映射为不同的 type。通过 user 最近的预定和点击的 listing_type 学习 user_type 的 embedding,和训练 Listing Embeddings 类似(点击预定与自己 type 类似的,随机取的不类似,没点击的不类似),训练 user_type的 embedding。

总结

巧妙的借鉴了 word2vec 的思路对搜索对象进行 embedding。除了直接平移 skip-gram 以外,巧思之处有这么几个:

  • 构造正样本集合和负样本集合来简化运算
  • 为了防止学习错信息构造特定的负样本集合
  • 利用问题的特殊性,最终预定的房间应该和前面浏览的都有一定的相似性对优化目标加了一项
  • 解决数据稀疏相当于先给定 listing_type 的 embedding,来学习 user_type 的 embedding
### 回答1: ms-settings:personalization-background是Windows 10操作系统中的一个设置选项,用于更改桌面背景图片。用户可以通过该选项选择自己喜欢的图片或幻灯片作为桌面背景,也可以设置背景图片的填充方式、颜色等。 ### 回答2: ms-settings:personalization-background是Windows 10的设置功能之一,它允许用户自定义桌面背景图像。通过这个设置,用户可以选择一张图片作为桌面背景,或者设置幻灯片来自动轮换多张图片。 这个设置功能非常简便易用,用户只需点击桌面上任意一处空白区域,然后选择“个性化”选项,就可以进入ms-settings:personalization-background页面。在该页面上,用户可以从本地计算机上选择图片作为桌面背景,或者从Microsoft Store下载背景图片。用户还可以选择“幻灯片”选项,将多张图片作为背景并设置轮换时间。此外,用户还可以选择背景显示方式,包括平铺、居中、填充等。 ms-settings:personalization-background不仅方便了用户自定义桌面背景,同时也让桌面背景更加个性化。用户可以根据自己的喜好选择各种美丽独特的背景图片,或者选择自己喜欢的图片拼贴成幻灯片进行轮播。无论是工作还是休闲,这个设置功能都可以让用户的计算机桌面更加舒适、个性化、温馨。 ### 回答3: ms-settings:personalization-background是Windows 10中的一个设置页面,用于更改桌面背景。Windows 10允许用户选择不同的背景图片或幻灯片作为桌面背景,以及对背景色进行自定义。此外,用户还可以选择是否在锁定屏幕上显示相同的桌面背景。 通过这个设置页面,用户可以轻松地上传自己的图片作为桌面背景,并应用到所有的设备上。此外,用户可以通过“背景选项”中的下拉框选择不同的背景设置,包括桌面背景、开始菜单和任务栏、锁定屏幕,以及高对比度设置等,以适应不同的使用习惯和视力。 此外,Windows 10还提供了“Dynamic Theme”和“Slideshow”两种背景设置,让用户可以轻松地更改背景图片,实现更加个性化的桌面。用户可以设置图片轮播时间间隔,以及图片来源。此外,用户还可以通过“浏览”按钮来添加自己喜爱的图片文件夹,使得Windows随机选择其中的图片作为桌面背景。 总的来说,ms-settings:personalization-background是Windows 10中一个非常有用的设置页面,可以让用户轻松自定义自己的桌面背景,实现更加个性化的用户体验。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值