Kami mempercepat pengembangan menggunakan layanan Azure: kami membuat chatbots dan layanan kognitif menggunakan platform ini

Halo, Habr! Hari ini kami akan menunjukkan cara menggunakan Azure untuk memecahkan masalah yang biasanya memerlukan campur tangan manusia. Agen menghabiskan banyak waktu untuk menjawab pertanyaan yang sama, menangani panggilan telepon dan pesan teks. Chatbots mengotomatiskan komunikasi dan pengenalan serta mengurangi beban manusia. Bot juga digunakan di Azure DevOps, yang memungkinkan, misalnya, untuk menyetujui rilis, mengelola build - melihat, memulai, dan menghentikan - langsung dari Slack atau Microsoft Teams. Intinya, chatbot agak mengingatkan pada CLI, hanya interaktif, dan memungkinkan pengembang untuk tetap berada dalam konteks diskusi obrolan.

Dalam artikel ini, kita akan membahas tentang alat untuk membuat chatbot, menunjukkan bagaimana alat tersebut dapat ditingkatkan dengan layanan kognitif, dan menjelaskan cara mempercepat pengembangan dengan layanan siap pakai di Azure.

Kami mempercepat pengembangan menggunakan layanan Azure: kami membuat chatbots dan layanan kognitif menggunakan platform ini

Chatbots dan layanan kognitif: apa persamaan dan perbedaannya?

Untuk membuat bot di Microsoft Azure, Anda menggunakan Layanan Azure Bot dan Kerangka Bot. Bersama-sama mereka mewakili seperangkat perangkat lunak untuk membangun, menguji, menerapkan, dan mengelola bot, yang memungkinkan Anda membuat dari modul siap pakai sistem komunikasi sederhana dan lanjutan dengan dukungan ucapan, pengenalan bahasa alami, dan kemampuan lainnya.

Misalkan Anda perlu menerapkan bot sederhana berdasarkan layanan Tanya Jawab perusahaan atau, sebaliknya, membuat bot fungsional dengan sistem komunikasi yang kompleks dan bercabang. Untuk melakukan ini, Anda dapat menggunakan sejumlah alat yang dibagi menjadi tiga kelompok: 

  1. Layanan untuk pengembangan cepat antarmuka dialog (bot).
  2. Layanan AI kognitif siap pakai untuk berbagai kasus penggunaan (pengenalan pola, pengenalan ucapan, basis pengetahuan, dan pencarian).
  3. Layanan untuk membuat dan melatih model AI.

Biasanya, orang secara intuitif mengacaukan “bot” dan “layanan kognitif” karena kedua konsep tersebut didasarkan pada prinsip komunikasi, dan kasus penggunaan bot dan layanan melibatkan dialog. Namun chatbot bekerja dengan kata kunci dan pemicu, dan layanan kognitif bekerja dengan permintaan sewenang-wenang yang biasanya diproses oleh manusia: 

Kami mempercepat pengembangan menggunakan layanan Azure: kami membuat chatbots dan layanan kognitif menggunakan platform ini

Layanan kognitif adalah cara lain untuk berkomunikasi dengan pengguna, membantu mengubah permintaan sewenang-wenang menjadi perintah yang jelas dan meneruskannya ke bot. 

Dengan demikian, chatbots adalah aplikasi untuk menangani permintaan, dan layanan kognitif adalah alat untuk analisis cerdas atas permintaan yang diluncurkan secara terpisah, namun dapat diakses oleh chatbot, menjadi “cerdas”. 

Membuat chatbot

Diagram desain yang direkomendasikan untuk bot di Azure adalah sebagai berikut: 

Kami mempercepat pengembangan menggunakan layanan Azure: kami membuat chatbots dan layanan kognitif menggunakan platform ini

Untuk merancang dan mengembangkan bot di Azure, gunakan Kerangka Bot. Tersedia di GitHub contoh bot, kemampuan kerangka kerja berubah, jadi perlu memperhitungkan versi SDK yang digunakan di bot.

Kerangka kerja ini menyediakan beberapa opsi untuk membuat bot: menggunakan kode klasik, alat baris perintah, atau diagram alur. Opsi terakhir memvisualisasikan dialog; untuk ini Anda dapat menggunakan manajer Komposer Kerangka Bot. Itu dibangun di atas Bot Framework SDK sebagai alat pengembangan visual yang dapat digunakan oleh tim lintas disiplin untuk membuat bot.

Kami mempercepat pengembangan menggunakan layanan Azure: kami membuat chatbots dan layanan kognitif menggunakan platform ini

Bot Framework Composer memungkinkan Anda menggunakan blok untuk membuat struktur dialog yang akan digunakan bot. Selain itu, Anda dapat membuat pemicu, yaitu kata kunci yang akan ditanggapi oleh bot selama dialog. Misalnya kata “operator”, “pencurian” atau “berhenti” dan “cukup”.

Di Bot Framework Composer, Anda dapat membuat sistem dialog yang kompleks menggunakan Dialog Adaptif. Dialog dapat menggunakan layanan kognitif dan kartu peristiwa (Kartu Adaptif):

