数据处理方法、装置、电子设备及计算机可读存储介质与流程

文档序号:20030071发布日期:2020-02-28 10:16阅读:194来源:国知局
数据处理方法、装置、电子设备及计算机可读存储介质与流程

本公开涉及计算机应用技术领域,具体涉及一种数据处理方法、装置、电子设备及计算机可读存储介质。



背景技术:

随着互联网技术的发展,为了更好地捕捉用户需求,互联网平台的物品推荐算法中一般包括召回算法和排序算法两个部分。其中,召回算法的目的是从全量的物品候选集中初步筛选一批少量的相关物品,比如,用户可能感兴趣的几百到几千个物品。排序算法的目的是对召回的物品结果进行优化,使用更精确的特征计算其相关性,并以此为依据作为最后推荐给用户的物品。因此,召回的物品结果在一定程度上决定了排序阶段的效率以及最终推荐结果的优劣。



技术实现要素:

为了解决相关技术中的问题,本公开实施例提供一种数据处理方法、装置、电子设备及计算机可读存储介质。

第一方面,本公开实施例中提供了一种数据处理方法。

具体地,所述数据处理方法,包括:

获取第一物品数据;

通过处理器根据所述第一物品数据,利用训练好的第一模型获得第一物品数据向量;

通过处理器对所述第一物品数据向量和第二物品数据向量进行向量召回计算,根据计算结果确定所述第一物品数据的对应第二物品数据,所述第一物品与所述对应第二物品存在关联关系且为不同类型的物品;

根据所述第一物品数据的所述对应第二物品数据确定第一召回物品数据,所述第一召回物品与所述第二物品是相同类型的物品。

结合第一方面,本公开在第一方面的第一种实现方式中,所述第一模型的训练过程,包括:

获取训练数据,所述训练数据包括第一物品样本数据和第二物品样本数据;

基于所述训练数据训练所述第一模型,得到训练好的所述第一模型和所述第二物品数据向量,其中,所述第一模型包括bert模型。

结合第一方面,本公开在第一方面的第二种实现方式中,所述对所述第一物品数据向量和第二物品数据向量进行向量召回计算,根据计算结果确定所述第一物品数据的对应第二物品数据,包括:

计算所述第二物品数据向量的第一特征值,其中,所述第一特征值表示所述第一物品数据向量和所述第二物品数据向量的匹配度;

根据所述第一特征值,确定所述第一物品数据的对应第二物品数据。

结合第一方面的第二种实现方式,本公开在第一方面的第三种实现方式中,所述根据所述第二物品数据确定第一召回物品数据,包括:

根据多个所述第一物品数据的所述对应第二物品数据的所述第一特征值计算所述对应第二物品数据的第二特征值;

根据所述对应第二物品数据的第二特征值确定所述第一召回物品数据。

结合第一方面,本公开在第一方面的第四种实现方式中,还包括:

通过处理器,根据所述第一召回物品数据,从第三物品数据集合中确定第二召回物品数据,所述第二召回物品与所述第一召回物品是相同类型的物品。

结合第一方面的第四种实现方式,本公开在第一方面的第五种实现方式中,所述根据所述第一召回物品数据,从第三物品数据集合中确定第二召回物品数据,包括:

根据所述第一召回物品数据,通过分词匹配确定候选第二召回物品数据的第一候选集合;和/或

根据所述第一召回物品数据,利用向量召回模型确定候选第二召回物品数据的第二候选集合;和/或

根据所述第一召回物品数据,利用同义词召回模型确定候选第二召回物品数据的第三候选集合;

基于所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合,确定所述第二召回物品数据。

结合第一方面的第五种实现方式,本公开在第一方面的第六种实现方式中,所述根据所述第一召回物品数据,通过分词匹配确定所述候选第二召回物品数据的第一候选集合,包括:

通过分词器对所述第一召回物品数据以及所述第三物品数据做分词处理,获取第一召回物品分词数据以及第三物品分词数据;

基于所述第一召回物品分词数据以及所述第三物品分词数据进行分词匹配,确定所述候选第二召回物品数据的第一候选集合。

结合第一方面的第五种实现方式,本公开在第一方面的第七种实现方式中,所述根据所述第一召回物品数据,利用向量召回模型确定所述候选第二召回物品数据的第二候选集合,包括:

根据所述第一召回物品数据,利用所述第一模型获得所述第一召回物品数据向量;

根据所述第三物品数据,利用第二模型获得所述第三物品数据向量;

对所述第一召回物品数据向量和所述第三物品数据向量进行向量召回计算,根据计算结果确定所述候选第二召回物品数据的第二候选集合。

结合第一方面的第七种实现方式,本公开在第一方面的第八种实现方式中,所述根据所述第三物品数据,利用第二模型获得所述第三物品数据向量,包括:

当所述第三物品数据与所述第一召回物品数据匹配时,将所述第一召回物品数据向量作为所述第三物品初始化数据向量;

基于所述第三物品初始化数据向量,利用所述第二模型获得所述第三物品数据向量。

结合第一方面的第五种实现方式,本公开在第一方面的第九种实现方式中,所述根据所述第一召回物品数据,利用同义词召回模型确定所述候选第二召回物品数据的第三候选集合,包括:

根据所述第一召回物品数据,获取所述第一召回物品同义词数据;

基于所述第一召回物品同义词数据,确定所述候选第二召回物品数据的第三候选集合。

结合第一方面的第五种实现方式,本公开在第一方面的第十种实现方式中,所述基于所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合,确定所述第二召回物品数据,包括:

确定所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合中的所述候选第二召回物品数据的第三特征值;

针对属于同一种类的所述候选第二召回物品,根据所述第三特征值将所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合的所述候选第二召回物品数据进行排序;

基于所述排序结果从所述候选第二召回物品数据中确定所述第二召回物品数据。

结合第一方面的第十种实现方式,本公开在第一方面的第十一种实现方式中,所述第三特征值是所述候选第二召回物品数据的排序得分与权重分的乘积,其中,所述权重分是所述候选第二召回物品数据所对应的第二物品数据的第二特征值,所述排序得分是所述候选第二召回物品数据所对应的第一召回物品数据与所述候选第二召回物品数据的向量距离。

第二方面,本公开实施例中提供了一种数据处理装置。

具体地,所述数据处理装置,包括:

获取模块,被配置为获取第一物品数据;

获得模块,被配置为通过处理器根据所述第一物品数据,利用训练好的第一模型获得第一物品数据向量;

第一确定模块,被配置为通过处理器对所述第一物品数据向量和第二物品数据向量进行向量召回计算,根据计算结果确定所述第一物品数据的对应第二物品数据,所述第一物品与所述对应第二物品存在关联关系且为不同类型的物品;

第二确定模块,被配置为根据所述第一物品数据的所述对应第二物品数据确定第一召回物品数据,所述第一召回物品与所述第二物品是相同类型的物品。

结合第二方面,本公开在第二方面的第一种实现方式中,所述第一模型的训练过程,包括:

获取训练数据,所述训练数据包括第一物品样本数据和第二物品样本数据;

基于所述训练数据训练所述第一模型,得到训练好的所述第一模型和所述第二物品数据向量,其中,所述第一模型包括bert模型。

结合第二方面,本公开在第二方面的第二种实现方式中,所述对所述第一物品数据向量和第二物品数据向量进行向量召回计算,根据计算结果确定所述第一物品数据的对应第二物品数据,包括:

计算所述第二物品数据向量的第一特征值,其中,所述第一特征值表示所述第一物品数据向量和所述第二物品数据向量的匹配度;

根据所述第一特征值,确定所述第一物品数据的对应第二物品数据。

结合第二方面的第二种实现方式,本公开在第二方面的第三种实现方式中,所述根据所述第二物品数据确定第一召回物品数据,包括:

根据多个所述第一物品数据的所述对应第二物品数据的所述第一特征值计算所述对应第二物品数据的第二特征值;

根据所述对应第二物品数据的第二特征值确定所述第一召回物品数据。

结合第二方面,本公开在第二方面的第四种实现方式中,还包括:

第三确定模块,被配置为通过处理器,根据所述第一召回物品数据,从第三物品数据集合中确定第二召回物品数据,所述第二召回物品与所述第一召回物品是相同类型的物品。

结合第二方面的第四种实现方式,本公开在第二方面的第五种实现方式中,所述根据所述第一召回物品数据,从第三物品数据集合中确定第二召回物品数据,包括:

根据所述第一召回物品数据,通过分词匹配确定候选第二召回物品数据的第一候选集合;和/或

根据所述第一召回物品数据,利用向量召回模型确定候选第二召回物品数据的第二候选集合;和/或

根据所述第一召回物品数据,利用同义词召回模型确定候选第二召回物品数据的第三候选集合;

基于所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合,确定所述第二召回物品数据。

结合第二方面的第五种实现方式,本公开在第二方面的第六种实现方式中,所述根据所述第一召回物品数据,通过分词匹配确定所述候选第二召回物品数据的第一候选集合,包括:

通过分词器对所述第一召回物品数据以及所述第三物品数据做分词处理,获取第一召回物品分词数据以及第三物品分词数据;

基于所述第一召回物品分词数据以及所述第三物品分词数据进行分词匹配,确定所述候选第二召回物品数据的第一候选集合。

结合第二方面的第五种实现方式,本公开在第二方面的第七种实现方式中,所述根据所述第一召回物品数据,利用向量召回模型确定所述候选第二召回物品数据的第二候选集合,包括:

根据所述第一召回物品数据,利用所述第一模型获得所述第一召回物品数据向量;

根据所述第三物品数据,利用第二模型获得所述第三物品数据向量;

对所述第一召回物品数据向量和所述第三物品数据向量进行向量召回计算,根据计算结果确定所述候选第二召回物品数据的第二候选集合。

结合第二方面的第七种实现方式,本公开在第二方面的第八种实现方式中,所述根据所述第三物品数据,利用第二模型获得所述第三物品数据向量,包括:

当所述第三物品数据与所述第一召回物品数据匹配时,将所述第一召回物品数据向量作为所述第三物品初始化数据向量;

基于所述第三物品初始化数据向量,利用所述第二模型获得所述第三物品数据向量。

结合第二方面的第五种实现方式,本公开在第二方面的第九种实现方式中,所述根据所述第一召回物品数据,利用同义词召回模型确定所述候选第二召回物品数据的第三候选集合,包括:

根据所述第一召回物品数据,获取所述第一召回物品同义词数据;

基于所述第一召回物品同义词数据,确定所述候选第二召回物品数据的第三候选集合。

结合第二方面的第五种实现方式,本公开在第二方面的第十种实现方式中,所述基于所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合,确定所述第二召回物品数据,包括:

确定所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合中的所述候选第二召回物品数据的第三特征值;

针对属于同一种类的所述候选第二召回物品,根据所述第三特征值将所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合的所述候选第二召回物品数据进行排序;

基于所述排序结果从所述候选第二召回物品数据中确定所述第二召回物品数据。

结合第二方面的第十种实现方式,本公开在第二方面的第十一种实现方式中,所述第三特征值是所述候选第二召回物品数据的排序得分与权重分的乘积,其中,所述权重分是所述候选第二召回物品数据所对应的第二物品数据的第二特征值,所述排序得分是所述候选第二召回物品数据所对应的第一召回物品数据与所述候选第二召回物品数据的向量距离。

第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现以下方法步骤:

获取第一物品数据;

通过处理器根据所述第一物品数据,利用训练好的第一模型获得第一物品数据向量;

通过处理器对所述第一物品数据向量和第二物品数据向量进行向量召回计算,根据计算结果确定所述第一物品数据的对应第二物品数据,所述第一物品与所述对应第二物品存在关联关系且为不同类型的物品;

根据所述第一物品数据的所述对应第二物品数据确定第一召回物品数据,所述第一召回物品与所述第二物品是相同类型的物品。

第四方面,本公开实施例中提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面、第一方面的第一种实现方式至第十一种实现方式任一项所述的方法。

根据本公开实施例提供的技术方案,在获取第一物品数据之后,通过处理器根据第一物品数据,利用训练好的第一模型获得第一物品数据向量,再通过处理器对第一物品数据向量和第二物品数据向量进行向量召回计算,根据计算结果确定第一物品数据的对应第二物品数据,且第一物品与对应第二物品存在关联关系且为不同类型的物品,根据第一物品数据的对应第二物品数据确定第一召回物品数据,且第一召回物品与第二物品是相同类型的物品。本公开实施例通过对实体对象的第一物品数据进行解析,获取与第一物品数据对应的第二物品数据,并确定第一召回物品数据,从而高效地解决了实体对象冷启动困难的问题,同时,通过分析确定与第一物品关联更高的召回物品,能够更好地捕捉实体对象的真实需求。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:

图1示出根据本公开实施例的数据处理方法的系统示意图;

图2示出根据本公开实施例的数据处理方法的流程图;

图3示出根据本公开实施例的所述第一模型的训练过程的流程图;

图4示出根据本公开实施例对所述第一物品数据向量和第二物品数据向量进行向量召回计算,根据计算结果确定所述第一物品数据的对应第二物品数据的流程图;

图5示出根据本公开实施例的根据所述第二物品数据确定第一召回物品数据的流程图;

图6示出根据本公开实施例的数据处理方法的流程图;

图7示出根据本公开实施例的根据所述第一召回物品数据,通过分词匹配确定所述候选第二召回物品数据的第一候选集合的流程图;

图8示出根据本公开实施例的根据所述第一召回物品数据,利用向量召回模型确定所述候选第二召回物品数据的第二候选集合的流程图;

图9示出根据本公开实施例的根据所述第三物品数据,利用第二模型获得所述第三物品数据向量的流程图;

图10示出根据本公开实施例的根据所述第一召回物品数据,利用同义词召回模型确定所述候选第二召回物品数据的第三候选集合的流程图;

图11示出根据本公开实施例的基于所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合,确定所述第二召回物品数据的流程图;

图12示出根据本公开实施例的数据处理方法的应用场景示意图;

图13示出根据本公开的实施例的数据处理装置的结构框图;

图14示出根据本公开的实施例的电子设备的结构框图;

图15示出适于用来实现根据本公开实施例的数据处理方法的计算机系统的结构示意图。

具体实施方式

下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。

在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。

在本公开中获取或展示的用户数据均经用户授权、确认、或由用户主动选择。另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。

现有技术中,互联网的推荐系统一般采用以下召回算法建立用户与物品之间的联系:根据用户对物品的偏好,采用基于物品的协同过滤及其各类优化方法;根据具有类似偏好的用户,采用基于用户的协同过滤;根据用户/物品特征属性,采用向量召回、基于矩阵分解召回或基于标签召回等。上述召回算法都是基于用户的行为,即用户发生了某种行为再对其做召回推荐,并不能较好地解决用户冷启动问题,特别是当用户的历史行为数据量较少时,容易导致推荐失败。同时,由于上述召回算法需要基于用户已经发生的行为,因此,很难捕捉用户的最新需求,导致召回以及推荐的物品结果时效性差且有效性低。

例如,在餐饮领域,互联网平台在推荐物品时,现有技术之一为根据用户历史行为挖掘相关信息,例如,根据商户历史购买原材料信息记录,通过协调过滤或者swing算法挖掘出商户潜在感兴趣的原材料商品,然后进行排序召回。现有技术之二为根据人工标签做召回,例如,通过人工标注方式给商户和/或原材料标注出能够准确表达其属性的关键词,再通过匹配算法计算商户感兴趣标签下的热门原材料商品,然后进行排序召回。上述现有技术存在以下问题:(1)需要基于商户的历史行为,并不能较好地解决商户冷启动问题,且很难捕捉商户未表现出的需求;(2)没有考虑商户自身门店的销售菜品信息,更没有考虑商户销售菜品所需的原材料信息,若直接建立商户销售菜品与商户购买原材料之间的关系时,很难获取原始数据,需要大量的人力成本,导致召回的效率较低;(3)由于商户销售菜品标签以及商户购买原材料标签类目千差万别,需要大量的人力成本去梳理以及维护。

为至少部分地解决发明人发现的现有技术中的问题而提出本公开。

本公开实施例的数据处理方法可以由至少一个计算机设备执行,所述计算机设备例如可以为服务器或云计算平台等,所述至少一个计算机设备可以是单台服务器,也可以是由多个服务器组成的服务器集群。所述至少一个计算机设备可以通过有线或无线网络彼此互连和与其他计算机设备(例如服务器、服务器集群或终端设备)通信。

图1示出根据本公开实施例的数据处理方法的系统示意图。如图1所示,所述系统包括至少一个第一服务器101、至少一个第二服务器102,和至少一个手机和/或电脑终端103,其中,至少一个第一服务器101与至少一个第二服务器102之间,以及至少一个第一服务器101与至少一个手机和/或电脑终端103之间通过有线或无线网络连接。至少一个第一服务器101可以用于执行根据本公开实施例的数据处理方法。至少一个第二服务器102可以用于以下至少一项操作:训练和/或存储数据处理方法所需的模型;获取和/或存储模型训练所需的样本数据;获取和/或存储根据本公开实施例的数据处理方法中使用的其他数据。至少一个手机和/或电脑终端103可以用于输入根据本公开实施例的数据处理方法中模型训练所需的样本数据和/或根据本公开实施例的数据处理方法中使用的其他数据。至少一个手机和/或电脑终端103还可以用于响应于用户输入实体对象的标识信息而输出向所述实体对象的推荐结果。

图2示出根据本公开实施例的数据处理方法的流程图,所述数据处理方法在服务器101侧执行。如图2所示,所述数据处理方法包括以下步骤s201-s204:

在步骤s201中,获取第一物品数据;

在步骤s202中,通过处理器根据所述第一物品数据,利用训练好的第一模型获得第一物品数据向量;

在步骤s203中,通过处理器对所述第一物品数据向量和第二物品数据向量进行向量召回计算,根据计算结果确定所述第一物品数据的对应第二物品数据,所述第一物品与所述对应第二物品存在关联关系且为不同类型的物品;

在步骤s204中,根据所述第二物品数据确定第一召回物品数据,所述第一召回物品与所述第二物品是相同类型的物品。

根据本公开的实施例,第一物品为实体对象执行特定动作的处理对象,其中,实体对象包括但不限于零售、制造、电子商务、外卖或医疗卫生等领域的单位、企业或商户,特定动作包括采购或销售等动作。第一物品数据包括第一物品的标识信息,其中,第一物品的标识信息例如可以包括第一物品的中文文本名称、英文文本名称和物品编码(比如中国物品编码中心的物品编码)中的一种或多种。根据本公开的实施例,第一物品数据还可以包括第一物品的特征信息。第一物品的特征信息例如可以包括实体对象对第一物品执行特定动作的次数、执行特定动作时第一物品的数量、第一物品的排序信息、第一物品的价值信息(比如第一物品的价格等)和第一物品的资源信息(比如第一物品的售卖者信息等)中的一种或多种。

根据本公开的实施例,所述步骤s201,即获取第一物品数据,可以被实施为:根据实体对象的标识信息,获取第一物品数据。实体对象的标识信息例如包括实体对象的名称或者id,可以通过终端103输入实体对象的标识信息并将实体对象的标识信息发送至服务器101,服务器101接收实体对象的标识信息并确定实体对象的第一物品数据。根据本公开的实施例,服务器101可以获取与该实体对象有关的所有第一物品的数据,也可以根据设定或用户选择而仅获取部分第一物品的数据。本公开实施例将以餐饮领域为例进行说明,但本公开不限于此,而是也适用于其他领域。例如,实体对象为可以通过服务器101对应的互联网平台提供菜品的商户,第一物品为菜品,当商户通过终端103输入商户id时,服务器101可以通过商户的id,获取商户在互联网平台上销售的菜品数据,例如,菜品的名称。根据本公开实施例,服务器101还可以通过商户的id,获取菜品的价格、菜品的销量和菜品的排序等,可以获取该商户的所有菜品的第一物品数据,也可以根据菜品的排序,获取排名靠前的部分菜品的第一物品数据。

根据本公开的实施例,第一物品与对应第二物品存在关联关系且为不同类型的物品,其中,第二物品可以为第一物品的原材料或者组成部件,通过对第二物品执行特定动作(加工或组装等)之后可以形成第一物品,例如,餐饮领域,第一物品可以为菜品,第二物品可以为原材料,比如,第一物品为西红柿炒鸡蛋,第二物品可以为西红柿和鸡蛋等原材料。例如,汽车领域,第一物品可以为汽车,第二物品可以为汽车的零部件,比如,发动机、底盘、车身和电气设备等。第二物品数据包括第二物品的标识信息,其中,第二物品的标识信息包括第二物品的中文文本名称、英文文本名称和物品编码中的一种或多种。第二物品数据还可以包括第二物品的特征信息,例如为了形成第一物品所需的第二物品的数量、第二物品的价值信息和第二物品的资源信息中的一种或多种。

根据本公开的实施例,可以利用第一物品数据与第二物品数据之间的关联关系来基于第一物品数据召回第二物品数据,其中第二物品数据和/或第二物品数据向量可以预存储在用于实现根据本公开实施例的数据处理方法的系统中。例如,可以先获取第一物品数据向量和第二物品数据向量,再通过第一物品数据向量与第二物品数据向量之间的距离来度量第一物品数据与第二物品数据之间的关联关系,召回与第一物品数据关联较大的第二物品数据。根据本公开的实施例,可以借助于训练好的第一模型来获取第一物品数据向量,例如,根据第一物品数据标识信息中的第一物品中文文本名称获取第一物品所对应的词嵌入向量(embedding向量),本公开对第一模型不做具体限定,只要可以实现将文本信息转换为embedding向量的模型均在本公开实施例的保护范围之内,比如,汉语语音模型(clm模型)、连续词袋模型(cbow模型)、word2vector模型、item2vector模型或bert模型等。

根据本公开的实施例,针对每个第一物品数据向量,计算该第一物品数据向量与第二物品数据向量之间的向量距离,例如,欧式距离、cos距离、曼哈顿距离等,然后根据计算的向量距离结果,确定该第一物品数据对应的第二物品数据,由于第一物品数据向量与第二物品数据向量之间的向量距离越近,代表第一物品数据和第二物品数据之间的关联度越高,从而将与第一物品数据关联度较高(向量距离较近)的一个或多个第二物品数据确定为该第一物品数据对应第二物品数据。

根据本公开的实施例,第一召回物品与第二物品是相同类型的物品,例如,当第二物品为原材料时,第一召回物品也为原材料;当第二物品为零部件时,第一召回物品也为零部件。由于一个实体对象对应多个第一物品数据,且每个第一物品数据有多个对应第二物品数据,因此,可以针对多个第一物品数据的多个对应第二物品数据来确定第一召回物品数据。第一召回物品数据可以包括第一召回物品的标识信息,例如,第一召回物品的标识信息包括第一召回物品的中文文本名称、英文文本名称和物品编码中的一种或多种。第一召回物品数据还可以包括第一召回物品的特征信息,例如包括第一召回物品的数量、第一召回物品的价值信息和第一召回物品的来源信息中的一种或多种。

根据本公开实施例提供的技术方案,在获取第一物品数据之后,通过处理器根据第一物品数据,利用训练好的第一模型获得第一物品数据向量,再通过处理器对第一物品数据向量和第二物品数据向量进行向量召回计算,根据计算结果确定第一物品数据的对应第二物品数据,且第一物品与对应第二物品存在关联关系且为不同类型的物品,根据第一物品数据的对应第二物品数据确定第一召回物品数据,且第一召回物品与第二物品是相同类型的物品。本公开实施例通过对实体对象的第一物品数据进行解析,获取与第一物品数据对应的第二物品数据,并确定第一召回物品数据,从而高效地解决了实体对象冷启动困难的问题,同时,通过分析确定与第一物品关联更高的召回物品,能够更好地捕捉实体对象的真实需求。

图3示出根据本公开实施例的所述第一模型的训练过程的流程图。如图3所示,所述第一模型的训练过程包括以下步骤s301-s302:

在步骤s301中,获取训练数据,所述训练数据包括第一物品样本数据和第二物品样本数据;

在步骤s302中,基于所述训练数据训练所述第一模型,得到训练好的所述第一模型和所述第二物品数据向量,其中,所述第一模型包括bert模型。

根据本公开的实施例,本公开对获取训练数据的具体方法不做具体限定,例如,可以通过公开数据库和/或通过实体对象在终端103主动输入的信息中获取第一物品样本数据和第二物品样本数据所组成的训练数据。其中,第一物品样本数据与第一物品数据是同一类型的数据,第二物品样本数据与第二物品数据是同一类型的数据。例如,在餐饮领域,有些公开数据库会公开各种菜品以及菜品对应的原材料数据,比如,西红柿炒鸡蛋的原材料数据包括:西红柿、鸡蛋、蒜、葱白和小葱等,可以将菜品名称“西红柿炒鸡蛋”作为第一物品样本数据,可以把西红柿、鸡蛋、蒜、葱白和小葱等原材料作为西红柿炒鸡蛋对应的第二物品样本数据;又例如,在餐饮领域,实体对象通过终端103主动输入了各种菜品以及菜品对应的原材料数据,比如,菜品“西红柿牛腩”的原材料数据包括:西红柿、牛腩、姜、小葱和辣椒等,可以将西红柿牛腩作为第一物品样本数据,可以把西红柿、牛腩、姜、小葱和辣椒作为西红柿牛腩对应的第二物品样本数据。

应理解,本公开的实施例将以第一模型为bert模型为例进行说明,但不应该作为对本公开的限制。bert模型是一种自然语言识别模型,其核心架构包括预设层数的运算层(比如12层),其中,运算层为转换器(transformers),各个transformers可以基于注意力机制对文本信息进行特征提取,以及对文本信息进行编码和解码。由于bert模型为已经预训练完成的模型,在应用bert模型时,只需根据具体的自然语言处理任务,对该预训练bert模型中的各个参数进行调整即可。

根据本公开的实施例,可以通过第一物品样本数据和第二物品样本数据对该bert模型中的参数进行调整,即将第一物品样本数据以及第一物品样本数据的对应第二物品样本数据同时输入至预训练的bert模型,首先根据第一物品样本数据确定第一物品样本数据向量,根据第一物品样本数据的对应第二物品样本数据确定第二物品样本数据向量,然后基于预设层数的运算层将第一物品样本数据向量和第二物品样本数据向量进行特征提取、编码和解码处理,从而重新确定bert模型中的参数,并获取适用于本公开实施例的训练好的bert模型。将第一物品数据和/或第二物品数据输入至训练好的bert模型,可以获取第一物品数据向量和/或第二物品数据向量。

图4示出根据本公开实施例对所述第一物品数据向量和第二物品数据向量进行向量召回计算,根据计算结果确定所述第一物品数据的对应第二物品数据的流程图。如图4所示,所述步骤s203,即对所述第一物品数据向量和第二物品数据向量进行向量召回计算,根据计算结果确定所述第一物品数据的对应第二物品数据,包括以下步骤s401-s402:

在步骤s401中,计算所述第二物品数据向量的第一特征值,其中,所述第一特征值表示所述第一物品数据向量和所述第二物品数据向量的匹配度;

在步骤s402中,根据所述第一特征值,确定所述第一物品数据的对应第二物品数据。

根据本公开的实施例,可以通过第一物品数据向量与多个第二物品数据向量之间的向量距离来确定第二物品数据向量的第一特征值,第一特征值可以表示第一物品数据向量和第二物品数据向量的匹配度。例如,可以定义向量距离与第一特征值成反比例关系,即向量距离越近则第一特征值越大,比如,可以设定用第一预设参数除以向量距离以得到第一特征值。或者,可以定义向量距离与第一特征值成正比例关系,即向量距离越近则第一特征值越小,比如,将向量距离乘以第二预设参数以得到第一特征值。可以根据实际需要进行选择第一预设参数和第二预设参数的具体取值,本公开不做具体限定。

下面,本公开的实施例将以向量距离与第一特征值成反比例关系为例进行说明,即向量距离越小,第一特征值越大,第一物品数据向量和第二物品数据向量的匹配度越高,但本公开不限于此。

根据本公开的实施例,可以设定预设第一特征值阈值,将第一特征值大于预设第一特征值阈值的第二物品数据向量所对应的第二物品数据确定为第一物品数据的对应第二物品数据;又例如,可以将第一特征值按照从大到小的次序进行排列,可以依据排列次序,从大到小依次选取第一预设数量的第二物品数据向量所对应的第二物品数据确定为第一物品数据的对应第二物品数据,比如,将第一特征值排前10名的第二物品数据向量所对应的第二物品数据确定为第一物品数据的对应第二物品数据。

图5示出根据本公开实施例的根据所述第二物品数据确定第一召回物品数据的流程图。如图5所示,所述步骤s204,即根据所述第二物品数据确定第一召回物品数据,包括以下步骤s501-s502:

在步骤s501中,根据多个所述第一物品数据的所述对应第二物品数据的所述第一特征值计算所述对应第二物品数据的第二特征值;

在步骤s502中,根据所述对应第二物品数据的第二特征值确定所述第一召回物品数据。

根据本公开的实施例,由于每个第一物品数据可能有一个或多个对应第二物品数据,因此可能会出现不同的第一物品数据具有一个或多个相同的对应第二物品数据的情况,因此,可以对不同的第一物品数据的相同对应第二物品数据的第一特征值进行求和或加权求和,从而确定第二物品数据的第二特征值,本公开对权重的具体取值不做具体限定,比如,可以将所有的权重设置为相同的数值(例如,1),也可以将至少部分权重设置为不同的数值。例如,对于需求量大的第一物品所对应的第二物品数据的第一特征值可以给予更高的权重。例如,在餐饮领域,第一物品样本数据西红柿炒鸡蛋和第一物品样本数据西红柿牛腩包括相同的对应第二物品数据西红柿,在确定第二样本数据西红柿的第二特征值时,可以将西红柿炒鸡蛋中西红柿的第一特征值和西红柿牛腩中西红柿的第一特征值进行求和或加权求和,从而确定第二样本数据西红柿的第二特征值。

根据本公开的实施例,可以设定预设第二特征值阈值,将第二特征值大于预设第二特征值阈值的第二物品数据确定为第一召回物品数据;又例如,可以将第二特征值按照从大到小的次序进行排列,可以依据排列次序,从大到小依次选取第二预设数量的第二物品数据确定为第一召回物品数据,比如,可以将第二特征值排前20名的第二物品数据确定为第一召回物品数据。

图6示出根据本公开实施例的数据处理方法的流程图。如图6所示,所述数据处理方法除了包括如图2所示的步骤s201-s204之外,还包括以下步骤s205:

在步骤s205中,通过处理器,根据所述第一召回物品数据,从第三物品数据集合中确定第二召回物品数据,所述第二召回物品与所述第一召回物品是相同类型的物品。

根据本公开的实施例,第三物品数据集合中包括多个第三物品数据,第三物品和第二召回物品与第一召回物品是相同类型的物品,例如,当第一召回物品为原材料时,第三物品和第二召回物品也为原材料;当第一召回物品为零部件时,第三物品和第二召回物品也为零部件。由于第一召回物品数据是根据实体对象的第一物品数据确定的,因此,可以根据第一召回物品数据确定第二召回物品数据,从而通过第一召回物品数据建立第一物品数据与第二召回物品数据之间的关联。例如,在餐饮领域,第一物品为商户菜品,第一召回物品为商户菜品所对应的原材料,第二召回物品为原材料供应商提供的原材料商品,通过将商户菜品所对应的原材料融入到召回算法中,从而建立从商户菜品到商户菜品所对应的原材料到原材料供应商提供的原材料商品的整体召回路径。例如,在汽车制造领域,第一物品为汽车产品,第一召回物品为汽车产品所对应的零部件,第二召回物品为零部件供应商提供的零部件商品,通过将汽车产品所对应的零部件融入到召回算法中,从而建立从汽车产品到汽车产品所对应的零部件到零部件供应商提供的零部件商品的整体召回路径。

根据本公开实施例提供的技术方案,实现了从实体对象的第一物品数据到第一召回物品数据到原料(例如,原材料或零部件)的第二召回物品数据的整体召回路径,减少了人工标签的成本,基于实体对象的第一物品数据进行召回操作,实现了不依赖于实体对象的历史行为数据的召回算法,提升了召回架构的稳定性和推荐系统的准确率,提高了召回物品以及推荐物品的时效性及相关度。

根据本公开实施例,所述步骤s205,即根据所述第一召回物品数据,从第三物品数据集合中确定第二召回物品数据,包括:

根据所述第一召回物品数据,通过分词匹配确定候选第二召回物品数据的第一候选集合;和/或

根据所述第一召回物品数据,利用向量召回模型确定候选第二召回物品数据的第二候选集合;和/或

根据所述第一召回物品数据,利用同义词召回模型确定候选第二召回物品数据的第三候选集合;

基于所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合,确定所述第二召回物品数据。

由于不同的召回方式具有不同的侧重点,为了更加准确、全面地确定第二召回物品数据,根据本公开的实施例,可以根据多个不同的召回方式从第三物品数据集合中确定第二召回物品数据。例如,基于已经获取的第一召回物品数据,可以通过分词匹配确定第一候选集合和/或通过向量召回模型确定第二候选集合和/或通过同义词召回模型确定第三候选集合,然后基于第一候选集合和/或第二候选集合和/或第三候选集合确定第二召回物品数据。本公开对第一候选集合和/或第二候选集合和/或第三候选集合中包括的候选第二召回物品数据的数量不做具体限定,可以根据实际需要进行确定。

图7示出根据本公开实施例的根据所述第一召回物品数据,通过分词匹配确定所述候选第二召回物品数据的第一候选集合的流程图。

如图7所示,所述根据所述第一召回物品数据,通过分词匹配确定所述候选第二召回物品数据的第一候选集合,包括以下步骤s701-s702:

在步骤s701中,通过分词器对所述第一召回物品数据以及所述第三物品数据做分词处理,获取第一召回物品分词数据以及第三物品分词数据;

在步骤s702中,基于所述第一召回物品分词数据以及所述第三物品分词数据进行分词匹配,确定所述候选第二召回物品数据的第一候选集合。

根据本公开的实施例,第一召回物品数据和第三物品数据往往是不能直接匹配的。例如,第一召回物品数据可能是“黄豆酱”,第三物品数据可能是“大海牌黄豆酱”,二者不能直接匹配。为了实现第一召回物品数据和第三物品数据之间的准确匹配,可以利用分词器分别对第一召回物品数据以及第三物品数据进行分词处理,从而获取一个或多个第一召回物品分词数据以及一个或多个第三物品分词数据,本公开对具体的分词器数量以及种类不做具体限定,可以根据实际需要进行限定。例如,在餐饮领域,当第一召回物品数据为“黄豆酱”,第三物品数据为“黄豆大瓶酱”时,对“黄豆酱”进行分词处理,可以得到第一召回物品分词数据,其中包括三个分词结果“黄豆”、“酱”、“黄豆酱”,对“黄豆大瓶酱”进行分词处理,可以得到第三物品分词数据,其中包括三个分词结果“黄豆”、“大瓶”、“酱”。然后将第一召回物品分词数据与第三物品分词数据按照预设匹配规则进行匹配,并根据匹配结果确定第一候选集合。本公开的实施例通过对第一召回物品数据以及第三物品数据做分词处理来实现第一召回物品数据和第三物品数据之间的准确匹配。

根据本公开的实施例,可以结合具体的应用领域,获取预设分词器。具体地,可以被实施为:获取所述第一召回物品数据和/或所述第三物品数据的标注数据;确定预选分词器集合,其中,所述预选分词器集合包括一个或多个分词器;利用所述第一召回物品数据和/或所述第三物品数据的标注数据,分别测试所述预选分词器集合中的每个所述分词器的效果;根据所述测试效果,将测试效果最好的所述分词器确定为候选分词器;基于所述第一召回物品数据和/或所述第三物品数据的标注数据,确定自定义词典;将所述自定义词典载入所述候选分词器;获取所述预设分词器。当获取了预设分词器之后,可以通过预设分词器对第一召回物品数据以及第三物品数据做分词处理,由于预设分词器是根据具体的应用领域中的标注数据获取的,因此获取的第一召回物品分词数据以及第三物品分词数据更具有针对性。例如,餐饮领域以及汽车领域包括不同的专业词汇,可以基于餐饮领域的专业词汇的标注数据获取餐饮领域的预设分词器;可以基于汽车领域的专业词汇的标注数据获取汽车领域的预设分词器。预设分词器支持动态词典的载入,当有新增的第一召回物品数据和/或第三物品数据时,即当某个领域出现新的专业词汇时,可以提取新的专业词汇的词典并及时载入至预设分词器。

根据本公开的实施例,所述步骤s702,即基于所述第一召回物品分词数据以及所述第三物品分词数据进行分词匹配,确定所述候选第二召回物品数据的第一候选集合,可以被实施为:基于所述第一召回物品数据中的文本长度p和/或所述第一召回物品分词数据的分词结果数量q,将所述第一召回物品分词数据以及所述第三物品分词数据按照预设匹配规则进行匹配,确定所述候选第二召回物品数据的第一候选集合。例如,在餐饮领域,当第一召回物品数据包括“黄豆酱”时,获取的分词可以为“黄豆”、“酱”或“黄豆酱”,即第一召回物品数据中的文本长度为3且第一召回物品分词数据的分词结果数量为3。预设匹配规则可以包括第一匹配规则或第二匹配规则,其中,第一匹配规则可以为模糊匹配规则;第二匹配规则可以为精确匹配规则。

根据本公开的实施例,第一匹配规则是通过匹配率来确定候选第二召回物品数据。首先,确定与第三物品分词结果完全匹配的第一召回物品分词结果的数量m,再计算数量m与第一召回物品分词数据的分词结果数量q的比值作为匹配率,所述匹配率例如可以为比值的百分比形式,将匹配率高于预设匹配率的第三物品分词数据所对应的第三物品数据确定为候选第二召回物品数据。例如,第一召回物品分词数据包括分词结果“黄豆”、“酱”或“黄豆酱”,即q=3,假设第三物品分词数据包括分词结果“黄豆”、“大瓶”、“酱”,则与第三物品分词结果完全匹配的第一召回物品分词结果为“黄豆”和“酱”,即数量m=2,则可以获取匹配率为66.67%,假设预设匹配率为80%,则第三物品数据“黄豆酱”不能确定为候选第二召回物品数据;假设预设匹配率为60%,则第三物品数据“黄豆酱”可以确定为候选第二召回物品数据,可以将第三物品数据“黄豆酱”加入至第一候选集合。

下表示意性示出了根据本公开实施例的第二匹配规则。

上表中第三列的“匹配”是指与第三物品分词数据中的分词结果进行匹配。可以将符合第二匹配规则的第三物品分词数据所对应的第三物品数据加入第一候选集合。

图8示出根据本公开实施例的根据所述第一召回物品数据,利用向量召回模型确定所述候选第二召回物品数据的第二候选集合的流程图。如图8所示,根据所述第一召回物品数据,利用向量召回模型确定所述候选第二召回物品数据的第二候选集合,包括以下步骤s801-s803:

在步骤s801中,根据所述第一召回物品数据,利用所述第一模型获得所述第一召回物品数据向量;

在步骤s802中,根据所述第三物品数据,利用第二模型获得所述第三物品数据向量;

在步骤s803中,对所述第一召回物品数据向量和所述第三物品数据向量进行向量召回计算,根据计算结果确定所述候选第二召回物品数据的第二候选集合。

根据本公开的实施例,由于第一召回物品与第二物品是相同类型的物品,且可以基于第一模型(bert模型)获取第二物品数据对应的第二物品数据向量,因此,将第一召回物品数据输入至训练好的第一模型(bert模型),可以获取第一召回物品数据向量。

根据本公开的实施例,可以利用第二模型获取第三物品数据向量,例如,根据第三物品数据标识信息中的第三物品中文文本名称获取第三物品所对应的embedding向量。其中,第一模型和第二模型可以为相同的模型,也可以为不相同的模型,本公开对第二模型不做具体限定,只要可以实现将文本信息转换为embedding向量的模型均在本公开实施例的保护范围之内,比如,汉语语音模型(clm模型)、连续词袋模型(cbow模型)、word2vector模型、item2vector模型或bert模型等。

根据本公开的实施例,对第一召回物品数据向量和第三物品数据向量进行向量召回计算的具体实现细节,与步骤s203的具体实现细节类似,即通过处理器对所述第一物品数据向量和第二物品数据向量进行向量召回计算,因此,在此不再赘述。

图9示出根据本公开实施例的根据所述第三物品数据,利用第二模型获得所述第三物品数据向量的流程图。如图9所示,所述步骤s802,即根据所述第三物品数据,利用第二模型获得所述第三物品数据向量,包括以下步骤s901-s902:

在步骤s901中,当所述第三物品数据与所述第一召回物品数据匹配时,将所述第一召回物品数据向量作为所述第三物品初始化数据向量;

在步骤s902中,基于所述第三物品初始化数据向量,利用所述第二模型获得所述第三物品数据向量。

应理解,本公开的实施例将以第二模型为item2vector模型为例进行说明,但不应该作为对本公开的限制。item2vector模型来源于word2vector模型,且item2vector模型架构与word2vector模型中的skip-gram模型架构相同,因此,item2vector模型与word2vector的训练过程类似,即将item(第三物品数据)视为word(单词)进行处理,从而获取第三物品数据向量。

根据本公开的实施例,为了使第一召回物品数据向量和第三物品数据向量可以进行向量召回计算,可以使第一召回物品数据向量和第三物品数据向量处于同一向量区间。由于在步骤s801中已经利用第一模型获取了第一召回物品数据向量,且第三物品与所述第一召回物品为相同类型物品,因此,当第三物品数据与第一召回物品数据匹配时,比如,第一召回物品数据包括第三物品数据,或者第一召回物品数据与第三物品数据相同,可以将已经获取的第一召回物品数据向量作为第三物品初始化数据向量。通过上述初始化操作,实现了使第一召回物品数据向量和第三物品数据向量处于同一向量区间,从而为第一召回物品数据向量和第三物品数据向量可以进行向量召回计算奠定基础。然后基于第三物品初始化数据向量,利用item2vector模型进行不断迭代,从而获取第三物品数据向量。

图10示出根据本公开实施例的根据所述第一召回物品数据,利用同义词召回模型确定所述候选第二召回物品数据的第三候选集合的流程图。如图10所示,所述根据所述第一召回物品数据,利用同义词召回模型确定所述候选第二召回物品数据的第三候选集合,包括以下步骤s1001-s1002:

在步骤s1001中,根据所述第一召回物品数据,获取所述第一召回物品同义词数据;

在步骤s1002中,基于所述第一召回物品同义词数据,确定所述候选第二召回物品数据的第三候选集合。

根据本公开的实施例,由于第一物品召回数据可能是第三物品数据的同义词,例如“地瓜”和“红薯”属于同义词,因此可以利用同义词扩展模型和/或公开的同义词扩展数据库对第一召回物品数据进行同义词扩展,从而获取一个或多个第一召回物品同义词数据,本公开对具体的同义词扩展模型和/或公开的同义词扩展数据库的数量以及种类不做具体限定,可以根据实际需要进行限定。然后,基于第一召回物品同义词数据确定第三候选集合。本公开的实施例通过对第一召回物品数据做同义词处理来将其同义词纳入召回范围,从而提高了召回结果的准确率。

图11示出根据本公开实施例的基于所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合,确定所述第二召回物品数据的流程图。如图11所示,所述基于所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合,确定所述第二召回物品数据,包括以下步骤s1101-s1103:

在步骤s1101中,确定所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合中的所述候选第二召回物品数据的第三特征值;

在步骤s1102中,针对属于同一种类的所述候选第二召回物品,根据所述第三特征值将所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合的所述候选第二召回物品数据进行排序;

在步骤s1103中,基于所述排序结果从所述候选第二召回物品数据中确定所述第二召回物品数据。

根据本公开的实施例,可以通过候选第二召回物品数据的第三特征值来确定第二召回物品数据,从而从第一候选集合和/或第二候选集合和/或第三候选集合中选取第三预设数量的候选第二召回物品数据确定为第二召回物品数据。其中,候选第二召回物品数据的第三特征值用来表示候选第二召回物品数据与第一召回物品数据之间的关联关系。由于第一候选集合和/或第二候选集合和/或第三候选集合可能包括相同的候选第二召回物品数据,可以将不同集合包括的相同的候选第二召回物品数据的第三特征值进行加权求和,从而确定候选第二召回物品数据的第三特征值,本公开对权重的具体取值不做具体限定。比如,可以将所有的权重设置为相同的数值(例如,1),也可以将至少部分权重设置为不同的数值。

根据本公开的实施例,由于候选第二召回物品可能包括一种或多种类目,可以针对每个类目的候选第二召回物品,根据第三特征值将该类目的候选第二召回物品数据进行排序,并基于排序结果在每个类目的候选第二召回物品数据中确定第四预设数量的第二召回物品数据,其中,每个种类的第四预设数量可以相等也可以不相等,当第四预设数量相等时,每个类目召回的第二召回物品数据的数量相等,当第四预设数量不相等时,每个类目召回的第二召回物品数据的数量不相等。

根据本公开的实施例,可以根据第二召回物品数据的总数,从各个类目中按比例选取第二召回物品数据。例如,假设第二召回物品数据的总数为600,第一类候选第二召回物品数据总数为1000,第二类候选第二召回物品数据总数为2000,第三类候选第二召回物品数据总数为3000,则从第一类候选第二召回物品数据中选择第三特征值最大的100个第二召回物品数据,从第二类候选第二召回物品数据中选择第三特征值最大的200个第二召回物品数据,从第三类候选第二召回物品数据中选择第三特征值最大的300个第二召回物品数据。通过分类别选取第二召回物品数据,可以有效地实现召回类别的多样性,避免召回物品集中在某一或某几个类别,而遗漏其他类别。

根据本公开的实施例,可以根据实体对象对不同类目的倾向值来确定每个类目召回的第二召回物品数据的数量。例如,在餐饮领域,候选第二召回物品可以为原材料商品,原材料商品的一级类目可以包括:半成品、餐厨用品、酒水饮料、米面粮油、禽蛋肉类、商朝便利、蔬菜水果、水产冻货和调料干货等,因此,可以先将候选第二召回物品数据按照上述一级类目进行分类,并获取九类候选第二召回物品数据;然后针对每类候选第二召回物品数据,将第三特征值按照从大到小的次序进行排列,并依据排列次序,从大到小依次选择第四预设数量的候选第二召回物品数据确定为第二召回物品数据,比如,每个类目选取50个候选第二召回物品确定为第二召回物品数据;若该商户为一家轻食店,偏好蔬菜水果,可以将蔬菜水果的第四预设数量设置为较高值,例如100,其他类目的第四预设数量设置为较低值,例如50。

根据本公开的实施例,所述第三特征值是所述候选第二召回物品数据的排序得分与权重分的乘积,其中,所述权重分是所述候选第二召回物品数据所对应的第二物品数据的第二特征值,所述排序得分是所述候选第二召回物品数据所对应的第一召回物品数据与所述候选第二召回物品数据的向量距离。

图12示出根据本公开实施例的数据处理方法的应用场景示意图。如图12所示,应用场景包括服务器1201和手机终端1202,为了描述的方便,图12的应用场景中仅绘制了一个服务器1201和一个手机终端1202,应当了解的是,该示例仅为示例使用,并非是对于本公开的限制,本公开中的服务器1201和手机终端1202的数量、种类以及连接方式可以根据实际需要进行设定,本公开对此不作具体限定。同时,本公开实施例的应用场景将以餐饮领域为例进行说明,但本公开不限于此,而是也适用于其他领域。

现有技术的召回算法为首先根据商户id获取该商户在互联网平台上购买的原材料数据,根据购买的原材料的数量,按照从大到小的次序将购买的原材料数据进行排序,假设排序靠前的10个原材料数据分别包括韭菜、鲜香菇、小药芹、绿豆芽、小青菜、生姜、香菜、香葱、包菜和白醋;然后基于上述10个原材料数据进行召回计算,假设获取排序靠前的10个召回原材料商品分别包括土豆、番茄、大黄瓜、中椒、香葱、小青菜、矿泉水、大豆油、饮料和虾糕。可见,上述召回算法是基于商户历史购买原材料的数据进行召回处理,由于该商户的历史购买原材料的行为倾向于瓜果蔬菜类目,因此,通过现有技术的召回算法,召回的原材料商品也偏向于瓜果蔬菜类目。

当采用本公开实施例的数据处理方法时,商户通过手机终端1202输入商户id,服务器1201接收商户id之后,首先,可以例如从数据库获取商户的第一物品数据,即商户在线销售的菜品数据,假设菜品数据包括菜品中文文本名称和菜品月订单量,可以根据菜品月订单量从大到小的次序将菜品数据进行排序,假设排序靠前的10个菜品数据分别包括肉丝面、荷包蛋、青菜、素鸡、素鸡面、红烧狮子头、红烧肥肠面、鸡蛋、大排和红烧牛肉面,由上述菜品数据可知,该商户销售最好的菜品是肉丝面和荷包蛋,因此,商户需求应该更倾向于猪肉和鸡蛋,而不是瓜果蔬菜类目,即上面描述的现有技术召回算法并不能准确地匹配商户的需求。

根据本公开的实施例,在获取商户菜品数据之后,本公开实施例的数据处理方法采用两层召回,其中,第一层召回是根据商户菜品数据召回第一召回物品数据,即菜品的原材料数据,具体地,根据训练好的第一模型得到的商户菜品数据向量以及菜品原材料数据向量循环进行向量召回计算,从而获得第一召回物品数据,例如排名靠前的菜品的原材料数据。然后,根据第一召回物品数据进行第二层召回,根据菜品的原材料数据通过分词匹配、向量召回模型以及同义词召回模型获得第二召回物品数据,即由服务器1201所在的互联网平台提供的原材料商品数据,根据上述10个菜品数据,经过两层召回,得到排序靠前的10个原材料商品数据分别包括肉丝、猪大排、鸡蛋、鸡肉、小青菜、大素鸡、熟肥肠、鲜香菇、鸡蛋和饮料。通过比较商户的菜品数据以及召回的原材料商品数据,可知两者之间具有很高的匹配度,因此,相比于现有技术,本公开实施例的数据处理方法可以挖掘出商户的真实需求,从而更好地满足商户的需求。

