編集

次の方法で共有


画像とテキストの処理での AI エンリッチメントの使用

Azure App Service
Azure Blob Storage
Azure AI Search
Azure Functions

ソリューションのアイデア

この記事ではソリューションのアイデアについて説明します。 クラウド アーキテクトはこのガイダンスを使用すると、このアーキテクチャの一般的な実装の主要コンポーネントを視覚化しやすくなります。 ワークロードの特定の要件に適合する、適切に設計されたソリューションを設計するための出発点として、この記事を使用してください。

この記事では、画像処理、自然言語処理、およびカスタム スキルを使用してドメイン固有のデータをキャプチャする方法について説明します。 そのデータを使用して、テキスト ドキュメントと画像ドキュメントをエンリッチすることができます。 Azure AI 検索と AI エンリッチメントを併用すると、関連性の高いコンテンツを大規模に特定して探索するのに役立ちます。 このソリューションで AI エンリッチメントを使用して、元の複雑で構造化されていない JFK 暗殺記録 (JFK ファイル) データセットから意味を抽出します。

Architecture

非構造化データを構造化データに変換する AI 検索アーキテクチャーを示す図。

このアーキテクチャの Visio ファイルをダウンロードします。

データフロー

次のデータフローは、前の図に対応しています。 データフローでは、構造化されていない JFK ファイル データセットが AI 検索スキル パイプラインを通過して、構造化されたインデックス付きデータを生成する方法について説明します。

  1. ドキュメントや画像など、Azure Blob Storage 内の非構造化データを AI 検索に取り込みます。

  2. インデックス作成プロセスを開始するために、ドキュメント解析ステップで、データから画像とテキストを抽出し、コンテンツをエンリッチします。 このプロセスにおけるエンリッチメント ステップは、選択したスキルのデータと種類によって異なります。

  3. Azure AI Vision と Azure AI Language の API をベースにした組み込みスキルでは、画像光学式文字認識 (OCR)、画像分析、テキスト翻訳、エンティティ認識、フルテキスト検索などの AI エンリッチメントを利用できます。

  4. "カスタム スキル" は、より複雑な AI モデルまたはサービスを必要とするシナリオをサポートします。 Azure AI Document Intelligence、Azure Machine Learning モデル、Azure Functions などはその一例です。

  5. エンリッチメント プロセスが完了すると、インデクサーはエンリッチメントされたドキュメントとインデックス付きドキュメントを検索インデックスに保存します。 フルテキスト検索やその他のクエリ フォームで、このインデックスを使用できます。

  6. エンリッチされたドキュメントは、ナレッジ マイニング アプリやデータ サイエンス アプリなどのダウンストリーム アプリで使用できるナレッジ ストアのプロジェクションにすることもできます。

  7. クエリで、検索インデックス内のエンリッチされたコンテンツにアクセスします。 インデックスは、検索の関連性を調整するためのカスタム アナライザー、あいまい検索クエリ、フィルター、スコアリング プロファイルをサポートしています。

  8. Blob Storage または Azure Table Storage に接続するアプリケーションは、ナレッジ ストアにアクセスできます。

コンポーネント

このソリューションでは、次の Azure コンポーネントを使用します。

AI 検索は、コンテンツのインデックスを作成し、このソリューションのユーザー エクスペリエンスを強化します。 AI 検索を使用して、事前構築済みの AI スキルをコンテンツに適用できます。 また、この拡張性メカニズムを使用してカスタム スキルを追加できるため、特定のエンリッチメント変換を利用できます。

Azure AI Vision

Vision では、テキスト認識を使用して画像からテキスト情報を抽出および認識します。 Read API は、最新の OCR 認識モデルを使用しており、大規模でテキスト量の多いドキュメントとノイズの多い画像向けに最適化されています。

レガシ OCR API は、サイズの大きなドキュメント向けには最適化されていませんが、より多くの言語をサポートしています。 OCR の結果の精度は、スキャンの品質と画像によって異なる場合があります。 このソリューションでは、OCR を使用して hOCR 形式のデータを生成します。

Language

Language は、固有表現認識キー フレーズ抽出のようなテキスト分析を使用して、非構造化ドキュメントからテキスト情報を抽出します。

Azure Storage

Blob Storage は、データの REST ベースのオブジェクト ストレージであり、HTTPS 経由で世界中のどこからでもアクセスできます。 Blob Storage を使用すると、データを一般に公開することも、アプリケーション データを公開せずに格納することもできます。 Blob Storage は、テキストやグラフィックなどの大量の非構造化データに適しています。

