Penterjemah |. Li Rui
Penyemak |. Dalam pembangunan perisian dan aplikasi, bot ialah aplikasi yang direka untuk melaksanakan (atau melaksanakan secara automatik mengikut skrip pratetap) tindakan yang dibuat sebagai tindak balas kepada permintaan pengguna. Dalam artikel ini, Daniil Mikhov, pembangun .NET di NIX United, membentangkan contoh mencipta chatbot menggunakan Microsoft Azure Bot Services. Artikel ini akan membantu pembangun yang ingin membangunkan chatbots menggunakan perkhidmatan ini.
Mengapa menggunakan Perkhidmatan Bot Azure? Pakar syarikat berkomunikasi secara aktif dengan komuniti teknikal dan mengenal pasti dan membetulkan kelemahan dalam perkhidmatan dengan cepat. Selain itu, Microsoft menyediakan keupayaan untuk mencipta fail JSON tersuai untuk berfungsi dengan beberapa API Messenger, memberikan pembangun banyak kemungkinan apabila membuat chatbots. Adalah penting untuk mengingati faedah lain Perkhidmatan Azure Bot:
Perkhidmatan Bot Azure membenarkan Pembangun menggunakan alat SDK sumber terbuka (kit pembangunan perisian) untuk mencipta, menguji dan menggunakan chatbots.
Integrasi dengan perkhidmatan kognitif ialah perkhidmatan yang menggunakan alatan pembelajaran mesin di tempat kerja untuk menyelesaikan tugasan biasa. Perkhidmatan kognitif memastikan proses interaksi yang lebih baik antara chatbot dan pengguna.Struktur fungsi chatbot yang dibuat pada Azure boleh dinyatakan sebagai:
Senarai saluran yang mungkin untuk disambungkan ke chatbot boleh dilihat di sebelah kanan. Senarai ini akan dikemas kini secara berterusan dengan platform baharu. Di bahagian bawahnya ialah Perkhidmatan Kognitif Microsoft tersedia pada platform Azure. Perkhidmatan ini membenarkan komunikasi dengan chatbots melalui permintaan suara, mimik muka, gerak isyarat dan banyak lagi.
Bot Builder SDK digunakan untuk membangunkan chatbots pada Azure. Produk ini berada dalam domain awam dan kelebihan utamanya ialah sokongan berterusan daripada pembangun. Dalam fork yang berasingan di GitHub, anda boleh mendapatkan maklumat terkini tentang perkhidmatan atau bertanya soalan pembangunnya.
Membuat chatbot
Sebelum menulis kod, analisa nuansa yang perlu anda pertimbangkan sebelum membuat chatbot pada Azure Bot Service :
(1) Bolehkah chatbot memahami soalan orang dengan betul
🎜>Komunikasi dengan chatbot berlaku melalui antara muka pengguna. Antara muka pengguna membenarkan pembangun berkomunikasi dengan chatbot dalam bahasa yang difahaminya. Untuk tujuan ini, Microsoft Azure menggunakan sistem dialog yang mengikut hierarki tertentu:
Di sini anda boleh Lihat tiga asas cara untuk mewujudkan perbualan dengan chatbot:
Di bahagian bawah, anda boleh melihat kaedah yang dibenarkan untuk membuat permintaan tersuai untuk chatbot:
Pada dasarnya, pertanyaan ialah dialog berperingkat: pada peringkat pertama, chatbot meminta data input; Dalam fasa kedua, ia mengembalikan nilai yang sah kepada pengguna atau memulakan semula gelung pertanyaan data jika nilai tidak sah diterima.
(2) Pengawal dan templat
Lihat di bawahKod daripada contoh chatbot "Ingatkan saya nanti" yang dicipta oleh Daniil Mikhov, yang tugas utamanya adalah untuk mengingatkannya tentang sebarang tindakan yang perlu dia lakukan pada masa hadapan.
Untuk mencipta chatbot, Mikhov menggunakan Templat Kosong yang disediakan oleh Visual Studio, yang merangkumi beberapa jenis pengawal: BotController dan NotifyController.
BotController menerima mesej untuk chatbot dan menghantarnya ke rangka kerja chatbot. Chatbot juga menyertakan beberapa templat penggunaan untuk penggunaan aplikasi yang lebih mudah ke platform Azure.
Pengawal Pemberitahuan menentukan masa untuk menghantar mesej kepada pengguna. Isu ini akan dibincangkan dengan lebih terperinci kemudian.
(3) Mulakan fungsi dan isikan tab ToDoDialog
Pergi ke tab Startup.cs untuk melihat kandungannya. Di sini anda boleh melihat pengendali ralat berdaftar AdapterWithErrorHandler. Jika ralat berlaku dalam atur cara, tindak balas aplikasi terhadap ralat adalah perlu. Nota mendaftarkan ConversationState - gunakan ini untuk memberitahu bot sembang dengan pengguna yang mana ia berkomunikasi dan pada peringkat perbualan.
Lihat kandungan tab ToDoDialog.cs di bawah. Mikhov mengisytiharkan waterfallSteps, iaitu satu set langkah dalam kotak dialog air terjun, yang telah dinyatakan di atas. Dalam waterfallSteps, tentukan fungsi tak segerak yang digunakan dalam setiap langkah untuk membina perbualan antara pengguna dan chatbot.
Di bawah anda boleh melihat jenis input gesaan yang akan digunakan oleh chatbot. Kandungan di sini agak standard: chatbot akan bertanya kepada orang ramai tentang acara tersebut dan kemudian memberikan peringatan penjadualan.
Sekarang jalankan chatbot dan uji operasinya menggunakan antara muka Bot Framework Emulator.
(4) Pelancaran dan ujian pertama dalam simulator rangka kerja chatbot
Apabila menjalankan apl ini, pautan ke URL tempat chatbot akan menunggu mesej daripada pengguna akan dipaparkan.
Sebelum memulakan ujian, nyatakan pautan ini dalam simulator rangka kerja chatbot:
Dalam langkah komunikasi pertama, chatbot meminta pengguna memasukkan nama acara yang perlu diingatkan. Untuk melakukan ini, hubungi kod berikut : Apabila chatbot dipanggil, ia akan mengembalikan teks berikut: Sila masukkan perihalan acara. Selepas mengisytiharkan acara yang anda ingin diingatkan (seperti membeli susu) , hubungi kod dalam langkah kedua, di mana chatbot akan menyediakan satu daripada tiga pilihan masa peringatan:
Beri perhatian kepada penggunaan stepContext. Ia menyimpan semua maklumat tentang kotak dialog, merekodkan nilai perantaraan. Untuk melaksanakan senarai masa peringatan yang mungkin, ChoicePrompt digunakan. Kaedah ini akan memberi pengguna tiga pilihan dan kemungkinan masa peringatan (2 minit, 5 minit atau masa yang sama pada hari berikutnya) . Mungkin terdapat lebih banyak pilihan, tetapi hanya tiga yang dipilih. Menggunakan pilihan untuk mewakili setiap masa pemilihan baharu, kita boleh mendapatkan: Dalam simulator rangka kerja chatbot, kod ini akan dipaparkan seperti ini: Anda boleh menggunakan Parse untuk menghuraikan keputusan. Sebagai peringatan, penghuraian ialah proses automatik untuk mengumpul data dan menstrukturkannya. Chatbot kemudiannya akan bertanya kepada pengguna jika mereka pasti tentang masa peringatan yang dipilih, menggunakan ConfirmPrompt untuk mengesahkan perjanjian: Dari visual Seperti yang anda boleh lihat, kaedah ini kelihatan seperti ini: Langkah terakhir adalah untuk mendapatkan semula maklumat yang telah diisi sebelum ini daripada stepContext dan Menghasilkan SavedNotificationModel yang mana Rujukan perbualan mesti ditambah. Tanpanya, chatbot tidak boleh menyambung semula perbualan dengan pengguna atau menentukan pengguna yang menangani isu tersebut secara khusus. Mikhov menggunakan kaedah kamus sebagai repositori sementara untuk acara ini, terima kasih kepada penerimaan pakai, Chatbot memberikan instanceId uniknya kepada setiap dialog khusus: Ini akan berakhir dengan dialog chatbot. Anda boleh memaparkan teks kepada pengguna yang menunjukkan penghujung kotak dialog dan membuat permintaan peringatan yang sepadan: "Terima kasih. Pemberitahuan telah berjaya disimpan". (5) Bagaimana chatbots bergerak melalui masa Untuk Kepada cari chatbot dalam masa, Mikhov mencipta kaedah notifycontroller NotifyTimeCheck(). Pendekatan ini membolehkan aplikasi ditinjau secara sistematik dan jika acara tertentu akan berlaku, chatbot akan mendapatkan semula acara itu daripada kamus dan menghantar pemberitahuan kepada pengguna. Untuk mendapatkan pemberitahuan, kaedah ContinueConversationAsync() BotAdapter dipanggil, menghantar ConversationReference kepadanya. Parameter pertama ContinueConversationAsync() mestilah sentiasa menjadi appId (ID aplikasi) perkhidmatan chatbot, jika tidak, ia tidak akan berfungsi. Selain itu, chatbot juga perlu diingatkan bahawa apabila tiba masa tertentu, acara itu mesti diingatkan kepada pengguna tertentu. Pembangun boleh menggunakan Fungsi Azure (BotTimerFunction), yang akan dicetuskan oleh pencetus masa (TimerTrigger). Setiap minit, fungsi akan menghantar permintaan ke titik akhir ini dan mula menyemak acara yang ditentukan. Jika ia mencapai jangka masa yang betul, chatbot akan memberitahu pengguna bahawa acara yang dijadualkan akan berlaku. Kini, WhatsApp, Facebook Messenger, Telegram dan alat komunikasi lain bukan sahaja platform komunikasi, tetapi juga platform perniagaan. Chatbots membantu perniagaan menjual dan mempromosikan barangan dan perkhidmatan dalam talian dengan berkesan. Mengautomasikan proses harian, menyediakan maklumat produk yang diperlukan kepada pelanggan tepat pada masanya, menerima dan memproses permintaan – semua ciri chatbot yang dikonfigurasikan dengan betul ini akan membantu menukar pengguna kepada pelanggan. Oleh itu, sebagai pembangun, anda harus ingat betapa popularnya alat ini sekarang dan betapa hebatnya untuk dapat mencipta aplikasi sedemikian dan menjadi pakar yang popular sebagai hasilnya. Tajuk asal: Cara Membuat Chatbot Menggunakan Azure Bot Perkhidmatan: Arahan Langkah demi Langkah, Pengarang: Daniil Mikhov
Atas ialah kandungan terperinci Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!