🚀 BertNER
BertNER 是一个针对命名实体识别(NER)任务进行微调的模型。它在一个混合 NER 数据集上进行训练,该数据集收集自 ARMAN、PEYMA 和 WikiANN,涵盖了十种类型的实体:
- 日期(DAT)
- 事件(EVE)
- 设施(FAC)
- 地点(LOC)
- 货币(MON)
- 组织(ORG)
- 百分比(PCT)
- 人物(PER)
- 产品(PRO)
- 时间(TIM)
📚 数据集信息
数据集 |
记录数 |
B - DAT |
B - EVE |
B - FAC |
B - LOC |
B - MON |
B - ORG |
B - PCT |
B - PER |
B - PRO |
B - TIM |
I - DAT |
I - EVE |
I - FAC |
I - LOC |
I - MON |
I - ORG |
I - PCT |
I - PER |
I - PRO |
I - TIM |
训练集 |
29133 |
1423 |
1487 |
1400 |
13919 |
417 |
15926 |
355 |
12347 |
1855 |
150 |
1947 |
5018 |
2421 |
4118 |
1059 |
19579 |
573 |
7699 |
1914 |
332 |
验证集 |
5142 |
267 |
253 |
250 |
2362 |
100 |
2651 |
64 |
2173 |
317 |
19 |
373 |
799 |
387 |
717 |
270 |
3260 |
101 |
1382 |
303 |
35 |
测试集 |
6049 |
407 |
256 |
248 |
2886 |
98 |
3216 |
94 |
2646 |
318 |
43 |
568 |
888 |
408 |
858 |
263 |
3967 |
141 |
1707 |
296 |
78 |
📊 评估结果
以下表格总结了模型在整体和每个类别上的得分。
整体评估
模型 |
准确率 |
精确率 |
召回率 |
F1 值 |
Bert |
0.995086 |
0.953454 |
0.961113 |
0.957268 |
各实体评估
实体 |
数量 |
精确率 |
召回率 |
F1 值 |
DAT |
407 |
0.860636 |
0.864865 |
0.862745 |
EVE |
256 |
0.969582 |
0.996094 |
0.982659 |
FAC |
248 |
0.976190 |
0.991935 |
0.984000 |
LOC |
2884 |
0.970232 |
0.971914 |
0.971072 |
MON |
98 |
0.905263 |
0.877551 |
0.891192 |
ORG |
3216 |
0.939125 |
0.954602 |
0.946800 |
PCT |
94 |
1.000000 |
0.968085 |
0.983784 |
PER |
2645 |
0.965244 |
0.965974 |
0.965608 |
PRO |
318 |
0.981481 |
1.000000 |
0.990654 |
TIM |
43 |
0.692308 |
0.837209 |
0.757895 |
💻 使用示例
你可以使用 Transformers 管道进行命名实体识别来使用此模型。
安装依赖
pip install transformers
使用管道进行预测
from transformers import AutoTokenizer
from transformers import AutoModelForTokenClassification
from transformers import TFAutoModelForTokenClassification
from transformers import pipeline
model_name_or_path = "HooshvareLab/bert-fa-zwnj-base-ner"
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)
model = AutoModelForTokenClassification.from_pretrained(model_name_or_path)
nlp = pipeline("ner", model=model, tokenizer=tokenizer)
example = "در سال ۲۰۱۳ درگذشت و آندرتیکر و کین برای او مراسم یادبود گرفتند."
ner_results = nlp(example)
print(ner_results)
❓ 常见问题
如有疑问,请在 ParsNER Issues 仓库中提交 GitHub 问题。