ドキュメント抽出スキルは、エンリッチメント パイプライン内のファイルからコンテンツを抽出します。 既定では、コンテンツの抽出または取得はインデクサー パイプラインに組み込まれます。 ただし、ドキュメント抽出スキルを使用すると、パラメーターの設定方法と、抽出されたコンテンツのエンリッチメント ツリーでの名前付け方法を制御できます。
ベクター検索とマルチモーダル検索の場合、ドキュメント抽出とテキスト分割スキルの組み合わせは、他のデータチャンクアプローチよりも手頃な価格です。 次のチュートリアルでは、さまざまなシナリオでのスキルの使用方法を示します。
注
このスキルは Azure AI サービスにバインドされておらず、Azure AI サービスの主要な要件はありません。
このスキルは、テキストと画像を抽出します。 テキストの抽出は無料です。 画像抽出は 、Azure AI Search によって課金されます。 無料の検索サービスでは、1 日あたりインデクサーあたり 20 トランザクションのコストが吸収されるため、クイック スタート、チュートリアル、小規模プロジェクトを無料で完了できます。 Basic レベル以上のレベルの場合、画像の抽出は課金対象です。
@odata.type
Microsoft.Skills.Util.DocumentExtractionSkill
サポートされるドキュメントの形式
DocumentExtractionSkill では、次のドキュメント形式からテキストを抽出できます。
- CSV (CSV BLOB のインデックス作成に関する記事を参照)
- EML
- PUB
- GZ
- HTML
- JSON (JSON BLOB のインデックス作成に関する記事を参照)
- KML (地理的表現の XML)
- Microsoft Office 形式: DOCX/DOC/DOCM、XLSX/XLS/XLSM、PPTX/PPT/PPTM、MSG (Outlook 電子メール)、XML (2003 と 2006 両方の WORD XML)
- オープン ドキュメント形式: ODT、ODS、ODP
- プレーンテキスト ファイル (「プレーン テキストのインデックス作成」も参照)
- RTF
- XML
- ZIP
スキルのパラメーター
パラメーターの大文字と小文字は区別されます。
構成パラメーター | 使用できる値 | 説明 |
---|---|---|
imageAction |
none
generateNormalizedImages
generateNormalizedImagePerPage
|
データ セット内の埋め込みイメージまたはイメージ ファイルを無視するか、ソース データにイメージ ファイルが含まれていない場合は、 none に設定します。 これが既定値です。
OCR と画像分析の場合、generateNormalizedImages の一部として正規化された画像の配列を作成するようにに設定します。 このアクションでは、 parsingMode が default に設定され、 dataToExtract が contentAndMetadata に設定されている必要があります。 正規化された画像とは、画像を視覚的な検索結果に含めるとき ( たとえば、JFK デモで見られるように、グラフ コントロールに同じサイズの写真)、一貫したレンダリングを促進するために、均一な画像出力を生成する追加の処理を指します。 この情報は、このオプションを使用すると各イメージに対して生成されます。
generateNormalizedImagePerPage に設定すると、埋め込み画像を抽出する代わりに PDF ファイルが異なる方法で処理され、各ページが画像としてレンダリングされ、それに応じて正規化されます。 PDF 以外のファイルの種類は、 generateNormalizedImages が設定された場合と同じように扱われます。 |
normalizedImageMaxWidth |
50 ~ 10000 の任意の整数 | 生成された正規化された画像の最大幅 (ピクセル単位)。 既定値は 2000 です。 |
normalizedImageMaxHeight |
50 ~ 10000 の任意の整数 | 生成された正規化された画像の最大高さ (ピクセル単位)。 既定値は 2000 です。 |
注
正規化された画像の最大幅と最大高さの既定値 (2000 ピクセル) は、 OCR スキルと画像分析スキルでサポートされる最大サイズに基づいています。 OCR のスキルでは、英語以外の言語の場合は最大の幅と高さ 4200、英語の場合は 10000 がサポートされます。 上限を引き上げると、スキルセットの定義とドキュメントの言語によっては、大きな画像で処理が失敗する可能性があります。
スキルの入力
入力名 | 説明 |
---|---|
file_data |
コンテンツを抽出する必要があるファイル。 |
"file_data" の入力では、次のように定義されたオブジェクトを指定する必要があります。
{
"$type": "file",
"data": "BASE64 encoded string of the file"
}
または、次のように定義できます。
{
"$type": "file",
"url": "URL to download file",
"sasToken": "OPTIONAL: SAS token for authentication if the URL provided is for a file in blob storage"
}
ファイル参照オブジェクトは、次の 3 つの方法のいずれかを生成できます。
インデクサー定義の
allowSkillsetToReadFileData
パラメーターを "true" に設定します。 これにより、BLOB データ ソースからダウンロードされた元のファイル データを表すオブジェクトであるパス/document/file_data
が作成されます。 このパラメーターは、Blob Storage 内のファイルにのみ適用されます。インデクサー定義の
imageAction
パラメーターをnone
以外の値に設定します。 これにより、個別に渡された場合に、このスキルへの入力に必要な規則に従うイメージの配列が作成されます (つまり、/document/normalized_images/*
)。カスタム スキルを使用すると、上記とまったく同じように定義された json オブジェクトが返されます。
$type
パラメーターは正確にfile
に設定する必要があり、data
パラメーターは、ファイル コンテンツの base 64 でエンコードされたバイト配列データであるか、url
パラメーターがその場所にファイルをダウンロードするためのアクセス権を持つ正しい形式の URL である必要があります。
スキルの出力
出力名 | 説明 |
---|---|
content |
ドキュメントのテキスト コンテンツ。 |
normalized_images |
imageAction が none 以外の値に設定されている場合、新しいnormalized_images フィールドには画像の配列が含まれます。 出力形式の詳細については、「 画像からテキストと情報を抽出 する」を参照してください。 |
定義例
{
"@odata.type": "#Microsoft.Skills.Util.DocumentExtractionSkill",
"parsingMode": "default",
"dataToExtract": "contentAndMetadata",
"configuration": {
"imageAction": "generateNormalizedImages",
"normalizedImageMaxWidth": 2000,
"normalizedImageMaxHeight": 2000
},
"context": "/document",
"inputs": [
{
"name": "file_data",
"source": "/document/file_data"
}
],
"outputs": [
{
"name": "content",
"targetName": "extracted_content"
},
{
"name": "normalized_images",
"targetName": "extracted_normalized_images"
}
]
}
サンプル入力
{
"values": [
{
"recordId": "1",
"data":
{
"file_data": {
"$type": "file",
"data": "aGVsbG8="
}
}
}
]
}
サンプル出力
{
"values": [
{
"recordId": "1",
"data": {
"content": "hello",
"normalized_images": []
}
}
]
}