THUDM / ComiRec

Source code and dataset for KDD 2020 paper "Controllable Multi-Interest Framework for Recommendation"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

达不到paper的效果

ucasiggcas opened this issue · comments

hi,dear
用我的实际数据训练,测试集和验证集相同,均采用的是user的最后一个点击,除此之外的为训练集。
然而实际效果如下,整个训练过程这些参数都没有改变。

doic_ComiRec-SA_b128_lr0.001_d64_len20_doic
iter: 51000, train loss: 1.8256, valid recall: 0.000007, valid ndcg: 0.000007, valid hitrate: 0.000007
time interval: 168.0316 min
doic_ComiRec-SA_b128_lr0.001_d64_len20_doic
iter: 52000, train loss: 1.8214, valid recall: 0.000007, valid ndcg: 0.000007, valid hitrate: 0.000007
model restored from best_model/doic_ComiRec-SA_b128_lr0.001_d64_len20_doic/
valid recall: 0.000007, valid ndcg: 0.000007, valid hitrate: 0.000007, valid diversity: 0.000000
test recall: 0.000007, test ndcg: 0.000007, test hitrate: 0.000007, test diversity: 0.000000

如果说是item类别太少,也就是说分类的粒度比较粗,那么细分后效果会不会好点?

是不是这种数据分割方法这里不恰当,因为,我看了,模型保存似乎是根据验证集的指标来的,但验证集的指标一直没变化,所以这个模型只有在最初保存了一个。
或者将模型保存改为按照训练的loss来保存是不是好点?或者都保存,或者直接保存最后一次训练的模型。

dear 大佬,
最后output的怎么只有item的embedding啊?每个user的兴趣embedding从哪里得到啊?多谢大佬

大佬这个hidden_size*4是经验吗?https://github.com/THUDM/ComiRec/blob/master/src/model.py#L229
item_hidden = tf.layers.dense(item_list_add_pos, hidden_size * 4, activation=tf.nn.tanh)

Hi @ucasiggcas, 抱歉没能及时回复。

  1. 数据划分方式跟我原本的不太一致。你使用的数据是不是有点小?
  2. user的兴趣embedding可以通过output_user来得到
  3. hidden_size*4是凭直觉设置的,可以根据实际效果来调整