INNER CODE UNIT · Python

get_geometric_data_add_edges

IBM/transition-amr-parser · src/ibm_neural_aligner/main.py:493

    def get_geometric_data_add_edges(self, amr):
        vocab = self.amr_tokenizer.vocab
        node_ids = get_node_ids(amr)
        d_node_idx = {k: i for i, k in enumerate(node_ids)}

        edge_index = []
        for label_idx, (src, label, tgt) in enumerate(amr.edges):
            label_idx = len(node_ids) + label_idx
            src_idx = d_node_idx[src]
            tgt_idx = d_node_idx[tgt]

            edge_index.append([src_idx, label_idx])
            edge_index.append([label_idx, tgt_idx])

            edge_index.append([tgt_idx, label_idx])
            edge_index.append([label_idx, src_idx])

        node_labels = [amr.nodes[k] for k in node_ids]

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…