CN114691973A - 一种推荐方法、推荐网络及相关设备 - Google Patents
一种推荐方法、推荐网络及相关设备 Download PDFInfo
- Publication number
- CN114691973A CN114691973A CN202011640574.7A CN202011640574A CN114691973A CN 114691973 A CN114691973 A CN 114691973A CN 202011640574 A CN202011640574 A CN 202011640574A CN 114691973 A CN114691973 A CN 114691973A
- Authority
- CN
- China
- Prior art keywords
- path
- vector
- item
- entity
- user
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 130
- 238000013528 artificial neural network Methods 0.000 claims abstract description 166
- 239000013598 vector Substances 0.000 claims description 466
- 238000012549 training Methods 0.000 claims description 196
- 230000006870 function Effects 0.000 claims description 144
- 238000011156 evaluation Methods 0.000 claims description 43
- 230000015654 memory Effects 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 239000000284 extract Substances 0.000 claims description 5
- 239000011159 matrix material Substances 0.000 description 37
- 238000004364 calculation method Methods 0.000 description 35
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 15
- 230000002457 bidirectional effect Effects 0.000 description 12
- 239000000047 product Substances 0.000 description 11
- 230000004913 activation Effects 0.000 description 10
- 230000001537 neural effect Effects 0.000 description 10
- 101000762967 Homo sapiens Lymphokine-activated killer T-cell-originated protein kinase Proteins 0.000 description 7
- 102100026753 Lymphokine-activated killer T-cell-originated protein kinase Human genes 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000012417 linear regression Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 235000021167 banquet Nutrition 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 241000223679 Beauveria Species 0.000 description 2
- 241000589248 Legionella Species 0.000 description 2
- 208000007764 Legionnaires' Disease Diseases 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000007799 cork Substances 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 241000533228 Argemone Species 0.000 description 1
- 235000003932 Betula Nutrition 0.000 description 1
- 241000219429 Betula Species 0.000 description 1
- 102100024607 DNA topoisomerase 1 Human genes 0.000 description 1
- 101100481876 Danio rerio pbk gene Proteins 0.000 description 1
- 240000000731 Fagus sylvatica Species 0.000 description 1
- 235000010099 Fagus sylvatica Nutrition 0.000 description 1
- 101000830681 Homo sapiens DNA topoisomerase 1 Proteins 0.000 description 1
- 101100481878 Mus musculus Pbk gene Proteins 0.000 description 1
- 241000736199 Paeonia Species 0.000 description 1
- 101150107801 Top2a gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 239000011265 semifinished product Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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
- 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/047—Probabilistic or stochastic networks
-
- 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/08—Learning methods
-
- 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/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- 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/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- 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/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0282—Rating or review of business operators or products
-
- 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
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Probability & Statistics with Applications (AREA)
- Animal Behavior & Ethology (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Tourism & Hospitality (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种推荐方法,本申请实施例方法可以应用于电影推荐、游戏推荐等向用户推荐物品的场景。本申请实施例方法包括:获取知识图谱,知识图谱中包括多个用于指示物品的第一实体和多个用于指示物品属性的第二实体。基于知识图谱以及用户的信息运行神经网络,以得到推荐结果。其中,神经网络用于基于知识图谱中的至少一个第一方向和至少一个第二方向计算以得到推荐结果,提供了一种新的推荐方法,能够得到更为精准的推荐结果。
Description
技术领域
本申请实施例涉及人工智能领域,尤其涉及一种推荐方法、推荐网络及相关设备。
背景技术
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
随着互联网信息技术的发展,尤其是电子商务的兴起,互联网内容呈现爆炸式的增长,逐渐进入海量数据时代。用户面对琳琅满目并且种类繁杂的商品、电影、音乐、视频等各种物品时,却无所适从,这就是经常提到的信息过载问题。
因此,如何精准的在大量的物品中为用户推荐合适的物品是亟需解决的技术问题。
发明内容
本申请实施例提供了一种推荐方法、推荐网络以及相关设备,可以基于所述知识图谱以及用户的信息运行神经网络,以得到推荐结果,其中,神经网络用于基于知识图谱中的至少一个第一方向和至少一个第二方向计算以得到推荐结果,提供了一种新的推荐方法,能够得到更为精准的推荐结果,即提升推荐结果的精准率和/或召回率,可以应用在电影推荐、游戏推荐等向用户推荐物品的场景。
本申请实施例第一方面提供了一种推荐方法,该方法可以由推荐装置执行,也可以由推荐装置的部件(例如处理器、芯片、或芯片系统等)执行。该方法包括:获取知识图谱,知识图谱中包括多个用于指示物品的第一实体和多个用于指示物品属性的第二实体;基于知识图谱以及用户的信息运行神经网络,以得到推荐结果,用户的信息指示用户的历史记录涉及的物品或者物品属性。推荐结果包括被推荐物品,神经网络用于基于知识图谱中的至少一个第一方向和至少一个第二方向计算以得到推荐结果,第一方向起始于指示被推荐物品或者待推荐物品的第一实体,第二方向起始于指示用户的历史记录涉及的物品的第一实体,或者第二方向起始于指示用户的历史记录涉及的物品属性的第二实体。其中,用户的信息可以包括用户标识、用户点击过的物品或物品属性以及与用户相关的属性,例如:用户的年龄、职业、性别等。待推荐物品可以理解为用户未点击过的物品,本推荐方法要做的就是从待推荐物品中,找到适合推荐给用户的被推荐物品,提升精准率以及召回率。可以理解为,知识图谱中,不指示用户历史涉及过的物品的第一实体,都可以是待推荐物品。当然,一些实现方式下,可以初步筛选,缩小知识图谱中待推荐物品的范围,从而选定一些第一实体所指示的物品为待推荐物品。上述用户的信息可以指示用户的历史记录的正向事件中涉及的物品或者物品属性,应理解,用户的信息可以经过筛选。用来做推荐的用户的信息指示的是用户的历史记录的正向事件中涉及的物品或物品属性。其中,用户的历史记录的正向事件中涉及的物品或物品属性可以理解为用户曾经在正向事件中涉及过的第一实体或第二实体指示的物品或物品属性。其中正向事件是指,用户在该事件中没有明确表示出否定或负向意愿(也就是不喜欢,不感兴趣,不愿关注),或者表示出关注、喜欢、感兴趣等正向意愿。比如,用户点击、转发、关注、评论、激励(如投币、点赞)、收藏、浏览和浏览时间超过阈值时间的物品或物品属性,都是正向事件,而用户点击“踩”,点击“不想看到”,点击“不感兴趣”,选择“不出现在我的主页”就是负向事件,这种历史记录涉及的物品或者物品属性要剔除,要避免被输入。另外,第一方向起始于指示被推荐物品或者待推荐物品的第一实体,可以理解为第一方向的起点为指示被推荐物品或者待推荐物品的第一实体,对于第一方向指向哪个实体并不限定。同理,第二方向起始于指示被推荐物品或者待推荐物品的第一实体,或者第一方向起始于指示用户的历史记录涉及的物品属性的第二实体。可以理解为第二方向的起点为指示被推荐物品或者待推荐物品的第一实体,或者第二方向的起点为第二实体,对于第二方向指向哪个实体并不限定。例如:在推荐电影的场景下,第一方向的起点是用户未观看过的电影,第二方向的起点为用户观看过的电影,或该对应对应的电影类型等。
本申请实施例中,可以基于所述知识图谱以及用户的信息运行神经网络,以得到推荐结果,其中,神经网络用于基于知识图谱中的至少一个第一方向和至少一个第二方向计算以得到推荐结果,提供了一种新的推荐方法,能够得到更为精准的推荐结果,即提升推荐结果的精准率和/或召回率。
可选地,在第一方面的一种可能的实现方式中,上述步骤中的推荐结果还包括对被推荐物品的解释,解释与一个第一方向和一个第二方向相关。
该种可能的实现方式中,一方面,可以基于第一方向与第二方向得到被推荐物品的解释,由于解释是与两个方向有关的,可以提高解释的合理性。另一方面,该推荐方法除了可以得到被推荐物品,还可以得到对被推荐物品的解释,该解释可以解释被推荐物品被推荐的原因。
可选地,在第一方面的一种可能的实现方式中,上述步骤基于知识图谱以及用户的信息运行神经网络,以得到推荐结果,包括:基于知识图谱以及用户的信息,在知识图谱中提取多条路径,每条路径指示路径两端的实体之间的关联,每条路径的一端对应待推荐物品,另一端对应用户的历史记录涉及的物品或物品属性;将多条路径输入神经网络以对多个待推荐物品打分,以使神经网络得到推荐结果,神经网络用于基于多条路径各自的第一方向和第二方向计算以得到推荐结果,对于一条路径,第一方向是路径的一端指向路径的另一端,第二方向是路径的另一端指向路径的一端。
该种可能的实现方式中,可以通过多条路径对被推荐多个待推荐物品打分以及神经网络用于基于多条路径各自的第一方向和第二方向计算以得到推荐结果的方式,使得打分时考虑路径两个方向,相较于现有技术中只从单方向获得的推荐结果更加准确。在实际应用中,多个待推荐物品都会基于基于多条路径各自的第一方向和第二方向计算,得到多个被推荐物品,然后基于被推荐物品的排序,得到最终的推荐结果。这样,可预设给出几个被推荐物品,所以能给出更准确的被推荐物品。
可选地,在第一方面的一种可能的实现方式中,上述步骤基于知识图谱以及用户信息运行神经网络,以得到推荐结果,包括:将知识图谱以及用户的信息输入神经网络;神经网络基于知识图谱以及用户的信息,在知识图谱中提取多条路径,每条路径指示路径两端的实体之间的关联,每条路径的一端对应待推荐物品,另一端对应用户的历史记录涉及的物品或物品属性;基于多条路径各自的第一方向和第二方向对多个待推荐物品打分,以使神经网络得到推荐结果,对于一条路径,第一方向是路径的一端指向路径的另一端,第二方向是路径的另一端指向路径的一端。
该种可能的实现方式中,可以通过多条路径各自的第一方向和第二方向对多个待推荐物品打分的方式,使得打分时考虑路径两个方向,相较于现有技术中只从单方向获得的推荐结果更加准确。在实际应用中,多个待推荐物品都会基于多条路径各自的第一方向和第二方向对多个待推荐物品打分,以得到多个被推荐物品,然后基于被推荐物品的排序,得到最终的推荐结果。这样,可预设给出几个被推荐物品,所以能给出更准确的被推荐物品。
可选地,在第一方面的一种可能的实现方式中,上述步骤的第一方向与第一向量的方向一致,第二方向与第二向量的方向一致,对于一条路径,第一向量为从路径中,指示待推荐物品的第一实体,指向路径中,与指示待推荐物品的第一实体相邻的实体的向量,第二向量为从路径中,用户的历史记录涉及的物品的第一实体,指向路径中,与指示用户的历史记录涉及的物品的第一实体相邻的实体的向量,或者,第二向量为从路径中,用户的历史记录涉及的物品属性的第二实体,指向路径中,与用户的历史记录涉及的物品属性的第二实体相邻的实体的向量;基于多条路径各自的第一方向和第二方向对多条路径对应的多个待推荐物品打分,以使神经网络得到推荐结果,包括:对多条路径中的每条路径,都基于每条路径的第一向量和第二向量汇集到每条路径中的一个实体的概率对每条路径对应的待推荐物品打分,以得到被推荐物品。
该种可能的实现方式中,计算路径中左右两个流向的信息在嵌入空间内的重合概率,并计算出汇集节点的重合概率特征。该重合概率特征用来输出语义级的解释,即用户对某个实体节点的喜好程度。在实际应用中,多个待推荐物品都会基于每条路径的第一向量和第二向量汇集到每条路径中的一个实体的概率对每条路径对应的待推荐物品打分,以得到多个被推荐物品,然后基于被推荐物品的排序,得到最终的推荐结果。这样,适于用户的排到前面,可以准确找到用户的兴趣点。
可选地,在第一方面的一种可能的实现方式中,上述步骤还包括:基于多条路径各自的第一方向和第二方向分别对多条路径打分,以得到对推荐结果的解释,解释是对得到推荐结果的一条或多条路径所指示的两端的实体之间的关联的描述。
该种可能的实现方式中,可以通过多条路径各自的第一方向和第二方向对多条路径打分的方式,使得打分时考虑路径两个方向,相较于现有技术中只从单方向获得的推荐结果的解释更加全面以及准确。在实际应用中,多个路径都会基于多条路径各自的第一方向和第二方向进行打分,以得到多个解释,然后基于解释的排序,得到最终的推荐结果。这样,可预设给出几个被推荐物品,所以能给出更准确的被推荐物品。
可选地,在第一方面的一种可能的实现方式中,上述步骤第一方向与第一向量的方向一致,第二方向与第二向量的方向一致,对于一条路径,第一向量为从路径中,指示待推荐物品的第一实体,指向路径中,与指示待推荐物品的第一实体相邻的实体的向量,第二向量为从路径中,用户的历史记录涉及的物品的第一实体,指向路径中,与指示用户的历史记录涉及的物品的第一实体相邻的实体的向量,或者,第二向量为从路径中,用户的历史记录涉及的物品属性的第二实体,指向路径中,与用户的历史记录涉及的物品属性的第二实体相邻的实体的向量;基于多条路径各自的第一方向和第二方向对多条路径打分,以得到对推荐结果的解释,包括:分别计算每条路径的第一向量和第二向量汇集到每条路径包括的一个实体的概率,以得到对推荐结果的解释。
该种可能的实现方式中,计算路径中左右两个流向的信息在嵌入空间内的重合概率,并计算出汇集节点的重合概率特征。该重合概率特征用来输出语义级的解释,即用户对某个实体节点的喜好程度。即计算两个流向的向量汇集到一起的概率。有助于更准确找到用户的兴趣点,给出合适的推荐。
可选地,在第一方面的一种可能的实现方式中,上述步骤分别计算每条路径的第一向量和第二向量汇集到每条路径包括的一个实体的概率,包括:
可选地,在第一方面的一种可能的实现方式中,上述步骤神经网络是通过以训练样本作为神经网络的输入,以损失函数的值小于阈值为目标对神经网络进行训练得到,训练样本包括多条训练路径,或者训练样本包括用于训练的知识图谱、用于训练的用户的历史记录涉及的物品和/或物品属性,每条训练路径指示训练路径两端的实体之间的关联,每条训练路径的两端对应用户的历史记录涉及的物品或物品属性;损失函数包括第一损失函数,第一损失函数用于指示神经网络输出的推荐结果与目标结果之间的差异,目标结果与用户的历史记录涉及的物品或物品属性相关。
该种可能的实现方式中,通过第一损失函数对神经网络进行训练,使得推荐结果更加准确,符合用户的喜好程度。
可选地,在第一方面的一种可能的实现方式中,上述步骤损失函数还包括第二损失函数,第二损失函数用于指示用于训练的知识图谱的训练路径中第一训练向量与第二训练向量之间词向量的差值,训练路径的两端对应用户的历史记录涉及的物品或物品属性。
该种可能的实现方式中,第二损失函数的目的最小化路径左右流向同一节点的计算误差,使得在嵌入空间中更高维度的关系矩阵内,左边计算后的词向量尽可能与右边计算的词向量相等。即通过第二损失函数可以最小化路径两端流向同一节点的误差,可以解决复杂关系中路径两端流向同一节点的问题。
可选地,在第一方面的一种可能的实现方式中,上述步骤损失函数还包括第三损失函数,第三损失函数用于指示第一实体的计算词向量与第一实体的真实词向量的差值,和/ 或用于指示第二实体的计算词向量与第二实体的真实词向量的差值。
该种可能的实现方式中,第三损失函数可以通过最小化三元组头尾两个节点的向量映射到用一个关系空间的误差,可以解决复杂关系中,单个三元组存在一对多,多对一的问题。
本申请实施例第二方面提供了一种推荐方法,该方法可以由推荐装置执行,也可以由推荐装置的部件(例如处理器、芯片、或芯片系统等)执行。该方法包括:获取知识图谱、第一标识以及第二标识,知识图谱中包括多个用于指示物品的第一实体和多个用于指示物品属性的第二实体,第一标识指示待推荐物品,第二标识指示用户历史记录涉及的物品或者物品属性,知识图谱中包括与第一标识对应的第一实体,以及与第二标识对应的第一实体或第二实体;基于知识图谱、第一标识以及第二标识运行神经网络,以得到评估结果,评估结果包括待推荐物品被推荐的概率,神经网络用于基于知识图谱中的至少一个第一方向和至少一个第二方向计算以得到评估结果,第一方向起始于与第一标识对应的第一实体,第二方向起始于与第二标识对应的第一实体或第二实体。
本申请实施例中,可以基于所述知识图谱、第一标识以及第二标识运行神经网络,以得到待推荐物品被推荐的概率,其中,神经网络用于基于知识图谱中的至少一个第一方向和至少一个第二方向计算以得到待推荐物品被推荐的概率,提供了一种新的推荐方法。在实际应用中,多个待推荐物品都会基于知识图谱的至少一个方向和至少第一第二方向计算,得到多个概率,然后基于概率排序,得到最终的评估结果。这样,可预设给出几个被推荐物品,所以能给出更准确的被推荐物品。
可选地,在第二方面的一种可能的实现方式中,上述步骤中的评估结果还包括,待推荐物品被推荐时,基于的知识图谱中的路径对应的概率,路径的一端为与第一标识对应的第一实体,路径的另一端为与第二标识对应的第一实体。
可选地,在第二方面的一种可能的实现方式中,上述步骤基于知识图谱、第一标识以及第二标识运行神经网络,以得到评估结果,包括:基于知识图谱、第一标识以及第二标识在知识图谱中提取多条路径,每条路径指示路径两端的实体之间的关联,每条路径的一端对应待推荐物品,另一端对应用户的历史记录涉及的物品或物品属性;将多条路径输入神经网络以对多个待推荐物品打分,以使神经网络得到评估结果,神经网络用于基于多条路径各自的第一方向和第二方向计算以得到概率,对于一条路径,第一方向是路径的一端指向路径的另一端,第二方向是路径的另一端指向路径的一端。
该种可能的实现方式中,可以通过多条路径输入神经网络以对多个待推荐物品打分,以使神经网络得到评估结果的方式,使得打分时考虑路径两个方向,相较于现有技术中只从单方向获得的评估结果更加准确。
可选地,在第二方面的一种可能的实现方式中,上述步骤基于知识图谱、第一标识以及与第二标识运行神经网络,以得到评估结果,包括:将知识图谱、第一标识以及第二标识输入神经网络;神经网络基于知识图谱、第一标识以及第二标识在知识图谱中提取多条路径,每条路径指示路径两端的实体之间的关联,每条路径的一端对应待推荐物品,另一端对应用户的历史记录涉及的物品或物品属性;基于多条路径各自的第一方向和第二方向对多条路径对应的多个待推荐物品打分,以使神经网络得到评估结果,对于一条路径,第一方向是路径的一端指向路径的另一端,第二方向是路径的另一端指向路径的一端。
该种可能的实现方式中,可以基于多条路径各自的第一方向和第二方向对多条路径对应的多个待推荐物品打分的方式,使得打分时考虑路径两个方向,相较于现有技术中只从单方向获得的评估结果更加准确。
可选地,在第二方面的一种可能的实现方式中,上述步骤第一方向与第一向量的方向一致,第二方向与第二向量的方向一致,对于一条路径,第一向量为从路径中,指示待推荐物品的第一实体,指向路径中,与指示待推荐物品的第一实体相邻的实体的向量,第二向量为从路径中,用户的历史记录涉及的物品的第一实体,指向路径中,与指示用户的历史记录涉及的物品的第一实体相邻的实体的向量,或者,第二向量为从路径中,用户的历史记录涉及的物品属性的第二实体,指向路径中,与用户的历史记录涉及的物品属性的第二实体相邻的实体的向量;基于多条路径各自的第一方向和第二方向对多条路径对应的多个待推荐物品打分,包括:分别计算每条路径的第一向量和第二向量汇集到每条路径包括的一个实体的概率。
该种可能的实现方式中,计算路径中左右两个流向的信息在嵌入空间内的重合概率,并计算出汇集节点的重合概率特征。该重合概率特征用来输出语义级的解释,即用户对某个实体节点的喜好程度。可以准确找到用户的兴趣点。
可选地,在第二方面的一种可能的实现方式中,上述步骤分别计算每条路径的第一向量和第二向量汇集到每条路径包括的一个实体的概率,包括:
可选地,在第二方面的一种可能的实现方式中,上述步骤神经网络是通过以训练样本作为神经网络的输入,以损失函数的值小于阈值为目标对神经网络进行训练得到,训练样本包括多条训练路径,或者训练样本包括用于训练的知识图谱、第一训练标识以及第二训练标识,第一训练标识指示的物品与第二训练标识指示的物品或物品属性为用户的历史物品涉及的物品或物品属性;损失函数包括第一损失函数,第一损失函数用于指示神经网络输出的评估结果与目标结果之间的差异,目标结果与用户的历史记录涉及的物品或物品属性相关。
该种可能的实现方式中,通过第一损失函数对神经网络进行训练,使得推荐结果更加准确,符合用户的喜好程度。
可选地,在第二方面的一种可能的实现方式中,上述步骤损失函数还包括第二损失函数,第二损失函数用于指示用于训练的知识图谱的训练路径中第一训练向量与第二训练向量之间词向量的差值,训练路径的两端对应用户的历史记录涉及的物品或物品属性。
该种可能的实现方式中,第二损失函数的目的最小化路径左右流向同一节点的计算误差,使得在嵌入空间中更高维度的关系矩阵内,左边计算后的词向量尽可能与右边计算的词向量相等。即通过第二损失函数可以最小化路径两端流向同一节点的误差,可以解决复杂关系中路径两端流向同一节点的问题。
可选地,在第二方面的一种可能的实现方式中,上述步骤损失函数还包括第三损失函数,第三损失函数用于指示第一实体的计算词向量与第一实体的真实词向量的差值,和/ 或用于指示第二实体的计算词向量与第二实体的真实词向量的差值。
该种可能的实现方式中,第三损失函数可以通过最小化三元组头尾两个节点的向量映射到用一个关系空间的误差,可以解决复杂关系中,单个三元组存在一对多,多对一的问题。
本申请实施例第三方面提供一种推荐装置,该推荐装置包括:获取单元,用于获取知识图谱,知识图谱中包括多个用于指示物品的第一实体和多个用于指示物品属性的第二实体;运行单元,用于基于知识图谱以及用户的信息运行神经网络,以得到推荐结果,用户的信息指示用户的历史记录涉及的物品或者物品属性,推荐结果包括被推荐物品,神经网络用于基于知识图谱中的至少一个第一方向和至少一个第二方向计算以得到推荐结果,第一方向起始于指示被推荐物品或者待推荐物品的第一实体,第二方向起始于指示用户的历史记录涉及的物品的第一实体,或者第二方向起始于指示用户的历史记录涉及的物品属性的第二实体。
可选地,在第三方面的一种可能的实现方式中,上述的推荐结果还包括对被推荐物品的解释,解释与一个第一方向和一个第二方向相关。
可选地,在第三方面的一种可能的实现方式中,上述通信装置的运行单元,具体用于基于知识图谱以及用户的信息,在知识图谱中提取多条路径,每条路径指示路径两端的实体之间的关联,每条路径的一端对应待推荐物品,另一端对应用户的历史记录涉及的物品或物品属性;运行单元,具体用于将多条路径输入神经网络以对多个待推荐物品打分,以使神经网络得到推荐结果,神经网络用于基于多条路径各自的第一方向和第二方向计算以得到推荐结果,对于一条路径,第一方向是路径的一端指向路径的另一端,第二方向是路径的另一端指向路径的一端。
可选地,在第三方面的一种可能的实现方式中,上述通信装置的运行单元,具体用于将知识图谱以及用户的信息输入神经网络;运行单元,具体用于神经网络基于知识图谱以及用户的信息,在知识图谱中提取多条路径,每条路径指示路径两端的实体之间的关联,每条路径的一端对应待推荐物品,另一端对应用户的历史记录涉及的物品或物品属性;运行单元,具体用于基于多条路径各自的第一方向和第二方向对多个待推荐物品打分,以使神经网络得到推荐结果,对于一条路径,第一方向是路径的一端指向路径的另一端,第二方向是路径的另一端指向路径的一端。
可选地,在第三方面的一种可能的实现方式中,上述的第一方向与第一向量的方向一致,第二方向与第二向量的方向一致,对于一条路径,第一向量为从路径中,指示待推荐物品的第一实体,指向路径中,与指示待推荐物品的第一实体相邻的实体的向量,第二向量为从路径中,用户的历史记录涉及的物品的第一实体,指向路径中,与指示用户的历史记录涉及的物品的第一实体相邻的实体的向量,或者,第二向量为从路径中,用户的历史记录涉及的物品属性的第二实体,指向路径中,与用户的历史记录涉及的物品属性的第二实体相邻的实体的向量;运行单元,具体用于对多条路径中的每条路径,都基于每条路径的第一向量和第二向量汇集到每条路径中的一个实体的概率对每条路径对应的待推荐物品打分,以得到被推荐物品。
可选地,在第三方面的一种可能的实现方式中,上述通信装置的运行单元,还用于基于多条路径各自的第一方向和第二方向分别对多条路径打分,以得到对推荐结果的解释,解释是对得到推荐结果的一条或多条路径所指示的两端的实体之间的关联的描述。
可选地,在第三方面的一种可能的实现方式中,上述的第一方向与第一向量的方向一致,第二方向与第二向量的方向一致,对于一条路径,第一向量为从路径中,指示待推荐物品的第一实体,指向路径中,与指示待推荐物品的第一实体相邻的实体的向量,第二向量为从路径中,用户的历史记录涉及的物品的第一实体,指向路径中,与指示用户的历史记录涉及的物品的第一实体相邻的实体的向量,或者,第二向量为从路径中,用户的历史记录涉及的物品属性的第二实体,指向路径中,与用户的历史记录涉及的物品属性的第二实体相邻的实体的向量;运行单元,具体用于分别计算每条路径的第一向量和第二向量汇集到每条路径包括的一个实体的概率,以得到对推荐结果的解释。
可选地,在第三方面的一种可能的实现方式中,上述通信装置的运行单元,具体用于通过如下公式分别计算每条路径的第一向量和第二向量汇集到每条路径包括的一个实体的概率:
可选地,在第三方面的一种可能的实现方式中,上述的神经网络是通过以训练样本作为神经网络的输入,以损失函数的值小于阈值为目标对神经网络进行训练得到,训练样本包括多条训练路径,或者训练样本包括用于训练的知识图谱、用于训练的用户的历史记录涉及的物品和/或物品属性,每条训练路径指示训练路径两端的实体之间的关联,每条训练路径的两端对应用户的历史记录涉及的物品或物品属性;损失函数包括第一损失函数,第一损失函数用于指示神经网络输出的推荐结果与目标结果之间的差异,目标结果与用户的历史记录涉及的物品或物品属性相关。
可选地,在第三方面的一种可能的实现方式中,上述的损失函数还包括第二损失函数,第二损失函数用于指示用于训练的知识图谱的训练路径中第一训练向量与第二训练向量之间词向量的差值,训练路径的两端对应用户的历史记录涉及的物品或物品属性。
可选地,在第三方面的一种可能的实现方式中,上述的损失函数还包括第三损失函数,第三损失函数用于指示第一实体的计算词向量与第一实体的真实词向量的差值,和/或用于指示第二实体的计算词向量与第二实体的真实词向量的差值。
本申请实施例第四方面提供一种推荐装置,该推荐装置包括:获取单元,用于获取知识图谱、第一标识以及第二标识,知识图谱中包括多个用于指示物品的第一实体和多个用于指示物品属性的第二实体,第一标识指示待推荐物品,第二标识指示用户历史记录涉及的物品或者物品属性,知识图谱中包括与第一标识对应的第一实体,以及与第二标识对应的第一实体或第二实体;运行单元,用于基于知识图谱、第一标识以及第二标识运行神经网络,以得到评估结果,评估结果包括待推荐物品被推荐的概率,神经网络用于基于知识图谱中的至少一个第一方向和至少一个第二方向计算以得到评估结果,第一方向起始于与第一标识对应的第一实体,第二方向起始于与第二标识对应的第一实体或第二实体。
可选地,在第四方面的一种可能的实现方式中,上述的评估结果还包括,待推荐物品被推荐时,基于的知识图谱中的路径对应的概率,路径的一端为与第一标识对应的第一实体,路径的另一端为与第二标识对应的第一实体。
可选地,在第四方面的一种可能的实现方式中,上述通信装置的运行单元,具体用于基于知识图谱、第一标识以及第二标识在知识图谱中提取多条路径,每条路径指示路径两端的实体之间的关联,每条路径的一端对应待推荐物品,另一端对应用户的历史记录涉及的物品或物品属性;运行单元,具体用于将多条路径输入神经网络以对多个待推荐物品打分,以使神经网络得到评估结果,神经网络用于基于多条路径各自的第一方向和第二方向计算以得到概率,对于一条路径,第一方向是路径的一端指向路径的另一端,第二方向是路径的另一端指向路径的一端。
可选地,在第四方面的一种可能的实现方式中,上述通信装置的运行单元,具体用于将知识图谱、第一标识以及第二标识输入神经网络;运行单元,具体用于神经网络基于知识图谱、第一标识以及第二标识在知识图谱中提取多条路径,每条路径指示路径两端的实体之间的关联,每条路径的一端对应待推荐物品,另一端对应用户的历史记录涉及的物品或物品属性;运行单元,具体用于基于多条路径各自的第一方向和第二方向对多条路径对应的多个待推荐物品打分,以使神经网络得到评估结果,对于一条路径,第一方向是路径的一端指向路径的另一端,第二方向是路径的另一端指向路径的一端。
可选地,在第四方面的一种可能的实现方式中,上述的第一方向与第一向量的方向一致,第二方向与第二向量的方向一致,对于一条路径,第一向量为从路径中,指示待推荐物品的第一实体,指向路径中,与指示待推荐物品的第一实体相邻的实体的向量,第二向量为从路径中,用户的历史记录涉及的物品的第一实体,指向路径中,与指示用户的历史记录涉及的物品的第一实体相邻的实体的向量,或者,第二向量为从路径中,用户的历史记录涉及的物品属性的第二实体,指向路径中,与用户的历史记录涉及的物品属性的第二实体相邻的实体的向量;运行单元,具体用于分别计算每条路径的第一向量和第二向量汇集到每条路径包括的一个实体的概率。
可选地,在第四方面的一种可能的实现方式中,上述通信装置的运行单元,具体用于通过下述公式分别计算每条路径的第一向量和第二向量汇集到每条路径包括的一个实体的概率:
可选地,在第四方面的一种可能的实现方式中,上述的神经网络是通过以训练样本作为神经网络的输入,以损失函数的值小于阈值为目标对神经网络进行训练得到,训练样本包括多条训练路径,或者训练样本包括用于训练的知识图谱、第一训练标识以及第二训练标识,第一训练标识指示的物品与第二训练标识指示的物品或物品属性为用户的历史物品涉及的物品或物品属性;损失函数包括第一损失函数,第一损失函数用于指示神经网络输出的评估结果与目标结果之间的差异,目标结果与用户的历史记录涉及的物品或物品属性相关。
可选地,在第四方面的一种可能的实现方式中,上述的损失函数还包括第二损失函数,第二损失函数用于指示用于训练的知识图谱的训练路径中第一训练向量与第二训练向量之间词向量的差值,训练路径的两端对应用户的历史记录涉及的物品或物品属性。
可选地,在第四方面的一种可能的实现方式中,上述的损失函数还包括第三损失函数,第三损失函数用于指示第一实体的计算词向量与第一实体的真实词向量的差值,和/或用于指示第二实体的计算词向量与第二实体的真实词向量的差值。
本申请实施例第五方面提供了一种推荐装置,该推荐装置或推荐装置的部件(例如处理器、芯片或芯片系统)执行前述第一方面或第一方面的任意可能的实现方式中的方法。
本申请实施例第六方面提供了一种推荐装置,该推荐装置或推荐装置的部件(例如处理器、芯片或芯片系统)执行前述第二方面或第二方面的任意可能的实现方式中的方法。
本申请实施例第七方面提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,该指令在计算机上执行时,使得计算机执行前述第一方面或第一方面的任意可能的实现方式、第二方面或第二方面的任意可能的实现方式中的方法。
本申请实施例第八方面提供了一种计算机程序产品,该计算机程序产品在计算机上执行时,使得计算机执行前述第一方面或第一方面的任意可能的实现方式、第二方面或第二方面的任意可能的实现方式中的方法。
本申请实施例第九方面提供了一种推荐装置,包括:处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得该装置实现上述第一方面或第一方面的任意可能的实现方式中的方法。
本申请实施例第十方面提供了一种推荐装置,包括:处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得该装置实现上述第二方面或第二方面的任意可能的实现方式中的方法。
其中,第三、第五、第七、第八、第九方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面不同可能实现方式所带来的技术效果,此处不再赘述。
其中,第四、第六、第七、第八、第十方面或者其中任一种可能实现方式所带来的技术效果可参见第二方面或第二方面不同可能实现方式所带来的技术效果,此处不再赘述。
从以上技术方案可以看出,本申请实施例具有以下优点:获取知识图谱,并基于知识图谱以及用户的信息运行神经网络,以得到推荐结果。相较于现有技术中只从用户的历史记录为起点计算(即现有技术中计算推荐结果是从单方向进行计算)得到的推荐结果。本发明基于知识图谱中的至少一个第一方向和至少一个第二方向计算以得到推荐结果,提供了一种新的推荐方法,从两个方向进行计算,能够得到更为精准的推荐结果,即提升推荐结果的精准率和/或召回率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种推荐网络架构示意图;
图2为本申请实施例提供的产品实现的架构示意图;
图3为本申请实施例提供的另一种系统架构示意图;
图4为本申请实施例提供的推荐网络的一种结构示意图;
图5为本申请实施例提供的一种神经网络处理器的结构示意图;
图6为本申请实施例提供的推荐网络的一种结构示意图;
图7为本申请实施例提供的电影推荐场景下路径的一种结构示意图;
图8为本申请实施例提供的推荐方法一个流程示意图;
图9为本申请实施例提供的推荐方法另一个流程示意图;
图10为本申请实施例提供的电影推荐场景下路径的另一种结构示意图;
图11为本申请实施例提供的游戏推荐场景下的图谱展示示意图;
图12为本申请实施例提供的推荐网络与现有推荐模型对于精准率的对比结果示意图;
图13为本申请实施例提供的推荐网络与现有推荐模型对于召回率的对比结果示意图;
图14-图16为本申请实施例中推荐装置的几种结构示意图。
具体实施方式
本申请实施例提供了一种推荐方法、推荐网络以及相关设备,可以基于知识图谱以及用户的信息运行神经网络,以得到推荐结果,其中,神经网络用于基于知识图谱中的至少一个第一方向和至少一个第二方向计算以得到推荐结果,提供了一种新的推荐方法,能够得到更为精准的推荐结果,即提升推荐结果的精准率和/或召回率。可以应用在电影推荐、游戏推荐等向用户推荐物品的场景。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
本申请实施例提供的推荐方法能够应用在电影推荐、商品推荐、音乐推荐、饭店推荐、书籍推荐、网页推荐等需要推荐物品的场景。下面对电影推荐场景和游戏推荐场景进行简单的描述。
一、电影推荐场景。
通过本实施例提供的推荐方法,神经网络进行双向传导计算(下面详细介绍)得出,当一个用户是陈凯歌的影迷,同时又是张国荣的粉丝,那么,为他推荐电影《霸王别姬》会大幅度提升用户对推荐结果的满意度。
二、游戏推荐场景。
在为用户进行游戏推荐的场景,例如:推荐命中的游戏军团要塞2(《TeamFortress 2》)与用户历史玩过的记录之间存在众多复杂的关系。
下面对本申请实施例涉及到的一些术语或概念进行解释,以便于本领域技术人员理解。
1、神经网络。
神经网络可以是由神经单元组成的,神经单元可以是指以Xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为Xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
2、深度神经网络。
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。当然,深度神经网络也可能不包括隐藏层,具体此处不做限定。
深度神经网络中的每一层的工作可以用数学表达式来描述:从物理层面深度神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合) 的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括: 1、升维/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由完成,4的操作由完成,5的操作则由α()来实现。这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合。其中,W是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量W决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重W 控制着如何变换空间。训练深度神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
3、损失函数。
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(lossfunction)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
4、词向量(Embedding)。
词向量也可以称为“词嵌入”、“向量化”、“向量映射”、“嵌入”等。从形式上讲,词向量是用一个稠密的向量表示一个对象,例如:用向量表示用户身份证标识号 (identitydocument,ID)、物品ID等。
5、知识图谱(knowledge graph,KG)。
知识图谱是一种语义网络,知识图谱中包含多个实体以及实体之间的关系。实体是知识图谱中的最基本元素,其中,实体可以分为第一实体以及第二实体,第一实体是用于指示物品的实体,第二实体是用于指示物品属性的实体。一种实现方式下,与第一实体直接相连的是第二实体,即第一实体和第二实体是交错排布的。
物品:是具有可区别性且独立存在的某种事物。如某一个城市、某一种商品、某一部电影、某一部游戏等等。
物品属性:可以看做是对物品的描述、解释、内容、属性等。一般情况下,物品属性的实体与物品的实体直接相连的一跳节点。例如:在电影推荐场景,《霸王别姬》的电影类型是历史,其中,《霸王别姬》相当于第一实体,用于指示电影,历史相当于第二实体,用于指示电影的属性,电影类型是第一实体与第二实体之间的关系。
6、三元组。
计算机数据结构里的概念。主要用来存储稀疏矩阵的一种压缩方式,也叫三元组表。例如:三元组包括:实体1(可以称为节点)、实体1与实体2的关系(也可以称为边)、实体2(可以称为节点)组成一个三元组存储在计算机中。
7、知识表示(KG Embedding)。
主要是把知识图谱中的实体(entities)和关系(relations)嵌入(embed)到一个连续向量空间里面。
8、交叉熵。
交叉熵是深度学习中常用的概念,一般用来求目标值与预测值之间的差距,经常使用交叉熵作为神经网络的损失函数。
9、L2范数。
又称为欧几里得范数,表示从原点出发到向量X确定的点的欧几里得距离。
10、接收者操作特征曲线(receiver operating characteristic curve,ROC)曲线下的面积(area under curve,AUC)。
AUC是衡量学习器优劣的一种性能指标,可以量化ROC曲线表达的分类能力。这种分类能力是与概率、阈值紧密相关。AUC越大,那么输出概率越合理,排序的结果越合理。
11、推荐精准率。
推荐精准率=推荐出的正确信息条数/推荐出的信息条数。
12、推荐召回率。
推荐召回率=推荐出的正确信息条数/样本中的信息条数。
本申请实施例中具有推荐功能的神经网络,也可以理解为推荐网络,为了和原始的神经网络区分开,下面将具有推荐功能的神经网络更换为推荐网络进行描述。
为了更好地理解本申请实施例公开的一种推荐方法、推荐网络以及相关设备,下面先对本发明实施例所使用的系统架构进行描述。参见附图1,本发明实施例提供了一种推荐网络架构100。
本申请提供的推荐方法可以应用于推荐网络架构100的传导计算和损失函数模块中。推荐网络架构是面向推荐系统的神经网络训练的通用框架,最近几年应用越来越广泛。
传导计算模块为了解决数据在嵌入空间计算过程中,如何通过双向传导的方式得到精确性高的推荐结果,采取了基于知识图谱和用户的信息运行推荐网络,以得到推荐结果,该推荐结果包括被推荐物品(或者被推荐物品的标识)。
本申请提供的推荐网络可以是神经网络,具体可以是深度神经网络。
可选地,传导计算模块还可以解决在数据在嵌入空间计算过程中,如何获取高语义性的解释信息的问题,采取了路径作为输入并且从路径的两端双向传导计算的方式,在节点的汇集处计算出高语义性的解释。
损失函数模块解决了推荐网络训练过程中,推荐准确性无法保障的问题。本申请新增了路径损失函数和节点损失函数,使模型快速收敛的同时极大的提高推荐精准率、召回率等性能指标,提升推荐结果以及解释的可靠性。
知识图谱模块用于构建知识图谱或获取现有的知识图谱,关于知识图谱的描述可以参照前面的描述。
新增用户处理模块用于在没有新增用户的历史记录等信息时,可以通过一些策略(例如:随机法),先向用户推荐一些物品,快速得到反馈信息后(例如:用户点击的物品 ID、物品属性等节点信息)。然后,将这些数据输入到网络以便更精准的推荐。
数据获取模块用于获取用户的信息,用户的信息指示用户的历史记录涉及的物品(也可以称为历史物品)或者物品属性(也可以称为历史物品属性)。
可选地,该数据获取模块还可以用于获取用户信息、物品信息以及相关的外部知识,该外部知识包括但不限于物品的属性信息(例如:电影的导演、演员、类型;游戏的开发商、运营商、分类;新闻的构成要素、何时、何地、何人等)、用户维度的特征(例如:用户的年龄、职业等)。用来构建知识图谱。
数据存储模块用于存储上述涉及到的相关数据,具体此处不做限定。
请参阅图2,图2为本申请实施例中产品实现的架构示意图,该产品可以包含在推荐网络架构中,并且可以部署在服务器硬件上的程序代码。以图1所示的推荐网络架构为例,本申请的程序代码可以存在于推荐网络中,程序运行时,本申请的程序代码可以运行与服务器的主机存储和加速硬件{图形处理器(graphic processing unit,GPU)、现场可编辑逻辑门阵列(field programmable gate array,FGPA)或专用芯片}内存。推荐装置为本申请提供的装置,用于输入数据,输出推荐物品和/或输出解释。
参见附图3,本发明实施例提供了另一种系统架构300。如所述系统架构300所示,数据采集设备360用于采集训练样本,本申请实施例中训练样本包括多条训练路径;或者训练样本包括用于训练的知识图谱、第一训练标识以及第二训练标识,第一训练标识指示的物品与第二训练标识指示的物品或物品属性为用户的历史物品指示的物品或物品属性;或者训练样本包括用于训练的知识图谱、用于训练的用户的历史记录涉及的物品和/ 或物品属性,每条训练路径指示训练路径两端的实体之间的关联,每条训练路径的两端对应用户的历史记录涉及的物品或物品属性。并将训练样本存入数据库330,训练设备 320基于数据库330中维护的训练样本训练得到目标模型/规则301。该目标模型/规则301 能够用于实现本申请实施例提供的推荐方法,即,基于知识图谱以及用户的信息运行推荐网络,以得到推荐结果,该推荐结果包括被推荐物品,用户的信息指示用户的历史记录涉及的物品或者物品属性。进一步的,推荐结果还可以包括该被推荐物品的解释。本申请实施例中的目标模型/规则301具体可以为推荐网络,或称为神经网络,在本申请提供的实施例中,该推荐网络是通过训练训练样本得到的。需要说明的是,在实际的应用中,所述数据库330中维护的训练样本不一定都来自于数据采集设备360的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备320也不一定完全基于数据库 330维护的训练数据进行目标模型/规则301的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备320训练得到的目标模型/规则301可以应用于不同的系统或设备中,如应用于图3所示的执行设备310,所述执行设备310可以是终端,如手机终端,平板电脑,笔记本电脑,车载终端等,还可以是服务器或者云端等。在附图3中,执行设备310 配置有I/O接口312,用于与外部设备进行数据交互,用户可以通过客户设备340向I/O 接口312输入数据,在本申请实施例中输入的数据可以包括:多条路径;输入的数据也可以包括知识图谱以及用户的信息;输入的数据还可以包括知识图谱。第一标识以及第二标识,其中,第一标识指示待推荐物品,第二标识指示用户历史记录涉及的物品或者物品属性,输入的数据也可以来自数据库,具体此处不做限定。
预处理模块313用于根据I/O接口312接收到的输入数据进行预处理,在本申请实施例中,预处理模块313可以用于随机向用户推荐一些物品,再根据用户的反馈,确定历史物品(也可以理解为,历史物品是用户的历史记录涉及的物品)。预处理模块313可以用于基于知识图谱以及用户的信息,在知识图谱中提取多条路径,并将提取出的路径发送给计算模块311。
在执行设备310对输入数据进行预处理,或者在执行设备310的计算模块311执行计算等相关的处理过程中,执行设备310可以调用数据存储系统350中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统350中。
最后,I/O接口312将处理结果,如上述得到的推荐结果返回给客户设备340,从而提供给用户。
值得说明的是,训练设备320可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则301,该相应的目标模型/规则301即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在附图3中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口 312提供的界面进行操作。另一种情况下,客户设备340可以自动地向I/O接口312发送输入数据,如果要求客户设备340自动发送输入数据需要获得用户的授权,则用户可以在客户设备340中设置相应权限。用户可以在客户设备340查看执行设备310输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备340也可以作为数据采集端,采集如图所示输入I/O接口312的输入数据及输出I/O接口312的输出结果作为新的样本数据,并存入数据库330。当然,也可以不经过客户设备340进行采集,而是由I/O 接口312直接将如图所示输入I/O接口312的输入数据及输出I/O接口312的输出结果,作为新的样本数据存入数据库330。
值得注意的是,附图3仅是本发明实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图3中,数据存储系统 350相对执行设备310是外部存储器,在其它情况下,也可以将数据存储系统350置于执行设备310中。
如图3所示,根据训练设备320训练得到目标模型/规则301,该目标模型/规则301在本申请实施例中可以是推荐网络,具体的,在本申请实施例提供的推荐网络可以是深度神经网络。
下面介绍本申请实施例提供的一种芯片硬件结构。
图4为本发明实施例提供的一种芯片硬件结构,该芯片包括神经网络处理器40。该芯片可以被设置在如图3所示的执行设备310中,用以完成计算模块311的计算工作。该芯片也可以被设置在如图3所示的训练设备320中,用以完成训练设备320的训练工作并输出目标模型/规则301。
神经网络处理器40可以是神经网络处理器(neural-network processing unit,NPU),张量处理器(tensor processing unit,TPU),或者图形处理器(graphicsprocessing unit,GPU)等一切适合用于大规模异或运算处理的处理器。以NPU为例:神经网络处理器NPU40作为协处理器挂载到主中央处理器(central processing unit,CPU)(hostCPU) 上,由主CPU分配任务。NPU的核心部分为运算电路403,控制器404控制运算电路403提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路403内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路403是二维脉动阵列。运算电路403还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路403是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器402中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器401 中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器408accumulator中。
向量计算单元407可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元407可以用于神经网络中非卷积/非 FC层的网络计算,如池化(Pooling),批归一化(Batch Normalization),局部响应归一化(Local Response Normalization)等。
在一些实现种,向量计算单元能407将经处理的输出的向量存储到统一缓存器406。例如,向量计算单元407可以将非线性函数应用到运算电路403的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元407生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路403的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器406用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器(direct memory access controller,DMAC) 405将外部存储器中的输入数据搬运到输入存储器401和/或统一存储器406、将外部存储器中的权重数据存入权重存储器402,以及将统一存储器506中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU)410,用于通过总线实现主CPU、DMAC和取指存储器409之间进行交互。
与控制器404连接的取指存储器(instruction fetch buffer)409,用于存储控制器404使用的指令。
控制器404,用于调用指存储器409中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器406,输入存储器401,权重存储器402以及取指存储器409均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random accessmemory,DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
下面结合附图对本申请实施例的推荐网络的训练方法和推荐方法进行详细的介绍。
首先,结合图5对本申请实施例的推荐网络的训练方法进行详细介绍。图5所示的方法可以由推荐网络的训练装置来执行,该推荐网络的训练装置可以是云服务设备,也可以是终端设备,例如,电脑、服务器等运算能力足以用来执行推荐网络的训练方法的装置,也可以是由云服务设备和终端设备构成的系统。示例性地,该训练方法可以由图3中的训练设备320、图4中的神经网络处理器40执行。
可选地,该训练方法可以由CPU处理,也可以由CPU和GPU共同处理,也可以不用GPU,而使用其他适合用于神经网络计算的处理器,本申请不做限制。
该训练方法包括步骤501与步骤502。下面对步骤501与步骤502进行详细说明。
步骤501、获取训练样本。
本申请实施例中的训练样本有多种情况,下面分别描述:
1、训练样本包括多条训练路径。
其中,每条训练路径指示训练路径两端的实体之间的关联,每条训练路径的两端对应用户的历史记录涉及的物品或物品属性。
本申请实施例中,用户的历史记录的正向事件中涉及的物品或物品属性可以理解为用户曾经在正向事件中涉及过的第一实体或第二实体指示的物品或物品属性。其中正向事件是指,用户在该事件中没有明确表示出否定或负向意愿(也就是不喜欢,不感兴趣,不愿关注),或者表示出关注、喜欢、感兴趣等正向意愿。比如,用户点击、转发、关注、评论、激励(如投币、点赞)、收藏、浏览和浏览时间超过阈值时间的物品或物品属性,都是正向事件,而用户点击“踩”,点击“不想看到”,点击“不感兴趣”,选择“不出现在我的主页”就是负向事件,这种历史记录涉及的物品或者物品属性要剔除,要避免被输入。
2、训练样本包括用于训练的知识图谱、用于训练的用户的历史记录涉及的物品或物品属性。
可选地,训练的知识图谱和具体推荐过程中的知识图谱可以相同或不同,具体此处不做限定。
可选地,训练知识图谱包括多个三元组,该多个三元组通过相同实体连接。
3、训练样本包括用于训练的知识图谱、第一训练标识、第二训练标识。
其中,第一训练标识指示的物品与第二训练标识指示的物品或物品属性为用户的历史物品涉及的物品(可以成为历史物品)或物品属性(也可以称为历史物品属性)。
本申请实施例中的标识(第一标识、第二标识、第一训练标识、第二训练标识)可以是ID,也可以是名称等,具体此处不做限定。
本申请实施例中训练样本的情况有多种,上面几种指示举例,可以理解的是,在实际应用中,可以根据需要对训练样本进行适应性调整,具体此处不做限定。
本申请实施例中的物品(待推荐物品、被推荐物品、用于训练的用户的历史记录涉及的物品)可以是电影、游戏、音乐、新闻等,具体此处不做限定。
本申请实施例中两个实体之间的关系可以是电影的类型、主演、导演、编剧等,还可以是游戏的开发商、发行商、运行平台、游戏类型、发型年份等,也可以是音乐的歌手、编曲、作词等,具体此处不做限定。
步骤502、以训练样本作为推荐网络的输入,以损失函数的值小于第一阈值为目标对推荐网络进行训练,得到训练好的推荐网络。
本申请实施例提供的推荐网络可以是独立的自带解释信息的推荐系统,也可以是为已有推荐系统输出解释信息。即本申请实施例提供的推荐网络可以输出被推荐物品的解释,其中,该被推荐物品可以是通过现有推荐系统输出的被推荐物品。当然,本申请实施例提供的推荐网络还可以输出被推荐物品的分值以及对被推荐物品或待推荐物品的解释。
本申请实施例中的推荐网络的结构可以参考图6,本申请提供的一种推荐网络的结构可以包括双向传导(或者称为双向传导计算)。
双向传导可以理解为从至少一个第一方向和至少一个第二方向计算以得到推荐结果 (具体计算过程详见图8、图9所示实施例)。该第一方向起始于指示被推荐物品或待推荐物品的第一实体。该第二方向起始于指示用户的历史记录涉及的物品的第一实体;或者该第二方向起始于指示用户的历史记录涉及的物品属性的第二实体。
进一步的,基于多条路径各自的第一方向和第二方向对多个待推荐物品打分,根据需要选择TOPK作为被推荐物品,K为大于1的整数。
示例性的,K为2,则确定多个待推荐物品中前两个分值对应的待推荐物品为被推荐物品。
可选地,双向传导还可以理解为从路径的左右两个端点开始想中间节点逐步计算。该路径是基于知识图谱以及用户的信息,在知识图谱中提取的。
可选地,路径的一端对应待推荐物品,路径的另一端对应用户的历史记录涉及的物品(也可以理解为历史物品)或物品属性。中间节点可以是物品或物品属性,具体此处不做限定。
本申请实施例中,用户的信息可以包括用户ID、用户点击过的物品(也可以理解为历史物品)或物品属性、用户的年龄、职业等与用户相关的信息。
可选地,双向传导还可以基于多条路径各自的第一方向和第二方向分别对多条路径打分,以得到对推荐结果的解释。
进一步的,基于多条路径各自的第一方向和第二方向对多条路径打分,根据需要选择TOPK作为被推荐物品,K为大于1的整数。
本申请实施例中,对于一条路径,第一方向是路径的一端指向路径的另一端,第二方向是路径的另一端指向路径的一端。其中,路径的一端对应待推荐物品,路径的另一端对应历史物品或历史物品属性。
示例性的,K为2,则确定多个路径中前两个分值对应的路径作为对推荐结果的解释,或者确定多个路径中左右方向的汇集点对应的概率中前两个概率,作为对推荐结果的解释。
进一步的,计算路径中左右两个流向的信息在嵌入空间内的重合概率,并计算出汇集节点的重合概率特征。该重合概率特征用来输出语义级的解释,即用户对某个实体节点的喜好程度。即计算两个流向的向量汇集到一起的概率。表示为待推荐物品与用户历史的记录(用户点击过的物品或物品属性)之间被激活连接的概率(概率越大,越显著)。这样做的目的就是为了找到用户的兴趣点。例如:用户A历史观看过10部电影中的其中8 部都是由演员周星驰出演的,那么在这种情况下,路径中包含节点“周星驰”的概率就会显著。该重合概率可以作为被推荐物品的解释,即路径中带有语义的实体节点(也可以理解为是物品属性对应的第二实体),可用来描述用户的潜在喜好(如:电影的导演名字,书的类型等)。这些属性节点的词向量,与对应的激活路径的概率做运算(如:相乘等),就可以得出单条路径的反馈信息(例如:反馈信息=概率值*周星驰在嵌入空间的词向量,即反馈信息可以是v*概率值p)。
图6中的v表示推荐物品,一个配对块对应一个历史物品i,待推荐物品v与多个历史物品(i1、i2、...、in)之间有多个配对块(配对块1、配对块2、...、配对块n),一个历史物品i与待推荐物品v之间有m条路径,每条路径包括多个实体e以及实体e之间的关系R,其中,e可以是用于指示物品的第一实体,也可以是用于指示物品属性的第二实体,m为大于1的整数。
下面以图6中的配对块1为例介绍双向传导计算。
配对块1对应历史物品i1、与待推荐物品v之间包括m条路径,其中第一条路径包括:v-R1st-e1-R2nd-...-e-Rend-i1,第二条路径包括:v-R1st-e2-R2nd-...-e-Rend-i1,第m条路径包括:v-R1st-em-R2nd-...-e-Rend-i1。R1st表示推荐物品v与实体e1之间的关系矩阵,R2nd表示实体e1与其他实体e之间的关系矩阵,Rend表示其他实体e与历史物品i1之间的关系矩阵。对于配对块1中的第一条路径来说,计算第一条路径的双向传导计算,相当于计算第一条路径中左右两个流向的向量汇集到一起的概率,即从第一条路径中的待推荐物品v以及历史物品i1流向中间实体的概率。
可选地,由于一条路径对应一个概率,因此,该概率可以作为路径的分值,根据TOPK的需要对分值从高到低选取,以得到被推荐物品的解释。计算概率所用的分母可以是一个配对块中m条路径对应的m个概率之和,当然,为了避免只有单一路径导致概率为100%,影响后续推荐的准确性,计算概率的分母也可以是n个配对块中n*m条路径对应的n*m个概率之和,具体此处不做限定。
本申请实施例中的解释可以是概率,也可以是对得到被推荐物品的一条或多条路径所指示的两端的实体之间的关联的描述。
其中,R2nd也可以为Rend,e2为em,即一条路径至少包括三个实体(v、e、i)以及两个关系矩阵(R1st、Rend)。一个配对块对应一个u,求的各个配对块的u之后,可以直接相加或累积加权求和得到用户的反馈词向量u。
本申请实施例中待推荐物品的分值仅以待推荐物品与反馈词向量的距离(即)为例进行示例性说明,可以理解的是,待推荐物品的分值也可以是一个配对块对应的u,待推荐物品的分值还可以是多个配对块相加后得到的反馈词向量等,具体此处不做限定。
可选地,一个配对块对应一个u,因此,该u可以作为待推荐物品的分值,根据TOPK的需要对分值从高到低进行选取,以得到被推荐物品。当然,也可以将多个配对块对应的u相加得到的反馈词向量作为分值来选取被推荐物品,具体此处不做限定。
示例性的,推荐物品v与配对块1的路径如图7所示,待推荐物品v为《百变星君》,关系矩阵R1st包括:主演的关系矩阵和类型的关系矩阵,实体e1为周星驰,实体e2为吴孟达,实体e3为喜剧,关系矩阵Rend包括:主演的关系矩阵和类型的关系矩阵。即图7中的第一条路径包括:《百变星君》-主演-周星驰-主演-《整蛊专家》,第二条路径包括:《百变星君》-主演-吴孟达-主演-《整蛊专家》,第三条路径包括:《百变星君》-类型-喜剧-类型-《整蛊专家》。对于第一条路径的一端流向是《百变星君》通过关系(主演)流向周星驰,第一条路径的另一端流向是《整蛊专家》通过关系(主演)流向周星驰。
可选地,推荐网络还包括抽象用户权重以及待推荐物品的分值计算。其中,抽象用户权重用于计算用户的反馈词向量u。分值计算用于计算待推荐物品与反馈词向量u之间的距离(即该待推荐物品的分值)。进一步的,推荐网络可以根据待推荐物品的分值,从分值高至低为用户输出分值对应的待推荐物品(即被推荐物品),也可以根据TOPK的需要对分值从高到低进行选取,以得到被推荐物品。进一步的,抽象用户权重还可以用于更新推荐物品v的词向量,即p是配对块中多个路径概率最大的路径对应的概率。当然,p也可以设置为1,即不更新待推荐物品v的词向量,具体此处不做限定。
本申请实施例中的推荐结果可以包括待推荐物品,推荐结果还可以包括待推荐物品以及对待推荐物品的解释,当然,推荐结果还可以包括待推荐物品、对待推荐物品的解释以及待推荐物品对应的分值等,具体此处不做限定。
本申请实施例中,损失函数用于指示推荐网络的推荐结果与目标推荐结果之间的差异。在该情况下,以减小损失函数的值为目标对推荐网络进行训练,也就是不断缩小推荐网络的推荐结果与目标推荐结果之间的差异。该训练过程可以理解为推荐任务。损失函数可以理解为推荐任务对应的损失函数。
可选地,若推荐结果待推荐物品的分值,该分值用于描述用户对待推荐物品的喜好程度,分值越高代表用户越喜欢该待推荐物品,再根据TOPK的需要对分值从高到低进行选取,以得到被推荐物品。
可选地,若推荐结果包括待推荐物品的分值,该损失函数包括第一损失函数,该第一损失函数用于指示推荐网络输出的被推荐物品的计算分值与实际分值之间的差异,该实际分值为用户选择过的历史物品对应的分值,该计算分值为推荐网络输出的分值。
可选地,第一损失函数采用下述公式:
进一步的,损失函数还可以包括第二损失函数,该第二损失函数用于指示知识图谱中路径中第一训练向量与第二训练向量之间词向量的差值。对于一条训练路径,第一训练向量为从训练路径中,指示待推荐物品的第一实体,指向训练路径中,与指示待推荐物品的第一实体相邻的实体的向量,第二训练向量为从训练路径中,用户的历史记录涉及的物品的第一实体,指向训练路径中,与指示用户的历史记录涉及的物品的第一实体相邻的实体的向量,或者,第二训练向量为从训练路径中,用户的历史记录涉及的物品属性的第二实体,指向训练路径中,与用户的历史记录涉及的物品属性的第二实体相邻的实体的向量,在训练过程中,上述的待推荐物品也是用户点击过的物品。
可选地,该第一训练向量为路径中待推荐物品对应的第一实体指向相邻实体的向量,该第二训练向量为历史物品对应的第一实体指向相邻实体的向量,或者该第二训练向量为历史物品属性对应的第一实体指向相邻实体的向量。
换句话说,第二损失函数的目的最小化路径左右流向同一节点的计算误差,使得在嵌入空间中更高维度的关系矩阵内,左边计算后的词向量尽可能与右边计算的词向量相等。
示例性的,训练知识图谱中的两个三元组分别为“《霸王别姬》-主演-张国荣”以及“《霸王别姬》-主演-张丰毅”,这种情况下,就会导致中间实体“张国荣”与“张丰毅”不是同一实体,即中间实体无法对齐,导致推荐网络的训练很难收敛,因此引入第二损失函数,尽可能的使得第一训练向量与第二训练向量之间词向量的差异最小(即《霸王别姬》+“第一训练关系:主演”得到的向量与《阿飞正传》+“第一训练关系:主演”的向量尽可能相等,使得路径的计算正确,加速推荐网络的收敛)。
可选地,第二损失函数采用下述公式:
min L2=∑-lnσ(max|εim-ε’im|)。
其中,σ为激活函数,εim代表路径的一端流向中间实体(或相邻实体)的第一特征向量,ε’im代路径的另一端流向中间实体(或相邻实体)的第二特征向量,max代表取多维中差值最大的数,
可以理解的是,上述公式还可以有其他变形,例如:可以将max更换为avg(代表取多维中差值的平均数),εim更换为g(εim)等,其中g( )代表图谱计算,第二损失函数的具体公式还可以有其他变形,具体此处不做限定。
进一步的,损失函数还可以包括第三损失函数,该第三损失函数用于指示实体的计算词向量与实体的真实词向量的差值。其中,该实体包括指示物品的第一实体以及指示物品属性的第二实体。
延续上述举例,第三损失函数的目的是使三元组的头部《霸王别姬》与关系“主演”相加得到的向量与“张国荣”这个维度的向量尽可能相等。
可选地,第三损失函数采用下述公式:
min L3=∑-lnσ(sim-Mre)+X2;
其中,σ为激活函数,sim代表三元组中头部节点流向尾部节点得到尾部节点的计算词向量,sim可以理解为上述的第一训练向量或第二训练向量,Mre为尾部节点的实际词向量,X2为正则化函数,用于避免过拟合,可选地,X2为最小平方误差函数。
可以理解的是,上述公式还可以有其他变形,例如:可以将sim更换为g(sim), Mre更换为g(Mre),其中g()代表图谱计算,第三损失函数的具体公式还可以有其他变形,具体此处不做限定。
可选地,若损失函数包括第一损失函数,则损失函数的数值为第一损失函数的数值。若损失函数包括第一损失函数以及第二损失函数,则损失函数的值可以是第一损失函数的值与第二损失函数的值的和、平均值、加权平均值等,具体此处不做限定。同理,若损失函数包括第一损失函数、第二损失函数以及第三损失函数,则损失函数的值可以是第一损失函数的值、第二损失函数的值与第三损失函数的和、平均值、加权平均值等,具体确定损失函数的数值所采用的方式此处不做限定。
可选地,损失函数的数值可以如下述计算方式计算:
其中,λ1、λ2、λ3为可调系数,可以根据实际需要进行设置,具体此处不做限定。
一方面,本申请提供的推荐网络可以通过双向传导计算的方式,对待推荐物品打分,以得到被推荐物品。还可以对路径打分,以得到对待推荐物品的解释,即获取任意两个连接实体之间的语义信息的解释。另一方面,本申请实施例提供的损失函数可以使得推荐网络在训练过程中的精度有所提升(具体可参阅下述评估推荐网络以及表1对应的描述)。具体的,本申请实施例提供的第二损失函数可以通过最小化路径两端流向同一节点的误差,可以解决复杂关系中路径两端流向同一节点的问题。本申请实施例中的第三损失函数可以通过最小化三元组头尾两个节点的向量映射到用一个关系空间的误差,可以解决复杂关系中,单个三元组存在一对多,多对一的问题。
需要说明的是,训练过程也可以不采用前述方法而采用其他训练方法,此处不做限定。
下面结合附图对本申请实施例的推荐方法进行详细的介绍。
请参阅图8,本申请实施例中推荐方法一个实施例,该方法的执行主体可以是云服务设备,也可以是终端设备,例如,电脑、服务器等运算能力足以用来执行推荐方法的推荐装置,也可以是由云服务设备和终端设备构成的系统。示例性地,该方法的执行主体可以是图3中的执行设备310、图4中的神经网络处理器40。
可选的,该方法的执行主体可以是CPU,也可以是CPU和GPU,也可以不是GPU,而使用其他适合用于神经网络计算的处理器,具体此处不做限定。
本申请实施例中的推荐方法可以应用于电影推荐、游戏推荐、音乐推荐、新闻推荐等场景,具体此处不做限定,下面以电影推荐场景为例对本申请实施例提供的推荐方法进行描述。
该方法包括:
步骤801、获取知识图谱。
本申请实施例中的知识图谱包括多个用于指示物品的第一实体以及多个用于指示物品属性的第二实体。知识图谱可以是现有的知识图谱也可以是新构建的知识图谱,具体此处不做限定。
另外,对于知识图谱的描述可以参考前面的术语解释以及图1对应的描述,具体此处不再赘述。
本申请实施例中的知识图谱可以具有与用户历史记录关联的功能(也可以理解为,知识图谱可以区分知识图谱中的哪些物品是用户未点击过的,哪些物品是用户点击过的,即可以根据知识图谱直接选取路径),也可以不具有与用户历史记录关联的功能(也可以理解为,需要用户的标识、物品的标识以及知识图谱才能确定路径),具体此处不做限定。
本申请实施例中的知识图谱可以是针对一个用户构建的知识图谱,也可以是对多个用户构建的知识图谱,具体此处不做限定。
如果是新构建的知识图谱,先获取用户信息、物品信息(推荐物品以及历史物品)以及相关的外部知识,该外部知识包括但不限于物品的属性信息(例如:电影的导演、演员、类型;游戏的开发商、运营商、分类;新闻的构成要、何时、何地、何人等)、用户维度的特征(例如:用户的年龄分布、职业等)。当然,也可以对获取的以上信息进行筛选,即对不同用户进行分组推荐,例如:将用户的年龄分布相近的设为一组,从而提升推荐效率。其中,推荐物品为用户未点击过的物品(例如:用户未观看过的电影),历史物品为用户点击过的物品(例如:用户之前观看过的电影)。
可选地,如果是新增用户,可能物品信息较少,也可以采用一些策略(例如:随机法)先向用户推荐一些物品,得到反馈信息后,得到物品信息和/或物品的属性信息等。
可选地,获取上述信息之后,可以先构建三元组,然后将相同节点的三元组连接起来,构建一个用于推荐的知识图谱。
示例性的,一个三元组包括:电影名字:《霸王别姬》-关系:主演-实体:张国荣,另一个三元组包括:电影名字:《阿飞正传》-关系:主演-实体:张国荣。这两个三元组都有一个共同的实体节点(张国荣),则将这两个三元组通过张国荣连接起来。
步骤802、基于知识图谱以及用户的信息运行推荐网络,以得到推荐结果。
本步骤中使用的推荐网络可以是通过上述图5中的方法构建的,也可以是通过其他方式构建的,具体此处不做限定。
本申请实施例中,基于知识图谱以及用户的信息运行推荐网络有多种情况,下面分别描述:
第一种、以路径为输入运行推荐网络。
基于知识图谱以及用户的信息,在知识图谱中提取多条路径,每条路径指示路径两端的实体之间的关联。
可选地,将多条路径输入推荐网络以对多个待推荐物品打分,以使推荐网络得到推荐结果。
第二种、以知识图谱以及用户的信息为输入运行推荐网络。
将知识图谱以及用户的信息输入推荐网络,该推荐网络基于知识图谱以及用户的信息,在知识图谱中提取多条路径,每条路径指示路径两端的实体之间的关联。
可选地,用户的信息可以包括第一标识以及第二标识。第一标识指示待推荐物品,第二标识指示历史物品或者历史物品属性,知识图谱中包括与第一标识对应的第一实体,以及与第二标识对应的第一实体或第二实体。
可选地,基于多条路径各自的第一方向和第二方向对多个待推荐物品打分,以使推荐网络得到推荐结果。
可以理解的是,上述几种方式只是举例,在实际应用中,还可以有其他方式的输入,具体此处不做限定。
不管上述输入的方式有哪几种,上述多种方式的目的都是确定出多条路径,进而得到推荐结果,该推荐结果可以包括被推荐物品,该推荐结果也可以包括对被推荐物品的解释(也可以理解为评估结果),该推荐结果还可以包括被推荐物品以及对被推荐物品的解释,具体此处不做限定。
可选地,对多条路径中的每条路径,都基于每条路径的第一向量和第二向量汇集到每条路径中的一个实体的概率对每条路径对应的待推荐物品打分,以得到被推荐物品。
可选地,基于多条路径各自的第一方向和第二方向分别对多条路径打分,以得到对推荐结果的解释,解释是对得到推荐结果的一条或多条路径所指示的两端的实体之间的关联的描述。
下面结合图9说明如何基于多条路径得到推荐结果,请参阅图9,基于多条路径得到推荐结果可以包括以下几个步骤:
步骤8021、计算知识图谱中路径的第一向量以及第二向量。
其中,第一向量与第一方向的方向一致,第二向量与第二方向的方向一致,对于一条路径,第一向量为从路径中,指示待推荐物品的第一实体,指向路径中,与指示待推荐物品的第一实体相邻的实体的向量,第二向量为从路径中,历史物品的第一实体,指向路径中,与历史物品的第一实体相邻的实体的向量,或者,第二向量为从路径中,历史物品属性的第二实体,指向路径中,与历史物品属性的第二实体相邻的实体的向量。
为了方便描述,定义本申请实施例中用于指示物品的第一实体分为第一推荐实体和第一历史实体,即指示被推荐物品或者待推荐物品的第一实体为第一推荐实体,指示用户的历史记录涉及的物品的第一实体为第一历史实体。则路径包括第一推荐实体、第一关联实体、第一推荐实体与第一关联实体的第一关系、第二关联实体、第一历史实体、第一历史实体与第二关联实体之间的第二关系。其中,第一关联实体和/或第二关联实体可以是用于指示物品的实体或指示物品属性的实体,具体此处不做限定。
示例性的,以一个第一推荐实体,三个第一历史实体为例,如图10所示,第一推荐实体为《霸王别姬》,用户A的历史观看记录(即第一历史实体)包括:《阿飞正传》、《鸿门宴》、《梅兰芳》。《霸王别姬》与《阿飞正传》相连于一个实体(后续称为中间实体):港片以及张国荣,《霸王别姬》与《鸿门宴》有共同的中间实体:历史,《霸王别姬》与《梅兰芳》有共同的中间实体:陈凯歌和京剧。即第一关联实体与第二关联实体重合,第一关系分别为类型、主演、类型、导演、种类,第二关系分别为类型、主演、类型、导演、种类。结合前述图6可以理解,图10包括3个配对块,第一配对块与第三配对块分别包括两条路径,第二配对块包括1条路径,即图10包括5条路径:
第一条路径:《霸王别姬》-类型-港片-类型-《阿飞正传》。
第二条路径:《霸王别姬》-主演-张国荣-主演-《阿飞正传》。
第三条路径:《霸王别姬》-类型-历史-类型-《鸿门宴》。
第四条路径:《霸王别姬》-导演-陈凯歌-导演-《梅兰芳》。
第五条路径:《霸王别姬》-种类-京剧-种类-《梅兰芳》。
获取路径之后,可以确定路径中的第一向量与第二向量,该第一向量为路径中一端 (例如:第一推荐实体)指向中间实体的向量,该第二向量为路径中另一端(例如:第一历史实体)指向中间实体的向量。其中,该中间实体可以理解为与第一推荐实体相邻的实体或与第一历史实体相邻的实体,该中间实体为第一关联实体和/或第二关联实体。第一向量与第二向量可以是多维向量。
延续上述举例,对于第二条路径来说,第一向量可以为《霸王别姬》指向张国荣的向量,第二向量可以为《阿飞正传》指向张国荣的向量,此时,中间实体为张国荣。可以理解的是,第一向量还可以为《阿飞正传》指向张国荣的向量,第二向量还可以为《霸王别姬》指向张国荣的向量,即对于图10来说,左流向是第一方向,右流向是第二方向,或者左流向是第二方向,右流向是第一方向。下面以左流向是第一方向,右流向是第二方向为例进行示意性说明。
可选地,可以通过下述公式计算第一向量与第二向量。
其中,代表第一向量,代表第二向量,或者代表第二向量,代表第一向量;Mr代表推荐物品与中间实体对应的物品或物品属性的关系矩阵,τ代表推荐物品的词向量,代表推荐物品与中间实体对应的物品或物品属性之间关系的词向量,iu代表历史物品的词向量,代表历史物品与中间实体对应的物品或物品属性之间关系的词向量,m为大于0的整数,m的取值与路径的数量相同。下面以代表第一向量,代表第二向量为例进行说明。
可以理解的是,还可以通过其他公式计算第一向量与第二向量,具体此处不做限定。
延续上述图10的举例,则第一条路径的第一向量为:《霸王别姬》的词向量*类型的矩阵+类型的词向量,第一条路径的第二向量为:《阿飞正传》的词向量*类型的矩阵+类型的词向量。则第二条路径的第一向量为:《霸王别姬》的词向量*主演的矩阵+主演的词向量,第二条路径的第二向量为:《阿飞正传》的词向量*主演的矩阵+主演的词向量。则第三条路径的第一向量为:《霸王别姬》的词向量*类型的矩阵+类型的词向量,第三条路径的第二向量为:《鸿门宴》的词向量*类型的矩阵+类型的词向量。则第四条路径的第一向量为:《霸王别姬》的词向量*导演的矩阵+导演的词向量,第四条路径的第二向量为:《梅兰芳》的词向量*导演的矩阵+导演的词向量。则第五条路径的第一向量为:《霸王别姬》的词向量*种类的矩阵+种类的词向量,第五条路径的第二向量为:《梅兰芳》的词向量*种类的矩阵+种类的词向量。数学表达式如下:
步骤8022、分别计算每条路径的第一向量和第二向量汇集到每条路径包括的一个实体(也可以称为中间实体)的概率。
确定路径的第一向量与第二向量之后,计算第一向量与第二向量的映射关系重合到一起的概率(即第一向量与第二向量汇集到一起的概率),该概率可被抽象成用户维度的词向量,可以反映用户对中间实体的喜好程度。可以使用该概率值表示每条路径的重要程度。
可以理解的是,假设路径的节点数量为奇数,则中间实体为路径的中间节点,若路径的节点数为偶数,则中间实体可以是路径最中间两个节点中的任一个节点(一般确定中间两个节点中离推荐物品近的节点为中间实体)。
示例性的,用户看过10部电影中的其中8部都是由演员张国荣出演的,则在该种情况下,路径中包括节点“张国荣”的概率较大。
可选地,可以通过下述公式计算每条路径的第一向量和第二向量汇集到中间实体的概率。
其中,pm代表概率,代表第一向量,代表第二向量;exp代表以e 为底的指数函数,M为正整数,M代表待推荐物品与一个用户的历史记录涉及的物品或物品属性之间路径的数量(例如:图10中的3个M分别为2、1、2),其他参数的解释可以参照上述公式对应的解释,此处不再赘述。
可以理解的是,还可以通过其他公式计算第一向量与第二向量汇集到同一中间实体的概率,具体此处不做限定。
示例性的,结合前述图6以及延续上述图10的举例,计算配对块1中从《霸王别姬》通过电影的主演流向到“张国荣”这个节点;计算从用户观看的电影《阿飞正传》通过电影的主演流向张国荣这个节点,计算两个流向的信息汇集在“张国荣”的概率。
则第一向量与第二向量汇集到港片的概率p1的数学表达式如下:
或者,
可选地,上述分母如前述图6对应的描述类似,该分母可以是n个配对块中m条路径的概率之和(即分母的概率数量可以是n*m个),也可以是一个配对块中m条路径的概率之和(即分母的概率数量可以是m个),具体此处不做限定。由于图10的举例只是路径的部分,一个配对块只有一条路径的情况下,会导致概率不准确,因此,本步骤中计算概率的分母采用所有路径的概率之和为例进行示意性说明。
则第一向量与第二向量汇集到张国荣的概率p2的数学表达式如下:
则第一向量与第二向量汇集到历史的概率p3的数学表达式如下:
则第一向量与第二向量汇集到陈凯歌的概率p4的数学表达式如下:
则第一向量与第二向量汇集到京剧的概率p5的数学表达式如下:
计算第一向量与第二向量汇集到同一中间实体的概率,即得到待推荐物品的解释。示例性的,延续上述举例,解释可以包括:解释1:p1所对应的路径属性节点(港片),解释2:p2所对应的路径属性节点(张国荣)。
步骤8023、基于概率以及中间实体对应的词向量确定用户的反馈词向量。
可选地,计算第一向量与第二向量汇集到同一中间实体的概率之后,可以基于概率以及对应的中间实体的词向量确定用户的反馈词向量。换句话说,可以先汇总每组包含了用户喜好的特征值为用户的反馈词向量。
可选地,可以通过下述公式计算用户的反馈词向量。
其中,cn代表在一个配对块中推荐物品与第n个历史物品的反馈词向量,em代表中间实体的词向量,pm代表左向量与右向量汇集到同一中间实体的概率,u代表用户的反馈词向量,N为大于1的整数,N代表历史物品的数量。
可以理解的是,还可以通过其他公式计算用户的反馈词向量,具体此处不做限定。
示例性的,延续上述图10的举例,
c1=e1p1+e2p2;
c2=e3p3;
c3=e4p4+e5p5;
其中,e1为港片对应的词向量,e2为张国荣对应的词向量,e3为历史对应的词向量,e4为陈凯歌对应的词向量,e5为京剧对应的词向量,其他参数的解释可以参照上述公式对应的解释,此处不再赘述。
换句话说,路径中带有语义的实体节点,可用来描述用户的潜在喜好(如:电影的主演名字、电影类型、导演名字等)。这些属性节点的词向量,与对应路径的概率做运算(如:相乘等),就可以得出单条路径的反馈信息。
示例性的,延续上述图10的举例,得到概率之后,可以根据概率生成反馈信息,反馈信息可以包括:反馈信息1=p1*港片在嵌入空间的词向量,反馈信息2=p2*张国荣在嵌入空间的词向量等。
步骤8024、计算待推荐物品对应的词向量与反馈词向量之间的距离,以得到待推荐物品的分值。
可选地,还可以计算待推荐物品对应的词向量与反馈词向量之间的距离,得到待推荐物品的分值。
本申请实施例中,待推荐物品对应词向量与反馈词向量之间的距离可以通过向量点积、余弦值或相似度等方法进行计算,下面以向量点积为例。
可选地,可以通过下述公式计算待推荐物品对应的词向量与反馈词向量之间的距离:
可以理解的是,还可以通过其他公式计算待推荐物品对应的词向量与反馈词向量之间的距离,具体此处不做限定。
可选地,上述激活函数可以是SIGMOID函数,用来将分值限制在[0,1]之内。
其中,分值越小,代表待推荐物品与用户的反馈词向量越近,代表用户越喜欢该推荐物品。
为了方便理解,下面以词向量维度为10以及向量内积的计算方式对上述计算分值的过程进行举例描述:假设推荐电影集{《霸王别姬》、《小时代》、《星际穿越》},且推荐网络已完成训练词向量的权重。计算出以下词向量:
用户A的反馈词向量为[0.6626494,0.5364959,-0.05639589,0.621532,0.59782714,0.44225037,-0.5474265,0.589441,0.39717668,0.16018206]。
《霸王别姬》的词向量为[1.2724952,0.44506034,0.12865402,1.6125565,1.03306697,-0.01394547,-0.6698308,0.6348874,0.4119322,0.071924224]。
《小时代》的词向量为[-0.00414435,0.0892299,-0.004835337,0.8153024,0.37877557,-0.096624255,-0.34244198,0.44271728,0.42087126,0.5350623]。
《星际穿越》的词向量为[0.008653568,0.2210477,-0.04570025,0.640234,0.38816172,-0.13182494,-0.48932806,0.56698304,0.6465809,0.8148861]。
分值计算结果:
内积(用户A,霸王别姬):3.604461848204668。
内积(用户A,小时代):1.437129814068635。
内积(用户A,星际穿越):1.6879938602873226。
激活函数后的数值(即推荐分值):
A霸王别姬:0.9735182781851668。
A小时代:0.8080097931691103。
A星际穿越:0.8439601507627418。
步骤8025、基于待推荐物品的分值确定被推荐物品。
得到待推荐物品的分值之后,可以根据TOPK的需要对分值从高到低选取,以得到被推荐物品。
可选地,在获取推荐物品的分值之后,可以按照分值排序待推荐物品,若选用Top5,则在推荐电影集中选择分值排在前5的待推荐物品作为被推荐物品,并展示给用户。
示例性的,延续上述举例,则对用户A来讲,推荐物品的排序为:《霸王别姬》、《星际穿越》、《小时代》。如果是TOP1,则《霸王别姬》为被推荐物品。
步骤8026、基于概率得到对被推荐物品或待推荐物品的解释。本步骤是可选地。
得到路径的概率之后,该概率可被抽象成用户维度的词向量,输出该概率(即待推荐物品或被推荐物品的解释)。可以反映用户对中间实体的喜好程度。可以使用该概率的数值表示每条路径的重要程度。
可选地,还可以将对被推荐物品或待推荐物品的解释通过图谱的方式进行展示,以前述介绍的游戏推荐场景以及相关举例,得到如图11所示的图谱,该游戏推荐场景下的背景介绍请参阅表1:
表1
为用户A推荐命中的游戏名称 | 军团要塞2《Team Fortress 2》 |
用户A玩过的游戏名称 | 半条命、DOTA2等 |
知识图谱中的关系属性 | 游戏类型、游戏发行商、游戏属性等 |
知识图谱中的属性实体节点 | 动作类、1998、免费等 |
如图11所示,该用户A喜欢Valve公司的程度为21.1%,喜欢动作类型游戏的程度为 38.6%等,因此,为用户推荐游戏“军团要塞2”起到关键因素的两点是军团要塞2和用户玩过的游戏半条命同属于Valve公司开发的游戏,并且游戏类型都是动作类。当一款游戏同时具有这两个属性(Valve,动作类)的时候,用户A的喜好程度就会提升。
可选地,解释可以是概率,也可以是对得到推荐结果的一条或多条路径所指示的两端的实体之间的关联的描述。
示例性的,延续上述举例,若《霸王别姬》与《阿飞正传》在嵌入空间的距离非常相近。则可以生成如下解释语句:“为用户A推荐电影《霸王别姬》是因为它与用户观看过的电影《阿飞正传》非常相似,并且它们都是由明星张国荣主演。
步骤8027、基于分值评估被推荐物品的准确性。本步骤是可选地。
可选地,获取被推荐物品的分值后,可以基于该分值评估被推荐物品的准确性,也可以理解为基于该分值评估推荐网络的准确性。
本申请实施例中,基于分值评估被推荐物品的准确性有多种方式,下面分别描述:
1、精准率(precision)(即前述的推荐精准率)。
该精准率的计算方式如前面所述,推荐率=推荐出的正确信息条数/推荐出的信息条数。
具体过程:将用户观看过的历史物品不重复的分为训练集与测试集,该训练集用于前述图5所示实施例中的训练方法,测试集用于图6所示实施例中的推荐方法,并根据推荐出的正确信息条数(即TopK中正确的推荐物品,K为大于0的整数,K=1代表输出一个分值最高的待推荐物品,K=5代表输出五个分值排在前面的待推荐物品为被推荐物品)以及推荐出的信息条数(即K的数量)计算得到被推荐物品的精准率。
示例性的,用户看过的历史物品为40个,其中训练集包括30个,测试集包括10个。将100个待推荐物品输入推荐网络,若推荐出来的Top5中的4个被推荐物品为用户看过的历史物品,则精准率=4/5=0.8。
2、召回率(recall)(即前述的推荐召回率)。
该召回率的计算方式如前面所述,召回率=推荐出的正确信息条数/样本中的信息条数。
示例性的,延续上述计算精准率的例子,召回率为4/10=0.4。
3、AUC。
该AUC的具体描述如前面所述,计算ROC曲线下的面积。主要评估单个被推荐物品的正确性以及是否出现过拟合,通过二分类器以及阈值获知该单个被推荐物品是“真阳”还是“假阳”。
示例性的,阈值为0.5,若该被推荐物品在二分类器中的输出结果是0.7,即大于阈值,则该被推荐物品是正确的。若该被推荐物品在二分类器中的输出结果是0.3,即小于阈值,则该被推荐物品是不正确的。
可以理解的是,上述三种评估推荐网络的方式只是举例,实际应用中,还可以有其他的方式(例如:准确率)评估被推荐物品的准确性,具体此处不做限定。
本申请实施例中的评估方式可以应用于推荐网络的训练阶段(例如图5所示的训练方法),也可以应用于推荐网络的推理阶段(例如图6所示的推荐方法),具体此处不做限定。
为了更直观的看出本申请实施例提供的推荐网络的推荐准确性,将现有的推荐模型与本申请实施例中的TB-Net进行对比。
其中,现有的推荐模型包括:波纹(ripple net)推荐模型、基于协同过滤和知识词向量(collaborative knowledge base embedding,CKE)的推荐网络、贝叶斯个性化排序(bayesian personalized ranking matrix factorization,BPRMF)推荐算法、神经因子分解机(neural factorization machine,NFM)推荐算法、深度知识感知网络(deepknowledge-aware network,DKN)、融合浅层模型和深层模型(Wide&Deep)的推荐模型。
1、精准率和召回率两个指标的对比结果。
精准率(precision)的对比结果可参考图12,召回率(recall)的对比结果可参考图13。
该对比结果为本申请提供的TB-Net与四个主流模型(ripple net、CKE、BPRMF、NFM) 用于训练新闻推荐数据集:MIND(microsoft news dataset)来完成推荐新闻的任务,并用精准率和召回率两个指标来衡量被推荐物品的准确性。由图12与图13的对比结果可知,在精准率和召回率上,本申请提供的TB-Net的表现较好,高于其它主流模型(ripplenet、 CKE、BPRMF)。该对比结果证明了本申请实施例提供的TB-Net相对于现有的推荐系统(ripple net、CKE、BPRMF),推荐准确性有显著提升。
2、AUC与准确率两个指标的对比结果。
AUC与准确率的对比结果如表2所示:
表2
由上述表2的对比结果可以看出,本申请实施例中的推荐网络(即TB-Net)从AUC何推荐的准确率指标上,优于现有技术,与业界领先的深度学习推荐模型(微软提出的ripple net和谷歌提出的Wide&Deep)基本持平,并一定程度上有所提升。本申请实施例提供的推荐网络具备高推荐准确性的特点。
步骤8028、基于概率以及知识图谱评估解释的准确性。本步骤是可选地。
可选地,获取路径对应的概率之后,可以按照概率的大小进行排序,并根据该排序以及知识图谱中子图节点的度(digree)排序评估对待推荐物品或被推荐物品的解释的准确性。其中,节点的度是指和该节点相关联的边数(即连接的关系数量)。
示例性的,若解释采用Top2,路径中概率较高的两个p2(即张国荣所在第二路径对应的概率)以及p4(即陈凯歌所在第四路径对应的概率)。且知识图谱中digree排序中的前两位为张国荣节点以及京剧节点。相当于,张国荣对应的概率p2以及张国荣节点在知识图谱中度的排序都在前两位,陈凯歌对应的概率p4以及陈凯歌节点在知识图谱中度的排序没在前两位。则说明张国荣所在第二路径的解释比较准确。相对的,陈凯歌所在第四路径的解释相较张国荣对应的解释来说不够准确。
为了更直观的看出本申请实施例提供的推荐网络输出解释的准确性,将现有的推荐解释模型与本申请实施例中的推荐网络在电影推荐场景下(MovieLens数据集)进行解释对比。本申请实施例提供的推荐网络也可以称为塔桥网络(tower-bridge net,TB-Net),或者称为双向显著可解释推荐网络。
其中,现有的推荐解释模型包括:波纹(ripple net)推荐模型、多任务协同过滤模型(attentive multitask collaborative filtering,AMCF)、可解释的线性回归模型(interpretable linear regression model,LR)。
解释的对比结果如表2所示:
表2
推荐解释模型 | Top1@3 | Top3@5 |
AMCF | 0.461 | 0.403 |
LR | 0.572 | 0.598 |
Ripple net | 0.26 | 0.21 |
TB-Net | 0.75 | 0.635 |
其中,解释的召回率相当于TopG@K,K代表推荐模型输出解释的数量,G代表数据集中用户认可解释的前几个。示例性的,Top1@3表示推荐模型输出的3个解释中存在数据集中第1位解释的概率,相当于通过用户的反馈确定推荐模型输出被推荐物品的解释是否符合用户的真实预期。
该对比结果证明了本申请实施例提供的TB-Net相对于现有的推荐解释模型(ripple net、AMCF、LR),输出解释信息的准确性有显著提升。本申请实施例提供的推荐网络同时具备高解释性和高推荐准确性的特点,即在保持高推荐准确率的同时,给出语义级的解释。
本申请实施例中,图9所示的各个步骤不限定时序关系。例如:步骤8026可以在步骤8025之前,也可以在步骤8024之前,保证步骤8026在步骤8022之后即可。步骤8027 可以在步骤8026之前,也可以在步骤8025之前,保证步骤8027在步骤8024之后即可。步骤8028可以在步骤8027之前。
可以理解的是,若推荐网络只输出待推荐物品的解释,则图9所示的步骤可以包括步骤8021、步骤8022、步骤8026。若推荐网络只输出被推荐物品,则图9所示的步骤可以包括步骤8021至步骤8025。
在一种可能实现的方式中,基于多条路径得到推荐结果的步骤可以包括步骤8021至步骤8025。在另一种可能实现的方式中,基于多条路径得到推荐结果的步骤可以包括步骤8021至步骤8026。在另一种可能实现的方式中,基于多条路径得到推荐结果的步骤可以包括步骤8021至步骤8027。在另一种可能实现的方式中,基于多条路径得到推荐结果的步骤可以包括步骤8021至步骤8028。
本申请实施例中,一方面,通过双向传导计算,可以为待推荐物品或被推荐物品提供高语义的解释信息,可以与现有技术中的推荐系统进行嫁接,即可以为现有推荐系统输出的推荐物品提供高语义的解释信息。另一方面,通过在汇集处(即中间实体)计算路径左右两个流向汇集在中间实体的重合概率,用来表示该路径的重要程度。另一方面,通过重合概率与中间实体的计算,可以得到用户的偏好反馈信息(即用户的反馈词向量),该反馈词向量用来输出可信可靠的语义性解释。另一方面,可以聚合路径两端的偏好反馈信息形成反馈词向量,并与待推荐物品进行计算输出被推荐物品,能够得到更为精准的推荐结果,即提升推荐的召回率。
上面对本申请实施例中的推荐方法进行了描述,下面对本申请实施例中的推荐装置进行描述,其中,神经网络相当于前述的推荐网络,请参阅图14,本申请实施例中推荐装置1400的一个实施例包括:
获取单元1401,用于获取知识图谱,知识图谱中包括多个用于指示物品的第一实体和多个用于指示物品属性的第二实体;
运行单元1402,用于基于知识图谱以及用户的信息运行神经网络,以得到推荐结果,用户的信息指示用户的历史记录涉及的物品或者物品属性,推荐结果包括被推荐物品,神经网络用于基于知识图谱中的至少一个第一方向和至少一个第二方向计算以得到推荐结果,第一方向起始于指示被推荐物品或者待推荐物品的第一实体,第二方向起始于指示用户的历史记录涉及的物品的第一实体,或者第二方向起始于指示用户的历史记录涉及的物品属性的第二实体。
本实施例中,推荐装置中各单元所执行的操作与前述图5、图8和/或图9所示实施例中描述的类似,此处不再赘述。
本实施例中,运行单元1402可以基于知识图谱以及用户的信息运行神经网络,以得到推荐结果,其中,神经网络用于基于知识图谱中的至少一个第一方向和至少一个第二方向计算以得到推荐结果,提供了一种新的推荐方法。
请参阅图15,本申请实施例中推荐装置1500的另一个实施例包括:
获取单元1501,用于获取知识图谱、第一标识以及第二标识,知识图谱中包括多个用于指示物品的第一实体和多个用于指示物品属性的第二实体,第一标识指示待推荐物品,第二标识指示用户历史记录涉及的物品或者物品属性,知识图谱中包括与第一标识对应的第一实体,以及与第二标识对应的第一实体或第二实体;
运行单元1502,用于基于知识图谱、第一标识以及第二标识运行神经网络,以得到评估结果,评估结果包括待推荐物品被推荐的概率,神经网络用于基于知识图谱中的至少一个第一方向和至少一个第二方向计算以得到评估结果,第一方向起始于与第一标识对应的第一实体,第二方向起始于与第二标识对应的第一实体或第二实体。
本实施例中,推荐装置中各单元所执行的操作与前述图5、图8和/或图9所示实施例中描述的类似,此处不再赘述。
本实施例中,运行单元1502可以基于知识图谱基于知识图谱、第一标识以及第二标识运行神经网络,以得到评估结果,其中,神经网络用于基于知识图谱中的至少一个第一方向和至少一个第二方向计算以得到待推荐物品被推荐的概率,该概率可以用于输出对待推荐物品的解释,进而提供了一种具有解释性的推荐方法。
请参阅图16,本申请实施例中推荐装置1600的另一个实施例包括但不限于处理器1601、通信端口1602、存储器1603、总线1604,在本申请的实施例中,处理器1601用于对推荐装置1600的动作进行控制处理。
此外,处理器1601可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要说明的是,图16所示推荐装置具体可以用于实现图5、图8和/或图9对应方法实施例中推荐装置所执行的步骤的功能,并实现推荐装置对应的技术效果,图16所示推荐装置的具体实现方式,均可以参考图5、图8和/或图9对应的各个方法实施例中的叙述,此处不再一一赘述。
本申请实施例还提供一种存储一个或多个计算机执行指令的计算机可读存储介质,当计算机执行指令被处理器执行时,该处理器执行如前述实施例中可能的实现方式所述的方法,其中,该推荐装置具体可以执行前述图5、图8和/或图9对应方法实施例中的步骤。
本申请实施例还提供一种存储一个或多个计算机的计算机程序产品,当计算机程序产品被该处理器执行时,该处理器执行上述可能实现方式的方法,其中,该推荐装置具体可以执行前述图5、图8和/或图9对应方法实施例中的步骤。
本申请实施例还提供了一种芯片系统,该芯片系统包括处理器,用于支持推荐装置实现上述推荐装置可能的实现方式中所涉及的功能。在一种可能的设计中,该芯片系统还可以包括存储器,存储器,用于保存该推荐装置必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件,其中,该推荐装置具体可以执行前述图5、图8和/或图9对应方法实施例中的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (38)
1.一种推荐方法,其特征在于,所述方法包括:
获取知识图谱,所述知识图谱中包括多个用于指示物品的第一实体和多个用于指示物品属性的第二实体;
基于所述知识图谱以及用户的信息运行神经网络,以得到推荐结果,所述用户的信息指示所述用户的历史记录涉及的物品或者物品属性,所述推荐结果包括被推荐物品,所述神经网络用于基于所述知识图谱中的至少一个第一方向和至少一个第二方向计算以得到所述推荐结果,所述第一方向起始于指示所述被推荐物品或者待推荐物品的第一实体,所述第二方向起始于指示所述用户的历史记录涉及的物品的第一实体,或者起始于指示所述用户的历史记录涉及的物品属性的第二实体。
2.根据权利要求1所述的方法,其特征在于,所述推荐结果还包括对所述被推荐物品的解释,所述解释与一个第一方向和一个第二方向相关。
3.根据权利要求1所述的方法,其特征在于,所述基于所述知识图谱以及用户的信息运行神经网络,以得到推荐结果,包括:
基于所述知识图谱以及所述用户的信息,在所述知识图谱中提取多条路径,每条所述路径指示所述路径两端的实体之间的关联,每条所述路径的一端对应待推荐物品,另一端对应所述用户的历史记录涉及的物品或物品属性;
将所述多条路径输入所述神经网络以对多个待推荐物品打分,以使所述神经网络得到所述推荐结果,所述神经网络用于基于所述多条路径各自的第一方向和第二方向计算以得到所述推荐结果,对于一条路径,所述第一方向是所述路径的一端指向所述路径的另一端,所述第二方向是所述路径的另一端指向所述路径的一端。
4.根据权利要求1所述的方法,其特征在于,所述基于所述知识图谱以及所述用户信息运行神经网络,以得到推荐结果,包括:
将所述知识图谱以及所述用户的信息输入所述神经网络;
所述神经网络基于所述知识图谱以及所述用户的信息,在所述知识图谱中提取多条路径,每条所述路径指示所述路径两端的实体之间的关联,每条所述路径的一端对应待推荐物品,另一端对应所述用户的历史记录涉及的物品或物品属性;
基于所述多条路径各自的第一方向和第二方向对多个待推荐物品打分,以使所述神经网络得到所述推荐结果,对于一条路径,所述第一方向是所述路径的一端指向所述路径的另一端,所述第二方向是所述路径的另一端指向所述路径的一端。
5.根据权利要求4所述的方法,其特征在于,所述第一方向与第一向量的方向一致,所述第二方向与第二向量的方向一致,对于一条路径,所述第一向量为从所述路径中,指示待推荐物品的第一实体,指向所述路径中,与所述指示待推荐物品的第一实体相邻的实体的向量,所述第二向量为从所述路径中,所述用户的历史记录涉及的物品的第一实体,指向所述路径中,与所述指示用户的历史记录涉及的物品的第一实体相邻的实体的向量,或者,所述第二向量为从所述路径中,所述用户的历史记录涉及的物品属性的第二实体,指向所述路径中,与所述用户的历史记录涉及的物品属性的第二实体相邻的实体的向量;
所述基于所述多条路径各自的第一方向和第二方向对所述多条路径对应的多个待推荐物品打分,以使所述神经网络得到所述推荐结果,包括:
对所述多条路径中的每条路径,都基于所述每条路径的第一向量和第二向量汇集到所述每条路径中的一个实体的概率对所述每条路径对应的待推荐物品打分,以得到所述被推荐物品。
6.根据权利要求3至5中任一项所述的方法,其特征在于,所述方法还包括:
基于所述多条路径各自的第一方向和第二方向分别对所述多条路径打分,以得到对所述推荐结果的解释,所述解释是对得到所述推荐结果的一条或多条路径所指示的两端的实体之间的关联的描述。
7.根据权利要求6所述的方法,其特征在于,所述第一方向与第一向量的方向一致,所述第二方向与第二向量的方向一致,对于一条路径,所述第一向量为从所述路径中,指示待推荐物品的第一实体,指向所述路径中,与所述指示待推荐物品的第一实体相邻的实体的向量,所述第二向量为从所述路径中,所述用户的历史记录涉及的物品的第一实体,指向所述路径中,与所述指示用户的历史记录涉及的物品的第一实体相邻的实体的向量,或者,所述第二向量为从所述路径中,所述用户的历史记录涉及的物品属性的第二实体,指向所述路径中,与所述用户的历史记录涉及的物品属性的第二实体相邻的实体的向量;
所述基于所述多条路径各自的第一方向和第二方向对所述多条路径打分,以得到对所述推荐结果的解释,包括:
分别计算每条路径的第一向量和第二向量汇集到所述每条路径包括的一个实体的概率,以得到对所述推荐结果的解释。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述神经网络是通过以训练样本作为所述神经网络的输入,以损失函数的值小于阈值为目标对神经网络进行训练得到,所述训练样本包括多条训练路径,或者所述训练样本包括用于训练的知识图谱、用于训练的用户的历史记录涉及的物品和/或物品属性,每条所述训练路径指示所述训练路径两端的实体之间的关联,每条所述训练路径的两端对应所述用户的历史记录涉及的物品或物品属性;
所述损失函数包括第一损失函数,所述第一损失函数用于指示神经网络输出的推荐结果与目标结果之间的差异,所述目标结果与所述用户的历史记录涉及的物品或物品属性相关。
10.根据权利要求9所述的方法,其特征在于,所述损失函数还包括第二损失函数,所述第二损失函数用于指示所述用于训练的知识图谱的所述训练路径中第一训练向量与第二训练向量之间词向量的差值,所述训练路径的两端对应所述用户的历史记录涉及的物品或物品属性。
11.根据权利要求10所述的方法,其特征在于,所述损失函数还包括第三损失函数,所述第三损失函数用于指示第一实体的计算词向量与所述第一实体的真实词向量的差值,和/或用于指示第二实体的计算词向量与所述第二实体的真实词向量的差值。
12.一种推荐方法,其特征在于,所述方法包括:
获取知识图谱、第一标识以及第二标识,所述知识图谱中包括多个用于指示物品的第一实体和多个用于指示物品属性的第二实体,所述第一标识指示待推荐物品,所述第二标识指示用户历史记录涉及的物品或者物品属性,所述知识图谱中包括与所述第一标识对应的第一实体,以及与所述第二标识对应的第一实体或第二实体;
基于所述知识图谱、所述第一标识以及所述第二标识运行所述神经网络,以得到评估结果,所述评估结果包括待推荐物品被推荐的概率,所述神经网络用于基于所述知识图谱中的至少一个第一方向和至少一个第二方向计算以得到所述评估结果,所述第一方向起始于与所述第一标识对应的第一实体,所述第二方向起始于与所述第二标识对应的第一实体或第二实体。
13.根据权利要求12所述的方法,其特征在于,所述评估结果还包括,所述待推荐物品被推荐时,基于的所述知识图谱中的路径对应的概率,所述路径的一端为所述与所述第一标识对应的第一实体,所述路径的另一端为所述与所述第二标识对应的第一实体。
14.根据权利要求12所述的方法,其特征在于,所述基于所述知识图谱、所述第一标识以及所述第二标识运行所述神经网络,以得到评估结果,包括:
基于所述知识图谱、所述第一标识以及所述第二标识在所述知识图谱中提取多条路径,每条所述路径指示所述路径两端的实体之间的关联,每条路径的一端对应待推荐物品,另一端对应所述用户的历史记录涉及的物品或物品属性;
将所述多条路径输入所述神经网络以对多个待推荐物品打分,以使所述神经网络得到所述评估结果,所述神经网络用于基于所述多条路径各自的第一方向和第二方向计算以得到所述概率,对于一条路径,所述第一方向是所述路径的一端指向所述路径的另一端,所述第二方向是所述路径的另一端指向所述路径的一端。
15.根据权利要求13所述的方法,其特征在于,所述基于所述知识图谱、所述第一标识以及与所述第二标识运行所述神经网络,以得到评估结果,包括:
将所述知识图谱、所述第一标识以及所述第二标识输入所述神经网络;
所述神经网络基于所述知识图谱、所述第一标识以及所述第二标识在所述知识图谱中提取多条路径,每条所述路径指示所述路径两端的实体之间的关联,每条路径的一端对应待推荐物品,另一端对应所述用户的历史记录涉及的物品或物品属性;
基于所述多条路径各自的第一方向和第二方向对所述多条路径对应的多个待推荐物品打分,以使所述神经网络得到所述评估结果,对于一条路径,所述第一方向是所述路径的一端指向所述路径的另一端,所述第二方向是所述路径的另一端指向所述路径的一端。
16.根据权利要求15所述的方法,其特征在于,所述第一方向与第一向量的方向一致,所述第二方向与第二向量的方向一致,对于一条路径,所述第一向量为从所述路径中,指示待推荐物品的第一实体,指向所述路径中,与所述指示待推荐物品的第一实体相邻的实体的向量,所述第二向量为从所述路径中,所述用户的历史记录涉及的物品的第一实体,指向所述路径中,与所述指示用户的历史记录涉及的物品的第一实体相邻的实体的向量,或者,所述第二向量为从所述路径中,所述用户的历史记录涉及的物品属性的第二实体,指向所述路径中,与所述用户的历史记录涉及的物品属性的第二实体相邻的实体的向量;
所述基于所述多条路径各自的第一方向和第二方向对所述多条路径对应的多个待推荐物品打分,包括:
分别计算每条路径的第一向量和第二向量汇集到所述每条路径包括的一个实体的概率。
18.根据权利要求12至17中任一项所述的方法,其特征在于,所述神经网络是通过以训练样本作为所述神经网络的输入,以损失函数的值小于阈值为目标对神经网络进行训练得到,所述训练样本包括多条训练路径,或者所述训练样本包括用于训练的知识图谱、第一训练标识以及第二训练标识,所述第一训练标识指示的物品与所述第二训练标识指示的物品或物品属性为用户的历史物品涉及的物品或物品属性;
所述损失函数包括第一损失函数,所述第一损失函数用于指示神经网络输出的评估结果与目标结果之间的差异,所述目标结果与所述用户的历史记录涉及的物品或物品属性相关。
19.根据权利要求18所述的方法,其特征在于,所述损失函数还包括第二损失函数,所述第二损失函数用于指示所述用于训练的知识图谱的所述训练路径中第一训练向量与第二训练向量之间词向量的差值,所述训练路径的两端对应所述用户的历史记录涉及的物品或物品属性。
20.根据权利要求19所述的方法,其特征在于,所述损失函数还包括第三损失函数,所述第三损失函数用于指示第一实体的计算词向量与所述第一实体的真实词向量的差值,和/或用于指示第二实体的计算词向量与所述第二实体的真实词向量的差值。
21.一种推荐装置,其特征在于,所述推荐装置包括:
获取单元,用于获取知识图谱,所述知识图谱中包括多个用于指示物品的第一实体和多个用于指示物品属性的第二实体;
运行单元,用于基于所述知识图谱以及用户的信息运行神经网络,以得到推荐结果,所述用户的信息指示所述用户的历史记录涉及的物品或者物品属性,所述推荐结果包括被推荐物品,所述神经网络用于基于所述知识图谱中的至少一个第一方向和至少一个第二方向计算以得到所述推荐结果,所述第一方向起始于指示所述被推荐物品或者待推荐物品的第一实体,所述第二方向起始于指示所述用户的历史记录涉及的物品的第一实体,或者起始于指示所述用户的历史记录涉及的物品属性的第二实体。
22.根据权利要求21所述的推荐装置,其特征在于,所述推荐结果还包括对所述被推荐物品的解释,所述解释与一个第一方向和一个第二方向相关。
23.根据权利要求21所述的推荐装置,其特征在于,
所述运行单元,具体用于基于所述知识图谱以及所述用户的信息,在所述知识图谱中提取多条路径,每条所述路径指示所述路径两端的实体之间的关联,每条所述路径的一端对应待推荐物品,另一端对应所述用户的历史记录涉及的物品或物品属性;
所述运行单元,具体用于将所述多条路径输入所述神经网络以对多个待推荐物品打分,以使所述神经网络得到所述推荐结果,所述神经网络用于基于所述多条路径各自的第一方向和第二方向计算以得到所述推荐结果,对于一条路径,所述第一方向是所述路径的一端指向所述路径的另一端,所述第二方向是所述路径的另一端指向所述路径的一端。
24.根据权利要求21所述的推荐装置,其特征在于,
所述运行单元,具体用于将所述知识图谱以及所述用户的信息输入所述神经网络;
所述运行单元,具体用于所述神经网络基于所述知识图谱以及所述用户的信息,在所述知识图谱中提取多条路径,每条所述路径指示所述路径两端的实体之间的关联,每条所述路径的一端对应待推荐物品,另一端对应所述用户的历史记录涉及的物品或物品属性;
所述运行单元,具体用于基于所述多条路径各自的第一方向和第二方向对多个待推荐物品打分,以使所述神经网络得到所述推荐结果,对于一条路径,所述第一方向是所述路径的一端指向所述路径的另一端,所述第二方向是所述路径的另一端指向所述路径的一端。
25.根据权利要求24所述的推荐装置,其特征在于,所述第一方向与第一向量的方向一致,所述第二方向与第二向量的方向一致,对于一条路径,所述第一向量为从所述路径中,指示待推荐物品的第一实体,指向所述路径中,与所述指示待推荐物品的第一实体相邻的实体的向量,所述第二向量为从所述路径中,所述用户的历史记录涉及的物品的第一实体,指向所述路径中,与所述指示用户的历史记录涉及的物品的第一实体相邻的实体的向量,或者,所述第二向量为从所述路径中,所述用户的历史记录涉及的物品属性的第二实体,指向所述路径中,与所述用户的历史记录涉及的物品属性的第二实体相邻的实体的向量;
所述运行单元,具体用于对所述多条路径中的每条路径,都基于所述每条路径的第一向量和第二向量汇集到所述每条路径中的一个实体的概率对所述每条路径对应的待推荐物品打分,以得到所述被推荐物品。
26.根据权利要求23至25中任一项所述的推荐装置,其特征在于,
所述运行单元,还用于基于所述多条路径各自的第一方向和第二方向分别对所述多条路径打分,以得到对所述推荐结果的解释,所述解释是对得到所述推荐结果的一条或多条路径所指示的两端的实体之间的关联的描述。
27.根据权利要求26所述的推荐装置,其特征在于,所述第一方向与第一向量的方向一致,所述第二方向与第二向量的方向一致,对于一条路径,所述第一向量为从所述路径中,指示待推荐物品的第一实体,指向所述路径中,与所述指示待推荐物品的第一实体相邻的实体的向量,所述第二向量为从所述路径中,所述用户的历史记录涉及的物品的第一实体,指向所述路径中,与所述指示用户的历史记录涉及的物品的第一实体相邻的实体的向量,或者,所述第二向量为从所述路径中,所述用户的历史记录涉及的物品属性的第二实体,指向所述路径中,与所述用户的历史记录涉及的物品属性的第二实体相邻的实体的向量;
所述运行单元,具体用于分别计算每条路径的第一向量和第二向量汇集到所述每条路径包括的一个实体的概率,以得到对所述推荐结果的解释。
29.一种推荐装置,其特征在于,所述推荐装置包括:
获取单元,用于获取知识图谱、第一标识以及第二标识,所述知识图谱中包括多个用于指示物品的第一实体和多个用于指示物品属性的第二实体,所述第一标识指示待推荐物品,所述第二标识指示用户历史记录涉及的物品或者物品属性,所述知识图谱中包括与所述第一标识对应的第一实体,以及与所述第二标识对应的第一实体或第二实体;
运行单元,用于基于所述知识图谱、所述第一标识以及所述第二标识运行所述神经网络,以得到评估结果,所述评估结果包括待推荐物品被推荐的概率,所述神经网络用于基于所述知识图谱中的至少一个第一方向和至少一个第二方向计算以得到所述评估结果,所述第一方向起始于与所述第一标识对应的第一实体,所述第二方向起始于与所述第二标识对应的第一实体或第二实体。
30.根据权利要求29所述的推荐装置,其特征在于,所述评估结果还包括,所述待推荐物品被推荐时,基于的所述知识图谱中的路径对应的概率,所述路径的一端为所述与所述第一标识对应的第一实体,所述路径的另一端为所述与所述第二标识对应的第一实体。
31.根据权利要求29所述的推荐装置,其特征在于,
所述运行单元,具体用于基于所述知识图谱、所述第一标识以及所述第二标识在所述知识图谱中提取多条路径,每条所述路径指示所述路径两端的实体之间的关联,每条路径的一端对应待推荐物品,另一端对应所述用户的历史记录涉及的物品或物品属性;
所述运行单元,具体用于将所述多条路径输入所述神经网络以对多个待推荐物品打分,以使所述神经网络得到所述评估结果,所述神经网络用于基于所述多条路径各自的第一方向和第二方向计算以得到所述概率,对于一条路径,所述第一方向是所述路径的一端指向所述路径的另一端,所述第二方向是所述路径的另一端指向所述路径的一端。
32.根据权利要求30所述的推荐装置,其特征在于,
所述运行单元,具体用于将所述知识图谱、所述第一标识以及所述第二标识输入所述神经网络;
所述运行单元,具体用于所述神经网络基于所述知识图谱、所述第一标识以及所述第二标识在所述知识图谱中提取多条路径,每条所述路径指示所述路径两端的实体之间的关联,每条路径的一端对应待推荐物品,另一端对应所述用户的历史记录涉及的物品或物品属性;
所述运行单元,具体用于基于所述多条路径各自的第一方向和第二方向对所述多条路径对应的多个待推荐物品打分,以使所述神经网络得到所述评估结果,对于一条路径,所述第一方向是所述路径的一端指向所述路径的另一端,所述第二方向是所述路径的另一端指向所述路径的一端。
33.根据权利要求32所述的推荐装置,其特征在于,所述第一方向与第一向量的方向一致,所述第二方向与第二向量的方向一致,对于一条路径,所述第一向量为从所述路径中,指示待推荐物品的第一实体,指向所述路径中,与所述指示待推荐物品的第一实体相邻的实体的向量,所述第二向量为从所述路径中,所述用户的历史记录涉及的物品的第一实体,指向所述路径中,与所述指示用户的历史记录涉及的物品的第一实体相邻的实体的向量,或者,所述第二向量为从所述路径中,所述用户的历史记录涉及的物品属性的第二实体,指向所述路径中,与所述用户的历史记录涉及的物品属性的第二实体相邻的实体的向量;
所述运行单元,具体用于分别计算每条路径的第一向量和第二向量汇集到所述每条路径包括的一个实体的概率。
35.一种推荐装置,其特征在于,包括处理器,所述处理器与存储器耦合,所述存储器用于存储计算机程序或指令,所述处理器用于执行存储器中的所述计算机程序或指令,使得权利要求1至11任一项所述的方法被执行,或者使得权利要求12至20任一项所述的方法被执行。
36.一种芯片,其特征在于,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行计算机程序或指令,使得权利要求1至11任一项所述的方法被执行,或者使得权利要求12至20任一项所述的方法被执行。
37.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如权利要求1至11中任一项所述的方法,或者使得所述计算机执行如权利要求12至20中任一项所述的方法。
38.一种计算机程序产品,其特征在于,所述计算机程序产品在计算机上执行时,使得所述计算机执行如权利要求1至11中任一项所述的方法,或者使得所述计算机执行如权利要求12至20中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011640574.7A CN114691973A (zh) | 2020-12-31 | 2020-12-31 | 一种推荐方法、推荐网络及相关设备 |
PCT/CN2021/141472 WO2022143482A1 (zh) | 2020-12-31 | 2021-12-27 | 一种推荐方法、推荐网络及相关设备 |
EP21914219.7A EP4258132A4 (en) | 2020-12-31 | 2021-12-27 | RECOMMENDATION METHOD, RECOMMENDATION NETWORK AND ASSOCIATED DEVICE |
US18/215,959 US20230342833A1 (en) | 2020-12-31 | 2023-06-29 | Recommendation method, recommendation network, and related device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011640574.7A CN114691973A (zh) | 2020-12-31 | 2020-12-31 | 一种推荐方法、推荐网络及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114691973A true CN114691973A (zh) | 2022-07-01 |
Family
ID=82135663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011640574.7A Pending CN114691973A (zh) | 2020-12-31 | 2020-12-31 | 一种推荐方法、推荐网络及相关设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230342833A1 (zh) |
EP (1) | EP4258132A4 (zh) |
CN (1) | CN114691973A (zh) |
WO (1) | WO2022143482A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116610820A (zh) * | 2023-07-21 | 2023-08-18 | 智慧眼科技股份有限公司 | 一种知识图谱实体对齐方法、装置、设备及存储介质 |
CN117290611A (zh) * | 2023-11-24 | 2023-12-26 | 北京信立方科技发展股份有限公司 | 基于多层次知识图谱的仪器推荐方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115063209B (zh) * | 2022-07-12 | 2023-05-09 | 深圳斯达领科网络科技有限公司 | 一种基于多维特征分析的服装电商平台商品推荐系统 |
CN116645244A (zh) * | 2023-05-29 | 2023-08-25 | 深圳博时特科技有限公司 | 一种基于计算机视觉的就餐导引系统及导引方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11042922B2 (en) * | 2018-01-03 | 2021-06-22 | Nec Corporation | Method and system for multimodal recommendations |
US11636123B2 (en) * | 2018-10-05 | 2023-04-25 | Accenture Global Solutions Limited | Density-based computation for information discovery in knowledge graphs |
CN110909174B (zh) * | 2019-11-19 | 2022-01-04 | 南京航空航天大学 | 一种基于知识图谱的简单问答中实体链接的改进方法 |
CN112148885B (zh) * | 2020-09-04 | 2024-02-02 | 上海晏鼠计算机技术股份有限公司 | 一种基于知识图谱的智能搜索方法及系统 |
CN112131472B (zh) * | 2020-09-24 | 2024-05-24 | 腾讯科技(深圳)有限公司 | 信息推荐方法、装置、电子设备和存储介质 |
-
2020
- 2020-12-31 CN CN202011640574.7A patent/CN114691973A/zh active Pending
-
2021
- 2021-12-27 EP EP21914219.7A patent/EP4258132A4/en active Pending
- 2021-12-27 WO PCT/CN2021/141472 patent/WO2022143482A1/zh unknown
-
2023
- 2023-06-29 US US18/215,959 patent/US20230342833A1/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116610820A (zh) * | 2023-07-21 | 2023-08-18 | 智慧眼科技股份有限公司 | 一种知识图谱实体对齐方法、装置、设备及存储介质 |
CN116610820B (zh) * | 2023-07-21 | 2023-10-20 | 智慧眼科技股份有限公司 | 一种知识图谱实体对齐方法、装置、设备及存储介质 |
CN117290611A (zh) * | 2023-11-24 | 2023-12-26 | 北京信立方科技发展股份有限公司 | 基于多层次知识图谱的仪器推荐方法及装置 |
CN117290611B (zh) * | 2023-11-24 | 2024-02-23 | 北京信立方科技发展股份有限公司 | 基于多层次知识图谱的仪器推荐方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20230342833A1 (en) | 2023-10-26 |
EP4258132A4 (en) | 2024-06-12 |
WO2022143482A1 (zh) | 2022-07-07 |
EP4258132A1 (en) | 2023-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cao et al. | Diversified personalized recommendation optimization based on mobile data | |
CN114691973A (zh) | 一种推荐方法、推荐网络及相关设备 | |
Dodge et al. | Visual saliency prediction using a mixture of deep neural networks | |
CN110516160A (zh) | 基于知识图谱的用户建模方法、序列推荐方法 | |
CN107545276B (zh) | 联合低秩表示和稀疏回归的多视角学习方法 | |
CN107590505B (zh) | 联合低秩表示和稀疏回归的学习方法 | |
Lestari et al. | Performance comparison of rank aggregation using borda and copeland in recommender system | |
Huynh et al. | Context-similarity collaborative filtering recommendation | |
WO2023185925A1 (zh) | 一种数据处理方法及相关装置 | |
WO2024041483A1 (zh) | 一种推荐方法及相关装置 | |
CN116108267A (zh) | 一种推荐方法及相关设备 | |
Chiang et al. | An adaptive, context-aware, and stacked attention network-based recommendation system to capture users’ temporal preference | |
Lestari et al. | WP-Rank: Rank aggregation based collaborative filtering method in recommender system | |
CN114581165A (zh) | 一种产品推荐方法、装置、计算机存储介质及系统 | |
CN116910357A (zh) | 一种数据处理方法及相关装置 | |
CN112488355A (zh) | 基于图神经网络预测用户评级的方法和装置 | |
CN113393303A (zh) | 物品推荐方法、装置、设备及存储介质 | |
CN112650869A (zh) | 图像检索重排序方法、装置、电子设备及存储介质 | |
CN112035740A (zh) | 项目使用时长预测方法、装置、设备及存储介质 | |
Cotta et al. | Weightless neural network wisard applied to online recommender systems | |
Sridhar et al. | Extending Deep Neural Categorisation Models for Recommendations by Applying Gradient Based Learning | |
WO2024131762A1 (zh) | 一种推荐方法及相关设备 | |
CN117786234B (zh) | 一种基于两阶段对比学习的多模态资源推荐方法 | |
KR102583679B1 (ko) | 리뷰 빅데이터 기반의 아이템 추천 장치 및 그 방법 | |
Gao et al. | BMDF-SR: bidirectional multi-sequence decoupling fusion method for sequential recommendation |
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 |