> 文章列表 > 用户多模态偏好推荐智慧城市应用(UMPR)

用户多模态偏好推荐智慧城市应用(UMPR)

用户多模态偏好推荐智慧城市应用(UMPR)

用户多模态偏好推荐智慧城市应用(UMPR)

目录

  • 引言
  • 相关工作
    • 基于评论的推荐
    • 基于多模态内容的推荐
  • 模型
    • 问题描述
    • 框架
      • 评论网络
      • 视觉网络
      • 控制网络
    • 损失函数
      • 视觉嵌入损失
      • 评分预测损失
      • 联合损失
    • 训练策略
      • C-Net 的预训练
      • SS-Net 预训练
      • 微调
  • 实验
    • 数据集
    • 评估方法
    • 实验细节
    • 性能比较
    • 分析
      • 参数分析
      • 消融研究
  • 结论

论文题目:Recommendation by Users’ Multimodal Preferences for Smart City Applications

作者:Cai XuZiyu GuanWei ZhaoQuanzhou WuMeng YanLong ChenQiguang Miao

来源:IEEE Transactions on Industrial Informatics (2021)

DOI:10.1109/tii.2020.3008923

代码地址:

https://github.com/winterant/UMPR

摘要:作为智慧城市应用程序中的重要角色,个性化推荐系统可帮助用户从他们的历史生成数据中找到他们可能感兴趣的项目。 最近,研究人员开始利用海量用户生成的多模态内容来提高推荐性能。 然而,以前的方法至少存在以下缺点之一:(1)采用浅层模型,不能很好地捕获高级概念信息; (2) 未能捕捉到个性化的用户视觉偏好。 在这项工作中,我们**提出了一种基于深度用户多模式偏好的推荐(UMPR)方法来捕获用户和项目的文本和视觉匹配以进行推荐。 **我们从历史评论中提取文本匹配。 我们构建用户的视觉偏好嵌入来对用户的视觉偏好进行建模,并将其与项目的视觉嵌入进行匹配以获得视觉匹配。 我们将 UMPR 应用于与智慧城市相关的两个应用程序:餐厅推荐和产品推荐。 实验表明,UMPR 优于竞争基线方法。

关键字:智慧城市、推荐、深度神经网络、多模态、视觉偏好

引言

许多著名的推荐方法 [7]、[8]、[9] 通过从许多用户的历史评分中收集偏好信息来预测用户的兴趣。 过去有相似偏好的用户往往会在未来做出相似的选择。 然而,在许多现实世界的应用程序中,用户评分的项目数量与项目总数相比可以忽略不计,这导致了众所周知的稀疏性问题

📌[7]Matrix factorization techniques for recommender systems,矩阵分解(MF)是最流行的浅层推荐方法,分解评分矩阵以获得用户和项目潜在的嵌入并匹配他们以进行推荐

📌[8]Neural collaborative filtering.神经矩阵分解(NeuMF),采用神经网络来捕获用户和项目的潜在嵌入的交互

📌[9]ATM: An Attentive Translation Model for Next-Item Recommendation。著名推荐算法

最近的推荐系统试图通过利用用户生成的内容(例如用户的文本评论 [11])来缓解稀疏性问题。 丰富的用户生成内容也在智慧城市中发挥着重要作用[12]。 例如,大多数购物/餐厅评级网站都鼓励用户为购买的商品撰写评论。 作为评级的附带信息,评论解释了用户为什么将这样的评级分配给项目,并包含有关用户偏好和项目优缺点的知识。 一个典型的餐厅推荐场景如图 1 所示。从评论句子“这个地方氛围很好”,我们可以看出用户更喜欢这家餐厅的内部环境。 然而,仅通过文字评论很难理解这种偏好。

在这里插入图片描述

📌[11]DAML: Dual Attention Mutual Learning between Ratings and Reviews for Item Recommendation,双重关注相对学习(DAML)是最先进的基于评论的推荐方法,DAML通过CNN提取用户和项目的潜在嵌入,并通过共同注意力突出显示它们的匹配特征,最终嵌入用于评级预测。

“一幅图画千言万语。” 与文字评论相比,图像可以传达用户的偏好,而语言可能无法很好地捕捉到这些偏好。 受此启发,提出了**基于多模式内容的推荐系统[2]、[13]、[14]、[15],以提取评论中的知识和项目的图像以进行推荐。 **然而,以前的方法至少存在以下缺点之一:(1)采用浅层模型,不能很好地捕获多模态内容(尤其是图像)中的高级概念信息; (2) 未能捕捉到个性化的用户视觉偏好。 个性化作为智慧城市的基本配置,让城市的服务更贴近市民。

📌[2]A hybrid recommendation system considering visual information for predicting favorite restaurants ,提取评论中的知识和项目的图像进行推荐,浅层方法从多模态内容中提取浅层特征(颜色名称特征)

📌[13]Multi-modal multi-view topic-opinion mining for social event analysis,浅层方法从多模态内容中提取浅层特征(词袋)

📌[14]MMALFM: Explainable recommendation by leveraging reviews and images,多视图视觉贝叶斯个性化排名(MMALFM)基于一种多模态内容的浅层推荐方法,评论和图像用于估计在用户和项目方面的潜在嵌入的重要性

📌[15]Personalized Fashion Recommendation with Visual Explanations based on Multimodal Attention Network,视觉可解释的协同过滤(VECF)是最先进的基于多模式内容的深度推荐方法,将用户和项目的与计算嵌入以及项目的图像发送到深度神经网络进行评级测试。试图通过将用户预先计算的嵌入与图像区域特征相匹配来了解用户对图像区域的注意力(偏好)。通过使用注意力图像特征来训练注意力参数以生成用户评论。

在餐厅推荐等诸多智慧城市应用中,物品的图像往往被分组为视觉视图,呈现给用户相应的项目。例如,餐厅评级网站有“食物”、“饮料”、“内部”和“外部”4个视觉视图,“外观”、“客房”、“大堂”、“餐厅”10个视觉视图 等,在酒店评级网站上。在这样的设置中,可以通过将相关评论词连接到视觉视图来检测用户的视觉偏好

在这项工作中,我们的目标是捕捉这种视图级别的用户视觉偏好并提高推荐性能。 我们选择视图级别而不是图像/区域级别,因为很难获得用于捕获图像/区域级别偏好的大规模标记训练数据,而可以利用先验知识来准确挖掘视图级别偏好。 视图级别的偏好足以显着提高推荐性能。

在本文中,我们提出了一种基于用户多模式偏好的推荐(UMPR)方法

在这里插入图片描述

如图2所示,评论网络和视觉网络旨在提取用户U和项目I之间的多模态匹配

  • 评论网络提取文本匹配,其中包括相关匹配模式及其相关情感 证据,来自用户U和项目I的历史评论。
  • 视觉网络通过卷积神经网络CNN提取 项目I 的视图级视觉嵌入,并将其与 用户U 的视觉偏好嵌入进行匹配以获得视觉匹配。
  • 然后结合文本和视觉匹配特征来预测整体评分。 为了准确捕获 U 的正面/负面视觉偏好嵌入,我们提出了一个控制网络来检查每个训练对$ (U, I’) $并从 用户U 为项目 I’ 撰写的评论(称为匹配评论)中提取局部视觉偏好。 然后根据提取的局部视觉偏好训练用户 U 的视觉偏好嵌入。

例如,在图 1 中,句子“This place has a really good vibe”表示用户喜欢这家餐厅的“内部”景观。 因此,我们让用户对“内部”的积极偏好嵌入类似于餐厅对“内部”的视觉嵌入。 我们还为不同的子网络制定了适当的预训练策略,以鼓励正确评估相关性和情感。 对于测试 (U,I)(U, I)(U,I) 对,我们只提取文本/视觉匹配特征来预测评分并相应地产生推荐(不包含控制网络)。

这项工作的贡献是:(1)我们建议从用户的评论中明确挖掘用户的视图级视觉偏好,并表明这种想法可以显着提高推荐性能; (2) 我们开发了一种新颖的深度学习方法 UMPR,以及适当的(预)训练策略来实现所提出的想法。 UMPR 可以很好地捕捉用户和物品之间的文本和视觉匹配特征进行推荐; (3) 我们根据经验将 UMPR 与公开可用的 Yelp 和亚马逊产品数据集(分别与餐饮和在线购物应用程序相关)的最先进基线进行比较。 实验结果表明,UMPR 优于基线方法。

相关工作

基于评论的推荐

基于评论的推荐方法减轻了冷启动问题

最近,提出了基于深度学习的方法来处理这个问题。 [17] 通过几个胶囊计算用户和项目之间的正面和负面情绪匹配嵌入,并使用它们来预测整体评分。 然而,当我们通过 S-Net 提取综合情绪信息时,他们忽略了中性情绪。 [18] 研究了一个新的推荐问题,称为问题驱动推荐。 他们还融合了用户和项目评论之间的相关匹配模式和相关情感信息,以评估它们之间的匹配。 我们的工作与 [18] 的主要区别在于我们考虑了多模式用户偏好并开发了一种新颖的控制网络来捕获用户的视觉偏好

📌[17]A Capsule Network for Recommendation and Explaining What You Like and Dislike

📌[18]Question-Driven Purchasing Propensity Analysis for Recommendation

基于多模态内容的推荐

最近,研究人员开始关注推荐系统中项目的视觉信息 [19]。 现有的基于多模态内容的推荐方法可以分为两类:浅层方法[13]、[2]、[14]和基于深度学习的方法[15]。** 浅层方法从多模态内容中提取浅层特征,例如词袋 [13] 和颜色名称特征 [2],忽略多模态内容中可能有助于推荐的重要顺序和层次信息。** 我们的 UMPR 属于第二类。 [15] 将用户和项目的预计算嵌入以及项目的图像发送到深度神经网络中进行评级预测。 他们试图通过将用户预先计算的嵌入与图像区域特征相匹配来了解用户对图像区域的注意力(即偏好)。 通过使用注意力图像特征来训练注意力参数以生成用户评论。 然而,这种方案很难捕捉到用户真实的视觉偏好,因为:(1)用户预先计算的嵌入不能保证捕捉到视觉偏好信息; (2) 无监督评论生成训练也可能无法很好地捕获用户在评论中的视觉偏好证据。 相比之下,本文的方法试图通过精心设计和预训练的控制网络从用户的评论中明确挖掘用户的视觉偏好

📌[19]VBPR: Visual Bayesian Personalized Ranking from Implicit Feedback,视觉贝叶斯个性化排名(VBPR)提取项目的视觉嵌入并将其与用户的视觉偏好嵌入进行匹配以计算视觉匹配,然后VBPR将视觉匹配注入协同过滤框架

模型

问题描述

给定一个用户 U 和一个物品 I,RUIR^{U I}RUI 是用户 U 对物品 I 的文本评论。yUIy^{U I}yUI** 是表示用户 U 对物品 I 的总体满意度的总体评分。**

RUR^{U}RU表示除 RUIR^{U I}RUI外,U 在与 I 相同领域的历史评论。 RIR^{I}RI表示除 $ R^{U I} $之外的项目 I 的评论。

📌RUR^{U}RU就是U对I之外的所有评论,RIR^{I}RI表示项目I中除了用户U的其他所有评论

GI=G1I∪G2I∪⋯∪GVIG^{I}=G_{1}^{I} \\cup G_{2}^{I} \\cup \\cdots \\cup G_{V}^{I}GI=G1IG2IGVI是项目 I的图像集,其中第vvv个子集,GvI={gv,1I,gv,2I,⋯,gv,KvI}G_{v}^{I}=\\left\\{g_{v, 1}^{I}, g_{v, 2}^{I}, \\cdots, g_{v, K_{v}}^{I}\\right\\}GvI={gv,1I,gv,2I,,gv,KvI}, 包含KvK_{v}Kv个图像,描述第vvv个视图的视觉信息。

给定一组训练元组 T={(RUI,RU,RI,GI,yUI)}T=\\left\\{\\left(R^{U I}, R^{U}, R^{I}, G^{I}, y^{U I}\\right)\\right\\}T={(RUI,RU,RI,GI,yUI)},目标是开发一个可以准确预测给定(RU,RI,GI)\\left(R^{U}, R^{I}, G^{I}\\right)(RU,RI,GI)yUIy^{U I}yUI的模型。

框架

总体架构如图2所示,其关键组成部分包括控制网络、视觉网络和评论网络

  1. 文本评论提供了全面的信息,揭示了用户的文本偏好和项目的文本特征;
  2. 项目的图像在建模用户的视觉偏好和项目的视觉特征方面提供了重要的补充信息,我们认为用户 U 对项目 I 的**总体满意度(总体评分 yUIy^{U I}yUI)取决于 U 和 I 之间的文本匹配和视觉匹配 **.

**评论网络提取 **RUR^{U}RU**和 **RIR^{I}RI之间的文本匹配,而视觉网络通过考虑 项目I的图像集GIG^{I}GI和 用户U 的视觉偏好嵌入来评估视觉匹配。

控制网络捕获多模态内容中的跨模态相关性并指导用户视觉偏好的学习。 例如,对于“这个地方的氛围非常好”,用户U 对视图“内部”的积极视觉偏好嵌入被控制网络强制类似于GvI=′inside′G_{v}^{I}='inside'GvI=inside。 有关每个组件的详细信息将在下面详细说明。

评论网络

RUR^{U}RU代表用户 U 的文本偏好,RIR^{I}RI包含项目 I 的文本优缺点。 在 [18] 之后,我们使用**相关网络 (R-Net) 和情感网络 (S-Net) **分别捕获 RUR^{U}RURIR^{I}RI之间的相关匹配模式及其相关情感证据。

R-Net: 我们将 RUR^{U}RURIR^{I}RI视为词序列,并通过预训练的 Glove 嵌入 [20] 嵌入每个词以获得原始词嵌入,即 RU={wtU}t=1nR^{U}=\\left\\{\\mathbf{w}_{t}^{U}\\right\\}_{t=1}^{n}RU={wtU}t=1n,RI={wtI}t=1mR^{I}=\\left\\{\\mathbf{w}_{t}^{I}\\right\\}_{t=1}^{m}RI={wtI}t=1m。 然后我们应用 Bi-GRU [18] 来捕获单词序列中的顺序信息。

https://blog.csdn.net/qq_44015059/article/details/106051722

用户评论的 Bi-GRU 计算为:

