本申请涉及自然语言处理技术领域,尤其涉及一种关键词提取方法、装置、计算机设备及可读存储介质。
背景技术:
文本关键词提取是自然语言处理领域中的一大重要应用,主要用于主题分析、新闻分类等领域,通过文本关键词提取,可以对新闻进行快速分类或是对文章进行简单标签化。
相关技术中,tfidf文本关键词提取方法因实现简单、相对容易理解等特点被广泛应用。tfidf方法实质是利用各个单词的词频tf和逆文档频率idf二者的乘积来衡量单词的重要程度,从而达到关键词提取的目的。其中,idf值实质上是一种试图抑制噪音的加权,认为文本频率小的单词就重要程度越大,文本频率大的单词重要程度越小,其准确率依赖于精确的语料库,如果语料库中某类文本的频率较高,那么该类文本的关键词的idf值也就会偏小;且仅仅从词频tf出发计算重要程度,这与实际生活中我们更关注主语、谓语、宾语等想法相悖。故此,tfidf方法难以提取出反映文本语义的关键词,精确性不高。
技术实现要素:
本申请的主要目的在于提供一种关键词提取方法、装置、计算机设备及可读存储介质,旨在解决相关技术中提取关键词的方式精确性不高的技术问题。
第一方面,本申请提供了一种关键词提取方法,所述方法包括:
获取待提取文本,分别对所述待提取文本的各个词进行mask,得到各个被mask的词对应的mask文本;
采用训练好的bert模型分别提取所述待提取文本对应的第一词向量以及各个所述mask文本对应的第二词向量;
分别对所述第一词向量以及各个所述第二词向量进行降噪处理,得到降噪第一词向量以及各个降噪第二词向量;
根据所述第一词向量以及各个所述第二词向量,结合所述降噪第一词向量以及各个所述降噪第二词向量,确定各个所述被mask的词在所述待提取文本中的重要程度;
根据各个所述被mask的词的所述重要程度从所述待提取文本中提取关键词。
第二方面,本申请还提供了一种关键词提取装置,所述装置包括:
mask模块,用于获取待提取文本,分别对所述待提取文本的各个词进行mask,得到各个被mask的词对应的mask文本;
词向量提取模块,用于采用训练好的bert模型分别提取所述待提取文本对应的第一词向量以及各个所述mask文本对应的第二词向量;
降噪模块,用于分别对所述第一词向量以及各个所述第二词向量进行降噪处理,得到降噪第一词向量以及各个降噪第二词向量;
确定模块,用于根据所述第一词向量以及各个所述第二词向量,结合所述降噪第一词向量以及各个所述降噪第二词向量,确定各个所述被mask的词在所述待提取文本中的重要程度;
关键词提取模块,用于根据各个所述被mask的词的所述重要程度从所述待提取文本中提取关键词。
第三方面,本申请还提供了一种计算机设备,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上述的关键词提取方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上述的关键词提取方法。
本申请公开了一种关键词提取方法、装置、计算机设备及可读存储介质,该关键词提取方法,首先获取待提取文本,分别对待提取文本的各个词进行mask,得到各个被mask的词对应的mask文本,然后采用训练好的bert模型分别提取待提取文本对应的第一词向量以及各个mask文本对应的第二词向量,再分别对第一词向量以及各个第二词向量进行降噪处理,得到降噪第一词向量以及各个降噪第二词向量,进一步根据第一词向量以及各个第二词向量,结合降噪第一词向量以及各个降噪第二词向量,确定各个被mask的词在所述待提取文本中的重要程度,最终根据各个被mask的词的重要程度从待提取文本中提取关键词。不同于tfidf方法,本申请通过对待提取文本的各个词进行mask,关注词的位置信息,因此利用bert模型提取待提取文本和mask文本的词向量时,能够抓取到词的位置特征,通过对词向量进行降噪,增强词向量的特征表达能力,避免依赖语料库来计算idf值降噪,就不会因为语料库本身的分布偏差而影响提取关键词的精度,从而提升了选取关键词的精确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请关键词提取方法一实施例的流程示意图;
图2为本申请关键词提取方法一实施例涉及的对待提取文本的各个词进行mask的示例图;
图3为本申请关键词提取方法另一实施例的流程示意图;
图4为本申请一实施例提供的一种关键词提取装置的示意性框图;
图5为本申请一实施例涉及的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请的实施例提供了一种关键词提取方法、装置、计算机设备及可读存储介质。其中,该关键词提取方法主要应用于关键词提取设备,可以是移动终端、pc(个人计算机personalcomputer)、便携计算机和服务器等具有数据处理功能的设备。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,图1为本申请的实施例提供的一种关键词提取方法的流程示意图。
如图1所示,该关键词提取方法包括步骤s101至步骤s105。
步骤s101,获取待提取文本,分别对所述待提取文本的各个词进行掩膜mask,得到各个被mask的词对应的mask文本。
其中,待提取文本指的是待进行关键词提取的文本数据,待提取文本包括若干个由多个字符组成的词按照特定语义顺序构成的一个句子或多个句子的组合。待提取文本包括多种类型,比如中文类型、英文类型、中英文结合类型等,以下均以英文类型的由一个句子构成的待提取文本进行关键词提取的说明。当然,对于多个句子的组合构成的待提取文本,则可以先对待提取文本进行分句操作,再对待提取文本中的各单句进行关键词提取。
示例性的,获取待提取文本的方式可以是关键词提取设备加载输入界面,从而获取用户在输入界面输入的待提取文本,也可以是接收其他设备发送的的待提取文本。
关键词提取设备获取到待提取文本后,分别对待提取文本的各个词进行mask,得到各个被mask的词对应的新文本(定义为mask文本)。
示例性的,比如对于待提取文本“howdoirefusetochosebetweendifferentthingstodoinmylife?”,分别对其各个词进行mask,即分别用mask代替待提取文本中的各个词,可以得到如图2所示的各个被mask的词对应的mask文本。
步骤s102,采用训练好的bert模型分别提取所述待提取文本对应的第一词向量以及各个所述mask文本对应的第二词向量。
其中,训练好的bert(bidirectionalencoderrepresentationfromtransformers,双向注意力神经网络)模型是预先训练好的一个端到端的句子级别的语言模型,可以直接获得一整个句子的唯一向量表示。采用训练好的bert模型分别提取待提取文本对应的词向量(定义为第一词向量)以及各个被mask的词对应的mask文本的词向量(定义为第二词向量)。
在一些实施例中,步骤s102具体为:将所述待提取文本以及各个所述mask文本分别输入至所述训练好的bert模型中进行词嵌入操作,得到所述待提取文本对应的第一词嵌入向量以及各个所述mask文本对应的第二词嵌入向量,其中,所述第一词嵌入向量包括所述待提取文本的词、词的位置和句子信息,各个所述第二词嵌入向量包括各个所述mask文本的词、词的位置和句子信息;将所述第一词嵌入向量和各个所述第二词嵌入向量分别输入至所述训练好的bert模型的transformer中进行编码以及解码操作,得到所述待提取文本对应的第一词向量以及各个所述mask文本对应的第二词向量。
其中,训练好的bert模型采用transformer作为主体模型结构,transformer的结构包括编码(encoder)层和解码(decoder)层。bert模型中,解码(decoder)层后还接入有线性变换层以及softmax函数层。
对于待提取文本,将待提取文本输入至训练好的bert模型中进行词嵌入操作,得到待提取文本对应的词嵌入向量(定义为第一词嵌入向量)。具体地,bert模型在其嵌入层从三个角度对待提取文本进行词嵌入操作,这三个角度分别为词本身信息的嵌入、词的位置信息的嵌入和句子的全局信息的嵌入,得到包含了词本身信息的嵌入向量、包含了词的位置信息的嵌入向量和包含了句子信息的嵌入向量,将这三个嵌入向量相加,即可得到待提取文本对应的第一词嵌入向量。也就是说,第一词嵌入向量包括待提取文本的词、词的位置和句子等信息。之后,bert模型将第一词嵌入向量输入至transformer中,bert模型让transformer在encoder层对待提取文本对应的第一词嵌入向量进行深度编码(encoding),得到encoder层的输出,再将encoder层的输出输入至decoder层进行深度解码(decoding),从而获取通过decoder层之后而通过bert模型的线性变换层以及softmax函数层之前的输出向量,作为待提取文本对应的词向量(定义为第一词向量)。
同理,对于各个被mask的词对应的mask文本,逐一输入至bert模型进行词嵌入操作,得到各个mask文本对应的词嵌入向量(定义为第二词嵌入向量)。具体地,bert模型在其嵌入层从三个角度分别对各个mask文本进行词嵌入操作,这三个角度分别为词本身信息的嵌入、词的位置信息的嵌入和句子的全局信息的嵌入,得到包含了词本身信息的嵌入向量、包含了词的位置信息的嵌入向量和包含了句子信息的嵌入向量,将这三个嵌入向量相加,即可得到各个mask文本对应的第二词嵌入向量。也就是说,各个mask文本对应的第二词嵌入向量对应包括各个mask文本的词、词的位置和句子等信息。之后,bert模型将各个第二词嵌入向量输入至transformer中,bert模型让transformer在encoder层对各个mask文本对应的第二词嵌入向量进行深度编码(encoding),得到encoder层的输出,再将encoder层的输出输入至decoder层进行深度解码(decoding),从而获取通过decoder层之后而通过bert模型的线性变换层以及softmax函数层之前的输出向量,作为各个mask文本对应的词向量(定义为第二词向量)。
步骤s103,分别对所述第一词向量以及各个所述第二词向量进行降噪处理,得到降噪第一词向量以及各个降噪第二词向量。
考虑到待提取文本对应的第一词向量以及各个mask文本对应的第二词向量属于高维向量,含有噪声,因此需降低待提取文本对应的第一词向量的噪声以及各个mask文本对应的第二词向量的噪声,以达到增强第一词向量和各个第二词向量的特征表达能力的目的。
在一些实施例中,步骤s103具体为:分别对所述第一词向量以及各个所述第二词向量进行低通滤波处理,得到降噪第一词向量以及各个降噪第二词向量。
对待提取文本对应的第一词向量以及各个mask文本对应的第二词向量进行降噪处理,可以采取分别对待提取文本对应的第一词向量以及各个mask文本对应的第二词向量进行低通滤波处理的方式,从而得到待提取文本对应的降噪第一词向量以及各个mask文本对应的降噪第二词向量,由此增强第一词向量和各个第二词向量的特征表达能力,从而提升后续提取关键词的精确性。
步骤s104,根据所述第一词向量以及各个所述第二词向量,结合所述降噪第一词向量以及各个所述降噪第二词向量,确定各个所述被mask的词在所述待提取文本中的重要程度。
之后,根据待提取文本对应的第一词向量,各个mask文本对应的第二词向量,以及待提取文本对应的降噪第一词向量,各个mask文本对应的降噪第二词向量,确定各个被mask的词在待提取文本中的重要程度。其中,各个被mask的词的重要程度表示该词对待提取文本语义的影响程度。
在一些实施例中,如图3所示,步骤s104具体可以包括子步骤s1041和子步骤s1042。
子步骤s1041,分别计算各个所述第二词向量与所述第一词向量之间的第一余弦相似度,以及分别计算各个所述降噪第二词向量与所述降噪第一词向量之间的第二余弦相似度。
也即,分别计算各个mask文本对应的第二词向量与待提取文本对应的第一词向量之间的余弦相似度(定义为第一余弦相似度),以及分别计算各个mask文本对应的降噪第二词向量与待提取文本对应的降噪第一词向量之间的余弦相似度(定义为第二余弦相似度)。
子步骤s1042,根据所述第一余弦相似度和所述第二余弦相似度,计算各个所述被mask的词在所述待提取文本中的重要程度。
之后,根据各个第一余弦相似度和各个第二余弦相似度,计算各个被mask的词在待提取文本中的重要程度。
在一些实施例中,子步骤s1042具体为:计算各个所述第一余弦相似度与各个所述第二余弦相似度之间的差值;将计算的各个所述差值的绝对值作为各个所述被mask的词在所述待提取文本中的重要程度。
示例性的,可以分别将各个第一余弦相似度和各个第二余弦相似度对应代入至预设重要程度计算公式,计算得到各个被mask的词在待提取文本中的重要程度,其中,预设重要程度计算公式如下所示:
被mask的词的重要程度=abs[cos(对应mask文本的词向量,待提取文本的词向量)-cos(对应mask文本的降噪词向量,待提取文本的降噪词向量)]
为了更好的理解上述实施例,举例进行详细说明。比如对待提取文本“howdoirefusetochosebetweendifferentthingstodoinmylife?”中“how”这个词进行mask,“how”作为被mask的词,计算“maskdoirefusetochosebetweendifferentthingstodoinmylife?”的词向量与“howdoirefusetochosebetweendifferentthingstodoinmylife?”的词向量之间的第一余弦相似度,以及计算“maskdoirefusetochosebetweendifferentthingstodoinmylife?”的降噪词向量与“howdoirefusetochosebetweendifferentthingstodoinmylife?”的降噪词向量之间的第二余弦相似度,然后计算“how”对应的第一余弦相似度和第二余弦相似度的差值,取这个差值的绝对值,作为“how”这个词在待提取文本“howdoirefusetochosebetweendifferentthingstodoinmylife?”中的重要程度,以此类推,逐一分别计算得到待提取文本“howdoirefusetochosebetweendifferentthingstodoinmylife?”中“do”、“i”“refuse”、“to”、“chose”、“between”、“different”、“things”、“to”、“do”、“in”、“my”、“life”的重要程度。
步骤s105,根据各个所述被mask的词的所述重要程度从所述待提取文本中提取关键词。
在计算得到待提取文本中各个被mask的词在待提取文本中的重要程度之后,根据各个被mask的词在待提取文本中的重要程度,即可从各个被mask的词中选取对待提取文本的语义影响大的词,作为待提取文本的关键词进行提取。
在一些实施例中,步骤s105具体为:将各个所述被mask的词的所述重要程度进行排序;按照重要程度从大到小的顺序从各个被mask的词中选取预设数量的词作为待提取文本的关键词。
也即,对各个被mask的词在待提取文本中的重要程度进行排序,然后按照重要程度从大到小的顺序,从各个被mask的词中选取预设数量的词作为待提取文本的关键词,其中,预设数量可以根据实际情况进行灵活设置,比如预设数量为3,认为重要程度排在前3列的词是对待提取文本的语义影响大的词,就将重要程度排在前3列的词作为待提取文本的关键词提取出来。
相比于tfidf方法,上述实施例提供的关键词提取方法具有对不同文本的广泛适用性、对噪音数据的鲁棒性等优点,可以解决tfidf方法中文本量较少、文本类型分布不均所导致的idf值不准确的问题,同时因为不需要计算idf值从而可以减少计算时间,提升了关键词提取的响应速度。
在一些实施例中,步骤s101之前,需获得训练好的bert模型,具体地,步骤s101之前,包括:获取基于transformer的预训练bert模型;根据预设训练集对所述预训练bert模型进行训练,以对所述预训练bert模型的参数进行更新,得到训练好的bert模型。
首先通过预训练的方式学习得到基于transformer的预训练bert模型,然后根据预设训练集对预训练bert模型进行训练,其中,该预设训练集包括多个文本样本,从而对预训练bert模型的参数进行更新,直至bert模型收敛,得到训练好的bert模型。训练好的bert模型是一种端到端的语言模型,输入为文本,输出为文本对应的词向量,也就是说训练好的bert模型可以直接获取到文本的词向量,提升了获取文本词向量的便捷性。
上述实施例提供的关键词提取方法,首先获取待提取文本,分别对待提取文本的各个词进行mask,得到各个被mask的词对应的mask文本,然后采用训练好的bert模型分别提取待提取文本对应的第一词向量以及各个mask文本对应的第二词向量,再分别对第一词向量以及各个第二词向量进行降噪处理,得到降噪第一词向量以及各个降噪第二词向量,进一步根据第一词向量以及各个第二词向量,结合降噪第一词向量以及各个降噪第二词向量,确定各个被mask的词在所述待提取文本中的重要程度,最终根据各个被mask的词的重要程度从待提取文本中提取关键词。不同于tfidf方法,本申请通过对待提取文本的各个词进行mask,关注词的位置信息,因此利用bert模型提取待提取文本和mask文本的词向量时,能够抓取到词的位置特征,通过对词向量进行降噪,增强词向量的特征表达能力,避免依赖语料库来计算idf值降噪,就不会因为语料库本身的分布偏差而影响提取关键词的精度,从而提升了关键词提取的精确性。
请参照图4,图4为本申请实施例提供的一种关键词提取装置的示意性框图。
如图4所示,该关键词提取装置400,包括:mask模块401、词向量提取模块402、降噪模块403、确定模块404和关键词提取模块405。
mask模块401,用于获取待提取文本,分别对所述待提取文本的各个词进行掩膜mask,得到各个被mask的词对应的mask文本;
词向量提取模块402,用于采用训练好的双向注意力神经网络bert模型分别提取所述待提取文本对应的第一词向量以及各个所述mask文本对应的第二词向量;
降噪模块403,用于分别对所述第一词向量以及各个所述第二词向量进行降噪处理,得到降噪第一词向量以及各个降噪第二词向量;
确定404,用于根据所述第一词向量以及各个所述第二词向量,结合所述降噪第一词向量以及各个所述降噪第二词向量,确定各个所述被mask的词在所述待提取文本中的重要程度;
关键词提取模块405,用于根据各个所述被mask的词的所述重要程度从所述待提取文本中提取关键词。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块及单元的具体工作过程,可以参考前述关键词提取方法实施例中的对应过程,在此不再赘述。
上述实施例提供的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
请参阅图5,图5为本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是个人计算机(personalcomputer,pc)、服务器等具有数据处理功能的设备。
如图5所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种关键词提取方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种关键词提取方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取待提取文本,分别对所述待提取文本的各个词进行mask,得到各个被mask的词对应的mask文本;采用训练好的bert模型分别提取所述待提取文本对应的第一词向量以及各个所述mask文本对应的第二词向量;分别对所述第一词向量以及各个所述第二词向量进行降噪处理,得到降噪第一词向量以及各个降噪第二词向量;根据所述第一词向量以及各个所述第二词向量,结合所述降噪第一词向量以及各个所述降噪第二词向量,确定各个所述被mask的词在所述待提取文本中的重要程度;根据各个所述被mask的词的所述重要程度从所述待提取文本中提取关键词。
在一些实施例中,所述处理器实现所述根据所述第一词向量以及各个所述第二词向量,结合所述降噪第一词向量以及各个所述降噪第二词向量,确定各个所述被mask的词在所述待提取文本中的重要程度时,用于实现:
分别计算各个所述第二词向量与所述第一词向量之间的第一余弦相似度,以及分别计算各个所述降噪第二词向量与所述降噪第一词向量之间的第二余弦相似度;
根据各个所述第一余弦相似度和各个所述第二余弦相似度,计算各个所述被mask的词在所述待提取文本中的重要程度。
在一些实施例中,所述处理器实现所述采用训练好的bert模型分别提取所述待提取文本对应的第一词向量以及各个所述mask文本对应的第二词向量时,用于实现:
将所述待提取文本以及各个所述mask文本分别输入至所述训练好的bert模型中进行词嵌入操作,得到所述待提取文本对应的第一词嵌入向量以及各个所述mask文本对应的第二词嵌入向量,其中,所述第一词嵌入向量包括所述待提取文本的词、词的位置和句子信息,各个所述第二词嵌入向量包括各个所述mask文本的词、词的位置和句子信息;
将所述第一词嵌入向量和各个所述第二词嵌入向量分别输入至所述训练好的bert模型的transformer中进行编码以及解码操作,得到所述待提取文本对应的第一词向量以及各个所述mask文本对应的第二词向量。
在一些实施例中,所述处理器实现所述分别对所述第一词向量以及各个所述第二词向量进行降噪处理,得到降噪第一词向量以及各个降噪第二词向量时,用于实现:
分别对所述第一词向量以及各个所述第二词向量进行低通滤波处理,得到降噪第一词向量以及各个降噪第二词向量。
在一些实施例中,所述处理器实现所述根据各个所述第一余弦相似度和各个所述第二余弦相似度,计算各个所述被mask的词在所述待提取文本中的重要程度时,用于实现:
计算各个所述第一余弦相似度与各个所述第二余弦相似度之间的差值;
将计算的各个所述差值的绝对值作为各个所述被mask的词在所述待提取文本中的重要程度。
在一些实施例中,所述处理器实现所述根据各个所述被mask的词的所述重要程度从所述待提取文本中提取关键词时,用于实现:
将各个所述被mask的词的所述重要程度进行排序;
按照重要程度从大到小的顺序从各个被mask的词中选取预设数量的词作为待提取文本的关键词。
在一些实施例中,所述处理器实现所述所述获取待提取文本,分别对所述待提取文本的各个词进行掩码mask,得到各个被mask的词对应的mask文本之前,实现如下步骤:
获取基于transformer的预训练bert模型;
根据预设训练集对所述预训练bert模型进行训练,以对所述预训练bert模型的参数进行更新,得到训练好的bert模型。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本申请关键词提取方法的各个实施例。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
1.一种关键词提取方法,其特征在于,所述方法包括以下步骤:
获取待提取文本,分别对所述待提取文本的各个词进行掩膜mask,得到各个被mask的词对应的mask文本;
采用训练好的双向注意力神经网络bert模型分别提取所述待提取文本对应的第一词向量以及各个所述mask文本对应的第二词向量;
分别对所述第一词向量以及各个所述第二词向量进行降噪处理,得到降噪第一词向量以及各个降噪第二词向量;
根据所述第一词向量以及各个所述第二词向量,结合所述降噪第一词向量以及各个所述降噪第二词向量,确定各个所述被mask的词在所述待提取文本中的重要程度;
根据各个所述被mask的词的所述重要程度从所述待提取文本中提取关键词。
2.根据权利要求1所述的关键词提取方法,其特征在于,所述根据所述第一词向量以及各个所述第二词向量,结合所述降噪第一词向量以及各个所述降噪第二词向量,确定各个所述被mask的词在所述待提取文本中的重要程度,包括:
分别计算各个所述第二词向量与所述第一词向量之间的第一余弦相似度,以及分别计算各个所述降噪第二词向量与所述降噪第一词向量之间的第二余弦相似度;
根据各个所述第一余弦相似度和各个所述第二余弦相似度,计算各个所述被mask的词在所述待提取文本中的重要程度。
3.根据权利要求1所述的关键词提取方法,其特征在于,所述采用训练好的bert模型分别提取所述待提取文本对应的第一词向量以及各个所述mask文本对应的第二词向量,包括:
将所述待提取文本以及各个所述mask文本分别输入至所述训练好的bert模型中进行词嵌入操作,得到所述待提取文本对应的第一词嵌入向量以及各个所述mask文本对应的第二词嵌入向量,其中,所述第一词嵌入向量包括所述待提取文本的词、词的位置和句子信息,各个所述第二词嵌入向量包括各个所述mask文本的词、词的位置和句子信息;
将所述第一词嵌入向量和各个所述第二词嵌入向量分别输入至所述训练好的bert模型的transformer中进行编码以及解码操作,得到所述待提取文本对应的第一词向量以及各个所述mask文本对应的第二词向量。
4.根据权利要求1所述的关键词提取方法,其特征在于,所述分别对所述第一词向量以及各个所述第二词向量进行降噪处理,得到降噪第一词向量以及各个降噪第二词向量,包括:
分别对所述第一词向量以及各个所述第二词向量进行低通滤波处理,得到降噪第一词向量以及各个降噪第二词向量。
5.根据权利要求2所述的关键词提取方法,其特征在于,所述根据各个所述第一余弦相似度和各个所述第二余弦相似度,计算各个所述被mask的词在所述待提取文本中的重要程度,包括:
计算各个所述第一余弦相似度与各个所述第二余弦相似度之间的差值;
将计算的各个所述差值的绝对值作为各个所述被mask的词在所述待提取文本中的重要程度。
6.根据权利要求1所述的关键词提取方法,其特征在于,所述根据各个所述被mask的词的所述重要程度从所述待提取文本中提取关键词,包括:
将各个所述被mask的词的所述重要程度进行排序;
按照重要程度从大到小的顺序从各个被mask的词中选取预设数量的词作为待提取文本的关键词。
7.根据权利要求1所述的关键词提取方法,其特征在于,所述获取待提取文本,分别对所述待提取文本的各个词进行掩码mask,得到各个被mask的词对应的mask文本之前,包括:
获取基于transformer的预训练bert模型;
根据预设训练集对所述预训练bert模型进行训练,以对所述预训练bert模型的参数进行更新,得到训练好的bert模型。
8.一种关键词提取装置,其特征在于,所述关键词提取装置包括:
mask模块,用于获取待提取文本,分别对所述待提取文本的各个词进行mask,得到各个被mask的词对应的mask文本;
词向量提取模块,用于采用训练好的bert模型分别提取所述待提取文本对应的第一词向量以及各个所述mask文本对应的第二词向量;
降噪模块,用于分别对所述第一词向量以及各个所述第二词向量进行降噪处理,得到降噪第一词向量以及各个降噪第二词向量;
确定模块,用于根据所述第一词向量以及各个所述第二词向量,结合所述降噪第一词向量以及各个所述降噪第二词向量,确定各个所述被mask的词在所述待提取文本中的重要程度;
关键词提取模块,用于根据各个所述被mask的词的所述重要程度从所述待提取文本中提取关键词。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如权利要求1至7中任一项所述的关键词提取方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如权利要求1至7中任一项所述的关键词提取方法的步骤。
技术总结