Share via


OCR bilişsel becerisi

Optik karakter tanıma (OCR) becerisi, resim dosyalarındaki yazdırılan ve el yazısı metinleri tanır. Bu makale, OCR becerisine yönelik başvuru belgeleridir. Kullanım yönergeleri için bkz . Resimlerden metin ayıklama.

OCR becerisi, Azure yapay zeka hizmetlerinde Azure AI Vision API v3.2 tarafından sağlanan makine öğrenmesi modellerini kullanır. OCR becerisi aşağıdaki işlevlerle eşlenmektedir:

  • Azure AI Vision dil desteği altında listelenen diller için Okuma API'si kullanılır.

  • Yunanca ve Sırp kiril için sürüm 3.2 API'sindeki eski OCR kullanılır.

OCR becerisi, görüntü dosyalarından metin ayıklar. Desteklenen dosya biçimleri şunlardır:

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

Not

Bu beceri Azure AI hizmetlerine bağlıdır ve günlük dizin oluşturucu başına 20 belgeyi aşan işlemler için faturalanabilir bir kaynak gerektirir. Yerleşik becerilerin yürütülmesi, mevcut Azure AI hizmetlerinin kullandıkça öde fiyatından ücretlendirilir.

Ayrıca görüntü ayıklama, Azure AI Search tarafından faturalandırılabilir.

Beceri parametreleri

Parametreler büyük/küçük harfe duyarlıdır.

Parametre adı Açıklama
detectOrientation Görüntü yönlendirmesini algılar. Geçerli değerler true veya false şeklindedir.

Bu parametre yalnızca eski OCR sürüm 3.2 API'sinin kullanılması durumunda geçerlidir.
defaultLanguageCode Giriş metninin dil kodu. Desteklenen diller, Azure AI Vision'ın genel kullanıma sunulan tüm dillerini içerir. Ayrıca belirtebilirsiniz unk (Bilinmiyor).

Dil kodu belirtilmemiş veya null ise, dil İngilizce olarak ayarlanır. Dil açıkça olarak unkolarak ayarlanırsa, bulunan tüm diller otomatik olarak algılanır ve döndürülür.
lineEnding Çizgi ayırıcı olarak kullanılacak değer. Olası değerler: "Boşluk", "CarriageReturn", "LineFeed". Varsayılan değer "Boşluk"tır.

Önceki sürümlerde, "yazdırılmış" veya "el yazısı" metin ayıklamasını belirtmek için "textExtractionAlgorithm" adlı bir parametre vardı. Geçerli Okuma API'si algoritması her iki metin türünü de aynı anda ayıkladığı için bu parametre kullanım dışı bırakıldı. Beceriniz bu parametreyi içeriyorsa kaldırmanız gerekmez, ancak beceri yürütme sırasında kullanılmaz.

Beceri girişleri

Giriş adı Açıklama
image Karmaşık Tür. Şu anda yalnızca Dışında nonebir değere ayarlandığında Azure blob dizin oluşturucu imageAction tarafından üretilen "/document/normalized_images" alanıyla çalışır.

Beceri çıkışları

Çıkış adı Açıklama
text Görüntüden ayıklanan düz metin.
layoutText Ayıklanan metni ve metnin bulunduğu konumu açıklayan karmaşık tür.

PDF'lere veya diğer uygulama dosyalarına eklenmiş görüntülerde OCR'yi çağırırsanız, OCR çıkışı ayıklanan ve işlenen herhangi bir metinden sonra sayfanın en altında yer alır.

Örnek tanım

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

Örnek metin ve düzenMetin çıktısı

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

Örnek: Eklenmiş görüntülerden ayıklanan metinleri belgenin içeriğiyle birleştirme

Beceri kümesi yürütmesinin ilk adımı olan belge çatlama, metin ve görüntü içeriğini ayırır. Metin Birleştirme için yaygın bir kullanım örneği, resimlerin metinsel gösterimini (OCR becerisinden gelen metin veya bir resmin başlık) belgenin içerik alanıyla birleştirmektir. Bu, kaynak belgenin eklenmiş resimlerle metinleri birleştiren bir PDF veya Word belgesi olduğu senaryolara yöneliktir.

Aşağıdaki örnek beceri kümesi bir merged_text alanı oluşturur. Bu alan, belgenizin metin içeriğini ve o belgeye eklenmiş görüntülerin her birinden OCRed metnini içerir.

İstek Gövdesi Sözdizimi

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

Yukarıdaki beceri kümesi örneği, normalleştirilmiş görüntüler alanının mevcut olduğunu varsayar. Bu alanı oluşturmak için dizin oluşturucu tanımınızdaki imageAction yapılandırmasını aşağıda gösterildiği gibi generateNormalizedImages olarak ayarlayın:

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

Ayrıca bkz.