对象的关键词提取方法及装置

文档序号:1953441 发布日期:2021-12-10 浏览:12次 >En<

阅读说明:本技术 对象的关键词提取方法及装置 (Object keyword extraction method and device ) 是由 王艳花 张晓辉 李志鹏 李瑶 张光宇 于 2020-09-03 设计创作,主要内容包括:本申请实施例提供一种对象的关键词提取方法及装置,该方法包括:获取第一对象对应的文本信息,文本信息用于描述第一对象。根据文本信息,确定第一对象对应的多个候选关键词。根据多个候选关键词的相似度及候选关键词为关键词的概率,在多个候选关键词中确定第一对象的至少一个关键词。通过文本信息确定第一对象所对应的多个候选关键词,能够实现快速高效的实现从文本信息中自动的提取候选关键词,并且根据多个候选关键词的相速度以及候选关键词为关键词的概率,对候选关键词进行过滤,能够保证最终确定的第一对象的关键词的准确性。(The embodiment of the application provides a method and a device for extracting keywords of an object, wherein the method comprises the following steps: and acquiring text information corresponding to the first object, wherein the text information is used for describing the first object. And determining a plurality of candidate keywords corresponding to the first object according to the text information. And determining at least one keyword of the first object in the candidate keywords according to the similarity of the candidate keywords and the probability of the candidate keywords as the keywords. The candidate keywords corresponding to the first object are determined through the text information, the candidate keywords can be automatically extracted from the text information quickly and efficiently, the candidate keywords are filtered according to the phase velocities of the candidate keywords and the probability that the candidate keywords are the keywords, and the accuracy of the finally determined keywords of the first object can be guaranteed.)

对象的关键词提取方法及装置

技术领域

本申请实施例涉及计算机技术领域,尤其涉及一种对象的关键词提取方法及装置。

背景技术

目前,网络购物已经成为了一种非常重要的购物方式,通常可以在图形用户界面上提供商品的关键词,以便于用户快速了解商品的特点。

其中,对商品的关键词的提取就显得尤为重要,目前现有技术中在提取商品的关键词时,通常是接收卖家所提交的商品的关键词,并对提交的关键词进行人工审核,将审核通过的关键词作为待显示的关键词。

然而,依赖于人工提交以获取商品的关键词的实现方式,会导致获取关键词的操作效率低下。

发明内容

本申请实施例提供一种对象的关键词提取方法及装置,以克服获取关键词的操作效率低下的问题。

第一方面,本申请实施例提供一种对象的关键词提取方法,包括:

获取第一对象对应的文本信息,所述文本信息用于描述所述第一对象;

根据所述文本信息,确定所述第一对象对应的多个候选关键词;

根据所述多个候选关键词的相似度及所述候选关键词为关键词的概率,在所述多个候选关键词中确定所述第一对象的至少一个关键词。

在一种可能的设计中,根据所述文本信息,确定所述第一对象对应的多个候选关键词,包括:

通过第一模型对所述文本信息进行处理,得到所述多个候选关键词;

其中,所述第一模型为对多组样本学习得到的,每组样本包括样本文本信息和样本候选关键词,所述多组样本为第二模型生成得到的。

在一种可能的设计中,所述第二模型生成所述多组样本的过程包括:

获取所述样本文本信息;

通过所述第二模型对所述样本文本信息进行分词处理,得到多个样本词汇和每个样本词汇为关键词的概率;

根据每个样本词汇为关键词的概率,在所述多个样本词汇中确定样本候选关键词,所述样本候选关键词为关键词的概率大于第一阈值。

在一种可能的设计中,根据所述多个候选关键词的相似度及所述候选关键词为关键词的概率,在所述多个候选关键词中确定所述第一对象的至少一个关键词,包括:

针对所述多个候选关键词中的每两个候选关键词,判断所述两个候选关键词之间的相似度是否大于预设阈值;

若是,则根据所述两个候选关键词各自为关键词的概率,将所述两个候选关键词合并为一个关键词;

若否,则将所述两个候选关键词均确定为所述第一对象的关键词。

在一种可能的设计中,根据所述两个候选关键词各自为关键词的概率,将所述两个候选关键词合并为一个关键词,包括:

将所述两个候选关键词合并为目标关键词,其中,所述目标关键词是两个候选关键词中为关键词的概率较大的关键词。

在一种可能的设计中,根据所述文本信息,确定所述第一对象对应的多个候选关键词,包括:

对所述文本信息进行分句处理,得到多个短句;

通过二分类模型确定各所述短句中是否包括关键词,将包括关键词的短句确定为目标短句,以得到至少一个目标短句;

对各所述目标短句进行分词处理,得到多个第一词汇;

对所述第一词汇进行停用词过滤处理,得到多个第二词汇;

对所述多个第二词汇进行关键词预测处理,得到所述多个候选关键词。

在一种可能的设计中,所述第一模型为指针生成网络;

所述指针生成网络的输出层包括生成概率,所述生成概率用于指示所述每个时间步的解码器的下一个输出词是来自于预设词表的概率;以及

所述指针生成网络的注意力分布函数中包括覆盖因子。

在一种可能的设计中,所述文本信息包括如下至少一种:

所述第一对象对应的网络数据,所述网络数据中包括所述第一对象的描述信息;

所述第一对象对应的详情页面中的数据,所述详情页面为介绍所述第一对象的网络页面。

第二方面,本申请实施例提供一种对象的关键词提取装置,包括:

获取模块,用于获取第一对象对应的文本信息,所述文本信息用于描述所述第一对象;

确定模块,用于根据所述文本信息,确定所述第一对象对应的多个候选关键词;

所述确定模块,还用于根据所述多个候选关键词的相似度及所述候选关键词为关键词的概率,在所述多个候选关键词中确定所述第一对象的至少一个关键词。

在一种可能的设计中,所述确定模块具体用于:

通过第一模型对所述文本信息进行处理,得到所述多个候选关键词;

其中,所述第一模型为对多组样本学习得到的,每组样本包括样本文本信息和样本候选关键词,所述多组样本为第二模型生成得到的。

在一种可能的设计中,所述第二模型生成所述多组样本的过程包括:

获取所述样本文本信息;

通过所述第二模型对所述样本文本信息进行分词处理,得到多个样本词汇和每个样本词汇为关键词的概率;

根据每个样本词汇为关键词的概率,在所述多个样本词汇中确定样本候选关键词,所述样本候选关键词为关键词的概率大于第一阈值。

在一种可能的设计中,所述确定模块具体用于:

针对所述多个候选关键词中的每两个候选关键词,判断所述两个候选关键词之间的相似度是否大于预设阈值;

若是,则根据所述两个候选关键词各自为关键词的概率,将所述两个候选关键词合并为一个关键词;

若否,则将所述两个候选关键词均确定为所述第一对象的关键词。

在一种可能的设计中,所述确定模块具体用于:

将所述两个候选关键词合并为目标关键词,其中,所述目标关键词是两个候选关键词中为关键词的概率较大的关键词。

在一种可能的设计中,所述确定模块具体用于:

对所述文本信息进行分句处理,得到多个短句;

通过二分类模型确定各所述短句中是否包括关键词,将包括关键词的短句确定为目标短句,以得到至少一个目标短句;

对各所述目标短句进行分词处理,得到多个第一词汇;

对所述第一词汇进行停用词过滤处理,得到多个第二词汇;

对所述多个第二词汇进行关键词预测处理,得到所述多个候选关键词。

在一种可能的设计中,所述第一模型为指针生成网络;

所述指针生成网络的输出层包括生成概率,所述生成概率用于指示所述每个时间步的解码器的下一个输出词是来自于预设词表的概率;以及

所述指针生成网络的注意力分布函数中包括覆盖因子。

在一种可能的设计中,所述文本信息包括如下至少一种:

所述第一对象对应的网络数据,所述网络数据中包括所述第一对象的描述信息;

所述第一对象对应的详情页面中的数据,所述详情页面为介绍所述第一对象的网络页面。

第三方面,本申请实施例提供一种对象的关键词提取设备,包括:

存储器,用于存储程序;

处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。

第四方面,本申请实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。

本申请实施例提供一种对象的关键词提取方法及装置,该方法包括:获取第一对象对应的文本信息,文本信息用于描述第一对象。根据文本信息,确定第一对象对应的多个候选关键词。根据多个候选关键词的相似度及候选关键词为关键词的概率,在多个候选关键词中确定第一对象的至少一个关键词。通过文本信息确定第一对象所对应的多个候选关键词,能够实现快速高效的实现从文本信息中自动的提取候选关键词,并且根据多个候选关键词的相速度以及候选关键词为关键词的概率,对候选关键词进行过滤,能够保证最终确定的第一对象的关键词的准确性。

附图说明

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

图1为本申请提供的关键词的示意图;

图2为本申请一实施例提供的对象的关键词提取方法的流程图;

图3为本申请实施例提供的对象的关键词提取方法的流程图;

图4为本申请实施例提供的第一模型的网络结构示意图;

图5为本申请再一实施例提供的对象的关键词提取方法的流程图;

图6为本申请实施例提供的对象的关键词提取的流程单元示意图;

图7为本申请实施例提供的提取的关键字的示意图;

图8为本申请实施例提供的对象的关键词提取装置的结构示意图;

图9为本申请实施例提供的对象的关键词提取设备的硬件结构示意图。

具体实施方式

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

为了便于理解,首先,对本申请所涉及的相关概念进行解释:

seq2seq生成网络:序列到序列(Sequence to Sequence,seq2seq)生成网络是为了解决传统深度神经网络(Deep Neural Network,DNNs)无法完成的序列到序列的生成问题,以序列结构最小化的假设为前提的端对端生成方法,seq2seq生成网络可以使用多层长短期记忆网络(Long Short-Term Memory,LSTM)将输入序列编码为中间向量,使用另一个深度LSTM将中间向量解码为目标序列。

oov:不在词库(Out-of-vocabulary,oov)是指在自然语言处理或者文本处理的时候,通常会有一个字词库(vocabulary),这个vocabulary可以是提前加载的,或者是自定义的,或者是从当前的第一数据集提取的,假设之后有了另一个第二数据集,这个第二数据集中有一些词并不在现有的vocabulary里,则可以称这些词汇是Out-of-vocabulary,简称OOV。

