🚀 フレア埋め込みを使用したアラビア語固有表現認識モデル
このモデルは、アラビア語の固有表現認識を行うためのモデルです。GloVeとFlairの前方および後方埋め込みを使用し、学習率を線形減衰させながら94エポックで学習を行っています。
🚀 クイックスタート
このモデルは、アラビア語の固有表現認識を行うために開発されました。学習は94エポックにわたって行われ、学習率は0.225から始まり2e-05の線形減衰率を使用し、バッチサイズは32で行われました。GloVeとFlairの前方および後方埋め込みが使用されています。
✨ 主な機能
- アラビア語の固有表現認識を高精度に行うことができます。
- 複数のエンベディング(GloVe、Flair)を組み合わせることで、表現力を向上させています。
- 学習率の線形減衰を用いることで、安定した学習を実現しています。
📦 インストール
このREADMEには具体的なインストール手順が記載されていないため、このセクションをスキップします。
💻 使用例
基本的な使用法
from flair.data import Sentence
from flair.models import SequenceTagger
import pyarabic.araby as araby
from icecream import ic
tagger = SequenceTagger.load("julien-c/flair-ner")
arTagger = SequenceTagger.load('megantosh/flair-arabic-multi-ner')
sentence = Sentence('George Washington went to Washington .')
arSentence = Sentence('عمرو عادلي أستاذ للاقتصاد السياسي المساعد في الجامعة الأمريكية بالقاهرة .')
tagger.predict(sentence)
arTagger.predict(arSentence)
ic(sentence.to_tagged_string)
ic(arSentence.to_tagged_string)
高度な使用法
📚 ドキュメント
元のデータセット
結果
- F1スコア(マイクロ): 0.8666
- F1スコア(マクロ): 0.8488
|
固有表現のタイプ |
真陽性 |
偽陽性 |
偽陰性 |
適合率 |
再現率 |
クラスF1 |
LOC |
場所 |
539 |
51 |
68 |
0.9136 |
0.8880 |
0.9006 |
MISC |
その他 |
408 |
57 |
89 |
0.8774 |
0.8209 |
0.8482 |
ORG |
組織 |
167 |
43 |
64 |
0.7952 |
0.7229 |
0.7574 |
PER |
人物(敬称なし) |
501 |
65 |
60 |
0.8852 |
0.8930 |
0.8891 |
モデル構成
SequenceTagger(
(embeddings): StackedEmbeddings(
(list_embedding_0): WordEmbeddings('glove')
(list_embedding_1): FlairEmbeddings(
(lm): LanguageModel(
(drop): Dropout(p=0.1, inplace=False)
(encoder): Embedding(7125, 100)
(rnn): LSTM(100, 2048)
(decoder): Linear(in_features=2048, out_features=7125, bias=True)
)
)
(list_embedding_2): FlairEmbeddings(
(lm): LanguageModel(
(drop): Dropout(p=0.1, inplace=False)
(encoder): Embedding(7125, 100)
(rnn): LSTM(100, 2048)
(decoder): Linear(in_features=2048, out_features=7125, bias=True)
)
)
)
(word_dropout): WordDropout(p=0.05)
(locked_dropout): LockedDropout(p=0.5)
(embedding2nn): Linear(in_features=4196, out_features=4196, bias=True)
(rnn): LSTM(4196, 256, batch_first=True, bidirectional=True)
(linear): Linear(in_features=512, out_features=15, bias=True)
(beta): 1.0
(weights): None
(weight_tensor) None
⚠️ 重要提示
右から左の文脈で左から右のコードを扱うため、一部の書式エラーが発生する可能性があります。コードはこのように表示される場合があります(リンクは2020年10月27日にアクセス確認)。
🔧 技術詳細
このモデルは、94エポックにわたって学習され、線形減衰する学習率を使用しています。学習率は0.225から始まり、2e-05まで減衰します。バッチサイズは32で、GloVeとFlairの前方および後方埋め込みが使用されています。
📄 ライセンス
このモデルはApache-2.0ライセンスの下で提供されています。
📚 引用
もしこのモデルを使用する場合は、この論文を引用してください。
@unpublished{MMHU21
author = "M. Megahed",
title = "Sequence Labeling Architectures in Diglossia",
year = {2021},
doi = "10.13140/RG.2.2.34961.10084"
url = {https://www.researchgate.net/publication/358956953_Sequence_Labeling_Architectures_in_Diglossia_-_a_case_study_of_Arabic_and_its_dialects}
}