一种基于图和词句协同的关键词提取方法及装置与流程

文档序号:18319925发布日期:2019-08-03 10:21阅读:265来源:国知局
一种基于图和词句协同的关键词提取方法及装置与流程

本发明涉及关键词提取技术领域,特别是涉及一种基于图和词句协同的关键词提取方法及装置。



背景技术:

关键词是一段文本中具有代表性的文字,是一篇文章主题的简要概括。关键词能够反映一篇文档/文本的主题内容,帮助人们快速定位该文档/文本的主题与思想。除此之外,关键词在文献检索、文本分类、推荐系统等方面都有重要的应用价值。由于人工标注文档/文本的关键词非常耗时与困难,因此,关键词的自动提取已经成为nlp(naturallanguageprocessing,自然语言处理)领域研究的一个热门方向。

现有针对文本的关键词提取方法为:使用textrank算法对文本的关键词进行提取。textrank算法提取文本关键词的实现过程为:对给定的文本进行分词,过滤掉停用词;构建候选词图,将候选词作为节点,采用共现关系构造两节点之间的边;迭代各节点的权重,直至收敛;对节点权重进行倒序排序,得到最重要的t个候选词作为要提取的目标关键词,t可以为任意大于等于一的整数。

现有使用textrank算法对文本的关键词进行提取的方法中,主要利用候选词的共现次数这一统计因素,使得提取的关键词更倾向于将高频词作为关键词,其中,候选词的共现次数,表示一个或多个候选词在文本中至多包含n个词语的窗口内的共现次数,n为大于等于2的整数。但在实际应用中,使用textrank算法所构建的候选词图的边和节点较少,即所选取的候选词较少,且只是易将共现频率较高(即高频词)的候选词提取为关键词,进而导致最终所提取的关键词不够准确。



技术实现要素:

本发明实施例的目的在于提供一种基于图和词句协同的关键词提取方法及装置,以进一步提高提取文本中关键词的准确程度。具体技术方案如下:

第一方面,本发明实施例提供了一种基于图和词句协同的关键词提取方法,所述方法包括:

基于对待提取关键词的文本预处理后得到的候选词和句子,针对各所述候选词,计算每两个候选词对应的扩散度,所述扩散度用于表示两个候选词在所述文本中的分散程度,其中,两个候选词在所述文本中的分散程度随所述扩散度的增大而增大;

以所述候选词为第一节点构建无向有权图,基于得到的各所述扩散度,计算所述无向有权图中每两个第一节点之间的边的第一权重;

基于得到的各所述第一权重,计算各第一节点的第一指标,所述第一指标用于表示各第一节点在所述无向有权图中的重要程度;

以所述句子为第二节点构建有向有权图,并利用bm25算法计算所述有向有权图中每两个第二节点之间的边的第二权重;

基于得到的各所述第二权重,计算各第二节点的第二指标,所述第二指标用于表示各第二节点在所述有向有权图中的重要程度;

分别对所述第一指标和所述第二指标进行归一化处理,得到第三指标以及第四指标,所述第三指标和所述第四指标的范围均为0至1;

利用各所述第四指标,以及各所述第四指标所对应的句子在所述文本中的先后顺序,构建所述句子的第一指标向量;

利用所述第三指标,以及所述第一指标向量,构建各所述候选词的第二指标向量,所述第二指标向量中携带有所述候选词的第五指标,所述第五指标用于表示所述候选词在所述文本中的重要程度;

基于所述第二指标向量中各第五指标的大小顺序,提取所述文本中的关键词。

可选地,所述对待提取关键词的文本预处理的步骤包括:

对所述文本分别进行分词及分句处理,得到多个词语和多个句子;

利用预设停用词表对所述多个词语进行过滤,得到过滤后的词语;

将所述过滤后的词语中具有预设词性的词语确定为候选词;其中,所述预设词性包括:名词和动词。

可选地,所述基于所述第二指标向量中各第五指标的大小顺序,提取所述文本中的关键词的步骤,包括:

对所述第二指标向量中的各第五指标按照从大到小的顺序排序;

将排序在前的预设数量的所述第五指标所对应的候选词,确定为目标提取关键词;

提取所述文本中的所述目标提取关键词。

可选地,所述计算各第一节点的第一指标的步骤,包括:

