A. 如何用 python 中的 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() 函數就可以了)。
B. python sklearn 怎樣實現多方法混合
最近在拿 sklearn 做中文文本分類器,
網上找到的例子都是拿帶標簽的數據,二八劃分後,八成用於訓練模型,兩成用於測試,
然後分析測試結果看精確度。
現在,我已經使用訓練數據做好了模型訓練(存在文本分類器的對象了),
拿一段之前數據集裡面沒有的文本數據,使用訓練好的文本分類器做類別預測,
問題是如何拿到預測的類別的名稱呢。。。
代碼如下:
# cls 是之前已經訓練好的文本分類器對象
pred = clf.predict(X_new)
怎樣從預測結果 pred ( ndarray )獲取到分類的類別名稱呢?
我有嘗試過如下的方式去獲取:
label_list = list()
C. 將新數據預測在Python問題,怎麼解決
最近在拿 sklearn 做中文文本分類器, 網上找到的例子都是拿帶標簽的數據,二八劃分後,八成用於訓練模型,兩成用於測試, 然後分析測試結果看精確度。 現在,我已經使用訓練數據做好了模型訓練(存在文本分類器的對象了), 拿一段之前數據集里
D. python具體在文本處理上怎麼用
在諸多軟體壓縮包中或是項目壓縮包中都會存在一個readme.txt文件,其中的內容無非是對軟體的簡單介紹和注意事項。但是在該文本文件中,內容沒有分段分行,是非常冗雜地混在一起。當然處理手段多種多樣,而我正好嘗試利用Python解決這個問題。另外,這些內容或許對將來爬蟲爬下的內容進行處理也是有些幫助的,只不過面對的混亂和處理需求不同而已。
這里的思路很簡單,打開一個文本文檔,對其中具有兩個及兩個以上的空格進行處理,即產生換行,另外出現很多的『=』和『>>>』也進行處理。這里我嘗試處理的是easyGUI文件夾中的read.txt,該文件我復制在了D盤的根目錄下。具體的實現代碼如下:
def save_file(lister):#將傳入的列表保存在新建文件中 new_file = open('new_file','w')#創建並打開文件,文件可寫 new_file.writelines(lister)#將列表lister中的內容逐行列印 new_file.close()#關閉文件,且緩存區中的內容保存至該文件中def split_file(filename):#分割原始文件 f = open(filename)#打開該原始文件,默認該文件不可修改 lister = []#初始化一個空列表 for each_line in f: if each_line[:6] != '======' and each_line[:3] != '>>>': #當連續出現六個『=』或連續三個『>』時,列印一個換行符,實際體現在else中 each_line.split(' ',1)#當出現兩個空格時,分割一次,並在下一行代碼中以一行的形式保存在列表中 lister.append(each_line) else:
lister.append('\n')
save_file(lister)
f.close()
split_file('D:\\README.txt')
代碼給出了詳細的注釋。其中得到的新的名為「new_file」的文件保存在默認的Python項目的目錄下。當然,可以通過chdir()更改工作目錄,使得文件創建在自己指定的位置。
E. 在python中如何根據已有詞典對文本進行分類
如你所說的這種有簡單規則的,寫個正則匹配就可以了。要滿足更復雜的要求就用挖掘演算法
F. 有沒有誰最大熵自然語言處理最大熵文本分類器,哪位大俠有源代碼(C++,Python)
python nltk庫
G. 分享!5種常用的Python工具
IDLE
在安裝Python時,默認也會安裝IDLE。這是最優秀的Python工具之一。它可以降低Python入門的門檻。它的主要功能包括Python Shell窗口(互動式解釋器)、自動補齊、高亮顯示語法以及基本的集成調試器。IDLE輕巧易用,方便學習。但是,它不適用於大型項目。許多程序員都將其作為最佳的Python工具。
Scikit-learn
Scikit-learn是數據科學最常使用的Python工具之一。這是一款為機器學習和數據科學而設計的Python工具。該工具主要用於處理分類、回歸、聚類、模型選擇以及預處理等任務。scikit-Learn最出色的功能是在測試數據集上執行基準測試時,表現出的驚人速度。因此,對於程序員和學生來說,Scikit-learn是最優秀的Python工具之一。
Theano
Theano是一款數據科學的Python工具,對於程序員和學生而言,這是一款非常可靠的工具。它是深度學習方面最好的Python工具,因此非常適合深度學習。Theano的設計主旨是用戶友好、模塊化、易於擴展,而且可以與Python配合使用。它能夠以最佳方式表達神經網路。Theano可以在TensorFlow和CNTK等流行的神經網路之上運行。
Selenium
Selenium是最佳的Python自動化工具之一。它適用於Python測試的自動化,常常用作Web應用程序的自動化框架。我們可以利用Selenium,通過許多編程語言(包括Java、C#、Python、ruby以及其他許多程序員和學生使用的語言)來編寫測試腳本。你還可以在Selenium中集成Junit和TestNG等工具,來管理測試用例並生成報告。
Test complete
Testcomplete是另一款非常出色的Python自動化工具。支持Web、移動和桌面自動化測試。更高級的應用需要獲得商業許可,而且它還可以幫助學生提高學業成績。Test complete還可以像機器人框架一樣執行關鍵字驅動的測試。它擁有最出色的錄制以及回放功能,非常實用。
關於分享!5種常用的Python工具,環球青藤小編就和大家分享到這里了,學習是永無止境的,學習一項技能更是受益終身,所以,只要肯努力學,什麼時候開始都不晚。如果您還想繼續了解關於python編程的學習方法及素材等內容,可以點擊本站其他文章學習。
H. python 有好的文本分類庫嗎
scikit_learn中就有文本分類器。。svm,nb,lda這些
I. Python文本處理工具都有哪些
1、 NLTK — Natural Language Toolkit
搞自然語言處理的同學應該沒有人不知道NLTK吧,這兒也就不多說了。不過引薦兩本書籍給剛剛觸摸NLTK或許需求具體了解NLTK的同學: 一個是官方的《Natural Language Processing with Python》,以介紹NLTK里的功用用法為主,一起附帶一些Python常識,一起國內陳濤同學友情翻譯了一個中文版,這兒可以看到:引薦《用Python進行自然語言處理》中文翻譯-NLTK配套書;另外一本是《Python Text Processing with NLTK 2.0 Cookbook》,這本書要深入一些,會涉及到NLTK的代碼結構,一起會介紹怎麼定製自己的語料和模型等,相當不錯。
2、 Pattern
Pattern由比利時安特衛普大學CLiPS實驗室出品,客觀的說,Pattern不僅僅是一套文本處理東西,它更是一套web數據挖掘東西,囊括了數據抓取模塊(包含Google, Twitter, 維基網路的API,以及爬蟲和HTML剖析器),文本處理模塊(詞性標示,情感剖析等),機器學習模塊(VSM, 聚類,SVM)以及可視化模塊等,可以說,Pattern的這一整套邏輯也是這篇文章的組織邏輯,不過這兒我們暫時把Pattern放到文本處理部分。我個人首要使用的是它的英文處理模塊Pattern.en, 有許多很不錯的文本處理功用,包含基礎的tokenize, 詞性標示,語句切分,語法檢查,拼寫糾錯,情感剖析,句法剖析等,相當不錯。
3、 TextBlob: Simplified Text Processing
TextBlob是一個很有意思的Python文本處理東西包,它其實是根據上面兩個Python東西包NLKT和Pattern做了封裝(TextBlob stands on the giant shoulders of NLTK and pattern, and plays nicely with both),一起供給了許多文本處理功用的介面,包含詞性標示,名詞短語提取,情感剖析,文本分類,拼寫檢查等,甚至包含翻譯和語言檢測,不過這個是根據Google的API的,有調用次數約束。
4、 MBSP for Python
MBSP與Pattern同源,同出自比利時安特衛普大學CLiPS實驗室,供給了Word Tokenization, 語句切分,詞性標示,Chunking, Lemmatization,句法剖析等根本的文本處理功用,感興趣的同學可以重視。
關於 Python文本處理工具都有哪些,環球青藤小編就和大家分享到這里了,學習是永無止境的,學習一項技能更是受益終身,所以,只要肯努力學,什麼時候開始都不晚。如果您還想繼續了解關於python編程的學習方法及素材等內容,可以點擊本站其他文章學習。
J. 如何用 Python 中的 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() 函數就可以了)。