对象处理方法、装置、电子设备及存储介质与流程

文档序号:24123513发布日期:2021-03-02 12:28阅读:73来源:国知局
对象处理方法、装置、电子设备及存储介质与流程

[0001]
本公开涉及计算机技术领域,具体涉及一种对象处理方法、装置、电子设备及存储介质。


背景技术:

[0002]
为了提高用户的搜索命中率,线上平台会针对产品产生产品画像。产品画像主要是为了给产品打上相应的标签,用于精确描述产品。已有技术中对产品画像的处理流程最主要的一个环节是利用相似度进行映射、分类等。而产品之间的相似度则可以使用产品名称的词向量来表述,获得产品名称的词向量之后,可以较为容易的利用词向量确定产品之间、和/或产品名称与查询关键词之间的相似度,进而为用户匹配到较为精准的产品集。


技术实现要素:

[0003]
本公开实施例提供一种对象处理方法、装置、电子设备及存储介质。
[0004]
第一方面,本公开实施例中提供了一种对象处理方法。
[0005]
具体的,所述对象处理方法,包括:
[0006]
获取多个样本用户的订单数据;其中,所述订单数据包括按照下单时间有序排列的目标对象名称;
[0007]
针对所述样本用户,将所述订单数据中的目标对象名称映射到预设的聚类名称,形成文本数据;其中,同一个预设的所述聚类名称能够被映射多个所述目标对象名称;
[0008]
根据多个所述样本用户形成的所述文本数据获取所述目标对象名称的词向量。
[0009]
结合第一方面,本公开在第一方面的第一种实现方式中,获取多个样本用户的订单数据之后,还包括:
[0010]
针对多个所述样本用户的所述订单数据中的目标对象名称,根据预定义的方式进行聚类,获得多个类别对应的所述聚类名称。
[0011]
结合第一方面和/或第一方面的第一种实现方式,本公开在第一方面的第二种实现方式中,根据预定义的方式进行聚类,获得多个类别对应的所述聚类名称,包括:
[0012]
提取所述目标对象名称中的关键词;
[0013]
根据提取出的所述关键词对所述目标对象名称进行聚类,并且将所述关键词作为对应类别的所述聚类名称。
[0014]
结合第一方面、第一方面的第一种实现方式和/或第一方面的第二种实现方式,本公开在第一方面的第三种实现方式中,将所述订单数据中目标对象名称映射到预设的聚类名称,包括:
[0015]
将所述目标对象名称映射至所属类别对应的所述聚类名称。
[0016]
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式和/或第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,根据预定义的方式进行聚类,获得多个类别对应的所述聚类名称之前,还包括:
[0017]
对所述订单数据进行预处理。
[0018]
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式和/或第一方面的第四种实现方式,本公开在第一方面的第五种实现方式中,根据多个所述样本用户形成的所述文本数据获取所述目标对象名称的词向量,包括:
[0019]
根据所述文本数据中所述聚类名称的共现次数确定所述聚类名称的词向量;
[0020]
根据所述聚类名称的词向量确定映射至所述聚类名称的所述目标对象名称的词向量。
[0021]
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式、第一方面的第四种实现方式和/或第一方面的第五种实现方式,本公开在第一方面的第六种实现方式中,还包括:
[0022]
确定与目标用户关联的关联对象;
[0023]
根据所述关联对象的名称的所述词向量确定所述关联对象的相似对象;
[0024]
将所述相似对象输出给所述目标用户。
[0025]
第二方面,本公开实施例中提供了一种对象处理装置。
[0026]
具体的,所述对象处理装置,包括:
[0027]
第一获取模块,被配置为获取多个样本用户的订单数据;其中,所述订单数据包括按照下单时间有序排列的目标对象名称;
[0028]
映射模块,被配置为针对所述样本用户,将所述订单数据中的目标对象名称映射到预设的聚类名称,形成文本数据;其中,同一个预设的所述聚类名称能够被映射多个所述目标对象名称;
[0029]
第二获取模块,被配置为根据多个所述样本用户形成的所述文本数据获取所述目标对象名称的词向量。
[0030]
所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
[0031]
在一个可能的设计中,对象处理装置的结构中包括存储器和处理器,所述存储器用于存储一条或多条支持对象处理装置执行上述第一方面中对象处理方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。所述对象处理装置还可以包括通信接口,用于对象处理装置与其他设备或通信网络通信。
[0032]
第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现以下方法步骤:
[0033]
获取多个样本用户的订单数据;其中,所述订单数据包括按照下单时间有序排列的目标对象名称;
[0034]
针对所述样本用户,将所述订单数据中的目标对象名称映射到预设的聚类名称,形成文本数据;其中,同一个预设的所述聚类名称能够被映射多个所述目标对象名称;
[0035]
根据多个所述样本用户形成的所述文本数据获取所述目标对象名称的词向量。结合第三方面,本公开在第三方面的第一种实现方式中,获取多个样本用户的订单数据之后,所述一条或多条计算机指令还被所述处理器执行以实现以下方法步骤:
[0036]
针对多个所述样本用户的所述订单数据中的目标对象名称,根据预定义的方式进行聚类,获得多个类别对应的所述聚类名称。
[0037]
结合第三方面和/或第三方面的第一种实现方式,本公开在第三方面的第二种实现方式中,根据预定义的方式进行聚类,获得多个类别对应的所述聚类名称,包括:
[0038]
提取所述目标对象名称中的关键词;
[0039]
根据提取出的所述关键词对所述目标对象名称进行聚类,并且将所述关键词作为对应类别的所述聚类名称。
[0040]
结合第三方面、第三方面的第一种实现方式和/或第三方面的第二种实现方式,本公开在第三方面的第三种实现方式中,将所述订单数据中目标对象名称映射到预设的聚类名称,包括:
[0041]
将所述目标对象名称映射至所属类别对应的所述聚类名称。
[0042]
结合第三方面、第三方面的第一种实现方式、第三方面的第二种实现方式和/或第三方面的第三种实现方式,本公开在第三方面的第四种实现方式中,根据预定义的方式进行聚类,获得多个类别对应的所述聚类名称之前,所述一条或多条计算机指令还被所述处理器执行以实现以下方法步骤:
[0043]
对所述订单数据进行预处理。
[0044]
结合第三方面、第三方面的第一种实现方式、第三方面的第二种实现方式、第三方面的第三种实现方式和/或第三方面的第四种实现方式,本公开在第三方面的第五种实现方式中,根据多个所述样本用户形成的所述文本数据获取所述目标对象名称的词向量,包括:
[0045]
根据所述文本数据中所述聚类名称的共现次数确定所述聚类名称的词向量;
[0046]
根据所述聚类名称的词向量确定映射至所述聚类名称的所述目标对象名称的词向量。
[0047]
结合第三方面、第三方面的第一种实现方式、第三方面的第二种实现方式、第三方面的第三种实现方式、第三方面的第四种实现方式和/或第三方面的第五种实现方式,本公开在第三方面的第六种实现方式中,所述一条或多条计算机指令还被所述处理器执行以实现以下方法步骤:
[0048]
确定与目标用户关联的关联对象;
[0049]
根据所述关联对象的名称的所述词向量确定所述关联对象的相似对象;
[0050]
将所述相似对象输出给所述目标用户。
[0051]
第四方面,本公开实施例提供了一种计算机可读存储介质,用于存储对象处理装置所用的计算机指令,其包含用于执行上述任一方法所涉及的计算机指令。
[0052]
本公开实施例提供的技术方案可以包括以下有益效果:
[0053]
本公开实施例中,在确定线上平台目标对象名称的词向量时,获取线上平台用户生成的订单,并按照下单时间顺序由远及近排列订单中的目标对象名称,将按时间排列的目标对象名称映射到预设的聚类名称形成文本数据,每个用户对应的订单中的目标对象名称形成为该文本数据中的一行数据,之后基于该文本数据获取目标对象的词向量。通过本公开实施例中的方式,由于线上平台目标对象数量众多,而每个用户订单中目标对象的数量又相对较少,为了防止文本数据中每个用户对应的每行数据中词的稀疏性,通过将目标
对象名称映射至预设的聚类名称,使得文本数据中每行数据中的词不再稀疏;此外,本公开实施例词向量获取所依据的上下文,是用户已经生成的订单中的目标对象名称形成的文本数据,且这些目标对象名称是依据订单生成的先后顺序排列的,不但对所获得的词向量赋予了用户属性,还在词向量中反映了用户对于目标对象在时间上的倾向性。
[0054]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0055]
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
[0056]
图1示出根据本公开一实施方式的对象处理方法的流程图;
[0057]
图2示出根据本公开一实施方式的聚类名称获取部分的流程图;
[0058]
图3示出根据图1所示实施方式的步骤s103的流程图;
[0059]
图4示出根据本公开一实施方式的相似对象获取部分的流程图;
[0060]
图5示出根据本公开实施例在外卖场景下获得菜名词向量的结果示意图;
[0061]
图6示出根据本公开一实施方式的对象处理装置的结构框图;
[0062]
图7示出根据本公开一实施方式的聚类模块的结构框图;
[0063]
图8示出根据图6所示实施方式的第二获取模块603的结构框图;
[0064]
图9示出根据本公开一实施方式的相似对象获取部分的结构框图;
[0065]
图10是适于用来实现根据本公开一实施方式的对象处理方法的电子设备的结构示意图。
具体实施方式
[0066]
下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
[0067]
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
[0068]
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
[0069]
图1示出根据本公开一实施方式的对象处理方法的流程图。如图1所示,所述对象处理方法包括以下步骤:
[0070]
在步骤s101中,获取多个样本用户的订单数据;其中,所述订单数据包括按照下单时间有序排列的目标对象名称;
[0071]
在步骤s102中,针对所述样本用户,将所述订单数据中的目标对象名称映射到预设的聚类名称,形成文本数据;其中,同一个预设的所述聚类名称能够被映射多个所述目标对象名称;
[0072]
在步骤s103中,根据多个所述样本用户形成的所述文本数据获取所述目标对象名
称的词向量。
[0073]
本公开实施例中,目标对象可以是线上平台所提供的一篇文章、一段分享文字、一段视频、一个内容发布者、一个商户、一个产品等。线上平台包括但不限于内容分发平台、电子商务平台等。目标对象名称可以是上述文字、视频、内容发布者、商户、产品等在线上平台的文本名称和/或标题等。
[0074]
样本用户可以是线上平台产生过订单的部分或者所有用户。针对样本用户,可以从线上平台获取其在预定时间段内产生的订单,并将这些订单中涉及的目标对象名称按照下单时间顺序进行排列,得到每个样本用户的订单数据。订单数据中的目标对象名称可以按照下单时间由远及近排列,也可以按照下单时间由近及远排列。
[0075]
例如,样本用户a在最近一个月通过线上平台生成两个订单,先生成的订单中包括两个产品,且名称分别为a1和a2,后生成的订单中包括一个产品,名称为a3,那么该样本用户a对应的订单数据为“a1,a2,a3”。样本用户b在最近一个月通过线上平台生成三个订单,最先生成的订单中包括两个产品,且名称分别为b1和b2,中间生成的订单中包括一个产品,名称为b3,最后生成的订单中包括一个产品,名称为b4,那么该样本用户b对应的订单数据为“b1,b2,b3,b4”。
[0076]
预设的聚类名称可以是与目标对象名称相关联的词,每个聚类名称可以关联多个相似的目标对象名称,也即多个相似的目标过对象名称可以通过预定的方式被聚类为该聚类名称。例如,外卖点餐系统中,“金百万宫保鸡丁”、“秘制宫保鸡丁”都可以被映射到“宫保鸡丁”这个聚类名称上。
[0077]
通过将多个目标对象的名称映射到同一个聚类名称的方式,可以解决目标对象名称所形成的文本数据中各词之间的共现次数(在同一窗口中共同出现的次数)低的问题。如果不将目标对象名称映射至聚类名称,而是直接按照线上平台录入的目标对象名称形成文本数据,而该文本数据中的每行数据仅涉及一个样本用户生成的订单,因此每行文本数据中所出现的目标对象名称较少,而线上平台录入的目标对象名称至少有几十万个,因此根据文本数据中各词之间的共现次数获取文本数据中各词的词向量时,会由于各词之间的共线次数低,导致较难从中学习到词与词之间的语义特性,进而得到的各词的词向量也不能够准确表达文本数据中各词在线上平台的语义相关性。因此,通过将目标对象名称映射至聚类名称(多个不同的目标对象名称映射为同一个聚类名称),可以提高文本数据中词与词之间的共现次数,进而能够根据该共现次数得到较为准确的词向量。
[0078]
在聚类名称形成的文本数据中,每一行数据可以对应一个样本用户,也即每一行数据中的各词对应于一个样本用户在预定时间段内生成的所有订单中目标对象名称对应的聚类名称,文本数据的行数与样本用户的数目对应一致。例如,外卖点餐系统中,用户a在最近一个月内生成了两个订单,先生成的订单中包括两个菜品,且名称分别为“金百万宫保鸡丁”和“米饭”,后生成的订单中也包括两个菜品,名称分别为“秘制宫保鸡丁”和“白米饭”,用户b在最近一个月生成了两个订单,先生成的订单中包括两个产品,且名称分别为“小炖肉刀削面”和“百事可乐”,后生成的订单中包括两个菜品,名称分别为“传统猪肉刀削面”和“可口可乐”;上述用户a和用户b的订单数据经过映射之后形成的文本数据如下所示:
[0079]
第一行:[

宫保鸡丁’,

米饭’,

宫保鸡丁’,

米饭’]
[0080]
第二行:[

刀削面’,

可乐’,

刀削面’,

可乐’]。
[0081]
在确定了文本数据之后,可以根据已有的词向量获取方式得到文本数据中各词的词向量。由于文本数据中各词对应的是聚类名称,因此最终得到的也是聚类名称的词向量,而由于聚类名称对应于一个或多个目标对象名称,因此该聚类名称的词向量也就是其所对应的一个或多个目标对象名称的词向量。
[0082]
本公开实施例中,在确定线上平台目标对象名称的词向量时,获取线上平台用户生成的订单,并按照下单时间顺序排列订单中的目标对象名称,将按时间顺序排列的目标对象名称映射到预设的聚类名称形成文本数据,每个用户对应的订单中的目标对象名称形成为该文本数据中的一行数据,之后基于该文本数据获取目标对象名称的词向量。通过上述将目标对象名称映射至预设的聚类名称的方式,可以提高文本数据中各词的共现次数,使得根据该共现次数获得的词向量能够更加准确的表征各个词之间的相关性;此外,本公开实施例获取词向量所依据的上下文,是用户已经生成的订单中各目标对象名称形成的文本数据,且这些目标对象名称是依据订单生成的时间顺序有序排列的,因此所获得的词向量不但赋予了用户属性,还能够反映用户对于目标对象在时间上的倾向性。
[0083]
在本实施例的一个可选实现方式中,所述步骤s101,即获取多个样本用户的订单数据的步骤之后,所述方法进一步包括以下步骤:
[0084]
针对多个所述样本用户的所述订单数据中的目标对象名称,根据预定义的方式进行聚类,获得多个类别对应的所述聚类名称。
[0085]
该可选的实现方式中,预设的聚类名称可以是通过将所收集到的样本用户的订单数据中的目标对象名称进行聚类得到的。聚类的预定义方式可以是根据目标对象名称之间的相似性进行聚类,例如将目标对象名称相似的聚为一类。当然,也可以是按照其他方式来聚类,具体可以根据实际应用场景而定,在此不做限制。
[0086]
在本实施例的一个可选实现方式中,如图2所示,所述根据预定义的方式进行聚类,获得多个类别对应的所述聚类名称的步骤,进一步包括以下步骤:
[0087]
在步骤s201中,提取所述目标对象名称中的关键词;
[0088]
在步骤s202中,根据提取出的所述关键词对所述目标对象名称进行聚类,并且将所述关键词作为对应类别的所述聚类名称。
[0089]
该可选的实现方式中,可以通过提取目标对象名称中的关键词,并根据所提取出的关键词进行聚类。在一些实施例中,可以根据多个目标对象名称对应的关键词之间的相似度来聚类。例如,两个目标对象名称中均包含相同或者相似的关键词时,将这两个目标对象名称聚为一类。
[0090]
在本实施例的一个可选实现方式中,所述步骤s102中将所述订单数据中目标对象名称映射到预设的聚类名称的步骤,进一步包括以下步骤:
[0091]
将所述目标对象名称映射至所属类别对应的所述聚类名称。
[0092]
该可选的实现方式中,在聚类名称是通过将目标对象名称聚类获得的时侯,可以直接将该目标对象名称映射至所属类别对应的聚类名称。而对于新出现的、未参与聚类的目标对象名称,可以先将该新的目标对象名称与已有类别进行匹配,将匹配成功的类别作为该新的目标对象名称所属类别。
[0093]
在本实施例的一个可选实现方式中,根据预定义的方式进行聚类,获得多个类别对应的所述聚类名称的步骤之前,所述方法进一步还包括以下步骤:
[0094]
对所述订单数据进行预处理。
[0095]
该可选的实现方式中,在获得样本用户的订单数据之后,可以对订单数据中的目标对象名称进行过滤、纠错、同义词映射等预处理。例如,针对外卖餐饮平台,可以将订单数据中如麻辣烫、麻辣拌、日料等可能含有食材的菜品进行过滤,将火锅、麻辣香锅、麻辣烫等品类的商户也进行过滤;针对类似“宫保鸡丁”和“宫爆鸡丁”这类的菜品名称进行纠错,针对类似“番茄”和“西红柿”进行同义词映射,也即映射到同一个菜名名称上等。通过对订单数据进行预处理,可以进一步提高所得到的文本数据中词与词之间的共现比率。具体预处理的方式可以根据实际应用场景而定,在此不做限制。
[0096]
在本实施例的一个可选实现方式中,如图3所示,所述步骤s103,即根据多个所述样本用户形成的所述文本数据获取所述目标对象名称的词向量的步骤,进一步包括以下步骤:
[0097]
在步骤s301中,根据所述文本数据中所述聚类名称的共现次数确定所述聚类名称的词向量;
[0098]
在步骤s302中,根据所述聚类名称的词向量确定映射至所述聚类名称的所述目标对象名称的词向量。
[0099]
该可选的实现方式中,文本数据中的词为用户在线上平台生成的订单数据中目标对象名称对应的聚类名称,且是按照订单的生成顺序排列的。通过文本数据中各词在同一窗口中的共现次数可以确定词与词之间的相关性,并且依此可以获取文本数据中各词的词向量。
[0100]
在一些实施例中,可以利用词嵌入glove(global vectors for word representation)来获取文本数据中聚类名称的词向量。glove可以把一个词表达成一个由实数组成的向量,这些向量捕捉到了词之间的一些语义特性,比如相似性(similarity)、类比性(analogy)等。在获取词向量之后,可以通过对词向量的运算,比如欧几里得距离或者cosine相似度,可以计算出两个词之间的语义相似性。
[0101]
glove在获取文本数据中各词的词向量时,首先根据文本数据构建一个共现矩阵,共现矩阵中的每一个元素x
ij
代表文本数据中词i和上下文词j在特定大小的上下文窗口内共同出现的次数,也称之为共现次数。一般而言,这个次数的最小单位是1,但是glove不这么认为:它根据两个单词在上下文窗口的距离d,提出了一个衰减函数(decreasing weighting):decay=1/d,用于计算权重,也就是说距离越远的两个词所占总计数(实际共现次数)的权重越小,例如目标词i与上下文词j之间的距离为d,而在预设上下文窗口中实际共同出现的次数为x,那么共现矩阵中x
ij
=x*(1/d)。本公开实施例中文本数据中各词对应的聚类名称由于是按照订单生成时间有序排列的,因此两个词之间的距离越远,说明对应订单的时间间隔越长,而共现次数也会通过上述衰减函数所计算的权重降权,因此根据共现矩阵得到的词向量中携带了用户对目标对象偏爱的时间属性(也即随着对应订单生成时间的距离增大,两个目标对象名称的词向量之间的相关性会变弱)。
[0102]
在一些实施例中,文本数据中两个词的共现次数低于预定值时,可以从共现矩阵中过滤掉该共现次数。也即目标词i和上下文单词j的共现次数小于或等于预定值时,文本数据中目标词i和上下文单词j的共现次数x
ij
置为0。预定值可以根据实际情况而定,例如可以设定为5-10之间的实数。通过这种方式,可以在共现次数过低时过滤掉两词之间的相关
性,避免获取到的词向量中表征出不准确的语义特性。
[0103]
glove在确定了文本数据对应的共现矩阵之后,利用该共现矩阵确定各词的词向量。由于glove是已有技术,在此不再赘述。
[0104]
在确定了文本数据中各词的词向量,也即确定了聚类名称的词向量之后,进而可以根据聚类名称的词向量确定属于该聚类名称对应类别的目标对象名称的词向量,例如可以直接将聚类名称的词向量作为该类别的目标对象名称的词向量。此外,所有聚类名称的词向量可以形成词向量矩阵,以便在不同的应用场景中使用。
[0105]
在本实施例的一个可选实现方式中,如图4所示,所述方法进一步包括以下步骤:
[0106]
在步骤s401中,确定与目标用户关联的关联对象;
[0107]
在步骤s402中,根据所述关联对象的名称的所述词向量确定所述关联对象的相似对象;
[0108]
在步骤s403中,将所述相似对象输出给所述目标用户。
[0109]
该可选的实现方式中,在获得了聚类名称的词向量以及目标对象名称的词向量之后,可以将这些词向量投入实际的应用场景中。在一些实施例中,线上平台可以通过历史行为数据为用户生成用户画像,而用户画像中可以包括用户黏度较高的对象(也即线上平台的产品)。因此,在一些应用场景例如产品搜索或者产品推送场景下,针对目标用户确定与目标用户关联的关联对象,关联对象可以是用户画像中标注的高黏度对象;根据关联对象的对象名称确定词向量,并根据词向量确定与关联对象相似度较高的其他对象,并将这些相似度较高的对象输出给目标用户。关联对象的名称的词向量可以根据上述实施例中确定的聚类名称来确定,也即确定该关联对象的名称的聚类类别之后,可以将该聚类类别对应聚类名称的词向量确定为该关联对象的名称的词向量。确定了关联对象的名称的词向量之后,可以从前述由聚类名称的词向量组成的词向量矩阵中计算得到与关联对象的名称的词向量相似度较高的词向量,进而确定与关联对象相似度较高的相似对象。
[0110]
例如,在外卖点餐系统中,利用上述方法得出菜品的词向量之后,可以根据奶茶的词向量找到与奶茶最相似的10个菜品,如图5所示,在括号中的实数为菜品词向量,后面的中文文字为菜品名称。
[0111]
下述为本公开装置实施例,可以用于执行本公开方法实施例。
[0112]
图6示出根据本公开一实施方式的对象处理装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图6所示,所述对象处理装置包括:
[0113]
第一获取模块601,被配置为获取多个样本用户的订单数据;其中,所述订单数据包括按照下单时间有序排列的目标对象名称;
[0114]
映射模块602,被配置为针对所述样本用户,将所述订单数据中的目标对象名称映射到预设的聚类名称,形成文本数据;其中,同一个预设的所述聚类名称能够被映射多个所述目标对象名称;
[0115]
第二获取模块603,被配置为根据多个所述样本用户形成的所述文本数据获取所述目标对象名称的词向量。
[0116]
本公开实施例中,目标对象可以是线上平台所提供的一篇文章、一段分享文字、一段视频、一个内容发布者、一个商户、一个产品等。线上平台包括但不限于内容分发平台、电
子商务平台等。目标对象名称可以是上述文字、视频、内容发布者、商户、产品等在线上平台的文本名称和/或标题等。
[0117]
样本用户可以是线上平台产生过订单的部分或者所有用户。针对样本用户,可以从线上平台获取其在预定时间段内产生的订单,并将这些订单中涉及的目标对象名称按照下单时间顺序进行排列,得到每个样本用户的订单数据。订单数据中的目标对象名称可以按照下单时间由远及近排列,也可以按照下单时间由近及远排列。
[0118]
例如,样本用户a在最近一个月通过线上平台生成两个订单,先生成的订单中包括两个产品,且名称分别为a1和a2,后生成的订单中包括一个产品,名称为a3,那么该样本用户a对应的订单数据为“a1,a2,a3”。样本用户b在最近一个月通过线上平台生成三个订单,最先生成的订单中包括两个产品,且名称分别为b1和b2,中间生成的订单中包括一个产品,名称为b3,最后生成的订单中包括一个产品,名称为b4,那么该样本用户b对应的订单数据为“b1,b2,b3,b4”。
[0119]
预设的聚类名称可以是与目标对象名称相关联的词,每个聚类名称可以关联多个相似的目标对象名称,也即多个相似的目标过对象名称可以通过预定的方式被聚类为该聚类名称。例如,外卖点餐系统中,“金百万宫保鸡丁”、“秘制宫保鸡丁”都可以被映射到“宫保鸡丁”这个聚类名称上。
[0120]
通过将多个目标对象的名称映射到同一个聚类名称的方式,可以解决目标对象名称所形成的文本数据中各词之间的共现次数(在同一窗口中共同出现的次数)低的问题。如果不将目标对象名称映射至聚类名称,而是直接按照线上平台录入的目标对象名称形成文本数据,而该文本数据中的每行数据仅涉及一个样本用户生成的订单,因此每行文本数据中所出现的目标对象名称较少,而线上平台录入的目标对象名称至少有几十万个,因此根据文本数据中各词之间的共现次数获取文本数据中各词的词向量时,会由于各词之间的共线次数低,导致较难从中学习到词与词之间的语义特性,进而得到的各词的词向量也不能够准确表达文本数据中各词在线上平台的语义相关性。因此,通过将目标对象名称映射至聚类名称(多个不同的目标对象名称映射为同一个聚类名称),可以提高文本数据中词与词之间的共现次数,进而能够根据该共现次数得到较为准确的词向量。
[0121]
在聚类名称形成的文本数据中,每一行数据可以对应一个样本用户,也即每一行数据中的各词对应于一个样本用户在预定时间段内生成的所有订单中目标对象名称对应的聚类名称,文本数据的行数与样本用户的数目对应一致。例如,外卖点餐系统中,用户a在最近一个月内生成了两个订单,先生成的订单中包括两个菜品,且名称分别为“金百万宫保鸡丁”和“米饭”,后生成的订单中也包括两个菜品,名称分别为“秘制宫保鸡丁”和“白米饭”,用户b在最近一个月生成了两个订单,先生成的订单中包括两个产品,且名称分别为“小炖肉刀削面”和“百事可乐”,后生成的订单中包括两个菜品,名称分别为“传统猪肉刀削面”和“可口可乐”;上述用户a和用户b的订单数据经过映射之后形成的文本数据如下所示:
[0122]
第一行:[

宫保鸡丁’,

米饭’,

宫保鸡丁’,

米饭’]
[0123]
第二行:[

刀削面’,

可乐’,

刀削面’,

可乐’]。
[0124]
在确定了文本数据之后,可以根据已有的词向量获取方式得到文本数据中各词的词向量。由于文本数据中各词对应的是聚类名称,因此最终得到的也是聚类名称的词向量,而由于聚类名称对应于一个或多个目标对象名称,因此该聚类名称的词向量也就是其所对
应的一个或多个目标对象名称的词向量。
[0125]
本公开实施例中,在确定线上平台目标对象名称的词向量时,获取线上平台用户生成的订单,并按照下单时间顺序排列订单中的目标对象名称,将按时间顺序排列的目标对象名称映射到预设的聚类名称形成文本数据,每个用户对应的订单中的目标对象名称形成为该文本数据中的一行数据,之后基于该文本数据获取目标对象名称的词向量。通过上述将目标对象名称映射至预设的聚类名称的方式,可以提高文本数据中各词的共现次数,使得根据该共现次数获得的词向量能够更加准确的表征各个词之间的相关性;此外,本公开实施例获取词向量所依据的上下文,是用户已经生成的订单中各目标对象名称形成的文本数据,且这些目标对象名称是依据订单生成的时间顺序有序排列的,因此所获得的词向量不但赋予了用户属性,还能够反映用户对于目标对象在时间上的倾向性。
[0126]
在本实施例的一个可选实现方式中,所述第一获取模块601之后,还包括:
[0127]
聚类模块,被配置为针对多个所述样本用户的所述订单数据中的目标对象名称,根据预定义的方式进行聚类,获得多个类别对应的所述聚类名称。
[0128]
该可选的实现方式中,预设的聚类名称可以是通过将所收集到的样本用户的订单数据中的目标对象名称进行聚类得到的。聚类的预定义方式可以是根据目标对象名称之间的相似性进行聚类,例如将目标对象名称相似的聚为一类。当然,也可以是按照其他方式来聚类,具体可以根据实际应用场景而定,在此不做限制。
[0129]
在本实施例的一个可选实现方式中,如图7所示,所述聚类模块,包括:
[0130]
提取子模块701,被配置为提取所述目标对象名称中的关键词;
[0131]
聚类子模块702,被配置为根据提取出的所述关键词对所述目标对象名称进行聚类,并且将所述关键词作为对应类别的所述聚类名称。
[0132]
该可选的实现方式中,可以通过提取目标对象名称中的关键词,并根据所提取出的关键词进行聚类。在一些实施例中,可以根据多个目标对象名称对应的关键词之间的相似度来聚类。例如,两个目标对象名称中均包含相同或者相似的关键词时,将这两个目标对象名称聚为一类。
[0133]
在本实施例的一个可选实现方式中,所述映射模块602,包括:
[0134]
映射子模块,被配置为将所述目标对象名称映射至所属类别对应的所述聚类名称。
[0135]
该可选的实现方式中,在聚类名称是通过将目标对象名称聚类获得的时候,可以直接将该目标对象名称映射至所属类别对应的聚类名称。而对于新出现的、未参与聚类的目标对象名称,可以先将该新的目标对象名称与已有类别进行匹配,将匹配成功的类别作为该新的目标对象名称所属类别。
[0136]
在本实施例的一个可选实现方式中,所述聚类模块之前,还包括:
[0137]
预处理模块,被配置为对所述订单数据进行预处理。
[0138]
该可选的实现方式中,在获得样本用户的订单数据之后,可以对订单数据中的目标对象名称进行过滤、纠错、同义词映射等预处理。例如,针对外卖餐饮平台,可以将订单数据中如麻辣烫、麻辣拌、日料等可能含有食材的菜品进行过滤,将火锅、麻辣香锅、麻辣烫等品类的商户也进行过滤;针对类似“宫保鸡丁”和“宫爆鸡丁”这类的菜品名称进行纠错,针对类似“番茄”和“西红柿”进行同义词映射,也即映射到同一个菜名名称上等。通过对订单
数据进行预处理,可以进一步提高所得到的文本数据中词与词之间的共现比率。具体预处理的方式可以根据实际应用场景而定,在此不做限制。
[0139]
在本实施例的一个可选实现方式中,如图8所示,所述第二获取模块603,包括:
[0140]
第一确定子模块801,被配置为根据所述文本数据中所述聚类名称的共现次数确定所述聚类名称的词向量;
[0141]
第二确定子模块802,被配置为根据所述聚类名称的词向量确定映射至所述聚类名称的所述目标对象名称的词向量。
[0142]
该可选的实现方式中,文本数据中的词为用户在线上平台生成的订单数据中目标对象名称对应的聚类名称,且是按照订单的生成顺序排列的。通过文本数据中各词在同一窗口中的共现次数可以确定词与词之间的相关性,并且依此可以获取文本数据中各词的词向量。
[0143]
在一些实施例中,可以利用词嵌入glove(global vectors for word representation)来获取文本数据中聚类名称的词向量。glove可以把一个词表达成一个由实数组成的向量,这些向量捕捉到了词之间的一些语义特性,比如相似性(similarity)、类比性(analogy)等。在获取词向量之后,可以通过对词向量的运算,比如欧几里得距离或者cosine相似度,可以计算出两个词之间的语义相似性。
[0144]
glove在获取文本数据中各词的词向量时,首先根据文本数据构建一个共现矩阵,共现矩阵中的每一个元素x
ij
代表文本数据中词i和上下文词j在特定大小的上下文窗口内共同出现的次数,也称之为共现次数。一般而言,这个次数的最小单位是1,但是glove不这么认为:它根据两个单词在上下文窗口的距离d,提出了一个衰减函数(decreasing weighting):decay=1/d,用于计算权重,也就是说距离越远的两个词所占总计数(实际共现次数)的权重越小,例如目标词i与上下文词j之间的距离为d,而在预设上下文窗口中实际共同出现的次数为x,那么共现矩阵中x
ij
=x*(1/d)。本公开实施例中文本数据中各词对应的聚类名称由于是按照订单生成时间有序排列的,因此两个词之间的距离越远,说明对应订单的时间间隔越长,而共现次数也会通过上述衰减函数所计算的权重降权,因此根据共现矩阵得到的词向量中携带了用户对目标对象偏爱的时间属性(也即随着对应订单生成时间的距离增大,两个目标对象名称的词向量之间的相关性会变弱)。
[0145]
在一些实施例中,文本数据中两个词的共现次数低于预定值时,可以从共现矩阵中过滤掉该共现次数。也即目标词i和上下文单词j的共现次数小于或等于预定值时,文本数据中目标词i和上下文单词j的共现次数x
ij
置为0。预定值可以根据实际情况而定,例如可以设定为5-10之间的实数。通过这种方式,可以在共现次数过低时过滤掉两词之间的相关性,避免获取到的词向量中表征出不准确的语义特性。
[0146]
glove在确定了文本数据对应的共现矩阵之后,利用该共现矩阵确定各词的词向量。由于glove是已有技术,在此不再赘述。
[0147]
在确定了文本数据中各词的词向量,也即确定了聚类名称的词向量之后,进而可以根据聚类名称的词向量确定属于该聚类名称对应类别的目标对象名称的词向量,例如可以直接将聚类名称的词向量作为该类别的目标对象名称的词向量。此外,所有聚类名称的词向量可以形成词向量矩阵,以便在不同的应用场景中使用。
[0148]
在本实施例的一个可选实现方式中,如图9所示,所述装置进一步包括:
[0149]
第一确定模块901,被配置为确定与目标用户关联的关联对象;
[0150]
第二确定模块902,被配置为根据所述关联对象的名称的所述词向量确定所述关联对象的相似对象;
[0151]
输出模块903,被配置为将所述相似对象输出给所述目标用户。
[0152]
该可选的实现方式中,在获得了聚类名称的词向量以及目标对象名称的词向量之后,可以将这些词向量投入实际的应用场景中。在一些实施例中,线上平台可以通过历史行为数据为用户生成用户画像,而用户画像中可以包括用户黏度较高的对象(也即线上平台的产品)。因此,在一些应用场景例如产品搜索或者产品推送场景下,针对目标用户确定与目标用户关联的关联对象,关联对象可以是用户画像中标注的高黏度对象;根据关联对象的对象名称确定词向量,并根据词向量确定与关联对象相似度较高的其他对象,并将这些相似度较高的对象输出给目标用户。关联对象的名称的词向量可以根据上述实施例中确定的聚类名称来确定,也即确定该关联对象的名称的聚类类别之后,可以将该聚类类别对应聚类名称的词向量确定为该关联对象的名称的词向量。确定了关联对象的名称的词向量之后,可以从前述由聚类名称的词向量组成的词向量矩阵中计算得到与关联对象的名称的词向量相似度较高的词向量,进而确定与关联对象相似度较高的相似对象。
[0153]
例如,在外卖点餐系统中,利用上述方法得出菜品的词向量之后,可以根据奶茶的词向量找到与奶茶最相似的10个菜品,如图5所示,在括号中的实数为菜品词向量,后面的中文文字为菜品名称。
[0154]
本公开实施方式还提供了一种电子设备,如图10所示,包括至少一个处理器1001;以及与至少一个处理器1001通信连接的存储器1002;其中,存储器1002存储有可被至少一个处理器1001执行的指令,指令被至少一个处理器1001执行以实现:
[0155]
获取多个样本用户的订单数据;其中,所述订单数据包括按照下单时间有序排列的目标对象名称;
[0156]
针对所述样本用户,将所述订单数据中的目标对象名称映射到预设的聚类名称,形成文本数据;其中,同一个预设的所述聚类名称能够被映射多个所述目标对象名称;
[0157]
根据多个所述样本用户形成的所述文本数据获取所述目标对象名称的词向量。
[0158]
其中,获取多个样本用户的订单数据之后,所述一条或多条计算机指令还被所述处理器执行以实现以下方法步骤:
[0159]
针对多个所述样本用户的所述订单数据中的目标对象名称,根据预定义的方式进行聚类,获得多个类别对应的所述聚类名称。
[0160]
其中,根据预定义的方式进行聚类,获得多个类别对应的所述聚类名称,包括:
[0161]
提取所述目标对象名称中的关键词;
[0162]
根据提取出的所述关键词对所述目标对象名称进行聚类,并且将所述关键词作为对应类别的所述聚类名称。
[0163]
其中,将所述订单数据中目标对象名称映射到预设的聚类名称,包括:
[0164]
将所述目标对象名称映射至所属类别对应的所述聚类名称。
[0165]
其中,根据预定义的方式进行聚类,获得多个类别对应的所述聚类名称之前,所述一条或多条计算机指令还被所述处理器执行以实现以下方法步骤:
[0166]
对所述订单数据进行预处理。
[0167]
其中,根据多个所述样本用户形成的所述文本数据获取所述目标对象名称的词向量,包括:
[0168]
根据所述文本数据中所述聚类名称的共现次数确定所述聚类名称的词向量;
[0169]
根据所述聚类名称的词向量确定映射至所述聚类名称的所述目标对象名称的词向量。
[0170]
其中,所述一条或多条计算机指令还被所述处理器执行以实现以下方法步骤:
[0171]
确定与目标用户关联的关联对象;
[0172]
根据所述关联对象的名称的所述词向量确定所述关联对象的相似对象;
[0173]
将所述相似对象输出给所述目标用户。
[0174]
具体地,处理器1001、存储器1002可以通过总线或者其他方式连接,图10中以通过总线连接为例。存储器1002作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器1001通过运行存储在存储器1002中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现本公开实施例中的上述方法。
[0175]
存储器1002可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储航运网络运输的历史数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施方式中,电子设备可选地包括通信组件1003,存储器1002可选地包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过通信组件1003连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0176]
一个或者多个模块存储在存储器1002中,当被一个或者多个处理器1001执行时,执行本公开实施例中的上述方法。
[0177]
上述产品可执行本公开实施方式所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本公开实施方式所提供的方法。
[0178]
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0179]
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
[0180]
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,
未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
[0181]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1