Örnek Etiketleme aracını kullanarak özel model eğitin

Bu içerik:Document Intelligence v2.1 checkmarkv2.1 için geçerlidir.

Bahşiş

  • Gelişmiş bir deneyim ve gelişmiş model kalitesi için Document Intelligence v3.0 Studio'yu deneyin.
  • v3.0 Studio, v2.1 etiketli verilerle eğitilen tüm modelleri destekler.
  • v2.1'den v3.0'a geçiş hakkında ayrıntılı bilgi için API geçiş kılavuzuna başvurabilirsiniz.
  • V3.0'ı kullanmaya başlamak için REST API veya C#, Java, JavaScript veya Python SDK hızlı başlangıçlarımıza bakın.

Bu makalede, el ile etiketlenmiş verilerle özel bir model eğitmek için Örnek Etiketleme aracıyla Belge Zekası REST API'sini kullanacaksınız.

Ön koşullar

Bu projeyi tamamlamak için aşağıdaki kaynaklara ihtiyacınız vardır:

  • Azure aboneliği - Ücretsiz olarak oluşturun
  • Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında bir Belge Zekası kaynağı oluşturun. Dağıtıldıktan sonra Kaynağa git'i seçin.
    • Uygulamanızı Belge Zekası API'sine bağlamak için oluşturduğunuz kaynaktan anahtara ve uç noktaya ihtiyacınız vardır. Anahtarınızı ve uç noktanızı hızlı başlangıcın ilerleyen bölümlerinde koda yapıştırırsınız.
    • Hizmeti denemek ve daha sonra üretim için ücretli bir katmana yükseltmek için ücretsiz fiyatlandırma katmanını (F0) kullanabilirsiniz.
  • Aynı türde en az altı formlu bir küme. Modeli eğitmek ve formu test etmek için bu verileri kullanırsınız. Bu hızlı başlangıç için örnek bir veri kümesi (sample_data.zip dosyasını indirip ayıklayabilirsiniz). Eğitim dosyalarını standart performans katmanındaki bir Azure Depolama hesabındaki blob depolama kapsayıcısının köküne yükleyin.

Belge Yönetim Bilgileri kaynağı oluşturma

Azure portalına gidin ve yeni bir Belge Zekası kaynağı oluşturun. Oluştur bölmesinde aşağıdaki bilgileri sağlayın:

Proje ayrıntıları Tanım
Abonelik Erişim verilen Azure aboneliğini seçin.
Kaynak grubu Kaynağınızı içeren Azure kaynak grubu. Yeni bir grup oluşturabilir veya önceden var olan bir gruba ekleyebilirsiniz.
Bölge Azure AI hizmetleri kaynağınızın konumu. Farklı konumlar gecikmeye neden olabilir, ancak kaynağınızın çalışma zamanı kullanılabilirliğini etkilemez.
Dosya Adı Kaynağınız için açıklayıcı bir ad. Açıklayıcı bir ad kullanmanızı öneririz, örneğin MyNameFormRecognizer.
Fiyatlandırma katmanı Kaynağınızın maliyeti, seçtiğiniz fiyatlandırma katmanına ve kullanımınıza bağlıdır. Daha fazla bilgi için API fiyatlandırma ayrıntılarına bakın.
gözden geçirme + oluşturma Azure portalında kaynağınızı dağıtmak için Gözden Geçir ve oluştur düğmesini seçin.

Anahtarı ve uç noktayı alma

Belge Yönetim Bilgileri kaynağınızın dağıtımı tamamlandığında portaldaki Tüm kaynaklar listesinden bu kaynağı bulun ve seçin. Anahtarınız ve uç noktanız kaynağın Anahtar ve Uç Nokta sayfasında, Kaynak Yönetimi'nin altında yer alır. İleriye gitmeden önce bunların ikisini de geçici bir konuma kaydedin.

Deneyin

Belge Zekası Örnek Etiketleme aracını çevrimiçi deneyin:

Belge Yönetim Bilgileri hizmetini denemek için bir Azure aboneliğine (ücretsiz bir abonelik oluşturun) ve Belge Yönetim Bilgileri kaynak uç noktası ve anahtarına ihtiyacınız vardır.

Örnek Etiketleme aracını ayarlama

Dekont

Depolama verileriniz bir sanal ağın veya güvenlik duvarının arkasındaysa, Belge Zekası Örnek Etiketleme aracını sanal ağınızın veya güvenlik duvarınızın arkasına dağıtmanız ve sistem tarafından atanan yönetilen kimlik oluşturarak erişim izni vermelisiniz.

Örnek Etiketleme aracını çalıştırmak için Docker altyapısını kullanırsınız. Docker kapsayıcısını ayarlamak için bu adımları izleyin. Docker ve kapsayıcı temel bilgileri ile ilgili giriş yapmak için Docker’a genel bakış bölümüne bakın.

Bahşiş

OCR Form Etiketleme Aracı, GitHub'da bir açık kaynak projesi olarak da kullanılabilir. Araç, React + Redux kullanılarak oluşturulmuş bir TypeScript web uygulamasıdır. Daha fazla bilgi edinmek veya katkıda bulunmak için OCR Form Etiketleme Aracı deposuna bakın. Aracı çevrimiçi olarak denemek için Belge Zekası Örnek Etiketleme aracı web sitesine gidin.

  1. İlk olarak Docker'ı bir konak bilgisayara yükleyin. Bu kılavuzda, yerel bilgisayarın konak olarak nasıl kullanılacağı gösterilmektedir. Azure'da bir Docker barındırma hizmeti kullanmak istiyorsanız Örnek Etiketleme aracını dağıtma nasıl yapılır kılavuzuna bakın.

    Ana bilgisayar aşağıdaki donanım gereksinimlerini karşılamalıdır:

    Kapsayıcı En Küçük Önerilen
    Örnek Etiketleme aracı 2 çekirdek, 4 GB bellek 4 çekirdek, 8 GB bellek

    İşletim sisteminiz için uygun yönergeleri izleyerek Docker'ı makinenize yükleyin:

  2. komutuyla Örnek Etiketleme aracı kapsayıcısını docker pull alın.

     docker pull mcr.microsoft.com/azure-cognitive-services/custom-form/labeltool:latest-2.1
    
  3. Artık kapsayıcıyı ile docker runçalıştırmaya hazırsınız.

     docker run -it -p 3000:80 mcr.microsoft.com/azure-cognitive-services/custom-form/labeltool:latest-2.1 eula=accept
    

    Bu komut, örnek etiketleme aracını bir web tarayıcısı aracılığıyla kullanılabilir hale getirir. http://localhost:3000 adresine gidin.

Dekont

Ayrıca Belge Zekası REST API'sini kullanarak belgeleri etiketleyebilir ve modelleri eğitebilirsiniz. REST API ile eğitmek ve analiz etmek için bkz . REST API ve Python kullanarak etiketlerle eğitma.

Giriş verilerini ayarlama

İlk olarak, tüm eğitim belgelerinin aynı biçimde olduğundan emin olun. Farklı biçimlere sahip belgeleriniz varsa bunları biçime göre klasörlere ayırın. Eğitirken API'yi bir alt klasöre yönlendirmeniz gerekir.

Etki alanları arası kaynak paylaşımını (CORS) yapılandırma

Depolama hesabınızda CORS'yi etkinleştirin. Azure portalında depolama hesabınızı seçin ve ardından sol bölmedeki CORS sekmesini seçin. Alt satırda aşağıdaki değerleri doldurun. Üstte Kaydet'i seçin.

  • İzin verilen çıkış noktaları = *
  • İzin verilen yöntemler = [tümünü seç]
  • İzin verilen üst bilgiler = *
  • Kullanıma sunulan üst bilgiler = *
  • Maksimum yaş = 200

CORS setup in the Azure portal

Örnek Etiketleme aracına Bağlan

Örnek Etiketleme aracı bir kaynağa (özgün karşıya yüklenen formlarınız) ve bir hedefe (oluşturulan etiketler ve çıkış verileri) bağlanır.

Bağlan lar projeler arasında ayarlanabilir ve paylaşılabilir. Yeni kaynak/hedef sağlayıcıları kolayca ekleyebilmeniz için genişletilebilir bir sağlayıcı modeli kullanırlar.

Yeni bağlantı oluşturmak için sol gezinti çubuğundaki Yeni Bağlan ions (tak) simgesini seçin.

Alanları aşağıdaki değerlerle doldurun:

  • Görünen Ad - Bağlantı görünen adı.

  • Açıklama - Proje açıklamanız.

  • SAS URL'si - Azure Blob Depolama kapsayıcınızın paylaşılan erişim imzası (SAS) URL'si. Özel model eğitim verilerinizin SAS URL'sini almak için Azure portalında depolama kaynağınıza gidin ve Depolama Gezgini sekmesini seçin. Kapsayıcınıza gidin, sağ tıklayın ve Paylaşılan erişim imzası al'ı seçin. Depolama hesabının kendisi için değil kapsayıcınız için SAS almanız önemlidir. Okuma, Yazma, Silme ve Listeleme izinlerinin işaretli olduğundan emin olun ve Oluştur'a tıklayın. Ardından URL bölümündeki değeri geçici bir konuma kopyalayın. Şu biçimde olmalıdır: https://<storage account>.blob.core.windows.net/<container name>?<SAS value>.

    SAS URL retrieval

Connection settings of Sample Labeling tool.

Yeni proje oluşturma

Örnek Etiketleme aracında projeler yapılandırmalarınızı ve ayarlarınızı depolar. Yeni bir proje oluşturun ve alanları aşağıdaki değerlerle doldurun:

  • Görünen Ad - proje görünen adı
  • Güvenlik Belirteci - Bazı proje ayarları anahtarlar veya diğer paylaşılan gizli diziler gibi hassas değerler içerebilir. Her proje, hassas proje ayarlarını şifrelemek/şifresini çözmek için kullanılabilecek bir güvenlik belirteci oluşturur. Sol gezinti çubuğunun alt kısmındaki dişli simgesini seçerek Uygulama Ayarlar güvenlik belirteçlerini bulabilirsiniz.
  • Kaynak Bağlan - Bu proje için kullanmak istediğiniz önceki adımda oluşturduğunuz Azure Blob Depolama bağlantısı.
  • Klasör Yolu - İsteğe bağlı - Kaynak formlarınız blob kapsayıcısı üzerindeki bir klasörde bulunuyorsa, klasör adını burada belirtin
  • Belge Yönetim Bilgileri Hizmeti Uri'si - Belge Yönetim Bilgileri uç noktası URL'niz.
  • Anahtar - Belge Yönetim Bilgileri anahtarınız.
  • Açıklama - İsteğe bağlı - Proje açıklaması

New project page on Sample Labeling tool.

Formlarınızı etiketleme

Bir proje oluşturduğunuzda veya açtığınızda, ana etiket düzenleyicisi penceresi açılır. Etiket düzenleyicisi üç bölümden oluşur:

  • Kaynak bağlantıdan kaydırılabilir form listesi içeren yeniden boyutlandırılabilir v3.0 bölmesi.
  • Etiketleri uygulamanıza olanak tanıyan ana düzenleyici bölmesi.
  • Kullanıcıların etiketleri değiştirmesine, kilitlemesine, yeniden sıralamasına ve silmesine olanak tanıyan etiketler düzenleyicisi bölmesi.

Metin ve tabloları tanımlama

Her belgenin metin ve tablo düzeni bilgilerini almak için sol bölmedeki görünmez belgelerde Düzeni Çalıştır'ı seçin. Etiketleme aracı, her metin öğesinin çevresine sınırlayıcı kutular çizer.

Etiketleme aracı hangi tabloların otomatik olarak ayıklandığını da gösterir. Ayıklanan tabloyu görmek için belgenin sol tarafındaki tablo/kılavuz simgesini seçin. Bu hızlı başlangıçta, tablo içeriği otomatik olarak ayıklandığından, tablo içeriğini etiketlemez, otomatik ayıklamaya bağımlıyız.

Table visualization in Sample Labeling tool.

v2.1'de, eğitim belgenizde doldurulmuş bir değer yoksa, değerin olması gereken bir kutu çizebilirsiniz. Bölgeyi etiketlenebilir hale getirmek için pencerenin sol üst köşesindeki Bölge çiz'i kullanın.

Metne etiket uygulama

Ardından etiketler (etiketler) oluşturacak ve bunları modelin çözümlemesini istediğiniz metin öğelerine uygulayacaksınız.

  1. İlk olarak, tanımlamak istediğiniz etiketleri oluşturmak için etiketler düzenleyicisi bölmesini kullanın.
    1. Yeni bir etiket oluşturmak için öğesini seçin + .
    2. Etiket adını girin.
    3. Etiketi kaydetmek için Enter tuşuna basın.
  2. Ana düzenleyicide, vurgulanan metin öğelerinden veya çizdiğiniz bir bölgeden sözcükleri seçin.
  3. Uygulamak istediğiniz etiketi seçin veya ilgili klavye tuşuna basın. Sayı anahtarları, ilk 10 etiket için kısayol tuşları olarak atanır. Etiket düzenleyicisi bölmesindeki yukarı ve aşağı ok simgelerini kullanarak etiketlerinizi yeniden sıralayabilirsiniz.
  4. Formlarınızdan en az beşini etiketlemek için bu adımları izleyin.

    Bahşiş

    Formlarınızı etiketlerken aşağıdaki ipuçlarını göz önünde bulundurun:

    • Seçili her metin öğesine yalnızca bir etiket uygulayabilirsiniz.
    • Her etiket, sayfa başına yalnızca bir kez uygulanabilir. Bir değer aynı formda birden çok kez görünüyorsa, her örnek için farklı etiketler oluşturun. Örneğin: "invoice# 1", "invoice# 2" vb.
    • Etiketler sayfalara yayılamaz.
    • Değerleri formda göründükleri şekilde etiketle; bir değeri iki farklı etiketle iki bölüme bölmeye çalışmayın. Örneğin, bir adres alanı birden çok satıra yayılsa bile tek bir etiketle etiketlenmelidir.
    • Etiketli alanlarınıza anahtar eklemeyin; yalnızca değerler.
    • Tablo verileri otomatik olarak algılanmalıdır ve son çıkış JSON dosyasında kullanılabilir. Ancak model tüm tablo verilerinizi algılayamazsa bu alanları da el ile etiketleyebilirsiniz. Tablodaki her hücreyi farklı bir etiketle etiketleyin. Formlarınızda farklı sayıda satır içeren tablolar varsa, mümkün olan en büyük tabloyla en az bir formu etiketlediğinizden emin olun.
    • Etiketlerinizi aramak, yeniden adlandırmak, yeniden sıralamak ve silmek için sağındaki + düğmeleri kullanın.
    • Uygulanan bir etiketi etiketin kendisini silmeden kaldırmak için, belge görünümünde etiketli dikdörtgeni seçin ve delete tuşuna basın.

Main editor window of Sample Labeling tool.

Etiket değeri türlerini belirtme

Her etiket için beklenen veri türünü ayarlayabilirsiniz. Etiketin sağındaki bağlam menüsünü açın ve menüden bir tür seçin. Bu özellik, algılama algoritmasının metin algılama doğruluğunu geliştiren varsayımlarda bulunmasını sağlar. Ayrıca algılanan değerlerin son JSON çıkışında standart bir biçimde döndürülmesini sağlar. Değer türü bilgileri fields.json dosyasına etiket dosyalarınız ile aynı yolda kaydedilir.

Value type selection with Sample Labeling tool

Şu anda aşağıdaki değer türleri ve varyasyonları desteklenmektedir:

  • string

    • varsayılan, no-whitespaces, alphanumeric
  • number

    • Varsayılan currency
    • Kayan nokta değeri olarak biçimlendirilir.
    • Örnek: Belgedeki 1234.98, çıkışta 1234.98 olarak biçimlendirildi
  • date

    • default, dmy, mdy, ymd
  • time

  • integer

    • Tamsayı değeri olarak biçimlendirilir.
    • Örnek: Belgedeki 1234.98, çıkışta 123498 olarak biçimlendirilir.
  • selectionMark

Dekont

Tarih biçimlendirmesi için şu kurallara bakın:

Tarih biçimlendirmenin çalışması için bir biçim (dmy, mdy, ymd) belirtmelisiniz.

Aşağıdaki karakterler tarih sınırlandırıcısı olarak kullanılabilir: , - / . \. Boşluk sınırlayıcı olarak kullanılamaz. Örneğin:

  • Kategori 01,01,2020
  • 01-01-2020
  • 01/01/2020

Gün ve ay her biri bir veya iki basamak olarak yazılabilir ve yıl iki veya dört basamaklı olabilir:

  • 1-1-2020
  • 1-01-20

Tarih dizesinin sekiz basamağı varsa ayırıcı isteğe bağlıdır:

  • Kategori 01012020
  • 01 01 2020

Ay, tam veya kısa ad olarak da yazılabilir. Ad kullanılırsa, sınırlayıcı karakterler isteğe bağlıdır. Ancak, bu biçim diğerlerinden daha az doğru olarak tanınabilir.

  • 01/Oca/2020
  • 01Oca2020
  • 01 Oca 2020

Tabloları etiketleme (yalnızca v2.1)

Bazen verileriniz, anahtar-değer çiftleri yerine tablo olarak etiketlenmek için daha iyi olabilir. Bu durumda, Yeni tablo etiketi ekle'yi seçerek bir tablo etiketi oluşturabilirsiniz. Tablonun, belgeye bağlı olarak sabit sayıda satır mı yoksa değişken satır sayısı mı olduğunu belirtin ve şemayı tanımlayın.

Configuring a table tag.

Tablo etiketinizi tanımladıktan sonra hücre değerlerini etiketleyin.

Labeling a table.

Özel bir modeli eğitme

Eğitim sayfasını açmak için sol bölmedeki Eğit simgesini seçin. Ardından modeli eğitmeye başlamak için Eğit düğmesini seçin. Eğitim işlemi tamamlandıktan sonra aşağıdaki bilgileri görürsünüz:

  • Model Kimliği - Oluşturulan ve eğitilen modelin kimliği. Her eğitim çağrısı kendi kimliğine sahip yeni bir model oluşturur. Bu dizeyi güvenli bir konuma kopyalayın; REST API veya istemci kitaplığı kılavuzu aracılığıyla tahmin çağrıları yapmak istiyorsanız buna ihtiyacınız vardır.
  • Ortalama Doğruluk - Modelin ortalama doğruluğu. Daha fazla form ekleyip etiketleyip yeni bir model oluşturmak için yeniden eğiterek model doğruluğunu geliştirebilirsiniz. Beş formu etiketleyerek başlamanızı ve gerektiğinde daha fazla form eklemenizi öneririz.
  • Etiket listesi ve etiket başına tahmini doğruluk.

Training view.

Eğitim tamamlandıktan sonra Ortalama Doğruluk değerini inceleyin. Düşükse, daha fazla giriş belgesi eklemeniz ve etiketleme adımlarını yinelemeniz gerekir. Zaten etiketlediğiniz belgeler proje dizininde kalır.

Bahşiş

Eğitim işlemini rest API çağrısıyla da çalıştırabilirsiniz. Bunun nasıl yapılacağını öğrenmek için bkz . Python kullanarak etiketlerle eğitma.

Eğitilmiş modeller oluşturma

Model Oluşturma ile tek bir model kimliğine kadar 200 model oluşturabilirsiniz. Oluşturulan modelIDile Çözümle'yi çağırdığınızda, Belge Yönetim Bilgileri gönderdiğiniz formu sınıflandırır, en iyi eşleşen modeli seçin ve ardından bu modele ilişkin sonuçları döndürür. Bu işlem, gelen formlar çeşitli şablonlardan birine ait olabileceğinde yararlıdır.

  • Örnek Etiketleme aracında model oluşturmak için gezinti çubuğundan Model Oluştur (birleştirme oku) simgesini seçin.
  • Birlikte oluşturmak istediğiniz modelleri seçin. Ok simgesine sahip modeller zaten oluşturulmuş modellerdir.
  • Oluştur düğmesini seçin. Açılır pencerede yeni oluşturulan modelinizi adlandırın ve Oluştur'u seçin.
  • İşlem tamamlandığında, yeni oluşturulan modeliniz listede görünmelidir.

