Press "Enter" to skip to content

腾讯张露丹:面对聚类瓶颈,如何判断策略生效的关键节点?

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

分享嘉宾:张露丹 腾讯 数据分析工程师

 

编辑整理:方全 武汉大学

 

出品平台:DataFunTalk

 

导读: 面对常规聚类方法的瓶颈,我们该如何判断策略生效的关键节点?本 文将分享在腾讯看点产品中,进行洞察分析时用到的各类聚类方法,包括传统无监督聚类方法,基于用户使用路径的聚类和深度学习的应用,探索各类聚类方法在解决不同问题中的效果。

 

具体将围绕以下三点展开:

 

腾讯看点产品介绍

 

常用用户聚类方法

 

基于用户使用路径的聚类方法

 

01

 

腾讯看点产品介绍

 

首先和大家介绍一下腾讯看点的产品形态。

 

1. QQ浏览器产品介绍

 

 

首先,腾讯看点最主要的一个产品是QQ浏览器,它是一个综合内容服务的平台。它主要有四大功能:

 

搜——搜索的功能。用户可以通过搜索进入网页,再产生一些深度行为;

 

刷——用于信息流场景。用户打开浏览器后,可以看到资讯集成的页面。页面中包含各种形式的内容(图、文、视频等),用户可以通过下刷、点击图文进入详情页查看详细内容、点击视频进入沉浸式体验来消费这些内容。

 

用——工具类功能。QQ浏览器给用户提供一些文件编辑、管理、内存清理的工具。

 

看——小说。针对喜爱小说的用户,QQ浏览器为他们提供免费阅读小说的平台。

 

QQ浏览器平台功能综合性强的特点也给理解用户带来了挑战。

 

2. 常用用户聚类场景

 

 

常用的用户聚类场景有以下三个:

 

指标波动场景。举例:近期某个重要的KPI发生变化时,我们会思考是不是某个特定人群导致了这个波动,然后针对这样的波动找到应对的办法;

 

精细化运营。举例:最近在做某个业务的增长,我们会思考哪些是潜力用户,在定位到潜力用户后进一步思考如何更好地承接他们;

 

PMF(Product-Market Fit)。即研究给什幺样的细分人群提供什幺样的内容才能达到最好的匹配效果。

 

02

 

常用用户聚类方法

 

1. 常用用户聚类方法

 

 

常用的聚类方法有K-means,DBSCAN,层次聚类;这些常用聚类方法所依赖的常用聚类特征较为偏向统计学类特征。

 

常用聚类特征:

 

人口属性:性别、年龄、地域等等;

 

常用指标:活跃度、时长、消费次数等等;

 

消费偏好:用户使用不同功能的时长占比、点击占比,每天进入该app的启动方式等等。

 

常用聚类方法各自的优点和缺点:

 

基于距离——K-means。优点是实现简单快速、聚出的类别相对均匀;缺点是受初始点选择影响较大、无法自定义距离、无法识别离群点;

 

基于密度——DBSCAN。优点是可以识别离群点、对特殊分部效果好。缺点是聚出的类别欠均匀、受密度定义影响较大、不擅长处理密度不均的数据;

 

层次聚类。优点是对特殊分布效果好、类的层次关系具有一定价值。缺点是有时聚出的类别欠均匀、内存不友好。

 

2. 常用用户方法的局限性

 

 

常用用户聚类的方法都会遇到局限,常见的局限有以下三个:

 

聚出来的类不均匀。举例:在做一个PMF分析的时候,我们发现有50%以上的用户都是视频和图文的综合偏好。但是,这样的类别不能支持我们更精细地知道我们需要给这样的人群提供什幺样的内容。所以需要细化。

 

聚类不灵敏。举例:我们知道近期的指标波动是因为近期喜欢看图文的用户活跃度上升。但是,因为无法精确地定位子人群,我们也无法有效地加强运营去保证活跃度持续上涨的趋势。

 

聚类方法难应用。举例:发现喜欢看视频的用户活跃度高但是并不能有效分析出帮助运营的策略方法。主要也是因为聚类粒度比较粗,无法有目标性地去帮助运营。

 

总体概括,所遇到的局限都可以概括为人群粒度粗,无法形成有效策略;更本质上,则是因为聚类所使用的统计特征无法反应用户的行为细节。因此,我们也就需要比统计特征更具有区分客户特性的特征。

 

03

 

基于用户使用路径的聚类方法

 

这一部分,我们将主要讲两个方法:N-gram,action2vec。

 

1. 使用路径的表示方法

 

 

首先,我们得明确如何表示用户的使用路径。用户的使用路径是由他一个一个行为组成的,我们先来定义用户的行为。在应用中,我们将用户的行为分为五大要素:

 

行为类别。行为类别分为曝光、点击、时长;

 

场景。发生行为的场景,如搜索框、搜索结果页、文件管理、文件浏览、小说阅读、小说首页、图文阅读、视频观看、首页浏览;

 

内容类型。正在消费的内容类型,如图文、视频、广告;

 

内容类别。对内容类型更加细化,比如说,正在看视频,就将视频的内容细分出来,如热点新闻、小姐姐、体育赛事等等;

 

消费特征。当次行为持续时间、图文完成率等等。

 

在这些要素的基础上举例来进一步说明使用路径的表达。我们选择场景编号、内容类型编号、内容类别编号、消费特征四个要素去拼接一个用户使用行为表达式。我们用 s i =A 1 [f 1 ][1] 来定义用户行为,然后用 s=(s 1 ,s 2 ,…s i ,s n ) 来表示使用路径。

 

2. 基于N-gram的聚类

 

① N-gram概念,如何选择N-gram

 

 

以用户使用路径为例,这个用户今天来了两次,所以他有两个session,在第一个session中,他是先使用app,然后在小说首页翻看,再进入某小说看简介,阅读小说后退出app。过了几分钟,他又启动了app,回到上次看的小说,推出小说进入信息流,然后点击查看图文,最后退出app。

 

如果我们选择N-gram的N=3,则该用户的路径可以生成例如下面的3-gram:启动app——在小说首页翻看——进入某小说简介;在小说首页翻看——进入某小说看简介——阅读小说;等等。

 

如何选择N-gram需要结合场景和需要解决问题的特点。举例:session之间如何连接N-gram,是将行为session间直接连接,还是删除一些不重要的行为再将消费行为进行连接都与场景和需要解决问题的特点有关。

 

② 相似度计算

 

介绍完N-gram之后,进一步去介绍如何基于N-gram进行聚类。

 

一般,分为两步,首先可以得到similarity matrix或者distance matrix,基于这些matrix,我们可以用各种各样的算法来对其做聚类。

 

我们先来了解如何计算similarity matrix。

 

 

一共分成四步:

 

第一步:生成N-gram的sequence,将用户的使用路径记为s,记使用路径的N-gram集合为上图所示,表示从任意第j个action开始往后n个action的sequence的集合。

 

第二步:生成所有用户的N-gram的集合,在去重后得到所有用户独一无二的N-gram的集合。假设这个集合长度为k,此即为特征的长度。

 

第三步:计算各路径的N-gram在N-gram集合上的分布,比如说第l个用户在N-gram集合上的分布为 C l =[ C l1 ,C l2 ,…,C lk ] 。

 

第四步:在每个用户的路径表示之后,我们可以用Normalized Polar Distance计算两个用户的相似性。

 

③ 聚类

 

在有了similarity matrix之后,可以按下面算法进行聚类计算。

 

 

④ 方法实践

 

 

图中的横轴是N-gram,每一列是一个N-gram;图中的纵轴是类别,每一行是一个类别。

 

举例分析:我们可以发现有一类用户是只在信息流页面下刷,极少点击,且点击小众品类,基于此,我们可以对产品的承接进行调整。同样,我们可以发现有一类用户主要是在看小说,看完后会看一些新闻,对这类用户可以尝试缩小他看完小说后到看新闻的路径,比如在他刚看完小说后,就可以安排弹窗问他是否想要某些信息流的消费。

 

