Note
Azure AI 検索は、Azure ポータル、REST API、およびAzure SDKから使用できます。 また、Foundry IQ は、エンタープライズ コンテンツを、Microsoft Foundry ポータルのエージェントの再利用可能なアクセス許可に対応したナレッジ ベースに変換するマネージド ナレッジ レイヤーです。
ドキュメント抽出スキルは、エンリッチメント パイプライン内のファイルからコンテンツを抽出します。 既定では、コンテンツの抽出または取得はエンリッチメント パイプラインに組み込まれます。 ただし、Document Extraction スキルを使用すると、パラメーターの設定方法と、エンリッチメント ツリーでの抽出されたコンテンツの名前付け方法を制御できます。
ベクター検索とマルチモーダル検索では、ドキュメント抽出とテキスト分割スキルを組み合わせて、構成可能なデータ チャンクアプローチを実装します。 マルチモーダル チュートリアルでは、このシナリオを示します。
Note
このスキルは Foundry Tools にバインドされておらず、Foundry Tools の主要要件はありません。
このスキルは、テキストと画像を抽出します。 テキストの抽出は無料です。 画像抽出は、Azure AI 検索 で課金対象となります。 無料の検索サービスでは、1 日あたりインデクサーごとに 20 トランザクションのコストが吸収されるため、クイックスタート、チュートリアル、小規模なプロジェクトを無料で完了できます。 Basic 以上のレベルの場合、画像抽出は課金対象です。
@odata.type
Microsoft.Skills.Util.DocumentExtractionSkill
サポートされるドキュメントの形式
DocumentExtractionSkill を使用すると、次の形式のドキュメントからテキストを抽出できます。
- CSV (CSV BLOB のインデックス作成に関する記事を参照)
- EML
- EPUB
- GZ
- HTML
- JSON (JSON BLOB のインデックス作成に関する記事を参照)
- KML (地理的表現の XML)
- Markdown
- Microsoft Office 形式: DOCX/DOC/DOCM、XLSX/XLS/XLSM、PPTX/PPT/PPTM、MSG (Outlook 電子メール)、XML (2003 と 2006 両方の WORD XML)
- オープン ドキュメント形式: ODT、ODS、ODP
- プレーンテキスト ファイル (「プレーン テキストのインデックス作成」も参照)
- RTF
- XML
- ジップ
スキル パラメーター
パラメーターの大文字と小文字は区別されます。
| Inputs | 使用できる値 | 説明 |
|---|---|---|
parsingMode |
defaulttextjson |
純粋なテキストまたは JSON ではないファイルからドキュメントを抽出するための default に設定します。 PDF、HTML、RTF、Microsoft Office ファイルなどのマークアップを含むソース ファイルの場合は、既定を使用してマークアップ言語やタグなしでテキストを抽出します。
parsingModeが明示的に定義されていない場合、値はdefault。ソース ファイルが TXT の場合は、 text に設定します。 この解析モードにより、プレーンテキスト ファイルのパフォーマンスが向上します。 ファイルにマークアップが含まれている場合、このモードでは最終的な出力のタグが保持されます。JSON ファイルから構造化コンテンツを抽出するには、 json に設定します。 |
dataToExtract |
contentAndMetadataallMetadata |
各ファイルからすべてのメタデータとテキスト コンテンツを抽出するには、contentAndMetadata に設定します。
dataToExtractが明示的に定義されていない場合、値はcontentAndMetadata。コンテンツ タイプのメタデータ プロパティ (PNG ファイルに固有のメタデータなど) のみを抽出するには、 allMetadataに設定します。 |
configuration |
以下を参照してください。 | ドキュメント抽出の実行方法を調整する省略可能なパラメーターのディクショナリ。 サポートされている構成プロパティの説明については、以下の表を参照してください。 |
| 構成パラメーター | 使用できる値 | 説明 |
|---|---|---|
imageAction |
nonegenerateNormalizedImagesgenerateNormalizedImagePerPage |
埋め込み画像や画像ファイルをデータ セットで無視する場合、またはソース データが画像ファイルに含まれていない場合は、none に設定します。? この値が既定値です。OCR と画像分析の場合、 generateNormalizedImagesの一部として正規化された画像の配列をスキルで作成するには、 に設定に します。 このアクションでは、parsingModedefaultに設定し、dataToExtractcontentAndMetadataに設定する必要があります。 正規化された画像には、視覚的な検索結果で一貫したレンダリングを促進するためにサイズが調整され、回転される均一な出力があります。 スキルは、各イメージに対してこの情報を生成します。imageActionを generateNormalizedImagePerPage に設定すると、各 PDF ページは画像としてレンダリングされ、埋め込み画像を抽出する代わりに正規化されます。 PDF 以外の各種ファイルは、generateNormalizedImages が設定されている場合と同じように処理されます。 |
normalizedImageMaxWidth |
50 - 10000 の範囲の整数 | 生成された正規化画像の最大幅 (ピクセル単位)。 既定値は 2000 です。 |
normalizedImageMaxHeight |
50 - 10000 の範囲の整数 | 生成された正規化画像の最大の高さ (ピクセル単位)。 既定値は 2000 です。 |
Note
正規化された画像の最大幅と最大高さの既定値 (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 ストレージのファイルにのみ適用されます。allowSkillsetToReadFileDataは、ダウンロードしたファイル データをスキルで使用できるようにします。 BLOB インデクサーのファイル サイズや抽出コンテンツの制限は増えません。インデクサーの定義で
imageActionパラメーターをnone以外の値に設定します。 このようにすると、画像の配列が作成されます。これは、個別に渡した場合にこのスキルへの入力に必要な規則に従います (つまり/document/normalized_images/*)。カスタム スキルで、上記のように EXACTLY と定義された 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": []
}
}
]
}