一种基于量子启发的推荐方法与流程

文档序号:19424553发布日期:2019-12-17 15:02阅读:378来源:国知局
一种基于量子启发的推荐方法与流程

本发明属于互联网推荐算法技术领域,尤其涉及一种基于量子启发的推荐方法。



背景技术:

随着互联网的飞速发展,互联网上的信息每年都在以几何级数增长。如何在这个海量信息库中精确获取所需信息已成为人们越来越关注的问题。尤其是各类移动终端媒体平台的快速普及,人们获取信息的途径也在悄然变化。《美国社交媒体平台新闻使用报告》显示,有62%的美国成年人从社交媒体上获取新闻;《中国移动资讯信息分发市场专题研究报告》显示在国内资讯信息分发市场上,算法推送的内容已经超过了50%;路透新闻研究院的调查显示,虽然对于算法推送新闻确实存在算法审查、平台偏向、信息茧房以及回音壁的担心,但人们尤其是年轻人,更加愿意使用和相信根据算法生成和推送的内容。

传统计算(电子计算)是基于晶体管上的经典比特实现的,是传统计算机中信息处理的基本单位。它们是嵌入在微芯片中的电子开关,在0或1之间交替,以处理信息。芯片上的晶体管越多,芯片处理电信号的速度就越快,计算机就会变得越好。

量子计算机与传统计算机的不同之处在于,传统计算机的改进主要依赖于构成晶体管和微芯片的材料的进步,而量子计算机不再使用晶体管(或者经典比特),而是使用量子计算机中处理信息的基本单位——量子比特。

2018年由美国华盛顿大学的tang根据kp的量子推荐算法提出了量子启发推荐算法。tang证明了经典算法根据量子思想也可以得到与量子推荐算法相同的指数加速比。

中国专利公开号为cn104809191b,发明创造的名称为一种信息推荐方法通过展示与搜索词相关的聚合信息,可以展示不限于与搜索词同一维度的信息,可以展示与搜索词更相关的信息,通过展示推荐实体对应的深度信息,使得用户了解更多的信息,可以降低搜索成本,提高搜索效率。

但是,目前的传统算法普遍存在的具有训练时间长、占用资源多、“信息茧房”、“回声室”、“群体极化”等缺陷,但短期内量子算法又无法立即投入商用,难以在短时间内创造社会效益,而传统的电子计算发展又陷入停滞,无法保证摩尔定律的问题。

所以,发明一种基于量子启发的推荐方法显得非常必要。



技术实现要素:

为了解决上述技术问题,本发明提供一种基于量子启发的推荐方法,以解决现有的传统算法普遍存在的具有训练时间长、占用资源多、“信息茧房”、“回声室”、“群体极化”等缺陷,但短期内量子算法又无法立即投入商用,难以在短时间内创造社会效益,而传统的电子计算发展又陷入停滞,无法保证摩尔定律的问题。

一种基于量子启发的推荐方法具体包括以下步骤:

步骤一:用户场景信息数据的采集;

步骤二:用户信息数据的输入;

步骤三:大概率信息量的抽取;

步骤四:数据信息的补全填充;

步骤五:推荐结果的初步排序;

步骤六:推荐结果的再处理。

优选地,在步骤一中,所述的用户场景信息数据的采集通过csv的形式采集;所述的信息数据包括用户行为数据和内容数据。

优选地,在步骤二中,将采集的数据输入至量子启发,并形成一个用户与被推荐的项组合成偏好矩阵a。

优选地,在步骤三中,利用蒙的卡罗算法-样本的信息量多则大概率进行抽取,相反信息量较少则抽取概率较低。通过该种方式可以再保留数据趋势的情况下对数据进行筛选,通过相关矩阵变换可以得到与原矩阵相似的补全矩阵。

优选的,在步骤三中,所述的大概率信息量的抽取具体包括以下步骤:

s1031:偏好矩阵a抽样:针对步骤2)产生的偏好矩阵a进行行抽样,得到矩阵s;

s1032:矩阵s进行列抽样:对矩阵s进行列抽样,得到大小为p×p的矩阵w;

s1033:对w进行奇异值分解:.对w进行奇异值分解,得到左奇异值矩阵u与对应的奇异值δ;

s1034:奇异值矩阵的提取:取前k个奇异值以及对应的奇异值矩阵,与矩阵s得到矩阵v;

s1035:补全矩阵d的生成:使用得到的v与v的转置与原矩阵进行矩阵乘法,得到最终的补全矩阵d。

优选地,在步骤四中,所述的对于用户评分过的项填写对应评分,对于空缺的项,也就是用户没有了解过或者购买过的项,通过矩阵补全的规则进行数据填充;

优选地,在步骤五中,将步骤四中填充后的数据按照大小进行排序,将评分的前二十或者前十对用户进行推荐即可,进而得到初步的推荐结果。

优选地,在步骤六中,产生的初步推荐结果还不能直接推荐给用户,必须进行合理处理,所以在本方法设计了推荐结果处理模块,本方法设计了四组推荐引擎,每组推荐引擎都有默认的分配权重,是一个加权型并行计算模型。当每组推荐引擎完成计算任务后会给出中间层推荐数据,把这些数据推送到结果处理模块完成最后的推荐任务。

与现有技术相比,本发明具有如下有益效果:由于本发明的一种基于量子启发的推荐方法广泛应用于互联网技术领域。本发明利用量子启发,用于对用户行为的分析和内容的推荐;本算法为纯数学方法,本质是矩阵补全算,不需要参数的训练过程,对数据的依赖较小,能够在一定程度上缓解用户和信息冷启动问题,并且可加入人工干预的机制,对某些词汇进行限定出现或者禁止出现,防患于未然。

附图说明

图1是基于量子启发的推荐方法流程图。

图2是大概率信息量的抽取过程的流程图。

图3是基于量子启发的推荐方法系统结构图。

图4是基于量子启发的推荐方法算法示意图。

图5表示量子与经典方法在不同数据集下所用时间对比图。

图6表示量子与经典方法在不同数据集下推荐效果对比图。

具体实施方式

以下结合附图对本发明做进一步描述:

如附图1和图2所示

一种基于量子启发的推荐方法包括以下步骤:

s101:用户场景信息数据的采集;

s102:用户信息数据的输入;

s103:大概率信息量的抽取;

s104:数据信息的补全填充;

s105:推荐结果的初步排序;

s106:推荐结果的再处理。

一种基于量子启发的推荐方法具体实施例1:

s101:用户场景信息数据的采集:

通过csv方式在用户交互模块采集了源数据,形成了十组了movielens[1-10组]数据集,该数据集被叫作mlhatest-small它包括60000个用户,1000部电影和100023个评分。它与其他movielens数据集的不同之处是:它的评分粒度更细一些其评分域是1-10,有10个不同的评分值。它的用户物品评分矩阵的密度是1.7%。

先从数据来看:实施方案中使用的是movielens1m数据集,包含6000个用户在近4000部电影上的1亿条评论。数据集分为三个文件:用户数据users.csv,电影数据movies.scv和评分数据ratings.csv。

1.1数据用户(如表1所示)

分别有用户id、性别、年龄、职业id和邮编等字段。

数据中的格式:userid::gender::age::occupation::zip-code

表1

1.2电影数据(如表2所示)

分别有电影id、电影名和电影风格等字段。

数据中的格式:movieid::title::genres

表2

1.3评分数据(如表3所示)

分别有用户id、电影id、评分和时间戳等字段。

数据中的格式:userid::movieid::rating::timestamp

表3

1.4数据预处理结果

1)userid、occupation和movieid不用变。

2)gender字段:需要将‘f’和‘m’转换成0和1。

3)age字段:要转成7个连续数字0~6。

4)genres字段:是分类字段,要转成数字。首先将genres中的类别转成字符串到数字的字典,然后再将每个电影的genres字段转成数字列表,因为有些电影是多个genres的组合。

5)title字段:处理方式跟genres字段一样,首先创建文本到数字的字典,然后将title中的描述转成数字的列表。另外title中的年份也需要去掉。

6)genres和title字段需要将长度统一,这样在神经网络中方便处理。空白部分用‘<pad>’对应的数字填充。

