NLTK 大概是最知名的Python自然語言處理工具了,全稱"Natural Language Toolkit", 誕生於賓夕法尼亞大學,以研究和教學為目的而生,因此也特別適合入門學習。NLTK雖然主要面向英文,但是它的很多NLP模型或者模塊是語言無關的,因此如果某種語言有了初步的Tokenization或者分詞,NLTK的很多工具包是可以復用的。

關於NLTK,網上已經有了很多介紹資料,當然首推的NLTK學習資料依然是官方出的在線書籍 NLTK Book:Natural Language Processing with Python – Analyzing Text with the Natural Language Toolkit,目前基於Python 3 和 NLTK 3 ,可以在線免費閱讀和學習。早期的時候還有一個基於Python 2 的老版本:nltk.org/book_1ed/ ,被 OReilly 正式出版過,2012年的時候,國內的陳濤同學無償翻譯過一個中文版,我還在這裡推薦過:推薦《用Python進行自然語言處理》中文翻譯-NLTK配套書,後來纔有了基於此版本的更正式的中文翻譯版:《Python自然語言處理》。不過如果英文ok的話,優先推薦看目前官方的最新版本:nltk.org/book/

幾年前我嘗試寫英文博客,覺得可以從NLTK的入門介紹開始,所以寫了一個英文系列:Dive into NLTK,基於Python 2,感興趣的同學可以關註:

Part I: Getting Started with NLTK

Part II: Sentence Tokenize and Word TokenizePart III: Part-Of-Speech Tagging and POS TaggerPart IV: Stemming and Lemmatization

Part V: Using Stanford Text Analysis Tools in Python

Part VI: Add Stanford Word Segmenter Interface for Python NLTKPart VII: A Preliminary Study on Text ClassificationPart VIII: Using External Maximum Entropy Modeling Libraries for Text ClassificationPart IX: From Text Classification to Sentiment Analysis

Part X: Play With Word2Vec Models based on NLTK Corpus

Part XI: From Word2Vec to WordNet

這個過程中使用了NLTK中嵌入的斯坦福大學文本分析工具包,發現少了斯坦福中文分詞器,所以當時動手加了一個:Python自然語言處理實踐: 在NLTK中使用斯坦福中文分詞器

斯坦福大學自然語言處理組是世界知名的NLP研究小組,他們提供了一系列開源的Java文本分析工具,包括分詞器(Word Segmenter),詞性標註工具(Part-Of-Speech Tagger),命名實體識別工具(Named Entity Recognizer),句法分析器(Parser)等,可喜的事,他們還為這些工具訓練了相應的中文模型,支持中文文本處理。在使用NLTK的過程中,發現當前版本的NLTK已經提供了相應的斯坦福文本處理工具介面,包括詞性標註,命名實體識別和句法分析器的介面,不過可惜的是,沒有提供分詞器的介面。在google無果和閱讀了相應的代碼後,我決定照貓畫虎為NLTK寫一個斯坦福中文分詞器介面,這樣可以方便的在Python中調用斯坦福文本處理工具。

後來,這個版本在 NLTK 3.2 官方版本中被正式引入:stanford_segmenter.py ,我也可以小自豪一下為NLTK做過一點微小的貢獻:

使用NLTK來處理中文是很多同學想乾的事情,這方面,在NLTK中調用斯坦福大學的中文工具包剛好是一個切入點,關於NLTK中如何使用斯坦福大學工具包進行中文信息處理,推薦兩篇文章:

在 NLTK 中使用 Stanford NLP 工具包 (zmonster.me/2016/06/08/

以及白寧超同學的系列文章:

乾貨!詳述Python NLTK下如何使用stanford NLP工具包(cnblogs.com/baiboy/p/nl

關於NLTK的書籍,其實還有一本很不錯:Python Text Processing with NLTK 2.0 Cookbook ,我之前看過這本,不過現在已經更新到Python 3了:Python 3 Text Processing with NLTK 3 Cookbook 。最後提供一個NLTK相關資料的打包下載,包括早期的中文翻譯版和這個Cookbook,僅供個人學習使用,感興趣的同學可以關注我們的公眾號: AINLP, 回復NLTK獲取相關下載鏈接:

註:原創文章,轉載請註明出處及保留鏈接「我愛自然語言處理」:http://www.52nlp.cn

本文鏈接地址:Python自然語言處理工具NLTK學習導引及相關資料 52nlp.cn/?


推薦閱讀:
相關文章