迭代计算各第一节点的第一指标,当当前迭代计算满足第一预设收敛条件时,将当前迭代计算的计算结果确定为第一节点的第一指标;

所述计算各第二节点的第二指标的步骤,包括:

迭代计算各第二节点的第二指标,当当前迭代计算满足第二预设收敛条件时,将当前迭代计算的计算结果确定为第二节点的第二指标。

可选地,所述针对各所述候选词,计算每两个候选词对应的扩散度的步骤,包括:

通过第一预设表达式,计算每两个所述候选词的扩散度;

所述第一预设表达式为:

式中,dij为候选词wi与候选词wj的扩散度,ni为含有候选词wi的句子的个数,nj为含有候选词wj的句子的个数,nij为同时含有候选词wi和候选词wj的句子的个数,n为文本中句子总个数,ε为平滑因子。

可选地,所述利用所述第三指标,以及所述第一指标向量,构建各所述候选词的第二指标向量的步骤,包括:

针对预处理后得到的多个句子中的每个句子,利用各候选词对应的第三指标,以及该句子中各候选词的出现次数,构建该句子的第三指标向量;

利用所构建的各句子的第三指标向量,构建句-词矩阵;所述句-词矩阵中包括:所述第三指标,以及所述第三指标对应的候选词的出现次数;

将所述第一指标向量与所述句-词矩阵进行点乘计算,得到各所述候选词的第二指标向量。

第二方面,本发明实施例提供了一种基于图和词句协同的关键词提取装置,所述装置包括:

第一计算模块,用于基于对待提取关键词的文本预处理后得到的候选词和句子,针对各所述候选词,计算每两个候选词对应的扩散度,所述扩散度用于表示两个候选词在所述文本中的分散程度,其中,两个候选词在所述文本中的分散程度随所述扩散度的增大而增大;

第二计算模块,用于以所述候选词为第一节点构建无向有权图,基于得到的各所述扩散度,计算所述无向有权图中每两个第一节点之间的边的第一权重;

第三计算模块,用于基于得到的各所述第一权重,计算各第一节点的第一指标,所述第一指标用于表示各第一节点在所述无向有权图中的重要程度;

第四计算模块,用于以所述句子为第二节点构建有向有权图,并利用bm25算法计算所述有向有权图中每两个第二节点之间的边的第二权重;

第五计算模块,用于基于得到的各所述第二权重,计算各第二节点的第二指标,所述第二指标用于表示各第二节点在所述有向有权图中的重要程度;

归一化处理模块,用于分别对所述第一指标和所述第二指标进行归一化处理,得到第三指标以及第四指标,所述第三指标和所述第四指标的范围均为0至1;

第一构建模块,用于利用各所述第四指标,以及各所述第四指标所对应的句子在所述文本中的先后顺序,构建所述句子的第一指标向量;

第二构建模块,用于利用所述第三指标,以及所述第一指标向量,构建各所述候选词的第二指标向量,所述第二指标向量中携带有所述候选词的第五指标,所述第五指标用于表示所述候选词在所述文本中的重要程度;

提取模块,用于基于所述第二指标向量中各第五指标的大小顺序,提取所述文本中的关键词。

可选地,所述第一计算模块,包括:

分词分句子模块,用于对所述文本分别进行分词及分句处理,得到多个词语和多个句子;

过滤子模块,用于利用预设停用词表对所述多个词语进行过滤,得到过滤后的词语;

第一确定子模块,用于将所述过滤后的词语中具有预设词性的词语确定为候选词;其中,所述预设词性包括:名词和动词。

可选地,所述提取模块,包括:

排序子模块,用于对所述第二指标向量中的各第五指标按照从大到小的顺序排序;

第二确定子模块,用于将排序在前的预设数量的所述第五指标所对应的候选词,确定为目标提取关键词;

提取子模块,用于提取所述文本中的所述目标提取关键词。

可选地,所述第三计算模块,具体用于:

迭代计算各第一节点的第一指标,当当前迭代计算满足第一预设收敛条件时,将当前迭代计算的计算结果确定为第一节点的第一指标;

所述第五计算模块,具体用于:

迭代计算各第二节点的第二指标,当当前迭代计算满足第二预设收敛条件时,将当前迭代计算的计算结果确定为第二节点的第二指标。

可选地,所述第一计算模块,具体用于:

