Keras implementation of the Bidirectional LSTM and CNN model similar to Chiu and Nichols (2016) for CoNLL 2003 news data. Paper: https://arxiv.org/abs/1811.05468
The implementation differs from the original paper in these ways:
- no lexicons
- Nadam optimizer used instead of SGD
- Parameters: LSTM cell size of 200 (vs 275), dropout of 0.5 (vs 0.68)
Here is the corresponding Medium post with more details: https://medium.com/@maxhofer/deep-learning-for-named-entity-recognition-2-implementing-the-state-of-the-art-bidirectional-lstm-4603491087f1
Code adapted from: https://github.com/kamalkraj/Named-Entity-Recognition-with-Bidirectional-LSTM-CNNs
The implementation achieves a test F1 score of ~86 with 30 epochs. Increase the number of epochs to 80 reach an F1 over 90. The score produced in Chiu and Nichols (2016) is 91.62.
CoNLL-2003 newswire articles: https://www.clips.uantwerpen.be/conll2003/ner/
GloVe vector representation from Jeffrey Pennington, Richard Socher, and Christopher D. Manning. 2014. See https://nlp.stanford.edu/projects/glove/
1) numpy 1.15.4
2) Keras 2.1.6
3) Tensorflow 1.8.0
4) Stanford GloVE embeddings