chenchongthu / DeepCoNN

This is our implementation of DeepCoNN
151 stars 65 forks source link

user与item是否应该使用同样的词向量矩阵 #5

Open WinChua opened 6 years ago

WinChua commented 6 years ago

https://github.com/chenchongthu/DeepCoNN/blob/67ddbb7bf9de8419e40d4068f789f75873864c2e/model/DeepCoNN.py#L30-L33 https://github.com/chenchongthu/DeepCoNN/blob/67ddbb7bf9de8419e40d4068f789f75873864c2e/model/DeepCoNN.py#L37-L40

你好, 你的实现中针对user,item使用了不同的lookup 矩阵,也就是说,同一个单词在user中对应的词向量,跟item中对应的词向量是不一样的; 这似乎有点说不通。

chenchongthu commented 6 years ago

你好,我们这样做是为了提高模型的泛化能力。虽然是同一个单词,但是user这边的词向量描述这个单词代表的user preference, item部分的词向量描述单词代表的item profile,在词向量的表示上会有一点差别。事实上,对于user和item的评论,我们使用Google News中训练好的词向量进行初始化,此时两边的词向量是相同的,之后会随着模型各自进行训练并进行各自的微调,来更好的适应任务。

另外,我们也尝试使用相同的lookup矩阵,当词向量的向量空间(维度)足够大时,对结果的影响比较小,但是当维度比较小时,结果会变差。所以为了提高模型的泛化能力,我们最终采用了不同的词向量。