Views
No views yet
| 指标 | 值 |
|---|---|
| joint score | 1.4689 |
| CWS F1 | 0.9836 |
| POS 准确率 | 0.9753 |
| NER F1 | 0.9632 |
1from mt_model import BERTcForMT
2
3model = BERTcForMT.from_pretrained(".")
4print(model.predict("中国科学院计算技术研究所在北京"))
5# {'words': ['中国科学院计算技术研究所', '在', '北京'],
6# 'pos': ['ni', 'p', 'ns'],
7# 'ner': [{'type': 'Ni', 'start': 0, 'end': 12}, {'type': 'Ns', 'start': 13, 'end': 15}]}--dev_limit 2000)。全量 21,143 句上是
分词 0.9790 / 词性 0.9787 / 实体 0.9597 / joint 1.4646。ns 地名 / ni 机构名 / nh 人名 / nd 方位词 /
nl 处所词 / wp 标点),BERTc 仓库的 save/cws.py 有个把它们翻成中文的
交互式脚本。| 模型定义 | 目录内的 model.py(纯 torch,不 import transformers) |
| 权重读取 | 目录内的 checkpoint.py(85 行 safetensors 读取,不需要 safetensors 库) |
| 分词器 | PieceTokenizer,提供字级切分和词表 |
1pip install torch
2pip install git+https://github.com/Ismantic/PieceTokenizerpython example_*.py 就能跑,不依赖目录外的
任何文件。BERTc-Tokenizer.pt,词表 12536(pad=12531,mask=12535)。必须用 dict="no"
加载(字模式,不挂分词词典)——挂了词典编码结果会跟训练时不一致,而且不报错。pip install git+https://github.com/Ismantic/PieceTokenizer| 文件 | 说明 |
|---|---|
model.safetensors | 骨干 + 三个任务头 |
mt_model.py | 推理入口 BERTcForMT |
crf.py | 线性链 CRF |
model.py | 骨干定义 |
tokenizer.py | 字级 tokenizer |
example_decode.py | 示例 |