CRF学习日记-1
来源:互联网 发布:对外贸易数据网 编辑:程序博客网 时间:2024/06/02 19:43
把CRF的学习来的一点知识总结一下啊,脑子总是坏的很,一转眼就忘了,如果能给如我这样的NLP和计算机菜鸟带来帮助的话,就更开心了。
概述:
对于想学习NLP的入门级人员来说,先找个模型,做一个简单的任务,俺以为是一个非常不错的方法,感谢导师,让俺选择CRF做实体识别。
初学者一定要先科普一些NLP分词识别和词性识别的基础,再学习CRF++里面Example里面的案例(Example里面有四个任务,basenp,chunking,JapaneseNE,seg。前两个是英文数据,后两个是日文数据。第一个是命名实体识别,第二个应该是分词,后面两个没学习)。
CRF分词原理
CRF代表了新一代的机器学习技术分词,其基本思路是对汉字进行标注即由字构词(组词),不仅考虑了文字词语出现的频率信息,同时考虑上下文语境,具备较好的学习能力,因此其对歧义词和未登录词的识别都具有良好的效果;其不足之处是训练周期较长,运营时计算量较大,性能不如词典分词。
1. CRF把分词当做字的词位分类问题,通常定义字的词位信息如下:
- 词首,常用B表示
- 词中,常用M表示
- 词尾,常用E表示
- 单子词,常用S表示
2. CRF分词的过程就是对词位标注后,将B和E之间的字,以及S单字构成分词
3. CRF分词实例:
- 原始例句:我爱北京天安门
- CRF标注后:我/S 爱/S 北/B 京/E 天/B 安/M 门/E
- 分词结果:我/爱/北京/天安门
CRF分词工具包
我选择了CRF++,地址:http://taku910.github.io/crfpp/,可以去下载程序包,上面还有 案例介绍。windows环境下不需要安装,准备好训练数据,模板,测试数据之后,直接在Dos下运行命令即可。工具包内部文件如下图所示。
doc文件夹:就是官方主页的内容。
example文件夹:有四个任务的训练数据、测试数据和模板文件。
sdk文件夹:CRF++的头文件和静态链接库。
crf_learn.exe:CRF++的训练程序。
crf_test.exe:CRF++的预测程序
libcrfpp.dll:训练程序和预测程序需要使用的静态链接库。
实际上,需要使用的就是crf_learn.exe,crf_test.exe和libcrfpp.dll,这三个文件。
- CRF学习日记-1
- CRF学习
- CRF学习
- CRF++学习
- CRF++学习
- crf++学习资料
- 机器学习算法疗程(CRF)
- crf
- CRF++
- crf
- CRF
- CRF++
- CRF
- CRF
- CRF
- CRF
- JSP学习日记 - 1
- Hibernate学习日记(1)
- oracle笔记
- hive函数大全
- 81. Search in Rotated Sorted Array II
- 傅里叶分析之从入门到放弃
- 虚幻4渲染系统结构解析
- CRF学习日记-1
- SSLException异常解读与解决
- LINUX 可变参数的使用
- Leetcode 125 Valid Palindrome
- git 远程版本库,github提供服务原理,git自动更新发送邮件
- Spring 简单的配置
- Error installing pods:activesupport requires Ruby version >=2.2.2
- 十大面试问题解惑,秒杀一切HR、技术面试。程序员必读! 最能体现求职者能力的就是面试,能不能拿到Offer,取决于你面试时的表现,只有有准备才能在面试过程中游刃有余。小编收集了10个面试官最爱提的问题
- Java学习记录(5)——深入数组