kevin-xuan / Graph-Flashback

[SIGKDD'2022] Graph-Flashback Network for Next Location Recommendation
https://dl.acm.org/doi/abs/10.1145/3534678.3539383
34 stars 7 forks source link

《Graph-Flashback Network for Next Location Recommendation》 #1

Closed dskjfs closed 2 years ago

dskjfs commented 2 years ago

老师您好,我是一名计算机专业在读研究生,来自中国民航大学,我的研究方向:个性化下一个位置推荐。这几天拜读了您的这篇论文《Graph-Flashback Network for Next Location Recommendation》,对我很有启发,但是在运行您的相关代码时,有一些问题尚不清楚,希望向您讨教。下面是我的邮箱:1218589134@qq.com。打扰您了,非常期待您的指导。

kevin-xuan commented 2 years ago

OK

dskjfs commented 2 years ago

老师您那边有数据预处理的相关代码么

kevin-xuan commented 2 years ago

我是直接使用Flashback那篇paper里所提供的处理好的Gowalla和Foursquare数据集,并没有预处理的代码,这个你得去问问他们。

WenTao936 commented 2 years ago

老师您好,请问您代码中construct_graph.py文件下的pretrain_model文件以及它的训练代码能分享一下吗?十分感谢!! parser.add_argument("--pretrain_model", default="../data/foursquare_scheme1/foursquare-transr-1641218589.ckpt", type=str, help="加载模型")

kevin-xuan commented 2 years ago

训练KGE的模型在github上有很多,只需要提供triplets信息的文件就行,我是改了其中一个模型,你可以自己试试其他的。 KGE code: https://drive.google.com/file/d/1wH4GS0PmwYIGyxbu1DNTIR_VxR9lvsgS/view?usp=sharing pretrain_model: https://drive.google.com/file/d/1oUXQjtnDrUnmdhVSGY64WrXBngzD1qhz/view?usp=sharing

WenTao936 @.***> 于2022年9月2日周五 09:06写道:

老师您好,请问您代码中construct_graph.py文件下的pretrain_model文件以及它的训练代码能分享一下吗?十分感谢!! parser.add_argument("--pretrain_model", default="../data/foursquare_scheme1/foursquare-transr-1641218589.ckpt", type=str, help="加载模型")

— Reply to this email directly, view it on GitHub https://github.com/kevin-xuan/Graph-Flashback/issues/1#issuecomment-1234954800, or unsubscribe https://github.com/notifications/unsubscribe-auth/AU7BMGI4SPMGLO4KANOTJATV4FHKXANCNFSM5743EEZA . You are receiving this because you commented.Message ID: @.***>

WenTao936 commented 2 years ago

训练KGE的模型在github上有很多,只需要提供triplets信息的文件就行,我是改了其中一个模型,你可以自己试试其他的。 KGE code: https://drive.google.com/file/d/1wH4GS0PmwYIGyxbu1DNTIR_VxR9lvsgS/view?usp=sharing pretrain_model: https://drive.google.com/file/d/1oUXQjtnDrUnmdhVSGY64WrXBngzD1qhz/view?usp=sharing WenTao936 @.> 于2022年9月2日周五 09:06写道: 老师您好,请问您代码中construct_graph.py文件下的pretrain_model文件以及它的训练代码能分享一下吗?十分感谢!! parser.add_argument("--pretrain_model", default="../data/foursquare_scheme1/foursquare-transr-1641218589.ckpt", type=str, help="加载模型") — Reply to this email directly, view it on GitHub <#1 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AU7BMGI4SPMGLO4KANOTJATV4FHKXANCNFSM5743EEZA . You are receiving this because you commented.Message ID: @.>

好的,十分感谢

bb67ao commented 1 year ago

我是直接使用Flashback那篇paper里所提供的处理好的Gowalla和Foursquare数据集,并没有预处理的代码,这个你得去问问他们。

但是Flashback!文章里写的数据量和您文章里写的数据量差了很多倍,尤其在gowalla上

zyzhang11 commented 1 year ago

训练KGE的模型在github上有很多,只需要提供triplets信息的文件就行,我是改了其中一个模型,你可以自己试试其他的。 KGE code: https://drive.google.com/file/d/1wH4GS0PmwYIGyxbu1DNTIR_VxR9lvsgS/view?usp=sharing pretrain_model: https://drive.google.com/file/d/1oUXQjtnDrUnmdhVSGY64WrXBngzD1qhz/view?usp=sharing WenTao936 @.> 于2022年9月2日周五 09:06写道: 老师您好,请问您代码中construct_graph.py文件下的pretrain_model文件以及它的训练代码能分享一下吗?十分感谢!! parser.add_argument("--pretrain_model", default="../data/foursquare_scheme1/foursquare-transr-1641218589.ckpt", type=str, help="加载模型") — Reply to this email directly, view it on GitHub <#1 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AU7BMGI4SPMGLO4KANOTJATV4FHKXANCNFSM5743EEZA . You are receiving this because you commented.Message ID: @.>

KGE 代码中submit的tranr和transh文件为什么还需要进行预训练呢

kevin-xuan commented 1 year ago

@bb67ao 我是直接用的Flashback github所提供的数据集,对原本的dataloader改动不大,对于数据量相差很多倍我也不是很清楚Flashback里为什么那样写,你也可以试着用Flashback提供的数据集在他们原本的仓库下看看user和POI数目是不是和论文中的一样。 @zyzhang11 因为这两篇原论文就是先用transe训练得到一个比较好的权重初始化embedding,然后再接着训练transh和tansr的。

zyzhang11 commented 1 year ago

感谢您的解答,我今天在使用transe对我们自己的数据集进行预训练的时候,模型训练总是突然终止,且不报任何错误。已经排除了显卡的问题,请问您有遇到过相关的问题吗

kevin-xuan commented 1 year ago

我没有遇到过这种问题,请问你是用的google driver里的还是github的KGE呢?我有点忘了这两个是不是一致的写法了(大概率是,不过你可以试着跑另外一个看看会不会有同样错误,有没有结果都麻烦告诉我一声)。如果这两个版本的KGE都出现问题,那大概率是生成数据集的问题。我个人觉得是loadTriplesloadVocab这两个函数的问题,主要是要和generate_triplet里的间隔符号(' ' or '\t')保持一致。或者说是用户与POI的entity id出现问题。你仔细debug我说的这几个地方呢。

kevin-xuan commented 1 year ago

@zyzhang11 我用了另外一个小的数据集,用的github的KGE,然后没有生成test.txt (因为之前想的是通过test来选择最好的那个epoch对应的ckpt,但是test太慢了就改成只取最后一个epoch的ckpt,自然就不需要test.txt), 对应的改这行为None就行。所以你构造三元组的时候test相关的以及refine.py应该是不需要用的,不过我懒得改我的仓库了。所以KGE code是没有问题的,只能是你构造三元组的时候哪里出问题了,比如用户与POI的entity id出现问题。 截屏2023-09-12 22 20 11