エンティティ認識の認知スキル (v3)

エンティティ認識スキル (v3) によってテキストからさまざまな種類のエンティティが抽出されます。 これらのエンティティは、人や組織から URL や電話番号まで、14 の異なるカテゴリに分類されます。 このスキルでは、Azure AI Language で提供される固有表現認識機械学習モデルが使用されます。

Note

このスキルは Azure AI サービスにバインドされており、1 日にインデクサーあたり 20 ドキュメントを超えるトランザクションには課金対象リソースが必要です。 組み込みスキルの実行は、既存の Azure AI サービスの従量課金制の価格で課金されます。

@odata.type

Microsoft.Skills.Text.V3.EntityRecognitionSkill

データ制限

レコードのサイズは、String.Length で測定して 50,000 文字以下にする必要があります。 データを EntityRecognition スキルに送信する前に分割する必要がある場合は、テキスト分割スキルの使用を検討してください。 分割スキルを使用する場合は、最適なパフォーマンスを得るためにページ長を 5000 に設定します。

スキルのパラメーター

パラメーターでは大文字と小文字が区別されます。パラメーターはすべて任意です。

パラメーター名 説明
categories 抽出する必要があるカテゴリの配列。 可能なカテゴリの型は、"Person""Location""Organization""Quantity""DateTime""URL""Email""personType""Event""Product""Skill""Address""phoneNumber""ipAddress" です。 カテゴリが指定されていない場合、すべての型が返されます。
defaultLanguageCode 入力テキストの言語コード。 既定の言語コードが指定されていない場合、既定の言語コードとして英語 (en) が使用されます。
サポートされる言語の完全な一覧を参照してください。 すべての言語ですべてのエンティティ カテゴリがサポートされているわけではありません。以下の注意事項を参照してください。
minimumPrecision 0 から 1 の値。 (namedEntities 出力の) 信頼度スコアがこの値よりも小さい場合は、エンティティは返されません。 既定値は 0 です。
modelVersion (省略可能)エンティティ認識 API を呼び出す際 に使用するモデルのバージョンを指定します。 指定しない場合、既定では利用可能な最新のものになります。 必要な場合以外は、この値を指定しないことをお勧めします。

スキルの入力

入力名 説明
languageCode レコードの言語を示す文字列。 このパラメーターが指定されていない場合、既定の言語コードがレコードを分析するために使用されます。
サポートされる言語の完全な一覧を参照してください。
text 分析対象テキストです。

スキルの出力

Note

言語によっては、一部のエンティティ カテゴリがサポートされていません。 使用する言語固有表現認識サポートされる エンティティ カテゴリについては、「サポートされているエンティティ カテゴリ (NER) エンティティ カテゴリ」を参照してください。

出力名 説明
persons 各文字列が人物の名前を表す文字列の配列。
locations 各文字列が場所を表す文字列の配列。
organizations 各文字列が組織を表す文字列の配列。
quantities 各文字列が数量を表す文字列の配列。
dateTimes 各文字列が DateTime (テキストに表示される) 値を表す文字列の配列。
urls 各文字列が URL を表す文字列の配列。
emails 各文字列が電子メールを表す文字列の配列。
personTypes 各文字列が PersonType を表す文字列の配列。
events 各文字列がイベントを表す文字列の配列。
products 各文字列が製品を表す文字列の配列。
skills 各文字列がスキルを表す文字列の配列。
addresses 各文字列がアドレスを表す文字列の配列。
phoneNumbers 各文字列が電話番号を表す文字列の配列。
ipAddresses 各文字列が IP アドレスを表す文字列の配列。
namedEntities 次のフィールドが含まれる複合型の配列。
  • category
  • subcategory
  • confidenceScore (値が高いほど、実際のエンティティに近づきます)
  • length (このエンティティの長さ (文字数))
  • offset (テキスト内で見つかった場所)
  • text (テキストに表示される実際のエンティティ名)

定義例

  {
    "@odata.type": "#Microsoft.Skills.Text.V3.EntityRecognitionSkill",
    "context": "/document",
    "categories": [ "Person", "Email"],
    "defaultLanguageCode": "en", 
    "minimumPrecision": 0.5, 
    "inputs": [
        {
            "name": "text", 
            "source": "/document/content"
        },
        {
            "name": "languageCode", 
            "source": "/document/language"
        }
    ],
    "outputs": [
        {
            "name": "persons", 
            "targetName": "people"
        },
        {
            "name": "emails", 
            "targetName": "emails"
        },
        {
            "name": "namedEntities", 
            "targetName": "namedEntities"
        }
    ]
  }

サンプル入力

{
    "values": [
      {
        "recordId": "1",
        "data":
           {
             "text": "Contoso Corporation was founded by Jean Martin. They can be reached at contact@contoso.com",
             "languageCode": "en"
           }
      }
    ]
}

サンプル出力

{
  "values": [
    {
      "recordId": "1",
      "data" : 
      {
        "people": [ "Jean Martin"],
        "emails":["contact@contoso.com"],
        "namedEntities": 
        [
          {
            "category": "Person",
            "subcategory": null,
            "length": 11,
            "offset": 35,
            "confidenceScore": 0.98,
            "text": "Jean Martin"
          },
          {
            "category": "Email",
            "subcategory": null,
            "length": 19,
            "offset": 71,
            "confidenceScore": 0.8,
            "text": "contact@contoso.com"
          }
        ],
      }
    }
  ]
}

このスキルの出力のエンティティに対して返されるオフセットは、言語サービス API から直接返されます。つまり、これらを使用して元の文字列にインデックスを作成する場合は、正しい内容を抽出するために .NET の StringInfo クラスを使用する必要があります。 詳しくは、「言語サービス機能での多言語および絵文字のサポート」を参照してください。

警告のケース

ドキュメントの言語コードがサポートされていない場合、警告が返され、エンティティは抽出されません。

関連項目