一种基于超图的文本分类方法与流程

文档序号:20684602发布日期:2020-05-08 18:43阅读:475来源:国知局
一种基于超图的文本分类方法与流程
本发明涉及机器学习
技术领域
,特别是涉及一种基于超图的文本分类方法。
背景技术
:表示目标和目标间关系的图在现实生活中处处存在,比如社交网络,电子商务网络,生物网络和交通网络等。同时由于蕴含着丰富的潜在信息,图也被公认为是可以深刻理解的结构。过去十年中,图深度学习成为人工智能和机器学习中极为重要的部分,在音频、图像和自然语言处理等方面表现出优越的性能,在提取数据中潜在复杂模式方面有着明显的效果。超图的本质特征在于它的超边,超边的度数可以大于2,能够同时连接多个结点,普通的图是超图的一个特例。目前的很多工作是将现实生活中的事物抽象为两两对应关系,但是存在很大部分非点对的关系的事物,例如社交网络中的社区、推荐系统中用户或商品的标签、图像检索中的物品等。目前,基于超图的图深度学习模型还不成熟,同时超图在数据挖掘中也被很多研究者忽略。现有文本分类方法通常将语料库中的文本视为相互独立的样本,使用循环神经网络、支持向量机等模型,单独为每一段文本预测类别,没有对文本之间的关系进行建模。另外,使用循环神经网络进行文本分类时,当文本长度过长,循环神经网络难以捕获文本所表达的含义,模型效果较差。技术实现要素:本发明的目的是提供一种基于超图的文本分类方法,以解决上述现有技术存在的问题,能够对文本进行准确分类。为实现上述目的,本发明提供了如下方案:本发明提供一种基于超图的文本分类方法,包括如下步骤:步骤一、构建语料库和语料库的关键词库,基于语料库生成超图,得到超图的超边和结点;步骤二、基于共现窗口计算关键词库中任意两个关键词的共现频数,得到关键词的邻接矩阵;步骤三、对语料库中的每一个文档使用超边向量表示,并将所有超边向量进行拼接,形成超边矩阵;步骤四、根据语料库中任意两个文档中所包括的关键词,计算超边之间的相似度,构建超边的相似度矩阵;步骤五、将关键词库中的关键词使用词向量表示,构建由词向量组成的超图结点特征矩阵;步骤六、使用图神经网络模型对超边进行分类,得到语料库中每个文档类别的第一次预测概率;步骤七、基于文档的真实标签,采用随机梯度下降算法更新图神经网络模型的参数矩阵,并将训练后的参数矩阵代入图神经网络模型,完成语料库中无标签文本的分类。优选地,所述步骤一中,语料库由若干个文档构成,将语料库中的所有文档进行分词、去停用词处理,并计算每个文档的tf-idf值,取所有文档中tf-idf值大于阈值p的单词构成语料库的关键词库,其中0<p<1;基于语料库生成超图,将关键词库中的关键词作为超图的结点,语料库中的每个文档作为超图中的一个超边;将语料库中的每个文档均表示为关键词库中关键词的集合。优选地,所述步骤二中,设定词共现窗口大小q,q>1,根据共现窗口计算关键词库中所有关键词在语料库的所有文档中的共现频数,并进行共现频数的归一化,得到关键词的邻接矩阵。优选地,所述步骤三中,对语料库中的每一个文档,分别通过超边向量来表示,其中,超边定义为超图的结点集合的一个非空子集,超边向量中的每个元素表示关键词在该文档中的权重,关键词在文档中权重的具体定义方法为:若关键词出现在该文档中,则使用归一化后的tf-idf值作为权重,对于文档中未出现的关键词,将其权重设置为0;将语料库中的每一个文档的超边向量进行拼接,形成超边矩阵。优选地,所述步骤四中超边的相似度矩阵的具体构建方法为:统计语料库中任意两个文档所包括的关键词的交集和并集,使用jaccard系数计算超边之间的相似度,构建超边的相似度矩阵。优选地,所述步骤六中图神经网络模型定义如公式1所示:其中,x′为超边的状态向量,表示为h为超边矩阵,x为超图结点特征矩阵;a为关键词的邻接矩阵,s为超边的相似度矩阵,ia为维度与矩阵a相同的单位矩阵,is为维度与矩阵s相同的单位矩阵;分别是矩阵的度矩阵;分别为结点和超边的拉普拉斯矩阵,用于图卷积运算;w为可学习的参数矩阵,用于对输入的特征矩阵进行线性变换;o为图神经网络模型的输出,输出语料库中每个文档类别的预测概率。优选地,所述步骤七具体包括:首先,采用随机梯度下降算法随机选取训练样本,计算训练样本的类别预测概率和文档的真实标签的交叉熵损失;其次,分别计算交叉熵损失对于参数矩阵w1、w2的梯度,并更新参数矩阵w1和w2的值,如公式2所示;训练集上的一次迭代包括样本类别预测、计算交叉熵损失、计算参数矩阵梯度、更新参数矩阵四步,经过固定的迭代次数后,得到最终的参数矩阵w1和w2;其中,w代表可学习的参数矩阵,α为学习率,控制参数更新的步长,为交叉熵损失函数对参数w的梯度;再次,将训练后的参数矩阵w1和w2代入图神经网络模型,得到语料库中每个文档类别的最终预测概率,完成语料库中无标签文本的分类。本发明公开了以下技术效果:本发明基于超图的文本分类方法,将文档表示为超图中的超边,将语料库中的关键词作为超图的结点,在对单篇文档进行类别预测的过程中,通过超边矩阵、超边相似度矩阵、结点特征矩阵构建图深度学习模型,通过图深度学习模型计算文档类别的第一次预测概率,并结合已知文档标签和第一次预测概率的交叉熵损失对图深度学习模型的学习矩阵参数进行更新,实现了对语料库中无标签文本的准确分类。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明基于超图的文本分类流程图;图2为本发明实施例中文档构成的超图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。本发明基于超图的文本分类方法能够应用于评论分类、新闻分类、欺诈检测等多个领域,参照图1-2所示,本实施例提供一种应用于新闻分类的基于超图的文本分类方法,包括如下步骤:步骤一:构建语料库和语料库的关键词库,基于语料库生成超图,得到超图的超边和结点。语料库c由若干个文档d构成,表示为c={d1,d2,...dm},其中di表示语料库c中的i篇文档,m为语料库c中文档的数量;将语料库c中的所有文档进行分词、去停用词处理,并计算每个文档的tf-idf值,取所有文档中tf-idf值大于阈值p的单词构成语料库的关键词库kw,表示为kw={kw1,kw2,...,kwn},其中kwi表示关键词库kw中的第i个关键词,n表示语料库c的关键词数量;基于语料库c生成超图,将关键词库kw中的关键词作为超图的结点,语料库c中的每个文档作为超图中的一个超边;将语料库c中的每个文档均表示为关键词库kw中关键词的集合。本实施例语料库c中包含d1、d2、d3三个新闻文档,基于语料库人工生成一个模拟的超图,其中语料库c具体表示为c={d1,d2,d3},语料库c中,所有关键词构成的关键词库为kw={w1,w2,w3,w4,w5},将该5个关键词作为超图结点,tf-idf值如表1所示;语料库c中的d1、d2、d3三个新闻文档分别表示为关键词的集合,即d1={w1,w2,w3}、d2={w1,w3,w4}、d3={w3,w4,w5};将三个新闻文档作为超图的超边,即超边表示为{{w1,w2,w3},{w1,w3,w4},{w3,w4,w5}},具体如图2所示。表1文档w1w2w3w4w5d10.490.420.2900d20.5200.40.260d3000.460.270.3步骤二:基于共现窗口计算关键词库中任意两个关键词的共现频数,得到关键词的邻接矩阵。设定词共现窗口大小q,若任意两个不同的关键词出现在连续的q个词中,则视为这两个关键词共同出现过一次,根据共现窗口计算关键词库kw中所有关键词在语料库c的所有文档中的共现频数,并进行共现频数的归一化,得到关键词的邻接矩阵a,关键词的邻接矩阵a为一个n×n的矩阵,定义为:其中ai,j表示关键词i与关键词j的相似程度,1≤i≤n,1≤j≤n。本实施例通过大小为2的词共现窗口获取词对,计算每个新闻文档中任意两个关键词共同出现的频数,如表2所示;将所有频数进行最大最小归一化,得到关键词之间的权重,构建所有关键词的邻接矩阵a:表2步骤三:对语料库中的每一个文档使用超边向量表示,并将所有超边向量进行拼接,形成超边矩阵。对语料库c中的每一个文档,分别通过超边向量e来表示;其中,超边定义为超图的结点集合v的一个非空子集,超边向量e是长度为n的行向量,具体表示为e={v1,v2,...,vn},vi表示第i个关键词的权重,1≤i≤n;关键词在文档中权重的具体定义方法为:若关键词出现在该文档中,则使用归一化后的tf-idf值作为权重,对于文档中未出现的关键词,将其权重设置为0。将语料库c中的每一个文档的超边向量进行拼接,形成超边矩阵h,超边矩阵h为一个n行m列的矩阵,定义为hi,j代表第j个超边中关键词i所占的权重,1≤i≤n,1≤j≤m。本实施例语料库c中的三个新闻文档,分别通过超边向量e来表示,具体表示为e={v1,v2,...,v5},若关键词出现在该新闻文档中,则使用归一化后的tf-idf值作为该关键词的权重,对于该文档中未出现的关键词,将其权重设置为0,从而得到三个新闻文档的超边向量e1、e2、e3;将三个超边向量e1、e2、e3拼接成超边矩阵步骤四:根据语料库中任意两个文档中所包括的关键词,计算超边之间的相似度,构建超边的相似度矩阵。统计语料库c中任意两个文档所包括的关键词的交集和并集,使用jaccard系数计算超边之间的相似度,构建超边的相似度矩阵s,超边相似度矩阵s定义为:其中si,j表示超边i与超边j之间的相似度,1≤i≤m,1≤j≤m。本实施例相似度矩阵s计算为:步骤五:将关键词库中的关键词使用预先训练好的词向量表示,构建由词向量组成的超图结点特征矩阵,其中词向量使用word2vce算法在公开语料库上训练得到。超图结点特征矩阵x定义为:其中n表示关键词的个数,f表示词向量的维度,其中第i行表示第i个关键词的词向量,1≤i≤n。本实施例中预先训练好的词向量如表3所示,超图结点特征矩阵x计算为:表3关键词词向量w10.3,0.9,-0.1w20.1,0.1,0.8w30.7,0.6,0.1w4-0.8,-0.4,-0.8w5-0.9,-0.1,-0.2步骤六:使用图神经网络模型对超边进行分类,得到语料库中每个文档类别的第一次预测概率;图神经网络模型定义如公式(1)所示:其中,x′为超边的状态向量,由结点特征矩阵x经过一次图卷积运算,再按照超边矩阵h进行加权求和得到,表示为ia为维度与矩阵a相同的单位矩阵,is为维度与矩阵s相同的单位矩阵,从左上角到右下角的对角线(主对角线)上的元素均为1,除此以外的元素全都为0;分别是矩阵的度矩阵,其主对角线上的值为结点的度,非对角线上的值为0;分别为结点和超边的拉普拉斯矩阵,用于图卷积运算;w为可学习的参数矩阵,用于对输入的特征矩阵进行线性变换,c为文本的类别数,本实施例中文本的类别数c为2,分别为体育类新闻和娱乐类新闻;o为图神经网络模型的输出,对超边的状态向量x′进行图卷积运算,并经过softmax激活函数得到对每个文档类别的第一次预测结果,oi,j代表第i个文档属于第j种分类的概率,1≤i≤f,1≤i≤c。首先,对两个参数矩阵w1、w2的值进行初始化:其次,对超边的状态向量x′进行计算:再次,对超边的状态向量x′进行图卷积运算,并经过softmax激活函数得到对每个新闻文档类别的第一次预测结果:即:新闻文档d1属于体育类新闻的概率为0.4930,属于娱乐类新闻的概率为0.5070;新闻文档d2属于体育类新闻的概率为0.5053,属于娱乐类新闻的概率为0.4947;新闻文档d3属于体育类新闻的概率为0.5164,属于娱乐类新闻的概率为0.4836。步骤七:基于文档的真实标签,采用随机梯度下降算法更新图神经网络模型的参数矩阵,并将训练后的参数矩阵代入图神经网络模型,完成语料库中无标签文本的分类。具体过程包括:首先,采用随机梯度下降算法随机选取部分训练样本,计算训练样本的预测概率和文档的真实标签的交叉熵损失;其次,分别计算交叉熵损失对于参数矩阵w1、w2的梯度,更新参数矩阵w1和w2的值,如公式(2)所示;训练集上的一次迭代包括预测、计算损失、计算参数梯度、更新参数四步,再经过固定的迭代次数后,得到最终的参数w1和w2;其中,w代表可学习的参数矩阵,α为学习率,控制参数更新的步长,为交叉熵损失函数对参数w的梯度。再次,将训练后的参数矩阵w1和w2代入图神经网络模型,得到语料库中每个文档类别的最终预测概率,完成语料库中无标签文本的分类。本实施例中已知新闻文档d1为体育类新闻,新闻文档d2为娱乐类新闻,使用交叉熵计算损失,并使用随机梯度下降算法对参数w1和w2进行迭代更新,学习率α设置为0.1。第一次迭代中,交叉熵损失为0.7056,更新后的参数w1和w2分别为:经过1000次迭代后,交叉熵损失为0.0866,训练后的参数w1和w2分别为:将训练后的参数w1和w2代入公式(1)和公式(2),计算得到对每个新闻文档类别的最终预测概率:新闻文档d1属于体育类新闻的概率为0.9115,属于娱乐类新闻的概率为0.0885;新闻文档d2属于体育类新闻的概率为0.0770,属于娱乐类新闻的概率为0.9230;新闻文档d3属于体育类新闻的概率为0.0040,属于娱乐类新闻的概率为0.9960。由此可见,通过本发明基于超图的文本分类方法,能够实现对文本类别的准确分类。在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。以上所述的实施例仅是对本发明的优选方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1