htU→=GRU→(ht−1U→,wtU),htU→∈Ru,htU←=GRU←(ht+1U←,wtU),htU←∈Ru,\\begin{array}{ll}\\overrightarrow{\\mathbf{h}_{t}^{U}}=\\overrightarrow{G R U}\\left(\\overrightarrow{\\mathbf{h}_{t-1}^{U}}, \\mathbf{w}_{t}^{U}\\right), & \\overrightarrow{\\mathbf{h}_{t}^{U}} \\in \\mathbb{R}^{u}, \\\\ \\overleftarrow{\\mathbf{h}_{t}^{U}}=\\overleftarrow{G R U}\\left(\\overleftarrow{\\mathbf{h}_{t+1}^{U}}, \\mathbf{w}_{t}^{U}\\right), & \\overleftarrow{\\mathbf{h}_{t}^{U}} \\in \\mathbb{R}^{u},\\end{array} htU=GRU(ht1U,wtU),htU=GRU(ht+1U,wtU),htURu,htURu,

其中 htU→\\overrightarrow{\\mathbf{h}_{t}^{U}}htUhtU←\\overleftarrow{\\mathbf{h}_{t}^{U}}htU分别表示 U 的 Bi-GRU 前向和后向隐藏状态。

通过连接htU→\\overrightarrow{\\mathbf{h}_{t}^{U}}htUhtU←\\overleftarrow{\\mathbf{h}_{t}^{U}}htU ,我们获得了完整的隐藏状态 htU∈R2u\\mathbf{h}_{t}^{U} \\in \\mathbb{R}^{2 u}htUR2u 作为第 ttt 个词的嵌入。 我们**使用所有 **$ n $个词的完整隐藏状态作为列向量来构造 用户U 的评论矩阵,即 HU∈R2u×n\\mathbf{H}^{U} \\in \\mathbb{R}^{2 u \\times n}HUR2u×n

类似的得到项目I的评论矩阵HI∈R2u×m\\mathbf{H}^{I} \\in \\mathbb{R}^{2 u \\times m}HIR2u×m

https://blog.csdn.net/qq_40900196/article/details/88997771

然后我们通过**共同注意机制提取 **RUR^{U}RU**和 **RIR^{I}RI之间的匹配模式,该机制已被证明能够捕获文本对之间的匹配模式 [18]。

它分为三个步骤:首先,亲和力矩阵计算如下:

A=tanh⁡((HI)⊤MRHU),A∈(−1,1)m×n\\mathbf{A}=\\tanh \\left(\\left(\\mathbf{H}^{I}\\right)^{\\top} \\mathbf{M}^{R} \\mathbf{H}^{U}\\right), \\quad \\mathbf{A} \\in(-1,1)^{m \\times n} A=tanh((HI)MRHU),A(1,1)m×n

其中 MR∈R2u×2u\\mathbf{M}^{R} \\in \\mathbb{R}^{2 u \\times 2 u}MRR2u×2u 是参数矩阵。 A 的第$ (i,j) $个元素反映了 RIR^{I}RI的第 $ i $个词和 RUR^{U}RU的第 $ j $个词之间的相似度

其次,我们在 A 上使用逐行和逐列最大化,然后使用 softmax 函数生成相关向量 aUI→\\mathbf{a}^{\\overrightarrow{U I}}aUIaUI←\\mathbf{a}^{\\overleftarrow{U I}}aUI

aUI→=softmax⁡(RowMax⁡(A)),aUI→∈(0,1)maUI←=softmax⁡(ColMax⁡(A)),aUI←∈(0,1)n\\begin{aligned} \\mathbf{a}^{\\overrightarrow{U I}}=\\operatorname{softmax}(\\operatorname{RowMax}(\\mathbf{A})), & \\mathbf{a}^{\\overrightarrow{U I}} \\in(0,1)^{m} \\\\ \\mathbf{a}^{\\overleftarrow{U I}}=\\operatorname{softmax}(\\operatorname{ColMax}(\\mathbf{A})), & \\mathbf{a}^{\\overleftarrow{U I}} \\in(0,1)^{n}\\end{aligned} aUI=softmax(RowMax(A)),aUI=softmax(ColMax(A)),aUI(0,1)maUI(0,1)n

aUI→\\mathbf{a}^{\\overrightarrow{U I}}aUI(aUI←\\mathbf{a}^{\\overleftarrow{U I}}aUI) 中的第 ttt 个元素反映了 wtI(wtU)\\mathbf{w}_{t}^{I}\\left(\\mathbf{w}_{t}^{U}\\right)wtI(wtU)RU(RI)R^{U}\\left(R^{I}\\right)RU(RI)整体相关强度

最后,RUR^{U}RURIR^{I}RI 的最终相关性嵌入是通过对评论矩阵执行注意力聚合来计算的:

rUI←=HUaUI←,rUI→=HIaUI→,rUI←,rUI→∈R2u\\mathbf{r}^{\\overleftarrow{U I}}=\\mathbf{H}^{U} \\mathbf{a}^{\\overleftarrow{U I}}, \\mathbf{r}^{\\overrightarrow{U I}}=\\mathbf{H}^{I} \\mathbf{a}^{\\overrightarrow{U I}}, \\quad \\mathbf{r}^{\\overleftarrow{U I}}, \\quad \\mathbf{r}^{\\overrightarrow{U I}} \\in \\mathbb{R}^{2 u} rUI=HUaUI,rUI=HIaUI,rUI,rUIR2u

S-Net:比如用户 U 和项目 I 的评论在价格方面相关,如果很多评论说项目I的价格不错,我们倾向于向 U 推荐 I时注意价格方面。

考虑到不同句子的情感是多样的,S-Net首先提取句子级的情感。 我们对用户U 的评论矩阵HU∈R2u×n\\mathbf{H}^{U} \\in \\mathbb{R}^{2 u \\times n}HUR2u×n 进行划分,得到句子级的评论矩阵,{H1U,⋯,HdUU}\\left\\{\\mathbf{H}_{1}^{U}, \\cdots, \\mathbf{H}_{d^{U}}^{U}\\right\\}{H1U,,HdUU},其中HiU∈R2u×ni\\mathbf{H}_{i}^{U} \\in \\mathbb{R}^{2 u \\times n_{i}}HiUR2u×ni表示第 iii 个句子的嵌入,dUd^{U}dU 表示 RUR^{U}RU 的句号编号,nin_{i}ni 是第 iii 个句子的单词编号。 我们将每个 HiU\\mathbf{H}_{i}^{U}HiU(句子的嵌入)馈送到自我注意模块 [18] 中以生成其**情感注意向量 **aiU\\mathbf{a}_{i}^{U}aiU

aiU=softmax⁡((ws)⊤tanh⁡(MsHiU)),aiU∈(0,1)ni\\mathbf{a}_{i}^{U}=\\operatorname{softmax}\\left(\\left(\\mathbf{w}^{s}\\right)^{\\top} \\tanh \\left(\\mathbf{M}^{s} \\mathbf{H}_{i}^{U}\\right)\\right), \\quad \\mathbf{a}_{i}^{U} \\in(0,1)^{n_{i}} aiU=softmax((ws)tanh(MsHiU)),aiU(0,1)ni

其中 Ms∈Rus×2u\\mathbf{M}^{s} \\in \\mathbb{R}^{u_{s} \\times 2 u}MsRus×2uws∈Rus\\mathbf{w}^{s} \\in \\mathbb{R}^{u_{s}}wsRus 是超参数 usu_{s}us的自注意力模块的参数。aiU\\mathbf{a}_{i}^{U}aiU反映了第 iii 个句子中单词的情感强度。 接下来,我们执行句子级聚合以获得句子级情感嵌入{siU=HiUaiU}i=1dU\\left\\{\\mathbf{s}_{i}^{U}=\\mathbf{H}_{i}^{U} \\mathbf{a}_{i}^{U}\\right\\}_{i=1}^{d^{U}}{siU=HiUaiU}i=1dU

最后,我们聚合所有句子级情感嵌入以获得评论级情感嵌入。 由于提取的情感证据应该与相关匹配相关,我们融合相关信息来计算 RUR^{U}RU 的最终情感嵌入:

sU=∑i=1dUaiUI←siU,sU∈R2u\\mathbf{s}^{U}=\\sum_{i=1}^{d^{U}} a_{i}^{\\overleftarrow{U I}} \\mathbf{s}_{i}^{U}, \\quad \\mathbf{s}^{U} \\in \\mathbb{R}^{2 u} sU=i=1dUaiUIsiU,sUR2u

其中 aiUI←a_{i}^{\\overleftarrow{U I}}aiUI是第 iii 个句子的相关性,通过对相关向量 aUI←\\mathbf{a}^{\\overleftarrow{U I}}aUI 中关于该句子的元素求和得到。 通过这种方式,sU\\mathbf{s}^{U}sU 被迫专注于具有显着相关性分数的句子。 我们使用相同的 S-Net 来计算 sI\\mathbf{s}^{I}sI,即 RIR^{I}RI 的情感嵌入。

文本匹配:我们连接 U 的最终相关性和情感嵌入以获得其文本嵌入

xUI←=[rUI←⊕sU],xUI←∈R4u\\mathbf{x}^{\\overleftarrow{U I}}=\\left[\\mathrm{r}^{\\overleftarrow{U I}} \\oplus \\mathbf{s}^{U}\\right], \\quad \\mathbf{x}^{\\overleftarrow{U I}} \\in \\mathbb{R}^{4 u} xUI=[rUIsU],xUIR4u

其中⊕表示串联(连接)操作xUI→\\mathbf{x}^{\\overrightarrow{U I}}xUI 的文本嵌入构造类似。 xUI←\\mathrm{x}^{\\overleftarrow{U I}}xUIxUI→\\mathrm{x}^{\\overrightarrow{U I}}xUI 分别代表用户U 的文本偏好和项目 I 的相关文本优缺点。

我们融合它们以捕获 RUR^{U}RU** 和 **RIR^{I}RI**之间的文本匹配信息 **:

xT=tanh⁡(WUI←xUI←+WUI→xUI→),xT∈R2u\\mathbf{x}^{T}=\\tanh \\left(\\mathbf{W}^{\\overleftarrow{U I}} \\mathbf{x}^{\\overleftarrow{U I}}+\\mathbf{W}^{\\overrightarrow{U I}} \\mathbf{x}^{\\overrightarrow{U I}}\\right), \\quad \\mathbf{x}^{T} \\in \\mathbb{R}^{2 u} xT=tanh(WUIxUI+WUIxUI),xTR2u

其中 WUI←\\mathbf{W}^{\\overleftarrow{U I}}WUIWUI→\\mathbf{W}^{\\overrightarrow{U I}}WUI2u×4u2u × 4u2u×4u 参数矩阵。

视觉网络

项目I的图像可以传达用户的偏好,而语言可能无法很好地捕捉到这些偏好。 因此,我们提出视觉网络来提取项目的视觉嵌入并将其与用户的视觉偏好嵌入进行匹配以获得视觉匹配

我们从项目的图像集 GIG^{I}GI 中提取项目的视觉嵌入。 对于每个视图 vvv,我们计算每个图像 gv,kI∈GvIg_{v, k}^{I} \\in G_{v}^{I}gv,kIGvI 的高级表示如下

zv,kI=Fv(gv,kI),zv,kI∈Ruc\\mathbf{z}_{v, k}^{I}=F_{v}\\left(g_{v, k}^{I}\\right), \\mathbf{z}_{v, k}^{I} \\in \\mathbb{R}^{u_{c}} zv,kI=Fv(gv,kI),zv,kIRuc

其中 $ F_{v}(·) $是第 vvv 个视图的 CNN 网络,由 VGG-16 网络初始化

然后我们进行视图内平均池化以获得项目 I 的视觉嵌入 {zvI}v=1V\\left\\{\\mathbf{z}_{v}^{I}\\right\\}_{v=1}^{V}{zvI}v=1V,其中

zvI=1Kv∑k=1Kvzv,kI,zvI∈Ruc\\mathbf{z}_{v}^{I}=\\frac{1}{K_{v}} \\sum_{k=1}^{K_{v}} \\mathbf{z}_{v, k}^{I}, \\mathbf{z}_{v}^{I} \\in \\mathbb{R}^{u_{c}} zvI=Kv1k=1Kvzv,kI,zvIRuc

我们{ZvU+/ZvU−}v=1V\\left\\{\\mathbf{Z}_{v}^{U+} / \\mathbf{Z}_{v}^{U-}\\right\\}_{v=1}^{V}{ZvU+/ZvU}v=1V** 定义为 用户U 在所有 V 视图上的正/负视觉偏好嵌入,代表 U 的视图级视觉偏好**。 直观上,U 的视觉偏好可以从他评论的项目图像中收集。 在下一小节中,我们将介绍控制网络来指导 {ZvU+/ZvU−}v=1V\\left\\{\\mathbf{Z}_{v}^{U+} / \\mathbf{Z}_{v}^{U-}\\right\\}_{v=1}^{V}{ZvU+/ZvU}v=1V的学习。

通过下面的计算,我们可以得到初步的视觉匹配向量x~V+\\widetilde{\\mathbf{x}}^{V+}xV+** 和**​x~V−\\widetilde{\\mathbf{x}}^{V-}xV

x~vV+=tanh⁡(∥fv(zvU+)−fv(zvI)∥2)x~vV−=tanh⁡(∥fv(zvU−)−fv(zvI)∥2)\\begin{array}{l}\\widetilde{x}_{v}^{V+}=\\tanh \\left(\\left\\|f_{v}\\left(\\mathbf{z}_{v}^{U+}\\right)-f_{v}\\left(\\mathbf{z}_{v}^{I}\\right)\\right\\|_{2}\\right) \\\\ \\widetilde{x}_{v}^{V-}=\\tanh \\left(\\left\\|f_{v}\\left(\\mathbf{z}_{v}^{U-}\\right)-f_{v}\\left(\\mathbf{z}_{v}^{I}\\right)\\right\\|_{2}\\right)\\end{array} xvV+=tanh(fv(zvU+)fv(zvI)2)xvV=tanh(fv(zvU)fv(zvI)2)

其中 $ tanh(·) $将初步视觉匹配变换到 [0, 1) 区间。 fv(⋅)f_{v}(\\cdot)fv() 是一个完全连接的神经网络,用于将第 vvv 个视图的视觉嵌入编码到匹配空间中。 x~vV+\\widetilde{x}_{v}^{V+}xvV+x~vV−\\widetilde{x}_{v}^{V-}xvV正负初步视觉匹配向量 x~V+/x~V−∈[0,1)V\\widetilde{\\mathbf{x}}^{V+} / \\widetilde{\\mathbf{x}}^{V-} \\in[0,1)^{V}xV+/xV[0,1)V的第vvv个元素

