MCPcopy
hub / github.com/zjy-ucas/ChineseNER

github.com/zjy-ucas/ChineseNER @main sqlite

repository ↗ · DeepWiki ↗
77 symbols 234 edges 7 files 41 documented · 53%
README

Recurrent neural networks for Chinese named entity recognition in TensorFlow

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

Contributer

Requirements

Model

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 main.py --train=True --clean=True

Online evaluate:

$ python3 main.py

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.

Core symbols most depended-on inside this repo

load_sentences
called by 3
loader.py
prepare_dataset
called by 3
loader.py
create_mapping
called by 3
data_utils.py
evaluate
called by 3
conlleval.py
run_step
called by 3
model.py
update_tag_scheme
called by 2
loader.py
char_mapping
called by 2
loader.py
f
called by 2
loader.py

Shape

Function 53
Method 19
Class 5

Languages

Python100%

Modules by API surface

data_utils.py19 symbols
conlleval.py15 symbols
utils.py11 symbols
model.py11 symbols
loader.py9 symbols
rnncell.py7 symbols
main.py5 symbols

For agents

$ claude mcp add ChineseNER \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact