论文部分内容阅读
随着信息科技的高速增长以及国民教育水平的进一步提升,互联网越发被大众接受,逐渐融入人们的日常生活中,互联网规模也持续扩大。越来越多的人们在互联网上进行社交、购物、还有各种娱乐活动,同时留下了海量的网络数据。如何根据用户在网络上留下的个人行为数据进行群体划分,从大量信息中精确、有效地筛选出用户需要的信息,满足不同用户、群体的个性化需求成为当代企业亟待解决的难题。这种就是用户画像构建任务,已经引起了越来越多企业的注意。本文研究的是一种端到端的构建用户画像的深度学习方法。传统的深度学习方法是使用词向量初始化模型第一层,然后再通过构建复杂的网络抽取特征的方式完成用户画像构建。这种方式一是词向量泛化能力不足,二是词向量后面的层是随机初始化的,需要从头开始训练,需要非常多的数据才能使得模型收敛。针对上述缺点,本文进行的研究工作如下:首先,本文通过微调BERT的中文版本BERT-wwm-ext来完成构建用户画像的任务。BERT在预训练时使用了海量的未标记语料,学到了更为通用的表示,所以BERT的词向量泛化能力很强。本文以BERT为模型的龙骨架构,而后再通过神经网络进行特征提取的方式建模。由于导入了BERT的预训练权重,相当于已经很好地对多层神经网络进行了初始化,所以模型会比较快的收敛,而且不需要太多数据进行训练。本文采用的是2016年CCF举办的竞赛《大数据精准营销中搜狗用户画像挖掘》提供的数据集,其中包括了搜狗用户一个月的的查询词语料,以及性别、年龄、教育程度的三种人口属性标签。本文提出了三个模型BERTKCNN1、BERTKCNN2、BERTCATT。BERTKCNN1与BERTKCNN2都是以BERT最后四层输出的最大池化为嵌入层,由于用户查询语料没有明显的语序,两者都使用CNN抓取文本的关键词特征。考虑到文本长度过长,BERTKCNN1使用k-max池化来减少过拟合,为了利用更多分类特征,BERTKCNN2选择拼接最大池化、k-max平均池化、以及BERT顶层的pooler_output来作为分类特征。BERTCATT则是对BERT每层的CLS分类标记使用了注意力机制来筛选对任务有用的特征,并使用了Multi-sample dropout技术来降低模型过拟合风险。实验部分,为了验证预训练模型的威力,本文对原本10万数据集分层采样出9000多条数据来划分训练集、验证集。在同等条件下,本文通过BERT与Word2vec进行对比实验,分类精度平均高出后者16个百分点。另外,在都选择BERT条件下,也对本文提出的三个模型与其他3个深度学习神经网络进行对比,实验证明本文提出的三个模型都取得了更好的效果。