特征提取方法、特征提取装置、存储介质及电子设备与流程

文档序号:21534112发布日期:2020-07-17 17:26阅读:187来源:国知局
特征提取方法、特征提取装置、存储介质及电子设备与流程

本发明的实施方式涉及数据处理技术领域,更具体地,本发明的实施方式涉及一种特征提取方法、特征提取装置、计算机可读存储介质及电子设备。



背景技术:

本部分旨在为权利要求中陈述的本发明的实施方式提供背景或上下文,此处的描述不因为包括在本部分中就承认是现有技术。

对于互联网企业来说,数据分析是一项重要的工作,特别是对用户数据、商品数据进行有效分析,能够为业务决策提供相应支持,帮助企业提升服务质量,吸引更多用户。

特征提取是数据分析中不可缺少的环节,例如在分析用户数据时,通常首先从数据中提取用户特征,再根据用户特征实现用户画像或用户分类,进而对不同用户提供不同的定制化服务。

现有技术中,特征提取大多是基于人为设置的维度而实现的。例如为了提取用户特征,根据数据场景的特点,事先确定多个数据指标,即特征维度,如电商场景中可能确定用户年龄、性别、登录次数、购买商品金额等维度,然后根据每个维度对用户数据进行整理,得到对应的用户特征。



技术实现要素:

然而,现有技术中,提取的特征质量强烈地依赖于维度设置是否合理:如果维度设置的不足,则所提取的特征不充分,如果维度设置的过多,则所提取的特征中存在冗余信息。由于人为设置维度的主观性,提取的特征质量通常较低。此外,用户特征来源于用户数据,商品特征来源于商品数据,导致所提取的特征较为片面,特别是在较为复杂的业务场景中,特征无法体现出业务关系,因此不利于后续的业务分析与业务决策。

为此,非常需要一种改进的特征提取方法,以实现高质量的特征提取,使得所提取的特征能够较为全面地体现出复杂的业务关系,从而为后续的业务分析与业务决策提供有效支持。

在本上下文中,本发明的实施方式期望提供一种特征提取方法、特征提取装置、计算机可读存储介质及电子设备。

根据本发明实施方式的第一方面,提供一种特征提取方法,包括:获取各版块内的商品,所述版块为包括至少一种商品的商品集合;生成各所述版块对应的版块节点,各所述商品对应的商品节点,以及用户节点;基于用户对所述版块、所述商品的历史行为,以及所述版块与所述商品之间的从属关系,生成各所述版块节点、商品节点、用户节点之间的边,以建立拓扑图;利用图神经网络提取所述拓扑图中任一节点的特征。

在一种可选的实施方式中,所述用户节点通过以下方式生成:对用户进行聚类,得到多个用户类别;对每个所述用户类别分别生成对应的一个用户节点。

在一种可选的实施方式中,所述对用户进行聚类,得到多个用户类别,包括:基于所述用户的基本信息对所述用户进行聚类,得到多个第一用户类别;基于所述用户的行为属性对所述用户进行聚类,得到多个第二用户类别。

在一种可选的实施方式中,当产生新用户时,所述方法还包括:如果所述新用户具有历史数据,则根据所述新用户的历史数据确定其行为属性,并根据所述新用户的行为属性将所述新用户划分到对应的第二用户类别;如果所述新用户不具有历史数据,则根据所述新用户的基本信息将所述新用户划分到对应的第一用户类别。

在一种可选的实施方式中,所述基于用户对所述版块、所述商品的历史行为,以及所述版块与所述商品之间的从属关系,生成各所述版块节点、商品节点、用户节点之间的边,以建立拓扑图,包括:统计历史数据中每个所述用户类别中的用户与各所述版块的历史交互行为,以确定所述用户节点和所述版块节点之间的边以及边权重。

在一种可选的实施方式中,所述基于用户对所述版块、所述商品的历史行为,以及所述版块与所述商品之间的从属关系,生成各所述版块节点、商品节点、用户节点之间的边,以建立拓扑图,包括:统计历史数据中每个所述用户类别中的用户与各所述商品的历史交互行为,以确定所述用户节点和所述商品节点之间的边以及边权重。

在一种可选的实施方式中,所述基于用户对所述版块、所述商品的历史行为,以及所述版块与所述商品之间的从属关系,生成各所述版块节点、商品节点、用户节点之间的边,以建立拓扑图,包括:统计每个所述版块中各所述商品的词频-逆文本频率,根据所述词频-逆文本频率确定所述版块节点和所述商品节点之间的边以及边权重。

在一种可选的实施方式中,所述基于用户对所述版块、所述商品的历史行为,以及所述版块与所述商品之间的从属关系,生成各所述版块节点、商品节点、用户节点之间的边,以建立拓扑图,包括:根据用户针对各所述商品的历史行为,确定各所述商品之间的关联性,根据所述关联性确定各所述商品节点之间的边以及边权重。

在一种可选的实施方式中,所述图神经网络通过以下方式训练:将所述拓扑图输入待训练的图神经网络,提取所述拓扑图中任意两个节点的特征,计算所述两个节点的特征相似度;基于所述两个节点之间是否有边,得到针对所述两个节点的标签;利用所述两个节点的特征相似度和标签,更新所述图神经网络的参数。

在一种可选的实施方式中,所述利用所述两个节点的特征相似度和标签,更新所述图神经网络的参数,包括:将所述两个节点的特征相似度和标签代入以下损失函数:

通过所述损失函数更新所述图神经网络的参数;其中,l表示所述损失函数,n为样本数量;v表示所述拓扑图中的节点集合,u、v表示v中的任意两个节点;n(u)表示与u有边的节点的集合,f(u)表示与u无边的节点的集合,e(u|v)=1表示u与v有边时,所述标签为1,e(u|v)=0表示u与v无边时,所述标签为0;zu表示u的特征,zv表示v的特征,p(zu|zv)表示u和v的特征相似度。

在一种可选的实施方式中,所述利用图神经网络提取所述拓扑图中任一节点的特征,包括:在所述拓扑图中确定所述任一节点的关键邻居节点;对所述关键邻居节点的输入特征进行聚合,并通过所述图神经网络进行预设层数的迭代,得到所述任一节点的特征。

在一种可选的实施方式中,所述在所述拓扑图中确定所述任一节点的关键邻居节点,包括:如果所述任一节点为版块节点,则在其邻居节点中选取所有的商品节点,作为所述任一节点的关键邻居节点。

在一种可选的实施方式中,所述在所述拓扑图中确定所述任一节点的关键邻居节点,包括:如果所述任一节点为商品节点,则在其邻居节点中选取第一预设数量的用户节点、第二预设数量的商品节点和所有的版块节点,作为所述任一节点的关键邻居节点。

在一种可选的实施方式中,所述在所述拓扑图中确定所述任一节点的关键邻居节点,包括:如果所述任一节点为用户节点,则在其邻居节点中选取第三预设数量的节点,作为所述任一节点的关键邻居节点。

在一种可选的实施方式中,所述版块节点的输入特征通过以下方式获取:对版块的标题文本、类别信息、海报图像中的至少一种提取特征,并进行编码,得到所述版块对应的版块节点的输入特征。

在一种可选的实施方式中,所述商品节点的输入特征通过以下方式获取:对商品的标题文本、类目信息、价格信息、商品图像中的至少一种提取特征,并进行编码,得到所述商品对应的版块节点的输入特征。

在一种可选的实施方式中,所述用户节点的输入特征通过以下方式获取:对用户的基本信息和行为属性中的至少一种提取特征,并进行编码,得到所述用户对应的用户节点的输入特征。

在一种可选的实施方式中,所述利用图神经网络提取所述拓扑图中任一节点的特征,包括:利用图神经网络提取所述拓扑图中每个节点的特征,得到节点特征表;所述方法还包括:当提取待处理对象的特征时,在所述拓扑图中确定所述待处理对象对应的目标节点,在所述节点特征表中查找得到所述目标节点的特征。

在一种可选的实施方式中,如果所述待处理对象为目标用户,在得到所述目标用户的特征后,所述方法还包括:根据所述目标用户的特征与各所述版块节点的特征之间的相似度,及/或所述目标用户的特征与各所述商品节点的特征之间的相似度,生成针对所述目标用户的与所述版块相关的推荐信息。

根据本发明实施方式的第二方面,提供一种特征提取装置,包括:信息获取模块,用于获取各版块内的商品,所述版块为包括至少一种商品的商品集合;节点生成模块,用于生成各所述版块对应的版块节点,各所述商品对应的商品节点,以及用户节点;边生成模块,用于基于用户对所述版块、所述商品的历史行为,以及所述版块与所述商品之间的从属关系,生成各所述版块节点、商品节点、用户节点之间的边,以建立拓扑图;拓扑图处理模块,用于利用图神经网络提取所述拓扑图中任一节点的特征。

在一种可选的实施方式中,所述节点生成模块,用于通过以下方式生成所述用户节点:对用户进行聚类,得到多个用户类别;对每个所述用户类别分别生成对应的一个用户节点。

在一种可选的实施方式中,所述节点生成模块,用于通过以下方式对用户进行聚类:基于所述用户的基本信息对所述用户进行聚类,得到多个第一用户类别;基于所述用户的行为属性对所述用户进行聚类,得到多个第二用户类别。

在一种可选的实施方式中,所述节点生成模块,还用于当产生新用户时,通过以下方式确定所述新用户的用户类别:如果所述新用户具有历史数据,则根据所述新用户的历史数据确定其行为属性,并根据所述新用户的行为属性将所述新用户划分到对应的第二用户类别;如果所述新用户不具有历史数据,则根据所述新用户的基本信息将所述新用户划分到对应的第一用户类别。

在一种可选的实施方式中,所述边生成模块包括用户-版块边生成单元,其用于:统计历史数据中每个所述用户类别中的用户与各所述版块的历史交互行为,以确定所述用户节点和所述版块节点之间的边以及边权重。

在一种可选的实施方式中,所述边生成模块包括用户-商品边生成单元,其用于:统计历史数据中每个所述用户类别中的用户与各所述商品的历史交互行为,以确定所述用户节点和所述商品节点之间的边以及边权重。

在一种可选的实施方式中,所述边生成模块包括版块-商品边生成单元,其用于:统计每个所述版块中各所述商品的词频-逆文本频率,根据所述词频-逆文本频率确定所述版块节点和所述商品节点之间的边以及边权重。

在一种可选的实施方式中,所述边生成模块包括商品-商品边生成单元,其用于:根据用户针对各所述商品的历史行为,确定各所述商品之间的关联性,根据所述关联性确定各所述商品节点之间的边以及边权重。

在一种可选的实施方式中,所述拓扑图处理模块包括模型训练单元,其用于:将所述拓扑图输入待训练的图神经网络,提取所述拓扑图中任意两个节点的特征,计算所述两个节点的特征相似度;基于所述两个节点之间是否有边,得到针对所述两个节点的标签;利用所述两个节点的特征相似度和标签,更新所述图神经网络的参数。

在一种可选的实施方式中,所述模型训练单元,还用于通过以下方式更新所述图神经网络的参数:将所述两个节点的特征相似度和标签代入以下损失函数:

通过所述损失函数更新所述图神经网络的参数;其中,l表示所述损失函数,n为样本数量;v表示所述拓扑图中的节点集合,u、v表示v中的任意两个节点;n(u)表示与u有边的节点的集合,f(u)表示与u无边的节点的集合,e(u|v)=1表示u与v有边时,所述标签为1,e(u|v)=0表示u与v无边时,所述标签为0;zu表示u的特征,zv表示v的特征,p(zu|zv)表示u和v的特征相似度。

在一种可选的实施方式中,所述拓扑图处理模块包括:关键邻居节点确定单元,用于在所述拓扑图中确定所述任一节点的关键邻居节点;输入特征聚合单元,用于对所述关键邻居节点的输入特征进行聚合,并通过所述图神经网络进行预设层数的迭代,得到所述任一节点的特征。

在一种可选的实施方式中,所述关键邻居节点确定单元,用于:如果所述任一节点为版块节点,则在其邻居节点中选取所有的商品节点,作为所述任一节点的关键邻居节点。

在一种可选的实施方式中,所述关键邻居节点确定单元,用于:如果所述任一节点为商品节点,则在其邻居节点中选取第一预设数量的用户节点、第二预设数量的商品节点和所有的版块节点,作为所述任一节点的关键邻居节点。

在一种可选的实施方式中,所述关键邻居节点确定单元,用于:如果所述任一节点为用户节点,则在其邻居节点中选取第三预设数量的节点,作为所述任一节点的关键邻居节点。

在一种可选的实施方式中,所述输入特征聚合单元,还用于通过以下方式获取所述版块节点的输入特征:对版块的标题文本、类别信息、海报图像中的至少一种提取特征,并进行编码,得到所述版块对应的版块节点的输入特征。

在一种可选的实施方式中,所述输入特征聚合单元,还用于通过以下方式获取所述商品节点的输入特征:对商品的标题文本、类目信息、价格信息、商品图像中的至少一种提取特征,并进行编码,得到所述商品对应的版块节点的输入特征。

在一种可选的实施方式中,所述输入特征聚合单元,还用于通过以下方式获取所述用户节点的输入特征:对用户的基本信息和行为属性中的至少一种提取特征,并进行编码,得到所述用户对应的用户节点的输入特征。

在一种可选的实施方式中,所述拓扑图处理模块,还用于:利用图神经网络提取所述拓扑图中每个节点的特征,得到节点特征表;当提取待处理对象的特征时,在所述拓扑图中确定所述待处理对象对应的目标节点,在所述节点特征表中查找得到所述目标节点的特征。

在一种可选的实施方式中,所述装置还包括推荐信息生成模块,其用于:如果所述待处理对象为目标用户,在得到所述目标用户的特征后,根据所述目标用户的特征与各所述版块节点的特征之间的相似度,及/或所述目标用户的特征与各所述商品节点的特征之间的相似度,生成针对所述目标用户的与所述版块相关的推荐信息。

根据本发明实施方式的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种特征提取方法。

根据本发明实施方式的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一种特征提取方法。

根据本发明实施方式的特征提取方法、特征提取装置、计算机可读存储介质及电子设备,首先获取各版块内的商品;然后生成各版块对应的版块节点,各商品对应的商品节点,以及用户节点;再基于用户对版块、商品的历史行为,以及版块与商品之间的从属关系,生成各版块节点、商品节点、用户节点之间的边,以建立拓扑图;最后利用图神经网络提取拓扑图中任一节点的特征。一方面,本方案基于版块、商品、用户三种业务对象之间的关系,构建了完整的拓扑图,适用于具有业务版块划分的复杂场景中,以覆盖到场景的不同方面;利用图神经网络从拓扑图中提取上述三种业务对象的特征,保证了特征的全面性与准确性。另一方面,特征提取不依赖于人为设置特征维度,而是从机器的角度对三种业务对象的关系进行学习,并对特征进行抽象表示,从而提高了所提取的特征质量,有利于为后续的业务分析与业务决策提供有效支持。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

图1示出根据本发明实施方式的一种特征提取方法的流程图;

图2示出根据本发明实施方式生成用户节点的流程图;

图3示出根据本发明实施方式的拓扑图的局部示意图;

图4示出根据本发明实施方式提取节点特征的示意图;

图5示出根据本发明实施方式训练图神经网络的流程图;

图6示出根据本发明实施方式提取节点特征的流程图;

图7示出根据本发明实施方式的一种特征提取装置的结构方框图;

图8示出根据本发明实施方式的存储介质的示意图;以及

图9示出根据本发明实施方式的电子设备的结构方框图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本发明的实施方式,提供一种特征提取方法、特征提取装置、计算机可读存储介质及电子设备。

在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本发明的若干代表性实施方式,详细阐述本发明的原理和精神。

发明概述

本发明人发现,现有的特征提取方法中,提取的特征质量强烈地依赖于维度设置是否合理:如果维度设置的不足,则所提取的特征不充分,如果维度设置的过多,则所提取的特征中存在冗余信息。由于人为设置维度的主观性,提取的特征质量通常较低。此外,用户特征来源于用户数据,商品特征来源于商品数据,导致所提取的特征较为片面,特别是在较为复杂的业务场景中,特征无法体现出业务关系,因此不利于后续的业务分析与业务决策。

鉴于上述内容,本发明的基本思想在于:提供一种特征提取方法、特征提取装置、计算机可读存储介质及电子设备,首先获取各版块内的商品;然后生成各版块对应的版块节点,各商品对应的商品节点,以及用户节点;再基于用户对版块、商品的历史行为,以及版块与商品之间的从属关系,生成各版块节点、商品节点、用户节点之间的边,以建立拓扑图;最后利用图神经网络提取拓扑图中任一节点的特征。一方面,本方案基于版块、商品、用户三种业务对象之间的关系,构建了完整的拓扑图,适用于具有业务版块划分的复杂场景中,以覆盖到场景的不同方面;利用图神经网络从拓扑图中提取上述三种业务对象的特征,保证了特征的全面性与准确性。另一方面,特征提取不依赖于人为设置特征维度,而是从机器的角度对三种业务对象的关系进行学习,并对特征进行抽象表示,从而提高了所提取的特征质量,有利于为后续的业务分析与业务决策提供有效支持。

在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。

应用场景总览

需要注意的是,下述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。

本发明基于业务场景中版块、商品、用户这三种业务对象之间的关系,提取任意业务对象的特征,可以应用于具备这三种业务对象的所有场景,例如:电商场景中,将商品按照一定的共性形成版块,如相同类型或相同品牌的商品属于一个版块等,通过本示例性实施方式的方法对版块、商品和用户的数据进行分析,提取版块、商品或用户的特征;在线音乐、电子书、有声书等服务场景中,以需要用户购买的音乐、电子书、有声书为商品,将其形成版块,如同一主题的音乐属于一个版块,同一类型的电子书、有声书属于一个版块等,通过本示例性实施方式的方法提取任一对象的特征。

示例性方法

本发明的示例性实施方式首先提供一种特征提取方法,下面结合图1所示的步骤s110至s140,对特征提取方法的流程做具体说明。

步骤s110,获取各版块内的商品。

其中,版块为包括至少一种商品的商品集合。实际应用中,版块可以是各种具体的业务对象,例如:版块可以是业务单元,如按照业务类型的划分,将每种业务形成对应的一个业务版块,其中包含有该业务关联的商品;版块也可以是商品展示页面,如在网页或app(application,应用程序)中,将相同类型或相同品牌等具有一定共性的商品展示在同一页面中,该页面即一个版块;版块还可以是商品数据库中的组织单元,如按照时间顺序,将时间上相近的商品数据存储在同一单元中,该单元即一个版块。

本示例性实施方式中,可以根据业务需求在一定范围内获取所有的版块,然后统计其中每个板块内有哪些商品。举例来说,在电商活动中,如某个节日的促销活动,平台方会组织一定数量的会场,每个会场对应于一种商品专题,如数码产品会场、服装类会场、食品类会场等,每个会场均包括一定数量的商品。将该活动中的每个会场作为一个版块,可以获取每个版块内的商品。

接下来,本示例性实施方式构建版块、商品、用户之间的拓扑图,通过拓扑图挖掘与提取版块、商品或用户的特征。拓扑图包括两类元素:节点和节点之间的边。下面通过步骤s120和步骤s130分别说明节点和边的生成方法。

步骤s120,生成各版块对应的版块节点,各商品对应的商品节点,以及用户节点。

以下分别对版块节点、商品节点和用户节点进行具体说明:

版块节点。一般可以对每个版块确定版块名或者版块编号,每个版块对应生成一个版块节点,通过版块名或者版块编号记录该节点。

商品节点。每种商品具有商品名或者商品编码,每种商品对应生成一个商品节点,通过商品名或者商品编码记录该节点。

用户节点。参考图2所示,用户节点可以通过以下步骤s210和s220生成:

步骤s210,对用户进行聚类,得到多个用户类别;

步骤s220,对每个用户类别分别生成对应的一个用户节点。

由于用户的数量一般非常庞大,可能超出版块、商品若干个数量级,如果对每个用户形成一个用户节点,可能引入非常多的冗余信息。因此本示例性实施方式对用户进行聚类,每个用户类别对应生成一个用户节点,通过用户类别的名称或者编号记录该节点,从而大大减少用户节点的数量,提高信息的稠密度。其中,可以对所有的用户进行聚类,例如对所有的注册用户进行聚类,也可以根据业务需求,对一定范围内的用户进行聚类,例如对发生过购买行为的用户进行聚类,或者对参与过某次电商活动的用户进行聚类等。

本示例性实施方式对于聚类方式不做具体限定。例如可以采用k-means算法(k均值算法),根据版块节点和商品节点的数量,确定合适的k值(如可以等于商品节点的数量,或者商品节点数量的两倍、三倍等);随机选取k个用户,作为k个聚类中心;计算其他用户与各聚类中心的距离,可以将每个用户的数据形成向量,计算向量之间的欧式距离、余弦相似度等,将每个用户划分到最近的聚类中心,得到k个用户类别;再对每个用户类别中更新聚类中心,然后再进行一次聚类;通过多次迭代,每个用户类别中的聚类中心趋于稳定,则聚类结束,得到最终的k个用户类别。也可以采用协同过滤算法,统计每个用户对不同商品的交互行为,可以包括浏览行为、收藏行为、购买行为、评论行为等,基于相同或相似的商品组合确定相似的用户,将相似的用户形成一个用户类别,从而得到多个用户类别。

用户数据通常包括两方面数据:用户的基本信息,如年龄、性别、职业、居住地区等;用户的行为数据,具体是指用户在网站、平台或app中所发生过的历史行为对应的历史数据,如登录行为、浏览行为、收藏行为、购买行为等。在一种可选的实施方式中,可以分别从上述两方面数据对用户进行聚类,步骤s210可以包括:

基于用户的基本信息对用户进行聚类,得到多个第一用户类别;

基于用户的行为属性对用户进行聚类,得到多个第二用户类别。

其中,行为属性是指对用户的行为数据进行统计整理所得到的标准化数据,例如可以设置多个维度,如最近一个月的登录次数、登录时间、收藏商品数量、下单数、购买商品件数、消费金额等,将每个用户的行为数据按照这些维度进行整理,并进行离散化处理与编码,得到向量形式的行为属性。

第一用户类别和第二用户类别分别表示通过两方面数据进行聚类所得到的用户类别。对于同一批用户,基于其基本信息进行第一次聚类,得到第一用户类别,基于其行为属性进行第二次聚类,得到第二用户类别。通常每个用户同时属于一个第一用户类别和一个第二用户类别。当然,在聚类时,可能存在一部分用户,其仅有基本信息,没有行为数据(如注册后未活跃过的用户),则可以仅将这些用户划分到对应的第一用户类别中。

对于每个第一用户类别和第二用户类别,均生成一个对应的用户节点。这样得到的用户节点具有更强的针对性,对用户的划分也更加精准。

当后续产生新用户时,如果新用户具有历史数据,则根据新用户的历史数据确定其行为属性,并根据新用户的行为属性将其划分到对应的第二用户类别;如果新用户不具有历史数据,则根据新用户的基本信息将其划分到对应的第一用户类别。例如,如果新用户实际上是平台的老用户,由于第一次参加电商活动,是电商活动中的新用户,因此该用户具有历史数据;整理其历史数据得到该用户的行为属性,然后计算其行为属性与各第二用户类别的距离,将其划分到距离最近的第二用户类别中,从而确定该用户所对应的用户节点。如果新用户是平台上刚注册的用户,没有过任何行为数据,通过该用户注册时所提交的基本信息,计算其与各第一用户类别的距离,将其划分到距离最近的第一用户类别中,从而确定该用户所对应的用户节点。这样能够解决新用户的冷启动问题,即在新用户没有任何历史数据的情况下,也能够将其对应到某一用户节点,并在后续步骤中提取其用户特征。

步骤s130,基于用户对版块、商品的历史行为,以及版块与商品之间的从属关系,生成各版块节点、商品节点、用户节点之间的边,以建立拓扑图。

在为拓扑图生成节点之间的边时,需要考虑节点之间的关联性。本示例性实施方式涉及到三种节点,关联关系较为复杂,主要基于用户对版块、商品的历史行为,以及版块与商品之间的从属关系而确定,不同种类的节点之间的边所涉及的关联关系也不同,因此需要分别处理。

上述各版块节点、商品节点、用户节点之间的边,可以包括:用户节点和版块节点之间的边,用户节点和商品节点之间的边,版块节点和商品节点之间的边,商品节点和商品节点之间的边。以下分别对这四种边进行具体说明:

用户节点和版块节点之间的边。可以统计历史数据中每个用户类别中的用户与各版块的历史交互行为,以确定用户节点和版块节点之间的边以及边权重。其中,用户与版块的历史交互行为是指用户已进行的与版块相关的所有行为,包括但不限于:用户点击浏览版块,用户在版块中留言,用户领取版块中的优惠券,用户购买版块内的商品等行为。举例来说,可以获取一次历史电商活动中所有的用户行为数据,即历史数据;统计历史数据中每个用户类别和每个版块的历史交互行为,如统计用户类别u1对版块a的历史交互行为时,可以统计u1中的所有用户点击浏览版块a的次数,在版块a中留言的数量,领取版块a中优惠券的数量,购买版块a内商品的件数等;然后对这些数值进行归一化和加权,得到综合数值,作为用户节点u1和版块节点a之间的边权重;如果边权重小于第一阈值,认为用户节点u1和版块节点a之间没有边。第一阈值是衡量用户类别与版块之间是否相关的标准,可以根据经验或实际需求设定,如可以是0.5。通过上述方式可以得到每个用户节点和每个版块之间是否有边,以及边的权重。用户和版块之间的交互程度越高,代表两者关系越密切,有边的概率越高,边的权重也越高。

