Compétence cognitive Extraction de document
La compétence Extraction de document extrait le contenu d’un fichier dans le pipeline d’enrichissement. Cela vous permet de tirer parti de l’étape d’extraction de document qui se produit normalement avant l’exécution des compétences avec des fichiers qui peuvent être générés par d’autres compétences.
Remarque
Cette compétence n’est pas liée aux services Azure AI et n’a pas d’exigence de clé de services Azure AI. Cette compétence permet d’extraire du texte et des images. L’extraction de texte est gratuite. L’extraction d’images est mesurée par Azure AI Search. Sur un service de recherche gratuit, le coût de 20 transactions par indexeur par jour est absorbé, ce qui vous permet de suivre des démarrages rapides, des tutoriels et de petits projets gratuitement. Pour les niveaux tarifaires De base, Standard et supérieurs, l’extraction d’images est facturée.
@odata.type
Microsoft.Skills.Util.DocumentExtractionSkill
Formats de document pris en charge
DocumentExtractionSkill peut extraire du texte à partir des formats de document suivants :
- CSV (consultez Indexation d’objets blob CSV)
- EML
- EPUB
- GZ
- HTML
- JSON (consultez l’indexation d’objets JSON blobs)
- KML (XML pour les représentations géographiques)
- Formats Microsoft Office : DOCX/DOC/DOCM, XLSX/XLS/XLSM, PPTX/PPT/PPTM, MSG (e-mails Outlook), XML (XML WORD 2003 et 2006)
- Formats de document ouverts : ODT, ODS, ODP
- Fichiers de texte brut (voir aussi l’indexation de texte brut)
- RTF
- XML
- ZIP
Paramètres de la compétence
Les paramètres respectent la casse.
Entrées | Valeurs autorisées | Description |
---|---|---|
parsingMode |
default text json |
Définissez ce paramètre sur default pour l’extraction de documents à partir de fichiers qui ne sont pas en mode texte pur ou JSON. Pour les fichiers sources qui contiennent des balises (telles que des fichiers PDF, HTML, RTF et Microsoft Office), utilisez la valeur par défaut pour extraire uniquement le texte, moins les balises ou le langage de balisage. Si parsingMode n’est pas défini explicitement, il sera défini sur default . A la valeur text si les fichiers sources sont TXT. Ce mode d’analyse améliore les performances des fichiers en texte brut. Si les fichiers incluent du balisage, ce mode préserve les balises dans la sortie finale. Définissez ce paramètre sur json pour extraire le contenu structuré des fichiers JSON. |
dataToExtract |
contentAndMetadata allMetadata |
Définissez ce paramètre sur contentAndMetadata pour extraire toutes les métadonnées et le contenu textuel de chaque fichier. Si dataToExtract n’est pas défini explicitement, il sera défini sur contentAndMetadata . Définissez ce paramètre sur allMetadata pour extraire uniquement les propriétés de métadonnées pour le type de contenu (par exemple, seules les métadonnées propres aux fichiers .png). |
configuration |
Voir ci-dessous. | Dictionnaire de paramètres facultatifs qui ajustent le mode d’exécution de l’extraction de document. Reportez-vous au tableau ci-dessous pour consulter une description des propriétés de configuration prises en charge. |
Paramètre de configuration | Valeurs autorisées | Description |
---|---|---|
imageAction |
none generateNormalizedImages generateNormalizedImagePerPage |
Affectez la valeur none pour 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 la reconnaissance optique de caractères et l’analyse d’image, définissez ce paramètre sur generateNormalizedImages pour que la compétence crée un tableau d’images normalisées dans le cadre du craquage de documents. Cette action nécessite de définir le paramètre parsingMode sur default et le paramètre dataToExtract sur contentAndMetadata . Une image normalisée fait référence à un traitement supplémentaire qui entraîne une sortie d’image uniforme, dimensionnée et pivotée pour promouvoir un rendu cohérent lorsque vous incluez des images dans les résultats d’une recherche visuelle (par exemple, des photographies de même taille dans un contrôle de graphique comme illustré dans la démonstration JFK). Ces informations sont générées pour chaque image lorsque vous utilisez cette option. Si vous définissez le paramètre sur generateNormalizedImagePerPage , les fichiers PDF sont traités différemment. Au lieu d’extraire les images incorporées, chaque page est rendue sous la forme d’une image et normalisée en conséquence. Les autres types de fichiers sont traités de la même façon que si generateNormalizedImages était défini. |
normalizedImageMaxWidth |
Entier compris entre 50 et 10000 | Largeur maximale (en pixels) des 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) des 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 | Description |
---|---|
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 3 manières :
En définissant le paramètre
allowSkillsetToReadFileData
de votre définition d’indexeur sur la valeur « true ». Ceci permet de créer un chemin/document/file_data
qui est un objet représentant les données du fichier d’origine téléchargées à partir de votre source de données d’objets blob. Ce paramètre s’applique uniquement aux fichiers dans le stockage Blob.En définissant le paramètre
imageAction
de votre définition d’indexeur sur autre valeur quenone
. Ceci crée un tableau d’images qui suivent la convention nécessaire pour les entrées de cette compétence, si elles sont passées individuellement (c’est-à-dire/document/normalized_images/*
).Avoir une compétence personnalisée renvoie un objet JSON défini exactement comme indiqué ci-dessus. Le paramètre
$type
doit être défini exactement surfile
et le paramètredata
doit correspondre aux données de tableau d’octets encodé en base 64 du fichier de contenu, ou le paramètreurl
doit être une URL au format correct avec un accès pour télécharger le fichier à cet emplacement.
Sorties de la compétence
Nom de sortie | Description |
---|---|
content |
Contenu textuel du document. |
normalized_images |
Si la propriété imageAction est définie sur une autre valeur 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": []
}
}
]
}