TransX
TransX copied to clipboard
TransE中三元组训练问题
if (rand() % 1000 < pr) { Pair<Integer, Integer> key = new Pair<>(fb_h.get(i), fb_r.get(i)); Set<Integer> values = head_relation2tail.get(key); // 获取头实体和关系对应的尾实体集合 while (values.contains(j)) { j = rand_max(entity_num); } res += train_kb(fb_h.get(i), fb_l.get(i), fb_r.get(i), j, fb_l.get(i), fb_r.get(i), res); } 中train_kb(fb_h.get(i), fb_l.get(i), fb_r.get(i), j, fb_l.get(i), fb_r.get(i), res)应改为train_kb(fb_h.get(i), fb_l.get(i), fb_r.get(i),fb_h.get(i), j, fb_r.get(i), res)?