/FgEC

Updated code for abhipec/fnet

Primary LanguagePythonMIT LicenseMIT

FgEC

Updated version of abhipec/fnet code, compatible with TensorFlow 1.12. Feature level transfer learning code of abhipec/fnet is not included in this repo. There is a major difference between this code base and abhipec/fnet. For exact replication of the paper results please refer to abhipec/fnet which also includes pre-processed datasets for most of the experimental results reported in the paper.

Publication

Fine-Grained Entity Type Classification by Jointly Learning Representations and Label Embeddings. Abhishek, Ashish Anand and Amit Awekar. EACL 2017.

Please use the following BibTex code for citing this work.

@InProceedings{abhishek-anand-awekar:2017:EACLlong,
  author    = {Abhishek, Abhishek  and  Anand, Ashish  and  Awekar, Amit},
  title     = {Fine-Grained Entity Type Classification by Jointly Learning Representations and Label Embeddings},
  booktitle = {Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 1, Long Papers},
  month     = {April},
  year      = {2017},
  address   = {Valencia, Spain},
  publisher = {Association for Computational Linguistics},
  pages     = {797--807},
  url       = {http://www.aclweb.org/anthology/E17-1075}
}

Instruction to use code

Install dependencies

Python version: 3.6

pip install tensorflow-gpu scipy docopt joblib

Download the glove word embeddings

Download the glove word embedding: http://nlp.stanford.edu/data/glove.840B.300d.zip and store the file at location FgEC/data/glove.840B.300d.txt

Compile the cpp files

cd FgEC/lib/ bash compile_gcc_5.bash

Training

A sample file to train on OntoNotes dataset is available at FgEC/src/scripts/ontonotes.bash

Please refer that file for further instructions to run the code.

Model level transfer learning

A sample file to train using the pre-trained model weights obtained from a different dataset is available at FgEC/src/scripts/TL_OntoNotes_on_BBN.bash

Please refer that file for further instructions to run the code.