主题词抽取方法及装置与流程

文档序号:12464592阅读:368来源:国知局
主题词抽取方法及装置与流程

本发明涉及自然语言处理领域,具体而言,涉及一种主题词抽取方法及装置。



背景技术:

主题可以体现文档所表达的中心思想,是计算机表达文档的有效方式之一。提取主题信息有助于理解文档的有效信息,提高计算机对文档的处理效率。目前,主题抽取技术是自然语言处理领域一项热门技术。

一般地,以汉语主题抽取为例,主题抽取任务中通常分为主题词、主题概念和主题句三个层面。虽然单个主题词不像主题概念和主题句那样,具有明确的意义,但是一个主题词集合可以清晰地描述一个主题,并且更有利于计算机处理。

在相关技术中,提供了一种主题词抽取方法,具体执行过程如下:(1)收集大量文档构建大型文档集合,统计词语在所有文档中出现的频率,构建词语-文档的频率模型(Inverse Document Frequency,简称为IDF);(2)针对需要抽取主题的文档,统计词语在该文档中的词频信息(Term Frequency,简称为TF);(3)构建基于词频信息的加权权重计算模型,确定文档中每个词语的权重值,并按权重值大小对所有词语排序;(4)根据预先设定的阈值,输出上一步排序后的top-n个词语。

发明人发现,上述技术方法存在以下缺点:(1)基于词频信息的主题词抽取模型,抽取主题词时需要依赖词频信息,容易受高频噪声词影响,导致抽取出来的主题词及其集合容易被高频噪声词污染,不能保证主题词的抽取质量;(2)基于权重值排序的主题词抽取技术,不管权重值计算模型如何变化,都无法考虑每个词语的语义,因而不能解决中文一词多义或多词同义等问题,即不能有效地区分词语的语义,从而影响抽取的主题词及其集合的质量。另外,上述方案需要学习IDF模型,并且IDF模型在不分领域的全网数据中效果明显,而处理相同领域的文档时,效果明显下降,一般需要重新训练该领域的IDF模型,不够灵活。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种主题词抽取方法及装置,以至少解决由于一词多义或多词同义造成的影响主题词抽取质量的技术问题。

根据本发明实施例的一个方面,提供了一种主题词抽取方法,包括:获取所有需要抽取主题词的文档以及出现在该文档中的词语;基于每个词语在该文档中出现的频率构建词语文档矩阵,其中,所述词语文档矩阵的每一行表示各个词语在一篇文档中的词频信息,每一列表示一个词语在各篇文档中的词频信息;利用潜在语义分析模型对所述词语文档矩阵进行语义分析,生成潜在语义空间;根据所述潜在语义空间抽取所述所有需要抽取主题词的文档的主题词。

进一步地,利用潜在语义分析模型对上述词语文档矩阵进行语义分析,生成潜在语义空间包括:利用上述潜在语义分析模型分析上述词语文档矩阵中的词语与文档的对应关系;按照上述对应关系将上述词语文档矩阵中的词语与文档映射到满足预定维度条件的向量空间中,生成上述潜在语义空间。

进一步地,利用潜在语义分析模型对上述词语文档矩阵进行语义分析,生成潜在语义空间包括:利用奇异值分解模型或非负矩阵分解模型或概率潜在语义索引模型对上述词语文档矩阵进行语义分析,生成潜在语义空间。

进一步地,根据上述潜在语义空间抽取上述所有需要抽取主题词的文档的主题词包括:根据上述潜在语义空间确定主题词词语矩阵,其中,上述主题词词语矩阵的每一行表示主题词的语义类别,每一列表示在上述所有需要抽取主题词的文档中出现的词语;对上述主题词词语矩阵中每一行词语按其权重值排序;抽取排序后的主题词词语矩阵中权重值大于预设阈值的词语作为上述所有需要抽取主题词的文档的主题词。

进一步地,获取所有需要抽取主题词的文档以及出现在该文档中的词语包括:获取上述所有需要抽取主题词的文档;对上述所有需要抽取主题词的文档进行分词处理,得到上述出现在该文档中的词语。

