写点什么

Google Play 的应用发现,第 3 部分:使用机器学习打击规模化的垃圾信息和恶意评论

  • 2017-03-07
  • 本文字数:1747 字

    阅读完需:约 6 分钟

InfoQ 此前翻译分享了“Google Play 的应用发现”系列文章中的“了解主题”和“使用相关App 的个性化建议”,本文是该系列的第三部分,主要介绍了Google Play 如何借助机器学习技术来打击规模化的垃圾信息和恶意评论。

在应用发现系列文章的第一部分第二部分中,我们讨论了通过使用机器学习来对App 的相关主题有一个更深入的理解,以及一个深度学习框架来提供个性化推荐服务。本问将讨论借助机器学习技术,来打击Google Play Store 应用中的垃圾信息和恶意行为,从而为10 多亿Android 用户提供一个安全可信任的应用平台。

随着应用逐渐成为人们工作和生活中越来越重要的一部分,我们认识到有至关重要的两点必须得到保证:1) Google Play 找到的App 是安全的, 2) 展现给用户的App 信息是可靠且公正的。我们的目录中已有超过1 百万的App,并且新推出App 的数量每日都在明显增加,所以需要开发可扩展的方法来精准快速地识别劣质App。为解决该问题我们双管齐下,使用多种机器学习技术来帮助打击规模化的垃圾信息和恶意行为。

识别并阻止劣质App 进入Google Play 平台

正如 Google Play 开发者政策中所述,我们不允许上架恶意的、攻击性的或者非法 App。虽然有这样的政策,但依然会有少数破坏分子试图发布欺骗用户的应用。从大量应用目录中发现违反政策的应用并不是件简单的事情,尤其是每天还有数万新应用提交。这就是在评估是否违反政策,以及一个 App 对它的潜在用户可能构成的潜在风险方面,我们拥抱机器学习技术的原因。

我们使用了多种技术,比如基于大型概率网络的词嵌入 (word embedding) 文本分析、使用 Google Brain 的图像理解以及 APK 二进制文件的静态和动态分析。这些独特的技术主要目的是探测具体的违规行为(比如,受限内容、隐私和安全、知识产权、用户欺诈),相比于人工审核这种方式会更加系统化和可靠。被算法标识出的 App,要么退回给开发者要求修复检测到的问题,要么“暂存”到我们可以证明它是安全的,或清除潜在的违规行为。因为这种 App 审核流程结合了专家分析和算法,所以开发者可以在 App 提交后的数小时里就采取必要措施(比如继续迭代或发布)。

图示攻击性内容样本的词嵌入中违反政策的 App(红点)和符合政策的 App(绿点),通过 t-SNE( t-Distributed Stochastic Neighbor Embedding )算法绘制。

阻止操纵应用评分和排名

一个 App 其自身可能是合法合规的,但一些不良分子可能企图通过刷榜来操纵该应用的评分和排名。为了给用户提供一个 App 可感知质量的准确反映,我们在努力消除这些不良企图。然而,在我们制定政策做出努力的同时,操纵行为背后的不良分子也在尝试调整和改变他们的行为策略以绕过我们的政策,从而导致了一个对抗性问题摆在我们面前。

这种情况下,除了使用传统的有监督学习方法(正如我们在本系列的第一部分或第二部分里所介绍的,这是个更加“固定”的问题),还需要开发一个可重复的流程,让我们跟破坏分子一样(至少不亚于他们)敏捷。我们通过使用一种混合策略实现了这一点,该策略使用无监督学习技术生成训练数据,这些数据被依次输入到一个传统有监督学习技术构建的模型。

利用发生在Google Play 平台上的交互、事务和行为数据,我们应用异常检测技术来识别被刷榜党盯上的App。比如,一个可疑App 的所有交互数据可能源自某一个数据中心,而一个有机交互的正常应用其交互数据一般会符合一个正常的来源分布。

接着我们使用这些App 来分离出那些密谋或精心策划来操纵评分和排名的App,还有那些轮流用于训练数据来构建识别相似App 模型的。使用有监督学习技术构建的这个模型,接下来用于扩展覆盖度以及消除Google Play Apps 平台上的刷榜行为。

图示一个通过已知恶意行为App(红色)训练过的模型,如何扩大覆盖度来检测类似的恶意行为App(橙色),同时忽略掉系统用户(蓝色)。

通过支持快速发布同时不对用户安全妥协,我们力争使Google Play 成为开发者和用户的最佳平台。上文提到的机器学习的潜力帮助我们取得了双赢,而且我们会继续在这些技术上做出创新,以确保我们的用户远离垃圾信息和恶意行为。


感谢刘志勇对本文的审校。

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

2017-03-07 16:551742

评论

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

【面经分享,附答案】字节系统架构,一面,后端开发

小小怪下士

Java 程序员 面试

Clickhouse表引擎探究-ReplacingMergeTree

京东科技开发者

Clickhouse 数据分片 数据验证 存储数据 MergeTree

参加大数据培训可以找到工作吗

小谷哥

汽车之家基于 Milvus 的向量检索平台实践

Zilliz

数据库 向量检索 Milvus

软件测试培训 | 在霍格沃兹测试开发学社学习是种怎样的体验?

霍格沃兹测试开发学社

专利解析|数据中台—数据流配置弹框交互优化方法

元年技术洞察

数据中台 数字化转型 专利解析

Laravel中HasOne和BelongsTo的区别

ModStart

这波无感升级有点秀——天翼云QEMU组件热升级方案来了

天翼云开发者社区

云计算 云主机 虚拟化

Java程序员培训机构怎么选

小谷哥

迁移速度与计算性能兼得!天翼云DirtyLimit技术大显身手

天翼云开发者社区

虚拟机 迁移 弹性计算

学习掌握哪些前端技术才能找到好工作?

小谷哥

Amazon 4.7 星评,领域新经典,了解服务设计就读它

图灵社区

产品经理 设计模式 服务设计

重磅!TDengine 3.2.0 正式发布

TDengine

数据库 tdengine 时序数据库

架构实战 - 模块4作业

mm

redis sentinel #架构实战营

盘点那些日赚万金的爆款小游戏

FinFish

小游戏 小程序游戏 微信小游戏 爆款小游戏

如何优化大场景实时渲染?HMS Core 3D Engine这么做

HarmonyOS SDK

HMS Core

HTTP报文内容

穿过生命散发芬芳

HTTP 12月月更

HMS Core 3D流体仿真技术,打造移动端PC级流体动效

最新动态

企业转型难?火山引擎数智平台提供数智升级新路径

字节跳动数据平台

大数据 数据中台 12 月 PK 榜

智能合约DAPP开发WEB3.0系统搭建技术

薇電13242772558

智能合约

8个Spring事务失效的场景,你碰到过几种?

JAVA旭阳

Java spring

在北京选择哪家大数据培训机构

小谷哥

RocketMQ Schema——让消息成为流动的结构化数据

Apache RocketMQ

RocketMQ

隐匿于喧嚣城市的世外桃源,「武汉浮生艺术馆」开放小程序预约通道,顺利举办多场艺术展览

天天预约

小程序 SaaS 预约工具 展览 艺术馆

培训班出来前端程序员好找吗?

小谷哥

数据存储,消息队列的高可用保障

C++后台开发

数据库 数据结构 消息队列 后端开发 linux开发

小游戏流量变现都有哪些窍门?

FinFish

小游戏 微信小程序-游戏 小程序游戏 微信小游戏

如何优化大场景实时渲染?HMS Core 3D Engine这么做

最新动态

架构实战营 模块3-1

西山薄凉

「架构实战营」

【经验总结】HDI与普通PCB的4点主要区别

华秋PCB

工艺 PCB PCB设计

阿里云视觉智能开放平台——人脸活体检测算法重磅升级

夏夜许游

服务升级 人脸活体检测 人脸人体

Google Play的应用发现,第3部分:使用机器学习打击规模化的垃圾信息和恶意评论_Google_Hsu-Chieh Lee_InfoQ精选文章