Closed ngl567 closed 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行,去掉后两行,最后再在文件最开始加一行,代表三元组的数量,可以运行。
这个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里面存储的是什么内容?
我在运行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时可能会有问题,请您查看下,或者是我自己对程序理解有问题,希望得到您的解答,谢谢。