基于LDA主题模型的文献分类方法和系统转让专利

申请号 : CN201811147398.6

文献号 : CN109492092B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 史晓凌唐先明景帅刘锋陈新荣王晓丽

申请人 : 北京智通云联科技有限公司

摘要 :

本发明公开了一种基于LDA主题模型的文献分类方法,包括以下步骤:步骤一、预编初始监督字典,初始监督字典里的词包括多个类,并且与LDA主题模型的主题一一对应;步骤二、获取待分类文献中的所有的词,并计算每个词属于每个主题的概率,获得聚类字典;步骤三、根据聚类字典组成新的监督字典;步骤四、查找每篇待分类文献所包含的新的监督字典中的词所对应的主题,将出现的词最多的主题作为该篇文献的主题,完成对待分类文献的分类。本发明还公开了一种基于LDA主题模型的文献分类系统。本发明的方法既保持了规则分类方法的准确性,又具有LDA的联想聚类能力,分类结果准确,工程量小。

权利要求 :

1.基于LDA主题模型的文献分类方法,其特征在于,包括以下步骤:

步骤一、预编初始监督字典,初始监督字典里的词包括多个类,并且与LDA主题模型的主题一一对应;

步骤二、获取待分类文献中的所有的词,并计算每个词属于每个主题的概率,将待分类文献中出现的属于初始监督字典中的词根据初始监督字典调整所属的主题,获得聚类字典;

步骤三、根据聚类字典,对于每个主题中的词根据其出现的频率由高到低进行排序,抽取前M%个词加入初始监督字典组成新的监督字典,其中,M为大于或等于1的整数;

步骤四、查找每篇待分类文献所包含的新的监督字典中的词所对应的主题,将出现的词最多的主题作为该篇文献的主题,完成对待分类文献的分类;

步骤二中将待分类文献中出现的属于初始监督字典中的词根据初始监督字典调整所属的主题,其具体操作为:判断待分类文献中的每个词是否包含于初始监督字典中,若包含,则将该词对应的所属主题的概率调整为1,属于其他主题的概率调整为0,若不包含,则不进行处理,获得的聚类字典中收纳了待分类文献中经过判断的所有的词及该所有的词所属的主题。

2.如权利要求1所述的文献分类方法,其特征在于,步骤一中的多个类包括N个类和一个其他类,N为大于1的整数,其他类中收纳了不属于N个类的词,N个类可以按照感情色彩进行分类、或按照满意度进行分类、或按照专题进行分类。

3.如权利要求2所述的文献分类方法,其特征在于,N个类按照感情色彩进行分类时,包括正向情感类、负向情感类、中性情感类,其他类中收纳了与感情色彩无关的词。

4.如权利要求2所述的文献分类方法,其特征在于,步骤二中,先对待分类文献中的词进行中文分词处理,再根据初始监督字典除去待分类文献中出现的属于初始监督字典里的其他类中的词,获取待分类文献中的所有的词,其中,待分类文献的所有的词包括待分类文献的标题或正文中出现的词。

5.基于LDA主题模型的文献分类系统,其特征在于,包括:

初始监督字典模块,其用于预先设置词所属的类,预先设置多个已知的词,一个词属于一个类,一个类对应LDA主题模型的一个主题;

文件处理模块,其用于获取待分类文献中的所有的词,并计算每个词属于每个主题的概率,将待分类文献中出现的属于初始监督字典中的词根据初始监督字典调整所属的主题,判断待分类文献中的每个词是否包含于初始监督字典中,若包含,则将该词对应的所属主题的概率调整为1,属于其他主题的概率调整为0,若不包含,则不进行处理,获得聚类字典,获得的聚类字典中收纳了待分类文献中经过判断的所有的词及该所有的词所属的主题;

字典整理模块,其用于对聚类字典中的每个主题中的词根据其出现的频率由高到低进行排序,抽取前M%个词加入初始监督字典组成新的监督字典,其中,M为大于或等于1的整数;

输出文件模块,其用于根据新的监督字典查找每篇文献包含新的监督字典中的词所对应的主题,将出现的词最多的主题作为该篇文献的主题,并输出该篇文献和其对应的主题。

