python自然语言分析 何翠仪_如何用 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() 函数就可以了)。

另外这篇文章也有很详细的讲到nltk 的中文应用,很值得参考:http://blog.csdn.net/huyoo/article/details/12188573

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502490.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何访问docker内php,主机怎么访问docker里的程序

主机怎么访问docker里的程序需求:1:本机访问docker中的应用2:其他机器访问docker中的应用3:dockerB中访问dockerA中的应用已知环境:主机IP:192.168.220.123容器A已启动,IP:172.17.0.…

苹果手机屏幕镜像搜索不到电视_最全小米电视投屏教程(建议收藏)

【dogkeji-科技犬】今天,小米电视官方带来了最全小米电视投屏教程,包括手机镜像投屏、电脑镜像投屏、APP直接投屏三种方案,建议收藏!手机镜像投屏如果你使用的是小米手机投屏,只需两步:1、首页点击遥控器菜…

vue实现上下滑动翻页_vue 实现滚动到底部翻页效果(pc端)

pc端vue 滚动到底部翻页 效果,具体内容如下所示:html:【{{item.code||item.name}}】{{item.name}}js:先写滚动事件handleScroll(){let scrollTop this.$refs.scrollTopList.scrollTop,clientHeight this.$refs.scrollTopList.clientHeight,…

Linux上的JAVA的IDE,在linux上运行的基于文本的强大java IDE

问题是 – 我喜欢旧货;)有一些我喜欢的旧笔记本电脑.它当然运行Xorg,而且速度很快.但Intellij IDEA仍然很慢.想过emacs,但从未使用过. emacs不是太复杂了吗?在许多窗口中以X下的文本模式工作,并制作一些脚本来自动化.解决方法:三大Java /通用IDE(IntelliJ IDEA,Ecli…

a8处理器相当于骁龙几_天玑700处理器怎么样 天玑700相当于骁龙多少_CPU_硬件教程...

根据最新消息得知,联发科(MediaTek)天玑系列将推出新的5G芯片——天玑700,对于这款芯片的性能参数目前透露的不是很多,具体天玑700处理器性能怎么样,大家不妨来看看根据最新消息得知,联发科(MediaTek)天玑系列将推出新的5G芯片——…

git上传分支的原理_几张图让你彻底弄懂git工作流(二) ——git分支

上篇文章已经说了Git简史以及Git基础,那么这篇文章简单总结下Git分支Git分支为了理解 Git 分支的实现方式,我们需要回顾一下,Git保存的不是文件差异或者变化量,而只是一系列文件快照.Git分支分支其实就是从某个提交对象往回看的历史文字描述imageGit中的…

firefox是什么浏览器_Selenium Firefox驱动程序:使用Firefox浏览器自动进行测试

根据statcounter统计,到2020年6月,Mozilla Firefox浏览器在全球浏览器市场中所占份额为4.25%,因此,对于每个Selenium测试用例,Mozilla Firefox浏览器都是不可避免的。 Mozilla开发人员推出了Geckodriver(也…

oracle 谭岚_Hibernate实现Oracle BLOB的数据读写(2)

这次采用的是EJB3的配置测试环境与前次一样:Hibernate3.6.7,Oracle 10g Express,JDK7,Win71,数据库脚本create table TUser (ID char(32) not null,name varchar(10char) not null,photo blob, --头像constraint PK_TU…

matlab绘制簇状图,用matplotlib自定义绘制柱形图

import pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsdf pd.read_excel("D:\我的文档\jupyter notebook.xlsx")dfsns.set(style "white", font_scale 1.2)# 解决中文乱码plt.rcParams[ "font.sans-serif"] "simhe…

hp打印机怎么连接电脑_打印机怎么连接电脑?安装打印机图文教程

怎么安装打印机?有用户买了打印机后却不懂该如何安装并且连接电脑,下面就给大家分享打印机的具体安装方法。本地打印机安装:1.先把随机配送光盘放进光驱,如电脑没有光驱的话,可以直接把文件拷到U盘,再放到电…

toad dba suite for oracle 12,Toad DBA Suite 和Toad Development Suite的区别

这两个版本都包括了Toad、Sql Optimizer、Data Modeler、Toad DataAnalysi、Konwledges等基本软件。DBA版又增加了Spotlight On Oracle单机版,Development版则增加了Benchmark for Oracle和Code Tester这两个软件。可以认为DBA版和开发版是不同的打包方式。(以上内容…

正泰eplan_【万泉河】给EPLAN初学者的建议:不用宏

首先声明,我不是EPLAN的高手,对画电气图的熟悉程度,远远不如我对PLC和WinCC的来的得心应手。但在这里,把我个人一点点经验推荐给大家。以避免新手在初学EPLAN的时候遭遇过多的挫折,从而一次次的由入门到放弃。这是我个…

git 查看自己秘钥_gitlab配置ssh密钥及简单使用

演示环境:当前系统Centos6.9,使用IP192.168.0.80修改gitlab仓库地址编辑gitlab.yml文件vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml将host: gitlab.example.com改成host: 192.168.0.80PS:当然你也可以把192.168.0.80改…

码工里开关灯为什么遮罩层在下面_装修公司为什么推荐无主灯设计?

此前的文章,我们曾多次提到无主灯设计,包括它的一些做法和注意事项,介绍过它高明的艺术手法。但是,我们从未讲解过无主灯设计的一些缺点和盲区,所以,也许笔者下面要讲的内容,将会颠覆你此前对无主灯设计的认识。无主灯设计客厅缺点一:挑空间(层高)一直以来,我们可能都认为,无主…

oracle导入 不是dba,IMP-00013只有DBA才能导入由其他DBA导出的文件

IMP-00013 只有 DBA 才能导入由其他 DBA 导出的文件--实例演示---system用户导出C:\Users\ZML>exp system/zml fileD:\zml.dmp log D:\zml.log tables (zml)Export: Release 11.2.0.1.0 - Production on 星期一 4月 21 21:39:12 2014Copyright (c) 1982, 2009, Oracle and…

oracle dbms_crypto,Oracle的dbms_obfuscation_toolkit加密解密数据

oracle从8i开始提供一个数据加密包:dbms_obfuscation_toolkit.利用这个包,我们可以对数据进行DES,Triple DES或者MD5加密. 本文就此讲解如何使用以及使用过程需要注意的问题.1. dbms_obfuscation_toolkit简介dbms_obfuscation_toolkit主要有一下几个存储过程:-DESGETKEY -- 产…

黑苹果系统坏了如何恢复_黑苹果macOS系统U盘版/恢复版基础安装教程

写在前面本文最后更新:2020年7月17日本文是一篇黑苹果安装基础教程,内容比较入门。安装黑苹果,相信谁都不敢说自己能100%解决所有问题。如果本文未能解决你的问题,请见谅。本文主要介绍两种安装方式:U盘安装&#xff0…

为什么安监控需要公网ip_媲美专线的视频监控组网,无须公网ip

众所周知,视频监控是安防系统的重要组成部分,各行各业必备,比如:超市、学校、公司、厂区等等随着社会的发展,利用网络传输搭建视频监控系统,已经成为了各行各业的普遍需求今天给大家带来,媲美专…

php中的file_upload,PHP文件上传(PHP file upload)

PHP文件上传(PHP file upload)我正在尝试使用php将文件上传到我的服务器,将它们保存到我的mysql数据库中,但我无法让它工作,这是我正在使用的脚本,我相信它与“$ _FILES有关“因为当我把它拿出来时”&& $ _FILES [userfil…

java 调用jira_java调用jira接口

http://www.cnblogs.com/starcrm/p/4837971.html首先通过jira的wsdl(http://localhost:8080/rpc/soap/jirasoapservice-v2?wsdl)生成要引入的类然后写客户端:package jiraTEST;import java.net.URI;import java.net.URISyntaxException;import java.util.ArrayList…