Kita nyepetake pembangunan nggunakake layanan Azure: kita nggawe chatbots lan layanan kognitif nggunakake platform

Sugeng rawuh, Habr! Dina iki kita bakal nuduhake sampeyan carane nggunakake Azure kanggo ngatasi masalah sing biasane mbutuhake campur tangan manungsa. Agen nglampahi akeh wektu kanggo njawab pitakonan sing padha, nangani telpon lan pesen teks. Chatbots ngotomatisasi komunikasi lan pangenalan lan nyuda beban wong. Bot uga digunakake ing Azure DevOps, sing ngidini, contone, nyetujoni rilis, ngatur mbangun - ndeleng, miwiti lan mandheg - langsung saka Slack utawa Microsoft Teams. Intine, chatbot kaya CLI, mung interaktif, lan ngidini pangembang tetep ing konteks diskusi obrolan.

Ing artikel iki, kita bakal ngomong babagan alat kanggo nggawe chatbots, nuduhake carane bisa nambah karo layanan kognitif, lan njlèntrèhaké carane nyepetake pembangunan karo layanan siap-digawe ing Azure.

Kita nyepetake pembangunan nggunakake layanan Azure: kita nggawe chatbots lan layanan kognitif nggunakake platform

Chatbots lan layanan kognitif: apa sing padha lan apa bedane?

Kanggo nggawe bot ing Microsoft Azure, sampeyan nggunakake Azure Bot Service lan Bot Framework. Bareng padha makili pesawat saka piranti lunak kanggo mbangun, testing, deploying lan administering bots, sing ngijini sampeyan kanggo nggawe saka modul siap-digawe loro sistem komunikasi prasaja lan majeng karo support wicara, pangenalan basa alam lan kapabilitas liyane.

Ayo nganggep yen sampeyan kudu ngleksanakake bot prasaja adhedhasar layanan Q&A perusahaan utawa, kosok balene, nggawe bot fungsional kanthi sistem komunikasi sing kompleks lan bercabang. Kanggo nindakake iki, sampeyan bisa nggunakake sawetara alat, dipΓ©rang dadi telung klompok: 

  1. Layanan kanggo pangembangan cepet antarmuka dialog (bot).
  2. Layanan AI kognitif sing wis siap kanggo macem-macem kasus panggunaan (pangenalan pola, pangenalan wicara, basis pengetahuan lan telusuran).
  3. Layanan kanggo nggawe lan nglatih model AI.

Biasane, wong kanthi intuisi mbingungake "bot" lan "layanan kognitif" amarga konsep loro kasebut adhedhasar prinsip komunikasi, lan kasus panggunaan kanggo bot lan layanan kalebu dialog. Nanging chatbots bisa nganggo tembung kunci lan pemicu, lan layanan kognitif bisa digunakake kanthi panjaluk sewenang-wenang sing biasane diproses dening manungsa: 

Kita nyepetake pembangunan nggunakake layanan Azure: kita nggawe chatbots lan layanan kognitif nggunakake platform

Layanan kognitif minangka cara liya kanggo komunikasi karo pangguna, mbantu ngonversi panjaluk sing sewenang-wenang dadi perintah sing jelas lan diterusake menyang bot. 

Mangkono, chatbots minangka aplikasi kanggo nggarap panjalukan, lan layanan kognitif minangka alat kanggo analisis cerdas panjalukan sing diluncurake kanthi kapisah, nanging sing bisa diakses chatbot, dadi "cerdas." 

Nggawe chatbots

Diagram desain sing disaranake kanggo bot ing Azure yaiku: 

Kita nyepetake pembangunan nggunakake layanan Azure: kita nggawe chatbots lan layanan kognitif nggunakake platform

Kanggo ngrancang lan ngembangake bot ing Azure, gunakake Bot Framework. Kasedhiya ing GitHub conto bot, Kapabilitas framework diganti, supaya perlu kanggo njupuk menyang akun versi SDK sing digunakake ing bot.

Kerangka kasebut nyedhiyakake sawetara opsi kanggo nggawe bot: nggunakake kode klasik, alat baris perintah utawa diagram alur. Opsi pungkasan nggambarake dialog; kanggo iki sampeyan bisa nggunakake manajer Bot Framework Composer. Iki dibangun ing Bot Framework SDK minangka alat pangembangan visual sing bisa digunakake tim lintas disiplin kanggo nggawe bot.

Kita nyepetake pembangunan nggunakake layanan Azure: kita nggawe chatbots lan layanan kognitif nggunakake platform

Bot Framework Composer ngidini sampeyan nggunakake blok kanggo nggawe struktur dialog sing bakal digunakake bot. Kajaba iku, sampeyan bisa nggawe pemicu, yaiku tembung kunci sing bakal ditindakake bot sajrone dialog kasebut. Contone, tembung "operator", "maling" utawa "mandheg" lan "cukup".

Ing Bot Framework Composer, sampeyan bisa nggawe sistem dialog kompleks nggunakake Dialog adaptif. Dialog bisa nggunakake layanan kognitif lan kertu acara (Kartu Adaptif):

