Document AI Çalışma Alanı - Eğitim

1. Giriş

Document AI; belgeler ve e-postalar gibi yapılandırılmamış verileri alarak verilerin anlaşılmasını, analiz edilmesini ve kullanılmasını kolaylaştıran bir belge anlama çözümüdür.

Document AI Workbench üzerinden yukarı eğitim sayesinde, Özel Belge Türleri için ek etiketli örnekler sağlayıp yeni bir model sürümü oluşturarak daha yüksek doküman işleme doğruluğu elde edebilirsiniz.

Bu laboratuvarda bir Fatura Ayrıştırıcı işlemcisi oluşturacak, yukarı eğitim için işlemciyi yapılandıracak, örnek dokümanları etiketleyecek ve işlemciyi eğiteceksiniz.

Bu laboratuvarda kullanılan belge veri kümesi, hayali bir borulama şirketi için rastgele oluşturulan faturalardan oluşur.

Ön koşullar

Bu codelab'de, diğer Document AI Codelab'lerinde sunulan içerikler temel alınır.

Devam etmeden önce aşağıdaki Codelab'leri tamamlamanız önerilir.

Neler öğreneceksiniz?

  • Fatura Ayrıştırıcı işleyen için Uptraining'i yapılandırma.
  • Ek açıklama aracını kullanarak Document AI eğitim verilerini etiketleyin.
  • Yeni bir model sürümü eğitin.
  • Yeni model sürümünün doğruluğunu değerlendirin.

Gerekenler

  • Bir Google Cloud projesi
  • Chrome veya Firefox gibi bir tarayıcı

2. Kurulum

Bu codelab'de, Tanıtım Codelab'de listelenen Document AI Kurulum adımlarını tamamladığınız varsayılır.

Devam etmeden önce lütfen aşağıdaki adımları tamamlayın:

3. İşlemci Oluşturma

Bu laboratuvarda kullanmak için önce bir Fatura Ayrıştırıcı işlemcisi oluşturmanız gerekir.

  1. Konsolda Document AI Overview (Document AI'a Genel Bakış) sayfasına gidin.

docai-uptraining-codelab-01

  1. İşleyen Oluştur'u tıklayın, Uzman'a gidin (veya arama çubuğuna "Fatura Ayrıştırıcı" yazın) ve Fatura Ayrıştırıcı'yı seçin.

docai-uptraining-codelab-02

  1. Hedefe codelab-invoice-uptraining adını (veya hatırlayacağınız başka bir ad) verin ve listeden en yakın bölgeyi seçin.

docai-uptraining-codelab-03

  1. İşleyicinizi oluşturmak için Oluştur'u tıklayın. İşlemciye Genel Bakış sayfasını görüyor olmanız gerekir.

docai-uptraining-codelab-04

4. Veri Kümesi Oluştur

Veri işleyeni eğitmek için, ayıklamak istediğimiz varlıkları tespit etmesine yardımcı olacak eğitim ve test verilerini içeren bir veri kümesi oluşturmamız gerekir.

Veri kümesini depolamak için Cloud Storage'da yeni bir paket oluşturmanız gerekir. Not: Bu paket, dokümanlarınızın şu anda depolandığı paketle aynı olmamalıdır.

  1. Cloud Shell'i açın ve paket oluşturmak için aşağıdaki komutları çalıştırın. Alternatif olarak Cloud Console'da yeni bir paket oluşturabilirsiniz. Daha sonra ihtiyacınız olacak bu paket adını kaydedin.
export PROJECT_ID=$(gcloud config get-value project)

gsutil mb -p $PROJECT_ID "gs://${PROJECT_ID}-uptraining-codelab"
  1. Veri Kümesi sekmesine gidin ve Veri Kümesi Oluştur'u tıklayın

docai-uptraining-codelab-05

  1. Birinci adımda oluşturduğunuz paketteki paket adını Hedef Yol alanına yapıştırın. (gs:// eklemeyin)

docai-uptraining-codelab-06

  1. Veri kümesinin oluşturulmasını bekleyin. Oluşturulduğunda, veri kümesi yönetimi sayfasına yönlendirilir.

docai-uptraining-codelab-07

5. Test Dokümanı İçe Aktar

Şimdi örnek bir fatura PDF'sini veri kümemize aktaralım.

  1. Dokümanları İçe Aktar'ı tıklayın.

docai-uptraining-codelab-08

  1. Bu laboratuvarda kullanabileceğiniz örnek bir PDF'miz var. Aşağıdaki bağlantıyı kopyalayıp Kaynak Yolu kutusuna yapıştırın. "Verileri bölme"den ayrılın "Atanmamış" olarak . Import'u (İçe aktar) tıklayın.
cloud-samples-data/documentai/codelabs/uptraining/pdfs

docai-uptraining-codelab-09

  1. Dokümanın içe aktarılmasını bekleyin. Bu işlem, testlerimde 1 dakikadan kısa sürdü.

docai-uptraining-codelab-10

  1. İçe aktarma işlemi tamamlandığında, dokümanı Veri Kümesi yönetimi kullanıcı arayüzünde görürsünüz. Etiketleme konsoluna girmek için bu simgeyi tıklayın.

docai-uptraining-codelab-11

6. Test Dokümanını Etiketle

Ardından, ayıklamak istediğimiz varlıklar için metin öğelerini ve etiketleri belirleyeceğiz. Bu etiketler, bu belirli belge yapısını ayrıştıracak ve doğru türleri tanımlayacak şekilde modelimizi eğitmek için kullanılacaktır.

  1. Şimdi etiketleme konsolunda aşağıdakine benzer bir görünümde olmanız gerekir.

docai-uptraining-codelab-12

  1. "Metni seç"i tıklayın Araç, ardından "McWilliam Piping International Piping Company" metnini vurgula ve supplier_name etiketini atayın. Etiket adlarını aramak için metin filtresini kullanabilirsiniz.

docai-uptraining-codelab-13

  1. "14368 Pipeline Ave Chino, CA 91710" metnini vurgula ve supplier_address etiketini atayın.

docai-uptraining-codelab-14

  1. "10001" metnini vurgula ve invoice_id etiketini atayın.

docai-uptraining-codelab-15

  1. "02.01.2020" metnini vurgula ve due_date etiketini atayın.

docai-uptraining-codelab-16

  1. "Sınırlayıcı Kutu"ya geç aracını kullanın. "Knuckle Coupler" metnini vurgula ve line_item/description etiketini atayın.

docai-uptraining-codelab-17

  1. "9" metnini vurgula ve line_item/quantity etiketini atayın.

docai-uptraining-codelab-18

  1. "74.43" metnini vurgula ve line_item/unit_price etiketini atayın.

docai-uptraining-codelab-19

  1. "669.87" metnini vurgula ve line_item/amount etiketini atayın.

docai-uptraining-codelab-20

  1. Sonraki iki satır öğesi için önceki 4 adımı tekrarlayın. İşlem tamamlandığında aşağıdaki gibi görünecektir.

docai-uptraining-codelab-21

  1. "1,419.57" metnini vurgula (Alt toplam'ın yanında) tıklayın ve net_amount etiketini atayın.

docai-uptraining-codelab-22

  1. "113.57" metnini vurgula (Vergi ifadesinin yanında) ve total_tax_amount etiketini atayın.

docai-uptraining-codelab-23

  1. "1,533.14" metnini vurgula (Toplam'ın yanında) ve total_amount etiketini atayın.

docai-uptraining-codelab-24

  1. "$" işaretlerinden birini vurgulayın karakterlerini girin ve currency etiketini atayın.

docai-uptraining-codelab-25

  1. Tamamlandığında etiketlenen belge şu şekilde görünmelidir. Dokümandaki sınırlayıcı kutuyu veya sol taraftaki menüde etiket adını/değerini tıklayarak bu etiketlerde ayarlamalar yapabileceğinizi unutmayın. Etiketleme işlemini tamamladığınızda Kaydet'i tıklayın.

docai-uptraining-codelab-26

  1. Etiketlerin ve değerlerin tam listesini burada bulabilirsiniz

Etiket Adı

Metin

supplier_name

McWilliam Piping Uluslararası Boru Şirketi

supplier_address

14368 Pipeline Ave Chino, CA 91710

invoice_id

10001

due_date

2020-01-02

line_item/description

Mafsallı Kuplajlar

line_item/quantity

9

line_item/unit_price

74,43

line_item/amount

669,87

line_item/description

12 İnç PVC Boru

line_item/quantity

7

line_item/unit_price

15,90

line_item/amount

111,30

line_item/description

Bakır Boru

line_item/quantity

7

line_item/unit_price

91,20

line_item/amount

638,40

net_amount

1.419,57

total_tax_amount

113,57

total_amount

1.533,14

currency

$

7. Eğitim Setine Doküman Ata

Şimdi Veri Kümesi yönetim konsoluna geri dönmüş olmanız gerekir. Etiketli ve Etiketsiz doküman sayısının yanı sıra etkin etiket sayısının da değiştiğine dikkat edin.

docai-uptraining-codelab-27

  1. Bu belgeyi "Eğitim" veya "Test" yapın ayarlandı. Dokümanı tıklayın.

docai-uptraining-codelab-28

  1. Assignment to Set'i (Küme Ata), ardından Eğitim'i tıklayın.

docai-uptraining-codelab-29

  1. Veri Bölme sayılarının değiştiğini fark edeceksiniz.

docai-uptraining-codelab-30

8. Önceden Etiketlenmiş Verileri İçe Aktar

Document AI Uptraining, hem eğitim hem de test kümelerinde en az 10 belgenin yanı sıra her kümede her etiketin 10 örneği gerektirir.

En iyi performans için her etiketten en az 50 örnek olacak şekilde, her grupta en az 50 dokümanın olması önerilir. Daha fazla eğitim verisi, genellikle daha yüksek doğruluk anlamına gelir.

100 dokümanı manuel olarak etiketlemek uzun sürer. Bu nedenle, bu laboratuvar için içe aktarabileceğiniz önceden etiketlenmiş bazı dokümanlarımız mevcuttur.

Önceden etiketlenmiş doküman dosyalarını Document.json biçiminde içe aktarabilirsiniz. Bunlar, bir işleyenin çağrılması ve Human in the Loop (HITL) (Döngüdeki İnsan İnsanı) aracını kullanarak doğruluğun doğrulanmasıyla sağlanabilir.

  1. Dokümanları İçe Aktar'ı tıklayın.

docai-uptraining-codelab-30

  1. Aşağıdaki Cloud Storage yolunu kopyalayıp yapıştırın ve Eğitim grubuna atayın.
cloud-samples-data/documentai/codelabs/uptraining/training
  1. Başka Bir Paket Ekle'yi tıklayın. Ardından aşağıdaki Cloud Storage yolunu Kopyalayın/Yapıştırın ve Test grubuna atayın.
cloud-samples-data/documentai/codelabs/uptraining/test

docai-uptraining-codelab-31

  1. İçe Aktar'ı tıklayın ve dokümanların içe aktarılmasını bekleyin. İşlenecek daha fazla belge olduğu için bu işlem geçen zamandan daha uzun sürecek. Yaptığım testlerde bu işlem yaklaşık 6 dakika sürdü. Bu sayfadan ayrılıp daha sonra geri dönebilirsiniz.

docai-uptraining-codelab-32

  1. İşlem tamamlandığında dokümanları Veri Kümesi yönetimi sayfasında görebilirsiniz.

docai-uptraining-codelab-33

9. Etiketleri Düzenle

Bu örnek için kullandığımız örnek belgeler, Fatura Ayrıştırıcı tarafından desteklenen her etiketi içermiyor. Eğitimden önce, kullanmadığımız etiketleri "etkin değil" olarak işaretlememiz gerekecek. Ayrıca, Uptraining'ten önce özel bir etiket eklemek için benzer adımları uygulayabilirsiniz.

  1. Sol alt köşedeki Etiketleri Yönet'i tıklayın.

docai-uptraining-codelab-33

  1. Artık Etiket Yönetimi konsolundasınız.

docai-uptraining-codelab-34

  1. YALNIZCA aşağıdaki etiketleri Etkin olarak işaretlemek için Onay kutularını ve Devre Dışı Bırak/Etkinleştir düğmelerini kullanın.
    • currency
    • due_date
    • invoice_id
    • line_item/amount
    • line_item/description
    • line_item/quantity
    • line_item/unit_price
    • net_amount
    • supplier_address
    • supplier_name
    • total_amount
    • total_tax_amount
  2. Tamamlandığında Console aşağıdaki gibi görünecektir. İşiniz bittiğinde Kaydet'i tıklayın.

docai-uptraining-codelab-35

  1. Veri kümesi yönetim konsoluna dönmek için Geri okunu tıklayın. 0 örneği içeren etiketlerin Etkin değil olarak işaretlendiğine dikkat edin.

docai-uptraining-codelab-36

10. İsteğe bağlı: Yeni içe aktarılan dokümanları otomatik olarak etiketleme

Dağıtılmış bir işlemci sürümüne sahip bir işlemci için etiketlenmemiş dokümanları içe aktarırken, etiketlemede zaman kazanmak üzere Otomatik etiketleme özelliğini kullanabilirsiniz.

  1. Tren sayfasında Dokümanları İçe Aktar'ı tıklayın.
  2. Aşağıdaki yolunu kopyalayıp yapıştırın. Bu dizin 5 etiketsiz fatura PDF'si içerir. Veri bölme açılır listesinden Eğitim'i seçin.
    cloud-samples-data/documentai/Custom/Invoices/PDF_Unlabeled
    
  3. Otomatik etiketleme bölümünde Otomatik etiketlemeyle içe aktar onay kutusunu seçin.
  4. Dokümanları etiketlemek için mevcut bir işlemci sürümünü seçin.
  • Örneğin: pretrained-invoice-v1.3-2022-07-15
  1. İçe Aktar'ı tıklayın ve dokümanların içe aktarılmasını bekleyin. Bu sayfadan ayrılıp daha sonra geri dönebilirsiniz.
  • İşlem tamamlandığında belgeler, Eğitim sayfasındaki Otomatik etiketlenmiş bölümünde görünür.
  1. Otomatik olarak etiketlenen belgeleri, etiketli olarak işaretlemeden eğitim veya test amacıyla kullanamazsınız. Otomatik olarak etiketlenmiş dokümanları görüntülemek için Otomatik etiketli bölümüne gidin.
  2. Etiketleme konsoluna gireceğiniz ilk dokümanı seçin.
  3. Etiketleri, sınırlayıcı kutuları ve değerleri kontrol ederek doğru olduklarından emin olun. Dahil edilmeyen tüm değerleri etiketleyin.
  4. İşlemi tamamladığınızda Etiketli olarak işaretle'yi seçin.
  5. Otomatik olarak etiketlenen her belge için etiket doğrulamasını tekrarlayın, ardından verileri eğitimde kullanmak üzere Eğitim sayfasına dönün.

11. Modele Yükseltin

Şimdi Fatura Ayrıştırıcımızı eğitmeye hazırız.

  1. Yeni Sürümü Eğit'i tıklayın

docai-uptraining-codelab-36

  1. Kullandığınız sürüme kolay akılda kalacak bir ad verin (ör. codelab-uptraining-test-1). Temel sürüm, bu yeni sürümün temel alacağı model sürümüdür. Yeni bir işlemci kullanıyorsanız tek seçenek Ek Eğitim ile Google Önceden Eğitilmiş Sonraki olmalıdır.

docai-uptraining-codelab-37

  1. (İsteğe bağlı) Veri kümenizdeki etiketlerle ilgili metrikleri görmek için Etiket İstatistiklerini Görüntüle'yi de seçebilirsiniz.

docai-uptraining-codelab-38

  1. Uptraining (Eğitim) sürecini başlatmak için Start Training'i (Eğitimi Başlat) tıklayın. Veri kümesi yönetimi sayfasına yönlendirilirsiniz. Eğitim durumunu sağ tarafta görebilirsiniz. Eğitimin tamamlanması birkaç saat sürer. Bu sayfadan ayrılıp daha sonra geri dönebilirsiniz.

docai-uptraining-codelab-39

  1. Sürüm adını tıklarsanız Sürümleri Yönet sayfasına yönlendirilirsiniz. Burada, Sürüm Kimliği ve Eğitim İşi'nin mevcut durumu gösterilir.

docai-uptraining-codelab-40

12. Yeni Model Sürümünü Test Etme

Eğitim İşi tamamlandıktan sonra (testlerim yaklaşık 1 saat sürdü), artık yeni model sürümünü test edebilir ve tahminler için kullanmaya başlayabilirsiniz.

  1. Sürümleri Yönet sayfasına gidin. Burada mevcut durumu ve F1 puanını görebilirsiniz.

docai-uptraining-codelab-41

  1. Bu model sürümünü kullanılabilmesi için dağıtmamız gerekiyor. Sağ taraftaki dikey noktaları tıklayın ve Sürümü Dağıt'ı seçin.

docai-uptraining-codelab-42

  1. Sürümün dağıtılmasını beklerken pop-up pencerede Dağıt'ı seçin. Bu işlemin tamamlanması birkaç dakika sürer. Dağıtımdan sonra bu sürümü Varsayılan Sürüm olarak ayarlayabilirsiniz.

docai-uptraining-codelab-43

  1. Dağıtım tamamlandıktan sonra Değerlendir sekmesine gidin. Ardından Sürüm açılır menüsünü tıklayın ve yeni oluşturulan sürümümüzü seçin.

docai-uptraining-codelab-44

  1. Bu sayfada tüm dokümanın yanı sıra tek tek etiketler için F1 puanı, Hassasiyet ve Geri Çağırma gibi değerlendirme metriklerini görüntüleyebilirsiniz. Bu metrikler hakkında daha fazla bilgiye AutoML Belgeleri'nden ulaşabilirsiniz.
  2. Aşağıda bağlantısı verilen PDF dosyasını indirin. Bu, Eğitim veya Test kümesine dahil edilmeyen örnek bir belgedir.

  1. Test Dokümanı Yükle'yi tıklayıp PDF dosyasını seçin.

docai-uptraining-codelab-45

  1. Çıkarılan varlıklar aşağıdakine benzer bir görünümde olacaktır.

docai-uptraining-codelab-46

13. Sonuç

Tebrikler, Fatura Ayrıştırıcı'yı geliştirmek için Document AI'ı başarıyla kullandınız. Artık bu işlemciyi, herhangi bir Uzman İşleyen gibi faturaları ayrıştırmak için kullanabilirsiniz.

İşleme yanıtının nasıl ele alınacağını incelemek için Uzman İşleyenler Codelab'e bakabilirsiniz.

Temizleme

Bu eğiticide kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini önlemek amacıyla:

  • Cloud Console'da Kaynakları yönetin sayfasına gidin.
  • Proje listesinden projenizi seçin ve ardından Sil'i tıklayın.
  • İletişim kutusuna proje kimliğini yazın ve projeyi silmek için Kapat'ı tıklayın.

Kaynaklar

Lisans

Bu çalışma, Creative Commons Attribution 2.0 Genel Amaçlı Lisans ile lisans altına alınmıştır.