首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于生成对抗网络的隐语义推荐方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:清华大学深圳研究生院

摘要:本发明涉及一种基于生成对抗网络的隐语义推荐方法,包括如下步骤:S1、生成网络模型基于评论信息来预测用户喜欢的top‑M商品列表以及最喜欢某个商品的top‑N用户列表;其中M和N为正整数;S2、用判别模型区分生成模型预测的分数与真实的分数;S3、利用最大最小化竞争算法,使生成网络模型和判别模型基于评论信息和评分信息更好地学习到用户画像和商品表征,从而提高个性化推荐的精准度,其中,使用同一个隐语义模型来生成用户画像商品表征:当把用户评论向量作为模型输入时,模型生成用户画像;当把商品评论向量作为模型输入时,模型生成商品表征;通过使用同一个隐语义模型来确保共享同一个隐语义空间。本发明能提高个性化推荐的准确性。

主权项:1.一种基于生成对抗网络的隐语义推荐方法,其特征在于,包括如下步骤:S1、生成网络模型基于文本评论信息来预测用户喜欢的top-M商品列表以及最喜欢某个商品的top-N用户列表;其中M和N为正整数;S2、用判别模型区分生成模型预测的分数与真实的分数;S3、利用最大最小化竞争算法,使生成网络模型和判别模型基于文本评论信息和评分信息更好地学习到用户画像和商品表征,从而提高个性化推荐的精准度;使用生成对抗网络框架RRGAN,来生成用户画像和商品表征,RRGAN包括基于文本评论信息生成用户画像和商品表征的隐语义模型、基于文本评论信息为用户预测top-N商品的生成模型、基于用户画像和商品表征来判断分数是预测分数还是真实分数的判别模型;隐语义模型基于评论生成用户画像和商品表征;生成模型和判别模型之间通过相互作用、相互扶持来提高用户画像和商品表征刻画的精准度;在生成模型和判别模型的相互对抗中,模型不断优化用户画像和商品表征的刻画的精准度;其中,利用生成对抗网络来连接用户评论信息和评分信息,基于评分信息和评论信息使用生成对抗网络来生成用户画像和商品表征;其中,使用同一个隐语义模型来生成用户画像商品表征:当把用户评论向量作为模型输入时,模型生成用户画像;当把商品评论向量作为模型输入时,模型生成商品表征;通过使用同一个隐语义模型来确保共享同一个隐语义空间;其中,使用变分自编码器作为所述隐语义模型,文本评论信息被转为评论向量作为隐语义模型的输入,输出是用户画像和商品表征,隐语义模型基于评论信息生成用户画像和商品表征;对于一个用户历史上评论过多个商品的多条评论,将该用户的所有评论信息会连接起来,并通过词袋模型转化为向量x={w1,w2...wn},wn表示评论信息中是否出现了第n个单词,如果出现为1,不出现为0,其中n为自然数;使用分数预测模块,将用户画像、商品表征和评分信息引入到分数预测模型,训练分数预测模型来预测分数,经过排序将top-N列表推荐给用户;其中,分数预测模型的输入是用户和商品的隐向量、用户画像和商品表征,输出的是模型预测用户会给商品的打的评分;通过训练一个矩阵分解模型来预测分数,将用户和商品的隐向量、用户画像和商品表征喂给分数预测模型去预测top-N列表;最后,对预测模型预测的分数进行排序,将top-N的商品推荐给用户;判别模型是一个深度的全连接网络,在给定用户画像和商品表征的情况下,区分开生成模型生成的分数和实际用户对商品的评分;对于用户样本,判别模型需要判别该用户对N个商品的评分;对于商品样本,判别对应N个用户对该商品的评分,“记录向量”是所述判别模型的输入,所述“记录向量”分为“预测记录”和“真实记录”两类,所述“预测记录”包括三个部分,分别是生成模型生成的预测评分,用户画像和商品表征,这三个部分将会连接成一个向量,作为判别模型的输入,所述“真实记录”也包括三个部分,分别是用户对商品的真实分数,用户画像和商品表征,这三部分也会被连接在一起成为一个向量,作为判别模型的输入。

