python中文信息处理(如何用Python中的NLTK对中文进行分析和处理)

1.如何用 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(处理) ——> (输出)utf8Python 里面处理的字符都是都是unicode 编码,因此解决编码问题的方法是把输入的文本(无论是什么编码)解码为(decode)unicode编码,然后输出时再编码(encode)成所需编码。由于处理的一般为txt 文档,所以最简单的方法,是把txt 文档另存为utf-8 编码,然后使用Python 处理的时候解码为unicode(sometexts.decode('utf8')),输出结果回txt 的时候再编码成utf8(直接用str() 函数就可以了)。

2.请问现在中国语言文学专业都有哪些课程

主要学科介绍 主干学科:中国语言文学。

主要课程:语言学概论、现代汉语、古代汉语、中国汉字学、汉语史(或文字、声韵、训估学)、中外语言学史、语言文字信息处理、中国文化概论、中国古代文献学 汉语言文学 、文学概论、马克思主义文论、中国现代文学史、中国现当代文学作品选、中国古代文学史、中国古代文学作品选、民间文学、比较文学、写作、文艺心理学、中国文学批评史、语文教学论、自然科学基础等。 主要实践性教学环节:包括教育实习、见习、教育调查、社会调查或毕业论文等,一般安排15~20周。

中文,信息,python

3.如何解决Python中文问题

python的中文问题一直是困扰新手的头疼问题,Python的发行版至今尚未包括任何中文支持模块。当然,几乎可以确定的是,在将来的版本中,python会彻底解决此问题,不用我们这么麻烦了。 笔者使用的是2.5版本。Python的版本可以通过调用sys模块的sys.version查看。在几个月的学习中,主要遇到以下问题:

1. print打印中文的问题:

在编辑器中输入一段测试代码:

s='测试'

print s

运行结果如下:

Non-ASCII character '\xb2' in file c:\Documents and Settings\Administrator\桌面\2.py on line 1, but no encoding declared; see for details: 2.py, line 1, pos 0

原因是如果文件里有非ASCII字符,需要指定编码声明。把2.py文件的编码重新改为utf-8,并加上编码声明:

# -*- coding: utf-8 -*-

s='测试'

print s

运行后可以正确打印中文。

2.中文路径的问题。

在D盘下保存一个名字为‘中文.txt'的文件。运行如下测试代码:

# -*- coding: utf-8 -*-

f=open('D:\\中文.txt', 'r')

print f.read()

运行结果如下:

IOError: [Errno 2] No such file or directory: 'D:\\\xe4\xb8\xad\xe6\x96\x87.txt'

字符串有很多的编码,不同的系统和平台有各自的编码 ,为了实现系统或平台之间的信息交互可能需要编码转换。这里只需要先使用UNICODE编码一下,这样再读取中文路径就不会有问题了:

复制代码

# -*- coding: utf-8 -*-

path='D:\\中文.txt'

spath=unicode(path , "utf8")

f=open(spath,'r')

print f.read()

复制代码

然后就可以正确显示文件内容

总结:

所有的中文显示问题都可以归结为编码问题,遇到其他类似的问题,那只能仔细看文档,靠你的经验,靠你多做测试。而且根据python所报出来的错误一般也可以判断出来。那么当发现需要编码转换时,剩下的就是如何正确进行码制转换。

为了正确处理多语言文本,Python在2.0版后引入了Unicode字符串。从那时起,Python语言中的字符串就分为两种:一种是2.0版之前就已经使用很久的传统Python字符串,一种则是新的Unicode字符串。在Python语言中,一般的解决办法是使用unicode()内建函数对一个传统Python字符串进行“解码”,得到一个Unicode字符串,然后又通过Unicode字符串的encode()方法对这个Unicode字符串进行“编码”,将其“编码”成为传统Python字符串。

4.请问python怎么可以很好的处理中文字符

# -*- coding: utf8 -*-a={'一':'二'}print a['一']print a.values()print a.__getattribute__print('\n。

\n')b={'1':'2'}print b['1']print b.values()------------------------------------输出--------------------->>> ================================ RESTART ================================>>> 二['\xe4\xba\x8c']

2['2']可以看到a.values出现了中文显示不正常这个有好的解决办法么?。

python中文信息处理

转载请注明出处编程代码网 » python中文信息处理(如何用Python中的NLTK对中文进行分析和处理)

资讯

python写csv格式文件(python怎么写入csv文件)

阅读(32)

本文主要为您介绍python写csv格式文件,内容包括python怎么写入csv文件,python怎么写入csv文件,csv文件怎么打开使用Python读取和写入CSV文件。import pandas as pd#任意的多组列表a = [1,2,3]b = [4,5,6] #字典中的key值即为csv中列名d

资讯

python项目命名空间管理(Python语言中命名空间的使用?)

阅读(34)

本文主要为您介绍python项目命名空间管理,内容包括Python语言中命名空间的使用?,未能找到类型或命名空间名称"?Attribute&qu?,介绍一下C++的命名空间TR1~~~如题。如果一个命名声明为全局的,那么对它的所有引用和赋值会直接搜索包含这个模块

资讯

python两个数组去重(如何使用python将二维数组去重呢)

