CN114860930A - 一种文本分类方法、装置以及存储介质 - Google Patents
一种文本分类方法、装置以及存储介质 Download PDFInfo
- Publication number
- CN114860930A CN114860930A CN202210441429.9A CN202210441429A CN114860930A CN 114860930 A CN114860930 A CN 114860930A CN 202210441429 A CN202210441429 A CN 202210441429A CN 114860930 A CN114860930 A CN 114860930A
- Authority
- CN
- China
- Prior art keywords
- word
- training
- vector
- feature
- matrix
- 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/237—Lexical tools
- G06F40/242—Dictionaries
-
- 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/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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/048—Activation functions
-
- 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 Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明提供一种文本分类方法、装置以及存储介质,属于文本分类领域,方法包括:S1:对多个原始文本数据进行划分得到训练集和测试集;S2:分别对训练集和测试集进行数据预处理得到多个单词训练矩阵以及多个单词测试矩阵;S3:分别对各个单词训练矩阵进行向量化处理得到词向量矩阵;S4:构建训练模型,根据多个词向量矩阵对训练模型进行训练得到待测试模型;S5:根据多个单词测试矩阵对待测试模型进行测试得到分类模型;S6:导入待分类文本数据,通过分类模型对待分类文本数据进行分类得到分类结果。本发明能够突出文本中的关键信息,同时增强文本上下文语义信息,更准确的表示文本语义,从而提高了文本分类的准确度。
Description
技术领域
本发明主要涉及文本分类技术领域,具体涉及一种文本分类方法、装置以及存储介质。
背景技术
在如今信息海量的大数据时代,如何从海量文本中获取目标文本是一个非常重要且有挑战性的问题。文本分类是目前自然语言处理的一个热点问题,在情感分析、主题分类、问答匹配等方面有着广泛应用。而中文文本存在语义模糊、特征稀疏、高维度的问题,因此,传统的文本分类方法因常常依赖于人工设计的特征导致分类效果不佳。
近年来涌现出大量基于深度学习的文本分类模型,在各种分类任务上的准确度和精度都超过了传统机器学习方法。而基于深度学习的文本分类方法大多针对单一的模型结构进行研究,这种单一的结构缺乏同时捕获并利用全局语义特征和局部语义特征的能力,从而降低了文本分类的准确度。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种文本分类方法、装置以及存储介质。
本发明解决上述技术问题的技术方案如下:一种文本分类方法,包括如下步骤:
S1:导入多个原始文本数据,并对多个所述原始文本数据进行划分,得到训练集和测试集;
S2:分别对所述训练集和所述测试集进行数据预处理,得到与所述训练集对应的多个单词训练矩阵以及与所述测试集对应的多个单词测试矩阵;
S3:分别对各个所述单词训练矩阵进行向量化处理,得到与各个所述单词训练矩阵对应的词向量矩阵;
S4:构建训练模型,根据多个所述词向量矩阵对所述训练模型进行训练,得到待测试模型;
S5:根据多个所述单词测试矩阵对所述待测试模型进行测试,得到分类模型;
S6:导入待分类文本数据,通过所述分类模型对所述待分类文本数据进行分类,得到分类结果。
本发明解决上述技术问题的另一技术方案如下:一种文本分类装置,包括:
数据划分模块,用于导入多个原始文本数据,并对多个所述原始文本数据进行划分,得到训练集和测试集;
数据预处理模块,用于分别对所述训练集和所述测试集进行数据预处理,得到与所述训练集对应的多个单词训练矩阵以及与所述测试集对应的多个单词测试矩阵;
向量化处理模块,用于分别对各个所述单词训练矩阵进行向量化处理,得到与各个所述单词训练矩阵对应的词向量矩阵;
模型训练模块,用于构建训练模型,根据多个所述词向量矩阵对所述训练模型进行训练,得到待测试模型;
模型测试模块,用于根据多个所述单词测试矩阵对所述待测试模型进行测试,得到分类模型;
分类结果获得模块,用于导入待分类文本数据,通过所述分类模型对所述待分类文本数据进行分类,得到分类结果。
本发明解决上述技术问题的另一技术方案如下:一种文本分类装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,实现如上所述的文本分类方法。
本发明解决上述技术问题的另一技术方案如下:一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的文本分类方法。
本发明的有益效果是:通过对多个原始文本数据的划分得到训练集和测试集,分别对训练集和测试集的数据预处理得到多个单词训练矩阵以及单词测试矩阵,分别对各个单词训练矩阵的向量化处理得到词向量矩阵,通过多个词向量矩阵对训练模型的训练得到待测试模型,通过多个单词测试矩阵对待测试模型的测试得到分类模型,通过分类模型对待分类文本数据的分类得到分类结果,能够突出文本中的关键信息,同时增强文本上下文语义信息,更准确的表示文本语义,从而提高了文本分类的准确度。
附图说明
图1为本发明实施例提供的一种文本分类方法的流程示意图;
图2为本发明实施例提供的一种文本分类装置的模块框图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图1为本发明实施例提供的一种文本分类方法的流程示意图。
如图1所示,一种文本分类方法,包括如下步骤:
S1:导入多个原始文本数据,并对多个所述原始文本数据进行划分,得到训练集和测试集;
S2:分别对所述训练集和所述测试集进行数据预处理,得到与所述训练集对应的多个单词训练矩阵以及与所述测试集对应的多个单词测试矩阵;
S3:分别对各个所述单词训练矩阵进行向量化处理,得到与各个所述单词训练矩阵对应的词向量矩阵;
S4:构建训练模型,根据多个所述词向量矩阵对所述训练模型进行训练,得到待测试模型;
S5:根据多个所述单词测试矩阵对所述待测试模型进行测试,得到分类模型;
S6:导入待分类文本数据,通过所述分类模型对所述待分类文本数据进行分类,得到分类结果。
应理解地,建立分类文本语料库,将80%文本(即所述原始文本数据) 作为训练集,20%文本(即所述原始文本数据)作为测试集。
上述实施例中,通过对多个原始文本数据的划分得到训练集和测试集,分别对训练集和测试集的数据预处理得到多个单词训练矩阵以及单词测试矩阵,分别对各个单词训练矩阵的向量化处理得到词向量矩阵,通过多个词向量矩阵对训练模型的训练得到待测试模型,通过多个单词测试矩阵对待测试模型的测试得到分类模型,通过分类模型对待分类文本数据的分类得到分类结果,能够突出文本中的关键信息,同时增强文本上下文语义信息,更准确的表示文本语义,从而提高了文本分类的准确度。
可选地,作为本发明的一个实施例,所述训练集包括多个原始文本训练数据,所述测试集包括多个原始文本测试数据,所述步骤S2的过程包括:
利用python工具分别对各个所述原始文本训练数据以及各个所述原始文本测试数据进行分词处理,得到与各个所述原始文本训练数据对应的多个待筛选单词训练数据以及与各个所述原始文本测试数据对应的多个待筛选单词测试数据;
利用所述python工具分别对各个所述待筛选单词训练数据以及各个所述待筛选单词测试数据进行停用词的筛选,得到与各个所述原始文本训练数据对应的多个单词训练数据以及与各个所述原始文本测试数据对应的多个单词测试数据,并根据多个所述单词训练数据得到与各个所述原始文本训练数据对应的单词训练矩阵,并根据多个所述单词测试数据得到与各个所述原始文本测试数据对应的单词测试矩阵。
应理解地,利用所述python工具中的Jieba自然语言处理分词库进行分词处理以及停用词的筛选。
应理解地,Jieba中文分词组件能够快速的将句子中所有的可以成词的词语都扫描出来,同时试图将句子最精准地切开,尤其对于长词可以进行再次切分,词语切分准确度较高。
应理解地,对输入文本(即所述原始文本训练数据或者所述原始文本测试数据)进行数据预处理。
应理解地,使用中文分词器(如python中的Jieba自然语言处理分词库)对文本(即所述原始文本训练数据或者所述原始文本测试数据)进行分词,即将一个汉字序列(句子)切分成一个个独立的单词(即所述待筛选单词训练数据或者所述待筛选单词测试数据)并保存起来。
具体地,使用中文分词器(如python中的Jieba自然语言处理分词库) 正常分词后,建立停用词词典,即需要去除的词的集合,然后在分词结果(即所述待筛选单词训练数据或者所述待筛选单词测试数据)中取出停用词,将剩下的词(即所述单词训练数据或者所述单词测试数据)保存起来。其中停用词主要包括一些无意义的副词、形容词、连接词,如“的”“呢”等。
上述实施例中,分别对训练集和测试集的数据预处理得到多个单词训练矩阵以及多个单词测试矩阵,为后续的数据处理提供精准的数据,能够更准确的表示文本语义,从而提升了文本分类的准确度。
可选地,作为本发明的一个实施例,所述S3的过程包括:
通过预设语言模型分别对各个所述单词训练矩阵进行向量化处理,得到与各个所述单词训练矩阵对应的词向量矩阵。
应理解地,所述预设语言模型可以为BERT,BERT即双向Transformer 的编码器,BERT是2018年10月由Google AI研究院提出的一种预训练模型。 BERT的全称是Bidirectional Encoder Representation from Transformers。BERT在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩:全部两个衡量指标上全面超越人类,并且在11种不同NLP测试中创出SOTA表现,包括将GLUE基准推高至80.4%(绝对改进7.6%),MultiNLI准确度达到86.7% (绝对改进5.6%),成为NLP发展史上的里程碑式的模型成就,BERT是第一个用在预训练自然语言任务上的无监督的、深度双向系统,它利用了注意力机制来提高模型训练速度。
应理解地,将预处理后的文本(即所述单词训练矩阵)进行向量化表示。
应理解地,向预训练语言模型(即所述预设语言模型)中输入一个文本 (即所述单词训练矩阵),输出得到文本的n×d维词向量矩阵。其中n代表文本的实际长度,d代表词向量维度。
上述实施例中,通过预设语言模型分别对各个单词训练矩阵的向量化处理得到词向量矩阵,为后续模型训练提供数据支撑,能够更准确的表示文本语义,从而提升了文本分类的准确度。
可选地,作为本发明的一个实施例,所述训练模型包括卷积神经网络和双向循环神经网络,所述步骤S4的过程包括:
通过所述卷积神经网络分别对各个所述词向量矩阵进行特征提取分析,得到与各个所述词向量矩阵对应的局部特征向量;
通过所述双向循环神经网络分别对各个所述词向量矩阵进行目标隐藏层状态向量的计算,得到与各个所述词向量矩阵对应的多个目标隐藏层状态向量;
通过第一式分别对与各个所述词向量矩阵对应的多个目标隐藏层状态向量进行上下文语义向量的计算,得到与各个所述词向量矩阵对应的上下文语义向量,所述第一式为:
其中,ut=tanh(Wwht+bw),
其中,Fglobal为上下文语义向量,at为第t时刻单词归一化权重,ht为第 t时刻的目标隐藏层状态向量,uw为词级上下文向量,ut为第t时刻单词词向量,为ut的转置,Ww为可训练参数,bw为偏置项;
分别对各个所述上下文语义向量进行句子语义特征的计算,得到与各个所述词向量矩阵对应的句子语义特征向量;
通过第二式分别对各个所述局部特征向量以及与各个所述词向量矩阵对应的句子语义特征向量进行拼接,得到与各个所述词向量矩阵对应的全局语义特征向量,所述第二式为:
其中,Fglobal为句子语义特征向量,Flocal为局部特征向量,F'为全局语义特征向量;
通过第三式分别对各个所述全局语义特征向量进行预测,得到与各个所述词向量矩阵对应的类别预测概率,所述第三式为;
p=softmax(WgF'+bg),
其中,p为类别预测概率,Wg为可训练权重,F'为全局语义特征向量,bg为偏置项;
导入多个与所述原始文本训练数据对应的真实标签,对所有的类别预测概率和所有的真实标签进行损失值分析,得到待测试模型。
应理解地,引入注意力机制可以很好地衡量每个词对文本分类任务的贡献程度,从整个句子中选择出对当前任务目标更关键的信息,能够很好的提升模型效果。
具体地,将双向循环神经网络ht作为文本的句子语义特征表示(即所述目标隐藏层状态向量),并将其作为注意力机制层的输入。引入注意力机制可以很好地衡量每个词对文本分类任务的贡献程度,从整个句子中选择出对当前任务目标更关键的信息,能够很好的提升模型效果。注意力机制为每个单词表示向量分配一个权重,最后通过加权求和的方式得到文本的句子语义特征表示Fglobal(即所述上下文语义向量)。Fglobal计算过程为式(1)-(3),所述式(1)为ut=tanh(Wwht+bw),
应理解地,将注意力机制层(改成中文含义解释作用)输出的文本的句子语义特征向量Fglobal(即所述句子语义特征向量)和卷积神经网络层输出的关键词语义特征向量Flocal(即所述局部特征向量)拼接起来得到一个新的全局语义特征向量F',计算过程如下式:
应理解地,根据下式将拼接后得到的全局语义特征向量F'作用于softmax分类器,得到类别预测概率p。下式为:
p=softmax(WgF'+bg),
其中,Wg为可训练权重,bg为偏置项。
具体地,将得到的词向量(即所述词向量矩阵)分别输入到所述卷积神经网络和所述双向循环神经网络,分别生成关键字符特征向量(即所述局部特征向量)和融合上下文语义信息的句子特征向量(即所述上下文语义向量);将句子特征向量(即所述上下文语义向量)输入到注意力机制层为每个词分配不同权重;将关键字符特征向量(即所述局部特征向量)和句子特征向量 (即所述句子语义特征向量)拼接成一个全局特征向量(即所述全局语义特征向量),对拼接后得到的全局特征向量(即所述全局语义特征向量)利用 softmax函数得到预测概率(即所述类别预测概率),然后利用交叉熵损失函数计算真实值(即所述真实标签)与预测值(即所述类别预测概率)的损失,将损失最小化从而完成文本分类模型(即所述待测试模型)的训练。
上述实施例中,构建训练模型,根据多个词向量矩阵对训练模型进行训练得到待测试模型,能够突出文本中的关键信息,增强文本上下文语义信息,且融合了多特征语义表示,能够更准确的表示文本语义,从而提升了文本分类的准确度。
可选地,作为本发明的一个实施例,
所述卷积神经网络包括第一卷积核、第二卷积核、第三卷积核和第四卷积核,
所述通过所述卷积神经网络分别对各个所述词向量矩阵进行特征提取分析,得到与各个所述词向量矩阵对应的局部特征向量的过程包括:
通过所述第一卷积核分别对各个所述词向量矩阵进行第一次特征提取,得到与各个所述词向量矩阵对应的第一特征图;
通过所述第二卷积核分别对各个所述词向量矩阵进行第二次特征提取,得到与各个所述词向量矩阵对应的第二特征图;
通过所述第三卷积核分别对各个所述词向量矩阵进行第三次特征提取,得到与各个所述词向量矩阵对应的第三特征图;
通过所述第四卷积核分别对各个所述词向量矩阵进行第四次特征提取,得到与各个所述词向量矩阵对应的第四特征图;
分别对各个所述第一特征图进行第一特征图的特征筛选,得到与各个所述词向量矩阵对应的筛选后第一特征图;
分别对各个所述第二特征图进行第二特征图的特征筛选,得到与各个所述词向量矩阵对应的筛选后第二特征图;
分别对各个所述第三特征图进行第三特征图的特征筛选,得到与各个所述词向量矩阵对应的筛选后第三特征图;
分别对各个所述第四特征图进行第四特征图的特征筛选,得到与各个所述词向量矩阵对应的筛选后第四特征图;
分别对各个所述筛选后第一特征图、与各个所述词向量矩阵对应的筛选后第二特征图、与各个所述词向量矩阵对应的筛选后第三特征图以及与各个所述词向量矩阵对应的筛选后第四特征图进行特征融合,得到与各个所述词向量矩阵对应的局部特征向量。
应理解地,所述第一卷积核可以为窗口大小为1的一维卷积核,所述第二卷积核可以为窗口大小为2的一维卷积核,所述第三卷积核可以为窗口大小为3的一维卷积核,所述第四卷积核可以为窗口大小为4的一维卷积核.
应理解地,所述卷积神经网络的核心思想是捕捉局部特征,文本的局部特征由若干单词组成,卷积神经网络的优势在于能够自动地对特征进行组合和筛选,从而获得不同抽象层次的语义信息。
具体地,从预训练语言模型(即所述预设语言模型)的输出中获得文本的矩阵表示(即所述词向量矩阵),将其作为卷积神经网络层的输入。使用窗口大小分别为1,2,3,4的一维卷积核(即所述第一卷积核、所述第二卷积核、所述第三卷积核和所述第四卷积核)对文本的所述词向量矩阵进行卷积,以获得不同粒度大小的特征图(即所述第一特征图、所述第二特征图、所述第三特征图和所述第四特征图),然后对各个特征图(即所述第一特征图、所述第二特征图、所述第三特征图和所述第四特征图)使用最大池化操作进行特征筛选,最后采用拼接的方式将不同粒度筛选出来的特征(即所述筛选后第一特征图、所述筛选后第二特征图、所述筛选后第三特征图和所述筛选后第四特征图)融合为一个一维向量Flocal(即所述局部特征向量),并将该向量作为最终的局部特征表示(即所述局部特征向量)。若用h表示窗口大小,则特征图(即所述第一特征图、所述第二特征图、所述第三特征图和所述第四特征图)可以表示为:
C=[c1,c2,...,c(n+1)-h+1],
特征图(即所述第一特征图、所述第二特征图、所述第三特征图和所述第四特征图)中的每个元素ci都是通过下式计算得到的,下式为:
ci=f(Wc*Wi:i+h-1+bc)。
其中,f表示激活函数,Wc∈Rh×d表示卷积核,*表示元素方式的乘积计算,bc表示偏置项,h∈{1,2,3,4}表示窗口大小,i:i+h-1表示从文本的词向量矩阵的第i行到第i+h-1行,i的取值范围是[1,n-h+2]。
上述实施例中,通过卷积神经网络分别对各个词向量矩阵的特征提取分析得到局部特征向量,能够自动地对特征进行组合和筛选,从而获得不同抽象层次的语义信息。
可选地,作为本发明的一个实施例,所述通过所述双向循环神经网络分别对各个所述词向量矩阵进行目标隐藏层状态向量的计算,得到与各个所述词向量矩阵对应的多个目标隐藏层状态向量的过程包括:
导入初始前向隐藏层状态向量和初始后向隐藏层状态向量,通过第四式分别对所述初始前向隐藏层状态向量、所述初始后向隐藏层状态向量以及各个所述词向量矩阵进行目标隐藏层状态向量的计算,得到与各个所述词向量矩阵对应的多个目标隐藏层状态向量,所述第四式为:
其中,rt=ot*tanh(ct),lt=o't*tanh(c't),
其中,ot=σ(Wo·[rt-1,et]+bo), ct=ft*ct-1+it*tanh(Wc·[rt-1,et]+bc),o't=σ(Wo·[lt-1,et]+bo), c't=f't*c't-1+i't*tanh(Wc·[lt-1,et]+bc),
其中,ft=σ(Wf·[rt-1,et]+bf),it=σ(Wi·[rt-1,et]+bi), f't=σ(Wf·[lt-1,et]+bf),i't=σ(Wi·[lt-1,et]+bi),
其中,ht为第t时刻的目标隐藏层状态向量,rt为第t时刻的前向隐藏层状态向量,lt为第t时刻的后向隐藏层状态向量,ot为第t时刻的前向输出门, ct为第t时刻的前向状态向量,ct-1为第t-1时刻的前向状态向量,tanh为双曲正切函数,*为元素方式的乘积运算,o't为第t时刻的后向输出门,c't为第t时刻的后向状态向量,c't-1为第t-1时刻的后向状态向量,σ为sigmoid 激活函数,Wo、Wc、Wf和Wi均为权重矩阵,bo、bc、bf和bi均为偏置项, et为第t时刻的词向量矩阵,rt-1为第t-1时刻的前向隐藏层状态向量,r0为初始前向隐藏层状态向量,lt-1为第t-1时刻的后向隐藏层状态向量,l0为初始后向隐藏层状态向量,ft为第t时刻的前向遗忘门,it为第t时刻的前向输入门,f't第t时刻的后向遗忘门,i't为第t时刻的后向输入门,·为点乘。
应理解地,所述双向循环神经网络擅长捕获更长的语义信息,能够更好的表达上下文语义信息,同时,双向循环神经网络解决了普通的神经网络在处理较长文本时出现的梯度消失的问题。
应理解地,从预训练语言模型(即所述预设语言模型)的输出中获得文本的矩阵表示(即所述词向量矩阵),将其作为所述双向循环神经网络层的输入。
具体地,所述双向循环神经网络使用前向和后向的循环神经网络来获得第t时刻前向隐藏层状态向量rt(即所述第t时刻的前向隐藏层状态向量)和后向隐藏层状态lt(即所述第t时刻的后向隐藏层状态向量),并按式(1) 将rt和lt拼接起来作为最终隐藏层状态向量ht(即所述目标隐藏层状态向量), ht可以作为第t时刻对应单词的上下文向量表示(即所述目标隐藏层状态向量)。所述式(1)为:
前向循环神经网络隐藏层状态向量rt(即所述第t时刻的前向隐藏层状态向量)的计算过程为式(4)-式(8)。
所述式(4)为it=σ(Wi·[rt-1,et]+bi),
所述式(5)为ft=σ(Wf·[rt-1,et]+bf),
所述式(6)为ot=σ(Wo·[rt-1,et]+bo),
所述式(7)为ct=ft*ct-1+it*tanh(Wc·[rt-1,et]+bc),
所述式(8)为rt=ot*tanh(ct)。
其中,it是输入门,ft是遗忘门,ot是输出门,rt-1表示第t-1时刻的前向隐藏层状态向量,et是嵌入层(即预训练语言模型)第t个位置的输出向量(即所述第t时刻的词向量矩阵),σ是sigmoid激活函数,w是权重矩阵,b是偏置项,tanh是双曲正切函数,*是元素方式的乘积运算,ct是状态向量,ct与输出门共同决定最后输出。
后向循环神经网络隐藏层状态向量lt(即所述第t时刻的后向隐藏层状态向量)的计算过程为式(9)-式(13)。
所述式(9)为i't=σ(Wi·[lt-1,et]+bi),
所述式(10)为f't=σ(Wf·[lt-1,et]+bf),
所述式(11)为o't=σ(Wo·[lt-1,et]+bo),
所述式(12)为c't=f't*c't-1+i't*tanh(Wc·[lt-1,et]+bc),
所述式(13)为lt=o't*tanh(c't)。
其中,i't是输入门,f't是遗忘门,o't是输出门,lt-1表示第t-1时刻的后向隐藏层状态向量,et是嵌入层(即预训练语言模型)第t个位置的输出向量(即所述第t时刻的词向量矩阵),σ是sigmoid激活函数,w是权重矩阵, b是偏置项,tanh是双曲正切函数,*是元素方式的乘积运算,c't是状态向量,c't与输出门共同决定最后输出。
上述实施例中,通过双向循环神经网络分别对各个词向量矩阵的目标隐藏层状态向量计算得到多个目标隐藏层状态向量,捕获了更长的语义信息,能够更好的表达上下文语义信息,也解决了普通的神经网络在处理较长文本时出现的梯度消失的问题。
可选地,作为本发明的一个实施例,所述对所有的类别预测概率和所有的真实标签进行损失值分析,得到待测试模型的过程包括:
通过第五式对所有的类别预测概率和所有的真实标签进行损失值的计算,得到损失值,所述第五式为:
根据所述损失值对所述训练模型进行参数更新,参数更新后返回步骤S1,直至达到预设迭代次数,并将参数更新后的训练模型作为待测试模型。
应理解地,根据下式将交叉熵损失函数作为模型训练的目标函数。下式为:
其中,N为训练样本数,C为类别数,q为样本的真实标签。
将预测值(即所述类别预测概率)和对应的样本真实值(即所述真实标签)进行对比计算得到损失值,并通过反向传播机制和梯度下降法不断迭代地更新所述步骤S1至S4所有的可学习参数使所述损失值最小,最终完成整个模型的训练。
上述实施例中,对所有的类别预测概率和所有的真实标签的损失值分析得到待测试模型,能够突出文本中的关键信息,同时增强文本上下文语义信息,更准确的表示文本语义,从而提高了文本分类的准确度。
图2为本发明实施例提供的一种文本分类装置的模块框图。
可选地,作为本发明的另一个实施例,如图2所示,一种文本分类装置,包括:
数据划分模块,用于导入多个原始文本数据,并对多个所述原始文本数据进行划分,得到训练集和测试集;
数据预处理模块,用于分别对所述训练集和所述测试集进行数据预处理,得到与所述训练集对应的多个单词训练矩阵以及与所述测试集对应的多个单词测试矩阵;
向量化处理模块,用于分别对各个所述单词训练矩阵进行向量化处理,得到与各个所述单词训练矩阵对应的词向量矩阵;
模型训练模块,用于构建训练模型,根据多个所述词向量矩阵对所述训练模型进行训练,得到待测试模型;
模型测试模块,用于根据多个所述单词测试矩阵对所述待测试模型进行测试,得到分类模型;
分类结果获得模块,用于导入待分类文本数据,通过所述分类模型对所述待分类文本数据进行分类,得到分类结果。
可选地,本发明的另一个实施例提供一种文本分类装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,实现如上所述的文本分类方法。该装置可为计算机等装置。
可选地,本发明的另一个实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的文本分类方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种文本分类方法,其特征在于,包括如下步骤:
S1:导入多个原始文本数据,并对多个所述原始文本数据进行划分,得到训练集和测试集;
S2:分别对所述训练集和所述测试集进行数据预处理,得到与所述训练集对应的多个单词训练矩阵以及与所述测试集对应的多个单词测试矩阵;
S3:分别对各个所述单词训练矩阵进行向量化处理,得到与各个所述单词训练矩阵对应的词向量矩阵;
S4:构建训练模型,根据多个所述词向量矩阵对所述训练模型进行训练,得到待测试模型;
S5:根据多个所述单词测试矩阵对所述待测试模型进行测试,得到分类模型;
S6:导入待分类文本数据,通过所述分类模型对所述待分类文本数据进行分类,得到分类结果。
2.根据权利要求1所述的文本分类方法,其特征在于,所述训练集包括多个原始文本训练数据,所述测试集包括多个原始文本测试数据,所述步骤S2的过程包括:
利用python工具分别对各个所述原始文本训练数据以及各个所述原始文本测试数据进行分词处理,得到与各个所述原始文本训练数据对应的多个待筛选单词训练数据以及与各个所述原始文本测试数据对应的多个待筛选单词测试数据;
利用所述python工具分别对各个所述待筛选单词训练数据以及各个所述待筛选单词测试数据进行停用词的筛选,得到与各个所述原始文本训练数据对应的多个单词训练数据以及与各个所述原始文本测试数据对应的多个单词测试数据,并根据多个所述单词训练数据得到与各个所述原始文本训练数据对应的单词训练矩阵,并根据多个所述单词测试数据得到与各个所述原始文本测试数据对应的单词测试矩阵。
3.根据权利要求1所述的文本分类方法,其特征在于,所述S3的过程包括:
通过预设语言模型分别对各个所述单词训练矩阵进行向量化处理,得到与各个所述单词训练矩阵对应的词向量矩阵。
4.根据权利要求2所述的文本分类方法,其特征在于,所述训练模型包括卷积神经网络和双向循环神经网络,所述步骤S4的过程包括:
通过所述卷积神经网络分别对各个所述词向量矩阵进行特征提取分析,得到与各个所述词向量矩阵对应的局部特征向量;
通过所述双向循环神经网络分别对各个所述词向量矩阵进行目标隐藏层状态向量的计算,得到与各个所述词向量矩阵对应的多个目标隐藏层状态向量;
通过第一式分别对与各个所述词向量矩阵对应的多个目标隐藏层状态向量进行上下文语义向量的计算,得到与各个所述词向量矩阵对应的上下文语义向量,所述第一式为:
其中,ut=tanh(Wwht+bw),
分别对各个所述上下文语义向量进行句子语义特征的计算,得到与各个所述词向量矩阵对应的句子语义特征向量;
通过第二式分别对各个所述局部特征向量以及与各个所述词向量矩阵对应的句子语义特征向量进行拼接,得到与各个所述词向量矩阵对应的全局语义特征向量,所述第二式为:
其中,Fglobal为句子语义特征向量,Flocal为局部特征向量,F'为全局语义特征向量;
通过第三式分别对各个所述全局语义特征向量进行预测,得到与各个所述词向量矩阵对应的类别预测概率,所述第三式为;
p=softmax(WgF'+bg),
其中,p为类别预测概率,Wg为可训练权重,F'为全局语义特征向量,bg为偏置项;
导入多个与所述原始文本训练数据对应的真实标签,对所有的类别预测概率和所有的真实标签进行损失值分析,得到待测试模型。
5.根据权利要求4所述的文本分类方法,其特征在于,所述卷积神经网络包括第一卷积核、第二卷积核、第三卷积核和第四卷积核,
所述通过所述卷积神经网络分别对各个所述词向量矩阵进行特征提取分析,得到与各个所述词向量矩阵对应的局部特征向量的过程包括:
通过所述第一卷积核分别对各个所述词向量矩阵进行第一次特征提取,得到与各个所述词向量矩阵对应的第一特征图;
通过所述第二卷积核分别对各个所述词向量矩阵进行第二次特征提取,得到与各个所述词向量矩阵对应的第二特征图;
通过所述第三卷积核分别对各个所述词向量矩阵进行第三次特征提取,得到与各个所述词向量矩阵对应的第三特征图;
通过所述第四卷积核分别对各个所述词向量矩阵进行第四次特征提取,得到与各个所述词向量矩阵对应的第四特征图;
分别对各个所述第一特征图进行第一特征图的特征筛选,得到与各个所述词向量矩阵对应的筛选后第一特征图;
分别对各个所述第二特征图进行第二特征图的特征筛选,得到与各个所述词向量矩阵对应的筛选后第二特征图;
分别对各个所述第三特征图进行第三特征图的特征筛选,得到与各个所述词向量矩阵对应的筛选后第三特征图;
分别对各个所述第四特征图进行第四特征图的特征筛选,得到与各个所述词向量矩阵对应的筛选后第四特征图;
分别对各个所述筛选后第一特征图、与各个所述词向量矩阵对应的筛选后第二特征图、与各个所述词向量矩阵对应的筛选后第三特征图以及与各个所述词向量矩阵对应的筛选后第四特征图进行特征融合,得到与各个所述词向量矩阵对应的局部特征向量。
6.根据权利要求4所述的文本分类方法,其特征在于,所述通过所述双向循环神经网络分别对各个所述词向量矩阵进行目标隐藏层状态向量的计算,得到与各个所述词向量矩阵对应的多个目标隐藏层状态向量的过程包括:
导入初始前向隐藏层状态向量和初始后向隐藏层状态向量,通过第四式分别对所述初始前向隐藏层状态向量、所述初始后向隐藏层状态向量以及各个所述词向量矩阵进行目标隐藏层状态向量的计算,得到与各个所述词向量矩阵对应的多个目标隐藏层状态向量,所述第四式为:
其中,rt=ot*tanh(ct),lt=o't*tanh(c't),
其中,ot=σ(Wo·[rt-1,et]+bo),ct=ft*ct-1+it*tanh(Wc·[rt-1,et]+bc),o't=σ(Wo·[lt-1,et]+bo),c't=f't*c't-1+i't*tanh(Wc·[lt-1,et]+bc),
其中,ft=σ(Wf·[rt-1,et]+bf),it=σ(Wi·[rt-1,et]+bi),f't=σ(Wf·[lt-1,et]+bf),i't=σ(Wi·[lt-1,et]+bi),
其中,ht为第t时刻的目标隐藏层状态向量,rt为第t时刻的前向隐藏层状态向量,lt为第t时刻的后向隐藏层状态向量,ot为第t时刻的前向输出门,ct为第t时刻的前向状态向量,ct-1为第t-1时刻的前向状态向量,tanh为双曲正切函数,*为元素方式的乘积运算,o't为第t时刻的后向输出门,c't为第t时刻的后向状态向量,c't-1为第t-1时刻的后向状态向量,σ为sigmoid激活函数,Wo、Wc、Wf和Wi均为权重矩阵,bo、bc、bf和bi均为偏置项,et为第t时刻的词向量矩阵,rt-1为第t-1时刻的前向隐藏层状态向量,r0为初始前向隐藏层状态向量,lt-1为第t-1时刻的后向隐藏层状态向量,l0为初始后向隐藏层状态向量,ft为第t时刻的前向遗忘门,it为第t时刻的前向输入门,f't第t时刻的后向遗忘门,i't为第t时刻的后向输入门,·为点乘。
8.一种文本分类装置,其特征在于,包括:
数据划分模块,用于导入多个原始文本数据,并对多个所述原始文本数据进行划分,得到训练集和测试集;
数据预处理模块,用于分别对所述训练集和所述测试集进行数据预处理,得到与所述训练集对应的多个单词训练矩阵以及与所述测试集对应的多个单词测试矩阵;
向量化处理模块,用于分别对各个所述单词训练矩阵进行向量化处理,得到与各个所述单词训练矩阵对应的词向量矩阵;
模型训练模块,用于构建训练模型,根据多个所述词向量矩阵对所述训练模型进行训练,得到待测试模型;
模型测试模块,用于根据多个所述单词测试矩阵对所述待测试模型进行测试,得到分类模型;
分类结果获得模块,用于导入待分类文本数据,通过所述分类模型对所述待分类文本数据进行分类,得到分类结果。
9.一种文本分类系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,当所述处理器执行所述计算机程序时,实现如权利要求1至7任一项所述的文本分类方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,当所述计算机程序被处理器执行时,实现如权利要求1至7任一项所述的文本分类方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210441429.9A CN114860930A (zh) | 2022-04-25 | 2022-04-25 | 一种文本分类方法、装置以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210441429.9A CN114860930A (zh) | 2022-04-25 | 2022-04-25 | 一种文本分类方法、装置以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114860930A true CN114860930A (zh) | 2022-08-05 |
Family
ID=82633096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210441429.9A Pending CN114860930A (zh) | 2022-04-25 | 2022-04-25 | 一种文本分类方法、装置以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114860930A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115422920A (zh) * | 2022-11-03 | 2022-12-02 | 南京信息工程大学 | 基于bert和gat的裁判文书争议焦点识别方法 |
CN115658886A (zh) * | 2022-09-20 | 2023-01-31 | 广东技术师范大学 | 基于语义文本的智能肝癌分期方法、系统及介质 |
CN115687625A (zh) * | 2022-11-14 | 2023-02-03 | 五邑大学 | 文本分类方法、装置、设备及介质 |
ES2933625A1 (es) * | 2022-10-29 | 2023-02-10 | Kallisto Ai Sl | Metodo y sistema utilizando tecnicas de inteligencia artificial general para la segmentacion de usuarios |
CN116484005A (zh) * | 2023-06-25 | 2023-07-25 | 北京中关村科金技术有限公司 | 一种分类模型构建方法、装置及存储介质 |
-
2022
- 2022-04-25 CN CN202210441429.9A patent/CN114860930A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115658886A (zh) * | 2022-09-20 | 2023-01-31 | 广东技术师范大学 | 基于语义文本的智能肝癌分期方法、系统及介质 |
ES2933625A1 (es) * | 2022-10-29 | 2023-02-10 | Kallisto Ai Sl | Metodo y sistema utilizando tecnicas de inteligencia artificial general para la segmentacion de usuarios |
CN115422920A (zh) * | 2022-11-03 | 2022-12-02 | 南京信息工程大学 | 基于bert和gat的裁判文书争议焦点识别方法 |
CN115422920B (zh) * | 2022-11-03 | 2023-02-28 | 南京信息工程大学 | 基于bert和gat的裁判文书争议焦点识别方法 |
CN115687625A (zh) * | 2022-11-14 | 2023-02-03 | 五邑大学 | 文本分类方法、装置、设备及介质 |
CN115687625B (zh) * | 2022-11-14 | 2024-01-09 | 五邑大学 | 文本分类方法、装置、设备及介质 |
CN116484005A (zh) * | 2023-06-25 | 2023-07-25 | 北京中关村科金技术有限公司 | 一种分类模型构建方法、装置及存储介质 |
CN116484005B (zh) * | 2023-06-25 | 2023-09-08 | 北京中关村科金技术有限公司 | 一种分类模型构建方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209806B (zh) | 文本分类方法、文本分类装置及计算机可读存储介质 | |
CN110188358B (zh) | 自然语言处理模型的训练方法及装置 | |
CN107608956B (zh) | 一种基于cnn-grnn的读者情绪分布预测算法 | |
CN114860930A (zh) | 一种文本分类方法、装置以及存储介质 | |
Vu et al. | Bi-directional recurrent neural network with ranking loss for spoken language understanding | |
CN112711948B (zh) | 一种中文句子的命名实体识别方法及装置 | |
CN111274405A (zh) | 一种基于gcn的文本分类方法 | |
CN112364638B (zh) | 一种基于社交文本的人格识别方法 | |
KR20190085098A (ko) | 키워드 추출 방법, 컴퓨터 장치, 및 저장 매체 | |
CN110222178A (zh) | 文本情感分类方法、装置、电子设备及可读存储介质 | |
KR20190063978A (ko) | 비정형 데이터의 카테고리 자동분류 방법 | |
CN110879938A (zh) | 文本情感分类方法、装置、设备和存储介质 | |
CN112100377B (zh) | 文本分类方法、装置、计算机设备和存储介质 | |
CN109614611B (zh) | 一种融合生成非对抗网络与卷积神经网络的情感分析方法 | |
CN112667782A (zh) | 一种文本分类方法、装置、设备及存储介质 | |
CN112749274A (zh) | 基于注意力机制和干扰词删除的中文文本分类方法 | |
Liu et al. | Topic identification for speech without asr | |
CN114722835A (zh) | 基于lda和bert融合改进模型的文本情感识别方法 | |
Amari et al. | Deep convolutional neural network for Arabic speech recognition | |
Jeyakarthic et al. | Optimal bidirectional long short term memory based sentiment analysis with sarcasm detection and classification on twitter data | |
Kesiraju et al. | Topic identification of spoken documents using unsupervised acoustic unit discovery | |
Kilimci et al. | Sentiment analysis based churn prediction in mobile games using word embedding models and deep learning algorithms | |
CN111159405B (zh) | 基于背景知识的讽刺检测方法 | |
Alisamir et al. | An end-to-end deep learning model to recognize Farsi speech from raw input | |
Wakchaure et al. | A scheme of answer selection in community question answering using machine learning techniques |
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 |