CN115034214A - 关键词提取方法、装置、电子设备和存储介质 - Google Patents

关键词提取方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN115034214A
CN115034214A CN202210508421.XA CN202210508421A CN115034214A CN 115034214 A CN115034214 A CN 115034214A CN 202210508421 A CN202210508421 A CN 202210508421A CN 115034214 A CN115034214 A CN 115034214A
Authority
CN
China
Prior art keywords
word
text data
words
importance
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210508421.XA
Other languages
English (en)
Inventor
李康琪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changsha Digital Intelligence Media Technology Co ltd
Original Assignee
Changsha Digital Intelligence Media Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changsha Digital Intelligence Media Technology Co ltd filed Critical Changsha Digital Intelligence Media Technology Co ltd
Priority to CN202210508421.XA priority Critical patent/CN115034214A/zh
Publication of CN115034214A publication Critical patent/CN115034214A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种关键词提取方法、装置、电子设备和存储介质。其中,方法包括获取文本数据;对所述文本数据提取词语,获得第一词语;使用第一算法对所述第一词语在所述文本数据中的重要性进行计算,获得所述第一词语的第一重要值;使用第二算法对所述第一词语在预设文本数据集中的的重要性进行计算,获得所述第一词语的第二重要值;根据所述第一重要值和所述第二重要值,从所述第一词语中确定所述文本数据的关键词。采用本发明提供的方案能快速准确地从新闻文本中提取新闻关键词。

Description

