基于自编码器的美食个性化推荐方法及系统与流程

文档序号:31873471发布日期:2022-10-21 20:25阅读:149来源:国知局
基于自编码器的美食个性化推荐方法及系统与流程

1.本公开属于美食个性化推荐技术领域,尤其涉及一种基于自编码器的美食个性化推荐方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
3.随着科学技术、信息技术的快速发展,带动了人们生活水平的提高,但是数据量也在日益剧增,在信息爆炸的时代,从大量信息中筛选出对人们有效的信息变得越来越困难。推荐系统的出现在一定程度解决了“信息过载”问题,帮助人们过滤出有价值的信息,而推荐算法作为推荐系统的核心,受到越来越多研究人员的重视,成为了近年来的研究重点。协同过滤作为推荐系统的经典算法,但是,发明人发现,随着用户数量和项目数据的不断增加,数据稀疏性的问题也成为了协同过滤的一个突出缺点,同时,现有方法在美食推荐中的推荐精度和效率仍然有待提高。


技术实现要素:

4.本公开为了解决上述问题,提供了一种基于自编码器的美食个性化推荐方法及系统,所述方案通过将自编码器和基于用户的协同过滤推荐算法结合,利用自编码器对高维度、稀疏的用户特征向量进行编码得到低纬度、稠密的特征向量,解决了协同过滤中存在稀疏性的问题,有效提高了商品推荐的精度和效率。
5.根据本公开实施例的第一个方面,提供了一种基于自编码器的美食个性化推荐方法,包括:
6.获取预设区域内用户购买商品的历史交易数据;
7.基于获取的历史交易数据,获得用户—商品评分矩阵;
8.将所述用户—商品评分矩阵输入预先训练的ae-net自编码器网络,获得用户特征向量矩阵;
9.基于获得的用户特征向量矩阵计算用户间的相似度矩阵;
10.对于某一用户,基于所述相似度矩阵对各商品的评分进行预测;
11.基于商品的预测评分进行排序,选择排序靠前的若干商品进行推荐。
12.进一步的,所述获得用户—商品评分矩阵,具体为:基于用户对某一商品多种形式的评分,通过加权平均,获得最终的评分值;基于获得的评分值,生成用户—商品评分矩阵。
13.进一步的,所述ae-net自编码器网络输入层、隐藏层及输出层三层网络结构,其输入为用户—商品评分矩阵,输出为各个用户特征向量。
14.进一步的,基于获得的用户特征向量矩阵计算用户间的相似度矩阵,具体为:将获得的用户特征向量进行汉明编码,基于汉明距离计算用户间的相似度,进而生成相似度矩阵。
15.进一步的,对于某一用户,基于所述相似度矩阵对各商品的评分进行预测,具体为:对于目标用户,基于获得的相似度矩阵,获取与目标用户相似度满足预设阈值的若干用户,对于某一商品,计算获得的若干用户对于该商品评分值的均值,作为该商品的预测分值。
16.根据本公开实施例的第二个方面,提供了一种基于自编码器的美食个性化推荐系统,包括:
17.数据获取单元,其用于获取预设区域内用户购买商品的历史交易数据;
18.评分矩阵获取单元,其用于基于获取的历史交易数据,获得用户—商品评分矩阵;
19.特征向量矩阵获取单元,其用于将所述用户—商品评分矩阵输入预先训练的ae-net自编码器网络,获得用户特征向量矩阵;
20.相似度计算单元,其用于基于获得的用户特征向量矩阵计算用户间的相似度矩阵;
21.评分预测单元,其用于对于某一用户,基于所述相似度矩阵对各商品的评分进行预测;
22.商品推荐单元,其用于基于商品的预测评分进行排序,选择排序靠前的若干商品进行推荐。
23.根据本公开实施例的第三个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种基于自编码器的美食个性化推荐方法。
24.根据本公开实施例的第四个方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的一种基于自编码器的美食个性化推荐方法。
25.与现有技术相比,本公开的有益效果是:
26.(1)本发明提供了一种基于自编码器的美食个性化推荐方法及系统,所述方案通过将自编码器和基于用户的协同过滤推荐算法结合,利用自编码器对高维度、稀疏的用户特征向量进行编码得到低纬度、稠密的特征向量,解决了协同过滤中存在稀疏性的问题。
27.(2)本公开所述方案对低维的用户特征向量进行二次编码,汉明码表示使特征向量更具有抗干扰性。
28.(3)本公开所述方案使用汉明距离度量用户之间的相似性,既节省了数据的存储空间,同时大大提高了度量过程的效率。
29.本公开附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
30.构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
31.图1为本公开实施例一中所述的一种基于自编码器的美食个性化推荐方法流程图;
32.图2为本公开实施例一中所述的ae-net(autoencoders-network)自编码器网络结
构示意图。
具体实施方式
33.下面结合附图与实施例对本公开做进一步说明。
34.应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
35.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
36.在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
37.实施例一:
38.本实施例的目的是提供一种基于自编码器的美食个性化推荐方法。
39.目前,“智慧社区”已不再是概念话题,在各方面给社区居民生活带来了巨大改善。如何将自编码器与推荐技术应用于社区领域,贯彻以人为中心的服务宗旨,从衣食住行出发,为了给社区居民提供更好的美食享受,本发明是以智慧社区服务平台为依托打造一款专门服务于社区用户的美食推荐方法。社区资源个性化服务是智慧社区发展的趋势,本发明切实结合这一发展现状,从个人服务的角度促进智慧社区的发展,提高社区居民生活质量,增强居民生活体验。
40.近年来,随着深度学习神经网络技术的发展和应用,推荐系统遇到的问题也在逐渐被解决。在深度学习的推动下,推荐系统又一次得到新的改进,推荐精准率和用户的体验度不断提升,所以基于深度学习的推荐算法成为了推荐研究领域的一个热点。将深度学习方法应用在推荐系统上,形成了新的推荐算法模型,使得推荐效果得到改善。目前,基于深度学习算法的推荐系统又很多种,将常用的的深度学习技术应用于推荐算法当中的多层感知器推荐技术,该技术是在输入层和输出层具有一个或多个隐藏层的前馈神经网络。一些研究人员试图将深度学习技术与传统的推荐技术相结合,如矩阵分解mf,概率矩阵分解pmf,因式分解机器fm或最近邻居算法,这些模型进一步分为松耦合和紧耦合模型。例如当应用自编码器学习用于馈送到潜在因子模型的特征表示时,如果同时优化自编码器和潜在因子模型的参数,称之为紧耦合。如此,潜在因素模型和特征学习过程相互影响。
41.基于上述目的以及所要解决的技术问题,如图1所示,本公开提供了一种基于自编码器的美食个性化推荐方法,包括:
42.获取预设区域内用户购买商品的历史交易数据;
43.基于获取的历史交易数据,获得用户—商品评分矩阵;
44.将所述用户—商品评分矩阵输入预先训练的ae-net自编码器网络,获得用户特征向量矩阵;
45.基于获得的用户特征向量矩阵计算用户间的相似度矩阵;
46.对于某一用户,基于所述相似度矩阵对各商品的评分进行预测;
47.基于商品的预测评分进行排序,选择排序靠前的若干商品进行推荐。
48.进一步的,所述获得用户—商品评分矩阵,具体为:基于用户对某一商品多种形式的评分,通过加权平均,获得最终的评分值;基于获得的评分值,生成用户—商品评分矩阵。
49.进一步的,所述ae-net自编码器网络输入层、隐藏层及输出层三层网络结构,其输入为用户—商品评分矩阵,输出为各个用户特征向量。
50.进一步的,基于获得的用户特征向量矩阵计算用户间的相似度矩阵,具体为:将获得的用户特征向量进行汉明编码,基于汉明距离计算用户间的相似度,进而生成相似度矩阵。
51.进一步的,对于某一用户,基于所述相似度矩阵对各商品的评分进行预测,具体为:对于目标用户,基于获得的相似度矩阵,获取与目标用户相似度满足预设阈值的若干用户,对于某一商品,计算获得的若干用户对于该商品评分值的均值,作为该商品的预测分值。
52.进一步的,所述获取预设区域内用户购买商品的历史交易数据,包括用户id、商品id、评分、评价以及星级打评。
53.具体的,为了便于理解,以下结合附图对本公开所述方案进行详细说明:
54.一种基于自编码器的美食个性化推荐方法,包括:采集用户-商品交互数据、数据预处理、训练ae-net自编码器网络、使用自编码器编码用户特征向量、二次编码得到汉明码、汉明距离度量用户相似性、预测商品评分以及top-n排序推荐。以下对各个步骤进行详细说明:
55.步骤1:在社区服务平台上,采集社区用户购买商品的历史交易记录数据,包括交互信息;
56.其中,所述步骤1包括:
57.在社区服务平台上,采集社区用户购买商品的历史交易记录数据,包括用户id、商品id、评分、评价、星级打评等交互信息数据。
58.步骤2:对交易记录数据,进行加权平均数等操作进行数据预处理获得用户-商品评分矩阵;
59.其中,所述步骤2中,包括:
60.对交易记录数据,进行加权平均数等操作进行数据预处理获得用户-商品评分矩阵。
[0061][0062]
其中,x为用户对商品的各种方式的评分(包括但不限于评分),f为该评分所对应的权重。预处理后得到如下用户-商品评分矩阵:
[0063] item1item2...itemkuser1r
11r12
...r
1k
user2r
21r22
...r
2k
...............userkr
k1rk2
...r
kk
[0064]
步骤3:将评分矩阵输入ae-net自编码器网络进行训练,直至得到最优参数;
[0065]
其中,所述步骤3具体为:
[0066]
本发明设计自编码器网络ae-net(autoencoder-network),对高纬度、稀疏的用户特征向量编码为低维、稠密的特征向量。具体包括:自编码器网络由三层网络结构组成输入层、隐藏层、输出层,本发明中输入层5个神经元,即用户向量维度是5,隐藏层设为3层,即编码后用户特征向量的维度是3,其中输入层与隐藏层之间为编码过程表达式:
[0067]hi
=σ(w1xi+bi)
[0068]
其中,σ为sigmoid激活函数,w1∈rc×n(c=5,n=3),b为偏置量。
[0069]
隐藏层与输出层之间为解码过程表达式:
[0070]
其中,w2∈rn×c;
[0071]
其训练过程就是不断调整权值矩阵w1、w2以及偏置量,从而最小化目标函数:
[0072][0073]
同时,使用l2-范数防止过拟合现象。
[0074]
步骤4:使用训练好的ae-net自编码器对高纬度、稀疏用户特征向量进行编码,得到低维、稠密特征向量;
[0075]
步骤5:对用户特征向量二次编码为汉明码,使用汉明距离度量用户之间的相似性;
[0076]
其中,所述步骤5具体为:
[0077]
对步骤4中得到的低维、稠密的用户特征向量二次编码为汉明码,使用汉明距离度量用户之间的相似性。因为隐藏层特征向量每一维都是一个神经元激活度,其值位于0-1之间,因此二次编码规则:
[0078][0079]
汉明距离表示为两组数据中对应位置中不同数据的数量,数量越小,则用户越相似,因此取负操作可以保证汉明距离越大,则用户越相似:
[0080][0081]
步骤6:目标用户根据相似用户相似度预测商品评分;
[0082]
其中,所述步骤6具体为:
[0083]
用户u的相似用户集合为{u1,u2,...,uk}对应相似度为[f1,f2,...,fk],相似用户对商品a的评分为[s1,s2,...,sk],则预测评分:
[0084][0085]
步骤7:对预测评分进行top-n排序。
[0086]
其中,所述步骤7具体为:根据步骤6中目标用户对一系列商品的预测评分进行top-n排序,并进行推荐,供用户选择。
[0087]
实施例二:
[0088]
本实施例的目的是提供一种基于自编码器的美食个性化推荐系统。
[0089]
一种基于自编码器的美食个性化推荐系统,包括:
[0090]
数据获取单元,其用于获取预设区域内用户购买商品的历史交易数据;
[0091]
评分矩阵获取单元,其用于基于获取的历史交易数据,获得用户—商品评分矩阵;
[0092]
特征向量矩阵获取单元,其用于将所述用户—商品评分矩阵输入预先训练的ae-net自编码器网络,获得用户特征向量矩阵;
[0093]
相似度计算单元,其用于基于获得的用户特征向量矩阵计算用户间的相似度矩阵;
[0094]
评分预测单元,其用于对于某一用户,基于所述相似度矩阵对各商品的评分进行预测;
[0095]
商品推荐单元,其用于基于商品的预测评分进行排序,选择排序靠前的若干商品进行推荐。
[0096]
本发明提出了一种基于自编码器的美食个性化推荐方法及系统,其中该方法将自编码技术和基于用户的协同过滤推荐算法相结合,通过自编码网络将高维、稀疏的用户特征向量做编码操作得到低维、稠密的特征向量,使用二进制再次编码经过编码后的用户特征向量得到低维、稠密、二进制的特征向量,然后使用汉明距离(hamming distance)度量用户之间的相似度,进而实现推荐的目的。自编码器的使用在一定程度上解决了协同过滤中存在评分矩阵稀疏性的问题,将低维度的用户向量二次编码为汉明码,减少了数据的存储空间,利用汉明距离度量用户之间的相似度,大大提升了推荐系统计算的效率。
[0097]
在更多实施例中,还提供:
[0098]
一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例一中所述的方法。为了简洁,在此不再赘述。
[0099]
应理解,本实施例中,处理器可以是中央处理单元cpu,处理器还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic,现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0100]
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
[0101]
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一中所述的方法。
[0102]
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0103]
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0104]
上述实施例提供的一种基于自编码器的美食个性化推荐方法及系统可以实现,具
有广阔的应用前景。
[0105]
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1