Azure Search で Cognitive Services リソースをスキルセットにアタッチするAttach a Cognitive Services resource with a skillset in Azure Search

Azure Search でのドキュメント エンリッチメントに使用されるコグニティブ インデックス パイプラインは AI アルゴリズムで駆動します。AI algorithms drive the cognitive indexing pipelines used for document enrichment in Azure Search. これらのアルゴリズムは、画像分析および光学式文字認識 (OCR) 用の Computer Vision や、エンティティ認識、キー フレーズ抽出、その他のエンリッチメント用の Text Analytics などの Azure Cognitive Services リソースに基づきます。These algorithms are based on Azure Cognitive Services resources, including Computer Vision for image analysis and optical character recognition (OCR) and Text Analytics for entity recognition, key phrase extraction, and other enrichments. Azure Search によってドキュメント エンリッチメントの目的で使用されるとき、アルゴリズムはスキル内にラップされ、スキルセットに入れられ、インデックス作成中にインデクサーによって参照されます。As used by Azure Search for document enrichment purposes, the algorithms are wrapped inside a skill, placed in a skillset, and referenced by an indexer during indexing.

数には制限がありますが、ドキュメントは無料で強化できます。You can enrich a limited number of documents for free. または、有料の Cognitive Services リソースをスキルセットにアタッチして、さらに大きくて複雑なワークロードに対応できます。Or, you can attach a billable Cognitive Services resource to a skillset for larger and more frequent workloads. この記事では、課金対象の Cognitive Services リソースをアタッチして、Azure Search のインデックスを作成中にドキュメントを強化する方法について説明します。In this article, you'll learn how to attach a billable Cognitive Services resource to enrich documents during Azure Search indexing.

注意

課金対象イベントとしては、Cognitive Services API の呼び出しや、Azure Search でのドキュメント解析段階の一部としての画像抽出があります。Billable events include calls to Cognitive Services APIs and image extraction as part of the document-cracking stage in Azure Search. ドキュメントからのテキスト抽出や、Cognitive Services を呼び出さないスキルに対する課金はありません。There is no charge for text extraction from documents or for skills that do not call Cognitive Services.

課金対象スキルの実行は、Cognitive Services の従量課金制の価格になります。Execution of billable skills is at the Cognitive Services pay-as-you go price. 画像抽出の価格については、「Azure Search の価格ページ」をご覧ください。For image extraction pricing, see the Azure Search pricing page.

同一リージョンの要件Same-region requirement

Azure Search と Azure Cognitive Services は同一リージョン内に存在することが要求されます。We require that Azure Search and Azure Cognitive Services exist within the same region. そうでない場合は、実行時に "Provided key is not a valid CognitiveServices type key for the region of your search service." のメッセージが表示されます。Otherwise, you will get this message at run time: "Provided key is not a valid CognitiveServices type key for the region of your search service."

リージョン間でサービスを移動する方法はありません。There is no way to move a service across regions. このエラーが表示される場合、Azure Search と同じリージョンに、新しい Cognitive Services リソースを作成する必要があります。If you get this error, you should create a new Cognitive Services resource in the same region as Azure Search.

注意

一部の組み込みスキルは、非リージョンの Cognitive Services (テキスト翻訳スキルなど) をベースとしています。Some built-in skills are based on non-regional Cognitive Services (for example, the Text Translation Skill). そうしたスキルをスキルセットに追加すると、Azure Search または Cognitive Services リソースと同じリージョンにデータが留まることが保証されないことに注意してください。Be aware that if you add any of these skills to your skillset that your data is not guaranteed to stay in the same region as your Azure Search or Cognitive Services resource. 詳細については、サービスの状態に関するページを参照してください。See the service status page for more details.

無料リソースを使用するUse Free resources

コグニティブ検索のチュートリアルとクイック スタートの演習を完了するため、制限された無料の処理オプションを使用することができます。You can use a limited, free processing option to complete the cognitive search tutorial and quickstart exercises.

無料 (制限付きのエンリッチメント) リソースは、サブスクリプションごとに、1 日あたり 20 ドキュメントに制限されます。Free (Limited enrichments) resources are restricted to 20 documents per day, per subscription.

  1. [データのインポート] ウィザードを開きます。Open the Import data wizard:

    [データのインポート] ウィザードを開くOpen the Import data wizard

  2. データ ソースを選択し、 [認知検索を追加します (省略可能)] に進みます。Choose a data source and continue to Add cognitive search (Optional). このウィザードの詳細な手順については、ポータル ツールを使用したインポート、インデックス作成、クエリに関する記事をご覧ください。For a step-by-step walkthrough of this wizard, see Import, index, and query by using portal tools.

  3. [Cognitive Services をアタッチする] を展開し、 [無料 (制限付きのエンリッチメント)] を選択します。Expand Attach Cognitive Services and then select Free (Limited enrichments):

    展開された [Cognitive Services をアタッチする] セクションExpanded Attach Cognitive Services section

  4. 次の [エンリッチメントの追加] 手順に進みます。Continue to the next step, Add Enrichments. このポータルで使用可能なスキルの説明については、「手順 2:コグニティブ スキルを追加する」をご覧ください。For a description of skills available in the portal, see Step 2: Add cognitive skills in the cognitive search quickstart.

課金対象のリソースを使用するUse billable resources

1 日に 20 を超えるエンリッチメントを作成するワークロードでは、課金対象の Cognitive Services リソースを必ずアタッチしてください。For workloads that create more than 20 enrichments per day, make sure to attach a billable Cognitive Services resource. Cognitive Services API を呼び出す予定がない場合でも、課金対象の Cognitive Services リソースを常にアタッチしておくことをお勧めします。We recommend that you always attach a billable Cognitive Services resource, even if you never intend to call Cognitive Services APIs. リソースをアタッチすることで、1 日の制限がオーバーライドされます。Attaching a resource overrides the daily limit.

Cognitive Services API を呼び出すスキルに対してのみ課金されます。You're charged only for skills that call the Cognitive Services APIs. カスタム スキル、またはテキスト マージャーテキスト スプリッターShaper などの API ベースでないスキルについては課金されません。You're not billed for custom skills, or skills like text merger, text splitter, and shaper, which aren't API-based.

  1. [データのインポート] ウィザードを開き、データ ソースを選択し、 [認知検索を追加します (省略可能)] に進みます。Open the Import data wizard, choose a data source, and continue to Add cognitive search (Optional).

  2. [Cognitive Services をアタッチする] を展開してから、 [新しい Cognitive Services リソースを作成します] を選択します。Expand Attach Cognitive Services and then select Create new Cognitive Services resource. 新しいタブが開き、リソースを作成できるようになります。A new tab opens so that you can create the resource:

    Cognitive Services リソースの作成Create a Cognitive Services resource

  3. [場所] の一覧から、お使いの Azure Search サービスが配置されているリージョンを選択します。In the Location list, select the region where your Azure Search service is located. パフォーマンス上の理由により、必ずこのリージョンを使用してください。Make sure to use this region for performance reasons. このリージョンを使用することで、リージョンをまたぐアウトバウンド帯域幅の課金も無効になります。Using this region also voids outbound bandwidth charges across regions.

  4. [価格レベル] 一覧で [S0] を選択して、Cognitive Services の機能のオールインワン コレクション (Azure Search で使用される事前定義済みスキルをサポートする Vision および Language の機能を含む) を取得します。In the Pricing tier list, select S0 to get the all-in-one collection of Cognitive Services features, including the Vision and Language features that back the predefined skills used by Azure Search.

    S0 レベルの場合、特定のワークロードの料金は、Cognitive Services の価格ページで確認できます。For the S0 tier, you can find rates for specific workloads on the Cognitive Services pricing page.

    • [プランの選択] 一覧で [Cognitive Services] が選択されていることを確認します。In the Select Offer list, make sure Cognitive Services is selected.
    • [言語] 機能の下では、 [Text Analytics Standard] の料金が AI インデックスに適用されます。Under Language features, the rates for Text Analytics Standard apply to AI indexing.
    • [Vision] 機能の下では、 [Computer Vision S1] の料金が適用されます。Under Vision features, the rates for Computer Vision S1 apply.
  5. [作成] を選択して、新しい Cognitive Services リソースをプロビジョニングします。Select Create to provision the new Cognitive Services resource.

  6. [データのインポート] ウィザードが含まれる、前のタブに戻ります。Return to the previous tab, which contains the Import data wizard. [更新] を選択して Cognitive Services リソースを表示し、リソースを選択します。Select Refresh to show the Cognitive Services resource, and then select the resource:

    Cognitive Services リソースを選択Select the Cognitive Services resource

  7. [エンリッチメントの追加] セクションを展開して、データに対して実行する特定のコグニティブ スキルを選択します。Expand the Add Enrichments section to select the specific cognitive skills that you want to run on your data. ウィザードの残りを完了します。Complete the rest of the wizard. このポータルで使用可能なスキルの説明については、「手順 2:コグニティブ スキルを追加する」をご覧ください。For a description of skills available in the portal, see Step 2: Add cognitive skills in the cognitive search quickstart.

既存のスキルセットを Cognitive Services リソースにアタッチするAttach an existing skillset to a Cognitive Services resource

既存のスキルがある場合は、新規または別の Cognitive Services リソースにアタッチできます。If you have an existing skillset, you can attach it to a new or different Cognitive Services resource.

  1. [サービスの概要] ページで、 [スキルセット] を選択します。On the Service overview page, select Skillsets:

    スキルセット タブSkillsets tab

  2. スキルセットの名前を選択し、既存のリソースを選択するか、新しいリソースを作成します。Select the name of the skillset, and then select an existing resource or create a new one. [OK] を選択して変更を確認します。Select OK to confirm your changes.

    スキルセット リソースの一覧Skillset resource list

    [無料 (制限付きのエンリッチメント)] オプションでは 1 日あたり 20 ドキュメントに制限されていること、および [新しい Cognitive Services リソースを作成します] を使用して新しい課金対象のリソースをプロビジョニングできることを思い出してください。Remember that the Free (Limited enrichments) option limits you to 20 documents daily, and that you can use Create new Cognitive Services resource to provision a new billable resource. 新しいリソースを作成した場合は、 [更新] を選択して Cognitive Services リソースのリストを更新し、リソースを選択します。If you create a new resource, select Refresh to refresh the list of Cognitive Services resources, and then select the resource.

Cognitive Services をプログラムでアタッチするAttach Cognitive Services programmatically

プログラムでスキルセットを定義するときは、cognitiveServices セクションをスキルセットに追加します。When you're defining the skillset programmatically, add a cognitiveServices section to the skillset. そのセクションで、スキルセットに関連付ける Cognitive Services リソースのキーを含めます。In that section, include the key of the Cognitive Services resource that you want to associate with the skillset. リソースは Azure Search リソースと同一リージョンに存在する必要があることを思い出してください。Remember that the resource must be in the same region as your Azure Search resource. @odata.type も追加し、それを #Microsoft.Azure.Search.CognitiveServicesByKey に設定します。Also include @odata.type, and set it to #Microsoft.Azure.Search.CognitiveServicesByKey.

次の例は、このパターンを示しています。The following example shows this pattern. 定義の最後にある cognitiveServices セクションに留意してください。Notice the cognitiveServices section at the end of the definition.

PUT https://[servicename].search.windows.net/skillsets/[skillset name]?api-version=2019-05-06
api-key: [admin key]
Content-Type: application/json
{
    "name": "skillset name",
    "skills": 
    [
      {
        "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill",
        "categories": [ "Organization" ],
        "defaultLanguageCode": "en",
        "inputs": [
          {
            "name": "text", "source": "/document/content"
          }
        ],
        "outputs": [
          {
            "name": "organizations", "targetName": "organizations"
          }
        ]
      }
    ],
    "cognitiveServices": {
        "@odata.type": "#Microsoft.Azure.Search.CognitiveServicesByKey",
        "description": "mycogsvcs",
        "key": "<your key goes here>"
    }
}

例:コストの見積もりExample: Estimate costs

コグニティブ検索のインデックス作成に関連するコストを見積もるには、まず、いくつかの試算ができるように、平均的なドキュメントがどのようなものかを把握することから開始します。To estimate the costs associated with cognitive search indexing, start with an idea of what an average document looks like so you can run some numbers. たとえば、次のように概算することができます。For example, you might approximate:

  • 1000 PDF。1,000 PDFs.
  • それぞれ 6 ページ。Six pages each.
  • 1 ページに 1 画像 (6000 画像)。One image per page (6,000 images).
  • 1 ページあたり 3,000 文字。3,000 characters per page.

各 PDF のドキュメント解析、画像とテキストの抽出、画像の光学式文字認識 (OCR)、組織のエンティティ認識からなるパイプラインを想定します。Assume a pipeline that consists of document cracking of each PDF, image and text extraction, optical character recognition (OCR) of images, and entity recognition of organizations.

この記事に示されている価格は仮定上のものです。The prices shown in this article are hypothetical. これらは、見積もりプロセスを説明するために使用されています。They're used to illustrate the estimation process. お客様のコストはこれより低い可能性があります。Your costs could be lower. トランザクションの実際の価格については、Cognitive Services の価格に関するページをご覧ください。For the actual prices of transactions, see See Cognitive Services pricing.

  1. テキストと画像のコンテンツを含むドキュメント解読の場合、現在、テキスト抽出は無料です。For document cracking with text and image content, text extraction is currently free. 6,000 個の画像の場合、1,000 個の画像が抽出されるごとに 1 ドルと想定します。For 6,000 images, assume $1 for every 1,000 images extracted. このステップの場合、6.00 ドルのコストになります。That's a cost of $6.00 for this step.

  2. 6,000 画像の英語での OCR については、OCR コグニティブ スキルでは最適なアルゴリズム (DescribeText) が使用されます。For OCR of 6,000 images in English, the OCR cognitive skill uses the best algorithm (DescribeText). 1,000 個のイメージを分析するたびに $2.50 かかるとすると、この手順に対して $15.00 が課金されることになります。Assuming a cost of $2.50 per 1,000 images to be analyzed, you would pay $15.00 for this step.

  3. エンティティの抽出では、1 ページごとに合計 3 個のテキスト レコードがあります。For entity extraction, you'd have a total of three text records per page. 各レコードは 1,000 文字です。Each record is 1,000 characters. 1 ページあたり 3 個のテキスト レコードに 6,000 ページを掛けると、18,000 個のテキスト レコードになります。Three text records per page multiplied by 6,000 pages equals 18,000 text records. 1,000 個のテキスト レコードごとに $2.00 かかるとすると、この手順のコストは $36.00 になります。Assuming $2.00 per 1,000 text records, this step would cost $36.00.

まとめると、示されたスキルセットでこの種類の PDF ドキュメントを 1,000 個取り込むには、約 $57.00 を支払うことなります。Putting it all together, you'd pay about $57.00 to ingest 1,000 PDF documents of this type with the described skillset.

次の手順Next steps