CN112907334B - 一种对象推荐方法及装置 - Google Patents
一种对象推荐方法及装置 Download PDFInfo
- Publication number
- CN112907334B CN112907334B CN202110313551.3A CN202110313551A CN112907334B CN 112907334 B CN112907334 B CN 112907334B CN 202110313551 A CN202110313551 A CN 202110313551A CN 112907334 B CN112907334 B CN 112907334B
- Authority
- CN
- China
- Prior art keywords
- node
- recommended
- user
- information
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 239000013598 vector Substances 0.000 claims abstract description 214
- 230000006399 behavior Effects 0.000 claims description 50
- 238000012549 training Methods 0.000 claims description 29
- 238000004422 calculation algorithm Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 7
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000013507 mapping Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000005295 random walk Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/067—Enterprise or organisation modelling
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Databases & Information Systems (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Operations Research (AREA)
- Biophysics (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Tourism & Hospitality (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种对象推荐方法及装置。该方法通过获取各用户的用户标识、各待推荐对象的对象信息和各用户与相应待推荐对象的操作行为信息;将各待推荐对象的对象信息和各用户的用户标识作为结点,并基于操作行为信息和对象信息,确定结点间的关系,建立网络异构图;并按照预先配置的各类结点游走路径,遍历网络异构图,获取各类结点游走路径对应的游走结点序列;将获取的游走结点序列输入Skip‑gram模型,获取目标用户对应的嵌入向量和各待推荐对象对应的嵌入向量;基于目标用户对应的嵌入向量和各待推荐对象对应的嵌入向量,确定目标用户对应的目标推荐对象。该方法实现了对各对象的准确推荐,提高了用户体验。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种对象推荐方法及装置。
背景技术
随着互联网的普及和电子商务的日渐成熟,用户越来越多地利用电子商务平台进行商品信息的获取和商品的购买。人们希望在购买商品时,电子商务平台的推荐系统可以向用户推荐各种商品信息,通过商品推荐,可以缩短用户寻找所需要商品的时间,提升用户体验。目前推荐系统已经广泛应用于商品、短视频、音乐、新闻等领域的推荐应用中。
对于刚上架或上架初期的新商品,推荐系统可执行商品冷启动算法对新商品进行推荐,商品冷启动算法主要:
(1)基于内容的推荐算法,根据商品在属性,如商品类目、商品材质、商品价格等上的相似性对新商品进行推荐。
(2)基于主动学习的推荐算法,通过分析历史评分数据和商品的属性信息,合理地挑选用户对新商品进行评分,根据反馈得到的评分数据加深对新商品的理解,从而预测未挑选用户对新商品的喜好程度。
(3)基于特征的推荐算法,通过分析商品、用户群体、业务三者间的关联关系和相应特征,获取用户特征与相应业务特征之间的相似度,及用户特征与各商品特征之间的相似度,得到预测用户感兴趣的业务或商品。
然而,基于内容的推荐算法依赖商品属性进行推荐,粒度较粗,且同一商品属性的不同商品在品质和适用方面可能存在差异,故难以做到精确推荐。
基于主动学习的推荐算法中,依赖于用户的选择策略,不能保证选择的公平性和有效性,且迭代训练过程会放大数据中的噪声,导致推荐精度下降。
基于特征的推荐算法,该方法采用了用户群体聚合方式,导致某一群体用户的推荐结果完全一致,无法实现真正意义上的个性化推荐。
因此,如何有效地将新产品,如新商品、新音乐、新视频等推荐给用户是一个很有挑战的问题。
发明内容
本申请实施例提供一种对象推荐方法及装置,解决了现有技术存在的上述问题,以实现对各对象的准确推荐,提高了用户体验。
本申请实施例提供的具体技术方案如下:
第一方面,提供了一种对象推荐方法,该方法可以包括:
获取各用户的用户标识、各待推荐对象的对象信息和所述各用户与相应待推荐对象的操作行为信息;
将所述各待推荐对象的对象信息和所述各用户的用户标识作为结点,并基于所述操作行为信息和所述对象信息,确定所述结点间的关系,建立网络异构图;并按照预先配置的各类结点游走路径,遍历所述网络异构图,获取所述各类结点游走路径对应的游走结点序列;
将获取的游走结点序列输入Skip-gram模型,获取目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量;所述目标用户为所述各用户中的任一用户;
基于所述目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量间的关联度,或者,基于所述各待推荐对象对应的嵌入向量间的关联度,确定所述目标用户对应的目标推荐对象。
在一种可能的实现中,所述各待推荐对象包括未被所述各用户操作的新待推荐对象和被所述各用户操作的历史待推荐对象;
所述各用户与相应待推荐对象的操作行为信息为所述各用户对所述历史对象进行操作的操作行为信息。
在一种可能的实现中,所述对象信息包括对象标识、对象的各属性信息、文本描述信息和图像特征信息;
将所述各待推荐对象的对象信息和所述各用户的用户标识作为结点,并基于所述操作行为信息和所述对象信息,确定相邻结点间的关系,建立网络异构图,包括:
获取所述各待推荐对象的文本描述信息中的文本实体信息,以及获取所述各待推荐对象的图像特征信息对应的图像特征向量;
将所述各待推荐对象的对象标识确定为对象结点、相应待推荐对象的各属性信息确定为相应的属性结点、相应待推荐对象的文本实体信息确定为实体结点,以及将所述各用户的用户标识确定为用户结点;
将所述各用户对应的操作行为信息与相应待推荐对象间的操作关系,确定为所述用户结点与所述对象结点间的边;
将所述各待推荐对象与各属性信息间的对应关系,确定为所述对象结点与所述属性结点间的边;
将所述各待推荐对象与各文本实体信息间的对应关系,确定为所述对象结点与所述实体结点间的边;
将所述各待推荐对象对应的图像特征向量间的相似关系,确定为相应两个对象结点间的边;
基于所述对象结点、所述属性结点、所述实体结点、所述用户结点,以及相应结点间的边,建立网络异构图。
在一种可能的实现中,获取所述各待推荐对象的文本描述信息中的文本实体信息,包括:
采用预设的自然语言模型,对所述各待推荐对象的文本描述信息进行文本实体提取,获取相应待推荐对象的文本实体信息。
在一种可能的实现中,获取所述各待推荐对象的图像特征信息对应的图像特征向量,包括:
采用预设的卷积神经网络,对所述各待推荐对象的图像特征信息进行卷积运算,获取所述各待推荐对象的图像特征信息对应的图像特征向量。
在一种可能的实现中,将获取的游走结点序列输入Skip-gram模型,获取目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量包括:
针对每个游走结点序列,按照所述游走结点序列中的结点顺序,将当前结点与所述当前结点相邻的预设结点数范围内的任一结点的组合确定为一个训练样本;所述当前结点为所述游走结点序列中的任一结点;
将所述游走结点序列对应的训练样本输入所述Skip-gram模型的输入层,通过所述输入层,得到所述训练样本中当前结点的编码向量与相邻结点的编码向量;
通过所述Skip-gram模型的嵌入层,得到相应结点的编码向量对应的嵌入向量;
通过所述Skip-gram模型的隐含层,得到相应结点的嵌入向量对应的隐含层向量;
通过所述Skip-gram模型的输出层,得到相应结点的隐含层向量对应的该结点的预测值;
基于所述相邻结点的预测值对应的输出向量和相应结点在所述输入层的编码向量间的误差值,对所述Skip-gram模型进行迭代处理,且在达到预设迭代目标时,获取目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量。
在一种可能的实现中,对所述各类结点游走路径的配置过程包括:
按照预设遍历条件遍历所述网络异构图,将第一用户结点为起始结点、第一对象结点为第二结点、第二用户结点为第三结点作为元路径遍历出的游走路径,配置为第一类结点游走路径;以及,
将第一对象结点为起始结点、第一用户结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第二类结点游走路径;以及,
将第一对象结点为起始结点、第一属性结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第三类结点游走路径;以及,
将第一对象结点为起始结点、第一实体结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第四类结点游走路径;以及,
将第一对象结点为起始结点、第二对象结点为第二结点作为元路径遍历出的游走路径,配置为第五类结点游走路径。
在一种可能的实现中,所述预设遍历条件为所述网络异构图中各结点作为所述起始结点的次数未超过预设次数阈值,且所述结点游走路径的路径长度未超过预设长度阈值。
在一种可能的实现中,基于所述目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量间的关联度,或者,基于各待推荐对象对应的嵌入向量间的关联度,确定所述目标用户对应的目标推荐对象,包括:
采用预设相似度算法,得到所述目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量间的第一相似度,并将所述第一相似度确定为待推荐对象的推荐分数;
采用预设相似度算法,得到所述各待推荐对象对应的嵌入向量间的第二相似度,并将所述第二相似度确定为相似待推荐对象的推荐分数;
将所述待推荐对象的最大推荐分数对应的待推荐对象,或者,将所述相似待推荐对象的最大推荐分数对应的待推荐对象,确定所述目标用户对应的目标推荐对象。
第二方面,提供了一种对象推荐装置,该装置可以包括:获取单元、建立单元、序列获取单元、向量获取单元和确定单元;
所述获取单元,用于获取各用户的用户标识、各待推荐对象的对象信息和所述各用户与相应待推荐对象的操作行为信息;
所述建立单元,用于将所述各待推荐对象的对象信息和所述各用户的用户标识作为结点,并基于所述操作行为信息和所述对象信息,确定所述结点间的关系,建立网络异构图;
所述序列获取单元,用于按照预先配置的各类结点游走路径,遍历所述网络异构图,获取所述各类结点游走路径对应的游走结点序列;
所述向量获取单元,用于将获取的游走结点序列输入Skip-gram模型,获取目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量;所述目标用户为所述各用户中的任一用户;
所述确定单元,用于基于所述目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量间的关联度,或者,基于所述各待推荐对象对应的嵌入向量间的关联度,确定所述目标用户对应的目标推荐对象。
在一种可能的实现中,所述各待推荐对象包括未被所述各用户操作的新待推荐对象和被所述各用户操作的历史待推荐对象;
所述各用户与相应待推荐对象的操作行为信息为所述各用户对所述历史对象进行操作的操作行为信息。
在一种可能的实现中,所述对象信息包括对象标识,对象的各属性信息、文本描述信息和图像特征信息;
所述获取单元,还用于获取所述各待推荐对象的文本描述信息中的文本实体信息,以及获取所述各待推荐对象的图像特征信息对应的图像特征向量;
所述建立单元,具体用于将所述各待推荐对象的对象标识确定为对象结点、相应待推荐对象的各属性信息确定为相应的属性结点、相应待推荐对象的文本实体信息确定为实体结点,以及将所述各用户的用户标识确定为用户结点;
以及,将所述各用户对应的操作行为信息与相应待推荐对象间的操作关系,确定为所述用户结点与所述对象结点间的边;将所述各待推荐对象与各属性信息间的对应关系,确定为所述对象结点与所述属性结点间的边;将所述各待推荐对象与各文本实体信息间的对应关系,确定为所述对象结点与所述实体结点间的边;将所述各待推荐对象对应的图像特征向量间的相似关系,确定为相应两个对象结点间的边;
基于所述对象结点、所述属性结点、所述实体结点、所述用户结点,以及相应结点间的边,建立网络异构图。
在一种可能的实现中,所述获取单元,还具体用于采用预设的自然语言模型,对所述各待推荐对象的文本描述信息进行文本实体提取,获取相应待推荐对象的文本实体信息。
在一种可能的实现中,所述获取单元,还具体用于采用预设的卷积神经网络,对所述各待推荐对象的图像特征信息进行卷积运算,获取所述各待推荐对象的图像特征信息对应的图像特征向量。
在一种可能的实现中,所述向量获取单元,具体用于:
针对每个游走结点序列,按照所述游走结点序列中的结点顺序,将当前结点与所述当前结点相邻的预设结点数范围内的任一结点的组合确定为一个训练样本;所述当前结点为所述游走结点序列中的任一结点;
将所述游走结点序列对应的训练样本输入所述Skip-gram模型的输入层,通过所述输入层,得到所述训练样本中当前结点的编码向量与相邻结点的编码向量;
通过所述Skip-gram模型的嵌入层,得到相应结点的编码向量对应的嵌入向量;
通过所述Skip-gram模型的隐含层,得到相应结点的嵌入向量对应的隐含层向量;
通过所述Skip-gram模型的输出层,得到相应结点的隐含层向量对应的该结点的预测值;
基于所述相邻结点的预测值对应的输出向量和相应结点在所述输入层的编码向量间的误差值,对所述Skip-gram模型进行迭代处理,且在达到预设迭代目标时,获取目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量。
在一种可能的实现中,所述装置还包括路径配置单元;
所述路径配置单元,具体用于:
按照预设遍历条件遍历所述网络异构图,将第一用户结点为起始结点、第一对象结点为第二结点、第二用户结点为第三结点作为元路径遍历出的游走路径,配置为第一类结点游走路径;以及,
将第一对象结点为起始结点、第一用户结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第二类结点游走路径;以及,
将第一对象结点为起始结点、第一属性结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第三类结点游走路径;以及,
将第一对象结点为起始结点、第一实体结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第四类结点游走路径;以及,
将第一对象结点为起始结点、第二对象结点为第二结点作为元路径遍历出的游走路径,配置为第五类结点游走路径。
在一种可能的实现中,所述预设遍历条件为所述网络异构图中各结点作为所述起始结点的次数未超过预设次数阈值,且所述结点游走路径的路径长度未超过预设长度阈值。
在一种可能的实现中,所述确定单元,具体用于采用预设相似度算法,得到所述目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量间的第一相似度,并将所述第一相似度确定为待推荐对象的推荐分数;采用预设相似度算法,得到所述各待推荐对象对应的嵌入向量间的第二相似度,并将所述第二相似度确定为相似待推荐对象的推荐分数;
以及,将所述待推荐对象的最大推荐分数对应的待推荐对象,或者,将所述相似待推荐对象的最大推荐分数对应的待推荐对象,确定所述目标用户对应的目标推荐对象。
第三方面,提供了一种电子设备,该电子设备包括:
至少一个存储器,用于存储程序指令;
至少一个处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行上述第一方面中任一所述的方法步骤。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的方法步骤。
本申请实施例提供的对象推荐方法通过获取各用户的用户标识、各待推荐对象的对象信息和各用户与相应待推荐对象的操作行为信息;将各待推荐对象的对象信息和各用户的用户标识作为结点,并基于操作行为信息和对象信息,确定结点间的关系,建立网络异构图;并按照预先配置的各类结点游走路径,遍历网络异构图,获取各类结点游走路径对应的游走结点序列;将获取的游走结点序列输入Skip-gram模型,获取目标用户对应的嵌入向量和各待推荐对象对应的嵌入向量;目标用户为各用户中的任一用户;基于目标用户对应的嵌入向量和各待推荐对象对应的嵌入向量,确定目标用户对应的目标推荐对象。该方法通过对获取的对象信息和相应操作行为信息,合理构建表征用户与对象信息间关联关系的网络异构图,并根据基于网络异构图得到的游走结点序列训练异构图嵌入算法得到用户及对象的向量表示,从而预测用户对新对象的兴趣,以解决冷启动问题,实现对各对象的准确推荐,提高了用户体验。
附图说明
图1为本申请实施例中的一种对象推荐方法的流程示意图;
图2为本申请实施例中的一种网络异构图的结构示意图;
图3为本申请实施例中的一种训练样本的确定过程示意图;
图4为本申请实施例中的一种Skip-gram模型的结构示意图;
图5为本申请实施例中的一种对象推荐装置的结构示意图;
图6为本申请实施例中的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先对本申请实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。
商品冷启动:指新商品刚上架或上架初期,在推荐场景中不能很好地进行分发。
图:是指一些结点的集合,这些结点通过一系列边连接,对应英文为graph,与图像image不同。
异构图:指包含两种及两种以上不同类型结点,或者包含两种及两种以上不同类型边的拓扑图结构。
终端设备:可以是移动终端、固定终端或便携式终端,例如移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统设备、个人导航设备、个人数字助理、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,终端设备能够支持任意类型的针对用户的接口(例如可穿戴设备)等。
服务器:可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务以及大数据和人工智能平台等基础云计算服务的云服务器。
互联网多媒体的快速发展产生了大量的信息,一方面满足了用户对信息的需求,但另一方面,用户难以从大量信息中获取到有用的内容,即存在信息过载问题,降低了用户对信息的使用效率,推荐系统是解决信息过载问题的一个很有用的方法。
目前推荐系统已经广泛应用于商品、短视频、音乐、新闻等领域的推荐应用中。在这些推荐应用中,用户对新对象(新商品、新音乐、新视频等)的了解较少,即存在对象冷启动问题,故为了解决对象冷启动问题涉及的对象推荐方法不足的问题,本申请提供了一种对象推荐方法,该方法可以应用在终端设备中,也可以应用在服务器,如云服务器或应用服务器中,以基于用户对对象的操作行为信息和对象信息,构建异构图网络,并根据异构图网络产生的随机游走序列,对用户及待推荐对象进行向量表征,进而预测用户对各对象的兴趣,实现对象的准确推荐,提高了用户体验。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1为本申请实施例提供的一种对象推荐方法的流程示意图。如图1所示,该方法可以包括:
步骤110、获取各用户的用户标识、各待推荐对象的对象信息和各用户与相应待推荐对象的操作行为信息。
各待推荐对象包括未被各用户操作的新待推荐对象和被各用户操作的历史待推荐对象;各用户与相应待推荐对象的操作行为信息为各用户对历史对象进行操作的操作行为信息。
其中,新待推荐对象可以是各推荐应用(如购物应用、视频应用、音乐应用)中刚上架或更新后的商品,如各类生活日用品、电子产品,以及如短视频、音乐等在线电子数据产品,这些新上架或更新后的商品没有被用户操作过;历史待推荐对象可以是相应推荐应用中已上架且已被用户操作过的商品。
例如,若待推荐对象为新上架的一款耳机,则该操作行为信息可以包括对历史销售各款耳机的点击操作、加购物车操作、收藏操作、分享操作和购买操作等。
若待推荐对象为新更新的一段短视频,则该操作行为信息可以包括对历史展示的各短视频的播放操作、关注操作、收藏操作、分享操作和点赞操作等。
一个实施例中,可以从存储的日志数据库中获取各用户的用户标识和各用户与相应待推荐对象的操作行为信息,从待推荐对象数据库中获取各待推荐对象的对象信息。
该对象信息可以包括对象标识、对象的各属性信息、文本描述信息和图像特征信息。其中,属性信息可以包括对象类目、材质、价格、适用人群等;文本描述信息可以包括对象标题及对象描述文本等。
例如,对象为手机时,对象标识为手机名称,如华为Mate xx;
属性信息中的对象类目为智能手机、价格为XXX元、适用人群为成年人;
文本描述信息可以包括手机标题“HUAWEI Mate xx Pro 5G”,以及手机描述文本“华为Mate xx Pro搭载的是yy 5G芯片,…,m根天线全方位布局,其中包括n根5G天线。”
进一步的,为了更好的为用户推荐满足用户需求的对象,可以获取各待推荐对象的文本描述信息中的文本实体信息,以及获取各待推荐对象的图像特征信息对应的图像特征向量,其中,基于不同待推荐对象的图像特征向量可以确定不同待推荐对象在图像特征信息上的相似性。
例如,采用预设的自然语言模型,如命名实体识别(Named Entity Recognition,NER)模型,对各待推荐对象的文本描述信息进行文本实体提取,获取相应待推荐对象的文本实体信息。
以及,采用预设的卷积神经网络,对各待推荐对象的图像特征信息进行卷积运算,获取各待推荐对象的图像特征信息对应的图像特征向量。
步骤120、基于各用户的用户标识、各待推荐对象的对象信息和各用户与相应待推荐对象的操作行为信息,建立网络异构图。
将各待推荐对象的对象信息和各用户的用户标识作为结点,并基于操作行为信息和对象信息,确定结点间的关系,建立网络异构图。
一个实施例中,将各待推荐对象的对象标识确定为对象结点、相应待推荐对象的各属性信息确定为相应的属性结点、相应待推荐对象的文本实体信息确定为实体结点,以及将各用户的用户标识确定为用户结点。
将各用户对应的操作行为信息与相应待推荐对象间的操作关系,确定为用户结点与所述对象结点间的边;
将各待推荐对象与各属性信息间的对应关系,确定为对象结点与属性结点间的边;
将各待推荐对象与各文本实体信息间的对应关系,确定为对象结点与实体结点间的边;
将各待推荐对象对应的图像特征向量间的相似关系,确定为相应两个对象结点间的边;
基于对象结点、属性结点、实体结点、用户结点,以及相应结点间的边,建立网络异构图。
在一种可选的实施例中,为了确定相应结点间的边可以进行以下处理:
基于各用户与相应待推荐对象的操作行为信息,构建<用户,对象>元组,以表示各用户对应的操作行为信息与相应待推荐对象间的操作关系;
基于各待推荐对象的属性信息,构建<属性,对象>元组,以表示各待推荐对象与各属性信息间的对应关系,每个待推荐对象一般包含多种属性信息,故可以构建<属性1,对象>元组、<属性2,对象>元组、<属性3,对象>元组等;
基于各待推荐对象的文本实体信息,构建<文本实体,对象>元组,以表示各待推荐对象与各文本实体信息间的对应关系;
基于各待推荐对象对应的图像特征向量,构建<对象,对象>元组,以表示各待推荐对象对应的图像特征向量间的相似关系。
在一个例子中,以待推荐对象为待推荐商品为例,故此时对象结点为商品结点,如图2所示的网络异构图中A类结点为属性结点、B类结点为实体结点、C类结点为商品结点和D类结点为用户结点。a类边表示待推荐商品与各属性信息间的对应关系、b类边表示待推荐商品与各文本实体信息间的对应关系、c类边表示待推荐商品对应的图像特征向量间的相似关系,以及d类边表示用户与待推荐商品间的操作关系。
该网络异构图可以表示为G=(V,E,T),其中V表示网络异构图中的结点集合,其包含不同类型的结点的集合,E表示网络异构图中边的集合,其包含不同类型的边的集合,T表示结点类型及边类型的集合。
若TV表示结点类型的集合,TE表示边类型的集合,则对任意结点v,存在结点类型映射函数φ(v):V→TV,对任意边e,存在边类型映射函数ψ(e):E→TE。且对于网络异构图,需要满足:|TV|+|TE|>2,即结点类型的类型数与边类型的类型数的和大于2。
可见,在获取步骤110的所述信息后,综合考虑用户与操作行为信息相关的历史待推荐对象的关联关系,以及历史待推荐对象与新待推荐对象间的关联关系来建立网络异构图,提高了向用户推荐各对象的准确性。
步骤130、按照预先配置的各类结点游走路径,遍历网络异构图,获取各类结点游走路径对应的游走结点序列。
其中,对各类结点游走路径的配置过程包括:
按照预设遍历条件遍历结合图2所示的网络异构图,将第一用户结点为起始结点、第一对象结点为第二结点、第二用户结点为第三结点作为元路径遍历出的游走路径,配置为第一类结点游走路径;相应元路径可以表示为:user1->item1->user2;
以及,将第一对象结点为起始结点、第一用户结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第二类结点游走路径;相应元路径可以表示为:item1->user->item2;
以及,将第一对象结点为起始结点、第一属性结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第三类结点游走路径;相应元路径可以表示为:item1->property->item2;
以及,将第一对象结点为起始结点、第一实体结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第四类结点游走路径;相应元路径可以表示为:item1->entity->item2;
以及,将第一对象结点为起始结点、第二对象结点为第二结点作为元路径遍历出的游走路径,配置为第五类结点游走路径;相应元路径可以表示为:item1->item2。
其中,预设遍历条件为网络异构图中各结点作为起始结点的次数未超过预设次数阈值,且结点游走路径的路径长度未超过预设长度阈值。
在一个例子中,元路径可抽象为:其中,V1表示起始结点,其类型为1、V2表示游走到的类型为2的结点、R1表示由V1向V2游走的游走次数,以此类推,Vt表示游走到的类型为t的结点,Vt+1表示游走到的类型为t+1的结点、Vm表示游走到的最后一个结点,其类型为m。
依次按照上述路径进行随机游走,获得异构图结点游走序列。假设当前结点是第i个,即vi,则向下一个结点,即vi+1的转移概率为:
其中,t表示结点vi的类型,t+1表示结点vi+1的类型,N表示数量。
例如,t表示的结点vi的类型为用户结点,t+1表示的结点vi+1的类型为对象结点,若该用户结点包括5个相邻结点,且该相邻结点中对象结点的数量N为3时,每个对象结点均可以为该用户结点的下一个结点,且该用户结点向每个对象结点的转移概率为1/3。
可见,该步骤基于不同元路径对应的结点游走路径,得到的游走结点序列包含了用户、对象、对象属性信息和对象文本实体信息的多维度信息,以实现利用上述多维度信息,向用户推荐各对象。
步骤140、将获取的游走结点序列输入Skip-gram模型,获取目标用户对应的嵌入向量和各待推荐对象对应的嵌入向量。
其中,目标用户为各用户中的任一用户。
针对每个游走结点序列,按照游走结点序列中的结点顺序,将当前结点与当前结点相邻的预设结点数范围内的任一结点的组合确定为一个训练样本;当前结点为所述游走结点序列中的任一结点。预设结点数范围可以是覆盖结点的窗口大小。
如图3所示,以最长游走长度为7,窗口大小为2为例,相应的游走结点序列为(v1,v2,…,v7)。
当前结点为结点v1时,以结点v1为中心,在窗口大小为2的范围内与结点v1相邻的结点为v2和v3,故将(v1,v2)和(v1,v3)分别确定为训练样本;
当前结点为结点v2时,以结点v2为中心,在窗口大小为2的范围内与结点v2相邻的结点为v1、v3和v4,故将(v2,v1)、(v2,v3)和(v2,v4)分别确定为训练样本;
当前结点为结点v3时,以结点v3为中心,在窗口大小为2的范围内与结点v3相邻的结点为v1、v2、v4和v5,故将(v3,v1)、(v3,v2)、(v3,v4)和(v3,v5)分别确定为训练样本;
当前结点为结点v4时,以结点v4为中心,在窗口大小为2的范围内与结点v4相邻的结点为v2、v3、v5和v6,故将(v4,v2)、(v4,v3)、(v4,v5)和(v4,v6)分别确定为训练样本。
以此类推,当前结点为结点v7时,以结点v7为中心,在窗口大小为2的范围内与结点v7相邻的结点为v5和v6,故将(v7,v5)和(v7,v6)分别确定为训练样本。
进一步的,将游走结点序列对应的训练样本输入Skip-gram模型,Skip-gram模型包括输入层C1、嵌入层C2、隐含层C3和输出层C4,如图4所示。
通过输入层C1,得到训练样本中当前结点的编码向量与相邻结点的编码向量;
通过嵌入层C2,得到相应结点的编码向量对应的嵌入向量;
通过隐含层C3,得到相应结点的嵌入向量对应的隐含层向量;
通过输出层C4,得到相应结点的隐含层向量对应的该结点的预测值;
基于相邻结点的预测值对应的输出向量和相应结点在输入层的编码向量间的误差值,对Skip-gram模型进行迭代处理,且在达到预设迭代目标时,获取目标用户对应的嵌入向量和各待推荐对象对应的嵌入向量。
在一个例子中,将训练样本(Vv,Vct)输入Skip-gram模型的输入层,得到结点v的One-hot编码向量与结点ct的One-hot编码向量,且结点v的编码向量的长度和结点ct的编码向量的长度相同。设异构图中结点数量为N,则只有结点ID相应位置元素值为1,其余位置的元素值为0。例如,若异构图中有5个结点(a,b,c,d,e),分别设置其结点ID为(1,2,3,4,5),则各结点对应的One-hot向量为[(1,0,0,0,0),(0,1,0,0,0),(0,0,1,0,0),(0,0,0,1,0),(0,0,0,0,1)]。
通过嵌入层,对相应结点的编码向量进行嵌入处理,得到相应结点的嵌入向量;其中,嵌入层将输入的编码向量与嵌入层的嵌入矩阵相乘,得到相应的嵌入向量,该嵌入矩阵为嵌入层的嵌入参数。
通过隐含层,对相应结点的嵌入向量进行融合处理,得到相应结点的嵌入向量对应的隐含层向量;
其中,结点v的隐含层向量可以表示为:
式中,Xv表示结点v在隐含层向量表示,表示结点v的第j项嵌入向量相加的权重值(如图4中,结点、结点属性、结点文本实体对应的权重分别为a1,a2,an),/>表示结点v的第j项嵌入向量,n为结点v的嵌入向量中的项数。
通过输出层,对相应结点的隐含层向量进行预测,得到相应结点的隐含层向量对应的该结点的预测值。其中,结点v的预测值表示结点v在游走结点序列中相应位置的元素值。
其中,结点v的预测值可以表示为:
式中,结点ct表示结点v的相邻结点,θ表示模型参数,V表示网络异构图中的结点集合,u表示结点集合V中的任一结点,Xct表示结点ct的隐含层向量,Xv表示结点v的隐含层向量。
进一步的,基于相邻结点的预测值对应的输出向量和相应结点在输入层的编码向量间的误差值,对Skip-gram模型进行迭代处理,且在达到预设迭代目标时,获取目标用户对应的嵌入向量和各待推荐对象对应的嵌入向量。
其中,相邻结点的预测值对应的输出向量为预测出的相邻结点的预测编码向量,预设迭代目标为该相邻结点的预测编码向量与相邻结点的编码向量间的误差值不大于预设误差阈值,即预测编码向量与相应编码向量的分布一致。
可选地,相邻结点ct的预测值对应的输出向量和相应结点ct在输入层的编码向量间的误差值可以采用交叉熵损失函数获取。
其中,交叉熵损失函数可以表示为:
式中,Nt(v)是结点v的第t类邻居结点集合;而实际应用中,p(ct|v;θ)分母计算量较大,为了加速模型训练,采用负采样方式进行优化加速。上面优化目标近似等于:
其中,um是负采样结点,P(u)表示预定义的负采样分布,M表示结点负采样个数,E表示结点um的期望,um~P(u)表示结点um符合P(u)负采样分布。
步骤150、基于获取的目标用户对应的嵌入向量和各待推荐对象对应的嵌入向量,确定目标用户对应的目标推荐对象。
一个实施例中,基于目标用户对应的嵌入向量和各待推荐对象对应的嵌入向量间的关联度,或者,基于各待推荐对象对应的嵌入向量间的关联度,确定目标用户对应的目标推荐对象。
例如,采用预设相似度算法,得到目标用户对应的嵌入向量和各待推荐对象对应的嵌入向量间的第一相似度,并将第一相似度确定为待推荐对象的推荐分数;
其中,该待推荐对象的推荐分数的计算公式可以表示为:
式中,score(u,i)表示待推荐对象的推荐分数,vectoru表示目标用户对应的嵌入向量,表示第i个待推荐对象对应的嵌入向量,|| ||2表示嵌入向量的模值。
采用预设相似度算法,得到各待推荐对象对应的嵌入向量间的第二相似度,并将第二相似度确定为相似待推荐对象的推荐分数;
其中,该相似待推荐对象的推荐分数的计算公式可以表示为:
式中,similarly(itemi,itemj)表示待推荐对象的推荐分数,表示第i个待推荐对象对应的嵌入向量,/>表示第j个待推荐对象对应的嵌入向量,|| ||2表示嵌入向量的模值。
将待推荐对象的最大推荐分数对应的待推荐对象,或者,将相似待推荐对象的最大推荐分数对应的待推荐对象,确定目标用户对应的目标推荐对象。
可见,基于Skip-gram模型得到的用户的嵌入向量和待推荐对象的嵌入向量,计算相应的推荐分数,实现对各用户进行个性化推荐。
进一步的,由于Skip-gram模型仅需要基于网络异构图对应的游走结点序列就可以得到用户的嵌入向量和待推荐对象的嵌入向量,故针对大规模推荐场景对应的复杂的网络异构图,Skip-gram模型也可以有效的进行处理,实现大规模推荐场景下对各用户的个性化推荐。
本申请实施例提供的对象推荐方法通过获取各用户的用户标识、各待推荐对象的对象信息和各用户与相应待推荐对象的操作行为信息;将各待推荐对象的对象信息和各用户的用户标识作为结点,并基于操作行为信息和对象信息,确定结点间的关系,建立网络异构图;并按照预先配置的各类结点游走路径,遍历网络异构图,获取各类结点游走路径对应的游走结点序列;将获取的游走结点序列输入Skip-gram模型,获取目标用户对应的嵌入向量和各待推荐对象对应的嵌入向量;目标用户为各用户中的任一用户;基于目标用户对应的嵌入向量和各待推荐对象对应的嵌入向量,确定目标用户对应的目标推荐对象。该方法通过对获取的对象信息和相应操作行为信息,合理构建表征用户与对象信息间关联关系的网络异构图,并根据基于网络异构图得到的游走结点序列训练异构图嵌入算法得到用户及对象的向量表示,从而预测用户对新对象的兴趣,以解决冷启动问题,实现对各对象的准确推荐,提高了用户体验。
与上述方法对应的,本发明实施例还提供一种对象推荐装置,如图5所示,该对象推荐装置包括:获取单元510、建立单元520、序列获取单元530、向量获取单元540和确定单元550;
获取单元510,用于获取各用户的用户标识、各待推荐对象的对象信息和所述各用户与相应待推荐对象的操作行为信息;
各待推荐对象包括未被各用户操作的新待推荐对象和被各用户操作的历史待推荐对象;各用户与相应待推荐对象的操作行为信息为各用户对历史对象进行操作的操作行为信息。
其中,新待推荐对象可以是各推荐应用(如购物应用、视频应用、音乐应用)中刚上架或更新后的商品,如各类生活日用品、电子产品,以及如短视频、音乐等在线电子数据产品,这些新上架或更新后的商品没有被用户操作过;历史待推荐对象可以是相应推荐应用中已上架且已被用户操作过的商品。
例如,若待推荐对象为新上架的一款耳机,则该操作行为信息可以包括对历史销售各款耳机的点击操作、加购物车操作、收藏操作、分享操作和购买操作等。
若待推荐对象为新更新的一段短视频,则该操作行为信息可以包括对历史展示的各短视频的播放操作、关注操作、收藏操作、分享操作和点赞操作等。
建立单元520,用于将所述各待推荐对象的对象信息和所述各用户的用户标识作为结点,并基于所述操作行为信息和所述对象信息,确定所述结点间的关系,建立网络异构图;
其中,该网络异构图可以表示为G=(V,E,T),其中V表示网络异构图中的结点集合,其包含不同类型的结点的集合,E表示网络异构图中边的集合,其包含不同类型的边的集合,T表示结点类型及边类型的集合。
若TV表示结点类型的集合,TE表示边类型的集合,则对任意结点v,存在结点类型映射函数φ(v):V→TV,对任意边e,存在边类型映射函数ψ(e):E→TE。且对于网络异构图,需要满足:|TV|+|TE|>2,即结点类型的类型数与边类型的类型数的和大于2。
其中,网络异构图的具体建立过程可以参照步骤120所述的步骤实现。
序列获取单元530,用于按照预先配置的各类结点游走路径,遍历所述网络异构图,获取所述各类结点游走路径对应的游走结点序列;
其中,各类结点游走路径的配置过程和游走结点序列的具体获取过程可以参照步骤130所述的步骤实现。
向量获取单元540,用于将获取的游走结点序列输入Skip-gram模型,获取目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量;目标用户为所述各用户中的任一用户;
其中,嵌入向量的获取过程可以参照步骤140所述的步骤实现。
确定单元550,用于基于所述目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量间的关联度,或者,基于所述各待推荐对象对应的嵌入向量间的关联度,确定所述目标用户对应的目标推荐对象。
在一种可能的实现中,所述各待推荐对象包括未被所述各用户操作的新待推荐对象和被所述各用户操作的历史待推荐对象;
所述各用户与相应待推荐对象的操作行为信息为所述各用户对所述历史对象进行操作的操作行为信息。
在一种可能的实现中,所述对象信息包括对象标识,对象的各属性信息、文本描述信息和图像特征信息;
获取单元510,还用于获取所述各待推荐对象的文本描述信息中的文本实体信息,以及获取所述各待推荐对象的图像特征信息对应的图像特征向量;
建立单元520,具体用于将所述各待推荐对象的对象标识确定为对象结点、相应待推荐对象的各属性信息确定为相应的属性结点、相应待推荐对象的文本实体信息确定为实体结点,以及将所述各用户的用户标识确定为用户结点;
以及,将所述各用户对应的操作行为信息与相应待推荐对象间的操作关系,确定为所述用户结点与所述对象结点间的边;将所述各待推荐对象与各属性信息间的对应关系,确定为所述对象结点与所述属性结点间的边;将所述各待推荐对象与各文本实体信息间的对应关系,确定为所述对象结点与所述实体结点间的边;将所述各待推荐对象对应的图像特征向量间的相似关系,确定为相应两个对象结点间的边;
基于所述对象结点、所述属性结点、所述实体结点、所述用户结点,以及相应结点间的边,建立网络异构图。
在一种可能的实现中,获取单元510,还具体用于采用预设的自然语言模型,对所述各待推荐对象的文本描述信息进行文本实体提取,获取相应待推荐对象的文本实体信息。
在一种可能的实现中,获取单元510,还具体用于采用预设的卷积神经网络,对所述各待推荐对象的图像特征信息进行卷积运算,获取所述各待推荐对象的图像特征信息对应的图像特征向量。
在一种可能的实现中,向量获取单元540,具体用于:
针对每个游走结点序列,按照所述游走结点序列中的结点顺序,将当前结点与所述当前结点相邻的预设结点数范围内的任一结点的组合确定为一个训练样本;所述当前结点为所述游走结点序列中的任一结点;
将所述游走结点序列对应的训练样本输入所述Skip-gram模型的输入层,通过所述输入层,得到所述训练样本中当前结点的编码向量与相邻结点的编码向量;
通过所述Skip-gram模型的嵌入层,得到相应结点的编码向量对应的嵌入向量;
通过所述Skip-gram模型的隐含层,得到相应结点的嵌入向量对应的隐含层向量;
通过所述Skip-gram模型的输出层,得到相应结点的隐含层向量对应的该结点的预测值;
基于所述相邻结点的预测值对应的输出向量和相应结点在所述输入层的编码向量间的误差值,对所述Skip-gram模型进行迭代处理,且在达到预设迭代目标时,获取目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量。
在一种可能的实现中,所述装置还包括路径配置单元560;
路径配置单元560,具体用于:按照预设遍历条件遍历所述网络异构图,将第一用户结点为起始结点、第一对象结点为第二结点、第二用户结点为第三结点作为元路径遍历出的游走路径,配置为第一类结点游走路径;以及,
将第一对象结点为起始结点、第一用户结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第二类结点游走路径;以及,
将第一对象结点为起始结点、第一属性结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第三类结点游走路径;以及,
将第一对象结点为起始结点、第一实体结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第四类结点游走路径;以及,
将第一对象结点为起始结点、第二对象结点为第二结点作为元路径遍历出的游走路径,配置为第五类结点游走路径。
例如,配置的各类结点游走路径可以表示为:由user1->item1->user2元路径遍历出的游走路径;由item1->user->item2元路径遍历出的游走路径;由item1->property->item2元路径遍历出的游走路径;由item1->entity->item2元路径遍历出的游走路径;由item1->item2元路径遍历出的游走路径。
在一种可能的实现中,所述预设遍历条件为所述网络异构图中各结点作为所述起始结点的次数未超过预设次数阈值,且所述结点游走路径的路径长度未超过预设长度阈值。
在一种可能的实现中,确定单元550,具体用于采用预设相似度算法,得到所述目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量间的第一相似度,并将所述第一相似度确定为待推荐对象的推荐分数;采用预设相似度算法,得到所述各待推荐对象对应的嵌入向量间的第二相似度,并将所述第二相似度确定为相似待推荐对象的推荐分数;
以及,将所述待推荐对象的最大推荐分数对应的待推荐对象,或者,将所述相似待推荐对象的最大推荐分数对应的待推荐对象,确定所述目标用户对应的目标推荐对象。
其中,获取第一相似度和第二相似度的具体相似度算法可以参照步骤150所述的步骤实现。
本发明上述实施例提供的对象推荐装置的各功能单元的功能,可以通过上述各方法步骤来实现,因此,本发明实施例提供的对象推荐装置中的各个单元的具体工作过程和有益效果,在此不复赘述。
基于上述实施例,参阅图6所示为本申请实施例中电子设备的结构示意图。
本申请实施例提供了一种电子设备,该电子设备可以包括处理器610(CenterProcessing Unit,CPU)、存储器620、输入设备630和输出设备640等,输入设备630可以包括键盘、鼠标、触摸屏等,输出设备640可以包括显示设备,如液晶显示器(Liquid CrystalDisplay,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器620可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器610提供存储器620中存储的程序指令和数据。在本申请实施例中,存储器620可以用于存储本申请实施例中任一种对象推荐方法的程序。
处理器610通过调用存储器620存储的程序指令,处理器610用于按照获得的程序指令执行本申请实施例中任一种对象推荐方法。
基于上述实施例,本申请实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的对象推荐方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (18)
1.一种对象推荐方法,其特征在于,所述方法包括:
获取各用户的用户标识、各待推荐对象的对象信息和所述各用户与相应待推荐对象的操作行为信息;
将所述各待推荐对象的对象信息和所述各用户的用户标识作为结点,并基于所述操作行为信息和所述对象信息,确定所述结点间的关系,建立网络异构图;并按照预先配置的各类结点游走路径,遍历所述网络异构图,获取所述各类结点游走路径对应的游走结点序列,其中,将第一对象结点为起始结点、第一实体结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第四类结点游走路径;
将获取的游走结点序列输入Skip-gram模型,获取目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量;所述目标用户为所述各用户中的任一用户;
基于所述目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量间的关联度,或者,基于所述各待推荐对象对应的嵌入向量间的关联度,确定所述目标用户对应的目标推荐对象;
所述对象信息包括对象标识、对象的各属性信息、文本描述信息和图像特征信息;
将所述各待推荐对象的对象信息和所述各用户的用户标识作为结点,并基于所述操作行为信息和所述对象信息,确定相邻结点间的关系,建立网络异构图,包括:
获取所述各待推荐对象的文本描述信息中的文本实体信息,以及获取所述各待推荐对象的图像特征信息对应的图像特征向量;
将所述各待推荐对象的对象标识确定为对象结点、相应待推荐对象的各属性信息确定为相应的属性结点、相应待推荐对象的文本实体信息确定为实体结点,以及将所述各用户的用户标识确定为用户结点;
将所述各用户对应的操作行为信息与相应待推荐对象间的操作关系,确定为所述用户结点与所述对象结点间的边;
将所述各待推荐对象与各属性信息间的对应关系,确定为所述对象结点与所述属性结点间的边;
将所述各待推荐对象与各文本实体信息间的对应关系,确定为所述对象结点与所述实体结点间的边;
将所述各待推荐对象对应的图像特征向量间的相似关系,确定为相应两个对象结点间的边;
基于所述对象结点、所述属性结点、所述实体结点、所述用户结点,以及相应结点间的边,建立网络异构图。
2.如权利要求1所述的方法,其特征在于,所述各待推荐对象包括未被所述各用户操作的新待推荐对象和被所述各用户操作的历史待推荐对象;
所述各用户与相应待推荐对象的操作行为信息为所述各用户对所述历史待推荐对象进行操作的操作行为信息。
3.如权利要求1所述的方法,其特征在于,获取所述各待推荐对象的文本描述信息中的文本实体信息,包括:
采用预设的自然语言模型,对所述各待推荐对象的文本描述信息进行文本实体提取,获取相应待推荐对象的文本实体信息。
4.如权利要求1所述的方法,其特征在于,获取所述各待推荐对象的图像特征信息对应的图像特征向量,包括:
采用预设的卷积神经网络,对所述各待推荐对象的图像特征信息进行卷积运算,获取所述各待推荐对象的图像特征信息对应的图像特征向量。
5.如权利要求1所述的方法,其特征在于,将获取的游走结点序列输入Skip-gram模型,获取目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量包括:
针对每个游走结点序列,按照所述游走结点序列中的结点顺序,将当前结点与所述当前结点相邻的预设结点数范围内的任一结点的组合确定为一个训练样本;所述当前结点为所述游走结点序列中的任一结点;
将所述游走结点序列对应的训练样本输入所述Skip-gram模型的输入层,通过所述输入层,得到所述训练样本中当前结点的编码向量与相邻结点的编码向量;
通过所述Skip-gram模型的嵌入层,得到相应结点的编码向量对应的嵌入向量;
通过所述Skip-gram模型的隐含层,得到相应结点的嵌入向量对应的隐含层向量;
通过所述Skip-gram模型的输出层,得到相应结点的隐含层向量对应的该结点的预测值;
基于所述相邻结点的预测值对应的输出向量和相应结点在所述输入层的编码向量间的误差值,对所述Skip-gram模型进行迭代处理,且在达到预设迭代目标时,获取目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量。
6.如权利要求1所述的方法,其特征在于,对所述各类结点游走路径的配置过程包括:
按照预设遍历条件遍历所述网络异构图,将第一用户结点为起始结点、第一对象结点为第二结点、第二用户结点为第三结点作为元路径遍历出的游走路径,配置为第一类结点游走路径;以及,
将第一对象结点为起始结点、第一用户结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第二类结点游走路径;以及,
将第一对象结点为起始结点、第一属性结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第三类结点游走路径;以及,
将第一对象结点为起始结点、第二对象结点为第二结点作为元路径遍历出的游走路径,配置为第五类结点游走路径。
7.如权利要求6所述的方法,其特征在于,所述预设遍历条件为所述网络异构图中各结点作为所述起始结点的次数未超过预设次数阈值,且所述结点游走路径的路径长度未超过预设长度阈值。
8.如权利要求1所述的方法,其特征在于,基于所述目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量间的关联度,或者,基于各待推荐对象对应的嵌入向量间的关联度,确定所述目标用户对应的目标推荐对象,包括:
采用预设相似度算法,得到所述目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量间的第一相似度,并将所述第一相似度确定为待推荐对象的推荐分数;
采用预设相似度算法,得到所述各待推荐对象对应的嵌入向量间的第二相似度,并将所述第二相似度确定为相似待推荐对象的推荐分数;
将所述待推荐对象的最大推荐分数对应的待推荐对象,或者,将所述相似待推荐对象的最大推荐分数对应的待推荐对象,确定所述目标用户对应的目标推荐对象。
9.一种对象推荐装置,其特征在于,所述装置包括:获取单元、建立单元、序列获取单元、向量获取单元和确定单元;
所述获取单元,用于获取各用户的用户标识、各待推荐对象的对象信息和所述各用户与相应待推荐对象的操作行为信息;
所述建立单元,用于将所述各待推荐对象的对象信息和所述各用户的用户标识作为结点,并基于所述操作行为信息和所述对象信息,确定所述结点间的关系,建立网络异构图;
所述序列获取单元,用于按照预先配置的各类结点游走路径,遍历所述网络异构图,获取所述各类结点游走路径对应的游走结点序列,其中,将第一对象结点为起始结点、第一实体结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第四类结点游走路径;
所述向量获取单元,用于将获取的游走结点序列输入Skip-gram模型,获取目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量;所述目标用户为所述各用户中的任一用户;
所述确定单元,用于基于所述目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量间的关联度,或者,基于所述各待推荐对象对应的嵌入向量间的关联度,确定所述目标用户对应的目标推荐对象;
所述对象信息包括对象标识,对象的各属性信息、文本描述信息和图像特征信息;
所述获取单元,还用于获取所述各待推荐对象的文本描述信息中的文本实体信息,以及获取所述各待推荐对象的图像特征信息对应的图像特征向量;
所述建立单元,具体用于将所述各待推荐对象的对象标识确定为对象结点、相应待推荐对象的各属性信息确定为相应的属性结点、相应待推荐对象的文本实体信息确定为实体结点,以及将所述各用户的用户标识确定为用户结点;
以及,将所述各用户对应的操作行为信息与相应待推荐对象间的操作关系,确定为所述用户结点与所述对象结点间的边;将所述各待推荐对象与各属性信息间的对应关系,确定为所述对象结点与所述属性结点间的边;将所述各待推荐对象与各文本实体信息间的对应关系,确定为所述对象结点与所述实体结点间的边;将所述各待推荐对象对应的图像特征向量间的相似关系,确定为相应两个对象结点间的边;
基于所述对象结点、所述属性结点、所述实体结点、所述用户结点,以及相应结点间的边,建立网络异构图。
10.如权利要求9所述的装置,其特征在于,所述各待推荐对象包括未被所述各用户操作的新待推荐对象和被所述各用户操作的历史待推荐对象;
所述各用户与相应待推荐对象的操作行为信息为所述各用户对所述历史待推荐对象进行操作的操作行为信息。
11.如权利要求9所述的装置,其特征在于,所述获取单元,还具体用于采用预设的自然语言模型,对所述各待推荐对象的文本描述信息进行文本实体提取,获取相应待推荐对象的文本实体信息。
12.如权利要求9所述的装置,其特征在于,所述获取单元,还具体用于采用预设的卷积神经网络,对所述各待推荐对象的图像特征信息进行卷积运算,获取所述各待推荐对象的图像特征信息对应的图像特征向量。
13.如权利要求9所述的装置,其特征在于,所述向量获取单元,具体用于:
针对每个游走结点序列,按照所述游走结点序列中的结点顺序,将当前结点与所述当前结点相邻的预设结点数范围内的任一结点的组合确定为一个训练样本;所述当前结点为所述游走结点序列中的任一结点;
将所述游走结点序列对应的训练样本输入所述Skip-gram模型的输入层,通过所述输入层,得到所述训练样本中当前结点的编码向量与相邻结点的编码向量;
通过所述Skip-gram模型的嵌入层,得到相应结点的编码向量对应的嵌入向量;
通过所述Skip-gram模型的隐含层,得到相应结点的嵌入向量对应的隐含层向量;
通过所述Skip-gram模型的输出层,得到相应结点的隐含层向量对应的该结点的预测值;
基于所述相邻结点的预测值对应的输出向量和相应结点在所述输入层的编码向量间的误差值,对所述Skip-gram模型进行迭代处理,且在达到预设迭代目标时,获取目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量。
14.如权利要求9所述的装置,其特征在于,所述装置还包括路径配置单元;
所述路径配置单元,具体用于:按照预设遍历条件遍历所述网络异构图,将第一用户结点为起始结点、第一对象结点为第二结点、第二用户结点为第三结点作为元路径遍历出的游走路径,配置为第一类结点游走路径;以及,
将第一对象结点为起始结点、第一用户结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第二类结点游走路径;以及,
将第一对象结点为起始结点、第一属性结点为第二结点、第二对象结点为第三结点作为元路径遍历出的游走路径,配置为第三类结点游走路径;以及,
将第一对象结点为起始结点、第二对象结点为第二结点作为元路径遍历出的游走路径,配置为第五类结点游走路径。
15.如权利要求14所述的装置,其特征在于,所述预设遍历条件为所述网络异构图中各结点作为所述起始结点的次数未超过预设次数阈值,且所述结点游走路径的路径长度未超过预设长度阈值。
16.如权利要求9所述的装置,其特征在于,
所述确定单元,具体用于采用预设相似度算法,得到所述目标用户对应的嵌入向量和所述各待推荐对象对应的嵌入向量间的第一相似度,并将所述第一相似度确定为待推荐对象的推荐分数;采用预设相似度算法,得到所述各待推荐对象对应的嵌入向量间的第二相似度,并将所述第二相似度确定为相似待推荐对象的推荐分数;
以及,将所述待推荐对象的最大推荐分数对应的待推荐对象,或者,将所述相似待推荐对象的最大推荐分数对应的待推荐对象,确定所述目标用户对应的目标推荐对象。
17.一种电子设备,其特征在于,包括:
至少一个存储器,用于存储程序指令;
至少一个处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行上述权利要求1-8任一项所述的方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-8任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110313551.3A CN112907334B (zh) | 2021-03-24 | 2021-03-24 | 一种对象推荐方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110313551.3A CN112907334B (zh) | 2021-03-24 | 2021-03-24 | 一种对象推荐方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112907334A CN112907334A (zh) | 2021-06-04 |
CN112907334B true CN112907334B (zh) | 2024-04-26 |
Family
ID=76106187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110313551.3A Active CN112907334B (zh) | 2021-03-24 | 2021-03-24 | 一种对象推荐方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112907334B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113742580A (zh) * | 2021-08-20 | 2021-12-03 | 杭州网易云音乐科技有限公司 | 目标类型数据的召回方法、装置、电子设备及存储介质 |
CN115809364B (zh) * | 2022-09-30 | 2023-12-08 | 北京百度网讯科技有限公司 | 对象推荐方法和模型训练方法 |
CN117541298A (zh) * | 2023-12-26 | 2024-02-09 | 中邮消费金融有限公司 | 一种业务推荐方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7853622B1 (en) * | 2007-11-01 | 2010-12-14 | Google Inc. | Video-related recommendations using link structure |
CN110264277A (zh) * | 2019-06-25 | 2019-09-20 | 杭州网易再顾科技有限公司 | 由计算设备执行的数据处理方法及装置、介质和计算设备 |
CN111222053A (zh) * | 2019-11-27 | 2020-06-02 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种对象推荐方法、装置以及相关设备 |
CN111310045A (zh) * | 2020-02-16 | 2020-06-19 | 重庆邮电大学 | 一种基于元路径的网络嵌入的电影推荐方法 |
CN111738807A (zh) * | 2020-07-23 | 2020-10-02 | 上海众旦信息科技有限公司 | 用于推荐目标对象的方法、计算设备和计算机存储介质 |
CN112199600A (zh) * | 2020-10-29 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 目标对象识别方法和装置 |
CN112311608A (zh) * | 2020-11-25 | 2021-02-02 | 中国人民解放军66136部队 | 一种多层异质网络空间节点表征方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10225159B2 (en) * | 2017-05-30 | 2019-03-05 | CENX, Inc. | Dynamic graph-based structure for representing a communications network |
-
2021
- 2021-03-24 CN CN202110313551.3A patent/CN112907334B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7853622B1 (en) * | 2007-11-01 | 2010-12-14 | Google Inc. | Video-related recommendations using link structure |
CN110264277A (zh) * | 2019-06-25 | 2019-09-20 | 杭州网易再顾科技有限公司 | 由计算设备执行的数据处理方法及装置、介质和计算设备 |
CN111222053A (zh) * | 2019-11-27 | 2020-06-02 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种对象推荐方法、装置以及相关设备 |
CN111310045A (zh) * | 2020-02-16 | 2020-06-19 | 重庆邮电大学 | 一种基于元路径的网络嵌入的电影推荐方法 |
CN111738807A (zh) * | 2020-07-23 | 2020-10-02 | 上海众旦信息科技有限公司 | 用于推荐目标对象的方法、计算设备和计算机存储介质 |
CN112199600A (zh) * | 2020-10-29 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 目标对象识别方法和装置 |
CN112311608A (zh) * | 2020-11-25 | 2021-02-02 | 中国人民解放军66136部队 | 一种多层异质网络空间节点表征方法 |
Non-Patent Citations (2)
Title |
---|
基于异构信息网络表征学习的推荐方法;李亚莹;;现代计算机(04);全文 * |
融合用户行为网络信息的个性化餐馆推荐;傅晨波;郑永立;周鸣鸣;宣琦;;浙江工业大学学报(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112907334A (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112907334B (zh) | 一种对象推荐方法及装置 | |
CN110162693B (zh) | 一种信息推荐的方法以及服务器 | |
US20100088151A1 (en) | Method and apparatus for recommending image based on user profile using feature-based collaborative filtering to resolve new item recommendation | |
Xu et al. | Integrated collaborative filtering recommendation in social cyber-physical systems | |
WO2020192013A1 (zh) | 定向广告投放方法和装置、设备及存储介质 | |
CN110175895B (zh) | 一种物品推荐方法及装置 | |
CN112000819A (zh) | 多媒体资源推荐方法、装置、电子设备及存储介质 | |
CN111010592B (zh) | 一种视频推荐方法、装置、电子设备及存储介质 | |
CN112765478B (zh) | 用于推荐内容的方法、装置、设备、介质和程序产品 | |
Kuanr et al. | Recent challenges in recommender systems: a survey | |
CN111310046A (zh) | 对象推荐方法及装置 | |
Ben-Shimon et al. | An ensemble method for top-N recommendations from the SVD | |
Cheung et al. | Characterizing user connections in social media through user-shared images | |
CN113191896A (zh) | 一种招标信息的推荐方法、装置及计算机设备 | |
CN111339435A (zh) | 一种基于潜在因子的矩阵分解补全混合推荐方法 | |
CN111104606A (zh) | 一种基于权重的条件游走图推荐方法 | |
Ali et al. | Dynamic context management in context-aware recommender systems | |
US20090077093A1 (en) | Feature Discretization and Cardinality Reduction Using Collaborative Filtering Techniques | |
CN113469786A (zh) | 物品推荐的方法、装置、计算机设备和存储介质 | |
CN117034963A (zh) | 模型训练方法、翻译方法、预估方法、推荐方法及装置 | |
CN112036987A (zh) | 确定推荐商品的方法和装置 | |
CN111966916A (zh) | 一种推荐方法、装置、电子设备及计算机可读存储介质 | |
CN113495991A (zh) | 一种推荐方法和装置 | |
CN113034231B (zh) | 一种基于SaaS云服务的多供应链商品智能推荐系统及方法 | |
JP2010113683A (ja) | 情報推薦装置、情報推薦方法および情報推薦プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |