Amazon Comprehend は、カスタム エンティティ認識 PlatoBlockchain Data Intelligence のアノテーション制限の引き下げを発表しました。 垂直検索。 あい。

Amazon Comprehend が、カスタム エンティティ認識のアノテーション制限の引き下げを発表

Amazon Comprehend は、ドキュメントからエンティティ、キー フレーズ、言語、感情、およびその他の洞察を自動的に抽出するために使用できる自然言語処理 (NLP) サービスです。 たとえば、人、場所、商品、日付、数量などのエンティティの検出をすぐに開始できます。 Amazon Comprehendコンソール, AWSコマンドラインインターフェイスまたは Amazon Comprehend API. さらに、一部ではないエンティティを抽出する必要がある場合は、 Amazon Comprehend の組み込みエンティティ タイプ、カスタム エンティティ認識モデル (とも呼ばれる) を作成できます。 カスタム エンティティ レコグナイザー) を使用して、製品のカタログからのアイテムの名前、ドメイン固有の識別子など、特定のユース ケースにより関連性の高い用語を抽出します。 機械学習ライブラリとフレームワークを使用して正確なエンティティ認識機能を独自に作成することは、複雑で時間のかかるプロセスになる可能性があります。 Amazon Comprehend は、モデルのトレーニング作業を大幅に簡素化します。 ドキュメントと注釈のデータセットをロードし、Amazon Comprehend コンソール、AWS CLI、または API を使用してモデルを作成するだけです。

カスタム エンティティ認識エンジンをトレーニングするには、トレーニング データを Amazon Comprehend に次のように提供できます。 注釈またはエンティティ リスト. 最初のケースでは、ドキュメントのコレクションと、一連のドキュメント内でエンティティが発生する場所を指定する注釈を含むファイルを提供します。 または、エンティティ リストを使用して、対応するエンティティ タイプ ラベルを含むエンティティのリストと、エンティティが存在すると予想される一連の注釈なしのドキュメントを提供します。 両方のアプローチを使用して、適切なカスタム エンティティ認識モデルをトレーニングできます。 ただし、XNUMX つの方法の方が適している場合もあります。 たとえば、特定のエンティティの意味が曖昧でコンテキストに依存する可能性がある場合、エンティティを抽出する際にコンテキストをより適切に使用できる Amazon Comprehend モデルを作成するのに役立つ可能性があるため、アノテーションを提供することをお勧めします。

ドキュメントに注釈を付けるには、特に注釈の質と量の両方が結果として得られるエンティティ認識モデルに影響を与えると考える場合、非常に多くの労力と時間が必要になる可能性があります。 注釈が不正確または少なすぎると、結果が不十分になる可能性があります。 注釈を取得するためのプロセスをセットアップするのに役立つように、次のようなツールを提供しています。 Amazon SageMakerグラウンドトゥルースを使用すると、ドキュメントにすばやく注釈を付けて、 拡張マニフェスト アノテーション ファイル. ただし、Ground Truth を使用する場合でも、トレーニング データセットがエンティティ認識エンジンを正常に構築するのに十分な大きさであることを確認する必要があります。

今日まで、Amazon Comprehend カスタム エンティティ レコグナイザーのトレーニングを開始するには、エンティティ タイプごとに少なくとも 250 のドキュメントと 100 のアノテーションのコレクションを提供する必要がありました。 本日、Amazon Comprehend の基礎となるモデルの最近の改善のおかげで、プレーン テキストの CSV 注釈ファイルを使用して認識エンジンをトレーニングするための最小要件が緩和されたことを発表します。 エンティティ タイプごとにわずか 25 つのドキュメントと XNUMX の注釈を使用して、カスタム エンティティ認識モデルを構築できるようになりました。 新しいサービス制限の詳細については、次を参照してください。 ガイドラインと割り当て.

この削減がカスタム エンティティ認識エンジンの作成を開始するのにどのように役立つかを示すために、いくつかのオープンソース データセットでいくつかのテストを実行し、パフォーマンス メトリックを収集しました。 この投稿では、ベンチマーク プロセスと、サブサンプリングされたデータセットの作業中に得られた結果について説明します。

データセットの準備

この投稿では、注釈付きドキュメントを使用して Amazon Comprehend カスタム エンティティ認識エンジンをトレーニングする方法について説明します。 一般に、注釈は CSVファイルGround Truth によって生成された拡張マニフェスト ファイル、またはA PDFファイル. これは、新しい最小要件の影響を受けるタイプのアノテーションであるためです。 CSV ファイルの構造は次のとおりです。

File, Line, Begin Offset, End Offset, Type
documents.txt, 0, 0, 13, ENTITY_TYPE_1
documents.txt, 1, 0, 7, ENTITY_TYPE_2