全文数据:一种基于生成对抗网络的隐语义推荐方法技术领域本发明涉及一种推荐系统,尤其是一种基于生成对抗网络的隐语义推荐方法。背景技术随着信息技术和互联网的快速发展,我们已经进入了“信息过载”的时代。为了解决“信息过载”的问题,分类目录和搜索引擎等技术被相继提出。雅虎公司是一家以分类目录技术起家的公司,但是分类目录技术往往只能涵盖部分热门网站,但是随着互联网的快速发展,所需要涵盖的网站越来越多,涵盖率必定会越来越低,目录越发的复杂,用户也很难在这些复杂的目录找到自己真正想要的,因此分类目录技术越来越不能满足用户需求。而搜索引擎技术需要用户键入相应的关键词去搜索从而得到与关键词匹配用户感兴趣的内容,但很多时候,用户并不能准确提供自己感兴趣的关键词,或者用户并不知道自己感兴趣什么,搜索引擎在这个时候就很难发挥作用了。分类目录和搜索引擎技术可以认为是建立在用户的主动行为上,而推荐系统则是同时建立在用户的主动行为和被动行为上。可以说推荐系统在如今这个“信息过载的时代”的扮演着越来越重要的角色,对于信息消费者而言,推荐系统可以帮助用户在浩瀚的信息海洋中发现那些对自己有价值,自己感兴趣的信息;另一方面,对于信息生产者而言,推荐系统可以将生产者的信息及时出现在对这些信息感兴趣的消费者的面前,从而让消费者对这些信息进行消费。因此,推荐系统的使用会使信息消费者和信息生产者获得双赢的结果。推荐系统的主要目的是预测用户对一个特定商品的喜好程度。在很多推荐系统的应用场景中,用户在购买商品后,会给商品打分以及写下评论来表达自己的观点。其中,分数描述了用户喜欢商品的程度,而评论信息则描述了用户喜欢商品或者不喜欢商品的具体原因。近年来,许多研究开始关注如何基于评分信息和评论信息进行建模,从而提高推荐系统的精准度。一方面,许多现有方法基于话题模型来建模文本评论,没有真正挖掘出评论信息中的深度语义信息,并且这些方法并没有考虑用户画像和商品表征在语义空间中的一致性。另一方面,这类方法致力于直接在评分分布和评论分布设计连接规则,直接将两个分布进行连接。整数型的评分信息和文本类型的评论信息具有不同物理含义,因此很难保证设计出来的人工规则的合理性。发明内容本发明的主要目的在于提供一个基于生成对抗网络的隐语义推荐方法,提高个性化推荐的准确性。为此,本发明提出的基于生成对抗网络的隐语义推荐方法包括如下步骤:S1、生成网络模型基于评论信息来预测用户喜欢的top-M商品列表以及最喜欢某个商品的top-N用户列表;其中M和N为正整数;S2、用判别模型区分生成模型预测的分数与真实的分数;S3、利用最大最小化竞争算法,使生成网络模型和判别模型基于评论信息和评分信息更好地学习到用户画像和商品表征,从而提高个性化推荐的精准度,其中,使用同一个隐语义模型来生成用户画像商品表征:当把用户评论向量作为模型输入时,模型生成用户画像;当把商品评论向量作为模型输入时,模型生成商品表征;通过使用同一个隐语义模型来确保共享同一个隐语义空间。在一些实施例中,还包括如下特征:使用RRGAN来生成用户画像和商品表征,RRGAN包括基于文本评论信息生成用户画像和商品表征的隐语义模型、基于评论信息为用户预测top-N商品的生成模型、基于用户画像和商品表征来判断分数是预测分数还是真实分数的判别模型;隐语义模型基于评论生成用户画像和商品表征;生成模型和判别模型之间通过相互作用、相互扶持来提高用户画像和商品表征刻画的精准度;在生成模型和判别模型的相互对抗中,模型不断优化用户画像和商品表征的刻画的精准度。用户画像和商品表征会共享同一个语义空间。在分数预测模块,将用户画像、商品表征和评分信息引入到分数预测模型;训练分数预测模型来预测分数,最后经过排序将top-N列表推荐给用户。使用变分自编码器作为隐语义模型,文本评论信息被转为评论向量作为隐语义模型的输入,输出是用户画像和商品表征,隐语义模型基于评论信息生成用户画像和商品表征。对于一个用户历史上评论过多个商品的多条评论,将该用户的所有评论信息会连接起来,并通过词袋模型转化为向量向量x={w1,w2...wn},wn表示评论信息中是否出现了第n个单词,如果出现为1,不出现为0,其中n为自然数。分数预测模型的输入是用户和商品的隐向量、用户画像和商品表征,输出的是模型预测用户会给商品的打的评分;通过训练一个矩阵分解模型来预测分数,将户和商品的隐向量、用户画像和商品表征喂给分数预测模型去预测top-N列表;最后,对预测模型预测的分数进行排序,将top-N的商品推荐给用户。判别模型是一个深度的全连接网络,在给定用户画像和商品表征的情况下,区分开生成模型生成的分数和实际用户对商品的评分;对于用户样本,判别模型需要判别该用户对N个商品的评分;对于商品样本,判别对应N个用户对该商品的评分。判别模型能够除学习评分信息、用户画像和商品表征之间的关系外,还学习用户的偏置和商品的偏置。本发明还包括一种计算机介质,其包括计算机程序,所述计算机程序可被执行以实现如上所述的方法。本发明的上述方法通过如下关键点提高了个性化推荐的准确性:使用同一个隐语义模型来保证用户画像和商品表征在语义空间的一致性。进一步地,本发明利用生成对抗网络来连接用户评论信息和评分信息,提升了用户画像和商品表征的质量。进一步地,本发明将用户画像、商品表征、用户和商品隐向量引入分数预测模型,进一步提升了个性化推荐的准确性。附图说明图1是本发明实施例基于生成对抗网络的隐语义推荐方法。图2是本发明实施例用户画像和商品表征生成模块中各个模型之间的关系示意图。图3是本发明实施例基于生成对抗网络的隐语义推荐方法v1示意图。图4是本发明实施例基于生成对抗网络的隐语义推荐方法v2示意图。图5是本发明实施例基于生成对抗网络的隐语义推荐方法v3示意图。具体实施方式为了有效解决上述问题,我们提出了一种基于生成对抗网络的隐语义模型。其中,生成网络模型基于评论信息来预测用户喜欢的top-M商品列表以及最喜欢某个商品的top-N用户列表M和N为正整数,其中一些实施例中M=N,判别模型致力于区分生成模型预测的分数与真实的分数。在最大最小化竞争算法中,两个模型基于评论信息和评分信息更好的学习到用户画像和商品表征,从而提高个性化推荐的精准度。本发明下述实施例旨在解决许多现有方法基没有真正挖掘出评论信息中的深度语义信息,没有考虑用户画像和商品表征在语义空间中的一致性,很难保证设计出来连接评分信息和评论信息的人工规则的合理性等问题。本技术主要基于评分信息和评论信息使用生成对抗网络来生成用户画像和商品表征,从而提升推荐效果。图1展示了我们的推荐系统框架。框架主要有两个主要模块组成,包括用户画像和商品表征生成模块,以及分数预测模块。用户画像和商品表征生成模块的输入是评分信息和评论信息,输出是用户隐因子向量、商品隐因子向量、用户画像和商品表征。分数预测模型训练时输入评分信息、用户隐因子向量和商品隐因子向量、用户画像和商品表征,输出预测的topN列表。图2详细展示了用户画像和商品表征生成模块中各个模型之间的关系。在用户画像和商品表征生成模块,我们使用RRGAN来生成用户画像和商品表征。RRGAN一共包括三个主要的组件:1基于文本评论信息,生成用户画像和商品表征的隐语义模型;2基于评论信息为用户预测top-N商品的生成模型;3基于用户画像和商品表征来判断分数是预测分数还是真实分数的判别模型。如图1所示,在分数预测模块,我们将用户画像、商品表征和评分信息引入到分数预测模型。我们训练分数预测模型来预测分数,最后我们经过排序将top-N列表推荐给用户。为了更好得阐述模型之间的关系,我们通过图2来展示更多的技术细节。如图2所示,我们提出了一个生成对抗网络框架RRGAN来生成用户画像和商品表征,RRGAN对应图1中的用户画像和商品表征生成模块。RRGAN由三个模型组成,分别是隐语义模型、生成模型和判别模型注意:图2中的“用户画像和商品表征”方框表示的是生成了用户画像和商品表征,并非指“用户画像和商品表征模块”,RRGAN的这三大模块就是为了生成“用户画像和商品表征”,三个模型组合起来叫做“用户画像和商品表征模块”。隐语义模型基于评论生成用户画像和商品表征。生成模型和判别模型之间通过相互作用、相互扶持来提高用户画像和商品表征刻画的精准度。在此过程中,生成模型希望自己基于用户画像和商品表征预测的分数“欺骗”过判别模型,判别模型希望尽可能的区分生成模型预测的分数和真实的分数,不被生成模型“欺骗”。在两个模型的相互对抗中,模型会不断优化用户画像和商品表征的刻画的精准度。用户画像和商品表征会共享同一个语义空间,这样能保证后续在两者之间的运算更有意义。,在模型预测阶段,我们仅使用生成模型的生成器网络来生成μ,即评论向量经过Relu,然后生成μ,μ是我们需要的输出结果,并且被认为是我们的系统的用户画像和商品表征。隐语义模型:如图2所示,文本评论信息被转为评论向量作为隐语义模型的输入,输出是用户画像和商品表征μ。隐语义模型基于评论信息生成用户画像和商品表征。我们使用变分自编码器作为隐语义模型。变分自编码器是使用变分方法来学习隐表征的一种深层模型。变分自编码器包括两个网络,编码器也叫识别网络以及解码器也叫生成网络。对于一个用户而言,一个用户历史上可能会评论过多个商品,对应多条评论,我们将该用户的所有评论信息会连接起来,并通过词袋模型转化为向量。具体的,我们将用户历史上的评论信息和一个商品历史上接受到的评论信息通过词袋模型转化为向量x={w1,w2...wn}。wn表示评论信息中是否出现了第n个单词,如果出现为1,不出现为0。在这个过程中,我们仅仅使用同一个隐语义模型来生成用户画像商品表征。当我们把用户评论向量作为模型输入时,模型生成用户画像;当我们把商品评论向量作为模型输入时,模型生成商品表征。我们使用同一个隐语义模型来确保共享同一个隐语义空间。生成模型:如图2,生成模型和隐语义模型共享生成器网络。生成模型的输入是文本评论信息,文本评论信息被转化为评论向量,输出是预测评分。基于评论信息,生成模型对特定的用户预测该用户喜欢的top-N商品对应的分数,或者预测最喜欢某个商品的top-N用户对商品打的分数。现实世界中的数据集是极端稀疏的并且很多用户对应的用户行为都是很少的。对于每一个用户或每一个商品,生成模型仅仅关注top-N的分数而不是所有的分数。首先,我们基于评论信息通过编码模型生成用户画像和商品表征。其次,将评分信息、用户画像和商品表征引入分数预测模型来预测评分。判别模型:判别模型的输入是预测的评分、真实评分、用户画像和商品表征图2每个大方框代表的是模型,模型中的小方框是数据,不是指模块;图2中模块之间的交叠表示两个模型共享了数据流,输出是评分是真实评分的概率。具体的,预测的评分,用户画像和商品表征来自生成模型,真实评分是指用户对商品的真实评分。判别模型是一个深度的全连接网络。在给定用户画像和商品表征的情况下,区分开生成模型生成的分数和实际用户对商品的评分。对于用户样本,判别模型需要判别该用户对N个商品的评分,对于商品样本,判别对应N个用户对该商品的评分。如图2所示,“记录向量”是判别模型的输入,这里的“记录向量”分为“预测记录”和“真实记录”两类。“预测记录”包括三个部分,分别是生成模型生成的预测评分,用户画像和商品表征,这三个部分将会连接成一个向量,作为判别模型的输入。同样的,“真实记录”也包括三个部分,分别是用户对商品的真实分数,用户画像和商品表征,这三部分也会被连接在一起成为一个向量,也是判别模型的输入。一方面,判别模型能够学习评分信息,用户画像和商品表征之间的关系;另一方面,判别模型学习了用户的偏置和商品的偏置。用户的偏置是指不同用户因为自己本身的习惯打来的分数偏置,如一些用户对商品质量要求比较高,习惯给商品打低分,一些用户比较容易满足,习惯给商品打高分;商品偏置是指不同商品因为商品本身的质量接受评分时的偏置。如一些商品质量好,会得到普遍的高分,而一些商品质量差,得到的整体分数也较低。分数预测模型:如图1所示,分数预测模型的输入是用户和商品的隐向量、用户画像和商品表征,输出的是模型预测用户会给商品的打的评分。我们通过训练一个矩阵分解模型来预测分数。我们将户和商品的隐向量、用户画像和商品表征喂给分数预测模型去预测top-N列表。最后,我们对预测模型预测的分数图1进行排序,将top-N的商品推荐给用户。如图3、图4和图5所示,为了提高推荐效果,我们设计了三种不同的结构基于用户评分和评论来学习用户画像和商品表征。具体细节如下:如图3所示,基于生成对抗网络的隐语义推荐方法v1是一个只包含隐语义模型和分数预测模型的简单模型,在这个模型之中,并没有利用生成对抗网络的损失来更新各个模型。在这个模型之中,隐语义模型基于用户评论来生成用户画像和商品表征,其中,用户画像和商品表征被喂给分数预测模型来预测top-N列表。如图4所示,基于生成对抗网络的隐语义推荐方法v2框架和图2的框架保持一致。特别地,生成模型在预测分数时预测的是全局的分数,并不是top-N的分数,也就是说,在训练模型时,对于用户来说,生成模型预测该用户对其购买过的所有商品的分数,并把预测分数和真实分数喂给判别网络进行判断;对于商品来说,生成模型预测购买过该商品的所有用户会对该商品的评分,并把预测分数和真实分数喂给判别网络进行判断。最后把学到的用户画像和商品表征喂给分数预测模型来预测top-N列表。如图5所示,基于生成对抗网络的隐语义推荐方法v3与基于生成对抗网络的隐语义推荐方法v2不同的地方在于,基于生成对抗网络的隐语义推荐方法v3关注top-N分数,而不是全局分数。因为工业界的数据集都是极端稀疏的,并且具有大量的长尾用户。在基于生成对抗网络的隐语义推荐方法v3中,生成模型和判别模型都只关注top-N分数。也就是说,在训练模型时,对于用户来说,生成模型预测该用户评分最高的top-N商品的分数,并把预测分数和真实分数喂给判别网络进行判断;对于商品来说,生成模型预测购买过该商品,并对该商品评分最高的top-N用户会对该商品打多少分,并把预测分数和真实分数喂给判别网络进行判断。同样地,我们会把用户画像和商品表征喂给分数预测模型来预测top-N列表。整个装置的训练方法:我们使用对抗训练联合训练隐语义模型、生成模型和判别模型。隐语义模型的损失函数包含重构误差和KL误差两项;生成模型的目标是让预测的分数被判别模型判别为真实分数,判别模型的目标是区分出真实的分数和预测的分数。在训练过程中,每一轮迭代我们依次更新隐语义模型、生成模型和判别模型三个模型直到收敛,具体的,我们最小化三个模型的损失函数,并使用随机梯度下降算法来更新三个模型参数,模型的收敛条件是当模型的损失函数在训练集30轮迭代没有达到更小的值。联合训练隐语义模型、生成模型和判别模型可以得到用户画像和商品表征。生成模型的用户和商品隐向量用于初始化分数预测模型,使用最小化均方误差训练分数预测模型直到收敛。模型的收敛条件是当模型的损失函数在训练集30轮迭代没有达到更小的值。下面对本发明的各实施例再做进一步详细说明。如图1所示,本发明技术主要由用户画像和商品表征生成模块和分数预测模块组成。其中用户画像和商品表征生成模块包含三个子模块:隐语义模型,生成模型,判别模型。各个模块的实施细节如下。隐语义模型:隐语义模型基于评论信息生成用户画像和商品表征。我们使用变分自编码器作为隐语义模型。变分自编码器是使用变分方法来学习隐表征的一种深层模型。变分自编码器包括两个网络,编码器也叫识别网络以及解码器也叫生成网络。编码器可以被写为qz|x,编码器基于样本x来估计隐表征z。解码器可以写为px|z,解码器基于隐表征生成x。变分自编码器的目标函数如下所示:其中KL·||·表示KL距离。隐语义模型的编码器和解码器都使用多层全连接神经网络。首先,我们将用户历史上的评论信息和一个商品历史上接受到的评论信息通过词袋模型转化为向量x={w1,w2...wn}。wn表示评论信息中是否出现了第n个单词,如果出现为1,不出现为0。如图2所示,μ是平均值,σ是标准差,两者都是编码器的输出。∈是从正态分布N0,I中采样的样本。因此,z可以通过μ、σ和∈来表示,计算过程如下所示:μ,σ=Encoderx,其中$z、μ、σ和∈都是维度为l的向量,l是隐向量的维度。对于一个用户而言,一个用户历史上可能会评论过多个商品,对应多条评论,我们将该用户的所有评论信息会连接起来,并通过词袋模型转化为xu。相似的,一个商品历史上可能会被多个用户评论,我们将该商品的所有评论信息连接起来,并通过词袋模型转化为xi。在这个过程中,我们仅仅使用同一个变分自编码器来生成用户画像μu和商品表征μi。当我们把xu作为模型输入时,模型生成用户画像μu;当我们把xi作为模型输入时,模型生成商品表征μi。我们使用同一个变分自编码器模型来确保μu和μi共享同一个隐语义空间。生成模型:基于评论信息,生成模型对特定的用户预测该用户喜欢的top-N商品对应的分数,或者预测最喜欢某个商品的top-N用户对商品打的分数。现实世界中的数据集是极端稀疏的并且很多用户对应的用户行为都是很少的。对于每一个用户或每一个商品,生成模型仅仅关注top-N的分数而不是所有的分数。首先,我们基于评论信息通过编码模型生成用户画像μu和商品表征μi。生成模型预测评分的式子如下:其中vu和vi是隐因子向量,两者都是k维向量,k是隐因子向量的维度。μu表示用户画像,μi表示商品表征。μu和μi两者都是维度为l的向量。distanceμu,μi表示μu和μi之间的距离。在实践中,我们采用欧式距离来衡量μu和μi之间的距离。当然,也可以采用其他距离来衡量,比如采用曼哈顿距离。我们通过将计算得到的欧氏距离映射到0到1之间。α是权重,决定了我们预测分数有多大程度依赖于评论信息。最后,生成模型的目标函数如下所示:其中表示生成模型G。在给定用户画像μu和商品表征μi的情况下生成预测的分数D·|·表示判别模型。判别模型D在给定用户画像μu和商品表征μi的情况下把预测的分数和真实的分数r区分开来。判别模型:判别模型是一个深度的全连接网络。在给定用户画像和商品表征的情况下,区分开生成模型生成的分数和实际用户对商品的评分。对于用户样本,判别模型需要判别该用户对N个商品的评分,对于商品样本,判别对应N个用户对该商品的评分。如图2所示,“记录向量”是判别模型的输入,这里的“记录向量”分为“预测记录”和“真实记录”两类。“预测记录”包括三个部分,分别是生成模型生成的预测分数,用户画像和商品表征,这三个部分将会连接成一个向量,作为判别模型的输入。同样的,“真实记录”也包括三个部分,分别是用户对商品的真实分数,用户画像和商品表征,这三部门也会被连接在一起成为一个向量,也是判别模型的输入。最后,判别模型的目标函数如下所示:其中r是真实的分数,是预测的分数,r和都是n维的向量。输入到判别网络的有两类样本,称为用户样本和商品样本。对于用户样本而言,包含的是用户以及该用户最喜欢的top-N商品的信息,具体为该用户的用户画像μu,数量为1,N个商品对应的N个商品表征,以及该用户对N个商品的评分信息。商品样本包含的该商品以及喜欢该商品的top-N用户的信息,具体为该商品表征μi,数量为1,N个用户对应的N个用户画像,以及N个用户对该商品的评分信息。分数预测模型:分数预测模型的输入是用户和商品的隐向量、用户画像和商品表征,输出的是模型预测用户会给商品的打的评分。我们通过训练一个分数预测分解模型来预测分数。我们将户和商品的隐向量、用户画像和商品表征喂给分数预测模型去预测top-N列表。最后,我们对预测模型预测的分数进行排序,将top-N的商品推荐给用户。在训练分数预测模型时,首先我们使用生成模型对应vu和vi来初始化分数预测模型的vu和vi,即分数预测模型的这两组参数是生成模型预训练的结果;训练过程中,我们会固定住μu和μi,即μu和μi不会随着模型的训练而更新;vu和vi会随着模型的训练而更新。换句话说,模型只学习vu和vi。模型通过比较预测分数和真实分数rui之间的差距来指导分数预测模型的训练,即将问题转化为回归问题。因此,采用均分误差作为损失函数,分数预测模型的目标函数的定义如下所示。其中rui是真实的分数,是分数预测模型预测用户u对商品i会打的分数。最后,我们对预测模型预测的分数进行排序,将top-N的商品推荐给用户。如图3、图4和图5所示,为了提高推荐效果,我们设计了三种不同的结构基于用户评分和评论来学习用户画像和商品表征。具体细节如下:如图3所示,基于生成对抗网络的隐语义推荐方法v1是一个只包含隐语义模型和分数预测模型的简单模型,在这个模型之中,并没有利用生成对抗网络的损失来更新各个模型。在这个模型之中,隐语义模型基于用户评论来生成用户画像和商品表征,其中,用户画像和商品表征被喂给分数预测模型来预测top-N列表。特别地,在初始化分数预测模型的过程中,vu和vi使用随机初始化,训练分数预测模型过程中,我们会固定住μu和μi;vu和vi随着模型的训练而更新。换句话说,模型只学习vu和vi。如图4所示,基于生成对抗网络的隐语义推荐方法v2框架和图2的框架保持一致。特别地,生成模型在预测分数时预测的是全局的分数,并不是top-N的分数,也就是说,在训练模型时,对于用户来说,生成模型预测该用户对其购买过的所有商品的分数,并把预测分数和真实分数喂给判别网络进行判断;对于商品来说,生成模型预测购买过该商品的所有用户会对该商品的评分,并把预测分数和真实分数喂给判别网络进行判断。最后把学到的用户画像和商品表征喂给分数预测模型,并用生成模型的vu和vi两组参数来初始化LFM的参数。同样地,我们会固定住μu和μi,模型在训练过程中只学习vu和vi。如图5所示,基于生成对抗网络的隐语义推荐方法v3与基于生成对抗网络的隐语义推荐方法v2不同的地方在于,基于生成对抗网络的隐语义推荐方法v3关注top-N分数,而不是全局分数。因为工业界的数据集都是极端稀疏的,并且具有大量的长尾用户。在基于生成对抗网络的隐语义推荐方法v3中,生成模型和判别模型都只关注top-N分数。也就是说,在训练模型时,对于用户来说,生成模型预测该用户评分最高的top-N商品的分数,并把预测分数和真实分数喂给判别网络进行判断;对于商品来说,生成模型预测购买过该商品,并对该商品评分最高的top-N用户会对该商品打多少分,并把预测分数和真实分数喂给判别网络进行判断。同样地,我们会把用户画像和商品表征喂给分数预测模型,并用生成模型的vu和vi两组参数来初始化分数预测模型。整个装置的训练方法:我们使用对抗训练联合训练隐语义模型、生成模型和判别模型。隐语义模型的损失函数包含重构误差和KL误差两项;生成模型的目标是让预测的分数被判别模型判别为真实分数,判别模型的目标是区分出真实的分数和预测的分数。在训练过程中,每一轮迭代我们依次更新隐语义模型、生成模型和判别模型三个模型直到收敛。联合训练隐语义模型、生成模型和判别模型可以得到用户画像和商品表征。生成模型的用户和商品隐向量用于初始化分数预测模型,使用最小化均方误差训练分数预测模型直到收敛。

权利要求:1.一种基于生成对抗网络的隐语义推荐方法,其特征在于,包括如下步骤:S1、生成网络模型基于评论信息来预测用户喜欢的top-M商品列表以及最喜欢某个商品的top-N用户列表;其中M和N为正整数;S2、用判别模型区分生成模型预测的分数与真实的分数;S3、利用最大最小化竞争算法,使生成网络模型和判别模型基于评论信息和评分信息更好地学习到用户画像和商品表征,从而提高个性化推荐的精准度;其中,使用同一个隐语义模型来生成用户画像商品表征:当把用户评论向量作为模型输入时,模型生成用户画像;当把商品评论向量作为模型输入时,模型生成商品表征;通过使用同一个隐语义模型来确保共享同一个隐语义空间。2.如权利要求1所述的基于生成对抗网络的隐语义推荐方法,其特征在于,使用RRGAN来生成用户画像和商品表征,RRGAN包括基于文本评论信息生成用户画像和商品表征的隐语义模型、基于评论信息为用户预测top-N商品的生成模型、基于用户画像和商品表征来判断分数是预测分数还是真实分数的判别模型;隐语义模型基于评论生成用户画像和商品表征;生成模型和判别模型之间通过相互作用、相互扶持来提高用户画像和商品表征刻画的精准度;在生成模型和判别模型的相互对抗中,模型不断优化用户画像和商品表征的刻画的精准度。3.如权利要求2所述的基于生成对抗网络的隐语义推荐方法,其特征在于,用户画像和商品表征会共享同一个语义空间。4.如权利要求2所述的基于生成对抗网络的隐语义推荐方法,其特征在于,在分数预测模块,将用户画像、商品表征和评分信息引入到分数预测模型;训练分数预测模型来预测分数,最后经过排序将top-N列表推荐给用户。5.如权利要求2所述的基于生成对抗网络的隐语义推荐方法,其特征在于,使用变分自编码器作为隐语义模型,文本评论信息被转为评论向量作为隐语义模型的输入,输出是用户画像和商品表征,隐语义模型基于评论信息生成用户画像和商品表征。6.如权利要求2所述的基于生成对抗网络的隐语义推荐方法,其特征在于,对于一个用户历史上评论过多个商品的多条评论,将该用户的所有评论信息会连接起来,并通过词袋模型转化为向量向量x={w1,w2...wn},wn表示评论信息中是否出现了第n个单词,如果出现为1,不出现为0,其中n为自然数。7.如权利要求4所述的基于生成对抗网络的隐语义推荐方法,其特征在于,分数预测模型的输入是用户和商品的隐向量、用户画像和商品表征,输出的是模型预测用户会给商品的打的评分;通过训练一个矩阵分解模型来预测分数,将户和商品的隐向量、用户画像和商品表征喂给分数预测模型去预测top-N列表;最后,对预测模型预测的分数进行排序,将top-N的商品推荐给用户。8.如权利要求1所述的基于生成对抗网络的隐语义推荐方法,其特征在于,判别模型是一个深度的全连接网络,在给定用户画像和商品表征的情况下,区分开生成模型生成的分数和实际用户对商品的评分;对于用户样本,判别模型需要判别该用户对N个商品的评分;对于商品样本,判别对应N个用户对该商品的评分。9.如权利要求8所述的基于生成对抗网络的隐语义推荐方法,其特征在于,判别模型能够除学习评分信息、用户画像和商品表征之间的关系外,还学习用户的偏置和商品的偏置。10.一种计算机介质,其特征在于,包括计算机程序,所述计算机程序可被执行以实现如权利要求1-9中任一项所述的方法。

百度查询: 清华大学深圳研究生院 一种基于生成对抗网络的隐语义推荐方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。