当前位置:聪少自媒体网 > 微博 > 正文

基于深度学习的微博转发预测方法与流程

2020-10-06 微博 聪少自媒体

本发明涉及一种微博转发预测方法,具体地涉及一种基于深度学习的微博转发预测方法。

背景技术:

在web2.0时代的今天,微博以其内容短小、交互便捷和传播快速等特点,成为目前应用最广泛的社交平台之一。截止2016年底,我国微博月活跃用户净增长7700万,到达3.13亿的规模,尤其是移动客户端的占有率已经达到90%。微博用户通过相互关注,相互转发博文形成了复杂的社交网络。在微博发布之初预知其未来的流行度,锁定微博的潜在热点事件给予重点关注,不仅有利于政府把握社会脉搏,预知舆论动态,同时对企业营销和热点新闻推送也具有重要的商业价值,因此,微博的互动研究对话题检测、热点跟踪、舆论监督以及商业营销都具有重要意义。要解决微博的互动预测这个问题,首先要从微博的内容中提取出相关的特征,只有含有某些特征的微博才更容易被转发。在过去的大多数研究中,都在寻找最贴合微博内容的特征,例如微博中hashtag的数量、微博是否包含URL、微博中情感词的数量、微博中是否提及他人等等。这些特征的好坏,往往决定着预测模型性能的好坏。事实上,当用户阅读到一条微博时,会根据自己已有知识对微博价值和新颖性进行主观判断,然后决定是否转发、评论或者点赞该条微博。微博的互动指数不仅仅与微博的内容相关,也与用户个体行为和用户对微博的背景认知具有紧密的相关性。

中国专利文献CN 105550275 A公开了一种微博转发量预测方法,包括:获取训练微博数据和待预测微博数据;根据训练微博的转发量,将训练微博划分为对应的类别;提取训练微博特征,包括转发网络特征、内容特征和时序特征;建立所述微博特征和转发量类别之间的多分类模型;提取待预测微博特征,根据所述的待预测微博特征,基于多分类模型,预测待预测微博的转发量类别。本发明在微博内容特征和时序特征的基础上,加入多种转发网络特征,综合利用三类特征来预测转发量。其虽然可以提高预测的准确性,但是处理过程非常复杂,当数据量非常大时,处理时间过长。

技术实现要素:

针对上述存在的技术问题,本发明目的是:提供了一种基于深度学习的微博转发预测方法,以深度学习为框架,构建了微博文本特征提取模型,并且利用聚类技术实现用户的聚类,充分利用微博内容特征和用户行为特征来实现微博互动预测。

本发明的技术方案是:

一种基于深度学习的微博转发预测方法,包括以下步骤:

S01:通过词向量生成工具获取词的分布式向量表示,将微博正文转换为向量矩阵形式;

S02:将获取的向量矩阵输入卷积神经网络语言模型进行预训练,提取微博正文的特征,得到一个多维度的特征向量;

S03:使用不同的特征对用户进行向量化表示,对用户进行聚类,为每个类簇初始化一个卷积神经网络模型,选择样本送入其所属的模型中分别进行训练;

S04:通过线性分类器进行分类,概率最大的类别就是微博所属类别,判断微博的转发数。

优选的,所述步骤S01中词向量的维度与步骤S02中特征向量的维度相同。

优选的,所述步骤S02还包括,将微博正文中的每个词向量组合成句子向量矩阵。

优选的,所述步骤S02中的卷积神经网络语言模型使用动态下采样技术减少模型的参数规模,其公式为:

k=max(k,(L-l)/L×s) (1)

其中,k为固定的下采样参数,L是整个卷积层的大小,l是当前卷积层的编号,s是微博文本的长度。

优选的,所述步骤S03中对用户进行聚类的算法为一趟聚类算法。

与现有技术相比,本发明的优点是:

1、以深度学习为框架,构建了微博文本特征提取模型,并且利用聚类技术实现用户的聚类,充分利用微博内容特征和用户行为特征来实现微博互动预测。

2、利用神经网络自动提取文本特征,节省了大量的劳动力,利用用户之间的差异化特征,不同人群训练不同的分类器,更加精确了预测的结果。

附图说明

下面结合附图及实施例对本发明作进一步描述:

图1为本发明的方法流程图;

图2为本发明生成词向量的结构图;

图3为本发明用户聚类的流程图。

具体实施方式

以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。

实施例:

如图1所示,一种基于深度学习的微博转发预测方法,包括以下步骤:

S01:通过词向量生成工具获取词的分布式向量表示,将微博正文转换为向量矩阵形式;

利用word2vec进行单词的分布式表示处理,用一个300维度的实数向量在词空间唯一表示一个词,微博正文使用144x300向量矩阵来表示。

S02:将获取的向量矩阵输入卷积神经网络语言模型进行预训练,提取微博正文的特征,得到一个多维度的特征向量;这里的维度以300进行说明。

卷积神经网络语言模型使用动态下采样技术减少模型的参数规模,其公式为:

k=max(k,(L-l)/L×s) (1)

其中,k为固定的下采样参数,L是整个卷积层的大小,l是当前卷积层的编号,s是微博文本的长度。

S03:使用不同的特征对用户进行向量化表示,对用户进行聚类(采用一趟聚类算法),为每个类簇初始化一个卷积神经网络模型,选择样本,送入其所属的模型中分别进行训练;

利用外部文本资源预先初始化训练一个特征向量,然后利用微博训练集微调特征向量。

S04:通过线性分类器进行分类,概率最大的类别就是微博所属类别,判断微博的转发数。

把预测问题转化成分类问题,即对微博转发数量做分割,分成十个类别,并计算微博属于哪个类别的概率。

下面结合具体的实例进行说明。

首先我们使用网络爬虫通过微博官方提供的API抓取了微博上一个月的公共微博数据,在剔除一些仅包含表情符号或文本字数太少的微博后,共收集了近200万条微博。为了验证模型的有效性,我们使用10次交叉验证,将原始微博数据分割成10份子样本,其中一份作为验证集,其它九份作为训练集,交叉验证10次,每个子样本验证一次。

利用分词工具将微博内容分割成一个个词语,统计词典的大小G,并为每个词初始化一个维度为G的向量,每个词在其位置上的值为1,其余为0,形如[0001...000],然后如图2所示利用神经网络语言模型进行预训练得到一个300维的词向量。然后我们把微博正文中的每个词向量组合成句子向量矩阵。

为了精准预测,还要对用户进行分类,以用户的历史微博数、粉丝数、关注数、微博主题为特征,对用户进行向量化表示,由于事先不知道用户的所属类别和总类别的数量,我们使用如图3所示的一趟聚类算法。首先从用户集读取一个新的对象U,如果没有存在的簇,则以这个对象构建一个新的簇C,如果存在簇,则计算它与已有的每个簇之间的距离,并选择最小的距离,其中距离公式为

其中xi是新对象的坐标,yi是所选类簇的中心坐标,n表示向量的总维度,i表示当前维度标号,若最小距离d超过给定的阀值,则为这个对象创建一个新的簇,否则把对象加入该簇,然后重复操作,直到数据集全部处理完。

为每个类簇初始化一个卷积神经网络模型,选择一个样本,送入其所属的模型中进行训练,得到一个300维的特征向量,并使用线性分类器进行分类,其中线性分类器的损失函数是:

其中θ表示线性分类器的参数,K是分类器的粒度即类别数,λ为正则化系数,N是样本的个数,y表示模型当次训练的结果,其训练过程的目标是使得L(θ)最小,在经过迭代训练之后,根据分类器的结果,即概率最大的类别就是微博所属类别,从而判断微博的转发数。

上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。

聪少爱学堂聪少
聪少爱学堂创始人,梅州市鹏鑫网络科技有限公司CEO,09年开始踏入互联网,10年互联网行业经验,资深自媒体人,自媒体优秀导师,咪挺微商团对营销引流顾问,业务包含:精准引流技术/代引流精准粉,专业小红书,知乎,微博代运营。
  • 38988文章总数
  • 1491136访问次数
  • 建站天数
  • 合作伙伴