関連するフィールドは次のとおりです。

  • File – ドキュメントを含むファイルの名前
  • LINE – 行 0 から始まる、エンティティを含む行の番号
  • 始める オフセット – 最初の文字が位置 0 にあることを考慮して、エンティティーの開始位置を示す入力テキスト内の文字オフセット (行の先頭を基準とする)。
  • 終了オフセット – エンティティの終了位置を示す入力テキスト内の文字オフセット
  • タイプ – 定義するエンティティ タイプの名前

さらに、このアプローチを使用する場合、トレーニング ドキュメントのコレクションを .txt ファイルとして、XNUMX 行に XNUMX つのドキュメント、またはファイルごとに XNUMX つのドキュメントを提供する必要があります。

テストでは、 SNIPS 自然言語理解ベンチマーク、XNUMX つのユーザー インテントに分散されたクラウドソーシングされた発話のデータセット (AddToPlaylist, BookRestaurant, GetWeather, PlayMusic, RateBook, SearchCreativeWork, SearchScreeningEvent)。 データセットは、論文の文脈で 2018 年に公開されました。 Snips Voice Platform: プライベート バイ デザインの音声インターフェース用の組み込みの音声言語理解システム Couckeらによる。

SNIPS データセットは、注釈と生のテキスト ファイルの両方を凝縮した JSON ファイルのコレクションで構成されています。 以下は、データセットのスニペットです。

{
   "annotations":{
      "named_entity":[
         {
            "start":16,
            "end":36,
            "extent":"within the same area",
            "tag":"spatial_relation"
         },
         {
            "start":40,
            "end":51,
            "extent":"Lawrence St",
            "tag":"poi"
         },
         {
            "start":67,
            "end":70,
            "extent":"one",
            "tag":"party_size_number"
         }
      ],
      "intent":"BookRestaurant"
   },
   "raw_text":"I'd like to eat within the same area of Lawrence St for a party of one"
}

エンティティ認識エンジンを作成する前に、SNIPS 注釈と生のテキスト ファイルを CSV 注釈ファイルと .txt ドキュメント ファイルに変換しました。

以下は弊社からの抜粋です annotations.csv ファイル:

File, Line, Begin Offset, End Offset, Type
documents.txt, 0, 16, 36, spatial_relation
documents.txt, 0, 40, 51, poi
documents.txt, 0, 67, 70, party_size_number

以下は弊社からの抜粋です documents.txt ファイル:

I'd like to eat within the same area of Lawrence St for a party of one
Please book me a table for three at an american gastropub 
I would like to book a restaurant in Niagara Falls for 8 on June nineteenth
Can you book a table for a party of 6 close to DeKalb Av

サンプリング構成とベンチマーク プロセス

実験では、SNIPS データセットのエンティティ タイプのサブセットに注目しました。

  • ブックレストラン – エンティティ タイプ: spatial_relation, poi, party_size_number, restaurant_name, city, timeRange, restaurant_type, served_dish, party_size_description, country, facility, state, sort, cuisine
  • GetWeather – エンティティ タイプ: condition_temperature, current_location, geographic_poi, timeRange, state, spatial_relation, condition_description, city, country
  • 音楽を再生 – エンティティ タイプ: track, artist, music_item, service, genre, sort, playlist, album, year

さらに、各データセットをサブサンプリングして、トレーニング用にサンプリングされたドキュメントの数とエンティティごとの注釈の数 (としても知られる) に関して異なる構成を取得しました。 ショット)。 これは、各エンティティ タイプが少なくとも出現するサブサンプリングされたデータセットを作成するように設計されたカスタム スクリプトを使用して行われました。 k 回、最低 n ドキュメント。

各モデルは、トレーニング データセットの特定のサブサンプルを使用してトレーニングされました。 次の表に、XNUMX つのモデル構成を示します。

サブサンプリングされたデータセット名 トレーニング用にサンプリングされたドキュメントの数 テスト用にサンプリングされたドキュメントの数 エンティティ タイプごとの平均アノテーション数 (ショット)
snips-BookRestaurant-subsample-A 132 17 33
snips-BookRestaurant-subsample-B 257 33 64
snips-BookRestaurant-subsample-C 508 64 128
snips-GetWeather-subsample-A 91 12 25
snips-GetWeather-subsample-B 185 24 49
snips-GetWeather-subsample-C 361 46 95
snips-PlayMusic-subsample-A 130 17 30
snips-PlayMusic-subsample-B 254 32 60
snips-PlayMusic-subsample-C 505 64 119

モデルの精度を測定するために、エンティティ認識エンジンのトレーニング時に Amazon Comprehend が自動的に計算する評価メトリクスを収集しました。

  • 精度 – これは、認識エンジンによって検出され、正しく識別およびラベル付けされたエンティティの割合を示します。 別の観点から、精度は次のように定義できます。 tp / (tp + fp)ここで、 tp は真陽性 (正しい識別) の数であり、 fp 偽陽性 (誤った識別) の数です。
  • リコール – これは、文書内に存在する、正しく識別およびラベル付けされたエンティティの割合を示します。 として計算されます。 tp / (tp + fn)ここで、 tp は真陽性の数、 fn は、偽陰性 (識別の見逃し) の数です。
  • F1スコア – これは、精度と再現率の指標を組み合わせたもので、モデルの全体的な精度を測定します。 F1 スコアは、適合率と再現率の指標の調和平均であり、次のように計算されます。 2 * 精度 * 再現率 / (精度 + 再現率).

エンティティ認識エンジンのパフォーマンスを比較するために、F1 スコアに注目します。

データセットとサブサンプルのサイズ (ドキュメントとショットの数に関して) が与えられると、さまざまなサブサンプルを生成できることを考慮して、10 つの構成のそれぞれに対して XNUMX のサブサンプルを生成し、エンティティ認識モデルをトレーニングし、パフォーマンス メトリックを収集し、マイクロアベレージングを使用してそれらを平均化しました。 これにより、特に少数ショットのサブサンプルで、より安定した結果を得ることができました。

結果

次の表は、各エンティティ認識エンジンのトレーニング後に Amazon Comprehend によって返されたパフォーマンスメトリクスで計算されたマイクロ平均 F1 スコアを示しています。

サブサンプリングされたデータセット名 エンティティ認識機能のマイクロ平均 F1 スコア (%)
snips-BookRestaurant-subsample-A 86.89
snips-BookRestaurant-subsample-B 90.18
snips-BookRestaurant-subsample-C 92.84
snips-GetWeather-subsample-A 84.73
snips-GetWeather-subsample-B 93.27
snips-GetWeather-subsample-C 93.43
snips-PlayMusic-subsample-A 80.61
snips-PlayMusic-subsample-B 81.80
snips-PlayMusic-subsample-C 85.04

次の縦棒グラフは、前のセクションで説明したようにトレーニングした 1 つの構成の FXNUMX スコアの分布を示しています。

エンティティ タイプごとに 25 個のアノテーションしかなくても、カスタム エンティティ認識モデルを正常にトレーニングできたことがわかります。 サブサンプリングされた最小の XNUMX つのデータセット (snips-BookRestaurant-subsample-A, snips-GetWeather-subsample-A, snips-PlayMusic-subsample-A)、平均して 1% の F84 スコアを達成できたことがわかります。これは、使用したドキュメントと注釈の数が限られていることを考えると、かなり良い結果です。 モデルのパフォーマンスを改善したい場合は、追加のドキュメントと注釈を収集し、より多くのデータで新しいモデルをトレーニングできます。 たとえば、中規模のサブサンプル (snips-BookRestaurant-subsample-B, snips-GetWeather-subsample-B, snips-PlayMusic-subsample-B)、これには 1 倍のドキュメントと注釈が含まれており、平均で 88% の F5 スコアが得られました ( subsample-A データセット)。 最後に、サブサンプリングされたより大きなデータセット (snips-BookRestaurant-subsample-C, snips-GetWeather-subsample-C, snips-PlayMusic-subsample-C)、さらに多くの注釈付きデータが含まれています (ドキュメントと注釈の約 XNUMX 倍の数 subsample-A データセット)、さらに 2% の改善をもたらし、平均 F1 スコアを 90% に上げました。

まとめ

この投稿では、Amazon Comprehend を使用してカスタムエンティティ認識エンジンをトレーニングするための最小要件の削減を発表し、オープンソースのデータセットでいくつかのベンチマークを実行して、この削減がどのように開始に役立つかを示しました。 本日より、エンティティ タイプごとに 25 個のアノテーション (100 個ではなく)、および少なくとも 250 個のドキュメント (XNUMX 個ではなく) を持つエンティティ認識モデルを作成できるようになりました。 この発表により、Amazon Comprehend カスタムエンティティ認識テクノロジーの使用に関心のあるユーザーの参入障壁が低くなります。 注釈付きドキュメントの非常に小さなコレクションを使用して実験を開始し、予備結果を分析し、ユース ケースにより正確なエンティティ認識モデルが必要な場合は、追加の注釈とドキュメントを含めて反復できるようになりました。

カスタム エンティティ レコグナイザーの詳細と開始方法については、次を参照してください。 カスタムエンティティの認識.

私の同僚である Jyoti Bansal と Jie Ma には、データの準備とベンチマークについて貴重な支援をしていただき、特に感謝しています。


著者,

Amazon Comprehend は、カスタム エンティティ認識 PlatoBlockchain Data Intelligence のアノテーション制限の引き下げを発表しました。 垂直検索。 あい。ルカ・ギダ AWS のソリューション アーキテクトです。 彼はミラノに拠点を置き、イタリアの ISV のクラウド ジャーニーをサポートしています。 コンピューター サイエンスとエンジニアリングの学歴を持つ彼は、大学で AI/ML への情熱を育み始めました。 Luca は、AWS 内の自然言語処理 (NLP) コミュニティのメンバーとして、顧客が AI/ML サービスを採用する際の成功を支援しています。

タイムスタンプ:

より多くの AWS機械学習