クイック スタート: Azure portal でスキルセットを作成する

このクイックスタートでは、Azure AI 検索のスキルセットが、検索インデックスにテキスト検索可能なコンテンツを生成するために、光学式文字認識 (OCR)、画像分析、言語検出、テキスト翻訳、エンティティ認識を追加するしくみを学びます。

Azure portal で [データのインポート] ウィザードを実行して、インデックス作成中にテキスト形式のコンテンツを作成および変換するスキルを適用します。 入力は生データであり、通常は Azure Storage の BLOB です。 出力は、AI によって生成された画像テキスト、キャプション、エンティティを含む検索可能なインデックスです。 生成されたコンテンツは、Search エクスプローラーを使用してポータルでクエリを実行できます。

準備として、ウィザードを実行する前に、いくつかのリソースを作成してサンプル ファイルをアップロードします。

前提条件

作業を開始する前に、次の前提条件を満たしておく必要があります。

Note

このクイックスタートでは、AI 変換に Azure AI サービスを使用します。 ワークロードは非常に小さいので、最大 20 トランザクションの処理を無料で使用するために Azure AI サービスを内部で利用しています。 Azure AI マルチサービス リソースを作成しなくても、この演習を完了できます。

自分のデータを設定する

次の手順では、異種コンテンツ ファイルを格納するために Azure Storage で BLOB コンテナーを設定します。

  1. さまざまなタイプの小さいファイル セットで構成されているサンプル データをダウンロードします。

  2. Azure アカウントで Azure Portal にサインインします。

  3. Azure Storage アカウントを作成するか、既存のアカウントを検索してください。

    • 帯域幅料金を回避するには、Azure AI Search と同じリージョンを選択します。

    • StorageV2 (汎用 V2) を選択します。

  4. Azure portal で、Azure Storage ページを開き、コンテナーを作成します。 既定のアクセス レベルを使用できます。

  5. コンテナーで、[アップロード] を選択してサンプル ファイルをアップロードしてください。 ネイティブ形式ではフルテキスト検索ができない画像やアプリケーション ファイルなどの、広範な種類のコンテンツがあります。

    Screenshot of source files in Azure Blob Storage.

これでデータのインポート ウィザードに進む準備が整いました。

データ インポート ウィザードを実行する

  1. Azure アカウントで Azure Portal にサインインします。

  2. ご自分の検索サービスを見つけ、[概要] ページで、コマンド バーの [データのインポート] を選び、4 つのステップで検索可能なコンテンツを作成します。

    Screenshot of the Import data command.

手順 1:データ ソースを作成する

  1. [データへの接続] で、 [Azure Blob Storage] を選択します。

  2. ストレージ アカウントと作成したコンテナーへの既存の接続を選択します。 データ ソースの名前を指定し、残りの部分には既定値を使用します。

    Screenshot of the data source definition page.

    次のページに進みます。

"データ ソースからのインデックス スキーマの検出でエラーが発生しました" と表示された場合、ウィザードの電源を入れるインデクサーがデータ ソースに接続できません。 ほとんどの場合、データ ソースにはセキュリティ保護があります。 次の解決策を試してから、ウィザードを再実行してください。

セキュリティ機能 解決策
リソースに Azure ロールが必要であるか、そのアクセス キーが無効になっている 信頼されたサービスとして接続するか、マネージド ID を使用して接続します
リソースが IP ファイアウォールの内側にある 検索および Azure portal 用の受信規則を作成する
リソースにプライベート エンドポイント接続が必要である プライベート エンドポイント経由で接続する

手順 2: コグニティブ スキルを追加する

次に、OCR、画像分析、自然言語処理を呼び出すための AI エンリッチメントを構成します。

  1. このクイックスタートでは、無料の Azure AI サービス リソースを使用します。 サンプル データは 14 個のファイルで構成されているため、このクイックスタートでは、Azure AI サービスの無料枠である 20 トランザクションで十分間に合います。

    Screenshot of the Attach Azure AI services tab.

  2. [エンリッチメントの追加] を展開して、選択項目 6 か所について設定を行います。

    画像分析スキルをウィザード ページに追加するために OCR を有効にします。

    エンティティの認識 (人物、組織、場所) と画像分析スキルを選択します (タグ、キャプション)。

    Screenshot of the skillset definition page.

    次のページに進みます。

手順 3:インデックスの構成

検索可能なコンテンツがインデックスに格納され、データ インポート ウィザードでは通常、データ ソースをサンプリングするとスキーマを自動的に作成することができます。 この手順では、生成されたスキーマを確認し、必要であれば設定に変更を加えます。

このクイックスタートでは、ウィザードによって妥当な既定値が適切に設定されます。

  • 既定のフィールドは、既存の BLOB のメタデータ プロパティに加え、エンリッチメントの出力用の新しいフィールド (peopleorganizationslocations など) を基にしています。 データ型は、メタデータとデータのサンプリングから推定されます。

  • 既定のドキュメント キーは metadata_storage_path です (このフィールドが選択されるのは一意の値が含まれるため)。

  • これらのフィールドの既定の属性は [取得可能][検索可能] です。 [検索可能] は、フィールドのフルテキスト検索を許可します。 [取得可能] は、フィールド値を結果で取得できることを意味します。 これらのフィールドはスキルセットを介して作成されていることから、取得可能かつ検索可能にするのがユーザーの意図であると見なされます。 フィルター式でフィールドを使用する場合は、[フィルター可能] を選択します。

    Screenshot of the index definition page.

フィールドを [取得可能] としてマークしたからといって、このフィールドが検索結果に必ず存在するという意味ではありません。 検索結果の構成は、対象となるフィールドを select クエリ パラメーターを使用して指定することで、制御することができます。

