生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

Google Play 的应用发现,第 2 部分:使用相关 App 的个性化建议

  • 2017-02-13
  • 本文字数:1624 字

    阅读完需:约 5 分钟

本系列的第1 部分中,InfoQ 翻译并分享了如何利用机器学习深入了解与App 相关的主题的讨论,以便在 Google Play 应用商店上提供更好的搜索和发现体验。在这篇文章中,Google Play 小组的软件工程师 Ananth Balashankar、Levent Koc 和项目主管 Norberto Guimaraes 讨论了一个深度学习框架,以根据用户以前下载过的 App 和他们所用的 App 上下文为用户提供个性化的建议。

Google Play 应用商店的访问者提供有用且相关的应用推荐是我们应用发现团队的主要目标。然而,对与App 相关联的主题的理解仅仅是创建最合适用户服务的系统的一部分。为了创造更好的整体体验,还必须考虑用户的品味并提供个性化的建议。如果没有,“你也可能喜欢”的建议对每个人来说看起来都一样!

发现这些细微差别需要了解App 的功能,以及App 与用户相关的上下文。例如,对于狂热的科幻游戏者,类似的游戏推荐可能是感兴趣的,但是如果用户安装健身App,则推荐健康食谱App 可能比五个以上的健身App 更相关。由于用户可能对下载已经安装的App 或游戏的补充更感兴趣,除了根据与App(“类似App”)相关的主题提供推荐内容外,我们还会提供基于App 相关性的建议(“您可能也喜欢”)。

在决定安装决定之前(左)和当前安装正在进行(右)时,您可能还会看到类似的App 和App 建议。

一个特别强的上下文信号是应用相关性,基于先前的安装次数和搜索查询次数。作为示例,已经搜索并且玩很多图像密集型游戏的用户可能偏好图像密集型的App,而不是更简单的图形应用。所以,当这个用户安装赛车游戏时,“你可能也喜欢”的建议包括与“种子”相关的应用程序(因为它们是图像密集型的赛车游戏),排名高于赛车App 和更简单的图像游戏。这允许个性化更为精细,其中App 的特性与用户偏好更为匹配。

要在建议中包含这个App 的相关性,我们采取双管齐下的方法:(a)离线候选生成,即除了所讨论的App 之外,其他用户已经下载的潜在相关App 的生成,和(b)在线个性化重排序,其中我们使用个性化ML 模型重新排序这些候选。

离线候选生成

找到相关App 的问题可以被表示为最近邻搜索问题。给定一个App X,我们想找到k 个最近的App。在“你可能也喜欢”的情况下,一个简单的方法是基于计数的方式,如果许多人安装App X 和Y,那么App Y 将被用作App X 的候选种子。然而,这种方法很刺手,因为在巨大的问题空间中难以有效地学习和推广。由于Google Play 上有超过一百万个App,可能的App 对总数超过〜。

为解决这个问题,我们训练了一个深层神经网络,以预测用户在安装之前安装的下一个App。在这个深层神经网络的最后层的输出,嵌入通常表示给定用户已经安装的App 类型。然后我们应用最近邻算法来找到在训练的嵌入空间中给定的种子App 的相关App。因此,我们通过使用嵌入表示App 来修剪潜在候选的空间来执行维数降低。

在线个性化排名

在上一步骤中生成的候选表示沿着多个维度的相关性。目标是向候选分配分数,使得它们可以以个性化的方式重新排名,以便提供被制作成用户的整体兴趣并且仍然保持用户安装给定App 的相关性的体验。为了做到这一点,我们采取应用候选人的特点作为输入到单独的深层神经网络,然后使用用户特定上下文特征(区域、语言、应用商店搜索查询等)实时地训练用户以预测相关App 与用户特定相关的可能性。

个性化相关App 的架构

这项工作的一个好处是,重新排序内容,如相关的App,是应用商店实现应用发现的关键方法之一,可以为用户带来巨大的价值,而不影响感知的相关性。与控制(没有重新排名)相比,我们发现App 安装率从“您可能也喜欢”的建议中增加了20%。这没有带来用户可察觉的延迟变化。

在本系列的第3 部分中,我们将讨论如何使用机器学习来阻止那些试图操纵我们用于搜索和个性化的信号。


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-02-13 16:271606
用户头像

发布了 368 篇内容, 共 170.1 次阅读, 收获喜欢 939 次。

关注

评论

发布
暂无评论
发现更多内容

理解【Apache Zookeeper】

awen

zookeeper

博睿数据重塑APM,引领IT运维新标杆

博睿数据

博睿数据 数据链DNA 服务可达

【得物技术】JS资源分包

得物技术

CSS 大前端 js 版本 页面

区块链—重构新商业体系和全新商业生态环境

CECBC

dubbo使用curator作为zk客户端优雅停机存在的问题

林一

zookeeper dubbo curator

Nacos--简介

是老郭啊

微服务 nacos 服务注册与发现

架构实战营模块5作业

En wei

架构实战营

MySQL基础之二:SQL语句介绍与使用

打工人!

MySQL sql查询 6月日更

区块链作为“信任的机器”,将改变社会价值的传递方式

CECBC

字节跳动的ToB生意,为什么需要火山引擎?

ToB行业头条

一些有意思的句子

IT蜗壳-Tango

IT蜗壳 6月日更

【立刻报名】加速开发 Perforce on Tour China 2021-龙智

龙智—DevSecOps解决方案

极光开发者周刊【No.0604】

极光JIGUANG

程序员 开发者 IT行业

Nacos-- docker搭建

是老郭啊

Docker nacos

农业SaaS,「无人关注」的万亿市场

ToB行业头条

《原则》(四)

Changing Lin

从天而降的AI“青云梯”,开发者们准备好了吗?

白洞计划

深入理解iOS图文混排原理并自定义图文控件

Geen练

图文混排 iOS Developer iOS 知识体系

算法如何促成亿级别扶持曝光视频?爱奇艺Budget Pacing智能扶植系统实践

爱奇艺技术产品团队

架构 推荐 算法 广告 扶植

区块链技术为版权保护与运营提供科技支撑

CECBC

Kubernetes手记(1)- Kubernetes概述

雪雷

k8s 6月日更

拍乐云运维专家受邀QECon大会,畅谈多云环境伸缩实践

拍乐云Pano

模块五- 课后作业

Presley

架构实战营 #架构实战营

数字中国的视觉进阶:ISP的来处与归途

脑极体

网络攻防学习笔记 Day35

穿过生命散发芬芳

网络攻防 6月日更

机器通用运行框架抽象

型火🔥

架构 微服务 抽象 中间件 机器

3D场景搭建的隐秘功能——时间轴

ThingJS数字孪生引擎

大前端 物联网 可视化 3D可视化 数字孪生

博睿数据深化信创布局,通过华为鲲鹏920和统信UOS测试认证

博睿数据

信创 国产化 博睿数据

【环球网】博睿数据CEO冯云彪:做好生态链企业的适配工作

博睿数据

博睿数据 博睿数据数据链DNA 生态链

全栈程序员这个月写了啥代码?

程序员鱼皮

Java JavaScript 大前端 后端 全栈

聊聊MySQL全局锁

架构精进之路

MySQL 6月日更

Google Play的应用发现,第2部分:使用相关App的个性化建议_Google_刘志勇_InfoQ精选文章