Model compose UX view.

Formu analiz etme

Modelinizi test etmek için gezinti çubuğundan Çözümle simgesini seçin. Kaynak Yerel dosya'ya tıklayın. Bir dosyaya göz atın ve test klasöründe sıkıştırmasını açtığınız örnek veri kümesinden bir dosya seçin. Ardından formun anahtar/değer çiftlerini, metin ve tablo tahminlerini almak için Analizi çalıştır düğmesini seçin. Araç, sınırlama kutularına etiketler uygular ve her etiketin güvenilirliğini bildirir.

Screenshot of analyze-a-custom-form window

Bahşiş

Çözümle API'sini rest çağrısıyla da çalıştırabilirsiniz. Bunun nasıl yapılacağını öğrenmek için bkz . Python kullanarak etiketlerle eğitma.

Sonuçları iyileştirme

Bildirilen doğruluğuna bağlı olarak, modeli geliştirmek için daha fazla eğitim yapmak isteyebilirsiniz. Bir tahminde bulunduktan sonra, uygulanan etiketlerin her biri için güvenilirlik değerlerini inceleyin. Ortalama doğruluk eğitim değeri yüksekse ancak güvenilirlik puanları düşükse (veya sonuçlar yanlışsa), tahmin dosyasını eğitim kümesine ekleyin, etiketleyin ve yeniden eğitin.

Raporlanan ortalama doğruluk, güvenilirlik puanları ve gerçek doğruluk, analiz edilen belgeler eğitimde kullanılan belgelerden farklı olduğunda tutarsız olabilir. Bazı belgelerin kişiler tarafından görüntülendiğinde benzer göründüğünü ancak yapay zeka modeline göre farklı görünebileceğini unutmayın. Örneğin, eğitim kümesinin %20 A ve %80 çeşitleme B'yi oluşturduğu iki varyasyonu olan bir form türüyle eğitebilirsiniz. Tahmin sırasında, A varyasyonu belgelerinin güvenilirlik puanları büyük olasılıkla daha düşük olacaktır.

Projeyi kaydetme ve daha sonra sürdürme

Projenizi başka bir zamanda veya başka bir tarayıcıda sürdürmek için projenizin güvenlik belirtecini kaydetmeniz ve daha sonra yeniden eklemeniz gerekir.

Proje kimlik bilgilerini alma

Proje ayarları sayfanıza (kaydırıcı simgesi) gidin ve güvenlik belirteci adını not alın. Ardından, geçerli tarayıcı örneğinizdeki tüm güvenlik belirteçlerini gösteren uygulama ayarlarınıza (dişli simgesi) gidin. Projenizin güvenlik belirtecini bulun ve adını ve anahtar değerini güvenli bir konuma kopyalayın.

Proje kimlik bilgilerini geri yükleme

Projenizi sürdürmek istediğinizde, ilk olarak aynı blob depolama kapsayıcısına bir bağlantı oluşturmanız gerekir. Bunu yapmak için adımları yineleyin. Ardından uygulama ayarları sayfasına (dişli simgesi) gidin ve projenizin güvenlik belirtecinin orada olup olmadığına bakın. Değilse, yeni bir güvenlik belirteci ekleyin ve önceki adımdaki belirteç adınızın ve anahtarınızın üzerine kopyalayın. Ayarlarınızı korumak için Kaydet'i seçin.

Projeyi sürdürme

Son olarak, ana sayfaya (ev simgesi) gidin ve Bulut Projesini Aç'ı seçin. Ardından blob depolama bağlantısını seçin ve projenizin .fott dosyasını seçin. Uygulama, güvenlik belirtecini içerdiğinden projenin tüm ayarlarını yükler.

Sonraki adımlar

Bu hızlı başlangıçta, el ile etiketlenmiş verilerle bir modeli eğitmek için Belge Zekası Örnek Etiketleme aracını kullanmayı öğrendiniz. Eğitim verilerini etiketlemek için kendi yardımcı programınızı oluşturmak istiyorsanız etiketlenmiş veri eğitimiyle ilgilenen REST API'lerini kullanın.