CN117708421B - 基于模块化神经网络的动态推荐方法及系统 - Google Patents
基于模块化神经网络的动态推荐方法及系统 Download PDFInfo
- Publication number
- CN117708421B CN117708421B CN202311732317.XA CN202311732317A CN117708421B CN 117708421 B CN117708421 B CN 117708421B CN 202311732317 A CN202311732317 A CN 202311732317A CN 117708421 B CN117708421 B CN 117708421B
- Authority
- CN
- China
- Prior art keywords
- user
- data
- item
- recommendation
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims abstract description 55
- 239000013598 vector Substances 0.000 claims abstract description 167
- 238000012545 processing Methods 0.000 claims abstract description 37
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 33
- 230000007246 mechanism Effects 0.000 claims abstract description 28
- 230000006870 function Effects 0.000 claims description 71
- 238000004364 calculation method Methods 0.000 claims description 47
- 230000006399 behavior Effects 0.000 claims description 36
- 230000009471 action Effects 0.000 claims description 24
- 238000001914 filtration Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 17
- 230000000694 effects Effects 0.000 claims description 16
- 238000013527 convolutional neural network Methods 0.000 claims description 15
- 125000004122 cyclic group Chemical group 0.000 claims description 11
- 230000035945 sensitivity Effects 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims description 6
- 230000001105 regulatory effect Effects 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000003542 behavioural effect Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000002787 reinforcement Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000012633 leachable Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0985—Hyperparameter optimisation; Meta-learning; Learning-to-learn
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了基于模块化神经网络的动态推荐方法及系统,属于动态推荐技术领域。首先采集用户行为数据、图像数据和音频数据;其次对所述用户数据进行多模态处理,得到用户潜在特征向量;然后学习控制器并生成推荐器,计算用户偏好分数;接着计算奖励值,更新所述控制器参数并优化所述推荐器,输出推荐结果;最后设计隐私保护机制将所述推荐结果进行保护。本发明通过构建多模态深度神经网络,有效整合了用户的行为、图像和音频等多种类型的数据,以提取更加全面和深入的用户特征。此外,通过引入注意力机制和元学习算法,能够动态调整推荐策略,更准确地捕捉用户的实时偏好。
Description
技术领域
本发明属于动态推荐技术领域,具体涉及基于模块化神经网络的动态推荐方法及系统。
背景技术
随着大数据和人工智能的迅猛发展,推荐系统在我们的日常生活中扮演着越来越重要的角色。推荐系统是一种利用用户的历史行为、偏好、特征等数据,为用户提供个性化的信息或产品的智能技术。推荐系统在电子商务、社交网络、新闻媒体等领域有着广泛的应用,可以帮助用户发现感兴趣的内容,提高用户的满意度和忠诚度,同时也可以为服务提供商增加流量和收入。
传统的推荐系统大多基于用户历史行为数据,如购买记录、浏览历史等,采用协同过滤或基于内容的推荐方法。然而,这些方法存在一定的局限性,如无法处理非结构化数据(如图像、音频)和难以适应用户偏好的动态变化。为了解决这些问题,需要一种基于神经网络的动态推荐方法。
发明内容
基于上述技术问题,本发明提供基于模块化神经网络的动态推荐方法及系统,该方法通过构建多模态深度神经网络提取更加全面的用户特征,动态调整推荐策略,提高推荐系统的效果和用户体验。
本发明提供基于模块化神经网络的动态推荐方法,所述方法包括:
步骤S1:采集用户数据;所述用户数据包括行为、图像和音频;
步骤S2:对所述用户数据进行多模态处理,得到用户潜在特征向量:
步骤S3:学习控制器并生成推荐器,计算用户偏好分数;
步骤S4:计算奖励值,更新所述控制器参数并优化所述推荐器,输出推荐结果;
步骤S5:设计隐私保护机制将所述推荐结果进行保护。
可选地,所述对所述用户数据进行多模态处理,得到用户潜在特征向量,具体包括:
构建多模态深度神经网络;所述多模态深度神经网络包括卷积神经网络、循环神经网络和多层感知器;
使用所述卷积神经网络处理所述图像,得到图像特征;使用所述循环神经网络处理所述音频,得到音频特征;使用所述多层感知器处理所述行为,得到行为特征;将所述图像特征、所述音频特征和所述行为特征进行拼接,得到用户特征向量;
将所述用户特征向量输入到注意力自编码器中进行特征表示,得到用户潜在特征向量,具体包括:
ei=f(hi,q)
z=fφ(uweighted)=Sigmoid(Weuweighted+be)
式中,ei为第i个模态特征向量的注意力得分;ej为第j个模态特征向量的注意力得分;hi为第i个模态特征向量;q为推荐任务查询向量;f为函数;αi为第i个模态特征向量权重;uweighted为加权用户特征向量;n为模态数量;z为用户潜在特征向量;φ为编码器参数;We和be分别为权重和偏置项。
可选地,所述学习控制器并生成推荐器,计算用户偏好分数,具体包括:
使用元学习算法学习控制器,生成神经网络结构作为推荐器;所述推荐器包括内容推荐模块、协同过滤推荐模块和知识图谱推荐模块;
所述内容推荐模块计算公式为:
式中,ycbm为CBM模块用户对项目的偏好分数;z为用户潜在特征向量;ic为项目内容特征向量;Wc和Vc分别为权重矩阵;α和β分别为调节两个项重要性系数;σ为sigmoid激活函数;
所述协同过滤推荐模块计算公式为:
式中,ycfm为CFM模块用户对项目的偏好分数;if为项目隐向量;Wf和Vf分别为权重矩阵;γ和δ分别为调节两个项重要性系数;
所述知识图谱推荐模块计算公式为:
式中,ykgm为KGM模块用户对项目的偏好分数;ik为项目在知识图谱中的嵌入向量;Wk和Vk分别为权重矩阵;η和分别为调节两个项重要性系数;
用户偏好分数计算公式为:
y=ycbm+ycfm+ykgm
式中,y为用户偏好分数。
可选地,所述计算奖励值,更新所述控制器参数并优化所述推荐器,输出推荐结果,具体包括:
推荐器的奖励值计算公式为:
式中,r为推荐器的奖励值;rrating为评分部分的奖励值;rclick为点击部分的奖励值;λ和μ为调节两部分重要性的系数;N为用户评分的项目数;M为用户点击的项目数;sI为用户对第I个评分项目的评分;为用户对所有评分项目的平均评分;yJ为推荐器对第J个点击项目的偏好分数;
动态选择推荐项目、推荐内容和推荐时机,输出推荐结果,具体包括:
所述推荐项目计算公式为:
式中,at为在时间步t选择的项目;A为所有项目的集合;为项目a的平均奖励;Na为项目a被选择的次数;lnt为自然对数;T为总时间步;ra(t)为在时间步t选择项目a的奖励;
所述推荐内容计算公式为:
式中,G为生成器,以随机向量v为输入,生成推荐内容x为输出;D为判别器,以推荐内容x为输入,输出概率值,表示x是真实的还是生成的;pdata(x)为真实推荐内容的分布;pv(v)为随机向量的分布;V(D,G)为价值函数,表示判别器和生成器的目标函数;
所述推荐时机计算公式为:
act=πθ(s)=softmax(fθ(s))
式中,πθ(s)为策略函数,以用户的状态s为输入,输出一个动作act的概率分布;θ为深度神经网络的参数;fθ为可学习函数,全连接层或者卷积层;softmax为归一化函数。
可选地,所述设计隐私保护机制将所述推荐结果进行保护,具体包括:
隐私保护机制公式为:
Pr[Mpd(DA)=x]≤e∈Pr[Mpd(DA′)=x]
式中,Mpd为数据处理的机制;DA和DA′为两个相邻的数据集;x为推荐结果;Pr[Mpd(DA)=x]和Pr[Mpd(DA′)=x]分别为Mpd在数据集DA和DA′得到输出x的概率;∈为调节参数,表示隐私保护程度;
∈参数调节公式为:
式中,和ι为调节权重;sd为数据的敏感性,表示数据被泄露的风险;id为数据的重要性,表示数据对推荐效果的影响。
本发明还提供基于模块化神经网络的动态推荐系统,所述系统包括:
用户数据采集模块,用于采集用户数据;所述用户数据包括行为、图像和音频;
用户特征生成模块,用于对所述用户数据进行多模态处理,得到用户潜在特征向量:
用户偏好计算模块,学习控制器并生成推荐器,计算用户偏好分数;
推荐结果输出模块,用于计算奖励值,更新所述控制器参数并优化所述推荐器,输出推荐结果;
数据隐私保护模块,用于设计隐私保护机制将所述推荐结果进行保护。
可选地,所述用户特征生成模块,具体包括:
神经网络构建子模块,用于构建多模态深度神经网络;所述多模态深度神经网络包括卷积神经网络、循环神经网络和多层感知器;
特征向量生成子模块,用于使用所述卷积神经网络处理所述图像,得到图像特征;使用所述循环神经网络处理所述音频,得到音频特征;使用所述多层感知器处理所述行为,得到行为特征;将所述图像特征、所述音频特征和所述行为特征进行拼接,得到用户特征向量;
潜在特征表示子模块,用于将所述用户特征向量输入到注意力自编码器中进行特征表示,得到用户潜在特征向量,具体包括:
ei=f(hi,q)
z=fφ(uweighted)=Sigmoid(Weuweighted+be)
式中,ei为第i个模态特征向量的注意力得分;ej为第j个模态特征向量的注意力得分;hi为第i个模态特征向量;q为推荐任务查询向量;f为函数;αi为第i个模态特征向量权重;uweighted为加权用户特征向量;n为模态数量;z为用户潜在特征向量;φ为编码器参数;We和be分别为权重和偏置项。
可选地,所述用户偏好计算模块,具体包括:
推荐器生成子模块,用于使用元学习算法学习控制器,生成神经网络结构作为推荐器;所述推荐器包括内容推荐单元、协同过滤推荐单元和知识图谱推荐单元;
所述内容推荐单元计算公式为:
式中,ycbm为CBM模块用户对项目的偏好分数;z为用户潜在特征向量;ic为项目内容特征向量;Wc和Vc分别为权重矩阵;α和β分别为调节两个项重要性系数;σ为sigmoid激活函数;
所述协同过滤推荐单元计算公式为:
式中,ycfm为CFM模块用户对项目的偏好分数;if为项目隐向量;Wf和Vf分别为权重矩阵;γ和δ分别为调节两个项重要性系数;
所述知识图谱推荐单元计算公式为:
式中,ykgm为KGM模块用户对项目的偏好分数;ik为项目在知识图谱中的嵌入向量;Wk和Vk分别为权重矩阵;η和分别为调节两个项重要性系数;
用户偏好分数计算公式为:
y=ycbm+ycfm+ykgm
式中,y为用户偏好分数。
可选地,所述推荐结果输出模块,具体包括:
奖励值计算子模块,推荐器的奖励值计算公式为:
式中,r为推荐器的奖励值;rrating为评分部分的奖励值;rclick为点击部分的奖励值;λ和μ为调节两部分重要性的系数;N为用户评分的项目数;M为用户点击的项目数;sI为用户对第I个评分项目的评分;为用户对所有评分项目的平均评分;yJ为推荐器对第J个点击项目的偏好分数;
动态推荐子模块,动态选择推荐项目、推荐内容和推荐时机,输出推荐结果,具体包括:
所述推荐项目计算公式为:
式中,at为在时间步t选择的项目;A为所有项目的集合;为项目a的平均奖励;Na为项目a被选择的次数;lnt为自然对数;T为总时间步;ra(t)为在时间步t选择项目a的奖励;
所述推荐内容计算公式为:
式中,G为生成器,以随机向量v为输入,生成推荐内容x为输出;D为判别器,以推荐内容x为输入,输出概率值,表示x是真实的还是生成的;pdata(x)为真实推荐内容的分布;pv(v)为随机向量的分布;V(D,G)为价值函数,表示判别器和生成器的目标函数;
所述推荐时机计算公式为:
act=πθ(s)=softmax(fθ(s))
式中,πθ(s)为策略函数,以用户的状态s为输入,输出一个动作act的概率分布;θ为深度神经网络的参数;fθ为可学习函数,全连接层或者卷积层;softmax为归一化函数。
可选地,所述数据隐私保护模块,具体包括:
隐私保护机制公式为:
Pr[Mpd(DA)=x]≤e∈Pr[Mpd(DA′)=x]
式中,Mpd为数据处理的机制;DA和DA′为两个相邻的数据集;x为推荐结果;Pr[Mpd(DA)=x]和Pr[Mpd(DA′)=x]分别为Mpd在数据集DA和DA′得到输出x的概率;∈为调节参数,表示隐私保护程度;
∈参数调节公式为:
式中,和ι为调节权重;sd为数据的敏感性,表示数据被泄露的风险;id为数据的重要性,表示数据对推荐效果的影响。
本发明与现有技术相比,具有以下有益效果:
本发明首先通过融合用户的行为、图像和音频等多种类型的数据,能够提供更为全面和精准的用户特征分析,强调多模态数据处理能力;其次利用元学习算法和注意力机制,能够适应用户偏好的实时变化,提供更加个性化的推荐,体现动态推荐适应性;然后融合内容推荐、协同过滤和知识图谱等多种推荐策略,使推荐结果更加丰富和准确,侧重综合推荐策略:最后通过设计的隐私保护机制,有效地保护用户数据和推荐结果的安全,降低数据泄露风险,起到隐私保护的作用。
附图说明
图1为本发明的基于模块化神经网络的动态推荐方法流程图;
图2为本发明的基于模块化神经网络的动态推荐系统结构图。
具体实施方式
下面结合具体实施案例和附图对本发明作进一步说明,但本发明并不局限于这些实施例。
实施例1
如图1所示,本发明公开基于模块化神经网络的动态推荐方法,方法包括:
步骤S1:采集用户数据;用户数据包括行为、图像和音频。
步骤S2:对用户数据进行多模态处理,得到用户潜在特征向量。
步骤S3:学习控制器并生成推荐器,计算用户偏好分数。
步骤S4:计算奖励值,更新控制器参数并优化推荐器,输出推荐结果。
步骤S5:设计隐私保护机制将推荐结果进行保护。
下面对各个步骤进行详细论述:
步骤S1:采集用户数据;用户数据包括行为、图像和音频。
步骤S1具体包括:
首选确定数据采集的目标和范围,明确了解用户哪些方面,以及数据来源是什么;例如,可能想要分析用户的兴趣、偏好、行为模式、情绪状态等,以及用户在网站或移动应用上的行为数据,以及用户上传或分享的图像和音频数据。
选择合适的数据采集工具和方法,数据类型和规模,选择合适的数据采集工具和方法;例如,可以使用SDK、API、问卷、日志等方式来采集用户的行为数据,还需要考虑数据的质量、安全和隐私等因素。
编写数据采集的程序或脚本,根据选择的数据采集工具和方法,编写相应的程序或脚本,来实现数据的获取、传输、存储和处理,确保程序或脚本能够有效地执行数据采集的任务,同时避免出现错误或异常。
测试和评估数据采集的效果,对数据采集的程序或脚本进行测试和评估,检查数据的完整性、准确性、有效性和可用性,对数据进行清洗、筛选、转换和标注等操作,以便于后续的数据分析和应用。
采集用户数据主要使用埋点和无埋点;埋点是一种通过在网站或移动应用中加载代码,来监测用户的点击、浏览、搜索等行为的方式。埋点可以采集到用户的行为数据,但是也有一些缺点,比如需要耗费人力和时间,需要预先定义好需要采集的事件和属性,不断地更新和维护代码等。
无埋点是一种通过在网站或移动应用中加载一段SDK(软件开发工具包)代码,来自动采集用户的所有行为数据的方式。无埋点可以采集到用户的行为数据,而且不需要手动埋点,不需要预先定义事件和属性,不需要更新和维护代码等。无埋点效率高、成本低、数据全面、实时性强等。
本实施例中,埋点和无埋点的方式都可以用来采集用户的行为数据,但是如果要采集用户的图像和音频等数据,就需要使用图像识别、语音识别、人脸识别等技术,来分析用户上传或分享的图像和音频内容,提取出用户的特征、情绪、偏好等信息;需要使用人工智能算法,比如卷积神经网络、循环神经网络、深度学习等。
步骤S2:对用户数据进行多模态处理,得到用户潜在特征向量。
步骤S2具体包括:
构建多模态深度神经网络,它由三个子网络组成;一个卷积神经网络(CNN)用于处理图像数据,一个循环神经网络(RNN)用于处理音频和视频数据,以及一个多层感知器(MLP)用于处理用户行为数据。这三个子网络分别提取各自数据的高层特征,然后将它们拼接成一个长的特征向量,得到用户特征向量;为了减少特征维度和提高特征表达能力,在拼接层后加入自编码器(AE),它可以学习一个低维的稠密的特征表示,具体包括:
首先存在多模态的用户特征向量u,它由不同子网络提取的各自数据的高层特征拼接而成。
其次引入注意力机制来计算每个模态特征的权重αi:
ei=f(hi,q)
式中,ei为第i个模态特征向量的注意力得分;ej为第j个模态特征向量的注意力得分;hi为第i个模态特征向量;q为推荐任务查询向量;f为可学习函数;αi为第i个模态特征向量权重。
然后使用注意力权重αi对各个模态特征向量hi进行加权平均,得到加权用户特征向量uweighted:
式中,uweighted为加权用户特征向量;n为模态数量。
最后将加权用户特征向量uweighted输入到自编码器中,自编码器的编码过程将uweighted编码为一个低维的稠密的潜在特征向量z:
z=fφ(uweighted)=Sigmoid(Weuweighted+be)
式中,z为用户潜在特征向量;φ为编码器参数;We和be分别为可学习权重和偏置项。
本实施例中,潜在特征向量z不仅包含了用户特征的压缩表示,而且还融入了注意力机制的信息,使得z能够更好地反映出对推荐任务更重要的模态特征;z就不再是孤立概念,而是融合了注意力信息的有用的特征表示,通过多模态深度神经网络(MDNN)处理不同类型的数据,并使用注意力机制来动态调整各模态特征的权重;这样做可以更好地捕捉用户的综合特征,并为推荐任务提供更准确的用户潜在特征向量;在数据预处理阶段,引入多模态数据处理能力,除了传统的用户行为数据,还可以集成图像、音频和视频内容的分析;使用多模态深度学习技术来提取这些不同类型数据的特征,以增强用户特征向量的丰富性和准确性。
步骤S3:学习控制器并生成推荐器,计算用户偏好分数。
步骤S3具体包括:
使用基于强化学习的元学习算法学习一个控制器,它可以根据用户和上下文的特征,生成一个神经网络结构作为推荐器;控制器是一个循环神经网络,它以用户和上下文的特征向量为输入,以推荐器的结构为输出;推荐器是一个由多个推荐模块组成的神经网络,以用户潜在特征向量和项目特征向量为输入,以用户对项目的偏好分数为输出。
控制器生成推荐器结构后,推荐器会根据这个结构来计算偏好分数;用户对推荐结果的反馈会作为奖励值返回给控制器;控制器会根据这个奖励值来更新自己的参数,进而生成更好的推荐器结构。
用户潜在特征向量是指一组数字,这组数字代表了用户的某些特性;这些特性可以是用户的行为数据(比如用户的浏览历史、购买记录等),也可以是用户的个人信息(比如年龄、性别、地理位置等);这些特性通过多模态深度神经网络(MDNN)处理后,转化为一个向量,即用户潜在特征向量。上下文特征向量是指代表当前情境的一组数字,比如当前的时间、地点、天气、用户的设备类型等;上下文特征向量帮助系统理解用户在特定情境下需求和偏好。
推荐器包括基于内容的推荐模块(CBM)、基于协同过滤的推荐模块(CFM)和基于知识图谱的推荐模块(KGM),具体包括:
基于内容的推荐模块(CBM),它根据用户潜在特征向量和项目内容特征向量的相似度,计算用户对项目的偏好分数;用户潜在特征向量是多模态输入处理中的用户潜在特征向量,它是由多模态深度神经网络(MDNN)提取的,包含了用户的行为数据、图像数据、音频数据和视频数据的特征;项目内容特征向量是由一个卷积神经网络(CNN)提取的,包含了项目的文本数据、图像数据、音频数据和视频数据的特征,CBM的公式如下:
式中,ycbm为CBM模块用户对项目的偏好分数;z为用户潜在特征向量;ic为项目内容特征向量;Wc和Vc分别为可学习权重矩阵;α和β分别为调节两个项重要性系数;σ为sigmoid激活函数;⊙为元素间的乘法;此公式结合了两种不同的交互方式来计算用户对项目的偏好分数,第一项zTWcic是用户潜在特征向量z和项目内容特征向量ic之间的加权点积,它捕捉了用户和项目内容之间的线性关系;第二项是用户潜在特征向量和项目内容特征向量的元素乘积的非线性变换,它可以捕捉更复杂的关系;α和β是用来平衡这两项的重要性的系数,而σ是sigmoid函数,用于将分数压缩到[0,1]。
基于协同过滤的推荐模块(CFM),它根据用户潜在特征向量和项目隐向量的点积,计算用户对项目的偏好分数,CFM的公式如下:
式中,ycfm为CFM模块用户对项目的偏好分数;z为用户潜在特征向量;if为项目隐向量;Wf和Vf分别为可学习权重矩阵;γ和δ分别为调节两个项重要性系数;这个公式也包含了两部分,第一部分tanh(zTWfif)是用户潜在特征向量z和项目隐向量if之间的加权点积的双曲正切变换,它可以捕捉用户和项目之间的相似性;第二部分是用户潜在特征向量和项目隐向量的和的非线性变换,它可以提供一个概率分布,表示用户对每个项目的偏好程度。
基于知识图谱的推荐模块(KGM),它根据用户潜在特征向量和项目在知识图谱中的嵌入向量的相似度,计算用户对项目的偏好分数,KGM的公式如下:
式中,ykgm为KGM模块用户对项目的偏好分数;z为用户潜在特征向量;ik为项目在知识图谱中的嵌入向量;Wk和Vk分别为可学习权重矩阵;η和分别为调节两个项重要性系数;||·||为向量的范数;这个公式的第一部分是用户潜在特征向量和项目在知识图谱中的嵌入向量ik之间的归一化点积,它类似于余弦相似度,用于衡量用户和项目之间的语义相似性;第二部分是用户特征向量和项目嵌入向量之差的非线性变换,它可以捕捉用户和项目之间的差异。
本实施例中,Wc、Wf和Wk是可学习的权重矩阵,Vc、Vf和Vk也是可学习的权重矩阵,它们都是用于计算注意力机制中的查询(Queries)、键(Keys)和值(Values)的参数,它们的区别在于,Wc、Wf和Wk是用于将输入的特征向量映射到不同的维度空间,而Vc、Vf和Vk是用于将映射后的特征向量进行线性组合,得到最终的输出向量;Wc、Wf和Wk这些矩阵通常用于特征变换,也就是说,它们将输入数据映射到一个新的空间,这个新空间可能有助于模型更好地理解数据。例如,在公式中,zTWcic这部分是一个线性变换,其中Wc是一个权重矩阵,它将用户潜在特征向量z和项目内容特征向量ic结合起来,生成一个新的特征表示。这个过程是特征变换的一部分,它将原始特征映射到一个新的空间,可能有助于模型更好地理解数据;Vc、Vf和Vk这些矩阵则用于特征组合,它们将已经变换过的特征进行组合,以生成最终的输出。例如,在公式中,这部分首先执行了一个元素间的乘法(也称为哈达玛积),然后通过权重矩阵Vc进行另一个线性变换,并最终应用了非线性激活函数ReLU;这个过程是特征组合的一部分,它将变换后的特征以非线性的方式组合起来,生成最终的特征表示,以得到最终的偏好分数。
如果推荐器的结构是CBM-CFM-KGM,那么用户对项目的偏好分数为:
y=ycbm+ycfm+ykgm
本实施例中,除了在推荐模块中使用用户潜在特征向量和项目特征向量,还可以收集用户和项目的情境信息,也就是他们的环境和状态的数据。比如用GPS定位用户的位置,用时间戳记录用户的时间,用天气API获取用户的天气,用社交网络分析用户的人群和趋势等。这些数据都是有不同的形式和含义的,比如位置是一个坐标,时间是一个数字,天气是一个文字,人群是一个图,趋势是一个列表等。要把这些不同形式的数据转换成一个统一的向量,也就是一个一维的数字数组。这样可以用一个数字来表示用户和项目的情境信息,而不是一堆杂乱的数据。为了进行此转换,使用多模态深度神经网络,它可以把不同类型的数据融合在一起,提取出它们的共同特征,然后输出一个低维的向量;这个向量就是用户和项目的情境向量c,它包含了他们的环境和状态的信息;根据实际情况具体分析需要何种特征进行计算用户的项目偏好分数,同时根据实际情况自定义模块计算用户对项目的偏好分数。
步骤S4:计算奖励值,更新控制器参数并优化推荐器,输出推荐结果。
步骤S4具体包括:
根据真实的用户反馈(如评分、点击等),计算推荐器的奖励值;例如,推荐器可以根据CBM-CFM-KGM的结构,计算用户对项目的偏好分数为y=ycbm+ycfm+ykgm,并根据用户的评分或点击,计算推荐器的奖励值为r=rrating+rclick;最后,控制器根据推荐器的奖励值,更新自己的参数,以便下一次生成更优的推荐器的结构,具体包括:
为了计算用户的评分或点击,使用了一种基于用户反馈的计算公式,它可以根据用户对推荐结果的满意度和兴趣度,计算推荐器的奖励值,计算公式为:
式中,r为推荐器的奖励值;rrating为评分部分的奖励值;rclick为点击部分的奖励值;λ和μ为调节两部分重要性的系数;N为用户评分的项目数;M为用户点击的项目数;sI为用户对第I个评分项目的评分;为用户对所有评分项目的平均评分;yJ为推荐器对第J个点击项目的偏好分数。
评分部分的奖励值rrating是用户评分的方差,它反映了用户对推荐结果的满意度。方差越大,说明用户对推荐结果的评价越分散,说明推荐效果越差。方差越小,说明用户对推荐结果的评价越一致,说明推荐效果越好。
点击部分的奖励值rclick是用户点击的项目的偏好分数的对数函数之和,它反映了用户对推荐结果的兴趣度。偏好分数越高,说明用户对项目越感兴趣,说明推荐效果越好。对数函数是为了平滑偏好分数的影响,避免过大或过小的分数导致奖励值失衡。
动态选择推荐项目、推荐内容和推荐时机,输出推荐结果,具体包括:
使用基于上限置信区间(UCB)的算法,根据用户对项目的偏好得分,动态地选择最有可能被用户喜欢的项目(从所有项目中选择一些候选项目),作为推荐候选集;它可以平衡探索和利用的权衡,从而实现最大化的累积奖励,具体公式为:
式中,at为在时间步t选择的项目;A为所有项目的集合;为项目a的平均奖励,即用户对每个项目的反馈,可以看作是对项目a的偏好分数;Na为项目a被选择的次数,即对项目a的了解程度;lnt为自然对数,它随着时间步t的增加而增加,表示对所有项目的不确定性也在增加;T为总的时间步;ra(t)为在时间步t选择项目a的奖励,它可以是一个二元值(0或1),表示用户是否喜欢项目a,或者是一个连续值(0到1之间),表示用户对项目a的满意度;即用户对每个项目的反馈,来更新每个项目的平均奖励,从而反映用户对每个项目的偏好分数的变化;用户的偏好分数越高,表示用户越喜欢项目a,或者项目a越符合用户的需求和偏好;用户的偏好分数越低,表示用户越不喜欢项目a,或者项目a越不符合用户的需求和偏好。
此公式可以理解为是在每个时间步,根据当前的信息,动态地选择一个项目,既考虑了偏好分数,又考虑了不确定性,可以更好地适应用户的需求和偏好的变化,从而实现更高的累积奖励。
本实施例中,UCB算法思想是在每个时间步,选择具有最大置信区间上界的项目,即最有可能超过当前最优项目的项目。这样,可以在探索和利用之间达到一个平衡,既能发现潜在的好项目,又能及时利用已知的好项目,推荐内容执行过程为:
输入:用户对项目的偏好分数y∈R,其中R是偏好分数空间,所有项目的集合A,其中|A|是项目的数量;偏好分数包括用户对项目的评分,比如1到5星,或者0到100分;用户对项目的点击、浏览、收藏、购买等行为,比如0表示没有行为,1表示有行为。
输出:一个候选项目a∈A。
算法:初始化每个项目a的平均奖励为0,选择次数Na为0。对于每个时间步t,对于每个项目a,计算其上界并选择具有最大上界的项目at,向用户展示项目at,观察用户的反馈rt+1,它是一个标量值;当推荐算法选择了一个项目(比如一个商品、一部电影等)展示给用户后,系统会观察并记录用户对这个推荐项目的反应;这个反应可以是用户的评分、点击、购买或其他形式的互动,它被量化为一个数值,这个数值就是所谓的″标量值″;例如,如果用户对推荐的项目给出了5星评分,那么这个5星就可以被记录为一个标量值rt+1。
更新项目at的平均奖励为
更新项目at的选择次数为
重复以上步骤,直到达到预设的迭代次数或者满足其他停止条件。
预设的迭代次数是一个事先确定的数字,表示算法将运行多少轮。一旦达到这个次数,算法就会停止。
其他停止条件可能是算法性能的指标,如奖励的稳定性、用户满意度的提高或其他业务目标的达成。例如,如果算法连续多次选择的项目都获得了高用户评分,就会触发停止条件。
本实施例中,为项目a的平均奖励,根据实际情况选择不同计算方式。
式中,rΦ为项目a在时间步Φ的奖励;为项目a在时间步t之前被选择的次数;令T=t+1,可以得到:
式中,为项目a在所有时间步中被选择的次数。
使用一个基于生成对抗网络(GAN)的算法,动态地生成最有可能吸引用户注意力的推荐内容,如标题、摘要、图片等;生成对抗网络算法由一个生成器(Generator)和一个判别器(Discriminator)组成,它们互相竞争,从而实现最佳的推荐内容的生成,生成对抗网络算法的公式如下:
式中,G为生成器,它以一个随机向量v为输入,生成一个推荐内容x为输出;D为判别器,它以一个推荐内容x为输入,输出一个概率值,表示x是真实的还是生成的;pdata(x)为真实推荐内容的分布;pv(v)为随机向量的分布;V(D,G)为价值函数,表示判别器和生成器的目标函数。
本实施例中,推荐内容执行过程为:
输入:一个候选项目a∈A,其中A是所有项目的集合,一个随机向量v∈Z,其中Z是随机向量的空间。
输出:一个推荐内容x∈X,其中X是推荐内容的空间。
算法:初始化生成器G和判别器D的参数θg和θd,均为深度神经网络。
对于每个训练步k,从真实推荐内容的分布pdata(x)中采样m个样本{x(1),...,x(m)};m为超参数。
从随机向量的分布pv(v)中采样m个样本{v(1),...,v(m)};使用生成器将随机向量转换为推荐内容其中使用判别器计算真实推荐内容和生成推荐内容的概率
计算判别器的损失函数为:
计算生成器的损失函数为:
此公式目的是让生成器G生成的样本能够欺骗判别器D,使得判别器D认为它们是真实的样本,而不是生成的样本;因此,生成器G希望最大化判别器D对生成样本的输出概率,也就是通常使用梯度下降法来优化损失函数,需要将最大化问题转化为最小化问题,在前面加上一个负号。
使用梯度下降法更新判别器和生成器的参数:
式中,lr为学习率;和分别为损失函数的梯度。
对于每个推荐步trec,从随机向量的分布pv(v)中采样一个样本使用生成器将随机向量转换为推荐内容向用户展示推荐内容观察用户的反馈更新生成器和判别器的参数。
本实施例中,m表示从真实推荐内容的分布pdata(x)中采样的样本的数量,m的作用是为了让判别器D学习如何区分真实的推荐内容和生成器G生成的推荐内容;如果m太小,判别器D可能无法充分学习真实推荐内容的特征,导致判别能力不强;如果m太大,判别器D可能过于强大,导致生成器G难以欺骗判别器D,影响生成质量;m需要根据数据集和任务进行调整,以达到判别器D和生成器G的平衡,可以随机或者网格搜索m的候选值,然后根据生成器G的生成质量或者判别器D的判别准确率等指标,选择一个最优的m值。
推荐步trec是指在使用生成对抗网络(GAN)生成推荐内容的过程中,每一次生成和展示一个推荐内容的操作,推荐步trec的目的是为了让生成器G学习如何生成最有可能吸引用户注意力的推荐内容,如标题、摘要、图片等。推荐步trec的长度是由随机向量的分布pv(v)决定的,它表示生成器G需要多少个随机向量作为输入,才能生成一个完整的推荐内容。
在推荐项目的选择、推荐内容的呈现基础上引入一个基于深度强化学习(DRL)的算法,动态地确定最佳的推荐时机,即何时向用户展示推荐内容,以最大化用户的满意度和留存率,深度强化学习算法由深度神经网络(DNN)组成,它以用户的状态s为输入,输出一个动作a,表示是否向用户展示推荐内容,公式如下:
act=πθ(s)=softmax(fθ(s))
式中,πθ(s)为策略函数,它以用户的状态s为输入,输出一个动作act的概率分布;θ为深度神经网络的参数;fθ为可学习的函数,可以是全连接层或者卷积层;softmax为归一化函数,使得输出的概率之和为1。
本实施例中,推荐时机执行过程为:
输入:用户的状态s∈S,其中S是状态空间;用户状态指用户的一些特征或信息,比如用户的历史行为、兴趣、偏好等。
输出:一个动作act∈ACT,其中ACT是动作空间;动作指用户执行的操作,比如向用户展示或者不展示某个推荐内容
算法:初始化策略函数的参数θ;这表示首先要创建一个策略函数,它是一个用深度神经网络实现的函数,它的作用是根据用户的状态来输出每个动作的概率分布;策略函数的参数θ是深度神经网络的权重和偏置,它们决定了策略函数的输出。
对于每个时间步t:观察员用户的状态st;这表示在每个时间步,都要获取用户的当前状态,也就是用户的最新的特征或信息;这些状态可以是静态的,比如用户的人口统计数据,也可以是动态的,比如用户的最近的点击、浏览、评分等行为。
使用策略函数计算动作的概率分布πθ(act|st),它是一个softmax函数;这表示算法要根据用户的当前状态,使用策略函数来计算每个动作的概率,也就是算法认为每个动作对用户的吸引力或价值有多大。这个概率分布是一个softmax函数,它的作用是把策略函数的输出转化为一个归一化的概率分布,使得所有动作的概率之和为1。
根据概率分布采样一个动作actt;这表示要根据动作的概率分布,随机地选择一个动作,也就是算法要对用户执行的操作。这个采样的过程可以是完全随机的,也可以是有偏向的,比如更倾向于选择概率较高的动作。
向用户展示推荐内容(如果actt为展示)或者不展示(如果actt为不展示),观察用户的反馈rt+1,它是一个标量值;这表示要根据选择的动作,向用户展示或者不展示某个推荐内容,然后观察用户对这个推荐内容的反馈,也就是用户对这个推荐内容的评价或满意度;这个反馈可以是显式的,比如用户的评分、评论等,也可以是隐式的,比如用户的点击、浏览、购买等;这个反馈是一个标量值,它表示用户对这个推荐内容的喜好程度,一般来说,反馈越高,表示用户越喜欢这个推荐内容,反之亦然。
计算策略函数的损失函数为Lπ=-logπθ(actt|st)rt+1,它是一个标量值。
使用梯度上升法更新策略函数的参数:其中是为学习率,是损失函数的梯度。
重复以上步骤,直到策略函数收敛或者达到预设的迭代次数。
步骤S5:设计隐私保护机制将推荐结果进行保护。
步骤S5具体包括:
隐私保护机制公式为:
Pr[Mpd(DA)=x]≤e∈Pr[Mpd(DA′)=x]
式中,Mpd为数据处理的机制,是随机函数,它可以对数据集DA进行一些查询或分析,得到输出x;DA和DA′为两个相邻的数据集,它们只有一条数据的差别,x为可能的输出,即代表推荐结果,表示给用户展示的推荐内容,比如物品的标题、摘要、图片等;Pr[Mpd(DA)=x]和Pr[Mpd(DA′)=x]分别为Mpd在数据集DA和DA′得到输出x的概率;∈为一个可调节的参数,表示隐私保护的程度,越小越强,它决定了添加的噪声的量级和分布,也可以理解为Mpd的输出对数据集的敏感度,即数据集的一个微小变化会导致Mpd的输出的多大变化。
∈参数调节公式为:
式中,和ι是可调节的权重;sd为数据的敏感性,表示数据被泄露的风险;id为数据的重要性,表示数据对推荐效果的影响;此公式是根据数据的敏感性和重要性,动态地调整∈的值,从而实现更高效和灵活的隐私保护。例如,如果数据的敏感性很高,那么∈应该很小,以增加噪声的强度,反之亦然。同理,如果数据的重要性很高,那么∈应该很大,以减少噪声的影响,反之亦然。
定义一个随机函数Mpd是否满足差分隐私的条件,对于任意的输出x,Mpd在数据集DA和DA′上得到x的概率的比值要小于等于e的∈次方;此条件可以保证,Mpd的输出不会因为数据集中个体的存在与否而发生明显的变化,从而保护个体的隐私不被泄露或攻击。
本实施例中,隐私机制是指推荐系统的隐私保护方法,使用差分隐私和同态加密的技术,来对推荐结果进行噪声扰动和加密处理,后续可以使用数据加密和数据解密;数据加密步骤负责对推荐结果的数据进行同态加密的加密,使得推荐结果的数据在加密的状态下,仍然可以进行一些有用的计算,比如排序、过滤、评分等,使用一些常用的同态加密的算法,比如Paillier算法、ElGamal算法、BGV算法等,来对推荐结果的数据进行加密,从而保护数据的安全;数据解密步骤负责对推荐结果的数据进行同态加密的解密,使得推荐结果的数据在解密的状态下,可以被用户正常地查看和使用,使用同态加密的算法的对应的解密算法,来对推荐结果的数据进行解密,从而保证推荐结果的可用性。
实施例2
如图2所示,本发明公开基于模块化神经网络的动态推荐方法及系统,系统包括:
用户数据采集模块10,用于采集用户数据;用户数据包括行为、图像和音频。
用户特征生成模块20,用于对用户数据进行多模态处理,得到用户潜在特征向量。
用户偏好计算模块30,用于学习控制器并生成推荐器,计算用户偏好分数。
推荐结果输出模块40,用于计算奖励值,更新控制器参数并优化推荐器,输出推荐结果。
数据隐私保护模块50,设计隐私保护机制将推荐结果进行保护。
作为一种可选地实施方式,本发明用户特征生成模块20,具体包括:
神经网络构建子模块,用于构建多模态深度神经网络;多模态深度神经网络包括卷积神经网络、循环神经网络和多层感知器。
特征向量生成子模块,用于使用卷积神经网络处理图像,得到图像特征;使用循环神经网络处理音频,得到音频特征;使用多层感知器处理行为,得到行为特征;将图像特征、音频特征和行为特征进行拼接,得到用户特征向量。
潜在特征表示子模块,用于将用户特征向量输入到注意力自编码器中进行特征表示,得到用户潜在特征向量,具体包括:
ei=f(hi,q)
z=fφ(uweighted)=Sigmoid(Weuweighted+be)
式中,ei为第i个模态特征向量的注意力得分;ej为第j个模态特征向量的注意力得分;hi为第i个模态特征向量;q为推荐任务查询向量;f为函数;αi为第i个模态特征向量权重;uweighted为加权用户特征向量;n为模态数量;z为用户潜在特征向量;φ为编码器参数;We和be分别为权重和偏置项。
作为一种可选地实施方式,本发明用户偏好计算模块30,具体包括:
推荐器生成子模块,用于使用元学习算法学习控制器,生成神经网络结构作为推荐器;推荐器包括内容推荐单元、协同过滤推荐单元和知识图谱推荐单元。
内容推荐单元计算公式为:
式中,ycbm为CBM模块用户对项目的偏好分数;z为用户潜在特征向量;ic为项目内容特征向量;Wc和Vc分别为权重矩阵;α和β分别为调节两个项重要性系数;σ为sigmoid激活函数。
协同过滤推荐单元计算公式为:
式中,ycfm为CFM模块用户对项目的偏好分数;if为项目隐向量;Wf和Vf分别为权重矩阵;γ和δ分别为调节两个项重要性系数。
知识图谱推荐单元计算公式为:
式中,ykgm为KGM模块用户对项目的偏好分数;ik为项目在知识图谱中的嵌入向量;Wk和Vk分别为权重矩阵;η和分别为调节两个项重要性系数。
用户偏好分数计算公式为:
y=ycbm+ycfm+ykgm
式中,y为用户偏好分数。
作为一种可选地实施方式,本发明推荐结果输出模块40,具体包括:
奖励值计算子模块,推荐器的奖励值计算公式为:
式中,r为推荐器的奖励值;rrating为评分部分的奖励值;rclick为点击部分的奖励值;λ和μ为调节两部分重要性的系数;N为用户评分的项目数;M为用户点击的项目数;sI为用户对第I个评分项目的评分;为用户对所有评分项目的平均评分;yJ为推荐器对第J个点击项目的偏好分数。
动态推荐子模块,动态选择推荐项目、推荐内容和推荐时机,输出推荐结果,具体包括:
推荐项目计算公式为:
式中,at为在时间步t选择的项目;A为所有项目的集合;为项目a的平均奖励;Na为项目a被选择的次数;lnt为自然对数;T为总时间步;ra(t)为在时间步t选择项目a的奖励。
推荐内容计算公式为:
式中,G为生成器,以随机向量v为输入,生成推荐内容x为输出;D为判别器,以推荐内容x为输入,输出概率值,表示x是真实的还是生成的;pdata(x)为真实推荐内容的分布;pv(v)为随机向量的分布;V(D,G)为价值函数,表示判别器和生成器的目标函数。
推荐时机计算公式为:
act=πθ(s)=softmax(fθ(s))
式中,πθ(s)为策略函数,以用户的状态s为输入,输出一个动作act的概率分布;θ为深度神经网络的参数;fθ为可学习函数,全连接层或者卷积层;softmax为归一化函数。
作为一种可选地实施方式,本发明数据隐私保护模块50,具体包括:
隐私保护机制公式为:
Pr[Mpd(DA)=x]≤e∈Pr[Mpd(DA′)=x]
式中,Mpd为数据处理的机制;DA和DA′为两个相邻的数据集;x为推荐结果;Pr[Mpd(DA)=x]和Pr[Mpd(DA′)=x]分别为Mpd在数据集DA和DA′得到输出x的概率;∈为调节参数,表示隐私保护程度。
∈参数调节公式为:
式中,和ι为调节权重;sd为数据的敏感性,表示数据被泄露的风险;id为数据的重要性,表示数据对推荐效果的影响。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.基于模块化神经网络的动态推荐方法,其特征在于,所述方法包括:
步骤S1:采集用户数据;所述用户数据包括浏览历史行为、购买记录行为、上传或分享的图像和音频;
步骤S2:对所述用户数据进行多模态处理,得到用户潜在特征向量:
步骤S3:学习控制器并生成推荐器,计算用户偏好分数,具体包括:
使用元学习算法学习控制器,生成神经网络结构作为推荐器;所述推荐器包括内容推荐模块、协同过滤推荐模块和知识图谱推荐模块;
所述内容推荐模块计算公式为:
式中,yvbm为内容推荐模块用户对项目的偏好分数;z为用户潜在特征向量;ic为项目内容特征向量;Wc和Vc分别为权重矩阵;α和β分别为调节两个项重要性系数;σ为sigmoid激活函数;
所述协同过滤推荐模块计算公式为:
式中,ycfm为协同过滤推荐模块用户对项目的偏好分数;if为项目隐向量;Wf和Vf分别为权重矩阵;γ和δ分别为调节两个项重要性系数;
所述知识图谱推荐模块计算公式为:
式中,ykgm为知识图谱推荐模块用户对项目的偏好分数;ik为项目在知识图谱中的嵌入向量;Wk和Vk分别为权重矩阵;η和分别为调节两个项重要性系数;
用户偏好分数计算公式为:
y=ycbm+ycfm+ykgm
式中,y为用户偏好分数;
步骤S4:计算奖励值,更新所述控制器参数并优化所述推荐器,输出推荐结果,具体包括:
推荐器的奖励值计算公式为:
式中,r为推荐器的奖励值;rrating为评分部分的奖励值;rclick为点击部分的奖励值;λ和μ为调节两部分重要性的系数;N为用户评分的项目数;M为用户点击的项目数;sI为用户对第I个评分项目的评分;为用户对所有评分项目的平均评分;yJ为推荐器对第J个点击项目的偏好分数;
动态选择推荐项目、推荐内容和推荐时机,输出推荐结果,具体包括:
所述推荐项目计算公式为:
式中,at为在时间步t选择的项目;A为所有项目的集合;为项目a的平均奖励;Na为项目a被选择的次数;lnt为自然对数;T为总时间步;ra(t)为在时间步t选择项目a的奖励;
所述推荐内容计算公式为:
式中,G为生成器,以随机向量v为输入,生成推荐内容x为输出;D为判别器,以推荐内容x为输入,输出概率值,表示x是真实的还是生成的;pdata(x)为真实推荐内容的分布;pv(v)为随机向量的分布;V(D,G)为价值函数,表示判别器和生成器的目标函数;
所述推荐时机计算公式为:
act=πθ(s)=softmax(fθ(s))
式中,πθ(s)为策略函数,以用户的状态s为输入,输出一个动作act的概率分布;θ为深度神经网络的参数;fθ为可学习函数,全连接层或者卷积层;softmax为归一化函数;
步骤S5:设计隐私保护机制将所述推荐结果进行保护,具体包括:
隐私保护机制公式为:
Pr[Mpd(DA)=x]≤e∈Pr[Mpd(DA′)=x]
式中,Mpd为数据处理的机制;DA和DA′为两个相邻的数据集;x为推荐结果;Pr[Mpd(DA)=x]和Pr[Mpd(DA′)=x]分别为Mpd在数据集DA和DA′得到输出x的概率;∈为调节参数,表示隐私保护程度;
∈参数调节公式为:
式中,和ι为调节权重;sd为数据的敏感性,表示数据被泄露的风险;id为数据的重要性,表示数据对推荐效果的影响。
2.根据权利要求1所述的基于模块化神经网络的动态推荐方法,其特征在于,所述对所述用户数据进行多模态处理,得到用户潜在特征向量,具体包括:
构建多模态深度神经网络;所述多模态深度神经网络包括卷积神经网络、循环神经网络和多层感知器;
使用所述卷积神经网络处理所述图像,得到图像特征;使用所述循环神经网络处理所述音频,得到音频特征;使用所述多层感知器处理所述行为,得到行为特征;将所述图像特征、所述音频特征和所述行为特征进行拼接,得到用户特征向量;
将所述用户特征向量输入到注意力自编码器中进行特征表示,得到用户潜在特征向量,具体包括:
ei=f(hi,q)
z=fφ(uweighted)=Sigmoid(Weuweighted+be)
式中,ei为第i个模态特征向量的注意力得分;ej为第j个模态特征向量的注意力得分;hi为第i个模态特征向量;q为推荐任务查询向量;f为函数;αi为第i个模态特征向量权重;uweighted为加权用户特征向量;n为模态数量;z为用户潜在特征向量;φ为编码器参数;We和be分别为权重和偏置项。
3.基于模块化神经网络的动态推荐系统,其特征在于,所述系统包括:
用户数据采集模块,用于采集用户数据;所述用户数据包括浏览历史行为、购买记录行为、上传或分享的图像和音频;
用户特征生成模块,用于对所述用户数据进行多模态处理,得到用户潜在特征向量:
用户偏好计算模块,学习控制器并生成推荐器,计算用户偏好分数,具体包括:
推荐器生成子模块,用于使用元学习算法学习控制器,生成神经网络结构作为推荐器;所述推荐器包括内容推荐单元、协同过滤推荐单元和知识图谱推荐单元;
所述内容推荐单元计算公式为:
式中,ycbm为内容推荐模块用户对项目的偏好分数;z为用户潜在特征向量;ic为项目内容特征向量;Wc和Vc分别为权重矩阵;α和β分别为调节两个项重要性系数;σ为sigmoid激活函数;
所述协同过滤推荐单元计算公式为:
式中,ycfm为协同过滤推荐模块用户对项目的偏好分数;if为项目隐向量;Wf和Vf分别为权重矩阵;γ和δ分别为调节两个项重要性系数;
所述知识图谱推荐单元计算公式为:
式中,ykgm为知识图谱推荐模块用户对项目的偏好分数;ik为项目在知识图谱中的嵌入向量;Wk和Vk分别为权重矩阵;η和分别为调节两个项重要性系数;
用户偏好分数计算公式为:
y=ycbm+yefm+ykgm
式中,y为用户偏好分数;
推荐结果输出模块,用于计算奖励值,更新所述控制器参数并优化所述推荐器,输出推荐结果,具体包括:
奖励值计算子模块,推荐器的奖励值计算公式为:
式中,r为推荐器的奖励值;rrating为评分部分的奖励值;rclick为点击部分的奖励值;λ和μ为调节两部分重要性的系数;N为用户评分的项目数;M为用户点击的项目数;sI为用户对第I个评分项目的评分;为用户对所有评分项目的平均评分;yJ为推荐器对第J个点击项目的偏好分数;
动态推荐子模块,动态选择推荐项目、推荐内容和推荐时机,输出推荐结果,具体包括:
所述推荐项目计算公式为:
式中,at为在时间步t选择的项目;a为所有项目的集合;为项目a的平均奖励;Na为项目a被选择的次数;lnt为自然对数;T为总时间步;ra(t)为在时间步t选择项目a的奖励;
所述推荐内容计算公式为:
式中,G为生成器,以随机向量v为输入,生成推荐内容x为输出;D为判别器,以推荐内容x为输入,输出概率值,表示x是真实的还是生成的;pdata(x)为真实推荐内容的分布;pv(v)为随机向量的分布;V(D,G)为价值函数,表示判别器和生成器的目标函数;
所述推荐时机计算公式为:
act=πθ(s)=softmax(fθ(s))
式中,πθ(s)为策略函数,以用户的状态s为输入,输出一个动作act的概率分布;θ为深度神经网络的参数;fθ为可学习函数,全连接层或者卷积层;softmax为归一化函数;
数据隐私保护模块,用于设计隐私保护机制将所述推荐结果进行保护,具体包括:
隐私保护机制公式为:
Pr[Mpd(DA)=x]≤e∈Pr[Mpd(DA′)=x]
式中,Mpd为数据处理的机制;DA和DA′为两个相邻的数据集;x为推荐结果;Pr[Mpd(DA)=x]和Pr[Mpd(DA′)=x]分别为Mpd在数据集DA和DA′得到输出x的概率;∈为调节参数,表示隐私保护程度;
∈参数调节公式为:
式中,和ι为调节权重;sd为数据的敏感性,表示数据被泄露的风险;id为数据的重要性,表示数据对推荐效果的影响。
4.根据权利要求3所述的基于模块化神经网络的动态推荐系统,其特征在于,所述用户特征生成模块,具体包括:
神经网络构建子模块,用于构建多模态深度神经网络;所述多模态深度神经网络包括卷积神经网络、循环神经网络和多层感知器;
特征向量生成子模块,用于使用所述卷积神经网络处理所述图像,得到图像特征;使用所述循环神经网络处理所述音频,得到音频特征;使用所述多层感知器处理所述行为,得到行为特征;将所述图像特征、所述音频特征和所述行为特征进行拼接,得到用户特征向量;
潜在特征表示子模块,用于将所述用户特征向量输入到注意力自编码器中进行特征表示,得到用户潜在特征向量,具体包括:
ei=f(hi,q)
z=fφ(uweighted)=Sigmoid(Weuweighted+be)
式中,ei为第i个模态特征向量的注意力得分;ej为第j个模态特征向量的注意力得分;hi为第i个模态特征向量;q为推荐任务查询向量;f为函数;αi为第i个模态特征向量权重;uweighted为加权用户特征向量;n为模态数量;z为用户潜在特征向量;φ为编码器参数;We和be分别为权重和偏置项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311732317.XA CN117708421B (zh) | 2023-12-16 | 2023-12-16 | 基于模块化神经网络的动态推荐方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311732317.XA CN117708421B (zh) | 2023-12-16 | 2023-12-16 | 基于模块化神经网络的动态推荐方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117708421A CN117708421A (zh) | 2024-03-15 |
CN117708421B true CN117708421B (zh) | 2024-07-05 |
Family
ID=90156579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311732317.XA Active CN117708421B (zh) | 2023-12-16 | 2023-12-16 | 基于模块化神经网络的动态推荐方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117708421B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110263256A (zh) * | 2019-06-21 | 2019-09-20 | 西安电子科技大学 | 基于多模态异质信息的个性化推荐方法 |
CN112035880A (zh) * | 2020-09-10 | 2020-12-04 | 辽宁工业大学 | 一种基于偏好感知的轨迹隐私保护服务推荐方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11100400B2 (en) * | 2018-02-15 | 2021-08-24 | Adobe Inc. | Generating visually-aware item recommendations using a personalized preference ranking network |
CN111581510B (zh) * | 2020-05-07 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 分享内容处理方法、装置、计算机设备和存储介质 |
CN113449183B (zh) * | 2021-06-18 | 2022-07-12 | 华中科技大学 | 基于离线用户环境和动态奖励的交互式推荐方法和系统 |
CN115269977A (zh) * | 2022-07-18 | 2022-11-01 | 燕山大学 | 一种基于图神经网络的融合知识与协同信息的推荐方法 |
-
2023
- 2023-12-16 CN CN202311732317.XA patent/CN117708421B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110263256A (zh) * | 2019-06-21 | 2019-09-20 | 西安电子科技大学 | 基于多模态异质信息的个性化推荐方法 |
CN112035880A (zh) * | 2020-09-10 | 2020-12-04 | 辽宁工业大学 | 一种基于偏好感知的轨迹隐私保护服务推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117708421A (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Anastasopoulos et al. | Machine learning for public administration research, with application to organizational reputation | |
CN110162700B (zh) | 信息推荐及模型的训练方法、装置、设备以及存储介质 | |
CN110717098B (zh) | 基于元路径的上下文感知用户建模方法、序列推荐方法 | |
Huang et al. | Neural embedding collaborative filtering for recommender systems | |
Alhamdani et al. | Recommender system for global terrorist database based on deep learning | |
Azath et al. | Software effort estimation using modified fuzzy C means clustering and hybrid ABC-MCS optimization in neural network | |
Ciaburro et al. | Python Machine Learning Cookbook: Over 100 recipes to progress from smart data analytics to deep learning using real-world datasets | |
Elahi et al. | Recommender systems: Challenges and opportunities in the age of big data and artificial intelligence | |
CN115618024A (zh) | 多媒体推荐方法、装置及电子设备 | |
Fareed et al. | A collaborative filtering recommendation framework utilizing social networks | |
Li et al. | From edge data to recommendation: A double attention-based deformable convolutional network | |
CN118071400A (zh) | 基于图计算技术在信息消费领域的应用方法及系统 | |
Li et al. | An improved genetic-XGBoost classifier for customer consumption behavior prediction | |
CN117708421B (zh) | 基于模块化神经网络的动态推荐方法及系统 | |
Ellickson et al. | Using Contextual Embeddings to Predict the Effectiveness of Novel Heterogeneous Treatments | |
Kumar et al. | A Recommendation System & Their Performance Metrics using several ML Algorithms | |
Singh et al. | Building an effective recommender system using machine learning based framework | |
Shukla et al. | Retracted: Performance optimization of unstructured E‐commerce log data for activity and pattern evaluation using web analytics | |
Coca et al. | Physically meaningful dictionaries for EO crowdsourcing: A ML for blockchain architecture | |
Shinde et al. | A Comprehensive Survey on Recommender Systems Techniques and Challenges in Big Data Analytics with IoT Applications | |
CN117556149B (zh) | 资源推送方法、装置、电子设备和存储介质 | |
Chaudhari et al. | A Comprehensive Study on Recommendation Engines | |
CN118071032B (zh) | 基于人工智能的个性化职业规划方法、装置及存储介质 | |
CN117874351B (zh) | 一种基于情境感知的战场态势信息个性化推荐方法及系统 | |
Zhang et al. | Neural network collaborative filtering for group recommendation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |