Tutorial: Memperbaiki prediksi yang tidak pasti dengan meninjau ucapan titik akhir

Dalam tutorial ini, tingkatkan prediksi aplikasi dengan memverifikasi atau mengoreksi ucapan, diterima melalui titik akhir HTTPS LUIS, ketika LUIS merasa ragu. Anda harus meninjau ucapan titik akhir sebagai bagian reguler dari pemeliharaan LUIS terjadwal Anda.

Proses peninjauan ini memungkinkan LUIS mempelajari domain aplikasi Anda. LUIS memilih ucapan yang muncul dalam daftar peninjauan. Daftar ini adalah:

  • Khusus untuk aplikasi.
  • Dimaksudkan untuk meningkatkan akurasi prediksi aplikasi.
  • Harus ditinjau secara berkala.

Dengan meninjau ucapan titik akhir, Anda memverifikasi atau mengoreksi prediksi niat ucapan.

Dalam tutorial ini, Anda mempelajari cara:

  • Mengimpor contoh aplikasi
  • Meninjau ucapan titik akhir
  • Melatih dan menerbitkan aplikasi
  • Mengkueri titik akhir aplikasi untuk melihat respons JSON LUIS

Untuk artikel ini, Anda dapat menggunakan akun LUIS gratis untuk membuat aplikasi LUIS Anda.

Mengunduh file JSON untuk aplikasi

Unduh dan simpan file JSON aplikasi.

Mengimpor file JSON untuk aplikasi

  1. Di portal LUIS, pada halaman Aplikasi saya, pilih + Aplikasi baru untuk percakapan , lalu Impor sebagai JSON. Temukan file JSON yang disimpan dari langkah sebelumnya. Anda tidak perlu mengubah nama aplikasi. Pilih Selesai

  2. Pilih Build lalu Niat untuk melihat niat, yang merupakan blok penyusun utama aplikasi LUIS.

    Ubah dari halaman Versi ke halaman Niat.

Melatih aplikasi untuk menerapkan perubahan entitas ke aplikasi

  1. Di sisi kanan atas situs web LUIS, pilih tombol Train.

    Tombol Train

  2. Pelatihan selesai ketika indikator status pada tombol Train berwarna hijau.

Menerbitkan aplikasi untuk mengaksesnya dari titik akhir HTTP

Untuk menerima prediksi LUIS di bot obrolan atau aplikasi klien lainnya, Anda perlu memublikasikan aplikasi ke titik akhir prediksi.

  1. Pilih Terbitkan di navigasi kanan atas.

    Cuplikan layar LUIS menerbitkan ke tombol titik akhir di menu kanan atas

  2. Pilih slot Produksi, lalu pilih Selesai.

    Cuplikan layar LUIS menerbitkan ke titik akhir

  3. Pilih Akses URL titik akhir Anda di pemberitahuan untuk masuk ke halaman Sumber Daya Azure. Anda hanya akan dapat melihat URL jika Anda memiliki sumber daya prediksi yang terkait dengan aplikasi. Anda juga bisa menemukan halaman Sumber Daya Azure dengan mengeklik Kelola.

    Pesan bahwa aplikasi telah diterbitkan

Menambahkan ucapan di titik akhir

Dalam aplikasi ini Anda memiliki niat dan entitas, tetapi Anda tidak memiliki penggunaan titik akhir. Penggunaan titik akhir ini diperlukan untuk meningkatkan aplikasi dengan tinjauan ucapan titik akhir.

  1. Di bagian Kelola (menu kanan atas), pada halaman Sumber Daya Azure (menu kiri), salin URL Kueri Contoh lalu tempelkan ke tab browser baru.

    URL titik akhir terlihat seperti format berikut, dengan subdomain kustom, ID aplikasi, dan kunci titik akhir Anda sendiri menggantikan APP-ID, dan KEY-ID:

    https://YOUR-CUSTOM-SUBDOMAIN.api.cognitive.microsoft.com/luis/prediction/v3.0/apps/APP-ID/slots/production/predict?subscription-key=KEY-ID&verbose=true&show-all-intents=true&log=true&query=YOUR_QUERY_HERE
    
  2. Buka akhir URL di bilah alamat dan ganti YOUR_QUERY_HERE dengan ucapan dalam tabel berikut. Untuk setiap ucapan, kirim ucapan, dan dapatkan hasilnya. Kemudian ganti ucapan di akhir dengan ucapan berikutnya.

    Ucapan titik akhir Niat yang diselaraskan
    I'm looking for a job with Natural Language Processing GetJobInformation
    I want to cancel on March 3 Utilities.Cancel
    When were HRF-123456 and hrf-234567 published in the last year? FindForm
    shift 123-45-6789 from Z-1242 to T-54672 MoveEmployee
    Please relocation jill-jones@mycompany.com from x-2345 to g-23456 MoveEmployee
    Here is my c.v. for the programmer job ApplyForJob
    This is the lead welder paperwork. ApplyForJob
    does form hrf-123456 cover the new dental benefits and medical plan FindForm
    Jill Jones work with the media team on the public portal was amazing EmployeeFeedback

    Ada satu kumpulan ucapan untuk ditinjau, terlepas dari versi mana yang secara aktif Anda edit atau versi aplikasi mana yang diterbitkan di titik akhir.

Meninjau ucapan titik akhir

Tinjau ucapan titik akhir untuk niat yang diselaraskan dengan benar. Meskipun ada satu kumpulan ucapan untuk ditinjau di semua versi, proses menyelaraskan niat dengan benar menambahkan contoh ucapan ke model aktif saat ini saja.

  1. Dari bagian Build portal, pilih Tinjau ucapan titik akhir dari navigasi kiri. Daftar difilter untuk niat ApplyForJob.

    Cuplikan layar tombol Tinjau ucapan titik akhir di navigasi kiri.

    Ucapan ini, I'm looking for a job with Natural Language Processing, tidak dalam niat yang benar, GetJobInformation. Niat ini telah salah diprediksikan sebagai ApplyForJob karena kesamaan nama pekerjaan dan kata kerja dalam kedua niat ini.

  2. Untuk menyelaraskan ucapan ini, pilih Aligned Niat yang diselaraskan yang benar dari GetJobInformation. Tambahkan ucapan yang diubah ke aplikasi dengan memilih tanda centang.

    Tinjau ucapan yang tersisa dalam niat ini, dan perbaiki niat yang diselaraskan sesuai kebutuhan. Gunakan tabel ucapan awal dalam tutorial ini untuk melihat niat yang diselaraskan.

    Daftar Tinjau ucapan titik akhir seharusnya tidak lagi memiliki ucapan yang dikoreksi. Jika lebih banyak ucapan muncul, terus tinjau daftar, dengan mengoreksi niat yang diselaraskan hingga daftar kosong.

    Setiap koreksi pelabelan entitas dilakukan setelah niat diselaraskan, dari halaman Detail niat.

  3. Latih dan publikasikan aplikasi lagi.

Mendapatkan prediksi niat dari titik akhir

