Python 自然語言處理(NLP)工具庫彙總

賴信濤發表於2015-07-31

1.NLTK

NLTK 在使用 Python 處理自然語言的工具中處於領先的地位。它提供了 WordNet 這種方便處理詞彙資源的介面,以及分類、分詞、詞幹提取、標註、語法分析、語義推理等類庫。

網站

http://www.nltk.org/

安裝

安裝 NLTK: sudo pip install -U nltk

安裝 Numpy (可選): sudo pip install -U numpy

安裝測試: python then type import nltk

2.Pattern

Pattern 擁有一系列的自然語言處理工具,比如說詞性標註工具(Part-Of-Speech Tagger),N元搜尋(n-gram search),情感分析(sentiment analysis),WordNet。它也支援機器學習的向量空間模型,聚類,向量機。

網站:

https://github.com/clips/pattern

安裝:

pip install pattern

3.TextBlob

TextBlob 是一個處理文字資料的 Python 庫。它提供了一個簡單的 api 來解決一些常見的自然語言處理任務,例如詞性標註、名詞短語抽取、情感分析、分類、翻譯等等。

網站:

http://textblob.readthedocs.org/en/dev/

安裝:

pip install -U textblob

4.Gensim

Gensim 是一個 Python 庫,用於對大型語料庫進行主題建模、檔案索引、相似度檢索等。它可以處理大於記憶體的輸入資料。作者說它是“純文字上無監督的語義建模最健壯、高效、易用的軟體。”

網站:

https://github.com/piskvorky/gensim

安裝:

pip install -U gensim

5.PyNLPI

它的全稱是:Python 自然語言處理庫(Python Natural Language Processing Library,音發作: pineapple) 是一個用於自然語言處理任務庫。它集合了各種獨立或鬆散互相關的,那些常見的、不常見的、對NLP 任務有用的模組。PyNLPI 可以用來處理 N 元搜尋,計算頻率表和分佈,建立語言模型。它還可以處理向優先佇列這種更加複雜的資料結構,或者像 Beam 搜尋這種更加複雜的演算法。

安裝:

LInux:sudo apt-get install pymol

Fedora:yum install pymol

6.spaCy

這是一個商業的開源軟體。結合了Python 和Cython 優異的 NLP 工具。是快速的,最先進的自然語言處理工具。

網站:

https://github.com/proycon/pynlpl

安裝:

pip install spacy

7.Polyglot

Polyglot 支援大規模多語言應用程式的處理。它支援165種語言的分詞,196中語言的辨識,40種語言的專有名詞識別,16種語言的詞性標註,136種語言的情感分析,137種語言的嵌入,135種語言的形態分析,以及69種語言的翻譯。

網站:

https://pypi.python.org/pypi/polyglot

安裝

pip install polyglot

8.MontyLingua

MontyLingua 是一個免費的、功能強大的、端到端的英文處理工具。在 MontyLingua 輸入原始英文文字 ,輸出就會得到這段文字的語義解釋。它適用於資訊檢索和提取,請求處理,問答系統。從英文文字中,它能提取出主動賓元組,形容詞、名詞和動詞短語,人名、地名、事件,日期和時間等語義資訊。

網站:

http://web.media.mit.edu/~hugo/montylingua/

9.BLLIP Parser

BLLIP Parser(也叫做 Charniak-Johnson parser)是一個整合了生成成分分析器和最大熵排序的統計自然語言分析器。它包括命令列python介面

10.Quepy

Quepy 是一個 Python 框架,提供了將自然語言問題轉換成為資料庫查詢語言中的查詢。它可以方便地自定義自然語言中不同型別的問題和資料庫查詢。所以,通過 Quepy,僅僅修改幾行程式碼,就可以構建你自己的自然語言查詢資料庫系統。

網站

https://github.com/machinalis/quepy
http://quepy.machinalis.com/

相關文章