用户画像在内容推送中的研究与应用

2017-03-17 09:48吴明礼杨双亮
电脑知识与技术 2016年32期
关键词:用户画像移动互联网

吴明礼++杨双亮

摘要:随着移动互联网的迅速发展,人们也面临着信息过载的问题日益严重,大数据场景下的精准推送服务也面临着巨大的困难。为解决推送服务的准确度、大数据量,该文通过分析移动用户的行为数据,并利用spark集群的并行计算能力,快速处理大量的移动行为数据,并结合时间和空间两个维度,对用户精细化画像,了解什么样的人在什么时间,什么地点喜欢做什么事,从而为其提供更为精准的推送服务。

关键词:移动互联网;用户画像;Spark;推送服务

中图法分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)32-0255-05

1 背景

随着移动互联网的迅速发展,移动互联用户的数量得到迅速的增长。据2016年互联网数据中心(IDC)最新研究报告显示:2016年全球互联网用户数将达到32亿,约占总人口的44%,其中移动互联用户总数将达到20亿。另一方面,网络信息量爆炸式增长,据互联网数据中心(IDC)预测,到2020年全球数据量将达到35ZB,其中移动终端用户就是全球海量数据的贡献者之一。那么面对如此庞大的移动用户群体,以及如此大数据信息量,如何从中快速、准确、有效地分析出移动用户的行为偏好,并为用户精准的推送服务,成为当前移动互联网研究的热点和重点。

目前,Nor Aniza Noor Amran, Norliza Zaini, Mustaffa Samad等人为解决用户进入商场购买商品需要一个一个了解商品成分而耗费时间的问题,提出了一个基于Android程序的用画像,用于产品推荐[1]。胡仲刚与王敏娟阐述了移动互联网用户行为信息挖掘流程以及关键技术并研究了个性化推荐、精准业务营销、定向广告投放和业务能力的开放等四个方面[2]。蒋宗礼与张婷通过对用户行为进行分析,提取出用户的行为特征值,并运用支持向量机SVM将其融入本地的搜索算法,对排序算法优化。结果表明,改进的算法可以更容易、更准确地反映出用户的兴趣[3]。梁琛、王忠民等人通过移动搜索终端的用户行文,分析了移动用户使用移动搜索的行为习惯,并提出了合理性建议[4]。赵之健对移动用户行为分析模型构建的意义进行了阐述,并对行为分析模型构建的具体内容(分析数据、分析方法、分析内容以及分析结果)进行了深入的探讨[5]。

综合对当前的理论研究发现,当前针对移动互联网用户的研究,更多的是基于移动搜索的单一的维度进行分析和研究的,而且不够精细化,无法更加精细的画出用户使用手机的行为特征。本文试图在对用户多维度综合分析的基础上,采用spark的并行化计算,更快更细致的为用户画像,得出用户的较为准确的行为偏好,从而为用户提供更好的推送服务。

2 相关工作

2.1 用户画像

在任何一个个性化推荐系统中,用戶画像都是其中必不可少的一部分[6]。用户画像可以认为是用户所有行为活动的共同的表现特征。根据在用户画像过程中,活跃用户的参与程度以及捕获用户兴趣的特点,用户画像策略被广泛分为以下几种。

1)显示与隐示画像

画像的策略是根据用户的反馈信息以及一些排名的信息,这样的画像称之为显示画像。这方画像技术的质量与用户所提供的信息的质量以及数量高度相关。如果拥有清晰及时的反馈信息,那么系统就能及时的更新画像。然而现实是反馈信息在一定程度上是模糊的、不完备的,从而导致其需要额外的手工操作,也致使其在推荐应用中缺乏有效性。

为了克服这种问题,研究者开始关注自动学习用户画像的过程,在画像的过程需要用户有较少的参与程度,但其与用户的活动历史记录高度相关,这些活动记录都是由系统隐示的捕获所得到的,具有用户相对较少的参与度和较快的处理过程。因此隐示画像占据着重要的地位,但是其对各种各样用户的兴趣缺乏及时的适应性,因而也有一定的局限性。

