自然言語処理のためのオープンソースツールトップ12

自然言語処理のためのオープンソースツールトップ12

私たちの生活に浸透しているすべてのチャットボット、音声アシスタント、予測テキスト、その他の音声/テキスト アプリケーションを動かすテクノロジーである自然言語処理 (NLP) は、ここ数年で大きく進化しました。この記事では、音声またはテキストベースのアプリケーションの計画に役立つオープンソースの NLP ツールをいくつか推奨します。

1. Pythonツール

1. 自然言語ツールキット (NLTK)

Natural Language Toolkit (NLTK) は、最も機能が充実したツールです。分類、トークン化、解析、意味的推論など、必要なほぼすべての NLP コンポーネントを実装します。また、各メソッドには通常複数の実装があるため、使用したいアルゴリズムまたはメソッドを正確に選択できます。複数の言語もサポートしています。しかし、すべてのデータが文字列の形式で表現されるため、単純なスキーマには適していますが、一部の高度な機能の使用が難しくなります。他のツールに比べて開発が遅いです。全体として、これは、特定のアルゴリズムの組み合わせを必要とする実験、調査、およびアプリケーションに最適なツールキットです。

2. スパーシー

SpaCy は NLTK の主な競合相手です。ほとんどの場合、高速ですが、各 NLP コンポーネントの実装は 1 つだけです。さらに、すべてを文字列ではなくオブジェクトとして表現するため、アプリケーションを構築するためのインターフェースが簡素化されます。また、他の多くのフレームワークやデータ サイエンス ツールと統合できるため、テキスト データに対する理解を深めれば、テキスト データでさらに多くのことが可能になります。ただし、SpaCy は NLTK ほど多くの言語をサポートしていません。シンプルなインターフェース、合理化された選択肢、優れたドキュメント、そして言語処理と分析のさまざまなコンポーネント用の複数のニューラル モデルを備えています。全体として、これは、本番環境で高いパフォーマンスが必要であり、特定のアルゴリズムを必要としない新しいアプリケーションに最適なツールです。

3. テキストブロブ

TextBlob は NLTK の拡張です。多くの NLTK 関数は TextBlob を通じて簡略化された方法でアクセスでき、これには Pattern ライブラリの機能も含まれています。始めたばかりの場合は、学習中に使用するのに適したツールであり、過度の実行を必要としないアプリケーションの運用にも使用できます。全体的に、TextBlob はあらゆる場所で使用されており、小規模なプロジェクトに最適です。

4. テキスト性

Textacy も素晴らしいツールです。コア NLP 機能には SpaCy を使用していますが、前処理と後処理の作業の多くを SpaCy が処理します。 SpaCy を使用する予定の場合は、Textacy も使用することをお勧めします。Textacy を使用すると、追加のヘルパー コードを記述しなくても、さまざまな種類のデータを簡単に取り込むことができます。

5. PyTorch-NLP

PyTorch-NLP はしばらく前から存在していますが、すでに大きなコミュニティが存在しています。迅速なプロトタイピングに最適なツールです。また、新しい研究によって頻繁に更新されており、新しい企業や研究者が、画像変換などのあらゆる種類の驚くべき処理を行うための他の多くのツールをリリースしています。全体的に、PyTorch は研究者を対象としていますが、プロトタイピングや初期の生産ワークロードにも使用でき、最先端のアルゴリズムを提供します。その上に作成されたライブラリも調べる価値があるかもしれません。

ノードツール

6. テキストを変更する

Retext は統一された集団の一部です。 Unified は、複数のツールとプラグインを統合して効果的に連携できるようにするインターフェースです。 Retext は、Unity ツールで使用される 3 つの構文のうちの 1 つです。他の 2 つは、Markdown の Remark と HTML の Rehype です。 Retext は、基盤となるテクノロジーをあまり公開せず、代わりにプラグインを使用して、NLP で目指す結果を実現します。シンプルなプラグインを使用すると、スペルのチェック、タイポグラフィの修正、感情の検出、テキストの読み取り確認などを簡単に行うことができます。全体として、基礎となるプロセスについてすべて理解する必要なく、何かを完了する必要がある場合、これは優れたツールとコミュニティです。

7. 妥協

妥協は確かに最も洗練されたツールではありません。最も高度なアルゴリズムや最も完全なシステムを探している場合、これは適していない可能性があります。ただし、幅広い機能を備え、クライアント側で実行できる高性能ツールが必要な場合は、Compromise を検討する必要があります。

8. ナチュラル

Natural には、一般的な NLP ライブラリに期待される機能のほとんどが含まれています。主に英語に焦点を当てていますが、他の言語もいくつか貢献されており、コミュニティは他の貢献に対してもオープンです。トークン化、ステミング、分類、音声学、用語頻度(逆文書頻度)、WordNet、文字列の類似性、およびいくつかの語形変化をサポートします。すべてを 1 つのパッケージに含めようとする点では NLTK に最も似ていますが、使いやすく、必ずしも研究に重点を置いているわけではありません。全体として、これは非常に完全なライブラリですが、まだ積極的に開発中であり、完全に効果を発揮するには、基礎となる実装に関する追加の知識が必要になる場合があります。

