ner english fast
Overview
Highlights
- Optimized for low-latency, high-throughput entity extraction
- Seamless integration via the Flair NLP framework
- Efficiently identifies standard English named entities
- Apache-2.0 license for flexible commercial deployment
Usage
# Install Hugging Face transformers
pip install transformers torch
# Load model with transformers
from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained("flair/ner-english-fast")
tokenizer = AutoTokenizer.from_pretrained("flair/ner-english-fast")
Hugging Face Download
We recommend downloading the model via the Hugging Face CLI or Hub SDK.
Guidance:Before downloading, install huggingface_hub with:
pip install -U huggingface_hub
CLI Download
Download the full repository
huggingface-cli download flair/ner-english-fast
Download a single file to a local folder (e.g. config.json into ./dir)
huggingface-cli download flair/ner-english-fast config.json --local-dir ./dir
See the official docs for more CLI options
SDK Download
# 模型下载
from huggingface_hub import snapshot_download
model_dir = snapshot_download('flair/ner-english-fast')
Git Download
Make sure git-lfs is installed first
git lfs install
git clone https://huggingface.co/flair/ner-english-fast
To skip LFS large-file downloads, use:
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/flair/ner-english-fast
Model files are hosted on the Hugging Face Hub — download directly via HF CLI / SDK / Git, not through this site.
PyTorch / Transformers Usage
Install Transformers
pip install -U transformers torch
Load the model and run inference
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained('flair/ner-english-fast')
tokenizer = AutoTokenizer.from_pretrained('flair/ner-english-fast')
Model Download
We recommend downloading the model via the ModelScope CLI or SDK.
Guidance:Before downloading, install ModelScope with:
pip install modelscope
CLI Download
Download the full repository
modelscope download --model flair/ner-english-fast
Download a single file to a local folder (e.g. README.md into ./dir)
modelscope download --model flair/ner-english-fast README.md --local_dir ./dir
See the docs for more CLI options
SDK Download
# 模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('flair/ner-english-fast')
Git Download
Make sure git-lfs is installed first
git lfs install
git clone https://www.modelscope.cn/flair/ner-english-fast.git
To skip LFS large-file downloads, use:
GIT_LFS_SKIP_SMUDGE=1 git clone https://www.modelscope.cn/flair/ner-english-fast.git
ModelScope 模型页直接下载模型文件;无需将模型文件放在本站服务器。
Notebook Quickstart
Install the ModelScope library
pip install "modelscope[audio,cv,nlp,multi-modal,science]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
Load the model and run inference
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
p = pipeline('text-generation', 'flair/ner-english-fast')
Full Documentation
---
tags:
- flair
- token-classification
- sequence-tagger-model
language: en
datasets:
- conll2003
widget:
- text: "George Washington went to Washington"
---
English NER in Flair (fast model)
This is the fast 4-class NER model for English that ships with Flair.
F1-Score: 92,92 (corrected CoNLL-03)
Predicts 4 tags:
| tag | meaning |
|---------------------------------|-----------|
| PER | person name |
| LOC | location name |
| ORG | organization name |
| MISC | other name |
Based on Flair embeddings and LSTM-CRF.
---
Demo: How to use in Flair
Requires: Flair (pip install flair)
from flair.data import Sentence
from flair.models import SequenceTagger
load tagger
tagger = SequenceTagger.load("flair/ner-english-fast")
make example sentence
sentence = Sentence("George Washington went to Washington")
predict NER tags
tagger.predict(sentence)
print sentence
print(sentence)
print predicted NER spans
print('The following NER tags are found:')
iterate over entities and print
for entity in sentence.get_spans('ner'):
print(entity)This yields the following output:
Span [1,2]: "George Washington" [− Labels: PER (0.9515)]
Span [5]: "Washington" [− Labels: LOC (0.992)]So, the entities "*George Washington*" (labeled as a person) and "*Washington*" (labeled as a location) are found in the sentence "*George Washington went to Washington*".
---
Training: Script to train this model
The following Flair script was used to train this model:
from flair.data import Corpus
from flair.datasets import CONLL_03
from flair.embeddings import WordEmbeddings, StackedEmbeddings, FlairEmbeddings
1. get the corpus
corpus: Corpus = CONLL_03()
2. what tag do we want to predict?
tag_type = 'ner'
3. make the tag dictionary from the corpus
tag_dictionary = corpus.make_tag_dictionary(tag_type=tag_type)
4. initialize each embedding we use
embedding_types = [
# GloVe embeddings
WordEmbeddings('glove'),
# contextual string embeddings, forward
FlairEmbeddings('news-forward-fast'),
# contextual string embeddings, backward
FlairEmbeddings('news-backward-fast'),
]
embedding stack consists of Flair and GloVe embeddings
embeddings = StackedEmbeddings(embeddings=embedding_types)
5. initialize sequence tagger
from flair.models import SequenceTagger
tagger = SequenceTagger(hidden_size=256,
embeddings=embeddings,
tag_dictionary=tag_dictionary,
tag_type=tag_type)
6. initialize trainer
from flair.trainers import ModelTrainer
trainer = ModelTrainer(tagger, corpus)
7. run training
trainer.train('resources/taggers/ner-english',
train_with_dev=True,
max_epochs=150)---
Cite
Please cite the following paper when using this model.
@inproceedings{akbik2018coling,
title={Contextual String Embeddings for Sequence Labeling},
author={Akbik, Alan and Blythe, Duncan and Vollgraf, Roland},
booktitle = {{COLING} 2018, 27th International Conference on Computational Linguistics},
pages = {1638--1649},
year = {2018}
}---
Issues?
The Flair issue tracker is available here.