天天看點

Python自然語言處理工具小結

作者:伏草惟存

來源:

http://www.cnblogs.com/baiboy/p/nltk2.html Python 的幾個自然語言處理工具

  1. NLTK:NLTK 在用 Python 處理自然語言的工具中處于領先的地位。它提供了 WordNet 這種友善處理詞彙資源的借口,還有分類、分詞、除莖、标注、文法分析、語義推理等類庫。
  2. Pattern:Pattern 的自然語言處理工具有詞性标注工具(Part-Of-Speech Tagger),N元搜尋(n-gram search),情感分析(sentiment analysis),WordNet。支援機器學習的向量空間模型,聚類,向量機。
  3. TextBlob:TextBlob 是一個處理文本資料的 Python 庫。提供了一些簡單的api解決一些自然語言處理的任務,例如詞性标注、名詞短語抽取、情感分析、分類、翻譯等等。
  4. Gensim:Gensim 提供了對大型語料庫的主題模組化、檔案索引、相似度檢索的功能。它可以處理大于RAM記憶體的資料。作者說它是“實作無幹預從純文字語義模組化的最強大、最高效、最無障礙的軟體。
  5. PyNLPI:它的全稱是:Python自然語言處理庫(Python Natural Language Processing Library,音發作: pineapple) 這是一個各種自然語言處理任務的集合,PyNLPI可以用來處理N元搜尋,計算頻率表和分布,建立語言模型。他還可以處理向優先隊列這種更加複雜的資料結構,或者像 Beam 搜尋這種更加複雜的算法。
  6. spaCy:這是一個商業的開源軟體。結合Python和Cython,它的自然語言處理能力達到了工業強度。是速度最快,領域内最先進的自然語言處理工具。
  7. Polyglot:Polyglot 支援對海量文本和多語言的處理。它支援對165種語言的分詞,對196中語言的辨識,40種語言的專有名詞識别,16種語言的詞性标注,136種語言的情感分析,137種語言的嵌入,135種語言的形态分析,以及69中語言的翻譯。
  8. MontyLingua:MontyLingua 是一個自由的、訓練有素的、端到端的英文處理工具。輸入原始英文文本到 MontyLingua ,就會得到這段文本的語義解釋。适合用來進行資訊檢索和提取,問題處理,回答問題等任務。從英文文本中,它能提取出主動賓元組,形容詞、名詞和動詞短語,人名、地名、事件,日期和時間,等語義資訊。
  9. BLLIP Parser:BLLIP Parser(也叫做Charniak-Johnson parser)是一個內建了産生成分分析和最大熵排序的統計自然語言工具。包括 指令行 和 python接口 。
  10. Quepy:Quepy是一個Python架構,提供将自然語言轉換成為資料庫查詢語言。可以輕松地實作不同類型的自然語言和資料庫查詢語言的轉化。是以,通過Quepy,僅僅修改幾行代碼,就可以實作你自己的自然語言查詢資料庫系統。GitHub: https://github.com/machinalis/quepy
  11. HanNLP:HanLP是由一系列模型與算法組成的Java工具包,目标是普及自然語言處理在生産環境中的應用。不僅僅是分詞,而是提供詞法分析、句法分析、語義了解等完備的功能。HanLP具備功能完善、性能高效、架構清晰、語料時新、可自定義的特點。文檔使用操作說明:Python調用自然語言處理包HanLP 和 菜鳥如何調用HanNLP