一种基于语义的无监督学术关键词提取方法及设备与流程

文档序号:31798004发布日期:2022-10-14 18:02阅读:93来源:国知局
一种基于语义的无监督学术关键词提取方法及设备与流程

1.本发明涉及自然语言处理技术领域,特别涉及一种基于语义的无监督学术关键词提取方法及设备。


背景技术:

2.关键词提取旨在从文本中提取出一组与文本主题相关的词语以表达文本的核心内容,是一项基本的自然语言处理任务。常见的关键词提取算法包括tf-idf、textrank[1]、yake[2]、autophrase[3]、keybert等。
[0003]
tf-idf是通过统计语料库中词的逆文档频率(idf)和词在句子中的频率(tf)来对关键词进行排序。textrank通过构建词图,然后利用pagerank算法对关键词进行排序、yake是一种综合多种统计指标的关键词提取算法,autophrase利用知识库进行远程监督学习。tf-idf、textrank、yake等算法从一定程度上能够快速提取出相对可靠的关键词,但是这些算法往往存在大量的噪音词(非关键词错误识别为了关键词),问题在于它们都忽略了文本的语义特征。keybert等基于语义的关键词提取算法通过计算n-gram的方式生成候选词,但是这种做法的计算效率非常低,并且由于bert各向异性的特点导致语义计算效果较差。
[0004]
而对于数量巨大的论文文献等学术领域,急需一种效率高、准确性强的关键词提取方法。


技术实现要素:

[0005]
鉴于上述的分析,本发明旨在提供一种基于语义的无监督学术关键词提取方法及设备;解决了现有的关键词提取方法存在噪音词且效率低的问题。
[0006]
本发明的目的主要是通过以下技术方案实现的:本发明公开了一种基于语义的无监督学术关键词提取方法及设备,包括以下步骤:获取待识别文本,待识别文本包括论文的标题和摘要;基于预先构建的学术词表对待识别文本进行分词;根据分词后得到的每个词的词长、词位置和词的tf-idf得分,计算每个词的综合得分;基于综合得分,得到候选关键词;将候选关键词与待识别文本输入预先训练的深度语义模型,得到关键词与待识别文本的语义相似度;选择语义相似度大于阈值的关键词,得到论文的学术关键词。
[0007]
进一步的,深度语义模型的训练包括:构建论文语料库,论文语料库中包括多个论文的标题及对应的摘要;将论文语料库中论文的标题、标题对应的摘要和论文语料库中随机抽取的n个摘要输入dssm的双塔结构模型,计算论文的标题与摘要的相似度,经过损失函数迭代更新,最大化标题与标题对应的摘要的语义相似度,得到训练好的深度语义模型;n为大于1的整数。
[0008]
进一步的,采用dssm的双塔结构模型训练的深度语义模型包括输入层、表示层和
匹配层;输入层采用n-gram模型对输入的标题和摘要分别进行降维,得到降维压缩后的低维语义向量;表示层包括三层全连接层,每层使用非线性激活函数进行激活,对低维语义向量进行特征整合得到固定维度的表示层隐向量;匹配层基于表示层隐向量计算得到标题和摘要的语义相似度。
[0009]
进一步的,学术词表通过无监督方法构建,包括:对论文语料库中的标题和摘要进行词频统计;基于n-gram词频、点互信息、左右熵及时间影响因子计算分词后得到的每个词的成词概率,选择成词概率大于概率阈值的词构建得到学术词表。
[0010]
进一步的,时间影响因子基于包含分词后得到的词的论文发表时间与词首次出现时间的平均时间跨度计算得到,计算公式为:其中,n表示包含词的论文数量,表示包含词的第篇论文的发表年份,表示词在论文语料库中首次出现的论文发表的时间。
[0011]
进一步的,通过下述公式计算成词概率:其中,表示论文总数,表示论文语料库中包含词的论文数,表示逆文档频率;表示词的n-gram词频,即词在论文语料库中出现的频率,表示词的点互信息,表示左邻字信息熵,表示右邻字信息熵,表示词的所有左邻字集合,表示词的所有右邻字集合。
[0012]
进一步的,利用词长、词位置、词的tf-idf权重统计得分进行加权,计算每个词的综合得分;其中,tf-idf权重统计得分通过下述公式计算得到:
其中,t为经过n-gram处理得到的词,d为词t所在的待处理的论文,为论文d中包含的任一个词,为词t出现在论文d中的频次,为论文d中包含的任一个词在论文d中出现的频次,d为论文语料库,表示包含词t的文档数,表示词频,表示逆文档频率,表示tf-idf得分。
[0013]
进一步的,根据词位于标题和摘要中的位置计算得到位置得分,位置得分的计算公式为:;其中,表示词的索引值。
[0014]
进一步的,通过下述公式,计算每个词的综合得分:其中,表示词的索引值,表示词的长度,表示的位置得分,表示tf-idf得分。
[0015]
另一方面,还公开了一种计算机设备,包括至少一个处理器,以及至少一个与处理器通信连接的存储器;存储器存储有可被处理器执行的指令,指令用于被处理器执行以实现前述的基于语义的无监督学术关键词提取方法。
[0016]
本技术方案的有益效果:1、本发明通过结合统计和语义计算的关键词提取方法,首先利用tf-idf等统计特征对候选关键词进行排序,然后利用dssm的双塔结构训练的无监督语义模型对候选关键词再次进行排序,过滤掉基于统计特征进行排序得到的语义不相关的候选关键词,输出最终的关键词,极大的提高了关键词提取的准确性。
[0017]
2、本发明利用自主构建的学术词表进行分词,在构建学术词表时,同时考虑到n-gram词频、点互信息(pmi)、时间影响因子及左右熵(entropy)的影响,在文本预处理阶段提高了分词的准确性。
[0018]
3、本发明在关键词粗排阶段,考虑关键词的词长、词所处位置和tf-idf分数,对候选关键词进行综合排序,并返回高于阈值的词作为候选关键词。在关键词粗排阶段过滤了大量非关键词,提高了关键词提取的效率和精度。
[0019]
4、本发明在构建论文语料库时,选用的论文涉及尽量多的领域,通过论文语料库中的论文构建学术词表,使得学术词表中包含了各个领域的学术词;且利用各个领域的论文标题和摘要进行深度语义模型训练,极大程度上提高了本发明学术关键词提取方法的泛化能力,能够适用于各个领域应用。
[0020]
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
[0021]
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件;图1为本发明实施例的学术关键词提取方法流程图;图2为本发明实施例的语义模型结构示意图。
具体实施方式
[0022]
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本技术一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
[0023]
本实施例中的一种基于语义的无监督学术关键词提取方法,如图1所示,包括以下步骤:步骤s1:获取待识别文本,所述待识别文本包括论文的标题和摘要;具体的,本实施例采用论文的标题和摘要作为待识别文本,进行论文的关键词提取。其中,论文可以为任意领域的具有标题和摘要的论文,将标题作为一个句子拼接在摘要开头,构成待识别文本。
[0024]
步骤s2:基于预先构建的学术词表对所述待识别文本进行分词;本实施例采用jieba工具对待识别文本进行分词,由于本发明的目的是进行学术关键词提取,若采用分词工具的默认词表进行分词,分词后得到的词粒度比较粗,会影响后续学术关键词的提取效果。本实施例中加载预先构建学术词表,将学术词表中的学术词添加到jieba分词工具的默认词表中;基于加载了学术词表的分词工具对待识别文本进行分词,能够最大限度的提取出待识别文本中的学术词,通过后续进行关键词排序,过滤掉非学术词,得到准确的学术关键词。
[0025]
具体的,所述学术词表通过无监督方法构建,包括:对论文语料库中的标题和摘要利用n-gram算法进行n-gram词频统计;基于n-gram词频、点互信息、左右熵及时间影响因子计算经过n-gram算法切分后得到的每个词的成词概率,选择成词概率大于概率阈值的词构建得到学术词表。
[0026]
优选的,在构建学术词表时,本实施例采用的论文语料库包括50万篇论文的标题和摘要,其中的论文涉及尽量多的领域,以提高泛化能力。首先利用n-gram算法对论文语料库中的论文标题和摘要进行词频统计,经n-gram算法切分后得到的词中会包括不准确的词或停用词,停用词指的是在文本中出现频率很高但与文本内容不相关的词,所以需要基于n-gram词频、点互信息、左右熵及时间影响因子计算每个词的成词概率,以排除不准确的词和停用词的影响,提高在实际应用中基于学术词表对待识别文本进行分词的质量。另外,进行词频统计时会得到少量英文单词,还可以对得到的英文单词进行归一化,包括删除重复空格和标点符号、统一大小写、缩写/同义词替换、拼写纠正、词形还原等。
[0027]
其中,点互信息是两个词相互依赖性的量度。词和词的点互信息的值通过下述公式计算: ;
其中,和分别为经过n-gram算法得到的词或字,为和组合后的词组在论文语料库中出现的概率,为在论文语料库中出现的概率,为在论文语料库中出现的概率。
[0028]
例如“机器”和“学习”两个词在论文语料库中出现的概率分别为0.000125和0.0001871,理论上如果“机器”和“学习”毫不相关,则它们恰好拼在一起的概率应该是0.000125
×
0.0001871,约为。而实际上,“机器学习”在这个论文语料库中出现的概率是。远高于预测的概率,因此把词真实出现的概率与预测的概率比值的对数称为点互信息,这个值越高则该词组单独成为词的概率也就越高。
[0029]
信息熵是描述信息的混乱程度,也称为不确定程度。计算公式如下:其中,表示词的邻字信息熵,表示词的邻字出现的概率,表示词所有邻字的集合。
[0030]
左右熵表示词的左邻字信息熵和右邻字信息熵,在计算成词概率时,引入信息熵计算公式分别计算得到左邻字信息熵和右邻字信息熵;在计算左邻字信息熵时,表示词的所有左邻字集合;在计算右邻字信息熵时,表示词的所有右邻字集合。其中,左邻字信息熵和右邻字信息熵越大的词,成词概率越大。
[0031]
例如句子“吃葡萄不吐葡萄皮不吃葡萄倒吐葡萄皮”,“葡萄”的左邻字包括{吃, 吐, 吃, 吐},右邻字包括{不, 皮, 倒, 皮}。
[0032]
由信息熵的公式计算可以得到,“葡萄”的左熵为:;它的右熵为:;左右熵值表明词左右邻字信息的丰富程度,成词概率高的字符串应该拥有丰富的左右邻字信息。
[0033]
通常一个词除了能够与其他词自由组合且频繁出现之外,还需要在一段时间内广泛被大量的论文提及,因此时间是衡量一个字符串是否成词的重要指标。通过计算包含词的论文发表时间与词首次出现时间的平均时间跨度作为时间影响因子,时间影响因子的计算公式如下所示:其中,n表示包含词的论文数量,表示包含词的第篇论文的发表年份,表示词在论文语料库中首次出现的论文发表的时间。
[0034]
为了降低停用词的影响,本发明利用逆文档频率对成词概率进行加权计算,包含词的文档数越多,这个词的重要性越低,经过逆文档频率加权计算,排除这类词的影响。
[0035]
成词概率计算公式如下所示:其中,表示论文总数,表示论文语料库中包含词的论文数,表示逆文档频率;表示词的n-gram词频,即词在论文语料库中出现的频率,表示词的点互信息,表示左邻字信息熵,表示右邻字信息熵,表示词的所有左邻字集合,表示词的所有右邻字集合。
[0036]
根据论文语料库中论文的标题和摘要通过n-gram算法进行词频统计后得到的所有词的成词概率,选择成词概率大于阈值的词构建学术词表。优选的,本实施例中成词概率阈值设为0.5。
[0037]
利用构建好的学术词表,通过分词工具,例如jieba分词工具对待识别文本进行分词。例如输入句子“基于深度学习的复杂场景下人体行为识别研究”,经过分词模块的处理之后结果为:“基于”、“深度学习”、“的”、“复杂场景”、“下”、“人体”、“行为识别”、“研究”。步骤s3:根据分词后得到的每个词的词长、词位置和词的tf-idf得分,计算每个词的综合得分;基于所述综合得分,得到候选关键词;具体的,本实施例利用词长、词位置、词的tf-idf权重等统计特征进行加权,根据加权后的综合得分对分此后得到的词进行关键词粗排,根据关键词粗排结果,得到候选关键词。其中tf-idf权重需要对整个论文语料库数据进行idf权重统计,然后对于每个待识别文本,统计每个词的在待识别文本中的词频并乘以该词的idf权重得到最终的tf-idf得分。tf-idf计算公式如下:其中,t为经过n-gram处理得到的词,d为词t所在的待处理的论文,为论文d中包含的任一个词,为词t出现在论文d中的频次,为论文d中包含的任一个词在论文d中出现的频次,d为论文语料库,表示包含词t的文档数,表示词频,表示逆文档频率,表示tf-idf得分。
[0038]
根据词位于标题和摘要中的位置计算得到位置得分,所述位置得分的计算公式
为:;其中,表示词的索引值;通过下述公式,计算每个词的综合得分:其中,表示词的索引值,表示词的长度,表示的位置得分,表示tf-idf得分。如果候选词位于标题,则位置权重为常数2,如果候选词位于摘要中,则词的位置越靠前得分相对越高。
[0039]
例如对于输入论文标题“基于深度学习的复杂场景下人体行为识别研究”,经过分词之后,根据词长、词所处位置、tf-idf分数计算得到综合得分如表1所示:表
ꢀꢀ
关键词综合得分示例根据综合得分进行排序,并返回高于阈值的词作为候选关键词。
[0040]
本实施例设定阈值为1.2,则候选词“基于”、“的”、“下”在关键词粗排阶段被过滤掉,剩余的候选关键词包括“深度学习”、“复杂场景”、“人体”、“行为识别”、“研究”。
[0041]
步骤s4:将所述候选关键词与所述待识别文本输入预先训练的深度语义模型,得到所述关键词与所述待识别文本的语义相似度;选择所述语义相似度大于阈值的关键词,得到所述论文的学术关键词。
[0042]
具体的,所述深度语义模型的训练包括:构建论文语料库,所述论文语料库中包括多个论文的标题及对应的摘要;将所述论文语料库中论文的标题、标题对应的摘要和论文语料库中随机抽取的n个摘要输入dssm的双塔结构模型,计算论文的标题与摘要的相似度,经过损失函数迭代更新,最大化所述标题与标题对应的摘要的语义相似度,得到训练好的深度语义模型,其中,n为大于1的整数。
[0043]
采用dssm的双塔结构模型训练的所述深度语义模型包括输入层、表示层和匹配层;所述输入层采用n-gram模型对输入的标题和摘要分别进行降维,得到降维压缩后的低维语义向量;
所述表示层包括三层全连接层,每层使用非线性激活函数进行激活,对所述低维语义向量进行特征整合得到固定维度的表示层隐向量;所述匹配层基于所述表示层隐向量计算得到所述标题和摘要的语义相似度。
[0044]
更具体的,本实施例利用深度语言模型计算候选关键词和论文标题摘要的语义相似度。关键词粗排虽然能够从统计角度过滤掉部分不重要的词,但是还是会错误的把语义不相关的词错误判断成关键词,因此在此步骤利用无监督深度语义模型对候选关键词进行精排,计算标题摘要和候选关键词语义,使得不相关的候选关键词和标题摘要的语义距离足够大,并且能够通过设定阈值的方式进行过滤。
[0045]
首先利用深度语义模型对标题摘要以及候选关键词进行编码得到对应的向量表示,随后利用余弦相似度计算候选关键词和标题摘要向量的距离,余弦相似度计算公式如下:其中a, b分别表示候选关键词和标题摘要的向量。
[0046]
传统的语义表示学习方法通常需要相似句子对进行有监督学习,但是相似句子对需要高昂的人工标注成本,考虑到论文的结构特点,本发明提出了利用标题和摘要作为相似句子对进行语义模型训练的方法。标题和摘要的语义应该是近似相等的,论文摘要是对标题的进一步表述,因此它们在语义空间上的距离应该的很小的。为了更好的建模深度语义模型,本实施例采用dssm的双塔结构模型进行训练,如图2所示,通过dssm模型进行语义相似度计算。模型使用论文中的标题和摘要作为输入,用深度神经网络模型把标题和摘要表达为低维语义向量,并通过余弦距离来计算两个语义向量的距离,最后输出标题和摘要的语义相似度。该模型既可以用来预测两个句子的语义相似度,又可以获得某句子的低纬语义向量表达,从而实现关键词和论文标题/摘要的语义相似度计算。
[0047]
具体的,dssm的双塔结构模型训练的深度语义模型包括输入层、表示层、匹配层三层结构。
[0048]
其中,输入层采用n-gram模型对输入词进行降维,从而实现对向量的压缩。在处理英文论文时,采用tri-gram模型进行压缩,即按照每3个字符进行切分,例如输入单词“algorithm”会被切分为“#al”、“alg”、“lgo”、“gor”、“ori”、“rit”、“ith”、“thm”、“hm#”,这样做的优点首先在于可以压缩词向量占用空间,50 万个词的 one-hot 向量空间可以通过tri-gram压缩为一个3万维的向量空间;其次是增强泛化能力。中文论文采用uni-gram模型,即将每个字符作为最小单位,例如输入词“机器学习”,会被切分为“机”、“器”、“学”、“习”。采用字向量作为输入,向量空间约为1.5万维,其中,维度由汉语常用单字数量决定。
[0049]
表示层包含三层全连接层,每层使用非线性激活函数进行激活。
[0050]
匹配层使用余弦距离计算正负样本相似度,并使用负对数似然损失函数优化神经网络。模型使用论文的标题和摘要作为输入数据进行训练;其中,正样本为标题对应的摘要,负样本为随机从论文语料库中采样的摘要,随机采样的摘要不包括标题对应的摘要。
[0051]
中间网络层以及输出层均采用全连接神经网络。用表示第层的权值矩阵,表示第层的偏置项。第个中间网络层编码得到隐层向量,输出层编码得到输出向量
可以分别表示为:其中f表示双曲正切激活函数,双曲正切函数定义如下所示:经过中间网络层和输出层编码得到128维度的语义向量。标题和摘要的语义相似性可以用这两个语义向量的余弦相似度来表示:其中和分别表示论文q和论文d的的向量表示。
[0052]
通过softmax函数可以把标题与正样本摘要的语义相似性转化为后验概率: ;其中γ为softmax函数的平滑因子,为和标题q对应的摘要,包括标题q对应的摘要和随机采样的摘要,r函数表示余弦距离函数,d为标题下的整个样本空间。
[0053]
在训练阶段,通过极大似然估计,我们最小化损失函数,使得经过softmax函数归一化计算之后,标题和正样本摘要的相似度最大:;利用标题和摘要作为相似对训练得到深度语义模型,然后可以使用这个模型对候选关键词进行语义编码,并通过余弦距离计算候选关键词与论文标题摘要的语义相似度。
[0054]
例如对于输入论文标题“基于深度学习的复杂场景下人体行为识别研究”,以及候选关键词“深度学习”、“复杂场景”、“人体”、“行为识别”、“研究”,分别利用dssm结构训练的语义模型对它们进行编码,然后利用余弦距离分别计算候选关键词与标题的语义相似度并进行排序。得到关键词精排结果如表2所示:表 2关键词精排示例假设语义相似度阈值为0.6,则最终输出“行为识别”、“深度学习”、“复杂场景”作
为最终的关键词。
[0055]
本实施例的实验结果:(1)效率在40万的论文数据上,对论文的标题和摘要进行关键词提取,验证本发明的学术关键词提取方法的效率。实验结果表明,该方法在效率上远高于基于语义的关键词提取算法。虽然相比tf-idf等简单的统计方法多了语义计算的步骤,但是在速度上本发明提出的关键词提取方法并没有明显的下降,其中批量提取关键词速度大约是keybert的100倍。对于单篇文档,本专利的处理速度大约是0.01秒/篇。
[0056]
(2)精度在公开的论文数据上随机抽取500篇中文论文进行关键词提取结果的对比评测,本发明提出的方法准确率0.83,高于tf-idf的0.65,以及keybert的0.78。因此本专利提出的方法在保证了效率的同时,同时具有较高的精度。
[0057]
本发明的另一个实施例,还公开了一种计算机设备,包括至少一个处理器,以及至少一个与所述处理器通信连接的存储器;所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现前述的基于语义的无监督学术关键词提取方法。
[0058]
综上所述,本发明公开了一种基于语义的无监督学术关键词提取方法及设备,该方法综合了统计方法和基于深度学习的语义匹配算法,通过预先构建的学术词表进行分词,然后利用tf-idf等统计特征对候选关键词进行排序,最后利用dssm的双塔结构训练的无监督语义模型对候选关键词再次进行排序,输出最终的关键词及其权重。本发明在构建论文语料库时,选用的论文涉及尽量多的领域,通过论文语料库中的论文构建学术词表,使得学术词表中包含了各个领域的学术词;且利用各个领域的论文标题和摘要进行深度语义模型训练,极大程度上提高了本发明学术关键词提取方法的泛化能力,能够适用于各个领域应用。实验表明,该方法相比其他算法在精度和效率上均具有明显的优势。
[0059]
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
[0060]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1