🚀 impresso-project/ner-stacked-bert-multilingual
模型卡片
Impresso NER模型 是一個用於歷史文檔處理的多語言命名實體識別模型。它基於堆疊式Transformer架構,旨在識別數字化歷史文本中的細粒度和粗粒度實體類型,包括姓名、頭銜和地點等。
🚀 快速開始
使用以下代碼示例開始使用Impresso NER模型:
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}
]
✨ 主要特性
- 多語言支持:支持法語、德語和英語,適用於多語言歷史文本。
- 細粒度和粗粒度實體識別:能夠識別多種實體類型,包括人物、組織、產品、時間和地點等。
- 抗OCR噪聲:通過堆疊Transformer層,有效減輕歷史文檔中OCR噪聲、拼寫變化和非標準語言用法的影響。
📦 安裝指南
文檔未提及具體安裝步驟,可參考Hugging Face的transformers
庫安裝說明進行安裝。
📚 詳細文檔
模型詳情
模型描述
模型架構
該模型架構由以下組件組成:
- 預訓練BERT編碼器:以多語言歷史BERT作為基礎。
- 一到兩個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
:尊稱或頭銜(例如,“國王”、“總理”)
function
:上下文中的角色或職能(如果可用)
模型來源
- 倉庫:https://huggingface.co/impresso-project/ner-stacked-bert-multilingual
- 論文:CoNLL 2020
- 演示:Impresso項目
使用場景
直接使用
該模型旨在直接與Hugging Face的pipeline
用於token - classification
,特別是用於歷史文本的generic - ner
任務。
下游使用
可用於以下下游任務:
- 歷史信息提取
- 傳記重建
- 跨歷史檔案的地點和人物提及檢測
不適用場景
- 不適用於社交媒體或現代新聞等領域的當代命名實體識別。
- 未針對無OCR的現代語料庫進行優化。
訓練詳情
訓練數據
該模型在Impresso HIPE - 2020數據集上進行訓練,該數據集是[HIPE - 2022語料庫](https://github.com/hipe - eval/HIPE - 2022 - data)的一個子集,包含豐富註釋的OCR轉錄歷史報紙內容。
訓練過程
預處理
對OCR內容進行清理和分段。實體類型遵循HIPE - 2020類型學。
訓練超參數
- 訓練模式:混合精度(fp16)
- 訓練輪數:5
- 最大序列長度:512
- 基礎模型:
dbmdz/bert-medium-historic-multilingual-cased
- 堆疊Transformer層數:2
速度、大小和時間
- 模型大小:約500MB
- 訓練時間:在1個GPU(NVIDIA TITAN X)上約1小時
評估
測試數據
HIPE - 2020的保留部分(法語、德語)
評估指標
評估結果
語言 |
精確率 |
召回率 |
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(估計值)
技術規格
模型架構和目標
堆疊式BERT架構,帶有支持HIPE類型實體標籤的多任務令牌分類頭。
計算基礎設施
硬件
1個NVIDIA TITAN X(Pascal,12GB)
軟件
- Python 3.11
- PyTorch 2.0
- Transformers 4.36
引用
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}
}
聯繫信息
🔧 技術細節
該模型基於堆疊式BERT架構,通過在預訓練BERT編碼器上堆疊Transformer層,結合條件隨機場(CRF)解碼器層,實現對歷史文檔中命名實體的識別。在訓練過程中,使用了混合精度訓練,以提高訓練效率。同時,模型使用學習到的絕對位置嵌入來更好地處理噪聲輸入。
📄 許可證
該模型使用AGPL v3+許可證。
⚠️ 重要提示
由於該模型是在歷史文檔上進行訓練的,可能會反映出歷史偏見和不準確之處。它在當代或非歐洲語言上的性能可能會下降。
💡 使用建議
- 用戶應注意歷史和排版偏見。
- 考慮進行後處理以過濾OCR噪聲導致的誤報。