通过第一预设表达式,计算每两个所述候选词的扩散度;

所述第一预设表达式为:

式中,dij为候选词wi与候选词wj的扩散度,ni为含有候选词wi的句子的个数,nj为含有候选词wj的句子的个数,nij为同时含有候选词wi和候选词wj的句子的个数,n为文本中句子总个数,ε为平滑因子。

可选地,所述第二构建模块,包括:

第一构建子模块,用于针对预处理后得到的多个句子中的每个句子,利用各候选词对应的第三指标,以及该句子中各候选词的出现次数,构建该句子的第三指标向量;

第二构建子模块,用于利用所构建的各句子的第三指标向量,构建句-词矩阵;所述句-词矩阵中包括:所述第三指标,以及所述第三指标对应的候选词的出现次数;

第三构建子模块,用于将所述第一指标向量与所述句-词矩阵进行点乘计算,得到各所述候选词的第二指标向量。

第三方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的一种基于图和词句协同的关键词提取方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的一种基于图和词句协同的关键词提取方法。

本发明实施例有益效果:

本发明实施例提供的一种基于图和词句协同的关键词提取方法及装置,由于各候选词的第一指标,即用于表示各第一节点在无向有权图中的重要程度的指标,是基于利用各候选词的扩散度得到的各候选词在无向有权图中边的权重计算得到的,且各候选词的第五指标,即用于表示候选词在文本中的重要程度的指标,是基于候选词的第一指标与句子的第二指标生成的,因此,能够基于文本的句子与候选词之间的关系对关键词进行提取,而不仅仅依赖各候选词的出现频次对关键词进行提取,从而进一步提高提取文本中关键词的准确程度。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于图和词句协同的关键词提取方法的流程示意图;

图2为本发明实施例提供的一种文本预处理的实施方式流程图;

图3为本发明实施例提供的一种关键词提取的实施方式流程图;

图4为本发明实施例提供的一种构建候选词第二指标向量的实施方式流程图;

图5为本发明实施例提供的关键词提取准确率仿真图;

图6为本发明实施例提供的一种基于图和词句协同的关键词提取装置的结构示意图;

图7为本发明实施例提供的一种文本预处理装置的结构示意图;

图8为本发明实施例提供的一种关键词提取装置的结构示意图;

图9为本发明实施例提供的一种构建候选词第二指标向量装置的结构示意图;

图10为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

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

为了解决现有使用textrank算法对文本的关键词提取方法,导致所提取的关键词不够准确的问题,本发明实施例提供了一种基于图和词句协同的关键词提取方法及装置。

下面首先对本发明实施例所提供的一种基于图和词句协同的关键词提取方法进行介绍。

如图1所示,图1为本发明实施例提供的一种基于图和词句协同的关键词提取方法的流程示意图,该方法可以包括:

s101,基于对待提取关键词的文本预处理后得到的候选词和句子,针对各候选词,计算每两个候选词对应的扩散度。

本发明实施例中,针对待提取关键词的文本,可以先对该待提取关键词的文本进行预处理,得到候选词和句子。关键词是一段文本中具有代表性的文字,是一篇文章主题的简要概括。该文本可以是具有完整、系统含义的一个句子或多个句子的组合,例如,可以是扩展名为txt、doc、docx或wps等对应的文本。该候选词和句子是基于对待提取关键词的文本预处理得到的。

可选的,本发明实施例提供了一种对待提取关键词的文本进行预处理的实施方式如图2所示,该实施方式可以包括:

s1011,对文本分别进行分词及分句处理,得到多个词语和多个句子。

实际应用中,对文本进行分词可以借助python语言版本的开源分词工具jieba来实现,具体的分词过程可参见现有技术的实现,本发明实施例在此不再赘述。

本发明实施例中,对文本进行分句的一种实施方式可以为:根据文本中的标点符号进行分句,该标点符号可以是分号、句号、叹号、或省略号等,具体文本分句所使用的标点符号本发明实施例在此不作限定。

s1012,利用预设停用词表对多个词语进行过滤,得到过滤后的词语。

停用词指在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据或文本之前或之后会自动过滤掉某些字或词,这些字或词即被称为停用词。针对不同的用途,所需要的停用词表可能不同,停用词通常是一些出现频率很高或者无实意的词,例如:“的”,“我”,“而且”,“并”等。