Kita nyepetake pembangunan nggunakake layanan Azure: kita nggawe chatbots lan layanan kognitif nggunakake platform

Sawise nggawe, sampeyan bisa masang chatbot ing langganan, lan skrip sing disiapake kanthi otomatis bakal nggawe kabeh sumber daya sing dibutuhake: layanan kognitif, Rencana Aplikasi, Wawasan Aplikasi, database, lan liya-liyane.

Tukang QnA

Kanggo nggawe bot prasaja adhedhasar basis data Q&A perusahaan, sampeyan bisa nggunakake layanan kognitif QnA Maker. Ditrapake minangka tuntunan web prasaja, ngidini sampeyan kanggo input link menyang basis kawruh perusahaan (FAQ Urls) utawa nggunakake database document ing *.doc utawa *.pdf format minangka basis. Sawise nggawe indeks, bot bakal kanthi otomatis milih jawaban sing paling cocok kanggo pitakonan pangguna.

Nggunakake QnAMaker, sampeyan uga bisa nggawe rantai pitakonan njlentrehake kanthi otomatis nggawe tombol, nambah basis kawruh karo metadata, lan nglatih layanan kasebut nalika digunakake.

Layanan kasebut bisa digunakake minangka chatbot sing mung ngleksanakake fungsi siji iki, utawa minangka bagéan saka chatbot komplèks sing nggunakake, gumantung saka panyuwunan, layanan AI liyane utawa unsur Bot Framework.

Nggarap layanan kognitif liyane

Ana macem-macem layanan kognitif ing platform Azure. Secara teknis, iki minangka layanan web independen sing bisa diarani kode. Kanggo nanggepi, layanan ngirim json saka format tartamtu, sing bisa digunakake ing chatbot.

Kita nyepetake pembangunan nggunakake layanan Azure: kita nggawe chatbots lan layanan kognitif nggunakake platform
Panggunaan chatbots sing paling umum yaiku:

  1. Pangenalan teks.
  2. Pangenalan kategori gambar Layanan Visi Kustom sing ditetepake pangembang (kasus produksi: pangenalan manawa karyawan nganggo topi keras, kacamata utawa topeng).
  3. Pangenalan rai (kasus panggunaan sing paling apik yaiku mriksa manawa wong sing ditliti ngirimake pasuryane dhewe, utawa, umpamane, foto asu utawa foto wong sing beda jinis).
  4. Pangenalan wicara.
  5. Analisis gambar.
  6. Terjemahan (kita kabeh ngelingi carane akeh gangguan terjemahan simultaneous ing Skype disebabake).
  7. Priksa ejaan lan saran kanggo mbenerake kesalahan.

LUIS

Uga, kanggo nggawe bot sampeyan bisa uga kudu LUIS (Language Understanding Intelligent Service). Tujuan layanan:

  • Temtokake manawa pratelan pangguna kasebut cocog lan manawa tanggepan bot perlu.
  • Ngurangi upaya kanggo nerjemahake ucapan pangguna (teks) menyang perintah sing bisa dingerteni bot.
  • Prediksi tujuan / maksud pangguna sing bener lan ekstrak wawasan kunci saka frasa ing dialog.
  • Ngidini pangembang kanggo miwiti bot nggunakake mung sawetara conto pangenalan makna lan latihan tambahan sakteruse saka bot sak operasi.
  • Aktifake pangembang nggunakake visualisasi kanggo netepake kualitas transkripsi printah.
  • Mbantu ing dandan tambahan ing pangenalan target bener.

Nyatane, tujuan utama LUIS yaiku mangertos kanthi kemungkinan tartamtu apa tegese pangguna lan ngowahi panjaluk alami dadi perintah sing harmonis. Kanggo ngenali nilai pitakon, LUIS nggunakake sakumpulan maksud (makna, maksud) lan entitas (sing wis dikonfigurasi dening pangembang, utawa dijupuk lan wis digawe "domain" - sawetara perpustakaan siap-digawe saka frasa standar sing disiapake dening Microsoft). 

Conto prasaja: sampeyan duwe bot sing menehi ramalan cuaca. Kanggo dheweke, maksud kasebut bakal dadi terjemahan saka panjaluk alami dadi "tumindak" - panjaluk ramalan cuaca, lan entitas bakal dadi wektu lan papan. Punika diagram babagan cara maksud CheckWeather kanggo bot kasebut.

Niat
Pinter
Tuladha pitakon alami

PriksaWeather
{"jinis": "lokasi", "entitas": "moscow"}
{"type": "builtin.datetimeV2.date", "entity": "masa depan","resolusi":"2020-05-30"}
Apa cuaca sesuk ing Moskow?

PriksaWeather
{"type": "date_range", "entity": "weekend iki" }
Tampilake ramalan kanggo akhir minggu iki

Kanggo nggabungake QnA Maker lan LUIS sampeyan bisa nggunakake Pangirim

Kita nyepetake pembangunan nggunakake layanan Azure: kita nggawe chatbots lan layanan kognitif nggunakake platform

Nalika sampeyan nggarap QnA Maker lan nampa panjalukan saka pangguna, sistem nemtokake persentase kemungkinan jawaban saka QnA cocog karo panjaluk kasebut. Yen kemungkinan gedhe, pangguna mung diwenehi jawaban saka basis pengetahuan perusahaan; yen kurang, panjaluk kasebut bisa dikirim menyang LUIS kanggo klarifikasi. Nggunakake Dispatcher ngidini sampeyan ora program logika iki, nanging kanthi otomatis nemtokake pinggiran pamisahan panjalukan lan cepet disebarakΓ©.

Nguji lan nerbitake bot

Aplikasi lokal liyane digunakake kanggo testing, Emulator kerangka bot. Nggunakake emulator, sampeyan bisa komunikasi karo bot lan mriksa pesen sing dikirim lan ditampa. Emulator nampilake pesen kaya sing bakal katon ing antarmuka obrolan web lan nyathet panjalukan lan tanggapan JSON nalika ngirim pesen menyang bot.

Conto nggunakake emulator ditampilake ing demo iki, sing nuduhake nggawe asisten virtual kanggo BMW. Video kasebut uga ngomong babagan akselerator anyar kanggo nggawe chatbots - template:

Kita nyepetake pembangunan nggunakake layanan Azure: kita nggawe chatbots lan layanan kognitif nggunakake platform
https://youtu.be/u7Gql-ClcVA?t=564

Sampeyan uga bisa nggunakake template nalika nggawe chatbots. 
Cithakan ngijini sampeyan ora nulis fungsi bot standar anew, nanging nambah kode siap-digawe minangka "skill". Conto bisa nggarap tanggalan, nggawe janjian, etc. Kode skills siap-digawe diterbitake ing github.

Pengujian kasebut sukses, bot wis siyap, lan saiki kudu diterbitake lan saluran disambungake. Publishing ditindakake nggunakake Azure, lan utusan utawa jaringan sosial bisa digunakake minangka saluran. Yen sampeyan ora duwe saluran sing dibutuhake kanggo ngetik data, sampeyan bisa nelusuri ing komunitas sing cocog ing GitHab. 

Uga, kanggo nggawe chatbot lengkap minangka antarmuka kanggo komunikasi karo pangguna lan layanan kognitif, mesthine sampeyan butuh layanan Azure tambahan, kayata database, tanpa server (Fungsi Azure), uga layanan LogicApp lan, bisa uga. , Grid Acara.

Kita nyepetake pembangunan nggunakake layanan Azure: kita nggawe chatbots lan layanan kognitif nggunakake platform

Evaluasi lan Analytics

Kanggo ngevaluasi interaksi pangguna, sampeyan bisa nggunakake analytics dibangun ing Layanan Bot Azure lan layanan Wawasan Aplikasi khusus.

AkibatΓ©, sampeyan bisa ngumpulake informasi adhedhasar kritΓ©ria ing ngisor iki:

  • Pira pangguna sing ngakses bot saka macem-macem saluran sajrone wektu sing dipilih.
  • Pira pangguna sing ngirim pesen siji bali mengko lan ngirim pesen liyane.
  • Pira tumindak sing dikirim lan ditampa nggunakake saben saluran sajrone interval wektu sing ditemtokake.

Nggunakake Wawasan Aplikasi, sampeyan bisa ngawasi aplikasi apa wae ing Azure lan, utamane, chatbots, entuk data tambahan babagan prilaku pangguna, beban lan reaksi chatbot. Perlu dicathet yen layanan Aplikasi Wawasan nduweni antarmuka dhewe ing portal Azure.

Sampeyan uga bisa nggunakake data sing diklumpukake liwat layanan iki kanggo nggawe visualisasi tambahan lan laporan analitis ing PowerBI. Conto kaya laporan lan cithakan kanggo PowerBI bisa dijupuk kene.

Kita nyepetake pembangunan nggunakake layanan Azure: kita nggawe chatbots lan layanan kognitif nggunakake platform

Matur nuwun kabeh kanggo manungsa waΓ©! Ing artikel iki kita digunakake bahan saka webinar dening arsitek Microsoft Azure Anna Fenyushina "Nalika wong ora duwe wektu. Cara 100% nggunakake chatbots lan layanan kognitif kanggo ngotomatisasi proses rutin ", ing ngendi kita nuduhake kanthi jelas apa chatbots ing Azure lan apa skenario sing digunakake, lan uga nuduhake carane nggawe bot ing QnA Maker ing 15 menit lan carane struktur query wis deciphered ing LUIS. 

Kita nggawe webinar iki minangka bagΓ©an saka maraton online kanggo pangembang Dev Bootcamp. Iki babagan produk sing nyepetake pangembangan lan nyuda sawetara beban kerja rutin saka karyawan perusahaan nggunakake alat otomatisasi lan modul Azure sing wis dikonfigurasi. Rekaman webinar liyane sing kalebu ing maraton kasedhiya ing tautan ing ngisor iki:

Source: www.habr.com

Add a comment