9. ウェブマスター向け

Nlp.js は、Franc や Brain.js など、他のいくつかの NLP ライブラリ上に構築されています。分類、感情分析、ステミング、固有表現認識、自然言語生成など、NLP の多くのコンポーネントへの優れたインターフェースを提供します。また、複数の言語をサポートしているため、英語以外の言語を使用する予定がある場合に非常に便利です。全体として、これは他のいくつかのツールとのインターフェースを簡素化する優れた汎用ツールです。より強力で柔軟なものが必要になるまで、これはおそらくアプリケーションで長期間使用できるでしょう。

Javaツール

10. オープンNLP

OpenNLP は Apache Foundation によってホストされているため、Apache Flink、Apache NiFi、Apache Spark などの他の Apache プロジェクトに簡単に統合できます。これは、NLP の一般的な処理コンポーネントをすべてカバーし、コマンドラインまたはアプリケーションからライブラリとして使用できる汎用 NLP ツールです。幅広い言語もサポートしています。全体として、OpenNLP は多くの機能を備えた強力なツールであり、Java を使用する場合は実稼働ワークロードに対応できます。

11. スタンフォードNLP

Stanford CoreNLP は、統計 NLP、ディープラーニング NLP、ルールベース NLP 機能を提供するツール セットです。このツールを Java 以外でも使用できるように、他の多くのプログラミング言語バインディングが作成されています。これはエリート研究機関によって作成された非常に強力なツールですが、本番環境のワークロードには最適な選択肢ではない可能性があります。このツールは、商用利用のための特別なライセンスとの二重ライセンスです。全体として、これは研究や実験には最適なツールですが、実稼働システムでは追加コストが発生する可能性があります。

12. コグコンプNLP

イリノイ大学が開発した CogCompNLP にも、同様の機能を備えた Python ライブラリがあります。ローカルまたはリモート システムでのテキスト処理に使用でき、ローカル デバイスの大きな負担を軽減できます。トークン化、品詞タグ付け、チャンキング、名前付きエンティティのタグ付け、レンマ化、依存関係と構成要素の分析、セマンティック ロールのラベル付けなどの処理機能を提供します。全体として、これは探索できるコンポーネントが多数ある優れた研究ツールです。本番環境のワークロードに最適かどうかはわかりませんが、Java を使用する予定がある場合は試してみる価値はあります。

<<:  Amazon のニューラル ネットワークに関する書籍トップ 10

>>:  5G時代には人工知能が人を殺し始めるのでしょうか?

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

人工知能は諜報機関の「大物」になると期待されている

諜報活動は私たちが想像するよりもはるかに退屈で複雑です。現在、米国の諜報機関は、手作業に代わる人工知...

LLaMA、BERT などの導入課題を解決: 初の 4 ビット浮動小数点量子化 LLM が登場

大規模言語モデル (LLM) 圧縮は常に大きな注目を集めています。トレーニング後の量子化は、一般的に...

韓国の常温超伝導体の著者が論文撤回を要求!論文には欠陥があり、改善された後、通常のジャーナルに移されました

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

AIコアとは何ですか?これら2つの機能はオンラインです

DeepMindとカリフォルニア州サンフランシスコの人工知能研究所は、マルチプレイヤーリアルタイム戦...

5つの新たなAI IoTアプリケーション

人工知能とモノのインターネットを組み合わせたこの新しい技術の波は、新たな機会をもたらし、業界全体の運...

顔認識アルゴリズムは人間の認識能力を超えている

コンピューター科学者たちは、人間自身よりも顔を識別できる新しい顔認識アルゴリズムを開発した。誰もが、...

BI と AI が出会うとき、「最強の脳」がどのように意思決定を支援するのかを見てみましょう。

ビジネス インテリジェンス (BI) プラットフォームは常に進化しています。企業は、人工知能と機械学...

分散型AIで製造業を強化

家庭内の新しい仮想アシスタントから、受信トレイから迷惑メールを削除するスパムフィルターまで、人工知能...

...

...

VRの悪夢にさよならしましょう! Meta Reality Labs は仮想世界の問題点を解決し、新しい VR の世界を再構築します

「世の中には2種類の人がいます。VRが世界を変えると考える人と、まだVRを試したことがない人です。」...

2018年末のAI分野におけるオープンソースフレームワークのまとめ

[[253605]] [やや活発な***四半期] 2018.3.04——OpenAIはオープンソース...

機械学習に必要な5つのスキル

機械学習、かっこいいですね。名前からすると、ロボットが一列に並んで座って知識を学習しているように思わ...

ジニ不純度: 決定木の構築にジニ不純度をどのように活用するか?

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

古代都市ポンペイを「ハイテク」な方法で訪れるにはどうすればいいでしょうか?

ビッグデータダイジェスト制作著者: カレブ西暦79年、ベスビオ山が噴火し、その麓にあったポンペイの街...