🚀 Flair中的英文命名實體識別(默認模型)
本項目提供了一個標準的英文四分類命名實體識別(NER)模型,它是 Flair 庫的一部分。該模型能夠有效識別英文文本中的人名、地名、組織機構名和其他名稱,在CoNLL - 03數據集上校正後的F1分數達到了93.06。
✨ 主要特性
- 高準確率:在CoNLL - 03數據集上有出色的表現,F1分數達到93.06。
- 多標籤預測:能夠預測4種標籤,分別為人名(PER)、地名(LOC)、組織機構名(ORG)和其他名稱(MISC)。
- 技術先進:基於 Flair嵌入 和LSTM - CRF構建。
屬性 |
詳情 |
模型類型 |
四分類命名實體識別模型 |
訓練數據 |
CONLL 2003數據集 |
📦 安裝指南
使用此模型需要安裝 Flair 庫,可以通過以下命令進行安裝:
pip install flair
💻 使用示例
基礎用法
from flair.data import Sentence
from flair.models import SequenceTagger
tagger = SequenceTagger.load("flair/ner-english")
sentence = Sentence("George Washington went to Washington")
tagger.predict(sentence)
print(sentence)
print('The following NER tags are found:')
for entity in sentence.get_spans('ner'):
print(entity)
高級用法
上述代碼展示了基礎的命名實體識別流程。在實際應用中,你可以根據需求對代碼進行擴展,例如處理批量文本、結合其他NLP任務等。
運行上述基礎用法代碼會得到以下輸出:
Span [1,2]: "George Washington" [− Labels: PER (0.9968)]
Span [5]: "Washington" [− Labels: LOC (0.9994)]
這表明在句子 "George Washington went to Washington" 中,識別出了實體 "George Washington"(標籤為人名)和 "Washington"(標籤為地名)。
🔧 技術細節
本模型基於 Flair嵌入 和LSTM - CRF構建。以下是訓練該模型的Flair腳本:
from flair.data import Corpus
from flair.datasets import CONLL_03
from flair.embeddings import WordEmbeddings, StackedEmbeddings, FlairEmbeddings
corpus: Corpus = CONLL_03()
tag_type = 'ner'
tag_dictionary = corpus.make_tag_dictionary(tag_type=tag_type)
embedding_types = [
WordEmbeddings('glove'),
FlairEmbeddings('news-forward'),
FlairEmbeddings('news-backward'),
]
embeddings = StackedEmbeddings(embeddings=embedding_types)
from flair.models import SequenceTagger
tagger = SequenceTagger(hidden_size=256,
embeddings=embeddings,
tag_dictionary=tag_dictionary,
tag_type=tag_type)
from flair.trainers import ModelTrainer
trainer = ModelTrainer(tagger, corpus)
trainer.train('resources/taggers/ner-english',
train_with_dev=True,
max_epochs=150)
📄 許可證
文檔中未提及相關許可證信息。
📚 詳細文檔
引用
使用此模型時,請引用以下論文:
@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}
}
問題反饋
如果你在使用過程中遇到問題,可以在 Flair問題跟蹤器 中反饋。