掌桥专利:专业的专利平台
掌桥专利
首页

一种标签推荐方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 10:41:48


一种标签推荐方法、装置、电子设备及存储介质

技术领域

本申请实施例涉及数据处理技术领域,尤其涉及一种标签推荐方法、装置、电子设备及存储介质。

背景技术

在一些搜索场景中,用户输入一个查询后,需要返回符合用户需求的搜索结果。通常情况下,搜索结果中包含多个对象,各个对象的文本描述各不相同,搜索引擎通过对象的文本描述召回符合查询条件的目标对象作为搜索结果。当对象的文本描述不充分时,为准确全面地召回相关结果,通常需要为各个对象打上标签,以充分地描述各个对象。

例如,在一些搜索场景中,用户输入一个名称为“电影”的查询后,需要返回符合用户需求的多个电影名。当A电影的文本描述与电影并不相关,但其本质为一部电影时,通过A电影本身的文本描述无法召回该A电影,因此需要为A电影打上标签,以充分地描述A电影。

在相关技术中,通常采用对象的文本描述的嵌入向量表示,来挖掘文本的标签。然而,该种方案仅依靠对象的文本特征,难以处理文本不包含标签的样本和包含冗余信息的样本,无法保证准确率。

发明内容

本申请实施例提供一种标签推荐方法、装置、电子设备及存储介质,能有效提高召回结果的准确率。

本申请实施例第一方面提供了一种标签推荐方法,所述方法包括:

获得目标对象的多个候选标签;

根据所述目标对象分别与所述多个候选标签之间的文本相似度,确定所述多个候选标签各自的相关度;

根据所述目标对象的用户行为数据对所述多个候选标签进行质量评估,确定所述多个候选标签各自的质量分;

根据所述多个候选标签各自的相关度和质量分,从所述多个候选标签中确定所述目标对象的推荐标签。

本申请实施例第二方面提供一种标签推荐装置,所述装置包括:

第一获得模块,用于获得目标对象的多个候选标签;

第一确定模块,用于根据所述目标对象分别与所述多个候选标签之间的文本相似度,确定所述多个候选标签各自的相关度;

第二确定模块,用于根据所述目标对象的用户行为数据对所述多个候选标签进行质量评估,确定所述多个候选标签各自的质量分;

第三确定模块,用于根据所述多个候选标签各自的相关度和质量分,从所述多个候选标签中确定所述目标对象的推荐标签。

本申请实施例第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第一方面所述的标签推荐方法中的步骤。

本申请实施例第四方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请第一方面所述的标签推荐方法中的步骤。

通过本申请的标签推荐方法,首先获得目标对象的多个候选标签;接着根据目标对象分别与多个候选标签之间的文本相似度,确定多个候选标签各自的相关度;然后根据目标对象的用户行为数据对多个候选标签进行质量评估,确定多个候选标签各自的质量分;最后根据多个候选标签各自的相关度和质量分,从多个候选标签中确定目标对象的推荐标签。本申请的标签推荐方法一方面可以从相关性维度对候选标签进行筛选,剔除了表面上与目标对象相关性较差的候选标签,另一方面可以从质量维度对候选标签进行筛选,剔除了实质上相关性较差的标签,最后综合两个维度的筛选结果获得能更为准确充分地对目标对象进行描述的标签,通过为目标对象打上得出的推荐标签,能有效提高用户搜索时召回结果的准确率。

附图说明

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

图1是本申请一实施例示出的一种推荐方法的流程图;

图2是本申请一实施例示出的确定标签相关度的方法的流程图;

图3是本申请一实施例示出的获得目标对象的多个候选标签的方法的流程图;

图4是本申请一实施例示出的一种质量分的评估方法的流程图;

图5是本申请一实施例示出的一种标签整体挖掘过程示意图;

图6是本申请一实施例示出的一种对象-标签对的挖掘过程示意图;

图7是本申请一实施例示出的一种对象-标签对排序过程示意图;

图8是本申请一实施例提供的标签推荐装置的结构框图;

图9是本申请一实施例示出的一种电子设备的示意图。

具体实施方式

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

为解决相关技术中的问题,本申请提供了一种标签推荐方法。图1是本申请一实施例示出的一种推荐方法的流程图。参照图1,该标签推荐方法可以包括如下步骤:

步骤S11:获得目标对象的多个候选标签。

本申请中的标签推荐方法适用于任意搜索场景。对象是指搜索结果单元,一个或多个对象可以组成搜索结果。对象例如可以是机票、火锅、空调、汽车等任意类型,本实施例对此不作具体限制。

在本实施例中,一个对象可以具有多个标签。例如机票的标签可以包括:机票、交通出行、旅游、航空等。其中,目标对象可以是对象中的任意一个对象,候选标签是指通过一定方法初步获得的,还未进一步处理的标签。本实施例中对获得目标对象的多个候选标签的方法不作具体限制。

步骤S12:根据所述目标对象分别与所述多个候选标签之间的文本相似度,确定所述多个候选标签各自的相关度。

在本实施例中,可以采用名称作为文本,即可以根据目标对象的名称,与各个候选标签的名称之间的相似度,获得目标对象与各个候选标签之间的相关度。

示例地,目标对象为对象A,多个候选标签包括:标签1、标签2以及标签3。可以获得对象A的名称与标签1的名称之间的相似度,根据该相似度确定对象A与标签1之间的相关度;可以获得对象A的名称与标签2的名称之间的相似度,根据该相似度确定对象A与标签2之间的相关度;可以获得对象A的名称与标签3的名称之间的相似度,根据该相似度确定对象A与标签3之间的相关度。

其中,相关度可以表示两个目标表面上看是否相关的可能性,例如“果汁”与“双响炮”,表面上看两者相关的可能行较低,因此果汁与双响炮之间的相关度较低。

在本实施例中,相似度与相关度成正比,目标对象与一个候选标签之间的相似度越大,表示目标对象与该候选标签之间越相关,目标对象与一个候选标签之间的相似度越小,表示目标对象与该候选标签之间越不相关。

在具体实施时,可以采取任意方法获得目标对象与各个候选标签之间的相似度,也可以采取任意方法根据相似度获得目标对象与各个候选标签之间的相关度。

步骤S13:根据所述目标对象的用户行为数据对所述多个候选标签进行质量评估,确定所述多个候选标签各自的质量分。

在本实施例中,可以使用质量分评估各个候选标签是否充分地描述了目标对象。质量分越高,表示描述越充分,当用户查询该候选标签时,召回该目标对象的概率越大,质量分越低,表示描述越不充分,当用户查询该候选标签时,召回该目标对象的概率越小。

其中,质量可以表示两个目标实质上相关的可能行,例如“果汁”与“双响炮”,虽然表面上看两者相关的可能行较低,但实质上双响炮是果汁的一种,因此两者实质上相关的可能性较高。

在本实施例中,可以按照预先给定的规则对目标对象的各个候选标签进行质量评估,或者将目标对象和各个候选标签各自的特征分别输入预先训练好的质量评估模型,以获得各个候选标签各自的质量分。其中,可以根据用户在目标对象上产生的用户行为数据制定规则或者训练质量评估模型,本实施例对规则制定过程和质量评估模型的训练过程不作具体限制。

步骤S14:根据所述多个候选标签各自的相关度和质量分,从所述多个候选标签中确定所述目标对象的推荐标签。

在本实施例中,可以将相关度大于第一阈值,且质量分大于第二阈值的候选标签作为目标对象的推荐标签。

在具体实施时,可以在所有的候选标签中筛选出与目标对象相关性较强的候选标签,然后继续在这些相关性较强的候选标签中筛选出质量较高的标签,从而可以排除一些低质量且相关性较差的标签,获得最终推荐标签。

下面将以一个具体实施例对上述步骤S11-步骤S14进行详细说明。

假设目标对象为对象A,获得的多个候选标签包括:标签1-标签3;首先,根据对象A和标签1之间的文本相似度获得对象A和标签1之间的相关度0.3,根据对象A和标签2之间的文本相似度获得对象A和标签2之间的相关度0.6,根据对象A和标签3之间的文本相似度获得对象A和标签3之间的相关度0.8;接着,根据用户在目标对象上的历史行为数据,对标签1-标签3分别进行质量评估,获得标签1的质量分45,获得标签2的质量分89,获得标签3的质量分78;接着,以0.5作为相关度筛选阈值,60作为质量分筛选阈值,从标签1-标签3中筛选出相关度大于0.5且质量分大于60的标签2和标签3作为对象A的推荐标签。

通过本实施例的标签推荐方法,首先获得目标对象的多个候选标签;接着根据目标对象分别与多个候选标签之间的文本相似度,确定多个候选标签各自的相关度;根据目标对象的用户行为数据对多个候选标签进行质量评估,确定多个候选标签各自的质量分;最后根据多个候选标签各自的相关度和质量分,从多个候选标签中确定目标对象的推荐标签。本申请的标签推荐方法一方面可以从相关性维度对候选标签进行筛选,剔除了表面上与目标对象相关性较差的候选标签,另一方面可以从质量维度对候选标签进行筛选,剔除了实质上相关性较差的标签,最后综合两个维度的筛选结果获得能更为准确充分地对目标对象进行描述的标签,通过为目标对象打上得出的推荐标签,能有效提高用户搜索时召回结果的准确率。

