[发明专利]基于相关矩阵和词向量模型的兴趣点推荐方法有效
申请号: | 201911425220.8 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111177565B | 公开(公告)日: | 2021-08-31 |
发明(设计)人: | 俞东进;完颜文博;王东京;张新 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F16/9535 | 分类号: | G06F16/9535;G06F16/9537 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 杨舟涛 |
地址: | 310018 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 相关 矩阵 向量 模型 兴趣 推荐 方法 | ||
1.基于相关矩阵和词向量模型的兴趣点推荐方法,其特征在于该方法的具体步骤是:
步骤(1)输入用户签到数据和兴趣点经纬度数据,其中签到数据包括用户的ID、兴趣点ID以及签到的时间;兴趣点经纬度数据包括兴趣点ID、经度和纬度;
步骤(2)读取签到数据,统计用户对各个兴趣点的访问次数,构建用户-兴趣点访问频次矩阵F;
读取兴趣点经纬度数据,构建兴趣点-经纬度字典L,形式为{兴趣点ID:(经度,纬度)};
计算各用户最常访问的兴趣点HALu=argmax(fu),其中fu表示用户u访问各兴趣点的频次,以此构造用户最常访问兴趣点字典HAL,形式为{用户ID:兴趣点ID};
步骤(3)设置距离阈值α和γ,其中α表示用户高活跃区域半径,γ表示兴趣点的邻居半径,初始化用户-兴趣点相关矩阵M,将矩阵各值赋为0;
步骤(4)构建用户-兴趣点相关矩阵M:对于每个用户u,计算该用户访问过的所有兴趣点的频次的累加和∑fu;遍历所有兴趣点p,如果该兴趣点p未被用户u访问过,则通过查询兴趣点经纬度字典L得到该用户最常访问的兴趣点字典HALu与兴趣点p的经度和纬度,并据此计算最常访问的兴趣点HALu与兴趣点p两者之间的距离,如果距离大于α,则继续遍历下一个兴趣点;如果距离等于α,则初始化用户u在兴趣点p周围的访问频次遍历用户u访问过的所有兴趣点pu,如果兴趣点p与pu之间的距离小于阈值γ,则通过访问频次矩阵F查询用户u对兴趣点p的访问频次F[u,pu]并累加至否则遍历下一兴趣点;在遍历完成用户u访问过所有兴趣点之后,计算用户u跟兴趣点p的相关系数遍历完成之后用户-兴趣点相关矩阵M构造完成;fu表示查询用户u对所有兴趣点的访问频次;
步骤(5)创建一个用户访问序列文件,其中每一行为某个用户的兴趣点访问序列,其中用户的ID排在行首,该用户所有访问过的兴趣点ID按访问先后顺序排在用户的ID之后,用户ID与兴趣点ID之间使用空格分隔;
步骤(6)构建词向量训练模型,类比自然语言处理中训练词向量的Skip-gram模型,将每个用户的兴趣点访问序列作为一个“句子”,每个用户的兴趣点访问序列中的各个兴趣点作为“单词”,同时结合用户ID信息,得出进行模型训练的目标函数:
其中U表示用户集合,si为用户ui访问的兴趣点序列,S表示所有用户访问兴趣点序列的集合,c表示上下文窗口大小;
概率函数
其中为融合函数,vi表示用户ui输入向量,|P|表示兴趣点总数,lj表示兴趣点pj输入向量,l′j表示兴趣点pj输出向量;
步骤(7)进行模型训练:首先设置模型参数,分别设置每批训练的数据量batch_size,训练的用户向量和兴趣点向量的维度embedding_dim,学习率learning_rate,负样本采样个数num_samples,最大迭代轮数epochs,兴趣点上下文窗口大小context_size;其次采用负采样方法进行训练,将损失函数定义为:
其中Pneg表示m个负样本集合,为负样本输入向量,为负样本输出向量,σ(·)为sigmoid函数,之后开始迭代训练;
步骤(8)根据步骤(4)训练得出的用户-兴趣点相关矩阵M,以及词向量模型输出的用户ui的输入向量vi、兴趣点pj的输入向量lj,从而计算出用户对各兴趣点的偏好,输出推荐结果,计算公式为Preferenceup=(vi·lj)×M[ui,pj]。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911425220.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种钕铁硼永磁材料、制备方法、应用
- 下一篇:一种展厅大门