Bagikan melalui


Pola di aplikasi LUIS

Penting

LUIS akan dihentikan pada 1 Oktober 2025 dan mulai 1 April 2023 Anda tidak akan dapat membuat sumber daya LUIS baru. Sebaiknya migrasikan aplikasi LUIS Anda ke pemahaman bahasa percakapan untuk mendapatkan manfaat dari dukungan produk berkelanjutan dan kemampuan multibahasa.

Pola dirancang untuk meningkatkan akurasi ketika beberapa ungkapan sangat mirip. Pola memungkinkan Anda mendapatkan niat yang lebih akurat tanpa memberikan lebih banyak ungkapan.

Pola mengatasi keyakinan niat yang rendah

Pertimbangkan aplikasi Sumber Daya Manusia yang melaporkan bagan organisasi yang berhubungan dengan karyawan. Dengan mengingat nama dan hubungan karyawan, LUIS akan menampilkan karyawan yang terlibat. Pertimbangkan seorang karyawan, Tom, dengan seorang manajer bernama Alice, dan tim bawahan bernama: Michael, Rebecca, dan Carl.

Cuplikan layar yang memperlihatkan penggunaan pola

Ucapan Prediksi niat Skor niat
Siapa bawahan Tom? GetOrgChart 0,30
Siapa bawahan Tom? GetOrgChart 0,30

Jika aplikasi memiliki antara 10 dan 20 ucapan dengan panjang kalimat, urutan kata, dan bahkan kata yang berbeda (sinonim dari "bawahan", "kelola", "laporan"), LUIS akan menampilkan skor keyakinan yang rendah. Buat pola untuk membantu LUIS memahami pentingnya urutan kata.

Pola akan mengatasi situasi berikut:

  • Skor niat rendah
  • Niat yang benar bukanlah skor tertinggi tetapi mendekati skor tertinggi.

Pola bukan jaminan niat

Pola menggunakan perpaduan teknik prediksi. Mengatur niat untuk ungkapan template dalam pola bukanlah jaminan atas prediksi niat, tetapi merupakan sinyal yang kuat.

Pola tidak meningkatkan deteksi entitas pembelajaran mesin

Pola utamanya dimaksudkan untuk membantu prediksi niat dan peran. Entitas "pattern.any" digunakan untuk mengekstrak entitas bentuk bebas. Meskipun pola menggunakan entitas, pola tidak membantu mendeteksi entitas pembelajaran mesin.

Jangan berharap untuk melihat prediksi entitas yang ditingkatkan jika Anda menciutkan beberapa ucapan ke dalam satu pola. Agar entitas sederhana dapat digunakan oleh aplikasi Anda, Anda perlu menambahkan ungkapan atau menggunakan entitas daftar.

Pola menggunakan peran entitas

Jika dua atau beberapa entitas dalam sebuah pola berhubungan secara kontekstual, pola akan menggunakan peran entitas untuk mengekstrak informasi kontekstual tentang entitas.

Skor prediksi dengan dan tanpa pola

Dengan tersedianya contoh ungkapan yang memadai, LUIS dapat meningkatkan keyakinan prediksi tanpa pola. Pola akan meningkatkan skor keyakinan tanpa harus memberikan ungkapan sebanyak-banyaknya.

Pencocokan pola

Pola dicocokkan dengan mendeteksi entitas dalam pola tersebut terlebih dahulu, lalu memvalidasi seluruh kota dan urutan kata dari pola itu. Entitas diperlukan dalam pola agar pola sesuai. Pola diterapkan pada tingkat token, bukan pada tingkat karakter.

Entitas Pattern.any

Entitas pattern.any memungkinkan Anda untuk menemukan data bentuk bebas di mana kata-kata entitas menyulitkan untuk menentukan akhir entitas dari sisa ujaran.

Misalnya, pertimbangkan aplikasi Sumber Daya Manusia yang membantu karyawan menemukan dokumen perusahaan. Aplikasi ini mungkin perlu memahami contoh ungkapan berikut.

  • "Di mana HRF-123456?"
  • "Siapa yang menulis HRF-123234?"
  • "Apakah HRF-456098 diterbitkan dalam bahasa Prancis?"

Namun, setiap dokumen memiliki nama yang diformat (yang digunakan dalam daftar di atas), dan nama yang dapat dibaca manusia, seperti Relokasi permintaan dari karyawan baru ke perusahaan 2018 versi 5.

