INNER CODE UNIT · Python
get_dgl_graph
IBM/transition-amr-parser · src/ibm_neural_aligner/main.py:447
def get_dgl_graph(self, amr):
vocab = self.amr_tokenizer.vocab
# init graph
g = dgl.DGLGraph()
# get tree
tree = convert_amr_to_tree(amr)
# add node structure
node_ids = get_node_ids(amr)
node_TO_idx = {k: i for i, k in enumerate(node_ids)}
N = len(node_ids)
g.add_nodes(N)
# add node features
node_labels = [amr.nodes[k] for k in node_ids]
node_tokens = torch.tensor([vocab[tok] for tok in node_labels], dtype=torch.long)