【论文笔记】Joint Deep Modeling of Users and Items Using Reviews for Recommendation


1 概述

论文原文链接(arxiv)

  • 作者提出了一个 Deep Cooperative Neural Networks(DeepCoNN)的模型,该模型由耦合在最后一层的两个并行神经网络组成,其中一个神经网络使用用户撰写的评论对用户的行为进行建模,另一个神经网络使用物品得到的评论信息对物品的特性进行建模,最后一层将两个并行神经网络分别得到的 x u x_u xu y i y_i yi拼接成一个向量 z z z最后利用Factorization Machine (FM)来捕捉用户行为和物品属性的特征以及他们之间的成对交互联系

在这里插入图片描述


2 创新点

  • DeepCoNN 是第一个使用神经网络从评论中联合建模用户和项目的网络。
  • DeepCoNN 使用预训练的词嵌入技术从评论中提取语义信息来表示评论文本,而非其他论文通常会使用的bag-of-words技术,词嵌入技术保留并考虑了文本中词语的顺序信息
  • DeepCoNN 可以根据训练数据的大小进行扩展,并且由于它基于 NN,因此可以轻松地使用新数据进行训练和更新

3 实验结果

  • 在多个数据集上平均8.3%的准确率提升

在这里插入图片描述

  • 实验结果表明,对于评论或评分很少的用户和项目,DeepCoNN 比 MF 获得更多的 MSE 减少。 特别是当只有一个评论可用时,DeepCoNN 获得了最大的 MSE 减少。 因此,它验证了 DeepCoNN 可以有效地缓解数据稀疏问题

4 论文复现

附上代码GitHub链接

4.1 Environments
  • python 3.8
  • pytorch 1.70
4.2 Dataset
  • 首先进行数据集的下载与预处理:评论信息有关的数据集下载链接:

    http://deepyeti.ucsd.edu/jianmo/amazon/categoryFilesSmall/Digital_Music_5.json.gz

  • 下载之后放置路径为data/Digital_Music_5.json.gz

  • 然后运行数据预处理程序对评论信息数据集进行预处理:

    python preprocess.py
    
  • 处理之后产生train.csv,valid.csv 和 test.csv三个文件。

  • 下载预先训练好的词向量文件:

    https://nlp.stanford.edu/data/glove.6B.zip

  • 下载之后放置路径为embedding/glove.6B.50d.txt

4.3 代码解析
preprocess.py: 对数据集进行预处理的代码,需要提前单独运行
    config.py: 对各种网络参数的调整以及读取文件的路径都在此文件中进行
     model.py: 定义了DeepCoNN的网络结构
     utils.py: 过程中需要用到的一些工具函数
      main.py: 包含训练和测试过程的主函数

着重来看一下model.py中的内容,model的定义分为三个部分:

  • class CNN(nn.Module)

在这里插入图片描述

# 定义了分别处理用户评论和物品评论的单个CNN的结构
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值