python nltk中文_NLTK中文词性标注

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)

一元标注基于一个简单的统计

你可能感兴趣的:(python,nltk中文)