用nltk统计中文词汇

作为python里为数不多的自然语言处理工具包,nltk提供了非常强大和非常便利的工具。但nltk主要是基于英文的,对于中文,也只能一些比较简单的操作。其中,统计文档的词汇量,用nltk来操作很方便。

使用过python的人都知道。python 2.x对于中文的支持并不是很好,乱码是一个很头疼的事情。但是到了python 3.x,使用了utf-8的编码,所以在python 3.x里,下面的操作就是合法的:

2014-04-14_170555

 

 

 

 

 

下面是在python 3.2中,运用nltk统计词汇总数的例子(test002.txt仅有三个已经分词的词汇,文件编码为utf-8):

2014-04-14_170555

 

同样的文档,我们再在python 2.7中测试:

2014-04-14_170555

可以看到在python 3.2中,test002的词汇为3个,在python 2.7中为14个?这是为什么呢?因为python 2.7把汉字当作了两个字节,把空格也统计进去了。

虽然现在对python 3.x的各种支持还是不是很多,但该有的也基本都有了,尤其对于自然语言处理来说,应该说python 3.x是用python进行nlp的福音啊。

 

 

说点什么

avatar
  Subscribe  
提醒