CRF详解
来源:互联网 发布:太阁立志传5 for mac 编辑:程序博客网 时间:2024/05/13 22:58
如果你只是想要简单的如何使用CRF++, 建议阅读
这里以一个具体的例子介绍CRF++的一些思想和代码的实现过程。就加入我们想利用CRF++来进行分词。
一. 数据及其格式介绍
Train.data
中
华
人
民
共
和
国
国
家
主
席
Template:
# Unigram
U00:%x[-2,0]
U01:%x[-1,0]
U02:%x[0,0]
U03:%x[1,0]
U04:%x[2,0]
U05:%x[-1,0]/%x[0,0]
U06:%x[0,0]/%x[1,0]
U12:%x[0,1]
# Bigram
B
根据给定的template 和训练数据,需要得到一个CRF模型。
这里先对数据进行一个简单的介绍,
Train.data:
中
华
人
对于输入的一句话,最基本的单元是一个个的字。所以我们处理的单元是字。我们的任务是判断每个字到底是词首,词中还是词尾。在训练数据中,我们用B-NP, M_NP,I_NP分别表示词首,词中,词尾。
Template:
U00:%x[-2,0]
U01:%x[-1,0]
U12:%x[0,1]
表示什么意思,U00代表模板的名字, -2代表当行,意思是和当前字的位置,-2表示当前字的前面第2个字,比如,当前是“人”,-2代表是“中”。
# Bigram
B
表示的是bigram,这里只有一个,表示只计算相邻的字之间的bigram。
二. 数据在CRF++中的组织结构
中
华
人
民
共
和
国
国
家
主
席
开始,我们介绍几个概念,
1. 所有汉字的可能类别
这里就是指训练数据中最后一列中的所有的可能值。这里只有3个可能,B-NP, M-NP, I-NP。
2. unigram, bigram
bigram:
3. 构建如下搜索矩阵
4. node 和 path的概念
- CRF详解
- CRF++详解
- crf
- CRF++
- crf
- CRF
- CRF++
- CRF
- CRF
- CRF
- CRF
- Windows 下Java调用CRF++详解
- swig+crf++0.58+java环境配置详解(win+linux)
- CRF汇总
- crf.py
- CRF 移植
- CRF汇总
- CRF++使用
- 重庆启动实施三峡后续工作首批规划项目-重庆-三峡-后续工作
- 【python】args kwargs 用法
- 如果你不想继续穷下去,就看看吧,想想吧
- Linux下GCC 编译时如何指定链接库
- 动态平衡
- CRF详解
- 龙应台谈莫言获诺贝尔文学奖:最泥土最国际-龙应台-莫言-诺贝尔文学奖
- VC“cannot execute program”错误的解决方法
- Qt 全屏与 Esc
- 如何读懂别人的代码
- Bash Shell 十秒钟快速入门指引
- Tfs 2010使用小技巧
- 计算字符串的相似度(编辑距离)
- tungsten API 同步日志清除Binlog失败的BUG解决