《User Modeling with Neural Network for Review Rating Prediction》评论打分预测
摘要:
传统的评分预测只考虑到了文本信息,没有考虑到用户的信息,因为同一个词 在不同的用户表达中是不一样的。同样good 一词,
有人觉得5分是good 有人觉得4分是good。但是传统的文本向量表达无法区分。所以每个人都应该有一个属于自己的词向量。
传统的是word embedding的方式,这样处理,忽略了文档的生成者的特性。
因此本文讨论的是如何利用用户信息,来“修正”单词的特征表示。
作者提出了一套自己的表达词向量的方式,并不是用的word embedding.。
作者提出了将用户表示为一个转换矩阵,利用矩阵(用户)与向量(单词)的乘来得到新的单词向量。
然后 用修正的单词向量输入模型,进行预测。模型架构如下:
其中p是修正后的单词表示,u是用户,w是word.

UWCVM模型
User-Word Composition Vector Model(UWCVM)模型利用用户信息修正单词的特征表示。
Mitchell&Lapata[2]提出的两种基于向量的语义和用户组合的方法,如下图所示:

一种是加法模型:一种是乘法模型,乘法模型适合本文的假设,就是e可以修正u。
最初的想法是每个用户算一个word embeding,但是这样计算量比较大,另外每个
用户的词也比较少,训练不充分。

所以采用的是
每个用户的转换矩阵Uk的维度为dxd,其中d=50或100。把Uk分解为两个低秩矩阵,即矩阵分解:
Uk=U_k1*U_k2+diag(u')
在乘积模型(b)的线性转换的基础上,增加一层非线性变换的连接层,采用tanh作为激活函数。


DCVM模型
Document Composition Vector Model(DCVM)模型用于综合所有的单词向量,生成文档(即每条评论review)的向量表示。
本文采用了Hermann&Blunsom[3]提出的方法,即用biTanh迭代地生成文档的向量表示。
包括以下两个步骤:
以修正后的单词向量作为输入,应用biTanh函数得到句子的向量表示。以句子的向量表示作为输入,应用biTanh函数得到文档的向量表法。
文章指出,这样迭代地使用biTanh函数可看作是两对词袋的卷积神经网络。
其实就是卷积神经网络。
评分预测
将学习得到的文档模型应用到有监督的metriclabeling[4]框架中。主要包括以下两个步骤:
(1)仅基于用户-评论对的向量表示,学习一个初始预测器。以下的损失函数是我们要优化的目标:
(2)将初始的分类器应用到metriclabeling框架中,其主要思路是“similaritems,similarlabels”。Metriclabeling的训练目标是最小化如下的损失函数:
关于公式的参数含义和详细定义,请查阅原文。
实验结果
文章给出了在两个真实数据集上的实验结果,如下图所示:
作者在presentation中提到该模型的一个扩展版本,发表在ACL2015[5]。主要区别是后来的版本添加了物品的文本描述信息。两个模型的具体对比如下:
IJCAI2015:
ACL2015:
《User Modeling with Neural Network for Review Rating Prediction》评论打分预测的更多相关文章
- <<Joint Deep Modeling of Users and Items Using Reviews for Recommendation>> 评论打分预测
综述: 本文将 CNN 与 FM(Factorization Machine) 结合,基于评论文本来进行评分预测. 简介: 目前将神经网络应用推荐系统的研究工作中,有一类思路是把如CNN等神经网络作为 ...
- Joint Deep Learning for Pedestrian Detection笔记
1.结构图 Introduction Feature extraction, deformation handling, occlusion handling, and classification ...
- PCoA|NMDS|STRESS|RDA |RA|Unimodal|CCA|Generalized Joint Attribute Modeling
PCoA:主坐标轴分析 数值型变量使用各种距离公式,而分类变量看是否相同,比如, Aabbcc || Aaffff 其中,两个相同,4个不同,一组6个,则(6+6-2*2)=8. PC0A与PCA区别 ...
- Use of Deep Learning in Modern Recommendation System: A Summary of Recent Works(笔记)
注意:论文中,很多的地方出现baseline,可以理解为参照物的意思,但是在论文中,我们还是直接将它称之为基线,也 就是对照物,参照物. 这片论文中,作者没有去做实际的实验,但是却做了一件很有意义的事 ...
- Paper Reading:Deep Neural Networks for YouTube Recommendations
论文:Deep Neural Networks for YouTube Recommendations 发表时间:2016 发表作者:(Google)Paul Covington, Jay Adams ...
- 推荐系统系列(六):Wide&Deep理论与实践
背景 在CTR预估任务中,线性模型仍占有半壁江山.利用手工构造的交叉组合特征来使线性模型具有"记忆性",使模型记住共现频率较高的特征组合,往往也能达到一个不错的baseline,且 ...
- 论文笔记之:Dueling Network Architectures for Deep Reinforcement Learning
Dueling Network Architectures for Deep Reinforcement Learning ICML 2016 Best Paper 摘要:本文的贡献点主要是在 DQN ...
- 【DeepLearning学习笔记】Coursera课程《Neural Networks and Deep Learning》——Week1 Introduction to deep learning课堂笔记
Coursera课程<Neural Networks and Deep Learning> deeplearning.ai Week1 Introduction to deep learn ...
- 实时实例分割的Deep Snake:CVPR2020论文点评
实时实例分割的Deep Snake:CVPR2020论文点评 Deep Snake for Real-Time Instance Segmentation 论文链接:https://arxiv.org ...
随机推荐
- [BeiJing2011]元素[贪心+线性基]
2460: [BeiJing2011]元素 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 1245 Solved: 652[Submit][Stat ...
- 深入浅出WPF之Binding的使用(一)
在WPF中Binding可以比作数据的桥梁,桥梁的两端分别是Binding的源(Source)和目标(Target).一般情况下,Binding源是逻辑层对象,Binding目标是UI层的控件对象:这 ...
- 23种设计模式之组合模式(Composite)
组合模式又称为整体-部分(Part-whole)模式,属于对象的结构模式.在组合模式中,通过组合多个对象形成树形结构以表示整体-部分的结构层次.组合模式对单个对象(即叶子对象)和组合对象(即容器对象) ...
- layer.load()加载层如何加入文字描述
https://fly.layui.com/jie/3586/ https://www.layui.com/doc/modules/layer.html#layer.load //loading层va ...
- iOS - 处理计算精度要求很高的数据,floatValue,doubleValue等计算不精确问题
.问题描述:服务器返回的double类型9...94的数字时 .之前处理方式是 :(从内存.cpu计算来说double都是比较合适的,一般情况下都用double) goodsPrice.floatVa ...
- vue--todolist的实现
简单示例: <template> <div id="Home"> <v-header></v-header> <hr> ...
- 【转载】51单片机data,bdata,idata,xdata使用注意事项
"51单片机编程在不同内存空间data xdata bdata定义变量的注意事项": 关键词:51 单片机 编程 不同 内存空间 data xdatabdata 定义 变量 注意事 ...
- PHP静态化(非伪静态化)
什么是PHP静态化 PHP静态化的简单理解就是使网站生成页面以静态HTML的形式展现在访客面前,PHP静态化分纯静态化和伪静态化,两者的区别在于PHP生成静态页面的处理机制不同. 为什么要让网页静态化 ...
- TOP100summit 2017 七牛云许式伟:不用JAVA和C语言,我为什么坚持Go语言
本文编辑:Cynthia 2009年,谷歌发布第二款开源编程语言,Go语言.8年过去了,很多初创公司早期使用Go进行开发,包括云计算巨头Docker.而Go语言在中国的普及程度还比不上JAVA和C语言 ...
- OpenCV学习笔记之课后习题练习3-3
3.3 创建一个100*100的拥有三个通道的二维字节类型矩阵,将其元素全部置0.通过cvPtr2D函数将指针指向中间通道(绿色),以(20,5)和(40,20)为顶点间画一个绿色的长方形. cvPt ...