CN110458627B - 一种面向用户动态偏好的商品序列个性化推荐方法 - Google Patents

一种面向用户动态偏好的商品序列个性化推荐方法 Download PDF

Info

Publication number
CN110458627B
CN110458627B CN201910763463.6A CN201910763463A CN110458627B CN 110458627 B CN110458627 B CN 110458627B CN 201910763463 A CN201910763463 A CN 201910763463A CN 110458627 B CN110458627 B CN 110458627B
Authority
CN
China
Prior art keywords
commodity
user
layer
comment
vector
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
Application number
CN201910763463.6A
Other languages
English (en)
Other versions
CN110458627A (zh
Inventor
黄震华
汤庸
刘海
李丁丁
蔡立群
廖晓鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Zhixin Information Technology Co ltd
South China Normal University
Original Assignee
Guangdong Zhixin Information Technology Co ltd
South China Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Zhixin Information Technology Co ltd, South China Normal University filed Critical Guangdong Zhixin Information Technology Co ltd
Priority to CN201910763463.6A priority Critical patent/CN110458627B/zh
Publication of CN110458627A publication Critical patent/CN110458627A/zh
Application granted granted Critical
Publication of CN110458627B publication Critical patent/CN110458627B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种面向用户动态偏好的商品序列个性化推荐的方法,包括提取同一用户相似评分下的商品序列构造出商品评分向量,同时提取同一商品相似评分的用户序列得到用户评分向量,然后结合用户个人信息、商品基本属性信息、用户和物品评论以及商品图片,基于多任务学习来分别实现用户和商品的特征抽取,以用户特征向量及其历史商品序列的特征向量作为输入,通过训练编码‑解码器来实现商品序列的生成,并结合搜索策略精确学习最优商品序列的推荐。本发明基于多模态的用户‑商品数据,高度提取及融合用户特征和商品特征,实现面向用户偏好的商品序列的个性化推荐,提高用户体验。

Description

一种面向用户动态偏好的商品序列个性化推荐方法
技术领域
本发明涉及智能商业领域,特别涉及一种面向用户动态偏好的商品序列个性化推荐方法。
背景技术
随着大数据时代的到来,大量用户每时每刻都在产生大量的信息,这些信息项非常庞大,如何有效的从庞大的数据中提取有效特征进行推荐是需要亟待解决的一个问题。在推荐领域中不同用户之间的信息偏好是不同的,但是相似的用户和商品之间又存在一定的相关性。如何在大数据背景下,提出一种高效合理的个性化推荐方法是非常值得研究的热点。
现有的推荐算法往往利用用户和商品之间的关系矩阵,并结合二者之间的其他特征进行推荐,虽然可以对推荐结果提供一定的参考,但是这些推荐***存在如下缺点:它们对于大数据量的用户和物品信息处理效率较低,而且容易忽略用户的动态历史偏好以及用户对历史商品的评价,不能够对以往推荐结果进行很好的反馈;其次,传统的推荐***模型简单,用户特征单一,采用概率统计方法进行评价,存在一定的局限性,推荐时间长,误差较大;传统的推荐***没有结合商品的图片特征,任务单一,无法定性地对用户的历史评论以及商品的图片进行分析,进而无法对推荐特征进行有效的评估;最后,传统的推荐算法里面忽视了用户评分相同的商品序列以及商品对应的用户序列之间的序列信息,而且对推荐结果没有进行合理的排序和融合,导致整体推荐效果较差。
发明内容
本发明的主要目的是提出一种面向用户动态偏好的商品序列个性化推荐方法,旨在克服以上问题。
为实现上述目的,本发明提出的一种面向用户动态偏好的商品序列个性化推荐方法,包括如下步骤:
S10从用户对商品的评分信息中获取用户个人信息、商品属性信息、商品图片、同一用户对不同商品对应的评分、同一商品所受不同用户的评分、同一用户对各商品的评论文本、同一商品所受各用户的评论文本;
S20根据同一商品所受不同用户的评分构造用户评分向量生成器,用以生成用户评分向量;根据同一用户对不同商品对应的评分构造商品评分向量生成器,用以生成商品评分向量;
S30将同一用户对各商品的评论文本输入用户评分向量生成器生成用户评论向量,对用户评论向量进行均值聚类生成用户评论类别;将同一商品所受各用户的评论文本输入商品评分向量生成器生成商品评论向量,对商品评论向量进行均值聚类生成商品评论类别;采用深度卷积网络抽取商品的图片特征向量,对图片特征向量进行均值聚类生成图片对应的商品类别;
S40将用户个人信息与用户评分向量输入用户特征抽取网络进行联合训练得到用户ID和用户评论预测类型;将商品属性信息与商品评分向量输入商品特征抽取网络进行联合训练,得到商品ID、商品评论预测类别、商品图片预测类别;
S50以用户特征向量及其历史商品序列的特征向量输入商品序列推荐网络,经过其中的训练编码-解码器训练,生成以每个用户ID对应的用户特征向量,每个商品ID对应的商品特征向量,将其作为个性化推荐的商品序列,并结合搜索策略学习得到最优商品序列的推荐。
优选地,所述S30包括:
句子嵌入式Sent2Vec工具以中文***数据为训练语料库,采用句子嵌入式Sent2Vec工具将训练语料库中每篇评论文本抽取为一维的评论向量,对所有的评论向量进行t-means聚类,得到N类用户评论类别,采用句子嵌入Sent2Vec工具对同一商品下的评论文本抽取一维的商品评论向量,对所有的商品评论向量进行t-means聚类,得到M个商品评论类别;采用深度卷积网络VGG16抽取商品图片的特征向量,对评论向量进行t-means聚类,得到I个商品图片类别。
优选地,所述用户评分向量生成器所使用的用户的评分信息分为5个等组,所述用户评分向量生成器的构造方法:
根据同一商品下的用户评分信息进行分组为5组,分数相同的用户在同一个组中,得到同一商品相同评分的用户组成序列<u1,u2,u3,…ux>,x取50,表示每组选取50个用户,将序列<u1,u2,u3,...,ur,…ux>作为训练样本,以用户ur作为输入,输出预测序列中除用户ur外其他用户的评分向量,使得其他用户id的概率乘积最大,若用户总数W=8000,用户评分向量生成器的损失函数y1为:
Figure BDA0002171116580000031
得到每个用户的评分向长度为200;
所述商品评分向量生成器的构造方法:
将同一个用户相同评分的商品分为一组,每一组得到评分相同的商品序列<i1,i2,i3,…,ig,...,ij>,j取20,表示每组选取20个商品,将商品序列<i1,i2,i3,…,ig,...,ij>作为训练样本,以商品ig作为输入,输出预测序列中除ig外其他商品的评分向量,若商品总数R=120000,采用最大似然估计方法得到商品评分向量生成器的损失函数y2为:
Figure BDA0002171116580000032
得到每个商品的评分向量长度为200。
优选地,所述S40中所述用户特征抽取网络包括:
第一卷积层,采用2个大小为3*1的卷积核,滑动步长为1的卷积层;
第一用户池化层窗口大小为2*1;
第二用户卷积层,采用4个大小为3*1卷积核,卷积核步长为2的卷积层;第三用户卷积层,采用5个大小为3*1的卷积核,滑动步长为1;
第四用户卷积层采用10个大小为大小为5*1的卷积核,卷积核步长为2;
第二用户池化层的池化层窗口大小为2*1;
第五用户卷积层采用6个大小为3*1的卷积核,卷积核步长为2;
第三用户池化层的窗口大小为4*1;
用户全连接层的神经元数目为200,
用户随机失活Dropout层,
用户个人信息与用户评分向量先通过第一用户卷积层进行卷积,再采用第一用户池化层对卷积后的向量进行池化,再通过第二用户卷积层卷积后,经过批标准化进入第三用户卷积层,再次批标准化后进入第四用户卷积层卷积,第四用户卷积层输出后输入用户随机失活Dropout层,接入第二用户池化层后,再接入用户随机失活Dropout层输出,输入第五用户层卷积层,再通过第三用户池化层后输入用户全连接层,输出用户特征向量。
优选地,所述用户特征向量在全连接层输出后接入到用户指数最大函数softmax层,该softmax层有8000个节点,表示***中的8000个用户,构成的用户集合为U,将用户特征向量在全连接层输出后接入到评论指数最大函数softmax层,该softmax层有30个节点,表示30个用户评论类别,构成的用户评论类别集合为T,用户指数最大函数softmax层和评论指数最大函数softmax层均采用softmax多分类损失函数,
设当前用户为ur,通过用户指数最大函数softmax层得到用户ur的预测
概率为P(ur):
Figure BDA0002171116580000041
其中sx(ur)为ur在用户指数最大函数softmax层中对应节点的输入值;
当前用户的评论类别为zr,通过评论指数最大函数softmax层得到用户评论类别zr的预测概率为P(zr):
Figure BDA0002171116580000042
其中sx(zr)为zr在评论指数最大函数softmax层中对应节点的输入值;
用户特征抽取网络的总损失函数为:
Figure BDA0002171116580000043
其中η为L1的调节系数,取值在0.7-0.8之间。
优选地,所述用户个人信息至少包括以下9种属性:用户年龄、用户性别、用户职业、所在地区、平均评分、购买量、平均浏览时间、收藏量以及平均购买金额,每种属性分别用独热向量表示,然后拼接所有属性成一个长向量,并将这长向经过五层自编码器工具降维成成长度为50的向量;所述商品属性信息至少包括以下9种属性:每日订单量、销售量、收藏量、上线时间、使用季节、平均寿命、平均评分、价格、价格区间。
优选地,所述S40中商品特征抽取网络包括:
第一商品卷积层采用5个大小为3*1,步长为2的卷积核;
第二商品卷积层,其采用73个大小为3*1的卷积核,滑动步长为3;
第一商品池化层,其窗口大小为2*1;
第三商品卷积层,其采用10个大小为5*1,步长为3的卷积核;
第二商品池化层,其窗口大小为4*1;
第四商品卷积层,其采用5个步长为2,大小为3*1的卷积核;
第三商品池化层,其窗口大小为2*1;
商品随机失活层;
第五商品卷积层,其采用6个大小为3*1,步长为3的卷积核;
商品全连接层,其神经元数目为200,
商品属性信息与商品评分向量输入商品特征抽取网络的第一卷积层后接入第二卷积层,第二卷积层输出后经批标准化进入第一池化层,再经批标准化进入第三卷积层,由第三卷积层输出进入商品随机失活层,输出后接入第二池化层,第二池化层输出后接入第四卷积层,第四卷积层输出后接入第三池化层,第三池化层输出接入商品随机失活层,输出后接入第五卷积层,第五卷积层输出后输入商品全连接层,最后输出商品特征向量。
优选地,所述商品特征向量从商品全连接层输出后接入商品第一指数最大函数softmax层,该softmax层有120000个节点,表示***中的120000个商品,构成的用户集合为V,所述商品特征向量从商品全连接层输出后接入商品第二指数最大函数softmax层,该softmax层有15个节点,表示15个商品类别,构成的商品类别集合为A;所述商品特征向量从商品全连接层输出后接入商品第三指数最大函数softmax层,该softmax层有50个节点,表示50个商品图片类别,构成的商品图片类别集合为I;所述商品特征向量从商品全连接层输出后接入商品第四指数最大函数softmax层,该softmax层有30个节点,表示30个商品评论类别,构成的商品评论类别集合为M,商品第一指数最大函数softmax层、商品第二指数最大函数softmax层、商品第三指数最大函数softmax层、商品第四指数最大函数softmax层均采用softmax多分类损失函数,
设当前商品为ix,通过商品第一指数最大函数softmax层得到商品ix的预测概率为P(ix):
Figure BDA0002171116580000061
其中sx(ix)为ix在第一个softmax层中对应节点的输入值;
设当前商品类别为ax,通过商品第二指数最大函数softmax层得到商品类别ax的预测概率为P(ax):
Figure BDA0002171116580000062
其中sx(ax)为ax在第二个softmax层中对应节点的输入值;
设当前商品图片类别为vx,通过商品第二指数最大函数softmax层得到商品图片类别vx的预测概率为P(vx):
Figure BDA0002171116580000063
其中sx(vx)为vx在第三个softmax层中对应节点的输入值;
设当前商品评论类别为mx,通过商品第二指数最大函数softmax层得到商品评论类别mx的预测概率为P(mx):
Figure BDA0002171116580000064
其中sx(mx)为mx在第四个softmax层中对应节点的输入值,
商品特征抽取网络的总损失函数为:
Figure BDA0002171116580000065
其中λ1~λ4为L2的调节系数,且λ1234=1,λ1取值在0.1-0.3之间,λ2取值在0.2-0.5之间,λ3取值在0.2-0.4之间,λ4取值在0.2-0.3之间。
优选地,所述S50具体包括:
获取用户当前购买的g个商品,首先以g个商品中的前g1个商品组成的商品序列作为编码器的输入,经过g1个门控循环GRU单元得到编码器的背景向量,然后将该背景向量与用户特征向量进行拼接并作为解码器的输入,解码器由g-g1个门控循环GRU单元顺序链接构成输出节点,分别对应g个商品中的后g-g1个商品序列,编码器和解码器中每一个门控循环GRU单元的神经网络数目设为1000,编码器所产生的背景向量的长度为200;
对于解码器,假设输出的20个商品序列是<i1,i2,...,i20>,令sk(1≤k≤20)为商品ik对应的解码器隐含变量,sk=GRU(ik-1,c,sk-1),那么商品ik的输出概率p(ik)表示:
p(ik|i1,i2,...,ik-1,c)=p(ik-1,sk,c),
得到解码器第k个节点的最大化输出序列的联合概率为:
Figure BDA0002171116580000071
解码器输出序列的损失函数为:y3=-log P(i1,i2,...,ik),
采用集束搜索策略Beam Search,设置集束大小Beam_Size为2,以评价指标作为回报reward,在每一个解码节点上,计算每个商品序列所产生的reward值,并选取reward值最大的商品序列作为当前的推荐序列,reward值通过归一化折损累计增益指标NDCG、召回率指标Recall和平均精度均值指标MAP计算所得:
reward(i1,i2,ik)=0.4×NDCG(i1,i2,ik)+0.4×Recall(i1,i2,ik)+0.2×MAP(i1,i2,ik),
从而编码器的总损失函数表示为:
L3=-log P(i1,i2,...,ik)-reward(i1,i2,...,ik),
根据推荐序列的误差进行反向传播,调整编码-解码器的权重参数;
将商品序列推荐训练的每个用户的特征向量以及每个商品的特征向量存储于数据库,将每个用户的用户特征向量以用户id为第一列,以对应的用户特征向量为第二列,将之存储于数据库表的指引表,将每个商品的商品特征向量以商品id为第一列,以对应的商品特征向量为第二列,将之存储于数据库表的条目表。
优选地,所述S50之后,还包括:
S60根据购买日志文件获取用户当前购买的g1个商品的商品序列,查询数据库获取商品序列中每个商品的特征向量,将它们按时间顺序输入到编码器,产生背景向量;查询数据库获取当前用户的特征向量,拼接背景向量和当前用户的特征向量后输入解码器,生成g-g1个商品构成的商品序列,将之作为最优商品序列推荐给当前用户。
与现有技术相比,本发明的有益效果为:
1、本发明引入了用户和商品的多模态特征,有效使用用户的评论、评分以及个人信息,同时也充分利用了商品的评分,评论、图片以及属性信息,从而使得推荐结果更加准确可靠。
2、本发明基于深度学习和多任务学习技术,通过深层卷积神经网络分别对用户和商品特征进行融合,采用多任务学习的方式进行联合训练多个分类任务,从而能够深度融合用户特征和商品特征,而不是简单的拼接。
3、本发明采用高效的序列到序列的生成模型,基于用户历史商品序列,并且融入用户特征向量,能够实现个性化的推荐。
4、本发明结构清晰,逻辑合理,模块之间耦合度较低,易于实现和部署,不仅可以快速扩展到分布式和并行化的开发环境中,而且有助于扩展以及测试维护,提高用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明的商品序列个性化推荐离线训练的逻辑结构图,
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
如图1所示,本发明提出的一种面向用户动态偏好的商品序列个性化推荐方法,包括如下步骤:
S10从用户对商品的评分信息中获取用户个人信息、商品属性信息、商品图片、同一用户对不同商品对应的评分、同一商品所受不同用户的评分、同一用户对各商品的评论文本、同一商品所受各用户的评论文本;
S20根据同一商品所受不同用户的评分构造用户评分向量生成器,用以生成用户评分向量;根据同一用户对不同商品对应的评分构造商品评分向量生成器,用以生成商品评分向量;
S30将同一用户对各商品的评论文本输入用户评分向量生成器生成用户评论向量,对用户评论向量进行均值聚类生成用户评论类别;将同一商品所受各用户的评论文本输入商品评分向量生成器生成商品评论向量,对商品评论向量进行均值聚类生成商品评论类别;采用深度卷积网络抽取商品的图片特征向量,对图片特征向量进行均值聚类生成图片对应的商品类别;
S40将用户个人信息与用户评分向量输入用户特征抽取网络进行联合训练得到用户ID和用户评论预测类型;将商品属性信息与商品评分向量输入商品特征抽取网络进行联合训练,得到商品ID、商品评论预测类别、商品图片预测类别;
S50以用户特征向量及其历史商品序列的特征向量输入商品序列推荐网络,经过其中的训练编码-解码器训练,生成以每个用户ID对应的用户特征向量,每个商品ID对应的商品特征向量,将其作为个性化推荐的商品序列,并结合搜索策略学习得到最优商品序列的推荐。
本发明引入了用户和商品的多模态特征,有效使用用户的评论、评分以及个人信息,同时也充分利用了商品的评分,评论、图片以及属性信息,从而使得推荐结果更加准确可靠。本发明基于深度学习和多任务学习技术,通过深层卷积神经网络分别对用户和商品特征进行融合,采用多任务学习的方式进行联合训练多个分类任务,从而能够深度融合用户特征和商品特征,而不是简单的拼接。本发明采用高效的序列到序列的生成模型,基于用户历史商品序列,并且融入用户特征向量,能够实现个性化的推荐。本发明结构清晰,逻辑合理,模块之间耦合度较低,易于实现和部署,不仅可以快速扩展到分布式和并行化的开发环境中,而且有助于扩展以及测试维护。
优选地,所述S30包括:
句子嵌入式Sent2Vec工具以中文***数据为训练语料库,采用句子嵌入式Sent2Vec工具将训练语料库中每篇评论文本抽取为一维的评论向量,对所有的评论向量进行t-means聚类,得到N类用户评论类别,采用句子嵌入Sent2Vec工具对同一商品下的评论文本抽取一维的商品评论向量,对所有的商品评论向量进行t-means聚类,得到M个商品评论类别;采用深度卷积网络VGG16抽取商品图片的特征向量,对评论向量进行t-means聚类,得到I个商品图片类别。
优选地,所述用户评分向量生成器所使用的用户的评分信息分为5个等组,所述用户评分向量生成器的构造方法:
根据同一商品下的用户评分信息进行分组为5组,分数相同的用户在同一个组中,得到同一商品相同评分的用户组成序列<u1,u2,u3,…ux>,x取50,表示每组选取50个用户,将序列<u1,u2,u3,...,ur,…ux>作为训练样本,以用户ur作为输入,输出预测序列中除用户ur外其他用户的评分向量,使得其他用户id的概率乘积最大,若用户总数W=8000,用户评分向量生成器的损失函数y1为:
Figure BDA0002171116580000101
得到每个用户的评分向长度为200;
所述商品评分向量生成器的构造方法:
将同一个用户相同评分的商品分为一组,每一组得到评分相同的商品序列<i1,i2,i3,…,ig,...,ij>,j取20,表示每组选取20个商品,将商品序列<i1,i2,i3,…,ig,...,ij>作为训练样本,以商品ig作为输入,输出预测序列中除ig外其他商品的评分向量,若商品总数R=120000,采用最大似然估计方法得到商品评分向量生成器的损失函数y2为:
Figure BDA0002171116580000111
得到每个商品的评分向量长度为200。
优选地,所述S40中所述用户特征抽取网络包括:
第一卷积层,采用2个大小为3*1的卷积核,滑动步长为1的卷积层;
第一用户池化层窗口大小为2*1;
第二用户卷积层,采用4个大小为3*1卷积核,卷积核步长为2的卷积
层;第三用户卷积层,采用5个大小为3*1的卷积核,滑动步长为1;
第四用户卷积层采用10个大小为大小为5*1的卷积核,卷积核步长为2;
第二用户池化层的池化层窗口大小为2*1;
第五用户卷积层采用6个大小为3*1的卷积核,卷积核步长为2;
第三用户池化层的窗口大小为4*1;
用户全连接层的神经元数目为200,
用户随机失活Dropout层,
用户个人信息与用户评分向量先通过第一用户卷积层进行卷积,再采用第一用户池化层对卷积后的向量进行池化,再通过第二用户卷积层卷积后,经过批标准化进入第三用户卷积层,再次批标准化后进入第四用户卷积层卷积,第四用户卷积层输出后输入用户随机失活Dropout层,接入第二用户池化层后,再接入用户随机失活Dropout层输出,输入第五用户层卷积层,再通过第三用户池化层后输入用户全连接层,输出用户特征向量。
优选地,所述用户特征向量在全连接层输出后接入到用户指数最大函数softmax层,该softmax层有8000个节点,表示***中的8000个用户,构成的用户集合为U,将用户特征向量在全连接层输出后接入到评论指数最大函数softmax层,该softmax层有30个节点,表示30个用户评论类别,构成的用户评论类别集合为T,用户指数最大函数softmax层和评论指数最大函数softmax层均采用softmax多分类损失函数,
设当前用户为ur,通过用户指数最大函数softmax层得到用户ur的预测
概率为P(ur):
Figure BDA0002171116580000112
其中sx(ur)为ur在用户指数最大函数softmax层中对应节点的输入值;
当前用户的评论类别为zr,通过评论指数最大函数softmax层得到用户评论类别zr的预测概率为P(zr):
Figure BDA0002171116580000121
其中sx(zr)为zr在评论指数最大函数softmax层中对应节点的输入值;
用户特征抽取网络的总损失函数为:
Figure BDA0002171116580000122
其中η为L1的调节系数,取值在0.7-0.8之间。
优选地,所述用户个人信息至少包括以下9种属性:用户年龄、用户性别、用户职业、所在地区、平均评分、购买量、平均浏览时间、收藏量以及平均购买金额,每种属性分别用独热向量表示,然后拼接所有属性成一个长向量,并将这长向经过五层自编码器工具降维成成长度为50的向量;所述商品属性信息至少包括以下9种属性:每日订单量、销售量、收藏量、上线时间、使用季节、平均寿命、平均评分、价格、价格区间。
优选地,所述S40中商品特征抽取网络包括:
第一商品卷积层采用5个大小为3*1,步长为2的卷积核;
第二商品卷积层,其采用73个大小为3*1的卷积核,滑动步长为3;
第一商品池化层,其窗口大小为2*1;
第三商品卷积层,其采用10个大小为5*1,步长为3的卷积核;
第二商品池化层,其窗口大小为4*1;
第四商品卷积层,其采用5个步长为2,大小为3*1的卷积核;
第三商品池化层,其窗口大小为2*1;
商品随机失活层;
第五商品卷积层,其采用6个大小为3*1,步长为3的卷积核;
商品全连接层,其神经元数目为200,
商品属性信息与商品评分向量输入商品特征抽取网络的第一卷积层后接入第二卷积层,第二卷积层输出后经批标准化进入第一池化层,再经批标准化进入第三卷积层,由第三卷积层输出进入商品随机失活层,输出后接入第二池化层,第二池化层输出后接入第四卷积层,第四卷积层输出后接入第三池化层,第三池化层输出接入商品随机失活层,输出后接入第五卷积层,第五卷积层输出后输入商品全连接层,最后输出商品特征向量。
优选地,所述商品特征向量从商品全连接层输出后接入商品第一指数最大函数softmax层,该softmax层有120000个节点,表示***中的120000个商品,构成的用户集合为V,所述商品特征向量从商品全连接层输出后接入商品第二指数最大函数softmax层,该softmax层有15个节点,表示15个商品类别,构成的商品类别集合为A;所述商品特征向量从商品全连接层输出后接入商品第三指数最大函数softmax层,该softmax层有50个节点,表示50个商品图片类别,构成的商品图片类别集合为I;所述商品特征向量从商品全连接层输出后接入商品第四指数最大函数softmax层,该softmax层有30个节点,表示30个商品评论类别,构成的商品评论类别集合为M,商品第一指数最大函数softmax层、商品第二指数最大函数softmax层、商品第三指数最大函数softmax层、商品第四指数最大函数softmax层均采用softmax多分类损失函数,
设当前商品为ix,通过商品第一指数最大函数softmax层得到商品ix的预测概率为P(ix):
Figure BDA0002171116580000131
其中sx(ix)为ix在第一个softmax层中对应节点的输入值;
设当前商品类别为ax,通过商品第二指数最大函数softmax层得到商品类别ax的预测概率为P(ax):
Figure BDA0002171116580000132
其中sx(ax)为ax在第二个softmax层中对应节点的输入值;
设当前商品图片类别为vx,通过商品第二指数最大函数softmax层得到商品图片类别vx的预测概率为P(vx):
Figure BDA0002171116580000133
其中sx(vx)为vx在第三个softmax层中对应节点的输入值;
设当前商品评论类别为mx,通过商品第二指数最大函数softmax层得到商品评论类别mx的预测概率为P(mx):
Figure BDA0002171116580000141
其中sx(mx)为mx在第四个softmax层中对应节点的输入值,
商品特征抽取网络的总损失函数为:
Figure BDA0002171116580000142
其中λ1~λ4为L2的调节系数,且λ1234=1,λ1取值在0.1-0.3之间,λ2取值在0.2-0.5之间,λ3取值在0.2-0.4之间,λ4取值在0.2-0.3之间。
优选地,所述S50具体包括:
获取用户当前购买的g个商品,首先以g个商品中的前g1个商品组成的商品序列作为编码器的输入,经过g1个门控循环GRU单元得到编码器的背景向量,然后将该背景向量与用户特征向量进行拼接并作为解码器的输入,解码器由g-g1个门控循环GRU单元顺序链接构成输出节点,分别对应g个商品中的后g-g1个商品序列,编码器和解码器中每一个门控循环GRU单元的神经网络数目设为1000,编码器所产生的背景向量的长度为200;
对于解码器,假设输出的20个商品序列是<i1,i2,...,i20>,令sk(1≤k≤20)为商品ik对应的解码器隐含变量,sk=GRU(ik-1,c,sk-1),那么商品ik的输出概率p(ik)表示:
p(ik|i1,i2,...,ik-1,c)=p(ik-1,sk,c),
得到解码器第k个节点的最大化输出序列的联合概率为:
Figure BDA0002171116580000143
解码器输出序列的损失函数为:y3=-log P(i1,i2,...,ik),
采用集束搜索策略Beam Search,设置集束大小Beam_Size为2,以评价指标作为回报reward,在每一个解码节点上,计算每个商品序列所产生的reward值,并选取reward值最大的商品序列作为当前的推荐序列,reward值通过归一化折损累计增益指标NDCG、召回率指标Recall和平均精度均值指标MAP计算所得:
reward(i1,i2,ik)=0.4×NDCG(i1,i2,ik)+0.4×Recall(i1,i2,ik)+0.2×MAP(i1,i2,ik),
从而编码器的总损失函数表示为:
L3=-log P(i1,i2,...,ik)-reward(i1,i2,...,ik),
根据推荐序列的误差进行反向传播,调整编码-解码器的权重参数;
将商品序列推荐训练的每个用户的特征向量以及每个商品的特征向量存储于数据库,将每个用户的用户特征向量以用户id为第一列,以对应的用户特征向量为第二列,将之存储于数据库表的指引表,将每个商品的商品特征向量以商品id为第一列,以对应的商品特征向量为第二列,将之存储于数据库表的条目表。
优选地,所述S50之后,还包括:
S60根据购买日志文件获取用户当前购买的g1个商品的商品序列,查询数据库获取商品序列中每个商品的特征向量,将它们按时间顺序输入到编码器,产生背景向量;查询数据库获取当前用户的特征向量,拼接背景向量和当前用户的特征向量后输入解码器,生成g-g1个商品构成的商品序列,将之作为最优商品序列推荐给当前用户。
本发明的实操实例:
本发明由模块一商品序列个性化推荐离线训练模块和模块二商品序列个性化推荐在线应用模块构成。
在模块一的第一阶段(多模态大数据预处理)中,推荐***原始数据经过清洗整理之后,选取了有效的8000名用户数据以及120000个商品数据,商品类别为15个,有效评论约250000条,有效评分3000000条,其中评分分为1-5个等级,数值越大表示评分越高,商品图片每一个商品选取1-3张用于特征提取,约310000张有效图片。数据预处理过程中,按照同一商品下相同的评分的用户作为用户序列<u1,u2,u3,…,ux>,这里x取50,而商品评分按照同一用户相同评分的商品组成序列<i1,i2,i3,…,iy>,这里y取20,此过程产生了约200000条商品序列数据,选取80%,约160000条用于训练。剩下的40000条作为测试集,用于准确度和召回率等指标的评估验证。
本发明所使用的用户个人信息主要包含用户年龄、用户性别、用户职业、所在地区、平均评分、购买量、平均浏览时间、收藏量以及平均购买金额,共选取了9个属性;而商品属性信息主要包含每日订单量、销售量、收藏量、上线时间、使用季节、平均寿命、平均评分、价格、价格区间(按照平均价格分为高中低三个等级分别用3、2、1数字表示)、销售量,共9维属性。对于用户评论的处理,本发明采用Sent2Vec工具将评论文本抽取为长度为200的一维评论向量,Sent2Vec工具训练语料为中文***数据。待处理完所有评论文本之后,使用t-means聚类方法对所有评论向量实施聚类,t-means聚类方法简单而且效率较高,最终用户的评分共分为了30类,即t=70。采用同样的方法对商品下面的评论进行处理,处理之后聚类得到30个类。对于商品图片的处理,本发明使用VGG16工具对同一商品的图片进行特征抽取,如果图片存在多张,对最终的特征向量进行归一化处理,然后对商品图片进行t-means聚类,聚类之后得到50类聚类结果,用于区分图片对应的商品类别。
本发明使用了用户对商品的评分信息,用户的评分信息分为1-5分共5个等级,基于用户对商品的评分数据,构造了用户评分向量生成器和商品评分向量生成器。
用户评分向量生成器具体构造过程如下:首先对于相同的商品,提取所有用户对该商品的评分信息,然后将评分信息按照1-5分分组,分数相同的用户在同一个组中,这样得到了基于用户的评分序列为<u1,u2,u3,…ux>,这里x取50,表示从分组中选取50个用户。对于序列中当前用户为ur,预测序列中除ur以外的用户id,使得其他用户id的概率乘积最大。由于用户总数W=8000,所以可以得到评分用户向量产生器的损失函数y1为:
Figure BDA0002171116580000161
其中,log()为底数为2的对数函数,exp()为指数函数。
用户评分向量生成器构造完毕之后,可以得到每个用户的评分向量,长度为200。
商品评分向量生成器具体构造过程如下:首先将同一用户相同评分的商品进行分组,每一组都会得到评分相同的商品序列<i1,i2,i3,…,ij>,这里j取20,表示从分组中选取20个商品。假设序列中当前商品为ig,最终目标是预测当前序列中除ig以外的其他商品出现的概率,由于商品总数R=120000,所以采用最大似然估计方法可以得到商品评分向量产生器的损失函数y2为:
Figure BDA0002171116580000162
/>
商品评分向量生成器构造完毕之后,可以得到每个商品的评分向量,长度为200。
在模块一的第二阶段(用户和物品特征抽取)中,用户特征抽取网络以用户个人信息和第一阶段得到的用户评分向量为输入,联合训练两个任务:任务一用于预测用户id,任务二用于预测用户评论类别。
用户个人信息的9个属性分别用one-hot(独热)向量表示,然后拼接所得到的9个one-hot向量成一个长向量,并将这长向量经过五层autoencoder(自编码器)工具降维成长度为50的向量。从而,用户特征抽取网络的输入为长度等于250的向量。
在用户特征抽取网络中,首先采用2个卷积核大小为3*1,滑动步长为1的卷积层对其进行卷积;接着采用池化层对卷积之后的向量进行操作,池化层窗口大小为2*1;卷积2层采用4个卷积核大小为3*1,步长为2的卷积核进行卷积操作;经过批标准化之后进入第三层卷积,此时卷积核大小为3*1,步长为1,卷积核数目为5;批标准化之后到达第四层卷积中,第四层卷积核步长设置为2,卷积核大小为5*1,卷积核数目为10;然后经过Dropout之后到达第二层池化层,池化层窗口大小为2*1;之后,采取Dropout操作之后输入到第5层卷积中,卷积核大小为3*1,6个卷积核步长为2;接着通过第三层池化层,窗口大小为4*1;最后输入到神经元数目为200的全连接层中,这200个神经元取值构成了用户的特征向量。
为了实现任务一,本发明在全连接层之后,将用户特征向量接入到softmax(指数最大函数)层,该softmax层有8000个节点,表示***中的8000个用户,构成的用户集合为U。同时为了实现任务二,同样在全连接层之后,将用户特征向量接入到另一个softmax层,该softmax层有30个节点,表示30个用户评论类别,构成的用户评论类别集合为T。
这两个任务均采用softmax多分类损失函数:
1)设当前用户为ur,采用softmax可以计算得到用户ur的预测概率为P(ur):
Figure BDA0002171116580000171
其中sx(ur)为ur在softmax层中对应节点的输入值。
2)设当前用户的评论类别为zr,采用softmax可以计算得到用户评论类别zr的预测概率为P(zr):
Figure BDA0002171116580000172
其中sx(zr)为zr在softmax层中对应节点的输入值。
从而用户特征抽取网络的总损失函数为:
Figure BDA0002171116580000181
其中η为L1的调节系数,取值在0.7-0.8之间,这里取0.75。
另一方面,在模块一的第二阶段(用户和物品特征抽取)中,商品特征抽取网络以商品属性信息和第一阶段得到的商品评分向量为输入,联合训练四个任务:任务一用于预测商品id,任务二用于预测商品类别,任务三用于预测商品图片类别,任务四用于预测商品评论类别。
商品属性信息的9个属性分别用one-hot(独热)向量表示,然后拼接所得到的9个one-hot向量成一个长向量,并将这长向量经过五层autoencoder(自编码器)工具降维成长度为50的向量。从而,商品特征抽取网络的输入为长度等于250的向量。
在物品特征抽取网络中,第一层卷积层的卷积核数目为5,卷积核大小为3*1,步长为2;接着进行第二次卷积,第二层卷积核大小为3*1,卷积核数目为73,滑动步长为3;经过批标准化之后进入第一层池化层中,池化层的窗口大小为2*1;经过批标准化进入第三层卷积中,卷积核大小为5*1,步长为3,卷积核数目为10;经过Dropout层之后进入第二层池化层中,窗口大小为4*1;接着进入第4层卷积层中,第四层卷积参数设置为5个步长为2,卷积核大小为3*1的卷积核;之后通过一个窗口大小为2*1的池化层;然后经过Dropout进入第五层卷积层中,卷积核大小为3*1,步长为3,卷积核数目为6;最后输入到神经元数目为200的全连接层中,这200个神经元取值构成了商品的特征向量。
为了实现任务一,本发明在全连接层之后,将商品特征向量接入到第一个softmax(指数最大函数)层,该softmax层有120000个节点,表示***中的120000个商品,构成的用户集合为V。为了实现任务二,在全连接层之后,将商品特征向量接入到第二个softmax层,该softmax层有15个节点,表示15个商品类别,构成的商品类别集合为A。为了实现任务三,在全连接层之后,将商品特征向量接入到第三个softmax层,该softmax层有50个节点,表示50个商品图片类别,构成的商品图片类别集合为I。为了实现任务四,在全连接层之后,将商品特征向量接入到第四个softmax层,该softmax层有30个节点,表示30个商品评论类别,构成的商品评论类别集合为M。
这四个任务均采用softmax多分类损失函数:
1)设当前商品为ix,采用softmax可以计算得到商品ix的预测概率为P(ix):
Figure BDA0002171116580000182
其中sx(ix)为ix在第一个softmax层中对应节点的输入值。
2)设当前商品类别为ax,采用softmax可以计算得到商品类别ax的预测概率为P(ax):
Figure BDA0002171116580000191
其中sx(ax)为ax在第二个softmax层中对应节点的输入值。
3)设当前商品图片类别为vx,采用softmax可以计算得到商品图片类别vx的预测概率为P(vx):
Figure BDA0002171116580000192
其中sx(vx)为vx在第三个softmax层中对应节点的输入值。
4)设当前商品评论类别为mx,采用softmax可以计算得到商品评论类别mx的预测概率为P(mx):
Figure BDA0002171116580000193
其中sx(mx)为mx在第四个softmax层中对应节点的输入值。
从而商品特征抽取网络的总损失函数为:
Figure BDA0002171116580000194
其中λ1~λ4为L2的调节系数,且λ1234=1,λ1取值在0.1-0.3之间,这里取0.15,λ2取值在0.2-0.5之间,这里取0.3,λ3取值在0.2-0.4之间,这里取0.3,λ4取值在0.2-0.3之间,这里取0.25。
在模块一的第三阶段(商品序列推荐训练)中,用于训练的用户历史商品序列包括g=40个商品,其中输入到编码器中的有g1=20个商品,用于解码器输出预测的有g-g1=20个商品。编码器和解码器中每一个GRU单元的神经网络数目设定为1000,编码器所产生的背景向量的长度为200。
对于解码器,假设其输出的20个商品序列是:<i1,i2,...,i20>,每一个商品的输出都取决于之前商品的输出,又取决于背景向量c。令sk(1≤k≤20)为商品ik对应的解码器隐含变量,那么sk=GRU(ik-1,c,sk-1),从而商品ik的输出概率p(ik)可以表示为:
p(ik|i1,i2,...,ik-1,c)=p(ik-1,sk,c)。
因此,可以得到解码器第k个节点的最大化输出序列的联合概率为:
Figure BDA0002171116580000201
从而,解码器输出序列的损失函数为:y3=-log P(i1,i2,...,ik)。
为了提高推荐的准确度,本发明在解码器的训练过程中采用了Beam Search(集束搜索)策略,Beam_Size(集束大小)设置为2,具体过程如下:首先,生成第一个商品时,从候选序列中选择概率最大的2个商品a和b;接着生成第二个商品时将当前的两个商品序列<a>,<b>与下一次预测概率最大的2个商品如c,d进行组合得到四个商品序列<ac>,<ad>,<bc>,<bd>,然后在从中选择2个reward(回报)值最大的序列;重复上述过程,直到最终产生20个推荐的商品。Reward值通过以下三个主流的指标进行计算,即NDCG(NormalizedDiscounted Cumulative Gain:归一化折损累计增益)指标、Recall(召回率)指标以及MAP(MeanAverage Precision:平均精度均值)指标。
reward(i1,i2,ik)=0.4×NDCG(i1,i2,ik)+0.4×Recall(i1,i2,ik)+0.2×MAP(i1,i2,ik)。
从而编码器的总损失函数可以表示为:
L3=-log P(i1,i2,...,ik)-reward(i1,i2,...,ik)。
商品序列推荐训练阶段完成之后,本发明将每个用户的特征向量存储进数据库表User_F中,该表为两列,第一列为用户id,第二列为用户特征向量。同样,将每个商品的特征向量存储进数据库表Item_F中,该表也为两列,第一列为商品id,第二列为商品特征向量。
在模块二(商品序列个性化推荐在线应用)中,对于当前用户,本发明首先从***的购买日志文件中获取他最近购买的20个商品,并组成商品序列,然后识别这20个商品的商品id,并基于商品id,从Item_F数据库表中顺序获取这20个商品的特征向量。接着,将这20个商品的特征向量顺序输入到已训练好的编码器中,产生背景向量,同时,基于当前用户id,从User_F数据库表中获取当前用户的特征向量。在此基础上,将背景向量和用户特征向量进行拼接,然后输入到训练好的解码器中,生成20个商品所构成的商品序列,并将该序列作为最优商品序列推荐给当前用户。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

