Competenza cognitiva Estrazione documenti

Note

Azure AI Search è disponibile tramite il portale di Azure, le API REST e Azure SDK. È inoltre alla base di Foundry IQ, il livello di conoscenza gestito che trasforma il contenuto aziendale in knowledge base riutilizzabili e con riconoscimento delle autorizzazioni per gli agenti nel portale di Microsoft Foundry.

La funzionalità Estrazione documenti estrae contenuti da un file nella pipeline di arricchimento. Per impostazione predefinita, l'estrazione o il recupero del contenuto è integrato nella pipeline di arricchimento. Tuttavia, usando la competenza Estrazione documenti, è possibile controllare la modalità di impostazione dei parametri e il nome del contenuto estratto nell'albero di arricchimento.

Per laricerca vettoriale e aggregazione, combinare Estrazione documenti con la competenza Suddivisione testo per implementare un approccio di suddivisione in blocchi di dati configurabile. L'esercitazione sull'uso di Container illustra questo scenario.

Note

Questa competenza non è associata agli strumenti Foundry e non ha requisiti chiave per gli strumenti Foundry.

Questa competenza estrae testo e immagini. L'estrazione del testo è libera. L'estrazione delle immagini è fatturabile da Azure AI Search. In un servizio di ricerca gratuito, il costo di 20 transazioni per indicizzatore al giorno viene assorbito in modo da poter completare guide introduttive, esercitazioni e piccoli progetti senza costi aggiuntivi. Per i livelli basic e superiori, l'estrazione delle immagini è fatturabile.

@odata.type

Microsoft.Skills.Util.DocumentExtractionSkill

Formati di documento supportati

DocumentExtractionSkill può estrarre il testo dai formati di documento seguenti:

  • CSV (vedere Indicizzazione di BLOB CSV)
  • EML
  • EPUB
  • GZ
  • HTML
  • JSON (vedere Indicizzazione di BLOB JSON)
  • KML (XML per le rappresentazioni geografiche)
  • Markdown
  • Formati di Microsoft Office: DOCX/DOC/DOCM, XLSX/XLS/XLSM, PPTX/PPTM, MSG (messaggi di posta elettronica di Outlook), XML (sia 2003 che 2006 WORD XML)
  • Formati di documento aperti: ODT, ODS, ODP
  • PDF
  • File di testo normale (vedere anche Indicizzazione di testo normale)
  • RTF
  • XML
  • ZIP

Parametri della competenza

I parametri fanno distinzione tra maiuscole e minuscole.

Ingressi dati Valori consentiti Descrzione
parsingMode default
text
json
Impostare su default per l'estrazione di documenti da file che non sono testo puro o JSON. Per i file di origine che contengono markup, ad esempio PDF, HTML, RTF e Microsoft Office file, usare l'impostazione predefinita per estrarre testo senza linguaggio di markup o tag. Se parsingMode non è definito in modo esplicito, il valore è default.

Impostare su text se i file di origine sono TXT. Questa modalità di analisi migliora le prestazioni nei file di testo normale. Se i file includono markup, questa modalità mantiene i tag nell'output finale.

Impostare su per json estrarre contenuto strutturato dai file JSON.
dataToExtract contentAndMetadata
allMetadata
Impostare su contentAndMetadata per estrarre tutti i metadati e il contenuto testuale da ogni file. Se dataToExtract non è definito in modo esplicito, il valore è contentAndMetadata.

Impostare su per allMetadata estrarre solo le proprietà dei metadati per il tipo di contenuto, ad esempio i metadati univoci per i file PNG.
configuration Vedere di seguito. Dizionario di parametri facoltativi che regolano la modalità di esecuzione dell'estrazione dei documenti. Vedere la tabella seguente per le descrizioni delle proprietà di configurazione supportate.
Parametro di configurazione Valori consentiti Descrzione
imageAction none
generateNormalizedImages
generateNormalizedImagePerPage
Impostare su none per ignorare le immagini incorporate o i file di immagine nel set di dati o se i dati di origine non includono file di immagine. Questo valore è l'impostazione predefinita.

