私たちの生活に浸透しているすべてのチャットボット、音声アシスタント、予測テキスト、その他の音声/テキスト アプリケーションを動かすテクノロジーである自然言語処理 (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
高品質のデータ セットを使用して命令のチューニングを実行すると、大規模なモデルのパフォーマンスを迅速...
百度は昨年7月にAIプラットフォームをオープンして以来、開発者にAIオープンテクノロジーの能力を継続...
人工知能(AI)とは、人間の知能をシミュレート、拡張、拡大するための理論、方法、技術、アプリケーショ...
[[437442]] [51CTO.com クイック翻訳]囲碁からスタークラフト、Dotaまで、多く...
迅速なサービスと便利な体験で知られるファーストフード業界は、顧客体験を向上させ、業務効率を改善するた...
[[285204]]現在、モバイルインターネット、ビッグデータ、スーパーコンピューティングなどの新し...
人工知能はさまざまな課題に直面しており、IEEE の専門家は対応する解決策を提案しています。合成現実...
モノのインターネット (IoT) の将来の可能性は無限です。 2025 年までに、世界中の IoT ...
人工知能 (AI) は、コンテンツの作成や顧客のセグメンテーションからキャンペーンの最適化まで、マー...