Dela via


KOGNITIV KUNSKAP FÖR OCR

Ocr-färdigheten (Optisk teckenigenkänning) känner igen tryckt och handskriven text i bildfiler. Den här artikeln är referensdokumentationen för OCR-kompetensen. Se Extrahera text från bilder för användningsinstruktioner.

En OCR-färdighet använder maskininlärningsmodellerna som tillhandahålls av Azure AI Vision API v3.2 i Azure AI-tjänster. OCR-färdigheten mappar till följande funktioner:

OCR-färdigheten extraherar text från bildfiler. Filformat som stöds är:

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

Kommentar

Den här kompetensen är bunden till Azure AI-tjänster och kräver en fakturerbar resurs för transaktioner som överstiger 20 dokument per indexerare och dag. Körning av inbyggda kunskaper debiteras enligt det befintliga priset för Betala per användning för Azure AI-tjänster.

Dessutom kan bildextrahering faktureras av Azure AI Search.

Kompetensparametrar

Parametrar är skiftlägeskänsliga.

Parameternamn beskrivning
detectOrientation Identifierar bildorientering. Giltig värden är true och false.

Den här parametern gäller endast om det äldre OCR version 3.2-API:et används.
defaultLanguageCode Språkkod för indatatexten. Språk som stöds omfattar alla allmänt tillgängliga språk i Azure AI Vision. Du kan också ange unk (okänd).

Om språkkoden är ospecificerad eller null är språket inställt på engelska. Om språket uttryckligen är inställt på unkidentifieras och returneras alla språk som hittas automatiskt.
lineEnding Värdet som ska användas som radavgränsare. Möjliga värden: "Space", "CarriageReturn", "LineFeed". Standardvärdet är "Space".

I tidigare versioner fanns det en parameter med namnet "textExtractionAlgorithm" för att ange extrahering av "tryckt" eller "handskriven" text. Den här parametern är inaktuell eftersom den aktuella Read API-algoritmen extraherar båda texttyperna samtidigt. Om din kompetens innehåller den här parametern behöver du inte ta bort den, men den används inte under färdighetskörningen.

Kunskapsindata

Indatanamn beskrivning
image Komplex typ. För närvarande fungerar endast med fältet "/document/normalized_images", som skapas av Azure Blob Indexer när imageAction är inställt på ett annat värde än none.

Kunskapsutdata

Utdatanamn beskrivning
text Oformaterad text som extraherats från bilden.
layoutText Komplex typ som beskriver den extraherade texten och platsen där texten hittades.

Om du anropar OCR på bilder som är inbäddade i PDF-filer eller andra programfiler, kommer OCR-utdata att finnas längst ned på sidan, efter all text som extraherades och bearbetades.

Exempeldefinition

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

Exempeltext och layoutTextutdata

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

Exempel: Sammanfoga text som extraherats från inbäddade bilder med innehållet i dokumentet

Dokumentsprickor, det första steget i körning av kompetensuppsättningar, separerar text- och bildinnehåll. Ett vanligt användningsfall för textsammanslagning är att sammanfoga textrepresentationen av bilder (text från en OCR-färdighet eller bildtexten till en bild) till innehållsfältet i ett dokument. Detta gäller scenarier där källdokumentet är ett PDF- eller Word-dokument som kombinerar text med inbäddade bilder.

I följande exempel skapar kunskapsuppsättningen ett merged_text fält. Det här fältet innehåller textinnehållet i dokumentet och ocred-texten från var och en av de bilder som är inbäddade i dokumentet.

Begärandetextsyntax

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

Exemplet ovan förutsätter att det finns ett normaliserat bildfält. Om du vill generera det här fältet anger du imageAction-konfigurationen i indexerarens definition för att genereraNormalizedImages enligt nedan:

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

Se även