CN113449176A - 基于知识图谱的推荐方法及装置 - Google Patents

基于知识图谱的推荐方法及装置 Download PDF

Info

Publication number
CN113449176A
CN113449176A CN202010216920.2A CN202010216920A CN113449176A CN 113449176 A CN113449176 A CN 113449176A CN 202010216920 A CN202010216920 A CN 202010216920A CN 113449176 A CN113449176 A CN 113449176A
Authority
CN
China
Prior art keywords
historical click
objects
neighbor
historical
candidate
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
Application number
CN202010216920.2A
Other languages
English (en)
Inventor
刘青
唐睿明
何秀强
周思锦
张伟楠
俞勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010216920.2A priority Critical patent/CN113449176A/zh
Publication of CN113449176A publication Critical patent/CN113449176A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了人工智能领域的一种基于知识图谱的推荐方法,包括:获取多个历史点击对象及多个历史点击对象中每个历史点击对象的邻居对象;根据多个历史点击对象及多个历史点击对象中每个历史点击对象的邻居对象获取当前状态参数;根据知识图谱、所有对象和多个历史点击对象确定候选推荐对象集;根据当前状态参数计算得到候选推荐对象集中每个候选推荐对象的期望值,并将最大期望值对应的候选推荐对象确定为目标推荐对象。本申请的推荐方法适用于各种推荐相关的应用场景,如APP应用市场的APP推荐,音/视频网站的音/视频推荐,资讯平台的资讯推荐等。采用本申请实施例有利于提高推荐效率和准确率。

Description

