对象推荐方法和装置
技术领域
本说明书涉及人工智能领域,尤其涉及一种对象推荐方法和装置。
背景技术
随着互联网技术的快速发展,需要进行对象推荐的应用场景越来越多。例如,电商平台可为用户推荐商品,电影票购票平台可为用户推荐电影等。推荐算法的准确性将直接影响用户体验。
发明内容
有鉴于此,本说明书提供一种对象推荐方法和装置。
具体地,本说明书是通过如下技术方案实现的:
一种对象推荐方法,包括:
构建若干不同的同质对象网络,所述同质对象网络中的节点代表待推荐的对象,同一同质对象网络中的连边代表所连接的对象在相同属性维度下存在关联关系;
构建若干不同的同质用户网络,所述同质用户网络中的节点代表用户,同一同质用户网络中的连边代表所连接的用户与相同属性维度下的对象存在关联关系或代表所连接的用户之间存在与对象无关的关联关系;
针对每个对象,融合所述对象在不同同质对象网络下的特征表示,得到所述对象的综合特征表示;
针对每个用户,融合所述用户在不同同质用户网络下的特征表示,得到所述用户的综合特征表示;
采用用户的自身特征表示和对象的综合特征表示为用户预测各对象的第一推荐概率;
采用用户的综合特征表示和对象的自身特征表示为用户预测各对象的第二推荐概率;
采用用户的自身特征表示和对象的自身特征表示为用户预测各对象的第三推荐概率;
综合所述第一推荐概率、所述第二推荐概率和所述第三推荐概率,得到用于对象推荐的综合推荐概率。
一种对象推荐模型的训练方法,包括:
构建若干不同的同质对象网络,所述同质对象网络中的节点代表待推荐的对象,同一同质对象网络中的连边代表所连接的对象在相同属性维度下存在关联关系;
构建若干不同的同质用户网络,所述同质用户网络中的节点代表用户,同一同质用户网络中的连边代表所连接的用户与相同属性维度下的对象存在关联关系或代表所连接的用户之间存在与对象无关的关联关系;
采用所述若干不同的同质对象网络、所述若干不同的同质用户网络作为输入,以及基于用户和对象的历史关联关系确定的标签,对表示生成模型和推荐模型进行联合训练;
其中,所述表示生成模型,用于针对每个对象,融合所述对象在不同同质对象网络下的特征表示,得到所述对象的综合特征表示;针对每个用户,融合所述用户在不同同质用户网络下的特征表示,得到所述用户的综合特征表示;以及,生成用户的自身特征表示和对象的自身特征表示;
所述推荐模型,用于采用用户的自身特征表示和对象的综合特征表示作为输入,输出各对象的第一推荐概率;采用用户的综合特征表示和对象的自身特征作为输入,输出各对象的第二推荐概率;采用用户的自身特征表示和对象的自身特征表示作为输入,输出各对象的第三推荐概率;以及综合所述第一推荐概率、所述第二推荐概率和所述第三推荐概率,得到用于对象推荐的综合推荐概率。
一种对象推荐装置,包括:
对象网络构建单元,构建若干不同的同质对象网络,所述同质对象网络中的节点代表待推荐的对象,同一同质对象网络中的连边代表所连接的对象在相同属性维度下存在关联关系;
用户网络构建单元,构建若干不同的同质用户网络,所述同质用户网络中的节点代表用户,同一同质用户网络中的连边代表所连接的用户与相同属性维度下的对象存在关联关系或代表所连接的用户之间存在与对象无关的关联关系;
对象表示生成单元,针对每个对象,融合所述对象在不同同质对象网络下的特征表示,得到所述对象的综合特征表示;
用户表示生成单元,针对每个用户,融合所述用户在不同同质用户网络下的特征表示,得到所述用户的综合特征表示;
第一推荐单元,采用用户的自身特征表示和对象的综合特征表示为用户预测各对象的第一推荐概率;
第二推荐单元,采用用户的综合特征表示和对象的自身特征表示为用户预测各对象的第二推荐概率;
第三推荐单元,采用用户的自身特征表示和对象的自身特征表示为用户预测各对象的第三推荐概率;
综合推荐单元,综合所述第一推荐概率、所述第二推荐概率和所述第三推荐概率,得到用于对象推荐的综合推荐概率。
一种对象推荐装置,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与对象推荐逻辑对应的机器可执行指令,所述处理器被促使:
构建若干不同的同质对象网络,所述同质对象网络中的节点代表待推荐的对象,同一同质对象网络中的连边代表所连接的对象在相同属性维度下存在关联关系;
构建若干不同的同质用户网络,所述同质用户网络中的节点代表用户,同一同质用户网络中的连边代表所连接的用户与相同属性维度下的对象存在关联关系或代表所连接的用户之间存在与对象无关的关联关系;
针对每个对象,融合所述对象在不同同质对象网络下的特征表示,得到所述对象的综合特征表示;
针对每个用户,融合所述用户在不同同质用户网络下的特征表示,得到所述用户的综合特征表示;
采用用户的自身特征表示和对象的综合特征表示为用户预测各对象的第一推荐概率;
采用用户的综合特征表示和对象的自身特征表示为用户预测各对象的第二推荐概率;
采用用户的自身特征表示和对象的自身特征表示为用户预测各对象的第三推荐概率;
综合所述第一推荐概率、所述第二推荐概率和所述第三推荐概率,得到用于对象推荐的综合推荐概率。
由以上描述可以看出,本说明书可构建若干不同的同质对象网络和若干不同的同质用户网络,并通过融合各对象在不同同质对象网络下的特征表示,得到各对象的综合特征表示,通过融合各用户在不同同质用户网络下的特征表示,得到各用户的综合特征表示,然后分别采用用户和对象的自身特征表示、用户的自身特征表示和对象的综合特征表示、用户的综合特征表示和对象的自身特征表示来为用户预测各对象的推荐概率,并综合这三项推荐概率,得到综合推荐概率。该综合推荐概率综合了用户和对象的异构信息,准确性更高。基于该综合推荐概率为用户进行对象推荐,可有效提升用户体验。
附图说明
图1是本说明书一示例性实施例示出的一种对象推荐的方法的流程示意图。
图2是本说明书一示例性实施例示出的另一种对象推荐的方法的流程示意图。
图3是本说明书一示例性实施例示出的一种同质商品网络示意图。
图4是本说明书一示例性实施例示出的一种用于对象推荐装置的一结构示意图。
图5是本说明书一示例性实施例示出的一种对象推荐装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本说明书提供一种对象推荐方案,可构建若干不同的同质对象网络和若干不同的同质用户网络,并通过融合各对象在不同同质对象网络下的特征表示,得到各对象的综合特征表示,通过融合各用户在不同同质用户网络下的特征表示,得到各用户的综合特征表示,然后分别采用用户和对象的自身特征表示、用户的自身特征表示和对象的综合特征表示、用户的综合特征表示和对象的自身特征表示来为用户预测各对象的推荐概率,并综合这三项推荐概率,得到综合推荐概率。该综合推荐概率综合了用户和对象的异构信息,准确性更高。基于该综合推荐概率为用户进行对象推荐,可有效提升用户体验。
上述对象可包括:商品或服务。例如,电商平台可向用户推荐售卖的商品或服务。
上述对象还可包括:资讯。例如,门户网站可向用户推荐资讯。
上述对象还可包括:视频。例如,视频APP(Application,应用程序)可向用户推荐电视剧、电影等视频。
当然,在其他例子中,上述对象还可是其他实体或数据,上述对象推荐还可应用在其他应用场景中,本说明书对此不作特殊限制。
下面结合具体的实施例来描述本说明书的实现过程。
请参考图1和图2,本说明书提供的对象推荐方法可包括以下步骤:
步骤102,构建若干不同的同质对象网络,所述同质对象网络中的节点代表待推荐的对象,同一同质对象网络中的连边代表所连接的对象在相同属性维度下存在关联关系。
在本实施例中,对象通常具有多维度的属性信息。
例如,当对象是电影时,所述属性信息的维度可包括:导演、演员、类型、观看过的用户等。
再例如,当对象是商品时,所述属性信息的维度可包括:类别、材质、颜色、样式、购买过的用户等。
在本实施例中,基于每个维度下的对象属性信息均可构建一个同质对象网络。所述同质对象网络中的节点均代表对象,连边代表所连接的对象在对应属性维度下存在关联关系。
以对象是商品,属性维度是类别为例,可构建商品类别的同质网络,该商品类别网络中的节点代表商品,连边代表所连接的商品属于同一类别,连边的权重可预设为1等参数。
请参考图3的示例,商品1至商品4属于同一类别,例如食品类别;商品5和商品6属于同一类别,例如家具类别等。
以对象是商品,属性维度是购买过的用户为例,可构建商品购买信息的同质网络,该商品购买信息网络中的节点代表商品,连边代表所连接的商品被同一用户购买过,连边的权重可基于购买次数、花费金额等信息确定。
以对象是电影,属性维度是观看过的用户为例,可构建电影观看信息的同质网络,该电影观看信息网络中的节点代表电影,连边代表所连接的电影被同一用户观看过,连边的权重可基于观看次数等信息确定。
步骤104,构建若干不同的同质用户网络,所述同质用户网络中的节点代表用户,同一同质用户网络中的连边代表所连接的用户与相同属性维度下的对象存在关联关系或代表所连接的用户之间存在与对象无关的关联关系。
一方面,本实施例可基于用户与各属性维度对象的关联关系构建出若干同质用户网络。
具体而言,基于用户与每个属性维度对象的关联关系可构建一个同质用户网络。所述同质用户网络中的节点代表用户,连边代表所连接的用户与对应属性维度下的对象存在关联关系。
以对象是电影为例,所述关联关系可包括:观影、评论、收藏等。
以对象是商品为例,所述关联关系可包括:购买、浏览、评论等。
在一个例子中,当对象是电影、对象属性维度是导演为例,所构建的同质用户网络中的连边代表所连接的用户与相同导演所制作的电影之间存在观影、评论、收藏等关系。
假设在该同质用户网络中,用户A与用户B之间存在连边,则可表示用户A与用户B都观看过导演史蒂文〃斯皮尔伯格制作的电影。例如,用户A观看过电影《头号玩家》,用户B观看过电影《侏罗纪公园》。
用户A与用户C之间存在连边,则可表示用户A与用户C都收藏了导演詹姆斯〃卡梅隆制作的电影。例如,用户A收藏了电影《泰坦尼克号》,用户C收藏了电影《异形》等。
在另一个例子中,当对象是商品、对象属性维度是类别为例,所构建的同质用户网络中的连边代表所连接的用户与相同的商品之间存在购买、浏览、评论等关系。
假设,在该同质用户网络中,用户W和用户Y之间存在连边,则可表示用户W和用户Y和相同类别的商品之间存在购买、浏览等关系。例如,用户W和用户Y都购买过小家电类是的商品等。
值得注意的是,在构建同质用户网络时,也可对关联关系的类型进行区分。以对象是电影为例,可将观影、评论、收藏这三种关联关系区分开。例如,针对电影导演这个属性维度,可建立3个同质用户网络,其中一个同质用户网络中的连边代表所连接的用户观看过同一个导演制作的电影;另一个同质用户网络中的连边代表所连接的用户评论过同一个导演制作的电影;再一个同质用户网络中的连边代表所连接的用户收藏过同一个导演制作的电影等,本说明书对此不作特殊限制。
另一方面,本实施例还可基于用户之间的与对象无关的关联关系构建出若干同质用户网络。
所述与对象无关的关联关系可包括社交关系、资金往来关系、设备使用关系等。
例如,可根据用户的社交关系构建一个同质用户网络。该同质用户网络中的连边可代表所连接的用户之间存在好友关系、关注关系等社交关系。
再例如,还可根据用户的转账信息构建一个同质用户网络。该同质用户网络中的连边可代表所连接的用户之间存在转账关系等。
再例如,还可根据用户之间的设备使用关系构建一个同质用户网络。该同质用户网络中的连边可代表所连接的用户之间使用过相同设备。
在本说明书中,可采用前述步骤102和步骤104中记载的技术方案分别构建若干同质对象网络和若干同质用户网络。
在其他例子中,也可先生成携带各种信息的异构网络,然后基于该异构网络进行同质网络的构建。
例如,可根据用户属性、对象属性、用户与对象之间的关联关系、用户与用户之间的关联关系等信息生成异构网络,该异构网络中的节点可代表用户、对象、用户属性、对象属性等。
当该异构网络的连边连接对象和对象属性时,该连边可代表该对象具有所连接的对象属性。
当该异构网络的连边连接对象和用户时,该连边可代表所连接的对象和用户之间存在关联关系。
当该异构网络的连边连接用户和用户属性时,该连边可代表该用户具有所连接的用户属性。
当该异构网络的连边连接用户和用户时,该连边可代表所连接的用户之间具有好友、转账等关联关系。
当然,异构网络中的连边还可连接用户和对象属性等,本说明书在此不再一一赘述。
在异构网络中,元路径可蕴含丰富的语义信息。其中,所述元路径是用于连接异构网络中两个节点的关系路径。
例如,元路径U-U(User-User)可蕴含用户之间的社交关系、转账关系等信息。
再例如,元路径U-I-U(User-Item-User)可蕴含用户之间的共同购买记录。
再例如,元路径I-U-I(Item-User-Item)可蕴含商品间被共同购买的记录等。
在本实施例中,可采用元路径随机游走的方法将所述异构网络划分为若干所述同质对象网络和若干所述同质用户网络。
例如,可从所述异构网络中的任一节点出发,向任一方向游走,判断路径上的用户与用户节点、对象与对象节点之间是否存在上述关联关系,并可提取存在上述关联关系的节点以进行同质对象网络或同质用户网络的构建。
值得注意的是,在采用元路径随机游走的方式进行同质对象网络的构建时,需过滤掉非对象节点。
例如,在基于I-U-I进行同质对象网络的构建时,需将用户节点U过滤掉,构建仅包括有对象节点的同质对象网络。
类似的,在构建同质用户网络时,也需过滤掉非用户节点。
例如,在基于U-I-U进行同质用户网络的构建时,需将对象节点I过滤掉,构建仅包括有用户节点的同质用户网络。
在本实施例中,携带各种信息的异构网络构建较为快捷,采用元路径随机游走异构网络的方式进行同质对象网络和同质用户网络的构建可有效提高同质网络的构建效率,并且,基于异构网络构造的同质网络保留了异构网络的特性。
步骤106,针对每个对象,融合所述对象在不同同质对象网络下的特征表示,得到所述对象的综合特征表示。
基于前述步骤102,针对构建出的每个同质对象网络,可为该同质对象网络中的每个对象生成对应的特征表示。
上述特征表示的形式可包括:低维向量、矩阵、分布等。
例如,可采用Skip-Gram模型生成每个同质对象网络中每个对象节点的特征表示。
当然,在其他例子中,也可采用其他模型为同质对象网络中的对象生成特征表示,本说明书对此不作特殊限制。
在本实施例中,在为每个同质对象网络中的对象生成特征表示后,针对同一个对象,例如,同一部电影、同一个商品、同一个视频等,可将该对象的各个特征表示进行融合,得到该对象的综合特征表示。
假设,前述步骤102中构建有10个同质对象网络,则在本步骤中,针对每个对象,可将该对象所对应的10个特征表示进行融合,得到所述综合特征表示。
在本实施例中,可采用注意力机制对特征表示进行融合,例如,可采用注意力机制先确定各对象在不同同质对象网络中的权重,然后采用加权平均的方式得到所述对象的综合特征表示。
在其他例子中,也可采用求平均等方式对特征表示进行融合,本说明书对此不作特殊限制。
在本实施例中,对象的综合特征表示融合了对象在各个维度下的属性特征,有效携带了对象的异构信息。
步骤108,针对每个用户,融合所述用户在不同同质用户网络下的特征表示,得到所述用户的综合特征表示。
基于前述步骤104,针对构建出的每个同质用户网络,可为该同质用户网络中的每个用户生成对应的特征表示。然后,针对同一个用户,可将该用户的各个特征表示进行融合,得到该用户的综合特征表示。
在本实施例中,用户的综合特征表示融合了用户的各种特征,有效携带了用户的异构信息。
本步骤中生成用户综合特征表示的方法可参考前述步骤106中生成对象综合特征表示所采用的方法,本说明书在此不再一一赘述。
步骤110,采用用户的自身特征表示和对象的综合特征表示为用户预测各对象的第一推荐概率。
在本实施例中,在生成用户的自身特征表示时,可为每个用户生成对应的0/1向量,然后对所述0/1向量进行嵌入处理,得到所述用户的自身特征表示。
上述0/1向量是采用一个很长的向量来表示用户,该向量的维度是用户数量,该用户所在维度的元素值是1,其他维度的元素值都是0。
假设,一共有1000万个用户,则每个用户的0/1向量都是1000万维,用户张三的第1个维度的元素值是1,其他维度元素值是0,则张三的0/1向量可表示为[1,0,0,0,0…];用户李四的第3个维度的元素值是1,其他维度元素值是0,则李四的0/1向量可表示为[0,0,1,0,0…]。
在本实施例中,可对每个用户的0/1向量进行嵌入处理(Embedding),将高维的0/1向量映射到低维空间,得到每个用户的低维特征表示。由于该低维特征表示不包括用户的属性、社交等异构信息,因此可将该低维特征表示称为用户的自身特征表示。
在本实施例中,可采用用户的自身特征表示和对象的综合特征表示预测对象推荐概率,即为每个用户预测每个对象的推荐概率。为便于后续区分,可将基于用户自身特征表示和对象综合特征表示预测出的推荐概率称为第一推荐概率,所述第一推荐概率有效补充了对象的异构信息。
在本实施例中,可采用已训练的第一多层感知机模型来预测所述第一推荐概率,例如,将用户的自身特征表示和对象的综合特征表示输入已训练的第一多层感知机模型,输出上述第一推荐概率。
所述第一多层感知机模型的训练过程可包括:
采用用户的自身特征表示和对象的综合特征表示作为第一多层感知机模型的输入,并基于用户和对象的历史关联关系确定标签,然后对所述第一多层感知机模型进行训练。
其中,若用户和对象在历史上存在关联关系,则可将所述用户和所述对象之间的标签设置为1;若用户和对象在历史上不存在关联关系,则可将所述用户和所述对象之间的标签设置为0等。
例如,张三在曾购买过某品牌的酱油,则可将张三和该酱油的标签设置为1;李四未购买过某款衣服,则可将李四和该衣服的标签设置为0等。
步骤112,采用用户的综合特征表示和对象的自身特征表示为用户预测各对象的第二推荐概率。
在本实施例中,与用户的自身特征表示类似,在生成对象的自身特征表示时,也可为每个对象生成对应的0/1向量,然后对所述0/1向量进行嵌入处理,得到所述对象的自身特征表示。
上述0/1向量的生成、自身特征表示的生成可参考前述步骤110中对象自身特征表示的生成方式,本说明书在此不再一一赘述。
在本实施例中,可采用用户的综合特征表示和对象的自身特征表示预测对象推荐概率,即为每个用户预测每个对象的推荐概率。为便于后续区分,可将基于用户综合特征表示和对象自身特征表示预测出的推荐概率称为第二推荐概率,所述第二推荐概率有效补充了用户的异构信息。
在本实施例中,可采用已训练的第二多层感知机模型来预测所述第二推荐概率,例如,将用户的综合特征表示和对象的自身特征表示输入已训练的第二多层感知机模型,输出上述第二推荐概率。
与前述第一多层感知机模型类似,所述第二多层感知机模型的训练过程可包括:
采用用户的综合特征表示和对象的自身特征表示作为第二多层感知机模型的输入,并基于用户和对象的历史关联关系确定标签,然后对所述第二多层感知机模型进行训练。
本实施例步骤110和步骤112采用多层感知机来建模用户与对象间的复杂交互,可以更好的建模用户和对象间的联系,提高预测结果的准确性。
步骤114,采用用户的自身特征表示和对象的自身特征表示为用户预测各对象的第三推荐概率。
在本实施例中,可采用用户的自身特征表示和对象的自身特征表示预测对象推荐概率,即为每个用户预测每个对象的推荐概率。为便于后续区分,可将基于用户自身特征表示和对象自身特征表示预测出的推荐概率称为第三推荐概率。
在本实施例中,可将用户的自身特征表示和对象的自身特征表示作为输入,采用矩阵分解算法预测所述第三推荐概率。
例如,可对每个用户自身特征表示和每个对象自身特征表示做点积,得到每个用户和每个对象之间的实数值,然后可采用Sigmoid函数将所述实数值转换为概率值,并可将概率值作为所述第三推荐概率。
举例来说,假设用户A的自身特征表示和商品1的自身特征表示做点积之后得到的实数值再经过Sigmoid函数处理,得到概率值0.75,则表示将商品1推荐给用户A的第三推荐概率是0.75。
当然,在其他例子中,也可采用其他方式预测所述第三推荐概率,本说明书对此不作特殊限制。
步骤116,综合所述第一推荐概率、所述第二推荐概率和所述第三推荐概率,得到用于对象推荐的综合推荐概率。
在一个例子中,可采用求平均的方式综合所述第一推荐概率、所述第二推荐概率和所述第三推荐概率,得到所述综合推荐概率。
举例来说,假设将商品1推荐给用户A的第一推荐概率是0.6,第二推荐概率是0.7,第三推荐概率是0.8,则求平均之后可得到将商品1推荐给用户A的综合推荐概率是0.7。
在另一个例子中,也可采用加权平均的方式综合所述第一推荐概率、所述第二推荐概率和所述第三推荐概率,得到所述综合推荐概率,本说明书对此不作特殊限制。
在本实施例中,所述综合推荐概率是对象推荐的依据,针对每个用户,可按照所述综合推荐概率从高到低的顺序对各个对象进行排序,然后可将排列在前若干位的对象推荐给该用户。例如,将排列在前5位的对象推荐给该用户等。
由以上描述可以看出,本说明书可构建若干不同的同质对象网络和若干不同的同质用户网络,并通过融合各对象在不同同质对象网络下的特征表示,得到各对象的综合特征表示,该综合特征表示可有效融合对象的各种异构信息。本说明书还通过融合各用户在不同同质用户网络下的特征表示,得到各用户的综合特征表示,该综合特征表示可有效融合用户的各种异构信息。本说明书可分别采用用户和对象的自身特征表示、用户的自身特征表示和对象的综合特征表示、用户的综合特征表示和对象的自身特征表示来为用户预测各对象的推荐概率,并综合这三项推荐概率,得到综合推荐概率。该综合推荐概率综合了用户和对象的异构信息,准确性更高。并且,基于异构信息的综合推荐概率计算,可在一定程度上避免冷启动问题,也可在一定程度上抵抗网络稀疏性和噪声对推荐概率计算的影响。基于该综合推荐概率为用户进行对象推荐,可有效提升用户体验。
值得注意的是,本说明书提供的综合推荐概率的计算方案除应用在对象推荐场景外,还可应用于各种评分场景,例如电影评分、商品评分等,本说明书对此不作特殊限制。
本说明书还提供一种对象推荐模型的训练方法,可采用端到端模型(end to end)来实现。
在本实施例中,请参考图1所示的步骤102和步骤104,也可构建若干不同的同质对象网络和若干不同的同质用户网络,然后可将各同质对象网络和各同质对象网络作为输入,并采用由用户和对象的历史关联关系确定的标签,对用于对象推荐的端到端模型进行训练。
所述用于对象推荐的端到端模型可包括两类子模型:表示生成子模型和推荐子模型。
其中,所述表示生成子模型可用于针对每个对象,融合所述对象在不同同质对象网络下的特征表示,得到所述对象的综合特征表示;针对每个用户,融合所述用户在不同同质用户网络下的特征表示,得到所述用户的综合特征表示;以及,生成用户的自身特征表示和对象的自身特征表示。
所述推荐子模型,可用于采用用户的自身特征表示和对象的综合特征表示作为输入,输出各对象的第一推荐概率;采用用户的综合特征表示和对象的自身特征作为输入,输出各对象的第二推荐概率;采用用户的自身特征表示和对象的自身特征表示作为输入,输出各对象的第三推荐概率;以及综合所述第一推荐概率、所述第二推荐概率和所述第三推荐概率,得到用于对象推荐的综合推荐概率。
上述表示生成子模型和推荐子模型的实现过程可参考前述图1所示的实施例,本说明书在此不再一一赘述。
在本实施例中,在对上述用于对象推荐的端到端模型进行训练时,可综合表示生成子模型的表示损失函数和推荐子模型的推荐损失函数来进行联合训练。
在其他例子中,若上述同质对象网络和同质用户网络是基于元路径随机游走异构网络的方式构建,在进行上述端到端的模型训练时,可采用原始的异构网络代替上述同质对象网络和同质用户网络以作为模型输入。
本实施例采用端到端的对象推荐模型,后续可直接将构建的同质对象网络和同质用户网络输入已训练的端到端模型,输出各对象和各用户之间的综合推荐概率,使用更方便。并且,模型对数据的自调节空间更多,整体契合度更高。
与前述对象推荐方法的实施例相对应,本说明书还提供了对象推荐装置的实施例。
本说明书对象推荐装置的实施例可以应用在服务器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在服务器的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本说明书对象推荐装置所在服务器的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的服务器通常根据该服务器的实际功能,还可以包括其他硬件,对此不再赘述。
图5是本说明书一示例性实施例示出的一种对象推荐装置的框图。
请参考图5,所述对象推荐装置400可以应用在前述图4所示的服务器中,包括有:对象网络构建单元401、用户网络构建单元402、对象表示生成单元403、用户表示生成单元404、第一推荐单元405、第二推荐单元406、第三推荐单元407以及综合推荐单元408。
其中,对象网络构建单元401,构建若干不同的同质对象网络,所述同质对象网络中的节点代表待推荐的对象,同一同质对象网络中的连边代表所连接的对象在相同属性维度下存在关联关系;
用户网络构建单元402,构建若干不同的同质用户网络,所述同质用户网络中的节点代表用户,同一同质用户网络中的连边代表所连接的用户与相同属性维度下的对象存在关联关系或代表所连接的用户之间存在与对象无关的关联关系;
对象表示生成单元403,针对每个对象,融合所述对象在不同同质对象网络下的特征表示,得到所述对象的综合特征表示;
用户表示生成单元404,针对每个用户,融合所述用户在不同同质用户网络下的特征表示,得到所述用户的综合特征表示;
第一推荐单元405,采用用户的自身特征表示和对象的综合特征表示为用户预测各对象的第一推荐概率;
第二推荐单元406,采用用户的综合特征表示和对象的自身特征表示为用户预测各对象的第二推荐概率;
第三推荐单元407,采用用户的自身特征表示和对象的自身特征表示为用户预测各对象的第三推荐概率;
综合推荐单元408,综合所述第一推荐概率、所述第二推荐概率和所述第三推荐概率,得到用于对象推荐的综合推荐概率。
可选的,所述同质对象网络和所述同质用户网络的构建过程包括:
根据用户属性、对象属性、用户与对象之间的关联关系以及用户与用户之间的关联关系构建异构网络,所述异构网络的节点代表用户、对象、用户属性或对象属性;
采用元路径随机游走方法将所述异构网络划分为若干所述同质对象网络和若干所述同质用户网络。
可选的,所述第一推荐概率和所述第二推荐概率基于多层感知机模型预测。
可选的,所述多层感知机模型的训练过程包括:
采用用户的自身特征表示和对象的综合特征表示作为输入特征,对第一多层感知机模型进行训练,所述第一多层感知机模型用于预测所述第一推荐概率;
采用用户的综合特征表示和对象的自身特征表示作为输入特征对第二多层感知机模型进行训练,所述第二多层感知机模型用于预测所述第二推荐概率;
其中,用于对所述第一多层感知机模型和所述第二多层感知机模型进行训练的标签基于用户和对象的历史关联关系确定。
可选的,所述第三推荐单元407:
将用户的自身特征表示和对象的自身特征表示作为输入,采用矩阵分解算法为用户预测各对象的第三推荐概率。
可选的,所述自身特征表示的生成过程包括:
为各用户和各对象分别生成对应的0/1向量;
对所述0/1向量进行嵌入处理,得到所述用户或所述对象的自身特征表示。
可选的,所述综合特征表示的融合过程包括:
采用注意力机制融合所述对象在不同同质对象网络下的特征表示,得到所述对象的综合特征表示;
采用注意力机制融合所述用户在不同同质用户网络下的特征表示,得到所述用户的综合特征表示。
可选的,所述与对象无关的关联关系包括以下一种或多种:
社交关系、资金往来关系、设备使用关系。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与前述对象推荐方法的实施例相对应,本说明书还提供一种对象推荐装置,该装置包括:处理器以及用于存储机器可执行指令的存储器。其中,处理器和存储器通常借由内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与对象推荐逻辑对应的机器可执行指令,所述处理器被促使:
构建若干不同的同质对象网络,所述同质对象网络中的节点代表待推荐的对象,同一同质对象网络中的连边代表所连接的对象在相同属性维度下存在关联关系;
构建若干不同的同质用户网络,所述同质用户网络中的节点代表用户,同一同质用户网络中的连边代表所连接的用户与相同属性维度下的对象存在关联关系或代表所连接的用户之间存在与对象无关的关联关系;
针对每个对象,融合所述对象在不同同质对象网络下的特征表示,得到所述对象的综合特征表示;
针对每个用户,融合所述用户在不同同质用户网络下的特征表示,得到所述用户的综合特征表示;
采用用户的自身特征表示和对象的综合特征表示为用户预测各对象的第一推荐概率;
采用用户的综合特征表示和对象的自身特征表示为用户预测各对象的第二推荐概率;
采用用户的自身特征表示和对象的自身特征表示为用户预测各对象的第三推荐概率;
综合所述第一推荐概率、所述第二推荐概率和所述第三推荐概率,得到用于对象推荐的综合推荐概率。
可选的,所述同质对象网络和所述同质用户网络的构建过程包括:
根据用户属性、对象属性、用户与对象之间的关联关系以及用户与用户之间的关联关系构建异构网络,所述异构网络的节点代表用户、对象、用户属性或对象属性;
采用元路径随机游走方法将所述异构网络划分为若干所述同质对象网络和若干所述同质用户网络。
可选的,所述第一推荐概率和所述第二推荐概率基于多层感知机模型预测。
可选的,所述多层感知机模型的训练过程包括:
采用用户的自身特征表示和对象的综合特征表示作为输入特征,对第一多层感知机模型进行训练,所述第一多层感知机模型用于预测所述第一推荐概率;
采用用户的综合特征表示和对象的自身特征表示作为输入特征对第二多层感知机模型进行训练,所述第二多层感知机模型用于预测所述第二推荐概率;
其中,用于对所述第一多层感知机模型和所述第二多层感知机模型进行训练的标签基于用户和对象的历史关联关系确定。
可选的,在采用用户的自身特征表示和对象的自身特征表示为用户预测各对象的第三推荐概率时,所述处理器被促使:
将用户的自身特征表示和对象的自身特征表示作为输入,采用矩阵分解算法为用户预测各对象的第三推荐概率。
可选的,所述自身特征表示的生成过程包括:
为各用户和各对象分别生成对应的0/1向量;
对所述0/1向量进行嵌入处理,得到所述用户或所述对象的自身特征表示。
可选的,所述综合特征表示的融合过程包括:
采用注意力机制融合所述对象在不同同质对象网络下的特征表示,得到所述对象的综合特征表示;
采用注意力机制融合所述用户在不同同质用户网络下的特征表示,得到所述用户的综合特征表示。
可选的,所述与对象无关的关联关系包括以下一种或多种:
社交关系、资金往来关系、设备使用关系。
与前述对象推荐方法的实施例相对应,本说明书还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现以下步骤:
构建若干不同的同质对象网络,所述同质对象网络中的节点代表待推荐的对象,同一同质对象网络中的连边代表所连接的对象在相同属性维度下存在关联关系;
构建若干不同的同质用户网络,所述同质用户网络中的节点代表用户,同一同质用户网络中的连边代表所连接的用户与相同属性维度下的对象存在关联关系或代表所连接的用户之间存在与对象无关的关联关系;
针对每个对象,融合所述对象在不同同质对象网络下的特征表示,得到所述对象的综合特征表示;
针对每个用户,融合所述用户在不同同质用户网络下的特征表示,得到所述用户的综合特征表示;
采用用户的自身特征表示和对象的综合特征表示为用户预测各对象的第一推荐概率;
采用用户的综合特征表示和对象的自身特征表示为用户预测各对象的第二推荐概率;
采用用户的自身特征表示和对象的自身特征表示为用户预测各对象的第三推荐概率;
综合所述第一推荐概率、所述第二推荐概率和所述第三推荐概率,得到用于对象推荐的综合推荐概率。
可选的,所述同质对象网络和所述同质用户网络的构建过程包括:
根据用户属性、对象属性、用户与对象之间的关联关系以及用户与用户之间的关联关系构建异构网络,所述异构网络的节点代表用户、对象、用户属性或对象属性;
采用元路径随机游走方法将所述异构网络划分为若干所述同质对象网络和若干所述同质用户网络。
可选的,所述第一推荐概率和所述第二推荐概率基于多层感知机模型预测。
可选的,所述多层感知机模型的训练过程包括:
采用用户的自身特征表示和对象的综合特征表示作为输入特征,对第一多层感知机模型进行训练,所述第一多层感知机模型用于预测所述第一推荐概率;
采用用户的综合特征表示和对象的自身特征表示作为输入特征对第二多层感知机模型进行训练,所述第二多层感知机模型用于预测所述第二推荐概率;
其中,用于对所述第一多层感知机模型和所述第二多层感知机模型进行训练的标签基于用户和对象的历史关联关系确定。
可选的,所述采用用户的自身特征表示和对象的自身特征表示为用户预测各对象的第三推荐概率,包括:
将用户的自身特征表示和对象的自身特征表示作为输入,采用矩阵分解算法为用户预测各对象的第三推荐概率。
可选的,所述自身特征表示的生成过程包括:
为各用户和各对象分别生成对应的0/1向量;
对所述0/1向量进行嵌入处理,得到所述用户或所述对象的自身特征表示。
可选的,所述综合特征表示的融合过程包括:
采用注意力机制融合所述对象在不同同质对象网络下的特征表示,得到所述对象的综合特征表示;
采用注意力机制融合所述用户在不同同质用户网络下的特征表示,得到所述用户的综合特征表示。
可选的,所述与对象无关的关联关系包括以下一种或多种:
社交关系、资金往来关系、设备使用关系。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。