Belge API'si yanıtlarını analiz etme

Bu içerik şunlar için geçerlidir:checkmark v4.0 (önizleme)checkmarkv3.1 (GA)checkmarkv3.0 (GA)

Bu makalede, yanıtın bir parçası AnalyzeDocument olarak döndürülen farklı nesneleri ve uygulamalarınızda belge analizi API'sinin nasıl kullanılacağını inceleyelim.

Belge isteğini analiz etme

Belge Yönetim Bilgileri API'leri çeşitli içeriği, düzeni, stili ve anlamsal öğeleri ayıklamak ve algılamak için görüntüleri, PDF'leri ve diğer belge dosyalarını analiz ediyor. Analiz işlemi zaman uyumsuz bir API'dir. Belgenin gönderilmesi, tamamlanmak üzere yoklama URL'sini içeren bir operation-location üst bilgisi döndürür. Bir analiz isteği başarıyla tamamlandığında, yanıt model veri ayıklamasında açıklanan öğeleri içerir.

Yanıt öğeleri

  • İçerik öğeleri, belgeden ayıklanan temel metin öğeleridir.

  • Düzen öğeleri, içerik öğelerini yapısal birimler halinde gruplandırma.

  • Stil öğeleri, içerik öğelerinin yazı tipini ve dilini açıklar.

  • Anlam öğeleri belirtilen içerik öğelerine anlam atar.

Tüm içerik öğeleri sayfa numarasına (1-dizinli) göre belirtilen sayfalara göre gruplandırılır. Ayrıca, çizgi veya sütun sınırlarını aşsalar bile, bitişik öğeleri bir araya getiren okuma düzenine göre sıralanırlar. Paragraflar ve diğer düzen öğeleri arasındaki okuma sırası belirsiz olduğunda, hizmet genellikle içeriği soldan sağa, yukarıdan aşağıya sırasıyla döndürür.

Not

Şu anda, Belge Zekası sayfa sınırları arasında okuma sırasını desteklememektedir. Seçim işaretleri, çevresindeki sözcüklerin içinde konumlandırılmaz.

Üst düzey içerik özelliği, tüm içerik öğelerini okuma sırasına göre birleştirir. Tüm öğeler, bu içerik dizesi içindeki span'lar aracılığıyla okuyucu sırasına göre konumlarını belirtir. Bazı öğelerin içeriği her zaman bitişik değildir.

Yanıtı analiz etme

Her API için analiz yanıtı farklı nesneler döndürür. API yanıtları, uygun olduğunda bileşen modellerinden öğeler içerir.

Yanıt içeriği Açıklama API
Sayfa Giriş belgesinin her sayfasından tanınan sözcükler, satırlar ve span'lar. Okuma, Düzen, Genel Belge, Önceden Oluşturulmuş ve Özel modeller
Paragraf Paragraf olarak tanınan içerik. Okuma, Düzen, Genel Belge, Önceden Oluşturulmuş ve Özel modeller
Stil Tanımlanan metin öğesi özellikleri. Okuma, Düzen, Genel Belge, Önceden Oluşturulmuş ve Özel modeller
Diller Ayıklanan metnin her bir yayılma alanıyla ilişkili tanımlanmış dil Okundu
Tablo Belgeden tanımlanan ve ayıklanan tablosal içerik. Tablolar, önceden eğitilen düzen modeli tarafından tanımlanan tablolarla ilgilidir. Tablo olarak etiketlenen içerik, belgeler nesnesinde yapılandırılmış alanlar olarak ayıklanır. Düzen, Genel Belge, Fatura ve Özel modeller
Rakam Belgeden tanımlanan ve ayıklanan şekiller (grafikler, görüntüler), karmaşık bilgilerin anlaşılmasına yardımcı olan görsel gösterimler sağlar. Düzen modeli
Bölüm Belgeden tanımlanan ve ayıklanan hiyerarşik belge yapısı. İlgili öğelerin (paragraf, tablo, şekil) eklendiği bölüm veya alt bölüm. Düzen modeli
keyValuePairs Önceden eğitilmiş bir model tarafından tanınan anahtar-değer çiftleri. Anahtar, belgedeki ilişkili değere sahip bir metin aralığıdır. Genel belge ve Fatura modelleri
Belge Tanınan alanlar, belge listesindeki sözlükte döndürülür fields Önceden oluşturulmuş modeller, Özel modeller.

