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

用nltk对自己的日记进行分析。得到以下结果(节选)
‘��’, ‘强�’, ‘彼�’, ‘��’, ‘��’, ‘��’, ‘��’, ‘��’, ‘��’, ‘��’, ‘��’, ‘��’, ‘��’, ‘��’, ‘��’, ‘��’, ‘tend’, ‘��’,
请问对于中文的自然语言分析,有哪些方法和工具可以推荐?

回复内容:

最近正在用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() 函数就可以了)。
楼主遇到的只是编码的问题…
有很多好用的中文处理包:
Jieba:可以用来做分词,词性标注,TextRank
HanLP:分词,命名实体识别,依存句法分析,还有FudanNLP,NLPIR
个人觉得都比NLTK好用~中文分词用结巴就好了,我做了个小例子 nltk-比较中文文档相似度你说这个跟NLTK无关,换Python3,就没有这些鬼了!中文还得UTF8!
大爱NLTK!其它包,除了固定任务的,java就算了,使用:text.decode(‘gbk’)
分词:你找相应的中文分词包 https://github.com/fxsjy/jieba因为nltk不能对中文进行分词的原因吧,最近也在学习这方面的东西,推荐一个工具中文處理工具,可以研究一下我遇到同样的问题,在看《Python自然语言处理》一书,成功加载自己的文档后,却看到里面的中文如你所示,应该是编码设置的问题,但是不知道该设置哪里。这方面的资料太少了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2301709.html

(0)
上一篇 2025年2月28日 05:45:47
下一篇 2025年2月28日 05:46:06

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 微信支付限额怎么解除

    微信是时下手机里必备的APP之一,人们通过该APP不仅可以和家人朋友视频聊天,还可以用来支付使用,不过很多人在使用微信的时候都有遇到微信支付限额的情况,一起看看微信支付的时候限额是怎么回事。 微信支付限额怎么解除 微信支付限额是很多友友在使…

    2025年4月26日
    218.6K00
  • 杨梅里面的小白虫可以吃吗

    杨梅是生活中比较常见的一种水果,一般在夏季上市,吃起来鲜嫩多汁,味道香甜可口,深受人们喜欢。杨梅的果肉是直接裸露在外面的,所以容易招虫子,很多人吃杨梅都会发现里面有小白虫,这种一般是果蝇幼虫,不含有害物质,吃了不会有什么影响。 杨梅里面的小…

    2025年4月20日
    48.5K00
  • 发生0x0000004e错误代表了什么问题

    0x0000004e是什么故障 在计算机系统中,故障是一个常见的问题。当计算机遇到故障时,系统通常会因为无法正常运行而出现停机、崩溃或者出现错误提示。而在Windows系统中,有一个特定的故障代码0x0000004e,这是一个蓝屏错误代码,…

    互联网 2025年3月1日
    400
  • 解决蓝屏错误0x0000004e的方法

    0x0000004e蓝屏解决方法 当我们使用电脑时,偶尔可能会遇到蓝屏的情况。蓝屏是指Windows操作系统遇到了一个无法恢复的错误,导致电脑无法正常运行,并以蓝屏的方式显示错误信息。其中一个常见的蓝屏错误代码是0x0000004e。本文将…

    互联网 2025年3月1日
    300
  • Xbox.com/ErrorHelp 0x87e50007[修复]

    本文将指导您解决xbox错误代码0x87e50007,可能由服务器问题、网络不稳定或更新缺失引起。 在您继续进行更多故障排除之前,请确保检查Xbox Live服务状态。如果存在Xbox服务问题,可能是由服务器故障引起的。在这种情况下,请耐心…

    2025年2月28日
    300
  • GeForce Now错误代码0x0000012E[修复]

    如果您在nvidia geforce now上遇到错误代码0x0000012e,我们将分享解决方案。我们也曾遇到相同问题,以下是我们解决错误的方法,让您可以顺利在geforce上享受游戏乐趣。 立即修复GeForce错误代码0x000001…

    2025年2月28日
    400
  • 解决0x0000007b错误的方法

    不少的小伙伴在使用电脑的时候都遇到了出现0x0000007b错误代码的情况,那么遇到这类情况该怎么解决呢?我们可以通过更改硬盘模式或重置设置的方法来解决。下面就给你们带来了解决的方法一起看看吧。 出现0x0000007b怎么办: 方法一: …

    2025年2月25日 互联网
    500
  • 为什么洗澡时总想小便

    洗澡时总想小便其实是很正常的,因为洗澡时会放出热水,在浑身放松的情况下,看到水后是会导致尿液增加的,让人不自觉的想要小便,这其实就是水的条件反射,也可能是因为冷热交替让肌肉收缩,导致有尿意。 为什么洗澡时总想小便 当我们接触到温暖的水时,身…

    2025年2月19日
    688.0K00
  • 刚上厕所又想上厕所是怎么回事 小便次数多是什么病因引起的

    上厕所是正常的生理现象,能拍出体内的废物,是人体正常的新陈代谢过程。有很多人会在刚上完厕所没多久的时候又产生尿意。那么这是什么原因呢?是病吗? 刚上厕所又想上厕所是怎么回事 1、最明显的原因就是喝水、喝饮料过多,或者天气寒冷或者遇到事情紧张…

    2025年2月15日 用户投稿
    685.4K00
  • xe炸图辅助工具如何导致服务器崩溃?

    “xe炸图辅助崩服务器”通常指的是使用外挂程序或非法软件来攻击或破坏游戏服务器,导致服务器崩溃。这种行为是违法的,违反了大多数在线游戏的服务条款,并可能导致玩家账号被封禁。 在当前的数字游戏时代,游戏辅助工具为玩家提供了一种简化游戏难度和增…

    服务器 2025年2月15日
    400

发表回复

登录后才能评论