Melatih model kustom dengan alat Sample Labeling

Konten ini berlaku untuk:Document Intelligence v2.1 checkmarkv2.1.

Tip

Dalam artikel ini, Anda menggunakan REST API Kecerdasan Dokumen dengan alat Pelabelan Sampel untuk melatih model kustom dengan data berlabel manual.

Prasyarat

Anda memerlukan sumber daya berikut untuk menyelesaikan proyek ini:

  • Langganan Azure - Buat langganan secara gratis
  • Setelah Anda memiliki langganan Azure, buat sumber daya Kecerdasan Dokumen di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Setelah menyebar, pilih Buka sumber daya.
    • Anda memerlukan kunci dan titik akhir dari sumber daya yang Anda buat untuk menghubungkan aplikasi Anda ke API Kecerdasan Dokumen. Anda menempelkan kunci dan titik akhir Anda ke dalam kode nanti di mulai cepat.
    • Anda dapat menggunakan tingkat harga gratis (F0) untuk percobaan, lalu meningkatkannya ke tingkat berbayar untuk produksi.
  • Satu set minimal enam formulir dengan jenis yang sama. Anda menggunakan data ini untuk melatih model dan menguji formulir. Anda dapat menggunakan himpunan data sampel (unduh dan ekstrak sample_data.zip) untuk mulai cepat ini. Unggah file pelatihan ke akar kontainer penyimpanan blob di akun Azure Storage tingkat performa standar.

Membuat sumber daya Kecerdasan Dokumen

Buka portal Azure dan buat sumber daya Kecerdasan Dokumen baru . Di panel Buat, berikan informasi berikut ini:

Detail proyek Deskripsi
Langganan Pilih langganan Azure yang aksesnya sudah diberikan.
Grup sumber daya Grup sumber daya Azure yang berisi sumber daya Anda. Anda dapat membuat grup baru atau menambahkannya ke grup yang sudah ada sebelumnya.
Wilayah Lokasi sumber daya layanan Azure AI Anda. Lokasi yang berbeda dapat menimbulkan latensi, tapi tidak berdampak pada ketersediaan runtime sumber daya Anda.
Nama Nama deskriptif untuk sumber daya Anda. Sebaiknya gunakan nama deskriptif, misalnya MyNameFormRecognizer.
Tingkat harga Biaya sumber daya Anda bergantung pada tingkat harga yang dipilih dan penggunaannya. Untuk informasi selengkapnya, lihat detail harga API.
Tinjau + buat Pilih tombol Tinjau + buat guna menyebarkan sumber daya Anda di portal Microsoft Azure.

Mengambil kunci dan titik akhir

Saat sumber daya Kecerdasan Dokumen Anda selesai disebarkan, temukan dan pilih dari daftar Semua sumber daya di portal. Kunci dan titik akhir Anda akan berada di halaman Kunci dan Titik Akhir sumber daya, di bagian Manajemen Sumber Daya. Simpan keduanya ke lokasi sementara sebelum melanjutkan.

Cobalah

Cobalah alat Pelabelan Sampel Kecerdasan Dokumen secara online:

Anda memerlukan langganan Azure (buat langganan secara gratis) dan titik akhir dan kunci sumber daya Kecerdasan Dokumen untuk mencoba layanan Kecerdasan Dokumen.

Menyiapkan alat Sample Labeling

Catatan

Jika data penyimpanan Anda berada di belakang VNet atau firewall, Anda harus menyebarkan alat Pelabelan Sampel Kecerdasan Dokumen di belakang VNet atau firewall Anda dan memberikan akses dengan membuat identitas terkelola yang ditetapkan sistem.

Anda menggunakan mesin Docker untuk menjalankan alat Pelabelan Sampel. Ikuti langkah-langkah ini untuk menyiapkan kontainer Docker. Untuk primer tentang Docker dan dasar kontainer, lihat Gambaran umum Docker.

Tip

