Pengumpulan data untuk aplikasi Anda

Aplikasi Pemahaman Bahasa (LUIS) membutuhkan data sebagai bagian dari pengembangan aplikasi.

Data yang digunakan dalam LUIS

LUIS menggunakan teks sebagai data untuk melatih dan menguji aplikasi LUIS Anda untuk klasifikasi untuk maksud dan untuk ekstraksi entitas. Anda memerlukan himpunan data yang cukup besar sehingga Anda memiliki data yang cukup untuk membuat himpunan data terpisah untuk pelatihan dan pengujian yang memiliki keragaman dan distribusi yang dipanggil khusus di bawah ini. Data di setiap set ini tidak boleh tumpang tindih.

Pemilihan data pelatihan untuk ujaran contoh

Pilih ujaran untuk kumpulan pelatihan Anda berdasarkan kriteria berikut:

  • Data nyata adalah yang terbaik:

    • Data nyata dari aplikasi klien: Pilih ujaran yang merupakan data nyata dari aplikasi klien Anda. Jika pelanggan mengirim formulir web dengan pertanyaan mereka hari ini, dan Anda sedang membangun bot, Anda dapat mulai dengan menggunakan data formulir web.
    • Data sumber massal: Jika Anda tidak memiliki data yang ada, pertimbangkan ujaran dari sumber massal. Cobalah untuk mencari ujaran dari sumber data massal dari populasi pengguna Anda yang sebenarnya untuk skenario Anda guna mendapatkan perkiraan terbaik dari data nyata yang akan dilihat aplikasi Anda. Ujaran manusia dari sumber data massal lebih baik daripada ujaran yang dihasilkan komputer. Ketika Anda membangun himpunan data ujaran sintetis yang dihasilkan pada pola tertentu, maka data tersebut akan kekurangan banyak variasi alami yang akan Anda lihat dengan orang-orang yang menciptakan ujaran dan tidak akan mengakhiri generalisasi dengan baik dalam produksi.
  • Keragaman data:

    • Keragaman wilayah: Pastikan data untuk setiap maksud seberagam mungkin termasuk penyusunan frasa (pilihan kata), dan tata bahasa. Jika Anda mengajarkan sebuah maksud tentang kebijakan SDM yang berkaitan dengan hari libur, pastikan Anda memiliki ujaran yang mewakili istilah yang digunakan untuk semua wilayah yang Anda layani. Misalnya, di Eropa orang mungkin bertanya tentang taking a holiday dan di AS orang mungkin bertanya tentang taking vacation days.
    • Keragaman bahasa: Jika Anda memiliki pengguna dengan berbagai bahasa asli yang berkomunikasi dalam bahasa kedua, pastikan untuk memiliki ujaran yang mewakili penutur nonasli.
    • Keragaman input: Pertimbangkan jalur input data Anda. Jika Anda mengumpulkan data dari satu orang, departemen, atau perangkat input (mikrofon), Anda mungkin kehilangan keragaman yang penting bagi aplikasi Anda dalam mempelajari semua jalur input.
    • Keragaman tanda baca : Pertimbangkan bahwa orang menggunakan berbagai tingkat tanda baca dalam aplikasi teks dan pastikan Anda memiliki keragaman tentang bagaimana tanda baca digunakan. Jika Anda menggunakan data yang berasal dari ucapan, data tersebut tidak akan memiliki tanda baca, sehingga data Anda juga seharusnya tidak memiliki tanda baca.
  • Distribusi data: Pastikan data yang tersebar di seluruh maksud mewakili penyebaran data yang sama dengan yang diterima aplikasi klien Anda. Jika aplikasi LUIS Anda akan mengklasifikasikan ujaran yang merupakan permintaan untuk menjadwalkan cuti (50%), tetapi juga akan melihat ujaran tentang pertanyaan tentang jumlah hari cuti tersisa (20%), menyetujui cuti (20%), dan beberapa ujaran di luar lingkup serta obrolan (10%) maka himpunan data Anda harus memiliki persentase sampel dari setiap jenis ujaran.

  • Gunakan semua formulir data: Jika aplikasi LUIS Anda akan mengambil data dalam beberapa formulir, pastikan untuk menyertakan formulir tersebut dalam ujaran pelatihan Anda. Misalnya, jika aplikasi klien Anda mengambil input ucapan dan teks yang diketik, Anda harus memiliki ujaran yang dihasilkan dari ucapan ke teks serta ujaran yang diketik. Anda akan melihat beragam variasi dalam cara orang berbicara dari cara mereka mengetik serta beragam kesalahan dalam pengenalan ucapan dan kesalahan ketik. Semua variasi ini harus diwakili dalam data pelatihan Anda.

  • Contoh positif dan negatif: Untuk mengajar aplikasi LUIS, ia harus belajar tentang apa maksudnya (positif) dan yang bukan merupakan maksud (negatif). Di LUIS, ujaran hanya dapat bersifat positif untuk maksud tunggal. Ketika ujaran ditambahkan ke maksud, LUIS secara otomatis akan membuat ujaran contoh yang sama tersebut menjadi negatif untuk semua maksud lainnya.

  • Data di luar cakupan aplikasi: Jika aplikasi Anda ingin melihat ujaran yang berada di luar maksud yang Anda tetapkan, pastikan untuk menyediakannya. Contoh yang tidak ditetapkan ke maksud tertentu yang ditentukan akan diberi label dengan maksud Tidak Ada. Penting untuk memiliki contoh realistis untuk maksud Tidak Ada tersebut guna memprediksi ujaran yang berada di luar lingkup maksud yang ditentukan dengan benar.

    Misalnya, jika Anda membuat bot SDM yang berfokus pada waktu cuti dan Anda memiliki tiga maksud:

    • menjadwalkan atau mengedit cuti
    • menanyakan tentang jumlah hari cuti yang tersedia
    • menyetujui/menolak cuti

    Anda ingin memastikan bahwa Anda memiliki ujaran yang mencakup kedua maksud tersebut, selain juga yang mencakup ujaran potensial di luar lingkup tersebut di mana aplikasi harus berfungsi seperti ini:

    • What are my medical benefits?
    • Who is my HR rep?
    • tell me a joke
  • Contoh langka: Aplikasi Anda harus memiliki contoh langka serta contoh umum. Jika aplikasi Anda belum pernah melihat contoh langka, aplikasi tersebut tidak akan dapat mengidentifikasinya dalam produksi. Jika Anda menggunakan data nyata, Anda akan dapat memprediksi secara lebih akurat bagaimana aplikasi LUIS Anda akan bekerja dalam produksi.

Kualitas bukan kuantitas

Pertimbangkan kualitas data yang sudah ada sebelum Anda menambahkan lebih banyak data. Dengan LUIS, Anda akan menggunakan Machine Teaching. Kombinasi label dan fitur pembelajaran mesin yang Anda tentukan adalah apa yang digunakan aplikasi LUIS Anda. Membuat prediksi terbaik tidak hanya mengandalkan kuantitas label. Keragaman contoh dan representasinya tentang apa yang akan dilihat aplikasi LUIS Anda dalam produksi adalah bagian terpenting.

Data praproses

Langkah-langkah praproses berikut akan membantu membangun aplikasi LUIS yang lebih baik:

  • Menghapus duplikat: Ujaran duplikat tidak akan merugikan, tetapi ujaran tersebut juga tidak membantu, jadi menghapusnya akan menghemat waktu pelabelan.
  • Menerapkan praproses aplikasi klien yang sama: Jika aplikasi klien Anda, yang memanggil titik akhir prediksi LUIS, menerapkan pemrosesan data pada waktu proses sebelum mengirim teks ke LUIS, Anda harus melatih aplikasi LUIS pada data yang diproses dengan cara yang sama. Misalnya, jika aplikasi klien Anda menggunakan Bing Spell Check untuk memperbaiki ejaan input ke LUIS, perbaiki pelatihan Anda dan uji ujaran sebelum menambahkan ke LUIS.
  • Jangan menerapkan proses pembersihan baru yang tidak digunakan aplikasi klien: Jika aplikasi klien Anda menerima teks yang dihasilkan ucapan secara langsung tanpa pembersihan seperti tata bahasa atau tanda baca, ujaran Anda harus mencerminkan hal yang sama termasuk tanda baca yang hilang dan kesalahan lain yang perlu Anda pertanggungjawabkan.
  • Jangan bersihkan data: Jangan singkirkan input buruk yang mungkin Anda dapatkan dari pengenalan ucapan yang kacau, penekanan kunci yang tidak disengaja, atau teks yang salah ketik/salah eja. Jika aplikasi Anda ingin melihat input seperti ini, penting bagi aplikasi tersebut untuk dilatih dan diuji. Tambahkan maksud input yang buruk jika Anda tidak mengharapkan aplikasi Anda memahaminya. Beri label data ini untuk membantu aplikasi LUIS memprediksi respons yang benar pada waktu proses. Aplikasi klien Anda dapat memilih respons yang tepat untuk ujaran yang tidak dapat dipahami seperti Please try again.

Data pelabelan

  • Teks label seolah-olah benar: Contoh ujaran harus memiliki semua bentuk entitas berlabel. Ini termasuk teks yang salah eja, salah ketik, dan salah diterjemahkan.

Ulasan data setelah aplikasi LUIS berada dalam produksi

Tinjau ujaran titik akhir untuk memantau lalu lintas ujaran nyata setelah Anda menggunakan aplikasi untuk produksi. Ini memungkinkan Anda untuk memperbarui ujaran pelatihan Anda dengan data nyata, yang akan meningkatkan aplikasi Anda. Aplikasi apa pun yang dibangun dengan data skenario dari sumber massal atau bukan nyata perlu ditingkatkan berdasarkan penggunaan nyatanya.

Menguji pemilihan data untuk pengujian batch

Semua prinsip yang tercantum di atas untuk ujaran pelatihan berlaku untuk ujaran yang harus Anda gunakan untuk set pengujian Anda. Pastikan distribusi di seluruh maksud dan entitas mencerminkan distribusi nyata sedekat mungkin.

Jangan gunakan kembali ujaran dari set pelatihan Anda di set pengujian Anda. Ini secara tidak benar berbias pada hasil Anda dan tidak akan memberi Anda indikasi yang tepat tentang bagaimana aplikasi LUIS Anda akan berkinerja dalam produksi.

Setelah versi pertama aplikasi Anda dipublikasikan, Anda harus memperbarui set pengujian dengan ujaran dari lalu lintas nyata untuk memastikan set pengujian Anda mencerminkan distribusi produksi Anda dan Anda dapat memantau performa realistis dari waktu ke waktu.

Langkah berikutnya

Pelajari cara LUIS mengubah data Anda sebelum prediksi