在一种可选的实施方式中,可能存在新的版块,例如本次电商活动设计了新的版块,该版块在以前的活动中未出现过,因此也不存在用户与该版块的历史交互行为。针对该情况,可以统计用户对该版块内的商品的历史交互行为,以预测用户对该版块的交互程度,从而计算边以及边的权重。由此可以解决关于版块的冷启动问题。

用户节点和商品节点之间的边。可以统计历史数据中每个用户类别中的用户与各商品的历史交互行为,以确定用户节点和商品节点之间的边以及边权重。其中,用户与商品的历史交互行为是指用户已进行的与商品相关的所有行为,包括但不限于:用户浏览商品、收藏商品、购买商品、评论商品等行为。举例来说,可以获取最近一段时间(如最近一年)内平台上所有的用户行为数据,即历史数据;统计历史数据中每个用户类别和每种商品的历史交互行为,如统计用户类别u1对商品a1的历史交互行为时,可以统计u1中所有用户点击浏览商品a1的次数,收藏商品a1的次数,购买商品a1的件数,评论商品a1的次数等;然后对这些数值进行归一化和加权,得到综合数值,作为用户节点u1和商品节点a1之间的边权重;如果边权重小于第二阈值,认为用户节点u1和商品节点a1之间没有边。第二阈值是衡量用户类别与商品之间是否相关的标准,可以根据经验或实际需求设定,如可以是0.5。通过上述方式可以得到每个用户节点和每个商品之间是否有边,以及边的权重。用户和商品之间的交互程度越高,代表两者关系越密切,有边的概率越高,边的权重也越高。

版块节点和商品节点之间的边。一般的,可以根据版块与商品的从属关系,在具有从属关系的版块节点和商品节点之间生成边,无从属关系则没有边。在一些场景中,版块的数量较少,每个版块包括大量的商品,这样在版块节点和商品节点之间形成大量的边,可能导致不同版块的区分度较低,丢失重要的关系特征。基于此,在一种实施方式中,可以统计每个版块内各商品的tf-idf(termfrequency-inversedocumentfrequency,词频-逆文本频率),根据tf-idf确定版块节点和商品节点之间的边以及边权重。举例来说,假设一共有f个版块,其中,版块a包括k种商品,分别为a1、a2、…、ak;统计与版块a相关的历史数据,并分别统计其中与a1、a2、…、ak相关的历史数据条数(一条数据表示一次用户行为),分别记为q1、q2、…、qk,实际上q1反映了与a1相关的用户行为的次数;对于版块a中的商品a1,其tf(词频)为:

应当理解,在统计q1、q2、…、qk时,可以为不同类型的用户行为设置不同的权重,一般来说,浏览的权重<评论的权重<收藏的权重<购买的权重,然后对每种商品的所有相关历史数据进行权重累加,得到累积权重值,以替换q1、q2、…、qk,则公式(1)也可以采用累积权重值计算tf。

然后统计在所有f个版块中,包含有商品a1的版块数量,假设为fa1,则商品a1的idf(逆文本频率)为:

需要说明的是,idf计算中,通常在分母中加1,即1+fa1,以防止分母为0的情况。而本示例性实施方式中,所选取的商品至少属于一个版块,因此可以不用加1。此外,也可以对idf整体加一定的系数值(如1),以平衡tf和idf值,这种方式同样适用于本示例性实施方式。

最后计算版块a中商品a1的tf-idf为:

在得到版块内每个商品的tf-idf后,可以进行适当的归一化处理,得到版块节点和商品节点之间的边权重。如果边权重小于第三阈值,认为版块节点和商品节点之间没有边。第三阈值是衡量版块与商品之间是否相关的标准,可以根据经验或实际需求设定,如可以是0.6。

商品节点和商品节点之间的边。可以根据用户针对各商品的历史行为,确定各商品之间的关联性,根据关联性确定各商品节点之间的边以及边权重。具体来说,可以提取历史行为中的购买行为,得到每次购买行为对应的订单数据,确定用户每次购买了哪些商品,将同时购买概率较高的商品确定为关联商品,其商品节点之间生成边。本示例性实施方式可以采用任意关联分析算法,以apriori算法(一种关联规则挖掘算法)为例,统计历史行为中购买行为的次数为h,购买商品a1的次数为h(a1),购买商品a2的次数为h(a2),同时购买a1和a2的次数为h(a1,a2),计算商品a1和a2的支持度:

计算商品a1和a2的置信度:

然后可以对支持度与置信度分别设置阈值,当支持度与置信度均大于阈值时,确定商品节点a1和商品节点a2之间有边,并根据支持度与置信度加权计算得到边的权重。也可以先对支持度与置信度加权计算,得到a1和a2的关联度;如果关联度大于第四阈值,认为商品节点a1和商品节点a2之间有边,关联度即边的权重;如果关联度小于第四阈值,认为商品节点a1和商品节点a2之间没有边。第四阈值是关于商品之间关联度的衡量标准,可以根据经验或实际需求设定,如可以是0.4。

需要说明的是,上述第一、第二、第三和第四阈值分别是针对不同的参数所预先确定的阈值,四个阈值相互之间并无关联,其数值可以相同,也可以不同。

通过上述步骤s120和s130,可以建立关于版块、商品、用户的拓扑图,参考图3所示,为实际拓扑图的一个局部。在拓扑图中,版块节点与用户节点、商品节点相连,用户节点与版块节点、商品节点相连,商品节点与三种节点均有相连;版块节点和版块节点之间不相连,用户节点和用户节点之间不相连,但实际上通过其他节点,版块节点和版块节点之间可以形成二次相连,用户节点和用户节点之间也可以形成二次相连。该拓扑图实际上包含了版块、商品、用户三种业务对象之间复杂的关联关系。下面可以基于拓扑图进行特征提取。

步骤s140,利用图神经网络提取拓扑图中任一节点的特征。

gnn(graphneuralnetwork,图神经网络)是利用深度学习在图结构上运行的算法模型。gnn所处理的图(graph)一般指拓扑图,包括节点和边,而非由像素点组成的图像。相较而言,像素图像主要包含视觉信息,拓扑图主要包含关系信息,gnn即处理拓扑图中关系信息的模型。

图4示出了基于gnn中的graphsage(graphsampleandaggregate,图取样与聚合)算法提取节点特征的示意图。图4中左侧为拓扑图,将其输入gnn中,选取其中任一节点(如节点a)为目标节点,如图4中右侧所示,通过多层聚合处理得到a的特征。算法表示如下:

输入拓扑图g(v,e),v表示拓扑图中的节点集合,e表示拓扑图中的边集合。输入v中任意节点u的输入特征,以xu表示;输入特征表示由外部获取的节点的初始化特征,如版块、商品、用户的输入特征可以分别由其属性确定,下文将对三种节点的输入特征做具体说明。输入预设层数k,以及1~k层的权重(这部分是gnn的主要参数,也可以包括偏置参数)wi设置激活函数σ,如可以采用sigmoid函数(s型激活函数)。设置聚合函数agi,定义任意节点u的邻居节点集合为n(u),邻居节点是指与目标节点直接相连(即与目标节点之间有边)的节点,如图4中a的邻居节点为b、c、d。

对于任意节点u,在gnn中具有1~k层的潜在向量(embedding)潜在向量是对中间特征的表示,算法过程如公式(6)所示:

其中,concat表示拼接。

公式(6)示出了gnn的处理过程包括两个循环嵌套:大循环是指对层数进行迭代,小循环是指对每一层中的每个节点进行迭代。具体处理过程为:从第一层开始,在每一层中对每个节点进行潜在向量表示,以图4中的节点a为例,获取节点a的邻居节点b、c、d,对b、c、d的上一层潜在向量进行聚合,聚合结果与a的上一层潜在向量进行拼接,通过加权和激活运算(非线性转换),得到a在当前层的潜在向量;利用同样的方法,在当前层对其他每个节点进行运算,得到每个节点在当前层的潜在向量表示。然后进入下一层,重复上一层的运算,得到每个节点在下一层的潜在向量表示。以此逐层迭代,直到到达第k层,将第k层中每个节点的潜在向量作为每个节点的输出特征,从而得到任意节点u的输出特征zu。

本示例性实施方式中,聚合函数agi可以采用任意形式实现,包括但不限于以下三种形式:

①平均聚合。即对邻居节点的上一层潜在向量的每个维度取平均,如下所示:

②lstm(longshorttermmemory,长短期记忆)聚合。利用lstm网络的算法,先对邻居节点排序(如可以随机排序,也可以按照实际场景的特点排序),然后按照顺序将每个邻居节点的上一层潜在向量依次输入不同的lstm单元,通过lstm依次处理,在最后一个单元输出聚合结果

③pooling(池化)聚合。先对每个邻居节点的上一层潜在向量进行非线性转换(如等价于单个全连接层的处理,需要用到权重wpool,偏置b和激活函数σ),再按照每个维度通过max或meanpooling(最大值池化或平均值池化)处理得到聚合结果,如下所示:

以上介绍了gnn的处理过程。对于图4中的目标节点a而言,其特征提取过程为:在第一层,获取a的邻居节点b、c、d,将b、c、d的输入特征聚合,并与a的输入特征进行非线性转化,得到a的第一层潜在向量;在第二层,将邻居节点b、c、d的第一层潜在向量进行聚合,并与a的第一层潜在向量进行非线性转换,得到a的第二层潜在向量…以此逐层迭代,直到到达第k层,得到a的第k层潜在向量,即得到a的特征。图4示出了k为3的情况。

通过上述方式,可以对拓扑图中的版块节点、商品节点或用户节点提取特征,以得到版块特征、商品特征或用户特征。

下面对图神经网络的训练过程进行说明,参考图5所示,可以包括以下步骤s510至s530:

步骤s510,将拓扑图输入待训练的图神经网络,提取拓扑图中任意两个节点的特征,计算该两个节点的特征相似度;

步骤s520,基于两个节点之间是否有边,得到针对该两个节点的标签;

步骤s530,利用两个节点的特征相似度和标签,更新图神经网络的参数。

其中,待训练的图神经网络中,各项参数可以通过初始化得到,例如在一定数值范围内随机初始化生成参数,包括上述权重和偏置参数。本示例性实施方式中,以任意两个节点为一组样本,例如节点(u,v),输入的样本数据为两个节点的编号,通过gnn输出两个节点的特征zu和zv,并计算两个节点的特征相似度。

在步骤s130中确定了节点之间的边,因而可以基于任意两个节点之间是有有边,得到针对该两个节点的标签,例如记(u,v)的标签为e(u|v),当u和v之间有边时,e(u|v)=1,当u和v之间无边时,e(u|v)=0。

一般的,u和v之间有边时,u和v的特征相似度应当较高,u和v之间无边时,特征相似度应当较低。基于此可以构建损失函数,如下所示:

其中,l表示损失函数。n为样本数量,示例性的,如果拓扑图中共有m个节点,则n的最大值为p(zu|zv)表示u和v的特征相似度。特征相似度可以通过多种算法计算,例如可以计算两个特征向量的余弦相似度、欧式距离等。

需要说明的是,实际训练中,以拓扑图中任意两个节点为一组样本数据,可以从拓扑图中提取多组样本数据,且同一节点可以和不同的节点形成不同的样本数据。样本数据中包括正样本(有边的两个节点)和负样本(无边的两个节点)。通过在一个batch(指一批样本)上优化损失函数,利用梯度下降等方式更新gnn的参数。

在一种可选的实施方式,步骤s530可以包括:

将两个节点的特征相似度和标签代入以下损失函数:

通过损失函数更新图神经网络的参数。

其中,v表示拓扑图中的节点集合,u、v表示v中的任意两个节点;n(u)表示与u有边的节点的集合,f(u)表示与u无边的节点的集合,e(u|v)=1表示u与v有边时,标签为1,e(u|v)=0表示u与v无边时,标签为0。并限定u和v的特征相似度处于0~1之间。

通过损失函数(10),可以优化gnn,使正样本的特征相似度趋于1,负样本的特征相似度趋于0,从而提高gnn提取特征的准确度。

在一种可选的实施方式中,也可以采用交叉熵的形式构建损失函数,如下所示:

在复杂的拓扑图中,节点之间的连接关系比较密集,一个节点可能具有很多个邻居节点,在进行聚合处理时,计算量较大,且可能引入冗余信息。基于此,在一种可选的实施方式中,参考图6所示,步骤s140可以包括以下步骤s610和s620:

步骤s610,在拓扑图中确定任一节点的关键邻居节点;

步骤s620,对上述关键邻居节点的输入特征进行聚合,并通过图神经网络进行预设层数的迭代,得到上述任一节点的特征。

其中,关键邻居节点是对邻居节点进行了一定的筛选或丢弃所得到的,可视为邻居节点的子集。本示例性实施方式中,由于拓扑图包括三种不同类型的节点,因此该拓扑图为异构图,三种节点的连接关系不同,可以分别采用不同的方式确定关键邻居节点,以下分别具体说明。

一、如果上述任一节点为版块节点,则在其邻居节点中选取所有的商品节点,作为其关键邻居节点。换而言之,在版块节点的邻居节点中丢弃了用户节点,这是因为用户节点与版块节点之间的关系较为稀疏,所包含的信息价值可能较低,丢弃后可以提高信息密度,简化运算。

二、如果上述任一节点为商品节点,则在其邻居节点中选取第一预设数量的用户节点、第二预设数量的商品节点和所有的版块节点,作为其关键邻居节点。换而言之,在邻居节点中对用户节点和商品节点进行适当的丢弃,保留所有的版块节点,这是因为用户和商品、商品和商品的交互较为稠密,可能包含一些噪音信息。在选取第一预设数量的用户节点和第二预设数量的商品节点,可以选取其中边权重较高的节点,也可以采用randomwalk(随机行走)算法选取。第一预设数量和第二预设数量可以根据经验或实际需求设置,例如用户节点的数量大于商品节点时,第一预设数量可以大于第二预设数量。

三、如果上述任一节点为用户节点,则在其邻居节点中选取第三预设数量的节点,作为任一节点的关键邻居节点。用户节点的邻居节点包括版块节点和商品节点,一般来说,用户节点的边都较为稠密,可能包含一些噪音信息,因此可以进行适当的丢弃。在选取第三预设数量的节点时,可以选取其中边权重较高的节点,也可以采用randomwalk算法选取。第三预设数量可以根据经验或实际需求设置,通常与拓扑图的复杂度相关。

在确定了关键邻居节点后,gnn处理时仅对关键邻居节点的特征进行聚合,从而降低计算量,并提高gnn的泛化处理能力,减少过拟合的情况。

在上述gnn的处理过程中,特征是通过多层迭代得到的,其中,初始的特征为输入特征,后续经过每一层迭代得到每一层的潜在向量,最终得到输出特征。可见,输入特征是进行特征迭代的前提。关于如何获取三种节点的输入特征,以下分别具体说明。

版块节点的输入特征通过以下方式获取:

对版块的标题文本、类别信息、海报图像中的至少一种提取特征,并进行编码,得到版块对应的版块节点的输入特征。其中,标题文本可以采用自然语言处理模型提取文本和语义特征;类别信息是指版块属于哪个业务类别,可以作为单独的维度;海报图像一般指版块封面或其他宣传页面的图像,利用卷积神经网络提取图像特征后,通过降维处理,与前两种特征进行合并或拼接,得到对应的版块节点的输入特征。在对每种特征进行处理时,一般要经过数值化、离散化、归一化、向量化等处理,即按照预设的标准规则对特征进行编码。

商品节点的输入特征通过以下方式获取:

对商品的标题文本、类目信息、价格信息、商品图像中的至少一种提取特征,并进行编码,得到商品对应的版块节点的输入特征。其中,商品的标题文本的处理可以参考上述对版块的标题文本的处理;类目信息可能包括商品所属的多级类目,可以分别形成对应的维度;价格信息可以作为单独的维度;商品图像一般指商品销售页面中的外观图像,可以参考上述对版块的海报图像的处理,降维后与前三种特征进行合并或拼接,得到对应的商品节点的输入特征。

用户节点的输入特征通过以下方式获取:

对用户的基本信息和行为属性中的至少一种提取特征,并进行编码,得到用户对应的用户节点的输入特征。其中,基本信息可以包括用户年龄、性别、职业、居住地区等,行为属性可以包括登录行为、浏览行为、收藏行为、购买行为等,通过预先确定的维度对这些数据进行整理和编码,得到对应的用户节点的输入特征。

需要说明的是,为了便于特征聚合处理,上述三种节点的输入特征可以具有相同数量的维度。在获取输入特征时,无需获取到所有的特征类别,允许有一部分缺失,相应维度可以填入0或其他预设数值,本示例性实施方式对此不做限定。

拓扑图的构建与gnn的训练过程可以在线下完成。在完成后,可以利用图神经网络提取拓扑图中每个节点的特征,得到节点特征表。节点特征表中包括每个版块节点、商品节点或用户节点对应的特征。后续当需要提取待处理对象的特征时,可以在拓扑图中确定待处理对象对应的目标节点,然后在节点特征表中查找得到目标节点的特征。例如,待处理对象为目标版块时,根据版块id(identitydocument,这里指唯一性标识)找到对应的版块节点,然后通过查表得到该版块节点的特征,即目标版块的特征;待处理对象为目标商品时,根据商品id找到对应的商品节点,然后通过查表得到该商品节点的特征,即目标商品的特征;待处理对象为目标用户时,如果是老用户,根据用户id找到对应的用户节点,如果是新用户,根据用户的基本信息确定其归属的用户节点,然后通过查表得到该用户节点的特征,即目标用户的特征。

进一步的,如果待处理对象为目标用户,在得到目标用户的特征后,还可以根据目标用户的特征与各版块节点的特征之间的相似度,及/或目标用户的特征与各商品节点的特征之间的相似度,生成针对目标用户的与版块相关的推荐信息。具体来说,将目标用户的特征分别与各版块节点的特征计算相似度,与各商品节点的特征计算相似度,选取其中相似度最高的若干个版块或商品,形成推荐信息,推荐给目标用户。在互联网活动中,通过该方法可以预测目标用户感兴趣的专题或商品页面,将其推荐给目标用户,从而弥补了现有技术中对于活动专题推荐方面的空白,并实现对目标用户的高质量定制化服务。

示例性装置

在介绍了本发明示例性实施方式的特征提取方法之后,接下来,参考图7对本发明示例性实施方式的特征提取装置进行说明。

如图7所示,特征提取装置700可以包括:

信息获取模块710,用于获取各版块内的商品,版块为包括至少一种商品的商品集合;

节点生成模块720,用于生成各版块对应的版块节点,各商品对应的商品节点,以及用户节点;