结合以上实施例,在一种实施方式中,本申请还提供了一种确定多个候选标签各自的相关度的方法,如图2所示。图2是本申请一实施例示出的确定标签相关度的方法的流程图。具体地,上述步骤S12可以包括如下步骤:

步骤S121:对所述目标对象的对象文本和所述多个候选标签各自的标签文本分别进行特征提取,得到对所述目标对象的向量表示和所述多个候选标签各自的向量表示。

在本实施例中,目标对象的对象文本是指目标对象的名称,对目标对象的对象文本进行特征提取,可以获得目标对象的向量表示。例如目标对象为机票时,对象文本是指机票,进行特征提取可以得到机票的向量表示。

在本实施例中,候选标签的标签文本是指标签的名称,对候选标签的标签文本进行特征提取,可以获得各个候选标签的向量表示。例如机票的候选标签包括机票、交通出行、旅游、航空时,对各个候选标签进行特征提取时可以得到机票的向量表示、交通出行的向量表示、旅游的向量表示以及航空的向量表示。

在具体实施时,可以通过任意方式进行特征提取,例如可以通过预先训练得到的特征提取模型进行特征提取,本实施例对目标对象的对象文本和候选标签的标签文本进行特征提取的方式不作具体限制。

步骤S122:根据对所述目标对象的向量表示和所述多个候选标签各自的向量表示之间的相似度,确定所述多个候选标签各自的相关度。

在本实施例中,可以通过计算目标对象的向量表示和候选标签的向量表示之间的余弦相似度(Cosine Similarity)来获得目标对象和候选标签之间的相似度。余弦相似度是通过计算两个向量的夹角余弦值来评估这两个向量之间的相似度。余弦值的范围在[-1,1]之间,值越趋近于1,表示两个向量的方向越接近;越趋近于-1,表示两个向量的方向越相反;接近于0,表示两个向量近乎于正交。

示例地,目标对象为对象B,有标签1-标签3共3个候选标签,计算对象B的向量表示和标签1的向量表示之间的余弦相似度,可以获得对象B和标签1之间的相似度;计算对象B的向量表示和标签2的向量表示之间的余弦相似度,可以获得对象B和标签2之间的相似度;计算对象B的向量表示和标签3的向量表示之间的余弦相似度,可以获得对象B和标签3之间的相似度。

在本实施例中,可以通过相似度对候选标签进行过滤。例如在某些搜索场景下,用户输入的查询词为“黄焖鸡”,用户在下单黄焖鸡时顺便下单了饮料,如果不过滤,会导致最终该款饮料也会打上“黄焖鸡”的标签,这显然是不合理的,因此,需要通过目标对象与其各个候选标签之间的相似度对候选标签进一步过滤,例如黄焖鸡和饮料之间显然不具备相似度,因此可通过相似度判断删除饮料这一对象的黄焖鸡这一候选标签。

在本实施例中,在获得各个候选标签之间的相似度之后,可以将相似度按照一定的规则获得相关度,例如在计算出各个候选标签之间的余弦相似度分数之后,按照分数由高到低排序,将分数大于分数阈值的候选标签保留,将分数不大于分数阈值的候选标签滤除。最后,保留下来的各个候选标签可以理解为与目标对象相关。由于余弦相似度分数越高的候选标签与目标对象的相关度越高,因此,可以将保留下来的候选标签的余弦相似度分数等效为其相关度看待,从而获得目标对象和候选标签之间的相关度。

在本实施中,通过计算目标对象的对象文本的向量表示,和候选标签的标签文本的向量表示之间的余弦相似度,可以获得目标对象和候选标签之间的相关度,进而保证标签推荐方法的顺利实施。

结合以上实施例,在一种实施方式中,本申请还提供了一种对目标对象的对象文本和候选标签的标签文本进行特征提取的方法。具体地,上述步骤S121可以包括:

利用第一特征提取网络对所述目标对象的对象文本进行特征提取,利用第二特征提取网络对所述多个候选标签各自的标签文本分别进行特征提取;

所述第一特征提取网络与所述第二特征提取网络互为孪生网络。

在一种实施方式中,第一特征提取网络与第二特征提取网络为孪生神经网络(Siamese Network)中的两个子网络。孪生神经网络是一类包含两个或多个相同子网络的神经网络架构,相同是指各个子网络具有相同的参数和权重,参数更新在各个子网络上同时进行。孪生神经网络可用于输出两个对象之间的相似性得分,得分越高,表示越相似,得分越低,表示越不相似。

在具体实施时,将目标对象的对象文本输入到孪生神经网络的第一特征提取网络,获得目标对象的向量表示。将候选标签的标签文本输入到孪生神经网络的第二特征提取网络,获得候选标签的向量表示。最后根据一个共同的输出层计算目标对象的向量表示和候选标签的向量表示之间的相似度。

本实施例通过孪生神经网络获得目标对象和各个候选标签之间的相关度,利用了孪生神经网络设计简洁、各个子网络具有相同的参数和权重且受超参数影响小等特性,使得训练过程稳定,能够生成质量更高的词向量,捕获更好的句间关系。

结合以上实施例,在一种实施方式中,本申请还提供了一种获得目标对象的候选标签的方法,如图3所示。图3是本申请一实施例示出的获得目标对象的多个候选标签的方法的流程图。参照图3,具体地,上述步骤S11可以包括如下步骤:

步骤S111:根据所述目标对象的用户行为数据,确定所述目标对象的多个候选标签;和/或

步骤S112:将预设标签集合中的各个标签分别与目标对象的文本描述数据进行匹配,将多个匹配的标签确定为所述目标对象的多个候选标签。

在本实施例中,目标对象的用户行为数据可以是任意用户对目标对象所产生的历史行为数据,历史行为可以是指用户查询、点击、下单等行为。针对用户在搜索时输入的所有查询词,可以将用户对查询后得到的对象产生了预设行为的查询词,作为产生预设行为的对象的候选标签。其中,预设行为可以是点击、下单、收藏、分享行为等,预设行为可以根据实际需求设置,本实施例对此不作具体限制。

示例地,以预设行为是点击或下单行为为例,用户某次输入的查询词为“火锅”,得到的搜索结果有A、B、C,如果用户对A进行了点击操作,对B进行了下单操作,则表示“火锅”可以作为A和B的候选标签,而不能作为C的候选标签。再示例地,用户某次输入的查询词为“麻辣”,得到的搜索结果有多个,如果用户未对当次的多个搜索结果中的某些搜索结果进行任何点击或下单操作,则表示“麻辣”无法作为候选标签。

在本实施例中,由于用户行为数据基本覆盖所有产生预设行为的对象所对应的查询词,因此,通过该方法理论上可以获得较为丰富的候选标签。

在一种实施方式中,在通过目标对象的用户行为数据确定目标对象的多个候选标签之后,还可以对这些候选标签进行归一化处理,将多个语义相同但是描述不同的查询词进行统一描述。例如,将“黄焖鸡”、“黄焖鸡米饭”统一描述为“黄焖鸡”。

在一种实施方式中,在通过目标对象的用户行为数据确定目标对象的多个候选标签之后,还可以通过NER(Named Entity Recognition,命名实体识别)对多个候选标签进行实体识别,以使每一类标签只对应一类实体。示例地,用户在搜索时使用的查询词包含多个实体时,如果用户只对其中某一类实体执行了预设行为,那么该包含多个实体的查询词也会被作为一个标签,此时是不合理的。比如用户搜索的是炸鸡和汉堡,只下单了炸鸡,此时将“炸鸡和汉堡”用作炸鸡的标签显然不合适,应当分别拆分为两个标签“炸鸡”、“汉堡”,以使每一个标签只对应一类实体。

在具体实施时,既可以单独使用归一化处理或者命名实体识别,也可以同时使用归一化处理或者命名实体识别。对于同时使用归一化处理或者命名实体识别,还可以先对获得的候选标签进行归一化处理,再接着进行命名实体识别,或者先对获得的候选标签进行命名实体识别,再接着进行归一化处理,本实施例对此不作具体限制。

在实际实施时,对于已经曝光的对象,可以通过用户行为数据获得对应的候选标签,而对于一些尚未曝光或曝光后没有产生历史行为数据的对象,此时如果打上按照用户行为数据获得的候选标签,那么有可能在用户在后续搜索时无法召回这些对象。因此需要采取其他办法获得这部分对象的候选标签。

在本实施例中,对于尚未曝光或曝光后无历史行为数据的对象,获得候选标签的过程为:

将预设标签集合中的各个标签分别与目标对象的文本描述数据进行匹配,获得各个标签的匹配分数;

将匹配分数大于预设分数阈值的标签作为目标对象的候选标签。

其中,匹配分数可以采用相似度表示。即计算目标对象的文本描述数据与预设标签集合中的各个标签之间的相似度。文本数据包括对象的名称、品类、描述信息等。

在具体实施时,可以采用多种方法计算目标对象的文本描述数据与预设标签集合中的各个标签之间的相似度,例如编辑距离(指两个字串之间,由一个字符串转成另一个字符串所需的最少编辑操作次数)、正向/逆向最大匹配(最大匹配算法包括正向最大匹配算法、逆向最大匹配算法等,其主要原理都是切分出单字串,然后和词库进行比对,如果是一个词就记录下来,否则通过增加或者减少一个单字,继续比较,直到剩下一个单字则终止)等,关于编辑距离和正向/逆向最大匹配的使用可参照相关技术,本实施例在此不作具体赘述。例如对于一个目标对象“黄焖鸡米饭”,某个候选标签是“黄焖鸡”,如果编辑距离设定为不超过2表示两者相似,则目标对象与该候选标签相似,该目标对象可以打上“黄焖鸡”的标签。其次,如果满足正向/逆向最大匹配表示两者相似,由于该候选标签也能和目标对象正向匹配,因此该目标对象也可以打上“黄焖鸡”的标签。

本实施例通过两种方式获得候选标签,一是根据目标对象的用户行为数据获得目标对象的候选标签,二是根据目标对象的文本描述数据进行相似性挖掘,从预设标签集合中获得匹配的标签作为对应的候选标签。通过上述两种方式,无论是具有用户行为数据的对象还是不具有用户行为数据的对象,均可获得对应的候选标签,因此,通过本实施例可有效扩展候选标签的覆盖面,为后续进一步筛选获得质量更高的标签提供了技术支持。

结合以上实施例,在一种实施方式中,本申请的标签推荐方法还可以包括如下步骤:

根据多个用户各自的用户行为数据,获得初始标签集合;

对所述初始标签集合中的各个标签进行实体识别;其中,实体识别出的多个标签组成所述预设标签集合。

在本实施例中,可以将步骤S111中获得的所有候选标签作为初始标签集合,然后再对初始标签集合中的标签进行归一化处理和命名实体识别,以获得格式规范且一个标签对应一类实体的预设标签集合。其中,归一化处理和命名实体识别可参照前文所述。

在本实施例中,一方面,对于有用户行为数据的对象,可以根据对象的用户行为数据获得对象的候选标签,组成预设标签集合,另一方面,对于不具有用户行为数据的对象,可以根据对象的文本描述数据进行相似性挖掘,从预设标签集合中获得较为匹配的标签作为对应的候选标签。

本实施例采用两种方式获得候选标签,使得无论是具有用户行为数据的对象还是不具有用户行为数据的对象,均可获得对应的候选标签,可有效扩展候选标签的覆盖面,为后续进一步筛选获得质量更高的标签提供了技术支持。

结合以上实施例,本申请还提供了一种质量分的评估方法,如图4所示。图4是本申请一实施例示出的一种质量分的评估方法的流程图。参照图4,上述步骤S13可以包括:

步骤S131:将所述目标对象与所述多个候选标签分别进行组合,得到多组对象-标签对。

示例地,目标对象为对象A,有3个候选标签分别为标签1-标签3,那么组合得到的多组对象-标签对包括:<对象A,标签1>、<对象A,标签2>以及<对象A,标签3>。

步骤S132:对所述多组对象-标签对分别进行特征提取,得到所述多组对象-标签对各自的语义类特征和数值类特征。

在本实施例中,语义特征来自于用户行为数据,数值类特征来自于对象的文本描述数据。其中,数值类特征可以包括价格、点击量、下单、转发量、收藏量等,本实施例对此不作具体限制。

在具体实施时,可以首先对多组对象-标签对进行预处理,得到对象-标签对的初步编码,包括片段编码、位置编码和字符编码。接着将片段编码、位置编码和字符编码输入到深度网络特征抽取器,输出每个分割位置的向量,该向量包含了对应文本的语义特征,分割位置的向量为文本的向量表达。

其中,特征抽取器可以采用基于Transformer的双向编码器(BERT,BidirectionalEncoder Representation from Transformers),片段编码、位置编码和字符编码等均是双向编码器在特征提取时涉及到的中间值,具体可参照双向编码器的使用进行理解,本实施例对此不作具体限制。

步骤S133:将所述多组对象-标签对各自的语义类特征和数值类特征输入预先训练的质量评估模型,得到所述多个候选标签各自的质量分;其中,所述质量评估模型是利用根据所述目标对象的用户行为数据得到的样本,对预设模型进行训练得到的。

在本实施例中,首先将文本的数值类特征和文本的向量表达进行拼接,作为质量评估模型的输入。再将拼接得到的向量输入质量评估模型,输出每一组对象-标签对各自的质量分。质量评估模型是根据对象的用户行为数据进行训练得到的,训练过程将在后文进行详细说明。

在具体实施时,质量评估模型可以使用普通分类模型,使用softmax损失函数,通过设置分数筛选条件滤除质量分不满足分数筛选条件的候选标签,将剩余对象-标签对中的候选标签作为推荐标签。或者,质量评估模型还可以使用在同一个对象下多标签排序,使用lambdaloss损失函数,最终得到一组对象-标签对的质量分,通过一个对象下各组对象-标签对的质量分,可以过滤掉低质量的候选标签。

