一种基于异构信息网络表示学习的推荐方法

文档序号:26103019发布日期:2021-07-30 18:14阅读:来源:国知局

技术特征:

1.一种基于异构信息网络表示学习的推荐方法,其特征在于,包括:

步骤s100:提取信息,对异构信息网络中的节点进行表示学习,所述节点包括用户节点和项目节点,获取用户和项目的低维向量;

步骤s200:将用户和项目的低维向量直接与推荐任务对接,作为推荐的样本特征输入域感知因子分解机模型,并通过添加组lasso作为正则项进行特征选择,完成用户和项目之间的评分预测;

步骤s300:根据评分预测完成推荐。

2.根据权利要求1所述的一种基于异构信息网络表示学习的推荐方法,其特征在于,所述步骤s100具体为:

步骤s110:根据元结构生成语义图;

步骤s120:在语义图上进行动态截断随机游走,获取同时蕴含语义信息和结构信息的节点序列r,将节点序列r作为skip-gram模型的输入,获得节点低维向量。

3.根据权利要求2所述的一种基于异构信息网络表示学习的推荐方法,其特征在于,所述步骤s110中元结构包括含有非线性结构的复杂元结构和只建模线性关系的线性元结构,生成语义图的具体过程为:

步骤s111:从yelp信息网络中抽取用户节点和评论节点,并在用户节点和评论节点之间建立链接,形成异构图hg;

步骤s112:从yelp信息网络中找出既针对同一用户又包含相同关键字的评论对,并放入集合w;

步骤s113:对集合w进行遍历,将存在于w中的评论对于异构图hg中建立链接,形成关系r-r,则异构图hg中的线性元结构具备元结构的语义;

步骤s114:当为复杂元结构时,根据异构图hg中存在的节点和关系构建相应邻接矩阵;当为线性元结构时,从原始异构信息网络生成邻接矩阵;

步骤s115:在异构图hg中沿着线性元结构进行矩阵运算,生成同构矩阵auu;

步骤s116:根据同构矩阵auu构建同构图sg,同构图sg即为相应的复杂元结构或线性原结构对应的语义图。

4.根据权利要求3所述的一种基于异构信息网络表示学习的推荐方法,其特征在于,所述步骤s120具体包括:

步骤s121:将语义图上的节点投射到异构信息网络中计算复杂元结构cs以及线性元结构ls的节点相似性矩阵;

构建用户节点与评论节点的邻接矩阵wur,构建评论节点和项目节点的邻接矩阵wrb和构建评论节点和关键字节点的邻接矩阵wrk;

获取c1和c2的基本积,其中

用户在复杂元结构cs上的相似性矩阵

计算线性元结构ls的节点相似性矩阵:

其中,wur为用户节点和评论节点的邻接矩阵,wrk为评论节点和关键词节点的邻接矩阵;

步骤s122:对从每个节点开始随机游走的次数进行约束,设置从每个节点v开始进行随机游走的次数为l,l=max(h(v)×maxl,minl),其中,maxl为从节点开始进行随机游走的最大次数;minl为从节点开始进行随机游走的最小次数;h(v)为节点v在语义图上的重要性;

步骤s123:动态截断随机游走,具体为:

定义元结构s的语义图节点在元结构s上的相似性矩阵sims,每个节点的最大游走次数maxt,每个节点的最小游走次数mint,游走的最大长度wl,游走的停止概率pstop;

初始化用于存放节点序列的列表sequences;

计算节点的重要性h=pagerank(sgs);

a1:计算以节点v为起始节点的游走次数l;

a2:初始化用于存放本次节点序列的列表sequence、记录当前节点nnow=v、记录最大游走次数wl_t=wl;

根据游走路径到达节点x并记录转移概率ptrans,游走路径为:

式中,nx为游走路径的当前节点;ni为游走路径的上一跳节点,是nx的一阶近邻;o(ni)为节点ni的度;

将节点x加入列表sequence,计算节点x的停止概率px-stop:

式中,pstop为预先指定的固定停止概率;sim(ni,nx)为上一跳节点ni和当前节点nx之间未经过归一化的相似性;

判断是否在节点x停止,如果是,结束本次游走,进入下一步,否则,更新游走步长wl_t←wl_t-1和当前节点nnow=x,判断游走次数是否达到l,如果是进入下一步,否则,返回a2;

