データ抽出用の 3 つのオープンソース NLP ツール

開発者とデータ サイエンティストは、生成 AI と大規模言語モデル (LLM) を使用して、大量のドキュメントと非構造化データをクエリします。オープンソース LLM には、Dolly 2.0、EleutherAI Pythia、Meta AI LLaMa、StabilityLM などが含まれます。これらは、自然言語プロンプトを受け入れ、要約応答を生成できる人工知能を試すための出発点です。

Fluree CEO 兼共同創設者のブライアン・プラッツ氏は、「テキストは知識と情報の基本的な情報源として重要ですが、テキスト処理の複雑さを利用できるエンドツーエンドのソリューションは現在ありません。ほとんどの組織は構造化された文書や文書を処理していますが、半構造化データは一元化されたデータ プラットフォームに置かれますが、非構造化データは依然として忘れ去られ、十分に活用されていません。」

組織やチームが自然言語処理 (NLP) 機能を試していない場合は、業界の競合他社に後れを取る可能性があります。2023 年エキスパート NLP 調査レポートによると、組織の 77% が NLP への支出を増やす計画があると回答し、組織の 54% が、成功した NLP プロジェクトの ROI を測定するための最大の指標は本番環境への導入までの時間であると主張しています。

NLP の使用例

大量の非構造化データとテキストがある場合、最も一般的なビジネス要件には次のものがあります。

  • 名前、日付、場所、製品を特定してエンティティを抽出します。
  • 通貨やその他の数量を検出するためのパターン認識。
  • ビジネス用語、トピック、分類を分類します。
  • ポジティブ、ネガティブ、皮肉な感情を含む感情分析。
  • 文書の重要なポイントを要約します。
  • 機械語を他の言語に翻訳する。
  • テキストを機械可読な半構造化表現に変換する依存関係グラフ。

場合によっては、NLP 機能をプラットフォームまたはアプリケーションにバンドルすることが望ましい場合があります。たとえば、LLM は質問をサポートし、AI 検索エンジンは検索と推奨をサポートし、チャットボットは対話をサポートします。また、NLP ツールを使用して情報を抽出し、非構造化ドキュメントやテキストを強化することが最良の選択肢である場合もあります。

開発者やデータ サイエンティストが現在、非構造化ドキュメントに対して検出操作を実行し、本番環境に対応した NLP 処理エンジンを開発するために使用している 3 つの人気のあるオープンソース NLP ツールを見てみましょう。

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

2001 年にリリースされた Natural Language Toolkit (NLTK) は、古くて人気のある NLP Python ライブラリの 1 つです。NLTK には GitHub 上に 11,800 を超えるスターがあり、100 を超えるトレーニング済みモデルがリストされています。

SPR のデータおよび分析担当ディレクターである Steven Devoe 氏は、「NLP にとって最も重要なツールは、Apache 2.0 ライセンスを使用する Natural Language Toolkit (NLTK) だと思います。すべてのデータ サイエンス プロジェクトにおいて、使用されるデータの処理とクリーニングは、アルゴリズムによる処理は、特に自然言語処理において多くの時間と労力を消費します。NLTK は、ステミング、語源、トークン化、ストップワードの削除など、この分野の多くのタスクを高速化します。また、さまざまな書き言葉全体にわたる単語ベクトルの埋め込み、アルゴリズムによるテキストの解釈が容易になります。」

NLTK の強みはその耐久性に由来しており、初心者向けの実践ガイドより包括的な概要など、NLP を初めて使用する開発者向けに多くの例が提供されていますNLP テクニックを学習している人は、トークン化、ステミング、チャンキングなどの基本的なテクニックを試す簡単な方法を提供するこのライブラリを最初に試してみることをお勧めします。

2.スペイシー

spaCy は新しいライブラリで、バージョン 1.0 は 2016 年にリリースされました。spaCy は 72 を超える言語をサポートし、パフォーマンス ベンチマークを公開し、GitHub で 25,000 を超えるスターを獲得しています。