在对文本进行分词及分句处理之后,得到多个词语和多个句子,实际应用中所得到的词语可能存在停用词,该停用词不可能是文本的关键词,则需要将这些停用词过滤掉。

本发明实施例中,利用预设停用词表对多个词语进行过滤,得到过滤后的词语。该预设的停用词表可以是本领域的通用停用词表,也可以是在通用停用词表基础上根据语料或其他特点增加或删除一些词之后得到的停用词表。具体的,本领域技术人员可根据实际需求进行设置。

s1013,将过滤后的词语中具有预设词性的词语确定为候选词。

将过滤后的词语中具有预设词性的词语确定为候选词,该预设词性可以包括:名词和动词,也可以包括形容词。

本发明实施例中,对待提取关键词的文本进行分词和分句处理,然后,对分词得到的词语进行过滤,进一步将过滤后的词语中具有预设词性的词语确定为候选词,缩小了关键词提取的范围,以便能够快速的提取到目标关键词。

针对所确定的各候选词,计算每两个候选词对应的扩散度。该扩散度用于表示两个候选词在文本中的分散程度,其中,两个候选词在文本中的分散程度随扩散度的增大而增大。

本发明实施例中,针对各候选词,计算每两个候选词对应的扩散度的一种可能的实现方式为:通过第一预设表达式,计算每两个候选词的扩散度。该第一预设表达式可以为:

式中,dij为候选词wi与候选词wj的扩散度,ni为含有候选词wi的句子的个数,nj为含有候选词wj的句子的个数,nij为同时含有候选词wi和候选词wj的句子的个数,n为文本中句子总个数,ε为平滑因子。该平滑因子ε,是为了避免所计算的扩散度为0而设置的自由参数,其具体取值本领域技术人员可根据实际需求进行设置,本发明实施例在此不作限定。

s102,以候选词为第一节点构建无向有权图,基于得到的各扩散度,计算无向有权图中每两个第一节点之间的边的第一权重。

以文本中确定的候选词为第一节点构建无向有权图,在该无向有权图中,每两个第一节点之间所构成的边是有权重但没有方向的,该无向有权图中每两个第一节点之间的边的第一权重是基于得到的各扩散度进行计算的。

作为本发明实施例一种可选的实施方式,可以通过第四预设表达式,计算无向有权图中每两个第一节点之间的边的第一权重,该第四预设表达式可以为:

wij=cij·dij

式中,wij为第一节点wi与第一节点wj之间边的第一权重,cij为第一节点wi与第一节点wj在共现窗口中共现的次数,dij为第一节点wi与第一节点wj的扩散度。

若给定共现窗口的长度为l,l是一个大于等于2的整数,第一节点wi与第一节点wj共现的次数为:第一节点wi与第一节点wj之间距离小于l的次数,即第一节点wi与第一节点wj之间词语个数小于l-1的次数。示例性地,l的值为3,文本中分词和分句之后得到的结果为“为了/保障/北京/交通/通畅/,/机动车/保有量/是/个/硬指标”,其中,“保障”后的第三个词语为“通畅”故两词距离为3,两个词之间的个数为3-1=2。

本发明实施例中,每两个第一节点之间所构成的边是有权重没有方向的,则计算得到的无向有权图中两个第一节点之间的边的第一权重之间的关系为:wij=wji,两个第一节点的共现次数之间的关系为:cij=cji。每两个候选词对应的扩散度也是没有方向的,即两个候选词对应的扩散度之间的关系为:dij=dji。

s103,基于得到的各第一权重,计算各第一节点的第一指标。

在计算得到无向有权图中每两个第一节点之间边的第一权重之后,基于得到的各第一权重,计算各第一节点的第一指标,该第一指标用于表示各第一节点在无向有权图中的重要程度。

作为本发明实施例一种可选的实施方式,基于得到的各第一权重,计算各第一节点的第一指标的实现方式可以为:通过第五预设表达式,计算各第一节点的第一指标,该第五预设表达式可以为:

式中,s(wi)为第一节点wi的第一指标,α为阻尼因子,o(wi)为与第一节点wi相连的第一节点的集合,o(wj)为与第一节点wj相连的第一节点的集合,wji为第一节点wj与第一节点wi之间边的权重,s(wj)为第一节点wj的第一指标。阻尼因子α的具体取值,本领域技术人员可根据实际需求进行设置,本发明实施例在此不作限定。

作为本发明实施例一种可选的实施方式,计算各第一节点的第一指标的过程中所使用的计算方式可以为:迭代计算各第一节点的第一指标,当当前迭代计算满足第一预设收敛条件时,将当前迭代计算的计算结果确定为第一节点的第一指标。

在迭代计算的过程中,先给各第一节点的第一指标设置初始值,该初始值的设定本领域技术人员可根据实际需求进行设置,本发明实施例在此不作限定。设置初始值之后,迭代计算各第一节点的第一指标,直至当前迭代计算满足第一预设收敛条件时停止计算,将当前迭代计算的计算结果确定为第一节点的第一指标。该第一预设收敛条件可以为:所有第一节点前后两次迭代计算所得第一指标之差绝对值的平均值小于第一预设阈值,或者,所有第一节点前后两次迭代计算所得第一指标之差绝对值小于第一预设阈值,或者,所有第一节点前后两次迭代计算所得第一指标之差的绝对值的平均值都小于第一预设阈值,或者,迭代计算次数达到第一预设次数,具体的,本发明实施例在此不作限定。该第一预设阈值和第一预设次数,本领域技术人员可根据实际需求进行设置,本发明实施例在此不作限定。

s104,以句子为第二节点构建有向有权图,并利用bm25算法计算有向有权图中每两个第二节点之间的边的第二权重。

以文本中分句得到的句子为第二节点构建有向有权图,在该有向有权图中,每两个第二节点之间所构成的边是有权重且有方向的。然后,利用bm25算法计算有向有权图中每两个第二节点之间的边的第二权重。

关于bm25算法相关计算有:假设检索字符串q是由q1,q2,...,qt这t个词组成的,文档d相对于q的bm25相关性值为:

式中,

idf(qi)为qi的逆文档频率,z为文档库中文档总数,n(qi)是包含词qi的文档数,γ为平滑因子,f(qi,d)是文档d中词qi出现的次数,|d|是文档d中候选词的总数,avgdl是文档库中文档的平均长度,b为文档长度对r(qi,d)的影响程度,k1为词频对r(qi,d)的影响程度,b为1时,对r(qi,d)的影响程度最大,b为0时,对r(qi,d)的影响程度最小,具体的,平滑因子γ以及b和k1的取值本领域技术人员可根据实际需求进行设置,本发明实施例在此不作限定。示例性地,可以取k1∈[1.2,2.0],b=0.75,γ为0.5。

本发明实施例中,将两个第二节点之间使用bm25算法计算得到的相关性值作为两个第二节点之间边的权重。每两个第二节点之间所构成的边是有权重有方向的,则计算得到的有向有权图中两个第二节点之间的边的第二权重之间的关系为:score(sp,sr)≠score(sr,sp),即第二节点sr指向第二节点sp的边的权重,与第二节点sp指向第二节点sr的边的权重是不一样的。

s105,基于得到的各第二权重,计算各第二节点的第二指标。

在计算得到有向有权图中每两个第二节点之间边的第二权重之后,基于得到的各第二权重,计算各第二节点的第二指标,该第二指标用于表示各第二节点在有向有权图中的重要程度。

作为本发明实施例一种可选的实施方式,基于得到的各第二权重,计算各第二节点的第二指标的实现方式可以为:通过第六预设表达式,计算各第二节点的第二指标,该第六预设表达式可以为:

式中,s(sr)为第二节点sr的第二指标,β为阻尼因子,n为文本中第二节点总个数,score(sp,sr)为第二节点sr指向第二节点sp的边的权重,score(sp,sh)为第二节点sh指向第二节点sp的边的权重,s(sp)为第二节点sp的第二指标。阻尼因子β的具体取值,本领域技术人员可根据实际需求进行设置,本发明实施例在此不作限定。

作为本发明实施例一种可选的实施方式,计算各第二节点的第二指标的过程中所使用的计算方式可以为:迭代计算各第二节点的第二指标,当当前迭代计算满足第二预设收敛条件时,将当前迭代计算的计算结果确定为第二节点的第二指标。

