Habilidades cognitivas OCROCR cognitive skill

A habilidade de reconhecimento óptico de caracteres (OCR) reconhece texto impresso e manuscrito em arquivos de imagem.The Optical character recognition (OCR) skill recognizes printed and handwritten text in image files. Essa habilidade usa os modelos de aprendizado de máquina fornecidos pelo Pesquisa Visual computacional API v 3.0 em serviços cognitivas.This skill uses the machine learning models provided by Computer Vision API v3.0 in Cognitive Services. A habilidade OCR é mapeada para a seguinte funcionalidade:The OCR skill maps to the following functionality:

  • Para inglês, espanhol, alemão, francês, italiano, Português e holandês, a nova API de "leitura" é usada.For English, Spanish, German, French, Italian, Portuguese, and Dutch, the new "Read" API is used.
  • Para todos os outros idiomas, a API "OCR" é usada.For all other languages, the "OCR" API is used.

A habilidade OCR extrai o texto de arquivos de imagem.The OCR skill extracts text from image files. Formatos de arquivo com suporte incluem:Supported file formats include:

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

Observação

À medida que expandir o escopo aumentando a frequência de processamento, adicionando mais documentos ou adicionando mais algoritmos de IA, você precisará anexar um recurso de Serviços Cognitivos faturável.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. As cobranças são geradas ao chamar APIs nos Serviços Cognitivos e para a extração de imagem, como parte do estágio de quebra de documento na Pesquisa Cognitiva do Azure.Charges accrue when calling APIs in Cognitive Services, and for image extraction as part of the document-cracking stage in Azure Cognitive Search. Não há encargos para extração de texto em documentos.There are no charges for text extraction from documents.

A execução de habilidades integradas é cobrada nos preços pagos conforme o uso dos Serviços Cognitivos existentes.Execution of built-in skills is charged at the existing Cognitive Services pay-as-you go price. O preço da extração de imagem é descrito na página de preços da Pesquisa Cognitiva do Azure.Image extraction pricing is described on the Azure Cognitive Search pricing page.

Parâmetros de habilidadesSkill parameters

Os parâmetros diferenciam maiúsculas de minúsculas.Parameters are case-sensitive.

Nome do parâmetroParameter name DescriçãoDescription
detectOrientation Habilita a detecção automática da orientação da imagem.Enables autodetection of image orientation.
Valores válidos: verdadeiro / falso.Valid values: true / false.
defaultLanguageCode

Código de idioma do texto de entrada.Language code of the input text. As linguagens com suporte incluem:Supported languages include:
zh-Hans (Chinês Simplificado)zh-Hans (ChineseSimplified)
zh-Hant (Chinês Tradicional)zh-Hant (ChineseTraditional)
cs (tcheco)cs (Czech)
da (dinamarquês)da (Danish)
nl (holandês)nl (Dutch)
en (em inglês)en (English)
fi (finlandês)fi (Finnish)
fr (francês)fr (French)
de (alemão)de (German)
el (Grego)el (Greek)
hu (húngaro)hu (Hungarian)
it (Italiano)it (Italian)
ja (Japonês)ja (Japanese)
ko (Coreano)ko (Korean)
nb (Norueguês)nb (Norwegian)
pl (Polonês)pl (Polish)
pt (Português)pt (Portuguese)
ru (Russo)ru (Russian)
es (Espanhol)es (Spanish)
sv (Sueco)sv (Swedish)
tr (Turco)tr (Turkish)
ar (Árabe)ar (Arabic)
ro (Romeno)ro (Romanian)
sr-Cyrl (Cirílico sérvio)sr-Cyrl (SerbianCyrillic)
SR-Latn (Latim sérvio)sr-Latn (SerbianLatin)
SK (eslovaco)sk (Slovak)
unk (desconhecido)unk (Unknown)

Se o código de idioma não for especificado ou for nulo, o idioma será definido como inglês.If the language code is unspecified or null, the language will be set to English. Se o idioma for definido explicitamente como "unk", o idioma será detectado automaticamente.If the language is explicitly set to "unk", the language will be auto-detected.

lineEnding O valor a ser usado entre cada linha detectada.The value to use between each detected line. Valores possíveis: "Space", "CarriageReturn", "alimentação de espaço".Possible values: "Space", "CarriageReturn", "LineFeed". O padrão é "Space".The default is "Space".

Anteriormente, havia um parâmetro chamado "textExtractionAlgorithm" para especificar se a habilidade deve extrair texto "impresso" ou "manuscrito".Previously, there was a parameter called "textExtractionAlgorithm" for specifying whether the skill should extract "printed" or "handwritten" text. Esse parâmetro é preterido e não é mais necessário, pois o algoritmo mais recente da API de leitura é capaz de extrair os dois tipos de texto de uma só 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. Se sua definição de habilidade já incluir esse parâmetro, você não precisará removê-lo, mas ele não será mais usado e os dois tipos de texto serão extraídos no futuro, independentemente do que está definido como.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 habilidadesSkill inputs

Nome de entradaInput name DescriçãoDescription
image Tipo complexo.Complex Type. Atualmente só funciona com o campo "/document/normalized_images" produzido pelo indexador de BLOBs do Microsoft Azure quando imageAction é definido como um valor diferente de 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 obter mais informações, confira este exemplo.See the sample for more information.

Saídas de habilidadesSkill outputs

Nome de saídaOutput name DescriçãoDescription
text Texto sem formatação extraído da imagem.Plain text extracted from the image.
layoutText Tipo complexo que descreve o texto extraído e o local em que o texto foi encontrado.Complex type that describes the extracted text and the location where the text was found.

Definição de exemploSample 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"
        }
      ]
    }
  ]
}

Exemplo de saída de texto e layoutTextSample 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"
      }
    ]
  }
}

Exemplo: mesclar texto extraído da imagens inseridas com o conteúdo do documento.Sample: Merging text extracted from embedded images with the content of the document.

Um caso de uso comum para o Text Merger é a capacidade de mesclar a representação textual de imagens (texto de uma habilidade OCR ou a legenda de uma imagem) no campo de conteúdo de um 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.

O conjunto de habilidades de exemplo a seguir cria um campo merged_text.The following example skillset creates a merged_text field. Esse campo traz o conteúdo textual do documento e o texto processado para OCR de cada uma das imagens inseridas nesse documento.This field contains the textual content of your document and the OCRed text from each of the images embedded in that document.

Sintaxe de Corpo da SolicitaçãoRequest 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"
        }
      ]
    }
  ]
}

O exemplo de conjunto de qualificações acima presume que existe um campo de imagens normalizado.The above skillset example assumes that a normalized-images field exists. Para gerar esse campo, defina a configuração imageAction na definição do indexador para generateNormalizedImages conforme mostrado abaixo: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"
    }
  }
}

Confira tambémSee also