一种文本分类方法、装置、计算机设备及存储介质
文献发布时间:2023-06-19 11:02:01
技术领域
本发明涉及计算机软件应用技术领域,特别涉及一种文本分类方法、装置、计算机设备及存储介质。
背景技术
文本分类是自然语言处理领域中的常见任务。近年来,从传统基于特征工程+机器学习分类技术,诸如基于TF-IDF(词频-逆文档频率)提取特征再训练机器学习分类器,到将各种基于CNN(卷积神经网络)、RNN(循环神经网络)的深度学习方法引入文本分类领域中,使得文本分类的准确率已经得到了很大提高。但现有方法从整体上而言,依然是着眼于局部特征的捕捉,从整体文档层面获取更高层面、更隐含信息的技术手段依然有限,因此文本分类的准确率仍有提升空间。
例如,论文《Graph Convolutional Networks for Text Classification》利用图卷积神经网络GCN提取文档的更深层次信息。构造了包含文档节点和词节点组成的图,词节点之间以TF-IDF(term frequency–inverse document frequency,一种用于信息检索与数据挖掘的常用加权技术)信息为边权重,文档节点和词节点之间则用PMI(Pointwisemutual information,逐点互信息)信息-词共现信息为边的权重,并用两层GCN提取信息,最后用softmax分类函数输出类别标签。其虽然考虑了文档和词之间的隐含联系,但忽略了其它重要信息,例如对于文档和句子之间的隐含特征尚未考虑;其次采用GCN对整个图进行卷积操作的方式显得比较粗糙。
发明内容
本发明实施例提供了一种文本分类方法、装置、计算机设备及存储介质,旨在提高文本分类精度。
第一方面,本发明实施例提供了一种文本分类方法,包括:
获取待进行文本分类的文档,对所述文档进行分词;
基于分词结果构建包含四种类型节点的图网络,并对所述图网络设置对应的图网络矩阵,其中,所述四种类型节点是指所述文档的文档节点、所述文档中的段落节点、段落中的句子节点以及句子中的词节点;
根据所述图网络矩阵构建目标邻接矩阵;
对所述四种类型节点进行子图聚类,并结合所述图网络矩阵拼接得到目标图网络矩阵;
将所述目标邻接矩阵输入至图卷积神经网络,并由所述图卷积神经网络输出所述文档对应的图隐含向量,然后利用分类函数对所述图隐含向量进行分类,得到所述文档的分类结果。
第二方面,本发明实施例提供了一种文本分类装置,包括:
分词单元,用于获取待进行文本分类的文档,对所述文档进行分词;
第一构建单元,用于基于分词结果构建包含四种类型节点的图网络,并对所述图网络设置对应的图网络矩阵,其中,所述四种类型节点是指所述文档的文档节点、所述文档中的段落节点、段落中的句子节点以及句子中的词节点;
第二构建单元,用于根据所述图网络矩阵构建目标邻接矩阵;
第一聚类单元,用于对所述四种类型节点进行子图聚类,并结合所述图网络矩阵拼接得到目标图网络矩阵;
第一分类单元,用于将所述目标图网络矩阵和目标邻接矩阵输入至图卷积神经网络,并由所述图卷积神经网络输出所述文档对应的图隐含向量,然后利用分类函数对所述图隐含向量进行分类,得到所述文档的分类结果。第三方面,本发明实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的文本分类方法。
第四方面,本发明实施例提供了一种计算机可读存储介质所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的文本分类方法。
本发明实施例提供了一种文本分类方法、装置、计算机设备及存储介质,该方法包括:获取待进行文本分类的文档,对所述文档进行分词;基于分词结果构建包含四种类型节点的图网络,并对所述图网络设置对应的图网络矩阵,其中,所述四种类型节点是指所述文档的文档节点、所述文档中的段落节点、段落中的句子节点以及句子中的词节点;根据所述图网络矩阵构建目标邻接矩阵;对所述四种类型节点进行子图聚类,并结合所述图网络矩阵拼接得到目标图网络矩阵;将所述目标邻接矩阵和目标图网络矩阵输入至图卷积神经网络,并由所述图卷积神经网络输出所述文档对应的图隐含向量,然后利用分类函数对所述图隐含向量进行分类,得到所述文档的分类结果。本发明实施例从包括词、句子、段落、文档等多个维度考虑了不同的语义特征,采用图卷积神经网络提取深层次语义特征,使得文本分类更为准确。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种文本分类方法的流程示意图;
图2为本发明实施例提供的一种文本分类方法中第一邻接矩阵构建的流程示意图;
图3为本发明实施例提供的一种文本分类装置的示意性框图;
图4为本发明实施例提供的一种文本分类装置的子示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
下面请参见图1,图1为本发明实施例提供的一种文本分类方法的流程示意图,具体包括:步骤S101~S106。
S101、获取待进行文本分类的文档,对所述文档进行分词;
S102、基于分词结果构建包含四种类型节点的图网络,并对所述图网络设置对应的图网络矩阵,其中,所述四种类型节点是指所述文档的文档节点、所述文档中的段落节点、段落中的句子节点以及句子中的词节点;
S103、根据所述图网络矩阵构建目标邻接矩阵;
S104、对所述四种类型节点进行子图聚类,并结合所述图网络矩阵拼接得到目标图网络矩阵;
S105、将所述目标邻接矩阵和目标图网络矩阵输入至图卷积神经网络,并由所述图卷积神经网络输出所述文档对应的图隐含向量,然后利用分类函数对所述图隐含向量进行分类,得到所述文档的分类结果。
本实施例中,在进行文本分类时,首先对待进行分本分类的文档进行分词处理,并基于分词结果构建图网络以及对应的图网络矩阵,所述图网络包含文档、文档中的段落、段落中的句子以及句子中的词。然后为所述图网络矩阵设置对应的邻接矩阵,即所述目标邻接矩阵,并根据所述图网络包含的四种类型节点进行子图聚类,并结合所述图网络矩阵,即可拼接得到所述目标图网络矩阵,再利用图卷积神经网络对所述目标邻接矩阵和图网络矩阵进行处理,以及利用分类函数对所述图卷积神经网络的输出结果进行分类,即可得到最终的文本分类结果。
本实施例从包括词、句子、段落、文档等多个维度考虑了不同的语义特征,采用图卷积神经网络提取深层次语义特征,可以增强文本分类的效果,提高文本分类的准确度。可以理解的是,本实施中所述的获取待进行文本分类的文档,对所述文档进行分词步骤中,由于分词技术已经非常成熟,现有较多分词工具,因此可以根据具体的应用场景选择恰当的分词方法。
在一实施例中,所述步骤S102包括:
采用一位有效编码对所述文档进行特征表示,从而得到所述文档节点、段落节点和句子节点;
基于word2vec方法,并根据所述分词结果对所述文档进行词嵌入向量表示,然后将词嵌入向量作为所述词节点;
基于所述文档节点、段落节点、句子节点和词节点构建所述图网络;
将设置所述图网络的图网络矩阵为X∈R
本实施例中,构造包含文档、文档中的段落、段落中的句子以及句子中的词四种类型节点的图网络,且所述图网络中的文档节点、段落节点、句子节点与词节点的向量维度一致。并为所述图网络设置对应的图网络矩阵x∈R
在一实施例中,所述步骤S103包括:
构建所述词节点与其他类型节点的第一邻接矩阵,以及构建所述句子节点与其他类型节点的第二邻接矩阵和构建所述段落节点与其他类型节点的第三邻接矩阵;
将所述第一邻接矩阵、第二邻接矩阵和第三邻接矩阵拼接为所述目标邻接矩阵。
本实施例中,在对所述图网络矩阵设置对应的邻接矩阵时,由于所述图网络中包含了四种类型的节点,因此可以根据不同类型节点分别构建对应类型节点的邻接矩阵,然后将各类型节点的邻接矩阵拼接为所述图网络矩阵对应的邻接矩阵,即所述目标邻接矩阵。
在一实施例中,如图2所示,所述构建所述词节点与其他类型节点的第一邻接矩阵,包括:
S201、按照下式对各词节点之间的第一边权重进行计算:
式中,Wt
S202、根据语义角色标准获取每一句子中的每一词的语义角色权重,以及根据词性分类标准获取每一句子中的每一词的词性角色权重,然后按照下式对词节点与句子节点之间的第二边权重进行计算:
Wt
式中,Wt
S203、获取词节点在段落节点中出现的次数,并获取词节点在对应的段落中的位置次序,然后按照下式对词节点与段落节点之间的第三边权重进行计算:
Wt
式中,Wt
S204、获取词节点在文档节点中出现的次数,并获取词节点在对应的文档中的位置次序,然后对词节点与文档节点之间的第四边权重进行计算;
S205、根据所述第一边权重、第二边权重、第三边权重和第四边权重构建所述第一邻接矩阵。
本实施例中,在对所述词节点构建第一邻接矩阵时,首先计算词节点与词节点之间的第一边权重,再计算词节点与句子节点之间的第二边权重,然后计算词节点与段落节点之间的第三边权重以及计算词节点与文档节点之间的第四边权重,再基于所述第一边权重、第二边权重、第三边权重和第四边权重即可构建所述第一邻接矩阵。本实施例从包括词、句子、段落、文档等多个维度考虑了不同的语义特征,使构建得到的邻接矩阵能够充分包含不同的语义特征,进而使构建得到的邻接矩阵更加准确,有说服力。需要说明的是,在计算所述第一边权重时,其中采用的各词节点之间的编辑距离可通过常规手段计算得到,各词节点之间的相似度则可以利用余弦相似度计算得到,或者是利用欧氏距离等方法获取。
在另一实施例中,所述构建所述句子节点与其他类型节点的第二邻接矩阵,包括:
利用卷积神经网络所述句子节点提取特征,得到对应句子的句向量,然后根据所述句向量进行余弦相似度计算,得到句子节点与句子节点之间的边权重;
采用TextRank方法(一种关键词提取方法),以句子节点与句子节点之间的边权重为分子,以对应的段落中的所有句子节点与句子节点之间的边权重为分母,计算得到句子节点与段落节点之间的边权重;
采用TextRank方法,以句子节点与句子节点之间的边权重为分子,以对应的文档中的所有句子节点与句子节点之间的边权重为分母,计算得到句子节点与文档节点之间的边权重;
根据句子节点与句子节点之间的边权重、句子节点与段落节点之间的边权重和句子节点与文档节点之间的边权重构建所述第二邻接矩阵。
在另一实施例中,所述构建所述段落节点与其他类型节点的第二邻接矩阵,包括:
利用卷积神经网络对段落节点对应的段落进行特征提取,得到段落向量,将两个段落向量之间的余弦相似度作为两个段落节点之间的边权重;
采用TextRank方法,以段落边权重为分子,以对应的文档中的所有段落节点之间的边权重为分母,计算得到段落节点与文档节点之间的边权重;
根据段落节点与段落节点之间的边权重和段落节点与文档节点之间的边权重构建所述第二邻接矩阵。
在一实施例中,所述步骤S104包括:
基于同类型的节点进行子图聚类,并结合所述图网络矩阵得到第一组合特征,以及基于不同类型的节点进行子图聚类,并结合所述图网络矩阵得到第二组合特征;
对所述第一组合特征、第二组合特征进行拼接,得到所述目标图网络矩阵。
本实施例中,由于所述图网络中包含四种类型节点,因此在进行子图聚类时,一方面可以基于同类型的节点进行子图聚类,例如将词节点与词节点进行聚类,将句子节点与句子节点进行聚类等,另一方面还可以基于不同类型的节点进行子图聚类,例如将词节点和句子节点进行聚类等等,通过上述两方面的子图聚类,可以使得到的目标图网络矩阵更加准确可靠,进而提高最终的分类精度。
在一实施例中,所述基于同类型的节点进行子图聚类,并结合所述图网络矩阵得到第一组合特征,包括:
分别按照文档节点、段落节点、句子节点和词节点进行子图聚类;
获取聚类后的所有子图中的节点的平均特征向量,并将所述平均特征向量与所述图网络矩阵中的节点特征拼接为所述第一组合特征。
本实施例中,在基于同类型的节点进行子图聚类时,首先分别进行文档节点与文档节点的聚类、段落节点与段落节点的聚类、句子节点与句子节点的聚类以及词节点与词节点的聚类,当然,在实际应用场景中,文档节点或者段落节点等可能只存在一个,此时只需将这一个文档节点或者段落节点等归类。在得到多个类别的子图后,获取所有子图节点的平均特征向量,然后结合所述图网络矩阵得到所述第一组合特征。
在另一实施例中,所述基于不同类型的节点进行子图聚类,并结合所述图网络矩阵得到第二组合特征,包括:
本实施例中,所述图网络中包含的四种类型节点之间具有层次关系,具体的,词节点隶属于句子节点,句子节点隶属于段落节点,段落节点隶属于文档节点,本实施例将不同类型的节点进行子图聚类,即是将每一类型节点与其他类型节点进行聚类。同样的,获取聚类后的所有子图节点的平均特征向量,并进一步的,利用机器学习方法对平均特征向量分配特征权重,然后与所述图网络矩阵拼接成为所述第二组合特征。
在一实施例中,所述步骤S106包括:
按照下式对所述目标邻接矩阵进行计算:
式中,
按照下式计算图隐含向量:
式中,L
利用分类函数对所述图隐含向量进行分类,得到所述文档的分类结果。
本实施例中,将所述目标邻接矩阵输入至所述图卷积网络中,由所述图卷积网络对所述目标邻接矩阵进行计算,并输出对应的图隐含向量。在利用所述图卷积网络输出图隐含向量的实际应用场景中,所述图卷积网络包含的层数可以根据实际情况灵活设置,以便输出精确度较高的图隐含向量。然后利用分类函数(例如softmax函数等)对图隐含向量进行分类,从而可以得到图隐含向量对应的文档的分类结果。
在一具体实施例中,按照下式对所述图隐含向量进行分类:
式中,X为分类结果,W
在另一实施例中,利用交叉熵损失函数和优化方法对所述图卷积神经网络进行优化更新。利用采用Adam算法或者SGD算法(即随机梯度下降算法)等等。
图3为本发明实施例提供的一种文本分类装置300的示意性框图,该装置300包括:
分词单元301,用于获取待进行文本分类的文档,对所述文档进行分词;
第一构建单元302,用于基于分词结果构建包含四种类型节点的图网络,并对所述图网络设置对应的图网络矩阵,其中,所述四种类型节点是指所述文档的文档节点、所述文档中的段落节点、段落中的句子节点以及句子中的词节点;
第二构建单元303,用于根据所述图网络矩阵构建目标邻接矩阵;
第一聚类单元304,用于对所述四种类型节点进行子图聚类,并结合所述图网络矩阵拼接得到目标图网络矩阵;
第一分类单元305,用于将所述目标图网络矩阵和目标邻接矩阵输入至图卷积神经网络,并由所述图卷积神经网络输出所述文档对应的图隐含向量,然后利用分类函数对所述图隐含向量进行分类,得到所述文档的分类结果。
在一实施例中,所述第一构建单元302包括:
特征表示单元,用于采用一位有效编码对所述文档进行特征表示,从而得到所述文档节点、段落节点和句子节点;
向量表示单元,用于基于word2vec方法,并根据所述分词结果对所述文档进行词嵌入向量表示,然后将词嵌入向量作为所述词节点;
第三构建单元,用于基于所述文档节点、段落节点、句子节点和词节点构建所述图网络;
矩阵设置单元,用于将设置所述图网络的图网络矩阵为X∈R
在一实施例中,所述第二构建单元303包括:
第四构建单元,用于构建所述词节点与其他类型节点的第一邻接矩阵,以及构建所述句子节点与其他类型节点的第二邻接矩阵和构建所述段落节点与其他类型节点的第三邻接矩阵;
第一拼接单元,用于将所述第一邻接矩阵、第二邻接矩阵和第三邻接矩阵拼接为所述目标邻接矩阵。
在一实施例中,如图4所示,所述第四构建单元包括:
第一计算单元401,用于按照下式对各词节点之间的第一边权重进行计算:
式中,Wt
第二计算单元402,用于根据语义角色标准获取每一句子中的每一词的语义角色权重,以及根据词性分类标准获取每一句子中的每一词的词性角色权重,然后按照下式对词节点与句子节点之间的第二边权重进行计算:
Wt
式中,Wt
第三计算单元403,用于获取词节点在段落节点中出现的次数,并获取词节点在对应的段落中的位置次序,然后按照下式对词节点与段落节点之间的第三边权重进行计算:
Wt
式中,Wt
第四计算单元404,用于获取词节点在文档节点中出现的次数,并获取词节点在对应的文档中的位置次序,然后对词节点与文档节点之间的第四边权重进行计算;
第五构建单元405,用于根据所述第一边权重、第二边权重、第三边权重和第四边权重构建所述第一邻接矩阵。
在一实施例中,所述第一聚类单元304包括:
第一组合单元,用于基于同类型的节点进行子图聚类,并结合所述图网络矩阵得到第一组合特征,以及基于不同类型的节点进行子图聚类,并结合所述图网络矩阵得到第二组合特征;
第二拼接单元,用于对所述第一组合特征、第二组合特征进行拼接,得到所述目标图网络矩阵。
在一实施例中,所述第一组合单元包括:
第二聚类单元,用于分别按照文档节点、段落节点、句子节点和词节点进行子图聚类;
第二组合单元,用于获取聚类后的所有子图中的节点的平均特征向量,并将所述平均特征向量与所述图网络矩阵中的节点特征拼接为所述第一组合特征。
在一实施例中,所述第一分类单元306包括:
矩阵计算单元,用于按照下式对所述目标邻接矩阵进行计算:
式中,
图隐含向量计算单元,用于按照下式计算图隐含向量:
式中,L
第二分类单元,用于利用分类函数对所述图隐含向量进行分类,得到所述文档的分类结果。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本发明实施例还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种计算机设备,可以包括存储器和处理器,存储器中存有计算机程序,处理器调用存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然计算机设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
- 文本分类方法、文本分类装置、计算机设备及存储介质
- 一种文本分类方法、装置、设备及计算机可读存储介质