指针生成网络:指针生成网络(Pointer-generator network)是一种用于摘要提取的生成模型,针对传统的序列到序列的模型,从两个方面进行了改进,通过引入Pointer使模型有从源文本中复制单词的能力,同时保留生成器产生新词的能力;通过使用covarage机制来记录已经生成过的内容,从而防止重复生成相同的词。

LSTM:长短期记忆网络(Long Short-Term Memory,LSTM)是具有长期记忆能力的一种时间递归神经网络,重要组成部分包括Forget Gate、Input Gate和Output Gate,分别负责决定当前输入是否被采纳,是否被长期记忆以及决定在记忆中的输入是否在当前被输出,使用该模型能够更好的捕捉较长句子之间的依赖关系。

超参数:在机器学习的上下文中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。

莱文斯坦比距离(Levenshtein distance):又称编辑距离,用来度量两个字符串序列的相似度,简单说就是计算一个字符串通过增加,删除,替换操作变成另一个字符串所需要的最小编辑次数。

N-Gram语言模型:是一种基于统计语言模型的算法,该模型基于一种假设,句子中第N个词的出现只和前面N-1个词相关,整句的概率就是各个词出现的概率的乘积,即

p(w1,w2,...,wm)=p(w1)*p(w2|w1)*p(w3|w1,w2)......p(wm|w1,...,wm-1),

考虑到效果和时间空间开销的权衡,只考虑到和当前词最近的n个词作为相关词,得到Uni-Gram model一元模型,Bi-Gram model二元模型,和Tri-Gram三元的模型,其常见应用用于计算句子的合理程度。

下面对本申请所涉及的技术背景进行进一步的详细介绍:

目前,随着网络购物的不断发展,用户的购物体验也需要进行相应的提升,当用户通过终端设备浏览商品的时候,若直接将过长的商品介绍提供给用户,会导致用户难以及时的确定商品的特点,同时终端设备中的图形用户界面中的空间也是有限的,因此可以在图形用户界面中提供商品的关键词,以使得用户可以快速确定商品的特点。

其中商品的关键词的显示方式例如可以如图1所示,图1为本申请提供的关键词的示意图。

参见图1,假设当前用户通过终端设备在浏览“手机”商品,当前终端设备的图形用户界面上提供了商品A和商品B的信息,该信息中可以包括商品的关键词,例如商品A的关键词为101所示意的“支持无线充电”和“人脸识别”,以及例如商品B的关键词为102所示意的“超长续航”、“震撼大音量”和“AI人脸识别”。

基于图1的介绍可以理解的是,商品的关键词可以用于指示商品的特点。

目前,现有技术中在提取卖点时,在一种可能的实现方式中,可以接收卖家所提交的商品的关键词,并对提交的关键词进行人工审核,将审核通过的关键词作为待显示的关键词。

然而,依赖于人工上报的方式,会导致获取关键词的操作效率低下,并且商家提报的关键词覆盖的商品类目以及存货单元(Stock Keeping Unit,sku)的数量较少,无法支持多应用方的调用,从而会导致平台资源的浪费,以及部分应用方通过邮件的形式接收卖家提交的关键词,会导致平台中无法及时更新商品的关键词。

在另一种可能的实现方式中,可以基于seq2seq生成网络进行关键词的生成。

例如seq2seq生成网络可以进行如下步骤:数据抽取、数据标注、数据预处理、模型训练、关键词生成。

其中,数据抽取可以获取包括关键词的数据源,数据标注可以通过人工标注的方式对数据源中的关键词进行标注,数据预处理例如可以进行分词、停用词过滤等操作,以及模型训练部分可以将数据集划分为训练集和验证集,并根据数据集对seq2seq生成网络进行训练,得到训练后的模型,关键词生成用于将数据源输入至训练后的模型,以得到提取的关键词。

然而,seq2seq生成网络中编码和解码之间的唯一联系就是一个固定长度的语义向量,也就是说,编码器要将整个序列的信息压缩进一个固定长度的向量中去。

因此seq2seq生成网络存在两个弊端,一是语义向量无法完全表示整个序列的信息,二是先输入的内容携带的信息会被后输入的信息稀释掉。输入序列越长,信息被稀释的现象就越严重,信息被稀释会导致在解码的时候没有获得输入序列足够的信息,因此解码时的准确率会降低,并且seq2seq生成网络依赖于目标词典,因此无法处理词汇不足的oov的问题,且容易生成重复的词。

也就是说,基于seq2seq生成网络提取关键词存在以下两个问题:第一个是提取的关键词不是原文本中的词汇,例如当前提取了“干燥节能”的关键词,但是“干燥节能”并不是原文本中的词汇;另一个是提取的关键词存在重复,例如提取了“舒适舒适”的关键词。

基于现有技术中的问题,本申请提供了一种对象的关键词提取方法,通过第一模型对原文本进行处理,以实现快速高效的提取对象的关键词,并且第一模型中通过增添生成概率和覆盖因子,从而能够有效解决现有技术中提取的关键词不是原文本中的词汇和提取的关键词重复的问题。

下面结合具体的实施例对本申请提供的对象的关键词提取方法进行详细介绍,首先结合图2进行说明,图2为本申请一实施例提供的对象的关键词提取方法的流程图,图2实施例的执行主体例如可以为服务器,或者还可以为处理器等,凡是可以用于数据处理的设备,均可以作为本实施例的执行主体。

如图2所示,该方法包括:

S201、获取第一对象对应的文本信息,文本信息用于描述第一对象。

在本实施例中,第一对象可以为待提取关键词的对象,例如第一对象可以为购物平台中的商品,或者在其余可能的实现方式中,第一对象还可以为实体的对象等,本实施例对第一对象的具体实现方式不做限制,凡是可以提取关键词的对象均可以作为本实施例中的第一对象。

其中,第一对象对应的文本信息是用于描述第一对象的,下面以第一对象是商品为例,对第一对象对应的文本信息进行说明,在一种可能的实现方式中,文本信息可以包括如下中的至少一种:第一对象对应的网络数据、第一个的详情页面中的数据,其中网络数据例如可以包括商品标题、达人文章、优质评论等,详情页面中的数据例如可以包括商品详情信息。

其中,商品详情信息例如可以是采用光学字符识别(Optical CharacterRecognition,ocr)技术从商品详情页面的图片中识别出的文本数据。

在其余可能的实现方式中,文本信息还可以包括任意的用于描述第一对象的信息,本实施例对文本信息的具体实现方式不做限制。

S202、根据文本信息,确定第一对象对应的多个候选关键词。

在本实施例中,文本信息用于描述第一对象,则在文本信息中可以包括第一对象所对应的至少一个关键词,因此可以根据文本信息确定第一对象对应的多个候选关键词。

在一种可能的实现方式中,可以通过第一模型对文本信息进行处理,以实现从文本信息中提取多个候选关键词,其中第一模型为用于从文本信息中提取关键词的模型,其中,第一模型为对多组样本学习得到的,每组样本包括样本文本信息和样本候选关键词。

因此本实施例中基于第一模型对文本信息进行处理,能够有效的实现从文本信息中快速高效的提取多个候选关键词。

在另一种可能的实现中,可以对文本信息进行分词处理,并判断分词后的各个词是否为关键词,从而在文本信息中提取多个候选关键词。

在本实施例中,当第一对象为商品时,第一对象的关键词例如可以理解为商品的卖点。

S203、根据多个候选关键词的相似度及候选关键词为关键词的概率,在多个候选关键词中确定第一对象的至少一个关键词。

可以理解的是,上述步骤S202中获取的关键词是候选关键词,还需要进行进一步的筛选,例如多个候选关键词中存在相似度较高的词,比如“超长续航”和“超长待机”的相似度比较高,则可以在两个相似度较高的候选关键词中选择一个作为第一对象的关键词。

在一种可能的实现方式中,可以获取多个候选关键词中任意两个候选关键词之间的相似度,若存在相似度大于预设阈值的两个候选关键词,则可以将这两个候选关键词进行合并,例如可以在计算两个候选关键词为关键词的概率,并将两个候选关键词合并为概率较高的关键词。

针对任意两个候选关键词均执行上述操作,从而实现在候选关键词中确定对象的至少一个关键词。

在一种可能的实现方式中,本实施例中在得到第一对象的至少一个关键词之后,可以将至少一个关键词提供在图形用户界面中第一对象所对应的位置上,以使得用户可以快速获取到第一对象的关键词,从而快速高效的了解第一对象的特点。

本申请实施例提供的对象的关键词提取方法,包括:获取第一对象对应的文本信息,文本信息用于描述第一对象。根据文本信息,确定第一对象对应的多个候选关键词。根据多个候选关键词的相似度及候选关键词为关键词的概率,在多个候选关键词中确定第一对象的至少一个关键词。通过文本信息确定第一对象所对应的多个候选关键词,能够实现快速高效的实现从文本信息中自动的提取候选关键词,并且根据多个候选关键词的相速度以及候选关键词为关键词的概率,对候选关键词进行过滤,能够保证最终确定的第一对象的关键词的准确性。

在上述实施例的基础上,下面对本申请提供的对象的关键词提取方法进行进一步的详细说明,图3为本申请实施例提供的对象的关键词提取方法的流程图,图4为本申请实施例提供的第一模型的网络结构示意图。

如图3所示,该方法包括:

S301、获取第一对象对应的文本信息,文本信息用于描述第一对象。

其中,S301的实现方式与S201相同,此处不再赘述。

S302、对文本信息进行分句处理,得到多个短句。

其中,对文本信息进行分句处理的实现方式例如可以为,获取文本信息中的标点符号,按照标点符号将文本信息进行分句,得到多个短句。

例如当前存在如下的文本信息“壁挂式空调不占用下层居室空间,是小户型家庭欢迎的款式,支持4种睡眠模式,迎合不同人群的睡眠要求,保障家人充分的休息,蒸发器自洁技术巧妙利用冷凝水解决机内灰尘问题,带来清洁空气。”

