Jadual Kandungan
回复内容:
Rumah pembangunan bahagian belakang Tutorial Python 如何用 Python 中的 NLTK 对中文进行分析和处理?

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

May 18, 2018 pm 03:35 PM
xb xe

用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')
分词:你找相应的中文分词包 github.com/fxsjy/jieba因为nltk不能对中文进行分词的原因吧,最近也在学习这方面的东西,推荐一个工具中文處理工具,可以研究一下 我遇到同样的问题,在看《Python自然语言处理》一书,成功加载自己的文档后,却看到里面的中文如你所示,应该是编码设置的问题,但是不知道该设置哪里。这方面的资料太少了

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Kod ralat GeForce Now 0x0000012E [TETAP] Kod ralat GeForce Now 0x0000012E [TETAP] Feb 19, 2024 pm 09:12 PM

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 maksud ralat 0x0000004e? Apakah maksud ralat 0x0000004e? Feb 18, 2024 pm 01:54 PM

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

Bagaimana untuk menangani kod skrin biru 0x000003b dalam Win7 Ultimate Edition Bagaimana untuk menangani kod skrin biru 0x000003b dalam Win7 Ultimate Edition Jul 23, 2023 pm 09:21 PM

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

Ajar anda cara menyelesaikan kod skrin biru 0x00008e Ajar anda cara menyelesaikan kod skrin biru 0x00008e Jul 10, 2023 pm 02:37 PM

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

Bagaimana untuk menyelesaikan ralat 0x0000007b Bagaimana untuk menyelesaikan ralat 0x0000007b Dec 25, 2023 pm 03:35 PM

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

Apakah yang perlu saya lakukan jika pencetak kongsi tidak boleh disambungkan ke komputer Win7 0x0000011b? Apakah yang perlu saya lakukan jika pencetak kongsi tidak boleh disambungkan ke komputer Win7 0x0000011b? Jul 12, 2023 pm 07:01 PM

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

Bagaimana untuk menyelesaikan ralat skrin biru 0x0000004e Bagaimana untuk menyelesaikan ralat skrin biru 0x0000004e Feb 18, 2024 pm 07:59 PM

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] Xbox.com/ErrorHelp 0x87e50007 [DIBETULKAN] Feb 19, 2024 am 11:57 AM

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

See all articles