Belgelerden bilgi ayıklama

Tamamlandı

Tip

Daha fazla ayrıntı için Metin ve resimler sekmesine bakın!

Günümüzün iş süreçleri, formlar, makbuzlar ve faturalar gibi belgelerde yer alan verilere büyük ölçüde bağlıdır. El ile işleme gecikmelere ve hatalara neden olabilir ve bu da veri ayıklama otomasyonunu her zamankinden daha önemli hale getirir.

Azure Content Understanding nasıl çalışır?

Azure Content Understanding, yapılandırılmamış içeriğin alınıp çözümlendiği ve yapılandırılmış veri olarak döndürüldiği model temelli bir ayıklama iş akışını izler.

  1. İçerik alma: Azure Content Understanding'e içerik gönderirsiniz.

  2. Yapay zeka destekli analiz: Hizmet, içeriği analiz etmek için optik karakter tanıma (OCR), konuşma tanıma, doğal dil anlama ve çok modüllü yapay zeka modellerinin bir bileşimini kullanır.

  3. Yapılandırılmış çıkış: Hizmet, modelinizle eşleşen yapılandırılmış sonuçlar (örneğin JSON'da) döndürerek verilerin depolanmasını, aranmasını veya aşağı akış sistemleriyle tümleştirilmesini kolaylaştırır.

Uyarı

JSON (JavaScript Nesne Gösterimi), yapılandırılmış verileri sistemler arasında depolamak ve değiştirmek için kullanılan metin tabanlı bir veri biçimidir. İnsanların okuması ve yazması ve makinelerin ayrıştırıp oluşturması kolaydır.

Şemaları anlama

OCR (optik karakter tanıma), bilgisayarın taranmış belgeler, makbuz fotoğrafları veya yazdırılan sayfaların resimleri gibi resimlerden gelen metinleri "okumasına" ve bu metni düzenlenebilir ve aranabilir dijital metne dönüştürmesine olanak tanır. Temel OCR, yazdırılan metni tanımaya yardımcı olur, metin ayıklamaya odaklanır ve sözcükler arasındaki anlamı, bağlamı veya ilişkileri anlamaz .

Azure Content Understanding'in belge analizi özellikleri, alanların ve değerlerinin şema tabanlı ayıklamasını dahil etmek için basit OCR tabanlı metin ayıklamanın ötesine geçer. Şema temelli yaklaşım, Azure Content Understanding'i temel OCR veya transkripsiyon hizmetlerinden ayıran yaklaşımdır.

Şema, ayıklamak istediğiniz bilgileri ve bu bilgilerin nasıl yapılandırılması gerektiğini açıklar. Bir şema tanımladığınızda, ayıklanması gereken alanları belirtirsiniz. Şema, önem verdiğiniz belirli alanları veya varlıkları listeler.

Örneğin, genellikle bir faturada bulunan ortak alanları içeren bir şema tanımladığınızdan, örneğin:

  • Satıcı adı
  • Fatura numarası
  • Fatura tarihi
  • Müşteri adı
  • Özel adres
  • Öğeler - her biri aşağıdakileri içeren sipariş edilen öğeler:
    • Madde açıklaması
    • Birim fiyat
    • Sipariş edilen miktar
    • Satır öğesi toplamı
  • Fatura alt toplamı
  • Vergi
  • Sevkiyat Ücreti
  • Fatura toplamı

Şimdi bu bilgileri aşağıdaki faturadan ayıklamanız gerektiğini varsayalım:

Faturanın fotoğrafı.

Azure Content Understanding, fatura şemanızı faturanıza uygulayabilir ve farklı adlarla etiketlenmiş olsalar (veya hiç etiketlenmeseler bile) ilgili alanları tanımlayabilir. Sonuçta elde edilen analiz aşağıdakine benzer bir sonuç verir:

Algılanan alanların vurgulandığı analiz edilmiş bir faturanın fotoğrafı.

Şema ayrıca alan yapısını tanımlar. Şemalar yalnızca düz metinleri değil , yapılandırılmış ve iç içe yerleştirilmiş alanları destekler. Örneğin:

  • Items bir koleksiyondur
  • Her öğede description, unit price, quantityve bulunur line total

Yapılandırılmış alanları tanımlamak, Azure Content Understanding'in değerler arasındaki ilişkileri anlamasına olanak tanır ve tek başına OCR'nin yapamayacağı bir şey olur.

Fatura örneğinde, algılanan her alan için iç içe değerleri ayıklayabilirsiniz:

  • Satıcı adı: Adventure Works Bisikletleri
  • Fatura numarası: 1234
  • Fatura tarihi: 03/07/2025
  • Müşteri adı: John Smith
  • Özel adres: 123 River Street, Marshtown, İngiltere, GL1 234
  • Öğeler:
    • Öğe 1:
      • Öğe açıklaması: 38" Yarış Bisikleti (Kırmızı)
      • Birim fiyat: 1299,00
      • Sipariş edilen miktar: 1
      • Satır öğesi toplamı: 1299,00
    • Öğe 2:
      • Öğe açıklaması: Bisiklet kaskı (Siyah)
      • Birim fiyatı: 25,99
      • Sipariş edilen miktar: 1
      • Satır öğesi toplamı: 25,99
    • Öğe 3:
      • Öğe açıklaması: Bisiklet tişörtü (L)
      • Birim fiyatı: 42,50
      • Sipariş edilen miktar: 2
      • Satır öğesi toplamı: 85,00
  • Fatura alt toplamı: 1409,99
  • Vergi: 140,99
  • Sevkiyat Ücreti: 35.00
  • Fatura toplamı: 1585,98

Azure Content Understanding yalnızca etiketleri değil beklenen anlamı ayıklar. Şemalar anlamsal olarak uygulanır, yani:

  • Etiketler farklı olsa bile alanlar ayıklanabilir
  • Etiketler eksik olsa bile alanlar ayıklanabilir

Örneğin, analizörün aynı kavramı temsil ettiklerini belirlemesi durumunda Fatura No, Fatura # veya etiketlenmemiş bir numara, InvoiceNumber ile eşleştirilebilir.

Çözümleyicileri anlama

Çözümleyici, Azure Content Understanding'de giriş alan, yapay zeka analizi uygulayan ve yapılandırılmış sonuçlar üreten bir birimdir. Çözümleyiciler sürekli olarak tüm gelen içeriğe aynı ayıklama mantığını uygular. Bir çözümleyici yapılandırıldıktan sonra şemanın her analiz isteği için tutarlı bir şekilde yeniden kullanılmasını sağlar. Çözümleyiciler ayrıca öngörülebilir JSON sonuçları da üretir. Yapılandırılmış sonuçlar aşağı akış işlemeyi (depolama, arama, otomasyon) kolaylaştırır.

Azure Content Understanding, yaygın senaryolar için önceden oluşturulmuş çözümleyiciler sunar ve ihtiyaçlarınıza uygun özel çözümleyicileri destekler. Üst düzeyde:

  1. Bir çözümleyici seçebilir veya oluşturabilirsiniz.
  2. Çözümleyici, alanları ve yapıyı tanımlayan bir şema içerir.
  3. analiz için içerik gönderirsiniz
  4. Hizmet şemayı uygular
  5. Şemayla eşleşen yapılandırılmış JSON sonuçları alırsınız

Foundry portalında Azure Content Understanding'i kullanma

Uyarı

Döküm portalında bir klasik kullanıcı arabirimi (UI) ve bir yeni kullanıcı arabirimi vardır.

Microsoft Foundry kaynağı oluşturduktan sonranew Foundry portal arabirimi kullanarak Azure Content Understanding'i test edebilirsiniz. Foundry portalı içerik örnekleri sağlar ve analiz için kendi malzemenizi karşıya yüklemenize olanak tanır.

Görsel arabirimini kullanarak bir kaynak belge seçebilir ve varsayılan bilgi alanlarını ayıklayabilirsiniz. Örneğin, bir belgenin görüntüsünde Azure Content Understanding'i denediğinizde, hizmet belge metnini ve metin düzeni bilgilerini döndürür.

Azure Content Understanding ile analiz edilmiş bir belge içeren yeni Foundry portalının ekran görüntüsü.

Azure Content Understanding'in çözümleyicileri belgelerdeki metin değerlerini belirler ve bunları belirli alanlarla eşler. Örneğin, bir fatura verildiğinde, hizmet satıcı adresi gibi alanları ve 123 456. Cadde gibi alanlardaki verileri döndürür.

Azure Content Understanding ile analiz edilmiş bir faturayı içeren yeni Foundry portalının ekran görüntüsü.

Dökümhane portalında, işlemenin JSON sonuçlarını da görüntüleyebilirsiniz.

Azure Content Understanding ile analiz edilmiş bir faturanın JSON sonucunu gösteren yeni Foundry portalının ekran görüntüsü.

Azure Content Understanding ile istemci uygulaması oluşturma

Content Understanding API'sini kullanarak verileri program aracılığıyla ayıklayan basit bir istemci uygulaması oluşturabilirsiniz.

Uyarı

İstemci uygulaması, kullanıcının cihazında çalışan ve bir ağ üzerinden başka bir sistemden (genellikle bir sunucudan) hizmet veya veri isteyen bir yazılım programıdır. İstemci, kullanıcıların etkileşimde olduğu bir uygulamanın parçasıyken sunucu arka planda ağır işler yapar. Uygulamalar bir hizmetten veri veya eylem isteyebilir ve API kullanarak yapılandırılmış yanıt alabilir.

Content Understanding API'sini kullandığınızda, önceden oluşturulmuş bir çözümleyici seçebilir veya özel çözümleyici oluşturabilirsiniz. Önceden oluşturulmuş çözümleyiciler şunlardır: prebuilt-invoice, prebuilt-imageSearch, prebuilt-audioSearchve prebuilt-videoSearch. Çözümleyiciye analiz için içerik gönderdiğinizde, analiz zaman uyumsuz olur, yani sonucu daha sonra hazır olduğunda alırsınız. Çözümleme zaman uyumsuz olduğundan, iş başarılı olana kadar Operation-Location URL'sini (veya analyzerResults) sorgulamanız gerekir.

Azure Content Understanding Python SDK'sını kullanma

Şimdi URL'den fatura analiz etmek için Python SDK'sını kullanma işlemine göz atalım.

  1. Azure Content Understanding Python SDK'sını yükleyin.
python -m pip install azure-ai-contentunderstanding
  1. Foundry kaynak uç noktanızı ve API anahtarınızı veya Microsoft Entra Kimliğinizi belirleyin. Uç noktanız genellikle şöyle görünür: https://<your-resource-name>.services.ai.azure.com/

  2. İstemci uygulama kodunu oluşturun ve çalıştırın. analzyer_id, önceden oluşturulmuş çözümleyicinin kimliğidir. Önceden oluşturulmuş çözümleyici kimliği değerlerinin listesini burada bulabilirsiniz.

import os
from azure.ai.contentunderstanding import ContentUnderstandingClient
from azure.core.credentials import AzureKeyCredential

endpoint = os.environ["FOUNDRY_ENDPOINT"]
key = os.environ["FOUNDRY_KEY"]

client = ContentUnderstandingClient(endpoint=endpoint, credential=AzureKeyCredential(key))

# 1) start analysis with analyzer id + inputs
analyzer_id = "prebuilt-invoice"
inputs = [
    {"url": "https://github.com/Azure-Samples/azure-ai-content-understanding-python/raw/refs/heads/main/data/invoice.pdf"}
]

# 2) wait for the Long Running Operation (LRO) to complete
poller = client.begin_analyze(analyzer_id=analyzer_id, inputs=inputs)  # starts LRO
result = poller.result()  # waits for completion (polling handled by SDK)

# 3) read structured fields + markdown
# The result typically includes extracted "fields" and "markdown" per input content item.
for content in result.contents:
    print(content.markdown)
    print(content.fields)

Elde edilen çıkış, ayıklanan markdown, alanlar, alanlardaki veriler ve güvenilirlik puanını gösteren JSON'dır. Örneğin:

{
	"status": "Succeeded",
	"result": {
		"analyzerId": "prebuilt-invoice",
		"apiVersion": "2025-05-01-preview",
		"contents": [
			{
				"markdown": "# INVOICE\n\nCONTOSO LTD.\n\nContoso Headquarters\n123 456th St\nNew York, NY, 10001\n\nINVOICE: INV-100\n\nINVOICE DATE: 11/15/2019\n\nDUE DATE: 12/15/2019\n\nCUSTOMER NAME: MICROSOFT CORPORATION\n",
				"fields": {
					"CustomerName": {
						"type": "string",
						"valueString": "MICROSOFT CORPORATION",
						"confidence": 0.95,
					},
					"InvoiceDate": {
						"type": "date",
						"valueDate": "2019-11-15",
						"confidence": 0.994,
					}
                }
            }
        ]
    }
}

Ardından Azure Content Understanding çözümleyicilerini kullanarak ses ve videodan yapılandırılmış verileri ayıklamayı öğrenin.