在迭代计算的过程中,先给各第二节点的第二指标设置初始值,该初始值的设定本领域技术人员可根据实际需求进行设置,本发明实施例在此不作限定。设置初始值之后,迭代计算各第二节点的第二指标,直至当前迭代计算满足第二预设收敛条件时停止计算,将当前迭代计算的计算结果确定为第二节点的第二指标。该第二预设收敛条件可以为:所有第二节点前后两次迭代计算所得第二指标之差绝对值的平均值小于第二预设阈值,或者,所有第二节点前后两次迭代计算所得第二指标之差绝对值小于第二预设阈值,或者,所有第二节点前后两次迭代计算所得第二指标之差的绝对值的平均值都小于第二预设阈值,或者,迭代计算次数达到第二预设次数,具体的,本发明实施例在此不作限定。该第二预设阈值和第二预设次数,本领域技术人员可根据实际需求进行设置,本发明实施例在此不作限定。

s106,分别对第一指标和第二指标进行归一化处理,得到第三指标以及第四指标。

计算得到各第一节点的第一指标和各第二节点的第二指标后,分别对第一指标和第二指标进行归一化处理,得到第三指标以及第四指标。归一化之后,该第三指标和第四指标的范围均为0至1。

作为本发明实施例一种可选的实施方式,分别对第一指标和第二指标进行归一化处理,得到第三指标以及第四指标的步骤,可以包括:

利用第二预设表达式,对各候选词的第一指标进行归一化处理,得到第三指标,该第二预设表达式可以为:

式中,s′(i)为候选词wi的第三指标,s(wi)为候选词wi的第一指标,min为所有候选词的第一指标中的最小值,max为所有候选词的第一指标中的最大值。

利用第三预设表达式,对各句子的第二指标进行归一化处理,得到第四指标,该第三预设表达式可以为:

式中,s′(si)为句子si的第四指标,s(si)为句子si的第二指标,min为所有句子的第二指标中的最小值,max为所有句子的第二指标中的最大值。

s107,利用各第四指标,以及各第四指标所对应的句子在文本中的先后顺序,构建句子的第一指标向量。

按照归一化得到的各第四指标所对应的句子在文本中的先后顺序,对得到的各第四指标进行排序,得到句子的第一指标向量。该第一指标向量可以记为sv=[s′(s1),s′(s2),…,s′(sn)],其中,s′(sn)为句子sn的第四指标。

s108,利用第三指标,以及第一指标向量,构建各候选词的第二指标向量。

利用得到的第三指标,以及第一指标向量,构建各候选词的第二指标向量,该第二指标向量中携带有候选词的第五指标,第五指标用于表示候选词在文本中的重要程度。

可选的,本发明实施例提供了一种构建候选词第二指标向量的实施方式如图4所示,该实施方式可以包括:

s1081,针对预处理后得到的多个句子中的每个句子,利用各候选词对应的第三指标,以及该句子中各候选词的出现次数,构建该句子的第三指标向量。

针对预处理后得到的多个句子中的每个句子,利用各候选词对应的第三指标,以及该句子中各候选词的出现次数,来构建该句子的第三指标向量。示例性地,候选词wm在句子sp中出现的次数为tfpm,s'(wm)为候选词wm的第三指标,m为候选词的个数,则针对每个句子,得到该句子的第三指标向量可以表示为[tfp1·s'(w1),tfp2·s'(w2),…,tfpm·s'(wm)]。

s1082,利用所构建的各句子的第三指标向量,构建句-词矩阵。

基于得到的各句子的第三指标向量,构建句-词矩阵,该句-词矩阵中包括:第三指标,以及第三指标对应的候选词的出现次数。具体的,该句-词矩阵可以表示为:

其中,n为句子的个数。

s1083,将第一指标向量与句-词矩阵进行点乘计算,得到各候选词的第二指标向量。

将得到的第一指标向量sv与句-词矩阵swm进行点乘计算,得到各候选词的第二指标向量。该第二指标向量可以表示为:

wv=sv·swm=[ws(w1),…,ws(wm)]

式中,ws(wm)为候选词wm的第五指标,该第五指标用于表示候选词在文本中的重要程度。

s109,基于第二指标向量中各第五指标的大小顺序,提取文本中的关键词。

得到候选词的第二指标向量,基于该第二指标向量中各候选词的第五指标的大小顺序,提取文本中的关键词。可选的,本发明实施例提供了一种关键词提取的实施方式如图3所示,该实施方式可以包括:

s1091,对第二指标向量中的各第五指标按照从大到小的顺序排序。