N-gram总体上是有效的,他的优点是容易理解和解读,缺点是无法处理较大规模的用户行为序列。适合对新用户进行聚类,因为新用户的行为序列的多样性较低,多用于理解用户在初识产品时的行为模式。

 

3. 基于action2vec的聚类

 

① action2vec

 

 

action2vec是借鉴word2vec的思想,将用户的行为embedding到低维空间,利用embedding的结果进行聚类。action2vec有两种模型,CBOW和Skip-gram,此次我们主要讲解Skip-gram的思想。主要看用户的当前行为对他未来n个行为的预测作用。在有了action2vec之后,我们有了每个用户的行为所对应的向量。

 

② 聚类

 

 

我们可以把用户路径进行向量化,向量化的方法举例说明:有三个action, w 1 , w 2 , w j 是这一次action对应的权重(可以用频次或者TF-IDF值等),括号内的向量是基于action2vec得到的向量,加权后就可以得到这个用户路径的一个向量。之后可以基于用户路径的向量来进行聚类,可以尝试多种聚类方法。

 

③ 方法实践

 

 

对红线之前的用户行为进行聚类,观察红线后用户活跃度的变化,可以发现用户活跃度走势有明显区别,说明聚类是有效的。

 

我们可以对用户进行精细的解读,举例:我们发现用户是重度网页用户,但是在每次看完网页后都会浏览信息流,我们可以选择缩短用户在网页和信息流之间的距离。还发现用户喜欢在中午消费综艺、育儿观等视频内容,在下午消费图文新闻,针对这个特点,我们可以指导系统进行时间点有关的优化。

 

这个方法的优点是可以处理较大规模的用户使用路径数据,缺点是可解释性弱,需要借助其他数据辅助解读,适合用于对老用户进行周期性解读,基于用户分类进一步分析关键指标变化原因,找寻策略生效节点。

 

04

 

问答环节

 

Q:想问一下行为路径的特征,列表是怎幺转化成向量作为聚类的特征的呢?

 

A: 用到了深度学习的方法。将行为本身作为输入,将后续行为作为输出,用深度学习得到一个矩阵,该矩阵就是action的一个向量。

 

Q:一般怎幺从聚类的结果得到应用策略?

 

A:需要对聚类结果进行更深层次的解读,了解用户的行为模式。找到用户明确的行为模式,针对这类用户的行为在产品或者承接上做一些优化。当无法确定一个后续事件的变化或者KPI的变动是否由某个特定的因素引起时,我们需要再去借用因果推断的方法来确认用户使用产品过程中行为发生变化的原因。

 

Q:行为序列聚类会考虑频次吗?

 

A:会考虑行为频次。当我们对行为进行加权时,会考虑频次或者TF-IDF值。主要结合应用场景来选择合适的算法。

 

Q:当观察对象为很多天的用户行为,会发现有的用户有行为之后,好几天后才有新的行为,聚类如何处理这种问题?

 

A:我们会将用户沉默的时长也作为一个行为,放到我们的用户路径中。比如,一个用户在看完某篇文章后,隔了七天才再次有行为,隔了七天也会作为一个行为放入他的用户路径中。这对embedding也有着指导作用。

 

Q:聚类的结果会用到模型里面吗?

 

A:如果我们给人群打上label,这个会应用到后续的模型中。

 

Q:行为序列加权会考虑事件的新鲜性吗?比如事件离当前的时间有多久。

 

A:目前来说,我们并没有考虑事件的新鲜性。但是这是一个很好的点子,可以后续尝试。

 

Q:聚类结果是实时更新的吗?

 

A:当前聚类结果不是实时更新的,它是定期更新的,有规律地探查用户的变化。

 

Q:用户路径会比较稀疏吗?

 

A:用户路径是稀疏的。在N-gram的图片中,我们可以看出来用户路径是比较稀疏的。也因此,我们才需要用action2vec来解决用户路径稀疏的问题。

 

Q:是针对一个时间段内的用户路径做聚类吗?如果是,请问时间段怎幺确定?

 

A:对,是针对一个时间段内的用户路径做聚类。时间段需要结合队伍内的经验、鲜明的数据分析、用户行为周期、用户整体活跃周期的情况来进行判断。

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注