1.本发明属于软件技术领域,尤其涉及一种迭代副信息指导下基于关联关系学习的协同过 滤方法及装置。
背景技术:2.近年来,随着信息技术的快速发展,基于互联网的数据呈现爆炸式增长。面对如此庞大 的数据体量,一方面,人们可以通过各种渠道获取到丰富的信息资源,享受着互联网时代给 生活带来的便利;另一方面,要想从海量数据中快速、准确的获取到用户所需的信息成了一 大难题,人们无法避免的会在一些不相关信息上浪费时间和精力。为了帮助人们快速找到所 需信息,推荐系统作为一种过滤和筛选信息的有效工具应运而生。它可以对收集到的用户数 据(包括用户的性别、职业、爱好等基本属性)、物品数据(包括物品的类别、外观、用途、 价格等基本属性)以及用户
‑
物品历史交互记录进行分析,借助分析得到的用户画像和物品画 像挖掘出用户的隐性需求,然后采用不同的推荐算法为用户推荐可能感兴趣的物品。
3.协同过滤是推荐系统中应用最广泛的一种技术,它可以对用户和物品之间的交互进行建 模。然而,协同过滤存在严重的数据稀疏问题。例如,当用户只对很少的物品进行评分时, 推荐系统的性能就会急剧下降。为了缓解数据稀疏问题,推荐系统借助异质副信息进行推荐。 异质副信息通常存储在异质信息网络中,它是用户和物品附加信息的来源(如年龄、性别、 职业、类别、价格、品牌等)。由于异质副信息可以帮助推荐系统进一步理解用户的偏好和物 品的属性,基于异质副信息的推荐最近引起了学者们的兴趣。例如,中国专利(申请号: cn202011624028.4,申请公布号:cn112784153a)首先基于注意力机制建模了用户和景点的 副信息特征;其次将用户和景点的异质类型语义信息进行映射,通过知识表示翻译机制学习 预测了用户对景点的评分;最后计算用户对候选集景点的预测评分,并按评分高低进行排序, 生成推荐景点列表,同时依据用户和景点的副信息解释了评分行为。该发明融合用户景点副 信息特征注意力与用户景点异质类型语义信息学习了用户的兴趣偏好,并从用户和景点的副 信息方面解释了用户对景点的评分行为,提高了景点推荐的可解释性,尤其是在热门旅游景 点的在线推荐预测方面可以提供极大支持。
4.而现有的基于异质副信息的推荐方法主要存在两个缺点。首先,由于异质副信息的作用 在信息提取和利用的过程中不可避免地被削弱,现有的基于异质副信息的推荐方法无法为用 户对物品的评分预测提供充足的指导。其次,由于在学习用户和物品的表示时忽略了各种类 型的异质副信息之间的相互关系,现有方法不能有效地利用异质副信息来对用户和物品进行 理解。因此,这些方法无法向用户推荐合适的物品。
技术实现要素:5.针对现有推荐方法的不足,本发明提出了一种迭代副信息指导下基于关联关系学习的协 同过滤方法及装置,通过迭代的异质副信息指导、基于相互关系学习的画像构建及
利用注意 力网络学习不同类型异质副信息的重要性,提高了用户对物品偏好预测的准确度。
6.本发明采用的技术方案如下:
7.一种迭代副信息指导下基于关联关系学习的协同过滤方法,将
8.1)构建m个用户与n个物品之间的评分记录矩阵r0,其中评分记录矩阵r0中包括若干真 实评分记录和若干缺失评分记录;
9.2)分别挖掘用户与物品中异质副信息之间关联关系,通过生成的用户画像矩阵p
users
及物品画像矩阵q
items
,计算用户与物品之间的偏好预测矩阵r';
10.3)基于偏好预测矩阵r',生成偏好预测矩阵并利用偏好预测矩阵填充评分 记录矩阵r
t
‑1中的缺失评分记录,生成评分记录矩阵r
t
,从而将偏好预测矩阵r'集成到评分 记录矩阵r
t
中,其中t为迭代次数;
11.4)当评分记录矩阵r
t
‑1中的各真实评分记录与偏好预测矩阵中的相应预测评分记录 满足设定时,基于训练好的偏好预测矩阵向各用户推荐物品。
12.进一步地,用户的异质副信息包括:年龄、性别和职业。
13.进一步地,物品的异质副信息包括:类别、价格和品牌。
14.进一步地,通过以下步骤生成用户画像矩阵p
users
及物品画像矩阵q
items
:
15.1)利用异质信息网络,分别获取用户与物品中各类型异质副信息的向量表示u
j
与i
k
;
16.2)针对向量表示u
j
与i
k
,通过注意力网络学习不同类型异质副信息的重要性,得到各异 质副信息的权值;
17.3)将权值与各向量表示u
j
或i
k
进行点乘操作,得到加权异质副信息;
18.4)将加权异质副信息输入神经因子分解机,构建用户画像p
j
或物品画像q
k
,从而生成用 户画像矩阵p
users
或物品画像矩阵q
items
。
19.进一步地,注意力网络的结构包括:多层的全连接网络。
20.进一步地,构建用户画像p
j
的公式包括:的公式包括:其中w0是全局偏置,w
a
表示的权值,v
a
与v
b
分别表示 权值矩阵v的第a行和第b行,与分别表示用户j的第a个与第b个加权异质副信息,d表 示异质副信息的维度,mlp是用来学习用户j与物品k的各种类型的异质副信息之间的高阶特 征交互的全连接网络;构建物品画像q
k
的公式包括:的公式包括:其中w
g
表示的权值,v
g
与v
h
分别表示权值矩阵v的第 g行与第h行,与分别表示物品k的第g个与第h个加权异质副信息。
21.进一步地,通过以下步骤生成的偏好预测矩阵
22.1)将评分记录矩阵r
t
‑1输入多层感知机,生成用户对物品的偏好预测矩阵r
″
t
‑1;
23.2)对偏好预测矩阵r
″
t
‑1与偏好预测矩阵r'进行元素累加,生成偏好预测矩阵
24.进一步地,生成评分记录矩阵r
t
的公式包括:r
t
←
β({p
j
}
m
({q
k
}
n
)
t
)+(1
‑
β)mlp(r
t
‑1), 其中β为超参数,p
j
为第j个用户的用户画像,q
k
为第k个物品的物品画像,mlp是用来学习 用户j与物品k的各种类型的异质副信息之间的高阶特征交互的全连接网络,
←
表示数据填充 过程。
25.进一步地,通过以下步骤对p个用户进行q个物品的物品推荐,其中p个用户集合∈m个 用户集合,q个物品集合∈n个物品集合:
26.1)分别获取p个用户的用户id及q个物品的物品id;
27.2)使用各用户id及物品id从偏好预测矩阵中查找出相应的用户对物品的预测评分 值;
28.3)基于预测评分值,将q个物品推荐给p个用户。
29.一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运 行时执行以上所述方法。
30.一种电子装置,包括存储器和处理器,其中存储器存储执行以上所述方法的程序。
31.与现有的技术相比,本发明的优点在于:
32.1、本发明针对现有基于异质副信息的推荐方法中,异质副信息的作用在信息提取和利用 的过程中不可避免地被削弱,异质副信息无法为用户对物品的评分预测提供充足指导的问题, 提出基于相互关系学习的画像构建模块。借助hin2vec实现对用户和物品异质副信息的潜在 特征和语义信息的有效学习。通过对用户和物品的不同类型的异质副信息进行重要性区分, 帮助模型准确的理解用户和物品。利用神经因子分解机挖掘各个类型的异质副信息之间的关 联关系,以实现对用户和物品的综合理解,从而提高偏好预测的准确度。
33.2、本发明针对现有基于异质副信息的推荐方法中,在学习用户和物品的表示时忽略各种 类型的异质副信息之间的相互关系,不能有效利用异质副信息对用户和物品进行理解的问题, 提出迭代的异质副信息指导模块,将异质副信息迭代地集成到用户
‑
物品评分矩阵中,不断地 找回那些已经丢失的或被弱化的异质副信息。通过迭代的指导充分发挥用户和物品的异质副 信息的作用,帮助模型提高用户对物品偏好预测的准确度。
附图说明
34.图1为事件检测流程图。
35.图2为本发明的评分预测架构示意图。
36.图3为本发明的迭代的异质副信息指导模块结构示意图。
具体实施方式
37.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明做进一 步详细说明。
38.本发明的协同过滤方法,提供了一个完整的评分预测架构,主要由基于相互关系学习的 画像构建模块和迭代的异质副信息指导模块组成:首先,迭代的异质副信息指导模
块可以迭 代的指导用户对物品评分值的预测。通过迭代的指导过程,模型可以将异质副信息不断地融 入到用户
‑
物品评分记录中,进而那些被丢失或者削弱的异质副信息会慢慢地被集成到用户
‑ꢀ
物品评分记录中。这一迭代过程直到模型预测出的用户对物品的评分值最接近真实评分值才 终止。因此,异质副信息在预测用户对物品的评分值过程中所发挥的作用被极大地增强了。 其次,基于相互关系学习的画像构建模块可以捕获各种类型的异质副信息之间的相互关系, 帮助模型更好地理解用户和物品。由于神经因子分解机擅长捕获各种类型的异质副信息之间 的高阶特征交互,本发明借助神经因子分解机对用户和物品进行深入的了解,从而可以全面 学习用户和物品的表示并向用户推荐合适的物品。此外,为了充分利用异质副信息,该方法 采用注意力网络来学习不同类型的异质副信息的重要性。由于不同类型的异质副信息对用户 和物品特征的学习会做出不同的贡献,区别对待各种异质副信息有助于模型准确的理解用户 和物品。
39.通过对评分预测模型的训练,基于相互关系学习的画像构建模块首先利用异质信息网络 嵌入模型(hin2vec)来获取用户和物品的异质副信息。hin2vec可以将用户和物品的异质副 信息映射到低维向量空间中,能有效地学习异质副信息的潜在特征和语义信息,对异质副信 息的分析具有一定的指导意义。然后,利用注意力网络来区分不同类型的异质副信息的重要 性。在挖掘各个类型的异质副信息之间的关联关系前,学习不同类型的异质副信息的重要性 可以帮助模型准确的理解用户和物品。由于神经因子分解机可以学习到用户和物品不同类型 的异质副信息之间的相互关系,该模块采用神经因子分解机去构建用户和物品的画像,以实 现对用户和物品的综合理解。
40.同时,为了使异质副信息能够为用户对物品的偏好预测提供充足的指导,迭代的异质副 信息指导模块尝试将异质副信息迭代地集成到用户
‑
物品评分矩阵中。从而,使得那些已经丢 失的或被弱化的异质副信息可以被不断地集成到用户
‑
物品评分矩阵中。通过迭代的指导来预 测用户对物品的偏好,异质副信息所发挥的作用可以被有效地增强。
41.按照本发明所提供的设计方案,一种迭代副信息指导下基于关联关系学习的协同过滤方 法,具体包含如下步骤:
42.步骤1.数据预处理。将用户和物品的历史数据划分为训练集和测试集两部分。其中,训 练集包括用户对物品的偏好程度打分(打分范围为1到5分,分值越高表明该用户对该物品 越感兴趣),用户的异质副信息(如年龄、性别、职业等)和物品的异质副信息(如类别、价 格、品牌等)。测试集包括用户和待评分物品。
43.步骤2.构建评分预测架构,该架构由基于相互关系学习的画像构建模块和迭代的异质 副信息指导模块组成。
44.基于相互关系学习的画像构建模块包括用户和物品副信息的获取、不同类型异质副信息 的重要性学习以及各类型异质副信息之间关联关系的挖掘。用户和物品异质副信息的获取主 要是通过异质信息网络嵌入模型(hin2vec)实现的。hin2vec可以将用户和物品的异质副信 息映射到低维向量空间中,能有效地学习异质副信息的潜在特征和语义信息,对异质副信息 的分析具有一定的指导意义。注意力网络可以实现不同类型异质副信息的重要性学习,学习 不同类型的异质副信息的重要性可以帮助模型准确的理解用户和物品。各类型异质副信息之 间关联关系的挖掘是通过神经因子分解机实现的。神经因子分解机可以捕获到用户和物品不 同类型异质副信息之间的高阶非线性关系,从而实现用户和
物品的综合理解。
45.迭代的异质副信息指导模块尝试将异质副信息迭代地集成到用户
‑
物品评分矩阵中,从而 使那些已经丢失的或被弱化的异质副信息可以被不断地找回。通过迭代的指导来预测用户对 物品的偏好,可以使异质副信息所发挥的作用被有效地增强,从而为用户对物品的偏好预测 提供充足的指导。
46.步骤3.训练评分预测模型。
47.首先将训练集中用户与物品的评分记录以及用户和物品的副信息存储到异质信息网络中, 然后将异质信息网络输入到基于相互关系学习的画像构建模块中。在获取到用户和物品的异 质副信息后,通过注意力网络学习不同类型异质副信息的重要性,得到各异质副信息的权值。 将权值与各异质副信息进行点乘操作,得到加权异质副信息。将加权异质副信息输入神经因 子分解机进行各类型异质副信息之间关联关系的挖掘,从而构建出用户和物品的画像。借助 用户和物品的画像,通过矩阵相乘实现用户对物品的偏好预测。同时,将训练集中用户与物 品的评分记录输入到多层感知机中进行用户对物品的偏好预测。通过元素累加的方式将两个 偏好预测结果集成到一起。将集成的偏好预测值看作真实值去不断的填充用户
‑
物品评分记录 中缺失的数据,从而将用户和物品的异质副信息集成到用户与物品的评分记录中。利用填充 后的用户
‑
物品评分数据再次进行用户对物品的偏好预测,直到模型预测出的评分最接近真实 的评分,整个迭代过程才会终止,充分发挥异质副信息的指导作用。计算预测值与真实值之 间的误差并更新网络参数,训练得到最优模型;
48.步骤4.推荐物品给用户。
49.在步骤3训练得出最优模型的基础上,利用训练集中用户与物品的评分记录以及用户和 物品的异质副信息得到最优用户对物品的偏好预测,根据测试集中的用户和待评分物品从用 户对物品的偏好预测数据中查找出相应的用户对物品的偏好预测值,将预测值较高的物品推 荐给用户。
50.上述的,步骤2中,基于相互关系学习的画像构建模块包括用户和物品副信息的获取、 不同类型异质副信息的重要性学习以及各类型异质副信息之间关联关系的挖掘三部分。
51.上述的,步骤2中,用户和物品异质副信息的获取是通过异质信息网络嵌入模型(hin2vec) 实现的。hin2vec可以将用户和物品的异质副信息映射到低维向量空间中,能有效地学习异 质副信息的潜在特征和语义信息,对异质副信息的分析具有一定的指导意义。
52.上述的,步骤2中,用来学习用户和物品不同类型异质副信息的重要性的注意力网络是 多层的全连接网络。
53.上述的,步骤2中,各类型异质副信息之间关联关系的挖掘是通过神经因子分解机实现 的。神经因子分解机可以捕获用户和物品不同类型异质副信息之间的高阶非线性关系。
54.上述的,步骤2中,用户和物品不同类型的异质副信息的重要性学习公式为:
55.e1=σ1(w1u
t
+b1)
56.e2=σ2(w2e1+b2)
57.…
58.e
l
=σ
l
(w
l
e
l
‑1+b
l
)
[0059][0060]
和
[0061]
f1=σ1(w1i
t
+b1)
[0062]
f2=σ2(w2f1+b2)
[0063]
…
[0064]
f
l
=σ
l
(w
l
f
l
‑1+b
l
)
[0065][0066]
其中,u和i分别表示用户和物品的异质副信息。w
l
,b
l
和σ
l
分别表示第l个全 连接层的权值矩阵,偏置向量和激活函数。e和f分别表示用户和物品的异质副信息的注意 力权值矩阵。d表示异质副信息的维度。
[0067]
上述的,步骤2中,用户和物品的各种类型异质副信息之间关联关系的挖掘公式为:
[0068][0069]
和
[0070][0071]
其中,w0是全局偏置,w
a
和w
g
分别表示和的权值。v
a
和v
g
分别代表权 值矩阵v的第a行和第g行,用来进行和的向量转换。其中,表示用户j 的第a个加权异质副信息,表示物品k的第g个加权异质副信息。另外,mlp是用 来学习用户j和物品k的各种类型的异质副信息之间的高阶特征交互的全连接网络。
[0072]
上述的,步骤2中,将异质副信息集成到用户
‑
物品评分矩阵中的公式为:
[0073]
r
t
←
β({p
j
}
m
({q
k
}
n
)
t
)+(1
‑
β)mlp(r
t
‑1)
[0074]
其中,{p
j
}
m
和{q
k
}
n
分别表示m个用户画像和n个物品画像的集合。r
t
是第t次 迭代后生成的用户
‑
物品评分矩阵。β是用来平衡异质副信息和用户
‑
物品评分矩阵权值的超 参数。
←
表示数据填充过程。
[0075]
以m个用户对n个物品进行评分为例,对本发明进行进一步的说明。
[0076]
图1为事件检测流程图,包括数据预处理,构建评分预测架构,训练评分预测模型,推 荐物品给用户四个部分。
[0077]
步骤1.数据预处理。将用户和物品的历史数据划分为训练集和测试集两部分。其中,训 练集包括用户对物品的偏好程度打分(打分范围为1到5分,分值越高表明该用户对该物品 越感兴趣),用户的异质副信息(如年龄、性别、职业等)和物品的异质副信息(如类
别、价 格、品牌等)。测试集包括用户和待评分物品。
[0078]
步骤2.构建评分预测架构。图2是本发明评分预测架构示意图。该结构包含基于相互关 系学习的画像构建模块和迭代的异质副信息指导模块。基于相互关系学习的画像构建模块中, 首先通过异质信息网络嵌入模型hin2vec从异质信息网络上获取到m个用户和n个物品的向 量表示u
j
和i
k
。然后利用注意力网络学习得到用户和物品不同类型异质副信息的重要性。 紧接着,将权值与用户和物品的向量进行乘积操作,得到用户和物品的加权异质副信息和 接下来,我们将加权异质副信息输入神经因子分解机构建出用户和物品的画像p
j
和q
k
。 借助m个用户和n个物品的画像矩阵p
users
={p
j
}
m
和q
items
={q
k
}
n
,通过矩阵相乘获取用 户对物品的偏好预测矩阵r'=p
users
q
itemst
。同时,将训练集中用户与物品的评分记录r输 入到多层感知机中获取用户对物品的偏好预测r”。通过元素累加的方式将两个偏好预测结果 集成到一起,得到初步用户
‑
物品评分预测矩阵将中的偏好预测值看作真实值去不断 的填充r中缺失的数据,从而将用户和物品的异质副信息集成到r中。利用填充后的再次 进行用户对物品的偏好预测,直到模型预测出的评分最接近真实评分,整个迭代过程才会终 止。图3是本发明方法提出的迭代的异质副信息指导模块结构示意图,其中r表示用户与物 品的评分记录,u和i分别表示m个用户和n个物品的向量集合,p
users
和q
items
分别表 示m个用户和n个物品的画像集合,mlp表示多层感知机,r”和r'表示用户对物品的偏好 预测矩阵,表示用户
‑
物品评分预测矩阵;
[0079]
步骤3.训练评分预测模型。首先将训练集中用户与物品的评分记录以及用户和物品的副 信息存储到异质信息网络中,然后将异质信息网络输入到基于相互关系学习的画像构建模块 中,获取到m个用户和n个物品的向量表示u
j
和i
k
。通过注意力网络学习得到用户和物 品异质副信息的权值,将权值与用户和物品的向量进行乘积操作,得到用户和物品的加权异 质副信息和接下来,将加权异质副信息输入神经因子分解机构建出用户和物品的画 像矩阵p
users
={p
j
}
m
和q
items
={q
k
}
n
,并通过矩阵相乘获取用户对物品的偏好预测矩阵r'。 同时,将训练集中用户与物品的评分记录r输入到多层感知机中获取用户对物品的偏好预测 r”。通过元素累加的方式将两个偏好预测结果集成到一起,得到初步用户
‑
物品评分预测矩阵将中的偏好预测值看作真实值去不断的填充r中缺失的数据,从而将用户和物品的异 质副信息集成到r中。利用填充后的r再次进行用户对物品的偏好预测,直到模型预测出的 评分最接近真实评分,整个迭代过程才会终止。通过计算预测评分值与真实评分值之间的误 差来更新网络的参数,训练得出最优模型;
[0080]
步骤4.在步骤3训练得出最优模型的基础上,利用训练集中用户与物品的评分记录以及 用户和物品的异质副信息得到最优用户
‑
物品的评分预测矩阵根据测试集中用户的id 和待评分物品的id从用户
‑
物品评分预测矩阵中查找出相应的用户对物品的预测评分值, 将预测评分值较高的物品推荐给用户。
[0081]
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可 以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保 护范围应以权利要求书所述为准。