基于知识图谱的推荐方法及装置
技术领域
本申请涉及人工智能领域,尤其涉及一种基于知识图谱的推荐方法及装置。
背景技术
推荐与搜索属于人工智能领域的重要研究方向之一。在对于个性化推荐***的构建目标中,最重要的是准确预测用户对于特定物品的需求或偏好喜好程度,并基于判断结果为其进行相应的推荐,这不仅影响到用户体验,同时直接影响到企业相关产品的收益,如使用频率或者下载、点击量。因此,对用户行为需求或偏好的预测具有重要意义。目前基础、主流的预测方法都是基于监督学习(supervised learning)的推荐***模型。用基于监督学习建模的推荐***主要问题是:(1)监督学习将推荐过程看作是一个静态的预测过程,用户的兴趣爱好不随时间改变,但是,实际上推荐应该是一个动态的序列决策过程,用户的兴趣爱好可能随时间而改变。(2)监督学习最大化推荐结果的即时奖励,如点击率,而很多时候,那些即时奖励较小但未来奖励很大的物品也应该被考虑。
近年来,强化学习在许多动态交互、长期规划的场景中,取得了巨大的突破,如无人驾驶、游戏。常规的强化学习方法包括基于值的方法和基于策略的方法。其中,基于值的强化学习方法学习推荐***是首先训练学习得到Q函数;然后根据当前状态,计算所有动作待推荐对象的Q值;最后在进行推荐时选取Q值最大的动作对象进行推荐。基于策略的强化学习方法学习推荐***是首先训练学习得到策略函数;然后根据当前状态,策略决定最优动作对象进行推荐。由于基于值的强化学习方法学习推荐***和基于策略的强化学习方法学习推荐***在进行推荐时,都需要遍历所有的动作推荐对象,计算每一个待推荐对象的相关概率值,这是非常耗时,效率低下。
发明内容
本申请实施例提供一种基于知识图谱的推荐方法及装置,通过历史点击对象及基于知识图谱获取的历史点击对象的对象获取当前状态参数,使得当前状态参数中不仅包含用户的历史偏好,包含了邻居节点的信息,从而提高了模型的表征范围和能力,能更加准确地捕捉用户兴趣爱好,提高了推荐结果的精确性;通过基于知识图谱和历史点击对象从所有对象中获取推候选推荐对象集合,避免了在推荐对象时遍历所有对象,从而有利于提高推荐效率。
第一方面,本申请实施例提供一种基于知识图谱的推荐方法,包括:
获取多个历史点击对象及多个历史点击对象中每个历史点击对象的第一邻居对象,每个历史点击对象的第一邻居对象包括在知识图谱上与该历史点击对象k阶内相邻的对象;k为大于0的整数;其中,历史点击对象的k阶内相邻的对象中的k阶用于表征k阶内相邻的对象与该历史点击对象的关联程度,k值越小,则对应的关联程度越高;根据多个历史点击对象和每个历史点击对象的第一邻居对象获取当前状态参数;根据知识图谱、所有对象和多个历史点击对象确定候选推荐对象集,候选推荐对象集包括上述多个历史点击对象和第二邻居对象,该第二邻居对象包括在知识图谱中与多个历史点击对象中每个历史点击对象m阶内相邻的对象,所有对象包括多个历史点击对象及其每个历史点击对象的第一邻居对象;m为大于0的整数;根据当前状态参数计算得到候选推荐对象集中每个候选推荐对象的期望值,并将最大期望值对应的候选推荐对象确定为目标推荐对象。
其中,历史点击对象为在此之前推荐给用户的,且被用户点击过的对象。比如向用户推荐的对象为应用,且用户点击下载过该应用或者用户点击查看该应用的详情,则该应用为历史点击对象。
可选地,期望值可以为期望收益、可以为Q值,还可以为概率。
通过基于历史点击对象及根据知识图谱得到的该历史点击对象的第一邻居对象得到的当前状态参数,能够更好地捕捉用户的兴趣爱好,提高了推荐结果的精确性;并且基于知识图谱筛选出有效的推荐对象候选集,从而不需要遍历整个动作空间,也提高了推荐效率。
在一个可能的实施例中,根据多个历史点击对象及其每个历史点击对象的第一邻居对象获取当前状态参数,包括:
根据多个历史点击对象中的每个历史点击对象及该历史点击对象的第一邻居对象计算得到该历史点击对象的目标特征向量;根据多个历史点击对象的目标特征向量获取当前状态参数。
进一步地,根据多个历史点击对象中的每个历史点击对象及该历史点击对象的第一邻居对象计算得到该历史点击对象的目标特征向量,包括:
将多个历史点击对象中每个历史点击对象及其第一邻居对象分别映射成一个向量,以得到该历史点击对象的特征向量及其第一邻居对象的特征向量;根据多个历史点击对象中每个历史点击对象的第一邻居对象的特征向量计算得到该历史点击对象的邻居特征向量;根据多个历史点击对象中每个历史点击对象的特征向量和邻居特征向量计算得到该历史点击对象的目标特征向量。
其中,多个历史点击对象中任一历史点击对象v的邻居特征向量为:
Figure BDA0002424042320000021
N(v)表示与历史点击对象v在知识图谱上k阶内相邻的对象,即历史点击对v的第一邻居对象,|N(v)|为与历史点击对象v在知识图谱上k阶内相邻的对象的个数,
Figure BDA0002424042320000022
为与历史点击对象v在知识图谱上一阶相邻的对象中任一邻居对象u的特征向量。
在得到历史点击对象v的邻居特征向量后,根据历史点击对象v的特征向量
Figure BDA0002424042320000023
及其邻居特征向量
Figure BDA0002424042320000024
得到历史点击对象v的目标特征向量。其中,历史点击对象v的目标特征向量为:
Figure BDA0002424042320000025
其中,
Figure BDA0002424042320000026
为历史点击对象v的特征向量,Wk和Bk为权值,σ为激活函数。
在一个可行的实施例中,根据多个历史点击对象及其每个历史点击对象的第一邻居对象获取当前状态参数,包括:
将多个历史点击对象中每个历史点击对象及其第一邻居对象输入到状态生成模型中进行计算,以得到当前状态参数;
其中,状态生成模型包括图卷积网络GCN和门控循环单元GRU,将多个历史点击对象及多个历史点击对象中每个历史点击对象及其第一邻居对象输入到状态生成模型中进行计算,以得到当前状态参数,包括:
将多个历史点击对象中每个历史点击对象及该历史点击对象的第一邻居对象输入到GCN中进行计算,以得到该历史点击对象的目标特征向量;将多个历史点击对象的目标特征向量输入到GRU中进行计算,以得到当前状态参数。
在一个可行的实施例中,根据当前状态参数计算得到候选推荐对象集中每个候选推荐对象的期望值,包括:
将当前状态参数和候选推荐对象集中每个候选推荐对象输入到选择策略模型中进行计算,以得到每个候选推荐对象的期望值,
其中,选择策略模型包括Value网络或advantage网络。
当上述期望值为Q值时,候选推荐对象的Q值可表示为:
Figure BDA0002424042320000031
其中,Q*(st+1,at+1)表示候选推荐对象在未来可得到的长期收益,γ表示对未来长期收益的折扣率,rt表示该候选推荐对象带来的即刻收益,st为当前状态参数,st+1为下一时刻的状态参数,at为当前候选推荐对象,at+1为下一时刻的候选推荐对象。
在一个可行的实施例中,获取多个历史点击对象及多个历史点击对象中每个历史点击对象的第一邻居对象之前,本申请的方法还包括:
获取状态生成模型和选择策略模型,其中,状态生成模型和选择策略模型是联合训练得到的。
在一个可行的实施例中,状态生成模型和选择策略模型是联合训练得到的,具体包括:
将多个对象样本输入到所述状态生成模型中进行计算,以得到训练状态参数;根据多个对象样本获取多个候选对象样本;将多个候选对象样本和训练状态参数输入到选择策略模型中进行计算,以得到多个候选对象样本中每个候选对象样本的期望值,并将最大期望值对应的候选对象样本确定为目标对象样本;根据多个对象样本对应的推荐对象、目标对象样本和损失函数确定损失值,并根据损失值调整状态生成模型和选择策略模型中的参数。
通过联合训练得到状态生成模型和选择策略模型,提高了模型训练效率和模型的精度。
第二方面,本申请实施例提供一种基于知识图谱的推荐装置,包括:
获取单元,用于获取多个历史点击对象及该多个历史点击对象中每个历史点击对象的第一邻居对象,每个历史点击对象的第一邻居对象包括在知识图谱上与该历史点击对象k阶内相邻的对象;k为大于0的整数;根据多个历史点击对象和每个历史点击对象的第一邻居对象获取当前状态参数;
确定单元,用于根据知识图谱、所有对象和多个历史点击对象确定候选推荐对象集,候选推荐对象集包括上述多个历史点击对象和第二邻居对象,该第二邻居对象包括在知识图谱中与多个历史点击对象中每个历史点击对象m阶内相邻的对象;m为大于0的整数;所有对象包括多个历史点击对象及其每个历史点击对象的第一邻居对象;
计算单元,用于根据当前状态参数计算得到候选推荐对象集中每个候选推荐对象的期望值,
确定单元,还用于将最大期望值对应的候选推荐对象确定为目标推荐对象。
可选地,期望值可以为期望收益、可以为Q值,还可以为概率。
在一个可行的实施例中,在根据多个历史点击对象及其每个历史点击对象的第一邻居对象获取当前状态参数的方面,获取单元具体用于:
根据多个历史点击对象中的每个历史点击对象及该历史点击对象的第一邻居对象计算得到该历史点击对象的目标特征向量;根据多个历史点击对象的目标特征向量获取当前状态参数。
在一个可行的实施例中,在根据多个历史点击对象中的每个历史点击对象及该历史点击对象的邻居对象计算得到该历史点击对象的目标特征向量的方面,获取单元具体用于:
将多个历史点击对象中每个历史点击对象及其第一邻居对象分别映射成一个向量,以得到该历史点击对象的特征向量及其第一邻居对象的特征向量;根据多个历史点击对象中每个历史点击对象的第一邻居对象的特征向量计算得到该历史点击对象的邻居特征向量;根据多个历史点击对象中每个历史点击对象的特征向量和邻居特征向量计算得到该历史点击对象的目标特征向量。
在一个可行的实施例中,在根据多个历史点击对象及多个历史点击对象中每个历史点击对象的第一邻居对象获取当前状态参数的方面,获取单元用于:
将多个历史点击对象及其每个历史点击对象的第一邻居对象输入到状态生成模型中进行计算,以得到当前状态参数;
其中,状态生成模型包括图卷积网络GCN和门控循环单元GRU,将多个历史点击对象及多个历史点击对象中每个历史点击对象及其第一邻居对象输入到状态生成模型中进行计算,以得到当前状态参数,包括:
将多个历史点击对象中每个历史点击对象及该历史点击对象的第一邻居对象输入到GCN中进行计算,以得到该历史点击对象的目标特征向量;将多个历史点击对象的目标特征向量输入到GRU中进行计算,以得到当前状态参数。
在一个可行的实施例中,计算单元具体用于:
将当前状态参数和候选推荐对象集中每个候选推荐对象输入到选择策略模型中进行计算,以得到候选推荐对象的期望值,其中,选择策略模型包括Value网络或advantage网络。
在一个可行的实施例中,获取单元还用于:
在获取多个历史点击对象及多个历史点击对象中每个历史点击对象的第一邻居对象之前,获取状态生成模型和选择策略模型,其中,状态生成模型和选择策略模型是联合训练得到的。
在一个可行的实施例中,状态生成模型和选择策略模型是联合训练得到的,具体包括:
将多个对象样本输入到所述状态生成模型中进行计算,以得到训练状态参数;根据多个对象样本获取多个候选对象样本;将多个候选对象样本和训练状态参数输入到选择策略模型中进行计算,以得到多个候选对象样本中每个候选对象样本的期望值,并将最大期望值对应的候选对象样本确定为目标对象样本;根据多个对象样本对应的推荐对象、目标对象样本和损失函数确定损失值,并根据损失值调整状态生成模型和选择策略模型中的参数。
第三方面,本申请实施例提供另一种推荐装置,包括:
存储器,用于存储指令;以及
与所述存储器耦合的处理器;
其中,当所述处理器执行所述指令时,所述指令致使所述处理器执行如第一方面所述的部分或者全部方法。
第四方面,本申请实施例提供一种芯片***,该芯片***应用于电子设备;所述芯片***包括一个或多个接口电路,以及一个或多个处理器;所述接口电路和所述处理器通过线路互联;所述接口电路用于从所述电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括所述存储器中存储的计算机指令;当所述处理器执行所述计算机指令时,所述电子设备执行如第一方面所述的部分或者全部方法。
第五方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如第一方面所述的部分或者全部方法。
第六方面,本申请实施例提供一种计算机程序产品,包括计算机指令,当所述计算机指令在推荐装置上运行时,使得所述推荐装置执行如第一方面所述的部分或者全部方法。
可以看出,在本申请实施例的方案中,通过基于历史点击对象及其邻居对象得到当前状态参数,使得当前状态参数不仅包含用户的历史行为偏好,而且还包含了邻居对象的信息,提高了模型的表征范围和能力,能更加准确地捕捉用户兴趣爱好;通过基于知识图谱筛选出有效的候选推荐对象集,从而不需要遍历整个动作空间,既能提高训练效率,也提高了预测的效率;采样效率同时也得到提升,通过提高样本的利用率,使得模型用更少的样本就能训练出与其他模型一样的效果。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为一种知识图谱示意图;
图1b为本申请实施例提供的一种基于强化学习的推荐***框架的示意图;
图2为本申请实施例提供的一种推荐方法的流程示意图;
图3为在知识图谱下一阶对象和二阶对象的示意图;
图4为本申请实施例提供的一种GRU网络的原理示意图;
图5为本申请实施例提供的另一种知识图谱示意图;
图6为本申请实施例提供的一种推荐装置的结构示意图;
图7为本申请实施例提供的另一种推荐装置的结构示意图。
具体实施方式
下面结合附图对本申请的实施例进行描述。
首先介绍下基于强化学习的推荐方法的工作原理。当接收到用户触发的请求后,基于强化学习的推荐***根据该请求和对应的信息生成一个推荐***状态参数(st),并根据该推荐***状态参数确定一个推荐对象(如推荐一个物品),并将该选定的推荐对象发送给用户,用户接收到推荐对象后,会针对该推荐对象给出一定的行为(如点击、下载等),推荐***基于用户给出的行为生成一个数值,这个数值叫做***奖励值;根据该奖励值及推荐对象生成下一推荐***状态参数(st+1),然后从当前推荐***状态参数(st)跳转到下一个推荐***状态参数(st+1)。这个过程反复进行,使得***推荐结果最终越来越贴合用户的需求。
常见的知识图谱是一种多关系图,包含了多种类型的节点和多种类型的边,通常用“实体(entity)”来表示知识图谱里的节点,用“关系(relation)”来表示知识图谱里的边。图1a为一个简单的知识图谱示意图。如图1a所示,该知识图谱中的实体包含“人”和“公司”,关系有“朋友”,“任职”等。
本申请实施例中的推荐方法可以应用各种不同的应用场景,比如手机应用市场、内容平台的内容推荐,无人驾驶和游戏等等。先以手机应用市场的APP推荐为例,进行示例性说明。当用户打开手机应用市场,就会触发应用市场给出向用户推荐应用,应用市场就会根据用户历史的下载点击等行为,用户和应用自身特征等特征信息(即推荐***状态参数),给用户推荐一个或者一组应用(即目标推荐对象),应用自身特征包括应用类型、开发者信息、开发时长等特征;用户对应用市场推荐的应用给出一定的行为;根据用户的行为获取奖励值。奖励的定义根据具体应用场景。比如在手机应用市场,奖励值可以定义为下载量,点击量或者用户在应用内部付费金额等等。应用市场的目标是通过强化学习使得***推荐应用越来越贴合用户的需求,同时也提高了应用市场的收益。
参见附图1b,本申请实施例提供了一种推荐***架构100。数据采集设备160用于从网络中采集多个训练样本数据并存入数据库130,训练设备120基于数据库130中维护的训练样本数据生成状态生成模型/选择策略模型101。计算模块111根据状态生成模型/选择策略模型101中的状态生成模型及多个历史点击对象和该多个历史点击对象中每个历史点击对象的第一邻居对象确定当前状态参数,并基于多个历史点击对象获取多个候选推荐对象,然后再根据选择策略模型及当前状态参数,从该多个候选推荐对象中确定出目标推荐对象,并将该目标图像对象反馈给用户。下面将更详细地描述训练设备120如何基于训练样本数据得到状态生成模型/选择策略模型101。
本申请实施中的模型(包括状态生成模型/选择策略模型101)可以通过神经网络来实现,例如全连接神经网络、深度神经网络等。其中深度神经网络中的每一层的工作可以用数学表达式
Figure BDA0002424042320000061
来描述。其中,W为权重,
Figure BDA0002424042320000062
为输入向量(即输入神经元),b为偏置数据,
Figure BDA0002424042320000063
为输出向量(即输出神经元),a为常数。从物理层面深度神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括:1、升维/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由
Figure BDA0002424042320000064
完成,4的操作由+b完成,5的操作则由a()来实现。这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合。其中,W是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量W决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重W控制着如何变换空间。训练深度神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。因此,深度神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objectivefunction),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
在此需要说明的是,状态生成模型包括图卷积网络GCN和GRU网络,状态生成模型和选择策略模型(即GCN、GRU网络和选择策略模型)是联合训练得到的。比如,训练设备120将多个历史点击对象输入到状态生成模型中,得到用户状态参数;然后通过选择策略模型和用户状态参数从多个候选推荐对象中获取目标推荐对象,该多个候选推荐对象是基于多个历史点击对象得到的。训练设备120根据目标推荐对象与该多个历史点击对象对应的历史点击对象计算,及根据损失函数计算损失值,并基于该损失值调整GCN、GRU网络和选择策略模型中的参数;反复进行上述操作,以得到训练状态生成模型和选择策略模型的目的。
训练设备120得到的状态生成模型/选择策略模型101可以应用不同的***或设备中。在附图1b中,执行设备110配置有I/O接口112,与外部设备进行数据交互,比如向用户设备140发送目标推荐对象,“用户”可以通过用户设备140向I/O接口112输出用户的点击对象。
执行设备110可以调用数据存储***150中存储的多个历史点击对象确定目标推荐对象,也可以将该目标推荐对象存入数据存储***150中。
计算模块111使用状态生成模型/选择策略模型101进行推荐。具体地,计算模块111获取多个历史点击后,通过状态生成模型对该多个历史点击对象确定用于当前状态参数,然后将该当前状态参数和多个候选推荐对象输入到选择策略中进行计算,得到多个候选推荐对象中每个推荐对象的Q值,将最大Q值对应的候选推荐对象确定为目标推荐对象。
最后,I/O接口112将目标推荐对象返回给用户设备140,以提供给用户。
更深层地,训练设备120可以针对不同的目标,基于不同的数据生成相应的状态生成模型/选择策略模型101,以给用户提供更佳的结果。
在附图1b中所示情况下,用户可以在用户设备140查看执行设备110输出的目标推荐对象,具体的呈现形式可以是显示、声音、动作等具体方式。用户设备140也可以作为数据采集端将采集到训练样本数据存入数据库130。
值得注意的,附图1b仅是本申请实施例提供的一种***架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图1b中,数据存储***150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储***150置于执行设备110中。
训练设备120从数据库130中获取采样得到一个或多个回合的推荐信息,该推荐信息包括目标推荐对象和用户点击对象,并根据该一个或多个回合的推荐信息训练状态生成模型/选择策略模型101。
在一个可能的实施例中,上述状态生成模型和选择策略模型的训练是离线进行的,即训练设备120和数据库独立于用户设备140和执行设备110;比如训练设备120是一个第三方服务器,在执行设备110在进行工作之前,从第三方服务器中获取上述状态生成模型和选择策略模型。
在一个可能的实施例中,上述训练设备120与执行设备110集成在一起的,且执行设备110置于用户设备140中的。
在获取状态生成模型和选择策略后,执行设备110从数据存储***150中获取多个历史点击对象,并通过状态生成模型对多个历史点击对象进行计算,以生成当前状态参数,然后通过选择策略模型对该当前状态参数及多个候选推荐对象进行处理,以得到向用户推荐的目标推荐对象。用户针对该目标推荐对象给出反馈,是否点击目标推荐对象;该用户点击的对象(即点击对象)被存储到上述数据库130中,还可以被执行设备110存储到数据存储***150中,用于进行下一推荐对象。
在一种可能的实施例中,上述推荐***架构只包括数据库130,不包括数据存储***150。用户设备140接收到执行设备110通过I/O接口112输出的目标推荐对象后,用户设备140将该目标推荐对象及点击对象存储到数据库130中,以训练上述状态生成模型/选择策略模型101。
参见图2,图2为本申请实施例提供的一种基于知识图谱的推荐方法的流程示意图。
如图2所示,该方法包括:
S201、获取多个历史点击对象和该多个历史点击对象中每个历史点击对象的第一邻居对象。
其中,每个历史点击对象的第一邻居对象包括在知识图谱上与该历史点击对象k阶内相邻的对象。历史点击对象为在此之前向用户推荐的,且用户点击过的对象。比如向用户推荐的对象为应用,且用户点击下载过该应用或者用户点击查看该应用的详情,则该应用为历史点击对象。
举例说明,图3中的左图给出了历史点击对象0的知识图谱;图3中的右图给出了与历史点击对象0的二阶相邻的对象。如图3中的右图所示,与历史点击对象的0一阶相邻的对象包括对象1、2、3、4和6,与历史点击对象0的二阶相邻的对象包括对象6、0、7、3、2、4、12、11、9、5、1和8。对象1的一阶相邻的对象包括对象6和0,对象2的一阶相邻的对象包括对象0、7和3,对象3的一阶相邻的对象包括对象2、4和12,对象4的一阶相邻的对象包括对象3、11、9和5,对象6的一阶相邻的对象包括对象1和8。由上述描述可知,历史点击对象0的一阶相邻的对象的一阶相邻的对象为历史点击对象0的二阶相邻的对象。在知识图谱中与历史点击对象0的2阶相邻的对象包括历史点击对象0的一阶相邻的对象和二阶相邻的对象。
其中,历史点击对象v的k阶内的邻居对象中的k阶用于表征k阶内的邻居对象与历史点击对象v的关联程度,k值越大,对应的关联程度越低。比如历史点击对象v为血战钢锯岭(Hacksaw Ridge),则历史点击对象v的一阶邻居对象可以包括珍珠港(Pearl Harbor)、父辈的旗帜(Flags of Our Fathers)等战争片,历史点击对象v的一阶邻居对象可以包括血战钢锯岭的导演梅尔·吉布森(Mel Columcille Gerard Gibson)所导演的电影,比如勇敢的心(Braveheart)、启示录(Apocalypto)和耶稣受难记(The Passion of the Christ)等。
在此需要说明的是,k的取值可以根据不同情况人为设定,比如可以减小m值来减小邻居对象的数量,从而减小了计算邻居对象的特征向量所需的时间,进而提高了推荐的效率。
S202、根据多个历史点击对象中每个历史点击对象及其第一邻居对象获取当前状态参数。
可选地,获取多个历史点击对象中每个历史点击对象的特征向量和邻居特征向量,其中,每个历史点击对象的邻居特征向量是根据该历史点击对象的第一邻居对象的特征向量得到的;根据多个历史点击对象中每个历史点击对象的特征向量和邻居特征向量计算得到该历史点击对象的目标特征向量;根据多个历史点击对象的目标特征向量计算得到当前状态参数。
其中,多个历史点击对象中任一历史点击对象v的邻居特征向量为:
Figure BDA0002424042320000091
N(v)表示与历史点击对象v在知识图谱上k阶内相邻的对象,即历史点击对v的第一邻居对象,|N(v)|为与历史点击对象v在知识图谱上k阶内相邻的对象的个数,
Figure BDA0002424042320000092
为与历史点击对象v在知识图谱上一阶相邻的对象中任一邻居对象u的特征向量。由此可以看出,
Figure BDA0002424042320000093
为融合了与历史点击对象v在知识图谱上k阶相邻的对象信息的向量。
在得到历史点击对象v的邻居特征向量后,根据历史点击对象v的特征向量及其邻居特征向量得到历史点击对象v的目标特征向量。具体地,将历史点击对象v的特征向量及其邻居特征向量输入到全连接网络中进行计算,以得到历史点击对象v的目标特征向量,历史点击对象v的目标特征向量为:
Figure BDA0002424042320000094
其中,
Figure BDA0002424042320000095
为历史点击对象v的特征向量,Wk和Bk为全连接网络中的权值,σ为全连接网络的激活函数。
在一个可能的实施例中,根据多个历史点击对象及其每个历史点击对象的第一邻居对象获取当前状态参数,包括:
根据多个历史点击对象中的每个历史点击对象及该历史点击对象的第一邻居对象计算得到该历史点击对象的目标特征向量;根据多个历史点击对象的目标特征向量获取当前状态参数。
进一步地,根据多个历史点击对象中的每个历史点击对象及该历史点击对象的第一邻居对象计算得到该历史点击对象的目标特征向量,包括:
将多个历史点击对象中每个历史点击对象及其第一邻居对象分别映射成一个向量,以得到该历史点击对象的特征向量及其第一邻居对象的特征向量;根据多个历史点击对象中每个历史点击对象的第一邻居对象的特征向量计算得到该历史点击对象的邻居特征向量;根据多个历史点击对象中每个历史点击对象的特征向量和邻居特征向量计算得到该历史点击对象的目标特征向量。
在一个可行的实施例中,根据多个历史点击对象及其每个历史点击对象的第一邻居对象获取当前状态参数,包括:
将多个历史点击对象中每个历史点击对象及其第一邻居对象输入到状态生成模型中进行计算,以得到当前状态参数;
其中,状态生成模型包括GCN和GRU,将多个历史点击对象及每个历史点击对象的第一邻居对象输入到状态生成模型中进行计算,以得到当前状态参数,包括:
将多个历史点击对象及其中每个历史点击对象及其第一邻居对象输入到GCN中进行计算,以得到多个历史点击对象中每个历史点击对象的目标特征向量;
将多个历史点击对象的目标特征向量输入到GRU中进行计算,以得到当前状态参数。
在获取多个历史点击对象中每个历史点击对象的目标特征向量后,将该多个历史点击对象的目标特征向量输入到GRU网络中进行计算,以得到当前状态参数。
具体地,如图4所示,假设历史点击对象的数量为n,则将历史点击对象1的目标特征向量输入到GRU网络中进行计算,得到第一中间向量,再将第一中间向量与历史点击对象2的目标特征向量进行拼接,以得到第一拼接向量;将第一拼接向量输入到GRU网络中进行计算,以得到第二中间向量;如此反复,在得到第n-1中间向量后,将第n-1中间向量与历史点击对象n的目标特征向量进拼接,以得到第n-1拼接向量;将第n-1拼接向量输入到GRU网络中进行计算,以得到当前状态参数。
举例说明历史点击对象的特征向量与中间向量进行拼接过程。假设历史点击对象的特征向量为(0,0,1),中间向量为(3,0),将该历史点击对象的特征向量(0,0,1)和该中间向量(3,0)进行拼接,得到的拼接向量为(0,0,1,3,0)。
如在本文中所提到的术语“向量”对应于与相应的向量维度相关联的、具有两个或更多个元素的任何信息。
S203、根据知识图谱、所有对象和多个历史点击对象确定候选推荐对象集。
其中,候选推荐对象集包括上述多个历史点击对象与多个历史点击对象中每个历史点击对象在知识图谱中m阶内相邻的对象,m的取值可以根据不同情况人为设定,比如说根据不同的应用场景进行设定或者不同的需求来设定,具体地,比如为了提高推荐效率,可以减小m值来减小候选推荐对象集中推荐对象的个数。上述所有对象为某一类别或者某一领域的所有元素,比如对象为应用,则所有对象包括应用商店中的所有应用。所有对象当然还可以其他分类下的所有元素,本申请不做具体限定。
以给用户推荐电影为例进行说明,知识图谱如图5所示,图中有“电影”、“分类”、“国家”、“语言”等节点,有“属于这个国家”、“属于这个类型”等关系。如电影“河内希尔顿(The Hanoi Hilton)”属于戏剧片、战争片类别,是来自美国的英语电影。假设用户看过“五年之约(Five-Year Engagement)”和“金属党(Metalhead)”两部电影,即该多个历史点击对象包括“五年之约”和“金属党”。若候选推荐对象集包括与历史推荐对象在知识图谱上2阶相邻的对象,则候选推荐对象集包括“五年之约”、“金属党”和“河内希尔顿”;再假设用户看过“血战莱茵河(Decision Before Dawn)”和“克里斯蒂的百万富翁(Millionaire forChristy)”两部电影,即该多个历史点击对象包括“血战莱茵河”和“克里斯蒂的百万富翁”。若候选推荐对象集包括与历史推荐对象在知识图谱上2阶相邻的对象,则候选推荐对象集包括“血战莱茵河”、“克里斯蒂的百万富翁”、“河内希尔顿”和“楚秦周(Chu Chin Chow)”
S204、根据当前状态参数计算得到候选推荐对象集中每个候选推荐对象的期望值,并将最大期望值对应的候选推荐对象确定为目标推荐对象。
可选地,上述期望值包括期望收益、Q值或者概率。
具体地,将当前状态参数和候选推荐对象集中每个候选推荐对象输入到选择策略模型中进行计算,以得到每个候选推荐对象的期望值。在一种可能的实现方式中,当期望值为Q值,该Q值用于表示该候选推荐对象的长期收益。其中,候选推荐对象的Q值为:
Figure BDA0002424042320000111
其中,Q*(st+1,at+1)表示候选推荐对象在未来可得到的长期收益,γ表示对未来长期收益的折扣率,rt表示该候选推荐对象带来的即刻收益,st为当前状态参数,st+1为下一时刻的状态参数,at为当前候选推荐对象,at+1为下一时刻的候选推荐对象。
在获取候选推荐对象集中每个候选推荐对象的Q值后,将最大Q值对应的候选推荐对象确定为目标推荐对象。
其中,选择策略模型包括Value网络或advantage网络。
Value网络,用于对前端输出的对象或动作进行评估,并给出一个评估值,比如上述期望值等。
advantage网络,用于从前端输出的对象或动作中,选择出一个最优的对象或动作。
进一步地,在确定目标推荐对象后,将该目标推荐对象推动给用户。当用户点击该目标推荐对象后,该目标推荐对象变成一个新的历史推荐对象,作为下次进行推荐的基础。
需要说明的是,本申请的方案可适用于各种推荐场景,比如在视频应用中进行视频推荐、在音乐应用中进行音乐推荐;在购物应用中进行商品推荐等等。
以给用户推荐电影为例进行说明,知识图谱如图5所示,图中有“电影”、“分类”、“国家”、“语言”等节点,有“属于这个国家”、“属于这个类型”等关系。如电影“河内希尔顿(The Hanoi Hilton)”属于戏剧片、战争片类别,是来自美国的英语电影。假设用户看过“五年之约(Five-Year Engagement)”和“金属党(Metalhead)”两部电影,即该多个历史点击对象包括“五年之约”和“金属党”。将电影“五年之约”和“金属党”输入到状态生成模型中进行计算,得到当前状态参数。其中,状态生成模型包括GCN和GRU网络,通过GCN将“五年之约”和“金属党”分别映射成一个向量,该向量称为目标特征向量,将“五年之约”的目标特征向量和“金属党”的目标特征向量输入到GRU网络中进行计算,得到当前状态参数。
若候选推荐对象集包括与历史推荐对象在知识图谱上2阶相邻的对象,则候选推荐对象集包括“五年之约”、“金属党”和“河内希尔顿”。
通过选择策略模型及当前状态参数对“五年之约”、“金属党”和“河内希尔顿”三部电影进行评,得到三个Q值,该三个Q值分别为0.1,0.2和0.3;将电影“河内希尔顿”确定为目标推荐对象,并将该电影“河内希尔顿”推荐给用户。
在一种可能的实施例中,上述状态生成模型基于GCN和GRU实现的。GRU是一种特征的循环神经网络(recurrent neural networks,RNN)。
需要说明的是,上述RNN是用来处理序列数据的。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然对很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,RNN能够对任何长度的序列数据进行处理。对于RNN的训练使用误差反向传播算法,不过有一点区别:即,如果将RNN进行网络展开,那么其中的参数,如权重W是共享的;而如上举例上述的传统神经网络却不是这样。并且在使用梯度下降算法中,每一步的输出不仅依赖当前步的网络,还依赖前面若干步网络的状态。该学习算法称为基于时间的反向传播算法(back propagation through time,BPTT)。
RNN旨在让机器像人一样拥有记忆的能力。因此,RNN的输出就需要依赖当前的输入信息和历史的记忆信息。
进一步地,上述循环神经网络包括简单循环单元(simple recurrent unit,SRU)网络。该SRU网路具有简单快速并更具解释性等优点。
需要指出的是,上述循环神经网络还可以采用其他的具体实现形式。
在一个可选地实施例中,在进行推荐之前,获取状态生成模型和选择策略模型,其中,状态生成模型和选择策略模型是联合训练得到的。
在此需要说明的是,状态生成模型和选择策略模型是联合训练得到的具体是指,在训练状态生成模型和选择策略模型使用一个损失函数。
具体地,获取训练样本数据,该训练样本数据中包括多个对象样本和对应的推荐对象,将多个对象样本输入到状态生成模型中进行计算,以得到训练状态参数;基于多个对象样本得到多个候选对象样本;将多个候选对象样本和训练状态参数输入到选择策略模型中进行计算,以得到多个候选对象样本中每个候选对象样本的期望值,将最大期望值对应的候选样本对象确定为目标对象样本;最后根据损失函数、多个对象样本对应的推荐对象和目标对象样本确定损失值,并基于损失值调整状态生成模型和选择策略模型中的参数,如此反复,以达到训练状态生成模型和选择策略模型的目的。
通过Book-crossing数据集和Movielens-20M数据集对本申请的方案进行了测试,得到如下结果:
Figure BDA0002424042320000131
表1数据集的统计信息
测试设置如下:
数据集中的训练集和测试集按照用户切分,80%的用户做训练集,20%的用户做测试集。
在预测精度上,我们选取业界公认的测试指标Precision(越高越好),Recall(越高越好)。同时我们对比各个模型所带来的奖励(reward)。在衡量Precision,Recall,列表长度设置为32,当物品打分高于3.0分时,认为是相关,反之则是不相关。
奖励定义为用户对物品的本次打分与用户历史打分情况的加权:R(s,a)=rij+α×(cp-cn),其中rij表示用户i对物品j的打分(若数据集中无此分数,则默认为0),cp和cn表示连续正向得分个数和连续负向得分个数,α为权重。每个推荐回合(episode)长度设置为32。实验中,最大考虑2阶邻居对象。
经过测试,得到以下几个结论:
在预测精度上(precision,recall)和奖励(reward)上,本申请在两个真实数据集上都取得了最好的实验结果(p值小于0.05,表明该结果显著)。在模型训练和决策过程中,本申请的方案需要更少的样本达到相同的收益,本申请比现有工作有更加高效的样本采集效率,训练预测的时间复杂度更低。
可以看出,在本申请实施例的方案中,通过基于历史点击对象及其邻居对象得到当前状态参数,使得当前状态参数不仅包含用户的历史行为偏好,而且还包含了邻居对象的信息,提高了模型的表征范围和能力,能更加准确地捕捉用户兴趣爱好,提高了推荐对象的精确性;通过基于知识图谱筛选出有效的候选推荐对象集,从而不需要遍历整个动作空间,既能提高训练效率,也提高了预测的效率;采样效率同时也得到提升,通过提高样本的利用率,使得模型用更少的样本就能训练出与其他模型一样的效果。
参见图6,图6为本申请实施例提供的一种基于知识图谱的推荐装置的结构示意图。如图6所示,该推荐装置600包括:
获取单元601,用于获取多个历史点击对象及该多个历史点击对象中每个历史点击对象的第一邻居对象,每个历史点击对象的第一邻居对象包括在知识图谱上与该历史点击对象k阶内相邻的对象;k为大于0的整数;根据多个历史点击对象及其每个历史点击对象的第一邻居对象获取当前状态参数;
确定单元602,用于根据知识图谱、所有对象和多个历史点击对象确定候选推荐对象集,候选推荐对象集包括上述多个历史点击对象和第二邻居对象,该第二邻居对象包括在知识图谱中与多个历史点击对象中每个历史点击对象m阶内相邻的对象;m为大于0的整数;所有对象包括多个历史点击对象及其每个历史点击对象的第一邻居对象;
计算单元603,用于根据当前状态参数计算得到候选推荐对象集中每个候选推荐对象的期望值,
确定单元602,还用于将最大期望值对应的候选推荐对象确定为目标推荐对象。
可选地,期望值可以为期望收益、可以为Q值,还可以为概率。
在一个可行的实施例中,在根据多个历史点击对象及其每个历史点击对象的第一邻居对象获取当前状态参数的方面,获取单元601具体用于:
根据多个历史点击对象中的每个历史点击对象及该历史点击对象的第一邻居对象计算得到该历史点击对象的目标特征向量;根据多个历史点击对象的目标特征向量获取当前状态参数。
在一个可行的实施例中,在根据多个历史点击对象中的每个历史点击对象及该历史点击对象的邻居对象计算得到该历史点击对象的目标特征向量的方面,获取单元601具体用于:
将多个历史点击对象中每个历史点击对象及其第一邻居对象分别映射成一个向量,以得到每个历史点击对象的特征向量及其第一邻居对象的特征向量;根据多个历史点击对象中每个历史点击对象的第一邻居对象的特征向量计算得到该历史点击对象的邻居特征向量;根据多个历史点击对象中每个历史点击对象的特征向量和邻居特征向量计算得到该历史点击对象的目标特征向量。
在一个可行的实施例中,在根据多个历史点击对象及其每个历史点击对象的第一邻居对象获取当前状态参数的方面,获取单元601用于:
将多个历史点击对象及多个历史点击对象中每个历史点击对象及其第一邻居对象输入到状态生成模型中进行计算,以得到当前状态参数;
其中,状态生成模型包括GCN和GRU,将多个历史点击对象及多个历史点击对象中每个历史点击对象及其第一邻居对象输入到状态生成模型中进行计算,以得到当前状态参数,包括:
将多个历史点击对象中每个历史点击对象及该历史点击对象的第一邻居对象输入到GCN中进行计算,以得到该历史点击对象的目标特征向量;将多个历史点击对象的目标特征向量输入到GRU中进行计算,以得到当前状态参数。
在一个可行的实施例中,计算单元603具体用于:
将当前状态参数和候选推荐对象集中每个候选推荐对象输入到选择策略模型中进行计算,以得到候选推荐对象的期望值,其中,选择策略模型包括Value网络或advantage网络。
在一个可行的实施例中,获取单元601还用于:
在获取多个历史点击对象及多个历史点击对象中每个历史点击对象的第一邻居对象之前,获取状态生成模型和选择策略模型,其中,状态生成模型和选择策略模型是联合训练得到的。
在一个可行的实施例中,状态生成模型和选择策略模型是联合训练得到的,具体包括:
将多个对象样本输入到所述状态生成模型中进行计算,以得到训练状态参数;根据多个对象样本获取多个候选对象样本;将多个候选对象样本和训练状态参数输入到选择策略模型中进行计算,以得到多个候选对象样本中每个候选对象样本的期望值,并将最大期望值对应的候选对象样本确定为目标对象样本;根据多个对象样本对应的推荐对象、目标对象样本和损失函数确定损失值,并根据损失值调整状态生成模型和选择策略模型中的参数。
需要说明的是,上述各单元(获取单元601、确定单元602和计算单元603)用于执行上述步骤S201-S204所示方法的相关内容。
在本实施例中,推荐装置600是以单元的形式来呈现。这里的“单元”可以指特定专用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上获取单元601、确定单元602和计算单元603可通过图7所示的推荐装置的处理器700来实现。
如图7所示的推荐装置可以以图7中的结构来实现,该推荐装置700包括至少一个处理器701,至少一个存储器702以及至少一个通信接口703。处理器701、存储器702和通信接口703通过通信总线连接并完成相互间的通信。
通信接口703,用于与其他设备或通信网络通信,如以太网,无线接入网(radioaccess network,RAN),无线局域网(wireless local area networks,WLAN)等。
存储器702可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器702用于存储执行以上方案的应用程序代码,并由处理器701来控制执行。所述处理器701用于执行所述存储器702中存储的应用程序代码。
存储器702存储的代码可执行以上提供的一种基于知识图谱的推荐方法。
处理器701还可以采用或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的推荐方法或模型训练方法。
处理器701还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的推荐方法的各个步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。在实现过程中,本申请的状态生成模型和选择策略的训练方法的各个步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701还可以是通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及模块框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成本申请实施例的基于图谱的推荐方法。
通信接口703使用例如但不限于收发器一类的收发装置,来实现推荐装置与其他设备或通信网络之间的通信。例如,可以通过通信接口703获取历史点击对象及其邻居对象。
总线可包括在装置各个部件(例如,存储器702、处理器701、通信接口703)之间传送信息的通路。在一种可能的实施例中,处理器701具体执行以下步骤:
获取多个历史点击对象及多个历史点击对象中每个历史点击对象的第一邻居对象,每个历史点击对象的第一邻居对象包括在知识图谱上与该历史点击对象k阶内相邻的对象;k为大于0的整数;根据多个历史点击对象及其每个历史点击对象的第一邻居对象获取当前状态参数;根据知识图谱、所有对象和多个历史点击对象确定候选推荐对象集,候选推荐对象集包括多个历史点击对象和第二邻居对象,该第二邻居对象包括在知识图谱中与多个历史点击对象中每个历史点击对象m阶内相邻的对象;m为大于0的整数;所有对象包括多个历史点击对象及其每个历史点击对象的第一邻居对象;根据当前状态参数计算得到候选推荐对象集中每个候选推荐对象的期望值,并将最大期望值对应的候选推荐对象确定为目标推荐对象。
可选地,期望值可以为期望收益、可以为Q值,还可以为概率。
在一个可行的实施例中,在根据多个历史点击对象及其每个历史点击对象的第一邻居对象获取当前状态参数的方面,处理器701具体执行以下步骤:
根据多个历史点击对象中的每个历史点击对象及该历史点击对象的第一邻居对象计算得到该历史点击对象的目标特征向量;根据多个历史点击对象的目标特征向量获取当前状态参数。
在一个可行的实施例中,在根据多个历史点击对象中的每个历史点击对象及该历史点击对象的第一邻居对象计算得到该历史点击对象的目标特征向量的方面,处理器701具体执行以下步骤:
将多个历史点击对象中每个历史点击对象及其第一邻居对象分别映射成一个向量,以得到该历史点击对象的特征向量及其第一邻居对象的特征向量;根据多个历史点击对象中每个历史点击对象的第一邻居对象的特征向量计算得到该历史点击对象的邻居特征向量;根据多个历史点击对象中每个历史点击对象的特征向量和邻居特征向量计算得到该历史点击对象的目标特征向量。
在一个可行的实施例中,在根据多个历史点击对象及其每个历史点击对象的第一邻居对象获取当前状态参数的方面,处理器701具体执行以下步骤:
将多个历史点击对象及其每个历史点击对象的第一邻居对象输入到状态生成模型中进行计算,以得到当前状态参数;
其中,状态生成模型包括图卷积网络GCN和门控循环单元GRU,将多个历史点击对象及其每个历史点击对象的第一邻居对象输入到状态生成模型中进行计算,以得到当前状态参数,包括:
将多个历史点击对象中每个历史点击对象及该历史点击对象的第一邻居对象输入到GCN中进行计算,以得到该历史点击对象的目标特征向量;将多个历史点击对象的目标特征向量输入到GRU中进行计算,以得到当前状态参数。
在一个可行的实施例中,处理器701具体执行以下步骤:
将当前状态参数和候选推荐对象集中每个候选推荐对象输入到选择策略模型中进行计算,以得到候选推荐对象的期望值,其中,选择策略模型包括Value网络或advantage网络。
在一个可行的实施例,处理器701还具体执行以下步骤:
在获取多个历史点击对象及多个历史点击对象中每个历史点击对象的邻居对象之前,获取状态生成模型和选择策略模型,其中,状态生成模型和选择策略模型是联合训练得到的。
在一个可行的实施例中,状态生成模型和选择策略模型是联合训练得到的,具体包括:
将多个对象样本输入到所述状态生成模型中进行计算,以得到训练状态参数;根据多个对象样本获取多个候选对象样本;将多个候选对象样本和训练状态参数输入到选择策略模型中进行计算,以得到多个候选对象样本中每个候选对象样本的期望值,并将最大期望值对应的候选对象样本确定为目标对象样本;根据多个对象样本对应的推荐对象、目标对象样本和损失函数确定损失值,并根据损失值调整状态生成模型和选择策略模型中的参数。
本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述方法实施例中记载的任何一种推荐方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上上述,本说明书内容不应理解为对本申请的限制。