Claims (9)

1.一种面向用户动态偏好的商品序列个性化推荐方法,其特征在于,包括如下步骤:
S10从用户对商品的评分信息中获取用户个人信息、商品属性信息、商品图片、同一用户对不同商品对应的评分、同一商品所受不同用户的评分、同一用户对各商品的评论文本、同一商品所受各用户的评论文本;
S20根据同一商品所受不同用户的评分构造用户评分向量生成器,用以生成用户评分向量;根据同一用户对不同商品对应的评分构造商品评分向量生成器,用以生成商品评分向量;
S30将同一用户对各商品的评论文本输入用户评分向量生成器生成用户评论向量,对用户评论向量进行均值聚类生成用户评论类别;将同一商品所受各用户的评论文本输入商品评分向量生成器生成商品评论向量,对商品评论向量进行均值聚类生成商品评论类别;采用深度卷积网络抽取商品的图片特征向量,对图片特征向量进行均值聚类生成图片对应的商品类别;
S40将用户个人信息与用户评分向量输入用户特征抽取网络进行联合训练得到用户ID和用户评论预测类型;将商品属性信息与商品评分向量输入商品特征抽取网络进行联合训练,得到商品ID、商品评论预测类别、商品图片预测类别;
S50以用户特征向量及其历史商品序列的特征向量输入商品序列推荐网络,经过其中的训练编码-解码器训练,生成以每个用户ID对应的用户特征向量,每个商品ID对应的商品特征向量,将其作为个性化推荐的商品序列,并结合搜索策略学习得到最优商品序列的推荐;
所述用户评分向量生成器所使用的用户的评分信息分为5个等组,所述用户评分向量生成器的构造方法:
根据同一商品下的用户评分信息进行分组为5组,分数相同的用户在同一个组中,得到同一商品相同评分的用户组成序列<u1,u2,u3,…ux>,x取50,表示每组选取50个用户,将序列<u1,u2,u3,...,ur,…ux>作为训练样本,以用户ur作为输入,输出预测序列中除用户ur外其他用户的评分向量,使得其他用户ID的概率乘积最大,若用户总数W=8000,用户评分向量生成器的损失函数y1为:
Figure FDA0004202432770000021
得到每个用户的评分向量长度为200;
其中,un,j为第j组用户序列中的第n个用户,uj为推荐***中的第j个用户;
n为用户序列的当前用户的位置编号,j为推荐***中当前用户的位置编号;
所述商品评分向量生成器的构造方法:
将同一个用户相同评分的商品分为一组,每一组得到评分相同的商品序列<i1,i2,i3,…,ig,...,ij>,j取20,表示每组选取20个商品,将商品序列<i1,i2,i3,…,ig,...,ij>作为训练样本,以商品ig作为输入,输出预测序列中除ig外其他商品的评分向量,若商品总数R=120000,采用最大似然估计方法得到商品评分向量生成器的损失函数y2为:
Figure FDA0004202432770000022
得到每个商品的评分向量长度为200;
其中,in',j为商品序列中的第n'个商品,ij'为推荐***中的第j'个商品;
n'为商品序列的当前商品的位置编号,j'为推荐***中当前商品的位置编号。
2.如权利要求1所述的面向用户动态偏好的商品序列个性化推荐方法,其特征在于,所述S30包括:
句子嵌入式Sent2Vec工具以中文***数据为训练语料库,采用句子嵌入式Sent2Vec工具将训练语料库中每篇评论文本抽取为一维的评论向量,对所有的评论向量进行t-means聚类,得到N类用户评论类别,采用句子嵌入Sent2Vec工具对同一商品下的评论文本抽取一维的商品评论向量,对所有的商品评论向量进行t-means聚类,得到M个商品评论类别;采用深度卷积网络VGG16抽取商品图片的特征向量,对评论向量进行t-means聚类,得到I个商品图片类别。
3.如权利要求2所述的面向用户动态偏好的商品序列个性化推荐方法,其特征在于,所述S40中所述用户特征抽取网络包括:
第一卷积层,采用2个大小为3*1的卷积核,滑动步长为1的卷积层;
第一用户池化层窗口大小为2*1;
第二用户卷积层,采用4个大小为3*1卷积核,卷积核步长为2的卷积层;第三用户卷积层,采用5个大小为3*1的卷积核,滑动步长为1;
第四用户卷积层采用10个大小为5*1的卷积核,卷积核步长为2;第二用户池化层的池化层窗口大小为2*1;
第五用户卷积层采用6个大小为3*1的卷积核,卷积核步长为2;
第三用户池化层的窗口大小为4*1;
用户全连接层的神经元数目为200,
用户随机失活Dropout层,
用户个人信息与用户评分向量先通过第一用户卷积层进行卷积,再采用第一用户池化层对卷积后的向量进行池化,再通过第二用户卷积层卷积后,经过批标准化进入第三用户卷积层,再次批标准化后进入第四用户卷积层卷积,第四用户卷积层输出后输入用户随机失活Dropout层,接入第二用户池化层后,再接入用户随机失活Dropout层输出,输入第五用户层卷积层,再通过第三用户池化层后输入用户全连接层,输出用户特征向量。
4.如权利要求3所述的面向用户动态偏好的商品序列个性化推荐方法,其特征在于,所述用户特征向量在全连接层输出后接入到用户指数最大函数softmax层,该softmax层有8000个节点,表示***中的8000个用户,构成的用户集合为U,将用户特征向量在全连接层输出后接入到评论指数最大函数softmax层,该softmax层有30个节点,表示30个用户评论类别,构成的用户评论类别集合为T,用户指数最大函数softmax层和评论指数最大函数softmax层均采用softmax多分类损失函数,
设当前用户为ur,通过用户指数最大函数softmax层得到用户
ur的预测概率为P(ur):
Figure FDA0004202432770000041
其中sx(ur)为ur在用户指数最大函数softmax层中对应节点的输入值;
当前用户的评论类别为zr,通过评论指数最大函数softmax层得到用户评论类别zr的预测概率为P(zr):
Figure FDA0004202432770000042
其中sx(zr)为zr在评论指数最大函数softmax层中对应节点的输入值;
用户特征抽取网络的总损失函数为:
Figure FDA0004202432770000043
其中η为L1的调节系数,取值在0.7-0.8之间;
ur'为用户集合U中的每一个用户,zr'为用户评论类别集合T中的每一个评论类别。
5.如权利要求1所述的面向用户动态偏好的商品序列个性化推荐方法,其特征在于,所述用户个人信息至少包括以下9种属性:用户年龄、用户性别、用户职业、所在地区、平均评分、购买量、平均浏览时间、收藏量以及平均购买金额,每种属性分别用独热向量表示,然后拼接所有属性成一个长向量,并将这长向量经过五层自编码器工具降维成长度为50的向量;所述商品属性信息至少包括以下9种属性:每日订单量、销售量、收藏量、上线时间、使用季节、平均寿命、平均评分、价格、价格区间。
6.如权利要求2所述的面向用户动态偏好的商品序列个性化推荐方法,其特征在于,所述S40中商品特征抽取网络包括:
第一商品卷积层采用5个大小为3*1,步长为2的卷积核;
第二商品卷积层,其采用73个大小为3*1的卷积核,滑动步长为3;
第一商品池化层,其窗口大小为2*1;
第三商品卷积层,其采用10个大小为5*1,步长为3的卷积核;
第二商品池化层,其窗口大小为4*1;
第四商品卷积层,其采用5个步长为2,大小为3*1的卷积核;
第三商品池化层,其窗口大小为2*1;
商品随机失活层;
第五商品卷积层,其采用6个大小为3*1,步长为3的卷积核;
商品全连接层,其神经元数目为200,
商品属性信息与商品评分向量输入商品特征抽取网络的第一卷积层后接入第二卷积层,第二卷积层输出后经批标准化进入第一池化层,再经批标准化进入第三卷积层,由第三卷积层输出进入商品随机失活层,输出后接入第二池化层,第二池化层输出后接入第四卷积层,第四卷积层输出后接入第三池化层,第三池化层输出接入商品随机失活层,输出后接入第五卷积层,第五卷积层输出后输入商品全连接层,最后输出商品特征向量。
7.如权利要求6所述的面向用户动态偏好的商品序列个性化推荐方法,其特征在于,所述商品特征向量从商品全连接层输出后接入商品第一指数最大函数softmax层,该softmax层有120000个节点,表示***中的120000个商品,构成的用户集合为V,所述商品特征向量从商品全连接层输出后接入商品第二指数最大函数softmax层,该softmax层有15个节点,表示15个商品类别,构成的商品类别集合为A;所述商品特征向量从商品全连接层输出后接入商品第三指数最大函数softmax层,该softmax层有50个节点,表示50个商品图片类别,构成的商品图片类别集合为I;所述商品特征向量从商品全连接层输出后接入商品第四指数最大函数softmax层,该softmax层有30个节点,表示30个商品评论类别,构成的商品评论类别集合为M,
商品第一指数最大函数softmax层、商品第二指数最大函数softmax层、商品第三指数最大函数softmax层、商品第四指数最大函数softmax层均采用softmax多分类损失函数,
设当前商品为ix,通过商品第一指数最大函数softmax层得到商品ix的预测概率为P(ix):
Figure FDA0004202432770000061
其中sx(ix)为ix在第一个softmax层中对应节点的输入值;
设当前商品类别为ax,通过商品第二指数最大函数softmax层得到商品类别ax的预测概率为P(ax):
Figure FDA0004202432770000062
其中sx(ax)为ax在第二个softmax层中对应节点的输入值;
设当前商品图片类别为vx,通过商品第二指数最大函数softmax层得到商品图片类别vx的预测概率为P(vx):
Figure FDA0004202432770000063
其中sx(vx)为vx在第三个softmax层中对应节点的输入值;
设当前商品评论类别为mx,通过商品第二指数最大函数softmax层得到商品评论类别mx的预测概率为P(mx):
Figure FDA0004202432770000071
其中sx(mx)为mx在第四个softmax层中对应节点的输入值,
商品特征抽取网络的总损失函数为:
Figure FDA0004202432770000072
其中λ1~λ4为L2的调节系数,且λ1234=1,λ1取值在0.1-0.3之间,λ2取值在0.2-0.5之间,λ3取值在0.2-0.4之间,λ4取值在0.2-0.3之间;
V为推荐***中所有商品构成的集合,A为推荐***中所有商品类别构成的集合,I为推荐***中所有商品图片类别构成的集合,M为推荐***中所有商品评论类别构成的集合;
ix'为商品集合V中的每一个商品,ax'为商品类别集合A中的每一个商品类别,vx'为商品图片类别集合I中的每一个商品图片类别,mx'为商品评论类别集合M中的每一个商品评论类别。
8.如权利要求1所述的面向用户动态偏好的商品序列个性化推荐方法,其特征在于,所述S50具体包括:
获取用户当前购买的g个商品,首先以g个商品中的前g1个商品组成的商品序列作为编码器的输入,经过g1个门控循环GRU单元得到编码器的背景向量c,然后将该背景向量c与用户特征向量进行拼接并作为解码器的输入,解码器由g-g1个门控循环GRU单元顺序链接构成输出节点,分别对应g个商品中的后g-g1个商品序列,编码器和解码器中每一个门控循环GRU单元的神经网络数目设为1000,编码器所产生的背景向量c的长度为200,c为编码器的背景向量;
对于解码器,假设输出的20个商品序列是<i1,i2,...,i20>,令sk(1≤k≤20)为商品ik对应的解码器隐含变量,sk=GRU(ik-1,c,sk-1),那么商品ik的输出概率p(ik)表示:
p(ik|i1,i2,...,ik-1,c)=p(ik-1,sk,c),
得到解码器第k个节点的最大化输出序列的联合概率为:
Figure FDA0004202432770000081
解码器输出序列的损失函数为:y3=-logΡ(i1,i2,...,ik),
采用集束搜索策略Beam Search,设置集束大小Beam_Size为2,以评价指标作为回报reward,在每一个解码节点上,计算每个商品序列所产生的reward值,并选取reward值最大的商品序列作为当前的推荐序列,reward值通过归一化折损累计增益指标NDCG、召回率指标Recall和平均精度均值指标MAP计算所得:
reward(i1,i2,ik)=0.4×NDCG(i1,i2,ik)+0.4×Recall(i1,i2,ik)+0.2×MAP(i1,i2,ik),
从而编码器的总损失函数表示为:
L3=-logΡ(i1,i2,...,ik)-reward(i1,i2,...,ik),
根据推荐序列的误差进行反向传播,调整编码-解码器的权重参数;
将商品序列推荐训练的每个用户的特征向量以及每个商品的特征向量存储于数据库,将每个用户的用户特征向量以用户ID为第一列,以对应的用户特征向量为第二列,将之存储于数据库表的指引表,将每个商品的商品特征向量以商品ID为第一列,以对应的商品特征向量为第二列,将之存储于数据库表的条目表。
9.如权利要求8所述的面向用户动态偏好的商品序列个性化推荐方法,其特征在于,所述S50之后,还包括:
S60根据购买日志文件获取用户当前购买的g1个商品的商品序列,查询数据库获取商品序列中每个商品的特征向量,将它们按时间顺序输入到编码器,产生背景向量;查询数据库获取当前用户的特征向量,拼接背景向量和当前用户的特征向量后输入解码器,生成g-g1个商品构成的商品序列,将之作为最优商品序列推荐给当前用户。
CN201910763463.6A 2019-08-19 2019-08-19 一种面向用户动态偏好的商品序列个性化推荐方法 Active CN110458627B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910763463.6A CN110458627B (zh) 2019-08-19 2019-08-19 一种面向用户动态偏好的商品序列个性化推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910763463.6A CN110458627B (zh) 2019-08-19 2019-08-19 一种面向用户动态偏好的商品序列个性化推荐方法

Publications (2)

Publication Number Publication Date
CN110458627A CN110458627A (zh) 2019-11-15
CN110458627B true CN110458627B (zh) 2023-06-30

Family

ID=68487463

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910763463.6A Active CN110458627B (zh) 2019-08-19 2019-08-19 一种面向用户动态偏好的商品序列个性化推荐方法

Country Status (1)

Country Link
CN (1) CN110458627B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990697A (zh) * 2019-11-28 2020-04-10 腾讯科技(深圳)有限公司 内容推荐方法、装置、设备和存储介质
CN111079015B (zh) * 2019-12-17 2021-08-31 腾讯科技(深圳)有限公司 一种推荐方法、装置、计算机设备和存储介质
CN111178946B (zh) * 2019-12-17 2023-07-18 清华大学深圳国际研究生院 一种用户行为表征的方法及***
CN111242165B (zh) * 2019-12-30 2020-10-23 北京顺达同行科技有限公司 商户聚类方法、装置、计算机设备和存储介质
CN111310038B (zh) * 2020-02-06 2022-09-02 腾讯科技(深圳)有限公司 信息推荐方法、装置、电子设备及计算机可读存储介质
CN111401936B (zh) * 2020-02-26 2023-05-26 中国人民解放军战略支援部队信息工程大学 一种基于评论空间和用户偏好的推荐方法
CN111429234B (zh) * 2020-04-16 2023-09-29 电子科技大学中山学院 一种基于深度学习的商品序列推荐方法
CN111756807B (zh) * 2020-05-28 2021-07-20 珠海格力电器股份有限公司 一种基于区域的多联机推荐方法、装置、存储介质及终端
CN112070577A (zh) * 2020-08-31 2020-12-11 深圳市卡牛科技有限公司 一种商品推荐方法、***、设备及介质
CN112561644B (zh) * 2020-12-16 2023-08-01 深圳市网联安瑞网络科技有限公司 基于链接预测的商品推荐方法、装置及相关设备
CN112612880A (zh) * 2020-12-17 2021-04-06 上海自古红蓝人工智能科技有限公司 用户主导的开放式智能ai语料提交审核***及方法
CN113781150A (zh) * 2021-01-28 2021-12-10 北京沃东天骏信息技术有限公司 一种物品推荐方法和装置
CN112836123B (zh) * 2021-02-03 2021-11-16 电子科技大学 一种基于知识图谱的可解释推荐***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388731A (zh) * 2018-08-31 2019-02-26 昆明理工大学 一种基于深度神经网络的音乐推荐方法
CN109408702A (zh) * 2018-08-29 2019-03-01 昆明理工大学 一种基于稀疏边缘降噪自动编码的混合推荐方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106485562B (zh) * 2015-09-01 2020-12-04 苏宁云计算有限公司 一种基于用户历史行为的商品信息推荐方法及***
CN106294758A (zh) * 2016-09-23 2017-01-04 华南师范大学 基于用户认知度变化的协同推荐方法
CN109241366B (zh) * 2018-07-18 2021-10-26 华南师范大学 一种基于多任务深度学习的混合推荐***及其方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408702A (zh) * 2018-08-29 2019-03-01 昆明理工大学 一种基于稀疏边缘降噪自动编码的混合推荐方法
CN109388731A (zh) * 2018-08-31 2019-02-26 昆明理工大学 一种基于深度神经网络的音乐推荐方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Neural Collaborative Embedding From Reviews for Recommendation";XINGJIE FENG,YUNZE ZENG;《IEEE Access》;103263-103274 *

Also Published As

Publication number Publication date
CN110458627A (zh) 2019-11-15

Similar Documents

Publication Publication Date Title
CN110458627B (zh) 一种面向用户动态偏好的商品序列个性化推荐方法
CN108959603B (zh) 基于深度神经网络的个性化推荐***及方法
CN111062775A (zh) 一种基于注意力机制的推荐***召回方法
CN110020128B (zh) 一种搜索结果排序方法及装置
CN111242729A (zh) 一种基于长短期兴趣的序列化推荐方法
CN110264291B (zh) 信息推荐方法和装置
CN112200601B (zh) 物品推荐方法、装置及可读存储介质
CN102193936A (zh) 一种数据分类的方法及装置
CN103824213A (zh) 一种基于用户偏好与商品属性的个性化推荐方法
CN109584006B (zh) 一种基于深度匹配模型的跨平台商品匹配方法
CN110909536A (zh) 用于自动生成产品的文章的***和方法
CN112100512A (zh) 一种基于用户聚类和项目关联分析的协同过滤推荐方法
CN110737834A (zh) 业务对象的推荐方法、装置、存储介质和计算机设备
CN112182145A (zh) 文本相似度确定方法、装置、设备和存储介质
CN111695024A (zh) 对象评估值的预测方法及***、推荐方法及***
CN114861050A (zh) 一种基于神经网络的特征融合推荐方法及***
CN112989215B (zh) 一种基于稀疏用户行为数据的知识图谱增强的推荐***
CN112231593A (zh) 一种金融资讯智能推荐***
CN116703506A (zh) 一种基于多特征融合的电商商品推荐方法及***
CN112862569B (zh) 基于图像和文本多模态数据的产品外观风格评价方法和***
CN113722443B (zh) 一种融合文本相似度和协同过滤的标签推荐方法和***
CN114840745A (zh) 一种基于图表征学习和深度语义匹配模型的个性化推荐方法及***
Chen et al. Image-based product recommendation system with convolutional neural networks
CN106919647B (zh) 一种基于聚类的网络结构相似性推荐方法
CN110020918B (zh) 一种推荐信息生成方法和***

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