BERT NER Pytorch
1.0.0
중국 NER에 대한 버트.
업데이트 : 包括, 其他一些可以参考 Biaffine 、 globalpointer 等 : 예제
입력 형식 (선호 BIOS 태그 체계), 각 문자는 한 줄에 대한 레이블을 표시합니다. 문장은 널 라인으로 분할됩니다.
美 B-LOC
国 I-LOC
的 O
华 B-PER
莱 I-PER
士 I-PER
我 O
跟 O
他 O
run_ner_xxx.py 또는 run_ner_xxx.sh 에서 구성 정보를 수정하십시오.sh scripts/run_ner_xxx.sh참고 : 모델의 파일 구조
├── prev_trained_model
| └── bert_base
| | └── pytorch_model.bin
| | └── config.json
| | └── vocab.txt
| | └── ......
Dev 에서 Bert의 전반적인 성능 :
| 정확도 (엔티티) | 리콜 (엔티티) | F1 점수 (엔터티) | |
|---|---|---|---|
| Bert+SoftMax | 0.7897 | 0.8031 | 0.7963 |
| 버트+CRF | 0.7977 | 0.8177 | 0.8076 |
| 버트+스팬 | 0.8132 | 0.8092 | 0.8112 |
| 버트+스팬+adv | 0.8267 | 0.8073 | 0.8169 |
| Bert-Small (6 층)+SPAN+KD | 0.8241 | 0.7839 | 0.8051 |
| Bert+span+focal_loss | 0.8121 | 0.8008 | 0.8064 |
| Bert+span+label_smoothing | 0.8235 | 0.7946 | 0.8088 |
Dev on Albert의 전반적인 성능 :
| 모델 | 버전 | 정확도 (엔티티) | 리콜 (엔티티) | F1 (엔티티) | 훈련 시간/에포크 |
|---|---|---|---|---|---|
| 앨버트 | base_google | 0.8014 | 0.6908 | 0.7420 | 0.75x |
| 앨버트 | 큰 _google | 0.8024 | 0.7520 | 0.7763 | 2.1x |
| 앨버트 | xlarge_google | 0.8286 | 0.7773 | 0.8021 | 6.7x |
| 버트 | 0.8118 | 0.8031 | 0.8074 | ----- | |
| 앨버트 | base_bright | 0.8068 | 0.7529 | 0.7789 | 0.75x |
| 앨버트 | 큰 _bright | 0.8152 | 0.7480 | 0.7802 | 2.2 배 |
| 앨버트 | xlarge_bright | 0.8222 | 0.7692 | 0.7948 | 7.3x |
Dev에서 Bert의 전반적인 성능 (테스트) :
| 정확도 (엔티티) | 리콜 (엔티티) | F1 점수 (엔터티) | |
|---|---|---|---|
| Bert+SoftMax | 0.9586 (0.9566) | 0.9644 (0.9613) | 0.9615 (0.9590) |
| 버트+CRF | 0.9562 (0.9539) | 0.9671 ( 0.9644 ) | 0.9616 (0.9591) |
| 버트+스팬 | 0.9604 ( 0.9620 ) | 0.9617 (0.9632) | 0.9611 ( 0.9626 ) |
| Bert+span+focal_loss | 0.9516 (0.9569) | 0.9644 (0.9681) | 0.9580 (0.9625) |
| Bert+span+label_smoothing | 0.9566 (0.9568) | 0.9624 (0.9656) | 0.9595 (0.9612) |