Per l'analisi OCR e delle immagini, impostare su generateNormalizedImages per fare in modo che la competenza crei una matrice di immagini normalizzate come parte del cracking dei documenti. Questa azione richiede parsingMode l'impostazione default e dataToExtract l'impostazione su contentAndMetadata. Un'immagine normalizzata ha un output uniforme ridimensionato e ruotato per promuovere il rendering coerente nei risultati della ricerca visiva. La competenza genera queste informazioni per ogni immagine.

Se si imposta su imageActiongenerateNormalizedImagePerPage, viene eseguito il rendering di ogni pagina PDF come immagine e normalizzata anziché estrarre immagini incorporate. I tipi di file non PDF vengono considerati uguali a se generateNormalizedImages è stato impostato.
normalizedImageMaxWidth Qualsiasi numero intero compreso tra 50 e 10.000 La larghezza massima (in pixel) per le immagini normalizzate generate. Il valore predefinito è 2000.
normalizedImageMaxHeight Qualsiasi numero intero compreso tra 50 e 10.000 L'altezza massima (in pixel) per le immagini normalizzate generate. Il valore predefinito è 2000.

Note

Il valore predefinito di 2000 pixel per i valori massimi di altezza e larghezza delle immagini normalizzate è basato sulle dimensioni massime supportate dalla competenza OCR e dalla competenza di analisi delle immagini. La competenza OCR supporta una larghezza e un'altezza massima di 4.200 per lingue diverse dall'inglese e 10.000 per l'inglese. Se si aumentano i limiti massimi, l'elaborazione potrebbe non riuscire per immagini di dimensioni maggiori a seconda della definizione del set di competenze e della lingua dei documenti.

Input delle competenze

Nome del campo di input Descrzione
file_data File da cui estrarre il contenuto.

L'input "file_data" deve essere un oggetto definito come:

{
  "$type": "file",
  "data": "BASE64 encoded string of the file"
}

In alternativa, può essere definito come:

{
  "$type": "file",
  "url": "URL to download file",
  "sasToken": "OPTIONAL: SAS token for authentication if the URL provided is for a file in blob storage"
}

L'oggetto riferimento file può essere generato in uno dei tre modi seguenti:

  • Impostazione del parametro allowSkillsetToReadFileData nella definizione dell'indicizzatore su "true". Verrà creato un percorso /document/file_data che rappresenta i dati del file originale scaricati dall'origine dati BLOB. Questo parametro si applica solo ai file nell'archivio BLOB.

    allowSkillsetToReadFileData rende i dati dei file scaricati disponibili per la competenza. Non aumenta le dimensioni del file dell'indicizzatore BLOB o i limiti del contenuto estratto.

  • Impostazione del parametro nella definizione dell'indicizzatore imageAction su un valore diverso da none. In questo modo viene creata una matrice di immagini che segue la convenzione necessaria per l'input per questa competenza, se passata singolarmente, ovvero /document/normalized_images/*.

  • La presenza di una competenza personalizzata restituisce un oggetto JSON definito ESATTAMENTE come sopra. Il parametro $type deve essere impostato esattamente su file e il parametro data deve essere costituito dai dati della matrice di byte con codifica base 64 del contenuto del file oppure il parametro url deve essere un URL formattato correttamente con l'accesso per scaricare il file in tale percorso.

Output delle competenze

Nome dell'output Descrzione
content Contenuto testuale del documento.
normalized_images Quando imageAction è impostato su un valore diverso da none, il nuovo campo normalized_images contiene una matrice di immagini. Per altre informazioni sul formato di output, vedere Estrarre testo e informazioni dalle immagini.

Definizione di esempio

 {
    "@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"
      }
    ]
  }

Input di esempio

{
  "values": [
    {
      "recordId": "1",
      "data":
      {
        "file_data": {
          "$type": "file",
          "data": "aGVsbG8="
        }
      }
    }
  ]
}

Output di esempio

{
  "values": [
    {
      "recordId": "1",
      "data": {
        "content": "hello",
        "normalized_images": []
      }
    }
  ]
}

Vedere anche