基于LDA特征扩展的用户画像

作者:未知

  摘要:采用用户历史查询词构建用户画像时,现有向量空间模型存在特征稀疏和2-下文依赖性强的问题。针对该问题,通过引入LDA主题模型,首先提取查询词潜在主题,得到查询词对应的主题分布;然后将概率最大的主题对应的词扩充到原始特征空间中,丰富用户特征;最后采用SVM分类算法对用户基本属性进行分类,构建用户画像。实验表明,利用LDA模型对用户特征进行扩展比传统向量空间模型用户画像精度提高了1.6%。
  关键词:用户画像;特征扩展;向量空间模型;LDA;SVM
  DOI:10.11907/rjdk.192135 开放科学(资源服务)标识码(OSID):
  中图分类号:TP391文献标识码:A 文章编号:1672-7800(2020)006-0192-04
  0 引言
  互联网技术的不断发展带来各种社交大数据,这些数据潜藏着巨大的商业价值。用户画像指通过分析用户基本属性和行为习惯,给用户贴上一些标签以描述用户偏好。例如,通过对用户网络行为数据的分析,可以获知其兴趣偏好,从而帮助企业进一步了解用户需求,为用户提供更好的消费体验。
  彭秋芳等提出从用户历史交易记录中构建用户画像模型,通过机器学习方法发现潜在的用户行为信息;陈志明等利用知乎网站,构建了基于用户的社交网络、兴趣爱好和知识能力等多个属性的用户画像模型;王庆福等利用贝叶斯网络提取用户特征,构建用户兴趣模型。此外,有学者发现基于搜索引擎的用户画像对制定有效的网络营销策略具有重要价值,如王乐等针对用户上网行为数据复杂性带来的特征选择不稳定问题,提出融合多种不同类型的特征选择算法用户画像;李军政基于用户搜索记录,提出利用传统向量空间模型(Vector Space Model,VSM)提取文本特征词,对用户基本属性进行预测。但是由于用户搜索记录是短文本,存在数据稀疏及上下文依赖性强等问题,基于向量空间模型(VSM)的传统特征提取方法忽略了单词之间的语义关系,因此无法很好地表示用户特征,从而影响最终分类效果。针对以上问题,本文提出利用隐狄列克雷分配(Latent Dirichlet Allocation,LDA)模型提取短文本主题,并对原始文本特征进行语义扩充,丰富用户特征信息,进一步提高用户画像精度。
  1 相关研究
  1.1 向量空间模型
  向量空间模型(VSM)是经典文本表示模型,可将文本表示为一个数字特征向量。短文集D={d1,d2,…,dM},M为短文本总数,词Ⅳ:{W1,W2,…,WN},N为词总数。1篇短文本di∈D表示为向量的形式V={ω1,ω2,…,ωN},其中ωk为词wk∈W在di中的权重,其中权重值用TF-IDF表示。
  其中,tfki表示词Wk在di中出现的次数,dfk表示D中含有词Wk的短文本总数。
  1.2 LDA模型
  LDA是一种无监督模型,常被用于识别隐藏在文本中的主题信息。该模型可将一系列文档表示为T个主题的概率分布,且每个主题表示为一系列词的概率分布,模型结构如图l所示,图中符号含义如表l所示。
  在LDA中文档主题分布服从Dirichlet分布,即文本主题分布Θ=Dirichlet(a)。其中,a为主题分布的超参数,一般设置a=50/T。LDA中主题词分布也服从Dirichlet分布,即主题词分布φ=Dirichlet(β),其中,β为词分布超参数,一般设置β=0.01。
  大量文献表明,对LDA模型中Θ和φ直接进行估计是非常困难的,因此需使用近似的估计技术,常用方法有EM算法、Gibbs采样算法。本文采用Gibbs采样算法提取文本主题。
  Gibbs采样算法流程为:
  输入:文本集、主题数T。
  输出:文本主题分布,主题词分布。
  步骤1:主题初始化,给文本中的每个词随机分配主题。
  步骤2:对于每一个词,利用公式(2)重新计算它的主题概率。
  步骤3:重复第2步的Gibbs采样,直到Gibbs采样收敛。
  步骤4:统计文档中各个词的主题得到文本主题分布Θ,主题词分布φ。
  采样公式为:
  1.3 SVM分类模型
  支持向量机(Support Vector Machine,SVM)的作用是在样本空间中找到一个超平面,将空间中的样本区分开。离超平面最近的样本到超平面的距离影响分类器泛化能力,所以SVM需最大化该距离。
  超平面公式为一个线性方程:ωTx+b=0,可看出划分的超平面受参数ω和b影响.样本到超平面的距离为:
  2 LDA模型
  针对用户搜索记录,本文首先通过引人LDA模型提取文本主题,然后利用主题词对用户特征进行特征扩展,最后通过SVM对用户的基本属性进行分类,構建用户画像。模型框架如图2所示。
  2.1 数据预处理
  首先对原始数据集进行数据清洗,去除属性不全的数据记录。由于需将单个汉字转化成词语才可进一步挖掘文本信息,所以对不同用户的搜索记录进行分词处理,本文采用jieba分词,分词结果只保留名词、动词、形容词3种词性,这样可过滤掉一些没有实际意义的词,减少特征维度,最后删除停用词,分词结果如表2所示。   2.2 基于LDA特征扩展的用户画像
  用户通过搜索引擎可从网络上获取信息,满足自身需求,这些需求往往与用户兴趣爱好、基本属性有密切关系。例如高学历的人更偏向于了解与学术论文相关的信息;高龄人群较多搜索养身相关信息;男性则搜索游戏、体育信息的行为较多,所以可通过分析搜索文本刻画用户属性标签。
  在文本特征表示方面,由于向量空间模型(VSM)不能有效结合上下文语义信息,且难以处理特征稀疏的短文本,因此,本文将LDA模型引入到用户画像中。例如,对于“苹果电脑”和“苹果笔记本”,VSM不能体现出两篇短文本的相似性,但这两篇短文本主题分布差异很小,LDA模型可以将它们关联起来以缓解特征稀疏问题。再比如“这台苹果电脑是红色的”和“电脑旁的苹果是红色的”,这两篇短文本分词结果相同,VSM会认为这两篇短文本相似性很高,但这两篇短文本主题分布差异较大,“苹果”在前者中被分配的主题是“设备”,在后者中被分配的主题是“水果”,LDA模型可以将其区分开,从而克服上下文依赖性强的缺陷。
  利用LDA得到的文本主题分布,可以将短文本表示成关于主题的向量,但是用户查询词主题差别很大,每个用户查询词的主题仅存在于小部分主题中,若用户查询词没有共同主题,两者相似度为0,这样的结果是不合理的。因此,本文利用LDA模型对文本特征进行特征扩展,主题与文本之间存在潜在的语义关联,扩展后的特征使文本特征表达更加全面。
  基于LDA特征扩展的用户画像算法流程为:
  输入:用户查询词数据集。
  输出:用户基本属性的分类结果。
  步骤1:用向量空间模型(VSM)将用户查询文本表示为特征向量的形式,并对特征值(TF-IDF)进行归一化处理。
  步骤2:对提取的特征向量进行特征选择,选取有用的特征词作为用户的原始特征词。
  步骤3:对于每个用户,估算出对应的查询词的主题分布Θ,以及主题词分布φ。
  步骤4:寻找概率最大的主题s,将该主题对应的主题词作为该用户的扩展特征,特征值为词Wk属于这个主题的概率。
  步骤5:若扩展的特征词已存在于原始特征词中,则无需将该词添加进去。
  步骤6:用SVM算法将扩展后的特征词的3个属性标签分别进行分类。
  3 实验及结果分析
  3.1 数据集
  本文采用Python3.7进行实验,操作系统为Windows10,CPU为Core(TM)i7。实验数据集来源于中国计算机学会(CCF)组织的大数据竞赛。数据集中包含10万条用户数据,提供用户基本属性标签和一个月内的上网搜索文本。部分数据集如表2所示。
  其中ID为加密后的用户编号;年龄属性分为6类,由1~6表示,0表示未知;性别属性分为2类,由1~2表示,0表示未知;学历属性分为6类,由1~6表示,0表示未知。
  3.2 评价标准
  本文选用查准率P、查全率R和Fl值作为模型评价指标,分类结果混淆矩阵如表3所示,分别计算性别、年龄、学历属性的分类精确率、召回率和F1值。
  3.3 实验结果对比与分析
  将使用LDA模型进行特征扩展的方法、传统基于VSM特征表示方法抽取用户特征信息的方法及使用LDA主题模型抽取查询词主题信息的方法作为用户特征信息提取方法进行比较。实验结果取5次五折交叉验证后的平均值。
  从上述实验结果可以看出,本文方法平均分类准确率比VSM模型至少提高1.6%,比LDA模型至少提高2.9%;平均召回率比VSM模型至少提高2.4%,比LDA模型至少提高3.6%;F1值比VSM模型至少提高1.9%,比LDA模型至少提高3.2%。其中在学历属性上发挥的效果最好,比VSM模型至少提高了2.2%,比LDA模型至少提高了3.2%。传统VSM模型分类效果不是很理想,但仅使用LDA模型提取查询词的主题信息作为用户特征的分类效果不如VSM模型,因为用户搜索词主题过于稀疏,使用户特征表达性很差,但是利用LDA模型进行特征扩展,将原始特征结合单词上下文语义信息,使得特征表达更加全面,在一定程度上可缓解短文本特征稀疏和上下文依赖性强的问题。
  4 结语
  本文针对用户1个月的歷史查询记录,构建了一个基于文本分析的用户画像。针对年龄、性别和学历3个属性使用SVM进行分类实验,使用LDA主题模型进行特征扩展,并将其作为用户特征信息。实验表明,LDA模型在处理基于用户搜索词的用户画像时发挥了较好作用。下一步将与词向量相结合,考虑相同单词在不同上下文语境中的关联性,进一步改进模型。
转载注明来源:https://www.xzbu.com/8/view-15277995.htm

服务推荐