Ungkapan dengan nama yang dapat dibaca manusia mungkin terlihat seperti:

  • "Di mana Relokasi permintaan dari karyawan baru ke perusahaan 2018 versi 5?"
  • "Siapa yang menulis "Minta relokasi dari karyawan baru ke perusahaan 2018 versi 5"?"
  • Apakah Permintaan relokasi dari karyawan baru ke perusahaan 2018 versi 5 dipublikasikan dalam bahasa Prancis?"

Ungkapan mencakup kata-kata yang dapat membingungkan LUIS terkait tempat entitas tersebut berakhir. Menggunakan entitas Pattern.any dalam pola memungkinkan Anda menentukan awal dan akhir nama formulir, sehingga LUIS dengan benar mengekstrak nama formulir. Misalnya, ungkapan template berikut:

  • Di mana {FormName}[?]
  • Siapa yang membuat {FormName}[?]
  • Apakah {FormName} diterbitkan dalam bahasa Prancis[?]

Praktik terbaik untuk Pola:

Tambahkan pola dalam perulangan nanti

Anda harus memahami perilaku aplikasi sebelum menambahkan pola karena pola lebih berat dari contoh ungkapan dan akan cenderung meyakinkan.

Setelah Anda memahami perilaku aplikasi, tambahkan pola saat diterapkan ke aplikasi Anda. Anda tidak perlu menambahkannya setiap kali melakukan iterasi pada desain aplikasi.

Tidak ada salahnya menambahkannya di awal desain model Anda tetapi lebih mudah melihat cara setiap pola mengubah model setelah model tersebut diuji dengan ungkapan.

Jangan menambahkan banyak pola

Jangan menambahkan terlalu banyak pola. LUIS dibuat agar dapat cepat belajar dengan lebih sedikit contoh. Jangan membebani sistem yang tidak perlu.

Fitur

Dalam pembelajaran mesin, fitur adalah ciri atau atribut data pembeda yang diamati dan dipelajari oleh sistem Anda.

Fitur pembelajaran mesin memberi LUIS isyarat penting untuk tempat mencari hal-hal yang membedakan konsep. Mereka adalah petunjuk yang bisa digunakan LUIS, tetapi bukanlah aturan yang sulit. LUIS menggunakan petunjuk ini melalui label untuk menemukan data.

Fitur dapat dideskripsikan sebagai fungsi, seperti f(x) = y. Dalam contoh ucapan, fitur ini memberi tahu Anda tempat mencari ciri yang membedakan. Gunakan informasi ini untuk membantu membuat skema Anda.

Jenis fitur

Fitur adalah bagian yang diperlukan dari desain skema Anda. LUIS mendukung daftar frasa dan model sebagai fitur:

  • Fitur daftar frasa
  • Model (niat atau entitas) sebagai fitur

Temukan fitur dalam contoh ucapan Anda

Karena LUIS adalah aplikasi berbasis bahasa, fiturnya berbasis teks. Pilih teks yang menunjukkan sifat yang ingin Anda bedakan. Untuk LUIS, unit terkecilnya adalah token. Untuk bahasa Inggris, token adalah rentang huruf dan angka yang berseberang yang tidak memiliki spasi atau tanda baca.

Karena spasi dan tanda baca bukanlah token, fokuslah pada petunjuk teks yang dapat Anda gunakan sebagai fitur. Ingatlah untuk menyertakan variasi kata-kata, seperti:

  • Bentuk plural
  • Kala kata kerja
  • Singkatan
  • Ejaan dan kesalahan ejaan

Tentukan apakah teks membutuhkan hal berikut karena hal itu membedakan suatu sifat:

  • Cocok dengan kata atau frasa yang tepat: Pertimbangkan untuk menambahkan entitas ekspresi reguler atau entitas daftar sebagai fitur ke entitas atau niat.
  • Cocok dengan konsep terkenal seperti tanggal, waktu, atau nama orang: Gunakan entitas bawaan sebagai fitur untuk entitas atau niat.
  • Pelajari contoh baru dari waktu ke waktu: Gunakan daftar frasa dari beberapa contoh konsep sebagai fitur untuk entitas atau niat.

Buat daftar frasa untuk konsep

Daftar frasa adalah daftar kata atau frasa yang menjelaskan sebuah konsep. Daftar frasa diterapkan sebagai kecocokan yang tidak peka besar kecilnya huruf pada tingkat token.

Saat menambahkan daftar frasa, Anda dapat mengatur fitur ini sebagai global. Fitur global berlaku untuk seluruh aplikasi.

Kapan menggunakan daftar frasa

Gunakan daftar frasa saat Anda memerlukan aplikasi LUIS untuk menasionalisasi dan mengidentifikasi item baru untuk konsep tersebut. Daftar frasa seperti kosakata khusus domain. Mereka meningkatkan kualitas pemahaman untuk niat dan entitas.