根据本发明实施例的另一方面,还提供了一种主题词抽取装置,包括:获取单元,用于获取所有需要抽取主题词的文档以及出现在该文档中的词语;构建单元,用于基于每个词语在该文档中出现的频率构建词语文档矩阵,其中,上述词语文档矩阵的每一行表示各个词语在一篇文档中的词频信息,每一列表示一个词语在各篇文档中的词频信息;生成单元,用于利用潜在语义分析模型对上述词语文档矩阵进行语义分析,生成潜在语义空间;抽取单元,用于根据上述潜在语义空间抽取上述所有需要抽取主题词的文档的主题词。

进一步地,上述生成单元包括:分析模块,用于利用上述潜在语义分析模型分析上述词语文档矩阵中的词语与文档的对应关系;生成模块,用于按照上述对应关系将上述词语文档矩阵中的词语与文档映射到满足预定维度条件的向量空间中,生成上述潜在语义空间。

进一步地,上述生成单元还用于利用奇异值分解模型或非负矩阵分解模型或概率潜在语义索引模型对上述词语文档矩阵进行语义分析,生成潜在语义空间。

进一步地,上述抽取单元包括:确定模块,用于根据上述潜在语义空间确定主题词词语矩阵,其中,上述主题词词语矩阵的每一行表示主题词的语义类别,每一列表示在上述所有需要抽取主题词的文档中出现的词语;排序模块,用于对上述主题词词语矩阵中每一行词语按其权重值排序;抽取模块,用于抽取排序后的主题词词语矩阵中权重值大于预设阈值的词语作为上述所有需要抽取主题词的文档的主题词。

进一步地,上述获取单元包括:获取模块,用于获取上述所有需要抽取主题词的文档;分词模块,用于对上述所有需要抽取主题词的文档进行分词处理,得到上述出现在该文档中的词语。

在本发明实施例中,采用基于语义分析结果抽取主题词的方式,通过获取所有需要抽取主题词的文档以及出现在该文档中的词语;基于每个词语在该文档中出现的频率构建词语文档矩阵,其中,词语文档矩阵的每一行表示各个词语在一篇文档中的词频信息,每一列表示一个词语在各篇文档中的词频信息;利用潜在语义分析模型对词语文档矩阵进行语义分析,生成潜在语义空间;根据潜在语义空间抽取所有需要抽取主题词的文档的主题词,达到了基于语义分析结果抽取主题词的目的,从而实现了提高主题词抽取质量的技术效果,进而解决了由于一词多义或多词同义造成的影响主题词抽取质量的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的主题词抽取方法的流程图;

图2是根据本发明实施例的一种可选的主题词抽取装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种主题词抽取方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种可选的主题词抽取方法的流程图,如图1所示,该方法包括如下步骤:

步骤S102,获取所有需要抽取主题词的文档以及出现在该文档中的词语;

步骤S104,基于每个词语在该文档中出现的频率构建词语文档矩阵,其中,词语文档矩阵的每一行表示各个词语在一篇文档中的词频信息,每一列表示一个词语在各篇文档中的词频信息;

步骤S106,利用潜在语义分析模型对词语文档矩阵进行语义分析,生成潜在语义空间;

步骤S108,根据潜在语义空间抽取所有需要抽取主题词的文档的主题词。

例如,假设共有N篇需要抽取主题词的文档,这些文档共涉及M个词语,该文档的集合表示为D={d1,d2,d3……,dn},这M个词语的集合表示为W={w1,w2,w3……,wm},那么由上述文档和词语可以建立一个N*M的词语文档矩阵A(即词语-文档矩阵A), 矩阵A如下所示:

矩阵A中的每一行对应一篇文档,其中每个元素表示对应词语在该篇文档中的词频信息;每一列对应一个词语,其中每个元素表示该词语在对应文档中的词频信息,具体的,A中aij由D和W通过aij=DiWj映射得到,表示词语j在文档i中的词频信息。

进一步,在矩阵A的基础上,可以计算归一化因子,并将各行向量归一化。归一化因子计算方法包括多种,在此不作限定,例如,可以选用L2-normal ization方法进行向量归一化。具体地,L2-normal ization归一化因子的计算方法如下:

Norm=(d1)2+…+…(dn)2

通过上述步骤,可以实现使用潜在语义分析方法对篇章级文档进行处理,完善基于词频信息抽取主题词的不足,兼顾词语的语义以减少噪声词对主题词质量的影响,使得用来表示主题的主题词能够更好的地涵盖文档信息,使主题的表示更加完善,从而有效地提高了抽取到的主题词的质量,使得抽取出来的主题在后期应用中有着更好的普适性,对计算相似度或文档检索等工作有着重要的意义。

可选地,利用潜在语义分析模型对词语文档矩阵进行语义分析,生成潜在语义空间包括:

S2,利用潜在语义分析模型分析词语文档矩阵中的词语与文档的对应关系;

S4,按照对应关系将词语文档矩阵中的词语与文档映射到满足预定维度条件的向量空间中,生成潜在语义空间。

潜在语义分析的目的在于要找出各词语在文档中的真正含义,也就是潜在语义,从而获得词语的语义信息及词语与主题之间的关系。具体说来,生成潜在语义空间就是使用一个合理维度对一个大型文档集合在维护空间中建模,并将词语和文档都表示到该空间中。例如,有2000篇文档,包含7000个词语,在潜在语义分析时,将词语和文档按照对应关系表示到一个维度为100的向量空间中。

通过本发明实施例,基于潜在语义分析模型抽取主题,可以减小噪声词的影响,使抽取出来的主题词能更好的描述文档的主题。

基于上述实施例,可选地,利用潜在语义分析模型对词语文档矩阵进行语义分析,生成潜在语义空间包括:

S6,利用奇异值分解模型或非负矩阵分解模型NMF或概率潜在语义索引模型pLSI对词语文档矩阵进行语义分析,生成潜在语义空间。

下面以使用奇异值分解K-SVD模型为例,详细介绍生成潜在语义空间的过程:

其中,奇异值分解(Singular Value Decomposition,简称为SVD)是线性代数中一种重要的矩阵分解,是矩阵分析中正规矩阵酉对角化的推广,在信号处理、统计学等领域有重要应用。酉矩阵U是一个n行n列的复数矩阵,满足UTU=UUT=En,其中,UT为U的共轭转置,En为n阶单位矩阵。在线性代数中,矩阵的列秩是矩阵的线性无关纵列的极大数目。类似地,矩阵的行秩是矩阵的线性无关横行的极大数目。

实施时,使用SVD对词语文档矩阵进行处理,将矩阵A按照A=UΣVT的方式分解为U、Σ、VT三个矩阵,其中,Σ为对角矩阵,对角线上每一个元素都是矩阵A的奇异值(即特征值)。下面介绍A=UΣVT的一种简单求解方法:

(1)求矩阵ATA的酉相似对角矩阵及酉相似矩阵V:

(2)记V=(V1,V2),V1∈Cn×r,V2∈Cn×(n-r)

(3)令U1=AV1Δ-1,U1∈Cm×r

(4)扩充U1为U矩阵,U=(U1,U2),

(5)构造奇异值分解

其中,Σ中每个奇异值对应的是每个“语义”维度的权重值。进一步,可以将不太重要的权重值配置为0,即将小于某一权重阈值的所有维度数值都配置为0,只保留最重要的维度信息,这样可以得到的潜在语义空间可以滤除一些噪声词。

通过本发明实施例,采用奇异值分解方式,可以通过奇异值过滤及隶属度过滤两种方式,过滤掉了权重值较小的主题词的语义类别和隶属度不高的词语,消除高频噪声词的影响,使得抽取出来的主题词能更好的描述文档的主题。

可选地,根据潜在语义空间抽取所有需要抽取主题词的文档的主题词包括:

S8,根据潜在语义空间确定主题词词语矩阵,其中,主题词词语矩阵的每一行表示主题词的语义类别,每一列表示在所有需要抽取主题词的文档中出现的词语;

S10,对主题词词语矩阵中每一行词语按其权重值排序;

S12,抽取排序后的主题词词语矩阵中权重值大于预设阈值的词语作为所有需要抽取主题词的文档的主题词。

基于前述实施例,在对词语文档矩阵A进行奇异值分解后,得到三个矩阵中的对角矩阵Σ和VT两个矩阵,按照T1=ΣVT的乘积方式获得中间矩阵T1,过滤掉T1矩阵中的全0行和全0列,得到最终的主题词词语矩阵T2,其中T2中的行表示抽取的主题词的语义类别,列表示文档中的词语,T2中每一个元素表示该元素所在的列表示的词语与该元素所在的行表示的主题词之间的隶属关系(即隶属度)。而后对矩阵T2中每一行,按照权重值大小排序,并将权重值大于权重阈值的列对应的词语及权重作为主题词及主题信息加入到主题集合中,构成主题词词语集合,用以表示各文档的主题。

需要说明的是,根据任务需求的不同,权重阈值可以分为两种:一是整数型m,表示需要抽取与该主题相关的前m个主题词用来表示文档的主题;二是小数型f,表示需要抽取权重值比f大的所有词语作为主题词用来表示文档的主题。

可选地,获取所有需要抽取主题词的文档以及出现在该文档中的词语包括:

S14,获取所有需要抽取主题词的文档;

S16,对所有需要抽取主题词的文档进行分词处理,得到出现在该文档中的词语。

也即,在所有需要抽取主题词的文档后,需要对这些文档进行预处理,包括:对文档进行分词处理,得到这些文档所涉及的词语,以及统计这些词语的词频信息。对于中文文档而言,可以使用中文分词工具进行分词处理,从而将长文本文档处理成词语集合。为了提高抽取主题词的质量,降低高频噪声词的影响,可以在分词结束后,对“的”,“嗯”等常用中文停用词进行过滤处理。

通过本发明实施例,无需预先训练大型的语料模型,使用灵活,对不同领域的文档集合或全网数据都具有普适性。

实施例2

根据本发明实施例,提供了一种主题词抽取装置的装置实施例。

图2是根据本发明实施例的一种可选的主题词抽取装置的示意图,如图2所示, 该装置包括:获取单元202,用于获取所有需要抽取主题词的文档以及出现在该文档中的词语;构建单元204,用于基于每个词语在该文档中出现的频率构建词语文档矩阵,其中,词语文档矩阵的每一行表示各个词语在一篇文档中的词频信息,每一列表示一个词语在各篇文档中的词频信息;生成单元206,用于利用潜在语义分析模型对词语文档矩阵进行语义分析,生成潜在语义空间;抽取单元208,用于根据潜在语义空间抽取所有需要抽取主题词的文档的主题词。

例如,假设共有N篇需要抽取主题词的文档,这些文档共涉及M个词语,该文档的集合表示为D={d1,d2,d3……,dn},这M个词语的集合表示为W={w1,w2,w3……,wm},那么由上述文档和词语可以建立一个N*M的词语文档矩阵A(即词语-文档矩阵A),矩阵A如下所示:

矩阵A中的每一行对应一篇文档,其中每个元素表示对应词语在该篇文档中的词频信息;每一列对应一个词语,其中每个元素表示该词语在对应文档中的词频信息,具体的,A中aij由D和W通过aij=DiWj映射得到,表示词语j在文档i中的词频信息。

进一步,在矩阵A的基础上,可以计算归一化因子,并将各行向量归一化。归一化因子计算方法包括多种,在此不作限定,例如,可以选用L2-normal ization方法进行向量归一化。具体地,L2-norm归一化因子的计算方法如下:

Norm=(d1)2+…+…(dn)2

通过上述实施例,可以实现使用潜在语义分析方法对篇章级文档进行处理,完善基于词频信息抽取主题词的不足,兼顾词语的语义以减少噪声词对主题词质量的影响,使得用来表示主题的主题词能够更好的地涵盖文档信息,使主题的表示更加完善,从而有效地提高了抽取到的主题词的质量,使得抽取出来的主题在后期应用中有着更好的普适性,对计算相似度或文档检索等工作有着重要的意义。

可选地,上述生成单元包括:分析模块,用于利用潜在语义分析模型分析词语文档矩阵中的词语与文档的对应关系;生成模块,用于按照对应关系将词语文档矩阵中的词语与文档映射到满足预定维度条件的向量空间中,生成潜在语义空间。

潜在语义分析的目的在于要找出各词语在文档中的真正含义,也就是潜在语义, 从而获得词语的语义信息及词语与主题之间的关系。具体说来,生成潜在语义空间就是使用一个合理维度对一个大型文档集合在维护空间中建模,并将词语和文档都表示到该空间中。例如,有2000篇文档,包含7000个词语,在潜在语义分析时,将词语和文档按照对应关系表示到一个维度为100的向量空间中。

通过本发明实施例,基于潜在语义分析模型抽取主题,可以减小噪声词的影响,使抽取出来的主题词能更好的描述文档的主题。

基于上述实施例,可选地,生成单元还用于利用奇异值分解模型或非负矩阵分解模型或概率潜在语义索引模型对词语文档矩阵进行语义分析,生成潜在语义空间。

其使用奇异值分解K-SVD模型生成潜在语义空间的过程同实施例1中介绍的过程,在此不再赘述。

通过本发明实施例,采用奇异值分解方式,可以通过奇异值过滤及隶属度过滤两种方式,过滤掉了权重值较小的主题词的语义类别和隶属度不高的词语,消除高频噪声词的影响,使得抽取出来的主题词能更好的描述文档的主题。

可选地,上述抽取单元包括:确定模块,用于根据潜在语义空间确定主题词词语矩阵,其中,主题词词语矩阵的每一行表示主题词的语义类别,每一列表示在所有需要抽取主题词的文档中出现的词语;排序模块,用于对主题词词语矩阵中每一行词语按其权重值排序;抽取模块,用于抽取排序后的主题词词语矩阵中权重值大于预设阈值的词语作为所有需要抽取主题词的文档的主题词。

基于前述实施例,在对词语文档矩阵A进行奇异值分解后,得到三个矩阵中的对角矩阵Σ和VT两个矩阵,按照T1=ΣVT的乘积方式获得中间矩阵T1,过滤掉T1矩阵中的全0行和全0列,得到最终的主题词词语矩阵T2,其中T2中的行表示抽取的主题词的语义类别,列表示文档中的词语,T2中每一个元素表示该元素所在的列表示的词语与该元素所在的行表示的主题词之间的隶属关系(即隶属度)。而后对矩阵T2中每一行,按照权重值大小排序,并将权重值大于权重阈值的列对应的词语及权重作为主题词及主题信息加入到主题集合中,构成主题词词语集合,用以表示各文档的主题。

需要说明的是,根据任务需求的不同,权重阈值可以分为两种:一是整数型m,表示需要抽取与该主题相关的前m个主题词用来表示文档的主题;二是小数型f,表示需要抽取权重值比f大的所有词语作为主题词用来表示文档的主题。

可选地,上述获取单元包括:获取模块,用于获取所有需要抽取主题词的文档;分词模块,用于对所有需要抽取主题词的文档进行分词处理,得到出现在该文档中的词语。

也即,在所有需要抽取主题词的文档后,需要对这些文档进行预处理,包括:对文档进行分词处理,得到这些文档所涉及的词语,以及统计这些词语的词频信息。对于中文文档而言,可以使用中文分词工具进行分词处理,从而将长文本文档处理成词语集合。为了提高抽取主题词的质量,降低高频噪声词的影响,可以在分词结束后,对“的”,“嗯”等常用中文停用词进行过滤处理。

通过本发明实施例,无需预先训练大型的语料模型,使用灵活,对不同领域的文档集合或全网数据都具有普适性。

上述主题词抽取装置包括处理器和存储器,上述获取单元、构建单元、生成单元、抽取单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数解析文本内容。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(f l ash RAM),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品的实施例,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:获取所有需要抽取主题词的文档以及出现在该文档中的词语;基于每个词语在该文档中出现的频率构建词语文档矩阵,其中,词语文档矩阵的每一行表示各个词语在一篇文档中的词频信息,每一列表示一个词语在各篇文档中的词频信息;利用潜在语义分析模型对词语文档矩阵进行语义分析,生成潜在语义空间;根据潜在语义空间抽取所有需要抽取主题词的文档的主题词。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1