Awesome Open Source
Awesome Open Source

Recurrent neural networks for Chinese named entity recognition in TensorFlow

This repository contains a simple demo for chainese named entity recognition.




The model is a birectional LSTM neural network with a CRF layer. Sequence of chinese characters are projected into sequence of dense vectors, and concated with extra features as the inputs of recurrent layer, here we employ one hot vectors representing word boundary features for illustration. The recurrent layer is a bidirectional LSTM layer, outputs of forward and backword vectors are concated and projected to score of each tag. A CRF layer is used to overcome label-bias problem.

Our model is similar to the state-of-the-art Chinese named entity recognition model proposed in Character-Based LSTM-CRF with Radical-Level Features for Chinese Named Entity Recognition.

Basic Usage

Default parameters:

  • batch size: 20
  • gradient clip: 5
  • embedding size: 100
  • optimizer: Adam
  • dropout rate: 0.5
  • learning rate: 0.001

Word vectors are trained with gensim version of word2vec on Chinese WiKi corpus, provided by Chuanhai Dong.

Train the model with default parameters:

$ python3 --train=True --clean=True

Online evaluate:

$ python3

Suggested readings:

  1. Natural Language Processing (Almost) from Scratch.
    Propose a unified neural network architecture for sequence labeling tasks.
  2. Neural Architectures for Named Entity Recognition.
    End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF.
    Combine Character-based word representations and word representations to enhance sequence labeling systems.
  3. Transfer Learning for Sequence Tagging with Hierarchical Recurrent Networks.
    Multi-task Multi-domain Representation Learning for Sequence Tagging.
    Transfer learning for sequence tagging.
  4. Named Entity Recognition for Chinese Social Media with Jointly Trained Embeddings.
    Propose a joint training objective for the embeddings that makes use of both (NER) labeled and unlabeled raw text
  5. Improving Named Entity Recognition for Chinese Social Media with Word Segmentation Representation Learning.
    An Empirical Study of Automatic Chinese Word Segentation for Spoken Language Understanding and Named Entity Recognition.
    Using word segmentation outputs as additional features for sequence labeling syatems.
  6. Semi-supervised Sequence Tagging with Bidirectional Language Models.
    State-of-the-art model on Conll03 NER task, adding pre-trained context embeddings from bidirectional language models for sequence labeling task.
  7. Character-Based LSTM-CRF with Radical-Level Features for Chinese Named Entity Recognition.
    State-of-the-art model on SIGHAN2006 NER task.
  8. Named Entity Recognition with Bidirectional LSTM-CNNs.
    Method to apply lexicon features.
Alternatives To Chinesener
Select To Compare

Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (840,926
Recognition (10,792
Chinese (6,470
Lstm (5,570
Crf (1,075