Cara menggunakan daftar frasa

Dengan daftar frasa, LUIS mempertimbangkan konteks dan melakukan generalisasi untuk mengidentifikasi item yang mirip, tetapi bukan kecocokan teks yang tepat. Ikuti langkah-langkah ini untuk menggunakan daftar frasa:

  1. Mulai dengan entitas pembelajaran mesin:
  2. Tambahkan ucapan contoh.
  3. Label dengan entitas pembelajaran mesin.
  4. Tambahkan daftar frasa:
  5. Tambahkan kata-kata dengan arti yang sama. Jangan tambahkan setiap kemungkinan kata atau frasa. Sebagai gantinya, tambahkan beberapa kata atau frasa sekaligus. Kemudian latih kembali dan publikasikan.
  6. Tinjau dan tambahkan kata yang disarankan.

Skenario umum untuk daftar frasa

Skenario umum untuk daftar frasa adalah untuk meningkatkan kata-kata yang terkait dengan ide tertentu.

Istilah medis adalah contoh kata-kata yang baik yang mungkin memerlukan daftar frasa untuk meningkatkan signifikansinya. Istilah-istilah ini dapat memiliki arti fisik, kimia, terapeutik, atau abstrak tertentu. LUIS tidak akan tahu istilah tersebut penting bagi domain subjek Anda tanpa daftar frasa.

Misalnya, untuk mengekstrak istilah medis:

  1. Buat contoh ucapan dan beri label istilah medis dalam ucapan tersebut.
  2. Buat daftar frasa dengan contoh istilah dalam domain subjek. Daftar frasa ini harus mencakup istilah aktual yang Anda diberi label dan istilah lain yang menjelaskan konsep yang sama.
  3. Tambahkan daftar frasa ke entitas atau subentitas yang mengekstrak konsep yang digunakan dalam daftar frasa. Skenario yang paling umum adalah komponen (anak) dari entitas pembelajaran mesin. Jika daftar frasa harus diterapkan di semua niat atau entitas, tandai daftar frasa sebagai daftar frasa global. Bendera enabledForAllModels mengontrol cakupan model ini di API.

Kecocokan token untuk daftar frasa

Daftar frasa selalu berlaku di tingkat token. Tabel berikut ini memperlihatkan bagaimana daftar frasa yang memiliki kata Ann berlaku untuk variasi karakter yang sama dalam urutan tersebut.

Variasi token dari "Ann" Daftar frasa cocok ketika token ditemukan
ANN
aNN
Ya - token adalah Ann
Ann's Ya - token adalah Ann
Anne Tidak - token adalah Anne

Model sebagai fitur membantu model lain

Anda dapat menambahkan model (niat atau entitas) sebagai fitur ke model lain (niat atau entitas). Dengan menambahkan niat atau entitas yang sudah ada sebagai fitur, Anda menambahkan konsep yang terdefinisi dengan baik yang telah memberi label contoh.

Saat menambahkan model sebagai fitur, Anda dapat mengatur fitur sebagai:

  • Diperlukan. Fitur yang diperlukan harus ditemukan agar model dapat ditampilkan dari titik akhir prediksi.
  • Global. Fitur global berlaku untuk seluruh aplikasi.

Kapan menggunakan entitas sebagai fitur untuk niat

Tambahkan entitas sebagai fitur untuk niat saat deteksi entitas tersebut penting untuk niat tersebut.

Misalnya, jika niatnya adalah untuk memesan penerbangan, seperti BookFlight, dan entitasnya adalah informasi tiket (seperti jumlah kursi, asal, dan tujuan), maka menemukan entitas informasi tiket akan menambah bobot yang signifikan pada prediksi niat BookFlight.

Kapan menggunakan entitas sebagai fitur untuk entitas lain

Entitas (A) harus ditambahkan sebagai fitur ke entitas lain (B) ketika deteksi entitas itu (A) penting untuk prediksi entitas (B).

Misalnya, jika entitas alamat pengiriman terkandung dalam subentitas alamat jalan, maka menemukan subentitas alamat jalan menambahkan bobot yang penting pada prediksi untuk entitas alamat pengiriman.

  • Alamat pengiriman (entitas pembelajaran mesin):
    • Nomor jalan (subentitas)
    • Alamat jalan (subentitas)
    • Kota (subentitas)
    • Negara Bagian atau Provinsi (subentitas)
    • Negara/Kawasan (subentitas)
    • Kode pos (subentitas)

Subentitas berlapis dengan fitur

