写点什么

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:271883
用户头像

发布了 375 篇内容, 共 193.1 次阅读, 收获喜欢 947 次。

关注

评论

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

QIP 25周年

亚马逊云科技 (Amazon Web Services)

量子计算 量子技术 量子纠错

2022年全新FFmpeg/WebRTC/RTMP/RTSP/HLS/RTP播放器-音视频流媒体高级开发学习大纲

赖猫

音视频开发 音视频技术

智慧零售产业应用实战,30分钟上手的高精度商品识别

百度大脑

内网渗透(蚁剑+MSF)

喀拉峻

网络安全 WEB安全 内网渗透

在线字节转换工具

入门小站

工具

审核和审批的区别

秋去冬来春未远

【深度分享】阿里云架构师解读四大主流游戏架构

阿里云弹性计算

游戏

易观分析:三大协会发声NFT,未来监管走向几何?

易观分析

区块链 NFT

实例解析山路十八弯的Flutter 2.0路由

岛上码农

flutter ios 安卓开发 4月月更 跨平台开发

虎符研究院|币圈后浪MetaAds——现实与元宇宙的展示平台

区块链前沿News

虎符交易所

Tiger DAO VC:将你的风险投资变成DAO组织协同

BlockChain先知

自研消息队列之消息队列数据库表设计

晨亮

「架构实战营」

读《Software Engineering at Google》(06)

术子米德

架构师成长笔记

JS/TS项目里的Module都是什么?

华为云开发者联盟

js Module loaders bundlers

社区动态|Apache Doris 迎来第 300 位 Contributor !

ApacheDoris

大数据 开源 OLAP MPP apache doris

飞桨EasyDL助力资讯网站实现信息自动分类

百度大脑

百度文心大模型「技术天团」首次亮相!首场技术开放日、AI创意派决赛来啦~

百度大脑

Docker 实战教程之从入门到提高 (五)

汪子熙

Docker 容器 虚拟化 容器镜像 4月月更

14年软件开发经历IT:低代码已成为企业管理的核心引擎

一只大光圈

钉钉 低代码 IT 数字化 钉钉宜搭

在线CSV转SQL工具

入门小站

工具

揭露sealer背后实现整个集群一键交付的奥秘 | 龙蜥技术

OpenAnolis小助手

开源 sealer 龙蜥技术 镜像集群

同事删库跑路后,我连表名都不能修改了?

码农参上

数据库 数据恢复 权限 删库 4月月更

coreldraw2022订阅版本最新版本简介

茶色酒

cdr2022

一文带你使用 Apache IoTDB 系统监控模块

Apache IoTDB

让我们开始使用 Amazon Lambda

亚马逊云科技 (Amazon Web Services)

Serverless 云原生 亚马逊云科技 云技能

3月券商App行情刷新及交易体验评测报告,国泰君安再夺领导者冠军

博睿数据

16 张图 | Nacos 架构原理①:一条注册请求会经历什么?

悟空聊架构

nacos 注册中心 4月日更 悟空聊架构 4月月更

linux之iconv命令

入门小站

Linux

程序员=沉闷无趣?都是刻板印象…

LigaAI

程序员人生 程序猿

这款神器大大提升了协作效率!

Liam

后端 Jmeter Postman swagger Mock

博睿数据入选首批欧拉技术测评方案,为欧拉生态开发者应用体验保驾护航

博睿数据

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