一种多标签文本分类方法及***
技术领域
本发明涉及文本分类领域,尤其涉及一种多标签文本分类方法及***。
背景技术
近年来,随着互联网的高速发展,尤其是移动互联网时代的到来,人类进入大数据时代,每天都会产生海量的数据,因此对海量数据进行分析、获取有价值的信息已成为学术界和工业界共同关心的热点。作为海量数据的主要外在形式,文本相关的处理技术受到了人们的极大关注,文本分类技术也进入了一个新的发展阶段。
传统文本分类技术主要关注单标签分类,即一个文本对应一个类别标签。然而现实生活中,一个文本的类别标签往往不止一个,如一篇介绍某个国家经济的文章,很可能同时会涉及政治和文化,此时该文章应该同时至少对应经济、政治、文化等三个标签;一篇体育赛况报道相关的文章,很可能也会有较大篇幅介绍某位体育明星,因此它应该至少包含体育赛况、体育明星两个标签。由此可见,多标签分类可以提供更加丰富的分类信息,为后续可能的应用,如文本分类管理、监控、过滤等等,提供更大的帮助,因此,多标签分类问题,即对一篇文档给出多个标签具有实际意义。
在此,最理想的多标签分类方法是针对多标签的各个标签子集分别建模,确定各标签子集的概率模型;随后对待分类文档,依次计算其相应于所有多标签子集的后验概率,最后选择后验概率最大的多标签子集作为文档的分类结果。然而,多标签子集的数量随多标签数目的增多呈指数级增长,假设一个多标签分类问题中多标签的个数为K,则理论上总的多标签子集的个数为2K-1,当K的数值较大时,由于多标签子集的数量巨大,对所有子集分别构建模型是不现实的。
基于上述原因,在多标签分类问题上,传统的分类方法主要采用朴素贝叶斯分类器方法进行分类,其假设各个标签之间分布独立且各标签出现概率均等,由于每个标签将对应一个词分布模型,该词分布模型可以看作是一个概率模型,在此基础上,现有的多标签分类方法如下:
步骤一:针对每一个标签分别训练两个概率模型,即包含该标签的概率模型和不包含该标签的概率模型,下面以包含该标签的概率模型为例说明概率模型的训练方法:
步骤1:获取大量包含该标签的文本数据作为训练数据。
步骤2:统计训练数据中各个字词的字词出现概率。
步骤3:将上述字词出现概率的集合作为包含该标签的概率模型,用于后续计算该标签的文档生成概率。
相应的,不包含该标签的概率模型可在采集的不包含该标签的文本数据上训练得到。
步骤二:获取待分类文档C。
步骤三:依次判断该待分类文档C是否包含标签集合中的各标签,其中,该待分类文档C是否包含标签X的判断方法如下:
步骤1:对待分类文档C进行分词处理,获取字词串序列Cx。
步骤2:计算该字词串序列Cx相应于包含标签X的似然度,特别的在朴素贝叶斯假设下,该似然度可计算为等于字词串序列Cx中各字词相应于包含某标签X的字词生成概率的连乘积。
步骤3:计算字词串序列Cx相应于不包含标签X的似然度。
步骤4:计算字词串序列Cx相应于包含标签X的似然度与字词串序列Cx相应于不包含标签X的似然度间的似然比。
步骤5:所述似然比大于1,则认为该待分类文档包含标签X,反之则认为该待分类文档不包含该标签。
步骤四:获取该待分类文档对应的多标签分类结果。
在以上的基于朴素贝叶斯决策的分类方法中,各个标签的文档概率分布人为假设相互独立的,该种独立假设使得在解决多标签分类问题时具有方法简单、易于实现、效率较高的优点。但在实际应用中,标签相互独立的假设与现实并不相符,如一篇介绍某个国家经济的文章很可能也涉及了该国家的政治和文化,显然在经济、政治、文化三个标签之间存在一定的概率相关性。所以,简单假设各标签之间彼此独立显然是不合理的,也正是这个原因,上述多标签分类方法通常难以取得理想的多标签分类效果。
另一种可以精确地进行多标签文本分类的方法是针对确定的所有标签子集分别建立概率模型,随后针对待分类文档依次计算待分类文档相应于所有标签子集的后验概率,最后选择后验概率最大的标签子集作为文档的分类结果,该种多标签文本分类方法由于标签子集的数量将随多标签数目的增多呈指数级增长,因此对所有标签子集分别构建概率模型是不现实的,所以该种分类方法并未得到推广应用。
发明内容
本发明的实施例针对现有多标签文本分类方法存在的不合理问题,提供一种可实施的分类中考虑标签子集中各标签之前的相关性的多标签文本分类方法及***。
为实现上述目的,本发明采用的技术方案为:一种多标签文本分类方法,包括:
针对接收到的待分类文档确定待考核标签子集;
对所述待分类文档进行分词处理,得到各字词;
从所述待考核标签子集中依次提取一个标签子集作为当前考核标签子集;
从所述各字词中依次提取一个字词作为当前计算字词;
获取所述当前计算字词相应于所述当前考核标签子集中各标签的似然度;
对所述当前计算字词相应于所述当前考核标签子集中各标签的似然度进行线性加权,得到所述当前计算字词相应于所述当前考核标签子集的加权似然度;
确定进行线性加权的各加权系数,使得所有字词相应于所述当前考核标签子集的加权似然度的连乘积最大,并将最大的连乘积作为所述待分类文档相应于所述当前考核标签子集的似然度,其中,对于所有字词的各加权系数与所述当前考核标签子集中的标签一一对应,且各加权系数之和等于1;
根据所述待分类文档相应于所述当前考核标签子集的似然度,计算所述待分类文档相应于所述当前考核标签子集的后验概率;
在所述待考核标签子集中,选取使得所述后验概率最大的标签子集作为所述待分类文档的分类结果。
优选的是,所述针对接收到的待分类文档确定待考核标签子集包括:
获取包含所有标签的标签集合;
在将所述标签集合作为所述当前考核标签子集时确定的所有加权系数中,选取使得加权系数大于等于预设门限的标签形成新标签集合;
对所述新标签集合中各标签进行组合,得到所述待考核标签子集。
优选的是,所述针对接收到的待分类文档确定待考核标签子集还包括:
在将所述标签集合作为当前考核标签子集时确定的所有加权系数均小于所述预设门限时,选取使得加权系数最大的预设数量的标签形成所述新标签集合。
优选的是,所述确定进行线性加权的各加权系数,使得所有字词相应于所述当前考核标签子集的加权似然度的连乘积最大包括:
利用最大期望算法确定进行线性加权的各加权系数,使得所有字词相应于所述当前考核标签子集的加权似然度的连乘积最大。
优选的是,所述根据所述待分类文档相应于所述当前考核标签子集的似然度,计算所述待分类文档相应于所述当前考核标签子集的后验概率包括:
计算所述当前考核标签子集的先验概率;
计算所述当前考核标签子集的先验概率与所述待分类文档相应于所述当前考核标签子集的似然度的乘积,作为所述待分类文档相应于所述当前考核标签子集的后验概率。
优选的是,所述计算所述当前考核标签子集的先验概率包括:
获取所有训练文档;
获取所有训练文档涉及的标签,构成训练标签集合;
对所述训练标签集合中的各标签进行排序;
对所有训练文档的多标签标注进行顺序调整,使多标签标注中各标签之间的顺序位与训练标签集合中对应标签之间的顺序位一致;
根据所有训练文档的经过顺序调整的多标签标注,训练得到离散的马尔可夫链,使得所述马尔可夫链中各状态与所述训练标签集合中各标签按照所述排序一一对应;
计算所述当前考核的标签子集的先验概率等于所述马尔可夫链的对应状态间的跳转概率的乘积。
优选的是,所述获取所述当前计算字词相应于当前考核标签子集中各标签的似然度包括:
获取多标签标注为所述当前考核标签子集的训练文档;
对所述训练文档中字词相应于所述当前考核标签子集中各标签的似然度进行线性加权,得到所述训练文档中字词相应于所述当前考核标签子集的加权似然度;
以使所述训练文档中所有字词相应于所述当前考核标签子集的加权似然度的连乘积最大为目标,训练得到训练文档中字词相应于所述当前考核标签子集中各标签的似然度;
从所述训练文档中字词相应于所述当前考核标签子集中各标签的似然度中,获取所述当前计算字词相应于当前考核标签子集中各标签的似然度。
优选的是,所述以使所述训练文档中所有字词相应于所述当前考核标签子集的加权似然度的连乘积最大为目标,训练得到训练文档中字词相应于所述当前考核标签子集中各标签的似然度包括:
确定所述训练文档中字词相应于所述当前考核标签子集中各标签的似然度的初始值;
确定对所述训练文档中字词相应于所述当前考核标签子集中各标签的似然度进行线性加权的各加权系数的初始值;
以使所述训练文档中所有字词相应于所述当前考核标签子集的加权似然度的连乘积最大为目标,基于所述似然度的初始值和所述各加权系数的初始值,利用最大期望算法训练得到训练文档中字词相应于所述当前考核标签子集中各标签的似然度。
优选的是,所述确定所述训练文档中字词相应于所述当前考核标签子集中各标签的似然度的初始值包括:
获取所述当前考核标签子集中各标签的词分布模型;
根据所述当前考核标签子集中各标签的词分布模型,计算所述训练文档中字词相应于所述当前考核标签子集中各标签的似然度作为对应似然度的初始值。
优选的是,所述确定对所述训练文档中字词相应于所述当前考核标签子集中各标签的似然度进行线性加权的各加权系数的初始值包括:
确定对所述训练文档中字词相应于所述当前考核标签子集中各标签的似然度进行线性加权的各加权系数的初始值等于所述当前考核标签子集中标签数量的倒数。
为了实现上述目的,本发明采用的技术方案为:一种多标签文本分类***,包括:
待考核标签子集确定模块,用于针对接收到的待分类文档确定待考核标签子集;
分词模块,用于对所述待分类文档进行分词处理,得到各字词;
当前考核标签子集提取模块,用于从所述待考核标签子集中依次提取一个标签子集作为当前考核标签子集;
当前计算字词提取模块,用于从所述各字词中依次提取一个字词作为当前计算字词;
字词似然度获取模块,用于获取所述当前计算字词相应于所述当前考核标签子集中各标签的似然度;
加权似然度计算模块,用于对所述当前计算字词相应于所述当前考核标签子集中各标签的似然度进行线性加权,得到所述当前计算字词相应于所述当前考核标签子集的加权似然度;
文档似然度计算模块,用于确定进行线性加权的各加权系数,使得所有字词相应于所述当前考核标签子集的加权似然度的连乘积最大,并将最大的连乘积作为所述待分类文档相应于所述当前考核标签子集的似然度,其中,对于所有字词的各加权系数与所述当前考核标签子集中的标签一一对应,且各加权系数之和等于1;
后验概率计算模块,用于根据所述待分类文档相应于所述当前考核标签子集的似然度,计算所述待分类文档相应于所述当前考核标签子集的后验概率;以及,
分类结果输出模块,用于在所述待考核标签子集中,选取使得所述后验概率最大的标签子集作为所述待分类文档的分类结果。
优选的是,所述待考核标签子集确定模块包括:
标签集合获取单元,用于获取包含所有标签的标签集合作为所述当前考核标签子集;
标签选取单元,用于在将所述标签集合作为所述当前考核标签子集时确定的所有加权系数中,选取使得加权系数大于等于预设门限的标签形成新标签集合;以及,
待考核标签子集输出单元,用于对所述新标签集合中各标签进行组合,得到所述待考核标签子集。
优选的是,所述待考核标签子集输出单元还用于在将所述标签集合作为当前考核标签子集时确定的所有加权系数均小于所述预设门限时,选取使得加权系数最大的预设数量的标签形成所述新标签集合。
优选的是,所述文档似然度计算模块还用于利用最大期望算法确定进行线性加权的各加权系数,使得所有字词相应于所述当前考核标签子集的加权似然度的连乘积最大。
优选的是,所述后验概率计算模块包括:
先验概率计算单元,用于计算所述当前考核标签子集的先验概率;以及,
后验概率计算单元,用于计算所述当前考核标签子集的先验概率与所述待分类文档相应于所述当前考核标签子集的似然度的乘积,作为所述待分类文档相应于所述当前考核标签子集的后验概率。
优选的是,所述先验概率计算单元包括:
训练文档获取子单元,用于获取所有训练文档;
训练标签集合获取子单元,用于获取所有训练文档涉及的标签,构成训练标签集合;
排序子单元,用于对所述训练标签集合中的各标签进行排序;
顺序调整子单元,用于对所有训练文档的多标签标注进行顺序调整,使多标签标注中各标签之间的顺序位与训练标签集合中对应标签之间的顺序位一致;
马尔可夫链训练子单元,用于根据所有训练文档的经过顺序调整的多标签标注,训练得到离散的马尔可夫链,使得所述马尔可夫链中各状态与所述训练标签集合中各标签按照所述排序一一对应;以及,
先验概率计算子单元,用于计算所述当前考核的标签子集的先验概率等于所述马尔可夫链的对应状态间的跳转概率的乘积。
优选的是,所述字词似然度获取模块包括:
训练文档获取子单元,用于获取多标签标注为所述当前考核标签子集的训练文档;
训练加权似然度获取单元,用于对所述训练文档中字词相应于所述当前考核标签子集中各标签的似然度进行线性加权,得到所述训练文档中字词相应于所述当前考核标签子集的加权似然度;
训练参数确定单元,用于以使所述训练文档中所有字词相应于所述当前考核标签子集的加权似然度的连乘积最大为目标,训练得到训练文档中字词相应于所述当前考核标签子集中各标签的似然度;以及,
字词似然度获取单元,用于从所述训练文档中字词相应于所述当前考核标签子集中各标签的似然度中,获取所述当前计算字词相应于当前考核标签子集中各标签的似然度。
优选的是,所述训练参数确定单元包括:
似然度初始值确定子单元,用于确定所述训练文档中字词相应于所述当前考核标签子集中各标签的似然度的初始值;
加权系数初始值确定子单元,用于确定对所述训练文档中字词相应于所述当前考核标签子集中各标签的似然度进行线性加权的各加权系数的初始值;以及,
训练参数确定子单元,用于以使所述训练文档中所有字词相应于所述当前考核标签子集的加权似然度的连乘积最大为目标,基于所述似然度的初始值和所述各加权系数的初始值,利用最大期望算法训练得到所述训练文档中字词相应于所述当前考核标签子集中各标签的似然度。
优选的是,所述似然度初始值确定子单元还用于:
获取所述当前考核标签子集中各标签的词分布模型;
根据所述当前考核标签子集中各标签的词分布模型,计算所述训练文档中字词相应于所述当前考核标签子集中各标签的似然度作为对应似然度的初始值。
优选的是,所述加权系数初始值确定子单元还用于确定对所述训练文档中字词相应于所述当前考核标签子集中各标签的似然度进行线性加权的各加权系数的初始值等于所述当前考核标签子集中标签数量的倒数。
本发明的有益效果在于,本发明的多标签文本分类方法及***通过对待分类文档中字词相应于标签子集中各标签的似然度进行线性加权的方式考虑标签子集中各标签之间的相关性,并通过使得待分类文档中各字词的相应于标签子集中各标签的似然度的线性加权结果的连乘积最大的方式合理优化由加权系数体现的相关性,进而使本发明的多标签分类方法及***相对现有多标签分类方法及***兼具总体性能高及计算量小的特点。
附图说明
图1示出了根据本发明所述多标签文本分类方法的一种实施方式的流程图;
图2示出了根据本发明所述多标签分类方法中计算当前考核标签子集的先验概率的一种实施方式的流程图;
图3示出了根据图2所示方法确定的一条马尔可夫链;
图4示出了根据图2所示的马尔可夫链修正得到的马尔可夫状态跳转概率;
图5示出了根据本发明所述多标签分类***的一种实施方式的方框原理图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
如图1所示,本发明的多标签文本分类方法的实施例可包括如下步骤:
步骤S1:针对接收到的待分类文档dob确定待考核标签子集,在此,如果标签集合中具有20个标签,则确定待考核标签子集的最基本方法为对20个标签进行各种组合所获得的各标签子集。。
步骤S2:对待分类文档dob进行分词处理,得到各字词。
步骤S3:赋值i=1。
步骤S4:从待考核标签子集中提取标签子集CSi作为当前考核标签子集。
步骤S5:赋值j=1。
步骤S6:从各字词中提取字词Wj作为当前计算字词。
步骤S7:获取当前计算字词Wj相应于当前考核标签子集CSi中标签Ck的似然度P(Wj|Ck),其中,k的取值为从1至当前考核标签子集CSi中标签总数的整数,似然度P(Wj|Ck)的值由模型训练过程预先获得。
步骤S8:对当前计算字词Wj相应于当前考核标签子集CSi中各标签的似然度进行线性加权,得到当前计算字词Wj相应于当前考核标签子集CSi的加权似然度其中P(Ck|dob)为对于待分类文档dob,与标签Ck相对应的加权系数,在此应当理解的是,所有字词的各加权系数与当前考核标签子集CSi中的各标签一一对应,即不同的字词相应于当前考核标签子集CSi中相同标签的似然度的加权系数相同,而且进行线性加权应当满足各加权系数之和等于1的约束条件。
步骤S9:判断j是否等于进行分词处理获得的字词总数jmax,如是则执行步骤S11,如否则执行步骤S10。
步骤S10:赋值j=j+1,之后继续执行步骤S6。
步骤S11:确定进行线性加权的各加权系数P(Ck|dob),使得所有字词相应于当前考核标签子集CSi的加权似然度的连乘积最大,并将最大的连乘积作为所述待分类文档dob相应于当前考核标签子集CSi的似然度P(dob|CSi),即
步骤S12:根据待分类文档dob相应于当前考核标签子集CSi的似然度P(dob|CSi),计算待分类文档dob相应于当前考核标签子集CSi的后验概率P(CSi|dob),根据贝叶斯定理计算后验概率方法为:其中,P(dob)和P(CSi)分别为待分类文档的先验概率和当前考核标签子集CSi的先验概率。
步骤S13:判断i是否等于待考核标签子集的子集总数imax,如是则执行步骤S15,如否则执行步骤S14。
步骤S14:赋值i=i+1,之后继续执行步骤S4。
步骤S15:在待考核标签子集中,选取使得后验概率P(CSi|dob)最大的标签子集作为待分类文档dob的分类结果。
本发明的多标签文本分类方法采用上述方法,对待分类文档dob中字词Wj相应于待考核标签子集中各标签的似然度进行线性加权的方式考虑待考核标签子集中各标签之间的相关性,并通过使得待分类文档dob中各字词的相应于待考核标签子集中各标签的似然度的线性加权结果的连乘积最大的方式合理优化由加权系数体现的相关性,进而使本发明的多标签分类方法及***相对现有多标签分类方法及***具有更高的总体性能。本发明的多标签文本分类方法相对于针对所有待考核标签子集分别建立概率模型,随后针对待分类文档,依次计算待分类文档dob相应于所有待考核标签子集的后验概率,最后选择后验概率最大的标签子集作为文档的分类结果的多标签分类方法大大缩减了计算量,后面的分类方法虽然可以获取最精确的分类结果,但是由于标签子集的数量将随多标签数目的增多呈指数级增长,因此对所有标签子集分别构建概率模型是不现实的,所以该种分类方法并未得到推广应用。
为了进一步减少本发明多标签分类方法的计算量,上述步骤S1中针对接收到的待分类文档dob确定待考核标签子集可进一步包括如下步骤:
步骤S101:获取包含所有标签的标签集合。
步骤S102:在将标签集合作为当前考核标签子集时,例如是当前考核标签子集CSimax,按照上述步骤S4至步骤S11确定的所有加权系数,并在所有加权系数中选取使得加权系数大于等于预设门限的标签形成新标签集合,该预设门限可根据具体的多标签分类任务及所需要的分类精确度进行选择,预设门限越小,分类精确度越高。
步骤S103:对新标签集合中各标签进行组合,得到待考核标签子集,即若新标签集合具有m个标签,那么将得到2m-1个待考核标签子集。
如果在将标签集合作为当前考核标签子集时确定的所有加权系数均小于预设门限时,可选取使得加权系数最大的预设数量的标签形成上述新标签集合,即若设置的预设数量为五个,则使得加权系数从大至小排列,并选取前五个加权系数对应的标签形成上述新标签集合。
上述步骤S11中,可利用最大期望算法(EM)确定进行线性加权的各加权系数P(Ck|dob),使得所有字词相应于当前考核标签子集的加权似然度的连乘积最大。其中,最大期望算法的计算步骤如下:
(1)首先遍历待分类文档dob中的所有字词,并依次计算待分类文档dob和其中各字词相应于当前考核标签子集CSi中标签Ck的联合条件概率P(Ck|dob,wj),具体计算如下:
其中,Ck'为当前考核标签子集CSi中的标签,k'的取值与k的取值相同,均为从1至当前考核标签子集CSi中标签总数的整数。
(2)根据如下公式计算更新加权系数P(Ck|dob):
其中,n(dob,wj)表示待分类文档dob中字词wj的数目。
(3)根据上述(1)和(2)的公式不断迭代加权系数P(Ck|dob),直到满足迭代停止条件为止,在进行迭代时,需要为加权系数P(Ck|dob)设置初始值,该初始值只要满足进行线性加权应当满足各加权系数之和等于1的约束条件即可,例如加权系数P(Ck|dob)的初始值等于通常情况下,该迭代停止条件可为迭代次数已达到最大迭代次数或者似然度P(dob|CSi)的增大率(即相对上一次迭代结果的增大率)降为例如是2%~5%的设定比率以下,在此,根据最大期望算法,随着不断的迭代,将使得待分类文档dob相应于当前考核标签子集CSi的似然度P(dob|CSi)的逐渐增大,当增大到一定程度后,似然度P(dob|CSi)在继续进行迭代时,增大的趋势将逐渐变缓,直至基本不发生变化,在这种情况下,继续进行迭代将没有实际的操作意义,因此,本领域技术人员可根据具体的多标签分类任务预先设定一个合适的最大迭代次数或者根据需利用增大率设置约束条件。
上述步骤S12中,由于针对任何待考核标签子集,待分类文档的先验概率P(dob)均相同,因此,计算待分类文档dob相应于当前考核标签子集CSi的后验概率可进一步包括:
步骤S121:计算当前考核标签子集CSi的先验概率P(CSi)。
步骤S122:计算当前考核标签子集CSi的先验概率P(CSi)与待分类文档dob相应于当前考核标签子集CSi的似然度P(dob|CSi)的乘积,作为待分类文档dob相应于当前考核标签子集CSi的后验概率P(CSi|dob)。
本发明的多标签分类方法还提供了一种基于马尔可夫链的先验概率构建方法,该方法充分考虑了当前考核标签子集CSi中各标签之间的相关性,进而提高后验概率计算的准确性,即上述步骤S121中,计算当前考核标签子集CSi的先验概率P(CSi)可进一步包括如下步骤:
步骤S1211:获取所有训练文档。
步骤S1212:获取所有训练文档涉及的标签,构成训练标签集合。
步骤S1213:对训练标签集合中的各标签进行排序,进行排序的方法具体可以将训练标签集合中的各标签按照某种关系进行排序,如层次关系,时间关系,空间关系等等,例如对于“集体项目”,“篮球”,“体育”三个标签,按照其层次关系可以进行如下排序:“体育”,“集体项目”,“篮球”;如果训练标签集合中的各标签没有明显的关系,也可以选择任意的某种顺序,如随机确定,这并不影响方法的最终效果。
步骤S1214:对所有训练文档的多标签标注进行顺序调整,使多标签标注中各标签之间的顺序位与训练标签集合中对应标签之间的顺序位一致,例如训练标签集合具有五个标签,并根据步骤S1213排序为A、B、C、D、E,那么,如果一个多标签标注涉及A、E、C三个标签,则将该多标签标注调整为A、C、E。
步骤S1215:根据所有训练文档的经过顺序调整的多标签标注,训练得到离散的马尔可夫链,使得马尔可夫链中各状态与训练标签集合中各标签按照所述排序一一对应,具体为统计训练文档中马尔可夫链各状态对应的标签总数,例如,假设在上述的训练标签集合具有五个标签的情况下,若训练文档中多标签标注为A、C、E的训练文档有50个,多标签标注为B、C、E的训练文档有100个,多标签标注为B、D、E的训练文档有200个,则马尔可夫链中各状态之间的转移频度统计如图3所示。
步骤S1216:计算所述当前考核的标签子集的先验概率等于马尔可夫链的对应状态间的跳转概率的乘积,在此,如图3和图4所示,马尔可夫链上的一个状态至另一状态的跳转概率为对应出弧上的频度除以前一状态所有出弧上的频度之和,例如待考核标签子集A、C、E的先验概率为开始状态至A,A至C,C至E,E至结束状态间的跳转概率的乘积,即为1/7;又例如待考核标签子集A、B、C的先验概率为0。
上述步骤S7中,获取当前计算字词Wj相应于当前考核标签子集CSi中标签Ck的似然度P(Wj|Ck)可进一步包括如下步骤:
步骤S71:获取多标签标注为当前考核标签子集CSi的训练文档di。
步骤S72:对训练文档di中字词相应于当前考核标签子集CSi中各标签的似然度进行线性加权,得到训练文档di中字词Wjx相应于当前考核标签子集CSi的加权似然度,其中,jx的取值为1至训练文档di的字词总数jxmax的整数;在此,该加权似然度的概念与待分类文档dob中所有字词相应于当前考核标签子集CSi的加权似然度的概念相同。
步骤S73:以使训练文档di中所有字词相应于当前考核标签子集CSi的加权似然度的连乘积最大为目标,训练得到训练文档di中字词Wjx相应于当前考核标签子集CSi中各标签的似然度。
步骤S74:从训练文档di中字词Wjx相应于当前考核标签子集CSi中各标签的似然度中,获取当前计算字词Wj相应于当前考核标签子集CSi中标签Ck的似然度。
上述步骤S73中,以使训练文档di中所有字词相应于当前考核标签子集CSi的加权似然度的连乘积最大为目标,训练得到训练文档di中字词Wjx相应于当前考核标签子集CSi中各标签的似然度可进一步包括:以使训练文档di中所有字词相应于当前考核标签子集CSi的加权似然度的连乘积最大为目标,利用最大期望算法(EM)训练得到训练文档di中字词Wjx相应于当前考核标签子集CSi中各标签的似然度。
根据最大期望算法,上述以使训练文档di中所有字词相应于当前考核标签子集CSi的加权似然度的连乘积最大为目标,训练得到训练文档di中字词Wjx相应于当前考核标签子集CSi中各标签的似然度可进一步包括如下步骤:
步骤S731:确定训练文档di中字词Wjx相应于当前考核标签子集CSi中标签Ck的似然度P(Wjx|Ck)的初始值。
步骤S732:确定对训练文档di中字词Wjx相应于当前考核标签子集CSi中各标签的似然度进行线性加权的各加权系数P(Ck|di)的初始值。
步骤S733:以使所述训练文档中所有字词相应于所述当前考核标签子集的加权似然度的连乘积最大为目标,基于上述似然度的初始值和各加权系数的初始值,利用最大期望算法训练得到训练文档di中字词Wjx相应于当前考核标签子集CSi中标签Ck的似然度,根据最大期望算法,具体的计算公式如下:
(1)首先遍历训练文档di中的所有字词,并依次计算训练文档di和其中各字词相应于当前考核标签子集CSi中标签Ck的联合条件概率
(2)根据如下公式计算更新加权系数P(Ck|di):
其中,n(di,wjx)表示训练文档di中字词wjx的数目。
(3)根据如下公式计算更新确定训练文档di中字词Wjx相应于当前考核标签子集CSi中标签Ck的似然度P(wjx|Ck):
其中,Wjx'为训练文档di中字词,jx′的取值与jx的取值相同,为1至训练文档di的字词总数jxmax的整数。
(4)根据上述(1)、(2)和(3)的公式不断迭代得到训练文档di中字词Wjx相应于当前考核标签子集CSi中标签Ck的似然度P(Wjx|Ck),直到满足迭代停止条件为止,关于迭代停止条件的说明请参见上述对加权系数P(Ck|dob)进行迭代的迭代停止条件的说明。
上述步骤S731中确定训练文档di中字词Wjx相应于当前考核标签子集CSi中标签Ck的似然度P(Wjx|Ck)的初始值可包括:获取当前考核标签子集CSi中各标签的词分布模型;根据当前考核标签子集CSi中各标签的词分布模型,计算训练文档di中字词Wjx相应于当前考核标签子集CSi中标签Ck的似然度作为对应似然度的初始值,由于标签的词分布模型与标签子集无关,因此,对于确定的所有待考核标签子集,仅需针对所有待考核标签子集所涉及的各标签建立词分布模型,这相对针对所有待考核标签子集分别建立词分布模型的方式大大降低了需要建立的词分布模型的数量。
上述步骤S732中确定对训练文档di中字词Wjx相应于当前考核标签子集CSi中各标签的似然度进行线性加权的各加权系数P(Ck|di)的初始值可包括:确定对训练文档di中字词Wjx相应于当前考核标签子集CSi中各标签的似然度进行线性加权的各加权系数P(Ck|di)的初始值等于当前考核标签子集CSi中标签数量的倒数,即等于
与本发明的多标签文本分类***相对应,如图5所示,本发明的多标签文本分类***包括接收模块A、待考核标签子集确定模块1、分词模块2、当前考核标签子集提取模块3、当前计算字词提取模块4、字词似然度获取模块5、加权似然度计算模块6、文档似然度计算模块7、后验概率计算模块8和分类结果输出模块9,其中,该接收模块A用于接收用户输入的待分类文档;该待考核标签子集确定模块1用于针对接收到的待分类文档确定待考核标签子集;该分词模块2用于对待分类文档进行分词处理,得到各字词;该当前考核标签子集提取模块3用于从待考核标签子集中依次提取一个标签子集作为当前考核标签子集;该当前计算字词提取模块4用于从各字词中依次提取一个字词作为当前计算字词;该字词似然度获取模块5用于获取当前计算字词相应于当前考核标签子集中各标签的似然度;该加权似然度计算模块6用于对当前计算字词相应于当前考核标签子集中各标签的似然度进行线性加权,得到当前计算字词相应于当前考核标签子集的加权似然度;该文档似然度计算模块7用于确定进行线性加权的各加权系数,使得所有字词相应于当前考核标签子集的加权似然度的连乘积最大,并将最大的连乘积作为待分类文档相应于当前考核标签子集的似然度,其中,对于所有字词的各加权系数与所述当前考核标签子集中的标签一一对应,且各加权系数之和等于1;该后验概率计算模块8用于根据待分类文档相应于当前考核标签子集的似然度,计算待分类文档相应于当前考核标签子集的后验概率;该分类结果输出模块9用于在待考核标签子集中,选取使得后验概率最大的标签子集作为待分类文档的分类结果。
上述待考核标签子集确定模块1可进一步包括标签集合获取单元、标签选取单元和待考核标签子集输出单元,该标签集合获取单元用于获取包含所有标签的标签集合作为当前考核标签子集;该标签选取单元用于在将标签集合作为当前考核标签子集时确定的所有加权系数中,选取使得加权系数大于等于预设门限的标签形成新标签集合;该待考核标签子集输出单元用于对新标签集合中各标签进行组合,得到待考核标签子集。其中的待考核标签子集输出单元还用于在将标签集合作为当前考核标签子集时确定的所有加权系数均小于所述预设门限时,选取使得加权系数最大的预设数量的标签形成所述新标签集合。
上述文档似然度计算模块7还用于利用最大期望算法确定进行线性加权的各加权系数,使得所有字词相应于所述当前考核标签子集的加权似然度的连乘积最大。
上述后验概率计算模块8可进一步包括先验概率计算单元和后验概率计算单元,该先验概率计算单元用于计算当前考核标签子集的先验概率;该后验概率计算单元用于计算当前考核标签子集的先验概率与待分类文档相应于当前考核标签子集的似然度的乘积,作为待分类文档相应于当前考核标签子集的后验概率。
上述先验概率计算单元可进一步包括训练文档获取子单元、训练标签集合获取子单元、排序子单元、顺序调整子单元、马尔可夫链训练子单元和先验概率计算子单元,该训练文档获取子单元用于获取所有训练文档;该训练标签集合获取子单元用于获取所有训练文档涉及的标签,构成训练标签集合;该排序子单元用于对训练标签集合中的各标签进行排序;该顺序调整子单元用于对所有训练文档的多标签标注进行顺序调整,使多标签标注中各标签之间的顺序位与训练标签集合中对应标签之间的顺序位一致;该马尔可夫链训练子单元用于根据所有训练文档的经过顺序调整的多标签标注,训练得到离散的马尔可夫链,使得马尔可夫链中各状态与训练标签集合中各标签按照所述排序一一对应;该先验概率计算子单元用于计算当前考核的标签子集的先验概率等于马尔可夫链的对应状态间的跳转概率的乘积。
上述字词似然度获取模块5可进一步包括训练文档获取子单元、训练加权似然度获取单元、训练参数确定单元和字词似然度获取单元,该训练文档获取子单元用于获取多标签标注为当前考核标签子集的训练文档;该训练加权似然度获取单元用于对训练文档中字词相应于当前考核标签子集中各标签的似然度进行线性加权,得到训练文档中字词相应于当前考核标签子集的加权似然度;该训练参数确定单元用于以使训练文档中所有字词相应于当前考核标签子集的加权似然度的连乘积最大为目标,训练得到训练文档中字词相应于所述当前考核标签子集中各标签的似然度;该字词似然度获取单元用于从训练文档中字词相应于所述当前考核标签子集中各标签的似然度中,获取当前计算字词相应于当前考核标签子集中各标签的似然度。
上述训练参数确定单元还可用于利用最大期望算法训练得到训练文档中字词相应于所述当前考核标签子集中各标签的似然度。因此,该训练参数确定单元可进一步包括似然度初始值确定子单元、加权系数初始值确定子单元和训练参数确定子单元,该似然度初始值确定子单元用于确定训练文档中字词相应于当前考核标签子集中各标签的似然度的初始值;该加权系数初始值确定子单元用于确定对训练文档中字词相应于当前考核标签子集中各标签的似然度进行线性加权的各加权系数的初始值;该训练参数确定子单元用于以使所述训练文档中所有字词相应于所述当前考核标签子集的加权似然度的连乘积最大为目标,基于所述似然度的初始值和所述各加权系数的初始值,利用最大期望算法训练得到所述训练文档中字词相应于所述当前考核标签子集中各标签的似然度。
上述似然度初始值确定子单元还可用于:获取所述当前考核标签子集中各标签的词分布模型;根据当前考核标签子集中各标签的词分布模型,计算训练文档中字词相应于所述当前考核标签子集中各标签的似然度作为对应似然度的初始值。
上述加权系数初始值确定子单元还可用于确定对所述训练文档中字词相应于所述当前考核标签子集中各标签的似然度进行线性加权的各加权系数的初始值等于所述当前考核标签子集中标签数量的倒数。
在此,对于本发明多标签文本分类***各部分的解释说明与本发明多标签文本分类方法中的相应部分的解释说明一致。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。