README.md 2.1 KB
Newer Older
J
jiaozhenyu 已提交
1
# 使用ParallelExecutor的中文命名实体识别示例
2

J
jiaozhenyu 已提交
3
以下是本例的简要目录结构及说明:
4 5 6

```text
.
J
jiaozhenyu 已提交
7 8 9 10 11
├── data                 # 存储运行本例所依赖的数据,从外部获取
├── reader.py            # 数据读取接口, 从外部获取
├── README.md            # 文档
├── train.py             # 训练脚本
├── infer.py             # 预测脚本
12 13
```

J
jiaozhenyu 已提交
14 15
## 数据
在data目录下,有两个文件夹,train_files中保存的是训练数据,test_files中保存的是测试数据,作为示例,在目录下我们各放置了两个文件,实际训练时,根据自己的实际需要将数据放置在对应目录,并根据数据格式,修改reader.py中的数据读取函数。
16

J
jiaozhenyu 已提交
17
## 训练
Y
Yibing Liu 已提交
18 19 20 21 22 23 24 25

通过运行

```
python train.py --help
```

来获取命令行参数的帮助,设置正确的数据路径等参数后,运行`train.py`开始训练。
J
jiaozhenyu 已提交
26

J
jiaozhenyu 已提交
27
训练记录形如
28 29 30 31 32 33 34 35 36 37 38 39
```txt
pass_id:0, time_cost:4.92960214615s
[Train] precision:0.000862136531076, recall:0.0059880239521, f1:0.00150726226363
[Test] precision:0.000796178343949, recall:0.00335758254057, f1:0.00128713933283
pass_id:1, time_cost:0.715255975723s
[Train] precision:0.00474094141551, recall:0.00762112139358, f1:0.00584551148225
[Test] precision:0.0228873239437, recall:0.00727476217124, f1:0.0110403397028
pass_id:2, time_cost:0.740842103958s
[Train] precision:0.0120967741935, recall:0.00163309744148, f1:0.00287769784173
[Test] precision:0, recall:0.0, f1:0
```

J
jiaozhenyu 已提交
40
## 预测
Y
Yibing Liu 已提交
41
类似于训练过程,预测时指定需要测试模型的路径、测试数据、预测标记文件的路径,运行`infer.py`开始预测。
J
jiaozhenyu 已提交
42

J
jiaozhenyu 已提交
43
预测结果如下
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
```txt
152804  O       O
130048  O       O
38862   10-B    O
784     O       O
1540    O       O
4145    O       O
2255    O       O
0       O       O
1279    O       O
7793    O       O
373     O       O
1621    O       O
815     O       O
2       O       O
247     24-B    O
401     24-I    O
```
J
jiaozhenyu 已提交
62
输出分为三列,以"\t"分割,第一列是输入的词语的序号,第二列是标准结果,第三列为标记结果。多条输入序列之间以空行分隔。