关键词提取方法、装置、电子设备和存储介质
技术领域
本发明涉及文本自然语音处理技术领域,尤其涉及一种关键词提取方法、装置、电子设备和存储介质。
背景技术
随着互联网文本数据的爆炸式增长,相关业务中经常需要提取能概括文章核心观点的关键词,以实现精准推荐、重点标注等功能。此类业务在执行时具有标准主观性强,而且难以获取可用标注语料,从而导致传统方法的准确度不高,并且十分耗费计算时间。
发明内容
为解决关键词提取准确率不高的技术问题,本发明实施例提供一种关键词提取方法、装置、电子设备和存储介质。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种关键词提取方法,方法包括:
获取文本数据;
对所述文本数据提取词语,获得第一词语;
使用第一算法对所述第一词语在所述文本数据中的重要性进行计算,获得所述第一词语的第一重要值;
使用第二算法对所述第一词语在预设文本数据集中的的重要性进行计算,获得所述第一词语的第二重要值;
根据所述第一重要值和所述第二重要值,从所述第一词语中确定所述文本数据的关键词。
上述方案中,所述对所述文本数据提取词语,获得第一词语,包括:
过滤所述文件数据中的异常值,获得第一文本数据;所述异常值包括符号、空格、网址和/或网页标记;
对所述第一文本数据进行分词处理,获取第一词语。
上述方案中,所述第一算法包括TextRank算法,所述第一重要值包括TextRank值。
上述方案中,所述第二算法包括TF-IDF算法,所述第二重要值包括TF-IDF值。
上述方案中,所述根据所述第一重要值和所述第二重要值,从所述第一词语中确定所述文本数据的关键词,包括:
根据所述第一重要值对所述第一词语进行排序,获取前N个第一重要值最大的第二词语;
根据所述第二重要值对所述第一词语进行排序,获取前M个第二重要值最大的第三词语;
获取所述第二词语和所述第三词语的交集,将所述交集中确定所述文本数据的关键词。
上述方案中,所述获取所述第二词语和所述第三词语的交集,将所述交集中确定所述文本数据的关键词,包括:
获取所述交集中前预设数量个词语;
将所述交集中前预设数量个词语作为所述文本数据的关键词。
上述方案中,所述根据所述第一重要值和所述第二重要值,从所述第一词语中确定所述文本数据的关键词之前,所述方法还包括:
剔除所述第一词语中预设词性的词语;所述预设词性包括形容词语素、形容词、副形词、连词、副词性语素、副词、叹词、方位词、前接成分词、后接成分词、数词、拟声词、介词、代词、时间词性语素、助词和/或非语素字语气词。
本发明实施例还提供了一种关键词提取装置,该装置包括:
获取模块,用于获取文本数据;
词语提取模块,用于对所述文本数据提取词语,获得第一词语;
第一计算模块,用于使用第一算法对所述第一词语在所述文本数据中的重要性进行计算,获得所述第一词语的第一重要值;
第二计算模块,用于使用第二算法对所述第一词语在预设文本数据集中的的重要性进行计算,获得所述第一词语的第二重要值;
确定模块,用于根据所述第一重要值和所述第二重要值,从所述第一词语中确定所述文本数据的关键词。
本发明实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
处理器用于运行计算机程序时,执行上述任一方法的步骤。
本发明实施例还提供了一种存储介质,存储介质中存储有计算机程序,计算机程序被处理器执行时,实现上述任一方法的步骤。
本发明实施例提供的关键词提取方法、装置、电子设备和存储介质,获取文本数据;对所述文本数据提取词语,获得第一词语;使用第一算法对所述第一词语在所述文本数据中的重要性进行计算,获得所述第一词语的第一重要值;使用第二算法对所述第一词语在预设文本数据集中的的重要性进行计算,获得所述第一词语的第二重要值;根据所述第一重要值和所述第二重要值,从所述第一词语中确定所述文本数据的关键词。采用本发明提供的方案能快速准确地从新闻文本中提取新闻关键词。
附图说明
图1为本发明实施例关键词提取方法的流程示意图;
图2为本发明实施例关键词提取方法的另一流程示意图;
图3为本发明实施例关键词提取方法的另一流程示意图;
图4为本发明实施例关键词提取方法的另一流程示意图;
图5为本发明应用实施例关键词提取过程示意图;
图6为本发明应用实施例原始数据集示意图;
图7为本发明应用实施例TextRank算法模型保存示意图;
图8为本发明应用实施例TF-IDF算法模型保存示意图;
图9为本发明应用实施例TextRank算法提取代码示意图;
图10为本发明应用实施例TF-IDF算法提取代码示意图;
图11为本发明应用实施例关联交集数据代码示意图;
图12为本发明应用实施例关键词提取结果示意图;
图13为本发明实施例关键词提取装置的结构示意图;
图14为本发明实施例计算机设备的内部结构图。
具体实施方式
下面将结合附图及实施例对本发明作进一步详细的描述。
本发明实施例提供了一种关键词提取方法,如图1所示,该方法包括:
步骤101:获取文本数据;
步骤102:对所述文本数据提取词语,获得第一词语;
步骤103:使用第一算法对所述第一词语在所述文本数据中的重要性进行计算,获得所述第一词语的第一重要值;
步骤104:使用第二算法对所述第一词语在预设文本数据集中的的重要性进行计算,获得所述第一词语的第二重要值;
步骤105:根据所述第一重要值和所述第二重要值,从所述第一词语中确定所述文本数据的关键词。
具体地,本实施例中的文本数据可为新闻文本、语音交互文本、小说文本等。实际应用时,本实施例的应用场合可以为从新闻文本中提取新闻关键词、从语音交互文本中提取语音关键词、从小说文本中提取小说关键词。
进一步地,本实施例中的第一算法包括TextRank算法,第一重要值包括TextRank值。第二算法包括TF-IDF算法,第二重要值包括TF-IDF值。
TextRank算法是一种用于文本的基于图的排序算法。其可通过把文本分割成若干组成单元(单词、句子)并建立图模型,利用投票机制对文本中的重要成分进行排序,仅利用单篇文档本身的信息即可实现关键词提取、文摘。
具体地,TextRank一般模型可以表示为一个有向有权图G=(V,E),由点集合V和边集合E组成,E是V×V的子集。图中任两点Vi,Vj之间边的权重为wji,对于一个给定的点Vi,In(Vi)为指向该点的点集合,Out(Vi)为点Vi指向的点集合。点Vi的得分定义如下:
Figure BDA0003638321460000041
其中,d为阻尼系数,取值范围为0到1,代表从图中某一特定点指向其他任意点的概率,一般取值为0.85。使用TextRank算法计算图中各点的得分时,需要给图中的点指定任意的初值,并递归计算直到收敛,即图中任意一点的误差率小于给定的极限值时就可以达到收敛,一般该极限值取0.0001。
TF-IDF算法是一种用于信息检索与数据挖掘的常用加权技术。TF的意思是词频(Term-frequency),IDF的意思是逆向文件频率(inverse Document frequency)。TF-IDF可用于评估一个词在一个文档集中对于某一个文档的重要程度。它与这个词在当前文档中的词频成正比,与文档集中的其他词频成反比。
本实施例中使用两种算法TextRank算法和TF-IDF算法,并使用这两种算法的交集来获取关键词,可是获取的关键词更加准确。
进一步地,如图2所示,在一实施例中,所述对所述文本数据提取词语,获得第一词语,包括:
步骤201:过滤所述文件数据中的异常值,获得第一文本数据;所述异常值包括符号、空格、网址和/或网页标记;
步骤202:对所述第一文本数据进行分词处理,获取第一词语。
具体地,本实施例通过分词处理来获取文本数据中的词语。这里,可使用分词器来对文本数据进行分词。这里,可使用常用的分词器standard分词器、simple分词器等。另外,在分词之前,可先对文本数据进行过滤,过滤掉文本数据中的异常值,异常值包括符号、空格、网址和/或网页标记。实际应用时,可使用正则表达式来对文本数据进行过滤。
正则表达式,又称规则表达式。正则表达式被用来检索、替换那些符合某个模式(规则)的文本。在本实施例中,可用来过滤掉符号、空格、网址和/或网页标记等文本数据。
进一步地,如图3所示,在一实施例中,所述根据所述第一重要值和所述第二重要值,从所述第一词语中确定所述文本数据的关键词,包括:
步骤301:根据所述第一重要值对所述第一词语进行排序,获取前N个第一重要值最大的第二词语;
步骤302:根据所述第二重要值对所述第一词语进行排序,获取前M个第二重要值最大的第三词语;
步骤303:获取所述第二词语和所述第三词语的交集,将所述交集中确定所述文本数据的关键词。
实际应用时,N和M的数值可以基于使用情况进行设置。例如,可将N设置为20,M设置为30。即本实施例中,可根据所述第一重要值对所述第一词语进行排序,获取前20个第一重要值最大的第二词语;和根据所述第二重要值对所述第一词语进行排序,获取前30个第二重要值最大的第三词语;获取该20个第二词语和该30个第三词语的交集,从交集中获取关键词。
进一步地,如图4所示,在一实施例中,所述获取所述第二词语和所述第三词语的交集,将所述交集中确定所述文本数据的关键词,包括:
步骤401:获取所述交集中前预设数量个词语;
步骤402:将所述交集中前预设数量个词语作为所述文本数据的关键词。
实际应用时,若交集中的词语较多。这时,就需要从交集中选出预设数量个词语作为文本数据的关键词。本实施例中,是按照交集中词语的获取顺序,从交集中选出前预设数量个词语,作为文本数据的关键词。例如,按顺序依次获取交集中的词语A、B、C、D、E、F、G、H、I。选前3个词语A、B、C作为文本数据的关键词。另外,在实际应用时,还可从交集中随机选出预设数量个词语,作为文本数据的关键词。例如,从交集A、B、C、D、E、F、G、H、I中,随机选出B、C、E作为文本数据的关键词。
另外,本实施例中,在根据所述第一重要值和所述第二重要值,从所述第一词语中确定所述文本数据的关键词之前,还可以先剔除所述第一词语中预设词性的词语,以使一些不适合作为关键词的词语被过滤掉,提高关键词的获取准确率。具体地,预设词性包括形容词语素、形容词、副形词、连词、副词性语素、副词、叹词、方位词、前接成分词、后接成分词、数词、拟声词、介词、代词、时间词性语素、助词和/或非语素字语气词。
本发明实施例提供的关键词提取方法、装置、电子设备和存储介质,获取文本数据;对所述文本数据提取词语,获得第一词语;使用第一算法对所述第一词语在所述文本数据中的重要性进行计算,获得所述第一词语的第一重要值;使用第二算法对所述第一词语在预设文本数据集中的的重要性进行计算,获得所述第一词语的第二重要值;根据所述第一重要值和所述第二重要值,从所述第一词语中确定所述文本数据的关键词。采用本发明提供的方案能快速准确地从新闻文本中提取新闻关键词。
下面结合应用实施例对本发明再作进一步详细的描述。
本应用实施例提供一种关键词快速精准提取方法。本方法主要使用spark(一种专为大规模数据处理而设计的快速通用的计算引擎)实现了TextRank算法,提取出文章TextRank值前N的词语,然后再使用spark计算文章的TF-IDF值,提取文章TF-IDF权重前M的词语,最后取两组词语的交集作为这篇文章的关键词。
本方法实施例主要分为以下3个步骤:
(1)文章TextRank计算和词提取;
(2)文章TF-IDF计算和词提取;
(3)文章TextRank词和TF-IDF词交集提取获取关键词。
这里,本实施例主要分别提取新闻文本TextRank值和TF-IDF值排名前20的词语,然后取交集,获取前5个词语作为文章的关键词。
具体地,参见图5,本实施例关键词提取的具体流程如下:
步骤501:获取kudu原始新闻文本数据;之后执行步骤502;
本实施例主要从kudu的数据源中获取数据。数据源是kudu中实时更新存储的海量新闻文本数据。数据按照新闻文本内容哈希分区,以parquet格式存储在kudu中。获取的原始数据集可如图6所示。
步骤502:spark读取,正则过滤原始文本数据;之后执行步骤503;
本实施例使用正则表达式对原始文本内容进行过滤,去除符号、空格、网址、html5网页标记等,获取单纯的文本数据。原始数据及过滤后数据可对比如下:
原始新闻文本数据:
百年“纪”忆丨中国共产党第一个纲领胸怀千秋伟业,恰是百年风华!2021年,是中国共产党成立一百周年。回望波澜壮阔的百年征程,我们党始终把严明纪律写在自己的旗帜上,党不断发展壮大的历程,也是始终强化纪律建设、矢志反腐的历程。“清廉长沙”推出“百年‘纪’忆——中国共产党反腐倡廉史上的‘第一’”专栏,让我们一起回顾党在各个历史阶段纪律建设的重大事件和反腐败典型案例,在红色“纪”忆中感悟初心与信仰。null
spark正则过滤后的文本数据:
百年纪忆中国共产党第一个纲领胸怀千秋伟业恰是百年风华2021年是中国共产党成立一百周年回望波澜壮阔的百年征程我们党始终把严明纪律写在自己的旗帜上党不断发展壮大的历程也是始终强化纪律建设矢志反腐的历程清廉长沙推出百年纪忆中国共产党反腐倡廉史上的第一专栏让我们一起回顾党在各个历史阶段纪律建设的重大事件和反腐败典型案例在红色纪忆中感悟初心与信仰
步骤503:过滤后的数据进行中文分词;之后执行步骤504和步骤506;
本实施例使用自定义中文分词器对上一步的文本数据进行分词,在分词后去除停用词,最后获得分好词的单词数组。分词数据如下:
“[年纪,中国共产党,第一个,纲领,胸怀,千秋伟业,恰是,百年,风华,2021,中国共产党,成立,一百周年,回望,波澜壮阔,百年,征程,始终,严明,纪律,旗帜,上党,发展壮大,历程,始终,强化,纪律,建设,矢志,反腐,历程,清廉,长沙,推出,年纪,中国共产党,反腐倡廉,史上,第一,专栏,回顾,历史,阶段,纪律,建设,重大事件,反腐败,典型,案例,红色,纪忆,感悟,初心,信仰]”
步骤504:spark进行词的TextRank计算;之后执行步骤505;
本实施例使用sparkMl编程api实现TextRank算法,迭代计算单篇文章每个词的TextRank值。
TextRank将分好的每一个词当作一个顶点(V),每个词和其他词的关系用边连接(E),TextRank一般模型可以表示为一个有向有权图G=(V,E),由点集合V和边集合E组成,E是V×V的子集。图中任两点Vi,Vj之间边的权重为wji,对于一个给定的点Vi,In(Vi)为指向该点的点集合,Out(Vi)为点Vi指向的点集合。点Vi的得分定义如下:
Figure BDA0003638321460000071
其中,d为阻尼系数,取值范围为0到1,代表从图中某一特定点指向其他任意点的概率。
提取词的TextRank值如下:
“[一百周年->0.6044615015591266,历史->0.583546617915905,百年->1.8427906396130385E32,纲领->0.41305935120475623,征程->0.5230430003798202,清廉->0.45574922410326046,史上->0.6179775280898873,回顾->0.5835466179159049,案例->1.847507249779492,成立->0.4058624577226605,第一个->0.34087136164090454,建设->2.1657637354511406E25,始终->5.5775940761245658E17,矢志->0.44276568501920616,发展壮大->0.4063534342623238,第一->0.6179775280898873,长沙->0.5289276577381868,反腐倡廉->0.6179775280898873,阶段->0.5835466179159048,典型->0.7265553869499233,重大事件->0.5835466179159048,2021->0.6044615015591266,风华->0.6044615015591266,反腐败->0.6201670876238585,恰是->0.7050923335198656,千秋伟业->0.7050923335198656,上党->0.4063534342623238,纪律->2.5257851631956802E54,初心->0.4809160305343512,严明->0.5849637146567973,中国共产党->1.1952364453335978E64,反腐->0.5035005763513922,专栏->0.5449330783938814,胸怀->0.6205645973717788,感悟->0.8459214501510566,强化->0.4863458428072477,回望->0.5189949621368142,旗帜->0.4063534342623238,年纪->3.5509228535995646E9,推出->0.5289276577381868,红色->1788038.2538101997,历程->1.4222783648793661E19,波澜壮阔->0.5189949621368144,信仰->0.3256234655640263,纪忆->2.9507328884083304]”。
步骤505:根据词性过滤不需要的词,根据TextRank排序取TopN;之后执行步骤508;
本实施例使用sparkMl编程api实现对计算了的词的TextRank进行排序,并根据词性剔除部分单词,因为这些词性单词对新闻文本本生没有太大实际意义,不适合做文章的关键词。剔除词性如下:
“形语素(形容词性语素)、形容词、副形词(直接作状语的形容词)、连词、副语素(副词性语素)、副词、叹词、方位词、语素、前接成分、后接成分、数词、拟声词、介词、代词、时语素(时间词性语素)、助词、非语素字、语气词”
获取TextRank排名靠前的n个词作为这篇文章的TextRankWords。n可以自定义,这里以n=20为例。
“[中国共产党,纪律,建设,历程,年纪,红色,纪忆,案例,感悟,典型,恰是,千秋伟业,胸怀,反腐败,史上,反腐倡廉,风华,2021,一百周年,历史]”。
步骤506:调用spark的CountVectorizer和IDF进行词向量提取和IDF计算;之后执行步骤507;
本实施例调用sparkMl包的CountVectorizer提取步骤503分词后的词向量特征,然后再使用IDF计算每一个词向量的IDF值。
CountVectorizer主要通过计数来将一个文档转换为向量。当不存在先验字典时,Countvectorizer作为Estimator提取词汇进行训练,并生成一个CountVectorizerModel用于存储相应的词汇向量空间。该模型产生文档关于词语的稀疏表示,其表示可以传递给其他算法。在CountVectorizerModel的训练过程中,CountVectorizer将根据语料库中的词频排序从高到低进行选择,词汇表的最大含量由vocabsize超参数来指定,超参数minDF则指定词汇表中的词语至少要在多少个不同文档中出现。
sparl IDF计算公式如下:
Figure BDA0003638321460000091
其中,|D|代表所有新闻的条数,DF(t,D)代表包含这个词的新闻数量,分子和分母加1是为了处理某个词没有被任何新闻包含,会导致被除数为零,所以选择加1。
这里,通过上述公式可知,TextRank是针对单篇新闻文本计算出来的,而使用CountVectorizer和IDF计算出来的词特征是针对所有新闻文本关联提取出来的单篇新闻文本特征。
CountVectorizer词向量提取及IDF计算结果如下:
CountVectorizer词向量提取:
(100000,[0,4,26,80,97,118,119,199,221,332,522,538,561,694,700,812,1456,1626,1706,2239,2654,2691,3209,3971,4257,4548,4694,5111,5718,5875,6187,6982,8027,9355,12773,15701,16443,17028,19132,22512,22726,26276,27621,42429,48333],[1.0,1.0,2.0,1.0,2.0,1.0,1.0,3.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,3.0,1.0,2.0,1.0,1.0,2.0,2.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0])
IDF计算结果:
(100000,[0,4,26,80,97,118,119,199,221,332,522,538,561,694,700,812,1456,1626,1706,2239,2654,2691,3209,3971,4257,4548,4694,5111,5718,5875,6187,6982,8027,9355,12773,15701,16443,17028,19132,22512,22726,26276,27621,42429,48333],[1.9588959680774964,2.955080609172417,7.6090990267863186,4.515117292113606,9.081084780958832,4.480574384086729,4.4401728498149176,14.346284073611088,4.830229332570237,4.99301813118313,5.439811434784141,5.452550460561571,5.487336576646986,5.560764045201803,5.57999540712969,5.772073138869009,18.488818342668065,6.211947026662716,12.396682749213875,6.703178956528306,6.666544823348525,13.290383397755912,13.712173256231933,7.026307777975834,7.206569601806779,7.244309929789625,7.1702019576359035,7.310559315330826,7.411364014452792,7.396326137088251,7.4901448923059055,7.7508711547691584,7.91213930236528,8.104511195012737,8.305181890474888,8.656579777312777,8.656579777312777,8.767805412423002,8.961961426863958,9.03606939901768,9.03606939901768,9.203123483680846,9.403794179142997,9.809259287251162,9.991580844045117])
步骤507:根据词性过滤不需要的词,根据IDF排序取TopN;之后执行步骤508;
本实施例使用sparkMl编程api实现对计算了的词的IDF进行排序,取排名前n的词,并和步骤505一样剔除部分词性单词。
获取IDF排名靠前的n个词作为这篇文章的IDFWords。n可以自定义,这里以n=20为例。
“[纪律,中国共产党,年纪,历程,纪忆,上党,反腐倡廉,重大事件,千秋伟业,矢志,纲领,恰是,胸怀,发展壮大,反腐败,旗帜,反腐,建设,波澜壮阔,一百周年]”。
步骤508:取两个计算词的交集作为关键词并保存到hive数据仓库中,同时分别将步骤502、步骤503、步骤504、步骤505和步骤502、步骤503、步骤506、步骤507作为sparkPiplineModel保存到HDFS中,便于下次直接调用。
本实施例中,对步骤505根据TextRank计算出来的词和步骤507根据IDF计算出来的词关联取交集,作为这篇文章的关键词,将数据保存到hive中。
最终关键词如下:
["纪律","中国共产党","年纪","历程","纪忆","反腐倡廉","千秋伟业","恰是","胸怀","反腐败","建设","一百周年"]。
这里,本实施例中,代码训练好了TextRankWords的提取模型可保存到HDFS,以供下次直接加载模型提取文本的TextRankWords。保存的模型文件如图7所示。同时,本实施例中,代码训练好了IDFWords的提取模型可保存到HDFS,以供下次直接加载模型提取文本的IDFWords。保存的模型文件如图8所示。此外,核心的TextRankWords提取代码方法可如图9所示(主要涉及步骤502、步骤503、步骤504、步骤505)。核心的IDFWords提取代码方法可如图10所示(主要涉及步骤502、步骤503、步骤506、步骤507)。关联数据部分代码可如图11所示。最终处理的数据保存到hive中可如图12所示。
本实施例将新闻文本的原始数据过滤、分词、TextRank计算、词转向量、词向量IDF值计算全部和sparkML整合到了一起,使用SparkMl模块的Pipline类及可以整合这些步骤,加载到一个pipline中一起训练模型,保存模型和加载模型使用。
本实施例深度使用了spark的分布式计算特性,结合spark机器学习模块自定义开发,将整个新闻文本关键词提取的流程全部融合进了sparkML机器学习模块,通过算法管道整合同时训练模型,预测关键词,极大的提高了关键词提取的模型训练速度、效率和易用性,使用户只需要输入原始新闻文本,即可马上获得新闻关键词,而不需要对原始的新闻文本做任何处理。
本实施例方法具有如下效果:
(1)高效性。10万篇文章的关键词提取只需2分钟30秒左右。
(2)易用性。模型本身整合关键词提取的整个流程操作,因此使用时不需要对原始新闻文本数据做任何处理,只需要使用spark加载图7和图8的模型即可计算出文本的Rank排行前20的词和IDF排行前20的词,然后取交集即可获取文章的关键词。
(3)准确性。本专利除了基于单篇文章本身根据TextRank算法计算出词TextRank的值之外,还根据整个公司的新闻文本数据集,计算TF-IDF值,并取单篇文章TF-IDF靠前的词语和TextRank靠前的词语,取交集获取关键词。
为了实现本发明实施例的方法,本发明实施例还提供了一种关键词提取装置,如图13所示,关键词提取装置1300包括:获取模块1301、词语提取模块1302、第一计算模块1303、第二计算模块1304和确定模块1305;其中,
获取模块1301,用于获取文本数据;
词语提取模块1302,用于对所述文本数据提取词语,获得第一词语;
第一计算模块1303,用于使用第一算法对所述第一词语在所述文本数据中的重要性进行计算,获得所述第一词语的第一重要值;
第二计算模块1304,用于使用第二算法对所述第一词语在预设文本数据集中的的重要性进行计算,获得所述第一词语的第二重要值;
确定模块1305,用于根据所述第一重要值和所述第二重要值,从所述第一词语中确定所述文本数据的关键词。
实际应用时,获取模块1301、词语提取模块1302、第一计算模块1303、第二计算模块1304和确定模块1305可由关键词提取装置中的处理器实现。
需要说明的是:上述实施例提供的上述装置在执行时,仅以上述各程序模块的划分进行举例说明,实际应用时,可以根据需要而将上述处理分配由不同的程序模块完成,即将终端的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的上述装置与上述方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
为了实现本发明实施例的方法,本发明实施例还提供了一种计算机程序产品,计算机程序产品包括计算机指令,计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取计算机指令,处理器执行计算机指令,使得计算机设备执行上述方法的步骤。
基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供了一种电子设备(计算机设备)。具体地,在一个实施例中,该计算机设备可以是终端,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器A01、网络接口A02、显示屏A04、输入装置A05和存储器(图中未示出)。其中,该计算机设备的处理器A01用于提供计算和控制能力。该计算机设备的存储器包括内存储器A03和非易失性存储介质A06。该非易失性存储介质A06存储有操作系统B01和计算机程序B02。该内存储器A03为非易失性存储介质A06中的操作系统B01和计算机程序B02的运行提供环境。该计算机设备的网络接口A02用于与外部的终端通过网络连接通信。该计算机程序被处理器A01执行时以实现上述任意一项实施例的方法。该计算机设备的显示屏A04可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置A05可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本发明实施例提供的设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述任意一项实施例的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
可以理解,本发明实施例的存储器可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,ReadOnly Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,RandomAccess Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种关键词提取方法,其特征在于,所述方法包括:
获取文本数据;
对所述文本数据提取词语,获得第一词语;
使用第一算法对所述第一词语在所述文本数据中的重要性进行计算,获得所述第一词语的第一重要值;
使用第二算法对所述第一词语在预设文本数据集中的的重要性进行计算,获得所述第一词语的第二重要值;
根据所述第一重要值和所述第二重要值,从所述第一词语中确定所述文本数据的关键词。
2.根据权利要求1所述的方法,其特征在于,所述对所述文本数据提取词语,获得第一词语,包括:
过滤所述文件数据中的异常值,获得第一文本数据;所述异常值包括符号、空格、网址和/或网页标记;
对所述第一文本数据进行分词处理,获取第一词语。
3.根据权利要求1所述的方法,其特征在于,所述第一算法包括TextRank算法,所述第一重要值包括TextRank值。
4.根据权利要求1所述的方法,其特征在于,所述第二算法包括TF-IDF算法,所述第二重要值包括TF-IDF值。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一重要值和所述第二重要值,从所述第一词语中确定所述文本数据的关键词,包括:
根据所述第一重要值对所述第一词语进行排序,获取前N个第一重要值最大的第二词语;
根据所述第二重要值对所述第一词语进行排序,获取前M个第二重要值最大的第三词语;
获取所述第二词语和所述第三词语的交集,将所述交集中确定所述文本数据的关键词。
6.根据权利要求5所述的方法,其特征在于,所述获取所述第二词语和所述第三词语的交集,将所述交集中确定所述文本数据的关键词,包括:
获取所述交集中前预设数量个词语;
将所述交集中前预设数量个词语作为所述文本数据的关键词。
7.根据权利要求1所述的方法,其特征在于,所述根据所述第一重要值和所述第二重要值,从所述第一词语中确定所述文本数据的关键词之前,所述方法还包括:
剔除所述第一词语中预设词性的词语;所述预设词性包括形容词语素、形容词、副形词、连词、副词性语素、副词、叹词、方位词、前接成分词、后接成分词、数词、拟声词、介词、代词、时间词性语素、助词和/或非语素字语气词。
8.一种关键词提取装置,其特征在于,所述装置包括:
获取模块,用于获取文本数据;
词语提取模块,用于对所述文本数据提取词语,获得第一词语;
第一计算模块,用于使用第一算法对所述第一词语在所述文本数据中的重要性进行计算,获得所述第一词语的第一重要值;
第二计算模块,用于使用第二算法对所述第一词语在预设文本数据集中的的重要性进行计算,获得所述第一词语的第二重要值;
确定模块,用于根据所述第一重要值和所述第二重要值,从所述第一词语中确定所述文本数据的关键词。
9.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器用于运行所述计算机程序时,执行权利要求1至7任一项所述方法的步骤。
10.一种存储介质,所述存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至7任一项所述方法的步骤。
CN202210508421.XA 2022-05-11 2022-05-11 关键词提取方法、装置、电子设备和存储介质 Pending CN115034214A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210508421.XA CN115034214A (zh) 2022-05-11 2022-05-11 关键词提取方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210508421.XA CN115034214A (zh) 2022-05-11 2022-05-11 关键词提取方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN115034214A true CN115034214A (zh) 2022-09-09

