|
1 | | -# graphner |
| 1 | +# GraphNER |
| 2 | + |
| 3 | +This repository contains the preliminary code for reproducing the results reported in the paper "[GraphNER: Named Entity Recognition as Graph Classification](https://openreview.net/forum?id=vfpW-kRvLgu)" (currently under review). |
| 4 | + |
| 5 | +## Overview |
| 6 | +The code is organized as notebooks, to be used as follows: |
| 7 | +* `final_generate_gazetteers.ipynb`: to generate the gazeteers from Wikidata (by specifying a list of QIDs correspoding to the classes) |
| 8 | +* `graph_embeddings_generation.ipynb`: to generate node embeddings using [GEM library](https://github.com/palash1992/GEM) algorithms (e.g. node2ve, SDNE..) |
| 9 | +* `nodes_classifier.ipynb`: to train a model for the node embeddings |
| 10 | +* `v2.0/autoencoder_embeddings.ipynb`: to generate auto-encoder embeddings from the binary graph representations. |
| 11 | +* `v2.0/autoencoder_nn_classification.ipynb`: to train a model for the auto-encoder embeddings |
| 12 | +* `v2.0/GCN-node-simple-features.ipynb`: to train a GCN on the CoNLL-2003 task |
| 13 | + |
| 14 | +The code will be streamlined into stand-alone configurable scripts and fully documented soon. |
| 15 | + |
| 16 | +## Required modules |
| 17 | +* Python 3.8 |
| 18 | +* PyTorch 1.7 |
| 19 | +* [GEM](https://github.com/palash1992/GEM) |
| 20 | +* [PyTorch Geometric](https://pytorch-geometric.readthedocs.io/en/latest/) |
| 21 | +* [SPARQLWrapper](https://github.com/RDFLib/sparqlwrapper) |
| 22 | +* tqdm |
| 23 | +* Numpy |
| 24 | +* Pandas |
| 25 | + |
| 26 | +:warning: This code runs on a CUDA11.0-enabled GPU, please install the compatible version of the modules for your hardware. |
| 27 | + |
| 28 | +## Results |
| 29 | +Method | Accuracy | Micro-F1 | Macro-F1 |
| 30 | +-----------------|----------|----------|--------- |
| 31 | +Binary | 91.0 | 90.7 | 77.9 |
| 32 | +Binary+ | 94.4 | 94.2 | 81.9 |
| 33 | +Binary++ | 94.3 | 93.8 | 82.3 |
| 34 | +Auto-encoder-100 | 87.2 | 86.7 | 57.6 |
| 35 | +Auto-encoder-500 | 90.4 | 89.9 | 68.3 |
| 36 | +Auto-encoder-2000| 91.8 | 91.5 | 71.7 |
| 37 | +Node2Vec-300 | 93.8 | 94.1 | 82.0 |
| 38 | +Node2Vec-500 | 93.8 | 94.1 | 82.5 |
| 39 | +Node2Vec-1000 | 93.8 | 94.1 | 82.1 |
| 40 | +GCN | 96.1 | 96.1 | 86.3 |
| 41 | +**GCN+** | **96.5** | **96.5** | **88.8** |
| 42 | + |
0 commit comments