赞
踩
1.说明
学习自然语言处理,一定会参考NLTK,主要是学习它的思路,从设计地角度看看能做什么.其本质就是把语言看成字符串,字符串组,字符串集,寻找其间规律.
NLTK是多语言支持的,但目前网上的例程几乎没有用NLTK处理中文的,其实可以做。比如标注功能,它自身提供了带标注的中文语库(繁体语料库sinica_treebank).下面来看看怎样通过数据训练来实现中文词性自动标注.
可以利用它来标注中本,也可以寻找和验证一些隐性的规律.
2.相关知识
1)词性标注
词汇按它们的词性(parts-of-speech,POS)分类以及相应的标注它们的过程,词性包括:名词、动词、形容词,副词等.
2)中文字符的显示
Python内部编码是unicode,所以输出中文常常像这样"\u4eba\u5de5",用print函数输出时,将自动转换成本地字符集,也可以使用encode(‘utf-8’)函数转换.
3)数据集,训练集,评估
有监督的机器学习一般都是把数据分成两个部分,一部分用于训练,一部分用于测试,还可以通过不同分组交叉验证. Nltk提供了evaluate()函数评估标注效果.
4)默认标注(Default Tagger)
事先对语料库做了统计(利用nltk.FreqDist()),出现最多的是名词.
在这里,默认标注为名词
5)正则表达式标注(Regexp Tagger)
用匹配模式分配标记给标识符.在英文处理中,常用此方式识别各种形态(时态,后缀等),中文识别中也可以使用它来识别标点,数字等.
6)一元标注(Unigram Tagger)
一元标注基于一个简单的统计
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。