CN110196945B - 一种基于LSTM与LeNet融合的微博用户年龄预测方法 - Google Patents
一种基于LSTM与LeNet融合的微博用户年龄预测方法 Download PDFInfo
- Publication number
- CN110196945B CN110196945B CN201910447984.0A CN201910447984A CN110196945B CN 110196945 B CN110196945 B CN 110196945B CN 201910447984 A CN201910447984 A CN 201910447984A CN 110196945 B CN110196945 B CN 110196945B
- Authority
- CN
- China
- Prior art keywords
- microblog
- user
- classifier
- picture
- age
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Resources & Organizations (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于LSTM与LeNet融合的微博用户年龄预测方法,属于信息预测技术领域,包括以下步骤:爬取数据:爬取微博用户的信息,并保存到本地计算机;微博文本分词:文本内容分词、停用词过滤后,分词结果向量化;搭建LSTM:对向量采用长短期记忆模型LSTM建模,并预测用户年龄;图片预处理:将图片统一成相同大小;搭建LeNet:搭建LeNet模型,将数据集图片数据增强并转为张量,并测试选出最高命中率的模型;结果整合:将训练好的文本处理模块模型与图片处理模块模型整合处理。对比现有技术,本发明解决了以往模型难以跟上潮流的问题,提高了识别准确度,在未来的用户运营、精准广告营销、用户分析、数据分析和推荐***等领域具有广泛的应用前景。
Description
技术领域
本发明涉及一种基于LSTM与LeNet融合的微博用户年龄预测方法,属于信息预测技术领域,适用于用户运营、精准广告营销、用户倾向性分析、网络内容监控等。
背景技术
用户年龄预测是构建用户画像的子问题,用户画像其实就是将微博用户的个人信息进行标签化处理。构建用户画像有两点好处。第一,能结构化的存储微博用户信息,方便计算机对其进行识别与计算。第二,标签有着准确性与非二义性,能对人工处理与理解提供帮助。用户画像在用户运营、精准广告营销、用户分析、数据分析和推荐***等领域有着不同程度的应用。
微博已经成为了当今社会最受欢迎的社交媒体之一,我们可以深入挖掘微博的内容,以获得巨大的资源。但是,大多数微博用户没有年龄信息。因此通过微博用户所发内容推测微博用户的年龄信息是一项必须且困难的工作。
目前,用户年龄预测主要包括基于机器学习的年龄预测方法、基于统计学的年龄预测方法以及基于深度学习的年龄预测方法。
基于机器学习的方法是指采用支持向量机和贝叶斯等分类器进行年龄预测。2009年,Tam和Martel在文献《Age detection in chat》(IEEE International Conferenceon.IEEE,2009)中采用了支持向量机的方法来构建模型,为了从人群当中识别出青少年。2011年,Rosenthal和Mckeown在文献《Classifying latent user attributes intwitter》(Proceedings of the 2nd international workshop on Search and mininguser-generated contents.ACM,2010)中预测了用户出生于社交媒体时代分界线前还是之后。
基于统计学的方法指通过统计词频、逆文本频率指数等进行年龄预测。清华大学的Zheng L在论文《Predicting Age Range of Users over Microblog Dataset》(International Journal of Database Theory and Application, 2013)中使用微博用户标签、微博内容等特征来预测用户的年龄段。
基于深度学习的年龄预测方法指利用循环神经网络或其他深度学习方法进行年龄预测。陈敬等在文献《基于双通道LSTM的用户年龄识别方法》(山东大学学报(理学版),2017)中使用了一种基于LSTM的年龄回归方法,采用了即文本特征和社交特征进行集成学习。
本文会使用到的LSTM(long-short term memory,长短期记忆模型)是一种特殊的RNN模型,是为了解决RNN模型梯度弥散的问题而提出的。卷积神经网络是现在深度学习中经常被使用的一种网络框架,在计算机视觉领域更是有着广泛的应用,本文使用的LeNet出自论文《Gradient-Based Learning Applied to Document Recognition》(Proceedingsof the IEEE 86:2278–2324,1998),是一种非常高效的卷积神经网络。OpenCV有开源的函数库,可以满足用户在不同领域的图像处理需求,可以直接使用函数调用的方式,也可以直接在其开源的软件上进行代码改进,这对于图像处理有着很大便利。
现有的对于微博用户年龄信息的预测主要存在如下问题:主要运用单独的文本分析,包括语句、表情符和标点符号,而忽略了微博动态中与年龄信息关系较大的图片的影响;大部分研究使用的是机器学习来做的,我们使用深度学习模型以求获得更高的准确率。
发明内容
本文发明的目的在于提出一种基于LSTM与LeNet融合的微博用户年龄预测方法。将微博的文本数据与图片数据有机的结合,构建完整的模型来预测微博用户所在的年龄段。该方法的特点是,其一,使用包含文本和图片两种模态的多模态模型来分别处理文本与图片,将更多的用户信息放入到预测过程中来,解决单个用户的信息较少或利用不充分的问题。其二,处理新数据具有较强的鲁棒性,能有效地预测相似的模型信息,更换数据集与语料库的情况下,也能在微博用户的情感或性别等方面进行预测。
一种基于LSTM与LeNet融合的微博用户年龄预测方法,包含以下步骤:
步骤1、对用户动态微博信息按年龄段进行采集;
作为优选,所述年龄段为“0-17”,“18-28”,“29-44”,“45+”四个年龄段,其中45+表示45岁以上。
作为优选,所述采集通过以下过程进行:首先筛选符合各年龄段的用户,在这一步初步去除各种企业号、广告号和空号;然后按照初步筛选出来的用户的id,使用手机版微博访问他们的用户主页,爬取前n条微博的内容,包括文本和图片,n为自然数;接下来对用户进行再一次筛选,在爬取下来的用户中,再次去除虚假用户,保证数据集的可靠性。
步骤2、对步骤1采集的微博信息进行预处理使相同年龄段的所有用户的文本放入一个文件夹中,相同年龄段的所有用户的图片放入一个文件夹中;
步骤3、对步骤2预处理后的微博文本数据进行分词、过滤停用词的操作,再将分词结果向量化为用张量表示的词向量;
作为优选,所述步骤3通过以下过程实现:
首先,创建微博词语字典,在创建微博词语字典时采用最新的微博词语语料库,并提供可随时更新语料库的接口,提高分词准确程度;然后,利用数据集输入用户年龄及其微博内容,对微博内容采用jieba分词方法,把用户所在年龄段作为其标签,并过滤停用词;接下来,采用Word2vec模型将分词得到的结果向量化,输出一个100维的词向量;最后,再将分词结果向量转换成用张量表示的词向量。
步骤4、对微博文本内容搭建长短期记忆(LSTM,long-short term memory) 模型网络,即文本分类器;
作为优选,所述步骤4通过以下过程实现:
首先将步骤3得到的词向量输入长短期记忆模型,使用“Sigmoid”作为其激活函数;接着,设置一个全连接层,在全连接层中对长短期记忆模型最后一层的神经元全部连接,实现特征的非线性组合,使用“Tanh”作为其激活函数;再加入一个全连接层,使用“softmax”作为其激活函数,并输出softmax向量结果,最终得到的softmax向量为4维张量,每个维度表示其属于该年龄段的概率大小,取值在(0,1)区间;最后,在两个全连接层中应用Dropout来防止数据过拟合。
作为优选,所述dropout比率选择0.2。
步骤5、使用步骤3得到的词向量,对步骤4搭建的文本分类器进行训练。
作为优选,所述步骤5训练文本分类器时采用Adam算法自动修正参数,可以基于训练数据迭代地更新神经网络权重;并且,对于按年龄段分类后的微博数据,进行十折交叉验证。
步骤6、对步骤2预处理后的微博图片进行图像处理使其大小一致;
作为优选,所述步骤6通过以下过程完成:对各年龄段的图片文件,调用 openCV的图片读取方法,将可以读取的图片转换成256*256像素的格式,并保留RGB三通道,使其适应最新png图片标准;对于按年龄段分类后的图片数据,抽取10%的图片作为图片测试数据集,剩余90%作为图片训练数据集保存至对应分类的测试目录和训练目录下。
步骤7、对微博图片内容搭建LeNet模型网络,即图片分类器。
其基本过程为:首先将输入图片在输入层中转换为张量表示;其次将张量表示作为卷积层的输入,使用卷积核在张量上滑动;接着在池化层中进行特征选择和信息过滤;然后在整个神经网络中重复多个卷积层和池化层;最后,将最后一层池化层连接到全连接层中,输出softmax向量结果,最终得到的softmax 向量为4维张量,每个维度表示其属于该年龄段的概率大小,取值在(0,1)区间。
步骤8、使用步骤6处理后的图片数据,对步骤7搭建的图片分类器进行训练;
作为优选,在步骤8所述对步骤7搭建的图片分类器进行训练之前对所述图片数据进行数据增强操作。
步骤9:对每个用户的微博信息,其中的文本数据通过步骤3处理后输入通过步骤5训练好的文本分类器得到softmax输出,图片数据通过步骤6、7处理后输入通过步骤8训练好的图片分类器得到softmax输出;然后将文本分类器的输出结果连接上图片分类器的输出结果作为机器学习分类器(SVM分类器、朴素贝叶斯分类器、随机森林分类器、逻辑回归分类器)的输入,用户年龄段作为标签,对机器学习分类器进行训练,选择准确率最高的机器学习分类器;
步骤10,将待预测年龄段用户的微博信息通过步骤3处理后输入通过步骤 5训练好的文本分类器得到softmax输出,通过步骤6、7处理后输入通过步骤 8训练好的图片分类器得到softmax输出,然后将文本分类器的输出结果连接上图片分类器的输出结果输入步骤9经训练的机器学习分类器进行分类得到用户所属年龄段预测结果。
至此,就完成了本方法的全部过程。
有益效果
本发明的方法针对微博数据,采用一种基于LSTM与LeNet融合的微博用户年龄预测方法,能够准确的预测微博用户的年龄区间;与现有技术相比,该方法有以下特点:(1)针对微博的信息新词、人造词较多的特点,本发明采用最新的微博词语语料库,并提供可随时更新语料库的接口,解决以往微博模型难以跟上时代潮流的问题。(2)本发明采用文本与图片多模态的方法,从文本与图片两个方面来考虑,可以更准确的识别微博用户的年龄区间,解决单个微博用户的信息过少或利用不充分的问题。(3)通过将LSTM与LeNet的输出作为最终预测微博用户年龄机器学***衡文本与图片的权重,从而更准确的识别微博用户的年龄区间。
附图说明
图1为本发明实施例一种基于LSTM与LeNet融合的微博用户年龄预测方法的流程示意图;
具体实施方式
下面结合实施例对本发明方法的优选实施方式进行详细说明。
实施例
一种基于LSTM与LeNet融合的微博用户年龄预测方法,如图1所示,包括如下步骤:
步骤1:利用编写的网页爬虫采集个人发布的微博信息,将其保存到本地计算机,作为数据集。
在网络爬虫中,设定“0-17”,“18-28”,“29-44”,“45+”四个年龄段来分别进行爬取。“0-17”代表着未成年人的上网习惯;“18-28”代表大学生、研究生、刚步入社会工作的成年人的上网习惯;“29-44”代表着有一定社会经历,较为成熟的青壮年的上网习惯;“45+”,新规定45岁是青年和中年的分界线,这部分数据集表示着中年及以上的上网习惯。本实施例中,针对新浪微博用户爬取微博信息。
具体操作为:(1)首先根据既有的用户信息表筛选出用户信息表中符合各年龄段的用户。该用户信息表是由北京理工大学网络搜索挖掘与安全实验室的张华平博士网上分享的微博用户语料库中的用户信息,筛选出的用户基本资料中有出生年月日的用户而产生的。在这一步初步去除各种企业号、广告号和空号。(2)其次,按照初步筛选出来的用户的id,使用手机版微博访问他们的用户主页,爬取最新50条微博的内容,包括文本和图片。由于0-17这一阶段的用户在用户信息表中的数量在经过筛选后过于稀少,我们选择爬取他们的前150 条微博内容,若该用户没有这么多内容则爬取其最大数量的微博内容(3)然后,对用户进行再一次筛选,在爬取下来的用户微博信息中,再次去除明显的虚假用户,保证信息的可靠性。
步骤2:对数据集进行预处理。
由于我们爬虫的时候是按照用户来进行存储的,不便于对数据进行批处理,因此需要编写python程序将相同年龄区间所有的图片重命名并放入到一个文件夹中,将相同年龄区间的所有用户文本放到一个文件夹中,以便后续模块进行训练。
对数据集中的图片,使用的方法是遍历对应年龄段下的所有用户存储的文件夹,将文件夹下的所有图片重命名时加上用户的id,最终得到的图片名形式为“xxxxxxxxxx-id.jpg”,使用shutil库将图片重命名并复制到指定文件夹下。文本则直接存放至指定文件夹下即可。
对数据集中的文本,直接保存在对应用户存储的文件夹下即可。
步骤3:文本数据预处理。对信息采集步骤中获取的数据集的文本部分内容,进行分词、过滤停用词的操作,再将分词结果向量化。
具体地说,(1)创建微博词语字典,在创建微博词语字典时采用最新的微博词语语料库,加入网上热词、新词,例如“十动然拒”、“人艰不拆”等词,并提供可随时更新语料库的接口,提高分词准确程度;(2)输入用户年龄及其微博文本内容,对微博文本内容采用jieba分词,该分词工具允许加入自定义词典,将(1)创建的词典中的词语添加到该分词工具的词典中;(3)把用户年龄所在年龄段作为微博文本内容的标签,并去掉换行符,过滤一些无用的停用词,包括一些常用的词语、没有单独意义的词语和一些标点符号,例如“我们”、“是”、“的”、“。”、“,”,但是保留“~”等组成表情符号的标点符号;(3)采用word2vec模型将微博文本内容分词得到的结果向量化,输出一个100维的词向量;(4)将分词结果向量转换成用张量表示的词向量。
步骤4:对微博文本内容搭建长短期记忆(LSTM,long-short term memory) 模型网络,即文本分类器。
因为长短期记忆模型能够分析和预测序列数据,适合处理自然语言,所以我们采用长短期记忆模型作为文本分类器,利用数据集中的文本部分信息进行文本分类器的搭建。输入微博文本内容经步骤3处理后获得的对应的词向量。
具体地说,长短期记忆模型的模块中包含四层交互神经网络层,第一层网络由遗忘门ft的Sigmoid层实现,输入当前输入Xt和上一时刻t-1的隐藏状态 ht-1(也是前一个细胞状态的输出),它来决定是否保留上一个细胞状态中的信息,具体公式为ft=σ(Wf·[ht-1,xt]+bf),其中Wf是遗忘门的权重矩阵,bf是遗忘门的偏置项;第二层由输入门it的Sigmoid层和tanh层实现,其中,Sigmoid层来决定需要更新哪些信息,公式为it=σ(Wi·[ht-1,xt]+bi),其中Wi是输入门的权重矩阵, bi是输入门的偏置项,tanh层生成一个新的向量,这个新向量是用来候选更新的,公式为其中Wc是输入门的权重矩阵,bc是输入门的偏置项;第三层网络来对信息进行更新,丢弃不需要的信息,添加新的有用信息,根据第一层网络的结果与第二层网络的结果生成当前的细胞状态Ct,具体公式为其中it是输入门的Sigmoid层结果;第四层网络由输出门ot的Sigmoid层和tanh层来实现,Sigmoid层处理当前输入Xt和上一时刻 t-1的隐藏状态ht-1,公式为ot=σ(Wo·[ht-1,xt]+bo),其中Wo是输出门的权重矩阵, bo是输出门的偏置项,tanh层处理细胞状态,把两部分结果相乘,确定输出的是当前细胞状态Ct的哪个部分,具体公式为ht=ot*tanh(Ct)。
本发明所使用的基于长短期记忆网络的文本分类模型的基本过程为:首先输入步骤3生成的用张量表示的词向量;再将张量输入长短期记忆模型,使用“Sigmoid”作为其激活函数;接着,设置一个全连接层,在全连接层中对长短期记忆模型的最后一层的神经元全部连接,实现特征的非线性组合,使用“Tanh”作为其激活函数;再加入一个全连接层,使用“softmax”作为其激活函数,并输出softmax向量结果,最终得到的softmax向量为4维张量,每个维度表示其属于该年龄段的概率大小,取值在(0,1)区间;最后,在两个全连接层中应用 Dropout来防止数据过拟合,dropout比率选择0.2。
步骤5:文本分类器的训练。
使用文本训练数据集对搭建的模型进行训练,以“categorical_crossentropy”作为损失函数的类型指导模型进行训练,训练过程中设置批次大小为32次,设置轮次为100次;在训练过程中,模型采用Adam 算法自动修正参数,能基于训练数据迭代地更新神经网络权重;并且,对于按年龄段分类后的微博数据,进行十折交叉验证。
步骤6:图片数据预处理
对步骤2预处理后的按年龄段分类存放的图片数据集调用openCV的图片读取方法,遍历所有的图片信息,将无法读取的图片舍弃,将可以读取的图片转换成256*256像素的格式,并保留RGB三通道,使其适应最新png图片标准。
将分好类的文件利用python脚本,随机抽取10%的图片作为图片测试数据集,剩余90%作为图片训练数据集保存至对应分类的测试目录和训练目录下。
步骤7:对微博文本篇内容搭建LeNet模型网络,即图片分类器。
卷积神经网络在解决计算机视觉方面问题时,有仿造生物的视知觉构筑的特点,使用卷积核对图片操作后,将凸显图片中的轮廓特征,与生物获取视觉特征的过程有近似处。本发明所使用的图片分类器是一种基于卷积神经网络的图像分类模型。其基本过程为,首先将输入图片在输入层中转换为张量表示;其次将张量表示作为卷积层的输入,使用卷积核在张量上滑动;接着在池化层中进行特征选择和信息过滤;然后整个神经网络重复多个卷积层和池化层;最后,将最后一层池化层连接到全连接层中,输出softmax向量结果。最终得到的softmax向量为4维张量,每个维度表示其属于该年龄段的概率大小,取值在(0,1)区间。本实施例中,图片分类模型按如下方式使用keras内置顺序结构模式进行搭建。
首先,搭建卷积层作为目标图片分类器的第一层。将卷积核个数设置为20,使用5*5的卷积核,使用“same”模式作为滑动步长所使用的模式,使用“relu”模式作为激活函数,对输入的张量表示进行卷积操作。该层输入为模型的输入图像的张量表示,输出为第一次卷积的输出特征图的张量表示。
其次,搭建空间数据最大池化层作为目标图片分类器的第二层。使用(2, 2)元组作为规格参数,使用(2,2)元组作为步长参数,在输出特征图的张量上滑动,对于每个滑动矩形框的数取最大值作为输出。该层输入为特征图的张量表示,输出为新的特征图的张量表示。
然后,继续搭建卷积层作为目标图片分类器的第三层。将卷积核个数设置为50,使用5*5的卷积核,使用“same”模式作为滑动步长所使用的模式,使用“relu”模式作为激活函数,对输入的张量表示进行卷积操作。该层输入为特征图的张量表示,输出为新的特征图的张量表示。
进一步,继续搭建空间数据最大池化层作为目标图片分类器的第四层。使用(2,2)元组作为规格参数,使用(2,2)元组作为步长参数,在输出特征图的张量上滑动,对于每个滑动矩形框的数取最大值作为输出层。该层输入为特征图的张量表示,输出为新的特征图的张量表示。
接着,搭建展开层作为目标图片分类器的第五层。该层主要将空间数据特征展开表示,输入为特征图的张量表示,输出为特征图的一维展开向量表示。
再有,搭建全连接层作为目标图片分类器的第六层。使用“relu”作为按逐个元素计算的激活函数,对输入的向量的逐个元素进行激活。该层输入为特征图的一维展开向量表示,输出为新的特征图的一维展开向量表示。
最后,再搭建一个全连接层作为目标图片分类器的第七层。使用“softmax”作为按逐个元素计算的激活函数,对输入的向量的逐个元素逐个进行激活。该层输入为一维展开向量,输出为softmax向量,即本图片分类器所判断的、本图片分类器所接受的图片在各个目标分类标签上的归属的概率值,为4维张量,每个维度取值在(0,1)区间。
步骤8:图片分类器的训练和使用。
首先,将准备好的数据集文件顺序随机打乱。
其次,使用ImageDataGenerator类构造方法对图片数据集文件进行数据增强操作,并生成迭代器。该操作将旋转角度参数设置为30度,水平平移和垂直平移均平移0.1个单位,错切边换和放大变化均0.2个单位,允许随机水平翻转,允许放缩操作,并且仅能使用邻近填充。
然后,准备好的数据集文件用numpy数组存储图片每一个像素点的像素值,转为张量表示。针对同一图片文件格式内容,此操作将会把图片RGB三通道的数值、图片矩阵位点的信息全部转为规则化为0~255的浮点数值存储到张量表示中,并利用one-hot方法标注图片所属类别的标签。
接着,使用图片训练数据集,对搭建的图片分类器进行训练。此时使用的模型为步骤7搭建的图片分类器,输入为数据集中训练集的所有图片经过本步骤上述过程处理后的张量表示,输出为经由所构筑的图片分类器分类后、该次输入图片归属概率最高的分类标签。本步骤以“categorical_crossentropy”作为损失函数的类型指导模型进行训练。训练过程中将批次大小设置为数值32,轮次设置为数值1000,并将模型保存为h5格式。对比输出的分类标签和该图片对应的真实标签,若一致则为命中,若不一致则不命中。最后统计命中的图片占参与训练的总图片的比例,称为训练命中率。训练过程中,图片分类器将自动化地修正参数,使得训练命中率有递增趋势。
进一步,将保存好的模型予以调用,使用图片测试数据集对模型进行命中测试,筛选对测试集有最高命中率的模型。同样的,步骤7搭建的图片分类器,输入为数据集中测试集的所有图片经过上述过程处理后的张量表示,输出为经由所构筑的图片分类器分类后、该次输入图片归属概率最高的分类标签。对比输出的分类标签和该图片对应的真实标签,若一致则为命中,若不一致则不命中。最后统计命中的图片占参与训练的总图片的比例,称为测试命中率。若新批次训练的模型的测试命中率比之前任意批次模型的最高测试命中率高,则旧模型会被取代,拥有最高测试命中率的新批次的模型将会保留。多次训练迭代后,将仅保留拥有最高测试命中率的模型。
步骤9:结果整合,将训练好的文本分类器与图片分类器的输出记录到用户数据表中。用户数据表储存用户id。用户年龄区间、该用户的文本信息经由搭建的文本分类器处理后所获得的softmax结果(称为文本softmax结果)、该用户的图片信息经由搭建的图片分类器处理后所获得的softmax结果(称为图片 softmax结果)的数据。
将用户数据表的数据使用机器学习分类器(SVM分类器、朴素贝叶斯分类器、随机森林分类器、逻辑回归分类器)进行多分类问题处理。在训练过程中,输入为用户文本softmax结果与用户图片softmax结果的拼接向量,label为用户所处在的年龄段。在测试过程中,输入为用户文本softmax结果与用户图片 softmax结果的拼接向量,输出为该用户具体的所属年龄段分类,选择准确率最高的机器学习分类器。
步骤10:将待预测年龄段用户的微博信息通过步骤3处理后输入通过步骤 5训练好的文本分类器得到softmax输出,通过步骤6、7处理后输入通过步骤 8训练好的图片分类器得到softmax输出,然后将文本分类器的输出结果连接上图片分类器的输出结果输入步骤9得到的机器学习分类器进行分类得到用户所属年龄段预测结果。
至此,就完成了本方法的全部过程。
本发明的LSTM与LeNet融合的微博用户年龄预测方法中,最终的用户年龄分类准确率为95.33%;本发明使用单个LSTM的微博用户文本年龄预测方法的用户年龄分类准确率为71.06%;本发明使用单个LeNet的微博用户图片年龄预测方法的用户单个图片年龄分类准确率为38.72%;本发明使用单个LeNet的微博用户图片年龄预测方法的用户所有图片年龄分类准确率为87.66%。现有的基于朴素贝叶斯微博用户文本年龄预测方法的用户年龄分类准确率为66.33%;现有的基于随机森林微博用户文本年龄预测方法的用户年龄分类准确率为 49.00%;现有的基于逻辑回归微博用户文本年龄预测方法的用户年龄分类准确率为60.33%。
为了说明本发明的内容及实施方法,本说明书给出了上述具体实施例。但是,本领域技术人员应理解,本发明不局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。
Claims (3)
1.一种基于LSTM与LeNet融合的微博用户年龄预测方法,其特征在于:包括以下步骤:
步骤1,对用户动态微博信息按年龄段进行采集;
步骤2,对步骤1采集的微博信息进行预处理使相同年龄段的所有用户的文本放入一个文件夹中,相同年龄段的所有用户的图片放入一个文件夹中;
步骤3,对步骤2预处理后的微博文本数据进行分词、过滤停用词的操作,再将分词结果向量化为用张量表示的词向量;
步骤4,对微博文本内容搭建长短期记忆模型网络LSTM,即文本分类器;
步骤5,使用步骤3得到的词向量,对步骤4搭建的文本分类器进行训练;
步骤6,对步骤2预处理后的微博图片进行图像处理使其大小一致;
步骤7,搭建LeNet的图片分类器;
步骤8,使用步骤6处理后的图片数据,对步骤7搭建的图片分类器进行训练;
步骤9,对每个用户的微博信息,其中的文本数据通过步骤3处理后输入通过步骤5训练好的文本分类器得到softmax输出,图片数据通过步骤6、7处理后输入通过步骤8训练好的图片分类器得到softmax输出;然后将文本分类器的输出结果连接上图片分类器的输出结果作为机器学习分类器的输入,机器学习分类器为SVM分类器、朴素贝叶斯分类器、随机森林分类器、逻辑回归分类器,用户年龄段作为标签,对机器学习分类器进行训练,选择准确率最高的机器学习分类器;
步骤10,将待预测年龄段用户的微博信息通过步骤3处理后输入通过步骤5训练好的文本分类器得到softmax输出,通过步骤6、7处理后输入通过步骤8训练好的图片分类器得到softmax输出,然后将文本分类器的输出结果连接上图片分类器的输出结果输入步骤9得到的机器学习分类器进行分类得到用户所属年龄段预测结果;
步骤1所述年龄段为“0-17”、“18-28”、“29-44”和“45+”四个年龄段,其中45+表示45岁以上;
所述采集通过以下过程进行:
首先筛选符合各年龄段的用户,在这一步初步去除各种企业号、广告号和空号;然后按照初步筛选出来的用户的id,使用手机版微博访问他们的用户主页,爬取前n条微博的内容,包括文本和图片,n为自然数;接下来对用户进行再一次筛选,在爬取下来的用户中,再次去除虚假用户,保证数据集的可靠性;所述步骤3通过以下过程实现:
首先,创建微博词语字典,在创建微博词语字典时采用最新的微博词语语料库,并提供可随时更新语料库的接口,提高分词准确程度;然后,输入用户年龄及其微博内容,对微博内容采用jieba分词,把用户所在年龄段作为其标签,并过滤停用词,但是保留组成表情符号的标点符号;最后,采用Word2vec模型将分词得到的结果向量化;最后,再将分词结果向量转换成用张量表示的词向量;
所述步骤4通过以下过程实现:
首先输入步骤3生成的用张量表示的词向量;再将张量输入长短期记忆模型,使用“Sigmoid”作为其激活函数;接着,设置一个全连接层,在全连接层中对长短期记忆模型上一层的神经元全部连接,实现特征的非线性组合,使用“Tanh”作为其激活函数;再加入一个全连接层,使用“softmax”作为其激活函数,并输出softmax向量结果,最终得到的softmax向量为4维张量,每个维度表示其属于该年龄段的概率大小,取值在(0,1)区间;最后,在两个全连接层中应用Dropout来防止数据过拟合;
所述dropout比率为0.2;
所述步骤7通过以下过程完成:
首先将输入图像在输入层中转换为张量表示;其次将张量表示作为卷积层的输入,使用卷积核在张量上滑动;接着在池化层中进行特征选择和信息过滤;然后在整个神经网络中重复多个卷积层和池化层;最后,将最后一层池化层连接到全连接层中,输出softmax向量结果,最终得到的softmax向量为4维张量,每个维度表示其属于该年龄段的概率大小,取值在(0,1)区间;
在步骤8所述对步骤7搭建的图片分类器进行训练之前对所述图片数据进行数据增强操作;使用ImageDataGenerator类构造方法对图片数据集文件进行数据增强操作,并生成迭代器;该操作将旋转角度参数设置为30度,水平平移和垂直平移均平移0.1个单位,错切变换和放大变换均0.2个单位,允许随机水平翻转,允许放缩操作,并且仅能使用邻近填充。
2.根据权利要求1所述的一种基于LSTM与LeNet融合的微博用户年龄预测方法,其特征在于:所述步骤5训练文本分类器时采用Adam算法自动修正参数,基于训练数据迭代地更新神经网络权重;最后,对于按年龄段分类后的微博数据,进行十折交叉验证。
3.根据权利要求1所述的一种基于LSTM与LeNet融合的微博用户年龄预测方法,其特征在于:所述步骤6通过以下过程完成:对各年龄段的图片文件,调用openCV的图片读取方法,将可以读取的图片转换成256*256像素的格式,并保留RGB三通道,使其适应最新png图片标准;对于按年龄段分类后的图片数据,抽取10%作为测试数据集,剩余90%作为训练数据集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910447984.0A CN110196945B (zh) | 2019-05-27 | 2019-05-27 | 一种基于LSTM与LeNet融合的微博用户年龄预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910447984.0A CN110196945B (zh) | 2019-05-27 | 2019-05-27 | 一种基于LSTM与LeNet融合的微博用户年龄预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110196945A CN110196945A (zh) | 2019-09-03 |
CN110196945B true CN110196945B (zh) | 2021-10-01 |
Family
ID=67753259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910447984.0A Expired - Fee Related CN110196945B (zh) | 2019-05-27 | 2019-05-27 | 一种基于LSTM与LeNet融合的微博用户年龄预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110196945B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955828B (zh) * | 2019-11-19 | 2023-08-01 | 浙江鸿程计算机***有限公司 | 一种基于深度神经网络的多因素嵌入个性化套餐推荐方法 |
CN112232197A (zh) * | 2020-10-15 | 2021-01-15 | 武汉微派网络科技有限公司 | 基于用户行为特征的未成年人识别方法、装置和设备 |
CN112884053B (zh) * | 2021-02-28 | 2022-04-15 | 江苏匠算天诚信息科技有限公司 | 基于图文混合特征的网站分类方法、***、设备及介质 |
CN113553985A (zh) * | 2021-08-02 | 2021-10-26 | 中再云图技术有限公司 | 一种基于人工智能高空烟雾检测识别方法,存储装置及服务器 |
CN115186095B (zh) * | 2022-09-13 | 2022-12-13 | 广州趣丸网络科技有限公司 | 一种未成年人文本识别方法及装置 |
CN115578132A (zh) * | 2022-12-08 | 2023-01-06 | 智慧足迹数据科技有限公司 | 年龄校准方法、装置、电子设备及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016165058A1 (en) * | 2015-04-13 | 2016-10-20 | Hewlett-Packard Development Company,L.P. | Social prediction |
WO2017186048A1 (zh) * | 2016-04-27 | 2017-11-02 | 第四范式(北京)技术有限公司 | 展示预测模型的方法、装置及调整预测模型的方法、装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107169063B (zh) * | 2017-05-03 | 2021-03-02 | 西安交通大学 | 一种基于社交信息的用户属性预测方法与*** |
CN108108354B (zh) * | 2017-06-18 | 2021-04-06 | 北京理工大学 | 一种基于深度学习的微博用户性别预测方法 |
CN107818084B (zh) * | 2017-10-11 | 2021-03-09 | 北京众荟信息技术股份有限公司 | 一种融合点评配图的情感分析方法 |
CN108492200B (zh) * | 2018-02-07 | 2022-06-17 | 中国科学院信息工程研究所 | 一种基于卷积神经网络的用户属性推断方法和装置 |
CN108388544A (zh) * | 2018-02-10 | 2018-08-10 | 桂林电子科技大学 | 一种基于深度学习的图文融合微博情感分析方法 |
CN108764268A (zh) * | 2018-04-02 | 2018-11-06 | 华南理工大学 | 一种基于深度学习的图文多模态情感识别方法 |
CN108710609A (zh) * | 2018-05-07 | 2018-10-26 | 南京邮电大学 | 一种基于多特征融合的社交平台用户信息的分析方法 |
-
2019
- 2019-05-27 CN CN201910447984.0A patent/CN110196945B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016165058A1 (en) * | 2015-04-13 | 2016-10-20 | Hewlett-Packard Development Company,L.P. | Social prediction |
WO2017186048A1 (zh) * | 2016-04-27 | 2017-11-02 | 第四范式(北京)技术有限公司 | 展示预测模型的方法、装置及调整预测模型的方法、装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110196945A (zh) | 2019-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110196945B (zh) | 一种基于LSTM与LeNet融合的微博用户年龄预测方法 | |
CN111737495B (zh) | 基于领域自分类的中高端人才智能推荐***及其方法 | |
US20220405480A1 (en) | Text sentiment analysis method based on multi-level graph pooling | |
JP2022541199A (ja) | データテーブルの画像表現に基づいて構造化されたデータベースにデータ挿入するためのシステムおよび方法。 | |
CN104346440A (zh) | 一种基于神经网络的跨媒体哈希索引方法 | |
US11782928B2 (en) | Computerized information extraction from tables | |
CN109657204A (zh) | 使用非对称度量学习的自动配对字体 | |
CN111832573B (zh) | 一种基于类激活映射和视觉显著性的图像情感分类方法 | |
CN111582506A (zh) | 基于全局和局部标记关系的偏多标记学习方法 | |
Meena et al. | Sentiment analysis from images using vgg19 based transfer learning approach | |
Sunarya et al. | Comparison of accuracy between convolutional neural networks and Naïve Bayes Classifiers in sentiment analysis on Twitter | |
Hasan et al. | Bangla font recognition using transfer learning method | |
Dahl et al. | Applications of machine learning in document digitisation | |
CN111144453A (zh) | 构建多模型融合计算模型的方法及设备、网站数据识别方法及设备 | |
CN107908749A (zh) | 一种基于搜索引擎的人物检索***及方法 | |
Wasielewski | Authenticity and the Poor Image in the Age of Deep Learning | |
Mejia-Escobar et al. | Towards a Better Performance in Facial Expression Recognition: A Data‐Centric Approach | |
CN117235253A (zh) | 一种基于自然语言处理技术的卡车用户隐性需求挖掘方法 | |
CN113076468B (zh) | 一种基于领域预训练的嵌套事件抽取方法 | |
Xi et al. | Research on map emotional semantics using deep learning approach | |
Dai et al. | Classification of calligraphy style based on convolutional neural network | |
Das et al. | A deep learning study on understanding Banglish and abbreviated words used in social media | |
Dahl et al. | Applications of machine learning in tabular document digitisation | |
Scius-Bertrand et al. | Annotation-free character detection in historical Vietnamese stele images | |
Anggoro et al. | Classification of Solo Batik patterns using deep learning convolutional neural networks algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211001 |
|
CF01 | Termination of patent right due to non-payment of annual fee |