-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Two questions about sparse relational graph construction and IG aggregation #6
Comments
Hi,感谢您的关注!
其实是公式(13)的实现,即将每一阶的embedding相加作为final embedding。 |
wow,感谢您如此迅速的回复:
另外,我有额外两个问题想请教您:
另外我还注意到之前的issue中提及torch_scatter的计算瓶颈。是否意味着有另外的组织实现方式,在相同的理论支撑下可以达到更好的训练性能。 2.论文中引入的意图概念,对我有很大的启发帮助。模型训练完毕后,每个意图与若干个关系绑定,每个item与若干个意图绑定,而每个user的一个interact都可以归因到一个意图上面。这里想请教您的是,未出现在图中的用户(有该用户的交互信息),对于处理这类人群,是否可以避免重新训练,有什么建议吗?非常感谢~ 期待您的回复~ |
很高兴一起讨论:
|
非常感谢您的解答,我会继续进行一些实验工作。后续如有问题会新建issue希望能够再进行讨论。 |
我想询问一下,关于公式7中的1/Nu在代码 |
一、
我注意到在代码:
adj = sp.coo_matrix((vals, (np_mat[:, 0], np_mat[:, 1])), shape=(n_nodes, n_nodes))
中,np_mat[:, 0]
和np_mat[:, 1]
是否也应当如处理cf图那样,需要加上n_users。users并未被remap到entities中去,稀疏矩阵的前n_users行与n_users列应当为users预留。对比之前KGAT中数据预处理的实现:
K, K_inv = _np_mat2sp_adj(np.array(self.relation_dict[r_id]), row_pre=self.n_users, col_pre=self.n_users)
不知道是否有理解错。
二、
![image](https://user-images.githubusercontent.com/37064550/114370890-8c952280-9bb2-11eb-9c7c-5a44280c54af.png)
我注意到在代码
user_agg = user_agg * (disen_weight * score).sum(dim=1) + user_agg # [n_users, channel]
中,user_embedding的计算公式是否与论文中的Eq[7]有所出入。
论文中描述的是user所对应的item与intent加权求和,而在代码中的实现,是否可以理解为先求和再加权。
以及最后
+ user_agg
是什么用意。我理解的聚合应当在代码
entity_res_emb = torch.add(entity_res_emb, entity_emb) user_res_emb = torch.add(user_res_emb, user_emb)
中实现了。希望得到您的解答与纠正。谢谢!
The text was updated successfully, but these errors were encountered: