CN110825845B - 一种基于字符与自注意力机制的层次文本分类方法及中文文本分类方法 - Google Patents
一种基于字符与自注意力机制的层次文本分类方法及中文文本分类方法 Download PDFInfo
- Publication number
- CN110825845B CN110825845B CN201911012774.5A CN201911012774A CN110825845B CN 110825845 B CN110825845 B CN 110825845B CN 201911012774 A CN201911012774 A CN 201911012774A CN 110825845 B CN110825845 B CN 110825845B
- Authority
- CN
- China
- Prior art keywords
- character
- vector
- word
- self
- attention mechanism
- 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
- 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
- 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于字符与自注意力机制的层次文本分类方法,属于自然语言处理领域。首先通过构建字符表,然后对原始数据集进行预处理,对预处理后数据集中的字符进行编码,将编码后的字符特征使用自注意力机制得到字符自注意力机制特征,合并字符自注意力机制特征的上下文信息得到词特征。接着对词特征使用自注意力机制得到词自注意力机制特征,合并词自注意力机制特征的上下文得到句子特征。最后,使用softmax分类器预测文本类别。本发明能在自注意力机制的基础上构造层次自注意力机制网络,捕获文本结构的复合特征,提高分类精确度。
Description
技术领域
本发明涉及自然语言处理技术领域,尤其涉及一种基于字符与双层自注意力机制网络结合的层次文本分类方法。
背景技术
随着网络技术的快速发展,海量的信息资源以文本的形式存在。如何对这些文本进行有效的分类,从海量的文本中快速、准确、全面的挖掘有效信息,已经成为了自然语言处理研究领域的热点之一。文本分类是指按照预先定义的主题类别,为文档集合中的每个文档确定一个类别。文本分类技术在日常生活中具有广泛的应用,例如,对垃圾短信和邮件的过滤,对新闻的分组查阅等等。
近些年来,文本分类研究多注重分类模型的构建和优化。传统机器学习模型,如支持向量机、朴素贝叶斯、最大熵模型等,以及深度学习方法,如卷积神经网络(Convolutional Neural Networks,CNN)、长短时间记忆网络(Long Short Term MemoryNetworks,LSTM)等都被广泛研究和运用。随着深度学习在计算机视觉和语音识别中取得的巨大成功,越来越多的研究尝试将深度学习应用到中文文本分类中。与传统的文本分类方法不同的是,深度学习方法通过深度神经网络模型来学习文本的词特征,进而构建文本特征以实现文本分类。基于深度神经网络模型的方法在中文文本分类任务中取得了比传统的机器学习模型更好的分类效果。
深度神经网络中的注意力机制模仿了生物观察行为的内部过程,即一种将内部经验和外部感觉对齐,从而增加部分区域的观察精细度的机制。注意力机制可以快速提取稀疏数据的重要特征,因而被广泛用于自然语言处理任务,特别是机器翻译。而自注意力机制是注意力机制的改进,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性。
在此之前很多基于深度学习的模型都是使用更高层面的单元对文本或者语言进行建模,比如单词(word2vec),短语(phrases),句子(sentence)层面,或者对语义和语法结构进行分析。这些单词,语句,句子的知识往往是高维的,很难应用于神经网络中。
当前的文本分类方法认为文本中每一个特征对于分类的重要性相同,简单的用文本中所有的特征来表示文本特征,导致分类过程中存在较多的噪音特征。
中国专利CN108717439A“一种基于注意力机制和特征强化融合的中文文本分类方法”属于数据挖掘技术领域;所述一种基于注意力机制和特征强化融合的中文文本分类方法中提出一种基于注意力机制、长短期记忆网络与卷积神经网络的特征强化融合中文文本分类模型和特征差异强化注意力算法模型;特征强化融合中文文本分类模型,以双层LSTM和CNN模块依次对注意力机制提取的文本特征进行强化融合,不断增强所提取文本特征的丰富程度和,使其包含的文本特征更加全面更加细致,从而提高了模型对中文文本特征的识别能力。本专利作者以词作为最小单元,结合了注意力机制,长短期记忆网络与卷积神经网络进行文本分类,但是如果以词作为最小单元对语言进行建模,由于数据量大,文本长度长,导致单词层面的维度较高,神经网络的训练慢,付出的代价较高。
中国专利CN108595590A“一种基于融合注意力模型的中文文本分类方法”,通过分词预处理和分字预处理分别将文本切分为对应的词集合和字集合,并根据得到的词集合和字集合,采用特征嵌入的方法训练文本对应的词向量和字向量,对文本中的词向量进行补充和辅助,弥补了单一的词向量无法涵盖文本所有的语义信息的不足,从而能够获得更全面的文本特征,用BGRU神经网络作为编码器分别对词向量和字向量进行语义编码,从正反两个方向有效地捕捉文本中的语义依赖关系,解决了文本的长距离语义依赖问题。提出了一种注意力融合方法,将文本中的词注意力向量和字注意力向量进行融合,最终利用得到的融合注意力向量来表示文本特征,使得文本特征所表示的语义信息更加准确和丰富。这是一种采用双向门循环单元神经网络作为编码器分别对词向量和字向量进行语义编码的方法,它采用词向量注意力机制和字向量注意力机制获取文本中的词注意力向量和字注意力向量以得到融合注意力向量,最后通过softmax分类器预测文本类别,解决了现有的中文文本分类方法忽略文本的字特征信息,但是易导致提取的文本特征单一,也难以涵盖文本所有的语义信息,并且没有重点关注对分类有明显贡献的特征,导致出现了分类过程中存在较多的冗余特征的问题。
BGRU神经网络作为编码器分别对词向量和字向量进行语义编码,虽然可以很好的解决了文本的长距离语义依赖问题,但是BGRU神经网络的明显缺点之一就是无法并行,因此训练速度较慢,且BGRU神经网络无法很好地学习到全局的结构信息。同条件下,自注意力机制模型与BGRU神经网络相比较,自注意力机制模型复杂度小,参数少。
目前,由于数据量大,文本长度长,单词,短语和句子层面的维度高,导致神经网络训练难。现有的文本分类方法中,不考虑特征权重,容易引进大量的噪音特征,影响文本分类准确度。
发明内容
本发明所要解决的技术问题是提供了一种基于字符与自注意力机制的层次文本分类方法,解决现有文本中由于数据量大,文本长度长,导致单词,短语和句子层面的维度高,以至于神经网络训练难的问题。
本发明的技术方案为一种基于字符与自注意力机制的层次文本分类方法,包括以下步骤:
一种基于字符与自注意力机制的层次文本分类方法,其特征在于,包括以下步骤:
步骤一,首先,构建字符表,设计一个大小为m的字符表;
步骤二,对字符表中的字符使用one-hot编码,用于将类别变量转化为机器学习算法,经过one-hot编码后,字符表中的每一个字符都转化为维度为m的one-hot向量;外加一个维度为m的one-hot全零向量表示空白字符,用于处理不在该字符表中的字符;
步骤三,选择原始数据集,对原始数据集进行预处理,获得预处理后的数据集;
步骤四,对数据集中的文本字符进行编码,建立字符向量,对字符向量使用第一层自注意力机制得到字符自注意力机制向量,合并字符自注意力机制向量的上下文信息到单词向量中;
步骤五,根据步骤四中得到的单词向量,对单词向量使用第二层自注意力机制得到单词自注意力机制向量,合并单词自注意力机制向量上下文信息得到句子向量;
步骤六,将所述句子向量输入到softmax分类器,通过softmax分类器输出文本分类结果。
进一步地,步骤一中,字符表包含
“abcdefghijklmnopqrstuvwxyz0123456789-,;.!?:'"\\|_@#$%^&*~`+-=<>()[]{}”,和一个用于处理不在该字符表中的空白字符<UK>。
进一步地,m为70。
进一步地,步骤三中,进行预处理的所述原始数据集来自AG'snews新闻分类数据集。
进一步地,步骤四中,新闻分类数据集中每个新闻数据包括不同的单词,每个单词包括不同的字符,每个字符具有长度;将每个新闻数据的单词都转化成固定长度为l0的矢量形式,忽略掉长度超过l0的任何字符,其中每个字符是m维的向量,最终将每个新闻数据的单词表示为m*l0的字符矩阵,然后将字符矩阵作为输入序列,传入自注意力机制中,设每个新闻数据的单词对应一个矩阵X=(x1,x2,…xt),其中xi表示单词的第i个字符的字符向量,则将每个单词对应的字符矩
阵X与每个字符xt进行比较,最后算出每个字符的自注意力机制向量yt表示如下:
yt=f(xt,X,X)。
进一步地,步骤三中,所述对原始数据集进行预处理的方式为去除无意义的词或无用的标点符号或无用的数字。
本发明还使用了一种基于注意力机制和特征强化融合的中文文本分类方法,具体包括如下步骤:
步骤一:构建字符表,设计一个大小为m的字符表,使用one-hot编码,编码过程中,设计一个大小m为70的字典,将字符表的字符用NumPy技术处理,存储在字典中;
步骤二:字符表中的每个字符经过one-hot编码后,得到一个大小为70维的向量表示形式,其中字符表中的空白字符则表示为70维的全零向量,用集合{c1,c2,...,cm}对应字符表的字符向量,ci表示向量表里的第i个字符向量,m等于70,是字符的大小;
步骤三:选择原始数据集,创建停用词表,遍历整个原始数据集,根据停用词表去除一些无意义的词、无用的标点符号以及数字,得到预处理后的数据集;
步骤四:所述原始数据集选择为AG’snews新闻分类数据集,该数据集包含了496835个新闻,选择其中4个最大的类别,每个选出30000篇文章用于训练,1900篇用于测试,将数据集的标题和描述连接起来作为训练数据;
阵X与每个字符xt进行比较,最后算出每个字符的自注意力机制向量yt表示如下:
yt=f(xt,X,X)。
进一步地,步骤三中,所述对原始数据集进行预处理的方式为去除无意义的词或无用的标点符号或无用的数字。
本发明还使用了一种基于注意力机制和特征强化融合的中文文本分类方法,具体包括如下步骤:
步骤一:构建字符表,设计一个大小为m的字符表,使用one-hot编码,编码过程中,设计一个大小m为70的字典,将字符表的字符用NumPy技术处理,存储在字典中;
步骤二:字符表中的每个字符经过one-hot编码后,得到一个大小为70维的向量表示形式,其中字符表中的空白字符则表示为70维的全零向量,用集合{c1,c2,...,cm}对应字符表的字符向量,ci表示向量表里的第i个字符向量,m等于70,是字符的大小;
步骤三:选择原始数据集,创建停用词表,遍历整个原始数据集,根据停用词表去除一些无意义的词、无用的标点符号以及数字,得到预处理后的数据集;
步骤四:所述原始数据集选择为AG’snews新闻分类数据集,该数据集包含了496835个新闻,选择其中4个最大的类别,每个选出30000篇文章用于训练,1900篇用于测试,将数据集的标题和描述连接起来作为训练数据;
其中J表示训练字符向量的目标函数,L表示字符矩阵中的字符数量,xi+s表示第i个字符的前后s个字符,p(xi|xi+s)表示前后字符xi在前后各a个字符出现的条件下的xi出现的概率;
在投影层中,word2vec模型通过嵌入矩阵Wc∈RL×M将xi投影到一个M维的特征空间中:
其中,ei c表示xi经过投影后的向量,在输出层中,通过随机梯度上升算法对嵌入矩阵Wc进行更新,使得J最大化,当J达到最大是输出的ei c即是第i个字符对应的字符特征向量,将每个词的one-hot字符矩阵通过word2vec模型训练,最终得到字符特征向量矩阵为{e1 c,e2 c,...,eT c},其中ei c为第i个字符对应的字符特征向量;
进一步地,在步骤四中,获得词向量矩阵的具体方法为:
将字符向量集合为{e1 c,e2 c,...,eT c}输入到第一层自注意力机制模型中,以获得对文本分类有贡献的字符自注意力特征向量,计算方法如下:
其中,al c表示el c对应的权重,字符自注意力向量Vc中的信息包含每个字符向量语义编码对于文本分类的重要程度,对字符自注意力向量Vc再次进行加权求和,合并上下文信息得到词向量矩阵{e1 w,e2 w,...el1 w},其中ei w表示每个新闻数据集中第i个词的特征向量,l1表示新闻数据集最长一个新闻数据集词的数量;
进一步地,在步骤四中,获得句向量矩阵的具体方法为:
第一层自注意力机制模型得到的词向量{e1 w,e2 w,...el1 w}输入到第二层自注意力机制模型中以获得对文本分类有贡献的词自注意力向量,计算方法如下:
其中,at w表示对应et w的权重,词注意力向量Vw中的信息包含每个词向量语义编码对于文本分类的重要程度,对词自注意力向量Vw再次进行加权求和,合并上下文信息得到句向量Vd。
原理和优势:
(1)从字符层面进行文本分类,提取出深层抽象特征。
当前很多基于深度学习的模型都是使用更高层面的单元对文本进行建模,比如单词(word2vec),短语(phrases),句子(sentence),语义和语法结构。这些单词,语句,句子的特征往往是高维的,应用于神经网络中训练会付出很大的代价。本发明则提出了从字符层面进行文本分类,提取出深层抽象特征。这样做的好处是不需要使用预训练好的词向量和语法句法结构等信息。除此之外,字符级还有一个好处就是可以很容易的推广到所有语言。
(2)对字符层面的特征使用自注意力机制。
深度学习做文本分类的思路现在主流的是递归神经网络(Recurrent NeuralNetworks,RNN)和卷积神经网络(Convolutional Neural Networks,CNN)。本发明将自注意力机制运用到文本分类中,自注意力机制可以灵活的捕捉全局和局部的联系,而且是一步到位。自注意力机制机制是将字符序列的每一个字符特征向量与字符矩阵向量中其他所有字符特征向量对比,在这个过程中每一个元素间的距离都是1,因此它比时间序列RNN的一步步递推得到长期依赖关系好的多,越长的序列RNN捕捉长期依赖关系就越弱。自注意力机制可以并行计算减少模型训练时间,且每一步计算不依赖于上一步的计算结果,因此自注意力机制可以和CNN一样并行处理。但是CNN也只是每次捕捉局部信息,通过每一层叠加来获取全局的联系增强视野。在同条件下与CNN和RNN相比较,自注意力机制模型复杂度小,参数少。
(3)在自注意力机制的基础上构造层次注意力机制网络,捕获有关文本结构的复合特征。
由于带有自注意力机制的深度神经网络在计算机视觉和自然语言处理任务中取得了显著的成效,如机器翻译和智能问答等。实验表明,加入了自注意力机制的神经网络方法比普通神经网络方法准确率有了明显的提升。但是,这些自注意力机制的模型都是针对不同的深度神经网络,在输入特征向量上加入了不同特征层次的单层自注意力机制。例如基于字符级别的自注意力机制或基于句子级别的自注意力机制,这种方法没有考虑到字符与字符,字符与词,词与句子之间的因果关系,在训练中容易损失一些有效的信息。为了在使用深度神经网络模型进行文本分类任务时能够更好的利用有效的特征来进行学习和预测,本发明提出了双层自注意力机制模型,包含字符级的自注意力机制和词级别的自注意力机制。使用双层自注意力机制来捕获特征信息,通过不断的学习将有效的特征分配较高的权重,从而降低噪音数据带来的负面影响。
附图说明
图1是本发明的原理示意图。
图2是本发明方法流程示意图。
图3是自注意力机制的示意图。
图4双层自注意力机制的示意图。
具体实施方式
下面结合附图对本发明具体实施方式作进一步详细描述。
实施例1:
本实施例是一种基于字符与自注意力机制的层次文本分类方法的具体实施例。本发明主要分为六个阶段:
阶段一是构建字符表。本发明提出一个字符表,用于自注意力机制网络结构中。字符表共70个字符,包括26个英文字母,10个数字,33个符号和一个空白字符,其中空白字符用于表示不在字符表中的字母,数字以及符号。其中非空白字符如下:
abcdefghijklmnopqrstuvwxyz0123456789
-,;.!?:'"\\|_@#$%^&*~`+-=<>()[]{}
编码过程中,设计一个大小m为70的字典,用于存储字符表。空白字符用在字典中用<uk>表示。
阶段二是对字符表中的字符使用one-hot编码。经过one-hot编码后,字符表中每个字符都被表示为一个70维的one-hot向量,其中空白字符用大小为70维的全零向量表示。
阶段三是对原始数据集进行预处理,如去除没有意义的词、无用的标点符号以及数字等,整理获得预处理后的数据集。
阶段四是对数据集中的文本字符进行编码,建立字符向量,对字符向量使用自注意力机制得到字符自注意力机制向量,合并字符自注意力机制向量的上下文信息到词向量中。
阶段五是根据阶段四得到的词向量,将每个新闻数据集构成词向量矩阵,对词向量矩阵使用自注意力机制,得到词自注意力机制向量,合并词自注意力机制向量上下文信息生成句子向量。
阶段六是通过softmax分类器输出文本分类结果。
实施例2:
本实施例是一种基于注意力机制和特征强化融合的中文文本分类方法的具体举例说明。
步骤一:本发明采用AG’s news新闻分类数据集。该数据集包含了496835个新闻,本发明选择其中4个最大的类别,每个选出30000篇文章用于训练,1900篇用于测试,将数据集的标题(title)和描述(description)连接起来作为训练数据。本发明提出了大小m为70的字符表,将字符表的字符用NumPy技术处理,存储在字典中。NumPy是Python中科学计算的基础软件包。它是一个提供多了维数组对象,多种派生对象(如:掩码数组、矩阵)以及用于快速操作数组的函数及API,它包括数学、逻辑、数组形状变换、排序、选择、I/O、离散傅立叶变换、基本线性代数、基本统计运算、随机模拟等等。
步骤二:对字符表里的字符使用one-hot编码。字符表的大小m为70,所以字符表中的每个字符经过one-hot编码后,得到一个大小为70维的向量表示形式,其中字符表中的空白字符则表示为70维的全零向量。本发明用集合{c1,c2,...,cm}对应字符表的字符向量,ci表示向量表里的第i个字符向量,m等于70,是字符的维度,即字符的大小。
步骤三:创建停用词表,遍历整个原始数据集。根据停用词表去除一些无意义的词、无用的标点符号以及数字等,得到预处理后的数据集。
步骤四:新闻分类数据集中每个新闻数据由不同的单词组成,每个单词又由不同的字符组成,且长度都不一定相同。本发明首先将每个新闻的单词都转化成固定长度为l0的矢量形式。长度超过l0的任何字符都被忽略掉,其中每个字符是m维的向量,最终将每个新闻数据的单词表示为m*l0的字符矩阵。然后将字符矩阵作为输入序列,传入自注意力机制中,获得字符自注意力机向量矩阵[V1 1,V1 2...V1 l0],每个词的字符向量矩阵的大小为m*l0,其中V1 i表示词中的第i个字符对应的字符特征向量。对字符向量矩阵进行加权求和,合并上下文信息得到词向量V2。
步骤五:将步骤四每个新闻数据集到的词向量构建成词向量矩阵[V2 1,V2 2...V2 n],其中V2 i表示每个新闻数据中第i个词的词特征向量。n表示每个新闻数据集的大小。在词向量矩阵上使用自注意力机制,获得词自注意力机制向量矩阵V3,对词向量进行加权求和,合并上下文信息得到句向量V4。
步骤六:将经过双层自注意力机制得到的句向量V4作为文本特征,输入softmax分类器预测文本类别。
本实施例是一种基于字符与自注意力机制的层次文本分类方法的技术方案以及所依据的科学原理:
本发明采用Python中科学计算的基础软件包NumPy将字符表存储到字典中。字典的大小等于字符表的大小,本发明提出了70个字符,所以字典的大小为70。存储到字典中字符使用one-hot编码,最终字符表中的每个字符都被表示为了一个70维大小的向量形式,其中本发明用70维大小的全零向量去表示字符表中的空白字符。
大多数语言模型嵌入的方法都是以词作为基本单元,根据单词的上下文学习嵌入,忽略单词的内部结构。一个单词通常由多个字符组成,并且包含了丰富的内部结构信息。本发明采用特征嵌入的方法训练文本的字符特征向量。首先对AG’s news新闻分类数据集利用已创建的停用词表对原始数据集进行预处理,去除无意义的词、无用的标点符号以及数字等,整理获得预处理后的数据集。AG’s news新闻分类数据集每一行有三项,第一项是类别,第二项是title,第三项是描述。本发明使用二三项连接起来作为训练数据。然后对每个新闻数据集的单词字符进行one-hot编码,最后将ont-hot编码后的字符向量通过word2vec模型训练字符特征向量。具体过程为:
在输入层,假设{x1,x2,...xT}为数据集中每个词的one-hot字符矩阵向量,xi是词中的第i个字符向量。word2vec的任务就是利用xi前后各a个字符去预测xi,则目标函数为:
其中J表示训练字符向量的目标函数,L表示字符矩阵中的字符数量,本发明中L为文本语料中最长词的长度.xi+s表示第i个字符的前后s个字符,p(xi|xi+s)表示前后字符xi在前后各a个字符出现的条件下的xi出现的概率。在投影层中,word2vec模型通过嵌入矩阵Wc∈RL×M将xi投影到一个M维的特征空间中:
其中,ei c表示xi经过投影后的向量。在输出层中,通过随机梯度上升算法对嵌入矩阵Wc进行更新,使得J最大化。当J达到最大是输出的ei c即是第i个字符对应的字符特征向量。将每个词的one-hot字符矩阵通过word2vec模型训练,最终得到字符特征向量矩阵为{e1 c,e2 c,...,eT c}。其中ei c为第i个字符对应的字符特征向量。
本发明将字符向量集合为{e1 c,e2 c,...,eT c}输入到第一层自注意力机制模型中,以获得对文本分类有贡献的字符自注意力特征向量。计算方法如下:
其中,al c表示el c对应的权重,字符自注意力向量Vc中的信息包含每个字符向量语义编码对于文本分类的重要程度。对字符自注意力向量Vc再次进行加权求和,合并上下文信息得到词向量矩阵{e1 w,e2 w,...el1 w}。其中ei w表示每个新闻数据集中第i个词的特征向量,l1表示新闻数据集最长一个新闻数据集词的数量。
本发明将第一层自注意力机制模型得到的词向量{e1 w,e2 w,...el1 w}输入到第二层自注意力机制模型中以获得对文本分类有贡献的词自注意力向量。计算方法如下:
其中,at w表示对应et w的权重,词注意力向量Vw中的信息包含每个词向量语义编码对于文本分类的重要程度。对词自注意力向量Vw再次进行加权求和,合并上下文信息得到句向量Vd。最终将句向量送入到softmax分类器。
对于输出层,将经过双层自注意力机制得到的特征向量通过softmax分类器,从而得到最终的文本分类结果。
传统的文本分类多数只利用单层深度神经网络结构,这样的网络结构对特征的捕获不是很充分,且传统的文本分类不关注字符特征的信息,它还认为文本中所有特征的重要性都相同。本发明具有三个个优点,一是字符层面的文本分类不需要使用预训练好的词向量和语法句法结构等信息,并且字符层面的文本分类可以很容易的推广到所有语言中。二是自注意力机制解决了在分类过程中,因为所有特征的重要性都相同而引入噪音问题。三是在自注意力机制的基础上构造层次自注意力机制网络,捕获文本结构的复合特征,提高分类精确度。
Claims (8)
1.一种基于字符与自注意力机制的层次文本分类方法,其特征在于,包括以下步骤:
步骤一,构建字符表,设计一个大小为m的字符表;
步骤二,对字符表中的字符使用one-hot编码,用于将类别变量转化为机器学习算法,经过one-hot编码后,字符表中的每一个字符都转化为维度为m的one-hot向量;外加一个维度为m的one-hot全零向量表示空白字符,用于处理不在该字符表中的字符;
步骤三,选择原始数据集,对原始数据集进行预处理,获得预处理后的数据集;进行预处理的所述原始数据集来自AG's news新闻分类数据集;
步骤四,对数据集中的文本字符进行编码,建立字符向量,对字符向量使用第一层自注意力机制得到字符自注意力机制向量,新闻分类数据集中每个新闻数据包括不同的单词,每个单词包括不同的字符,每个字符具有长度;将每个新闻数据的单词都转化成固定长度为l0的矢量形式,忽略掉长度超过l0的任何字符,其中每个字符是m维的向量,最终将每个新闻数据的单词表示为m*l0的字符矩阵,然后将字符矩阵作为输入序列,传入自注意力机制中,设每个新闻数据的单词对应一个矩阵X=(x1,x2,…xt),其中xi表示单词的第i个字符的字符向量,则将每个单词对应的字符矩阵X与每个字符xt进行比较,最后算出每个字符的自注意力机制向量yt表示如下:
yt=f(xt,X,X);合并字符自注意力机制向量的上下文信息到单词向量中;
步骤五,根据步骤四中得到的单词向量,对单词向量使用第二层自注意力机制得到单词自注意力机制向量,合并单词自注意力机制向量上下文信息得到句子向量;
步骤六,将所述句子向量输入到softmax分类器,通过softmax分类器输出文本分类结果。
2.根据权利要求1所述的一种基于字符与自注意力机制的层次文本分类方法,其特征在于:步骤一中,所述字符表包含“abcdefghijklmnopqrstuvwxyz0123456789-,;.!?:'"\\|_@#$%^&*~`+-=<>()[]{}”,和一个用于处理不在该字符表中的空白字符<UK>。
3.根据权利要求2所述的一种基于字符与自注意力机制的层次文本分类方法,其特征在于,所述m为70。
4.根据权利要求3所述的一种基于字符与自注意力机制的层次文本分类方法,其特征在于,步骤三中,所述对原始数据集进行预处理的方式为去除无意义的词或无用的标点符号或无用的数字。
5.一种基于注意力机制和特征强化融合的中文文本分类方法,具体包括如下步骤:
步骤一:构建字符表,设计一个大小为m的字符表,使用one-hot编码,编码过程中,设计一个大小m为70的字典,将字符表的字符用NumPy技术处理,存储在字典中;
步骤二:字符表中的每个字符经过one-hot编码后,得到一个大小为70维的向量表示形式,其中字符表中的空白字符则表示为70维的全零向量,用集合{c1,c2,...,cm}对应字符表的字符向量,ci表示向量表里的第i个字符向量,m等于70,是字符的维度;
步骤三:选择原始数据集,创建停用词表,遍历整个原始数据集,根据停用词表去除一些无意义的词、无用的标点符号以及数字,得到预处理后的数据集;
步骤四:对每个预处理后的数据集的单词字符进行one-hot编码,最后将ont-hot编码后的字符向量通过word2vec模型训练字符特征向量;
预处理后的分类数据集中每个预处理数据包括不同的单词,每个单词又包括不同的字符,每个字符具有长度,首先将每个数据的单词都转化成固定长度为l0的矢量形式,长度超过l0的任何字符都被忽略掉,其中每个字符是m维的向量,最终将每个数据的单词表示为m*l0的字符矩阵,然后将字符矩阵作为输入序列,传入自注意力机制中,获得字符自注意力机向量矩阵[V1 1,V1 2...V1 l0],每个词的字符向量矩阵的大小为m*l0,其中V1 i表示词中的第i个字符对应的字符特征向量,对字符向量矩阵进行加权求和,合并上下文信息得到词向量V2;
步骤五:将步骤四每个数据集得到的词向量构建成词向量矩阵[V2 1,V2 2...V2 n],其中V2 i表示每个数据中第i个词的词特征向量,n表示每个数据集的大小,在词向量矩阵上使用自注意力机制,获得词自注意力机制向量矩阵V3,对词向量进行加权求和,合并上下文信息得到句向量V4;
步骤六:将经过双层自注意力机制得到的句向量V4作为文本特征,输入softmax分类器预测文本类别。
6.如权利要求5所述的一种基于注意力机制和特征强化融合的中文文本分类方法,其特征在于,
在步骤四中,将ont-hot编码后的字符向量通过word2vec模型训练字符特征向量的具体方法为:
在输入层,假设{x1,x2,...xT}为数据集中每个词的one-hot字符矩阵向量,xi是词中的第i个字符向量,word2vec的任务就是利用xi前后各a个字符去预测xi,则目标函数为:
其中J表示训练字符向量的目标函数,L表示字符矩阵中的字符数量,xi+s表示第i个字符的前后s个字符,p(xi|xi+s)表示前后字符xi在前后各a个字符出现的条件下的xi出现的概率;
在投影层中,word2vec模型通过嵌入矩阵Wc∈RL×M将xi投影到一个M维的特征空间中:
其中,ei c表示xi经过投影后的向量,在输出层中,通过随机梯度上升算法对嵌入矩阵Wc进行更新,使得J最大化,当J达到最大是输出的ei c即是第i个字符对应的字符特征向量,将每个词的one-hot字符矩阵通过word2vec模型训练,最终得到字符特征向量矩阵为{e1 c,e2 c,...,eT c},其中ei c为第i个字符对应的字符特征向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911012774.5A CN110825845B (zh) | 2019-10-23 | 2019-10-23 | 一种基于字符与自注意力机制的层次文本分类方法及中文文本分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911012774.5A CN110825845B (zh) | 2019-10-23 | 2019-10-23 | 一种基于字符与自注意力机制的层次文本分类方法及中文文本分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110825845A CN110825845A (zh) | 2020-02-21 |
CN110825845B true CN110825845B (zh) | 2022-09-23 |
Family
ID=69550306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911012774.5A Active CN110825845B (zh) | 2019-10-23 | 2019-10-23 | 一种基于字符与自注意力机制的层次文本分类方法及中文文本分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825845B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460142B (zh) * | 2020-03-06 | 2022-09-23 | 南京邮电大学 | 一种基于自注意力卷积神经网络的短文本分类方法及系统 |
CN111368087B (zh) * | 2020-03-23 | 2022-07-15 | 中南大学 | 基于多输入注意力网络的中文文本分类方法 |
CN111899292A (zh) * | 2020-06-15 | 2020-11-06 | 北京三快在线科技有限公司 | 文字识别方法、装置、电子设备及存储介质 |
CN111738017B (zh) * | 2020-06-24 | 2024-09-10 | 深圳前海微众银行股份有限公司 | 一种意图识别方法、装置、设备及存储介质 |
CN111814468B (zh) * | 2020-07-09 | 2021-02-26 | 前海企保科技(深圳)有限公司 | 一种自适应架构语义分布文本理解方法及系统 |
CN111858933B (zh) * | 2020-07-10 | 2024-08-06 | 暨南大学 | 基于字符的层次化文本情感分析方法及系统 |
CN112463959A (zh) * | 2020-10-29 | 2021-03-09 | 中国人寿保险股份有限公司 | 一种基于上行短信的业务处理方法及相关设备 |
CN112307209B (zh) * | 2020-11-05 | 2024-04-26 | 江西高创保安服务技术有限公司 | 一种基于字符向量的短文本分类方法及系统 |
CN112347267B (zh) * | 2020-11-06 | 2024-05-10 | 北京乐学帮网络技术有限公司 | 一种文本处理方法、装置、计算机设备及存储介质 |
CN112800756B (zh) * | 2020-11-25 | 2022-05-10 | 重庆邮电大学 | 一种基于prado的实体识别方法 |
CN112541364A (zh) * | 2020-12-03 | 2021-03-23 | 昆明理工大学 | 融合多层次语言特征知识的汉越神经机器翻译的方法 |
CN112712117B (zh) * | 2020-12-30 | 2024-03-26 | 银江技术股份有限公司 | 一种基于全卷积注意力的多元时间序列分类方法及系统 |
CN112949476B (zh) * | 2021-03-01 | 2023-09-29 | 苏州美能华智能科技有限公司 | 基于图卷积神经网络的文本关系检测方法、装置及存储介质 |
CN113297374B (zh) * | 2021-04-29 | 2023-09-12 | 军事科学院系统工程研究院网络信息研究所 | 一种基于bert和字词特征融合的文本分类方法 |
CN113051897B (zh) * | 2021-05-25 | 2021-09-10 | 中国电子科技集团公司第三十研究所 | 一种基于Performer结构的GPT2文本自动生成方法 |
CN113243886B (zh) * | 2021-06-11 | 2021-11-09 | 四川翼飞视科技有限公司 | 一种基于深度学习的视力检测系统、方法和存储介质 |
CN113505218B (zh) * | 2021-09-07 | 2021-12-21 | 科大讯飞(苏州)科技有限公司 | 文本提取方法、文本提取系统、电子设备和存储装置 |
CN114154493B (zh) * | 2022-01-28 | 2022-06-28 | 北京芯盾时代科技有限公司 | 一种短信类别的识别方法及装置 |
CN114757184B (zh) * | 2022-04-11 | 2023-11-10 | 中国航空综合技术研究所 | 实现航空领域知识问答的方法和系统 |
CN116049349B (zh) * | 2022-05-11 | 2024-09-20 | 北京理工大学 | 基于多层次注意力和层次类别特征的小样本意图识别方法 |
CN114638222B (zh) * | 2022-05-17 | 2022-08-16 | 天津卓朗科技发展有限公司 | 自然灾害数据的分类方法及其模型训练方法、装置 |
CN116308754B (zh) * | 2023-03-22 | 2024-02-13 | 广州信瑞泰信息科技有限公司 | 一种银行信贷风险预警系统及其方法 |
CN116405326B (zh) * | 2023-06-07 | 2023-10-20 | 厦门瞳景智能科技有限公司 | 基于区块链的信息安全管理方法及其系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595590A (zh) * | 2018-04-19 | 2018-09-28 | 中国科学院电子学研究所苏州研究院 | 一种基于融合注意力模型的中文文本分类方法 |
CN108717439A (zh) * | 2018-05-16 | 2018-10-30 | 哈尔滨理工大学 | 一种基于注意力机制和特征强化融合的中文文本分类方法 |
CN109214002A (zh) * | 2018-08-27 | 2019-01-15 | 成都四方伟业软件股份有限公司 | 一种文本对比方法、装置及其计算机存储介质 |
CN109902175A (zh) * | 2019-02-20 | 2019-06-18 | 上海方立数码科技有限公司 | 一种基于神经网络结构模型的文本分类方法及分类系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10803055B2 (en) * | 2017-12-15 | 2020-10-13 | Accenture Global Solutions Limited | Cognitive searches based on deep-learning neural networks |
-
2019
- 2019-10-23 CN CN201911012774.5A patent/CN110825845B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595590A (zh) * | 2018-04-19 | 2018-09-28 | 中国科学院电子学研究所苏州研究院 | 一种基于融合注意力模型的中文文本分类方法 |
CN108717439A (zh) * | 2018-05-16 | 2018-10-30 | 哈尔滨理工大学 | 一种基于注意力机制和特征强化融合的中文文本分类方法 |
CN109214002A (zh) * | 2018-08-27 | 2019-01-15 | 成都四方伟业软件股份有限公司 | 一种文本对比方法、装置及其计算机存储介质 |
CN109902175A (zh) * | 2019-02-20 | 2019-06-18 | 上海方立数码科技有限公司 | 一种基于神经网络结构模型的文本分类方法及分类系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110825845A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825845B (zh) | 一种基于字符与自注意力机制的层次文本分类方法及中文文本分类方法 | |
US11631007B2 (en) | Method and device for text-enhanced knowledge graph joint representation learning | |
CN111209401A (zh) | 网络舆情文本信息情感极性分类处理系统及方法 | |
CN110609897A (zh) | 一种融合全局和局部特征的多类别中文文本分类方法 | |
CN110263325B (zh) | 中文分词系统 | |
CN112749274B (zh) | 基于注意力机制和干扰词删除的中文文本分类方法 | |
CN111858932A (zh) | 基于Transformer的多重特征中英文情感分类方法及系统 | |
CN110781290A (zh) | 一种长篇章结构化文本摘要提取方法 | |
CN113987187A (zh) | 基于多标签嵌入的舆情文本分类方法、系统、终端及介质 | |
CN111753058A (zh) | 一种文本观点挖掘方法及系统 | |
CN114462420A (zh) | 一种基于特征融合模型的虚假新闻检测方法 | |
CN113094502A (zh) | 一种多粒度外卖用户评论情感分析方法 | |
CN113051887A (zh) | 一种公告信息元素抽取方法、系统及装置 | |
CN113312912A (zh) | 一种用于交通基础设施检测文本的机器阅读理解方法 | |
CN111858933A (zh) | 基于字符的层次化文本情感分析方法及系统 | |
CN112183106A (zh) | 一种基于音素联想及深度学习的语义理解方法及装置 | |
CN115759119B (zh) | 一种金融文本情感分析方法、系统、介质和设备 | |
CN112199503B (zh) | 一种基于特征增强的非平衡Bi-LSTM的中文文本分类方法 | |
CN113255360A (zh) | 基于层次化自注意力网络的文档评级方法和装置 | |
Mu et al. | MOCOLNet: A Momentum Contrastive Learning Network for Multimodal Aspect-Level Sentiment Analysis | |
Hung | Vietnamese diacritics restoration using deep learning approach | |
CN112948588B (zh) | 一种用于情报快速整编的中文文本分类方法 | |
CN118171149B (zh) | 标签分类方法、装置、设备、存储介质和计算机程序产品 | |
CN113779966A (zh) | 一种基于注意力的双向cnn-rnn深度模型的蒙文情感分析方法 | |
CN114818711B (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 |