Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
The BiLSTM-CRF model implementation in Tensorflow, for sequence labeling tasks.
| Date | Stars |
|---|---|
| 2026-07-30 | 703 |
| 2026-08-08 | 702 |
| 2026-08-16 | 701 |
| 2026-10-16 | 701 |
| 2026-10-27 | 702 |
| 2026-10-28 | 710 |
| 2026-10-29 | 719 |
| 2026-10-30 | 721 |
| 2026-10-31 | 734 |
| 2026-11-01 | 745 |
| 2026-11-02 | 753 |
| 2026-11-03 | 761 |
| 2026-11-04 | 767 |
Today
+6 stars today
This week
+57 stars this week
This month
+66 stars this month
Momentum
0.0
growth rate 8.03%/day
# BiLSTM+CRF for sequential labeling tasks






---
🚀🚀🚀 A TensorFlow implementation of BiLSTM+CRF model, for sequence labeling tasks.
##### Project Features
* based on Tensorflow api.
* highly _scalable_; everything is *configurable*.
* modularized with clear structure.
* very friendly for beginners.
* easy to DIY.
---
## Task and Model
`Sequential labeling` is one typical methodology modeling the sequence prediction tasks in NLP.
Common sequential labeling tasks include, e.g.,
1. _Part-of-Speech (POS) Tagging_,
2. _Chunking_,
3. _Named Entity Recognition (NER)_,
4. _Punctuation Restoration_,
5. _Sentence Boundary Detection_,
6. _Scope Detection_,
7. _Chinese Word Segmentation (CWG)_,
8. _Semantic Role Labeling (SRL)_,
9. _Spoken Language Understanding_,
10. _Event Extraction_,
11. and so forth...
Taking *Named Entity Recognition* (NER) task as example:
```bash
Stanford University located at California .
B-ORG I-ORG O O B-LOC O
```
here, two entities, `Stanford University` and `California` are to be extracted.
And specifically, each `token` in the text is tagged with a corresponding `label`.
E.g., {`token`:_Stanford_, `label`:_B-ORG_}.
The sequence labeling model aims to predict the label sequence, given a token sequence.
`BiLSTM+CRF` proposed by [Lample et al., 2016](https://www.aclweb.org/anthology/N16-1030), is so far the most classical and stable neural model for sequential labeling tasks.

---
# Project
## Function Support
- configuring all settings
- Running Mode: [`train`/`test`/`interactive_predict`/`api_service`]
- Datasets(Input/Output):
- Labeling Scheme:
- [`BIO`/`BIESO`]
- [`PER`|`LOC`|`ORG`]
- ...
- Model Configuration:
- encoder: BGU/Bi-LSTM, layer, Bi/Uni-directional
- decoder: crf/softmax,
- embedding level: char/word,
- with/without self attention
- hyperparameters,
- ...
- Training Settings:
- subscribe measuring metrics: [precision,recall,f1,accuracy]
- optimazers: GD/Adagrad/AdaDelta/RMSprop/Adam
- Testing Settings,
- Api service Settings,
- logging everything
- web app demo for easy demonstration
- object oriented: BILSTM_CRF, Datasets, Configer, utils
- modularized with clear structure, easy for DIY.
see more in [HandBook](HandBook.md).
## Requirements
- python >=3.5
- tensorflow >=1.8
- numpy
- pandas
- Django==1.11.8
- jieba
- ...
## Setup
#### Option A:
download the repo for directly use.
```
git clone https://github.com/scofield7419/sequence-labeling-BiLSTM-CRF.git
pip install -r requirements.txt
```
#### Option B: _TODO_
install the BiLSTM-CRF package as a module.
```
pip install BiLSTM-CRF
```
usage:
```
from BiLSTM-CRF.engines.BiLSTM_CRFs import BiLSTM_CRFs as BC
from BiLSTM-CRF.engines.DataManager import DataManager
from BiLSTM-CRF.engines.Configer import Configer
from BiLSTM-CRF.engines.utils import get_logger
...
config_file = r'/home/projects/system.config'
configs = Configer(config_file)
logger = get_logger(configs.log_dir)
configs.show_data_summary(logger) # optional
dataManager = DataManager(configs, logger)
model = BC(configs, logger, dataManager)
###### mode == 'train':
model.train()
###### mode == 'test':
model.test()
###### mode == 'single predicting':
sentence_tokens, entiExcerpt of 9,674 characters
Read on GitHubHao Fei · University of Oxford · United Kingdom
12
2
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:f7fc8dc13256323d, topic:nlp, readme:named entity recognition, readme:part-of-speech
matched fp:f7fc8dc13256323d, topic:tensorflow