CN110688585A - 一种基于神经网络和协同过滤的个性化电影推荐方法 - Google Patents
一种基于神经网络和协同过滤的个性化电影推荐方法 Download PDFInfo
- Publication number
- CN110688585A CN110688585A CN201910912752.8A CN201910912752A CN110688585A CN 110688585 A CN110688585 A CN 110688585A CN 201910912752 A CN201910912752 A CN 201910912752A CN 110688585 A CN110688585 A CN 110688585A
- Authority
- CN
- China
- Prior art keywords
- matrix
- bert
- item
- movie
- 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.)
- Granted
Links
Images
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/9536—Search customisation based on social or collaborative filtering
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于神经网络和协同过滤的个性化电影推荐方法,采用Bert神经网络对电影情节进行特征提取,形成一个关于item的特征矩阵与Funk‑SVD形成衔接,再利用矩阵分解技术产生一个完整的U‑I矩阵,得到所有预测评分的一种快速有效的方法。先利用Bert神经网络对电影情节进行特征提取,并得到一个关于电影item的特征矩阵;然后将得到的特征矩阵与协同过滤算法Funk‑SVD算法衔接,再利用矩阵分解技术,梯度下降法进行优化,得到一个误差最小的完整的U‑I矩阵,最终获得所有预测评分等一系列操作;本发明在原有显式反馈和隐式反馈的基础上,加入辅助信息即电影情节,更加准确的获取item的特征矩阵,使最小误差降低了2.40%,提高了预测的精确度。
Description
技术领域
本发明属于基于人工智能的个性化推荐领域,具体采用Bert神经网络对电影情节进行特征提取,形成一个关于item的特征矩阵与Funk-SVD形成衔接,再利用矩阵分解技术产生一个完整的U-I矩阵,得到所有预测评分的一种快速有效的方法。
背景技术
目前使用较多的实现推荐***的主要途径有三种:基于内容推荐(CB)、协同过滤推荐(CF)和混合推荐。
·CB:将物品与用户先前喜欢的物品进行比较,然后推荐最匹配的物品。但该方法存在的主要问题是冷启动问题和相似用户可靠性问题。
·CF:协同过滤是推荐***中最流行的算法,通过分析用户和物品交互数据来建模,预测用户对物品的喜好。其主要的障碍在于用户和物品交互数据的稀疏性。
·混合过滤:是指将多种推荐算法结合,实现缺点互补,实现更好的推荐效果。在实际应用中,我们可以针对具体问题采用合适的组合策略。目前基于内容的推荐和协同过滤推荐的组合是研究和应用较多的组合。
在计算物品评分矩阵时,为了提取更为准确的特征向量,对电影情节采用了自然语言处理(NLP)。现存两种处理预训练产生词向量和下游具体NLP任务的关系的策略:基于特征处理(如ELMo)和微调处理(如the Generative Pre-trained Transformer(OpenAIGPT))。这两种处理方式都会限制预训练产生词向量的结果,其原因主要是其标准语言模型是单向的,这限制了在训练中使用的结构,并导致特征提取的准确度下降。
发明内容
针对现有技术中存在的上述问题,本发明提出一种基于神经网络和协同过滤的个性化电影推荐方法。对于想得到用户的物品的评分,并实现个性化推荐,本发明提出的方法整体思路是,先利用Bert神经网络对电影情节进行特征提取,并得到一个关于电影item的特征矩阵;然后将得到的特征矩阵与协同过滤算法Funk-SVD算法衔接,再利用矩阵分解技术,梯度下降法进行优化,得到一个误差最小的完整的U-I矩阵,最终获得所有预测评分等一系列操作。
为实现上述目的,本发明采用的技术方案为一种基于基于神经网络和协同过滤的个性化推荐方,包括以下步骤:
神经网络Bert:
Bert在训练双向语言模型时以较小的概率把少量的词替成了Mask或者另一个随机的词,目的在于使模型被迫增加对上下文的记忆。BertTransformer使用双向self-attention,分别从左到右和从右到左提取和编码语句信息。超大数据集的使用,从源域到目标域的迁移学习有效提高的模型的表征能力。在实验中的数据为电影情节文本,由于描述电影情节的语句较长,与RNN按照时间顺序提取特征相比,transformer可以有效的保证前面的特征不会消失Bert包括两个主要步骤:预训练和微调。其中,在预训练过程中Bert遮蔽了输入的15%的电影情节文本,通过一个transformer Encoder来运行整个序列,然后只预测被遮蔽的电影情节部分,以此来达到深层双向的预训练表示。首先,使用Bert的方法将情节文本转化成词向量并获得特征矩阵,然后在CF模型中使用得到的矩阵。Bert使用transformer的结构,Transformer由一些堆叠层组成,每一层由一个注意力层以及一个应用在每个输入元素的非线性函数组成。Transformer迭代地使用句法解析和语义合成的步骤,来解决它们相互依赖的问题,从而更好地生成包含所有电影特征的向量即item特征矩阵。
协同过滤模型:
本方法提出的Bert-SVD模型中采用的协同过滤模型是Funk-SVD,从用户和项目的关系角度出发,最先注重的是显式反馈,即能够以数字形式直接呈现的数据,如用户对某一个项目的评分值。在下述公式中r(ui)表示的是预测的评分值,u表示所有评分数据的总体平均值,bu表示具体某一个用户的评分偏置,还原现实中人为主观因素对评分的影响,bi表示具体某一个项目所产生的评分偏置,还原现实中由项目属性导致的评分不同的影响,由此通过偏置项的不同来实现特异性的区分。
r(ui)=u+bi+bu (1)
对于偏置项bi,bu的计算,首先求解了具体某一个用户或项目所产生的评分的平均值n,进而通过与总平均值u的差值获得偏置。
bu=nu-u (2)
bi=ni-u (3)
为了进一步增加对数据的利用率,加入了对隐式反馈的计算,比如用户的评论记录,浏览记录,购买记录等。借助矩阵分解技术,分解形成两个K维的矩阵P,Q,分别用来描述用户和项目的隐式特征,此处通过K来还原算法中对隐式反馈种类个数的需求。加入隐式反馈项弱化了原来显式反馈对预测结果100%的影响,从多维度来进行预测,从而提高精度。
r(ui)=u+bi+bu+qi Tpu (4)
梯度下降法:
由于P,Q矩阵中所有元素的初值是***随机设定的,通过梯度下降法迭代更新矩阵中所有元素的值至***收敛,减小误差得到最优解,eui表示某个预测评分与已知评分R(ui)的误差,SSE为平方误差之和。
eui=R(ui)-r(ui) (5)
SSE=Σu,ieui2=Σu,i[r(ui)-Σk=1pukqki]2 (6)
经过梯度求解后,下式为最终结果,其中η为学习率,λ为正则化参数,避免过度收敛,按梯度更新后的puk和qki为:
puk=puk+2η(euiqki-λpuk) (7)
qki=qki+2η(euipuk-λqki) (8)
其特征在于:包括以下步骤,
步骤1,实验从MovieLens上获取了一组943*1682的评分矩阵,包括1682个item和943个user,对应只产生了100000组评分数据,U-I矩阵的稀疏度为93.7%。在Bert-SVD模型中,从IMDB上通过Python爬虫的方式爬取了每个item的电影情节,再从情节概括中提取的内容特征被用作项目推荐模型中的关键项目因子向量,成为推荐模型的关键组成部分,这影响了模型的训练和CS项目未知评级的预测。
步骤2,本方法中首先采用随机数设定了一个943*100的user分解矩阵和1682*100的item分解矩阵,CF算法中的K值在此数据集中选取为100,为了验证加入bert的学习过程对误差的影响,进行了两组对比实验,一个是直接用两个随机值生成的矩阵,另一个是用bert通过电影情节计算出来的item特征矩阵替换掉原随机值生成的item特征矩阵,后续对运算结果进行了800次的迭代,使***收敛,得到误差的最小值,因此训练后得到的两个特征矩阵就可以对此数据集中U-I矩阵的空缺项进行预测。
SVD加入Bert神经网络后的结果对比:
用Bert学习电影情节,预期输出结果为一个1682*100的item矩阵,直接代替由matlab随机值经过迭代生成的item特征矩阵。
针对误差的计算采用的是RMSE——均方根误差亦称标准误差,其定义为,i=1,2,3,…n。在有限测量次数中,均方根误差常用下式表示:[∑di^2/n]1/2=Re,式中:n为测量次数;di为一组测量值与真值的偏差。
对Bert输出的特征矩阵,产生了两种实验猜想,第一种直接作为item的特征矩阵,不经过迭代计算,但造成了误差增大,猜想失败。第二种仅用输出结果替换掉原矩阵中的随机初始值,最小误差缩小了2.40%,具体实验结果如下:
步骤3,通过800次迭代得到
两个分解的特征矩阵,然后运用这两个矩阵按照公式(4)填充真实的943*1682的U-I矩阵中的评分空缺项。
附图说明
图1为Bert神经网络的示意图。
图2为NLP过程的流程图。
图3为Bert-SVD和Funk-SVD的实验误差对比。
具体实施方式
下面将结合附图和实例对发明做进一步说明。
图1为Bert神经网络的示意图。
图2为NLP过程的流程图。
图3为Bert-SVD和Funk-SVD的实验误差对比,本发明用Movielens提供的一组由943个用户,1682个物品产生的100000组评分的数据进行测试,将隐式反馈维度K设为100,学习率设为0.002,正则化参数设为0.01,迭代次数为800次。原先Funk-SVD的最小误差为0.129,本发明的最小误差为0.126。
Claims (4)
1.一种基于Bert神经网络和协同过滤算法中的Funk-SVD模型相结合的个性化电影推荐方法,其特征在于:包括以下步骤,
步骤1,实验从MovieLens上获取了一组943*1682的评分矩阵,包括1682个item和943个user,对应只产生了100000组评分数据,U-I矩阵的稀疏度为93.7%;在Bert-SVD模型中,从IMDB上通过Python爬虫的方式爬取了每个item的电影情节,再从情节概括中提取的内容特征被用作项目推荐模型中的关键项目因子向量,成为推荐模型的关键组成部分;
步骤2,首先采用随机数设定了一个943*100的user分解矩阵和1682*100的item分解矩阵,CF算法中的K值在此数据集中选取为100,为了验证加入bert的学习过程对误差的影响,进行了两组对比实验,一个是直接用两个随机值生成的矩阵,另一个是用bert通过电影情节计算出来的item特征矩阵替换掉原随机值生成的item特征矩阵,后续对运算结果进行了800次的迭代,使***收敛,得到误差的最小值,因此训练后得到的两个特征矩阵就可以对此数据集中U-I矩阵的空缺项进行预测;
SVD加入Bert神经网络后的结果对比:
用Bert学习电影情节,预期输出结果为一个1682*100的item矩阵,直接代替由matlab随机值经过迭代生成的item特征矩阵;
针对误差的计算采用的是RMSE——均方根误差亦称标准误差,其定义为,i=1,2,3,…n;在有限测量次数中,均方根误差常用下式表示:[∑di^2/n]1/2=Re,式中:n为测量次数;di为一组测量值与真值的偏差;
步骤3,通过800次迭代得到
两个分解的特征矩阵,然后运用这两个矩阵按照公式(4)填充真实的943*1682的U-I矩阵中的评分空缺项。
2.根据权利要求1所述的一种基于Bert神经网络和协同过滤算法中的Funk-SVD模型相结合的个性化电影推荐方法,其特征在于:神经网络Bert中,在实验中的数据为电影情节文本,由于描述电影情节的语句较长,与RNN按照时间顺序提取特征相比,transformer可以有效的保证前面的特征不会消失Bert包括两个步骤:预训练和微调;其中,在预训练过程中Bert遮蔽了输入的15%的电影情节文本,通过一个transformer Encoder来运行整个序列,然后只预测被遮蔽的电影情节部分,以此来达到深层双向的预训练表示;首先,使用Bert的方法将情节文本转化成词向量并获得特征矩阵,然后在CF模型中使用得到的矩阵;Bert使用transformer的结构,Transformer由一些堆叠层组成,每一层由一个注意力层以及一个应用在每个输入元素的非线性函数组成;Transformer迭代地使用句法解析和语义合成的步骤,来解决它们相互依赖的问题,从而更好地生成包含所有电影特征的向量即item特征矩阵。
3.根据权利要求1所述的一种基于Bert神经网络和协同过滤算法中的Funk-SVD模型相结合的个性化电影推荐方法,其特征在于:协同过滤模型中,提出的Bert-SVD模型中采用的协同过滤模型是Funk-SVD,从用户和项目的关系角度出发,最先注重的是显式反馈,即能够以数字形式直接呈现的数据;在下述公式中r(ui)表示的是预测的评分值,u表示所有评分数据的总体平均值,bu表示具体某一个用户的评分偏置,还原现实中人为主观因素对评分的影响,bi表示具体某一个项目所产生的评分偏置,还原现实中由项目属性导致的评分不同的影响,由此通过偏置项的不同来实现特异性的区分;
r(ui)=u+bi+bu (1)
对于偏置项bi,bu的计算,首先求解了具体某一个用户或项目所产生的评分的平均值n,进而通过与总平均值u的差值获得偏置;
bu=nu-u (2)
bi=ni-u (3)
为进一步增加对数据的利用率,加入了对隐式反馈的计算;借助矩阵分解技术,分解形成两个K维的矩阵P,Q,分别用来描述用户和项目的隐式特征,此处通过K来还原算法中对隐式反馈种类个数的需求;
r(ui)=u+bi+bu+qiTpu (4)。
4.根据权利要求1所述的一种基于Bert神经网络和协同过滤算法中的Funk-SVD模型相结合的个性化电影推荐方法,其特征在于:梯度下降法中,由于P,Q矩阵中所有元素的初值是***随机设定的,通过梯度下降法迭代更新矩阵中所有元素的值至***收敛,减小误差得到最优解,eui表示某个预测评分与已知评分R(ui)的误差,SSE为平方误差之和;
eui=R(ui)-r(ui) (5)
SSE=Σu,i eui2=Σu,i[r(ui)-Σk=1 puk qki]2 (6)
经过梯度求解后,下式为最终结果,其中η为学习率,λ为正则化参数,避免过度收敛,按梯度更新后的puk和qki为:
puk=puk+2η(eui qki-λpuk) (7)
qki=qki+2η(eui puk-λqki) (8)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910912752.8A CN110688585B (zh) | 2019-09-25 | 2019-09-25 | 一种基于神经网络和协同过滤的个性化电影推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910912752.8A CN110688585B (zh) | 2019-09-25 | 2019-09-25 | 一种基于神经网络和协同过滤的个性化电影推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110688585A true CN110688585A (zh) | 2020-01-14 |
CN110688585B CN110688585B (zh) | 2022-04-19 |
Family
ID=69110223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910912752.8A Active CN110688585B (zh) | 2019-09-25 | 2019-09-25 | 一种基于神经网络和协同过滤的个性化电影推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110688585B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112364064A (zh) * | 2020-08-27 | 2021-02-12 | 南京信息职业技术学院 | 运用动态偏向值提高预测准确度的电影推荐***算法 |
US20210109894A1 (en) * | 2019-10-11 | 2021-04-15 | Ikigai Labs Inc. | Automated customized modeling of datasets with intuitive user interfaces |
CN113077313A (zh) * | 2021-04-13 | 2021-07-06 | 合肥工业大学 | 融合用户生成场景图像与个性化偏好的互补品推荐方法 |
CN116664253A (zh) * | 2023-07-28 | 2023-08-29 | 江西财经大学 | 一种基于广义矩阵分解与遮蔽注意力的项目推荐方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109064249A (zh) * | 2018-06-28 | 2018-12-21 | 中山大学 | 一种基于特征个性化修改的服装推荐优化方法及其*** |
CN109918574A (zh) * | 2019-03-28 | 2019-06-21 | 北京卡路里信息技术有限公司 | 项目推荐方法、装置、设备及存储介质 |
CN110147452A (zh) * | 2019-05-17 | 2019-08-20 | 北京理工大学 | 一种基于层级bert神经网络的粗粒度情感分析方法 |
-
2019
- 2019-09-25 CN CN201910912752.8A patent/CN110688585B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109064249A (zh) * | 2018-06-28 | 2018-12-21 | 中山大学 | 一种基于特征个性化修改的服装推荐优化方法及其*** |
CN109918574A (zh) * | 2019-03-28 | 2019-06-21 | 北京卡路里信息技术有限公司 | 项目推荐方法、装置、设备及存储介质 |
CN110147452A (zh) * | 2019-05-17 | 2019-08-20 | 北京理工大学 | 一种基于层级bert神经网络的粗粒度情感分析方法 |
Non-Patent Citations (3)
Title |
---|
HUAXIN ZHANG.ETC: "Integrating Spectral-CF and FP-Growth for Recommendation", 《EBIMCS "19: PROCEEDINGS OF THE 2019 2ND INTERNATIONAL CONFERENCE ON E-BUSINESS, INFORMATION MANAGEMENT AND COMPUTER SCIENCE》 * |
XUN HU.ETC: "SVD-based group recommendation approaches: an experimental study of Moviepilot", 《CAMRA "11: PROCEEDINGS OF THE 2ND CHALLENGE ON CONTEXT-AWARE MOVIE RECOMMENDATION》 * |
李春春等: "基于ASVD 的协同过滤推荐算法", 《小型微型计算机***》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210109894A1 (en) * | 2019-10-11 | 2021-04-15 | Ikigai Labs Inc. | Automated customized modeling of datasets with intuitive user interfaces |
US11995036B2 (en) * | 2019-10-11 | 2024-05-28 | Ikigai Labs Inc. | Automated customized modeling of datasets with intuitive user interfaces |
CN112364064A (zh) * | 2020-08-27 | 2021-02-12 | 南京信息职业技术学院 | 运用动态偏向值提高预测准确度的电影推荐***算法 |
CN113077313A (zh) * | 2021-04-13 | 2021-07-06 | 合肥工业大学 | 融合用户生成场景图像与个性化偏好的互补品推荐方法 |
CN113077313B (zh) * | 2021-04-13 | 2022-09-13 | 合肥工业大学 | 融合用户生成场景图像与个性化偏好的互补品推荐方法 |
CN116664253A (zh) * | 2023-07-28 | 2023-08-29 | 江西财经大学 | 一种基于广义矩阵分解与遮蔽注意力的项目推荐方法 |
CN116664253B (zh) * | 2023-07-28 | 2023-10-24 | 江西财经大学 | 一种基于广义矩阵分解与遮蔽注意力的项目推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110688585B (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110688585B (zh) | 一种基于神经网络和协同过滤的个性化电影推荐方法 | |
CN110807154B (zh) | 一种基于混合深度学习模型的推荐方法与*** | |
CN109829299B (zh) | 一种基于深度自编码器的未知攻击识别方法 | |
CN111753024B (zh) | 一种面向公共安全领域的多源异构数据实体对齐方法 | |
CN111859166B (zh) | 一种基于改进的图卷积神经网络的物品评分预测方法 | |
Li et al. | Deep probabilistic matrix factorization framework for online collaborative filtering | |
CN110910218B (zh) | 一种基于深度学习的多行为迁移推荐方法 | |
CN109614614A (zh) | 一种基于自注意力的bilstm-crf产品名称识别方法 | |
CN111737535B (zh) | 一种基于元结构和图神经网络的网络表征学习方法 | |
CN108921657B (zh) | 一种基于知识增强记忆网络的序列推荐方法 | |
CN112800344B (zh) | 一种基于深度神经网络的电影推荐方法 | |
CN113343125B (zh) | 一种面向学术精准推荐的异质科研信息集成方法及*** | |
CN110781401A (zh) | 一种基于协同自回归流实现的Top-n项目推荐方法 | |
CN112085158A (zh) | 一种基于堆栈降噪自编码器的图书推荐方法 | |
CN113918711B (zh) | 一种基于多视图多层注意力的面向学术论文的分类方法 | |
Chen et al. | Deformable convolutional matrix factorization for document context-aware recommendation in social networks | |
Liu et al. | TCD-CF: Triple cross-domain collaborative filtering recommendation | |
CN111930926A (zh) | 结合评论文本挖掘的个性化推荐算法 | |
Liang et al. | A normalizing flow-based co-embedding model for attributed networks | |
CN116610874A (zh) | 一种基于知识图谱和图神经网络的跨域推荐方法 | |
CN110555161A (zh) | 一种基于用户信任和卷积神经网络的个性化推荐方法 | |
Zhang et al. | Probabilistic matrix factorization recommendation of self-attention mechanism convolutional neural networks with item auxiliary information | |
CN114065769A (zh) | 情感原因对抽取模型的训练方法、装置、设备及介质 | |
CN114121178A (zh) | 一种基于图卷积网络的色谱保留指数预测方法及装置 | |
Zhao | [Retracted] Optimization of Machine Online Translation System Based on Deep Convolution Neural Network Algorithm |
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 |