def init(): # generate reference edges rootNode = None ename2treeNode = {} for i, node in enumerate(userInput): if i == 0: ## ROOT rootNode = TreeNode(parent=None, level=-1, eid=-1, ename="ROOT", isUserProvided=True, confidence_score=0.0, max_children=level2max_children[-1]) ename2treeNode["ROOT"] = rootNode for children in node[2]: newNode = TreeNode(parent=rootNode, level=0, eid=ename2eid[children], ename=children, isUserProvided=True, confidence_score=0.0, max_children=level2max_children[0]) ename2treeNode[children] = newNode rootNode.addChildren([newNode]) else: ename = node[0] eid = ename2eid[ ename] # assume user supervision is an entity mention in entity2id.txt level = node[1] childrens = node[2] if ename in ename2treeNode: # existing node parent_treeNode = ename2treeNode[ename] for children in childrens: newNode = TreeNode( parent=parent_treeNode, level=parent_treeNode.level + 1, eid=ename2eid[children], ename=children, isUserProvided=True, confidence_score=0.0, max_children=level2max_children[parent_treeNode.level + 1]) ename2treeNode[children] = newNode parent_treeNode.addChildren([newNode]) level2reference_edges[parent_treeNode.level].append( (parent_treeNode.eid, newNode.eid)) else: # not existing node print("[ERROR] disconnected tree node: %s" % node) return rootNode
eid=-1, ename="ROOT", isUserProvided=True, confidence_score=0.0, max_children=level2max_children[-1]) ename2treeNode["ROOT"] = rootNode for children in node[2]: newNode = TreeNode(parent=rootNode, level=0, eid=ename2eid[children], ename=children, isUserProvided=True, confidence_score=0.0, max_children=level2max_children[0]) ename2treeNode[children] = newNode rootNode.addChildren([newNode]) else: ename = node[0] eid = ename2eid[ ename] # assume user supervision is an entity mention in entity2id.txt level = node[1] childrens = node[2] if ename in ename2treeNode: # existing node parent_treeNode = ename2treeNode[ename] for children in childrens: newNode = TreeNode( parent=parent_treeNode, level=parent_treeNode.level + 1, eid=ename2eid[children], ename=children, isUserProvided=True,