最近正在用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

python自然语言分析 何翠仪_如何用 Python 中的 NLTK 对中文进行分析和处理?相关推荐

  1. python如何让图片镜像翻转_如何用 Python 增量备份 Roam Research 笔记图片?

    消除后顾之忧,轻松输入卡片笔记. 题图:Photo by Markus Spiske on Unsplash 前些日子,我用视频的方式给你介绍了 Roam Research 这款工具.如果你还没有来得 ...

  2. python词云有什么用_如何用Python实现词云效果

    如何用Python实现词云效果 发布时间:2020-06-06 10:56:57 来源:亿速云 阅读:204 作者:Leah 这篇文章主要为大家详细介绍了用Python实现词云效果的方法,图文详解容易 ...

  3. python怎样打开加密的文件_如何用Python 加密文件

    生活中,有时候我们需要对一些重要的文件进行加密,Python 提供了诸如 hashlib,base64 等便于使用的加密库. 但对于日常学习而言,我们可以借助异或操作,实现一个简单的文件加密程序,从而 ...

  4. 用python写用手机发邮件_如何用python写发邮件?

    原标题:如何用python写发邮件? 1. 163邮箱 163邮箱需要设置客户端授权密码 请输入图片描述 # coding:utf-8 from email.header import Header ...

  5. 如何用python完成基本统计信息计算_如何用python计算基本统计值?

    如何用python计算基本统计值? 用python计算基本统计值的代码为def getNum(): #从控制台获取多个不确定数据的方法 nums = []; iNumStr = input(" ...

  6. python生僻字如何转码_如何用Python检测生僻字

    最近在工作中碰到一个需求,要求检测字段是否包含生僻字以及一些非法字符如 ~!@#$%^&*.通过网上的查找资料解决了,现在将解决的过程和示例代码分享给大家,有需要的可以参考借鉴.下面来一起看看 ...

  7. python怎么实现音乐快进_如何用PYTHON代码写出音乐【】

    如何制作MIDI(用于vocaloid 3) 我也是因为V家才来找midi的 如何用PYTHON代码写出音乐 在python-midi,每个乐谱用Pattern对象表示,乐的每个音轨(通常音乐很多轨道 ...

  8. 用python画小猪佩奇的编码_如何用python绘制小猪佩奇-python绘图教程图文讲解

    原标题:如何用python绘制小猪佩奇-python绘图教程图文讲解 如何运用python来绘制小猪佩奇呢?通过几道简单的python代码即可让你绘制出小猪佩奇,话不多说,直接上代码. 用python ...

  9. 用python输入任意三条边长_如何用python求第三条边边长

    用Python实现"已知三角形两个直角边,求斜边" 要求:用户输入两个直角边(数值为浮点类型),若非浮点类型,则提示用户,继续输入. 思路:伪代码描述下步骤 1.-input a ...

最新文章

  1. php 遍历所有的文件
  2. 怎样构建中文文本标注工具?(附工具、代码、论文等资源)
  3. python爬虫的scrapy安装+pymongo的安装
  4. 微信小程序 封装接口
  5. SpringMVC的数据响应-页面跳转-返回ModelAndView形式2(应用)
  6. uml图中的各种箭头_一次搞懂建模语言UML
  7. C++头插法尾插法建立单链表,合并两个有序单链表
  8. 解决企业人力短缺难题?且看RPA如何大展身手!
  9. FPGA中亚稳态相关问题及跨时钟域处理
  10. 一个故事讲完 CPU 的工作原理
  11. 《Linux程序设计(第4版)》阅读心得
  12. Ubuntu中扩大虚拟机硬盘容量
  13. 安卓开发必须会的技能!Android性能优化最佳实践,知乎上转疯了!
  14. 程序员客栈 接不到单子_常见(但不常见)单子
  15. 通过三层交换机实现vlan间互通
  16. 苹果用Android发文,安卓和苹果怎么传文件 安卓和苹果传文件详细教程
  17. 了解DN、RDN和CN
  18. 360浏览器查看服务器响应内容,360浏览器怎么看3个月以前的浏览记录?
  19. 使用C语言编写测速程序
  20. Azure RTOS ThreadX 移植 STM32H743

热门文章

  1. this的用法添加样式给tr或者div
  2. SpringBoot集成MyBatis的分页插件PageHelper
  3. 第一章 计算机网络 1 计网体系结构的概念和功能 [计算机网络笔记]
  4. Leetcode--102. 二叉树的层次遍历
  5. 模板引擎工作原理_广州seo了解下搜索引擎的工作原理是什么
  6. vba九九乘法表代码_VBA代码模块化--数据透视表
  7. stm32l0的停止模式怎么唤醒_手把手教你怎么利用旧电脑搭建NAS组建自己的黑群晖...
  8. html 两个图片并排,HTML – 两个图像并排和响应
  9. mysql count里面能加条件吗_select count(1) 和 count(*),哪个性能更好?
  10. python程序员怎么面试_Python程序员面试,这些问题你必须提前准备!