对候选词的第二指标向量中各候选词的第五指标按照从大到小的顺序排序。本发明实施例中,只是以按照从大到小的顺序排序来给出一种关键词提取的实施方式,实际应用中,也可以是按照从小到大的顺序排序,或是按照一定规则排序,来实现对关键词的提取。可以理解的是,按照从小到大的顺序排序,或是按照一定规则排序来实现对关键词提取的实施方式也在本发明的保护范围之内。

s1092,将排序在前的预设数量的第五指标所对应的候选词,确定为目标提取关键词。

将排序在前的预设数量的第五指标所对应的候选词,确定为目标提取关键词。该预设数量,可以是本领域技术人员根据实际需求所设置的,本发明实施例在此不作限定。

s1093,提取文本中的目标提取关键词。

本发明实施例提供的一种基于图和词句协同的关键词提取方法,由于各候选词的第一指标,即用于表示各第一节点在无向有权图中的重要程度的指标,是基于利用各候选词的扩散度得到的各候选词在无向有权图中边的权重计算得到的,且各候选词的第五指标,即用于表示候选词在文本中的重要程度的指标,是基于候选词的第一指标与句子的第二指标生成的,因此,能够基于文本的句子与候选词之间的关系对关键词进行提取,而不仅仅依赖各候选词的出现频次对关键词进行提取,从而进一步提高提取文本中关键词的准确程度。

示例性地,本发明实施例中使用不同的关键词提取方法对文本的关键词进行提取。其中,tr为textrank算法的简称,textrank算法对文本的关键词进行提取可参见背景技术中的详细介绍,wsctr为本发明实施例提供的word-sentencetextrank基于图和词句协同的关键词提取方法的简称。

实验过程中,发现在不同的共现窗口长度与阻尼因子大小下,wsctr提取关键词的准确率、召回率与f1值均明显高于tr。其中,f1值为以准确率和召回率为基础定义的评价指标。调整参数后,发现在共现窗口长度为10,阻尼因子大小为0.7时,两种算法均达到较好的效果。故在此条件下,对比关键词提取个数从1到15时两种算法的实验结果,得到的仿真图结果分别如表1和图5所示。

表1不同关键词个数下准确率、召回率和f1值对比

由表1可以看知,在不同的关键词提取个数下,wsctr提取关键词的准确率、召回率以及f1值均高于tr,并且随着关键词提取个数的增多,两种算法的准确率、召回率和f1的差距程增大趋势,说明当关键词提取个数较多时,wsctr能够从一定程度上提高频率较低但也可作为关键词的候选词的指标,在提取效果上比tr有明显的提高。

由表1也可看出,f1值在关键词个数为5时达到峰值。是由于大多数文本的参考关键词为5个,使得算法提取关键词个数为5时,准确率与召回率均能达到相对较高的值,最终导致f1达到峰值。

图5为本发明实施例提供的关键词提取准确率仿真图,由图5的准确率-召回率曲线可知tr提取关键词方法的曲线位于wsctr提取关键词方法的曲线内侧,说明在同一准确率或召回率下,wsctr的召回率或准确率比tr高。

相应于上述方法实施例,本发明实施例提供了一种基于图和词句协同的关键词提取装置,如图6所示,该装置可以包括:

第一计算模块201,用于基于对待提取关键词的文本预处理后得到的候选词和句子,针对各候选词,计算每两个候选词对应的扩散度,扩散度用于表示两个候选词在文本中的分散程度,其中,两个候选词在文本中的分散程度随扩散度的增大而增大。

第二计算模块202,用于以候选词为第一节点构建无向有权图,基于得到的各扩散度,计算无向有权图中每两个第一节点之间的边的第一权重。

第三计算模块203,用于基于得到的各第一权重,计算各第一节点的第一指标,第一指标用于表示各第一节点在无向有权图中的重要程度。

第四计算模块204,用于以句子为第二节点构建有向有权图,并利用bm25算法计算有向有权图中每两个第二节点之间的边的第二权重。

第五计算模块205,用于基于得到的各第二权重,计算各第二节点的第二指标,第二指标用于表示各第二节点在有向有权图中的重要程度。

归一化处理模块206,用于分别对第一指标和第二指标进行归一化处理,得到第三指标以及第四指标,第三指标和第四指标的范围均为0至1。

