1.本发明涉及推荐系统领域,特别是涉及一种基于知识图谱的推荐系统。
背景技术:2.随着互联网的发展,出现了产品数量的剧增与用户有限的信息接收能力之间的矛盾,因此需要推荐系统来为用户对可能购买的产品进行排序。为了丰富产品之间的关联,提高推荐系统对用户和产品的建模能力,通过知识图谱引入了实体关系。但是由于实体关系来源于客观世界,而产品关系则来源于用户的主观意向,两者之间存在不一致。现有基于知识图谱的推荐系统算法虽然依赖实体关系增强了产品的表达能力,却无法有效改善这种不一致对推荐结果的影响。因此,最大化实体关系与产品关系之间的相关性、降低主观与客观不一致对推荐结果造成的负面影响具有十分重要的意义。
技术实现要素:3.针对现有技术的不足以及面向实体传播过程中空间结构丢失问题,本发明提出一种基于实体路径局部相关的偏好预测方法,实现了基于用户倾向设计潜在产品关联的提取模型,对实体关系进行决策。
4.最后,在网络中构建聚合模块显式控制实体关系和产品关系之间的权重比例,进一步修正不一致对推荐结果的影响。
5.本发明采用以下技术方案实现:
6.一种基于实体路径局部相关的偏好预测方法,该方法包括以下步骤:
7.步骤1、构建链式、对撞、和分裂三种实体关系结构,遍历原始数据知识图谱中的所有实体,提取实体空间结构信息:获取实体a、实体b和实体c,《a,b》∈r代表在图谱关系中存在a指向b的一条路径,设定r1、r2、r3分别代表当三个实体的相对关系的基础结构,且结果经过实体关联决策后,追加到实体关系候选集合中,即:
8.r1:当《a,b》∈r且《b,c》∈r,而且决策成立,追加《a,c》
9.r2:当《a,b》∈r且《a,c》∈r,而且决策成立,追加《b,c》
10.r3:当《b,a》∈r且《c,a》∈r,而且决策成立,追加《b,c》
11.步骤2、对知识图谱中的实体关系进行优化,去除实体关系存在的冗余和噪声,通过用户的倾向提取产品之间的关系:
12.首先,将用户购买产品这一交互行为按照时间顺序进行排序,并将属于同一用户所购买的产品进行有向的两两交叉,依据用户对交叉中两个产品所产生的交互行为生成正、负样本的集合,此过程代表如下:
[0013][0014]
其中,l
x,p
代表用户u
x
与产品i
p
是否发生交互,取值为1代表发生交互,取值为0代表未发生交互,f()代表用于拟合同一个用户基础上两个产品之间关系的决策模型,f
‘
()代表将产品从模型中提取出来、仅利用两个标签来进行计算的函数;
[0015]
其次,基于上面所得到的产品与产品之间的关系,构建用户潜在倾向学习模型,该用户潜在倾向学习模型是一个二分类模型,通过三个部分实现,分别是用于保留原有特征的拼接层、用于计算两个产品嵌入向量之间相似度的内积运算和外积运算,表达式如下:
[0016]
对应位置相乘的内积运算式:
[0017]
矩阵乘法的外积运算:
[0018]
其中,向量和向量分别代表两个产品的嵌入向量;
[0019]
在保留原有特征的基础上计算实体之间的相似度,从而得到实体在空间中的分布情况,以预测两个产品之间是否存在关联,相似度的表达式如下:
[0020][0021]
进而得到候选实体间关系集合与提取实体之间的用于拟合同一个用户基础上两个产品之间关系的决策模型f();
[0022]
步骤3、通过决策模型对实体关系集合进行优化,增强实体关系与产品关系之间的一致性:将候选实体关系集合分成两个部分,分别是原始实体关系和新获取到的空间结构关系,包括两部分处理:
①
对于新获取到的空间结构关系,通过决策模型获取相似度,设定阈值判断是否保留,
②
对于原始实体关系,将实体关系进行赋权重排序;具体过程为:
[0023]
步骤3.1、设定初始阈值,并分别构建强相关性和弱相关性两个空列表;
[0024]
步骤3.2、遍历所有的实体关系三元组,若三元组中的两个实体之间的相关度大于阈值,将此三元组加入到强相关列表中,否则加入到弱相关性列表中;
[0025]
步骤3.3、若强相关度列表或弱相关度列表中有一个为空,退出此过程;否则将强相关度列表与弱相关度列表直接按照前后顺序进行合并,并替换原始的三元组数据;
[0026]
步骤3.4、清除强相关性列表和弱相关性列表,并增大或缩小阈值,重复步骤3.2到步骤3.4;
[0027]
基于设定的阈值,多次循环上述步骤,直至完成实体关系与产品关系一致性的强化过程。
[0028]
当产品对应的实体关系图不在用户购买产品的考虑因素当中,直接提取用户与产品最原始的交互,并采用一个参数来衡量用户是否希望考虑产品背后的各种关系,将原始交互的提取公式表示如下:
[0029]i′k=∑(w0ik+b0)
[0030]
π(uk,ik)=relu(w1(uk||i
′k+b1))
[0031][0032]
其中,ik代表与用户uk发生过交互的产品集合,代表基于知识图谱进行预测的结果,σ代表sigmoid函数,λ代表引入的超参数,最终的预测结果为i
′k代表对产品向量集合ik中的每个产品向量赋予不同权重并加和到一起,π(uk,ik)代表用于计算用户和产品集合之间的关系,w0、w1、b0、b1分别代表模型中的参数、relu()代表激活函数、代表预测的结果。
[0033]
与现有技术相比,本发明的有益效果及优点在于:
[0034]
1)基于实体关系优化模型实现了对用户倾向进行准确和全面的预测;
[0035]
2)能够增强实体关系与推荐系统当前应用领域之间的相关性。
附图说明
[0036]
图1为本发明的基于实体路径局部相关的偏好预测方法整体流程图;
[0037]
图2为三种实体关系示意图;
[0038]
图3为实体关系优化模型整体结构示意图。
具体实施方式
[0039]
下面将结合附图对本发明的具体实施方式做详细说明。
[0040]
如图1所示,为本发明的基于实体路径局部相关的偏好预测方法整体流程图。该流程包括以下步骤:
[0041]
步骤1、构建链式、对撞、和分裂三种实体关系结构,遍历原始数据知识图谱中的所有实体,提取实体空间结构信息:获取实体a、实体b和实体c,《a,b》∈r代表在图谱关系中存在a指向b的一条路径,设定r1、r2、r3分别代表当三个实体的相对关系能够引入上述三种基础结构,且结果经过实体关联决策后,追加到实体关系候选集合中,即:
[0042]
r1:当《a,b》∈r且《b,c》∈r,而且决策成立,追加《a,c》
[0043]
r2:当《a,b》∈r且《a,c》∈r,而且决策成立,追加《b,c》
[0044]
r3:当《b,a》∈r且《c,a》∈r,而且决策成立,追加《b,c》;
[0045]
如图2所示的链式、对撞、和分裂三种实体关系结构;
[0046]
步骤2、对知识图谱中的实体关系进行优化,去除实体之间的关系存在的冗余和噪声,通过用户的倾向提取产品之间的关系;如图3所示,为实体关系优化模型整体结构示意图。
[0047]
首先,用户在与产品发生交互的过程中存在一定的顺序。假设在电商平台中,某一用户所购买的两个产品之间会存在递进的关系,如购买手机之后继续购买手机壳。依据这一现实中经常会出现的情况,将用户购买产品这一交互行为按照时间顺序进行排序,并将属于同一用户所购买的产品进行有向的两两交叉,依据用户对交叉中两个产品所产生的交互行为生成正负样本的集合,此过程代表如下:
[0048][0049]
其中,l
x,p
代表用户u
x
与产品i
p
是否发生交互,取值为1代表发生交互,取值为0代表未发生交互,f()代表用于拟合同一个用户基础上两个产品之间关系的决策模型,f
‘
()代表将产品从模型中提取出来、仅利用两个标签来进行计算的函数;
[0050]
原始的数据中是用户-产品-标签这样的三元组,代表一个用户与这个产品是否发生交互
[0051]
其次,基于上面所得到的产品关系,构建用户潜在倾向学习模型,该用户潜在倾向学习模型是一个二分类模型,通过三个部分实现,分别是用来保留原有特征的拼接层,计算两个产品嵌入向量之间相似度的内积和外积,表达式如下:
[0052]
对应位置相乘的内积运算式:
[0053]
矩阵乘法的外积运算:
[0054]
其中,向量和向量分别代表两个产品的嵌入向量;
[0055]
在保留原有特征的基础上计算实体之间的相似度,从而得到实体在空间中的分布情况,以预测两个产品之间是否存在关联的,相似度的表达式如下:
[0056][0057]
进而得到候选实体间关系集合与提取实体之间的用于拟合同一个用户基础上两个产品之间关系的决策模型f();
[0058]
步骤3、通过决策模型对实体关系集合进行优化,增强实体关系与产品关系之间的一致性:将候选实体关系集合分成两个部分,分别是原始实体关系和新获取到的空间结构关系,包括两部分处理:
①
对于新获取到的空间结构关系,直接通过决策模型获取相似度,设定阈值判断是否保留;
②
而对于原始实体关系,针对基于知识图谱推荐模型中在实体传播过程中会对下一跳实体个数进行限制的特点,将实体关系进行赋权重排序。具体过程为:
[0059]
步骤3.1、设定初始阈值,并分别构建强相关性和弱相关性两个空列表;
[0060]
步骤3.2、遍历所有的实体关系三元组,若三元组中的两个实体之间的相关度大于阈值,将此三元组加入到强相关列表中,否则加入到弱相关性列表中;
[0061]
步骤3.3、若强相关度列表或弱相关度列表中有一个为空,退出此过程;否则将强相关度列表与弱相关度列表直接按照前后顺序进行合并,并替换原始的三元组数据;
[0062]
步骤3.4、清除强相关性列表和弱相关性列表,并增大或缩小阈值,重复步骤3.2到步骤3.4。
[0063]
在上述步骤中,基于设定的阈值而经历多次循环,直至完成实体关系与产品关系一致性的强化过程;
[0064]
但是考虑当一个产品对应的实体在知识图谱中进行传播并聚合(把几个向量以不同的权重加和到一起)之后,可看作为一个具有额外关联关系的实体图聚合体。当决策模型对用户同此产品进行交互可能性的预测时,等同于是在判断这个用户与这个产品所对应的实体关系图的可能性。因此决策模型在学习的过程中,真正起到作用的是产品后面所对应的实体关系图聚合体。假如这个产品对应的实体关系图不在用户购买产品的考虑因素当中,应当直接提取用户与产品最原始的交互,并采用一个参数来衡量用户是否希望考虑产品背后的各种关系,将原始交互的提取公式表示如下:
[0065]i′k=∑(w0ik+b0)
[0066]
π(uk,ik)=relu(w1(uk||i
′k+b1))
[0067][0068]
其中,ik代表与用户uk发生过交互的产品集合,代表基于知识图谱进行预测的结果,σ代表sigmoid函数,λ代表引入的超参数,最终的预测结果为i
′k代表对产品向量集合ik中的每个产品向量赋予不同权重并加和到一起,π(uk,ik)代表用于计算用户和产品集合之间的关系,w0、w1、b0、b1分别代表模型中的参数、relu()代表激活函数、代表预测的结果。
[0069]
综上所述,本发明对新获取到的实体关系进行分析,判断其是否合理,因此基于用户倾向设计潜在产品关联的提取模型,对实体关系进行决策,增强其与推荐系统当前应用领域之间的相关性。最后,在网络中构建聚合模块显式控制实体关系和产品关系之间的权重比例,进一步修正不一致对推荐结果的影响。
[0070]
以上所述仅为本技术的实施例,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种任何修改、等同替换或变型等,凡在本技术的精神和原理之内所作的修改、等同替换或变型等均落入由所附权利要求所限定的本发明的保护范围之内。