阅读(30)

本文主要为您介绍python两个数组去重,内容包括如何使用python将二维数组去重呢,如何使用python将二维数组去重呢,python函数如何返回多个变量。方案1:转化为虚数x=c[:,0]+c[:,1]*1jprint(转化为虚数:,x)print(虚数去重后:,np.unique(x))

资讯

python入门测试教程(初学Python,想以后做自动化测试,如何学习?)

阅读(30)

本文主要为您介绍python入门测试教程,内容包括Python做软件自动化测试的入门提问,初学Python,想以后做自动化测试,如何学习?,零基础如何开始学习Python?如何入门?。1)学好python的第一步,就是马上到官网上下载一个python版本。2)下载完毕后,就

资讯

python字符串匹配列表(python中怎么建立一个字符串列表)

阅读(35)

本文主要为您介绍python字符串匹配列表,内容包括python中如何实现字符串最后几位的精确匹配?例如一个列表list=[,python中怎么建立一个字符串列表,python怎样把字符串列表。可以使用字符串的join方法,可以把列表的各个元素连接起来,字符串就

资讯

python提取空格(python里面怎么提取空格分开的字符串)

阅读(25)

本文主要为您介绍python提取空格,内容包括python里面怎么提取空格分开的字符串,如何用python把文件中每行字符前面的空格去掉,Python怎么样截取字符。借助于lstrip()提取左边空格>>> s = A B C >>> s.lstrip() # 去除字母字符串左边的空格A

资讯

python对话框闪(python从run对话框运行*.bat为什么一闪)

阅读(34)

本文主要为您介绍python对话框闪,内容包括python从run对话框运行*.bat为什么一闪,python在windows系统中.py存储文件打开后一闪而过?,CYberlinkyoucam启动后出现这个对话框,在设置中也找?。本文重点介绍如何在Abaqus中执行Python脚本。如果

资讯

python浮点字符转数字(python字符串格式化什么意思)

阅读(29)

本文主要为您介绍python浮点字符转数字,内容包括python怎么把字符型的数字转换成数字,python字符串格式化什么意思,在Python中,怎么把整数和浮点数混合的列表转化为数值列表百度。在python中也有类似于c中的printf()的格式输出标记。在pytho

资讯

python画球(python怎么做动态的球球?)

阅读(36)

本文主要为您介绍python画球,内容包括python程序设计:输入球体半径r,计算球体的体积和表面积,python怎么做动态的球球?,pythonturtle如何画椭圆。变量名字只是为了用户使用方便而使用的,对于计算机,根本就不知道这中间的东西,看待这些都是使用

资讯

python回测系统(测试报告)

阅读(26)

本文主要为您介绍python回测系统,内容包括如何使用python对基金投资收益进行回测,测试报告想做一个自动化测试报告的页面展示,有什么好的推荐么?,可以系统学习python的机构?。首先需要描述一些上下文,这是一个自动化测试调度系统中的报告展

资讯

python建模插补(python下的networkx怎么安装)

阅读(23)

本文主要为您介绍python建模插补,内容包括如何利用python实现多元ARIMAX建模?,怎么用arcgispython批量插值,python下的networkx怎么安装。Networkx简介 课题研究与复杂网络有关,而是用Python又非常方便,networkx便是做复杂网络研究的“利器”

资讯

python写csv格式文件(python怎么写入csv文件)

阅读(32)

本文主要为您介绍python写csv格式文件,内容包括python怎么写入csv文件,python怎么写入csv文件,csv文件怎么打开使用Python读取和写入CSV文件。import pandas as pd#任意的多组列表a = [1,2,3]b = [4,5,6] #字典中的key值即为csv中列名d

资讯

python项目命名空间管理(Python语言中命名空间的使用?)

阅读(34)

本文主要为您介绍python项目命名空间管理,内容包括Python语言中命名空间的使用?,未能找到类型或命名空间名称"?Attribute&qu?,介绍一下C++的命名空间TR1~~~如题。如果一个命名声明为全局的,那么对它的所有引用和赋值会直接搜索包含这个模块

资讯

python两个数组去重(如何使用python将二维数组去重呢)

阅读(30)

本文主要为您介绍python两个数组去重,内容包括如何使用python将二维数组去重呢,如何使用python将二维数组去重呢,python函数如何返回多个变量。方案1:转化为虚数x=c[:,0]+c[:,1]*1jprint(转化为虚数:,x)print(虚数去重后:,np.unique(x))

资讯

python入门测试教程(初学Python,想以后做自动化测试,如何学习?)

阅读(30)

本文主要为您介绍python入门测试教程,内容包括Python做软件自动化测试的入门提问,初学Python,想以后做自动化测试,如何学习?,零基础如何开始学习Python?如何入门?。1)学好python的第一步,就是马上到官网上下载一个python版本。2)下载完毕后,就

资讯

python文本框粘贴(python怎么复制粘贴?)

阅读(33)

本文主要为您介绍python文本框粘贴,内容包括python怎么复制粘贴?,怎么在输入框里复制粘贴发言?,复制文本拷过来呢?。复制粘贴的方法:在IDE里面鼠标选中之后ctrl+c,ctrl+v。1. Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpa