Python社区  »  机器学习算法

深度学习在美团点评推荐业务中实践

人工智能头条 • 1 年前 • 149 次点击  
前言
近年来,深度学习在语音识别、计算机视觉及自然语言处理等领域都取得了很大的突破,成为学术界和工业界关注的热点。与传统机器学习方法相比,深度学习在特征抽取及特征组合方面具有明显的优势,可以学习到多层次的抽象特征表示,为复杂的非线性系统提供优秀的建模能力。美团点评,作为生活服务平台,有数亿的用户及丰富的用户行为,在线上与线下相结合的场景下,用户的个性化需求越来越多,推荐系统变得尤为重要。在这种背景下,将深度学习算法应用到推荐业务中,改进并优化目前的推荐算法,使得推荐效果更为智能化,用户体验更好变得非常重要。本文将结合具体的业务场景,介绍深度学习在美团点评推荐上的实践经验及一些思考。

点评推荐平台概述

美团点评,由于自身业务丰富,且用户的消费场景多变,我们推荐的场景也需要随着用户兴趣、地点、环境、时间等变化而变化。为了能够为用户提供好的信息发现体验,支撑业务的快速发展,点评推荐平台面临着以下新的挑战:
  • 业务与场景信息丰富:除了传统的类电商的团购、闪惠、酒店预订等业务,还有外卖这样的到家消费业务。同时,用户的场景信息多变,例如用户地理位置在变:用户可以在家、在商场或者在门店,不同场景下用户的兴趣差别很大;气候环境在变:例如大雨天气或者雾霾等环境信息会影响用户兴趣。

  • 内容化推荐:内容已经成为互联网近几年发展的重点,除了点评的 UGC 内容,我们可以看到头条、视频、“探店报告”等不同内容形式,也可以看到一些内容导流型产品,例如“特色推荐菜”等以 SKU 为维度的内容,“好友热搜”等围绕一个主题组织的排行榜形式内容。不同的内容形态,对推荐系统的要求差异很大。

针对以上的问题,我们开发了可以适配不同业务形态、方便业务快速接入的推荐平台,包括多策略选品的召回及机器学习排序框架,从而向用户推荐感兴趣的信息,让用户感觉到欣喜。整个推荐平台包括离线的海量数据挖掘、近线的实时意图预测以及在线的高并发服务。推荐平台的策略主要分为召回和排序两个过程,召回主要负责生成推荐的候选集,排序负责将结果进行个性化的精准排序。点评的推荐平台业务架构及服务架构如下图所示:
enter image description here
图1 点评推荐平台业务架构
enter image description here
图2 点评推荐平台服务架构

深度学习在推荐中的应用

在推荐平台的构建过程中,多策略选品和排序是两个非常重要的部分,本文接下来主要介绍深度学习相关的推荐算法,主要包括 DSSM、Session Based RNN 推荐召回模型与 Wide Deep Learning 的排序模型,我们会介绍深度学习模型在推荐业务应用及实现的相关细节,包括模型原理、线上效果、实践经验及思考。

DSSM 模型

DSSM 模型原理
Deep Semantic Similarity Model 简称 DSSM,是微软于2013年提出的深度学习网络结构,该网络模型将不同结构的信息表示到同一个语义空间中,本质上是实现两种信息实体的语义匹配,基本思想是设置两个映射通路,将两种信息实体映射到同一个隐含空间,在这个隐含空间,两种信息实体可以同时进行表示,便于利用匹配函数进行相似度的刻画。
DSSM 模型最初被应用在检索场景下,通过搜索引擎里海量的点击曝光日志,用 DNN 把 Query 和 Title 表达为低维语义向量,并通过 cosine 距离来计算两个语义向量的距离,最终训练出语义相似度模型。在推荐场景下,一端对应着用户信息,另外一端对应着 Item 信息,DSSM 能够探索用户和物品两种不同的实体在同一个隐含空间内的相似性,进而进行推荐。例如用户会在 App 上检索相关信息,我们可以获得用户点击 Item 的日志,然后通过 DSSM 模型将用户 Query 以及点击的 Item 进行建模,挖掘用户的潜在的偏好,捕捉用户的兴趣,这样便于为用户产生更为精准的推荐结果。
enter image description here
图3 DSSM 模型框架
DSSM 模型训练与预测
(1)数据清洗与采样
为了增强模型输入的匹配对相关性,提高训练输入数据的 TPR,降低模型随机采样时的 FNR。
  1. 行为共现次数:当同一个匹配对多次出现时,说明该对是正例的可能性较大。

  2. 同类目过滤:限制匹配对两端内容含有共同类目,强化文本的相关性。

  3. 行为时间间隔过滤:匹配对时间间隔相差过长,匹配对两端的相关性弱,需要做过滤。

  4. 页面停留时间:过滤用户在内容页停留较短的匹配对,停留时间长短一定程度上表达了用户对匹配对的认可程度。

(2)Query 处理
采用线上词典,对 Query 进行分词得到关键词 list,并进行以下过滤:
  1. 过滤特殊符号、拼音及数字。

  2. 词性过滤:保留名词、名形词、人名、地名、店铺名、名动词等。

  3. 词频过滤:过滤低频词汇,否则会导致训练参数过多,无法收敛。

(3)文章内容处理
用户在点击文章之前,通常只看见标题部分。但是文章的内容远不止标题,对于文章的 Embedding,我们进行了实体的抽取,在实际测试中,使用 entitykeywords 能得到较好的 validate loss 和推荐效果。
(4)模型训练与预测
完成以上数据预处理之后,采用微软的 CNTK 进行训练,实验效果如下:
enter image description here
DSSM 模型效果
(1)模型线上示例
DSSM 通过将不同类型的文本转换成向量,映射到同一个语义空间中,衡量语义映射的准确性是必要的。但是语义通常存在“一词多义”现象,导致语义关系的定量衡量非常困难,通常需要大量的人工标注,为了排除主观性,有时还需要交叉评测。相关性计算中,人工评估相关性是必要的,tensorflow 提供了将向量可视化,并可以计算 cosine 或者 euclidian。下图是上海市的部分 Query 和文章内容经过 DSSM 转化成向量后,使用 tensorflow 可视化的效果:
enter image description here
图4 DSSM 模型效果
可以看到模型训练出的语义空间,在图4中对于 Query“乐高授权”,余弦相似度推荐的 Query 或内容在语义上都存在较高的相关性。并且相对文本的内容匹配而言,有更好的语义扩展性能。
(2)线上效果
enter image description here
图5 DSSM 模型线上示例
enter image description here
图6 DSSM 模型线上业务提升
在线上应用中,当用户搜索词“亲子餐厅”这样的 Query,右图相关的内容中就会被推荐出来,在实际业务的 AB测试中,从图6可以看出,DSSM 模型也有比较明显的效果提升。
由于篇幅有限,
后面部分没法全部展示出来。
感兴趣的同学
可以扫描下方二维码继续阅读
👇👇


大纲介绍

深度学习的概念源于人工神经网络的研究,通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。


本 Chat 我们将从深度学习的方面来和大家聊一聊 O2O 业务的推荐,包括时间、地点及环境等场景相关的信息,也给大家介绍 O2O 智能推荐平台构建和优化过程中的一些问题和挑战,以及深度学习在推荐优化中的一些经验。


主要从以下几个方面来讲:


- 推荐平台业务的演进
- 推荐框架的迭代
- 深度学习算法在推荐业务中的应用及实践经验


点击「原文链接」也可以阅读
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50461
 
149 次点击  
分享到微博