🚀 オランダ語の命名エンティティ認識(Flairのデフォルトモデル)
これは Flair ライブラリに含まれる、オランダ語用の標準的な4クラス命名エンティティ認識(NER)モデルです。このモデルはCoNLL - 03データセットでF1スコア 92.58 を達成しています。予測できるラベルは4種類で、以下の通りです。
ラベル |
意味 |
PER |
人名 |
LOC |
地名 |
ORG |
組織名 |
MISC |
その他の名前 |
このモデルはTransformer埋め込みとLSTM - CRFに基づいて構築されています。
🚀 クイックスタート
依存関係のインストール
このモデルでは Flair ライブラリのインストールが必要です。以下のコマンドを使用してインストールできます。
pip install flair
コード例
from flair.data import Sentence
from flair.models import SequenceTagger
tagger = SequenceTagger.load("flair/ner-dutch")
sentence = Sentence("George Washington ging naar Washington")
tagger.predict(sentence)
print(sentence)
print('The following NER tags are found:')
for entity in sentence.get_spans('ner'):
print(entity)
出力例
上記のコードを実行すると、以下のような出力が得られます。
Span [1,2]: "George Washington" [− Labels: PER (0.997)]
Span [5]: "Washington" [− Labels: LOC (0.9996)]
これは、文 "George Washington ging naar Washington" から、エンティティ "George Washington"(ラベルは 人名)と "Washington"(ラベルは 地名)が認識されたことを示しています。
💻 使用例
基本的な使用法
上記のコードは、Flairでこのモデルを使用してオランダ語の命名エンティティ認識を行う方法を示しています。主な手順は、モデルのロード、文の作成、予測の実行、結果の出力です。
高度な使用法
以下は、このモデルをトレーニングするスクリプトの例です。
from flair.data import Corpus
from flair.datasets import CONLL_03_DUTCH
from flair.embeddings import WordEmbeddings, StackedEmbeddings, FlairEmbeddings
corpus: Corpus = CONLL_03_DUTCH()
tag_type = 'ner'
tag_dictionary = corpus.make_tag_dictionary(tag_type=tag_type)
embeddings = TransformerWordEmbeddings('wietsedv/bert-base-dutch-cased')
tagger: SequenceTagger = SequenceTagger(hidden_size=256,
embeddings=embeddings,
tag_dictionary=tag_dictionary,
tag_type=tag_type)
trainer: ModelTrainer = ModelTrainer(tagger, corpus)
trainer.train('resources/taggers/ner-dutch',
train_with_dev=True,
max_epochs=150)
📄 引用について
このモデルを使用する場合は、以下の論文を引用してください。
@inproceedings{akbik-etal-2019-flair,
title = "{FLAIR}: An Easy-to-Use Framework for State-of-the-Art {NLP}",
author = "Akbik, Alan and
Bergmann, Tanja and
Blythe, Duncan and
Rasul, Kashif and
Schweter, Stefan and
Vollgraf, Roland",
booktitle = "Proceedings of the 2019 Conference of the North {A}merican Chapter of the Association for Computational Linguistics (Demonstrations)",
year = "2019",
url = "https://www.aclweb.org/anthology/N19-4010",
pages = "54--59",
}
🔗 問題の報告
使用中に問題が発生した場合は、Flairの問題トラッカー で報告してください。