
技术摘要:
本发明公开了一种基于知识图谱表示学习和神经网络的协同推荐方法,将数据集中的项目映射到公开知识图谱三元组,作为训练集输入到OpenKE框架中进行模型训练,其中同过设置参数的方式来选择采用知识图谱表示学习方法进行学习,按照顺序将实体集的对应向量矩阵E′反映射回 全部
背景技术:
在传统的推荐系统中,因其依赖于矩阵分解协同过滤算法进行推荐,不可避免地 会出现冷启动和数据稀疏性问题。数据稀疏性问题往往是指在比如大规模电商等平台,用 户和项目数量非常大,但是在获得的用户-项目矩阵中,用户平均有交互的项目数量较小, 这样就会造成用户-项目矩阵稀疏。而冷启动问题是指如何在没有大量用户数据的情况下 为新用户做个性化推荐。数据的稀疏性问题最终会导致无法捕捉到不同用户和不同项目之 间的关系,从而降低了推荐系统的准确度。神经网络可以从更高的维度去剖析事物和事物 之间的关系,也让数据稀疏性问题得到了改善。冷启动问题归根结底还是数据的信息维度 不够。知识图谱中包含了一个事物在现实世界中的事实关系,相当于对于模型中需要训练 的数据提供了额外的信息维度,从而一定程度上的解决了冷启动问题。
技术实现要素:
发明目的:为了克服现有技术中存在的不足,本发明提供一种基于知识图谱表示 学习和神经网络的协同推荐方法,本发明能够解决评分矩阵稀疏和冷启动的问题,并增强 了协同过滤推荐的性能和准确性。 技术方案:为实现上述目的,本发明采用的技术方案为: 一种基于知识图谱表示学习和神经网络的协同推荐方法,包括以下步骤: 步骤1,获取数据集,将数据集中的项目映射到公开知识图谱三元组K,并为项目分 别构建其对应的实体集E、关系集R、以及训练集S; 步骤2,构建好的实体集E、关系集R、以及训练集S作为训练集输入到OpenKE框架中 进行模型训练,其中同过设置参数的方式来选择采用知识图谱表示学习方法进行学习; 步骤3,第二步训练过程中会输出实体集的对应向量矩阵E′,根据第二步输入的实 体集E的项目顺序,按照顺序将实体集的对应向量矩阵E′反映射回项目个体,最终为每一个 项目构建好其对应的低维度稠密特征向量Ikem; 步骤4,将步骤3得到的低维度稠密特征向量Ikem做正例、负例选择处理,生成正例 低维度稠密特征向量Ikem-pos和负例低维度稠密特征向量Ikem-neg,之后中加入一个读入模块, 将正例低维度稠密特征向量Ikem-pos和负例低维度稠密特征向量Ikem-neg读入模型中,并替换 掉传统向量层操作,即为知识嵌入向量层最终输出,然后神经网络训练层开始训练。 优选的:步骤3中的反映射指将训练结束之后输出的每一个低维度稠密特征向量 Ikem按顺序对应到每一个输入的实体集E的项目编号。 优选的:知识表示学习方法包括TransE方法、TransR方法、TransH方法、TransD方 法。 3 CN 111582509 A 说 明 书 2/7 页 优选的:知识嵌入向量层是一个离线处理数据的组件。 本发明相比现有技术,具有以下有益效果: 本发明通过使用知识图谱结构化表示学习方法,将从公共知识库中提取的现有语 义数据以丰富现有数据集的信息维度,提出将知识谱图表示学习过的低维稠密向量代替传 统方法的向量化结果,并将该过程作为中间层嵌入神经网络的协同过滤模型,不仅仅挖掘 用户和项目之间的线性和非线性关系,更进一步的融入项目的知识关系,从而使得神经网 络模型能够充分利用知识图谱中大量存在的先验知识来挖掘项目之间的关系,再进一步深 度挖掘用户与项目之间的交互信息。 在使用神经网络的过程中,本发明允许矩阵分解模块和深度神经网络模块独立的 嵌入,然后各自进入自己的隐层进行计算。其中,本发明选择在深度神经网络的底层中加入 知识图谱嵌入层,理论上说这是一个离线运算的部分,对项目利用现有的知识图谱进行表 示学习生成具备知识的稠密低维向量,并作为支流拼接到协同深度模型中,在最后加入神 经网络预测层融合两者隐层的输出,最后得到相对精准的推荐列表。 附图说明 图1为基于知识图谱表示学习和神经网络的协同推荐方法的系统架构图。 图2为基于知识图谱表示学习和神经网络的协同推荐方法的流程示意图。 图3为用于知识图谱表示学习的实体集、关系集、打分集。 图4为采用TransH表示学习方法生成的128维的稠密向量。 图5为使用TransE与原始模型在Movielens-1M上的训练结果图。 图6为不同的知识表示学习方法的性能对比实验结果截图1。 图7为不同的知识表示学习方法的性能对比实验结果截图2。