BERT NER Pytorch
1.0.0
伯特为中国人。
更新:其他一些可以参考,包括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
| | └── ......
BERT在DEV上的总体表现:
| 准确性(实体) | 召回(实体) | F1分数(实体) | |
|---|---|---|---|
| BERT+SOFTMAX | 0.7897 | 0.8031 | 0.7963 |
| BERT+CRF | 0.7977 | 0.8177 | 0.8076 |
| bert+跨度 | 0.8132 | 0.8092 | 0.8112 |
| BERT+SPAN+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_smooth | 0.8235 | 0.7946 | 0.8088 |
阿尔伯特(Albert)在DEV上的总体表现:
| 模型 | 版本 | 准确性(实体) | 召回(实体) | F1(实体) | 火车时间/时代 |
|---|---|---|---|---|---|
| 阿尔伯特 | base_google | 0.8014 | 0.6908 | 0.7420 | 0.75倍 |
| 阿尔伯特 | 大_google | 0.8024 | 0.7520 | 0.7763 | 2.1倍 |
| 阿尔伯特 | Xlarge_google | 0.8286 | 0.7773 | 0.8021 | 6.7倍 |
| 伯特 | 谷歌 | 0.8118 | 0.8031 | 0.8074 | ------- |
| 阿尔伯特 | base_bright | 0.8068 | 0.7529 | 0.7789 | 0.75倍 |
| 阿尔伯特 | 大_Bright | 0.8152 | 0.7480 | 0.7802 | 2.2x |
| 阿尔伯特 | xlarge_bright | 0.8222 | 0.7692 | 0.7948 | 7.3倍 |
BERT在DEV(测试)上的总体表现:
| 准确性(实体) | 召回(实体) | F1分数(实体) | |
|---|---|---|---|
| BERT+SOFTMAX | 0.9586(0.9566) | 0.9644(0.9613) | 0.9615(0.9590) |
| BERT+CRF | 0.9562(0.9539) | 0.9671( 0.9644 ) | 0.9616(0.9591) |
| bert+跨度 | 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_smooth | 0.9566(0.9568) | 0.9624(0.9656) | 0.9595(0.9612) |