则将上述文本信息进行分句处理,例如可以得到如下多个短句:“壁挂式空调不占用下层居室空间”、“是小户型家庭欢迎的款式”、“支持4种睡眠模式”、“迎合不同人群的睡眠要求”、“保障家人充分的休息”、“蒸发器自洁技术巧妙利用冷凝水解决机内灰尘问题”、“带来清洁空气”。

在其余可能的实现方式中,可以采用任意的分句算法对文本信息进行分句处理,此处对分句处理的具体实现不做特别限制,只要可以实现将文本信息划分为多个短句即可。

S303、通过二分类模型确定各短句中是否包括关键词,将包括关键词的短句确定为目标短句,以得到至少一个目标短句。

在本实施例中,为了提升操作效率,可以通过二分类模型对多个短句进行初步的筛选。

例如可以通过二分类模型确定各个短句中是否包括关键词,将不包括关键词的短句筛除掉,不进行后续的处理,将包括关键词的短句确定为目标短句,从而得到至少一个目标短句,后续只针对目标短句进行处理,能够有效提升关键词提取的操作效率。

在本实施例中,二分类模型是根据样本关键词训练后的模型,因此本实施例中的二分类模型可以确定短句中是否包括关键词,其中二分类模型的输入是短句,输出是短句是否包括关键词。

在实际实现过程中,二分类模型的详细实现可以根据实际需求进行选择,只要二分类模型可以输出短句中是否包括关键词即可。

S304、对目标短句进行分词处理,得到多个第一词汇。

S305、对第一词汇进行停用词过滤处理,得到多个第二词汇。

下面对S304和S305一起进行介绍:

在本实施例中,目标短句为二分类模型确定的包括关键词的短句,因此可以对目标短句进行分词处理,从而得到多个第一词汇。

其中分词处理的具体实现可以根据实际需求进行选择,例如可以根据分词算法对目标短句进行分词处理,从而得到多个第一词汇,其中的分词算法例如可以为如下中的任一种:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法,本实施例对分词处理的具体实现不做限制。

在得到多个第一词汇之后,可以对第一词汇进行停用词过滤处理,其中停用词例如可以包括“的”、“在”、“和”、“接着”等没有实际含义的词,或者停用词还可以包括“我”、“就”等使用十分频繁的词,将第一词汇中的停用词进行过滤,以得到多个第二词汇。

在一种可能的实现方式中,可以预先确定有停用词表,从而根据停用词表对第一词汇进行停用词过滤处理。

S306、对多个第二词汇进行关键词预测处理,得到多个候选关键词。

其中,关键词预测处理可以根据多个第二词汇得到候选关键词。

在一种可能的实现方式中,可以根据指针生成网络(Pointer-GeneratorNetworks)生成候选关键词,例如可以将文本信息输入指针生成网络,以得到多个候选关键词,下面结合图4对本实施例中的指针生成网络的网络结构进行介绍。

如图4所示,可以将文本信息中的字符逐个输送到编码器(encoder)中,从而产生一系列的编码器隐藏状态hi,其中hi参与到注意力系数的计算,其中编码器例如可以为单层双向的lstm。

在每轮处理中,解码器(decoder)端的输出状态st也将参与注意力系数的计算,例如可以通过解码器的输出状态st和编码器隐藏状态hi计算得出注意力系数,其中解码器例如可以为单层双向的lstm。

基于上述介绍的内容可以确定的是,目前的seq2seq生成网络存在两个问题:

1)提取的关键词不是原文本中的词汇

例如原句分词后为['干燥','除尘','有效','减少','您','的','清洁','烦恼']

seq2seq生成网络提取的关键词可能为:干燥节能,这个关键词并不是原句中的词汇,而是词表中任意一个词,从而导致生成的关键词缺乏准确定。

2)提取的关键词存在重复

例如原句分词后为:[‘加厚’,‘的’,‘设计’,‘触感’,舒适]

seq2seq生成网络提取的卖点可能为:舒适舒适,因此生成的关键词存在重复。

针对上述的第一个“提取的关键词不是原文本中的词汇”的问题,本实施例中的指针网络在输出层加入生成概率Pgen

其中生成概率Pgen用来确定在每个时间步解码器的下一个输出词来自源文本(Source Text)还是词汇表(Vocabulary的)概率,这样当遇到oov问题时,可以直接从原句中进行copy作为输出,以避免出现提取的关键词不是原文本中的词汇的问题。

其中,生成概率Pgen例如可以满足如下公式一:

其中,Pgen为生成概率,表示由输入层的状态、解码层的状态和解码层的输入向量计算得到的概率值,其中概率值表示下一个输出从词表获取的概率,均为超参数,st为进行平衡的系数,代表从原句中拷贝得到当前时刻的词汇输出或者预定义词表的词汇输出,xt为当前解码器的输入向量,σ为sigmoid函数。

最终的词汇输出为P(w),其中,P(w)可以满足如下公式二:

其中,pvocab(w)表示当前解码器的输出为词表中某个词的概率,表示当前解码器的输出为原句中某个词的概率。

那么,若当前时刻的词汇未在原文中出现过,则为0,若当前时刻的词汇在预定义词表中是一没有记录的词,则pvocab(w)为0。