Her API tarafından döndürülen nesneler hakkında daha fazla bilgi için bkz . model veri ayıklama.

Öğe özellikleri

Yayılan

Spans, her öğenin mantıksal konumunu genel okuma sırasına göre belirtir ve her yayılma alanı en üst düzey içerik dizesi özelliğine bir karakter uzaklığı ve uzunluğu belirtir. Varsayılan olarak, karakter uzaklıkları ve uzunlukları kullanıcı tarafından algılanan karakter birimleri (veya metin öğeleri olarak grapheme clusters da bilinir) cinsinden döndürülür. Kullanıcı, farklı karakter birimleri kullanan farklı geliştirme ortamlarını barındırmak için Unicode kod noktalarında (Python 3) veya UTF16 kod birimlerinde (Java, JavaScript, .NET) yayılma uzaklıklarını ve uzunluklarını döndürmek için sorgu parametresini belirtebilir stringIndexIndex . Daha fazla bilgi için bkz. Çok dilli/emoji desteği.

Screenshot of detected span example.

Sınırlayıcı Bölge

Sınırlayıcı bölgeler, dosyadaki her öğenin görsel konumunu açıklar. Öğeler görsel olarak bitişik veya çapraz sayfalar (tablolar) olmadığında, çoğu öğeye ait konumlar sınırlayıcı bölgeler dizisi aracılığıyla açıklanır. Her bölge sayfa numarasını (1-indexed) ve sınırlayıcı çokgeni belirtir. Sınırlayıcı çokgen, öğenin doğal yönüne göre soldan saat yönünde bir nokta dizisi olarak tanımlanır. Dörtgenler için çizim noktaları sol üst, sağ üst, sağ alt ve sol alt köşelerdir. Her nokta, birim özelliği tarafından belirtilen sayfa biriminde x, y koordinatını temsil eder. Genel olarak, PDF'ler inç kullanırken görüntüler için ölçü birimi pikseldir.

Screenshot of detected bounding regions example.

Not

Şu anda, Belge Zekası sınırlayıcı çokgenler olarak yalnızca 4 köşeli dörtgenleri döndürür. Gelecekteki sürümler, eğri çizgiler veya dikdörtgen olmayan görüntüler gibi daha karmaşık şekilleri tanımlamak için farklı sayıda nokta döndürebilir. Sınırlayıcı bölgeler yalnızca işlenen dosyalara uygulanır, dosya işlenmezse sınırlayıcı bölgeler döndürülür. Şu anda docx/xlsx/pptx/html biçimindeki dosyalar işlenmiyor.

İçerik öğeleri

Word

Sözcük, bir dizi karakterden oluşan bir içerik öğesidir. Belge Zekası ile bir sözcük, sözcükleri birbirinden ayıran boşlukla bitişik karakterlerin dizisi olarak tanımlanır. Sözcükler arasında boşluk ayırıcıları kullanmayan diller için, anlamsal sözcük birimini temsil etmese bile her karakter ayrı bir sözcük olarak döndürülür.

Screenshot of detected words example.

Seçim işaretleri

Seçim işareti, bir seçimin durumunu gösteren görsel karakteri temsil eden bir içerik öğesidir. Onay kutusu sık kullanılan bir seçim işareti biçimidir. Bununla birlikte, bunlar görsel bir biçimde radyo düğmeleri veya kutulu bir hücre aracılığıyla da temsil edilir. Bir seçim işaretinin durumu, durumu belirtmek için farklı görsel gösterimle seçilebilir veya seçilemez.

Screenshot of detected selection marks example.

Düzen öğeleri

Satır

Satır, görsel boşlukla ayrılmış ardışık içerik öğelerinin sıralı dizisidir veya sözcükler arasında boşluk sınırlayıcıları olmayan diller için hemen bitişik olanlardır. Aynı yatay düzlemdeki (satır) ancak tek bir görsel alandan daha fazla boşlukla ayrılmış içerik öğeleri çoğunlukla birden çok satıra ayrılır. Bu özellik bazen bitişik içeriği ayrı satırlara bölse de, metin içeriğinin birden çok sütuna veya hücreye bölünmesini sağlar. Dikey yazıdaki çizgiler dikey yönde algılandı.

Screenshot of detected lines example.

Paragraf

Paragraf, mantıksal birim oluşturan sıralı bir satır dizisidir. Genellikle, çizgiler arasındaki ortak hizalamayı ve aralığı paylaşır. Paragraflar genellikle girintileme, eklenen aralık veya madde işaretleri/numaralandırma yoluyla sınırlandırılır. İçerik yalnızca tek bir paragrafa atanabilir. Belirli paragraflar belgedeki işlevsel bir rolle de ilişkilendirilebilir. Şu anda desteklenen roller arasında sayfa üst bilgisi, sayfa alt bilgisi, sayfa numarası, başlık, bölüm başlığı ve dipnot yer alır.

Screenshot of detected paragraphs example.

Sayfa

Sayfa, genellikle bir kağıt sayfasının bir tarafına karşılık gelen bir içerik grubudur. İşlenen sayfa, belirtilen ünitedeki genişlik ve yükseklik ile karakterize edilir. Genel olarak görüntüler piksel kullanırken PDF'ler inç kullanır. angle özelliği, döndürülebilen sayfalar için genel metin açısını derece cinsinden açıklar.

Not

Excel gibi elektronik tablolar için her sayfa bir sayfaya eşlenir. PowerPoint gibi sunularda her slayt bir sayfaya eşlenir. HTML veya Word belgeleri gibi işleme içermeyen yerel bir sayfa kavramı olmayan dosya biçimleri için, dosyanın ana içeriği tek bir sayfa olarak kabul edilir.

Tablo

Tablo, içeriği kılavuz düzenindeki bir hücre grubu halinde düzenler. Satırlar ve sütunlar kılavuz çizgileri, renk şeritleri veya daha büyük aralıklarla görsel olarak ayrılabilir. Tablo hücresinin konumu, satır ve sütun dizinleri aracılığıyla belirtilir. Bir hücre birden çok satıra ve sütuna yayılabilir.

Bir hücre konumuna ve stiline göre genel içerik, satır üst bilgisi, sütun başlığı, saplama başı veya açıklama olarak sınıflandırılabilir:

  • Satır üst bilgisi hücresi genellikle satırdaki diğer hücreleri açıklayan ilk hücredir.

  • Sütun üst bilgisi hücresi genellikle sütundaki diğer hücreleri açıklayan ilk hücredir.

  • Bir satır veya sütun, hiyerarşik içeriği açıklamak için birden çok üst bilgi hücresi içerebilir.

  • Saplama kafası hücresi genellikle ilk satırdaki ve ilk sütun konumundaki hücredir. Boş olabilir veya aynı satır/sütundaki üst bilgi hücrelerindeki değerleri açıklayabilir.

  • Açıklama hücresi genellikle tablonun en üst veya en alt alanında görünür ve genel tablo içeriğini açıklar. Ancak, bazen tabloyu bölümlere ayırmak için tablonun ortasında görünebilir. Genellikle, açıklama hücreleri tek bir satırdaki birden çok hücreye yayılmıştır.

  • Tablo başlık, tabloyu açıklayan içeriği belirtir. Bir tabloda ilişkili bir başlık ve bir dipnot kümesi daha olabilir. Açıklama hücresinin aksine, başlık genellikle kılavuz düzeninin dışındadır. Tablo dipnotu, genellikle tablo kılavuzunun altında bulunan dipnot simgesiyle işaretlenmiş, tablonun içindeki içeriğe açıklama ekler.

