ZJU-Fangyin/KCL

关于data的预处理

Closed this issue · 17 comments

您好,在数据预处理阶段,运行data/graph_utils.py 应该会得到8.58G的mdb文件,但是我使用您最新的代码获得的mdb文件只有2.41G,数据量远远小于你之前的数据,请问这是什么原因呢?

load里面的文件使用的是../code/triples.txt

您好,请问您确定您在处理时使用的是../code/triples.txt中的三元组吗?

这里我们提供了一个之前处理好的数据,希望能够帮助到您👇
链接: https://pan.baidu.com/s/12VkWOBPv1zSrmgexZYwjrQ 提取码: 2bot

谢谢您的回答,我在处理时确实是使用的这个三元组../code/triple,也是您论文中提到的,之前您代码好像是用的(all_triples?记得不是很清楚)。我关注它的原因其实是因为我想对数据增强时做一些更改,所以想要先确认在不进行任何更改前与您的处理保持一致,但是结果确让我感到困惑。

是的,我在前段时间更新了git,因为我发现最后上传时多传了all_triples.txt,可能会导致一些错误。如果按triples.txt(1643个三元组)应该会得到和我上传的mdb一样大的文件。如果你想在数据增强时做更改,可以考虑对graph_utils.py进行更改。

好的,那我再去debug一下看是哪里出了问题。谢谢!

您好,我想请问/data/load_triples.py是否是您最终的版本呢,我在debug的时候发现load_triples.py似乎在预处理../code/triples.txt的时候存在问题。在data/graph_utils.py的def smiles_2_kgdgl(smiles)函数中,也就是在58行的位置,当我使用个例查看时,symbol为‘C’时,data.entity2id[symbol]为‘32’,而对应data.h2rt[data.entity2id[symbol]]是没有32这个值的,所以返回的tid和rid是为空的,但是显然C在元素周期表有丰富的属性,而不是没有对应的relation和tail节点。这可能对应了保存的lmdb文件我得到是2.41G,而您提供的数据是8.58G这个数据缺失的问题

您好,非常抱歉,由于我在多个服务器上部署了该代码,导致上传时出现了错误。我现在已经更新了graph_utils.py文件,现在您运行时应该不会出现上次错误了。

感谢您的更正,您那里有重新处理一遍得到lmdb文件吗,我使用您最新的文件得到的结果是4.41GB,和您提供的还是不太一致(捂脸)

我暂时没有重新处理的了,因为该项目年代比较久远了(捂脸),但我认为如果边和节点都能合理的添加上应该问题不大的。此外我们将在近期公开另一个改进版本的项目,新的项目不需要进行繁琐的预处理操作且效果更加稳定,我想如果您想基于数据增强方法进行一些改进,新的项目是一个不错的选择。如果您感兴趣的话,项目公开时我会提醒您。

好的,非常感谢!期待您的新论文

您好,我已公开了轻量级的代码,您如果感兴趣的话欢迎在此基础上继续您的工作💻,代码地址: https://github.com/ZJUFanLab/KANO.

您好,是的,该论文已经在排版阶段,应该很快就可以online了。

您好,论文已经online: https://www.nature.com/articles/s42256-023-00654-0
欢迎阅读 :)