次のページに進みます。

手順 4: インデクサーを構成する

インデクサーは、インデックス作成プロセスを進めます。 これは、データ ソース名、ターゲット インデックス、および実行の頻度を指定します。 データ インポート ウィザードでは、いくつかのオブジェクトが作成され、繰り返しリセットおよび実行できるインデクサーが常に含まれます。

  1. [インデクサー] ページで、既定の名前をそのまま使用し、[1 回] を選択してください。

    Screenshot of the indexer definition page.

  2. [送信] を選択して、インデクサーを作成し、同時に実行します。

状態を監視する

左側のナビゲーション ウィンドウから [インデクサー] を選択して状態を監視し、インデクサーを選択してください。 スキルベースのインデックス作成は、テキストベースのインデックス作成 (特にOCRと画像分析) よりも時間がかかります。

Screenshot of the indexer status page.

実行状態の詳細を表示するには、[成功] (または [失敗]) を選択して実行の詳細を表示します。

このデモには、警告がいくつかあります。"Could not execute skill because one or more skill input was invalid." はデータ ソース内の PNG ファイルがエンティティ認識へのテキスト入力を提供しないことを示します。 この警告は、アップストリームの OCR スキルが画像内のテキストを認識せず、ダウンストリーム エンティティ認識スキルにテキスト入力を提供できなかったために発生します。

スキルセットの実行では警告が一般的です。 スキルがデータを反復処理する方法に慣れるにつれて、パターンに気付き、無視しても安全な警告を学習するかもしれません。

Search エクスプローラーでクエリを実行する

インデックスが作成されたら、Search エクスプローラーを使用して結果を返します。

  1. 左側の [インデックス] を選択し、ブックのインデックスを選択してください。 Search エクスプローラーは最初のタブにあります。

  2. インデックスのクエリを実行する検索文字列 (satya nadella など) を入力します。 検索バーでは、キーワード、引用符で囲まれた語句、演算子 ("Satya Nadella" +"Bill Gates" +"Steve Ballmer") を使用できます。

結果は詳細 JSON として返されます。これは、特に大きいドキュメントでは、読み取りにくい場合があります。 このツールで検索するためのいくつかのヒントを次に示します。

  • JSON ビューに切り替えて、結果を整形するパラメーターを指定してください。

  • 結果のフィールドを制限するために、select を追加してください。

  • 一致の数を表示するために count を追加してください。

  • JSON 内で特定のプロパティまたは用語を検索するには、Ctrl + F キーを押します。

    Screenshot of the Search explorer page.

ビューに貼り付けることができる JSON を次に示します。

{
"search": "\"Satya Nadella\" +\"Bill Gates\" +\"Steve Ballmer\"",
"count": true,
"select": "content, people"
}

ヒント

クエリ文字列は大文字と小文字が区別されます。"不明なフィールド" というメッセージが返された場合は、 [フィールド] または [インデックス定義 (JSON)] をチェックして名前と大文字と小文字の区別を確認してください。

重要なポイント

これで、最初のスキルセットを作成し、スキルベースのインデックス作成の基本的な手順を学習しました。

習得していただきたい主な概念に、依存関係が含まれます。 スキルセットはインデクサーにバインドされ、インデクサーは Azure とソースに固有です。 このクイックスタートでは Azure Blob Storage を使用していますが、他の Azure データ ソースも使用可能です。 詳細については、「Azure AI Searchでのインデクサー」を参照してください。

もう 1 つの重要な概念は、スキルがさまざまな種類のコンテンツにわたって動作するため、異種コンテンツで使用すると、いくつかの入力がスキップされるということです。 また、ファイルまたはフィールドが大きいと、ご利用のサービス レベルのインデクサーの制限を超過してしまう可能性があります。 そうした状況で警告が発生するのは異常ではありません。

出力は、検索インデックスに送られます。また、インデックス作成中に作成される名前と値の組と、インデックス内の個々のフィールドとの間にはマッピングが存在します。 内部的には、ウィザードがエンリッチメント ツリーを設定し、スキルセットを定義して、操作と一般的なフローの順序を確立します。 これらの手順はウィザードには表示されませんが、コードの記述を開始するときは、これらの概念が重要になります。

最後に、インデックスに対してクエリを実行することで内容を確認できることを学習しました。 最後に、Azure AI Search で提供されるインデックスは検索可能なインデックスであり、 単純なクエリ構文を使用してクエリを実行することも、完全に拡張されたクエリ構文を使用してクエリを実行することもできます。 エンリッチされたフィールドを含むインデックスは、他のフィールドと同様です。 標準または のカスタム アナライザースコアリング プロファイル同意語ファセット ナビゲーション、geo 検索、またはその他の Azure AI Search フィーチャーを組み込む場合は、確実にこれを行うことができます。

リソースをクリーンアップする

独自のサブスクリプションを使用している場合は、プロジェクトの最後に、作成したリソースがまだ必要かどうかを確認してください。 リソースを実行したままにすると、お金がかかる場合があります。 リソースは個別に削除することも、リソース グループを削除してリソースのセット全体を削除することもできます。

ポータルの左側のナビゲーション ウィンドウにある [All resources](すべてのリソース) または [Resource groups](リソース グループ) リンクを使って、リソースを検索および管理できます。

無料サービスをお使いの場合は、インデックス、インデクサー、データ ソースが 3 つに制限されることにご注意ください。 ポータルで個別の項目を削除して、制限を超えないようにすることができます。

次のステップ

スキルセットは、ポータル、.NET SDK、または REST API を使用して作成できます。 さらに知識を深めるには、REST クライアントと他のサンプル データを使って REST API を試してみてください。