6.如权利要求5所述的基于LDA主题模型的文献分类系统,其特征在于,初始监督字典模块中的多个类包括N个类和一个其他类,N为大于1的整数,其他类中收纳了不属于N个类的词,N个类可以按照感情色彩进行分类、或按照满意度进行分类、或按照专题进行分类。

7.如权利要求6所述的基于LDA主题模型的文献分类系统,其特征在于,还包括:

初步降噪模块,其用于除去待分类文献中出现的属于初始监督字典中的其他类的词,以供文件处理模块进行处理。

8.如权利要求7所述的基于LDA主题模型的文献分类系统,其特征在于,所述文件处理模块包括语料模块和词模块,语料模块用于将待分类的文献按照语料格式读入,语料格式包括待分类文献的ID、标题、正文,词模块用于将待分类文献的标题或正文中出现的词按照字典格式读入,字典格式设置了与LDA主题模型的主题一致的主题。

说明书 :

基于LDA主题模型的文献分类方法和系统

技术领域

[0001] 本发明涉及文献分类技术领域,具体是一种基于LDA主题模型的文献分类方法和系统。

背景技术

[0002] 现有的分类方法,无论是规则法、统计法还是深度学习方法,都依赖于大量标注语料来实现的。现实中,得到全部标注语料是非常困难的,往往只能确定部分语料和关键词,也就是,要在部分先验知识的前提下,得到高精度的分类结果。这里的技术矛盾体现为,标注语料的全部和部分、无限和有限之间的矛盾。
[0003] 用有限的样本进行统计分类,随着上下文的不同,会严重的损害分类的召回率,即对于一些明显的分类结果,经过计算之后,会出现意想不到的分类结果。比如出现“三维水平井钻井”这个词串的时候,在一个句子长度有限意义专一的标题里,都应该属于“钻井工程”这个类,如“苏东区块三维水平井钻井难点分析”,但是经过统计分析后的“长庆致密油三维水平井钻井技术研究与应用”被计算成为“成藏研究”,显然这个计算结果是错误的。因此需要一个分类方法,既要保持规则分类的召回率,又要有模型分类的发现和联想的能力。LDA计算出来的最佳聚类只有一个,但是现实中需要挖掘的属性有很多,因此LDA也不能满
足分类的要求。纯粹的LDA聚类不能表达人的想法,因此在实际中不能实现分类。

发明内容

