CN111737470B - 文本分类方法 - Google Patents
文本分类方法 Download PDFInfo
- Publication number
- CN111737470B CN111737470B CN202010595117.4A CN202010595117A CN111737470B CN 111737470 B CN111737470 B CN 111737470B CN 202010595117 A CN202010595117 A CN 202010595117A CN 111737470 B CN111737470 B CN 111737470B
- Authority
- CN
- China
- Prior art keywords
- text
- vector
- word
- data
- vectors
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 239000013598 vector Substances 0.000 claims abstract description 104
- 238000012549 training Methods 0.000 claims abstract description 22
- 238000013528 artificial neural network Methods 0.000 claims abstract description 8
- 238000012795 verification Methods 0.000 claims abstract description 8
- 238000013507 mapping Methods 0.000 claims abstract description 7
- 238000004140 cleaning Methods 0.000 claims abstract description 5
- 238000013527 convolutional neural network Methods 0.000 claims description 19
- 239000011159 matrix material Substances 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000011176 pooling Methods 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 238000005406 washing Methods 0.000 claims description 2
- 230000002457 bidirectional effect Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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
- 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/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/374—Thesaurus
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种文本分类方法,方法首先对带标签的文本数据进行清洗,分数据集;然后将文本序列映射为文本向量S;并将文本向量S输入到双向LSTM网络中得到与文本向量S维度相同的文本向量S1、S2,由文本向量S、S1、S2计算得到文本向量Sw。最后,将句子Sw输入到神经网络中按照预设的超参数训练模型,根据模型在验证集上的表现选取最优的模型。本发明利用LSTM网络获取全局文本信息,并通过加权求和方式得到包含全局信息的文本向量Sw,实验结果显示,该模型取得了较好的分类精度。
Description
技术领域
本发明涉及一种文本分类方法。
背景技术
文本分类在信息处理中占据着重要的地位,随着互联网的发展海量的文本数据不断产生,这些文本数据中存在着大量的信息,利用有效的方法对这些信息进行有效的管理和提取对企业和社会信息技术发展有着重大作用。
目前,深度学习技术被广泛的应用在文本分类任务上。
具体来说,Kim等人将CNN应用在文本分类任务上,利用卷积层获取局部的文本信息。但卷积网络无法很好的利用文本的序列信息。
之后人们将RNN以及在RNN基础上改进的LSTM网络应用在文本分类任务上取得了更好的分类效果。但是,由于人类语言存在的歧义性,相同的词在不同的上下文语意中有着不同的含义。传统的RNN、LSTM网络按照文本序列处理文本信息忽略了后文信息对当前词义的影响。
发明内容
本发明的目的在于提供一种文本分类方法。
为解决上述问题,本发明提供一种文本分类方法,包括:
步骤S1,对带标签的文本数据进行清洗,对清洗后的带标签的文本数据划分训练数据集和验证集;
步骤S2,统计训练数据集中的文本数据,然后将文本数据中文本序列替换为单词索引序列;
步骤S3,构建词向量字典;
步骤S4,基于所述词向量字典,将所述单词索引序列映射为文本向量S;
步骤S5,基于所述文本向量S,获取文本全局信息向量S1、S2;
步骤S6,由文本向量S和文本全局信息向量S1、S2计算得到文本向量Sw;
步骤S7,利用改进的CNN网络模型提取文本向量Sw中的文本类别信息,以输出文本类别;
步骤S8,根据文本数据的标签和改进的CNN网络模型输出的文本类别和计算损失函数;
步骤S9,重复步骤S2~步骤S8,以批量输入训练数据,使用批量梯度下降算法优化损失函数;
步骤S10,根据改进的CNN网络模型在所述验证集上的表现,选取最优的改进的CNN网络模型作为最终的模型。
进一步的,在上述方法中,对带标签的文本数据进行清洗,包括:
对带标签的文本数据去除多余的符号,保留词语间的空格和预设的必要的标点符号、单词,并将标签用one-hot向量表示。
进一步的,在上述方法中,步骤S2,统计训练数据集中的文本数据,然后将文本数据中文本序列替换为单词索引序列,包括:
首先按照训练数据集中的文本数据的单词频率为每个单词进行编号,然后取前num个频率最高的单词,将用对应的编号分别替换前num个频率最高的单词得到替换后的数据集,其中,num为正整数;
将替换后的数据集中的文本截取或填充为相同长度,该长度设置为平均长度,计算公式为:
其中,n表示数据集大小、Si表示第i个句子、len(Si)表示句子Si的长度。
进一步的,在上述方法中,步骤S3,构建词向量字典,包括:
使用glove预训练词向量或者Word2Vec工具获取单词对应的维度为dim的词向量。
进一步的,在上述方法中,步骤S4,基于所述词向量字典,将所述单词索引序列映射为文本向量S,包括:
构建维度为num*dim的Embedding矩阵,并使用所述Embedding矩阵初始化模型Embedding层,当单词索引序列输入Embedding层后得到文本向量S,其中,dim为正整数。
进一步的,在上述方法中,步骤S5,基于所述文本向量S,获取文本全局信息向量S1、S2,包括:
将所述文本向量S以顺序和逆序的方式输入LSTM网络得到S1、S2向量。
进一步的,在上述方法中,步骤S6,由文本向量S和文本全局信息向量S1、S2计算得到文本向量Sw,包括:
使用权重矩阵WS、WS1、WS2分别对文本向量S和文本全局信息向量S1、S2进行加权求和,得到文本向量Sw,其中,WS、WS1、WS2为dim*dim的方阵,其中,dim为正整数。
进一步的,在上述方法中,利用改进的CNN网络模型提取文本向量Sw中的文本类别信息,以输出文本类别,包括:
使用维度为3*dim过滤器提取文本向量Sw中的文本特征,然后使用前馈神经网络代替Pooling层,使用Relu作为神经网络的激活函数,使用dropout作为正则化方法,最后使用sotfmax层将输入映射为类别概率,以输出文本类别。
进一步的,在上述方法中,所述损失函数计算公式为:
其中,批量大小batch-size=128,y为数据标签。
与现有技术相比,传统的RNN、LSTM网络按照文本序列处理文本信息忽略了后文信息对当前词义的影响,所以本发明的文本分类方法考虑到全局信息。本发明利用LSTM网络获取全局文本信息,并通过加权求和方式得到包含全局信息的文本向量Sw,实验结果显示,该模型取得了较好的分类精度。本发明解决了现有文本分类技术中存在的对文本全局信息利用不足的情况,提高了文本分类的精度。
附图说明
图1为本发明一实施例提供的文本分类模型流程图;
图2为本发明一实施例提供的词向量的获取方法的结构示意图;
图3为本发明一实施例提供的获取向量S1、S2的结构示意图;
图4为本发明一实施例提供的获取向量Sw方法的结构示意图;
图5为本发明一实施例提供的用于分类的卷积神经网络的结构示意。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明提供一种文本分类方法,包括:
步骤S1,对带标签的文本数据进行清洗,对清洗后的带标签的文本数据划分训练数据集和验证集;
步骤S2,统计训练数据集中的文本数据,然后将文本数据中文本序列替换为单词索引序列;
步骤S3,构建词向量字典;
步骤S4,基于所述词向量字典,将所述单词索引序列映射为文本向量S;
步骤S5,基于所述文本向量S,获取文本全局信息向量S1、S2;
步骤S6,由文本向量S和文本全局信息向量S1、S2计算得到文本向量Sw;
步骤S7,利用改进的CNN网络模型提取文本向量Sw中的文本类别信息,以输出文本类别;
步骤S8,根据文本数据的标签和改进的CNN网络模型输出的文本类别和计算损失函数;
步骤S9,重复步骤S2~步骤S8,以批量输入训练数据,使用批量梯度下降算法优化损失函数;
步骤S10,根据改进的CNN网络模型在所述验证集上的表现,选取最优的改进的CNN网络模型作为最终的模型。
在此,模型训练的迭代次数epochs=1000。每次更新参数后将在验证集上评估模型性能,选取最优的模型作为最终的模型。
传统的RNN、LSTM网络按照文本序列处理文本信息忽略了后文信息对当前词义的影响,所以本发明的文本分类方法考虑到全局信息。本发明利用LSTM网络获取全局文本信息,并通过加权求和方式得到包含全局信息的文本向量Sw,实验结果显示,该模型取得了较好的分类精度。本发明解决了现有文本分类技术中存在的对文本全局信息利用不足的情况,提高了文本分类的精度。
本发明的文本分类方法一实施例中,步骤S1,对带标签的文本数据进行清洗,包括:
对带标签的文本数据去除多余的符号,保留词语间的空格和预设的必要的标点符号、单词,并将标签用one-hot向量表示。
本发明的文本分类方法一实施例中,步骤S2,统计训练数据集中的文本数据,然后将文本数据中文本序列替换为单词索引序列,包括:
首先按照训练数据集中的文本数据的单词频率为每个单词进行编号,然后取前num个频率最高的单词,将用对应的编号分别替换前num个频率最高的单词得到替换后的数据集,其中,num为正整数;
将替换后的数据集中的文本截取或填充为相同长度,该长度设置为平均长度,计算公式为:
其中,n表示数据集大小、Si表示第i个句子、len(Si)表示句子Si的长度。
具体的,例如,可以根据频率将文本数据中的词编号,取前15000个频率最高的常用词,并用对应的编号分别代替15000个频率最高的常用词;将数据集中的文本截取或填充为相同长度,该长度设置为平均长度,计算公式为:
其中,n表示数据集大小、Si表示第i个句子、len(Si)表示句子Si的长度。
本发明的文本分类方法一实施例中,步骤S3,构建词向量字典,包括:
使用glove预训练词向量或者Word2Vec工具获取单词对应的维度为dim的词向量。
具体的,可以加载Glove预训练词向量,将词向量维度设置为100维,得到数据集中单词对应的词向量。
本发明的文本分类方法一实施例中,步骤S4,基于所述词向量字典,将所述单词索引序列映射为文本向量S,包括:
构建维度为num*dim的Embedding矩阵,并使用所述Embedding矩阵初始化模型Embedding层,当单词索引序列输入Embedding层后得到文本向量S,其中,dim为正整数。
具体的,可以如图2构建维度为15000*100的Embedding矩阵,将单词索引序列输入到用Embedding矩阵初始化的Embedding层得到句子向量S,并在模型训练过程中微调Embedding层参数。
本发明的文本分类方法一实施例中,步骤S5,基于所述文本向量S,获取文本全局信息向量S1、S2,包括:
将所述文本向量S以顺序和逆序的方式输入LSTM网络得到S1、S2向量。
在此,如图3所示,将文本向量S输入到双向LSTM网络中得到向量S1、S2。
本发明的文本分类方法一实施例中,步骤S6,由文本向量S和文本全局信息向量S1、S2计算得到文本向量Sw,包括:
使用权重矩阵WS、WS1、WS2分别对文本向量S和文本全局信息向量S1、S2进行加权求和,得到文本向量Sw,其中,WS、WS1、WS2为dim*dim的方阵。
具体的,如图4将S、S1、S2分别乘以权重矩阵WS、WS1、WS2再求和得到文本向量SW,其中WS、WS1、WS2为100*100维矩阵。
本发明的文本分类方法一实施例中,步骤S7,利用改进的CNN网络模型提取文本向量Sw中的文本类别信息,以输出文本类别,包括:
使用维度为3*dim过滤器提取文本向量Sw中的文本特征,然后使用前馈神经网络代替Pooling层,使用Relu作为神经网络的激活函数,使用dropout作为正则化方法,最后使用sotfmax层将输入映射为类别概率,以输出文本类别。
在此,将步骤6得到的文本向量Sw输入到如图5所示CNN分类网络,CNN网络的Fi1ter大小为3*100,由于Pooling层会丢失许多重要信息,所以我们使用两层前馈神经网络代替,最后使用Softmax层将输入映射为对应的类别概率向
本发明的文本分类方法一实施例中,步骤8中,所述损失函数计算公式为:
其中,批量大小batch-size=128,y为数据标签。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (5)
1.一种文本分类方法,其特征在于,包括:
步骤S1,对带标签的文本数据进行清洗,对清洗后的带标签的文本数据划分训练数据集和验证集;
步骤S2,统计训练数据集中的文本数据,然后将文本数据中文本序列替换为单词索引序列;
步骤S3,构建词向量字典;
步骤S4,基于所述词向量字典,将所述单词索引序列映射为文本向量S;
步骤S5,基于所述文本向量S,获取文本全局信息向量S1、S2;
步骤S6,由文本向量S和文本全局信息向量S1、S2计算得到文本向量Sw;
步骤S7,利用改进的CNN网络模型提取文本向量Sw中的文本类别信息,以输出文本类别;
步骤S8,根据文本数据的标签和改进的CNN网络模型输出的文本类别,计算损失函数;
步骤S9,重复步骤S2~步骤S8,以批量输入训练数据,使用批量梯度下降算法优化损失函数;
步骤S10,根据改进的CNN网络模型在所述验证集上的表现,选取最优的改进的CNN网络模型作为最终的模型;
步骤S5,基于所述文本向量S,获取文本全局信息向量S1、S2,包括:
将所述文本向量S以顺序和逆序的方式输入LSTM网络得到S1、S2向量;
步骤S6,由文本向量S和文本全局信息向量S1、S2计算得到文本向量Sw,包括:
使用权重矩阵WS、WS1、WS2分别对文本向量S和文本全局信息向量S1、S2进行加权求和,得到文本向量Sw,其中,WS、WS1、WS2为dim*dim的方阵,其中,dim为正整数;
利用改进的CNN网络模型提取文本向量Sw中的文本类别信息,以输出文本类别,包括:
使用维度为3*dim过滤器提取文本向量Sw中的文本特征,然后使用前馈神经网络代替Pooling层,使用Relu作为神经网络的激活函数,使用dropout作为正则化方法,最后使用sotfmax层将输入映射为类别概率,以输出文本类别;
所述损失函数计算公式为:
其中,批量大小batch-size=128,y为数据标签。
2.如权利要求1所述的文本分类方法,其特征在于,对带标签的文本数据进行清洗,包括:
对带标签的文本数据去除多余的符号,保留词语间的空格和预设的必要的标点符号、单词,并将标签用one-hot向量表示。
3.如权利要求1所述的文本分类方法,其特征在于,步骤S2,统计训练数据集中的文本数据,然后将文本数据中文本序列替换为单词索引序列,包括:
首先按照训练数据集中的文本数据的单词频率为每个单词进行编号,然后取前num个频率最高的单词,将用对应的编号分别替换前num个频率最高的单词得到替换后的数据集,其中,num为正整数;
将替换后的数据集中的文本截取或填充为相同长度,该长度设置为平均长度,计算公式为:
其中,n表示数据集大小、Si表示第i个句子、len(Si)表示句子Si的长度。
4.如权利要求1所述的文本分类方法,其特征在于,步骤S3,构建词向量字典,包括:
使用glove预训练词向量或者Word2Vec工具获取单词对应的维度为dim的词向量。
5.如权利要求1所述的文本分类方法,其特征在于,步骤S4,基于所述词向量字典,将所述单词索引序列映射为文本向量S,包括:
构建维度为num*dim的Embedding矩阵,并使用所述Embedding矩阵初始化模型Embedding层,当单词索引序列输入Embedding层后得到文本向量S,其中,dim为正整数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010595117.4A CN111737470B (zh) | 2020-06-24 | 2020-06-24 | 文本分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010595117.4A CN111737470B (zh) | 2020-06-24 | 2020-06-24 | 文本分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737470A CN111737470A (zh) | 2020-10-02 |
CN111737470B true CN111737470B (zh) | 2024-04-16 |
Family
ID=72651220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010595117.4A Active CN111737470B (zh) | 2020-06-24 | 2020-06-24 | 文本分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737470B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112163064B (zh) * | 2020-10-14 | 2024-04-16 | 上海应用技术大学 | 基于深度学习的文本分类方法 |
CN116720124A (zh) * | 2023-08-11 | 2023-09-08 | 之江实验室 | 一种教育文本分类方法、装置、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134764A (zh) * | 2019-04-26 | 2019-08-16 | 中国地质大学(武汉) | 一种文本数据的自动分类方法及系统 |
CN111274405A (zh) * | 2020-02-26 | 2020-06-12 | 北京工业大学 | 一种基于gcn的文本分类方法 |
-
2020
- 2020-06-24 CN CN202010595117.4A patent/CN111737470B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134764A (zh) * | 2019-04-26 | 2019-08-16 | 中国地质大学(武汉) | 一种文本数据的自动分类方法及系统 |
CN111274405A (zh) * | 2020-02-26 | 2020-06-12 | 北京工业大学 | 一种基于gcn的文本分类方法 |
Non-Patent Citations (1)
Title |
---|
刘云翔.research on text classification method based on ptf-IDFand cosine similarity.2019,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111737470A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107729497B (zh) | 一种基于知识图谱的词嵌入深度学习方法 | |
CN109189925B (zh) | 基于点互信息的词向量模型和基于cnn的文本分类方法 | |
CN113642330B (zh) | 基于目录主题分类的轨道交通规范实体识别方法 | |
CN109766277B (zh) | 一种基于迁移学习与dnn的软件故障诊断方法 | |
CN109948149B (zh) | 一种文本分类方法及装置 | |
CN110134946B (zh) | 一种针对复杂数据的机器阅读理解方法 | |
CN111191002B (zh) | 一种基于分层嵌入的神经代码搜索方法及装置 | |
CN110765775A (zh) | 一种融合语义和标签差异的命名实体识别领域自适应的方法 | |
CN109273054B (zh) | 基于关系图谱的蛋白质亚细胞区间预测方法 | |
CN112733866A (zh) | 一种提高可控图像文本描述正确性的网络构建方法 | |
CN113220876B (zh) | 一种用于英文文本的多标签分类方法及系统 | |
CN114896388A (zh) | 一种基于混合注意力的层级多标签文本分类方法 | |
CN111400494B (zh) | 一种基于GCN-Attention的情感分析方法 | |
CN111966812A (zh) | 一种基于动态词向量的自动问答方法和存储介质 | |
CN111737470B (zh) | 文本分类方法 | |
CN110826298B (zh) | 一种智能辅助定密系统中使用的语句编码方法 | |
CN112163064B (zh) | 基于深度学习的文本分类方法 | |
CN112163429A (zh) | 结合循环网络及bert的句子相关度获取方法、系统及介质 | |
CN113806580A (zh) | 基于层次语义结构的跨模态哈希检索方法 | |
CN114781382A (zh) | 基于rwlstm模型融合的医疗命名实体识别系统及方法 | |
CN109308316A (zh) | 一种基于主题聚类的自适应对话生成系统 | |
CN113191150B (zh) | 一种多特征融合的中文医疗文本命名实体识别方法 | |
CN113204640A (zh) | 一种基于注意力机制的文本分类方法 | |
CN117390131A (zh) | 一种用于多领域的文本情感分类方法 | |
CN114357166B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |