Recommendation vs Sentiment Analysis- A Text-Driven Latent Factor Model for Rating Prediction with Cold-Start Awareness

这篇论文核心思想是利用评论去解决冷启动问题同时增加预测的准确性,发表在IJCAI上,给我感觉稍微有点水的意味,文章中具体训练步骤说的不是很清楚,可能是我之前没有接触过,先挖个坑,以后填

TLFM

文中的主要思想是利用矩阵分解探究潜在影响因素,文中作者提出加入评论的个人因素作为补充: \[ \hat{y}_{ui}=g(base+(\sum_{w\in W(r_{ui})}\alpha_wv_w^T)(p_u+q_i)) \] 其中 \[ base=\mu+b_u+b_i+sum_{w\in W(r_{ui})}\alpha_wb_w \] 为基模型,考虑了评论用词的整体bias影响,\(p_u\)\(q_i\) 分别代表词对于个人和物品的bias影响,文中将其表述为\(v_w^Tp_u\) can capture user u's preference on word w,同理对于\(q_i\) ,但是文中也没有写清楚具体这个embedding向量是怎么求的,所以先留个坑,回头看一下引用的参考文献再具体解释。

上式中的\(g(\cdot)\) 为作者所设计的隐射函数 \[ g(x)=1+\frac{C-1}{1+e^{-x}} \] 这样就可以将输入\(x\) 映射到评分的\([1,C]\) 的区间内了。

Pairwise Rating Comparison Strategy

可能大家看到刚才那会跟我一样觉得这篇文章挺水的,但我感觉本文的亮点在这里,作者为了解决冷启动问题,提出了一种成对打分比较的策略,对于用户\(u\)\(v\) 和物品\(i\) ,定义真实差异为\(y_{ui}-y_{vi}\) ,期望差异为\(\hat{y}_{ui}-y_{vi}\) ,这样就可以使期望差异尽可能的小,从而达到优化整体损失的目的,所以定义目标函数为: \[ \begin{aligned} \mathcal{O}&=\frac{1}{\mathcal{N}_{\mathcal{I}}}\sum_{y_{ui}}\sum_{y_{vi}}((y_{ui}-y_{vi})-(\hat{y}_{ui}-y_{vi}))^2+\frac{\mathcal{L}}{\mathcal{N}_{\mathcal{I}}}\\ &=\frac{1}{\mathcal{N}_{\mathcal{I}}}\sum_{y_{ui}}\sum_{y_{vi}}(y_{ui}-\hat{y}_{ui})^2+\frac{1}{\mathcal{N}_{\mathcal{I}}}\sum_{y_{ui}}(y_{ui}-\hat{y}_{ui})^2\\ &=\sum_{y_{ui}}\frac{|\mathcal{T}_i|}{\mathcal{N}_{\mathcal{I}}}(y_{ui}-\hat{y}_{ui})^2 \end{aligned} \] 上式可以看作是对原目标的一个加权,同样的,对于用户我们有 \[ \mathcal{O}=\sum_{y_{ui}}\frac{|\mathcal{T}_u|}{\mathcal{N}_{\mathcal{U}}}(y_{ui}-\hat{y}_{ui})^2 \] 我们可以得到最终的目标函数为 \[ \begin{aligned} \mathcal{G}=&\sum_{y_{ui}\in \mathcal{T}}(\sigma(\frac{|\mathcal{T}_u|}{\mathcal{N}_{\mathcal{U}}})+\sigma(\frac{|\mathcal{T}_i|}{\mathcal{N}_{\mathcal{I}}}) )(y_{ui}-\hat{y}_{ui})^2+\\ &\lambda(b_u^2+b_i^2+\sum_{w\in W(r_{ui})}(b_w^2+\|v_w\|^2)+\|p_u\|^2+\|q_i\|^2) \end{aligned} \] 后面作者则给出了具体的SGD迭代方式。

Summary

思路什么的都还好,作者提出Pairwise Rating Comparison这种方式,相当于对传统目标函数加权,然后训练得到较好的结果。