DUICUO

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

翻訳者 |ブガッティ

校正者 | Chonglou

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

FlureeのCEO兼共同創業者であるブライアン・プラッツ氏は、「テキストは知識と情報の基礎となる重要な情報源ですが、現状ではテキスト処理の複雑さに対応できるエンドツーエンドのソリューションは存在しません。多くの組織は構造化データや半構造化データを処理して集中型データプラットフォーム保管していますが、非構造化データは忘れ去られ十分に活用されていません と述べています。

組織やチームが自然言語処理 NLP 機能を試さなければ業界の競合他社に遅れをとる可能性があります 2023年のNLP専門家による調査によると、組織77 %NLPへの支出を増やす予定であり 54 %が本番稼働までの時間がNLPプロジェクトの成功におけるROIを測定する主要な指標であると述べています。

NLPのユースケース

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

  • 名前、日付、場所、製品を識別することによってエンティティが抽出されます
  • 通貨その他の数量を検出するためのパターン認識
  • ビジネス用語、トピック、カテゴリを分類します
  • 肯定的、否定的、皮肉な感情を含む感情分析
  • 文書の要点を要約します
  • 機械言語から他の言語への翻訳;
  • テキストを機械が読み取り可能な半構造化表現変換する依存関係グラフ

場合によっては NLP機能をプラットフォームやアプリケーションにバンドルすることが推奨されます。例えば LLMは質問機能をサポートし、AI検索エンジンは検索とレコメンデーション機能をサポートしチャットボットはインタラクション機能をサポートしますしかし、場合によってはNLPツールを使用して情報を抽出し非構造化文書やテキストを拡充することが最善の選択となります。

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

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

2001年リリースされたNatural Language Toolkit NLTK は、最も古く最も人気のあるPython NLPライブラリの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以上のスターを獲得しています

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

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

3.スパークNLP

Apache Sparkを既に使用していて、そのインフラストラクチャを構成している場合は、Spark NLPは自然言語処理を始めるためのより簡単な方法の1つとなるかもしれません。Spark NLPには、AWS、Azure Databricks、Dockerなど、いくつかのインストールオプションがあります。

ジョン・スノー・ラボの最高技術責任者であるデビッド・タルビー氏は、「 Spark NLPは、広く利用されているオープンソースの自然言語処理ライブラリであり、企業フリーテキスト文書から最高の精度で情報や回答を抽出できるようにします。その結果、企業は臨床記録にしか存在しない関連する健康情報を抽出したり、ソーシャルメディア上のヘイトスピーチやフェイクニュースを特定したり法的契約や金融ニュースの概要をまとめたりすることが可能になります」と述べています。

Spark NLPは医療、金融、法務分野に適用可能な言語モデルであるという点で異なります。これらの商用製品には、医療分野における薬剤名や投与量の認識、金融エンティティ(株価など)の識別、企業名や役員名に関する法務知識グラフの作成などを行うための事前学習済みモデルが搭載されています。

タルビー氏は、Spark NLPは組織がモデル開発に必要な事前トレーニングを最小限に抑えるのに役立つと述べました この無料のオープンソースライブラリには、11,000を超える事前トレーニング済みモデルが付属しておりモデルの再利用、トレーニング、調整、そして容易なスケーリングが可能です

NLPのベストプラクティスを試してみる

キャリアの初期には、 NLP機能を活用した複数のSaaS製品の開発を監督する機会に恵まれました最初のNLPは、新聞のクラシファイド広告(車、求人、不動産など)を検索するためのSaaSプラットフォームでした。その後、商業建築文書建物の仕様書や設計図など)から情報を抽出するNLPの開発を主導しました

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

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

新しいドキュメントの発見とテストのためのNLPツールは、ニーズの明確化に役立つかもしれません。次にオープンソースと商用ソリューションの両方を含むNLPテクノロジーの比較範囲を広げましょう本番環境対応のNLPデータパイプラインの構築とサポートにはコストがかかる可能性があるためです。LLMへの注目が高まる中、NLP機能への投資が不足すると、競合他社に遅れをとる可能性があります幸いなことに、この記事で紹介したオープンソースツールの1つを使用して、予算とニーズに合ったNLPデータパイプラインを構築できます

原題:データ抽出のための3つのオープンソースNLPツール、著者: Isaac Sacolick