选取了该数据集中的十组5041、10083、15125、20167、25209、30292、40334、45376、50418用户和前5000部电影分别组成十组用于实验的用户物品评分矩阵。在实验过程中数据集被分成两部分80%的数据用于训练,剩下20%的数据用于测试。按照这样的数据处理方式在实验过程中一共进行了十次交叉验证。

s102:用户信息数据的输入:将采集的数据输入至量子启发,并形成一个用户与被推荐的项组合成偏好矩阵a;

s103:大概率信息量的抽取:

1)、对a进行行抽样,得到矩阵s,其中大小为,其中pp×n值远小于m;

对矩阵s进行列抽样得到矩阵w;

2)、对w进行奇异值分解,得到左奇异值矩阵u与对应的奇异值δ,其中

w=uσlt

其中u是一个p×p的矩阵(里面的向量是正交的),σ是一个p×p的矩阵(除了对角线的元素,其他均为0),δ为σ矩阵对角线元素,l为p×p的矩阵(里面的向量也是正交的),lt为矩阵l的转置矩阵。

3)、取前k个奇异值以及对应的奇异值矩阵,与矩阵s得到矩阵v,其中

其中st为s的行抽样矩阵的转置矩阵,u为列抽样矩阵的左奇异值矩阵,w为列抽样矩阵,δ为列抽样矩阵得到的左奇异值矩阵对应的奇异值矩阵。

4)、使用得到的v与v的转置与原矩阵进行矩阵乘法,得到最终的补全矩阵d

d=vvt

其中vt为矩阵v的转置矩阵。

s104:数据信息的补全填充:对于用户评分过的项填写对应评分,对于空缺的项,也就是用户没有了解过或者购买过的项,通过矩阵补全的规则进行数据填充;

s105:推荐结果的初步排序:将步骤四中填充后的数据按照大小进行排序,将评分的前二十或者前十对用户进行推荐即可,进而得到初步的推荐结果;

s106:推荐结果的再处理:产生的初步推荐结果还不能直接推荐给用户,必须进行合理处理,所以在本方法设计了推荐结果处理模块,本方法设计了四组推荐引擎,每组推荐引擎都有默认的分配权重,是一个加权型并行计算模型。当每组推荐引擎完成计算任务后会给出中间层推荐数据,把这些数据推送到结果处理模块完成最后的推荐任务。

对比实验数据(如图5和图6所示):

经过试验对比,发现量子与传统的svd++相比速度上有巨大的提升。在10w条数据集中,基于量子启发推荐方法仅仅使用一分钟,而svd++使用一个小时左右。使用最长公共子序列lcs进行评估,发现在相同数据集下量子启发推荐方法的lcs与svd++持平,但是时间上有较大的提升,设置五万条训练集进行训练,svd++大概需要2960s,而量子只需要144s,具有较高的实际应用价值。下面将会展示目前取得的实验结果以及对应的解释。

图5表示量子与经典方法在不同数据集下所用时间对比图。这里选用目前非常流行的svd++作为对比试验。从图4中我们可以看到随着数据集的增加经典方法所消耗的时间是指数级上升的,而量子则是线性上升。图6是量子与经典方法在不同数据集下推荐效果对比图,这里继续沿用svd++作为对比方法。由图可知在不同数据集下,经典方法与量子的推荐效果相差较小,几乎是一样的。

可以得出结论,量子可以在进行指数级加速的同时能够保证与经典推荐模型效果大致相同。使用该模型,可以使得模型进行快速迭代,在发现不良信息时能够快速进行响应迭代,减少此类信息的影响。

本发明的一种基于量子启发的推荐方法广泛应用于互联网技术领域。本发明利用量子启发,用于对用户行为的分析和内容的推荐;本算法为纯数学方法,本质是矩阵补全算,不需要参数的训练过程,对数据的依赖较小,能够在一定程度上缓解用户和信息冷启动问题,并且可加入人工干预的机制,对某些词汇进行限定出现或者禁止出现,防患于未然。

上述实施例仅为本发明的优选实施例,并非对本发明保护范围的限制,但凡采用本发明的设计原理,以及在此基础上进行非创造性劳动而做出的变化,均应属于本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1