エンティティ認識の認知スキル (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 |
次のフィールドが含まれる複合型の配列。
|
定義例
{
"@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 クラスを使用する必要があります。 詳しくは、「言語サービス機能での多言語および絵文字のサポート」を参照してください。
警告のケース
ドキュメントの言語コードがサポートされていない場合、警告が返され、エンティティは抽出されません。