关键词提取的方法及装置与流程

文档序号:13743281阅读:101来源:国知局
技术领域本发明涉及关键词提取技术领域,具体的涉及一种关键词提取的方法及其装置。

背景技术:
关键词是文本信息的抽象表示,能够反映文本的主要内容,是文本索引及信息检索的基本单位。当前互联网技术飞速发展,每天都有海量信息产生,这些信息中很大一部分以文本的形式存在,使用关键词对文本进行说明可实现对文本的有效组织,对信息的高效检索以及推荐等应用有很大价值。面对海量的文本数据,人工提取关键词存在各种困难。目前常用的一种自动提取关键词的方法是对文本进行分词,计算出所有词语的TF-IDF(TermFrequency-InverseDocumentFrequency,词频-逆向文件频率)值并进行排序,获取TF-IDF值最大的预设数值个词语作为文本的关键字。现有的使用TF-IDF值最大的预设数值个词语作为文本关键字的方法有以下缺点:1、依赖文本集合其他文本的内容,当其他文本与当前文本的关联度较小时,关键词提取的准确性较低并且随着文本集合的改变会导致提取结果的不稳定;2、只使用了词的统计信息未考虑词的空间位置信息,对词的重要程度的贡献也会影响提取的准确性。

技术实现要素:
本发明的目的在于提供一种关键词提取的方法及装置,该发明解决了仅通过TF-IDF值并进行排序方法进行关键词提取时容易出现的提取准确性、稳定性结果降低的技术问题。本发明的一方面提供了一种关键词提取的方法,包括以下步骤:步骤S100:对待处理文本进行分词并标注词性,过滤不符合词性要求的词,得到样本文本,计算样本文本中每个词的位置因子和TextRank得分;步骤S200:将每个词的位置因子和TextRank得分的乘积作为该词的影响因子;步骤S300:对每个词按照影响因子大小进行排序,并选取影响因子最大的预设个数词作为样本文本的关键词。进一步地,位置因子的计算方法包括以下步骤:步骤S110:初始化位置因子函数f和factorMap;步骤S120:遍历样本文本的分词列表,对于第i个词w计算其位置因子值f(i),若w不存在于factorMap中,则将w加入factorMap并设置其值为f(i),若w存在于factorMap中,则更新factorMap(w)=factorMap(w)+f(i);步骤S130:遍历样本文本的分词列表完毕后,输出所得factorMap,作为样本文本中每个词的位置因子。进一步地,位置因子函数f为f(i)=(len+1-i)/len,其中len为过滤后的分词列表长度,i为样本文本分词列表中第i个词的位置数。进一步地,步骤S300包括以下步骤:步骤S310:将样本文本中每个词的影响因子按键值对形式存储为affectMap,对affectMap中的每个词按照影响因子值从大到小进行排序,得到关键词候选列表candidateList;步骤S320:从candidateLis列表中选取前N个名词作为关键词并保存,N为预设的关键词个数。进一步地,过滤步骤后保留名词、动词、形容词及副词词性的词。本发明的另一方面还提供了一种如上述的关键词提取方法用装置,包括:分词过滤模块,用于对待处理文本进行分词并标注词性,过滤不符合词性要求的词,得到样本文本,计算样本文本中每个词的位置因子和TextRank得分;乘积模块,用于将每个词的位置因子和TextRank得分的乘积作为该词的影响因子;影响因子排序模块,用于对每个词按照影响因子大小进行排序,并选取影响因子最大的预设个数词作为样本文本的关键词。进一步地,分词过滤模块中包括:初始模块,用于初始化位置因子函数和factorMap;遍历模块,用于遍历样本文本的分词列表,对于第i个词w计算其位置因子值f(i),若w不存在于factorMap中,则将w加入factorMap并设置其值为f(i),若w存在于factorMap中,则更新factorMap(w)=factorMap(w)+f(i);位置因子模块,用于遍历样本文本的分词列表完毕后,输出所得factorMap,作为样本文本中每个词的位置因子。进一步地,影响因子排序模块包括:排序模块,用于将样本文本中每个词的影响因子按键值对形式存储为affectMap,对affectMap中的每个词按照影响因子值从大到小进行排序,得到关键词候选列表candidateList;取词模块,用于从candidateLis列表中选取前N个名词作为关键词并保存,N为预设的关键词个数。本发明的技术效果:本发明提供的关键词提取方法,在现有TF-IDF关键词提取方法的基础上,使用词的位置信息以及词的TextRank得分计算词的影响因子,选取影响因子最大的预设个数词作为文本的关键词,从而避免了单纯使用TF-IDF关键词提取方法过于依赖文本集合其他文本的内容的问题,从而提高了关键词提取的准确性,并且整个计算过程基于单个文本可不受其他文本的影响因此提取了所得提取结果的一致性。本发明提供的关键词提取装置具体请参考根据本发明的关键词提取的方法及装置提出的各种实施例的如下描述,将使得本发明的上述和其他方面显而易见。附图说明图1是本发明提供的关键词提取的方法优选实施例的流程示意图;图2是本发明提供的关键词提取的装置的优选实施例的结构示意图。具体实施方式构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。参见图1,本发明提供的关键词提取的方法,包括以下步骤:步骤S100:对待处理文本进行分词并标注词性,过滤不符合词性要求的词,得到样本文本,计算样本文本中每个词的位置因子和TextRank得分;步骤S200:将每个词的位置因子和TextRank得分的乘积作为该词的影响因子;步骤S300:对每个词按照影响因子大小进行排序,并选取影响因子最大的预设个数词作为样本文本的关键词。采用上述方法,通过计算除去不符合要求的词所得样本文本中各词的位置因子,而位置因子表示词在文本中的空间分布重要性,数值越大越重要。从而将被现有TF-IDF关键词提取方法忽略的词所处位置因子考虑进入,能有效的避免了只使用了词的统计信息未考虑词的空间位置信息,对词的重要程度的贡献也会影响提取的准确性。TextRank得分表示词的权重。词的影响因子表示词对文本的重要程度,影响因子值越大,则说明该词越重要。对文本进行分词,按常规方法进行即可。读入文本,对待处理文本进行分词并标注词性。例如可以采用N-最短路径进行分词,采用隐马尔科夫模型进行词性标注。对分词列表进行过滤,可以根据所需提取的关键词的词性进行保留,优选的,只保留名词、动词、形容词及副词,从而提高提取关键词的准确性。分词过滤后的文本为样本文本,该样本文本为分词列表。该方法中所用TextRank得分可以按现有方法进行,如下:样本文本中每个词的TextRank得分集合为scoreMap。TextRank计算方法使用公式为:WS(Vi)=(1-d)+d*ΣVj∈In(Vi)wjiΣVk∈Out(Vj)wjkWS(Vj)]]>式(1)其中,d为阻尼系数,Vi表示词图中的第i个词,wji表示词图中的第i个词与其输入中的第j个词之间的权重,In(Vi)表示词图中第i个词的输入,Out(Vj)表示词图中第j个词的输出。具体的详细计算过程可参见RadaMihalceaandPaulTarau的论文《TextRank:BringingOrderintoTexts》(UntScholarlyWorks,2004:404-411),这里不做详述。在实施中,可以采用窗口大小为5来计算TextRank得分,词之间的权重取1,即对于任意词i和词j取其wji=1。对于位置因子的计算可以根据现有方法进行,所得每个词的位置因子值集合为factorMap。优选的,位置因子的计算方法包括以下步骤:步骤S110:初始化位置因子函数f和factorMap;步骤S120:遍历样本文本的分词列表,对于第i个词w计算其位置因子值f(i),若w不存在于factorMap中,则将w加入factorMap并设置其值为f(i),若w存在于factorMap中,则更新factorMap(w)=factorMap(w)+f(i);步骤S130:遍历样本文本的分词列表完毕后,输出所得factorMap,作为样本文本中每个词的位置因子。采用上述提取方法基于以下假设:词在文本中出现的次数越多位置因子值越大。将词在文本不同位置的位置因子函数值的累加值作为位置因子值,综合考虑了词在文本中的空间分布,可体现词的空间重要程度。从而对现有提取方法欠缺考虑的地方进行补充。factorMap以键值对形式存储,其中键为样本文本中的词,值为该词对应的位置因子值。。优选的,本发明基于在文档中位置越靠前的词越重要的假设,位置因子函数f采用f(i)=(len+1-i)/len的形式,其中len为过滤后的分词列表长度,i为样本文本分词列表中第i个词的位置数。按此假设,是出于通常情况下,一篇文章中的关键词不但会反复出现,还会多在文章中开宗明义地出现。因而如此设置,即可通过计算公式获取每个词较准确的位置因子,从而避免了位置因子对所得提取结果的不良干扰。scoreMap以键值对(键值对)的形式存储,其中键为词,值为词的TextRank得分。步骤S200中基于factorMap和scoreMap计算词的关联因子,计算得到词的影响因子集合affectMap。遍历scoreMap,将每个词w加入affectMap并设置其值为scoreMap(w)*factorMap(w)。采用位置因子和TextRank得分的乘积作为每个词的影响因子,能避免现有的关键词提取方法过于依赖文本集合中的其他文本内容,当其他文本与当前文本的关联度较小时,关键词提取的准确性较低并且随着文本集合的改变会导致提取结果的不稳定的问题。对于每个词的影响因子的排序比较,可以按常规方法进行,优选的,步骤S300包括以下步骤:步骤S310:将样本文本中每个词的影响因子按键值对形式存储为affectMap,对affectMap中的每个词按照影响因子值从大到小进行排序,得到关键词候选列表candidateList;步骤S320:从candidateLis列表选取前N个名词作为关键词并保存,N为预设的关键词个数。1、本发明提供的方法在关键词的提取中综合考虑了词的位置信息(位置因子)和权重(TextRank得分),提高了对关键词的提取准确性;2、本发明提供的方法计算过程基于单个文本进行,不受其他文本内容的影响,提取结果具有一致性,可实现对同一文本每次提取的结果均相同。参见图2,本发明另一方面还提供了一种使用上述方法的关键词提取装置,包括:分词过滤模块100,用于对待处理文本进行分词并标注词性,过滤不符合词性要求的词,得到样本文本,计算样本文本中每个词的位置因子和TextRank得分;乘积模块200,用于将每个词的位置因子和TextRank得分的乘积作为该词的影响因子;影响因子排序模块300,用于对每个词按照影响因子大小进行排序,并选取影响因子最大的预设个数词作为样本文本的关键词。采用该装置通过计算除去不符合要求的词所得样本文本中各词的位置因子,而位置因子表示词在文本中的空间分布重要性,数值越大越重要。从而将被现有TF-IDF关键词提取方法忽略的词所处位置因子考虑进入,能有效的避免了只使用了词的统计信息未考虑词的空间位置信息,对词的重要程度的贡献也会影响提取的准确性。分词过滤模块中包括:初始模块,用于初始化位置因子函数和factorMap;遍历模块,用于遍历样本文本的分词列表,对于第i个词w计算其位置因子值f(i),若w不存在于factorMap中,则将w加入factorMap并设置其值为f(i),若w存在于factorMap中,则更新factorMap(w)=factorMap(w)+f(i);位置因子模块,用于遍历样本文本的分词列表完毕后,输出所得factorMap,作为样本文本中每个词的位置因子。优选的,影响因子排序模块包括:排序模块,用于将样本文本中每个词的影响因子按键值对形式存储为affectMap,对affectMap中的每个词按照影响因子值从大到小进行排序,得到关键词候选列表candidateList;取词模块,用于从candidateLis列表中选取前N个名词作为关键词并保存,N为预设的关键词个数。按此进行排序,能快速获取具有最高影响因子的待提取关键词。本领域技术人员将清楚本发明的范围不限制于以上讨论的示例,有可能对其进行若干改变和修改,而不脱离所附权利要求书限定的本发明的范围。尽管己经在附图和说明书中详细图示和描述了本发明,但这样的说明和描述仅是说明或示意性的,而非限制性的。本发明并不限于所公开的实施例。通过对附图,说明书和权利要求书的研究,在实施本发明时本领域技术人员可以理解和实现所公开的实施例的变形。在权利要求书中,术语“包括”不排除其他步骤或元素,而不定冠词“一个”或“一种”不排除多个。在彼此不同的从属权利要求中引用的某些措施的事实不意味着这些措施的组合不能被有利地使用。权利要求书中的任何参考标记不构成对本发明的范围的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1