Table Storage は、高可用性、スケーラブル、構造化、または半構造化の NoSQL データをクラウドに格納します。

Azure Functions

Functions は、インフラストラクチャを明示的にプロビジョニングしたり管理したりする必要がない、小規模なイベントトリガー型のコードを実行するために使用できるサーバーレス コンピューティング サービスです。 このソリューションでは、カスタム スキルとして中央情報局 (CIA) の暗号名リストを JFK ファイルに適用するための Functions メソッドを使用します。

Azure App Service

このソリューションは Azure App Service でスタンドアロンの Web アプリを構築し、インデックスのテスト、デモ、および検索を行ったり、エンリッチメント処理されたインデックス付きドキュメントで接続を探索したりします。

シナリオの詳細

大規模な非構造化データセットには、標準の検索ソリューションでは解析できない、タイプライターを使ったメモや手書きのメモ、写真、図、その他の非構造化データが含まれることがあります。 JFK ファイルには、1963 年のケネディ大統領暗殺事件の CIA 調査に関する 34,000 ページを超えるドキュメントが含まれています。

AI 検索で AI エンリッチメントを使用すると、画像や BLOB のほか、JFK ファイルのような非構造化データ ソースから、検索可能かつインデックス作成が可能なテキストを抽出して強化できます。 AI エンリッチメントでは、Azure AI サービスである Vision API と Language API の事前トレーニング済み機械学習スキル セットが使用されます。 また、カスタム スキルを作成してアタッチし、CIA の暗号名のようなドメイン固有のデータ向けに特別な処理を追加することもできます。 その後、AI 検索で、そのコンテキストのインデックス作成と検索を行うことができます。

このソリューションの AI 検索スキルは、次のグループに分類できます。

  • 画像処理: このソリューションでは、オブジェクトと顔の検出、タグとキャプションの生成、著名人とランドマークの識別なおの組み込みのテキスト抽出および画像分析のスキルが使用されます。 これらのスキルによって画像コンテンツのテキスト表現が作成されます。そのテキスト表現は AI 検索のクエリ機能を使用して検索できます。 ドキュメント解析は、テキスト以外のソースからテキスト コンテンツを抽出または作成するプロセスです。

  • 自然言語処理: このソリューションではエンティティ認識言語検出キー フレーズ抽出のような組み込みスキルを使用して、非構造化テキストをインデックス内の検索可能なフィールドとフィルター可能なフィールドにマップします。

  • カスタム スキル: このソリューションでは、AI 検索を拡張して特定のエンリッチメント変換をコンテンツに適用するカスタム スキルを使用します。 カスタム Web API スキルを使用して、カスタム スキル用にインターフェイスを指定できます。

考えられるユース ケース

JFK ファイルのサンプル プロジェクトオンライン デモでは、AI 検索の特定のユース ケースを紹介しています。 このソリューションのアイデアは、すべてのシナリオに対応するフレームワークやスケーラブルなアーキテクチャとなることを意図したものではありません。 そうではなく、このソリューションのアイデアは、一般的なガイドラインと例を提供することです。 このコード プロジェクトとデモでは、抽出された画像用に、パブリック Web サイトと公的に読み取り可能なストレージ コンテナーが作成されるため、非公開データではこのソリューションを使用しないでください。

このアーキテクチャを使用して、次を行うこともできます。

  • 検索アプリとデータ サイエンス アプリにおいて非構造化テキストと画像コンテンツの価値と有用性を向上させます。

  • カスタム スキルを使用して、オープンソース コード、Microsoft 以外のコード、または Microsoft コードをインデックス作成パイプラインに統合します。

  • スキャンされた JPG、PNG、またはビットマップ ドキュメントをフルテキスト検索可能にします。

  • 画像とテキストを組み合わせた PDF の標準の PDF テキスト抽出よりも優れた結果を出します。 スキャンされた、ネイティブの PDF 形式の中には、AI 検索で正しく解析されないものがあります。

  • サイズの大きい非構造化ドキュメントまたは半構造化ドキュメントに隠れている、本質的に意味のある生コンテンツまたはコンテキストから、新しい情報を作成します。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は次のとおりです。

プリンシパル作成者:

パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。

次のステップ

このソリューションの詳細情報:

製品ドキュメントを読む:

次のラーニング パスを試してみてください。