Untuk memverifikasi bahwa ucapan contoh yang diselaraskan dengan benar meningkatkan prediksi aplikasi, coba ucapan yang dekat dengan ucapan yang dikoreksi.

  1. Di bagian Kelola (menu kanan atas), pada halaman Sumber Daya Azure (menu kiri), salin URL Kueri Contoh lalu tempelkan ke tab browser baru.

    URL titik akhir terlihat seperti format berikut, dengan subdomain kustom, ID aplikasi, dan kunci titik akhir Anda sendiri menggantikan APP-ID, dan KEY-ID:

    https://YOUR-CUSTOM-SUBDOMAIN.api.cognitive.microsoft.com/luis/prediction/v3.0/apps/APP-ID/slots/production/predict?subscription-key=KEY-ID&verbose=true&show-all-intents=true&log=true&query=YOUR_QUERY_HERE
    
  2. Buka akhir URL di bilah alamat dan ganti YOUR_QUERY_HERE dengan Are there any natural language processing jobs in my department right now?.

     {
         "query": "Are there any natural language processing jobs in my department right now?",
         "prediction": {
             "topIntent": "GetJobInformation",
             "intents": {
                 "GetJobInformation": {
                     "score": 0.901367366
                 },
                 "ApplyForJob": {
                     "score": 0.0307973567
                 },
                 "EmployeeFeedback": {
                     "score": 0.0296942145
                 },
                 "MoveEmployee": {
                     "score": 0.00739785144
                 },
                 "FindForm": {
                     "score": 0.00449316856
                 },
                 "Utilities.Stop": {
                     "score": 0.00417657848
                 },
                 "Utilities.StartOver": {
                     "score": 0.00407167152
                 },
                 "Utilities.Help": {
                     "score": 0.003662492
                 },
                 "None": {
                     "score": 0.00335733569
                 },
                 "Utilities.Cancel": {
                     "score": 0.002225436
                 },
                 "Utilities.Confirm": {
                     "score": 0.00107437756
                 }
             },
             "entities": {
                 "keyPhrase": [
                     "natural language processing jobs",
                     "department"
                 ],
                 "datetimeV2": [
                     {
                         "type": "datetime",
                         "values": [
                             {
                                 "timex": "PRESENT_REF",
                                 "resolution": [
                                     {
                                         "value": "2020-07-02 21:45:50"
                                     }
                                 ]
                             }
                         ]
                     }
                 ],
                 "$instance": {
                     "keyPhrase": [
                         {
                             "type": "builtin.keyPhrase",
                             "text": "natural language processing jobs",
                             "startIndex": 14,
                             "length": 32,
                             "modelTypeId": 2,
                             "modelType": "Prebuilt Entity Extractor",
                             "recognitionSources": [
                                 "model"
                             ]
                         },
                         {
                             "type": "builtin.keyPhrase",
                             "text": "department",
                             "startIndex": 53,
                             "length": 10,
                             "modelTypeId": 2,
                             "modelType": "Prebuilt Entity Extractor",
                             "recognitionSources": [
                                 "model"
                             ]
                         }
                     ],
                     "datetimeV2": [
                         {
                             "type": "builtin.datetimeV2.datetime",
                             "text": "right now",
                             "startIndex": 64,
                             "length": 9,
                             "modelTypeId": 2,
                             "modelType": "Prebuilt Entity Extractor",
                             "recognitionSources": [
                                 "model"
                             ]
                         }
                     ]
                 }
             }
         }
     }
    

    Sekarang setelah ucapan yang membuat ragu telah diselaraskan dengan benar, niat yang benar diprediksi dengan skor tinggi.

Bisakah peninjauan diganti dengan menambahkan lebih banyak ucapan?

Anda mungkin bertanya-tanya mengapa tidak menambahkan lebih banyak contoh ucapan. Apa tujuan meninjau ucapan titik akhir? Dalam aplikasi LUIS di dunia nyata, ucapan titik akhir berasal dari pengguna dengan pilihan kata dan penyusunan yang belum Anda gunakan. Jika Anda telah menggunakan pilihan dan penyusunan kata yang sama, prediksi asli akan memiliki persentase yang lebih tinggi.

Mengapa niat teratas ada di daftar ucapan?

Beberapa ucapan titik akhir akan memiliki skor prediksi tinggi dalam daftar peninjauan. Anda masih perlu meninjau dan memverifikasi ucapan tersebut. Ucapan tersebut berada dalam daftar karena niat tertinggi berikutnya memiliki skor terlalu dekat dengan skor niat teratas. Anda perlu sekitar 15% perbedaan antara kedua niat teratas.

Membersihkan sumber daya

Saat tidak lagi diperlukan, hapus aplikasi LUIS. Untuk melakukannya, pilih Aplikasi saya dari menu kiri atas. Pilih elipsis (... ) di sebelah kanan nama aplikasi di daftar aplikasi, pilih _ Hapus. Pada dialog pop-up Hapus aplikasi? , pilih Ok.

Langkah berikutnya

Dalam tutorial ini, Anda meninjau ucapan yang dikirimkan di titik akhir, di mana LUIS merasa ragu. Setelah ucapan-ucapan ini diverifikasi dan dipindahkan ke niat yang benar sebagai contoh ucapan, LUIS akan meningkatkan akurasi prediksi.