CN112364638B - 一种基于社交文本的人格识别方法 - Google Patents
一种基于社交文本的人格识别方法 Download PDFInfo
- Publication number
- CN112364638B CN112364638B CN202011099735.6A CN202011099735A CN112364638B CN 112364638 B CN112364638 B CN 112364638B CN 202011099735 A CN202011099735 A CN 202011099735A CN 112364638 B CN112364638 B CN 112364638B
- Authority
- CN
- China
- Prior art keywords
- value
- output
- convolution
- word
- layer
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于社交文本的人格识别方法属于自然语言处理领域。本发明将获取的社交文本数据利用词嵌入模型表示为词向量,以此作为卷积神经网络(conv olutional neural network,CNN)和长短期记忆网络(long short‑term memory,LSTM)的输入,同时将原始词向量特征、CNN和LSTM的输出特征融合,并利用注意力机制(attention mechanism)对融合特征筛选出更关键的特征,最终实现基于大五人格模型的社交网络用户人格分类。
Description
技术领域
本发明属于自然语言处理领域,尤其涉及一种基于社交文本的人格识别方法。
背景技术
人格是个体在思维模式、情感、动机和行为特征上的差异,人格对我们的生活有很大的影响,会决定一个人在网站、书籍、音乐和电影等方面的选择,此外,人格也会影响与他人和环境互动。人格揭示出个体激励因素、沟通方式、决策风格、能力特长、抗压能力等等特质,具有潜在的利用价值,人格检测结果具有重要的实际应用。例如,自动人格识别将有助于产品和服务的个性化推荐,预测有用信息;临床心理学中已研究人格测验领域,以了解心理状况下的表型特征的结构。人格检测还广泛用于企业人才选拔、职业选择、关系咨询和健康状况询问等。
现代特质理论试图通过设置一系列分类维度(通常采用词汇法)或分量表并构建一份由许多涉及个人心理特征的问题组成的问卷来衡量这些维度,从而对反映出不同的人格。研究人员常用的人格问卷,如16PF、EPQ-R和三特质人格模型PEN。常用的人格检测方法除问卷法外,还有投射法。在投射测验中,给受测者一系列的模糊刺激,受测者的动机、态度、情感以及性格等在对刺激回应的过程和内容中投射出来,从而了解若干人格。
人格理论分为精神分析流派、特质流派、生物学流派、人本主义流派、行为主义流派及认知流派六个流派,最常用的人格模型就是特质流派中最为主流的大五人格模型(BigFive Model),它从开放性、尽责性、外向性、宜人性和神经质五个方面描述人格。
不同的研究人员发现语言特征和个性特征之间存在相关性(如:第一人称单数代词与抑郁程度相关),网络的高速发展、社交媒体工具的出现以及对社交网络分析的兴趣,给网络互动主体的人格建模带来了必要性。最近的研究表明,个性和在线用户行为之间的联系保持不变。相比于传统测量方法,大数据分析方法是获取人格信息的高效且准确的途径,计算机时代使人们能够获取和分析大量文本样本,通过获取目标在网络浏览或使用终端设备以及在社交网络活动时产生的数据,将用户属性与数据进行关联,发现其中规律,建立分析模型得到人格信息,图1为发明探索的大五人格与文本数据特征之间的关联性示意。
当前人格分析方法中,主要包含数据预处理、人格预测两个阶段,数据预处理完成数据的标准化和规范化、特征提取、特征优化、文本处理等,人格预测则利用相关性分析找出人格特质与用户文本数据特征属性之间的关联,提取相关特征利用群智能算法找到最优特征集合,并利用机器学习或深度学习模型进行分类或预测算法得到目标用户人格。
通常,从文本中提取中提取的特征,如LIWC、Mairese和MRC等,然后将这些特征输入到标准的机器学习分类器中,如序列最小优化器(Sequential Minimum Optimizer)、支持向量机(SVM)中。除此,学习单词嵌入将文本数据表示为向量(GloVe或Word2Vec)也是常用的数据预处理方法。
大多数的人格预测方法都使用传统的机器学习算法,如支持向量机和朴素贝叶斯和Gaussian过程等从文本中检测个性。2014年之后,端到端的深度神经网络架构和模型开始流行起来并应用到人格预测任务中,从而得到了更精准的预测结果。卷积神经网络(Convolutional Neural Networks,CNN)有助于从文本中提取monogram、bigram和trigram局部特征,有研究将深度CNN提取的特征向量与文档级的mairese特征连接起来用于执行文档级的人格检测任务,还有研究尝试通过将输入反馈给递归神经网络(Recursive NeuralNetwork,RNN)来建模句子之间的时间依赖关系。研究人员还引入了潜在句群(LatentSentence Group)的概念来表示基于紧密连接句向量的抽象特征组合,采用双向长短期记忆网络,结合CNN,利用文本结构检测用户的个性。
发明内容
本发明将获取的社交文本数据利用词嵌入模型表示为词向量,以此作为卷积神经网络(convolutional neural network,CNN)和长短期记忆网络(long short-termmemory,LSTM)的输入,同时将原始词向量特征、CNN和LSTM的输出特征融合,并利用注意力机制(attention mechanism)对融合特征筛选出更关键的特征,最终实现基于大五人格模型的社交网络用户人格分类。
对于句子模型,CNN可以抽取句子不同位置的高级n元特征,但其对于序列数据抽取特征能力差,因此使用LSTM提取的特征可以捕获到句子之间的长期依赖信息。为避免特征提取过程中过滤掉原始特征中的重要特性,我们将以上输出特征与未经处理的原始特征向量融合,除此,本发明对融合特征利用注意力机制筛选出对目标任务更为关键的信息,避免特征冗余,从而提高分类效率和准确率。本发明的流程如图2所示,详细实施步骤如下:
步骤1、数据预处理,并对预处理后的文本数据利用词嵌入模型得到序列向量矩阵
预处理是在将数据集传递到模型之前,通过对数据集执行基本操作来帮助组织数据集的过程,例如删除空格和无意义单词等。它将原始数据集转换为有用的、有组织的数据集,用于进一步使用,本发明中的预处理操作包括对社交文本的分词和数据清洗。对获取的数据集利用jieba分词工具进行分词,分词一般有英文和中文,中文分词由于无空格符等相对比较复杂,然后就对分好的词进行清洗,如去除停用词,英文涉及大小写转换,去除无用的标签和特殊符号。
由于自然语言处理(NLP)领域的词汇表一般非常大,将达到百万级别,利用独热编码(One hot representation)来表示词向量非常简单,但会造成维度灾难和内存浪费问题。词嵌入模型可把一个维数为所有词的数量的高维空间嵌入到一个低维的连续向量空间中,得到的词向量能够表示词义信息和单词之间的相似关系,且数据格式使得计算机易于处理。利用词嵌入模型为数据集中的所有单词提供一个唯一且有意义的词向量,每个单词向量维度为d,作为卷积神经网络和长短期记忆网络的输入,以提取高级特征。
步骤2、将序列向量矩阵作为卷积神经网络和长短期记忆网络的输入,进行特征提取卷积神经网络模型
·卷积层(Convolution layers)
一维卷积使用固定大小的卷积核在序列上滑动并在不同位置检测特征,我们定义句子的最大长度max_length为L,k为卷积核的长度,宽度在训练过程中保持不变,其值等于词向量的维度,则句子中的每个位置j,其中j=1,2,...,k/L,有一个窗口向量wdj和k个连续的词向量xj∈Rd,每个词向量的维度为d维,句子为x∈RL×d,窗口向量表示如下
wdj=[xj,xj+1,…,xj+k-1]
wdj为k个词向量构成的向量矩阵,第j个窗口向量经卷积操作将获得一个特征映射(feature map)h_mapj,公式(1)如下:
h_mapj=f(wdj·conv+b) (1)
其中conv∈Rk×d定义为滤波器的卷积操作(填充(padding)方式选择无填充(Valid)),·表示点积操作,f为非线性函数-ReLU,b为偏置单元,一般偏置单元初始值取随机值,在训练模型时通过反向传播来自动更新该值,调整至损失函数收敛。h_map∈RL-k+1则表示整个句子中的所有窗口向量经卷积操作得到的特征映射。
·最大池化层(max-pooling layers)
池化层的主要作用是进行特征压缩,去掉卷积层输出的特征映射h_map中不重要的元素,简化网络计算复杂度,最大池化操作是计算某一池化窗口内特征的最大值来代表这个区域内的特征,在此我们选择池化窗口的长度(ksize)为L-k+1,宽度在训练过程中保持不变,其值也是等于词向量的维度,则经池化后的特征表示为p∈R。
在本发明中我们使用n个不同大小的卷积核来获得n元特征,n是不同卷积核窗口大小(filter_window_size)的类别,k=(k1,k2,...,kn),不同大小的卷积核又各为num_filters个,将卷积和池化操作后我们将num_filters个相同窗口大小的卷积核得到的特征p追加(append)在一起,得到特征
其中表示卷积核窗口长度为ki的num_filters个卷积核经池化后获取的特征,i=1,2,...,n,分号(;)表示列向量的拼接。此外,我们将不同窗口大小的卷积核再次拼接在一起,拼接后得到的特征表示为Conv_output:
·扁平化(Flatten)
经过卷积层和池化层得到多维向量,扁平化操作的目的是将其一维化。将经过卷积和池化操作并拼接的特征Conv_output再经扁平化操作得到的特征我们表示为Conv_flat。
·Dropout技巧
Dropout技巧是在深度学习网络的训练过程中,对于神经网络单元,按照一定概率将其暂时从网络中(暂时)丢弃,能够减弱了神经元节点间的联合适应性,减少特征冗余,防止模型过度拟合。隐含节点dropout率可取0~1,则扁平化的特征Conv_flat经dropout操作后得到特征Conv_drop。
长短期记忆网络模型
·LSTM层
CNN可以抽取局部的空间或短时间的结构关系,但对于序列数据抽取特征能力差,针对这一问题,递归神经网络(Recurrent Neural Network,RNN)被应用于文本分类领域,它是一类节点间按时间序列的人工神经网络,不仅依赖于当前节点状态ct,还将前一个时间序列节点的隐藏状态ct-1共同作用于预测信息,但当相关信息与当前预测位置间隔较大时,RNN便无法处理长期依赖问题(Long-Term Dependencies)。t表示当前时间步(或称为当前节点),t=1,2,...,hidden_size,hidden_size表示长短期记忆网络的隐藏节点的个数。
因此长短期记忆网络(LSTM)的概念被提出,它在RNN的基础上增加了门机制来过滤信息,解决了长期依赖问题,还在一定程度上避免了梯度消失和梯度爆炸问题。LSTM的关键结构如图3所示,整体是一个记忆细胞(memory cell)来处理上下文信息,包括三个门机制:遗忘门决定从记忆细胞中丢弃什么信息;输入门决定细胞状态存储哪些新信息,其中sigmoid层(σ输出值:[0,1])决定什么值将要被更新,tanh层创建一个新的候选值向量输出门决定输出信息,首先sigmoid层决定输出的细胞状态ct,其次将细胞状态通过tanh层处理(输出值:[-1,1])并将其与sigmoid门的输出相乘,决定本节点的输出信息ht。
·全连接层(Dense layer)
以长短期记忆网络最后一个时间序列节点的输出信息ht作为输入,加入了全连接层,使之经过非线性变化(ReLU函数)后,以便提取这些特征之间的关联,最后映射到输出空间上。全连接层隐层神经元的个数为dense1_unit个,得到的特征表示为lstm_dense。实验表明,如果隐层节点数过少,网络不能具有必要的学习能力和信息处理能力。反之,若过多,不仅会大大增加网络结构的复杂性,网络在学习过程中更易陷入局部极小点,而且会使网络的学习速度变得很慢。合理隐层节点数应在综合考虑网络结构复杂程度和误差大小的情况下用节点删除法和扩张法确定。隐层神经元的数量初始值设置一般按照以下规则:
·隐藏神经元的数量应该介于输入层的大小和输出层的大小之间;
·隐藏神经元的数量应该是输入层大小的2/3,再加上输出层的大小;
·隐藏神经元的数量应该少于输入层大小的两倍。
步骤3、将原始特征-序列向量矩阵、卷积神经网络和长短期记忆网络的输出特征进行特征融合后利用注意力机制选择有用信息
社交文本数据经词嵌入模型处理后得到的向量矩阵,经过卷积神经网络和长短期记忆网络模型的提取可以得到高度抽取的语义信息,但不可避免地失去原始文本特征的特性,因此为弥补丢失的原始矩阵的语义,我们将卷积神经网络提取的n元局部特征Conv_drop∈Rn*num_filters、长短期记忆网络提取的序列信息特征lstm_dense∈Rdense1_unit与经过隐层神经元的个数为dense2_unit的完全连接层的非线性变化的原始词向量data_dense∈Rdense2_unit利用concat()函数按照相同维度的行向量进行拼接,得到融合特征oc∈Rn *num_filters+dense1_unit+dense2_unit,其中n的含义是有n种尺寸的卷积核,如公式(2)所示:
oc=concat(Conv_drop,lstm_dense,data_dense) (2)
此外,为避免特征冗余,降低模型性能,首先我们使用隐层神经元为dense3_unit个的完全连接层来简化特征维度得到输出特征oc_dense∈Rdense3_unit。
融合特征保证了语义信息的完整性,但存在着信息量大,特征冗余和特征重复的问题,同时不同的特征对分类任务的影响程度不同,因此我们使用注意力机制为融合特征分配不同的注意力权重,使其从大量的信息中快速筛选出对当前任务目标更关键的信息,忽略无价值的特征,从而提高了信息处理的效率与精度。如图4所示,我们使用注意力机制对融合特征oc_dense加以处理,突出输入值对输出影响,提取关键信息,得到特征pred∈Rdense3_unit并通过计算注意力权重对传统模型进行优化。其中注意力机制的第v个维度的输出predv,其中v=1,2,...,dense3_unit,如公式(3)所示。
其中αv是第v维的融合特征oc_densev与第v维的输出predv之间的注意力权重,它的定义如公式(4)所示,其机制同softmax函数一致(见步骤4),所以我们利用softmax函数进行计算。
其中exp为指数函数,ev是由Babdanau提出的一种验证机制,我们在此将其简化为公式(5)的定义。
ev=tanh(oc_densev·we+be) (5)
其中we是权重矩阵,be为偏置系数,二者的初始数值一般取随机值,在训练模型时通过反向传播来自动更新该值,与步骤4中的更新规则同理。在反向传播过程中,随着we和be的变化,不断调整注意力权重,从而损失函数不断减小,直至收敛,二者的值便不再变化。
若模型中加入注意力机制筛选出对输出任务更为值得关注的特征,训练时长并不会因模型复杂度的增加,反而有所减少,提高了算法执行的效率,并且分类精度也提高了2%~5%。
步骤4、使用softmax函数作为分类器进行用户人格识别
本发明基于大五人格模型进行人格识别,五类人格之间互不排斥,每个人格都是一个二元值:是/否(0/1),因此属于多标签分类问题(Multi-label classification),在设计分类模型时,我们将多标签分类转换成多个二元分类问题,然后使用多个单标签分类器进行处理。其中单标签分类器选用softmax函数(归一化指数函数),它能将一个含任意实数的M维向量z“压缩”到另一个M维实向量θ(z)中,使得每个元素的范围都在(0,1)之间,并且所有元素之和为1。单个标签也是一个二元值,正例标签值为1,负例标签值为0,M应为类别数量class_num=2。其定义如等式(6)所示:
其中,θ(z)a为样本z属于第a个类别的概率。样本z∈RM定义如公式(7)所示,因为softmax函数作为M分类器,输出值θ(z)=(θ(z)1,θ(z)2,...,θ(z)M),最大的概率值确定为最终的输出类别。因此输入值也应该为M维数值,因此我们将经注意力机制提取后的特征pred∈Rdense3_unit与权重矩阵wc∈Rdense3_unit*M点乘,再加上对应的偏置系数bc∈RM,从而得到z∈RM来满足softmax函数M分类的输入要求。
z=pred·wc+bc (7)
权重矩阵和偏置系数的初始数值一般取随机值,在训练模型时通过反向传播来自动更新该值。随着wc和bc的改变来调整softmax函数输出概率,从而提高分类精度。其更新规则如公式(8)(9)所示:
wc=wc+Δwc (8)
其中,η是学习速率,决定了网络学习的快慢,也控制着权重调整的幅度,取值范围为[0,1]。如果将η设置过大,每当出现一个错误的结果,权重将进行大幅度调整,导致网络不稳定,或将越过局部最小值,从而使权重的改变永远不能停止;如果将其设置的过小,则权重的调整幅度也越小,就需要花费更多的时间去学习,从而达到模型收敛迭代次数也非常高。因此我们一般将学习速率设置为0.1<η<0.4之间,并在之后的迭代中以3的倍数将其减小,最小值不低于0.001。loss是损失函数值,其定义见公式(13),为偏导数。根据链式法则,的计算过程如公式(10)所示:
根据样本z定义,显然有
五个人格的分类准确率达到60%以上,损失函数收敛时,二者的值不再改变,分类准确率Acc的计算见公式(12),损失函数值loss的计算公式见公式(13)。
在实际训练中,是将数据集划分成多个大小为batch_size的批次,最大值为数据集的大小,若数据集的样本量较小,可以不使用batch_size;若样本量过大,大于10000,一次性处理所有的数据,会照成内存爆炸,可根据GPU内存大小来设置batch_sizes的大小。设置合适的batch_size可以提高内存利用率,加快训练速度,且梯度下降方向也更加准确。实际工程中常采用的是mini-batch_size,一般设置为几十或者几百,但不会超过千;GPU对2的幂次的batch_size可以发挥更佳的性能,因此设置成16、32、64、128…时往往要比设置为整10、整100的倍数时表现更优秀。
对一个批次的数据进行处理,并计算其准确率和损失函数。在公式(8)中TP是一个批次的数据中实际为正例且被分类器划分为正例的个数,TN是实际为负例且被分类器划分为负例的个数。在公式(9)中,θ(z)(u)表示一个批次中第u个样本z的预测值,y(u)表示一个批次中第u样本z的实际标签值,log是对数函数。
附图说明
图1大五人格与文本数据特征的映射关系;
图2本发明的流程图;
图3长短期记忆网络结构;
图4注意力机制结构;
图5卷积神经网络可视化。
具体实施方式
本发明提供一种基于社交文本的人格识别方法,包括:步骤1、数据预处理,并对预处理后的文本数据利用Word2Vec词嵌入模型得到序列向量矩阵;步骤2、将序列向量矩阵作为卷积神经网络和长短期记忆网络的输入,进行特征提取;步骤3、将原始特征-序列向量矩阵、卷积神经网络和长短期记忆的输出特征进行特征融合后利用注意力机制选择有用信息;步骤4、使用softmax函数作为分类器进行用户人格识别。
步骤1、数据预处理,并对预处理后的文本数据利用Word2Vec词嵌入模型得到序列向量矩阵
本发明中的预处理操作包括对社交文本的分词和数据清洗。我们首先获取myPersonality数据集,由250个Facebook用户的社交数据组成,这些用户的状态约为10000个,其中给定的Personality标签基于五大性格特征。它是一个完整的社交网络用户数据集,包括用户的文本信息和外部信息(如发布时间、网络大小等),研究中使用的是是myPersonality的纯文本数据myPersonality_text,去掉了用户的外部信息。然后对整理好的数据集利用jieba分词工具进行分词,分词一般有英文和中文,中文分词由于无空格符等相对比较复杂,然后就对分好的词进行清洗,如去除停用词,英文涉及大小写转换,去除无用的标签和特殊符号。
Word2Vce是2013年由谷歌出的一种深度学习模式,该模型将所有的词向量化,还可以实现单词语义相似性的度量和词汇语义的类比。Word2Vec模型根据数据集中的每个句子进行训练,并且以一个固定窗口在句子上进行滑动,根据句子的上下文来预测固定窗口中间词的向量,然后根据损失函数和优化方法,对模型进行训练。模型的输出被称为一个嵌入矩阵(Embedding Matrix),即隐层的权重矩阵,该嵌入矩阵将包含训练语料库中每个不同单词的向量。预处理后的数据集提供了一个唯一且有意义的单词序列,每个单词都有唯一的ID,我们使用预训练的Word2Vec模型进行单词嵌入,每个单词向量维度为300d,该模型将初始化单词以分配随机权重,并学习词嵌入将所有单词嵌入到训练数据集中。
步骤2、将序列向量矩阵作为卷积神经网络和长短期记忆网络的输入,进行特征提取卷积神经网络模型
·卷积层(Convolution layers)
一维卷积使用固定大小的卷积核在序列上滑动并在不同位置检测特征,我们定义句子的最大长度max_length为L=400,k为卷积核的长度,宽度在训练过程中保持不变,其值等于词向量的维度,则句子中的每个位置j,其中j=1,2,...,k/L,有一个窗口向量wdj和k个连续的词向量xj∈Rd,每个词向量的维度为d=300,句子为x∈RL×d即x∈R400×300,窗口向量表示如下
wdj=[xj,xj+1,…,xj+k-1]
wdj为k个词向量构成的向量矩阵,第j个窗口向量经卷积操作将获得一个特征映射(feature map)h_mapj,公式(14)如下:
h_mapj=f(wdj·conv+b) (14)
其中conv∈Rk×d定义为滤波器的卷积操作(填充(padding)方式选择无填充(Valid)),·表示点积操作,f为非线性函数-ReLU,b为偏置单元,一般偏置单元初始值取随机值,在训练模型时通过反向传播来自动更新该值,调整至损失函数收敛。h_map∈RL-k+1则表示整个句子中的所有窗口向量经卷积操作得到的特征映射。
·最大池化层(max-pooling layers)
在本发明中利用最大池化操作来进行特征压缩,对卷积层输出的特征映射h_map来计算某一池化窗口内特征的最大值来代表这个区域内的特征,在此,我们选择池化窗口的长度(ksize)为L-k+1,宽度在训练过程中保持不变,其值也是等于词向量的维度,则经池化后的特征表示为p∈R。
我们使用n个不同大小的卷积核来获得n元特征,n是不同卷积核窗口大小(filter_window_size)的类别,k=(k1,k2,...,kn)=(3,4,5),不同大小的卷积核又各为num_filters个,实验中设置为128,将卷积和池化操作后我们将num_filters个相同窗口大小的卷积核得到的特征p追加(append)在一起,得到特征
其中表示卷积核窗口长度为ki的num_filters个卷积核经池化后获取的特征,i=1,2,3,分号(;)表示列向量的拼接。此外,我们将不同窗口大小的卷积核再次拼接在一起,拼接后得到的特征表示为Conv_output:
·扁平化(Flatten)
将经过卷积和池化操作并拼接的特征Conv_output再经扁平化操作得到的一维化特征我们表示为Conv_flat,为方便理解,我们将卷积神经网络可视化为图5,以文本序列长度为400,卷积窗口大小选择3、4、5三个尺寸且每个尺寸的卷积核为128个,词嵌入维度为300d为例,其中?表示划分的数据批次大小。
·Dropout技巧
在本发明中,经过交叉验证,隐含节点dropout率(范围为0~1)一般设为0.5时效果最好,能够减弱了神经元节点间的联合适应性,减少特征冗余,防止模型过度拟合。则扁平化的特征Conv_flat经dropout操作后得到特征Conv_drop。
长短期记忆网络模型
·LSTM层
为弥补CNN序列数据抽取特征能力差的问题,在本发明中使用长短期记忆网络(LSTM)来获取长期依赖关系,提取依存敏感型的全局特征,还在一定程度上避免了梯度消失和梯度爆炸问题。LSTM的关键结构整体是一个记忆细胞(memory cell),通过对细胞状态中信息遗忘和记忆新的信息使得对后续时刻计算有用的信息得以传递,而无用的信息被丢弃,并在每个时间步都会输出隐层状态ht。
·全连接层(Dense layer)
在本发明中,以长短期记忆网络最后一个时间序列节点的输出信息ht作为输入,加入了全连接层,使之经过非线性变化(ReLU函数)后,以便提取这些特征之间的关联,最后映射到输出空间上。全连接层隐层神经元的个数为dense1_unit个,我们根据“发明内容”中的隐层神经元节点数的初始设置条件并结合节点删除法和扩张法,在实验中设置dense1_unit=128,得到的特征表示为lstm_dense。
步骤3、将原始特征-序列向量矩阵、卷积神经网络和长短期记忆网络的输出特征进行特征融合后利用注意力机制选择有用信息
社交文本数据经Word2Vec模型处理后得到的向量矩阵,经过卷积神经网络和长短期记忆网络的模型的提取可以得到高度抽取的语义信息,但不可避免地失去原始文本特征的特性,因此为弥补丢失的原始矩阵的语义,我们将卷积神经网络提取的3元局部特征Conv_drop∈R3*128、长短期记忆网络提取的序列信息特征lstm_dense∈R128与经过完全连接层(同样地,我们根据“发明内容”中的隐层神经元节点数的初始设置条件并结合节点删除法和扩张法,隐层神经元的个数dense2_unit为128)的非线性变化的原始词向量data_dense∈R128利用concat()函数按照相同维度的行向量进行拼接,得到融合特征oc∈R3 *128+128+128,如公式(15)所示:
oc=concat(Conv_drop,lstm_dense,data_dense) (15)
此外,为避免特征冗余,降低模型性能,首先我们使用隐层神经元为dense3_unit个的完全连接层,同样使用节点删除法和扩张法对隐层神经元的个数进行调整来获得更优的结果,在本实验中设置dense3_unit=256,来简化特征维度得到输出特征oc_dense∈R256,;此外,我们使用注意力机制对融合特征筛选出对分类任务的关键信息,得到特征pred∈R256并通过计算注意力权重对传统模型进行优化。其中注意力机制的第v个维度的输出predv,其中v=1,2,...,256,如公式(16)所示。
其中αv是第v维的融合特征oc_densev与第v维的输出predv之间的注意力权重,它的定义如公式(17)所示,其机制同softmax函数一致(见步骤4),所以我们利用softmax函数进行计算。
其中exp为指数函数,ev是由Babdanau提出的一种验证机制,我们在此将其简化为公式(18)的定义。
ev=tanh(oc_densev·we+be) (18)
其中we是权重矩阵,be为偏置系数,二者的初始数值一般取随机值,在训练模型时通过反向传播来自动更新该值。在反向传播过程中,随着we和be的变化,不断调整注意力权重,从而损失函数不断减小,直至收敛,二者的值便不再变化。在本发明的实验数据中,损失函数在0.64±0.02之间浮动。
以本实验的数据为例,发明中若不用注意力机制从融合特征中提取出对输出值有关键作用的特征,训练时长为34分钟,且五个人格的平均分类准确率为61.56%;若加入注意力机制提取出更值得关注的特征,忽略无用信息,训练时长并不会因模型复杂度的增加,反而减少至28分钟,提高了算法执行的效率,并提高了分类精度,五个人格的平均分类准确率达到66.60%。
步骤4、使用softmax函数作为分类器进行用户人格识别
本发明基于大五人格模型进行人格识别,属于多标签分类问题(Multi-labelclassification),在设计分类模型时,我们将多标签分类转换成5个二元分类问题,然后使用5个单标签分类器进行处理,其中单标签分类器选用softmax函数。单个标签也是一个二元值,正例标签值为1,负例标签值为0,M应为类别数量class_num=2。其定义如等式(19)所示:
其中,θ(z)a为样本z属于第a个类别的概率。样本z∈RM定义如公式(20)所示,因为softmax函数作为二元分类器,输出值θ(z)=(θ(z)1,θ(z)2)应类似于[0.84,0.12]的格式,最大的概率值确定为最终的输出类别。因此输入值z也应该为2维数值,因此我们将经注意力机制提取后的特征pred∈R256与权重矩阵wc∈R256*2点乘,再加上对应的偏置系数bc∈R2,从而得到z∈R2来满足softmax函数二分类的输入要求。
z=pred·wc+bc (20)
权重矩阵和偏置系数的初始数值一般取随机值,在训练模型时通过反向传播来自动更新该值。随着wc和bc的改变来调整softmax函数输出概率,从而提高分类精度。在本发明中的实验中,五个人格的分类准确率分别达到67.19%、68.75%、58.20%、60%、78.88%时,平均分类准确率为66.60%,损失函数在0.64±0.02附近收敛,二者的值不再改变。
Claims (1)
1.一种基于社交文本的人格识别方法,其特征在于包括以下步骤:
步骤1、数据预处理,并对预处理后的文本数据利用词嵌入模型得到序列向量矩阵
预处理操作包括对社交文本的分词和数据清洗,利用词嵌入模型为数据集中的所有单词提供一个唯一且有意义的词向量,每个单词向量维度为d,作为卷积神经网络和长短期记忆网络的输入;
步骤2、将序列向量矩阵作为卷积神经网络和长短期记忆网络的输入,进行特征提取
一维卷积使用固定大小的卷积核在序列上滑动并在不同位置检测特征,定义句子的最大长度max_length为L,k为卷积核的长度,宽度在训练过程中保持不变,其值等于词向量的维度,则句子中的每个位置j,其中j=1,2,...,k/L,有一个窗口向量wdj和k个连续的词向量xj∈Rd,每个词向量的维度为d维,句子为x∈RL×d,窗口向量表示如下
wdj=[xj,xj+1,…,xj+k-1]
wdj为k个词向量构成的向量矩阵,第j个窗口向量经卷积操作将获得一个特征映射h_mapj,公式(1)如下:
h_mapj=f(wdj·conv+b) (1)
其中conv∈Rk×d定义为滤波器的卷积操作,填充方式选择无填充,·表示点积操作,f为非线性函数-ReLU,b为偏置单元,偏置单元初始值取随机值,在训练模型时通过反向传播来自动更新该值,调整至损失函数收敛;h_map∈RL-k+1则表示整个句子中的所有窗口向量经卷积操作得到的特征映射;
最大池化操作是计算某一池化窗口内特征的最大值来代表这个区域内的特征,在此选择池化窗口的长度为L-k+1,宽度在训练过程中保持不变,其值也是等于词向量的维度,则经池化后的特征表示为p∈R;
使用n个不同大小的卷积核来获得n元特征,n是不同卷积核窗口大小的类别,k=(k1,k2,...,kn),不同大小的卷积核又各为num_filters个,将卷积和池化操作后将num_filters个相同窗口大小的卷积核得到的特征p追加在一起,得到特征
其中表示卷积核窗口长度为ki的num_filters个卷积核经池化后获取的特征,i=1,2,...,n,分号;表示列向量的拼接;此外,将不同窗口大小的卷积核再次拼接在一起,拼接后得到的特征表示为Conv_output:
将经过卷积和池化操作并拼接的特征Conv_output再经扁平化操作得到的特征表示为Conv_flat;
隐含节点dropout率取0~1,则扁平化的特征Conv_flat经dropout操作后得到特征Conv_drop;
长短期记忆网络LSTM整体是一个记忆细胞处理上下文信息,包括三个门机制:遗忘门决定从记忆细胞中丢弃什么信息;输入门决定细胞状态存储哪些新信息,其中sigmoid层决定什么值将要被更新,tanh层创建一个新的候选值向量输出门决定输出信息,首先sigmoid层决定输出的细胞状态ct,其次将细胞状态通过tanh层处理并将其与sigmoid门的输出相乘,决定本节点的输出信息ht;
以长短期记忆网络最后一个时间序列节点的输出信息ht作为输入,加入了全连接层,使之经过非线性变化后,以便提取这些特征之间的关联,最后映射到输出空间上;全连接层隐层神经元的个数为dense1_unit个,得到的特征表示为lstm_dense;
隐层神经元的数量初始值设置按照以下规则:
隐藏神经元的数量应该介于输入层的大小和输出层的大小之间;
隐藏神经元的数量应该是输入层大小的2/3,再加上输出层的大小;
藏神经元的数量应该少于输入层大小的两倍;
步骤3、将原始特征-序列向量矩阵、卷积神经网络和长短期记忆网络的输出特征进行特征融合后利用注意力机制选择有用信息
将卷积神经网络提取的n元局部特征Conv_drop∈Rn*num_filters、长短期记忆网络提取的序列信息特征lstm_dense∈Rdense1_unit与经过隐层神经元的个数为dense2_unit的完全连接层的非线性变化的原始词向量data_dense∈Rdense2_unit利用concat()函数按照相同维度的行向量进行拼接,得到融合特征oc∈Rn*num_filters+dense1_unit+dense2_unit,其中n的含义是有n种尺寸的卷积核,如公式(2)所示:
oc=concat(Conv_drop,lstm_dense,data_dense) (2)
使用隐层神经元为dense3_unit个的完全连接层来简化特征维度得到输出特征oc_dense∈Rdense3_unit;使用注意力机制对融合特征突出输入值对输出影响,提取关键信息,得到特征pred∈Rdense3_unit并通过计算注意力权重对传统模型进行优化;其中注意力机制的第v个维度的输出predv,其中v=1,2,...,dense3_unit,如公式(3)所示;
其中αv是第v维的融合特征oc_densev与第v维的输出predv之间的注意力权重,它的定义如公式(4)所示,其机制同softmax函数一致,所以利用softmax函数进行计算;
其中exp为指数函数,ev是一种验证机制,为公式(5)的定义;
ev=tanh(oc_densev·we+be) (5)
其中we是权重矩阵,be为偏置系数,二者的初始数值取随机值,在训练模型时通过反向传播来自动更新该值在反向传播过程中,随着we和be的变化,不断调整注意力权重,从而损失函数不断减小,直至收敛,二者的值便不再变化;
步骤4、使用softmax函数作为分类器进行用户人格识别
基于大五人格模型进行人格识别,五类人格之间互不排斥,每个人格都是一个二元值:是/否,在设计分类模型时,将多标签分类转换成多个二元分类问题,然后使用多个单标签分类器进行处理;其中单标签分类器选用softmax函数使得每个元素的范围都在(0,1)之间,并且所有元素之和为1;单个标签也是一个二元值,正例标签值为1,负例标签值为0,M应为类别数量class_num=2;其定义如等式(6)所示:
其中,θ(z)a为样本z属于第a个类别的概率;样本z∈RM定义如公式(7)所示,因为softmax函数作为M分类器,输出值θ(z)=(θ(z)1,θ(z)2,...,θ(z)M),最大的概率值确定为最终的输出类别;因此输入值也应该为M维数值,因此将经注意力机制提取后的特征pred∈Rdense3_unit与权重矩阵wc∈Rdense3_unit*M点乘,再加上对应的偏置系数bc∈RM,从而得到z∈RM来满足softmax函数M分类的输入要求;
z=pred·wc+bc (7)
权重矩阵和偏置系数的初始数值取随机值,在训练模型时通过反向传播来自动更新该值;随着wc和bc的改变来调整softmax函数输出概率,从而提高分类精度;其更新规则如公式(8)(9)所示:
wc=wc+Δwc (8)
根据样本z定义,显然有
分类准确率Acc的计算见公式(12),损失函数值loss的计算公式见公式(13);
在实际训练中,是将数据集划分成多个大小为batch_size的批次,采用的是mini-batch_size,设置为几十或者几百且设置成2的幂次;
在公式(8)中TP是一个批次的数据中实际为正例且被分类器划分为正例的个数,TN是实际为负例且被分类器划分为负例的个数;在公式(9)中,θ(z)(u)表示一个批次中第u个样本z的预测值,y(u)表示一个批次中第u样本z的实际标签值,log是对数函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011099735.6A CN112364638B (zh) | 2020-10-13 | 2020-10-13 | 一种基于社交文本的人格识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011099735.6A CN112364638B (zh) | 2020-10-13 | 2020-10-13 | 一种基于社交文本的人格识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112364638A CN112364638A (zh) | 2021-02-12 |
CN112364638B true CN112364638B (zh) | 2022-08-30 |
Family
ID=74506703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011099735.6A Active CN112364638B (zh) | 2020-10-13 | 2020-10-13 | 一种基于社交文本的人格识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112364638B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113268991B (zh) * | 2021-05-19 | 2022-09-23 | 北京邮电大学 | 一种基于cgan模型的用户人格隐私保护方法 |
CN113553911A (zh) * | 2021-06-25 | 2021-10-26 | 复旦大学 | 融合surf特征和卷积神经网络的小样本人脸表情识别方法 |
CN113409823B (zh) * | 2021-06-30 | 2023-03-21 | 平安科技(深圳)有限公司 | 语音情绪识别方法、装置、电子设备及存储介质 |
CN113742772A (zh) * | 2021-08-09 | 2021-12-03 | 北京工业大学 | 一种基于gan的用户人格隐私保护方法 |
CN113705725B (zh) * | 2021-09-15 | 2022-03-25 | 中国矿业大学 | 一种基于多模态信息融合的用户人格特征预测方法和装置 |
CN114331226B (zh) * | 2022-03-08 | 2022-06-24 | 天津联创科技发展有限公司 | 一种企业需求智能诊断方法、系统以及存储介质 |
CN114331230B (zh) * | 2022-03-14 | 2022-06-21 | 天津联创科技发展有限公司 | 一种全链条全流程智能科创服务数据处理方法与系统 |
CN115827856B (zh) * | 2022-07-26 | 2023-06-20 | 国家国防科技工业局军工项目审核中心 | 一种基于计算机的军工领域消息的传递方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108521522A (zh) * | 2018-04-20 | 2018-09-11 | 西北工业大学 | 一种基于多维感知数据的用户人格识别方法 |
CN109409433A (zh) * | 2018-10-31 | 2019-03-01 | 北京邮电大学 | 一种社交网络用户的人格识别系统和方法 |
CN110222262A (zh) * | 2019-05-23 | 2019-09-10 | 国家计算机网络与信息安全管理中心 | 一种利用新闻评论行为的网络用户人格自动识别方法 |
CN110717330A (zh) * | 2019-09-23 | 2020-01-21 | 哈尔滨工程大学 | 基于深度学习的词句级短文本分类方法 |
CN111651593A (zh) * | 2020-05-08 | 2020-09-11 | 河南理工大学 | 基于词向量和字向量混合模型的文本情感分析方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3537345A1 (en) * | 2018-03-06 | 2019-09-11 | Hybris AG | Computer-implemented method, system and computer program product for providing a conversational application interface |
-
2020
- 2020-10-13 CN CN202011099735.6A patent/CN112364638B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108521522A (zh) * | 2018-04-20 | 2018-09-11 | 西北工业大学 | 一种基于多维感知数据的用户人格识别方法 |
CN109409433A (zh) * | 2018-10-31 | 2019-03-01 | 北京邮电大学 | 一种社交网络用户的人格识别系统和方法 |
CN110222262A (zh) * | 2019-05-23 | 2019-09-10 | 国家计算机网络与信息安全管理中心 | 一种利用新闻评论行为的网络用户人格自动识别方法 |
CN110717330A (zh) * | 2019-09-23 | 2020-01-21 | 哈尔滨工程大学 | 基于深度学习的词句级短文本分类方法 |
CN111651593A (zh) * | 2020-05-08 | 2020-09-11 | 河南理工大学 | 基于词向量和字向量混合模型的文本情感分析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112364638A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112364638B (zh) | 一种基于社交文本的人格识别方法 | |
Lu et al. | Transfer learning using computational intelligence: A survey | |
CN109522548A (zh) | 一种基于双向交互神经网络的文本情感分析方法 | |
CN111985247B (zh) | 一种基于多粒度文本特征表示的微博用户兴趣识别方法和系统 | |
CN112001186A (zh) | 一种利用图卷积神经网络和中文句法的情感分类方法 | |
Benzebouchi et al. | Multi-classifier system for authorship verification task using word embeddings | |
CN111078833A (zh) | 一种基于神经网络的文本分类方法 | |
CN112749274A (zh) | 基于注意力机制和干扰词删除的中文文本分类方法 | |
Hamdy et al. | Deep mining of open source software bug repositories | |
Dangi et al. | An efficient model for sentiment analysis using artificial rabbits optimized vector functional link network | |
Af'idah et al. | Long short term memory convolutional neural network for Indonesian sentiment analysis towards touristic destination reviews | |
Sajeevan et al. | An enhanced approach for movie review analysis using deep learning techniques | |
Manalu et al. | Deep learning performance in sentiment analysis | |
Preetham et al. | Comparative Analysis of Research Papers Categorization using LDA and NMF Approaches | |
Pandey et al. | Improving sentiment analysis using hybrid deep learning model | |
Fadel et al. | A comparative study for supervised learning algorithms to analyze sentiment tweets | |
CN117235253A (zh) | 一种基于自然语言处理技术的卡车用户隐性需求挖掘方法 | |
Alvarado et al. | Detecting Disaster Tweets using a Natural Language Processing technique | |
Muzafar et al. | Machine Learning Algorithms for Depression Detection and Their Comparison | |
Aluna et al. | Electronic News Sentiment Analysis Application to New Normal Policy during the Covid-19 Pandemic Using Fasttext and Machine Learning | |
Sejwal et al. | Sentiment Analysis Using Hybrid CNN-LSTM Approach | |
CN110413995B (zh) | 一种基于双向mgu神经网络的关系抽取方法 | |
CN114595324A (zh) | 电网业务数据分域的方法、装置、终端和非暂时性存储介质 | |
Salsabiila et al. | Comparison of Fasttext and Word2Vec Weighting Techniques for Classification of Multiclass Emotions Using the Conv-LSTM Method | |
Crespo-Sanchez et al. | A content spectral-based analysis for authorship verification. |
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 |