エンティティ認識の認知スキル (V2)
エンティティ認識スキル (V2) によってテキストからさまざまな種類のエンティティが抽出されます。 このスキルでは、Azure AI サービスの Text Analytics によって提供される機械学習モデルが使用されます。
重要
エンティティの認識スキル (V2) (Microsoft.Skills.Text.EntityRecognitionSkill) は廃止となり、Microsoft.Skills.Text.V3.EntityRecognitionSkill に置き換えられました。 「非推奨のスキル」に記載されている推奨事項に従い、サポートされているスキルに移行してください。
Note
処理の頻度を増やす、ドキュメントを追加する、または AI アルゴリズムを追加することによってスコープを拡大する場合は、課金対象の Azure AI サービス リソースをアタッチする必要があります。 Azure AI サービスの API を呼び出すとき、および Azure AI Search のドキュメント解析段階の一部として画像抽出するときに、料金が発生します。 ドキュメントからのテキストの抽出には、料金はかかりません。
組み込みスキルの実行は、既存の Azure AI サービスの従量課金制の価格で課金されます。 画像抽出の価格は、Azure AI Search の価格ページで説明されています。
@odata.type
Microsoft.Skills.Text.EntityRecognitionSkill
データ制限
レコードのサイズは、String.Length
で測定して 50,000 文字以下にする必要があります。 データをキー フレーズ エクストラクターに送信する前に分割する必要がある場合は、テキスト分割スキルの使用を検討してください。 テキスト分割スキルを使用する場合は、最適なパフォーマンスを得るためにページの長さを 5000 に設定します。
スキルのパラメーター
パラメーターでは大文字と小文字が区別されます。パラメーターはすべて任意です。
パラメーター名 | 説明 |
---|---|
categories |
抽出する必要があるカテゴリの配列。 可能なカテゴリの型は、"Person" 、"Location" 、"Organization" 、"Quantity" 、"Datetime" 、"URL" 、"Email" です。 カテゴリが指定されていない場合、すべての型が返されます。 |
defaultLanguageCode |
入力テキストの言語コード。 次の言語がサポートされます。ar, cs, da, de, en, es, fi, fr, hu, it, ja, ko, nl, no, pl, pt-BR, pt-PT, ru, sv, tr, zh-hans すべての言語ですべてのエンティティ カテゴリがサポートされているわけではありません。以下の注意事項を参照してください。 |
minimumPrecision |
0 から 1 の値。 (namedEntities 出力の) 信頼度スコアがこの値よりも小さい場合は、エンティティは返されません。 既定値は 0 です。 |
includeTypelessEntities |
現在のカテゴリに当てはまらない既知のエンティティを認識するには、true に設定します。 認識されたエンティティは、entities 複合出力フィールドに返されます。 たとえば、"Windows 10" は既知のエンティティ (製品) ですが、"製品" はサポートされているカテゴリではないため、このエンティティはエンティティ出力フィールドに含まれます。 既定値は false です |
スキルの入力
入力名 | 説明 |
---|---|
languageCode |
省略可。 既定値は "en" です。 |
text |
分析対象テキストです。 |
スキルの出力
Note
言語によっては、一部のエンティティ カテゴリがサポートされていません。 "Person"
、"Location"
、および "Organization"
エンティティ カテゴリの種類は、上記の言語のすべてでサポートされています。 "Quantity"
、"Datetime"
、"URL"
、および "Email"
の種類の抽出をサポートするのは、de、en、es、fr、および zh-hans のみです。 詳細については、「Text Analytics API の言語と地域のサポート」を参照してください。
出力名 | 説明 |
---|---|
persons |
各文字列が人物の名前を表す文字列の配列。 |
locations |
各文字列が場所を表す文字列の配列。 |
organizations |
各文字列が組織を表す文字列の配列。 |
quantities |
各文字列が数量を表す文字列の配列。 |
dateTimes |
各文字列が DateTime (テキストに表示される) 値を表す文字列の配列。 |
urls |
各文字列が URL を表す文字列の配列。 |
emails |
各文字列が電子メールを表す文字列の配列。 |
namedEntities |
次のフィールドが含まれる複合型の配列。
|
entities |
複合型の配列。テキストから抽出されたエンティティに関する豊富な情報と次のフィールドが含まれます。
|
定義例
{
"@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill",
"categories": [ "Person", "Email"],
"defaultLanguageCode": "en",
"includeTypelessEntities": true,
"minimumPrecision": 0.5,
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "persons",
"targetName": "people"
},
{
"name": "emails",
"targetName": "contact"
},
{
"name": "entities"
}
]
}
サンプル入力
{
"values": [
{
"recordId": "1",
"data":
{
"text": "Contoso corporation was founded by John Smith. They can be reached at contact@contoso.com",
"languageCode": "en"
}
}
]
}
サンプル出力
{
"values": [
{
"recordId": "1",
"data" :
{
"persons": [ "John Smith"],
"emails":["contact@contoso.com"],
"namedEntities":
[
{
"category":"Person",
"value": "John Smith",
"offset": 35,
"confidence": 0.98
}
],
"entities":
[
{
"name":"John Smith",
"wikipediaId": null,
"wikipediaLanguage": null,
"wikipediaUrl": null,
"bingId": null,
"type": "Person",
"subType": null,
"matches": [{
"text": "John Smith",
"offset": 35,
"length": 10
}]
},
{
"name": "contact@contoso.com",
"wikipediaId": null,
"wikipediaLanguage": null,
"wikipediaUrl": null,
"bingId": null,
"type": "Email",
"subType": null,
"matches": [
{
"text": "contact@contoso.com",
"offset": 70,
"length": 19
}]
},
{
"name": "Contoso",
"wikipediaId": "Contoso",
"wikipediaLanguage": "en",
"wikipediaUrl": "https://en.wikipedia.org/wiki/Contoso",
"bingId": "349f014e-7a37-e619-0374-787ebb288113",
"type": null,
"subType": null,
"matches": [
{
"text": "Contoso",
"offset": 0,
"length": 7
}]
}
]
}
}
]
}
このスキルの出力のエンティティに対して返されるオフセットは、Text Analytics API から直接返されることに注意してください。つまり、これらを使用して元の文字列にインデックスを作成する場合は、正しい内容を抽出するために .NET の StringInfo クラスを使用する必要があります。 詳細については、こちらで確認できます。
警告のケース
ドキュメントの言語コードがサポートされていない場合、警告が返され、エンティティは抽出されません。