1六、Real-time Personalization using Embeddings for Search Ranking at Airbnb

1、背景

Airbnb 平台包含数百万种不一样的房源,用户能够经过浏览搜索结果页面来寻找想要的房源,咱们经过复杂的机器学习模型使用上百种信号对搜索结果中的房源进行排序。 当用户查看一个房源时,他们有两种方式继续搜索:html

  • 返回搜索结果页,
  • 查看房源详情页的「类似房源」(会推荐和当前房源类似的房源)。

咱们 99% 的房源预订来自于搜索排序和类似房源推荐。web

 

  • 介绍 Airbnb 开发和部署的房源嵌入(Listing Embedding)技术
  • 如何用此来改进类似房源推荐和搜索排序中的实时个性化。

这种嵌入是从搜索会话(Session)中学到的 Airbnb 房源的一种矢量表示,并可用此来衡量房源之间的类似性。 房源嵌入能有效地编码不少房源特征,好比位置、价格、类型、建筑风格和房屋风格等等,而且只须要用 32 个浮点数。咱们相信经过嵌入的方法来作个性化和推荐对全部的双边市场平台都很是有效。服务器

 

嵌入的背景网络

将词语表示为高维稀疏向量 (high-dimensional, sparse vectors) 是用于语言建模的经典方法。不过,在许多天然语言处理 (NLP) 应用中,这一方法已经被基于神经网络的词嵌入并将词语用低维度 (low-dimentional) 来表示的新模型取代。新模型假设常常一块儿出现的词也具备更多的统计依赖性,会直接考虑词序及其共现 (co-occurrence) 来训练网络。 随着更容易扩展的单词表达连续词袋模型 (bag-of-words) 和 Skip-gram 模型的发展,在通过大文本数据训练以后,嵌入模型已被证实能够在多种语言处理任务中展示最佳性能。机器学习

最近,嵌入的概念已经从词的表示扩展到 NLP 领域以外的其余应用程序。来自网络搜索、电子商务和双边市场领域的研究人员已经意识到,就像能够经过将句子中的一系列单词视为上下文来训练单词嵌入同样,咱们也能够经过处理用户的行为序列来训练嵌入用户操做,好比学习用户点击和购买的商品或浏览和点击的广告。 这样的嵌入已经被用于 web 上的各类推荐系统中。性能

房源嵌入学习

咱们的数据集由 N 个用户的点击会话 (Session) 组成,其中每一个会话定义为一个由用户点击的 n 个房源 id 组成的的不间断序列;同时,只要用户连续两次点击之间的时间间隔超过30分钟,咱们就会认为是一个新的会话。 基于该数据集,咱们的目标是学习一个 32 维的实值表示方式来包含平台上全部的房源,并使类似房源在嵌入空间中处于临近的位置。优化

列表嵌入的维度被设置为,这样的设置能够平衡离线性能(在下一节中讨论)和在线搜索服务器内存中存储向量所需的空间,可以更好地进行实时类似度的计算。网站

目前有几种不一样的嵌入训练方法,在这里,咱们将专一于一种称为负抽样 (Negative Sampling) 的技术。 首先,它将嵌入初始化为随机向量,而后经过滑动窗口的方式读取全部的搜索会话,并经过随机梯度降低(stochastic gradient descent)来更新它们。 在每一步中,咱们都会将中央房源的向量更新并将其推向正向相关房源的向量(用户在点击中心房源先后点击的其余房源,滑动窗口长度为),并经过随机抽样房源的方式将它从负向相关房源推开(由于这些房源很大概率与中央房源没有关系)。编码

 

 

 

  • 使用最终预订的房源做为全局上下文 (Global Context) :咱们使用以用户预订了房源(上图中紫色标记)为了结的用户会话来作这个优化,在这个优化的每一个步骤中咱们不只预测相邻的点击房源,还会预测最终预订的房源。 当窗口滑动时,一些房源会进入和离开窗口,而预订的房源始终做为全局上下文(图中虚线)保留在其中,并用于更新中央房源向量。

  • 适配汇集搜索的状况:在线旅行预订网站的用户一般仅在他们的旅行目的地内进行搜索。 所以,对于给定的中心房源,正相关的房源主要包括来自相同目的地的房源,而负相关房源主要包括来自不一样目的地的房源,由于它们是从整个房源列表中随机抽样的。 咱们发现,这种不平衡会致使在一个目的地内类似性不是最优的。 为了解决这个问题,咱们添加了一组从中央房源的目的地中抽样选择的随机负例样本集。

 

http://wemedia.ifeng.com/89455165/wemedia.shtml

相关文章
相关标签/搜索