然而,上面描述的视觉(偏好)嵌入忽略了视觉视图对用户和项目的不同重要性。 例如,用户可能经常评论餐厅的“内部”环境,表明用户更关注“内部”景观; 一家餐厅也可能会收到更多关于某些观点的评论,反映出用户更关心的受欢迎的优缺点。 鉴于这些观察,我们定义了关注强度来衡量视觉视图对用户/项目的重要性。 令 cU\\mathbf{c}^{U}cU , cI\\mathbf{c}^{I}cI 分别为用户 U 和物品 I 的关注强度向量。然后 U 和 I 之间的最终视觉匹配计算为:

xV+=cU⊙cI⊙(1−x~V+)xV−=cU⊙cI⊙(1−x~V−)\\begin{array}{l}\\mathbf{x}^{V+}=\\mathbf{c}^{U} \\odot \\mathbf{c}^{I} \\odot\\left(\\mathbf{1}-\\widetilde{\\mathbf{x}}^{V+}\\right) \\\\ \\mathbf{x}^{V-}=\\mathbf{c}^{U} \\odot \\mathbf{c}^{I} \\odot\\left(\\mathbf{1}-\\widetilde{\\mathbf{x}}^{V-}\\right)\\end{array} xV+=cUcI(1xV+)xV=cUcI(1xV)

其中 1 表示全 1 向量,⊙\\odot表示逐元素乘法。 xV+(xV−)\\mathbf{x}^{V+}\\left(\\mathbf{x}^{V-}\\right)xV+(xV)的第 vvv 个元素编码 U 在 I 的第 vvv 个视图上的加权正(负)匹配度cU\\mathbf{c}^{U}cU** 和 **cI\\mathbf{c}^{I}cI**由控制网络获得 **,将在下一小节中介绍。

控制网络

基于训练的$ (U, I) 对,我们可以∗∗从每个匹配的评论∗∗对,我们可以**从每个匹配的评论 **对,我们可以从每个匹配的评论R^{U I}$** 中提取用户的视觉偏好信息**。 直觉是,如果 U 在 RUIR^{U I}RUI 中对 I 的视觉视图 vvv 表现出积极的态度,我们应该鼓励 ZvU+\\mathbf{Z}_{v}^{U+}ZvU+ 接近ZvI\\mathbf{Z}_{v}^{I}ZvI。 当态度为负面时,同样的想法适用于ZvU−\\mathbf{Z}_{v}^{U-}ZvU

控制网络将每个 RUIR^{U I}RUI 作为输入,并在每个 项目I 的视觉视图上提取用户U 的局部视觉偏好。 局部视觉偏好包括三个度量:局部关注强度(即,U对I的观点 vvv 的讨论强度)、情感极性和情感强度前一个度量由关注网络 (C-Net) 获得,后两个由情感评分网络 (SSNet) 获得

在本小节中,我们只关注 U 在 RUIR^{U I}RUI 中的局部偏好,因此为了清楚起见暂时省略了上标 (UI)(U I)(UI)

关注网络C-Net

在这里插入图片描述

C-Net 的架构如图 3 所示。我们使用与 R-Net 中相同的低级结构(具有单独的参数)来获得 RUIR^{U I}RUI 的评论矩阵 H∈R2u×l\\mathbf{H} \\in \\mathbb{R}^{2 u \\times l}HR2u×l。 由于不同的句子通常描述不同的观点,因此应首先在句子级别估计局部关注度。 因此,我们对 H\\mathbf{H}H进行分区以获得句子级评论矩阵{H1,⋯,Hd}\\left\\{\\mathbf{H}_{1}, \\cdots, \\mathbf{H}_{d}\\right\\}{H1,,Hd},其中 $ d $表示 RUIR^{U I}RUI中的句子编号。 我们使用 CNN 网络来捕获与视觉视图相关的区域特征。 如图 3 所示,卷积层对句子应用 K 个过滤器。 每个过滤器 WkC∈R2u×h\\mathbf{W}_{k}^{C} \\in \\mathbb{R}^{2 u \\times h}WkCR2u×h 应用于 $ h $个单词的窗口以产生区域特征值

oi,k[t]=ϕ(Hi,t:t+h−1⊗WkC+bk)o_{i, k}[t]=\\phi\\left(\\mathbf{H}_{i, t: t+h-1} \\otimes \\mathbf{W}_{k}^{C}+b_{k}\\right) oi,k[t]=ϕ(Hi,t:t+h1WkC+bk)

其中Hi,t:t+h−1\\mathbf{H}_{i, t: t+h-1}Hi,t:t+h1 表示 [hi,thi,t+1⋯hi,t+h−1]\\left[\\begin{array}{llll}\\mathbf{h}_{i, t} & \\mathbf{h}_{i, t+1} & \\cdots & \\mathbf{h}_{i, t+h-1}\\end{array}\\right][hi,thi,t+1hi,t+h1]hi,t\\mathbf{h}_{i, t}hi,t是第 $ t $个词在句子 Hi\\mathbf{H}_{i}Hi中的嵌入,$ ⊗ 表示卷积,表示卷积,表示卷积,b_{k}是当前过滤器的偏差,是当前过滤器的偏差,是当前过滤器的偏差,\\phi(\\cdot)$ 表示修正线性单元 (ReLU) 激活函数,Oi,k[t]O_{i, k}[t]Oi,k[t] 是位置 $ t $处计算的区域特征。 在句子 Hi\\mathbf{H}_{i}Hi中所有可能的位置计算 Oi,k[t]O_{i, k}[t]Oi,k[t]产生一个特征图 [oi,k[1]oi,k[2]⋯oi,k[li−h+1]]⊤\\left[\\begin{array}{llll}o_{i, k}[1] & o_{i, k}[2] & \\cdots & o_{i, k}\\left[l_{i}-h+1\\right]\\end{array}\\right]^{\\top}[oi,k[1]oi,k[2]oi,k[lih+1]],其中 lil_{i}li是 第 $ i $个句子的单词编号。

然后我们执行最大池化以生成句子 $ i 的固定长度嵌入:的固定长度嵌入:的固定长度嵌入:\\mathbf{o}{i}=\\left[o{i, 1} o_{i, 2} \\cdots o_{i, K}\\right]^{\\top},其中,其中,其中o_{i, k}=\\max \\left{o_{i, k}[1], \\cdots, o_{i, k}\\left[l_{i}-h+1\\right]\\right}。由于卷积过滤器试图检测与视觉视图相关的区域特征,。 由于卷积过滤器试图检测与视觉视图相关的区域特征,。由于卷积过滤器试图检测与视觉视图相关的区域特征,\\mathbf{o}_{i}$可以被视为从句子中提取最显着的特征

https://blog.csdn.net/vivian_ll/article/details/80831509?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-1-80831509-blog-103070785.pc_relevant_vip_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-1-80831509-blog-103070785.pc_relevant_vip_default&utm_relevant_index=2

接下来,oi\\mathbf{o}_{i}oi被一个非线性层投影以生成初步的局部关注强度

c~is=σ(Wooi+bo),c~is∈(0,1)V\\widetilde{\\mathbf{c}}_{i}^{s}=\\sigma\\left(\\mathbf{W}^{o} \\mathbf{o}_{i}+\\mathbf{b}^{o}\\right), \\widetilde{\\mathbf{c}}_{i}^{s} \\in(0,1)^{V} cis=σ(Wooi+bo),cis(0,1)V

其中Wo∈RV×K\\mathbf{W}^{o} \\in \\mathbb{R}^{V \\times K}WoRV×Kbo∈RV\\mathbf{b}^{o} \\in \\mathbb{R}^{V}boRV为参数,σ(⋅)σ(·)σ()表示sigmoid函数。 c~is\\widetilde{\\mathbf{c}}_{i}^{s}cis 的每个元素表示句子 Hi\\mathbf{H}_{i}Hi涉及对应视图的概率。 一个句子可能涉及多个视图。

然而,评论句子可能并不都与视觉视图相关,因为视觉视图通常只涵盖几个项目方面。因此,我们使用以下门函数进一步过滤具有预定义阈值 $ ω $的 c~is\\widetilde{\\mathbf{c}}_{i}^{s}cis

φ(x)={xif x≥ω0otherwise \\varphi(x)=\\left\\{\\begin{array}{l}x \\text { if } x \\geq \\omega \\\\ 0 \\text { otherwise }\\end{array}\\right. φ(x)={x if xω0 otherwise 

最终的句子级局部关注强度是通过将c~is\\widetilde{\\mathbf{c}}_{i}^{s}cis 放入门函数中获得的:cis=φ(c~is)\\mathbf{c}_{i}^{s}=\\varphi\\left(\\widetilde{\\mathbf{c}}_{i}^{s}\\right)cis=φ(cis)cis(i.e.,ci,vs)\\mathbf{c}_{i}^{s}\\left(\\right. i.e., \\left.c_{i, v}^{s}\\right)cis(i.e.,ci,vs) 中的第 $ v KaTeX parse error: Undefined control sequence: \\* at position 7: 个元素表示 \\̲*̲\\*用户U 根据第 \\*\\* i KaTeX parse error: Undefined control sequence: \\* at position 1: \\̲*̲\\*个句子对第 \\*\\* v $个视觉视图的局部关注强度

请注意,在考虑整个审查 RUIR^{U I}RUI时,我们会更加关注经常关注的视觉视图。 因此,进行平方和运算来融合句子级别的局部关注强度,并更加强调具有高置信度的句子:

cv=∑i=1dci,vs2c_{v}=\\sum_{i=1}^{d} c_{i, v}^{s}{ }^{2} cv=i=1dci,vs2

其中 cvc_{v}cv是**评论级别局部关注强度 **$ c KaTeX parse error: Undefined control sequence: \\* at position 1: \\̲*̲\\*的第 \\*\\* v $个元素

回想一下,在视觉网络中,我们需要获得 用户U 和项目 I关于视觉视图的全局关注强度cU\\mathbf{c}^{U}cUcI\\mathbf{c}^{I}cI)。 它们可以通过**简单地将 **RU(RI)R^{U}\\left(R^{I}\\right)RU(RI)输入 C-Net 来获得

在这里插入图片描述

为了鼓励** C-Net 捕获与视觉视图相关的区域特征,我们提出了一种基于视图特定关键字的预训练方法**。 我们将在训练策略中详细说明。

SS-Net :本质上是一个全连接的神经网络,以 {si}i=1d\\left\\{\\mathbf{s}_{i}\\right\\}_{i=1}^{d}{si}i=1d,即 S-Net 生成的 RUIR^{U I}RUI句子级情感嵌入作为输入。 我们通过 SS-Net 为每个 Si\\mathbf{S}_{i}Si提供数据以捕获其情绪分数

q~is=σ(fss(si))\\widetilde{q}_{i}^{s}=\\sigma\\left(f^{s s}\\left(\\mathbf{s}_{i}\\right)\\right) qis=σ(fss(si))

其中fss(⋅)f^{s s}(\\cdot)fss()代表SS-Net的变换。 通过应用 sigmoid 函数,情感分数q~is\\widetilde{q}_{i}^{s}qis 被强制在$ (0, 1) $ 中,其中 0 和 1 分别代表负面和正面情绪的最强烈值。 为了便于准确捕捉情绪极性和强度,我们使用具有最强烈正面/负面情绪的句子对 SS-Net 进行预训练,这将在训练策略中详细说明。

在获得 RUIR^{U I}RUI的句子级情感分数后,接下来的问题是如何评估每个视觉视图的评论级情感极性和强度,以便它们可以与局部关注强度协同用于用户视觉偏好训练。 这个想法是在对视图的句子级情感得分进行平均时,为高度关注的句子赋予高权重

qv=(∑i=1dq~isci,vs2)/(∑i=1dci,vs2)q_{v}=\\left(\\sum_{i=1}^{d} \\widetilde{q}_{i}^{s} c_{i, v}^{s}{ }^{2}\\right) /\\left(\\sum_{i=1}^{d} c_{i, v}^{s}{ }^{2}\\right) qv=(i=1dqisci,vs2)/(i=1dci,vs2)

其中 qvq_{v}qv表示 用户U 在项目 I 的第 $ v $个视图 上的整体情感得分。 当大多数高度关注的句子确认用户 U 喜欢(不喜欢)项目I的视图 $ v 时,我们可以获得高(低)时,我们可以获得高(低)时,我们可以获得高(低)q_{v}$。

📌如果 cvc_{v}cv= 0,我们不需要计算 qvq_{v}qv并为完整性设置 qvq_{v}qv= 0.5。

相反,如果 U 在 RUIR^{U I}RUI的相关句子中表达相反的意见,则整体情感得分将接近 0.5,这表明中性情绪。 因此我们采用0.5作为极性判断的阈值。 关于情感强度,我们进一步调整 qvq_{v}qv以抑制歧义分数:

{if qv>0.5,then, qvp=1,qvi+=4(qv−0.5)2,qvi−=0if qv<0.5, then, qvp=0,qvi+=0,qvi−=4(0.5−qv)2. \\left\\{\\begin{array}{l}\\text { if } q_{v}>0.5, \\text { then, } q_{v}^{p}=1, q_{v}^{i+}=4\\left(q_{v}-0.5\\right)^{2}, q_{v}^{i-}=0 \\\\ \\text { if } q_{v}<0.5 \\text {, then, } q_{v}^{p}=0, q_{v}^{i+}=0, q_{v}^{i-}=4\\left(0.5-q_{v}\\right)^{2} \\text {. }\\end{array}\\right. { if qv>0.5, then, qvp=1,qvi+=4(qv0.5)2,qvi=0 if qv<0.5, then, qvp=0,qvi+=0,qvi=4(0.5qv)2

通过对所有 $ V 视图的结果进行分组,我们得到用户U对项目I的∗∗情感极性向量∗∗视图的结果进行分组,我们得到用户 U 对项目 I 的**情感极性向量**视图的结果进行分组,我们得到用户U对项目I情感极性向量\\mathbf{q}^{p} \\in{0,1}^{V}$ ,正/负情感强度向量 qi+/qi−∈(0,1)V\\mathbf{q}^{i+} / \\mathbf{q}^{i-} \\in(0,1)^{V}qi+/qi(0,1)V。 最后,我们通过合成 cccqp\\mathbf{q}^{p}qpqi+\\mathbf{q}^{i+}qi+qi−\\mathbf{q}^{i-}qi 来计算用户U 的局部视觉偏好:

p+=c⊙qp⊙qi+,p−=c⊙(1−qp)⊙qi−\\mathbf{p}^{+}=\\mathbf{c} \\odot \\mathbf{q}^{p} \\odot \\mathbf{q}^{i+}, \\mathbf{p}^{-}=\\mathbf{c} \\odot\\left(\\mathbf{1}-\\mathbf{q}^{p}\\right) \\odot \\mathbf{q}^{i-} p+=cqpqi+,p=c(1qp)qi

更高的关注度和情绪强度导致更高的偏好权重。

损失函数

我们训练 UMPR 来**预测总体评分 **yUIy^{U I}yUI并明确学习用户的视觉偏好嵌入。 我们现在描述损失函数的不同组成部分。

在这里插入图片描述

视觉嵌入损失

我们构造视觉嵌入损失来指导用户视觉偏好嵌入的学习:

LV=∑((p+)⊤x~V++(p−)⊤x~V−),\\mathcal{L}_{\\mathcal{V}}=\\sum\\left(\\left(\\mathbf{p}^{+}\\right)^{\\top} \\widetilde{\\mathbf{x}}^{V+}+\\left(\\mathbf{p}^{-}\\right)^{\\top} \\widetilde{\\mathbf{x}}^{V-}\\right), LV=((p+)xV++(p)xV),

其中对所有训练对 (U, I) 求和。 如果相应的估计局部视觉偏好 p+/p− 很高,则这种损失迫使用户视觉偏好与项目视觉嵌入相似

评分预测损失

我们融合文本匹配和视觉匹配来预测总体评分,表示 用户U 对 项目I 的总体满意度:

y^UI=fp(xT,xV+,xV−)\\hat{y}^{U I}=f^{p}\\left(\\mathbf{x}^{T}, \\mathbf{x}^{V+}, \\mathbf{x}^{V-}\\right) y^UI=fp(xT,xV+,xV)

📌fpf^pfp 将文本向量和视觉向量作为输入,输出一个实数,表示用户 UUU 对项目 III 的总体满意度的预测值 y^UI\\hat{y}^{UI}y^UI

然后我们使用均方误差(MSE) 来构造评级预测损失:

LR=∑U,I(yUI−y^UI)2\\mathcal{L}_{\\mathcal{R}}=\\sum_{U, I}\\left(y^{U I}-\\hat{y}^{U I}\\right)^{2} LR=U,I(yUIy^UI)2

联合损失

通过结合视觉嵌入损失和评分预测损失,UMPR 的整体优化问题被表述为

min⁡Θ,{zvU+,zvU−}∀v,UL=LR+ϵLV\\min _{\\Theta,\\left\\{\\mathbf{z}_{v}^{U+}, \\mathbf{z}_{v}^{U-}\\right\\}_{\\forall v, U}} \\mathcal{L}=\\mathcal{L}_{\\mathcal{R}}+\\epsilon \\mathcal{L}_{\\mathcal{V}} Θ,{zvU+,zvU}v,UminL=LR+ϵLV

其中 ΘΘΘ 表示所有模型参数,是一个超参数。

📌这里的min⁡\\minmin符号表示最小化操作。目标是找到一组参数 Θ\\ThetaΘ 和一组嵌入向量 zvU+,zvU−∀v,U{\\mathbf{z}_{v}^{U+}, \\mathbf{z}_{v}^{U-}}_{\\forall v, U}zvU+,zvUv,U,使得优化目标函数 L\\mathcal{L}L 最小。

训练策略

由于神经网络的性能对参数的初始化方式相当敏感,我们开发了一种迁移训练策略:预训练重要的子网,然后通过联合损失对整个网络进行微调。我们遵循 [18] 中的策略预训练 R-Net 和 S-Net。 接下来我们描述C-Net、SS-Net的预训练和fine-tuning。

📌[18]Question-Driven Purchasing Propensity Analysis for Recommendation

https://zhuanlan.zhihu.com/p/265946668

C-Net 的预训练

我们使用视图关键字作为先验知识来预训练 C-Net。 首先,我们执行最先进的方面提取工具包 [16](情感分析中的重要任务之一) 为每个视图构建关键字词典。

📌[16]An Unsupervised Neural Attention Model for Aspect Extraction
方面提取是基于方面的情感分析中一项重要且具有挑战性的任务。 现有作品倾向于在此任务上应用主题模型的变体。 虽然相当成功,但这些方法通常不会产生高度连贯的方面。 在本文中,我们提出了一种新颖的神经方法,旨在发现连贯的方面。 该模型通过使用神经词嵌入来利用词共现的分布来提高连贯性。 与通常假设独立生成单词的主题模型不同,词嵌入模型鼓励出现在相似上下文中的单词在嵌入空间中彼此靠近。 此外,我们使用注意力机制在训练过程中去强调不相关的词,进一步提高方面的连贯性。 现实生活数据集上的实验结果表明,我们的方法发现了更有意义和连贯的方面,并且在几个评估任务上大大优于基线方法。

https://blog.csdn.net/u013695457/article/details/80408299

https://blog.csdn.net/lrt366/article/details/81107218

然后,通过以下标准获得每个视图 上的目标局部关注强度(ci,vs)\\left(c_{i, v}^{s}\\right)(ci,vs):具有/没有重叠视图关键字的评论句子被视为关注/不关注实例,其中(ci,vs)=1/0\\left(c_{i, v}^{s}\\right) = 1/0(ci,vs)=1/0

最后,我们使用目标强度的 MSE 损失来训练 C-Net

SS-Net 预训练

我们将评分为 5或1 的评论句子视为强烈的正面/负面实例。 q~is\\widetilde{q}_{i}^{s}qis弱标签相应地设置为 1/0。 我们将 SS-Net 的预训练视为二元分类任务。

微调

我们通过预训练的 R-Net、S-Net、C-Net 和 SS-Net 初始化 UMPR 的参数。 其他参数随机初始化。 然后我们最小化联合损失 (L\\mathcal{L}L) 以微调参数

在测试阶段,对于一个测试对(U,I),它们之间没有匹配的评论(RUIR^{U I}RUI)。 因此,我们只在控制网络中保留 C-Net 来评估用户 U 和项目 I 的全局关注强度。

实验

我们根据公开可用的 Yelp 和亚马逊数据集上的几种最先进的基线方法评估了提出的 UMPR。

数据集

在这里插入图片描述

Yelp 是一个餐厅推荐数据集。 它包含评级和评论,以及标记为四个类别(视图)的 200000 张餐厅图像:“食物”、“饮料”、“内部”和“外部”。 我们首先选择每个视图中至少有一张图像的餐厅,然后采用 5 核设置去除评论少于 5 条的餐厅和用户。

Amazon-5-cores 包含用户生成的内容(评论、评级等)和来自亚马逊的商品元数据(价格、图像等)。 我们在实验中使用评论、评级和图像。 Amazon-5-cores 数据集包含 24 个产品类别。 我们在视觉信息很重要的服装、鞋子和珠宝类别上评估我们的模型 。 此数据集中的每个项目都附有一张图像。 我们可以公平地将 UMPR 与只能应用于单项图像案例的方法进行比较。

我们通过以下方式退化 UMPR:(1)从其单个图像中提取项目的视觉嵌入,并定义用户的单视图正/负视觉偏好嵌入; (2)只保留控制网络中的S-Net和SS-Net来计算Matching Review中的情感极性。 退化的 UMPR 仍然学习多模式匹配以进行个性化推荐。

评估方法

在这里插入图片描述

baseline方法包括:

  • Matrix Factorization矩阵分解(MF)是最流行的浅层推荐方法。它分解评分矩阵以获得用户和项目的潜在嵌入并匹配它们以进行推荐。
  • Neural Matrix Factorization神经矩阵分解 (NeuMF) 采用神经网络来捕获用户和项目的潜在嵌入之间的层次交互。
  • Dual Attention Mutual Leaning双重关注相互学习 (DAML) 是最先进的基于评论的推荐方法。 DAML 通过 CNN 提取用户和项目的潜在嵌入,并通过共同注意突出显示它们的匹配特征。 最终嵌入用于评级预测。
  • Visual Bayesian Personalized Ranking 视觉贝叶斯个性化排名(VBPR) [19] 提取项目的视觉嵌入并将其与用户的视觉偏好嵌入进行匹配以计算视觉匹配。 然后 VBPR 将视觉匹配注入协作过滤框架。
  • Multi-view Visual Bayesian Personalized Ranking
    多视图视觉贝叶斯个性化排名 (MVBPR) 是 VBPR 的多视图扩展。 它通过 CNN 提取项目的多视图视觉嵌入,并将其与用户的视觉偏好嵌入相匹配以进行评分预测。
  • Visually Explainable Collaborative Filtering 视觉可解释的协同过滤(VECF) 是最先进的基于多模式内容的深度推荐方法。 由于 VECF 和 VBPR 只能应用于单个项目图像的情况,对于 Yelp 数据集,我们为每个项目随机选择一个图像。
  • Multi-Modal Aspect-aware Latent Factor Model多模态方面感知潜在因素模型 (MMALFM) 是一种基于多模态内容的浅层推荐方法。 评论和图像用于估计方面在用户和项目的潜在嵌入中的重要性。

每个数据集随机分为训练集(90%)、验证集(5%)和测试集(5%)。 由于我们的 UMPR 需要训练用户的视觉偏好嵌入,我们确保训练集包含所有用户。 UMPR 和基线的所有超参数都是根据验证集上的性能选择的。 在相关工作DAML、MMALFM之后,我们使用广泛采用的 MSE 作为评估指标。 通过运行每5个测试用例来报告平均性能。

实验细节

使用**随机梯度下降(SGD)并应用 Adam **进行训练。 学习率设置为1e6。 第一和第二动量系数分别设置为 0.9 和 0.999。 SGD 的小批量大小设置为 32。GRU 的隐藏状态向量的长度 (uuu) 和自注意力空间的维度 ((us)\\left(u_{s}\\right)(us)) 设置为 64。视觉网络中的 CNN 初始化为 VGG-16 。

在实验中,我们采用第二个全连接层(即 FC-7)的输出,以获得 us=4096u_{s} = 4096us=4096 维视觉嵌入。 {fv(⋅)}v=1V\\left\\{f_{v}(\\cdot)\\right\\}_{v=1}^{V}{fv()}v=1V是由 ReLU 函数激活的双层全连接神经网络,用于将视觉嵌入编码到匹配空间中。 图层大小设置为 4096−4096−10004096-4096-1000409640961000。 C-Net 中的 CNN 有 K=120K = 120K=120 个过滤器,每个窗口大小有 404040 个过滤器,即 h=1,2,3h = 1, 2, 3h=1,2,3fss(⋅)f^{s s}(\\cdot)fss() 也是一个双层全连接神经网络,层大小为 128−64−1128-64-1128641 并由 ReLU 函数激活。 它从句子级情感嵌入计算情感分数。 超参数和 ω 分别设置为 10−110^{-1}1010.350.350.35

我们的模型由 TensorFlow 1.15 实现,并在 Ubuntu Linux 16.04 上运行。

https://blog.csdn.net/qq_45998041/article/details/114626473?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-2-114626473-blog-109176612.pc_relevant_vip_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-2-114626473-blog-109176612.pc_relevant_vip_default&utm_relevant_index=3

性能比较

在这里插入图片描述

表三显示了实验结果。 从实验结果我们可以得出以下几点:

  1. 仅基于评分信息的方法(MF,NeuMF)表现最差,验证了用户评论和项目图像在推荐中的有效性。
  2. DAML 优于所有其他基线,包括 Yelp 数据集上基于多模态内容的方法。 原因是:(a) DAML 捕获文本匹配,而 VECF 在模型训练中仅使用评论数据; (b) DAML 使用 CNN 来更好地提取本地上下文信息。 MMALFM 将评论视为单词的组合,并忽略这些单词之间的相关性。
  3. VECF 在 Amazon-5-cores 数据集上优于 DAML。 其原因可能是物品的图像在选择服装、鞋子和珠宝时至关重要。
  4. 我们通过显着性水平为 $ 0.05 $的 t-test, UMPR 与基线之间性能差异的显着性。 结果表明,UMPR 显着优于所有数据集上的所有基线。 与 DAML 相比,UMPR 捕获了用户的视觉偏好,这为他的文本偏好提供了重要的补充信息。 在第下节中,我们进行消融研究以评估视觉网络和评论网络的效果。

https://zhuanlan.zhihu.com/p/138711532

分析

参数分析

UMPR 包含两个重要的超参数,ϵ\\epsilonϵω\\omegaω

ϵ\\epsilonϵ控制视觉嵌入损失的重要性ω\\omegaω 是 C-Net 中门函数的阈值。 它确定一个句子是否涉及视觉视图。

在这里插入图片描述

在这里,我们探讨了它们对 Yelp 数据集的影响。 我们改变一个超参数并修复另一个。 我们通过查看验证集的性能来调整超参数。 图 4 显示了结果。 我们发现了一个普遍的规律:随着超参数的增加,MSE曲线先下降后上升,证明了视觉嵌入损失和C-Net门函数的有效性。 我们最终将 ϵ\\epsilonϵω\\omegaω 分别设置为 0.1 和 0.35。

消融研究

在这里插入图片描述

为了证明文本和视觉匹配在推荐中的重要性,我们提出了 UMPR 的两个变体,UMPR-R 和 UMPR-V,它们分别只使用评论和图像

UMPR-R 仅执行评论网络以获得推荐的文本匹配。 与 UMPR 类似,UMPR-V 通过视觉网络学习视觉匹配和用户的视觉偏好嵌入。 此外,为了验证预训练的有效性,我们提出了 UMPR-NP,它去除了 UMPR 中的预训练阶段。 图 5 显示了消融研究的结果。 UMPR-V 的性能急剧下降,这表明评论包含比图像更多的综合方面

结论

在本文中,我们探索了一个新颖的推荐问题,即提取用户的多模式偏好以进行个性化推荐。 针对这个问题,我们提出了一种基于用户多模态偏好的推荐(UMPR)方法。 UMPR 分别通过评论网络和视觉网络捕获用户和项目之间的文本和视觉匹配。 结合多模态匹配特征来预测整体评分。 此外,我们设计了控制网络来指导学习用户的视觉偏好嵌入。 我们还提出了预训练策略以更好地初始化 UMPR。 Yelp 和亚马逊数据集上的实验结果证实了 UMPR 的有效性。

名品导购网