INNER CODE UNIT · Python
tokens
IBM/transition-amr-parser · src/ibm_neural_aligner/main.py:512
tokens = torch.tensor([vocab[tok] for tok in node_labels + edge_labels], dtype=torch.long)
edge_index = torch.tensor(edge_index, dtype=torch.long)
data = Data(edge_index=edge_index.t().contiguous(), y=tokens, num_nodes=len(tokens))
return data
def get_geometric_data_standard(self, amr):
vocab = self.amr_tokenizer.vocab
node_ids = get_node_ids(amr)
node_TO_idx = {k: i for i, k in enumerate(node_ids)}
edge_index = []
for xin, label, xout in amr.edges:
a = node_TO_idx[xin]
b = node_TO_idx[xout]
edge_index.append([a, b])
edge_index.append([b, a])