CN115577111A - 基于自注意力机制的文本分类方法 - Google Patents
基于自注意力机制的文本分类方法 Download PDFInfo
- Publication number
- CN115577111A CN115577111A CN202211402051.8A CN202211402051A CN115577111A CN 115577111 A CN115577111 A CN 115577111A CN 202211402051 A CN202211402051 A CN 202211402051A CN 115577111 A CN115577111 A CN 115577111A
- Authority
- CN
- China
- Prior art keywords
- text
- word
- data
- self
- output
- 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.)
- Pending
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种自注意力机制的文本分类方法,属于自然语言处理文本分类领域。该方法包括:从互联网获取数据集,按照比例划分为训练集和测试集;利用Glove技术将数据转换为词向量;利用改进的文本分类方法对词向量进行特征提取,得到最优特征向量表示;利用数据集文本分类模型进行训练,得到文本分类预测模型;将测试集输入最佳文本分类预测模型中得到分类预测结果。该方法解决了无法全面的获取单词之间隐藏语义信息的问题,也极大改善了文本分类效果。实验结果验证了所提方法的有效性。
Description
技术领域:
本发明涉及自然语言处理领域,尤其涉及一种基于自注意力机制的文本分类方法。
背景技术:
随着互联网的繁荣发展,社交网络已经成为人们获取信息、发表观点的重要媒介,人们通常从中获取日常所需的信息,而互联网每天新产生的文本数据以指数级增长,这就使得我们需要从大量碎片化的文本数据中快速准确的提取出与用户需求相关的数据信息并精准的对其进行分类,最初的文本分类通过建立专家系统进行工作,但是信息的增长速度过快,这种方法由于过于耗费人力而被机器学习方法和深度学习方法取代。
文本情感分类是电子商务网站、政治趋势分析、在线社交网络等方面最常用的自然语言处理技术之一,随着深度学习在文本分类领域应用的不断成功,近期越来越多的神经网络模型被运用到文本分类的任务中,互联网上的评论大多是短文本信息,难以利用传统的神经网络模型分析其情感倾向,因此需要更深层次的挖掘文本中的隐藏信息及情感词,研究人员不断提出结合多种神经网络结构的模型进行分类任务,而这些模型大多基于循环神经网络(Recurrent Neural Network)和卷积神经网络(Convolutional NeuralNetworks)这两种基础结构,且现有的分类方法达到的效果总是无法全面的获取单词之间的隐藏语义信息。
发明内容:
(一)技术方案
本发明的目的是在一定程度上解决现有情感分析模型对句子中情感词注意程度不足的问题问题。为此,本发明的一个目的在于提出一种基于自注意力机制的文本分类方法,该方法包括以下步骤:
步骤1获取并处理文本数据集,按照一定的比例将处理后的数据集划分为训练集、验证集、测试集;
步骤2利用Glove技术将所述训练集转换为文本特征词向量;
步骤3利用改进的文本分类方法对所述文本特征词向量进行特征提取,其中改进的文本分类方法指结合了密集连接网络结构的双向门控循环单元的网络模型,然后将特征提取层输出的特征结果分别输入到自注意力机制模块和最大池化结构中;
步骤4将步骤3中的拼接特征表示输入到Softmax算法的分类函数,以建立文本分类模型,将测试数据集输入改进的文本分类模型中进行训练,得到文本分类预测模型;
步骤5调整优化改进的文本分类方法的参数,得到预测准确率最高的模型,然后将测试集数据输入到最优模型中。
本发明实施的基于自注意力的文本分类方法,首先基于Glove技术构建共现矩阵、对文本数据进行预训练,基于全局词汇共现的统计信息来学习词向量,从而将统计信息与局部上下文窗口方法的优点都结合起来;通过融合密集连接网络(DenseNet)和双向GRU来深层次提取文本的特征,同时引入自注意力机制赋予句子中不同的词语不同的情感极性权重,使得模型更加关注与情感极性联系较为紧密的关键词,与最大池化的结果结合后输入到Softmax分类器中,有效的提高模型的分类效果。
其包括以下具体步骤:
1数据预处理
如图1的方法流程图所示,方法的第一步是输入数据并进行数据预处理。数据预处理的过程主要是对数据进行标准化,为了保证网络可以良好的收敛,其中每个单词都是由低维向量表示,并根据周围的单词在一个巨大的语料库上进行训练,但是它通过引入共现概率矩阵将语料库的全局特征与局部上下文信息进行了融合步骤
步骤1-1令X为整个数据集的同现矩阵,令Xi,j为单词j与单词i在同一观察窗口中同时出现的频率,Xi表示单词i所在的上下文中单词i与数据集中的其他单词同时出现的总次数。Pi,j是单词j在单词i的上下文中出现的概率。在给定上下文词k的情况下,两个词i和j之间的语义以及语法的相似性由比率ratio(i,j,k)评估,计算公式如下:
其中,如果比率趋近于0,则表明单词k与单词i两者均相关或者都不相关;若比率大于1,则表明单词k与单词i较相关;
步骤1-2将数据集划分为训练集、验证集、测试集,比例为18:1:1。训练集用来训练模型,验证集用来调整模型参数,测试集用来测试模型的最终性能。
步骤1-3对文本数据进行清洗,分词处理;
步骤1-4对分词后的统一句子长度进行设定,若句子长度小于预设固定长度,需要用pad进行填充,反之则需要对句子进行截断。
2预训练阶段
步骤2-1根据语料信息构建一个共现矩阵,该矩阵中的每一个元素分别代表着语料信息中词汇与上下文词特定大小的上下文窗口内共同出现的次数;
步骤2-2在元素中添加了一个衰减函数权值,用于表达语料中不同距离的词汇关联程度不同;
步骤2-3构建Glove模型的目标损失函数来优化训练得到词向量。但是由于无法找到真实标签来表示词向量,采用语料信息种的词汇共同出现在一个窗口中的频数作为真实标签,以词向量点积得到的结果作为预测值来不断训练。其中简化版的损失函数为:
3特征提取阶段
本发明采用密集连接的双向GRU对输入的词向量进行第一步特征提取,然后输入到Self-attention中进行权重分配,最后将两者的输出进行结合。
步骤3-1利用mini-batch方法把步骤2中产生的词向量输入到文本模型中,提取文本词向量的特征;
步骤3-2引入自注意力机制计算特征的权重值;
步骤3-3使用最大池化得到最大特征值,与步骤3-2中的权重值进行融合拼接,得到最终输出向量;
4分类输出模块
构建全连接层,然后将其传送到Softmax分类器进行归一化,预测文本标签y,计算公式如下:
5模型优化模块
步骤5-1加载验证集和测试集数据;
步骤5-2将验证数据通过测试模型提取特征并分类;
步骤5-3将预测标签与真实标签对比,计算验证集准确率;
步骤5-4修改可以设置的参数,在合理范围内进行调试,若有提升再重复相同操作计算准确率,直到达到模型最优结果结束优化调试;
步骤5-5将测试集输入到最优模型中,得到最终的分类结果以及准确率。
本发明还提出一种基于自注意力机制的文本分类方法及系统,相比于当前的文本分类方法,本发明所提出的方法基于自注意力机制计算同一个句子中两个词的关联性,得到权重矩阵,双向GRU单元结构可以同时考虑上下文的相关信息,密集连接网络结构可以实现特征复用,本发明所述系统包括:
训练集获取模块,用于获取包含标签的文本训练集;
词向量转化模块,用于对文本训练集中的文本进行词向量化,将文本训练集中的文本转化为多维的文本特征向量;
文本分类模型训练模块,用密集连接的双向GRU网络模型提取文本的长期依赖关系,用自注意力机制获取文本中句子内部单词之间的关系,最大池化在保留文本特征的同时缩短了训练的时间,提高分类模型的效率;
文本模型优化模块,修改参数对数据集进行验证,直到达到最优效果,保存模型;
测试模块,用训练好的最优模型进行文本分类测试。
(二)有益效果
1.本发明解决了当前文本分类方法无法更好的赋予不同的情感词合适的权重从而影响分类准确率的问题,可以充分的提取数据中的文本信息,弥补了循环神经网络无法并行处理数据的问题;
2.本发明与传统的文本分类方法相比更加有效地提取了对情感分析结果影响更大的特征,本发明提出的基于自注意力机制的文本分类方法,在使用密集连接门控单元充分提取数据特征的同时,采用了注意力池化和最大池化两方面进行降维,这在很大程度上更深层次的提取了文本特征,提升文本情感分类的准确率。
附图说明:
图1是本发明的方法流程图;
图2是本发明的具体执行图;
图3是本发明的系统结构示意图;
图4是本发明与其他文本分类方法在THUCNews数据集上的表现比较图;
图5是本发明与其他文本分类方法在IMDB数据集上的表现比较图。
具体实施方式:
下面结合说明书附图和实施例对本发明作进一步说明。
本实施例提供了一种基于自注意力机制和密集门控循环单元的文本分类方法的具体实例,采用清华NLP组提供的THUCNews新闻文本分类数据集的一个子集进行训练,本次训练使用了其中的10个分类,每个分类6500条,总共65000条新闻数据,类别分别为:体育,财经,房产,家居,教育,科技,时尚,时政,游戏,娱乐。
模型由文本预处理器、特征提取器、特征融合器、文本分类器组成,其中文本预处理器用开源Glove词嵌入模型、公用停用词等对文本数据进行预处理,产生能够作为特征提取器输入的词嵌入矩阵;特征提取器采用了密集连接网络结合双向GRU网络对输入的此嵌入矩阵进行特征提取,生成文本特征矩阵,再将文本特征分别输入到自注意力模块和最大池化模块中,提取句子的最大权重特征,通过融合产生低维的特征融合矩阵作为文本分类器的输入,最后通过Softmax分类器对文本特征矩阵进行分类,输出标签信息,包括以下步骤:
1文本预处理
步骤1-1去除文本中的噪声信息,例如html标签、文本格式转换、检测句子边界等,加载THUCNews文件夹下的data数据文件,加载完成后得到共计20w条新闻标题,文本长度在20-30之间,一共10个类别,每类2万条;
步骤1-2划分训练集、验证集、测试集,按照18:1:1的比例;
步骤1-3对文本数据进行清洗,分词处理;
步骤1-4对分词后的统一句子长度进行设定,若句子长度小于预设固定长度,需要用pad进行填充,反之则需要对句子进行截断;
2利用Glove技术将训练集数据转换为词向量
Glove模型实现过程中,主要分为三个步骤:首先根据语料信息构建一个共现矩阵,该矩阵中的每一个元素分别代表着语料信息中词汇与上下文词特定大小的上下文窗口内共同出现的次数,另外为考虑到全局特征,在元素中添加了一个衰减函数权值,用于表达语料中不同距离的词汇关联程度不同。在得到共现矩阵后,为了进一步构建词向量和共现矩阵之间的近似关系,那么需要构建Glove模型的目标损失函数来优化训练得到词向量。但是由于无法找到真实标签来表示词向量,Glove提出采用语料信息种的词汇共同出现在一个窗口中的频数作为真实标签,以词向量点积得到的结果作为预测值来不断训练。其中,Glove提出简化版的损失函数为:
具体的,X为整个数据集的同现矩阵,令Xij为单词j与单词i在同一观察窗口中同时出现的频率,Xi表示单词i所在的上下文中单词i与数据集中的其他单词同时出现的总次数。pij是单词j在单词i的上下文中出现的概率。在给定上下文词k的情况下,两个词i和j之间的语义以及语法的相似性由比率ratio(i,j,k)评估;
3利用本发明提出的基于自注意力机制文本分类方法进行特征提取,具体步骤如下:
步骤3-1GRU使用门控机制来跟踪序列的状态,而不使用单独的存储器单元。GRU包括两种类型的门:重置门r和更新门z,两者共同控制如何更新信息
h′t=tanh(whxt+rtΘ(Uhht-1)+bh)
重置门rt用来控制如何将新的输入信于前面的记忆相结合
rt=σ(Wrxt+Urht-1+br)
更新门zt用来控制前面记忆保存到当前时间步的量
zt=σ(Wzxt+Uzht-1+bz)
其中,Wh,Wz,Wr,Uz,Uh,Ur表示网络连接的权重矩阵,bz,bh,br为偏置项,σ表示激活函数。
由于在分类过程中需要同时关注上下文的信息内容,本发明中采用的是双向的GRU,双向门控卷积层是以文本序列表示层得到的向量X作为输入,将前者和后者两个上下文分别进行建模为高级特征向量。双向门控卷积层是通过两个模块进行组合得到,分别为双向卷积结构和门控卷积单元。其中双向卷积结构是分别利用前向卷积神经网络和后向卷积神经网络来提取前向和后向的上下文特征信息。对于输入的词嵌入向量在位置i上的前向卷积神经网络实际上仅仅依赖于第i个字符以及先前的字符,在位置f上的后向卷积神经网络依赖于第i个字符以及之后的字符。
具体计算公式如下:
密集连接的双向GRU单元最终的输出如下:
Xl=Hl([h1,h2,…,hl-1])
H=(X1,X2,X3,…,XN)
步骤3-2初始化三个权重矩阵wq,wk,wv,将上一步骤输出的词向量输入到self-attention层,计算句子中每个词向量宇其他词向量的自注意力得分,得分越高说明该词宇另外一个词的关联性越高,其中,Self-attention机制的计算过程如下:
M=tanh(H)
α=Softmax(wTM)
U=HαT
其中wT是一个训练学习的参数转置。
步骤3-3将步骤3-1输出的词向量输入到max-pooling中进行最大池化,计算公式如下:
V=max(vi)
步骤4对向量进行分类以及结果输出
对于文本分类任务,我们把步骤3-3的输出Z作为输出文本S的最终表示,构建全连接层,然后将其传送到Softmax分类器进行归一化,预测文本标签y,计算公式如下:
步骤5通过参数优化对文本分类模型进行优化,得到最佳的模型
加载验证集和测试集数据;将验证数据通过测试模型提取特征并分类;将预测标签与真实标签对比,计算验证集准确率;修改可以设置的参数,在合理范围内进行调试,若有提升再重复相同操作计算准确率,直到达到模型最优结果结束优化调试,其中,可以设置的参数为:dropout,随机失活率,一般定义在0~1之间;num_epochs,epoch数,每次训练的批数;batch_size,mini-batch的大小,pad_size,每句话处理成的长度;learing_rate,学习率等;将测试集输入到最优模型中,得到最终的分类结果以及准确率。
Claims (6)
1.一种基于自注意力机制的文本分类方法,其特征在于该方法包括以下步骤:
步骤1:数据预处理,使用文本预处理器对文本数据进行预处理,以及对数据进行标准化和数据集的划分;
步骤2:使用Glove技术对文本数据进行词嵌入,产生能够作为特征提取器输入的词嵌入矩阵;
步骤3:使用本发明提出的方法,先用密集连接的双向GRU对步骤2输出的词向量进行第一步特征提取,然后输入到自注意力机制模块计算权重,最后将权重值与最大池化的最大特征值两者的结果进行结合作为文本分类器的输入。
步骤4:模型分类输出阶段,将池化层的输出作为最后输出文本的表示,输入到Softmax分类器进行归一操作,预测文本标签。
步骤5通过参数优化对文本分类模型进行优化,得到最佳的模型。
2.根据权利要求1所述的一种基于自注意力机制的文本分类方法,其特征在于,所述步骤1中的数据预处理模块,具体步骤为:
步骤1-1加载THUCNews文件夹下的data数据文件,加载完成后得到共计20w条新闻标题,文本长度在20-30之间,一共10个类别,每类2万条;
步骤1-2划分训练集、验证集、测试集,按照18∶1∶1的比例;
步骤1-3对文本数据进行清洗,分词处理;
步骤1-4对分词后的统一句子长度进行设定,若句子长度小于预设固定长度,需要用pad进行填充,反之则需要对句子进行截断。
4.根据权利要求1所述的一种基于自注意力机制的文本分类方法,其特征在于,所述步骤3中的特征提取模块,具体步骤为:
步骤3-1 GRU使用门控机制来跟踪序列的状态,而不使用单独的存储器单元。GRU包括两种类型的门:重置门r和更新门z,两者共同控制如何更新信息
h′t=tanh(whxt+rtΘ(Uhht-1)+bh)
重置门rt用来控制如何将新的输入信于前面的记忆相结合
rt=σ(Wrxt+Urht-1+br)
更新门zt用来控制前面记忆保存到当前时间步的量
zt=σ(Wzxt+Uzht-1+bz)
其中,Wh,Wz,Wr,Uz,Uh,Ur表示网络连接的权重矩阵,bz,bh,br为偏置项,σ表示激活函数。由于在分类过程中需要同时关注上下文的信息内容,本发明中采用的是双向的GRU,具体计算公式如下:
密集连接的双向GRU单元最终的输出如下:
Xl=Hl([h1,h2,...,hl-1])
H=(X1,X2,X3,...,XN)
步骤3-2将上一步骤输出的词向量输入到self-attention层,计算特征分配的权重值,具体公式如下:
M=tanh(H)
α=Softmax(wTM)
U=HαT
其中wT是一个训练学习的参数转置。
步骤3-3将步骤3-1输出的词向量输入到max-pooling中进行最大池化,使用最大池化得到最大特征值,与步骤3-2中的权重值U进行融合拼接,得到最终输出向量。具体计算过程如下:
V=max(vi)
其中,V表示池化层的输出,U表示自注意力模块的输出,z表示两者融合拼接后的输出。
6.根据权利要求1所述的一种基于自注意力机制的文本分类方法,其特征在于,所述步骤5中的模型优化模块,具体步骤为:
步骤5-1加载验证集和测试集数据;
步骤5-2将验证数据通过测试模型提取特征并分类;
步骤5-3将预测标签与真实标签对比,计算验证集准确率;
步骤5-4修改可以设置的参数,在合理范围内进行调试,若有提升再重复相同操作计算准确率,直到达到模型最优结果结束优化调试;
步骤5-5将测试集输入到最优模型中,得到最终的分类结果以及准确率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211402051.8A CN115577111A (zh) | 2022-11-09 | 2022-11-09 | 基于自注意力机制的文本分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211402051.8A CN115577111A (zh) | 2022-11-09 | 2022-11-09 | 基于自注意力机制的文本分类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115577111A true CN115577111A (zh) | 2023-01-06 |
Family
ID=84588088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211402051.8A Pending CN115577111A (zh) | 2022-11-09 | 2022-11-09 | 基于自注意力机制的文本分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115577111A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353300A (zh) * | 2020-02-14 | 2020-06-30 | 中科天玑数据科技股份有限公司 | 一种数据集构建和相关信息获取方法及其装置 |
-
2022
- 2022-11-09 CN CN202211402051.8A patent/CN115577111A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353300A (zh) * | 2020-02-14 | 2020-06-30 | 中科天玑数据科技股份有限公司 | 一种数据集构建和相关信息获取方法及其装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110929030B (zh) | 一种文本摘要和情感分类联合训练方法 | |
CN108595632B (zh) | 一种融合摘要与主体特征的混合神经网络文本分类方法 | |
CN108984724B (zh) | 利用高维表示提高特定属性情感分类准确率方法 | |
CN107609009B (zh) | 文本情感分析方法、装置、存储介质和计算机设备 | |
CN111626063B (zh) | 一种基于投影梯度下降和标签平滑的文本意图识别方法及系统 | |
CN111414461B (zh) | 一种融合知识库与用户建模的智能问答方法及系统 | |
CN112487807B (zh) | 一种基于膨胀门卷积神经网络的文本关系抽取方法 | |
CN113239700A (zh) | 改进bert的文本语义匹配设备、系统、方法及存储介质 | |
CN109472024A (zh) | 一种基于双向循环注意力神经网络的文本分类方法 | |
CN112926303B (zh) | 一种基于BERT-BiGRU的恶意URL检测方法 | |
CN110222163A (zh) | 一种融合cnn与双向lstm的智能问答方法及系统 | |
CN112732916B (zh) | 一种基于bert的多特征融合模糊文本分类系统 | |
CN110287323B (zh) | 一种面向目标的情感分类方法 | |
CN108829662A (zh) | 一种基于条件随机场结构化注意力网络的对话行为识别方法及系统 | |
CN113626589B (zh) | 一种基于混合注意力机制的多标签文本分类方法 | |
CN112749274B (zh) | 基于注意力机制和干扰词删除的中文文本分类方法 | |
CN111984791B (zh) | 一种基于注意力机制的长文分类方法 | |
CN106682089A (zh) | 一种基于RNNs的短信自动安全审核的方法 | |
CN111078833A (zh) | 一种基于神经网络的文本分类方法 | |
CN110717330A (zh) | 基于深度学习的词句级短文本分类方法 | |
CN110276396B (zh) | 基于物体显著性和跨模态融合特征的图片描述生成方法 | |
CN113255366B (zh) | 一种基于异构图神经网络的方面级文本情感分析方法 | |
CN112527966A (zh) | 基于Bi-GRU神经网络和自注意力机制的网络文本情感分析方法 | |
CN115952292B (zh) | 多标签分类方法、装置及计算机可读介质 | |
CN113094502A (zh) | 一种多粒度外卖用户评论情感分析方法 |
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 |