Skip to content

Easily-configurable implementation of BiLSTM-CRF in Keras for Named Entity Recognition

Notifications You must be signed in to change notification settings

samrawal/BiLSTM-CRF-Keras

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Named Entity Recognition with BiLSTM-CRF in Keras

Overview

This repository contains an implementation of a BiLSTM-CRF network in Keras for performing Named Entity Recognition (NER). This implementation was created with the goals of allowing flexibility through configuration options that do not require significant changes to the code each time, and simple, robust logging to keep tabs on model performances without extra effort.

  • Model parameters are exposed through a JSON config file for easy configuration.
  • Supports automatic logging of train/test results, model parameters, etc. across multiple trials
  • Supports initializing embedding layer with weights from pretrained word2vec model (optional)

Inspired by Guillaume Genthial’s LSTM+CRF Tensorflow implementation, and following the completion of my Honors Undergraduate Thesis, I decided to create my own implementation of a BiLSTM-CRF model that would provide flexibility, while providing easy model logging and configuration without needing to make significant changes in the code each time.

Model

This is an implementation of the BiLSTM-CRF architecture described in Lample et al. Both character- and word-level representations are used for the input. Additionally, the word-level embedding layer can be initialized with pretrained word2vec model weights.

./docs/resources/BiLSTM-CRF.png

Requirements

  • Python 3.x
  • Keras
  • Tensorflow
  • numpy
  • tqdm

About

Easily-configurable implementation of BiLSTM-CRF in Keras for Named Entity Recognition

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published