🚀 impresso-project/ner-stacked-bert-multilingual
モデルカード
Impresso NERモデル は、歴史文書処理用に学習された多言語の固有表現認識モデルです。このモデルはスタックされたTransformerアーキテクチャに基づいており、名前、肩書き、場所などの細粒度および粗粒度のエンティティタイプをデジタル化された歴史テキストから識別するように設計されています。
📚 詳細ドキュメント
モデルの説明
モデルアーキテクチャ
モデルアーキテクチャは以下のコンポーネントで構成されています。
- 事前学習済みBERTエンコーダ (多言語の歴史BERT) をベースとして使用。
- 1つまたは2つのTransformerエンコーダ層 がBERTエンコーダの上にスタックされています。
- 条件付き確率場 (CRF) デコーダ層がラベルの依存関係をモデル化します。
- 学習された絶対位置埋め込み がノイズの多い入力の処理を改善します。
これらの追加のTransformer層は、OCRノイズ、スペルのバリエーション、および歴史文書に見られる非標準的な言語の使用の影響を軽減するのに役立ちます。スタック全体はトークン分類のためにエンドツーエンドでファインチューニングされています。
サポートされるエンティティタイプ
このモデルは、HIPE-2020/2022ガイドラインで定義された粗粒度および細粒度のエンティティタイプの両方をサポートしています。モデルの出力形式には、文脈および意味的な詳細を含む構造化された予測が含まれます。各予測は以下のフィールドを持つ辞書です。
{
'type': 'pers' | 'org' | 'loc' | 'time' | 'prod',
'confidence_ner': float,
'surface': str,
'lOffset': int,
'rOffset': int,
'name': str,
'title': str,
'function': str
}
粗粒度のエンティティタイプ:
- pers: 人物エンティティ (個人、集団、著者)
- org: 組織 (行政機関、企業、報道機関)
- prod: 製品 (メディア)
- time: 時間表現 (絶対日付)
- loc: 場所 (町、地域、国、物理的施設)
テキスト内に存在する場合、エンティティを囲む 人物固有の属性 が返されます。
name
: 正式な完全名
title
: 敬称または肩書き (例: "king", "chancellor")
function
: 文脈内の役割または機能 (利用可能な場合)
モデルのソース
✨ 主な機能
直接利用
このモデルは、Hugging Faceの pipeline
を使用して token-classification
タスク、特に歴史テキストの generic-ner
タスクに直接使用することを想定しています。
下流の利用
以下のような下流のタスクに使用することができます。
- 歴史情報抽出
- 伝記再構築
- 歴史アーカイブ全体の場所および人物の言及検出
範囲外の利用
- ソーシャルメディアや現代のニュースなどのドメインにおける現代の固有表現認識には適していません。
- OCRのない現代のコーパスには最適化されていません。
⚠️ バイアス、リスク、および制限
歴史文書での学習のため、このモデルは歴史的なバイアスや不正確さを反映する可能性があります。現代の言語や非ヨーロッパの言語では性能が低下する可能性があります。
推奨事項
- ユーザーは歴史的および印刷上のバイアスに注意する必要があります。
- OCRノイズからの誤検出をフィルタリングするための事後処理を検討してください。
💻 使用例
基本的な使用法
from transformers import AutoModelForTokenClassification, AutoTokenizer, pipeline
MODEL_NAME = "impresso-project/ner-stacked-bert-multilingual"
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
ner_pipeline = pipeline("generic-ner", model=MODEL_NAME, tokenizer=tokenizer, trust_remote_code=True, device='cpu')
sentence = "En l'an 1348, au plus fort des ravages de la peste noire à travers l'Europe, le Royaume de France se trouvait à la fois au bord du désespoir et face à une opportunité. À la cour du roi Philippe VI, les murs du Louvre étaient animés par les rapports sombres venus de Paris et des villes environnantes. La peste ne montrait aucun signe de répit, et le chancelier Guillaume de Nogaret, le conseiller le plus fidèle du roi, portait le lourd fardeau de gérer la survie du royaume."
entities = ner_pipeline(sentence)
print(entities)
出力例
[
{'type': 'time', 'confidence_ner': 85.0, 'surface': "an 1348", 'lOffset': 0, 'rOffset': 12},
{'type': 'loc', 'confidence_ner': 90.75, 'surface': "Europe", 'lOffset': 69, 'rOffset': 75},
{'type': 'loc', 'confidence_ner': 75.45, 'surface': "Royaume de France", 'lOffset': 80, 'rOffset': 97},
{'type': 'pers', 'confidence_ner': 85.27, 'surface': "roi Philippe VI", 'lOffset': 181, 'rOffset': 196, 'title': "roi", 'name': "roi Philippe VI"},
{'type': 'loc', 'confidence_ner': 30.59, 'surface': "Louvre", 'lOffset': 210, 'rOffset': 216},
{'type': 'loc', 'confidence_ner': 94.46, 'surface': "Paris", 'lOffset': 266, 'rOffset': 271},
{'type': 'pers', 'confidence_ner': 96.1, 'surface': "chancelier Guillaume de Nogaret", 'lOffset': 350, 'rOffset': 381, 'title': "chancelier", 'name': "Guillaume de Nogaret"},
{'type': 'loc', 'confidence_ner': 49.35, 'surface': "Royaume", 'lOffset': 80, 'rOffset': 87},
{'type': 'loc', 'confidence_ner': 24.18, 'surface': "France", 'lOffset': 91, 'rOffset': 97}
]
🔧 技術詳細
学習データ
このモデルは、HIPE-2022コーパス のサブセットであるImpresso HIPE-2020データセットで学習されました。このデータセットには、豊富にアノテーション付けされたOCR変換された歴史新聞コンテンツが含まれています。
学習手順
前処理
OCRコンテンツはクリーニングされ、セグメント化されました。エンティティタイプはHIPE-2020の分類体系に従っています。
学習ハイパーパラメータ
- 学習方式: 混合精度 (fp16)
- エポック数: 5
- 最大シーケンス長: 512
- ベースモデル:
dbmdz/bert-medium-historic-multilingual-cased
- スタックされたTransformer層: 2
速度、サイズ、時間
- モデルサイズ: ~500MB
- 学習時間: 1GPU (NVIDIA TITAN X) で約1時間
評価
テストデータ
HIPE-2020のホールドアウト部分 (フランス語、ドイツ語)
評価指標
- F1スコア (マイクロ、マクロ)
- エンティティレベルの精度/再現率
結果
言語 |
精度 |
再現率 |
F1スコア |
フランス語 |
84.2 |
81.6 |
82.9 |
ドイツ語 |
82.0 |
78.7 |
80.3 |
要約
このモデルは、ノイズの多いOCR歴史コンテンツ全体で堅牢に機能し、細粒度のエンティティタイプ体系をサポートしています。
環境への影響
- ハードウェアタイプ: NVIDIA TITAN X (Pascal, 12GB)
- 使用時間: ~1時間
- クラウドプロバイダー: スイスのEPFL
- 排出された二酸化炭素量: ~0.022 kg CO₂eq (推定)
技術仕様
モデルアーキテクチャと目的
HIPEタイプのエンティティラベルをサポートするマルチタスクトークン分類ヘッド付きのStacked BERTアーキテクチャ。
コンピュートインフラストラクチャ
ハードウェア
1x NVIDIA TITAN X (Pascal, 12GB)
ソフトウェア
- Python 3.11
- PyTorch 2.0
- Transformers 4.36
📄 ライセンス
このモデルは AGPL v3+ ライセンスの下で提供されています。
📖 引用
BibTeX:
@inproceedings{boros2020alleviating,
title={Alleviating digitization errors in named entity recognition for historical documents},
author={Boros, Emanuela and Hamdi, Ahmed and Pontes, Elvys Linhares and Cabrera-Diego, Luis-Adri{\'a}n and Moreno, Jose G and Sidere, Nicolas and Doucet, Antoine},
booktitle={Proceedings of the 24th conference on computational natural language learning},
pages={431--441},
year={2020}
}
📞 お問い合わせ