通过在指针生成网络的输出层加入生成概率Pgen,从而可以有效解决提取的关键词不是原文本中的词汇的问题,例如上述示例中,可以提取到正确的关键词为:干燥除尘,其是原文中的词汇。

针对上述的第二个“提取的关键词存在重复”的问题,本实施例中的指针网络在注意力分布函数中引入覆盖因子,该覆盖因子是由当前时间步t前面的所有时间步解码器层的注意力机制之和构成,目的是为了避免关注之前已经关注过的词,其中覆盖因子例如可以满足如下公式三:

其中,ct为覆盖向量,用于计算在第t个时间步之前的0到t-1步,已经关注过的词,在t时间步避免进行再次关注,从而解决输出结果中有重复的词的问题,其中,将已经关注过的信息作为输入直接加入到输入端的注意力机制中,从而能够引导对原始文本的关注。

在引入覆盖因子之后,新的编码器端的注意力权重的计算方式可以进行对应的调整,其中新的编码器端的注意力权重可以满足如下公式四:

其中,Wh、WS、Wc是需要学习的参数,tanh是双曲函数,hi为编码器端的当前时间点的隐藏状态,st为解码器端输出的上一个时间点的隐藏状态,为第t个时间步,第i个词的覆盖向量,battn为需要学习的偏置参数,vT为需要学习的参数。

通过引入覆盖因子,能够有效避免关注之前已经关注过的词,以避免出现提取的关键词存在重复的问题,例如上述示例中,可以提取到正确的关键词为:触感舒适,避免了提取的关键词重复。

S307、针对多个候选关键词中的每两个候选关键词,判断两个候选关键词之间的相似度是否大于预设阈值,若是,则执行S308,若否,则执行S309。

在得到多个候选关键词之后,因为部分候选关键词非常相似,因此可以根据多个候选关键词的相似度对候选关键词进行筛选,在一种可能的实现方式中,例如可以针对多个候选关键词中每两个候选关键词,计算这两个候选关键词之间的相似度,并判断相似度是否大于预设阈值。

下面对计算两个候选关键词之间的相似度的一种可能的实现方式进行介绍:

例如可以按照如下公式五计算相似度:

相似度=(莱文斯坦比+Jaro-Winkler距离+最长公共子串+编辑距离)/4

公式五

其中,莱文斯坦比可以满足如下公式六:

其中,假设计算字符串a和字符串b的相似度,similarity为莱文斯坦比,sum是字符串a和字符串b的总长度,ldist是类编辑距离,在类编辑距离中删除、插入依然+1,但是替换+2。

此处进行举例说明:例如a='我',b='你',编辑距离为1,计算相似度的话为0.5,显然不合适,莱文斯坦比计算相似度为0。

Jaro-Winkler距离可以满足如下公式七:

dw=dj+lp(1-dj) 公式七

其中,p为用来调整前缀匹配的因子,l用于表示前缀匹配的长度,dw为最终的相似计算距离,其中,Jaro-Winkler算法给与起始部分相同的字符串更高的分数,因此定义了p和l,其中dj满足如下公式八:

其中,s1和s2为需要对比的两个字符串,m为s1和s2的匹配长度,t为换位的数目,dj是最后的得分。

换位数目需要根据匹配窗口值来确定,当两个字符的距离小于匹配窗口值时,则认为两个字符是匹配的,但位置不一样则需要换位。

其中,匹配窗口值可以满足如下公式九:

其中,MW为匹配窗口值,MAX为取最大值的函数。

此处进行举例说明:例如一组字符串AECFR和AMECFDR,MW=2.5,m=5,匹配的字符串A-E-C-F-R在两个字符串中有顺序,所以不需要进行换位,t=0。

最长公共子串可以满足如下公式十:

其中,avg为用于求平均值的函数。

编辑距离可以满足如下公式十一:

在本实施例中,相似度对应的预设阈值可以根据实际需求进行设置,本实施例对此不做特别限制。

S308、根据两个候选关键词各自为关键词的概率,将两个候选关键词合并为一个关键词。

在一种可能的实现方式中,若两个候选关键词之间的相似度大于预设阈值,则可以确定两个候选关键词各自为关键词的概率,例如当前存在“超长续航”和“超长待机”两个候选关键词。

则可以确定“超长续航”为关键词的概率,以及确定“超长待机”为关键词的概率,并根据两个候选关键词的概率,将两个候选关键词合并为一个关键词。

在一种可能的实现方式中,可以将两个候选关键词合并为目标关键词,其中,目标关键词是两个候选关键词中为关键词的概率较大的关键词。

例如“超长续航”为关键词的概率是98%,“超长待机”为关键词的概率为87%,则可以将“超长续航”和“超长待机”两个候选关键词合并为“超长续航”,从而得到关键词:超长续航。

其中,确定候选关键词的概率的实现方式例如可以为,通过N-Gram语言模型对候选关键词进行处理,以得到候选关键词为关键词的概率。

在其余可能的实现方式中,例如还可以在两个候选关键词中任意选择一个作为目标关键词。

S309、将两个候选关键词均确定为第一对象的关键词。

在另一种可能的实现方式中,若两个候选关键词之间的相似度不大于预设阈值,则可以确定两个候选关键词之间并不相似,此时无需进行合并操作,则可以将两个候选关键词均确定为第一对象的关键词。

本申请实施例提供的对象的关键词提取方法,通过指针生成网络,在文本信息中确定第一对象对应的多个候选词,其中在指针生成网络中引入生成概率,能够有效避免提取的关键词不是原文中的词汇,以及在指针生成网络中引入覆盖因子,从而有效避了提取的关键词出现重复的问题,以有效保证了提取的关键词的正确性。并且通过确定每两个候选关键词之间的相似度,可以将相似的候选关键词进行合并,以实现最终确定的第一对象的关键词的简约性和准确性。

在上述实施例的基础上,在通过第一模型对文本信息进行处理之前,还需要对第一模型进行训练,以使得第一模型可以实现根据文本信息输出候选关键词,可以理解的是,第一模型的训练需要样本训练数据,在本实施例的一种可能的实现方式中,可以采用第二模型生成多组样本,下面结合具体的实施例对本申请中根据第二模型生成多组样本的实现方式进行介绍:

图5为本申请再一实施例提供的对象的关键词提取方法的流程图。

如图5所示,该方法包括:

S501、获取样本文本信息。

在本实施例中,样本文本信息与上述介绍的文本信息类似,不同之处在于,上述的文本信息是用于直接提取关键词的,本实施例中的样本文本信息是用于生成训练数据的。

S502、通过第二模型对样本文本信息进行分词处理,得到多个样本词汇和每个样本词汇为关键词的概率。

在本实施例中,第二模型例如可以为N-Gram语言模型,其中,N-Gram语言模型可以以样本文本信息作为输入,输出多个样本词汇以及各个样本词汇为关键词的概率。

在根据N-Gram语言模型得到样本词汇和概率之前,首先要对N-Gram语言模型进行训练,例如可以基于已有关键词数据对N-Gram模型进行训练,得到训练后的N-Gram模型,从而使得N-Gram模型可以输出样本词汇和样本词汇为关键词的概率。

在对N-Gram模型训练完成之后,可以首先对样本文本信息进行分词处理及停用词处理,其实现方式与上述介绍的类似,此处不再赘述。

接着可以生成关键词候选短语,因为第一对象的关键词的长度通常是3-7个字,因此N-Gram中N可以选取1,2,3即可,从而生成1-gram,2-gram,3-gram短语,例如当前存在“一键”、“自动”、“清洗”,则生成的1-gram短语例如可以包括“一键”、“自动”、“清洗”,生成的2-gram短语例如可以包括“一键自动”、“自动清洗”,生成的3-gram短语例如可以包括“一键自动清洗”。

在本实施例中,关键词候选短语即可以作为样本词汇,接着可以基于已经训练的N-Gram模型对各个关键词候选短语进行打分,从而得到每个样本词汇为关键词的概率。

其中,基于N-Gram模型对短语打分生成关键词的思想是,基于已有关键词训练数据中统计出的短语组合的概率,来推断新的短句为关键词的合理性概率,概率越高表明是关键词的可能性越大。

例如:对‘一键自动清洗’这个短语是关键词的概率的计算方式如下:其中<s>表示开始,</s>表示结束。

P(‘一键自动清洗’)=p(一键|<s>)*p(自动|一键)*p(清洗|自动)*p(</s>|清洗)

通常,由于概率值均小于1,为了避免连乘导致分数越来越小,需要对两边取log,变成相加,如下:

log(P(‘一键自动清洗’))=log(p(一键|<s>))+log(p(自动|一键))+log(p(清洗|自动))+log(p(</s>|清洗))

因此,计算某个短语为关键词的概率的实现方式可以满足如下公式十二:

其中,C(wi-1,wi)表示词wi-1和wi在样本文本信息中一起出现的次数,C(wi-1)表示词wi-1出现的总次数,P(wi|wi-1)表示词wi为关键词的概率。

S503、根据每个样本词汇为关键词的概率,在多个样本词汇中确定样本候选关键词,样本候选关键词为关键词的概率大于第一阈值。

在得到各个样本词汇的概率之后,可以在多个样本词汇中,将概率大于第一阈值的关键词确定为样本关键词,从而得到各个多个样本关键词。

则本实施例中的训练数据就包括样本文本信息和样本关键词,在根据训练数据对第一模型进行训练的过程中,可以采用第一模型对样本文本信息进行处理,并且第一模型根据样本文本信息对应的样本关键词进行学习,从而实现对第一模型的训练。

在本申请实施例中,通过第二模型对样本文本数据进行处理,以得到样本关键词,从而可以自动生成训练数据,其中训练数据包括样本文本数据和样本关键词,从而能够有效提升得到训练数据的效率。

在另一种可能的实现方式中,例如第一对象为商品,则还可以根据商品工业属性中梳理出来的核心工业属性和达人文章进行关联,得到关键词短语候选集,在通过人工的方式从关键词短语候选集中筛选出需要的样本关键词。

