A. 如何用 python 中的 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() 函数就可以了)。
B. python sklearn 怎样实现多方法混合
最近在拿 sklearn 做中文文本分类器,
网上找到的例子都是拿带标签的数据,二八划分后,八成用于训练模型,两成用于测试,
然后分析测试结果看精确度。
现在,我已经使用训练数据做好了模型训练(存在文本分类器的对象了),
拿一段之前数据集里面没有的文本数据,使用训练好的文本分类器做类别预测,
问题是如何拿到预测的类别的名称呢。。。
代码如下:
# cls 是之前已经训练好的文本分类器对象
pred = clf.predict(X_new)
怎样从预测结果 pred ( ndarray )获取到分类的类别名称呢?
我有尝试过如下的方式去获取:
label_list = list()
C. 将新数据预测在Python问题,怎么解决
最近在拿 sklearn 做中文文本分类器, 网上找到的例子都是拿带标签的数据,二八划分后,八成用于训练模型,两成用于测试, 然后分析测试结果看精确度。 现在,我已经使用训练数据做好了模型训练(存在文本分类器的对象了), 拿一段之前数据集里
D. python具体在文本处理上怎么用
在诸多软件压缩包中或是项目压缩包中都会存在一个readme.txt文件,其中的内容无非是对软件的简单介绍和注意事项。但是在该文本文件中,内容没有分段分行,是非常冗杂地混在一起。当然处理手段多种多样,而我正好尝试利用Python解决这个问题。另外,这些内容或许对将来爬虫爬下的内容进行处理也是有些帮助的,只不过面对的混乱和处理需求不同而已。
这里的思路很简单,打开一个文本文档,对其中具有两个及两个以上的空格进行处理,即产生换行,另外出现很多的‘=’和‘>>>’也进行处理。这里我尝试处理的是easyGUI文件夹中的read.txt,该文件我复制在了D盘的根目录下。具体的实现代码如下:
def save_file(lister):#将传入的列表保存在新建文件中 new_file = open('new_file','w')#创建并打开文件,文件可写 new_file.writelines(lister)#将列表lister中的内容逐行打印 new_file.close()#关闭文件,且缓存区中的内容保存至该文件中def split_file(filename):#分割原始文件 f = open(filename)#打开该原始文件,默认该文件不可修改 lister = []#初始化一个空列表 for each_line in f: if each_line[:6] != '======' and each_line[:3] != '>>>': #当连续出现六个‘=’或连续三个‘>’时,打印一个换行符,实际体现在else中 each_line.split(' ',1)#当出现两个空格时,分割一次,并在下一行代码中以一行的形式保存在列表中 lister.append(each_line) else:
lister.append('\n')
save_file(lister)
f.close()
split_file('D:\\README.txt')
代码给出了详细的注释。其中得到的新的名为“new_file”的文件保存在默认的Python项目的目录下。当然,可以通过chdir()更改工作目录,使得文件创建在自己指定的位置。
E. 在python中如何根据已有词典对文本进行分类
如你所说的这种有简单规则的,写个正则匹配就可以了。要满足更复杂的要求就用挖掘算法
F. 有没有谁最大熵自然语言处理最大熵文本分类器,哪位大侠有源代码(C++,Python)
python nltk库
G. 分享!5种常用的Python工具
IDLE
在安装Python时,默认也会安装IDLE。这是最优秀的Python工具之一。它可以降低Python入门的门槛。它的主要功能包括Python Shell窗口(交互式解释器)、自动补齐、高亮显示语法以及基本的集成调试器。IDLE轻巧易用,方便学习。但是,它不适用于大型项目。许多程序员都将其作为最佳的Python工具。
Scikit-learn
Scikit-learn是数据科学最常使用的Python工具之一。这是一款为机器学习和数据科学而设计的Python工具。该工具主要用于处理分类、回归、聚类、模型选择以及预处理等任务。scikit-Learn最出色的功能是在测试数据集上执行基准测试时,表现出的惊人速度。因此,对于程序员和学生来说,Scikit-learn是最优秀的Python工具之一。
Theano
Theano是一款数据科学的Python工具,对于程序员和学生而言,这是一款非常可靠的工具。它是深度学习方面最好的Python工具,因此非常适合深度学习。Theano的设计主旨是用户友好、模块化、易于扩展,而且可以与Python配合使用。它能够以最佳方式表达神经网络。Theano可以在TensorFlow和CNTK等流行的神经网络之上运行。
Selenium
Selenium是最佳的Python自动化工具之一。它适用于Python测试的自动化,常常用作Web应用程序的自动化框架。我们可以利用Selenium,通过许多编程语言(包括Java、C#、Python、ruby以及其他许多程序员和学生使用的语言)来编写测试脚本。你还可以在Selenium中集成Junit和TestNG等工具,来管理测试用例并生成报告。
Test complete
Testcomplete是另一款非常出色的Python自动化工具。支持Web、移动和桌面自动化测试。更高级的应用需要获得商业许可,而且它还可以帮助学生提高学业成绩。Test complete还可以像机器人框架一样执行关键字驱动的测试。它拥有最出色的录制以及回放功能,非常实用。
关于分享!5种常用的Python工具,环球青藤小编就和大家分享到这里了,学习是永无止境的,学习一项技能更是受益终身,所以,只要肯努力学,什么时候开始都不晚。如果您还想继续了解关于python编程的学习方法及素材等内容,可以点击本站其他文章学习。
H. python 有好的文本分类库吗
scikit_learn中就有文本分类器。。svm,nb,lda这些
I. Python文本处理工具都有哪些
1、 NLTK — Natural Language Toolkit
搞自然语言处理的同学应该没有人不知道NLTK吧,这儿也就不多说了。不过引荐两本书籍给刚刚触摸NLTK或许需求具体了解NLTK的同学: 一个是官方的《Natural Language Processing with Python》,以介绍NLTK里的功用用法为主,一起附带一些Python常识,一起国内陈涛同学友情翻译了一个中文版,这儿可以看到:引荐《用Python进行自然语言处理》中文翻译-NLTK配套书;另外一本是《Python Text Processing with NLTK 2.0 Cookbook》,这本书要深入一些,会涉及到NLTK的代码结构,一起会介绍怎么定制自己的语料和模型等,相当不错。
2、 Pattern
Pattern由比利时安特卫普大学CLiPS实验室出品,客观的说,Pattern不仅仅是一套文本处理东西,它更是一套web数据挖掘东西,囊括了数据抓取模块(包含Google, Twitter, 维基网络的API,以及爬虫和HTML剖析器),文本处理模块(词性标示,情感剖析等),机器学习模块(VSM, 聚类,SVM)以及可视化模块等,可以说,Pattern的这一整套逻辑也是这篇文章的组织逻辑,不过这儿我们暂时把Pattern放到文本处理部分。我个人首要使用的是它的英文处理模块Pattern.en, 有许多很不错的文本处理功用,包含基础的tokenize, 词性标示,语句切分,语法检查,拼写纠错,情感剖析,句法剖析等,相当不错。
3、 TextBlob: Simplified Text Processing
TextBlob是一个很有意思的Python文本处理东西包,它其实是根据上面两个Python东西包NLKT和Pattern做了封装(TextBlob stands on the giant shoulders of NLTK and pattern, and plays nicely with both),一起供给了许多文本处理功用的接口,包含词性标示,名词短语提取,情感剖析,文本分类,拼写检查等,甚至包含翻译和语言检测,不过这个是根据Google的API的,有调用次数约束。
4、 MBSP for Python
MBSP与Pattern同源,同出自比利时安特卫普大学CLiPS实验室,供给了Word Tokenization, 语句切分,词性标示,Chunking, Lemmatization,句法剖析等根本的文本处理功用,感兴趣的同学可以重视。
关于 Python文本处理工具都有哪些,环球青藤小编就和大家分享到这里了,学习是永无止境的,学习一项技能更是受益终身,所以,只要肯努力学,什么时候开始都不晚。如果您还想继续了解关于python编程的学习方法及素材等内容,可以点击本站其他文章学习。
J. 如何用 Python 中的 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() 函数就可以了)。