导航:首页 > 编程语言 > pythonnltk处理中文

pythonnltk处理中文

发布时间:2023-03-25 05:08:25

1. python中的nltk是什么

nltk(natural
language
toolkit)是python的自然语言处理工具包。自然语言是指人们日常交流使用的语言,如英语,印地语,葡萄牙语等。“自然语言处理”(Natural
Language
Processing
简称NLP)包含所有用计算机对自然语言进行的操作,从最简单的通过计数词出现的频率来比较不同的写作风格,到最复杂的完全“理解”人所说的话,至少要能达到对人的话语作出有效反应的程度。

2. 如何用 Python 中的 NLTK 对中文进行分析和处理

最近正在用nltk 对中文网络商品评论进行褒贬情感分类,计算评论的信息熵(entropy)、互信息(point mutual information)和困惑值(perplexity)等(不过这些概念我其实也还理解不深...只是nltk 提供了相应方法)。
我感觉用nltk 处理中文是完全可用的。其重点在于中文分词和文本表达的形式。
中文和英文主要的不同之处是中文需要分词。因为nltk 的处理粒度一般是词,所以必须要先对文本进行分词然后再用nltk 来处理(不需要用nltk 来做分词,直接用分词包就可以了。严重推荐结巴分词,非常好用)。
中文分词之后,文本就是一个由每个词组成的长数组:[word1, word2, word3…… wordn]。之后就可以使用nltk 里面的各种方法来处理这个文本了。比如用FreqDist 统计文本词频,用bigrams 把文本变成双词组的形式:[(word1, word2), (word2, word3), (word3, word4)……(wordn-1, wordn)]。
再之后就可以用这些来计算文本词语的信息熵、互信息等。
再之后可以用这些来选择机器学习的特征,构建分类器,对文本进行分类(商品评论是由多个独立评论组成的多维数组,网上有很多情感分类的实现例子用的就是nltk 中的商品评论语料库,不过是英文的。但整个思想是可以一致的)。
另外还有一个困扰很多人的Python 中文编码问题。多次失败后我总结出一些经验。
Python 解决中文编码问题基本可以用以下逻辑:
utf8(输入) ——> unicode(处理) ——> (输出)utf8
Python 里面处理的字符都是都是unicode 编码,因此解决编码问题的方法是把输入的文本(无论是什么编码)解码为(decode)unicode编码,然后输出时再编码(encode)成所需编码。
由于处理的一般为txt 文档,所以最简单的方法,是把txt 文档另存为utf-8 编码,然后使用Python 处理的时候解码为unicode(sometexts.decode('utf8')),输出结果回txt 的时候再编码成utf8(直接用str() 函数就可以了)。

阅读全文

与pythonnltk处理中文相关的资料

热点内容
为什么我的世界天空服务器进不去 浏览:260
钉钉直播后的视频如何线上加密 浏览:501
听主的命令 浏览:206
全民上云时代云服务器 浏览:519
iphone不创建id如何下载app 浏览:970
windowsphp扩展安装 浏览:93
emacslinux配置文件 浏览:379
python3在线教程 浏览:114
不小心删文件夹的文件 浏览:480
java获取手机IP 浏览:816
手机rar解压密码获取 浏览:344
程序员被辞退工资怎么处理 浏览:494
恋活的模型没加密 浏览:159
如何把安卓机的微信转移苹果 浏览:583
爬山算法相关题目 浏览:724
vc编程大全 浏览:118
excel表格单列数据加密 浏览:649
给同事的解压话语 浏览:993
linux关闭网卡命令行 浏览:455
史上最漂亮程序员 浏览:771