在线教育平台学习者的用户画像研究与构建
2023-03-20黄俊杰
陈 珂,黄俊杰
(苏州市职业大学,江苏 苏州 215004)
0 引言
在大数据时代下,人们产生、获取、处理和存储的数据量呈指数级增长,基于传统统计模型的决策已经无法满足人们的个性化要求。如何使用算法模型实现用户画像中的用户行为预测,已经成为人们的关注重点。用户画像应用领域较为广泛,适合各个产品周期,从新用户的引流到潜在用户的挖掘、从老用户的培养到流失用户的回流等都有应用[1]。用户画像通过挖掘用户兴趣、偏好、人口统计特征,可以直接提升营销精准度、推荐匹配度,最终提升产品服务和企业利润[2-3]。本文的用户画像是研究用户标签及模型构建流程及对在线学习者的日志、行为数据提取特征数据集,并在此基础上将其应用于在线学习过程中,展现在线学习者的多维度特征,客观地揭示学习者状态,帮助用户提升学习的精准度和效率。
本项目通过标签管理页面实现标签管理和标签计算引擎的资源调度检测。其中标签引擎模块是用户画像运转的核心,维护标签的具体实现逻辑,包括标签依赖的数据源、规则和模型的信息,同时提供每一个标签引擎运行状态的可视化监控。
1 用户画像的系统架构
1.1 技术架构
用户画像数据源层的数据来自MySQL数据库表和日志文件,数据存储层存储HDFS,HBase,Hive中的数据;数据处理层主要使用SparkSQL,SparkMLlib构建用户标签,对应的标签数据存储在HBase中、标签的基本数据存储在MySQL表中;数据服务层主要负责对标签创建及查询功能,并且负责对标签运行状态进行管理。每个标签模型创建好后,使用Oozie中Coordinator调度器每隔一段时间调度标签模型运行应用程序,给学习者打上用户标签。
1.2 系统功能架构
用户画像的功能架构如图1所示。本项目是基于用户的所有行为数据进行开发,其中用户画像模型的构建和计算使用Spark计算框架进行分布式处理,计算使用的资源管理使用YARN进行调度协作,整体项目功能从用户画像模型的构建和计算到用户画像结果的存储通过Oozie框架进行工作流管理,最后,用户画像结果存入非关系型分布式数据库HBase。
图1 用户画像功能架构
1.3 业务数据表的ETL
用户标签数据ETL工作流如图2所示,首先使用Sqoop工具将MySQL数据库表中的数据导入Hive表。其次,采用Spark框架和HBase提供的Bulkloader工具类将存在Hive中的数据转为HFile文件并批量导入HBase相应的表。其中对待写入HBase的数据按Key值构造util.TreeMap树结构,目的是按Key值构造匹配Hbase的排序结构,以便将Hive表数据转换成RDD,并使用repartitionAnd SortWithinPartitions算子对Key值分区并排序,接着再将RDD数据生成HFile文件,最后将HFile文件导入Hbase表。
图2 ETL工作流
2 用户标签的模型构建
2.1 用户标签体系
用户画像的标签体系基于亚里士多德的本体论建立[4],图3展示了用户基本标签、用户学习行为标签和用户学习价值标签3个方面。
图3 用户标签体系
2.2 用户标签开发的构建流程
用户标签模型的构建流程是首先需要新建4级用户活跃度标签,在创建4级标签的时候将任务的spark程序jar包上传以及指定运行参数,再依次新建5级属性标签:非常活跃、活跃、不活跃、非常不活跃,之后就可以开始运行模型任务。其中spark程序jar包中包含了对应标签的计算模型,用于生成5级标签的统计结果和用户对应5级标签画像。
2.3 规则匹配标签模型开发
规则匹配标签模型开发分为以下4个主要步骤:
(1)首先从MySQL中的基础标签表中读取4级相关的标签数据(业务标签和属性标签),依据业务标签ID读取标签相关数据(业务标签数据和对应5级属性标签数据)。从业务标签数据中获取规则rule的值[5],将其解析为Map集合,表示标签模型从哪个数据源中读取数据及数据源的资源信息;
(2)依据标签规则中的属性值获取具体业务数据的数据源;
(3)依据获取的业务数据和属性标签数据规则,进行关联匹配,构建每个用户的4级标签和5级属性;
(4)最后将合并后的用户标签数据保存到HBase表中。
2.4 用户学习周期标签
学习周期主要是获取用户在平台的最近学习时间,方便获取到长时间未进行学习的用户。
(1)获取每个学习者最近一次学习时间;
(2)转换学习的时间数据格式,由时间戳格式转换为日期格式(yyyy-MM-dd HH:mm:ss);
(3)计算当前日期与最后一次学习日期相差的天数。
2.5 用户活跃度RFE
RFE模型是根据会员最近一次访问时间R(Recency)、访问频率F(Frequency)和页面互动度E(Engagements)计算得出的RFE得分。
2.5.1 最近一次访问时间R(Recency)
只是用户最近一次访问或到达网站的时间距今天数。
R值计算:最近一次访问时间,距离今天的天数。
R:0~15天=5分,16~30天=4分,31~45天=3分,46~60天=2分,大于61天=1分。
2.5.2 访问频率F(Frequency)
F是用户在特定时间周期内访问或到达的频率。
F值计算:所有访问浏览量(PV)。
F:≥400=5分,300~399=4分,200~299=3分,100~199=2分,≤99=1分。
2.5.3 页面互动度E(Engagements)
互动度的定义可以根据不同企业或行业的交互情况而定,例如可以定义为页面浏览时间、视频播放数量、点赞数量、评论数量等。
E值计算:所有访问页面量(不包含重复访问页面)(UV)。
E:≥250=5分,200~249=4分,150~199=3分,149~50=2分,≤49=1分。
3 结语
本文使用Hadoop,Hive,HBase,Spark和Oozie部署了一个学习者用户画像构建的大数据平台,批量处理计算海量数据,进行用户画像的构建、计算和保存,并从中挖掘出较为准确的学习者画像数据。在标签管理页中可对学习者画像标签进行添加、删除和计算,并动态添加新的学习者画像标签。本项目具有普适性,不仅可以用于视频学习网站,也可以适用于其他拥有大量数据的服务型网站来构建属于自己的学习者画像标签。