边生成模块730,用于基于用户对版块、商品的历史行为,以及版块与商品之间的从属关系,生成各版块节点、商品节点、用户节点之间的边,以建立拓扑图;

拓扑图处理模块740,用于利用图神经网络提取拓扑图中任一节点的特征。

在一种可选的实施方式中,节点生成模块720,用于通过以下方式生成用户节点:

对用户进行聚类,得到多个用户类别;对每个用户类别分别生成对应的一个用户节点。

在一种可选的实施方式中,节点生成模块720,用于通过以下方式对用户进行聚类:

基于用户的基本信息对用户进行聚类,得到多个第一用户类别;

基于用户的行为属性对用户进行聚类,得到多个第二用户类别。

在一种可选的实施方式中,节点生成模块720,还用于当产生新用户时,通过以下方式确定新用户的用户类别:

如果新用户具有历史数据,则根据新用户的历史数据确定其行为属性,并根据新用户的行为属性将新用户划分到对应的第二用户类别;

如果新用户不具有历史数据,则根据新用户的基本信息将新用户划分到对应的第一用户类别。

在一种可选的实施方式中,边生成模块730包括用户-版块边生成单元,其用于:

统计历史数据中每个用户类别中的用户与各版块的历史交互行为,以确定用户节点和版块节点之间的边以及边权重。

在一种可选的实施方式中,边生成模块730包括用户-商品边生成单元,其用于:

统计历史数据中每个用户类别中的用户与各商品的历史交互行为,以确定用户节点和商品节点之间的边以及边权重。

在一种可选的实施方式中,边生成模块730包括版块-商品边生成单元,其用于:

统计每个版块中各商品的词频-逆文本频率,根据词频-逆文本频率确定版块节点和商品节点之间的边以及边权重。

在一种可选的实施方式中,边生成模块730包括商品-商品边生成单元,其用于:

根据用户针对各商品的历史行为,确定各商品之间的关联性,根据关联性确定各商品节点之间的边以及边权重。

在一种可选的实施方式中,拓扑图处理模块740包括模型训练单元,其用于:

将拓扑图输入待训练的图神经网络,提取拓扑图中任意两个节点的特征,计算该两个节点的特征相似度;

基于上述两个节点之间是否有边,得到针对两个节点的标签;利用上述两个节点的特征相似度和标签,更新图神经网络的参数。

在一种可选的实施方式中,模型训练单元,还用于通过以下方式更新图神经网络的参数:

将上述两个节点的特征相似度和标签代入以下损失函数:

通过损失函数更新图神经网络的参数;

其中,l表示损失函数,n为样本数量;v表示拓扑图中的节点集合,u、v表示v中的任意两个节点;n(u)表示与u有边的节点的集合,f(u)表示与u无边的节点的集合,e(u|v)=1表示u与v有边时,标签为1,e(u|v)=0表示u与v无边时,标签为0;zu表示u的特征,zv表示v的特征,p(zu|zv)表示点对(u,v)的特征相似度。

在一种可选的实施方式中,拓扑图处理模块740包括:

关键邻居节点确定单元,用于在拓扑图中确定任一节点的关键邻居节点;

输入特征聚合单元,用于对关键邻居节点的输入特征进行聚合,并通过图神经网络进行预设层数的迭代,得到任一节点的特征。

在一种可选的实施方式中,关键邻居节点确定单元,用于:

如果任一节点为版块节点,则在其邻居节点中选取所有的商品节点,作为任一节点的关键邻居节点。

在一种可选的实施方式中,关键邻居节点确定单元,用于:

如果任一节点为商品节点,则在其邻居节点中选取第一预设数量的用户节点、第二预设数量的商品节点和所有的版块节点,作为任一节点的关键邻居节点。

在一种可选的实施方式中,关键邻居节点确定单元,用于:

如果任一节点为用户节点,则在其邻居节点中选取第三预设数量的节点,作为任一节点的关键邻居节点。

在一种可选的实施方式中,输入特征聚合单元,还用于通过以下方式获取版块节点的输入特征:

对版块的标题文本、类别信息、海报图像中的至少一种提取特征,并进行编码,得到版块对应的版块节点的输入特征。

在一种可选的实施方式中,输入特征聚合单元,还用于通过以下方式获取商品节点的输入特征:

对商品的标题文本、类目信息、价格信息、商品图像中的至少一种提取特征,并进行编码,得到商品对应的版块节点的输入特征。

在一种可选的实施方式中,输入特征聚合单元,还用于通过以下方式获取用户节点的输入特征:

对用户的基本信息和行为属性中的至少一种提取特征,并进行编码,得到用户对应的用户节点的输入特征。

在一种可选的实施方式中,拓扑图处理模块740,还用于:

利用图神经网络提取拓扑图中每个节点的特征,得到节点特征表;

当提取待处理对象的特征时,在拓扑图中确定待处理对象对应的目标节点,在节点特征表中查找得到目标节点的特征。

在一种可选的实施方式中,特征提取装置700还包括推荐信息生成模块750,其用于:

如果待处理对象为目标用户,在得到目标用户的特征后,根据目标用户的特征与各版块节点的特征之间的相似度,及/或目标用户的特征与各商品节点的特征之间的相似度,生成针对目标用户的与版块相关的推荐信息。

此外,本发明实施方式的其他具体细节在上述方法的发明实施方式中已经详细说明,在此不再赘述。

示例性存储介质

参考图8对本发明示例性实施方式的存储介质进行说明。

如图8所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

该程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、re等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言-诸如java、c++等,还包括常规的过程式程序设计语言-诸如"c"语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

示例性电子设备

参考图9对本发明示例性实施方式的电子设备进行说明。

图9显示的电子设备900仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:至少一个处理单元910、至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930、显示单元940。

其中,存储单元存储有程序代码,程序代码可以被处理单元910执行,使得处理单元910执行本说明书上述"示例性方法"部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元910可以执行如图1、图2、图5或图6所示的方法步骤等。

存储单元920可以包括易失性存储单元,例如随机存取存储单元(ram)921和/或高速缓存存储单元922,还可以进一步包括只读存储单元(rom)923。

存储单元920还可以包括具有一组(至少一个)程序模块925的程序/实用工具924,这样的程序模块925包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线930可以包括数据总线、地址总线和控制总线。

电子设备900也可以与一个或多个外部设备1000(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(i/o)接口950进行。电子设备900还包括显示单元940,其连接到输入/输出(i/o)接口950,用于进行显示。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(fan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

应当注意,尽管在上文详细描述中提及了装置的若干模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

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