【回転】機械学習-Phython自然言語処理ライブラリ
4314 ワード
自然言語処理のライブラリは非常に多く、Pythonに友好的で、簡単で使いやすく、軽量で、機能的なライブラリをいくつか挙げます.
1中国語
中国語自然言語処理ツールの評価:https://github.com/mylovelybaby/chinese-nlp-toolkit-test
awesome: https://github.com/crownpku/Awesome-Chinese-NLP Hanlp
アドレス:https://github.com/hankcs/HanLP Jieba
アドレス:https://github.com/fxsjy/jieba snownlp
https://github.com/isnowfy/snownlp FoolNLTK
最も速いオープンソース中国語分詞ではないかもしれませんが、最も正確なオープンソース中国語分詞である可能性が高いです.
BiLSTMモデルに基づいて訓練された分詞、語性表示、実体認識を含む、いずれも比較的高い精度がある.
ユーザー定義辞書
2英語 NLTK
アドレス:https://www.nltk.org/ Textblob
アドレス:https://github.com/sloria/TextBlob
3例
3.1中国語自然言語処理Pipelineの例
例:https://github.com/JiaLiangShen/Chinese-Article-Classification-based-on-own-corpus-via-TextCNN-and-GBDT
3.2英語Pipelineの例
例:https://github.com/TiesdeKok/Python_NLP_Tutorial/blob/master/NLP_Notebook.ipynb
---------------------------------------------------------------------------------------
1.NLTK
NLTKはPythonを用いて自然言語を処理するツールの中でリードしている.WordNetという語彙リソースの処理に便利なインタフェースと、分類、分詞、語幹抽出、注釈、文法分析、意味推理などのクラスライブラリを提供しています.
Webサイト
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を持っている.機械学習のベクトル空間モデル,クラスタリング,ベクトルマシンもサポートしている.
Webサイト:
https://github.com/clips/pattern
インストール:
pip install pattern
3.TextBlob
TextBlobはテキストデータを処理するPythonライブラリです.品詞表記、名詞フレーズ抽出、感情分析、分類、翻訳など、一般的な自然言語処理タスクを解決するための簡単なapiを提供します.
Webサイト:
http://textblob.readthedocs.org/en/dev/
インストール:
pip install -U textblob
4.Gensim
GensimはPythonライブラリで、大規模なコーパスのトピックモデリング、ファイルインデックス、類似度検索などに使用されます.メモリより大きい入力データを処理できます.著者らは、「純粋なテキスト上で監視されていない意味モデリングで最も丈夫で、効率的で、使いやすいソフトウェア」と述べています.
Webサイト:
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ツールを組み合わせた.迅速で最先端の自然言語処理ツールです.
Webサイト:
https://github.com/proycon/pynlpl
インストール:
pip install spacy
7.Polyglot
Polyglotは、大規模な多言語アプリケーションの処理をサポートします.165言語の分詞、196言語の識別、40言語の固有名詞識別、16言語の語性表示、136言語の感情分析、137言語の埋め込み、135言語の形態分析、69言語の翻訳をサポートしています.
Webサイト:
https://pypi.python.org/pypi/polyglot
インストール
pip install polyglot
8.MontyLingua(英語)
MontyLinguaは無料で、機能が強く、エンドツーエンドの英語処理ツールです.MontyLinguaで元の英語のテキストを入力すると、このテキストの意味解釈が出力されます.情報検索と抽出、リクエスト処理、問答システムに適しています.英語のテキストから、アクティブなゲストグループ、形容詞、名詞、動詞のフレーズ、人名、地名、イベント、日付、時間などの意味情報を抽出することができます.
Webサイト:
http://web.media.mit.edu/~hugo/montylingua/
9.BLLIP Parser
BLLIP Parser(Charniak-Johnson parserとも呼ばれる)は、生成成分分析器と最大エントロピーソートを統合した統計的自然言語分析器である.コマンドラインとpythonインタフェースが含まれます.
10.Quepy
QuepyはPythonフレームワークで、自然言語の問題をデータベースクエリー言語に変換するクエリーを提供しています.自然言語で異なるタイプの問題やデータベース・クエリーを簡単にカスタマイズできます.だから、Quepyを通じて、数行のコードを修正するだけで、自分の自然言語クエリーデータベースシステムを構築することができます.
Webサイト
https://github.com/machinalis/quepy
http://quepy.machinalis.com/
11.HanNLP
HanLPは生産環境へのNLP技術の普及に力を入れているオープンソースJavaツールパッケージで、中国語分詞(N-最短分詞、CRF分詞、インデックス分詞、ユーザーカスタム辞書、語性表記)をサポートし、命名実体識別(中国人名、音訳人名、日本人名、地名、実体機構名識別)、キーワード抽出、自動要約、フレーズ抽出、ピンイン変換、簡繁変換、テキスト推薦、依存文法分析(MaxEnt依存文法分析、ニューラルネットワーク依存文法分析).ドキュメントの操作説明:Pythonが自然言語処理パッケージHanLPと菜鳥を呼び出してHanNLPを呼び出す方法
1中国語
中国語自然言語処理ツールの評価:https://github.com/mylovelybaby/chinese-nlp-toolkit-test
awesome: https://github.com/crownpku/Awesome-Chinese-NLP
アドレス:https://github.com/hankcs/HanLP
アドレス:https://github.com/fxsjy/jieba
https://github.com/isnowfy/snownlp
最も速いオープンソース中国語分詞ではないかもしれませんが、最も正確なオープンソース中国語分詞である可能性が高いです.
BiLSTMモデルに基づいて訓練された分詞、語性表示、実体認識を含む、いずれも比較的高い精度がある.
ユーザー定義辞書
# segmentation
import fool
text = " "
print(fool.cut(text))
Out:
[' ', ' ', ' ', ' ']
# pos tagging
import fool
text = " "
print(fool.pos_cut(text))
#[(' ', 'm'), (' ', 'n'), (' ', 'p'), (' ', 'ns')]
# NER
import fool
text = " "
words, ners = fool.analysis(text)
print(ners)
#[(5, 8, 'location', ' ')]
2英語
アドレス:https://www.nltk.org/
アドレス:https://github.com/sloria/TextBlob
3例
3.1中国語自然言語処理Pipelineの例
例:https://github.com/JiaLiangShen/Chinese-Article-Classification-based-on-own-corpus-via-TextCNN-and-GBDT
3.2英語Pipelineの例
例:https://github.com/TiesdeKok/Python_NLP_Tutorial/blob/master/NLP_Notebook.ipynb
---------------------------------------------------------------------------------------
1.NLTK
NLTKはPythonを用いて自然言語を処理するツールの中でリードしている.WordNetという語彙リソースの処理に便利なインタフェースと、分類、分詞、語幹抽出、注釈、文法分析、意味推理などのクラスライブラリを提供しています.
Webサイト
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を持っている.機械学習のベクトル空間モデル,クラスタリング,ベクトルマシンもサポートしている.
Webサイト:
https://github.com/clips/pattern
インストール:
pip install pattern
3.TextBlob
TextBlobはテキストデータを処理するPythonライブラリです.品詞表記、名詞フレーズ抽出、感情分析、分類、翻訳など、一般的な自然言語処理タスクを解決するための簡単なapiを提供します.
Webサイト:
http://textblob.readthedocs.org/en/dev/
インストール:
pip install -U textblob
4.Gensim
GensimはPythonライブラリで、大規模なコーパスのトピックモデリング、ファイルインデックス、類似度検索などに使用されます.メモリより大きい入力データを処理できます.著者らは、「純粋なテキスト上で監視されていない意味モデリングで最も丈夫で、効率的で、使いやすいソフトウェア」と述べています.
Webサイト:
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ツールを組み合わせた.迅速で最先端の自然言語処理ツールです.
Webサイト:
https://github.com/proycon/pynlpl
インストール:
pip install spacy
7.Polyglot
Polyglotは、大規模な多言語アプリケーションの処理をサポートします.165言語の分詞、196言語の識別、40言語の固有名詞識別、16言語の語性表示、136言語の感情分析、137言語の埋め込み、135言語の形態分析、69言語の翻訳をサポートしています.
Webサイト:
https://pypi.python.org/pypi/polyglot
インストール
pip install polyglot
8.MontyLingua(英語)
MontyLinguaは無料で、機能が強く、エンドツーエンドの英語処理ツールです.MontyLinguaで元の英語のテキストを入力すると、このテキストの意味解釈が出力されます.情報検索と抽出、リクエスト処理、問答システムに適しています.英語のテキストから、アクティブなゲストグループ、形容詞、名詞、動詞のフレーズ、人名、地名、イベント、日付、時間などの意味情報を抽出することができます.
Webサイト:
http://web.media.mit.edu/~hugo/montylingua/
9.BLLIP Parser
BLLIP Parser(Charniak-Johnson parserとも呼ばれる)は、生成成分分析器と最大エントロピーソートを統合した統計的自然言語分析器である.コマンドラインとpythonインタフェースが含まれます.
10.Quepy
QuepyはPythonフレームワークで、自然言語の問題をデータベースクエリー言語に変換するクエリーを提供しています.自然言語で異なるタイプの問題やデータベース・クエリーを簡単にカスタマイズできます.だから、Quepyを通じて、数行のコードを修正するだけで、自分の自然言語クエリーデータベースシステムを構築することができます.
Webサイト
https://github.com/machinalis/quepy
http://quepy.machinalis.com/
11.HanNLP
HanLPは生産環境へのNLP技術の普及に力を入れているオープンソースJavaツールパッケージで、中国語分詞(N-最短分詞、CRF分詞、インデックス分詞、ユーザーカスタム辞書、語性表記)をサポートし、命名実体識別(中国人名、音訳人名、日本人名、地名、実体機構名識別)、キーワード抽出、自動要約、フレーズ抽出、ピンイン変換、簡繁変換、テキスト推薦、依存文法分析(MaxEnt依存文法分析、ニューラルネットワーク依存文法分析).ドキュメントの操作説明:Pythonが自然言語処理パッケージHanLPと菜鳥を呼び出してHanNLPを呼び出す方法