Partager via


Compétence cognitive d’extraction de documents

La compétence Extraction de document extrait le contenu d’un fichier dans le pipeline d’enrichissement. Par défaut, l’extraction ou la récupération de contenu est intégrée au pipeline d’indexeur. Toutefois, à l’aide de la compétence Extraction de documents, vous pouvez contrôler la façon dont les paramètres sont définis et comment le contenu extrait est nommé dans l’arborescence d’enrichissement.

Pour la recherche vectorielle et modale, l’extraction de documents combinée à la compétence Fractionnement de texte est plus abordable que d’autres approches de segmentation de données. Les didacticiels suivants illustrent l’utilisation des compétences pour différents scénarios :

Remarque

Cette compétence n’est pas liée aux services Azure AI et n’a aucune exigence clé pour les services d’IA Azure.

Cette compétence extrait du texte et des images. L’extraction de texte est gratuite. L’extraction d’images est facturable par Recherche IA Azure. Sur un service de recherche gratuit, le coût de 20 transactions par indexeur par jour est absorbé afin que vous puissiez suivre des guides de démarrage rapide, des didacticiels et des petits projets sans frais. Pour les niveaux de base et supérieurs, l’extraction d’images est facturable.

@odata.type

Microsoft.Skills.Util.DocumentExtractionSkill

Formats de document pris en charge

DocumentExtractionSkill peut extraire du texte des formats de document suivants :

Paramètres de la compétence

Les paramètres respectent la casse.

Données d'entrée Valeurs autorisées Descriptif
parsingMode default
text
json
Défini sur la valeur pour default l’extraction de documents à partir de fichiers qui ne sont pas du texte pur ou json. Pour les fichiers sources qui contiennent une marque (comme les fichiers PDF, HTML, RTF et Microsoft Office), utilisez la valeur par défaut pour extraire uniquement le texte, moins toute langue de balisage ou étiquette. Si parsingMode elle n’est pas définie explicitement, elle est définie sur default.

Défini sur text si les fichiers sources sont TXT. Ce mode d’analyse améliore les performances sur les fichiers texte brut. Si les fichiers incluent le balisage, ce mode conserve les balises dans la sortie finale.

Définissez cette option pour json extraire du contenu structuré à partir de fichiers json.
dataToExtract contentAndMetadata
allMetadata
Définissez cette option pour contentAndMetadata extraire toutes les métadonnées et le contenu textuel de chaque fichier. Si dataToExtract elle n’est pas définie explicitement, elle est définie sur contentAndMetadata.

Définissez pour allMetadata extraire uniquement les propriétés de métadonnées du type de contenu (par exemple, les métadonnées uniques aux fichiers .png uniquement).
configuration Voir ci-dessous. Dictionnaire de paramètres facultatifs qui ajustent la façon dont l’extraction du document est effectuée. Consultez le tableau ci-dessous pour obtenir des descriptions des propriétés de configuration prises en charge.
Paramètre de configuration Valeurs autorisées Descriptif
imageAction none
generateNormalizedImages
generateNormalizedImagePerPage
Définissez cette option pour none ignorer les images incorporées ou les fichiers image dans le jeu de données, ou si les données sources n’incluent pas de fichiers image. Il s’agit de la valeur par défaut.

Pour l’analyse ocr et image, définissez la compétence pour generateNormalizedImages créer un tableau d’images normalisées dans le cadre du craquage de document. Cette action nécessite que la parsingMode valeur est définie default et dataToExtract définie sur contentAndMetadata. Une image normalisée fait référence à un traitement supplémentaire entraînant une sortie d’image uniforme, dimensionnée et pivotée pour promouvoir le rendu cohérent lorsque vous incluez des images dans les résultats de recherche visuelle (par exemple, des photographies de même taille dans un contrôle de graphique que dans la démonstration JFK). Ces informations sont générées pour chaque image lorsque vous utilisez cette option.

Si vous définissez generateNormalizedImagePerPagesur , les fichiers PDF sont traités différemment au lieu d’extraire des images incorporées, chaque page est rendue en tant qu’image et normalisée en conséquence. Les types de fichiers non PDF sont traités comme s’ils generateNormalizedImages étaient définis.
normalizedImageMaxWidth Entier compris entre 50 et 10000 Largeur maximale (en pixels) pour les images normalisées générées. La valeur par défaut est 2000.
normalizedImageMaxHeight Entier compris entre 50 et 10000 Hauteur maximale (en pixels) pour les images normalisées générées. La valeur par défaut est 2000.

Remarque

La valeur par défaut de 2000 pixels pour la hauteur et la largeur maximales des images normalisées est basée sur les tailles maximales prises en charge par la compétence de reconnaissance optique de caractères et la compétence d’analyse d’image. La compétence de reconnaissance optique de caractères (OCR) prend en charge une largeur et une hauteur maximales de 4200 pour les langues autres que l'anglais et de 10000 pour l'anglais. Si vous augmentez les limites maximales, le traitement des images plus volumineuses peut échouer en fonction de la définition de vos compétences et de la langue des documents.

Entrées de la compétence

Nom de l'entrée Descriptif
file_data Fichier à partir duquel le contenu doit être extrait.

L’entrée « file_data » doit être un objet défini comme suit :

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

Elle peut également être définie comme suit :

{
  "$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’objet de référence de fichier peut être généré de trois façons :

  • Définition du paramètre sur votre allowSkillsetToReadFileData définition d’indexeur sur « true ». Cela crée un chemin d’accès /document/file_data qui représente les données de fichier d’origine téléchargées à partir de votre source de données d’objet blob. Ce paramètre s’applique uniquement aux fichiers du stockage Blob.

  • Définition du imageAction paramètre sur votre définition d’indexeur sur une valeur autre que none. Cela crée un tableau d’images qui suit la convention requise pour l’entrée à cette compétence s’il est passé individuellement (autrement dit, /document/normalized_images/*).

  • Une compétence personnalisée renvoie un objet json défini EXACTEment comme indiqué ci-dessus. Le $type paramètre doit être défini exactement file et le data paramètre doit être les données de tableau d’octets de base 64 du contenu du fichier, ou le url paramètre doit être une URL correctement mise en forme avec accès pour télécharger le fichier à cet emplacement.

Sorties de la compétence

Nom de sortie Descriptif
content Contenu textuel du document.
normalized_images Lorsque la imageAction valeur est définie sur une valeur autre que none, le nouveau champ normalized_images contient un tableau d’images. Pour plus d’informations sur le format de sortie, consultez Extraire du texte et des informations à partir d’images .

Exemple de définition

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

Exemple d’entrée

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

Exemple de sortie

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

Voir aussi