发明内容
为克服上述现有技术存在的不足,本发明的目的在于提供一种构建词语网络及抽取关键词的方法和装置,能较大程度上提高关键词抽取的准确性和效率。
为达上述目的,本发明提供一种构建词语网络的方法,该方法包括:
对文本进行预处理,得到词语集合;
分别计算所述词语集合中任意两个词语之间的语义相似度;
根据所述词语集合及所述语义相似度,构建带权重的语义相似度网络。
本发明还提供一种构建词语网络的装置,该该装置包括预处理单元、相似度计算单元、词语网络构建单元,其中:
预处理单元,用于对文本进行预处理,得到词语集合;
相似度计算单元,用于计算所述词语集合中任意两个词语之间的语义相似度;
词语网络构建单元,用于根据所述词语集合及所述语义相似度,构建带权重的语义相似度网络。
本发明还提供了一种利用如上述方法构建的词语网络进行抽取关键词的方法,该方法包括:
计算与所述顶点相连的各边权重的倒数之和,得到该顶点的加权中心度;
计算所述顶点的中间中心度;
根据所述顶点的加权中心度和中间中心度,计算所述顶点的重要度;
根据各顶点的重要度确定关键词。
本发明还提供了一种利用如上述抽取关键词的方法进行抽取关键词的装置,该装置包括:
加权中心度计算单元,用于计算与所述顶点相连的各边权重的倒数之和,得到该顶点的加权中心度;
中间中心度计算单元,用于计算所述顶点的中间中心度;
重要度计算单元,用于根据所述顶点的加权中心度和中间中心度,计算所述顶点的重要度;
关键词确定单元,用于根据各顶点的重要度确定关键词。
从上述技术方案可以看出,在本发明的实施方式中,通过构建带权重的词语语义相似度网络,从而能够在语义相似度网络中体现词语之间的语义关联程度,解决了现有技术中构建无权重的词语网络不能体现词语之间的语义关联程度的问题;通过综合顶点的加权中心度和中间中心度抽取关键词,从而能够抽取出重要程度高且与其它顶点语义关联程度强的顶点作为关键词,抽取出的关键词能够全面反映词语之间的语义关联程度以及词语重要度,并且本发明算法简洁,克服了现有技术中关键词抽取方法不能体现词语之间的语义关联程度,抽取的关键词准确性低、以及抽取算法复杂,抽取效率低的问题,提高了关键词抽取的准确性及效率。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。本领域技术人员可由说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实施例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
下面结合具体实例,对本发明实施例构建词语网络的方法的算法进行更详细地说明。
图1为本发明实施例构建词语网络的方法流程图。参见图1,本发明提供的构建词语网络的方法,具体可以包括如下步骤:
步骤101:对文本进行预处理,得到词语集合;
步骤103:分别计算所述词语集合中任意两个词语之间的语义相似度;
步骤105:根据所述词语集合及所述语义相似度,构建带权重的语义相似度网络。
在步骤101中,对输入的文本进行分词、词性标注、停用词过滤和词性筛选,得到词语集合W。通过停用词表过滤掉无关的词,停用词表包括文本中出现频率很高,但实际意义不大的词。通过词性判断筛选出名词、动词、形容词、名动词、副动词、习用语、缩略语等有实际意义的词语。
进一步的,在步骤103中,计算所述词语集合中任意两个词语之间的语义相似度包括:使用深度学习word2vec方法计算所述词语集合中任意两个词语之间的语义相似度。具体地,使用深度学习word2vec模型将所述词语集合中的各个词语转化为词向量,计算任意两个词语的词向量的余弦夹角,得到所述两个词语的语义相似度。
现有的构建词语网络的方法一般是通过词语之间的语义相似度来构建无权重的词语网络,其中计算语义相似度的方法一般是通过《同义词词林》或Hownet等语义词典,将词语集合中的所有词语组织在一棵或几棵树形的层次结构中来计算。由于《同义词词林》或Hownet等语义词典仅能针对通用领域构建通用词汇的关联结构,而不能较准确地针对各种专业领域构建专业词汇的关联结构,因此,该方法仅适用于通用领域,而不能满足特定专业领域的需求。
本实施例中,对预处理后得到的词语集合W,Wi为第i个词,利用深度学习word2vec方法计算词语集合W中任意两个词语之间的相似度。word2vec使用大规模的无标注语料进行训练,得到深度学习模型,将词转化为词向量形式。通过计算两个词的词向量的余弦夹角可得到这两个词之间的相似度。由于word2vec模型是通过大规模的语料训练而来,因此有非常好的适用性。如果需要对通用领域进行相似度计算,则使用通用语料训练模型即可;如果需对特定专业领域进行相似度计算,则采用相应专业语料训练模型。因此,word2vec能够很好地满足通用和专业领域的不同需求,解决了现有技术中通过《同义词词林》或Hownet等语义词典计算词语的语义相似度的方法适用范围窄,只能计算通用领域词语的语义相似度,而不能较准确地计算专业领域词语语义相似度的问题。
进一步的,在步骤105中,根据词语集合及语义相似度,构建带权重的语义相似度网络包括:将词语集合中语义相似度大于指定阈值的词语作为所述语义相似度网络的顶点;在相似度大于指定阈值的两个顶点间加入一条边,所述边的权重为连接该边的两个顶点的语义相似度的倒数。
本实施例中,根据词语集合W中的词语之间的相似度构建带权重的语义相似度网络G={V,E,M},其中,V为顶点集,顶点Vi与词语集合中的词语Wi一一对应,E为语义相似度网络G的边集,M为边的权重。相似度大于一定阈值T的两个顶点Vi,Vj构成一条边,即:
E={(Vi,Vj)|Vi,Vj∈V,Sim(Vi,Vj)>T}={(Vi,Vj)|Vi,Vj∈V,Wi,Wj∈W,Sim(Wi,Wj)>T},T为相似度阈值,0<T<1。
M边的权重mij为连接该边的两个顶点Vi,Vj的语义相似度Sim(Vi,Vj)的倒数。
具体地,根据上述词语集合W中词语之间的语义相似度构建带权重的语义相似度网络G,步骤如下:
1.在词语集合W中选取语义相似度大于指定阈值T的词语Wi,Wj作为语义相似度网络G的顶点Vi,Vj;
2.在相似度大于阈值T的两个顶点Vi,Vj之间加入一条边,构成语义相似度网络G的边Mij;
3.将顶点Vi,Vj的语义相似度Sim(Vi,Vj)的倒数作为连接这两个顶点的边Mij的权重值。
词语间的语义关联关系一般通过词语间的最小代价路径来描述。本实施例中通过构造带权重的语义相似度网络,将顶点间语义相似度的倒数作为连接顶点间的边的权重,定义两个顶点Vi和Vj之间的最小代价路径为这两个顶点间相连边权重之和最小的路径。带有权值的连边能更精确地反映文本词语之间的语义关联关系。顶点间语义相似度越大,则相连边的权值(语义相似度的倒数)越小,这两个顶点连通的代价越低,说明这两个顶点联系越紧密,从而能够在语义相似度网络中体现词语之间的语义关联程度,解决了现有技术中构建无权重的词语网络不能体现词语之间的语义关联程度的问题。
图2是本发明实施例构建词语网络的装置的结构示意图。参见图2,该装置包括预处理单元、相似度计算单元、词语网络构建单元,其中:预处理单元,用于对文本进行预处理,得到词语集合;相似度计算单元,用于计算所述词语集合中任意两个词语之间的语义相似度;词语网络构建单元,用于根据所述词语集合及所述语义相似度,构建带权重的语义相似度网络。
进一步的,所述相似度计算单元还用于:使用深度学习word2vec方法计算所述词语集合中任意两个词语之间的语义相似度。
进一步的,所述词语网络构建单元还包括:顶点选择单元,用于在所述词语集合中选择相似度大于指定阈值的词语作为所述语义相似度网络的顶点;权重计算单元,用于在相似度大于指定阈值的两个顶点间加入一条边,所述边的权重为连接该边的两个顶点的语义相似度的倒数。
本领域技术人员通过阅读上文所描述的根据本申请实施例的构建词语网络的方法的操作过程,就会清楚图2所示的构建词语网络的装置的上述各单元如何实现。在此不再对上述各个单元的功能如何实现进行赘述。
本发明实施例构建词语网络的方法及装置,通过构建带权重的语义相似度网络,将顶点间语义相似度的倒数作为连接顶点间的边的权重,定义两个顶点Vi和Vj之间的最小代价路径为这两个顶点间相连边权重之和最小的路径。带有权值的连边能更精确地反映文本词语之间的语义关联关系。顶点间语义相似度越大,则相连边的权值(语义相似度的倒数)越小,这两个顶点连通的代价越低,说明这两个顶点联系越紧密,从而能够在语义相似度网络中体现词语之间的语义关联程度,解决了现有技术中构建无权重的词语网络不能体现词语之间的语义关联程度的问题。
根据本发明实施例,还提供了一种利用本发明构建词语网络的方法所构建的词语网络进行抽取关键词的方法及相应的装置。
图3是根据本发明一实施例中构建的词语网络进行抽取关键词的方法流程图。参见图3,该方法包括:
步骤201:计算与所述顶点相连的各边权重的倒数之和,得到该顶点的加权中心度;
步骤203:计算所述顶点的中间中心度;
步骤205:根据所述顶点的加权中心度和中间中心度,计算所述顶点的重要度;
步骤207:根据各顶点的重要度确定关键词。
在步骤201中,顶点Vi的加权中心度bwi为与该顶点相连的各边权重的倒数之和,其计算公式为:
本实施例中,两个顶点间的边的权重为这两个顶点的语义相似度的倒数,反过来,权重的倒数即为这两个顶点的语义相似度。顶点Vi的加权中心度bwi是与Vi直接相连的各边权重的倒数之和,即与Vi直接相连的各顶点与Vi间的语义相似度之和。因此,顶点与网络中其它顶点的语义关联程度越强,其语义相似度越大,相应地,该顶点的加权中心度越大。因此,本实施例中顶点的加权中心度能够反映出顶点在网络中的语义关联程度,顶点的加权中心度越大,表示该顶点与网络中其它顶点的语义关联程度越强、该顶点在网络中的重要程度越高。
在步骤203中,计算顶点的中间中心度的方法为现有技术,本领域普通技术人员可以采用已知的方法进行计算,这里不再赘述。
进一步的,在步骤205中,计算顶点重要度的公式为:
cpi=α·bwi+(1-α)·bci
其中,cpi为顶点Vi的重要度,bwi为顶点Vi的加权中心度,bci为顶点Vi的中间中心度,α为调节bwi和bci的调节因子,0<α<1。
顶点的加权中心度反映的是顶点在网络中的语义关联程度,关联程度越强,该顶点的加权中心度越大;顶点的中间中心度反映的是顶点在网络中的重要程度,重要程度越高,中间中心度越大。
进一步的,在步骤207中,根据各顶点的重要度确定关键词,将重要度大于指定阈值的顶点所对应的词语作为文本的关键词。
本实施例取关键词的方法及装置,通过计算顶点的加权中心度和中间中心度,综合顶点的加权中心度和中间中心度来衡量顶点的重要度,从而能够抽取出重要程度高且与其它顶点语义关联程度强的顶点作为关键词,并且,本申请较大程度上精简了关键词抽取算法的复杂度,克服了现有技术中关键词抽取方法不能体现词语之间的语义关联程度,抽取的关键词准确性低、以及抽取算法复杂,抽取效率低的问题。根据本申请抽取关键词的方法及装置抽取出的关键词,能够全面反映词语之间的语义关联程度以及词语重要度,提高了关键词抽取的准确性及效率。
进一步的,在其它实施例中,在计算出各顶点的重要度之后,还可以分别计算各词语的统计特征,包括:
词频-倒文档频率(tfidf)特征:词频(tf)与倒文档频率(idf)的乘积,用以评估词语对于一个文档集或一个语料库中一份文档的重要程度;
词性重要性特征(posi):根据词语Wi的词性分配不同的值,名词、动词、形容词等不同词性采用不同的权重,分别表示各词性的重要性;
位置特征(loci):词语Wi出现在文章标题、摘要、段首或段尾等关键位置则为1,否则为0,k为关键位置数量,ωj为该位置对应的权重。计算公式如下:
词长度特征(leni):词语Wi的字符长度。
然后,为上述各个特征分别设置相应的权重,计算各词语的关键度,计算公式为:
Score(wi)=α·cpi+β·(loci+ωpos·posi+ωlen·leni+ωtfidf·tfidfi)
其中,α和β分别为语义相似度特征值权重和统计特征值权重;ωpos为词性特征权重;ωlen为词长度特征权重;ωtfidf为tfidf特征权重;α+β=1,α>0,β>0。
根据计算所得的Wi关键度是否大于指定阈值,判断Wi是否为关键词。
上述实施例中通过将语义相似度网络中词语的语义特征与多种统计特征相融合来计算词语的关键度,将关键度大于指定阈值的词语作为文档的关键词,既能按照统计理论挖掘出具有代表性的词,又能深入语义层面,使得抽取的关键词在统计和语义层面都能代表文本的关键度,进一步提高了关键词抽取的准确性。
图4是根据本发明一实施例中构建的语义相似度网络进行抽取关键词的装置的结构示意图。参见图4,该装置包括加权中心度计算单元、中间中心度计算单元、重要度计算单元、关键词确定单元,其中:
加权中心度计算单元,用于计算与所述顶点相连的各边权重的倒数之和,得到该顶点的加权中心度;
中间中心度计算单元:用于计算所述顶点的中间中心度;
重要度计算单元,用于根据所述顶点的加权中心度和中间中心度,计算所述顶点的重要度;
关键词确定单元,用于根据各顶点的重要度确定关键词。
进一步地,所述重要度计算单元计算顶点的重要度公式为:
cpi=α·bwi+(1-α)·bci
其中,cpi为顶点Vi的顶点重要度,bwi为顶点Vi的加权中心度,bci为顶点Vi的中间中心度,α为调节bwi和bci的调节因子,0<α<1。
本领域技术人员通过阅读上文所描述的根据本申请实施例构建的词语语义相似度网络进行抽取关键词的方法的操作过程,就会清楚图4所示的抽取关键词的装置的上述各单元如何实现。在此不再对上述各个单元的功能如何实现进行赘述。
本申请抽取关键词的方法及装置,通过计算顶点的加权中心度和中间中心度,综合顶点的加权中心度和中间中心度来衡量顶点的重要度,从而能够抽取出重要程度高且与其它顶点语义关联程度强的顶点作为关键词,并且,本申请较大程度上精简了关键词抽取算法的复杂度,克服了现有技术中关键词抽取方法不能体现词语之间的语义关联程度,抽取的关键词准确性低、以及抽取算法复杂,抽取效率低的问题。根据本申请抽取关键词的方法及装置抽取出的关键词,能够全面反映词语之间的语义关联程度以及词语重要度,提高了关键词抽取的准确性及效率。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。