第一构建模块207,用于利用各第四指标,以及各第四指标所对应的句子在文本中的先后顺序,构建句子的第一指标向量。

第二构建模块208,用于利用第三指标,以及第一指标向量,构建各候选词的第二指标向量,第二指标向量中携带有候选词的第五指标,第五指标用于表示候选词在文本中的重要程度。

提取模块209,用于基于第二指标向量中各第五指标的大小顺序,提取文本中的关键词。

本发明实施例提供的一种基于图和词句协同的关键词提取装置,由于各候选词的第一指标,即用于表示各第一节点在无向有权图中的重要程度的指标,是基于利用各候选词的扩散度得到的各候选词在无向有权图中边的权重计算得到的,且各候选词的第五指标,即用于表示候选词在文本中的重要程度的指标,是基于候选词的第一指标与句子的第二指标生成的,因此,能够基于文本的句子与候选词之间的关系对关键词进行提取,而不仅仅依赖各候选词的出现频次对关键词进行提取,从而进一步提高提取文本中关键词的准确程度。

需要说明的是,本发明实施例的装置是与图1所示的一种基于图和词句协同的关键词提取方法对应的装置,图1所示的一种基于图和词句协同的关键词提取方法的所有实施例均适用于该装置,且均能达到相同的有益效果。

可选地,第一计算模块201,如图7所示,包括:

分词分句子模块2011,用于对文本分别进行分词及分句处理,得到多个词语和多个句子。

过滤子模块2012,用于利用预设停用词表对多个词语进行过滤,得到过滤后的词语。

第一确定子模块2013,用于将过滤后的词语中具有预设词性的词语确定为候选词;其中,预设词性包括:名词和动词。

可选地,提取模块209,如图8所示,包括:

排序子模块2091,用于对第二指标向量中的各第五指标按照从大到小的顺序排序。

第二确定子模块2092,用于将排序在前的预设数量的第五指标所对应的候选词,确定为目标提取关键词。

提取子模块2093,用于提取文本中的目标提取关键词。

可选地,第三计算模块203,具体用于:迭代计算各第一节点的第一指标,当当前迭代计算满足第一预设收敛条件时,将当前迭代计算的计算结果确定为第一节点的第一指标。

第五计算模块205,具体用于:迭代计算各第二节点的第二指标,当当前迭代计算满足第二预设收敛条件时,将当前迭代计算的计算结果确定为第二节点的第二指标。

可选地,第一计算模块201,具体用于:通过第一预设表达式,计算每两个候选词的扩散度;第一预设表达式为:

式中,dij为候选词wi与候选词wj的扩散度,ni为含有候选词wi的句子的个数,nj为含有候选词wj的句子的个数,nij为同时含有候选词wi和候选词wj的句子的个数,n为文本中句子总个数,ε为平滑因子。

可选地,第二构建模块208,如图9所示,包括:

第一构建子模块2081,用于针对预处理后得到的多个句子中的每个句子,利用各候选词对应的第三指标,以及该句子中各候选词的出现次数,构建该句子的第三指标向量。

第二构建子模块2082,用于利用所构建的各句子的第三指标向量,构建句-词矩阵;句-词矩阵中包括:第三指标,以及第三指标对应的候选词的出现次数。

第三构建子模块2083,用于将第一指标向量与句-词矩阵进行点乘计算,得到各候选词的第二指标向量。

本发明实施例还提供了一种电子设备,如图10所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信,

存储器303,用于存放计算机程序;

处理器301,用于执行存储器303上所存放的程序时,实现本发明实施例所提供的一种基于图和词句协同的关键词提取方法。

本发明实施例提供的一种电子设备,由于各候选词的第一指标,即用于表示各第一节点在无向有权图中的重要程度的指标,是基于利用各候选词的扩散度得到的各候选词在无向有权图中边的权重计算得到的,且各候选词的第五指标,即用于表示候选词在文本中的重要程度的指标,是基于候选词的第一指标与句子的第二指标生成的,因此,能够基于文本的句子与候选词之间的关系对关键词进行提取,而不仅仅依赖各候选词的出现频次对关键词进行提取,从而进一步提高提取文本中关键词的准确程度。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种基于图和词句协同的关键词提取方法的步骤。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一种基于图和词句协同的关键词提取方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/电子设备/系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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