Family

ID=83121369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210508421.XA Pending CN115034214A (zh) 2022-05-11 2022-05-11 关键词提取方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN115034214A (zh)

Similar Documents

Publication Publication Date Title
JP7282940B2 (ja) 電子記録の文脈検索のためのシステム及び方法
US8386240B2 (en) Domain dictionary creation by detection of new topic words using divergence value comparison
US10878233B2 (en) Analyzing technical documents against known art
US10025783B2 (en) Identifying similar documents using graphs
US20180300323A1 (en) Multi-Factor Document Analysis
JP7254925B2 (ja) 改良されたデータマッチングのためのデータレコードの字訳
CN105975459A (zh) 一种词项的权重标注方法和装置
CN109597983A (zh) 一种拼写纠错方法及装置
US11151317B1 (en) Contextual spelling correction system
CN111782759A (zh) 一种问答处理方法、装置及计算机可读存储介质
US10943073B2 (en) Dynamic candidate expectation prediction
US9495352B1 (en) Natural language determiner to identify functions of a device equal to a user manual
CN110705285B (zh) 一种政务文本主题词库构建方法、装置、服务器及可读存储介质
CN107329964A (zh) 一种文本处理方法及装置
CN110717008A (zh) 基于语意识别的搜索结果排序方法及相关装置
CN111859066B (zh) 一种运维工单的查询推荐方法及装置
Fatima et al. STEMUR: An automated word conflation algorithm for the Urdu language
CN115034214A (zh) 关键词提取方法、装置、电子设备和存储介质
Jácome et al. Contextual Analysis of Comments in B2C Facebook Fan Pages Based on the Levenshtein Algorithm
CN114462378A (zh) 科技项目查重方法、系统、计算机设备及存储介质
CN113887234A (zh) 一种模型训练以及推荐方法及装置
CN107133207A (zh) 一种信息提取方法及装置
Desta et al. Automatic spelling error detection and correction for Tigrigna information retrieval: a hybrid approach
Lovinger et al. Scrubbing the web for association rules: An application in predictive text
CN110674264A (zh) 实体归一化方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination