您的位置 首页 > 数码极客

大数据画像如何评估

正如我们常说,“罗马不是一天建成的”一样,精准的用户画像也绝非一朝一夕就能练成的,它的背后需要庞大的数据基础和技术能力的支撑。

接下来,我们就继续探秘360用户画像,从技术层面深度剖析精准的用户画像是怎样练成的!

1.关键技术

在给用户打标签的过程中,人工手段显然是难以大规模开展的,因此,在实际中,我们一般采用机器学习算法,辅助少量人工的方式来实现。接下来对这其中用到的技术架构、技术难点等展开描述。

1.1 技术架构

数据的自动分类流程一般包括:数据预处理、数据建模、模型评测、业务应用等,如图十一所示:

(1)数据预处理:主要包括数据收集和清洗等。我们收集到的数据包括用户行为数据,如用户搜索行为、浏览行为;以及结构化数据,如商品库、网页库、APP库等;还有知识数据,如类目体系、词典数据等。为了得到高质量的数据,对收集的数据进行清洗,包括无效数据、噪声数据的过滤以及反作弊;以及数据结构化等。

(2)数据建模:包括训练样本的生成、特征提取、模型训练等,因为数据量庞大,单机无法满足需求,必然需要分布式计算。

(3)模型评测:模型评测主要通过测试集验证和线上小流量实验进行评估,根据测试反馈结果,优化模型。

(4)业务应用:目前360用户画像在运营分析、数据产品、广告投放系统等都有很好的应用。

图一 360用户画像系统流程

各个流程中,可能用到的关键技术见图十二。其中的难点不仅仅在于机器学习模型,还包括获得训练数据、特征工程、以及分类树层级节点之间的依赖问题等,接下来一一展开描述。

图二关键技术

1.2 样本自动标注

样本标注的工作量大,且主观性强,人工标注的方法推进较困难,实际中一般常采用少量人工+自动标注的方法。接下来以行业兴趣的搜索词自动分类为例,介绍一下常用的样本自动标注方法。

(1)搜索点击反馈:利用host进行标注,每个行业类目UV较大的host数目相比用户的搜索关键词量要小很多,可以人工获取少量不同类目下的host,利用搜索点击数据来标注搜索关键词类目。

(2)半监督学习:通过少量标注样本,对大量未标注的样本进行训练分类,将置信度较高的样本加入到训练集。我们采用的方法有Self-training、Co-training、Tri-training、CoForest等。

  • Self-training用一个模型进行决策,在实际的应用中,容易引入大量的噪声点,效果不太好。

  • Co-training从两个独立的视图采用同一份数据,训练两个模型,但是真实的问题中两个独立视图比较难以满足,如果X1、X2完全相关,那么Co-Training就退化为

  • Self-training了,所以在实际应用中效果相比Self-training提升不明显。

  • Tri-training将训练数据分成3部分,训练3个模型;CoForest是采用n个分类器,利用随机森林来保证各分类器之间的差异。这两种方法可引入错误率收敛的条件控制噪音点样本,并且可以通过多个分类器决策投票来减少噪音样本的加入。在实际应用中,这两种方法效果比较好。

1.3 样本不平衡处理

在实际的应用中,经常出现样本不平衡的情况,一般是正样本远远小于负样本的数目。例如,query分类,常用的处理方法如下:

(1)数据层面,对样本进行过采样或者欠采样。

  • 过采样:增加正样本来提高少数类的分类性能,如简单的复制正样本,但这样容易导致过拟合,可以在正样本中随机加入高斯噪声或者产生新的合成样本,如SMOTE算法等。

  • 欠采样:最简单的办法是随机剔除负样本,操作简单。在query分类中,因为负样本数目较多,按一定的比例进行随机欠采样,实际产生的效果比较好。其他欠采样方法还有Tomek links、NearMiss、One-Sided Selection方法等。

(2)算法层面

  • 代价敏感方法:可以在costfunction中调整惩罚项的权重,如增加正样本的权重,减少负样本的权重。

  • 集成学习的方法:比如将负样本分成多份,每份都与正样本进行训练,得到多个模型,最终投票得到结果。Adaboost应用在不平衡数据分类上也可以有一定的改进效果。

1.4 特征工程

数据和特征决定了机器学习的上限,样本集合构建完成以后,我们就需要从样本中提取特征,也就是特征工程。

特征类型

  • 文本词特征:可提取ngram作为特征,例如unigram和bigram等;

  • 文本扩展特征:可利用点击反馈数据,得到query对应的url作为特征;或者计算文本相似度,扩展相似query作为特征;

  • 特定领域特征:文本关键词对应的领域特征,例如地域、商品类型、商品属性等;

  • 主题特征:利用TopicModel、LDA等主题模型,将query的主题参数分布作为其特征;

特征选择

特征选择的目标是寻找最优的特征子集,用来训练模型。常用的特征选择方法有:

  • TF-IDF:其中TF为词频,用于计算该词描述文档内容的能力,IDF称为反文档频率,用于计算该词区分文档的能力。TF-IDF的值越大,说明该特征对类目的区分能力越强;

  • 卡方检验:卡方值越大,说明这个词是两个类别区分度较强的词;

  • 互信息:互信息一般用于度量两个词之间的相关性,在特征选择中可用于计算特征对类目的区分度;

  • 信息增益:信息增益是通过计算某一特征出现前后的信息熵之差,表示该特征对分类的重要性;

在训练样本量比较大的情况下,以上几种方法实际产生的效果是差不多的,计算得到权重后,对权重进行排序,一般根据需要可以有两种选择方式:1)选择权重最大的前K个特征;2)选择权重大于某一个阈值的特征。

1.5 模型训练

1.5.1 模型类型

以行业兴趣分类为例,类目个数非常多,且都有层次父子关系,如图四所示。显然采用一个模型进行多分类并不能满足我们的需求,所以我们采用的是层次分类模型。在分类过程中,需要考虑分类树层级节点之间的依赖关系,以及各层级内部的分类问题。

以自上而下的层次分类树的结构来构建模型,满足层级节点之间的依赖关系。层级内部的分类问题,可以采用一个多分类模型或者多个二分类模型的结构来实现,基于以下考虑,我们可以采用多个二分类模型的结构:

  • 方便日后扩展,可以很方便增加或者删除某个类目;

  • 有利于团队合作,每个类目的优化,对其他类目的效果没有影响;

  • 类目划分中存在交叉的情况,一个样本可以分到多个类目;

  • 类目的划分并不是全类目的情况下,可以避免领域外样本的错分;

但是这种结构,在类目较多的情况下,会带来更大的工作量,n个下级类目,相比层次多分类,会多n-1个模型。所以我们根据实际业务情况以及数据情况,一般采用的是多分类模型和二分类模型结合的结构。

1.5.2 模型优化

进行模型训练后,发现效果不能满足预期需求,怎么优化呢?可以先分析模型是过拟合还是欠拟合,从而针对性优化。

(1)欠拟合,训练集和测试集的准确率都比较低,模型没有很好的学到内在的关系,可以考虑:1)训练样本优化,可能训练样本中存在一些噪声样本,进行数据清洗;2)增加有效特征;3)调低正则项的惩罚系数;4)更换相对复杂的模型,如把线性模型换成非线性模型;5)模型融合投票。

(2)过拟合,训练过程中训练集的准确率较高,但是测试集准确率较低,可以考虑:1)增加训练样本数据;2)提高正则项的惩罚系数,3)减少迭代训练次数;4)更换相对简单的模型,如把非线性模型换为线性模型。

2. 深度学习

随着深度学习在特征稠密的语音图像等领域的大放异彩,将其应用到文本上的尝试也越来越多,并取得了很多成果。深度学习用于文本分类任务,一般首先要解决的就是文本表示。

  • 文本表示

传统的方法是one-hot representation,也就是向量空间只有一维是1,其余都是0,但是这种表示方法,忽略了词的语义信息,且随着语料的增加,特征维度相对应呈线性增长,这种高维度高稀疏的向量,特征表达能力较弱,神经网络不擅长处理这种数据。

还有一种文本表示方法是distributed representation,主要分为基于矩阵的分布表示、基于聚类的分布表示、基于神经网络的分布表示(word embedding)等,例如我们常用的word2vec就是其中一种wordembedding的实现。利用这种稠密的文本表示方式,在语音图像领域适用的很多深度学习算法可以很好的迁移到文本上使用。下面介绍几种深度学习的算法。

  • CNN

CNN起先用于图像领域,取得了巨大的成果,CNN用于文本的优势在于可以捕捉不同视野的n-gram信息,通过设置不同的filter可以得到不同窗口的n-gram信息。下图选自Implementing a CNN for Text Classification in TensorFlow中的网络结构图。

图三 CNN网络结构表示

第一层为表示句子的矩阵,每行为词向量,第二层为很多filter的卷积层,第三层为pooling层,将不同长度的句子变成定长的,最后一层为全连接的softmax,输出类别概率。

  • RNN

比起CNN,NLP任务中更常用的为RNN,RNN之所以被称为循环神经网络,是因为隐藏层是相连的,当前的状态不仅与当前的输入有关,与之前的状态也有关,下图选自Recurrent Neural Network for Text Classification with Multi-TaskLearning的RNN网络结构表示。

图四 RNN网络结构表示

  • DSSM

除了分类问题,还有一种是计算两个语义空间的相似度的问题,例如机器翻译计算不同语言的句子相似度,搜索中query和doc的相似度等。DSSM(Deep SemanticSimilartity Model)通过将两个语义空间的向量映射到与语言无关的潜在语义空间,生成句向量,用来计算不同语义空间的文本相似度。下图选自Modeling Interestingness with Deep Neural Networks中的网络结构表示。

图五 DSSM网络结构表示

3.展望

大数据的时代已经到来,用户画像是让用户数据发挥大价值的有力武器。随着NLP技术的快速突破,用户画像将在各个领域发挥更大更好的作用,为企业创造更大的价值。

俗话说,千万人撩你,不如一人懂你。用互联网语言解读,可以说成是,真正的了解用户,才能得到用户。所以,用户画像的重要性不言而喻。360用户画像基于自身行为链大数据优势和技术能力完美地抽象出用户的信息全貌,能够为企业提供足够的信息基础,帮助企业快速找到精准用户群体以及用户需求等更为广泛的反馈信息。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“大数据画像如何评估”边界阅读