Alat Pelabelan Formulir OCR juga tersedia sebagai proyek sumber terbuka di GitHub. Alat ini adalah aplikasi web TypeScript yang dirancang menggunakan React + Redux. Untuk mempelajari lebih lanjut atau berkontribusi, lihat repositori Alat Pelabelan Formulir OCR. Untuk mencoba alat secara online, buka situs web alat Pelabelan Sampel Kecerdasan Dokumen.

  1. Pertama, pasang Docker di komputer host. Panduan ini menunjukkan kepada Anda cara menggunakan komputer lokal sebagai host. Jika Anda ingin menggunakan layanan hosting Docker di Azure, lihat panduan cara Menyebarkan alat Form Recognizer Sample Labelingl.

    Komputer host harus memenuhi persyaratan perangkat keras berikut:

    Kontainer Minimum Disarankan
    Alat pelabelan sampel 2 inti, memori 4 GB 4 inti, memori 8 GB

    Pasang Docker di komputer Anda dengan mengikuti petunjuk yang sesuai untuk sistem operasi Anda:

  2. Dapatkan kontainer alat Form Recognizer Sample Labeling dengan perintah docker pull.

     docker pull mcr.microsoft.com/azure-cognitive-services/custom-form/labeltool:latest-2.1
    
  3. Kini Anda siap menjalankan kontainer dengan docker run.

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

    Perintah ini membuat alat pelabelan sampel tersedia melalui browser web. Buka http://localhost:3000.

Catatan

Anda juga dapat memberi label dokumen dan melatih model menggunakan REST API Kecerdasan Dokumen. Untuk melatih dan menganalisis dengan REST API, lihat Melatih dengan label menggunakan REST API dan Python.

Menyiapkan data input

Pertama, pastikan semua dokumen pelatihan memiliki format yang sama. Jika Anda memiliki formulir dalam beberapa format, atur formulir ke dalam subfolder berdasarkan format umum. Saat berlatih, Anda perlu mengarahkan API ke subfolder.

Mengonfigurasi berbagi sumber daya antar domain (CORS)

Aktifkan CORS di akun penyimpanan Anda. Pilih akun penyimpanan Anda di portal Azure, lalu pilih tab CORS di panel kiri. Pada baris bawah, isi nilai-nilai berikut. Pilih Simpan di bagian atas.

  • Asal yang diizinkan = *
  • Metode yang diizinkan = [pilih semua]
  • Header yang diizinkan = *
  • Header yang diekspos = *
  • Usia maks = 200

CORS setup in the Azure portal

Tersambung ke alat Sample Labeling

Alat Sample Labeling tersambung ke sumber (formulir asli yang Anda unggah) dan target (label dan data output yang dibuat).

Koneksi dapat disiapkan dan dibagikan di seluruh proyek. Koneksi ini menggunakan model penyedia yang dapat diperluas, sehingga Anda dapat dengan mudah menambahkan penyedia sumber/target baru.

Untuk membuat koneksi baru, pilih ikon (plug) Koneksi Baru di bilah navigasi kiri.

Isi bidang dengan nilai berikut:

  • Nama Tampilan - Nama tampilan koneksi.

  • Keterangan - Keterangan proyek Anda.

  • URL SAS - URL tanda tangan akses bersama (SAS) kontainer Azure Blob Storage Anda. Untuk mengambil URL SAS untuk data pelatihan model kustom Anda, buka sumber daya penyimpanan di portal Microsoft Azure dan pilih tab Penjelajah Penyimpanan. Navigasikan ke kontainer Anda, klik kanan, dan pilih Dapatkan tanda tangan akses berbagi. SAS harus didapatkan untuk kontainer Anda, bukan untuk akun penyimpanan itu sendiri. Pastikan izin Baca, Tulis, Hapus, dan Cantumkan dicentang, lalu klik Buat. Kemudian, salin nilai di bagian URL ke lokasi sementara. Ini harus memiliki format: https://<storage account>.blob.core.windows.net/<container name>?<SAS value>.

    SAS URL retrieval

Connection settings of Sample Labeling tool.

Membuat proyek baru

Dalam alat pelabelan sampel, proyek menyimpan konfigurasi dan pengaturan Anda. Buat proyek baru dan isi bidang dengan nilai berikut:

  • Nama Tampilan - nama tampilan proyek
  • Token Keamanan - Beberapa pebgaturan proyek dapat menyertakan nilai sensitif, seperti kunci atau rahasia bersama lainnya. Setiap proyek menghasilkan token keamanan yang dapat digunakan untuk mengenkripsi/mendekripsi pengaturan proyek sensitif. Anda dapat menemukan token keamanan di Pengaturan Aplikasi dengan memilih ikon roda gigi di bagian bawah bilah navigasi kiri.
  • Koneksi Sumber - Koneksi Azure Blob Storage yang Anda buat di langkah sebelumnya yang ingin digunakan untuk proyek ini.
  • Jalur Folder - Opsional - Jika formulir sumber Anda berada dalam folder di kontainer blob, tentukan nama folder di sini
  • Uri Layanan Kecerdasan Dokumen - URL titik akhir Kecerdasan Dokumen Anda.
  • Kunci - Kunci Kecerdasan Dokumen Anda.
  • Keterangan - Opsional - Keterangan proyek

New project page on Sample Labeling tool.

Labeli formulir Anda

Saat Anda membuat atau membuka proyek, jendela editor {i>tag tag

  • Panel v3.0 yang dapat diubah ukurannya yang berisi daftar formulir yang dapat digulir dari koneksi sumber.
  • Panel editor utama yang memungkinkan Anda menerapkan {i>tag
  • Panel editor {i>tag tag

Mengidentifikasi teks dan tabel

Pilih Jalankan Tata Letak di dokumen yang belum pernah dikunjungi di panel sebelah kiri untuk mendapatkan informasi tata letak teks dan tabel untuk setiap dokumen. Alat pelabelan menggambar kotak pembatas di sekitar setiap elemen teks.

Alat pelabelan juga menunjukkan tabel mana yang telah diekstrak secara otomatis. Pilih ikon tabel/kisi di sebelah kiri dokumen untuk melihat tabel yang diekstrak. Dalam mulai cepat ini, karena konten tabel diekstrak secara otomatis, kami tidak memberi label konten tabel, melainkan mengandalkan ekstraksi otomatis.

Table visualization in Sample Labeling tool.

Pada v2.1, jika dokumen pelatihan Anda tidak memiliki nilai yang terisi, Anda dapat menarik kotak tempat pengisian nilai tersebut. Gunakan Gambar wilayah di sudut kiri atas jendela agar wilayah dapat diberi tag.

Menerapkan label ke teks

Selanjutnya, Anda membuat tag (label) dan menerapkannya ke elemen teks yang Anda inginkan untuk dianalisis model.

  1. Pertama, gunakan panel editor tag untuk membuat tag yang ingin Anda identifikasi.
    1. Pilih + untuk membuat tag baru.
    2. Masukkan nama tag.
    3. Tekan Enter untuk menyimpan tag.
  2. Di editor utama, pilih kata dari elemen teks yang disorot atau wilayah yang Anda gambar.
  3. Pilih tag yang ingin Anda terapkan, atau tekan tombol keyboard yang sesuai. Tombol angka ditetapkan sebagai {i>hotkey tag tag tag
  4. Ikuti langkah-langkah ini untuk memberi label setidaknya lima formulir Anda.

    Tip

    Ingatlah tips berikut saat Anda melabeli formulir:

    • Anda hanya dapat menerapkan satu {i>tag
    • Setiap {i>tag tag
    • {i>Tag
    • Memberi label nilai saat muncul di formulir; jangan mencoba membagi nilai menjadi dua bagian dengan dua {i>tag tag
    • Jangan sertakan kunci di bidang yang diberi tag—hanya nilainya saja.
    • Data tabel harus dideteksi secara otomatis dan akan tersedia dalam file JSON output akhir. Namun, jika model gagal mendeteksi semua data tabel, Anda juga dapat memberi tag pada bidang ini secara manual. Tandai setiap sel dalam tabel dengan label yang berbeda. Jika formulir Anda memiliki tabel dengan jumlah baris yang bervariasi, pastikan Anda menandai setidaknya satu formulir dengan tabel terbesar.
    • Gunakan tombol di sebelah kanan + untuk menelusuri, mengganti nama, menyusun ulang, dan menghapus tag Anda.
    • Untuk menghapus tag yang diterapkan tanpa menghapus tag itu sendiri, pilih persegi panjang yang diberi tag pada tampilan dokumen dan tekan tombol hapus.

Main editor window of Sample Labeling tool.

Menentukan jenis nilai tag

Anda dapat mengatur jenis data yang diharapkan untuk setiap tag. Buka menu konteks di sebelah kanan tag dan pilih jenis dari menu. Fitur ini memungkinkan algoritma deteksi untuk membuat asumsi yang meningkatkan akurasi deteksi teks. Ini juga memastikan bahwa nilai yang terdeteksi dikembalikan dalam format standar dalam output JSON akhir. Informasi jenis nilai disimpan dalam file fields.json di jalur yang sama dengan file label Anda.

Value type selection with Sample Labeling tool

Jenis dan variasi nilai berikut saat ini didukung:

  • string

    • default, no-whitespaces, alphanumeric
  • number

    • default, currency
    • Diformat sebagai nilai Floating point.
    • Contoh: 1234.98 pada dokumen diformat menjadi 1234.98 pada output
  • date

    • default, dmy, mdy, ymd
  • time

  • integer

    • Diformat menjadi nilai bilangan bulat.
    • Contoh: 1234.98 pada dokumen diformat ke dalam 123498 pada output.
  • selectionMark

Catatan

Lihat aturan ini untuk pemformatan tanggal:

Anda harus menentukan format (dmy, mdy, ymd) agar pemformatan tanggal berfungsi.

Karakter berikut dapat digunakan sebagai pembatas tanggal: , - / . \. Spasi putih tak bisa digunakan sebagai pembatas. Contohnya:

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

Hari dan bulan masing-masing dapat ditulis sebagai satu atau dua digit, dan tahun dapat ditulis sebagai dua atau empat digit:

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

Jika string tanggal memiliki delapan digit, pembatasnya bersifat opsional:

  • 01012020
  • 01 01 2020

Bulan juga dapat ditulis sebagai nama lengkap atau kependekannya. Jika nama digunakan, karakter pembatas bersifat opsional. Namun, format ini dianggap kurang akurat daripada format lainnya.

  • 01/Jan/2020
  • 01Jan2020
  • 01 Jan 2020

Melabeli tabel (khusus v2.1)

Terkadang, data Anda mungkin lebih cocok untuk diberi label sebagai tabel daripada pasangan nilai kunci. Dalam hal ini, Anda dapat membuat tag tabel dengan cara memilih Menambahkan tag tabel baru. Tentukan apakah tabel memiliki jumlah baris tetap atau jumlah variabel baris tergantung pada dokumen dan tentukan skema.

Configuring a table tag.

Setelah menentukan tag tabel, beri tag di nilai sel.

Labeling a table.

Melatih model kustom

Pilih ikon Latih di panel sebelah kiri untuk membuka halaman Pelatihan. Kemudian pilih tombol Latih untuk mulai melatih model. Setelah proses pelatihan selesai, Anda akan melihat informasi berikut:

  • ID Model - ID model yang dibuat dan dilatih. Setiap panggilan pelatihan membuat model baru dengan ID-nya sendiri. Salin string ini ke lokasi yang aman; Anda memerlukannya jika Anda ingin melakukan panggilan prediksi melalui REST API atau panduan pustaka klien.
  • Akurasi Rata-Rata - Akurasi rata-rata model. Anda dapat meningkatkan akurasi model dengan cara menambahkan dan melabeli lebih banyak formulir, kemudian melatihnya kembali untuk menciptakan model baru. Sebaiknya mulai dengan memberi label pada lima formulir dan menambahkan lebih banyak formulir sesuai kebutuhan.
  • Daftar tag, dan perkiraan akurasi per tag.

Training view.

Setelah pelatihan selesai, periksa nilai Akurasi Rata-Rata. Jika rendah, Anda harus menambahkan lebih banyak dokumen input dan mengulangi langkah-langkah pelabelan. Dokumen yang telah Anda beri label tetap berada dalam indeks proyek.

Tip

Anda juga dapat menjalankan proses pelatihan dengan panggilan REST API. Untuk mempelajari cara melakukannya, lihat Berlatih dengan label menggunakan Python.

Membuat model terlatih

Dengan Model Compose, Anda dapat menyusun hingga 200 model ke satu ID model. Saat Anda memanggil Analisis dengan kecerdasan modelIDDokumen yang terdiri dari mengklasifikasikan formulir yang Anda kirimkan, pilih model yang paling cocok, lalu kembalikan hasil untuk model tersebut. Operasi ini berguna jika formulir masuk menjadi bagian dari salah satu templat.

  • Untuk menyusun model di alat Pelabelan Sampel, pilih ikon Buat Model (panah penggabungan) dari bilah navigasi.
  • Pilih model yang ingin Anda buat bersama-sama. Model dengan ikon tanda panah adalah model yang sudah dibuat.
  • Pilih tombol Buat. Di jendela pop-up, beri nama model baru yang Anda buat, dan pilih Buat.
  • Setelah operasi selesai, model baru yang Anda buat akan muncul dalam daftar.

Model compose UX view.

Menganalisis formulir

Pilih ikon Analisis dari bilah navigasi untuk menguji model Anda. Pilih file Lokal sumber. Telusuri {i>file file zipJalankan analisis untuk mendapatkan pasangan kunci/nilai, prediksi teks dan tabel untuk formulir. Alat ini menerapkan tag dalam kotak pembatas dan melaporkan keyakinan setiap tag.

Screenshot of analyze-a-custom-form window

Tip

Anda juga dapat menjalankan Analyze API dengan panggilan REST. Untuk mempelajari cara melakukannya, lihat Berlatih dengan label menggunakan Python.

Menyempurnakan hasil

Bergantung pada akurasi yang dilaporkan, sebaiknya lakukan pelatihan lanjutan untuk menyempurnakan model. Setelah melakukan prediksi, periksa nilai keyakinan untuk setiap tag yang diterapkan. Jika rata-rata nilai pelatihan akurasi tinggi, tetapi skor keyakinannya rendah (atau tidak akurat), Anda harus menambahkan file prediksi ke set pelatihan, memberinya label, dan melatihnya lagi.

Akurasi rata-rata yang dilaporkan, skor keyakinan, dan akurasi aktual dapat menjadi tidak konsisten jika dokumen yang dianalisis berbeda dengan dokumen yang digunakan dalam pelatihan. Perhatikan bahwa beberapa dokumen akan terlihat serupa saat dilihat oleh orang-orang tetapi dapat terlihat berbeda dengan model AI. Misalnya, Anda mungkin berlatih dengan jenis formulir yang memiliki dua variasi, di mana set pelatihan terdiri dari 20% variasi A dan 80% variasi B. Selama prediksi, skor keyakinan dokumen variasi A cenderung lebih rendah.

Menyimpan proyek dan melanjutkan di lain waktu

Untuk melanjutkan proyek di lain waktu atau di browser lain, Anda perlu menyimpan token keamanan proyek dan memasukkannya kembali di lain waktu.

Mendapatkan info masuk proyek

Buka halaman pengaturan proyek (ikon penggeser) dan catat nama token keamanan. Kemudian, buka pengaturan aplikasi (ikon roda gigi), yang menampilkan semua token keamanan di instans browser Anda saat ini. Temukan token keamanan proyek dan salin nama dan nilai kuncinya ke lokasi yang aman.

Memulihkan info masuk proyek

Jika ingin melanjutkan proyek, Anda harus terlebih dahulu membuat koneksi ke kontainer penyimpanan blob yang sama. Untuk melakukannya, ulangi langkah-langkahnya. Lalu, buka halaman pengaturan aplikasi (ikon roda gigi) dan lihat apakah token keamanan proyek Anda ada di sana. Jika tidak, tambahkan token keamanan baru dan salin nama token dan kunci Anda dari langkah sebelumnya. Pilih Simpan untuk menyimpan pengaturan Anda.

Melanjutkan proyek

Terakhir, buka halaman utama (ikon rumah) dan pilih Buka Proyek Cloud. Kemudian pilih koneksi penyimpanan blob, dan pilih file proyek .fott Anda. Aplikasi memuat semua pengaturan proyek karena memiliki token keamanan.

Langkah berikutnya

Dalam mulai cepat ini, Anda telah mempelajari cara menggunakan alat Pelabelan Sampel Kecerdasan Dokumen untuk melatih model dengan data berlabel manual. Jika Anda ingin membuat utilitas Anda sendiri untuk melabeli data pelatihan, gunakan REST API yang menangani pelatihan data berlabel.