Subentitas pembelajaran mesin menunjukkan konsep hadir ke entitas induk. Induk dapat menjadi subentitas lain atau entitas teratas. Nilai subentitas bertindak sebagai fitur untuk induknya.

Subentitas dapat memiliki daftar frasa dan model (entitas lain) sebagai fitur.

Ketika subentitas memiliki daftar frasa, ia meningkatkan kosakata konsep tetapi tidak akan menambahkan informasi apa pun ke respons JSON dari prediksinya.

Ketika subentitas memiliki fitur entitas lain, respons JSON menyertakan data yang diekstrak dari entitas lain tersebut.

Fitur yang diperlukan

Fitur yang diperlukan harus ditemukan agar model dikembalikan dari titik akhir prediksi. Gunakan fitur yang diperlukan saat Anda mengetahui bahwa data masuk Anda harus cocok dengan fitur tersebut.

Jika teks ucapan tidak cocok dengan fitur yang diperlukan, teks tersebut tidak akan diekstraksi.

Fitur yang diperlukan menggunakan entitas bukan pembelajaran mesin:

  • Entitas ekspresi reguler
  • Entitas daftar
  • Entitas bawaan

Jika Anda yakin bahwa model Anda akan ditemukan dalam data, atur fitur sesuai kebutuhan. Fitur yang diperlukan tidak mengembalikan apa pun jika tidak ditemukan.

Melanjutkan dengan contoh alamat pengiriman:

Alamat pengiriman (entitas pembelajaran mesin)

  • Nomor jalan (subentitas)
  • Alamat jalan (subentitas)
  • Nama jalan (subentitas)
  • Kota (subentitas)
  • Negara Bagian atau Provinsi (subentitas)
  • Negara/Kawasan (subentitas)
  • Kode pos (subentitas)

Fitur yang diperlukan menggunakan entitas bawaan

Entitas bawaan seperti kota, negara bagian, dan negara/wilayah umumnya merupakan sekumpulan daftar tertutup, yang berarti mereka tidak banyak berubah dari waktu ke waktu. Entitas ini dapat memiliki fitur rekomendasi yang relevan dan fitur-fitur tersebut dapat ditandai sebagaimana diperlukan. Namun, bendera isRequired hanya terkait dengan entitas tempat bendera ditetapkan dan tidak memengaruhi hierarki. Jika fitur sub-entitas bawaan tidak ditemukan, ini tidak akan mempengaruhi deteksi dan pengembalian entitas induk.

Sebagai contoh fitur yang diperlukan, pertimbangkan untuk mendeteksi alamat. Anda mungkin mempertimbangkan untuk membuat nomor jalan sebagai persyaratan. Ini akan memungkinkan pengguna untuk memasukkan "1 Microsoft Way" atau "One Microsoft Way", dan keduanya akan menangani angka "1" untuk sub-entitas nomor jalan. Lihat artikel entitas bawaan untuk informasi selengkapnya.

Fitur yang diperlukan menggunakan entitas daftar

Entitas daftar digunakan sebagai daftar nama kanonis bersama dengan sinonimnya. Sebagai fitur yang diperlukan, jika ucapan tidak menyertakan nama kanonis atau sinonim, maka entitas tidak dikembalikan sebagai bagian dari titik akhir prediksi.

Misalkan perusahaan Anda hanya mengirim ke kumpulan negara/wilayah terbatas. Anda dapat membuat entitas daftar yang menyertakan beberapa cara bagi pelanggan Anda untuk mengacu ke negara/kawasan. Jika LUIS tidak menemukan kecocokan persis dalam teks ucapan, maka entitas (yang memiliki fitur yang diperlukan dari entitas daftar) tidak dikembalikan dalam prediksi.

Nama kanonis** Sinonim
Amerika Serikat A.S.
A.S.A.
KITA
Amerika Serikat
0

Aplikasi klien, seperti bot obrolan, dapat mengajukan pertanyaan lanjutan untuk membantu. Ini membantu pelanggan memahami bahwa pemilihan negara/wilayah terbatas dan wajib.

Fitur yang diperlukan menggunakan entitas ekspresi reguler

Entitas ekspresi reguler yang digunakan sebagai fitur yang diperlukan menyediakan kemampuan pencocokan teks yang kaya.

Dalam contoh alamat pengiriman, Anda dapat membuat ekspresi reguler yang menangkap aturan sintaks kode pos negara/kawasan.

Fitur global

Meskipun penggunaan yang paling umum adalah menerapkan fitur ke model tertentu, Anda dapat mengonfigurasi fitur sebagai fitur global untuk menerapkannya ke seluruh aplikasi Anda.

