Aptitud cognitiva de OCROCR cognitive skill

La aptitud de reconocimiento óptico de caracteres (OCR) reconoce texto impreso y manuscrito en archivos de imágenes.The Optical character recognition (OCR) skill recognizes printed and handwritten text in image files. Esta aptitud utiliza los modelos de aprendizaje automático proporcionados por Computer Vision en Cognitive Services.This skill uses the machine learning models provided by Computer Vision in Cognitive Services. La aptitud de reconocimiento óptico de caracteres se asocia a la siguiente funcionalidad:The OCR skill maps to the following functionality:

  • La API "OCR" se usa para idiomas distintos del inglés.The "OCR" API is used for languages other than English.
  • En inglés, se usa la nueva API "Read".For English, the new "Read" API is used.

La aptitud de OCR extrae texto de los archivos de imagen.The OCR skill extracts text from image files. Entre otros, estos son los formatos de archivos admitidos:Supported file formats include:

  • .JPEG.JPEG
  • .JPG.JPG
  • .PNG.PNG
  • .BMP.BMP
  • .GIF.GIF
  • .TIFF.TIFF

Nota

A medida que expanda el ámbito aumentando la frecuencia de procesamiento, agregando más documentos o agregando más algoritmos de IA, tendrá que asociar un recurso facturable de Cognitive Services.As you expand scope by increasing the frequency of processing, adding more documents, or adding more AI algorithms, you will need to attach a billable Cognitive Services resource. Los cargos se acumulan cuando se llama a las API de Cognitive Services y por la extracción de imágenes como parte de la fase de descifrado de documentos de Azure Cognitive Search.Charges accrue when calling APIs in Cognitive Services, and for image extraction as part of the document-cracking stage in Azure Cognitive Search. No hay ningún cargo por la extracción de texto de documentos.There are no charges for text extraction from documents.

La ejecución de aptitudes integradas se cobra según los precios de pago por uso de Cognitive Services existentes.Execution of built-in skills is charged at the existing Cognitive Services pay-as-you go price. Los precios de la extracción de imágenes se describen en la página de precios de Azure Cognitive Search.Image extraction pricing is described on the Azure Cognitive Search pricing page.

Parámetros de la aptitudSkill parameters

Los parámetros distinguen mayúsculas de minúsculas.Parameters are case-sensitive.

Nombre de parámetroParameter name DESCRIPCIÓNDescription
detectOrientationdetectOrientation Permite la detección automática de la orientación de la imagen.Enables autodetection of image orientation.
Valores válidos: true / false.Valid values: true / false.
defaultLanguageCodedefaultLanguageCode

Código de idioma del texto de entrada.Language code of the input text. Los lenguajes compatibles incluyen:Supported languages include:
zh-Hans (chino simplificado)zh-Hans (ChineseSimplified)
zh-Hant (chino tradicional)zh-Hant (ChineseTraditional)
cs (checo)cs (Czech)
da (danés)da (Danish)
nl (neerlandés)nl (Dutch)
en (inglés)en (English)
fi (finés)fi (Finnish)
fr (francés)fr (French)
de (alemán)de (German)
el (griego)el (Greek)
hu (húngaro)hu (Hungarian)
it (italiano)it (Italian)
ja (japonés)ja (Japanese)
ko (coreano)ko (Korean)
nb (noruego)nb (Norwegian)
pl (polaco)pl (Polish)
pt (portugués)pt (Portuguese)
ru (ruso)ru (Russian)
es (español)es (Spanish)
sv (sueco)sv (Swedish)
tr (turco)tr (Turkish)
ar (árabe)ar (Arabic)
ro (rumano)ro (Romanian)
sr-Cyrl (serbio cirílico)sr-Cyrl (SerbianCyrillic)
sr-Latn (serbio latino)sr-Latn (SerbianLatin)
sk (eslovaco)sk (Slovak).
unk (desconocido)unk (Unknown)

Si el código de idioma no está especificado o es nulo, el idioma que se establezca será "inglés".If the language code is unspecified or null, the language will be set to English. Si el idioma se establece explícitamente en "unk", el idioma se detectará automáticamente.If the language is explicitly set to "unk", the language will be auto-detected.

lineEndinglineEnding Valor que se va a usar entre cada línea detectada.The value to use between each detected line. Valores posibles: 'Space','CarriageReturn','LineFeed'.Possible values: 'Space','CarriageReturn','LineFeed'. El valor predeterminado es 'Space'The default is 'Space'

Anteriormente, había un parámetro denominado "textExtractionAlgorithm" para especificar si la aptitud debe extraer texto "impreso" o "escrito a mano".Previously, there was a parameter called "textExtractionAlgorithm" for specifying whether the skill should extract "printed" or "handwritten" text. Este parámetro está en desuso y ya no es necesario, porque el algoritmo de Read API más reciente es capaz de extraer ambos tipos de texto a la vez.This parameter is deprecated and no longer necessary as the latest Read API algorithm is capable of extracting both types of text at once. Si la definición de la aptitud ya incluye este parámetro, no necesita quitarlo, pero ya no se usará y ambos tipos de texto se extraerán independientemente de su configuración.If your skill definition already includes this parameter, you do not need to remove it, but it will no longer be used and both types of text will be extracted going forward regardless of what it is set to.

Entradas de la aptitudSkill inputs

Nombre de entradaInput name DESCRIPCIÓNDescription
imagenimage Tipo complejo.Complex Type. Actualmente, solo funciona con el campo "/document/normalized_images", que crea el indexador de Azure Blob cuando imageAction está establecido en un valor diferente a none.Currently only works with "/document/normalized_images" field, produced by the Azure Blob indexer when imageAction is set to a value other than none. Para obtener más información, consulte este ejemplo.See the sample for more information.

Salidas de aptitudesSkill outputs

Nombre de salidaOutput name DESCRIPCIÓNDescription
texttext Texto sin formato extraído de la imagen.Plain text extracted from the image.
layoutTextlayoutText Tipo complejo que describe el texto extraído, así como la ubicación donde se encontró.Complex type that describes the extracted text and the location where the text was found.

Definición de ejemploSample definition

{
  "skills": [
    {
      "description": "Extracts text (plain and structured) from image.",
      "@odata.type": "#Microsoft.Skills.Vision.OcrSkill",
      "context": "/document/normalized_images/*",
      "defaultLanguageCode": null,
      "detectOrientation": true,
      "inputs": [
        {
          "name": "image",
          "source": "/document/normalized_images/*"
        }
      ],
      "outputs": [
        {
          "name": "text",
          "targetName": "myText"
        },
        {
          "name": "layoutText",
          "targetName": "myLayoutText"
        }
      ]
    }
  ]
}

Texto y salida de layoutText de ejemploSample text and layoutText output

{
  "text": "Hello World. -John",
  "layoutText":
  {
    "language" : "en",
    "text" : "Hello World. -John",
    "lines" : [
      {
        "boundingBox":
        [ {"x":10, "y":10}, {"x":50, "y":10}, {"x":50, "y":30},{"x":10, "y":30}],
        "text":"Hello World."
      },
      {
        "boundingBox": [ {"x":110, "y":10}, {"x":150, "y":10}, {"x":150, "y":30},{"x":110, "y":30}],
        "text":"-John"
      }
    ],
    "words": [
      {
        "boundingBox": [ {"x":110, "y":10}, {"x":150, "y":10}, {"x":150, "y":30},{"x":110, "y":30}],
        "text":"Hello"
      },
      {
        "boundingBox": [ {"x":110, "y":10}, {"x":150, "y":10}, {"x":150, "y":30},{"x":110, "y":30}],
        "text":"World."
      },
      {
        "boundingBox": [ {"x":110, "y":10}, {"x":150, "y":10}, {"x":150, "y":30},{"x":110, "y":30}],
        "text":"-John"
      }
    ]
  }
}

Sample: combinar el texto extraído de imágenes insertadas con el contenido del documento.Sample: Merging text extracted from embedded images with the content of the document.

Un caso de uso común a la hora de combinar texto, es la capacidad de combinar la representación textual de imágenes (el texto de una aptitud de OCR o la leyenda de una imagen) en el campo de contenido de un documento.A common use case for Text Merger is the ability to merge the textual representation of images (text from an OCR skill, or the caption of an image) into the content field of a document.

El siguiente conjunto de aptitudes de ejemplo crea un campo merged_text.The following example skillset creates a merged_text field. Este campo contiene el contenido textual del documento y el texto procesado con OCR de cada una de las imágenes insertadas en ese documento.This field contains the textual content of your document and the OCRed text from each of the images embedded in that document.

Sintaxis del cuerpo de la solicitudRequest Body Syntax

{
  "description": "Extract text from images and merge with content text to produce merged_text",
  "skills":
  [
    {
      "description": "Extract text (plain and structured) from image.",
      "@odata.type": "#Microsoft.Skills.Vision.OcrSkill",
      "context": "/document/normalized_images/*",
      "defaultLanguageCode": "en",
      "detectOrientation": true,
      "inputs": [
        {
          "name": "image",
          "source": "/document/normalized_images/*"
        }
      ],
      "outputs": [
        {
          "name": "text"
        }
      ]
    },
    {
      "@odata.type": "#Microsoft.Skills.Text.MergeSkill",
      "description": "Create merged_text, which includes all the textual representation of each image inserted at the right location in the content field.",
      "context": "/document",
      "insertPreTag": " ",
      "insertPostTag": " ",
      "inputs": [
        {
          "name":"text", "source": "/document/content"
        },
        {
          "name": "itemsToInsert", "source": "/document/normalized_images/*/text"
        },
        {
          "name":"offsets", "source": "/document/normalized_images/*/contentOffset"
        }
      ],
      "outputs": [
        {
          "name": "mergedText", "targetName" : "merged_text"
        }
      ]
    }
  ]
}

En el ejemplo del conjunto de aptitudes anterior, se asume que existe un campo de imágenes normalizadas.The above skillset example assumes that a normalized-images field exists. Para crear este campo, establezca la configuración imageAction en la definición del indexador como generateNormalizedImages, tal como se muestra a continuación:To generate this field, set the imageAction configuration in your indexer definition to generateNormalizedImages as shown below:

{
  //...rest of your indexer definition goes here ...
  "parameters": {
    "configuration": {
      "dataToExtract":"contentAndMetadata",
      "imageAction":"generateNormalizedImages"
    }
  }
}

Otras referenciasSee also