赞
踩
随着信息技术的快速发展和大数据技术的广泛应用,企业的营销和产品的设计,对精细化、精准化的要求越来越高。主流的电商平台、搜索引擎以及短视频平台均推出了基于用户画像的个性化推荐服务,这其中相当一部分是基于用户的搜索内容去构建用户画像,从而实现精准营销和个性化服务。很多平台和产品在新用户注册时都会引导其根据业务需求,填写个人基本信息,但是搜索引擎、输入法及视频网站等,用户信息填充的完整度非常低。针对以上问题,本文的主要工作和研究内容如下:
结合用户在使用搜索框输入的查询内容时用语喜好、表达关联性和内容主题等方面选取了多个维度的特征。使用词袋模型去构建所有已知单词的字典,并统计每个单词出现的次数,忽略词语出现的先后顺序,并基于该字典分别统计一元语法uni-gram及二元语法two-gram特征,用于表达出具有不同属性用户的用语喜好。再根据结果使用主题词嵌入模型(即TWE)训练生成每个查询内容的词向量。为了能够将不同用户的搜索记录使用固定长度的向量表示,使用Doc2Vec对每个用户的搜索记录进行处理,该方法会将构造好的向量加入到该文档的词向量训练过程同时进行训练。
在进行文本的转换得到特征表示内容后,分别选用了多种基础的机器学习算法,如Logistic回归、Random Forest算法以及XGB模型等,与文档-逆文档频率特征表示相结合来抽取用户用语喜好的差异,由于文档-逆文档频率特征具有稀疏性和特征维度高的特点,导致最终预测达不到预期效果。同时使用全连接神经网络模型与多种特征表示相结合的方式,来抽取查询的表达关联性信息,并在算法实现时进行多次的参数调优,但都未得到较好的效果。为了提升算法模型在构建用户画像时的精准度,研究探索使用多模型融合技术,在构建的第一层算法模型的基础上,进一步采用了xgboost融合技术,准确性显著提升。
多模型融合主要实现过程是将数据集按照一定的采样规则划分为若干份,之后构建多个基学习器,将所有学习器的预测结果汇总到一起,经过多层的融合,训练得到一个新的学习器——元学习器,从而计算出最终的预测结果。元学习器是归纳总结所有任务上训练经验的一种位于元层的模型,即每次训练基础学习器后,它都会综合新的经验,并更新其中的参数,用于指引基学习器的最优行为或探索某个特定的新任务,提取任务上和模型、训练相关的特征。最终经过模型融合后,模型的预测效果明显得到提升,泛化能力更强。
关键词:大数据 用户画像 文本特征 分类模型 多模型融合
With the rapid development of information technology and the wide application of big data technology, the requirements of enterprise marketing and product design for refinement and precision are getting higher and higher. Mainstream e-commerce platforms, search engines and short video platforms have all launched personalized recommendation services based on user profiles, of which a considerable part is to build user profiles based on user search content, so as to achieve precision marketing and personalized services. Many platforms and products will guide new users to fill in their basic personal information according to business needs when registering, but the integrity of user information filling is very low for search engines, input methods and video websites. In view of the above problems, the main work and investigate contents of this paper introduction as below:
In order to describe the data more comprehensively, a multi angle feature is constructed according to the user's word usage, semantic relevance and the topics contained in the search content. The word bag model is used to filter words appearing in multiple documents to form a vocabulary, and the one gram and bi gram features are counted to reflect the word usage habits of different categories of users. The Topical Word Embedding (TWE) model is used to train the word vector of each query word according to the results. In order to represent the search records of different users with fixed length vectors, Doc2Vec is used to process the search records of each user. This method will add the constructed vectors to the word vector training process of the document for training at the same time.
After the text features are extracted, traditional machine learning models, including logical regression, random forest model and XGB model, are used to combine with TFIDF features to extract the differences in users' word habits. Because the tfidf features are too sparse and the dimensions are too high, the final prediction results are not good. Meanwhile, the full connection neural network model is combined with multiple feature representations to extract the expression relevance information of the query, and the algorithm is implemented with multiple parameter tuning, but the results are not good enough. For purpose to improve the accuracy of the algorithm model in building user portraits, investigate and attempt to use of multi-model fusion technology. Based on the first layer of algorithm model, xgboost fusion technology is further used, which significantly improves the accuracy.
The main process of multi-model fusion is to divide the dataset into several samples according to certain rules, and then build multiple base learners to summarize the prediction results of all learners. After multi-level fusion, a new learner - meta learner is trained to calculate the final prediction result. Meta learner is a meta level model that summarizes training experience on all tasks. That is, after training the basic learner every time, it will synthesize new experience and update its parameters to guide the optimal behavior of the basic learner or explore a specific new task, and extract features related to the model and training on the task. Finally, after model fusion, the prediction effect of the model is significantly improved, and the generalization ability is stronger.
KEYWORDS:Big data;User portrait;Text features;Classification model;Multiple model fusion
1.1.1 研究背景
随着世界范围内信息化的快速普及,各行业基于互联网+的应用也层出不穷,依赖性也越来越强,同时互联网也融入到人们的生活的衣食住行。人们通过网络工作、学习、购物、娱乐的同时,也在互联网上留下了海量的用户信息,这些信息大多具有极高的真实性,并且信息的维度也很丰富,对于用户的研究具有很大的价值。搜狗搜索作为国内众多搜索引擎的中流砥柱,其所涵盖的用户数量众多,同时涵盖的用户维度也较为广泛,这些用户的性别、年龄以及学历等信息在当前研究中能够起到极具代表性的作用。
用户画像又被称之为用户角色,是用户数据分析研究的主要方向[1]。用户画像通过对用户的性别、年龄层次等人口属性信息进行统计分析,从而抽象化为单独的标签,形成一个详细且广泛的标签体系,从而用来描述、形成用户画像。用户画像能够对待分析用户进行一定程度的描述,还能够用于引导分析用户需求和产品设计方向。此外,通过对用户的相关信息的分析,用户画像还可以描绘出用户在不同属性上的信息,从而对未知用户贴上对应的标签。通过对历史用户数据的深度挖掘,能够有效的提高网络信息的利用率以及价值,从而获得更为精准的用户特征。在推荐系统中结合使用用户画像,不仅能够提高推荐结果的准确度,还能够大大提升用户的体验。
用户画像应用范围非常广泛,主要概括为以下三个场景:在产品设计阶段,使用用户画像能够有效的提高产品设计与用户需求的贴合度,从而提高用户的满意度;在产品营销阶段,使用用户画像能够有效的提高对特定用户进行个性化推荐的准确度,从而提高用户体验;在产品决策阶段,对用户画像进行分析统计,从而对产品的发展趋势进行预测,能够及时调整产品,从而防止用户的流失。
在现代的广告投放系统中,利用用户的年龄、职业、年龄层次等基本属性实现的智能推荐技术,是能够适用于精准营销、定点投放竞价广告和品牌展示广告的有效方法。用户一般会使用搜索引擎查询指定内容来得到对应查询的信息,因此,用户的搜索历史和用户的基本属性有着密不可分的关联,例如青年人往往会有较多的搜索行为与社交、娱乐有关;男性相较于女性,会对汽车、军事等主题更为感兴趣。
搜狗搜索是当下中国搜索引擎中发展较为迅速、用户涵盖范围较广的一个搜索引擎,任何用户都可以在该搜索引擎中搜索想要搜索的问题。如何有效的利用搜狗搜索中的用户搜索记录,挖掘更具价值的信息,就是本文的研究重点。将用户画像引入到推荐系统的研究当中,为推荐系统领域加强用户推荐精细化、提升用户推荐准确性、加大用户推荐贴合度,提供了一定的理论支持和实践借鉴。
1.1.2 研究意义
当前社会是一个数据急剧增长的时代,借助着大数据技术的飞速发展,人们时时刻刻都在与信息打交道,时时刻刻都在产生着大量的信息。随之而来的问题是信息量大到令人无所适从,如何从浩瀚无垠的海量信息中精确的获取需要的信息,变得十分的困难。因此,从理论与实践两个方面入手,对研究意义阐述如下:
为了利用数据对用户进行更为全面的刻画。使用词袋模型筛选出现在多篇文档中的词语组成词表,反映不同类别用户的用语喜好。之后根据主题分析结果使用TWE模型计算每个查询词的词向量,同时使用Doc2Vec方法构造能够体现该文档语义特征的向量。之后,利用上述方法提取到的文本特征,分别构建机器学习以及深度学习模型,并结合多模型融合提升模型总体精度,从而对新增用户的性别、年龄以及学历进行判定。为基于用户画像的推荐系统提供了一定的理论支持,并为搜索引擎用户画像研究提供了一定的参考和借鉴,具有重要的理论意义。
用户画像作为一种提高推荐系统精细化和准确化的有效措施,可以完美的解决用户差异化的问题,实现用户需求与现有信息的有效交互。使用用户画像技术对搜狗搜索用户数据进行梳理,使用用户的搜索记录对用户的性别、年龄以及教育程度进行判别,并针对不同的用户特征提出不同的解决方案,最后对数据进行后置分析处理,对提升搜索引擎推荐系统的精细化、准确性具有重要的实践意义。
用户画像技术如今已经是一项十分成熟的技术,国内外有众多专家学者对用户画像技术进行研究,通过用户画像技术了解用户的需求以及用户的偏好,从而为用户提供更为精细化的个性化推荐。交互设计之父Alan Cooper曾首先提出了用户画像的概念[3],通过分析用户社交属性和行为信息,将用户信息全貌最大程度的展现,以此来帮助企业快速的找到分类用户群以及用户的当前需求,同时让用户对自己有一个深刻的了解。
近年来用户画像技术已经普及到了各行各业,不止众多专家学者深耕于用户画像领域,国内外众多的企业也对用户画像技术进行了深入的研究。目前,用户画像技术能够覆盖现有主流行业,如金融、贸易、社交、心理等领域用户画像技术都在充分的发挥着不可或缺的作用。
1.2.1 国外研究现状
近年来不少国外学者对于用户画像进行了深入研究。研究大致分为两类,一类是对算法的改进,另一类是对模型的构建。
(1) 算法改进
由于推荐系统通常通过用户与系统之前所有的交互来进行推荐,而随着时间的变化,用户的偏好也会随之发生不同程度的变化,或者其他人使用该用户的账号,此时推荐的结果往往是不尽人意的。就此问题,Roberto Saia等人提出了一种新的基于动态一致性的方法来定义推荐过程中使用的用户配置文件,以便使用的用户配置文件尽可能的接近用户的真实偏好[4]。
国外的Achemoukh Farida等学者提出了一种基于贝叶斯网络的个性化信息检索方法,通过该方法构建和利用用户画像。这种方法可以完美的解决大多数信息检索系统对于以系统为中心的依赖,完美的解决了不同用户的需求的差异[5]。Sachi Nandan Mohanty等人从物联网采集微博文章,并对数据进行清洗,构建了一种基于粗糙模糊聚类(RFC)技术的用户访问行为推荐框架,并在构建RFC聚类算法过程中使用了鸡群优化(CSO)算法对RFC中生成的规则进行了优化,相较于传统的推荐精度有所提升[6]。
推荐系统中常见协同过滤算法的身影,而协同过滤算法中最为棘手的问题就是如何使用相似度算法来增加推荐系统的准确性。Widiyaningtyas Triyanna等人考虑到用户的轮廓数据,即性别、年龄、职业以及位置信息,构建了一种基于用户轮廓相关性的相似度算法,通过计算用户轮廓数据与用户行为之间的相关系数,得到两者相似度的权重。与传统的基于用户评分和用户行为的相似度算法相比,模型的各个指标均有所提升[7]。
(2)模型构建
从用户的角度出发,Siamak Mirzaei等学者为了使广告的显示能够满足用户的需求,同时使互联网广告能够被正确的投放。针对用户的概况和行为信息,构建了决策树模型,并分别在使用了用户概况、行为信息和不使用用户概况、行为信息的两种状态下进行建模,通过两种模型结果对比,发现用户概况和行为信息可以极大的影响互联网广告的正确投放,使用用户概况和行为信息构建的模型满足个性化的广告推荐的要求[8]。
为了做到有效个性化的推荐,以满足用户的兴趣、特征以及需求,Ayse Cufoglu等学者使用多维聚类算法(MDC),来确定用户画像。在构建模型的过程中使用了三种特征权重方法,并分别针对三种方法进行了测试和评估,以求更为深入准确的了解用户的多种行为[9]。为了解决推荐系统在处理稀疏数据的难题,Abdelrahman H. Hussein等学者构建了一种混合多准则的系统过滤模型,并分别使用两组数据集分别验证模型[10]。
1.2.2 国内研究现状
国内学者对用户画像技术的研究起步要晚于国外,但是近年来国内在用户画像领域的文献越来越多,且研究的领域也越来越广泛。国内学者对于用户画像技术的研究主要集中在3个不同的方向,首先,是对于用户画像的理论探索;其次是对用户画像相关模型的构建;最后,是对于用户画像相关算法的改进与优化。
国内学者冯建英等人,在针对农业领域用户画像探索时,针对用户画像技术在农业领域的应用进行了系统性的分析,主要包括农业的精准营销、农业服务的个性化推荐等。并提出未来用户画像在农业领域的应用主要将呈现以下三方面的研究趋势。其一,不同平台及渠道的数据往往具有不同结构以及模态,因此如何融合不同来源的数据,同时从不同的角度挖掘用户画像,成为用户画像数据采集和处理的研究重点;其二,用户的兴趣和需求往往会随时间的推移而变化,因此如何衡量用户画像的时效性,并对用户画像做出实时的更新,也是用户画像领域研究不得不考虑的问题;最后,随着智慧农业的大力推广,用户画像技术未来必将应用于农业领域[11]。
国内学者李锐对于用户画像的研究现状做了梳理,希望可以为后续的研究提供方向。在梳理过程中发现了用户画像的研究,目前仍然存在以下三点不足。其一,国内对于用户画像的起步虽晚,但是由于受重视程度高,发展的速度非常快,用户画像技术几乎覆盖到了各个行业,并且实践效果十分优异。但是对于用户画像的实质、原则以及架构等方面的理论研究还有一定缺失,许多概念仍然是套用国外的理论体系。其二,目前现有的研究采用的数据源一般是一个或几个,因此在描述用户的时候往往存在一定的片面性,因此如何引入新的数据,拓展数据宽度,仍需深入的研究。最后,目前用户画像的应用大多数都不能得到充分的验证,用户画像存在的问题不能得到及时的反馈,导致画像存在的问题不能够及时的改正和优化[12]。徐芳在对国内外用户画像研究现状研究时还发现以下两点问题,其一,用户画像技术在各个领域的研究发展不够均匀,在电子商务等领域的研究和应用较为深入,而在旅游、农业、医疗健康等领域
发展滞缓,研究成果较少。其二,用户画像研究中,所涉及到用户的数据,关系到用户的隐私问题,用户隐私的泄露,可能会造成人们对于网络数据安全的恐慌[13]。
国内学者侯婧,为了实现教学方式的新变革,提出了将用户画像技术应用于教育领域,并提出应用学生的个人信息、兴趣爱好、学习成绩等信息,使用用户画像技术对学生进行多维度的刻画,从而使教师更为精准的掌握学生各方面的情况,指定真正的因材施教的教学方式。这一观点为用户画像领域的研究又开拓了新的道路[14]。
国内学者王斐为了丰富数据对于传统营销方式的改进,同时令企业能够更好地理解用户的需求,按照以下三个步骤构建了用户画像模型。首先,收集用户的静态数据以及动态数据;之后,对用户数据进行清洗、过滤并去重;最后,对用户数据进行分析,并构建用户画像。并在构建用户画像时加入浏览数据、搜索数据、点击数据等动态数据,让产品方能够及时发现用户需求的变化,为响应该变化进而及时调整企业的营销策略[15]。
国内学者苗光尧等人,在针对电力领域的用户画像技术进行探索时,提出了一种基于多源数据融合的电力用户画像构建方法。模型构建过程大概分为以下几个流程,首先,使用灰色关联分析法计算欠费数据与价格指数之间的关联度;之后,使用电力网络多源数据与概率密度函数提取出用户欠费数据的多源信息特征;最后,使用改进的K均值聚类算法用于构建用户画像。以求提高对敏感用户的分类精度,同时提高电力相关业务人员的工作效率,并助力业务人员对于用户有更为全面的认知[16]。万家山等人,为了解决传统信息推送服务缺少对于用户信息等情况的考虑,推荐系统的针对性较低,以及转换率偏低等问题。借助KD树来实现KNN聚类算法对于用户行为偏好的分析,从而构建出用户画像,最终采用协同过滤模型,实现为用户进行个性化推荐。该方法不仅能够提高数据的价值以及可用性,相较于传统的推荐系统,不仅推荐效果有所提升,且对于不同用户的针对性也有所提高[17]。
国内学者吴文瀚使用5亿的搜索引擎全量数据对用户进行用户画像分析,分别利用KL散度以及AIO社会学模型进行样本选取,之后利用CH-Score和SH-Score算法以及聚类算法构建用户画像,最终完成了大数据用户画像从0到1的构建[18]。郭梁等人使用Stacking模型融合方法[19]对搜索引擎用户数据构建用户画像,该用户画像模型主要分为以下两层:一是使用词频-逆文档频率对用户搜索内容特征进行提取,同时构建多层分类模型,之后使用Doc2Vec模型提取具有关联信息的文本特征,并使用该特征构建BP神经网络模型;二是用SVM进行分类预测,用于构建用户画像信息。在进行用户画像模型构建时,往往存在很多的问题,比如上下文依赖性较强、特征稀疏性等问题。为了解决这些问题,国内学者陈泽宇等人,使用LDA主题模型对用户搜索关键词的主题进行提取,以此来刻画用户的特征信息,并构建SVM支持向量机模型,从而实现用户属性的分类预测,与传统模型相比模型效果有所提升[20]。
苗宇等人在对搜索引擎领域的用户画像技术进行研究时,提出了一种基于多层级特征提取的融合网络用户画像生成方法。模型构建过程主要包含以下三个基本步骤:首先对用户原始文本进行关键词提取和排序,用于生成基于top2关键词的子句表示和top N关键词的词向量表示;其次,结合recurrent neural network和注意力机制,构建多个层次的用户特征提取模型;最后,利用原始用户数据对用户属性进行预测[21]。陈泽宇使用LDA主题模型提取用户搜索关键词的主题,之后使用神经网络模型学习得到主题的词向量,之后使用随机森林算法构建用户画像,该方法可以有效的解决一词多义的情况,为搜索引擎领域的用户画像技术的研究提供了重要的理论与实践基础[22]。
国内学者王杰等人,提出了一种基于知识图谱和用户画像的改进推荐方法[23],通过知识图谱和用户画像技术,计算企业产品于用户需要之间的相似度,之后,将相似度按照不同权重进行加权的方式相融合,从而对推荐算法进行改进,相较于原始的推荐算法,改进后的推荐算法不仅极大的缓解了数据稀疏性的问题,同时也明显地提高了推荐效果。黎才茂等人同样利用知识图谱对用户信息进行映射[24],构建出多粒度社交网络中用户的活动范围序列和连续活动位置序列,从而完成对用户画像的构建。
国内学者李伟等人,在对高校图书馆的用户画像进行研究时,考虑到了传统的K-Means聚类算法在多视角下进行聚类往往会陷入局部最优,从而使用户画像的准确率较低的问题。提出了一种基于马氏距离的多视角二分K-Means聚类方法,马氏距离可以有效的解决欧氏距离在多视角下聚类受量纲影响的问题,该方法相较于传统的K-Means算法,在构建用户画像的过程中可以达到全局最优,不会陷入局部最优解,且模型的鲁棒性以及性能均得到了很大的提升[25]。
国内的马愿谦等学者了解到现有的电力系统只考虑到用户的评价信息,因此会忽略不同用户评价信息的多样性,导致推荐的结果往往会有较大的偏差。因此,提出了一种通过用户画像标签体系以及BLAP聚类方法的用户画像。用户画像模型主要通过以下步骤构建。首先,基于用户画像标签构建BLAP聚类模型;其次,采用多粒度犹豫模糊对用户画像进行刻画,最后使用离差最大化模型对不同的用户做出个性化的推荐[26]。蔡艳婧等人为了提高电力系统个性化推荐的准确性,采用Canopy改进K-Means聚类算法生成用户画像,以求方便电力系统对用户的用电进行高效的调度[27]。
通过上文对国内外相关文献的研究,可以发现国外学者主要注重于用户画像模型的构建以及算法改进方面,在电商推荐以及网络社交等领域均有所探索,国内学者对于用户画像技术的研究虽然较国外起步较晚,但是在理论梳理、实践研究上已取得不少的成果。但是目前用户画像技术的应用依然面临很多问题,因此,用户画像技术的研究道路仍然很长,可以研究的方向也很多,且潜力巨大。
目前用户画像技术的应用实践所遇到的问题,可以分为以下两个方面:
数据方面:首先,目前大多数的用户画像研究所使用的数据源都是一个,所构建的用户画像可能会导致对于用户的描述存在片面化,从而影响推荐系统的推荐效果。其次,由于用户具有动态性,用户的某些兴趣或需求,可能会因时间的推移,而产生变化,而构建用户画像的数据往往可能不是最新的数据,因此如何界定用户画像的时效性,也是用户画像技术发展所面临的问题。最后,就是用户特征数据真实性的问题,同一个账号可能由几个人共同使用,或者用户可能存在一些错误的操作行为,从而影响用户特征数据的真实性,导致对于用户画像的准确性也有较大的影响。
模型方面:首先,目前用户画像模型的效果验证存在着局限性,现下研究所涉及的模型效果评估所使用数据并不是实时的,因此对于模型效果的验证存在着局限性,构建的用户画像模型存在的问题不能够得到及时的反馈,导致用户画像不能得到改正以及优化。其次,相同的文字在不同的语境的语义也截然不同,因此想让计算机真正读懂用户的关键词仍是用户画像技术所面临的问题。
我国的用户画像技术所面临的问题还不止这些,比如还有用户画像在各个领域的发展严重不均以及在构建用户画像过程中用户的隐私安全等问题。因此,借助搜狗搜索引擎用户数据,通过分析不同用户的特征,构建用户画像,以求提升对不同用户个性化推荐的精准度,帮助企业更为了解用户的兴趣、需求等。
以搜狗搜索引擎的用户数据作为研究对象,进而构建出使用该引擎的用户画像,分别做了以下工作:
在数据预处理部分,主要对用户的搜索记录进行了缺失值处理、停用词处理以及分词处理。
缺失值处理:由于部分用户的特征信息存在缺失,因此构建了词袋模型,用于计算每个用户搜索记录的TF-IDF值,之后使用用户信息完整的作为训练样本,构建逻辑回归模型,用于填充部分用户缺失的特征信息。
停用词处理:经过对数据进行初步分析后,发现部分用户喜欢在搜索过程中加入空格或标点符号分割,这些都有助于用户属性的判别。还有就是一些青年男性可能比较喜欢看玄幻修仙类的小说,而这些小说的名字往往都带有“之”字,因此这类停用词对于用户属性的判断也会有较大的帮助。因此在进行停用词处理时保留了空格、特殊符号以及部分特殊停用词,从而提高用户画像模型的精确度。
分词处理:在对文本数据挖掘的过程中最为重要的一步便是分词处理,一个句子按照不同的规则分词,语义可能也会发生翻天覆地的变化,比如“南京市长江大桥”,按照词语结构可以分为“南京市,长江,大桥”,按另一种结合方式,也可以被划分成“南京市,长江大桥”或者“南京,市长,江大桥”,显而易见分词对于语义的重要作用,本文选用了NLPIR、THULC进行尝试,效果均不够理想,又使用JIEBA进行分词,最终发现JIEBA对于中文的分词效果最好,且经过分词处理后原来的语义没有被破坏,因此最终采用JIEBA对用户的搜索数据进行分词处理。
为了使构建的用户画像模型更为精准,从语义相关性、用户用语喜好以及主题等多个方向构建了不同维度的特征,具体工作分为以下五个部分:
对所有的文档进行了筛选,筛选出现在五篇文档以上的词语构成词表,并分别使用uni-gram(将词表中的每个词作为切分单元)和two-gram(将词表中的每个词以及前一个词作为切分单元)对样本进行编码,从而计算出不同样本间的相似关系。该特征的计算方式虽然十分简单,但是对于用户的画像刻画十分有效,但是该特征的计算也有一个很大的缺陷,就是计算过程缺乏不同词之间的语义信息。
借助Google的word2vec开源工具对预处理后的搜狗用户历史搜索数据进行训练,得到了不同用户的常用词的词向量,借助用户常用词的词向量,从而计算出不同词语之间语义的语义关系,通过计算结果可以有效的体现出不同用户搜索关键词的差异程度,同时可以有效的缓解上一部分缺乏语义信息的问题。
数据中每个用户都具有一段时间内的历史数据,其中有一些查询的内容,可能具有较强的相关性,而有些查询内容之间则毫无关联。因此,使用主题模型对用户搜索内容进行分析,获取用户的查询主题,从而刻画不同用户的查询习惯以及关注的领域等。
为了能够将不同用户的搜索记录使用固定长度的向量表示,使用Doc2Vec对每个用户的搜索记录进行处理,该方法会将构造好的向量加入到该文档的词向量训练过程同时进行训练,在文档训练阶段,本文同时采用了基于分布式内存DM和基于分布式词袋DBOW两种特征表示方法,从而提升特征构建过程中信息的完整性。
除了前几部分提到的特征外,还依据经验人工构造了一些其他的特征,如查询词语的平均长度、关键词的数目、英文查询词占比以及关键词的最大长度等特征,从而提高用户画像的精确度。
在构建用户画像模型时使用了两级模型结构,具体结构如下:
其中第一级模型由机器学习模型结合上一部分所构建的特征来抽取不同的用户间的用词差异,以及使用神经网络模型结合所建特征计算查询关键词间的表达关联性信息。在计算不同的用户间的用词差异时,本文先后借助逻辑回归、随机森林以及 XGB算法,构建不同的模型。在构建XGB模型时分别使用了GBLinear和GBTree,由于TFIDF特征具有较强的稀疏性且维度较高,因此导致树模型的效果较差。而逻辑回归模型和GBLinear最终的效果相差不多,最终选用了逻辑回归模型计算不同的用户间的用词差异。在计算不同用户查询关键词间的表达关联性信息时,构建了由两层Dense构成的全连接神经网络模型。
两级模型的构建,其实质是将第一层模型的输出作为第二层模型的输出,从而构建出多个XGBTree模型,同时使用5折交叉验证,将多个XGBTree模型,通过Stacking多模型融合的方式进行融合,以此来提升模型的泛化能力以及鲁棒性。
将用户画像技术应用到搜索引擎个性化服务领域,构建了搜索引擎用户画像框架,构建多级模型,并使用模型融合算法将多个模型进行融合,从而提高模型准确率。
本文共包括六个章节内容,组织结构如下:
第一章:绪论。本文从研究背景以及研究的意义出发,对国内外关于用户画像技术的研究现状进行了梳理,并详细阐述了用户画像技术当下所面临的困难。
第二章:相关理论和技术。以实现搜索引擎用户画像模型的构建为核心,对其涉及的用户画像概念、构成要素、构建流程,以及所涉及的理论知识进行概述与分析。所涉及的理论知识具体包括:文本特征表示的方法,如词袋模型、主题模型以及Doc2Vec等;用户画像构建相关模型,如Logistic模型、随机森林模型、全连接神经网络模型和XGBoost模型等,以及Stacking多模型融合技术。
第三章:用户画像模型构建。首先对于数据集做了简要的概述,之后,对样本数据集存在的字段缺失等情况进行了处理。将用户的历史搜索记录,进行文本特征处理,如计算TF-IDF值、词语所在主题以及uni-gram等重要特征,以适应分类模型训练需求;基于构建的文本特征,分别使用Logistic模型、随机森林算法、全连接神经网络以及XGBoost等模型,预测用户属性信息,并构建出用户画像模型。
第四章:模型的优化及多模型的融合。首先对传统模型训练过程进行参数调优。之后对比所构建的机器学习模型的精度,从而选择出第一级模型。基于Stacking模型融合技术将优化后的XGBoost模型结果进行融合。
第五章:实验结果与分析。首先使用公式推导,评价指标的计算公式,通过对比不同算法模型的评价指标,来检验所提出的多模型融合技术的有效性。
第六章:总结与展望。对本文的研究内容进行总结和归纳,指明其中存在的不足之处,并提出未来的研究方向。
用户画像的概念最早由“交互设计之父”Alan Cooper提出。用户画像是一种能够有效分析用户需求和刻画用户特征的方法,用户画像技术一经提出便在各个领域迅速应用[28]。用户画像常见的基本特征有年龄层次、学历层次、性别等,对这些特征进行分析、总结构建出来的用户模型,实际是就是对用户基本信息的标签化,用户画像也是真是用户的一种虚拟的表示。
Travis在对于用户画像技术的相关研究中提出了用户画像应包含的几种特性[29],主要涵盖真实性、独特性、目标性、基本性和移情性等。许鹏程提出了用户画像应包含的其他几个方面特性[30],包括时效性、交互性、可迭代性、知识性、区隔性以及聚类性等。由此可见,用户画像将海量的真实数据为基础,通过对用户的兴趣和行为等进行分析计算进而形成的虚拟用户模型,它需要满足以下几种特性:
随着时间的迁移,用户的兴趣或需求可能会消失,即使没有消失,用户的兴趣程度以及需求的紧急程度,可能也会随着时间的迁移而降低或提升。这也意味着用户画像模型必须存在着一定的时效性,因此用户画像模型需要按照一定的周期进行更新,避免其准确性随着时间的变化而降低。
不同的用户之间存在着差异性,但有些用户往往也存在着某些共性。因此用户画像不仅要反应不同用户间的差异性,还要反应数据背后用户的共性特征。因此需要对用户的数据进行整合和分析,从而了解用户的兴趣、习惯等,由此对于不同的目标用户群体进行划分,从而获得不同用户群体的用户画像。
企业可以利用不同的算法模型对用户数据进行挖掘,以体现出用户数据的价值,使用户的信息更加立体化,用户在于系统进行交互时,会持续地产生大量的用户数据,充分利于这些数据能够使用户画像更具客观性,同时能够大大的提升用户画像的有效性。因此用户画像技术的应用需要加强用户的信息反馈机制,同时让用户可以对用户画像的结果进行适当的反馈,从而进一步的优化用户画像模型,提升用户画像模型的有效性。
总体来说,用户画像的核心工作便是使用海量用户数据进行分析和挖掘,从而为不同的用户贴“标签”,这些标签往往是能够表示用户某一个维度特征的标识,通过这些标签对业务进行运营和分析,从而为企业的决策提供一定的支持。
图 2-1 用户画像示意图
Fig 2-1 User portrait
使用的数据是不同用户的搜索记录,是一种非结构化的数据,不能够直接用于模型的计算,而文本特征表示的作用就是将这些非结构化的信息转换为结构化信息,从而完成情感判别、主题分析和文本分类等任务。
2.2.1 词袋模型(Bag-of-words model)
Bag of Words,也被称为“词袋”,词袋模型主要是用来描述文本的一个数学模型,也是目前最为常用的一种文本特征提取方法 [32]。词袋模型主要是按照以下两个步骤,将文本转换为可以适用于机器学习算法模型的数值型向量。首先,需要从文本中提取出关键词,从而构成一个集合,同时可以完全忽略每一个单词出现的顺序以及文本的语法结构。之后选出一组没有顺序的单词用来表示文本,并转换为向量,从而实现文本特征的提取。
词袋模型的实现可以通过以下的例子展示:
例句:
(1)我很喜欢学习用户画像技术,同时我也喜欢研究用户画像技术。
(2)我十分热爱研究用户画像技术。
可以取两个文本中部分词语的并集作为参考词典,假设两个文本组成的词典为:
[我,喜欢,用户画像,技术,热爱,研究]
表 2-1 词袋模型文本特征表
Table 2-1 Text feature table of word bag model
我 | 喜欢 | 用户画像 | 技术 | 热爱 | 研究 |
续表 2-1 词袋模型文本特征表
Table 2-1 Text feature table of word bag model (continued)
文本1 | 2 | 2 | 2 | 2 | 0 | 1 |
文本2 | 1 | 0 | 1 | 1 | 1 | 1 |
从表2-1中可以清晰的看出,只要在集合中包含该词语,则计算出该词语的频次作为其特征值,否则其特征值置为0,而文本中每个词语都是毫无关联的,每个单词都具有独立性,因此文本中任意位置出现任意一个单词,都不会受到其他任何因素的影响[33]。在构建好每一个文本的词向量特征后,还可以对一些有意义的单词进行筛选,从而降低文本特征的稀疏程度,最终提高模型的精确性。
2.2.2 N-gram
N-gram多元语法是人工智能自然语言处理研究方向中一个概念,可以基于一个预料库,使用N-gram方法计算不同样本之间的相关性。N-gram最早起源于信息论大师香浓的研究,他提出了一个疑问:给定一串单词,如“how are”,下一个最可能出现的单词是什么[34]。分别使用了,当N=1时的uni-gram方法和当N=2时的two-gram方法。假设有以下词语:我、喜欢、研究、用户画像、技术。则使用uni-gram和two-gram分别提取到的特征如表2-2所示。
表 2-2 uni-gram和two-gram特征提取示意表
Table 2-2 Schematic diagram of feature extraction of uni-gram and two-gram
N-gram | 特征提取 |
uni-gram | 我,喜欢,研究,用户画像,技术 |
two-gram | 我 喜欢,喜欢 研究,研究 用户画像,用户画像 技术 |
2.2.3 词频-逆文档频率(TF-IDF)
TF-IDF常用于提取文本特征,也被称为词频-逆文本频率算法[35]。假设某一词语在某一文本中出现的频次较高,在其余文本中频次几乎为0,则认为这个词语具有较高的重要性,且该词语对于文本的区分度也很高。
文本特征提取步骤如下:
tfi,j=ni,jknk.j (2-1)
式中ni,j表示词语在某一文本中的次数,分母表示该文档中所有词语的总数目。
②IDF值的计算公式如式(2-2)所示,其结果用于表示某个词语的重要程度:
idfi=logDj:ji∈dj+1 (2-2)
分子和分母分别表示文档总的数量和包含该词语的文档的总数;分母加1是为了避免由于所有文档中未包含该词语导致的分母为0的异常情况处理。
③计算TF-IDF值,具体计算方式如式(2-3)所示。
TFIDF=TF*IDF (2-3)
2.2.4 Word2Vec特征表示
Word2Vec是谷歌2013年发布的词向量工具,该工具通过计算文档库中的词语共现信息,将每一个词从高维度的词向量空间分布式的映射到一个低维度的空间,同时还会保留各个词向量的顺序关系,该工具可以有效的解决语义缺失以及数据稀疏的问题[36]。该工具由两个模型共同组成,两种模型的模型结构图如图2-2所示。
图 2-2 Word2Vec模型结构图
Fig 2-2 Word2vec model structure diagram
其中Skip-gram模型主要是结合词语的关联性,利用给定的中心词,通过给出前后文本可能会出现的词语的概率,把概率最大的词语作为输出结果。而CBOW模型可以看作是Skip-gram模型的逆过程,主要是结合前后语义关系去预测中心词。通过模型结构图可以发现,两个模型的结构基本相同。两个模型实际上都是基于神经网络的多分类问题,从自然语言的角度来说,Word2Vec关注的并不是模型本身,而是通过训练之后,所得到的各个词语的词向量特征。而这些词向量特征的维度要远远小于原来的文本特征维度,所以Word2vec从本质上来说属于一种数据降维操作。
2.2.5 Doc2Vec特征表示
Doc2Vec模型是Mikolov团队在2014年在Word2Vec模型的基础上进行改进所提出的[37],Doc2Vec模型与Word2Vec模型十分相似,只不过Word2Vec模型的训练对象是词向量,而Doc2Vec模型的训练对象是整个文档。Doc2Vec由2个模型构成:一是基于分布式内存的DM模型,二是基于分布式词袋的DBOW模型。
其中Distributed Memory模型不仅考虑词语的顺序信息,还考虑到了词语的上下文语义信息。Distributed Memory模型的模型结构图如图2-3所示。
图 2-3 Distributed Memory模型结构图
Fig 2-3 Distributed memory model structure diagram
而Distributed Bag Of Words模型只专注于文档当中各个词语的语义信息,而不去考虑词语的顺序信息。该模型的原理与Distributed Memory模型相同,区别在于该模型利用采样到的文本窗口随机抽取一个词语,该窗口是经过多轮迭代任务,在随机梯度下过程中产生。Distributed Bag Of Words的模型结构图如图2-4所示。
本文同时采用了基于分布式内存DM和基于分布式词袋DBOW两种文本特征表示方法,以提升特征构建过程中信息结构的完整度。
图 2-4 分布式词袋模型原理图
Fig 2-4 Distributed bag of words model schematic diagram
本文研究的问题主要涉及分类任务,对用户画像中性别属性的构建是一个二分类问题,对学历和年龄段等属性的构建是一个多分类任务。在构建第一级模型时,分别尝试了多种不同的传统机器学习算法模型,包括Logistic模型、随机森林算法以及XGBoost算法,用于抽取不同的用户间的用词的差异程度;同时使用全连接神经网络算法计算不同的查询关键词间的表达关联性信息。之后使用两级的模型
2.3.1 逻辑回归算法
逻辑回归算法是一种最为常见的分类算法,该算法主要是通过概率的思想来解决分类的问题[41]。在逻辑回归算法中,线性函数作为算法的输入,同时也可以作为该算法的线性边界,逻辑回归算法在进行分类时,通过sigmoid函数将输出规约为0-1区间内的概率值。
通过该函数,可以将逻辑回归模型的输出规约到(0,1)的区间内[42]。Sigmoid函数可通过公式(2-4)求得。
fx=11+e-x , x∈(-∞~∞) (2-4)
构建逻辑回归模型需要一个重要参数C,可以通过对正则化系数求倒数得到。通过调整该参,可以有效的防止模型在训练的过程中产生过拟合的现象。常见的正则化分为L1范式和L2范式,两种范式的计算方式见式(2-5)、(2-6)所示。
JωL1=C*Jω+j=1nωj j≥1 (2-5)
JωL2=C*Jω+j=1nωj2 j≥1 (2-6)
其中,J(ω)就是损失函数,可以通过公式清楚的看到,C可以用来控制正则化的程度。C值与损失函数成正比,与模型的正则化强度成反比,即当C值越小,损失函数也会越小,则对应的模型正则化越强。
逻辑回归算法与线性回归算法的原理十分相似,其主要流程包括以下三个主要步骤:
首先,构建一个预测函数hypothesis,然后通过输入的数据,对结果进行分类。该过程需要根据数据,判断使用线性函数或是非线性函数。
其次,构建一个损失函数Cost,用该函数可以计算出预测结果与真实结果的误差值。对所有的Cost计算平均值或求和,记为J(θ),用于表示所有预测结果与真实结果之间的误差。
最后,通过使用梯度下降算法,找到J(θ)的最小值,从而提高模型的精确度。
2.3.2 随机森林算法
随机森林算法是2001年由Leo Breiman提出的[43],通过构建多个由随机变量构造出的决策树,形成一个随机森林,所以也是一种机器学习集成算法。随机森林模型借助Bootstrap重采样技术,随机有放回的采取k个训练样本集,每一份数据集都相互独立,但是不同的样本集之间可以有重复的样本。从而构建k棵决策树模型,每棵树都会使用一份样本进行训练,最后通过集成思想将多棵决策树的结果进行集成,从而确定最终的预测结果[44]。随机森林算法的构建过程如图2-5所示。
图2-5随机森林模型构建流程图
Fig 2-5 Random forests model building flow chart
在构建随机森林模型时,分别使用到了以下参数,其中参数n_estimators用于限定在构造随机森林时需要的决策树的数量,当该参数过小时,往往会导致模型对于数据的拟合效果较差,当模型的拟合效果达到最优时,即使增大该参数也无法对于模型效果产生过大的影响。由于本文的数据集,数据量过大,且构造的文本特征也比较多,为了防止决策树无限的生长,在构建随机森林模型时,需要使用参数max_depth,用于限制随机森林的最大深度。参数bootstrap表示的是构建随机森林模型时采用的采样方式,即是否采用有放回的抽样方式。
随机森林模型通过构建多棵决策树,最后通过不同决策树的结果进行分类投票,实现最终的决策[46]。具体的计算公式如式(2-7)所示。
Hx=argmaxi=1kIhix=Y (2-7)
式中的H(x)表示的是多棵决策树最终组合后模型,Y表示输出的变量也被称为目标变量。
结构,用于构建用户画像模型,以实现对用户不同属性的预测效果的提升。
2.3.3 XGBoost算法
XGBoost是一个可以拓展的梯度提升算法框架,其核心基础是梯度提升算法,于2014年由华盛顿大学的留学生陈天奇提出 [47],XGBoost模型在训练时是以并行的方式执行的,通过该种方式可以大大的提高模型的训练速度,也能够较好的应对大批量的数据。
XGBoost算法可以由两种类型的基学习器构建而出。第一种类型是以线性学习器作为XGBoost的基学习器,通过该方式可以构成一个XGBLinear模型;另一种则是采用的弱分类器与随机森林模型相同,都是决策树模型,构成XGBTree,由于XGBTree的基学习器是树模型,因此具有较好的可解释性[48]。
在构建XGBTree模型时,由于基学习器使用的是决策树模型,因此对于最佳分裂点选择十分的关键。决策树在每一次分裂时,都会将原来的一个叶子结点分裂成两个叶子结点,而原来叶子结点上的样本也会按照一定的规则被分配到不同的结点,而每一个叶子结点进行分裂时,都需要计算分裂过程损失函数的增益信息[49]。分裂增益计算如式2-8所示:
Gain=ObjL+R-ObjL+ObjR
=-GL+GR22HL+HR+λ+γ--12GL2HL+λ+GR2HR+λ+2γ
=12GL2HL+λ+GR2HR+λ-GL+GR2HL+HR+λ-γ (2-8)
其中,Obj=-G22(H+λ) 为节点分裂时的最优目标函数;
L和R分别代表分裂后的左右两个叶子节点。
当Gain大于0时,说明分裂的过程中存在多个候选的分裂点,可以使用贪心算法选取分裂点,具体步骤如下所示:
1.对每个结点的每一个特征进行遍历
2.按照每一个特征值的数值大小进行升序或降序排列
3.获取每个特征字段最好的分裂点
4.计算分裂点的增益,最终得到最优的特征结果
一般情况下,很少使用线性学习器,其原因十分的简单,多个线性模型使用Stacking进行融合后实际上还是一个线性模型,可以通过公式2-9进行证明:
Fx=m=1Mbm(x) (2-9)
式(2-9)表示的是模型的集成过程,其中M表示的是基学习器的个数,bm表示的是第m个基学习器。假设有两个线性基学习器,那么模型的可以用以下公式2-10表示:
b1=β0+β1x , b2=θ0+θ1x
Fx=m=12bmx=β0+β1x+θ0+θ1x
=β0+θ0+(β0+β1)x (2-10)
其中,b1,b2 分别为2个不同的线性基学习器,Fx 是融合后的模型。
通过式(2-10)的转换后可以发现多个线性模型组合后实际上还是一个线性模型,与传统的线性模型不同的地方是模型的求解过程,XGBLinear是使用GBM框架来对模型进行求解。在本质上差别不大,只是求解的方式上有所区别,因此如果使用XGBLinear对于预测的结果提升不大,可以使用传统的线性模型替代。
2.3.4 全连接神经网络算法
全连接神经网络的连接方式与其他的神经网络模型相比较为简单。主要由输入层、输出层以及隐藏层构成,通过各层网络中的神经元的数量差异,以及信息在不同网络层中的传递方式不同,从而完成对结果的预测[50]。
全连接神经网络模型由多个神经网络层构成,每一层网络结构相似,均存在多个不同的神经元,处在同一层的神经元不会相互连接,而层与层之间的神经元,则是通过全连接的方式进行连接,信号通过连接的神经元进行传递。全连接神经网络的结构图如图2-6所示。
图2-6 全连接神经网络模型结构图
Fig 2-6 Structure diagram of fully connected neural network model
Adadelta算法是Adagrad算法的改进版本,该算法通过渐变更新的滑动窗口来动态的调整学习速率,因此及时模型训练时进行了更新,而Adadelta优化器仍然在不断的学习[56]。Adadelta对于模型的优化过程,可以归纳为式2-11和2-12:
Eg2t=ρEg2t-1+1-ρgt2 (2-11)
∆θ=-αEg2t+ε⨂gt (2-12)
其中ρ用于表示指数衰减率,gt表示的是经过t轮迭代后的梯度,E[g2]t表示的是在第t轮迭代时,梯度衰减率的平均值[57]。随着梯度的增长学习率会也来越低,能够有效的解决SGD算法中,学习率始终不变的问题。
本文网络的输出层选用传统的Softmax激活函数,其好处是可以将输出值进行归一化处理,并且所有输出值的和为1,主要应用于分类问题的Softmax函数实现公式如式(2-13)所示。
(2-13)
其中,在Softmax 函数的分母中,将会计算所有指数值的总和,之后对所有类别进行归一化。它考虑了范围内所有类的值,这就是在最后一层使用它的原因。通过分析所有的值来对输入进行分类[51]。Softmax曲线如图2-7所示。
图 2-7 Softmax 曲线图
Fig 2-7 Softmax curve
全连接神经网络在训练时,可以分为以下几个步骤。首先,先将模型的参数进行初始化;其次,将优化器进行更新,之后进行小批度的梯度下降;其次,计算此时模型的损失函数值,从而判断目前的模型是否是最优的,如果比之前的模型效果都好,则会将模型的参数以及权重等信息保存到本地,之后更新学习率,否则直接将学习率进行更新,跳过模型保存步骤。在更新完学习率后,需要判断当前的迭代次数是否达到了最大迭代次数,还需要判断损失函数的值是否达到了期望的值,如果满足了以上两个条件中的任意一个,则完成全连接神经网络模型的训练,否则重新初始化模型的参数,并重复上述步骤,直达训练结束。
模型融合主要通过训练若干个基础模型,再按照特定的方法进行集成,以达到提升模型效果的目的。其主要的意义在于,通过模型融合,解决由于数据集数量不足引起的预测结果差的问题,提高最终的预测能力。
常见的模型融合算法的主要思想是将原始数据集按照一定比例划分成3部分,如图2-8所示。
图 2-8划分数据集
Fig 2-8 dataset partition
其中训练集用来训练各个基模型,而划分出来的验证集被输入到训练得到的基模型中,得出验证结果,并将其作为第二层模型的训练集数据,测试集用来测试整体模型的性能。
第一层模型的测试结果将作为第二层模型的预测集数据,由于两层模型训练所使用的数据有所不同,因此可以有效的避免信息泄露的问题。在模型融合过程中,不需要使用五折交叉验证方法,在时间复杂度上较低。其具体的构建思路如图2-9所示。
图 2-9 多模型构建思路
Fig 2-9 Multiple model construction method
Stacking算法是一种多模型融合算法,通过基学习器学习原数据,然后利用基学习器得到的输出,按照列的方式进行堆叠,构成一个n×p维度的新数据集,其中n是样本的数量,p表示生成的基学习器个数,然后将新的样本数据交给第二层模型进行拟合,从而提升模型对预测结果的准确性,同时提高模型整体的鲁棒性以及泛化能力[52]。
图 2-10 Stacking模型融合算法结构图
Fig 2-10 Structure diagram of stacking model fusion algorithm
Stacking模型融合算法结构图如图2-10所示。首先将数据集按照一定的采样规则,将数据集划分为若干份,之后构建多个基学习器,将所有学习器的预测结果汇总到一起,经过多层的融合,训练得到一个新的学习器——元学习器,从而计算出最终的预测结果[53]。元学习器是归纳总结所有任务上训练经验的一种位于元层的模型,即每次训练基础学习器后,它都会综合新的经验,并更新其中的参数,用于指引基学习器的最优行为或探索某个特定的新任务,提取任务上和模型、训练相关的特征。
在使用Stacking算法进行模型融合时,使用了五折交叉验证算法,从而降低模型产生过拟合的风险[54]。5折交叉验证算法的原理十分好理解,其主要思想就是将数据集随机拆分成5份,在训练过程中,每次随机选择80%作为训练集,对模型进行训练,使用剩下的20%对模型进行验证,通过计算每次模型训练的准确度,作为对算法精度的估计[55]。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。