由上述召回结果可知,本公开实施例的数据处理方法通过将商户菜品所对应的原材料融入到推荐系统中,从而建立从商户菜品到商户菜品所对应的原材料到互联网平台提供的原材料商品的整体召回路径,减少了商户销售菜品标签以及商户购买原材料标签中人工标签的成本,基于商户的销售菜品进行召回操作,实现了不依赖于商户历史购买原材料的数据的召回算法,提升了召回架构的稳定性和推荐系统的准确率,提高了召回原材料商品的时效性及相关度。

图13示出根据本公开的实施例的数据处理装置的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图13所示,所述数据处理装置1300包括获取模块1310、获得模块1320、第一确定模块1330和第二确定模块1340。

所述获取模块1310被配置为获取第一物品数据;

所述获得模块1320被配置为通过处理器根据所述第一物品数据,利用训练好的第一模型获得第一物品数据向量;

所述第一确定模块1330被配置为通过处理器对所述第一物品数据向量和第二物品数据向量进行向量召回计算,根据计算结果确定所述第一物品数据的对应第二物品数据,所述第一物品与所述对应第二物品存在关联关系且为不同类型的物品;

所述第二确定模块1340被配置为根据所述第一物品数据的所述对应第二物品数据确定第一召回物品数据,所述第一召回物品与所述第二物品是相同类型的物品。

根据本公开的实施例,所述第一模型的训练过程,包括:

获取训练数据,所述训练数据包括第一物品样本数据和第二物品样本数据;

基于所述训练数据训练所述第一模型,得到训练好的所述第一模型和所述第二物品数据向量,其中,所述第一模型包括bert模型。

根据本公开的实施例,所述对所述第一物品数据向量和第二物品数据向量进行向量召回计算,根据计算结果确定所述第一物品数据的对应第二物品数据,包括:

计算所述第二物品数据向量的第一特征值,其中,所述第一特征值表示所述第一物品数据向量和所述第二物品数据向量的匹配度;

根据所述第一特征值,确定所述第一物品数据的对应第二物品数据。

根据本公开的实施例,所述根据所述第二物品数据确定第一召回物品数据,包括:

根据多个所述第一物品数据的所述对应第二物品数据的所述第一特征值计算所述对应第二物品数据的第二特征值;

根据所述对应第二物品数据的第二特征值确定所述第一召回物品数据。

根据本公开的实施例,还包括:

第三确定模块1350,被配置为通过处理器,根据所述第一召回物品数据,从第三物品数据集合中确定第二召回物品数据,所述第二召回物品与所述第一召回物品是相同类型的物品。

根据本公开的实施例,所述根据所述第一召回物品数据,从第三物品数据集合中确定第二召回物品数据,包括:

根据所述第一召回物品数据,通过分词匹配确定候选第二召回物品数据的第一候选集合;和/或

根据所述第一召回物品数据,利用向量召回模型确定候选第二召回物品数据的第二候选集合;和/或

根据所述第一召回物品数据,利用同义词召回模型确定候选第二召回物品数据的第三候选集合;

基于所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合,确定所述第二召回物品数据。

根据本公开的实施例,所述根据所述第一召回物品数据,通过分词匹配确定所述候选第二召回物品数据的第一候选集合,包括:

通过分词器对所述第一召回物品数据以及所述第三物品数据做分词处理,获取第一召回物品分词数据以及第三物品分词数据;

基于所述第一召回物品分词数据以及所述第三物品分词数据进行分词匹配,确定所述候选第二召回物品数据的第一候选集合。

根据本公开的实施例,所述根据所述第一召回物品数据,利用向量召回模型确定所述候选第二召回物品数据的第二候选集合,包括:

根据所述第一召回物品数据,利用所述第一模型获得所述第一召回物品数据向量;

根据所述第三物品数据,利用第二模型获得所述第三物品数据向量;

对所述第一召回物品数据向量和所述第三物品数据向量进行向量召回计算,根据计算结果确定所述候选第二召回物品数据的第二候选集合。

根据本公开的实施例,述根据所述第三物品数据,利用第二模型获得所述第三物品数据向量,包括:

当所述第三物品数据与所述第一召回物品数据匹配时,将所述第一召回物品数据向量作为所述第三物品初始化数据向量;

基于所述第三物品初始化数据向量,利用所述第二模型获得所述第三物品数据向量。

根据本公开的实施例,所述根据所述第一召回物品数据,利用同义词召回模型确定所述候选第二召回物品数据的第三候选集合,包括:

根据所述第一召回物品数据,获取所述第一召回物品同义词数据;

基于所述第一召回物品同义词数据,确定所述候选第二召回物品数据的第三候选集合。

根据本公开的实施例,所述基于所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合,确定所述第二召回物品数据,包括:

确定所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合中的所述候选第二召回物品数据的第三特征值;

针对属于同一种类的所述候选第二召回物品,根据所述第三特征值将所述候选第二召回物品数据的第一候选集合和/或第二候选集合和/或第三候选集合的所述候选第二召回物品数据进行排序;

基于所述排序结果从所述候选第二召回物品数据中确定所述第二召回物品数据。

根据本公开的实施例,所述第三特征值是所述候选第二召回物品数据的排序得分与权重分的乘积,其中,所述权重分是所述候选第二召回物品数据所对应的第二物品数据的第二特征值,所述排序得分是所述候选第二召回物品数据所对应的第一召回物品数据与所述候选第二召回物品数据的向量距离。

本公开还公开了一种电子设备,图14示出根据本公开的实施例的电子设备的结构框图。

如图14所示,所述电子设备1400包括存储器1401和处理器1402;其中,

所述存储器1401用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器1402执行以实现以下方法步骤:

获取第一物品数据;

通过处理器根据所述第一物品数据,利用训练好的第一模型获得第一物品数据向量;

通过处理器对所述第一物品数据向量和第二物品数据向量进行向量召回计算,根据计算结果确定所述第一物品数据的对应第二物品数据,所述第一物品与所述对应第二物品存在关联关系且为不同类型的物品;

根据所述第一物品数据的所述对应第二物品数据确定第一召回物品数据,所述第一召回物品与所述第二物品是相同类型的物。

图15示出适于用来实现根据本公开实施例的数据处理方法的计算机系统的结构示意图。

如图15所示,计算机系统1500包括中央处理单元(cpu)1501,其可以根据存储在只读存储器(rom)1502中的程序或者从存储部分1508加载到随机访问存储器(ram)1503中的程序而执行上述实施例中的各种处理。在ram1503中,还存储有系统1500操作所需的各种程序和数据。cpu1501、rom1502以及ram1503通过总线1504彼此相连。输入/输出(i/o)接口1505也连接至总线1504。

以下部件连接至i/o接口1505:包括键盘、鼠标等的输入部分1506;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1507;包括硬盘等的存储部分1508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1509。通信部分1509经由诸如因特网的网络执行通信处理。驱动器1510也根据需要连接至i/o接口1505。可拆卸介质1511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1510上,以便于从其上读出的计算机程序根据需要被安装入存储部分1508。

特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述对象类别确定方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1509从网络上被下载和安装,和/或从可拆卸介质1511被安装。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。

作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1