Python以其清晰簡潔的語法、易用和可擴展性以及豐富龐大的庫深受廣大開發(fā)者喜愛。其內(nèi)置的非常強大的機器學習代碼庫和數(shù)學庫,使Python理所當然成為自然語言處理的開發(fā)利器。
那么使用Python進行自然語言處理,要是不知道這幾個工具就真的Out了。
Python 的幾個自然語言處理工具NLTK是使用Python處理語言數(shù)據(jù)的領先平臺。它為像WordNet這樣的詞匯資源提供了簡便易用的界面。它還具有為文本分類(classificaTIon)、文本標記(tokenizaTIon)、詞干提?。╯temming)、詞性標記(tagging)、語義分析(parsing)和語義推理(semanTIc reasoning)準備的文本處理庫。
NLTK:NLTK 在用 Python 處理自然語言的工具中處于領先的地位。它提供了 WordNet 這種方便處理詞匯資源的借口,還有分類、分詞、除莖、標注、語法分析、語義推理等類庫。
Pattern:Pattern 的自然語言處理工具有詞性標注工具(Part-Of-Speech Tagger),N元搜索(n-gram search),情感分析(senTIment analysis),WordNet。支持機器學習的向量空間模型,聚類,向量機。
TextBlob:TextBlob 是一個處理文本數(shù)據(jù)的 Python 庫。提供了一些簡單的api解決一些自然語言處理的任務,例如詞性標注、名詞短語抽取、情感分析、分類、翻譯等等。
Gensim:Gensim 提供了對大型語料庫的主題建模、文件索引、相似度檢索的功能。它可以處理大于RAM內(nèi)存的數(shù)據(jù)。作者說它是“實現(xiàn)無干預從純文本語義建模的最強大、最高效、最無障礙的軟件。
PyNLPI:它的全稱是:Python自然語言處理庫(Python Natural Language Processing Library,音發(fā)作: pineapple) 這是一個各種自然語言處理任務的集合,PyNLPI可以用來處理N元搜索,計算頻率表和分布,建立語言模型。他還可以處理向優(yōu)先隊列這種更加復雜的數(shù)據(jù)結(jié)構(gòu),或者像 Beam 搜索這種更加復雜的算法。
spaCy:這是一個商業(yè)的開源軟件。結(jié)合Python和Cython,它的自然語言處理能力達到了工業(yè)強度。是速度最快,領域內(nèi)最先進的自然語言處理工具。
Polyglot:Polyglot 支持對海量文本和多語言的處理。它支持對165種語言的分詞,對196中語言的辨識,40種語言的專有名詞識別,16種語言的詞性標注,136種語言的情感分析,137種語言的嵌入,135種語言的形態(tài)分析,以及69中語言的翻譯。
MontyLingua:MontyLingua 是一個自由的、訓練有素的、端到端的英文處理工具。輸入原始英文文本到 MontyLingua ,就會得到這段文本的語義解釋。適合用來進行信息檢索和提取,問題處理,回答問題等任務。從英文文本中,它能提取出主動賓元組,形容詞、名詞和動詞短語,人名、地名、事件,日期和時間,等語義信息。
BLLIP Parser:BLLIP Parser(也叫做Charniak-Johnson parser)是一個集成了產(chǎn)生成分分析和最大熵排序的統(tǒng)計自然語言工具。包括 命令行 和 python接口 。
Quepy:Quepy是一個Python框架,提供將自然語言轉(zhuǎn)換成為數(shù)據(jù)庫查詢語言??梢暂p松地實現(xiàn)不同類型的自然語言和數(shù)據(jù)庫查詢語言的轉(zhuǎn)化。所以,通過Quepy,僅僅修改幾行代碼,就可以實現(xiàn)你自己的自然語言查詢數(shù)據(jù)庫系統(tǒng)。GitHub:https://github.com/machinalis/quepy
HanNLP:HanLP是由一系列模型與算法組成的Java工具包,目標是普及自然語言處理在生產(chǎn)環(huán)境中的應用。不僅僅是分詞,而是提供詞法分析、句法分析、語義理解等完備的功能。HanLP具備功能完善、性能高效、架構(gòu)清晰、語料時新、可自定義的特點。文檔使用操作說明:Python調(diào)用自然語言處理包HanLP 和 菜鳥如何調(diào)用HanNLP