Domino Data Labs の EMEA 地域のデータ サイエンス責任者であるニコライ マンチェフ氏は次のように述べています。「spaCy は、大量のテキストの高速自然言語処理のための高度な機能を提供する、無料のオープンソース Python ライブラリです。spaCy を使用することで、ユーザーはドキュメント分析、チャットボット機能、その他すべての形式のテキスト分析をサポートするモデルと運用グレードのアプリケーションを構築できます。現在、spaCy フレームワークは、テキストからキーワード、エンティティ、知識を抽出するための Python の最も人気のある自然言語ライブラリの 1 つです。およびその他の業界のユースケース。」

spaCy チュートリアルでは、固有表現認識や品詞タグ付けなど、NLTK と同様の機能を示します。利点の 1 つは、spaCy がドキュメント オブジェクトを返し、ワード ベクトルをサポートすることで、開発者が NLP 後の追加のデータ処理とテキスト分析をより柔軟に実行できることです。

3.スパークNLP

すでに Apache Spark を使用し、そのインフラストラクチャを構成している場合、Spark NLP は、自然言語処理の実験を開始する簡単な方法の 1 つである可能性があります。Spark NLP には、AWS、Azure Databricks、Docker など、いくつかのインストール オプションがあります。

John Snow Labs の CTO である David Talby 氏は、「Spark NLP は広く使用されているオープンソースの自然言語処理ライブラリであり、企業がフリーテキスト文書から最高の精度で情報と回答を抽出できるようにします。臨床記録内の関連する健康情報、憎悪を特定します」と述べています。ソーシャルメディア上のスピーチやフェイクニュース、あるいは法的合意や経済ニュースの概要を説明することです。」

Spark NLP が他と異なるのは、それが医療、金融、法律分野の言語モデルであることです。これらの商用製品には、医療分野での薬剤名と投与量、金融機関の認識 (株式ティッカー情報など)、および会社名と役員の法的知識グラフを識別するための事前トレーニング済みモデルが付属しています。

Spark NLP は、組織がモデルの開発に必要な事前トレーニングを最小限に抑えるのに役立つとタルビー氏は述べています。「この無料のオープンソース ライブラリには、11,000 を超える事前トレーニングされたモデルに加えて、モデルの再利用、トレーニング、チューニング、および簡単に拡張するための機能が付属しています」と彼は言いました。

 

NLP のベスト プラクティスを試す

キャリアの初期に、私は NLP 機能を使用して構築されたいくつかの SaaS 製品の開発を監督する特権に恵まれました。最初の NLP は、自動車、仕事、不動産の検索を含む新聞広告を検索する SaaS プラットフォームです。その後、建築仕様書や設計図などの商用建設文書から情報を抽出するための NLP の開発を主導しました。

新しい分野で NLP を始めるときの私のアドバイスは次のとおりです。

  • 文書またはテキストの小さな代表的な例から始めます。
  • 対象となるエンド ユーザー ペルソナと、抽出された情報がワークフローをどのように改善できるかを特定します。
  • 必要な情報抽出と目標精度メトリクスを指定します。
  • 速度と精度の指標を使用してベンチマークを行い、いくつかの方法をテストします。
  • 特にドキュメントのサイズと幅が大きくなるにつれて、繰り返し精度を向上させます。
  • データ品質を処理し、例外を処理するためのデータ管理ツールを提供する準備をします。

新しいタイプのドキュメントを発見して試すための NLP ツールが要件の定義に役立つことがわかるかもしれません。次に、本番環境に対応した NLP データ パイプラインの構築とサポートにはコストがかかる可能性があるため、NLP 手法の比較範囲をオープン ソースと商用オプションの両方に拡大します。LLM が勢いを増す中、NLP 機能への投資が不足すると競合他社に後れを取る可能性があります。幸いなことに、この記事で説明されているオープン ソース ツールの 1 つを使用して、予算とニーズに合わせて NLP データ パイプラインを構築できます。

おすすめ

転載: blog.csdn.net/wangonik_l/article/details/131984058