BertNER
该模型针对命名实体识别(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值 |
日期 |
407 |
0.860636 |
0.864865 |
0.862745 |
事件 |
256 |
0.969582 |
0.996094 |
0.982659 |
设施 |
248 |
0.976190 |
0.991935 |
0.984000 |
地点 |
2884 |
0.970232 |
0.971914 |
0.971072 |
金额 |
98 |
0.905263 |
0.877551 |
0.891192 |
组织 |
3216 |
0.939125 |
0.954602 |
0.946800 |
百分比 |
94 |
1.000000 |
0.968085 |
0.983784 |
人物 |
2645 |
0.965244 |
0.965974 |
0.965608 |
产品 |
318 |
0.981481 |
1.000000 |
0.990654 |
时间 |
43 |
0.692308 |
0.837209 |
0.757895 |
使用指南
可通过Transformers的NER管道使用本模型。
安装依赖
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 issue。