CN108804565A - 一种基于知识表示学习的协同矩阵分解方法 - Google Patents
一种基于知识表示学习的协同矩阵分解方法 Download PDFInfo
- Publication number
- CN108804565A CN108804565A CN201810499629.3A CN201810499629A CN108804565A CN 108804565 A CN108804565 A CN 108804565A CN 201810499629 A CN201810499629 A CN 201810499629A CN 108804565 A CN108804565 A CN 108804565A
- Authority
- CN
- China
- Prior art keywords
- node
- article
- matrix
- value
- degree
- 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.)
- Granted
Links
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/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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
Abstract
本发明涉及一种基于知识表示学习的协同矩阵分解方法,属于推荐系统以及表示学习技术领域。针对协同过滤算法中用户反馈数据的稀疏性问题,在物品的知识图谱上进行随机游走采样,学习其向量表示,并在此基础上联合地分解反馈矩阵和物品关联度矩阵,具体基于根据物品的共现情况计算物品的关联度矩阵,然后基于矩阵分解模型采用协同矩阵分解方法联合地分解用户对物品的反馈矩阵和物品的关联度矩阵;最后,两种矩阵共享物品向量,利用物品的语义信息弥补反馈数据的缺失。实验结果表明,该方法显著地提升了矩阵分解模型的推荐效果,在一定程度上解决了协同过滤的冷启动问题。
Description
技术领域
本发明涉及一种基于知识表示学习的协同矩阵分解方法,属于推荐系统领域。
背景技术
在推荐系统中,基于协同过滤(collaborative filtering)的算法是应用最广泛的一类方法。协同过滤算法简单且高效,只需要用户对物品的反馈信息即可推测用户可能感兴趣的物品。反馈信息包括显式反馈(如用户对物品的评分)和隐式反馈(如用户是否点击过物品)。协同过滤算法存在冷启动问题,它仅考虑了用户对物品的反馈信息,如果反馈数据太稀疏,推荐的效果通常不理想。另外,新加入的物品没有任何反馈信息,协同过滤算法无法对其进行推荐。
为解决冷启动问题,研究人员在协同过滤的基础上结合用户或物品的附加信息提出了一些混合推荐算法。Singh等人提出了一种协同矩阵分解(collective matrixfactorization,CMF)框架,首先将用户、物品或者其他实体之间存在的关系转化为关系矩阵,然后联合分解反馈矩阵和多个关系矩阵。CoFactor利用用户的消费记录生成一个物品共现矩阵,和CMF一样对其进行联合分解,但是该方法本质上还是只用到了用户反馈信息,没有利用物品的客观信息。
本申请提出了一种基于知识表示学习的协同矩阵分解方法,利用物品知识图谱的结构信息生成一个物品关联度矩阵,联合地分解用户反馈矩阵和物品关联度矩阵。实验表明,该方法相较于普通的矩阵分解方法,在各种评价指标上都表现得更好,对于反馈较少的用户和物品,效果提升更加显著。
发明内容
本发明的目的在于针对单一矩阵分解模型冷启动问题,即存在新物品加入时无评价导致无法推荐,提出了一种基于知识表示学习的协同矩阵分解方法。
本发明的核心思想是:在物品的知识图谱上进行随机游走采样,根据物品的共现情况计算物品的关联度矩阵,然后基于矩阵分解模型采用协同矩阵分解方法联合地分解用户对物品的反馈矩阵和物品的关联度矩阵。
一种基于知识表示学习的协同矩阵分解方法,包括如下步骤:
步骤一、根据物品的知识图谱计算物品的关联度矩阵,具体包含如下子步骤:
步骤1.1、将知识图谱视为一个无向图,对无向图中的实体节点进行随机游走采样;
其中,一个无向图,G,记为:G=(V,E);其中,V为无向图G中实体节点的集合,E为无向图G中边的集合,对于无向图G中的每一个实体节点u∈V,以u为起始节点进行一次随机游走得到一个长度为l的节点序列;
用ci表示节点序列中的第i个节点,其中c0=u,假设当前已从取值为t的节点ci-2游走到取值为v的节点ci-1,下一个节点ci取值为x的概率P通过式(1)和式(2)计算:
其中,s表示随机游走的状态;s有0和1两种状态,且s的初始值为0;
从公式(1)可以看出,当s=0时,所有与取值为v的节点相连的节点被选中的概率相同;当s=1时,节点x被选中的概率取决于πvx,πvx为未归一化的转移概率,Z为归一化常量,d(t)表示取值为t的节点ci-2的度;πvx的计算通过取值为t的节点游走到取值为v的节点后,下一次游走返回取值为t节点的概率由节点t的度d(t)和超参数p共同决定;取值为t的节点所连接的节点越多,则返回节点t的概率越大,这样可以充分地挖掘其局部结构信息;
步骤1.2、统计实体节点的共现频次,具体为:利用步骤1.1得到节点序列c0,c1,…,cl-1后,设定一个窗口大小值m,对于每个cx,cy(x+1≤y≤x+m)构成其上下文;;每个(cx,cy)分别为#(cx,cy)和#(cy,cx)贡献一个计数,遍历并所有的(cx,cy),统计得到每两个节点i和j的共现频次#(i,j);
其中,实体节点对应物品;
步骤1.3、计算实体节点的关联度矩阵,具体利用步骤1.2得到的#(i,j)按式(3)计算节点i和节点j之间的互信息PMI(i,j):
其中,点互信息,即pointwise mutual information,缩写为PMI;log是以2为底的对数;
#(i)=∑j#(i,j),#(i)表示以i开头的(i,j)对的总数,#(j)=∑i#(i,j),#(j)表示以j结尾的(i,j)对的总数,D表示所有(i,j)对的总数;
关联度矩阵M∈RI×J的元素mij按式(4)计算:
mij=max{PMI(i,j)-logk,0} (4)
步骤二、联合分解反馈矩阵和关联度矩阵;具体包括如下子步骤:
步骤2.1、设定向量维度K,正则化向权重λ,迭代次数N,随机初始化用户向量θ,物品向量β,上下文向量γ;
步骤2.2、基于交替最小二乘法对矩阵分解模型进行训练;
步骤2.2.1构造矩阵分解模型的损失函数,其定义见式(5):
其中,超参数cui是用于衡量反馈的置信度;当yui=0时,为cui设定一个较小的值c0,当yui≠0时,为cui设定一个较大的值c1;θu为用户u的向量,βi为物品i的向量,γj为上下文j的向量;
超参数λ控制L2正则项的权重;
步骤2.2.2设定计数最大值N,初始化循环计数值,其中循环计数值记为k,初始化k=1;
步骤2.2.3按照式(6)、式(7)和式(8)更新θu、βi和γj的值;
其中,I是单位矩阵;
步骤2.2.4判断循环计数值k是否已经达到计数最大值N,如果是,完成本方法;否则k=k+1,跳至步骤2.2.3。
有益效果
一种基于知识表示学习的协同矩阵分解方法,与现有方法相比,具有如下有益效果:
传统的协同过滤算法仅考虑了用户对物品的反馈信息,存在冷启动问题,对于新的物品或用户无法进行推荐。本发明从实体描述文本中提出了一种基于知识图谱的推荐方法,该方法从物品的知识图谱中提取物品的关联度信息,并将其结合到矩阵分解模型中,实验结果表明,本发明在公开数据集上的推荐效果优于传统的单一矩阵分解方法。
附图说明
图1是本发明一种基于知识表示学习的协同矩阵分解方法及实施例1中的流程示意图;
图2是本发明一种基于知识表示学习的协同矩阵分解方法及实施例1中的随机游走的状态s的转换图;
图3是本发明一种基于知识表示学习的协同矩阵分解方法及实施例1中的随机游走的转移概率π的示意图。
具体实施方式
下面结合附图和实施例对本发明做进一步说明和详细描述。
实施例1
本实施例叙述了本发明一种基于知识表示学习的协同矩阵分解方法的具体实现过程,图1本实施例的实现流程示意图。
从图1中可以看出,本发明及本实施例的具体实现步骤如下:
步骤A、在物品的知识图谱上进行随机游走采样得到多个实体节点序列,统计实体共现频次,并计算实体的关联度;具体包含如下子步骤:
步骤A.1、知识图谱中关系的集合用R表示,实体集合用E表示,对于每个关系r∈R,仅保留该关系对应的边,得到子图Gr;
步骤A.2、随机游走采样;
在步骤A.1得到的每个子图Gr上分别进行采样,具体步骤为:对于每个实体e∈E,以e为初始节点采样一条长度为l的序列seq,并加入到序列集合seq中,其中随机游走的概率根据式(1)和式(2)计算;
图2是本发明一种基于知识表示学习的协同矩阵分解方法及本实施例中的随机游走的状态s的转换图;具体来说:状态s根据图3进行转换,即图3是本发明一种基于知识表示学习的协同矩阵分解方法及本实施例中的随机游走的转移概率π的示意图;
步骤A.3、统计实体节点的共现频次,并计算物品的关联度;
其中,实体节点对应物品;
在每个seq∈seq上以m为窗口大小统计物品i和j的共现频次#(i,j),然后根据式(3)和式(4)计算物品的关联度矩阵M。
步骤B、模型训练,得到用户和物品的向量表示,具体包括如下子步骤:
步骤B.1、设定向量维度K,正则化向权重λ,迭代次数N,随机初始化用户向量θ,物品向量β,上下文向量γ;
步骤B.2、基于交替最小二乘法对模型进行训练;
步骤B.2.1构造模型的损失函数;
模型的损失函数的定义见式(5);
步骤B.2.2初始化循环计数值,其中循环计数值记为k,初始化k=1;
步骤B.2.3按照式(6)、式(7)和式(8)更新θu、βi和γj的值;
步骤B.2.4判断循环计数值k是否已经达到计数最大值N,如果是,完成本方法;否则k=k+1,跳至步骤B.2.3;
按照步骤A到步骤B,就可以完成基于知识表示学习的协同矩阵分解方法,通过本发明中的训练方法,可以得到优化后的参数,即用户和物品的向量化表示。
以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。
Claims (1)
1.一种基于知识表示学习的协同矩阵分解方法,其特征在于:核心思想是在物品的知识图谱上进行随机游走采样,根据物品的共现情况计算物品的关联度矩阵,然后基于矩阵分解模型采用协同矩阵分解方法联合地分解用户对物品的反馈矩阵和物品的关联度矩阵,包括如下步骤:
步骤一、根据物品的知识图谱计算物品的关联度矩阵,具体包含如下子步骤:
步骤1.1、将知识图谱视为一个无向图,对无向图中的实体节点进行随机游走采样;
其中,一个无向图,G,记为:G=(V,E);其中,V为无向图G中实体节点的集合,E为无向图G中边的集合,对于无向图G中的每一个实体节点u∈V,以u为起始节点进行一次随机游走得到一个长度为l的节点序列;
用ci表示节点序列中的第i个节点,其中c0=u,假设当前已从取值为t的节点ci-2游走到取值为v的节点ci-1,下一个节点ci取值为x的概率P通过式(1)和式(2)计算:
其中,s表示随机游走的状态;s有0和1两种状态,且s的初始值为0;
从公式(1)可以看出,当s=0时,所有与取值为v的节点相连的节点被选中的概率相同;当s=1时,节点x被选中的概率取决于πvx,πvx为未归一化的转移概率,Z为归一化常量,d(t)表示取值为t的节点ci-2的度;πvx的计算通过取值为t的节点游走到取值为v的节点后,下一次游走返回取值为t节点的概率由节点t的度d(t)和超参数p共同决定;取值为t的节点所连接的节点越多,则返回节点t的概率越大,这样可以充分地挖掘其局部结构信息;
步骤1.2、统计实体节点的共现频次,具体为:利用步骤1.1得到节点序列c0,c1,…,cl-1后,设定一个窗口大小值m,对于每个cx,cy(x+1≤y≤x+m)构成其上下文;;每个(cx,cy)分别为#(cx,cy)和#(cy,cx)贡献一个计数,遍历并所有的(cx,cy),统计得到每两个节点i和j的共现频次#(i,j);
其中,实体节点对应物品;
步骤1.3、计算实体节点的关联度矩阵,具体利用步骤1.2得到的#(i,j)按式(3)计算节点i和节点j之间的互信息PMI(i,j):
其中,点互信息,即pointwise mutual information,缩写为PMI;log是以2为底的对数;
#(i)=∑j#(i,j),#(i)表示以i开头的(i,j)对的总数,#(j)=∑i#(i,j),#(j)表示以j结尾的(i,j)对的总数,D表示所有(i,j)对的总数;
关联度矩阵M∈RI×J的元素mij按式(4)计算:
mij=max{PMI(i,j)-logk,0} (4)
步骤二、联合分解反馈矩阵和关联度矩阵;具体包括如下子步骤:
步骤2.1、设定向量维度K,正则化向权重λ,迭代次数N,随机初始化用户向量θ,物品向量β,上下文向量γ;
步骤2.2、基于交替最小二乘法对矩阵分解模型进行训练;
步骤2.2.1 构造矩阵分解模型的损失函数,其定义见式(5):
其中,超参数cui是用于衡量反馈的置信度;当yui=0时,为cui设定一个较小的值c0,当yui≠0时,为cui设定一个较大的值c1;θu为用户u的向量,βi为物品i的向量,γj为上下文j的向量;
其中,超参数λ控制L2正则项的权重;
步骤2.2.2 设定计数最大值N,初始化循环计数值,其中循环计数值记为k,初始化k=1;
步骤2.2.3 按照式(6)、式(7)和式(8)更新θu、βi和γj的值;
其中,I是单位矩阵;
步骤2.2.4 判断循环计数值k是否已经达到计数最大值N,如果是,完成本方法;否则k=k+1,跳至步骤2.2.3。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2018100676277 | 2018-01-24 | ||
CN201810067627.7A CN108153912A (zh) | 2018-01-24 | 2018-01-24 | 一种基于知识表示学习的协同矩阵分解方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108804565A true CN108804565A (zh) | 2018-11-13 |
CN108804565B CN108804565B (zh) | 2021-04-13 |
Family
ID=62458869
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810067627.7A Pending CN108153912A (zh) | 2018-01-24 | 2018-01-24 | 一种基于知识表示学习的协同矩阵分解方法 |
CN201810499629.3A Active CN108804565B (zh) | 2018-01-24 | 2018-05-23 | 一种基于知识表示学习的协同矩阵分解方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810067627.7A Pending CN108153912A (zh) | 2018-01-24 | 2018-01-24 | 一种基于知识表示学习的协同矩阵分解方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN108153912A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737592A (zh) * | 2020-06-18 | 2020-10-02 | 北京航空航天大学 | 一种基于异构传播协同知识感知网络的推荐方法 |
CN115455310A (zh) * | 2022-09-22 | 2022-12-09 | 北京道达天际科技股份有限公司 | 一种基于协同过滤算法的知识推荐方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241412B (zh) * | 2018-08-17 | 2020-12-11 | 深圳先进技术研究院 | 一种基于网络表示学习的推荐方法、系统及电子设备 |
CN109783530A (zh) * | 2018-12-05 | 2019-05-21 | 北京网众共创科技有限公司 | 数据重新采样的方法及装置、储存介质、电子装置 |
CN110309154B (zh) * | 2019-06-28 | 2021-06-29 | 京东数字科技控股有限公司 | 基于图谱的实体特征选择方法、装置、设备和存储介质 |
CN112989064B (zh) * | 2021-03-16 | 2022-07-08 | 重庆理工大学 | 一种聚合知识图神经网络和自适应注意力的推荐方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016031678A (ja) * | 2014-07-29 | 2016-03-07 | 日本電信電話株式会社 | クラスタ抽出装置及び方法及びプログラム |
CN106202184A (zh) * | 2016-06-27 | 2016-12-07 | 华中科技大学 | 一种面向高校图书馆的图书个性化推荐方法和系统 |
CN107391577A (zh) * | 2017-06-20 | 2017-11-24 | 中国科学院计算技术研究所 | 一种基于表示向量的作品标签推荐方法和系统 |
-
2018
- 2018-01-24 CN CN201810067627.7A patent/CN108153912A/zh active Pending
- 2018-05-23 CN CN201810499629.3A patent/CN108804565B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016031678A (ja) * | 2014-07-29 | 2016-03-07 | 日本電信電話株式会社 | クラスタ抽出装置及び方法及びプログラム |
CN106202184A (zh) * | 2016-06-27 | 2016-12-07 | 华中科技大学 | 一种面向高校图书馆的图书个性化推荐方法和系统 |
CN107391577A (zh) * | 2017-06-20 | 2017-11-24 | 中国科学院计算技术研究所 | 一种基于表示向量的作品标签推荐方法和系统 |
Non-Patent Citations (3)
Title |
---|
DHEERAJ BOKDE等: "Matrix factorization model in collaborative filtering algorithms: A survey", 《PROCEDIA COMPUTER SCIENCE 49》 * |
FERNANDO ORTEGA等: "Recommending items to group of users using matrix factorization based collaborative filtering", 《INFORMATION SCIENCES 345》 * |
高玉凯等: "一种基于协同矩阵分解的用户冷启动推荐算法", 《计算机研究与发展》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737592A (zh) * | 2020-06-18 | 2020-10-02 | 北京航空航天大学 | 一种基于异构传播协同知识感知网络的推荐方法 |
CN111737592B (zh) * | 2020-06-18 | 2022-07-12 | 北京航空航天大学 | 一种基于异构传播协同知识感知网络的推荐方法 |
CN115455310A (zh) * | 2022-09-22 | 2022-12-09 | 北京道达天际科技股份有限公司 | 一种基于协同过滤算法的知识推荐方法 |
CN115455310B (zh) * | 2022-09-22 | 2023-04-14 | 北京道达天际科技股份有限公司 | 一种基于协同过滤算法的知识推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108153912A (zh) | 2018-06-12 |
CN108804565B (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804565A (zh) | 一种基于知识表示学习的协同矩阵分解方法 | |
Wang et al. | Modeling multi-purpose sessions for next-item recommendations via mixture-channel purpose routing networks | |
CN104615767B (zh) | 搜索排序模型的训练方法、搜索处理方法及装置 | |
De Vito et al. | Adaptive kernel methods using the balancing principle | |
CN111353542A (zh) | 图像分类模型的训练方法、装置、计算机设备和存储介质 | |
CN103514255B (zh) | 一种基于项目层次类别的协同过滤推荐方法 | |
CN109241440A (zh) | 一种基于深度学习的面向隐式反馈推荐方法 | |
WO2019029046A1 (zh) | 一种视频推荐方法及系统 | |
CN109034960B (zh) | 一种基于用户节点嵌入的多属性推断的方法 | |
CN108920641A (zh) | 一种信息融合个性化推荐方法 | |
CN106228245B (zh) | 基于变分推断和张量神经网络的知识库补全方法 | |
CN111310063A (zh) | 基于神经网络的记忆感知门控因子分解机物品推荐方法 | |
CN108053050A (zh) | 点击率预估方法、装置、计算设备及存储介质 | |
CN107507073A (zh) | 基于信任扩展和列表级排序学习的服务推荐方法 | |
CN109190030A (zh) | 融合node2vec和深度神经网络的隐式反馈推荐方法 | |
CN112115358B (zh) | 一种利用知识图谱中多跳路径特征的个性化推荐方法 | |
WO2018133596A1 (zh) | 一种基于名义属性的连续型特征构造方法 | |
CN107220328A (zh) | 基于社交网络的弱关系和强关系的视频推荐方法 | |
CN106384259A (zh) | 一种融合社交信息的推荐系统解决方法 | |
CN112396492A (zh) | 基于图注意力网络和双向长短期记忆网络的会话推荐方法 | |
WO2023051400A1 (zh) | 一种可微的挖掘常量规则的方法 | |
CN115270007B (zh) | 一种基于混合图神经网络的poi推荐方法及系统 | |
Gharehchopogh et al. | A new approach by using Tabu search and genetic algorithms in Software Cost estimation | |
CN112650933A (zh) | 一种基于高阶聚合的图卷积融合多头注意力机制的会话推荐方法 | |
CN111160859A (zh) | 一种基于svd++和协同过滤的人力资源岗位推荐方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |