知识表示Trans系列之TransE、TransH、TransR以及PTransE算法的JAVA实现
jdk-1.8.0
TransH/TransR/TransE/PTransE文件夹
GlobalValue.java:训练参数内容
Gradient.java:梯度下降,以及知识表示的向量更新的过程
Pair.java:自定义的数据结构,实现类似C++中Pair数据结构
TrainPrepare.java/TestPrepare.java:读取训练文件/测试文件
Train.java:训练过程,依次为参数初始化、梯度下降迭代、写实体、关系的表示向量
Test.java:实体链接、关系链接的测试过程,依次为读取向量文件、测试实体链接性能、测试关系链接性能
Main.java:选择训练还是测试,输入“y”则训练,输入“n”为测试
resource文件夹
entity2id.txt中,输入格式为:
{实体名称} \t {id}
relation2id.txt中,输入格式为:
{关系名称} \t {id}
train.txt\test.txt 格式为:
{head} \t {tail} \t {relaiton}