示例地,对于一个目标对象“手熬鱼头鲜奶”,候选标签有3个,包括奶茶、饮料、咖啡。普通分类模型的做法是:分别判断这三个候选标签是否合适,独立输出每个候选标签对应分数,模型在对一个候选标签打分时不考虑其他两个候选标签。多标签排序的做法是:统一输出三个候选标签的分数,三个分数在模型中就能判断先后顺序。

本实施例综合考虑对象的用户行为数据和文本描述特征,使用深度网络学习到的语义特征和对象自身文本的数值类特征对所有的对象-标签对打分,能有效地过滤低质量的候选标签,与相关技术中仅依靠对象的文本描述的嵌入向量表示来挖掘文本的标签相比,能显著提高搜索召回准确率。

结合以上实施例,在一种实施方式中,本申请还提供了一种质量评估模型的训练方法。具体地,该质量评估模型可以通过如下步骤训练获得:

从所述目标对象的用户行为数据中提取标签;

将提取的标签为所述候选标签的用户行为数据标记为正样本,将提取的标签不为所述候选标签的用户行为数据标记为负样本;

根据所述正样本和所述负样本,对预设模型进行训练,得到所述质量评估模型。

在本实施例中,从目标对象的用户行为数据中提取标签,是指将所有针对目标对象的查询词作为目标对象的标签,这些查询词包括用户做出过预设行为的查询词和用户未做出过预设行为的查询词。将提取的标签为候选标签的用户行为数据标记为正样本,是指将用户做出过预设行为的查询词标记为正样本,将提取的标签不为候选标签的用户行为数据标记为负样本,是指将用户未做出过预设行为的查询词标记为负样本。

示例地,目标对象包括样本对象1-样本对象2,样本对象1对应的查询词包括查询词1-查询词3,样本对象2对应的查询词包括查询词1-查询词4。针对样本对象1,用户在查询词1-查询词3下均产生过预设行为(例如下单行为),那么查询词1-查询词3都应当标记为正样本;针对样本对象2,用户在查询词1-查询词2下产生过预设行为,在查询词3-查询词4下未产生过预设行为,那么查询词1-查询词2应当标记为正样本,查询词3-查询词4应当标记为负样本。

在一种实施方式中,根据所述正样本和所述负样本,对预设模型进行训练,得到所述质量评估模型,包括:

将所述正样本的所述目标对象与从所述正样本中提取的所述候选标签进行组合,得到对象-标签正样本对,将所述负样本的所述目标对象与从所述负样本中提取的标签进行组合,得到对象-标签负样本对;

对所述对象-标签正样本对和所述对象-标签负样本对分别进行特征提取,确定所述对象-标签正样本对和所述对象-标签负样本对各自的语义类特征和数值类特征;

根据所述对象-标签正样本对和所述对象-标签负样本对各自的语义类特征和数值类特征,对所述预设模型进行训练,得到所述质量评估模型。

在本实施例中,对于每一个样本对象,将其与正样本标签组成多组对象-标签正样本对,与负样本标签组成多组对象-标签负样本对;然后对象-标签正样本对和对象-标签负样本对分别进行特征提取,确定对象-标签负样本对和对象-标签负样本对各自的语义类特征和数值类特征;接着,将每一组对象-标签正样本对和对象-标签负样本对的语义类特征和数值类特征进行拼接,将拼接后得到的各组对象-标签正样本对和对象-标签负样本对作为训练数据对预设模型进行训练,得到质量评估模型。

接上例,样本对象2对应的查询词包括查询词1-查询词4,针对样本对象2,用户在查询词1-查询词2下产生过预设行为,在查询词3-查询词4下未产生过预设行为,那么查询词1-查询词2应当标记为正样本,查询词3-查询词4应当标记为负样本,此时将<样本对象2,查询词1>和<样本对象2,查询词2>作为对象-标签正样本对,将<样本对象2,查询词3>和<样本对象2,查询词4>作为对象-标签负样本对。然后,针对<样本对象2,查询词1>,将语义类特征和数值类特征进行拼接,针对<样本对象2,查询词2>,将语义类特征和数值类特征进行拼接,直到将<样本对象2,查询词1>至<样本对象2,查询词4>各自的语义类特征和数值类特征进行拼接得到拼接结果。最后,将拼接结果作为训练数据对预设模型进行训练。

本申请将标签挖掘流程分为两个阶段,召回阶段保证的候选标签的覆盖面,能将尽量多的对象都打上标签;在排序阶段,一方面通过对象和候选标签之间的相似度进行过滤,保证对象和候选标签之间的相关性;另一方面将对象自身的数值类特征和语义特征进行拼接,作为共同特征对对象进行质量评估,得到质量分,通过质量分从候选标签中过滤掉低质量候选标签,保证标签数据的准确性。因此通过本申请的标签推荐方法能在保证标签覆盖率的基础上提升标签数据的准确率,进而提升搜索召回结果的准确率。