Claims (20)

1.一种基于知识图谱的推荐方法,其特征在于,包括:
获取多个历史点击对象及所述多个历史点击对象中每个历史点击对象的第一邻居对象,所述每个历史点击对象的第一邻居对象包括在知识图谱上与该历史点击对象k阶内相邻的对象;所述k为大于0的整数;
根据所述多个历史点击对象和所述每个历史点击对象的第一邻居对象获取当前状态参数;
根据所述知识图谱、所有对象和所述多个历史点击对象确定候选推荐对象集,所述候选推荐对象集包括所述多个历史点击对象和第二邻居对象,所述第二邻居对象包括在所述知识图谱中与所述多个历史点击对象中每个历史点击对象m阶内相邻的对象;所述m为大于0的整数;所述所有对象包括所述多个历史点击对象及其每个历史点击对象的第一邻居对象;
根据所述当前状态参数计算得到所述候选推荐对象集中每个候选推荐对象的期望值,并将最大期望值对应的候选推荐对象确定为目标推荐对象。
2.根据权利要求1所述的方法,其特征在于,所述期望值包括Q值、期望收益或者概率。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述多个历史点击对象及所述每个历史点击对象的第一邻居对象获取当前状态参数,包括:
根据所述多个历史点击对象中的每个历史点击对象及该历史点击对象的第一邻居对象计算得到该历史点击对象的目标特征向量;
根据所述多个历史点击对象的目标特征向量获取所述当前状态参数。
4.根据权利要求3所述的方法,其特征在于,所述根据所述多个历史点击对象中的每个历史点击对象及该历史点击对象的第一邻居对象计算得到该历史点击对象的目标特征向量,包括:
将所述每个历史点击对象及其第一邻居对象分别映射成一个向量,以得到每个历史点击对象的特征向量及其第一邻居对象的特征向量;
根据所述每个历史点击对象的第一邻居对象的特征向量计算得到该历史点击对象的邻居特征向量;
根据所述每个历史点击对象的特征向量和所述邻居特征向量计算得到所述每个历史点击对象的目标特征向量。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述多个历史点击对象及所述每个历史点击对象的第一邻居对象获取当前状态参数,包括:
将所述多个历史点击对象中每个历史点击对象及其第一邻居对象输入到状态生成模型中进行计算,以得到所述当前状态参数;
其中,所述状态生成模型包括图卷积网络GCN和门控循环单元GRU,所述将所述多个历史点击对象及所述多个历史点击对象中每个历史点击对象及其第一邻居对象输入到状态生成模型中进行计算,以得到所述当前状态参数,包括:
将所述多个历史点击对象中每个历史点击对象及该历史点击对象的第一邻居对象输入到所述GCN中进行计算,以得到该历史点击对象的目标特征向量;
将所述多个历史点击对象的目标特征向量输入到所述GRU中进行计算,以得到所述当前状态参数。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述根据所述当前状态参数计算得到所述候选推荐对象集中每个候选推荐对象的期望值,包括:
将所述当前状态参数和所述候选推荐对象集中每个候选推荐对象输入到选择策略模型中进行计算,以得到所述候选推荐对象的期望值,
其中,所述选择策略模型包括Value网络或advantage网络。
7.根据权利要求6所述的方法,其特征在于,所述获取多个历史点击对象及所述多个历史点击对象中每个历史点击对象的第一邻居对象之前,所述方法还包括:
获取所述状态生成模型和所述选择策略模型,其中,所述状态生成模型和所述选择策略模型是联合训练得到的。
8.根据权利要求7所述的方法,其特征在于,所述状态生成模型和所述选择策略模型是联合训练得到的,具体包括:
将多个对象样本输入到所述状态生成模型中进行计算,以得到训练状态参数;
根据所述多个对象样本获取多个候选对象样本;
将所述多个候选对象样本和训练状态参数输入到选择策略模型中进行计算,以得到多个候选对象样本中每个候选对象样本的期望值,并将最大期望值对应的候选对象样本确定为目标对象样本;
根据所述多个对象样本对应的推荐对象、目标对象样本和损失函数确定损失值,并根据所述损失值调整所述状态生成模型和所述选择策略模型中的参数。
9.一种基于知识图谱的推荐装置,其特征在于,包括:
获取单元,用于获取多个历史点击对象及所述多个历史点击对象中每个历史点击对象的第一邻居对象,所述每个历史点击对象的第一邻居对象包括在知识图谱上与该历史点击对象k阶内相邻的对象;所述k为大于0的整数;根据所述多个历史点击对象和所述每个历史点击对象的第一邻居对象获取当前状态参数;
确定单元,用于根据所述知识图谱、所有对象和所述多个历史点击对象确定候选推荐对象集,所述候选推荐对象集包括所述多个历史点击对象和第二邻居对象,所述第二邻居对象包括在所述知识图谱中与所述多个历史点击对象中每个历史点击对象m阶内相邻的对象;所述m为大于0的整数;所述所有对象包括所述多个历史点击对象及其每个历史点击对象的第一邻居对象;
计算单元,用于根据所述当前状态参数计算得到所述候选推荐对象集中每个候选推荐对象的期望值,并将最大期望值对应的候选推荐对象确定为目标推荐对象。
10.根据权利要求9所述的装置,其特征在于,所述期望值包括Q值、期望收益或者概率。
11.根据权利要求9或10所述的装置,其特征在于,在所述根据所述多个历史点击对象及所述第一邻居对象获取当前状态参数的方面,所述获取单元具体用于:
根据所述多个历史点击对象中的每个历史点击对象及该历史点击对象的第一邻居对象计算得到该历史点击对象的目标特征向量;
根据所述多个历史点击对象的目标特征向量获取所述当前状态参数。
12.根据权利要求11所述的装置,其特征在于,在所述根据所述多个历史点击对象中的每个历史点击对象及该历史点击对象的第一邻居对象计算得到该历史点击对象的目标特征向量的方面,所述获取单元具体用于:
将所述每个历史点击对象及其第一邻居对象分别映射成一个向量,以得到每个历史点击对象的特征向量及其第一邻居对象的特征向量;
根据所述每个历史点击对象的第一邻居对象的特征向量计算得到该历史点击对象的邻居特征向量;
根据所述每个历史点击对象的特征向量和所述邻居特征向量计算得到所述每个历史点击对象的目标特征向量。
13.根据权利要求9-12任一项所述的装置,其特征在于,在所述根据所述多个历史点击对象及所述每个历史点击对象的第一邻居对象获取当前状态参数的方面,所述获取单元用于:
将所述多个历史点击对象中每个历史点击对象及其第一邻居对象输入到状态生成模型中进行计算,以得到所述当前状态参数;
其中,所述状态生成模型包括图卷积网络GCN和门控循环单元GRU,所述将所述多个历史点击对象及所述多个历史点击对象中每个历史点击对象及其第一邻居对象输入到状态生成模型中进行计算,以得到所述当前状态参数,包括:
将所述多个历史点击对象中每个历史点击对象及该历史点击对象的第一邻居对象输入到所述GCN中进行计算,以得到该历史点击对象的目标特征向量;
将所述多个历史点击对象的目标特征向量输入到所述GRU中进行计算,以得到所述当前状态参数。
14.根据权利要求9-13任一项所述的装置,其特征在于,所述计算单元具体用于:
将所述当前状态参数和所述候选推荐对象集中每个候选推荐对象输入到选择策略模型中进行计算,以得到所述候选推荐对象的期望值,
其中,所述选择策略模型包括Value网络或advantage网络。
15.根据权利要求14所述的装置,其特征在于,所述获取单元还用于:
在获取多个历史点击对象及所述多个历史点击对象中每个历史点击对象的第一邻居对象之前,获取所述状态生成模型和所述选择策略模型,其中,所述状态生成模型和所述选择策略模型是联合训练得到的。
16.根据权利要求15所述的装置,其特征在于,所述状态生成模型和所述选择策略模型是联合训练得到的,具体包括:
将多个对象样本输入到所述状态生成模型中进行计算,以得到训练状态参数;
根据所述多个对象样本获取多个候选对象样本;
将所述多个候选对象样本和训练状态参数输入到选择策略模型中进行计算,以得到多个候选对象样本中每个候选对象样本的期望值,并将最大期望值对应的候选对象样本确定为目标对象样本;
根据所述多个对象样本对应的推荐对象、目标对象样本和损失函数确定损失值,并根据所述损失值调整所述状态生成模型和选择策略模型中的参数。
17.一种推荐装置,其特征在于,包括:
存储器,用于存储指令;以及
处理器,与所述存储器耦合;
其中,当所述处理器执行所述指令时,执行如权利要求1-8任一项所述的方法。
18.一种芯片***,其特征在于,所述芯片***应用于电子设备;所述芯片***包括一个或多个接口电路,以及一个或多个处理器;所述接口电路和所述处理器通过线路互联;所述接口电路用于从所述电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括所述存储器中存储的计算机指令;当所述处理器执行所述计算机指令时,所述电子设备执行如权利要求1-8中任意一项所述方法。
19.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-8任一项所述的方法。
20.一种计算机程序产品,其特征在于,包括计算机指令,当所述计算机指令在推荐装置上运行时,使得所述推荐装置执行如权利要求1-8任一项所述的方法。
CN202010216920.2A 2020-03-24 2020-03-24 基于知识图谱的推荐方法及装置 Pending CN113449176A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010216920.2A CN113449176A (zh) 2020-03-24 2020-03-24 基于知识图谱的推荐方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010216920.2A CN113449176A (zh) 2020-03-24 2020-03-24 基于知识图谱的推荐方法及装置

Publications (1)

Publication Number Publication Date
CN113449176A true CN113449176A (zh) 2021-09-28

Family

ID=77806852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010216920.2A Pending CN113449176A (zh) 2020-03-24 2020-03-24 基于知识图谱的推荐方法及装置

Country Status (1)

Country Link
CN (1) CN113449176A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115330357A (zh) * 2022-10-09 2022-11-11 深圳市奇见科技有限公司 智能立体车库数据管理方法、装置、设备及存储介质
WO2023184185A1 (zh) * 2022-03-29 2023-10-05 西门子股份公司 应用程序的编排方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165350A (zh) * 2018-08-23 2019-01-08 成都品果科技有限公司 一种基于深度知识感知的信息推荐方法和***
CN109902706A (zh) * 2018-11-09 2019-06-18 华为技术有限公司 推荐方法及装置
CN110287335A (zh) * 2019-06-17 2019-09-27 桂林电子科技大学 基于知识图谱和用户长短期偏好的个性化景点推荐方法及装置
CN110458663A (zh) * 2019-08-06 2019-11-15 上海新共赢信息科技有限公司 一种车辆推荐方法、装置、设备及存储介质
CN110674394A (zh) * 2019-08-20 2020-01-10 腾讯科技(深圳)有限公司 一种基于知识图谱的信息推荐方法、装置及存储介质
CN110796313A (zh) * 2019-11-01 2020-02-14 北京理工大学 一种基于带权图卷积和项目吸引力模型的会话推荐方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165350A (zh) * 2018-08-23 2019-01-08 成都品果科技有限公司 一种基于深度知识感知的信息推荐方法和***
CN109902706A (zh) * 2018-11-09 2019-06-18 华为技术有限公司 推荐方法及装置
CN110287335A (zh) * 2019-06-17 2019-09-27 桂林电子科技大学 基于知识图谱和用户长短期偏好的个性化景点推荐方法及装置
CN110458663A (zh) * 2019-08-06 2019-11-15 上海新共赢信息科技有限公司 一种车辆推荐方法、装置、设备及存储介质
CN110674394A (zh) * 2019-08-20 2020-01-10 腾讯科技(深圳)有限公司 一种基于知识图谱的信息推荐方法、装置及存储介质
CN110796313A (zh) * 2019-11-01 2020-02-14 北京理工大学 一种基于带权图卷积和项目吸引力模型的会话推荐方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023184185A1 (zh) * 2022-03-29 2023-10-05 西门子股份公司 应用程序的编排方法及装置
CN115330357A (zh) * 2022-10-09 2022-11-11 深圳市奇见科技有限公司 智能立体车库数据管理方法、装置、设备及存储介质
CN115330357B (zh) * 2022-10-09 2022-12-23 深圳市奇见科技有限公司 智能立体车库数据管理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
Hung et al. Optimizing agent behavior over long time scales by transporting value
CN109902706B (zh) 推荐方法及装置
CN110490717B (zh) 基于用户会话及图卷积神经网络的商品推荐方法及***
CN111061946B (zh) 场景化内容推荐方法、装置、电子设备及存储介质
CN110717098B (zh) 基于元路径的上下文感知用户建模方法、序列推荐方法
CN112487278A (zh) 推荐模型的训练方法、预测选择概率的方法及装置
CN111242310B (zh) 特征有效性评估方法、装置、电子设备及存储介质
CN113256367B (zh) 用户行为历史数据的商品推荐方法、***、设备及介质
CN111506820B (zh) 推荐模型、方法、装置、设备及存储介质
CN110427560A (zh) 一种应用于推荐***的模型训练方法以及相关装置
CN110737730B (zh) 基于无监督学习的用户分类方法、装置、设备及存储介质
Huynh et al. Context-similarity collaborative filtering recommendation
CN111931054B (zh) 一种基于改进残差结构的序列推荐方法和***
CN110689110B (zh) 处理交互事件的方法及装置
CN114358657B (zh) 一种基于模型融合的岗位推荐方法及装置
CN113536105A (zh) 推荐模型训练方法和装置
CN112508177A (zh) 一种网络结构搜索方法、装置、电子设备及存储介质
CN113449176A (zh) 基于知识图谱的推荐方法及装置
CN112989146A (zh) 向目标用户推荐资源的方法、装置、设备、介质和程序产品
CN115879508A (zh) 一种数据处理方法及相关装置
WO2023050143A1 (zh) 一种推荐模型训练方法及装置
CN110717537B (zh) 训练用户分类模型、执行用户分类预测的方法及装置
CN117573961A (zh) 信息推荐方法、装置、电子设备、存储介质及程序产品
CN117035914A (zh) 产品的推荐方法、装置、计算机设备及存储介质
CN117056595A (zh) 一种交互式的项目推荐方法、装置及计算机可读存储介质

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