CRF++一种用c++实现条件随机场模型的开源工具,性能好,被广泛用于在自然语言处理中。由于其实现复杂,很难理解,下面用文本方式来表述其模型文件的结构,希望加深对其实现方式的理解。
下面是对其模型文件的分析:
原始训练语料:中共中央/总书记/、/国家/主席/江泽民
训练语料数据格式
中 B
共 M
中 M
央 E
总 B
书 M
记 E
、 S
国 B
家 E
主 B
席 E
江 S
泽 B
民 E
模型头文件信息
version: 100
cost-factor: 1
maxid: 604
xsize: 1
B
E
M
S
U00:%x[-2,0]
U01:%x[-1,0]
U02:%x[0,0]
U03:%x[1,0]
U04:%x[2,0]
U05:%x[-2,0]/%x[-1,0]
U06:%x[-1,0]/%x[0,0]
U07:%x[0,0]/%x[1,0]
U08:%x[1,0]/%x[2,0]
U09:%x[-1,0]/%x[1,0]
B
抽取出来的特征
U00 |
U01 |
U02 |
U03 |
U04 |
U05 |
U06 |
U07 |
U08 |
U09 |
40 U00:_B-1 0 U00:_B-2 348 U00:、 116 U00:共 388 U00:国 308 U00:记 428 U00:家 548 U00:江 268 U00:书 508 U00:席 188 U00:央 80 U00:中 468 U00:主 228 U00:总 |
4 U01:_B-1 312 U01:、 84 U01:共 352 U01:国 272 U01:记 392 U01:家 512 U01:江 232 U01:书 472 U01:席 152 U01:央 552 U01:泽 44 U01:中 432 U01:主 192 U01:总 |
276 U02:、 48 U02:共 316 U02:国 236 U02:记 356 U02:家 476 U02:江 556 U02:民 196 U02:书 436 U02:席 120 U02:央 516 U02:泽 8 U02:中 396 U02:主 156 U02:总 |
560 U03:_B+1 240 U03:、 12 U03:共 280 U03:国 200 U03:记 320 U03:家 440 U03:江 520 U03:民 160 U03:书 400 U03:席 88 U03:央 480 U03:泽 52 U03:中 360 U03:主 124 U03:总 |
524 U04:_B+1 564 U04:_B+2 204 U04:、 244 U04:国 164 U04:记 284 U04:家 404 U04:江 484 U04:民 128 U04:书 364 U04:席 56 U04:央 444 U04:泽 16 U04:中 324 U04:主 92 U04:总 |
60 U05:_B-1/中 20 U05:_B-2/_B-1 368 U05:、/国 132 U05:共/中 408 U05:国/家 328 U05:记/、 448 U05:家/主 568 U05:江/泽 288 U05:书/记 528 U05:席/江 208 U05:央/总 96 U05:中/共 168 U05:中/央 488 U05:主/席 248 U05:总/书 |
24 U06:_B-1/中 332 U06:、/国 100 U06:共/中 372 U06:国/家 292 U06:记/、 412 U06:家/主 532 U06:江/泽 252 U06:书/记 492 U06:席/江 172 U06:央/总 572 U06:泽/民 64 U06:中/共 136 U06:中/央 452 U06:主/席 212 U06:总/书 |
296 U07:、/国 68 U07:共/中 336 U07:国/家 256 U07:记/、 376 U07:家/主 496 U07:江/泽 576 U07:民/_B+1 216 U07:书/记 456 U07:席/江 140 U07:央/总 536 U07:泽/民 28 U07:中/共 104 U07:中/央 416 U07:主/席 176 U07:总/书 |
580 U08:_B+1/_B+2 260 U08:、/国 32 U08:共/中 300 U08:国/家 220 U08:记/、 340 U08:家/主 460 U08:江/泽 540 U08:民/_B+1 180 U08:书/记 420 U08:席/江 108 U08:央/总 500 U08:泽/民 72 U08:中/央 380 U08:主/席 144 U08:总/书 |
36 U09:_B-1/共 344 U09:、/家 112 U09:共/央 384 U09:国/主 304 U09:记/国 424 U09:家/席 544 U09:江/民 264 U09:书/、 504 U09:席/泽 184 U09:央/书 584 U09:泽/_B+1 76 U09:中/中 148 U09:中/总 464 U09:主/江 224 U09:总/记 |
从上述的抽取出来的特征来看,抽取的特征跟最大熵工具包的模型文件很类似,只是最大熵工具包需要手动抽取特征。
概率文件
0.1781349639479855
-0.0532539981230133
-0.0708847888213166
-0.0539961770036535
0.1781349639479855
-0.0532539981230133
-0.0708847888213166
-0.0539961770036535
0.0948219953898075
-0.1121206524367462
0.1148967505813277
-0.0975980935343863
0.1781349639479855
-0.0532539981230133
-0.0708847888213166
-0.0539961770036535
0.1781349639479855
-0.0532539981230133
-0.0708847888213166
-0.0539961770036535
0.1781349639479855
-0.0532539981230133
-0.0708847888213166
-0.0539961770036535
0.1781349639479855
-0.0532539981230133
-0.0708847888213166
-0.0539961770036535
.......
最后是很多数字,很难看懂。但是有个特征,我们用了四字标记集,下面的概率文件差不多按照4个数字的规律重复。