下面将以一个具体实施例对本申请的标签推荐方法进行详细说明。

在一些搜索场景中,需要在用户输入查询词后,在海量的候选对象中,将符合查询条件的描述各异的对象都精准地召回。通过本申请的标签推荐方法在解决精准召回问题时,可以包括如图5所示的三个步骤。图5是本申请一实施例示出的一种标签整体挖掘过程示意图。结合图5,该挖掘过程可以包括:

步骤一:确定标签集合

首先,从用户行为日志数据中筛选出可以作为标签的查询词query,进行归一化处理之后获得初步标签集合。

接着,通过NER(Named Entity Recognition,命名实体识别)挖掘出所有对象实体,得到满足一个标签对应一类实体的标签集合。

步骤二:召回模块

召回模块的任务是确定每个对象可能的候选标签,尽可能多地将每一个对象打上标签,得到所有可能的<对象,标签>对。具体过程如图6所示。图6是本申请一实施例示出的一种对象-标签对的挖掘过程示意图。

结合图6,具体实施时,可通过如下两个召回源获得<对象,标签>对:

(1)通过用户行为日志数据挖掘,获得标签集合,将标签集合中每一个对象和各个候选标签分别组成<对象,标签>对。

(2)对于没有用户行为日志数据的对象,通过文本相似性挖掘,从标签集合中获得相似度较高的标签作为候选标签,并组成<对象,标签>对。

对于第(1)种召回源,具体实施可参照步骤一所述,对于第(2)种召回源,可通过编辑距离、正向/逆向最大匹配等方法等获得与对象相似度较高的标签作为候选标签。其中,进行文本相似性挖掘时使用的文本可以为对象的品类、名称等。

对于第(2)种召回源,可以解决冷启动问题,即对于曝光后没有用户行为日志数据的对象或者未曝光的对象仍然可以获得候选标签。

在通过第(1)种召回源和第(2)种召回源获得多个<对象,标签>对后,可以对<对象,标签>对进行归一化和过滤处理以统一格式,获得<对象,标签>对集合。通过上述两个召回源,理论上可以获取到在当前标签集合上所有可能的<对象,标签>对。

步骤三:排序模块

排序模块的任务是过滤低质量的标签,提高最终标签数据的准确率。该过程如图7所示。图7是本申请一实施例示出的一种对象-标签对排序过程示意图。

结合图7,排序模块主要包括深度网络打分模块和相关性计算模块。深度网络打分模块可以得到同一个对象下所有标签的质量分数,相关性计算模块可以保证每个<对象,标签>对中对象文本和标签的相关性。

其中,深度网络打分模块可以包括:

(1)预处理:对候选标签集合<对象,标签>进行特征预处理之后,得到对象文本和标签的初步编码,分为片段编码、位置编码以及字符编码。示例地,图7中的Et1-Et3为字符编码,E0-E2为位置编码,Ea-Ec为片段编码。

(2)嵌入向量特征抽取:将片段编码、位置编码以及字符编码输入深度网络特征抽取器进行深度网络特征提取,深度网络特征抽取器可以采用基于Transformer的双向编码器(BERT,Bidirectional Encoder Representation from Transformers),以获得每个分割位置的向量。例如图7中,深度网络特征提取后输出Feature1-Feature3共三个向量特征。

(3)多类特征联合:深度网络特征抽取器的输出的向量包含了对应文本的语义特征,接着将文本的数值类特征,比如浏览量、收藏量、转发量、点击量、下单等,拼接到输出的向量,作为打分模型的输入。例如图7中,将数值类特征与Feature1-Feature3分别进行拼接,得到拼接后的Feature1-Feature3共三个联合特征向量。

(4)打分排序:打分模型可以使用普通分类模型(使用softmax损失函数),或者在同一个对象下多标签排序(使用lambdaloss损失函数),得到所有<对象,标签>对的分数。通过一个对象下各个标签的得分,过滤掉低质量的标签。

其中,相关性计算模块可以包括:

(1)将对象文本输入到深度网络,获取文本嵌入向量。例如图7中的将对象文本进行深度网络特征提取,得到对象文本的向量特征。

(2)将标签文本输入到深度网络,获取标签嵌入向量。例如图7中的将标签进行深度网络特征提取,得到标签的向量特征。

(3)在向量空间判断文本嵌入向量和标签嵌入向量的余弦相似性(CosineSimilarity),分数越大表示越相关。例如对图7中的对象文本的向量特征和标签的向量特征进行相似性计算,获得相关性分数。

相关性计算模块能有效降低低质量标签对召回准确率的影响,该模块使用的是孪生网络结构,两个子网络都可以采用基于Transformer的双向编码器作为特征抽取器。