Penggunaan yang paling umum untuk fitur global adalah menambahkan kosakata tambahan ke aplikasi. Misalnya, jika pelanggan Anda menggunakan bahasa utama, tetapi berharap dapat menggunakan bahasa lain dalam ucapan yang sama, Anda dapat menambahkan fitur yang menyertakan kata-kata dari bahasa sekunder.

Karena pengguna mengharapkan untuk menggunakan bahasa sekunder di seluruh niat atau entitas apa pun, tambahkan kata-kata dari bahasa sekunder ke daftar frasa. Konfigurasikan daftar frasa sebagai fitur global.

Gabungkan fitur untuk manfaat tambahan

Anda dapat menggunakan lebih dari satu fitur untuk menggambarkan sifat atau konsep. Pasangan umumnya adalah menggunakan:

Contoh: fitur entitas pemesanan tiket untuk aplikasi perjalanan

Sebagai contoh dasar, pertimbangkan aplikasi untuk memesan penerbangan dengan niat reservasi penerbangan dan entitas pemesanan tiket. Entitas pemesanan tiket mencatat informasi untuk memesan tiket pesawat dalam sistem reservasi.

Entitas pembelajaran mesin untuk pemesanan tiket memiliki dua subentitas untuk menangkap asal dan tujuan. Fitur tersebut perlu ditambahkan ke setiap subentitas, bukan entitas tingkat atas.

A screenshot showing use of patterns

Entitas pemesanan tiket adalah entitas pembelajaran mesin, dengan subentitas termasuk Asal dan Tujuan. Kedua subentitas ini menunjukkan lokasi geografis. Untuk membantu mengekstrak lokasi, dan membedakan antara Asal dan Tujuan, setiap subentitas harus memiliki fitur.

Jenis Subentitas asal Subentitas tujuan
Model sebagai fitur Entitas bawaan geographyV2 Entitas bawaan geographyV2
Daftar frasa Kata asal : mulai pada,mulai dari, meninggalkan Kata tujuan : ke, tiba, mendarat di, pergi, berangkat, menginap, menuju
Daftar frasa Kode bandara - daftar yang sama untuk asal dan tujuan Kode bandara - daftar yang sama untuk asal dan tujuan
Daftar frasa Nama bandara - daftar yang sama untuk asal dan tujuan Kode bandara - daftar yang sama untuk asal dan tujuan

Jika Anda mengantisipasi bahwa orang akan menggunakan kode bandara dan nama bandara, LUIS harus memiliki daftar frasa yang menggunakan kedua jenis frasa. Kode bandara mungkin lebih umum dengan teks yang dimasukkan dalam bot obrolan sementara nama bandara mungkin lebih umum dengan percakapan lisan seperti bot obrolan yang mendukung ucapan.

Detail pencocokan fitur dikembalikan hanya untuk model, bukan untuk daftar frasa karena hanya model yang dikembalikan dalam prediksi JSON.

Pelabelan pemesanan tiket dengan niat

Setelah membuat entitas pembelajaran mesin, Anda perlu menambahkan contoh ucapan ke niat, dan melabeli entitas induk dan semua subentitas.

Untuk contoh pemesanan tiket, Beri label contoh ungkapan dalam niat dengan entitas TicketBooking dan subentitas apa pun dalam teks.

A screenshot showing use of patterns

Contoh: aplikasi pemesanan pizza

Untuk contoh kedua, pertimbangkan aplikasi untuk restoran pizza, yang menerima pesanan pizza termasuk detail jenis pizza yang dipesan seseorang. Setiap detail pizza harus diekstraksi, jika memungkinkan, untuk menyelesaikan pemrosesan pesanan.

Entitas pembelajaran mesin dalam contoh ini lebih kompleks dengan subentitas berlapis, daftar frasa, entitas bawaan, dan entitas kustom.

A screenshot showing use of patterns

Contoh ini menggunakan fitur di tingkat subentitas dan elemen anak dari tingkat subentitas. Tingkat mana yang mendapatkan jenis daftar atau model frasa sebagai fitur adalah bagian penting dari desain entitas Anda.

Meskipun subentitas dapat memiliki banyak daftar frasa sebagai fitur yang membantu mendeteksi entitas, setiap subentitas hanya memiliki satu model sebagai fitur. Dalam aplikasi pizza ini, model-model itu terutama adalah daftar.

Cuplikan layar yang memperlihatkan penggunaan pola

Contoh ucapan yang diberi label dengan benar ditampilkan dengan suatu cara agar menunjukkan bagaimana entitas berlapis.

Langkah berikutnya