OCR kognitív képesség

Az optikai karakterfelismerési (OCR) képesség felismeri a képfájlokban lévő nyomtatott és kézzel írt szöveget. Ez a cikk az OCR-képesség referenciadokumentációja. A használati utasításokért tekintse meg a képek szövegének kinyerése című témakört.

Az OCR-képesség az Azure AI Vision API 3.2-es verziója által biztosított gépi tanulási modelleket használja az Azure AI-szolgáltatásokban. Az OCR-képesség a következő funkciókra képez le:

  • Az Azure AI Vision nyelvi támogatásában felsorolt nyelvek esetében a Read API-t használja a rendszer.

  • A görög és a szerb cirill betűs esetében a 3.2-es verziójú API régi OCR-ét használják.

Az OCR-képesség kinyeri a szöveget a képfájlokból. A támogatott fájlformátumok a következők:

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

Feljegyzés

Ez a képesség az Azure AI-szolgáltatásokhoz van kötve, és számlázható erőforrást igényel olyan tranzakciókhoz, amelyek indexelőnként naponta 20 dokumentumot meghaladóak. A beépített készségek végrehajtásáért a meglévő Azure AI-szolgáltatások használatalapú fizetéses díját számítjuk fel.

Emellett a rendszerképek kinyerése az Azure AI Search által számlázható.

Képességparaméterek

A paraméterek megkülönböztetik a kis- és nagybetűket.

Paraméter neve Leírás
detectOrientation Észleli a kép tájolását. Az érvényes értékek a következők: true vagy false.

Ez a paraméter csak akkor érvényes, ha az örökölt OCR 3.2-es API-t használja.
defaultLanguageCode A bemeneti szöveg nyelvi kódja. A támogatott nyelvek közé tartozik az Azure AI Vision összes általánosan elérhető nyelve . Megadhatja az (Ismeretlen) értéket unk is.

Ha a nyelvi kód nem határozható meg vagy null, a nyelv angolra van állítva. Ha a nyelv explicit módon van beállítva unk, a rendszer minden talált nyelvet automatikusan észlel és visszaad.
lineEnding A vonalelválasztóként használandó érték. Lehetséges értékek: "Space", "CarriageReturn", "LineFeed". Az alapértelmezett érték a "Szóköz".

A korábbi verziókban volt egy "textExtractionAlgorithm" nevű paraméter a "nyomtatott" vagy a "kézzel írt" szöveg kinyerésének megadásához. Ez a paraméter elavult, mert az aktuális Read API-algoritmus egyszerre mindkét szövegtípust kinyeri. Ha a képesség tartalmazza ezt a paramétert, nem kell eltávolítania, de a képesség végrehajtása során nem fogja használni.

Készségbemenetek

Bemeneti név Leírás
image Összetett típus. Jelenleg csak a "/document/normalized_images" mezővel működik, amelyet az Azure blobindexelő állít elő, ha imageAction nem nonea .

Képességkimenetek

Kimeneti név Leírás
text A képből kinyert egyszerű szöveg.
layoutText Összetett típus, amely a kinyert szöveget és a szöveg helyét írja le.

Ha PDF-fájlokba vagy más alkalmazásfájlokba beágyazott képeken hívja meg az OCR-t, az OCR-kimenet a lap alján található, a kinyert és feldolgozott szövegek után.

Mintadefiníció

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

Szövegminta és elrendezésSzöveg kimenete

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

Minta: Beágyazott képekből kinyert szöveg egyesítése a dokumentum tartalmával

A dokumentumrepedés, a készségkészlet végrehajtásának első lépése elválasztja a szöveg- és képtartalmakat. A szövegegyesítés gyakori használati esete a képek szöveges ábrázolása (OCR-képességből származó szöveg vagy egy kép képaláírás) egyesítése a dokumentum tartalommezőjébe. Ez olyan helyzetekre érvényes, amikor a forrásdokumentum egy PDF- vagy Word-dokumentum, amely beágyazott képekkel kombinálja a szöveget.

Az alábbi példakészség-halmaz létrehoz egy merged_text mezőt. Ez a mező a dokumentum szöveges tartalmát és a dokumentumba ágyazott képek ocRed szövegét tartalmazza.

Kéréstörzs szintaxisa

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

A fenti képességkészlet-példa feltételezi, hogy létezik normalizált képmező. A mező létrehozásához állítsa be az imageAction konfigurációt az indexelő definíciójában úgy, hogy létrehozza aNormalizedImages értéket az alábbi módon:

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

Lásd még