2)静态与动态画像

显示画像技术又可进一步分为静态技术和动态技术[7]。静态画像技术多用于门户网站,它主要依赖于用户的一些静态信息,包含注册信息、反馈信息等等,在这种画像方法中,偏好权重都是固定的,一旦用户画像被创建,就难于修改。现实是用户的兴趣偏好是随着时间、地点、语境不断变化的。因而这种画像技术是效率低下的。

动态画像技术克服了这种只依赖与用户静态信息的问题,它需要收集用户的动态信息,包含用户的日常搜索记录、浏览记录、点击记录等等一些动态的信息。动画画像的过程包含了各种各样用户的兴趣的偏好,他能够及时的模拟真实用户的兴趣偏好。贝叶斯分类技术、神经网络算法、遗传算法等学习技术常被用来矫正画像模型。

3)基于文档与基于概念画像

隐示画像又可分为基于文档的和基于概念形式的。基于文档的方式是运用内容分析技术,挖掘用户的文档偏好,学习和模拟用户的浏览活动,常用的SVM向量权重模型。基于概念的方式则是通过捕获用户的浏览活动和点击活动等数据,分析出用户话题偏好。

2.2 Spark的技术特点

当涉及大量数据计算时,如果还用单机进行计算的话,不但耗费时间,而且不一定能去的很好的效果,有时可能不能满足实际的需求。

Spark[8]是源于美国加州大学伯克利分销AMPLab的计算平台。它是一种基于基于内存计算的可扩展的开源集群计框架。针对MapReduce的不足,即大量的网络传输和磁盘I/O使得效率低下,Spark使用内存进行计算以便快速处理查询,实时返回分析结果。Spark提供比Hadoop更高层的API,同样的算法在Spark中的运行速度比Hadoop快10倍~100倍[9],其核心技术就是弹性分布式数据集,它拥有Hadoop MapReduce所具有的优点,但不同于MapReduce的是Job中的中间结果是保存在内存中的[10],启用了内存分布式数据集,从而不必要读写HDFS,速度更快,延迟更低。再者其组件Spark-sql汲取了Shark的一些优点,如内存存储列,并且具有hive的兼容性,因此能够从关系型数据库中直接读取数据到内存,而且速度更快。

2.3 系统架构

图1 系统架构

推荐系统层:推荐系统层主要是对推荐算法的实现,涉及推荐的具体过程,包括数据预处理、构建用户上下文信息,根据历史数据计算用户偏好权重计算以及生成推荐结果。推荐系统层通过调用Spark 层的Spark Context 对象实现数据分布式并行计算和处理。

数据计算层:数据计算层利用大数据处理平台Spark 实现对数据的高速检索和计算,其中利用Spark SQL 读取原始文件,并建立内存表,通过SQL 语句查询出合适的数据存储在数据存储层,同时利用Spark 的内存计算原理,实现对数据的高速计算,提高整个推荐过程的响应速度。

数据存储层:数据存储层利用Hadoop提供的分布式文件系统HDFS,实现对数据的分布式存储,并利用HDFS 特性,提高数据的读取速度和写入速度,再者将spark计算出来的画像结果,通过Spark SQL连接MySql数据库,存储到数据库中,供前台界面的展示。

3 动态用户画像

3.1 源数据

数据来源于从移动端用户收集到的信息,包含用户基本的注册信息,如性别、年龄等静态信息,还有移动用户的一些隐示信息,如用户使用手机的浏览信息、点击的URL信息、使用手机的时间点、时长、频次信息、用户的位置信息、用户经常使用的APP信息等动态信息。用户的这些静态信息和动态信息,都能反映出用户在某些特定情景下的爱好。

3.2 标签库

标签是联系用户与物品、内容以及物品、内容之间的纽带,也是反映用户兴趣的重要数据源。标签库则是对标签进行聚合的系统,包含对标签的管理、更细等,其最终用途在于对用户进行行为、属性标记。一般来说,标签都是以层级的形式组织的,可以有一级维度、二级维度等。其主要来源有已有内容的标签、网络抓取流行标签、对运营内容进行关键词的提取。

3.3 情景信息

用户的信息影响着用户自身标签的形成,也影响这用户在特定情景下用户的意图,尤其移动端用户,因为用户可以随时随地的使用移动终端来搜索自己需要的内容。相应移动终端用户的因素可能会有很多,如位置、时间、天气等等因素,而在这些因素中,时间、位置是最为重要的因素,因此本文在情景信息主要考虑时间、位置这两个因素。

首先本文根据人的日常行为规律,将每天二十四小时分成不同的时间段(T来代表),如下表所示:而对于用户活动的所有地区,可以将其分为不同区域(L代表),这样不同的区域不同的时间段代表着不同的情景。

表1 时间段划分

[时间段\&名称\&00:00--05:59\&[T1]\&06:00--06:59\&[T2]\&07:00--08:59\&[T3]\&09:00--11:59\&[T4]\&12:00--12:59\&[T5]\&13:00--17:59\&[T6]\&18:00--19:59\&[T7]\&20:00--23:59\&[T8]\&]

约定1:情景信息Context用C代表,C={T,P},代表用户的一个情景,其中T代表预先约定好的时间段,P代表用户所在区域。不同的T,或者不同的P,都代表着不同的情景。那么U={[C1],[C2],…,[Cn]}代表着用户的N个不同的情景信息。

约定2:用户的情景偏好:UCP={U,C,P,W},其中U代表着具体的用户,C代表情景,P代表某一特定领域本体中的标签,W代表用户U在C情景下,对于P标签的偏好的权重大小,该值是通过该用户的历史数据进行计算出来的。

约定3:用户的时间偏好:UTP={U,T,P,W},其中U代表具体的用户,T代表划分好的时间段,P代表某一特定领域本体中的标签,W代表用户U在T时间段内对于标签P的偏好程度W,该值也是通过用户的历史数据计算出来的。

3.4 用户特征化

用户特征化即为用户打标签。通过用户的行为数据和一定的模型算法得到用户的每个标签的权重。用户对内容的行为:点击、不感兴趣、浏览等,对内容发生的行为可以认为对此内容所带标签的行为。

本文是基于移动用户的历史数据,来计算用户对于某一本体领域特定标签的偏好程度即权重,用来区分不同的标签对于该用户的重要程度。当然用户的兴趣并不是一成不变的,随着时间的变化,用户的兴趣会发生转移,时间越久远,标签的权重应该相应的下降,距离当前时间越近的兴趣标签应该得到适当的突出。处于这样的考虑,一般会在标签权重值的计算上叠加一个时間衰减函数,这样计算出来的标签,更能及时地反映用户的兴趣。因此本文引入了艾宾浩斯曲线,来模拟相应的衰减函数。艾宾浩斯曲线描述了人类大脑对新事物的遗忘规律,其更符合人类兴趣的遗忘情况。

本文采用函数:

[S(t)=1-a1+v1*t+a1+v2*t]

来模拟艾宾浩斯曲线,其中a代表长时间记忆在记忆中所占的比例,v1表示短时记忆遗忘率,v2表示长时遗忘率。通过实验与艾式曲线拟合,得到a=0.25,v1=0.42,v2=0.0003。在这种情况下,该函数能够与艾宾浩斯曲线拟合得很好。

图2 情景权重计算流程

用户对于某一特定领域的本体中,特定标签权重的计算采用如下的公式进行计算。

[Weightci=j=1m(Slide_numcidj*w1+Click_numcidj*w2i=1nSlide_numcidj*w2+Click_numcidj*w2*s(dcurrent-dj))1m*]

其中[Slide_numcidj],[Click_numcidj]为[ci]标签第[dj]天的用户浏览的次数,点击的次数。[w1]、[w2]分别代表用户浏览行为、与点击行为所占权重,当然用户点击进去的权重要比浏览的权重要大一些,即[w1≤w2]。[dcurrent]为计算时的日期,[dj]为记录时的日期,m为总的天数。

按照以上的权重计算公式,来计算各个用户在各种情景下的偏好并将计算的结果存储在MySql数据库中,其计算流程如上。

按照划分好的时间段,以及用户的历史数据,来计算用户在各个时间段的偏好权重,并将计算的结果存储到数据库中,其时间偏好计算流程:

4 实验结果与分析

4.1 根据时间偏好得出的画像结果

上图为某一用户在[T8]时间段内,用户的在对各个标签偏好,又上图可知该用户在晚间八点到十二点之间,比较喜欢看电视剧、手机数码类的网页,当然其它标签的也有所涉猎,不过所占比重较小。

4.2 根据情景偏好得出的画像结果

如上图所示,为用户在特定情景下的用户偏好及其所占的比重。118代表着特定的情景id,在本文中对应着用户在特定的位置区域,晚间八点到十二点的偏好标签有哪些?以及所占的相应的权重比,标签对应的权重比越大,代表该标签在该情景下对用户越重要。

5 推送流程

以上获得用户在特定情景下所具有的标签及权重,这只是开始,重要的是你要基于相应的情景触发相应推送服务,以产生真正的效果。触发的方式可以是位置、动作、时间、环境属性等,这里最重要的当然属于位置和时间了,因此,本文基于位置和时间的两个维度的变化来触发相应的推送服务,相应的推送服务又能产生新的数据,从而形成数据的闭环。下图为本文采用的推送流程:

首先获取当前用户所在情景区域,然后从情景库中搜索用户的兴趣,其中用户在特定情景下,或者特定时间段的偏好可能有多个标签,而每个标签又占有不同的权重,本文采用离散的区间算法,使得占有权重的较大的标签被选中的概率更大。其算法流程如下:

圖7 选取算法

从内容库中获得具有该标签的所有序列,形成推荐列表,对于网页形式的推荐,可以将其全部或者很多的显示的界面上,但是对于移动端则无法全部显示的移动终端上,因此本文采用的是加权轮询算法,选取相应的一组序列推送给用户。

6 结束语

本文利用Spark的并行计算能力,能够加快处理大量数据计算的速度,并结合时间和空间两个维度,对用户精细化画像,从而得到用户在特定情景下的兴趣爱好,并能够针对移动终端用户情景的变化自动触发相应的推送的任务。

参考文献:

[1] Nor Aniza Noor Amran, Norliza Zaini, Mustaffa Samad.User Profile based Product Recommendation on AndroidPlatform[C]. IEEE, 2014.

[2] 胡仲刚, 蒋敏娟. 基于客户移动互联网行为的信息价值挖掘应用[J]. 现代电信科技, 2013, 2(1-2): 86-89.

[3] 蒋宗礼, 张婷. 基于用户行为分析的本地搜索排序算法优化[J]. 计算机技术与发展, 2014, 24(2): 15-18.

[4] 梁琛, 王忠民, 范琳. 移动搜索终端用户行为调查研究[J]. 西安邮电大学学报, 2014(3).

[5] 赵之健. 构建移动用户行为分析模型[J]. 中国科技信息, 2014(1): 100-101.

[6] Leung K,Lee D.Deriving Concept-Based User Profiles Fro Search Engine Logs[J]. IEEE Trans. Knowledge And Data Engg., 2010, 22(7).

[7] Poo D,, Chng B, Goh J. A hybrid approach for user profiling[C].Proceedings of 36th International Conference on System Sciences,2003.

[8] Zaharia M, Chowdhury M, Franklin M,et al. Spark: Cluster computing with working sets[C]. HotCloud 2010, 2010.

[9] 程学旗, 靳小龙, 王元卓, 等. 大数据系统和分析技术综述[J]. 软件学报, 2014, 25(9): 1889-1908.

[10] 陈斌, 李淑琴, 曾星宇, 等. 基于spark的系统过滤系统设计与实现[J].软件导刊, 2015(1).

猜你喜欢
用户画像移动互联网
微美学
大数据环境下基于移动客户端的传统媒体转型思路
基于移动互联网的心理健康教育初探