thunlp / Fast-TransX

An Efficient implementation of TransE and its extended models for Knowledge Representation Learning
MIT License
402 stars 108 forks source link

PCRA.py的问题请教 #46

Closed ngl567 closed 5 years ago

ngl567 commented 5 years ago

我在运行ptranse过程中发现train_pra.txt 文件中格式有点不太明白,而且实际只读取了一行数据进行训练,通过查看PCRA.py程序发现Fast版本中和林博士那个版本有点不同,如下所示:

Fast版本为:第189行代码g.write(str(ent2id[e1])+" "+ent2id([e2])+' '+str(rel)+"\n") 而林博士的版本为:第180行代码g.write(str(e1)+" "+str(e2)+' '+str(rel)+"\n")

因此导致Fast版本中train_pra.txt数据存储格式不同,而Fast版本ptranse.cpp在读取train_pra.txt时可能会有问题,请您查看下,或者是我自己对程序理解有问题,希望得到您的解答,谢谢。

davidlvxin commented 5 years ago

这个PCRA的代码生成的train_pra.txt和ptranse.cpp里面需要的的有些不同,把第189行代码改成g.write(str(ent2id[e1])+" "+str(ent2id[e2])+' '+str(rel)+"\n"),然后train_pra.txt每4行,去掉后两行,最后再在文件最开始加一行,代表三元组的数量,可以运行。

SidewinderAK47 commented 4 years ago

这个PCRA的代码生成的train_pra.txt和ptranse.cpp里面需要的的有些不同,把第189行代码改成g.write(str(ent2id[e1])+" "+str(ent2id[e2])+' '+str(rel)+"\n"),然后train_pra.txt每4行,去掉后两行,最后再在文件最开始加一行,代表三元组的数量,可以运行。

哥,请教一下,文件中e1_e2.txt里面存储的是什么内容?