Düzen tabloları, tablosal verilerden ayıklanan belge alanlarından farklıdır. Düzen tabloları, içeriğin semantiği dikkate alınmadan belgedeki tablosal görsel içerikten ayıklanır. Aslında bazı düzen tabloları yalnızca görsel düzen için tasarlanmıştır ve her zaman yapılandırılmış veriler içermez. Makbuzun öğeli ayrıntıları gibi çeşitli görsel düzendeki belgelerden yapılandırılmış verileri ayıklama yöntemi genellikle önemli bir işlem sonrası gerektirir. Satır veya sütun başlıklarını normalleştirilmiş alan adlarıyla yapılandırılmış alanlarla eşlemek önemlidir. Belge türüne bağlı olarak, önceden oluşturulmuş modelleri kullanın veya bu tür yapılandırılmış içeriği ayıklamak için özel bir model eğitin. Sonuçta elde edilen bilgiler belge alanları olarak gösterilir. Bu tür eğitilmiş modeller, tablosal verileri, örneğin özgeçmişin iş deneyimi bölümü gibi tablosal olmayan formlarda üst bilgiler ve yapılandırılmış veriler olmadan da işleyebilir.

Layout table

Rakam

Belgelerdeki şekiller (grafikler, resimler) metin içeriğinin tamamlanması ve geliştirilmesinde önemli bir rol oynar ve karmaşık bilgilerin anlaşılmasına yardımcı olan görsel gösterimler sağlar. Düzen modeli tarafından algılanan şekiller nesnesinin temel özellikleri boundingRegions vardır (belge sayfalarındaki şeklin uzamsal konumları, sayfa numarası ve şeklin sınırını özetleyen çokgen koordinatlar dahil), spans (şekille ilgili metin aralıklarının ayrıntıları, belgenin metni içindeki uzaklıklarını ve uzunluklarını belirtme. Bu bağlantı, şeklin ilgili metin bağlamıyla, elements (belgedeki şekille ilgili veya açıklamalı metin öğelerinin veya paragrafların tanımlayıcıları) ve caption varsa ilişkilendirmeye yardımcı olur.

{
    "figures": [
      {
        "boundingRegions": [],
        "spans": [],
        "elements": [
          "/paragraphs/15",
          ...
        ],
        "caption": {
          "content": "Here is a figure with some text",
          "boundingRegions": [],
          "spans": [],
          "elements": [
            "/paragraphs/15"
          ]
        }
      }
    ]
}

Bölümler

Hiyerarşik belge yapısı analizi, kapsamlı belgelerin düzenlenmesi, anlaşılması ve işlenmesinde çok önemlidir. Bu yaklaşım, kavramayı artırmak, gezinmeyi kolaylaştırmak ve bilgi alımını geliştirmek için uzun belgeleri sembolik olarak segmentlere ayırmak için çok önemlidir. Belge oluşturucu yapay zekada Alma Artırılmış Neslinin (RAG) gelişi, hiyerarşik belge yapısı analizinin öneminin altını çizer. Düzen modeli, çıkıştaki bölümleri ve alt bölümleri destekler ve bu da her bölümdeki bölümlerin ve nesnenin ilişkisini tanımlar. Hiyerarşik yapı her bölümde korunur elements .

{
    "sections": [
      {
        "spans": [],
        "elements": [
          "/paragraphs/0",
          "/sections/1",
          "/sections/2",
          "/sections/5"
        ]
      },
...
}

Form alanı (anahtar değer çifti)

Form alanı bir alan etiketi (anahtar) ve değerden oluşur. Alan etiketi genellikle alanın anlamını açıklayan açıklayıcı bir metin dizesidir. Genellikle değerin solunda görünür, ancak değerin üzerinde veya altında da görünebilir. Alan değeri, belirli bir alan örneğinin içerik değerini içerir. Değer sözcüklerden, seçim işaretlerinden ve diğer içerik öğelerinden oluşabilir. Doldurulmamış form alanları için de boş olabilir. Özel bir form alanı türü, alan etiketi sağda olan bir seçim işareti değerine sahiptir. Belge alanı, genel form alanlarından benzer ama farklı bir kavramdır. Genel form alanındaki alan etiketi (anahtar) belgede görünmelidir. Bu nedenle, genellikle bir makbuzdaki satıcı adı gibi bilgileri yakalayamaz. Belge alanları etiketlenir ve anahtar ayıklamaz. Belge alanları yalnızca ayıklanan bir değeri etiketlenmiş bir anahtarla eşler. Daha fazla bilgi için bkz. belge alanları.

Screenshot of detected key-value pairs example.

Stil öğeleri

Stil

Stil öğesi, metin içeriğine uygulanacak yazı tipi stilini açıklar. İçerik, genel içerik özelliğine spans aracılığıyla belirtilir. Şu anda algılanan tek yazı tipi stili metnin el yazısıyla yazıp yazılmadığıdır. Diğer stiller eklendikçe, metin birden çok bitişik olmayan stil nesnesi aracılığıyla açıklanabilir. Sıkıştırma için, belirli yazı tipi stilini paylaşan tüm metinler (aynı güvenle) tek bir stil nesnesi aracılığıyla açıklanmıştır.

Screenshot of detected style handwritten text example.


{
    "confidence": 1,
    "spans": [
        {
            "offset": 2402,
            "length": 7
        }
    ],
    "isHandwritten": true
}

Dil

Dil öğesi, genel içerik özelliğine yayılma yoluyla belirtilen içerik için algılanan dili açıklar. Algılanan dil, birincil dili ve isteğe bağlı betik ile bölge bilgilerini belirtmek için BCP-47 dil etiketi aracılığıyla belirtilir. Örneğin, İngilizce ve geleneksel Çince sırasıyla "en" ve zh-Hant olarak kabul edilir. birleşik krallık İngilizcesi için bölgesel yazım farklılıkları metnin EN-GB olarak algılanmasına neden olabilir. Dil öğeleri, baskın dil (örn. sayılar) olmadan metinleri kapsamaz.

Anlamsal öğeler

Not

Burada ele alınan anlamsal öğeler, Önceden oluşturulmuş Belge Zekası modelleri için geçerlidir. Özel modelleriniz farklı veri gösterimleri döndürebilir. Örneğin, özel bir model tarafından döndürülen tarih ve saat, standart ISO 8601 biçimlendirmesinden farklı bir düzende gösterilebilir.

Belge

Belge, sembolik olarak tamamlanmış bir birimdir. Bir dosya, PDF dosyasındaki birden çok vergi formu veya tek bir sayfada birden çok makbuz gibi birden çok belge içerebilir. Ancak, dosya içindeki belgelerin sıralanması, ilettiği bilgileri temelden etkilemez.

Not

Şu anda, Belge Zekası tek bir sayfada birden çok belgeyi desteklememektedir.

Belge türü, görsel şablonundan veya düzeninden bağımsız olarak yapılandırılmış bir şemayla temsil edilen ortak bir semantik alan kümesini paylaşan belgeleri açıklar. Örneğin, "makbuz" türündeki tüm belgeler satıcı adını, işlem tarihini ve işlem toplamını içerebilir, ancak restoran ve otel makbuzları genellikle görünüşte farklılık gösterir.

Belge öğesi, algılanan belge türünün anlam şeması tarafından belirtilen alanların arasından tanınan alanların listesini içerir:

  • Belge alanı ayıklanabilir veya çıkarılabilir. Ayıklanan alanlar, ayıklanan içerik ve isteğe bağlı olarak normalleştirilmiş değeri (yorumlanabilirse) aracılığıyla temsil edilir.

  • Çıkarsanan alanın içerik özelliği yoktur ve yalnızca değeriyle gösterilir.

  • Dizi alanı içerik özelliği içermez. İçerik, dizi öğelerinin içeriğinden birleştirilebilir.

  • Nesne alanı, ayıklanan alt alanları üst kümesi olabilecek nesneyi temsil eden içeriğin tamamını belirten bir içerik özelliği içerir.

Belge türünün anlam şeması, içerdiği alanlar aracılığıyla açıklanır. Her alan şeması kurallı adı ve değer türü aracılığıyla belirtilir. Alan değeri türleri temel (örn. dize), bileşik (örn. adres) ve yapılandırılmış (örn. dizi, nesne) türlerini içerir. Alan değeri türü, algılanan içeriği normalleştirme gösterimine dönüştürmek için gerçekleştirilen anlamsal normalleştirmeyi de belirtir. Normalleştirme yerel ayara bağımlı olabilir.

Temel türler

Alan değeri türü Açıklama Normalleştirilmiş gösterim Örnek (Alan içeriği -> Değer)
Dize Düz metin İçerikle aynı MerchantName: "Contoso" → "Contoso"
tarih Tarih ISO 8601 - YYYY-AA-GG InvoiceDate: "7/5/2022" → "2022-05-07"
time Zaman ISO 8601 - ss:dd:ss TransactionTime: "21:45:00" → "21:45:00"
phoneNumber Telefon numarası E.164 - +{CountryCode}{SubscriberNumber} İş Telefon: "(800) 555-7676" → "+18005557676"
Countryregion Ülke/bölge ISO 3166-1 alfa-3 CountryRegion: "Birleşik Devletler" → "USA"
selectionMark Seçili "signed" veya "unsigned" AcceptEula: ☑ "seçili" →
Imza İmzalı İçerikle aynı LendeeSignature: {signature} → "signed"
Numara Kayan noktalı sayı Kayan noktalı sayı Miktar: "1,20" → 1,2
integer Tamsayı sayısı 64 bit imzalı numara Sayı: "123" → 123
boolean Boole değeri true/false IsStatutoryEmployee: ☑ → true

Bileşik türler

  • Para Birimi: İsteğe bağlı para birimine sahip para birimi tutarı. Bir değer, örneğin: InvoiceTotal: $123.45

    {
        "amount": 123.45,
        "currencySymbol": "$"
    }
    
  • Adres: Ayrıştırılan adres. Örneğin: ShipToAddress: 123 Main St., Redmond, WA 98052

    {
    "poBox": "PO Box 12",
    "houseNumber": "123",
    "streetName": "Main St.",
    "city": "Redmond",
    "state": "WA",
    "postalCode": "98052",
    "countryRegion": "USA",
    "streetAddress": "123 Main St."
    }
    

Yapılandırılmış türler

  • Dizi: Aynı türdeki alanların listesi

    "Items": {
        "type": "array",
        "valueArray": [
    
        ]
    }
    
  • Nesne: Farklı olabilecek türlerin alt alanları adlandırılmış listesi

    "InvoiceTotal": {
      "type": "currency",
      "valueCurrency": {
          "currencySymbol": "$",
          "amount": 110
      },
      "content": "$110.00",
      "boundingRegions": [
          {
              "pageNumber": 1,
              "polygon": [
                  7.3842,
                  7.465,
                  7.9181,
                  7.465,
                  7.9181,
                  7.6089,
                  7.3842,
                  7.6089
              ]
          }
      ],
      "confidence": 0.945,
      "spans": [
          {
              "offset": 806,
              "length": 7
          }
      ]
    }
    

Sonraki adımlar

  • Document Intelligence Studio ile kendi formlarınızı ve belgelerinizi işlemeyi deneyin.

  • Belge Zekası hızlı başlangıcını tamamlayın ve seçtiğiniz geliştirme dilinde bir belge işleme uygulaması oluşturmaya başlayın.