[0004] 本发明的一个目的是解决至少上述问题,并提供至少后面将说明的优点。
[0005] 本发明还有一个目的是提供一种基于LDA主题模型的文献分类方法和系统,其可以在有限先验知识的前提下实现大规模的分类;通过加载初始监督字典或获得的不同的新
的监督字典,可以实现文献的多属性挖掘;通过对获得的不同的新的监督字典的不断人工
校对,即不断加强监督学习的过程,可以实现准确度的不断提高。本方法既保持了规则分类方法的准确性,又具有LDA的联想聚类能力,分类结果准确,工程量小。
[0006] 为了实现根据本发明的这些目的和其它优点,提供了一种基于LDA主题模型的文献分类方法,包括以下步骤:
[0007] 步骤一、预编初始监督字典,初始监督字典里的词包括多个类,并且与LDA主题模型的主题一一对应;
[0008] 步骤二、获取待分类文献中的所有的词,并计算每个词属于每个主题的概率,将待分类文献中出现的属于初始监督字典中的词根据初始监督字典调整所属的主题,获得聚类字典;
[0009] 步骤三、根据聚类字典,对于每个主题中的词根据其出现的频率由高到低进行排序,抽取前M%个词加入初始监督字典组成新的监督字典,其中,M为大于或等于1的整数;
[0010] 步骤四、查找每篇待分类文献所包含的新的监督字典中的词所对应的主题,将出现的词最多的主题作为该篇文献的主题,完成对待分类文献的分类。
[0011] 优选的是,步骤一中的多个类包括N个类和一个其他类,N为大于1的整数,其他类中收纳了不属于N个类的词,N个类可以按照感情色彩进行分类、或按照满意度进行分类、或按照专题进行分类。
[0012] 优选的是,N个类按照感情色彩进行分类时,包括正向情感类、负向情感类、中性情感类,其他类中收纳了与感情色彩无关的词。
[0013] 优选的是,步骤二中,先对待分类文献中的词进行中文分词处理,再根据初始监督字典除去待分类文献中出现的属于初始监督字典里的其他类中的词,获取待分类文献中的所有的词,其中,待分类文献的所有的词包括待分类文献的标题或正文中出现的词。
[0014] 优选的是,步骤二中将待分类文献中出现的属于初始监督字典中的词根据初始监督字典调整所属的主题,其具体操作为:判断待分类文献中的每个词是否包含于初始监督
字典中,若包含,则将该词对应的所属主题的概率调整为1,属于其他主题的概率调整为0,若不包含,则不进行处理,获得的聚类字典中收纳了待分类文献中经过判断的所有的词及
该所有的词所属的主题。
[0015] 基于LDA主题模型的文献分类系统,包括:
[0016] 初始监督字典模块,其用于预先设置词所属的类,预先设置多个已知的词,一个词属于一个类,一个类对应LDA主题模型的一个主题;
[0017] 文件处理模块,其用于获取待分类文献中的所有的词,并计算每个词属于每个主题的概率,将待分类文献中出现的属于初始监督字典中的词根据初始监督字典调整所属的
主题,获得聚类字典;
[0018] 字典整理模块,其用于对聚类字典中的每个主题中的词根据其出现的频率由高到低进行排序,抽取前M%个词加入初始监督字典组成新的监督字典,其中,M为大于或等于1的整数;
[0019] 输出文件模块,其用于根据新的监督字典查找每篇文献包含新的监督字典中的词所对应的主题,将出现的词最多的主题作为该篇文献的主题,并输出该篇文献和其对应的
主题。
[0020] 优选的是,初始监督字典模块中的多个类包括N个类和一个其他类,N为大于1的整数,其他类中收纳了不属于N个类的词,N个类可以按照感情色彩进行分类、或按照满意度进行分类、或按照专题进行分类。
[0021] 优选的是,还包括:
[0022] 初步降噪模块,其用于除去待分类文献中出现的属于初始监督字典中的其他类的词,以供文件处理模块进行处理。
[0023] 优选的是,所述文件处理模块包括语料模块和词模块,语料模块用于将待分类的文献按照语料格式读入,语料格式包括待分类文献的ID、标题、正文,词模块用于将待分类文献的标题或正文中出现的词按照字典格式读入,字典格式设置了与LDA主题模型的主题
一致的主题。
[0024] 本发明至少包括以下有益效果:
[0025] 本发明通过对LDA主题模型进行监督(supervised),即将LDA的主题当作类,将已知的属于类的词作为初始监督字典,在LDA主题模型的循环迭代中,对中间结果(中间结果
即对得到的待分类文献中的词)进行类别判断和调整;这样既发挥了LDA聚类发现的能力,
又保持了根据字典初始监督字典的规则进行分类的精确性;从数学上看,是将无约束条件
的全局LDA最优方法改造成带约束条件的部分最优方法。
[0026] 本发明对聚类字典进行人工检验,将新出现的词确认之后,就得到一副新的监督字典;随着这个过程的不断深入,最终会通过聚类的方法穷举出属于这个主题(即这个类)
的所有的词,形成一个不断更新、越来越准确的字典,从而对待分类文献进行准确的分类。
本发明在每一次分类结束后都会得到一部新的监督字典,通过调用不同的新的监督字典,
就可以在新的监督字典的监督下,聚出所需要的类别,也就是实现对待分类文献的文本的
多属性挖掘。
[0027] 本发明是基于LDA主题模型的文献分类方法和系统,可以在有限先验知识的前提下实现大规模的分类;通过加载初始监督字典或获得的不同的新的监督字典,可以实现文
献的多属性挖掘;通过对获得的不同的新的监督字典的不断人工校对,即不断加强监督学
习的过程,可以实现准确度的不断提高。本方法既保持了规则分类方法的准确性,又具有
LDA的联想聚类能力,分类结果准确,工程量小。
[0028] 本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。

具体实施方式

[0029] 下面结合实施例对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
[0030] 本发明提供了一种基于LDA主题模型的文献分类方法,包括以下步骤:
[0031] 步骤一、预编初始监督字典,初始监督字典里的词包括多个类,并且与LDA主题模型的主题一一对应;初始监督字典里预先设置多个已知的词,同时预先设置了词所属的类,使一个已知的词仅属于一个类,一个类对应LDA主题模型的一个主题;
[0032] 步骤二、获取待分类文献中的所有的词,并计算每个词属于每个主题的概率,将待分类文献中出现的属于初始监督字典中的词根据初始监督字典调整所属的主题,获得聚类字典;聚类字典中包括了待分类文献中出现的属于初始监督字典中的词,也包括了待分类
文献中出现的不属于初始监督字典中的词,不属于初始监督字典中的词只要根据计算所得
的属于每个主题的概率不为0,则均划入相对应的主题,如果主题预先设置为4个,一个词根据计算得到了属于第一个主题的概率为0,属于剩余3个主题的概率均不为0,则剩余3个主
题里均含有该一个词,而第一个主题里不含有该一个词;
[0033] 计算每个词属于每个主题的概率时,通过吉布斯采样进行计算,具体为:对于待分类文献,先取每一篇文献进行第一重循环,再从每一篇待分类文献的所有的词中取每一个词进行第二重循环,进而计算每一个词属于每个主题的概率。
[0034] 步骤三、根据聚类字典,对于每个主题中的词根据其出现的频率由高到低进行排序,抽取前M%个词加入初始监督字典组成新的监督字典,其中,M为大于或等于1的整数;对于每个主题中的词进行排序后,出现频率高的词也就是待分类文献中出现的频率比较多的
词,根据截取前M%个词加入初始监督字典组成新的监督字典,能够更准确地对待分类文献进行分类;
[0035] 步骤四、查找每篇待分类文献所包含的新的监督字典中的词所对应的主题,将出现的词最多的主题作为该篇文献的主题,完成对待分类文献的分类。比如一篇文献中出现
的频率多的词有90%在同一个主题中,则将该篇文献分类到该一个主题中。
[0036] 本发明通过对LDA主题模型进行监督(supervised),即将LDA的主题当作类,将已知的属于类的词作为初始监督字典,在LDA主题模型的循环迭代中,对中间结果(中间结果
即对得到的待分类文献中的词)进行类别判断和调整;这样既发挥了LDA聚类发现的能力,
又保持了根据字典初始监督字典的规则进行分类的精确性;从数学上看,是将无约束条件
的全局LDA最优方法改造成带约束条件的部分最优方法。
[0037] 本发明对聚类字典进行人工检验,将新出现的词确认之后,就得到一副新的监督字典;随着这个过程的不断深入,最终会通过聚类的方法穷举出属于这个主题(即这个类)
的所有的词,形成一个不断更新、越来越准确的字典,从而对待分类文献进行准确的分类。
本发明在每一次分类结束后都会得到一部新的监督字典,通过调用不同的新的监督字典,
就可以在新的监督字典的监督下,聚出所需要的类别,也就是实现对待分类文献的文本的
多属性挖掘。
[0038] 在另一技术方案中,步骤一中的多个类包括N个类和一个其他类,N为大于1的整数,其他类中收纳了不属于N个类的词,N个类可以按照感情色彩进行分类、或按照满意度进行分类、或按照专题进行分类。N个类和一个其他类是根据目标需求人为设置的,如果需要得到待分类文献的情感分类,就按照感情色彩进行分类,如果需要得到待分类的文本的满
意度的分类,就按照满意度进行分类,如果需要得到待分类的文献的专题的分类,就按照专题进行分类,专题可以为物理专题、化学专题等,或国内专题、国际专题等。
[0039] 在另一技术方案中,N个类按照感情色彩进行分类时,包括正向情感类、负向情感类、中性情感类,其他类中收纳了与感情色彩无关的词。
[0040] 在另一技术方案中,步骤二中,先对待分类文献中的词进行中文分词处理,再根据初始监督字典除去待分类文献中出现的属于初始监督字典里的其他类中的词,及对待分类文献进行去停用词处理,获取待分类文献中的所有的词,其中,待分类文献的所有的词包括待分类文献的标题或正文中出现的词。在具体的分类时,按照待分类文献的标题和正文可
分别进行分类,即只按照待分类文献的标题中出现的词对待分类文献进行分类,或只按照
待分类文献的正文中出现的词对待分类文献进行分类。
[0041] 在另一技术方案中,步骤二中将待分类文献中出现的属于初始监督字典中的词根据初始监督字典调整所属的主题,其具体操作为:判断待分类文献中的每个词是否包含于
初始监督字典中,若包含,则将该词对应的所属主题的概率调整为1,属于其他主题的概率调整为0,该操作主要体现在操作界面上的人为的调整,若不包含,则不进行处理,获得的聚类字典中收纳了待分类文献中经过判断的所有的词及该所有的词所属的主题,即聚类字典
中含有主题以及主题中的词
[0042] 本发明提供一种基于LDA主题模型的文献分类系统,包括:
[0043] 初始监督字典模块,其用于预先设置词所属的类,预先设置多个已知的词,一个词属于一个类,一个类对应LDA主题模型的一个主题;
[0044] 文件处理模块,其用于获取待分类文献中的所有的词,并计算每个词属于每个主题的概率,将待分类文献中出现的属于初始监督字典中的词根据初始监督字典调整所属的
主题,获得聚类字典;聚类字典中包括了待分类文献中出现的属于初始监督字典中的词,也包括了待分类文献中出现的不属于初始监督字典中的词,不属于初始监督字典中的词只要
根据计算所得的属于每个主题的概率不为0,则均划入相对应的主题,如果主题预先设置为
4个,一个词根据计算得到了属于第一个主题的概率为0,属于剩余3个主题的概率均不为0,则剩余3个主题里均含有该一个词,而第一个主题里不含有该一个词;
[0045] 字典整理模块,其用于对聚类字典中的每个主题中的词根据其出现的频率由高到低进行排序,抽取前M%个词加入初始监督字典组成新的监督字典,其中,M为大于或等于1的整数;对于每个主题中的词进行排序后,出现频率高的词也就是待分类文献中出现的频
率比较多的词,根据截取前M%个词加入初始监督字典组成新的监督字典,能够更准确地对待分类文献进行分类;
[0046] 输出文件模块,其用于根据新的监督字典查找每篇文献包含新的监督字典中的词所对应的主题,将出现的词最多的主题作为该篇文献的主题,并输出该篇文献和其对应的
主题。比如一篇文献中出现的频率多的词有90%在同一个主题中,则将该篇文献分类到该
一个主题中。输出时,可输出已经分类好的文献的标题与对应的主题,也可输出已经分类好的文献的正文与对应的主题。
[0047] 在另一技术方案中,初始监督字典模块中的多个类包括N个类和一个其他类,N为大于1的整数,其他类中收纳了不属于N个类的词,N个类可以按照感情色彩进行分类、或按照满意度进行分类、或按照专题进行分类。N个类和一个其他类是根据目标需求人为设置
的,如果需要得到待分类文献的情感分类,就按照感情色彩进行分类,如果需要得到待分类的文本的满意度的分类,就按照满意度进行分类,如果需要得到待分类的文献的专题的分
类,就按照专题进行分类,专题可以为物理专题、化学专题等,或国内专题、国际专题等。
[0048] 在另一技术方案中,还包括:
[0049] 初步降噪模块,其用于除去待分类文献中出现的属于初始监督字典中的其他类的词,即对待分类文献进行去停用词处理,以供文件处理模块进行处理。
[0050] 在另一技术方案中,所述文件处理模块包括语料模块和词模块,语料模块用于将待分类的文献按照语料格式读入,语料格式包括待分类文献的ID、标题、正文,举例如下表1所示,词模块用于将待分类文献的标题或正文中出现的词按照字典格式读入,字典格式设
置了与LDA主题模型的主题一致的主题,举例如下表2所示。
[0051] 表1
[0052]
[0053] 表2
[0054] 类 词正向 真不错
负向 停车难
中性 大势已定
其他 也
[0055] 实施例1
[0056] 根据本发明的方法,以将待分类文献按照标题进行情感分类为例,如下:
[0057] 初始监督字典里预先设置了10个词,分别为“喜欢”、“首创”、“拼命”、“离婚”、“上调”、“散伙”、“郁闷”、“过户”、“也”、“为”,根据词的情感预先设置了四类对应四个主题,分别为正向、负向、中性、其他,正向中包含“喜欢”、“首创”、“拼命”、“上调”,负向中包含“离婚”、“散伙”、“郁闷”,中性里包含“过户”,其他中包含“也”、“为”,其他中收纳了与情感无关的词。
[0058] 一个txt文本内有100篇待分类文献,读入100篇待分类文献后,先对待分类文献的标题中的词进行中文分词处理,再根据初始监督字典除去待分类文献的标题中出现的属于
初始监督字典里的其他类中的词,即对待分类文献的标题进行去停用词处理,获取待分类
文献标题中的所有的词;
[0059] 计算每个词属于以上四个主题中每个主题的概率,如果计算得到的“拼命”属于正向的概率为0.7,属于负向的概率为0.2,属于中性的概率为0.1,属于其他的概率为0,但是初始监督字典里预先设置了“拼命”完全是属于正向的,则在实际操作界面,人为将“拼命”属于正向的概率调整为1,属于其他主题的概率调整为0;如果计算得到的一个词“手续”属于正向的概率为0.3,属于负向的概率为0.1,属于中性的概率为0.5,属于其他的概率为0.1,则四个主题中均含有“手续”这个词,由此,获得了关于100篇待分类文献的聚类字典;
[0060] 再将聚类字典中四个主题中的词分别按照出现的频率进行排序,每个主题中截取排序靠前的前10%个词,加入到初始监督字典组成新的监督字典,比如新的监督字典里正
向中包含“喜欢”、“首创”、“拼命”、“上调”、“高兴”、“努力”、“美丽”,负向中包含“离婚”、“散伙”、“郁闷”、“悲伤”、“放弃”,中性里包含“过户”、“手续”、“目标”,其他中包含“也”、“为”、“的”、“呢”,对于待分类的一篇文献中的属于新的监督字典的词有:“喜欢”、努力”、“美丽”、“放弃”、“手续”、“为”、“的”、“呢”,其中,喜欢”出现了8次,努力”、“美丽”、均出现了6次,“放弃”出现了1次,“手续”出现了1次,“喜欢”、努力”、“美丽”出现的次数多,且都属于正向,则该篇文献分类到正向中。由此类推,完成100篇文献的标题的分类。
[0061] 其中,比如“放弃”这个词计算出来的主题是“正向”,但是初始监督字典里标明是“负向”,然后就把“放弃”的类或主题换成负向,具体实现过程如下:
[0062] #计算词所属于的主题或者类,z就是这个类,比如正向、负向等
[0063] zz=pz/pz.sum()
[0064] zzz=np.random.multinomial(1,pz/pz.sum())
[0065] z=zzz.argmax()
[0066] #根据字典调整,id_z就是监督字典
[0067] if w in id_z.index:
[0068] z=id_z.ix[w]['z']
[0069] #程序接着往下
[0070] Z[d][index]=z
[0071] #将当前文档当前单词新采样的topic相关计数加上1
[0072] ndz[d,z]+=1#文献-主题矩阵
[0073] nzw[z,w]+=1#主题-词矩阵
[0074] nz[z]+=1#特征值
[0075] 在具体的操作过程中,可以调整LDA主题模型相关的参数ndz、nzw和nz等,实现迭代更新,进入下一轮循环,即对下一个txt中的多篇文献进行分类。
[0076] 尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限
于特定的细节。