🚀 DistilCamemBERT-NER
DistilCamemBERT-NERは、DistilCamemBERTモデルを基に、フランス語の固有表現抽出(NER)タスクに対して微調整されたモデルです。この取り組みは、CamemBERTモデルを基にしたJean-Baptiste/camembert-nerに触発されています。CamemBERTベースのモデルを拡張する際、例えば本番環境では、推論コストが技術的な問題となる可能性があります。この問題に対処するため、我々はこのモデルを提案し、DistilCamemBERTを利用することで、同じ消費電力で推論時間を半分に短縮します。
🚀 クイックスタート
モデルの使用例
from transformers import pipeline
ner = pipeline(
task='ner',
model="cmarkea/distilcamembert-base-ner",
tokenizer="cmarkea/distilcamembert-base-ner",
aggregation_strategy="simple"
)
result = ner(
"Le Crédit Mutuel Arkéa est une banque Française, elle comprend le CMB "
"qui est une banque située en Bretagne et le CMSO qui est une banque "
"qui se situe principalement en Aquitaine. C'est sous la présidence de "
"Louis Lichou, dans les années 1980 que différentes filiales sont créées "
"au sein du CMB et forment les principales filiales du groupe qui "
"existent encore aujourd'hui (Federal Finance, Suravenir, Financo, etc.)."
)
result
[{'entity_group': 'ORG',
'score': 0.9974479,
'word': 'Crédit Mutuel Arkéa',
'start': 3,
'end': 22},
{'entity_group': 'LOC',
'score': 0.9000358,
'word': 'Française',
'start': 38,
'end': 47},
{'entity_group': 'ORG',
'score': 0.9788757,
'word': 'CMB',
'start': 66,
'end': 69},
{'entity_group': 'LOC',
'score': 0.99919766,
'word': 'Bretagne',
'start': 99,
'end': 107},
{'entity_group': 'ORG',
'score': 0.9594884,
'word': 'CMSO',
'start': 114,
'end': 118},
{'entity_group': 'LOC',
'score': 0.99935514,
'word': 'Aquitaine',
'start': 169,
'end': 178},
{'entity_group': 'PER',
'score': 0.99911094,
'word': 'Louis Lichou',
'start': 208,
'end': 220},
{'entity_group': 'ORG',
'score': 0.96226394,
'word': 'CMB',
'start': 291,
'end': 294},
{'entity_group': 'ORG',
'score': 0.9983959,
'word': 'Federal Finance',
'start': 374,
'end': 389},
{'entity_group': 'ORG',
'score': 0.9984454,
'word': 'Suravenir',
'start': 391,
'end': 400},
{'entity_group': 'ORG',
'score': 0.9985084,
'word': 'Financo',
'start': 402,
'end': 409}]
Optimum + ONNXの使用例
from optimum.onnxruntime import ORTModelForTokenClassification
from transformers import AutoTokenizer, pipeline
HUB_MODEL = "cmarkea/distilcamembert-base-nli"
tokenizer = AutoTokenizer.from_pretrained(HUB_MODEL)
model = ORTModelForTokenClassification.from_pretrained(HUB_MODEL)
onnx_qa = pipeline("token-classification", model=model, tokenizer=tokenizer)
quantized_model = ORTModelForTokenClassification.from_pretrained(
HUB_MODEL, file_name="model_quantized.onnx"
)
📦 データセット
使用したデータセットはwikiner_frで、約17万個のアノテーション付きの文が含まれており、5つのカテゴリに分けられています。
- PER:人物;
- LOC:場所;
- ORG:組織;
- MISC:その他のエンティティ(映画タイトル、書籍など);
- O:背景(非エンティティ)。
📊 評価結果
カテゴリ |
適合率 (%) |
再現率 (%) |
F1値 (%) |
サポート度 (#サブワード) |
全体 |
98.17 |
98.19 |
98.18 |
378,776 |
PER |
96.78 |
96.87 |
96.82 |
23,754 |
LOC |
94.05 |
93.59 |
93.82 |
27,196 |
ORG |
86.05 |
85.92 |
85.98 |
6,526 |
MISC |
88.78 |
84.69 |
86.69 |
11,891 |
O |
99.26 |
99.47 |
99.37 |
309,409 |
⚖️ ベンチマーク
このモデルの性能は、2つの参照モデルと比較されています(下表参照)。使用された指標はF1スコアです。平均推論時間の測定には、AMD Ryzen 5 4500U @ 2.3GHz 6コアのコンピュータが使用されました。
📖 引用
@inproceedings{delestre:hal-03674695,
TITLE = {{DistilCamemBERT : une distillation du mod{\`e}le fran{\c c}ais CamemBERT}},
AUTHOR = {Delestre, Cyrile and Amar, Abibatou},
URL = {https://hal.archives-ouvertes.fr/hal-03674695},
BOOKTITLE = {{CAp (Conf{\'e}rence sur l'Apprentissage automatique)}},
ADDRESS = {Vannes, France},
YEAR = {2022},
MONTH = Jul,
KEYWORDS = {NLP ; Transformers ; CamemBERT ; Distillation},
PDF = {https://hal.archives-ouvertes.fr/hal-03674695/file/cap2022.pdf},
HAL_ID = {hal-03674695},
HAL_VERSION = {v1},
}
📄 ライセンス
このプロジェクトはMITライセンスの下で提供されています。