Kami mempercepat pengembangan menggunakan layanan Azure: kami membuat chatbots dan layanan kognitif menggunakan platform ini

Setelah pembuatan, Anda dapat menyebarkan chatbot dalam langganan, dan skrip yang disiapkan secara otomatis akan membuat semua sumber daya yang diperlukan: layanan kognitif, Paket aplikasi, Wawasan Aplikasi, database, dan sebagainya.

Pembuat QnA

Untuk membuat bot sederhana berdasarkan database Tanya Jawab perusahaan, Anda dapat menggunakan layanan kognitif QnA Maker. Diimplementasikan sebagai panduan web sederhana, ini memungkinkan Anda memasukkan tautan ke basis pengetahuan perusahaan (Url FAQ) atau menggunakan basis data dokumen dalam format *.doc atau *.pdf sebagai basis. Setelah membuat indeks, bot akan secara otomatis memilih jawaban yang paling tepat atas pertanyaan pengguna.

Dengan menggunakan QnAMaker, Anda juga dapat membuat rangkaian pertanyaan klarifikasi dengan pembuatan tombol otomatis, melengkapi basis pengetahuan dengan metadata, dan melatih layanan lebih lanjut saat digunakan.

Layanan ini dapat digunakan sebagai chatbot yang hanya mengimplementasikan satu fungsi ini, atau sebagai bagian dari chatbot kompleks yang menggunakan, bergantung pada permintaan, layanan AI lain atau elemen Kerangka Bot.

Bekerja dengan layanan kognitif lainnya

Ada banyak layanan kognitif berbeda di platform Azure. Secara teknis, ini adalah layanan web independen yang dapat dipanggil dari kode. Sebagai tanggapan, layanan mengirimkan json dengan format tertentu, yang dapat digunakan di chatbot.

Kami mempercepat pengembangan menggunakan layanan Azure: kami membuat chatbots dan layanan kognitif menggunakan platform ini
Penggunaan chatbot yang paling umum adalah:

  1. Pengenalan teks.
  2. Pengenalan kategori gambar Layanan Custom Vision yang ditentukan pengembang (kasus produksi: pengenalan apakah karyawan mengenakan topi keras, kacamata, atau masker).
  3. Pengenalan wajah (kasus penggunaan yang sangat baik adalah memeriksa apakah orang yang disurvei memposting wajahnya sendiri, atau, katakanlah, foto seekor anjing atau foto seseorang yang berjenis kelamin berbeda).
  4. Pengenalan suara.
  5. Analisis gambar.
  6. Terjemahan (kita semua ingat betapa banyak kebisingan yang disebabkan oleh terjemahan simultan di Skype).
  7. Periksa ejaan dan saran untuk memperbaiki kesalahan.

LUIS

Juga, untuk membuat bot, Anda mungkin memerlukannya LUIS (Layanan Cerdas Pemahaman Bahasa). Tujuan layanan:

  • Tentukan apakah pernyataan pengguna masuk akal dan apakah respons bot diperlukan.
  • Kurangi upaya untuk mentranskripsikan ucapan pengguna (teks) menjadi perintah yang dapat dimengerti oleh bot.
  • Memprediksi tujuan/niat pengguna yang sebenarnya dan mengekstrak wawasan penting dari frasa dalam dialog.
  • Izinkan pengembang meluncurkan bot hanya dengan menggunakan beberapa contoh pengenalan makna dan pelatihan tambahan selanjutnya untuk bot selama pengoperasian.
  • Memungkinkan pengembang menggunakan visualisasi untuk menilai kualitas transkripsi perintah.
  • Membantu dalam peningkatan bertahap dalam pengenalan target yang sebenarnya.

Faktanya, tujuan utama LUIS adalah untuk memahami dengan probabilitas tertentu apa yang dimaksud pengguna dan mengubah permintaan alami menjadi perintah yang harmonis. Untuk mengenali nilai kueri, LUIS menggunakan sekumpulan maksud (makna, maksud) dan entitas (baik yang telah dikonfigurasi sebelumnya oleh pengembang, atau "domain" yang diambil dan dibentuk sebelumnya - beberapa pustaka frasa standar siap pakai yang disiapkan oleh Microsoft). 

Contoh sederhana: Anda memiliki bot yang memberikan ramalan cuaca. Baginya, maksudnya adalah menerjemahkan permintaan alami menjadi "tindakan" - permintaan ramalan cuaca, dan entitasnya adalah waktu dan tempat. Berikut adalah diagram cara kerja maksud CheckWeather untuk bot tersebut.

Maksud
Esensi
Contoh kueri alami

Periksa Cuaca
{"type": "lokasi", "entitas": "moskow"}
{"type": "builtin.datetimeV2.date", "entitas": "masa depan","resolusi":"2020-05-30"}
Bagaimana cuaca besok di Moskow?

Periksa Cuaca
{ "type": "date_range", "entity": "akhir pekan ini" }
Tunjukkan ramalan cuaca untuk akhir pekan ini

Untuk menggabungkan QnA Maker dan LUIS dapat Anda gunakan Dispatcher

Kami mempercepat pengembangan menggunakan layanan Azure: kami membuat chatbots dan layanan kognitif menggunakan platform ini

Saat Anda bekerja dengan QnA Maker dan menerima permintaan dari pengguna, sistem menentukan persentase kemungkinan jawaban dari QnA cocok dengan permintaan tersebut. Jika probabilitasnya tinggi, pengguna cukup diberi jawaban dari basis pengetahuan perusahaan; jika rendah, permintaan dapat dikirim ke LUIS untuk klarifikasi. Menggunakan Dispatcher memungkinkan Anda untuk tidak memprogram logika ini, tetapi untuk secara otomatis menentukan tepi pemisahan permintaan dan mendistribusikannya dengan cepat.

Menguji dan menerbitkan bot

Aplikasi lokal lain digunakan untuk pengujian, Emulator kerangka bot. Dengan menggunakan emulator, Anda dapat berkomunikasi dengan bot dan memeriksa pesan yang dikirim dan diterimanya. Emulator menampilkan pesan seperti yang muncul di antarmuka obrolan web dan mencatat permintaan dan respons JSON saat mengirim pesan ke bot.

Contoh penggunaan emulator disajikan dalam demo ini, yang menunjukkan pembuatan asisten virtual untuk BMW. Video ini juga membahas tentang akselerator baru untuk membuat chatbots - templat:

Kami mempercepat pengembangan menggunakan layanan Azure: kami membuat chatbots dan layanan kognitif menggunakan platform ini
https://youtu.be/u7Gql-ClcVA?t=564

Anda juga dapat menggunakan templat saat membuat chatbots. 
Templat memungkinkan Anda untuk tidak menulis lagi fungsi bot standar, tetapi menambahkan kode yang sudah jadi sebagai "keterampilan". Contohnya bisa bekerja dengan kalender, membuat janji, dll. Kode keterampilan siap pakai diterbitkan di github.

Pengujian berhasil, bot sudah siap, dan sekarang bot perlu dipublikasikan dan saluran terhubung. Penerbitan dilakukan menggunakan Azure, dan messenger atau jejaring sosial dapat digunakan sebagai saluran. Jika Anda tidak memiliki saluran yang diperlukan untuk memasukkan data, Anda dapat mencarinya di komunitas terkait di GitHab. 

Selain itu, untuk membuat chatbot lengkap sebagai antarmuka untuk berkomunikasi dengan pengguna dan layanan kognitif, tentu saja Anda memerlukan layanan Azure tambahan, seperti database, tanpa server (Azure Functions), serta layanan LogicApp dan, mungkin , Kotak Acara.

Kami mempercepat pengembangan menggunakan layanan Azure: kami membuat chatbots dan layanan kognitif menggunakan platform ini

Evaluasi dan Analisis

Untuk mengevaluasi interaksi pengguna, Anda dapat menggunakan analitik bawaan Layanan Azure Bot dan layanan Application Insights khusus.

Hasilnya, Anda dapat mengumpulkan informasi berdasarkan kriteria berikut:

  • Berapa banyak pengguna yang mengakses bot dari berbagai saluran selama jangka waktu yang dipilih.
  • Berapa banyak pengguna yang mengirim satu pesan kembali lagi nanti dan mengirim pesan lain.
  • Berapa banyak tindakan yang dikirim dan diterima menggunakan setiap saluran selama interval waktu yang ditentukan.

Dengan menggunakan Application Insights, Anda dapat memantau aplikasi apa pun di Azure dan, khususnya, chatbots, memperoleh data tambahan tentang perilaku pengguna, pemuatan, dan reaksi chatbot. Perlu dicatat bahwa layanan Application Insights memiliki antarmuka sendiri di portal Microsoft Azure.

Anda juga dapat menggunakan data yang dikumpulkan melalui layanan ini untuk membuat visualisasi tambahan dan laporan analitis di PowerBI. Contoh laporan dan template untuk PowerBI dapat diambil di sini.

Kami mempercepat pengembangan menggunakan layanan Azure: kami membuat chatbots dan layanan kognitif menggunakan platform ini

Terima kasih atas perhatian Anda! Dalam artikel ini kami menggunakan bahan dari webinar oleh arsitek Microsoft Azure Anna Fenyushina “Ketika orang tidak punya waktu. Cara 100% menggunakan chatbots dan layanan kognitif untuk mengotomatiskan proses rutin”, di mana kami dengan jelas menunjukkan apa itu chatbots di Azure dan apa skenario penggunaannya, dan juga mendemonstrasikan cara membuat bot di QnA Maker dalam 15 menit dan cara kerjanya struktur kueri diuraikan di LUIS. 

Kami membuat webinar ini sebagai bagian dari maraton online untuk pengembang Dev Bootcamp. Itu tentang produk yang mempercepat pengembangan dan meringankan beberapa beban kerja rutin dari karyawan perusahaan menggunakan alat otomatisasi dan modul Azure yang telah dikonfigurasi sebelumnya. Rekaman webinar lain yang termasuk dalam marathon tersedia di tautan berikut:

Sumber: www.habr.com

Tambah komentar