在根据上述得到的训练数据对第一模型进行训练之后,可以将第一模型部署为接口的形式进行调用,从而避免第一模型太大,在分布式调用中需要将模型分发到各个节点所占用的节点内存较大,有效节省了分发过程中所消耗的网络资源,缩短了预测的时间。

在上述实施例的基础上,下面结合图6对本申请提供的对象的关键词提取方法中,模型的训练、部署、实施的整体流程进行介绍,图6为本申请实施例提供的对象的关键词提取的流程单元示意图:

参见图6,图6中包括数据单元,模型训练单元,模型部署单元,关键词提取单元。

其中,数据单元可以通过上述介绍的第二模型自动生成训练数据,和/或,还可以通过人工的方式得到训练数据。

数据单元得到的训练数据可以用于模型训练单元,模型训练单元根据训练数据对第一模型进行训练,得到训练后的第一模型。

接着模型部署单元将训练后的第一模型以接口的形式进行部署,以有效节省资源,缩短预测时间。

最终就可以根据关键词提取单元进行关键词的提取了,例如可以将文本信息输入至训练后的第一模型中,以使得第一模型输出候选关键词,并且可以根据候选关键词中每两个候选关键词之间的相似度,对候选关键词进行筛选,得到第一对象的关键词。

在一种可能的实现方式中,可以参照图7进行理解,图7为本申请实施例提供的提取的关键字的示意图。

其中,文本信息可以如图7中的701中所示,以及根据各个文本信息提取的关键词可以如图7中的702所示,在一种可能的实现方式中,图7中的702可以为本申请中的候选关键词。

其中上述各个单元的具体实现在上述实施例中已经进行了详细介绍,综上所述,本申请提供的对象的关键词提取方法,可以有效实现从文本信息中自动提取第一对象的关键词,同时能够保证提取的关键词的正确性和简洁性。

图8为本申请实施例提供的对象的关键词提取装置的结构示意图。如图8所示,该装置80包括:获取模块801以及确定模块802。

获取模块801,用于获取第一对象对应的文本信息,所述文本信息用于描述所述第一对象;

确定模块802,用于根据所述文本信息,确定所述第一对象对应的多个候选关键词;

所述确定模块802,还用于根据所述多个候选关键词的相似度及所述候选关键词为关键词的概率,在所述多个候选关键词中确定所述第一对象的至少一个关键词。

在一种可能的设计中,所述确定模块802具体用于:

通过第一模型对所述文本信息进行处理,得到所述多个候选关键词;

其中,所述第一模型为对多组样本学习得到的,每组样本包括样本文本信息和样本候选关键词,所述多组样本为第二模型生成得到的。

在一种可能的设计中,所述第二模型生成所述多组样本的过程包括:

获取所述样本文本信息;

通过所述第二模型对所述样本文本信息进行分词处理,得到多个样本词汇和每个样本词汇为关键词的概率;

根据每个样本词汇为关键词的概率,在所述多个样本词汇中确定样本候选关键词,所述样本候选关键词为关键词的概率大于第一阈值。

在一种可能的设计中,所述确定模块802具体用于:

针对所述多个候选关键词中的每两个候选关键词,判断所述两个候选关键词之间的相似度是否大于预设阈值;

若是,则根据两个候选关键词各自为关键词的概率,将所述两个候选关键词合并为一个关键词;

若否,则将所述两个候选关键词均确定为所述第一对象的关键词。

在一种可能的设计中,所述确定模块802具体用于:

将所述两个候选关键词合并为目标关键词,其中,所述目标关键词是两个候选关键词中为关键词的概率较大的关键词。

在一种可能的设计中,所述确定模块802具体用于:

对所述文本信息进行分句处理,得到多个短句;

通过二分类模型确定各所述短句中是否包括关键词,将包括关键词的短句确定为目标短句,以得到至少一个目标短句;

对各所述目标短句进行分词处理,得到多个第一词汇;

对所述第一词汇进行停用词过滤处理,得到多个第二词汇;

对所述多个第二词汇进行关键词预测处理,得到所述多个候选关键词。

在一种可能的设计中,所述第一模型为指针生成网络;

所述指针生成网络的输出层包括生成概率,所述生成概率用于指示所述每个时间步的解码器的下一个输出词是来自于预设词表的概率;以及

所述指针生成网络的注意力分布函数中包括覆盖因子。

在一种可能的设计中,所述文本信息包括如下至少一种:

所述第一对象对应的网络数据,所述网络数据中包括所述第一对象的描述信息;

所述第一对象对应的详情页面中的数据,所述详情页面为介绍所述第一对象的网络页面。

本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。

图9为本申请实施例提供的对象的关键词提取设备的硬件结构示意图,如图9所示,本实施例的对象的关键词提取设备90包括:处理器901以及存储器902;其中

存储器902,用于存储计算机执行指令;

处理器901,用于执行存储器存储的计算机执行指令,以实现上述实施例中对象的关键词提取方法所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。

可选地,存储器902既可以是独立的,也可以跟处理器901集成在一起。

当存储器902独立设置时,该对象的关键词提取设备还包括总线903,用于连接所述存储器902和处理器901。

本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上对象的关键词提取设备所执行的对象的关键词提取方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。

应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。

总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种无监督跨语言句对齐实现方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!