如何用 Python 中的 NLTK 对中文进行分析和处理?
用nltk对自己的日记进行分析。得到以下结果(节选)
'\xb8\xb0', '\xe5\xbc\xba\xe8\xba', '\xe5\xbd\xbc\xe5', '\xb8\xb4', '\xb8\x8a', '\xb8\x8b', '\xb8\x88', '\xb8\x89', '\xb8\x8e', '\xb8\x8f', '\xb8\x8d', '\xb8\x82', '\xb8\x83', '\xb8\x80', '\xb8\x81', '\xb8\x87', 'tend', '\xb8\x9a',
请问对于中文的自然语言分析,有哪些方法和工具可以推荐?
回复内容:
最近正在用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自然语言处理》一书,成功加载自己的文档后,却看到里面的中文如你所示,应该是编码设置的问题,但是不知道该设置哪里。这方面的资料太少了

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas
![Kod ralat GeForce Now 0x0000012E [TETAP]](https://img.php.cn/upload/article/000/000/164/170834836989999.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Jika anda menghadapi kod ralat 0x0000012E pada NVIDIA GeForceNOW, kami akan berkongsi penyelesaiannya. Kami telah menghadapi isu yang sama, dan berikut ialah cara kami membetulkannya supaya anda boleh menikmati permainan di GeForce dengan lancar. Betulkan Kod Ralat GeForce Now 0x0000012E Now Untuk membetulkan kod ralat GeForceNow 0x0000012E pada komputer Windows, ikuti penyelesaian ini: Semak keperluan sambungan internet Sahkan keperluan perkakasan Jalankan sebagai pentadbir Cadangan tambahan. Sebelum memulakan, kami mengesyorkan agar anda menunggu dengan sabar untuk seketika, kerana ramai pengguna tidak mengambil tindakan untuk menyelesaikan isu tersebut. Kadangkala, kerosakan boleh menyebabkan ini

Apakah kegagalan 0x0000004e Kegagalan adalah masalah biasa dalam sistem komputer. Apabila komputer mengalami kerosakan, sistem biasanya dimatikan, ranap atau memaparkan mesej ralat kerana ia tidak dapat berjalan dengan betul. Dalam sistem Windows, terdapat kod kesalahan khusus 0x0000004e, iaitu kod ralat skrin biru yang menunjukkan bahawa sistem telah mengalami ralat yang serius. Ralat skrin biru 0x0000004e disebabkan oleh isu kernel atau pemacu sistem. Ralat ini biasanya menyebabkan sistem komputer

Masalah skrin biru ialah apabila sistem pengendalian tidak dapat pulih daripada ralat dan memaksa imej skrin muncul untuk melindungi fail data komputer. Dan berikan pengguna kod untuk ralat untuk memudahkan penyiasatan. Apakah sebab kod skrin biru win7 0x万万3b? Bagaimana untuk membetulkannya? Mengenai isu ini, siri kecil berikut memperkenalkan kaedah pembaikan kod skrin biru 0x juta juta 3b dalam versi win7 ultimate. Lihat butiran di bawah. Apa yang perlu dilakukan dengan kod skrin biru 0x000003b dalam Win7 Ultimate Edition? 1. Apabila sistem win7 menghentikan ralat yang digesa dengan 0x000003B, anda biasanya perlu mendapatkan tampalan secara manual untuk menyelesaikan masalah. Berdasarkan kod skrin biru sahaja, kod 0x000003B disebabkan oleh ralat rangkaian yang tidak dijangka. 2. Oleh itu, adalah perlu untuk mengosongkan cache penyemak imbas sistem dalam masa

Netizen yang sering bermain permainan komputer kadangkala menghadapi skrin biru komputer, tetapi mereka tidak tahu apa puncanya kerana keadaan berbeza dan sebabnya tidak jelas Jadi apakah kod skrin biru 0xWanwan8e? Bagaimana untuk menyelesaikannya? Untuk menggunakan pengguna ini dengan lebih baik, Xiaobian akan memberitahu anda sebab dan penyelesaian untuk kod skrin biru 0x1008e. Saya percaya bahawa ramai netizen keliru dengan kod yang salah apabila komputer mereka gagal. Untuk menyelesaikan dengan cepat kekeliruan dan masalah yang disebabkan oleh kod dan menghapuskan kerosakan, apakah maksud kod skrin biru 0x1008e? Biar kami beritahu anda cara menyelesaikan masalah kod skrin biru 0x万万8e. Gambar dan teks untuk menyelesaikan kod skrin biru 0x00008e. Menjumpai kod skrin biru pada titik kerosakan (Rajah 1) Kod: 0x000008e Sebab: Sistem pada masa ini tidak dapat melaksanakan JOI

Ramai rakan telah menemui kod ralat 0x0000007b semasa menggunakan komputer, jadi bagaimana untuk menyelesaikan situasi seperti ini? Kami boleh menyelesaikan masalah ini dengan menukar mod cakera keras atau menetapkan semula tetapan. Mari kita lihat penyelesaian di bawah. Apa yang perlu dilakukan jika 0x0000007b muncul: Kaedah 1: 1. Kemungkinan pemacu kad grafik yang salah telah dikemas kini selepas kod ralat muncul. 2. Kemudian tekan "F8" untuk memasuki antara muka pemilihan mod selamat, pilih "Konfigurasi Baik Terakhir Diketahui" untuk memasuki sistem. 3. Ini boleh menyelesaikan masalah konflik aplikasi Jika ia tidak dapat diselesaikan, anda boleh cuba menukar mod permulaan cakera keras. Kaedah 2: 1. Mula-mula mulakan semula komputer, kemudian gunakan kekunci pintas untuk masuk b

Saya percaya ramai pengguna akan sering menggunakan mesin fotostat apabila menggunakan komputer. Walau bagaimanapun, baru-baru ini ramai pengguna telah mengalami gesaan 0x0000011b apabila menggunakan komputer win7 syarikat mereka untuk menyambung ke pencetak kongsi Bagaimana untuk menyelesaikan masalah ini? Editor akan membawa semua orang untuk melihat di bawah! Reka bentuk asal oleh System Home www.xitongzhijia.net, sumber mesti ditunjukkan semasa mencetak semula. Kaedah 1: Sudah tahu nombor tampalan, gunakan alat pihak ketiga untuk menyahpasang tampalan Alat ini adalah alat nyahpasang tampalan yang dikeluarkan secara rasmi oleh Lenovo. Pengguna hanya perlu memasukkan data selepas mengemas kini kb daripada patch itu. Muat turun pautan: http://www.xito

0x0000004e Penyelesaian Skrin Biru Apabila kita menggunakan komputer, kadangkala kita mungkin menghadapi skrin biru. Skrin biru bermakna sistem pengendalian Windows menghadapi ralat yang tidak boleh dipulihkan, menyebabkan komputer tidak dapat beroperasi secara normal dan memaparkan mesej ralat dalam bentuk skrin biru. Salah satu kod ralat skrin biru biasa ialah 0x0000004e. Artikel ini akan memperkenalkan beberapa kaedah untuk menyelesaikan masalah ini. Pertama, kita perlu memahami punca skrin biru 0x0000004e. Ralat ini biasanya disebabkan oleh masalah dengan pemacu sistem.
![Xbox.com/ErrorHelp 0x87e50007 [DIBETULKAN]](https://img.php.cn/upload/article/000/887/227/170831504115537.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Artikel ini akan membimbing anda menyelesaikan kod ralat Xbox 0x87e50007, yang boleh disebabkan oleh isu pelayan, ketidakstabilan rangkaian atau tiada kemas kini. Sebelum anda meneruskan dengan lebih banyak penyelesaian masalah, pastikan anda menyemak status perkhidmatan XboxLive. Jika terdapat isu perkhidmatan Xbox, ia mungkin disebabkan oleh kegagalan pelayan. Dalam kes ini, sila tunggu dengan sabar untuk isu itu diselesaikan dan semak halaman status Xbox dengan kerap untuk mendapatkan maklumat terkini. Cara Membetulkan Kod Ralat Xbox 0x87e50007 Gunakan pembetulan berikut untuk menyelesaikan Xbox.com/ErrorHelp0x87e50007: Semak sambungan internet anda Kemas kini permainan Nyahpasang permainan atau apl Tetapkan semula konsol anda Mari mulakan. 1] Semak internet anda
