用户画像构建研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019年3月25日第3卷第6期
现代信息科技
Modern Information Technology
Mar.2019 Vol.3 No.6
17
2019.3
用户画像构建研究
马朋辉,王雪宁,李勇,邵帅
(吉林大学,吉林 长春 130012)
摘 要:本文主要研究了基于搜狗引擎用户浏览数据下的用户画像构建,我们具体地、标签化地、有针对性地描述了用户特征,并以此作为市场分析、商业决策、精准营销的依据。用户画像技术可以帮助搜索引擎更有针对性的服务用户。本文主要工作:一是对用户搜索数据集进行预处理,分词上我们选用了Jieba 分词工具;二是特征词的选取采用了基于TF-IDF 的向量空间模型;三是使用Word2vec 将特征词转变为词向量;最后使用不同的分类器构建用户画像,我们在这里使用了Stacking 模型。
关键词:用户画像;Word2vec ;词向量;Stacking 中图分类号:TP391.1;TP391.4
文献标识码:A
文章编号:2096-4706(2019)06-0017-03
Research on User Portrait Construction
MA Penghui ,WANG Xuening ,LI Yong ,SHAO Shuai
(Jilin University ,Changchun 130012,China )
Abstract :This paper mainly studies user portrait construction based on user browsing data of Sogou engine. We describe user
characteristics concretely ,labeled and targeted ,and use this as the basis of market analysis ,business decision-making and precise marketing. User portrait technology can help search engines more targeted service users. The main work of this paper is as follows :Firstly ,the data set of user search is preprocessed. In word segmentation ,we choose Jieba word segmentation tool ;secondly ,we use TF-IDF-based vector space model to select feature words ;thirdly ,we use Word 2vec to transform feature words into word vectors ;finally ,we use different classifiers to construct user portraits ,we use Stacking model here.
Keywords :user portrait ;Word 2vec ;word vector ;Stacking
收稿日期:2019-03-15
0 引 言
大数据时代的到来,有力的缓解了信息爆炸的问题,搜索推荐系统也一直在致力于从“拉”模式到“推”模式的改变[1],与此同时,随着互联网计算机技术的快速发展,云计算技术的出现为大数据的及时性分析、处理提供了技术上的支持[2],用户画像是根据用户的社会属性、生活习惯和消费行为等信息而抽象出的一个标签化的用户模型。构建用户画像的核心工作即是给用户贴“标签”。通过构建搜索引擎的用户画像可以大大减少平台的运营成本。
1 相关技术介绍
Word2vec :Word2vec 模型其实就是简单化的神经网络,一般分为CBOW (Continuous Bag-of-Words )与Skip-Gram 两种模型。CBOW 模型的训练输入是与某一个特征词的上下文相关的词相对应的词向量,而输出的就是这特定的一个词的词向量。Skip-Gram 模型和CBOW 的思路是反着来的,即输入是特定的一个词的词向量,而输出是特定词对应的上下文词向量。CBOW 对小型数据库比较合适,而Skip-Gram 在大型语料中表现更好。
Stacking 模型:Stacking 是一种分层模型集成框架。以两层为例,第一层由多个基学习器组成,其输入为原始训
练集,第二层的模型则是以第一层基学习器的输出作为训练集进行再训练,从而得到完整的Stacking 模型。
2 用户画像模型构建
2.1 数据集
本文中所采用的数据来源于CCF 竞赛平台,搜狗公司提供的用户搜索数据,其中用户的ID 经过加密算法加密。
其中每条数据包含用户的ID 、Age (年龄)、Gender
(性别)、Education (教育程度)、Query List (用户搜索词列表)。数据说明如表1。
表1 数据属性说明表
属性
性别年龄学历分类
0:未知性别0:未知年龄0:未知学历1:男性1:0-18岁1:博士2:女性
2:19-23岁2:硕士3:24-30岁3:本科4:31-40岁4:高中5:41-50岁5:初中6:51岁以上
6:小学
2.2 预处理
数据的预处理包括数据清洗、自定义词典、分词处理。在数据清洗过程中,我们主要对空值进行了处理,为了提高
第6期现代信息科技
18
2019.3
最后所做预测的准确程度,我们对于有空值的用户信息选择舍去,因为我们认为被丢弃的数据占比太小,对预测的准确程度影响不大;在自定义词典过程中,我们花费了大量的时间和精力进行了一些词语的替换来换取准确率的提高,比如将百度网盘网址替换为“网盘”;在分词处理工作中,我们主要使用了结巴分词,在分词后又使用了正则表达式和去停用词来实现精确分词。
用户搜索词列表分词前:中财网首页财经 /s/1plpjtn9 周公解梦大全查询2345 曹云金再讽郭德纲 总裁大人行行好
用户搜索词列表分词后:
中财网 财经 网盘 周公解梦 曹云金 郭德纲 小说
2.3 特征词的抽取
特征词的选择即从上述总分词库中筛选出最能代表用户搜索内容的词,简单来说就是如果某个词汇出现的次数多,那么这个词语就能被筛选出作为特征词。在这里我们使用TF -IDF 算法筛选出特征词,TF -IDF 算法是经典的文本特征加权方法,它衡量了某一个单词在文档中的重要性;TF -IDF 与一个词在文档中的出现次数成正比,与该词在整个语言中的出现次数成反相关。式(1)是TF -IDF 算法的公式:
(1)
其中:TF (w ,d ):词语w 在文章d 中的词语频率; N :语料库中的文档总数;
DF (w ):训练语料中包含单词w 的文档数。
2.4 Word2vec 词向量
特征词处理完毕之后,就该着手把特征词转换为计算机能读懂的语言,那么问题来了,根据词向量,该如何表达特征词呢?假设某用户含有N 个特征词,每个特征词使用K 维的词向量表示。有人可能会说,把词向量拼起来,将一个用户形式化为N*K 的向量,但这种做法并不合适,因为无法解决不同用户的特征词数量所导致的维度不一致问题,下面为我们的方法:首先,使用传统的One-Hot 方式,具体是先构建一个词典,它包含所有我们选取的特征词;然后,对于用户的每一个搜索词,如果它在词典中出现了,对应位置就标记为1,否则标记为0;最终,每一个用户的特征表示就是01序列,长度为词典长度。再然后使用Word2vec 把特征词向量加和求平均值,根据特征词的语义获得其分布式表达,且词语之间的相似性可以由向量的余弦夹角来表示,丰富了词语特征的表达。测试集第一个用户特征向量表示如下(一共是300维向量,这里只展示24维向量):[-0.13521618 -0.12654323 -0.29329249 -0.09194205 0.08417522 0.27917215 0.13377914 0.05475752 -0.09656907 0.14759752 -0.39463448 -0.0143092 -0.60612251 -0.39274153 -0.16835085 -0.21356585 -0.29147161 0.40192119 0.37719944 0.25010119 -0.29925515 0.31874303 -0.1342936 0.43075851]
2.5 用户画像模型
Stacking 模型:集成学习就是通过构建并结合多个学习器来完成学习任务,多个学习器的结合常可以获得比单一学习器显著优越的泛化性能。其中Stacking 是一种著名的集成学习方法。
Stacking 先从初始数据集训练出初级学习器,然后“生成”一个新的数据集用于训练次级学习器,在这个新数据集中,初级学习器的输出被当作样例输入特征,而初始样本的标记仍被当作样例标记[3]。
Stacking 集成最大的特点是灵活,我们可以设置多层级的Stack ,每层可以设置合适的分类器簇,并且可以将新特征很方便的融合在层之间的中间结果里。经典的Stacking 框架分为2层,第一层含有T 个分类器,产生T 组与原数据集规模相同且维度为1的结果,将这T 组结果拼在一起可组成新的数据集,用以构成第二层的输入。在一层中,对于T 个分类器中的每一个分类器,我们把训练数据分割为N 份,利用其中的N-1份做训练,剩下的那一份做预测,这样对训练集重复N 次,就可以得到在一个分类器下对原始训练数据的一个完整预测结果,于是一个分类器可以得到N*1的新表达,那么T 个分类器就可以得到N*T 的新表达,而这就是用于下一层的输入。
2.6 模型预测结果
Stacking 模型预测准确率如表2所示。
表2 Stacking 预测准确率
准确率
用户属性
Stacking 性别78.3%年龄58.7%学历
60.1%
3 总结与展望
3.1 总结
我们在实验中遇到了很多难题,比如庞大的数据量,繁多臃肿的特征向量,为保证精准性,并没有做大批量删除处理,在保证结果的精度的前提下我们只保留了频率大于50的词,对小部分数据进行删减,使数据更加精简整洁,在解决数据冗杂的问题后,我们利用模型得到的结果与实际相比较准确率较低,因此,我们对预处理部分做了进一步优化,筛选出没有使用到的词,在此基础之上,变换不同的Word2vec 维度,以得到准确率更高的结果。
在如今互联网高速发展的背景下,勾勒用户画像作为一种手段,有非常广泛的用途,例如:精准营销,用户分析,数据分析,数据应用等。用户画像根据用户搜索记录,搜索频数,浏览时间等建立用户个性化配置文件,再使用各种数据挖掘工具从用户历史记录中学习用户个人爱好与偏向,即这可以作为是从搜索即浏览记录中刻画用户画像,从而应用在个性化订制推荐中[4]。曾鸿等(2016)通过采集分析新浪微博等用户社交数据,定量分析定性描述社交网络用户的群体行为特征,构建基于社交数据的用户画像模(下转21页)