a3:将本次游走序列加入列表sequences,判断是否所有节点都计算完毕,如果是,进入下一步,否则返回a1;

a4:输出节点序列的列表sequences;

步骤s124:表示学习,对输出的节点序列,通过一个长度固定的采用窗口对近邻进行采样,得到用户的近邻集合,并采用以下公式优化表示学习:

式中,为将节点嵌入到d维特征空间的映射函数;为节点u在指定元结构上的近邻;

步骤s125:通过动态截断随机游走获取的节点序列r:

将r作为skip-gram模型的输入,获得节点低维向量φ=skip-gram(d,winl,r)。

5.根据权利要求2-4中任意一项所述的一种基于异构信息网络表示学习的推荐方法,其特征在于,若异构信息网络中用户与用户之间存在直接相连的关系,则还包括步骤s130:对用户向量进行修正,具体包括:

步骤s131:指定用户集合的基础上定义三元组<u,ui,uj>,其中u∈u表示目标用户,ui∈u和uj∈u分别为用户u的直接近邻和间接近邻,且其中表示用户u在元结构s上的近邻集合;将用户u的近邻集合中所有符合上述要求的三元组构成用户u的训练数据则所有用户的训练数据便构成了元结构s上用于进行向量修正的训练数据集d;定义符号>u来表示用户u在近邻上的偏置关系,即三元组<u,ui,uj>可以用ui>uuj来代替;

步骤s132:初始化训练数据集d;获取用户u在元结构上的近邻集合nu、获取用户u的直接近邻集合dnu,获取用户u的间接近邻集合inu;

步骤s133:将由目标用户、直接近邻、间接近邻组成的三元组添加到训练数据集合;

步骤s134:根据梯度上升算法中的迭代公式更新参数:

步骤s135:直至用户向量矩阵ms收敛,输出经过修正的用户向量矩阵

6.根据权利要求5所述的一种基于异构信息网络表示学习的推荐方法,其特征在于,所述步骤s200具体包括:

步骤s210:评分预测:

参考数据集中用户和项目之间的观测评分,对其进行拼接,将拼接向量当作新的推荐样本xn

式中,为用户ui和项目bj在各自第l个元结构上的向量表示;d为每个向量的维度;

步骤s220:采用ffm模型计算评分:

式中:w0为全局偏置、wi为第i个特征的相应权重以及由第i个和第j个特征构成的组合特征的相应权重,参数m为样本xn的特征维度,即m=2l×d;

步骤s230:参数学习:

采用最小化均方误差学习,获取目标函数

式中:yn为第n个样本的实际评分;n为样本数量;

在目标函数中引入可以用于挑选特征的组lasso,参数p的组lasso正则化具有如下表示:

式中,pg为所有属于第g组的参数,g=1,2,...,g;||·||2——l2范数;

将样本xn中由同一个元结构生成的特征归入同一个组,因此样本xn的特征将被分为2l个组,参数w以及v分别有以下正则化公式:

式中:wl为一个维度为d的向量;vl为第l个元结构的特征在所有域上的隐向量构成的矩阵;||·||f为矩阵的frobenius范数;

综合目标函数和正则化公式,优化目标可转换为:

采用非单调加速近端梯度算法nmapg进行模型的优化,输出/得到优化后的特征选择。


技术总结
本发明公开了一种基于异构信息网络表示学习的推荐方法,包括提取信息,对异构信息网络中的节点进行表示学习,所述节点包括用户节点和项目节点,获取用户和项目的低维向量;将用户和项目的低维向量直接与推荐任务对接,作为推荐的样本特征输入域感知因子分解机模型,并通过添加组lasso作为正则项进行特征选择,完成用户和项目之间的评分预测;根据评分预测完成推荐。本发明采用基于元结构和动态截断随机游走的异构信息网络表示学习方法,不但能够捕获简单线性语义,对复杂非线性结构的挖掘也能井然有序,有效弥补元路径因自身结构缺陷所导致的信息丢失的问题;避免信息融合阶段可能造成的不可逆信息损失。

技术研发人员:李川;李亚莹
受保护的技术使用者:四川大学
技术研发日:2021.05.11
技术公布日:2021.07.30
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1