Örnek Etiketleme aracını kullanarak özel model eğitin
Bu içerik şunlar için geçerlidir: v2.1.
İpucu
- 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.
Önkoş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 indirme ve ayıklama) kullanabilirsiniz. Eğitim dosyalarını standart performans katmanı 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ı | Açıklama |
---|---|
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. |
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
Not
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.
İpucu
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.
İ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 bellek4
çekirdek, 8 GB bellekİşletim sisteminiz için uygun yönergeleri izleyerek Docker'ı makinenize yükleyin:
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
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.
Not
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
Örnek Etiketleme aracına bağlanma
Ö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ğlantı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ğlantılar (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>
.
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ı'nda güvenlik belirteçlerini bulabilirsiniz.
- Kaynak Bağlantı - 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ı
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 tabloları 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.
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.
- İlk olarak, tanımlamak istediğiniz etiketleri oluşturmak için etiketler düzenleyicisi bölmesini kullanın.
- Yeni bir etiket oluşturmak için öğesini seçin + .
- Etiket adını girin.
- Etiketi kaydetmek için Enter'ı seçin.
- Ana düzenleyicide, vurgulanan metin öğelerinden veya çizdiğiniz bir bölgeden sözcükleri seçin.
- 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.
- Formlarınızdan en az beşini etiketlemek için bu adımları izleyin.
İpucu
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.
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, etiket dosyalarınızla aynı yolda fields.json dosyasına kaydedilir.
Şu anda aşağıdaki değer türleri ve varyasyonları desteklenmektedir:
string
- varsayılan,
no-whitespaces
,alphanumeric
- varsayılan,
number
- temerrüt
currency
- Kayan nokta değeri olarak biçimlendirilir.
- Örnek: Belgedeki 1234.98, çıkışta 1234.98 olarak biçimlendirildi
- temerrüt
date
- default,
dmy
,mdy
,ymd
- default,
time
integer
- Tamsayı değeri olarak biçimlendirilir.
- Örnek: Belgedeki 1234.98, çıkışta 123498 olarak biçimlendirilir.
selectionMark
Not
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.
Tablo etiketinizi tanımladıktan sonra hücre değerlerini etiketleyin.
Ö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.
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.
İpucu
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 modelID
ile Çö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.
Formu analiz etme
Modelinizi test etmek için gezinti çubuğundaki Analyze
simgeyi 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, forma yönelik anahtar/değer çiftleri, 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.
İpucu
API'yi Analyze
bir 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 tahmini tamamladıktan 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.