在本实施例中,从用户行为日志数据和对象自身的文本描述数据中自动抽取候选标签,然后通过召回模块获得多组<对象,标签>对,理论上可以得到同一个对象下的所有候选标签,保证标签的覆盖面并解决冷启动问题(即曝光后无用户行为数据的对象和未曝光的对象也可以获得候选标签);接着,通过排序模块使用深度网络学习到的语义特征和对象自身文本数值类特征对所有<对象,标签>对打分,以及通过孪生网络计算相关性,能有效地过滤低质量候选标签,获得准确地标签集合。因此,本申请能在保证标签覆盖率的同时提升搜索召回结果的准确率。

基于同一发明构思,本申请一实施例还提供了一种标签推荐装置800。参考图8,图8是本申请一实施例提供的标签推荐装置的结构框图。如图8所示,该标签推荐装置800包括:

第一获得模块801,用于获得目标对象的多个候选标签;

第一确定模块802,用于根据所述目标对象分别与所述多个候选标签之间的文本相似度,确定所述多个候选标签各自的相关度;

第二确定模块803,用于根据所述目标对象的用户行为数据对所述多个候选标签进行质量评估,确定所述多个候选标签各自的质量分;

第三确定模块804,用于根据所述多个候选标签各自的相关度和质量分,从所述多个候选标签中确定所述目标对象的推荐标签。

可选地,所述第一确定模块802包括:

第一提取子模块,用于对所述目标对象的对象文本和所述多个候选标签各自的标签文本分别进行特征提取,得到对所述目标对象的向量表示和所述多个候选标签各自的向量表示;

第一确定子模块,用于根据对所述目标对象的向量表示和所述多个候选标签各自的向量表示之间的相似度,确定所述多个候选标签各自的相关度。

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

第二提取子模块,用于利用第一特征提取网络对所述目标对象的对象文本进行特征提取,利用第二特征提取网络对所述多个候选标签各自的标签文本分别进行特征提取;

所述第一特征提取网络与所述第二特征提取网络互为孪生网络。

可选地,所述第一获得模块801包括:

第二确定子模块,用于根据所述目标对象的用户行为数据,确定所述目标对象的多个候选标签;和/或

第三确定子模块,用于将预设标签集合中的各个标签分别与目标对象的文本描述数据进行匹配,将多个匹配的标签确定为所述目标对象的多个候选标签。

可选地,所述装置800还包括:

第二获得模块,用于根据多个用户各自的用户行为数据,获得初始标签集合;

识别模块,用于对所述初始标签集合中的各个标签进行实体识别;其中,实体识别出的多个标签组成所述预设标签集合。

可选地,所述第二确定模块803包括:

第一组合子模块,用于将所述目标对象与所述多个候选标签分别进行组合,得到多组对象-标签对;

第三提取子模块,用于对所述多组对象-标签对分别进行特征提取,得到所述多组对象-标签对各自的语义类特征和数值类特征;

评估模块,用于将所述多组对象-标签对各自的语义类特征和数值类特征输入预先训练的质量评估模型,得到所述多个候选标签各自的质量分;其中,所述质量评估模型是利用根据所述目标对象的用户行为数据得到的样本,对预设模型进行训练得到的。

可选地,所述装置800还包括:

提取模块,用于从所述目标对象的用户行为数据中提取标签;

标记模块,用于将提取的标签为所述候选标签的用户行为数据标记为正样本,将提取的标签不为所述候选标签的用户行为数据标记为负样本;

训练模块,用于根据所述正样本和所述负样本,对预设模型进行训练,得到所述质量评估模型。

可选地,所述训练模块包括:

第二组合子模块,用于将所述正样本的所述目标对象与从所述正样本中提取的所述候选标签进行组合,得到对象-标签正样本对,将所述负样本的所述目标对象与从所述负样本中提取的标签进行组合,得到对象-标签负样本对;

第四提取子模块,用于对所述对象-标签正样本对和所述对象-标签负样本对分别进行特征提取,确定所述对象-标签正样本对和所述对象-标签负样本对各自的语义类特征和数值类特征;

训练子模块,用于根据所述对象-标签正样本对和所述对象-标签负样本对各自的语义类特征和数值类特征,对所述预设模型进行训练,得到所述质量评估模型。

基于同一发明构思,本申请另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的方法中的步骤。

基于同一发明构思,本申请另一实施例提供一种电子设备900,如图9所示。图9是本申请一实施例示出的一种电子设备的示意图。该电子设备包括存储器902、处理器901及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的方法中的步骤。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

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

以上对本申请所提供的一种标签推荐方法、装置、存储介质和电子设备,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 标签推荐方法、标签推荐装置、电子设备及存储介质
  • 一种标签推荐方法、装置、电子设备及存储介质
技术分类

06120112640719