Kami ngagancangkeun pangwangunan nganggo jasa Azure: kami nyiptakeun chatbots sareng jasa kognitif nganggo platform

Halo, Habr! Dinten ieu kami bakal nunjukkeun anjeun kumaha ngagunakeun Azure pikeun ngarengsekeun masalah anu biasana ngabutuhkeun campur tangan manusa. Agén nyéépkeun seueur waktos pikeun ngajawab patarosan anu sami, nanganan telepon sareng pesen téks. Chatbots ngajadikeun otomatis komunikasi sareng pangakuan sareng ngirangan beban jalma. Bot ogé dianggo dina Azure DevOps, dimana aranjeunna ngamungkinkeun, contona, pikeun nyatujuan sékrési, ngatur ngawangun - ningali, ngamimitian sareng ngeureunkeun - langsung ti Slack atanapi Microsoft Teams. Intina, chatbot rada ngingetkeun kana CLI, ngan ukur interaktif, sareng ngamungkinkeun pamekar tetep dina kontéks diskusi obrolan.

Dina tulisan ieu, urang bakal ngobrol ngeunaan alat pikeun nyiptakeun chatbots, nunjukkeun kumaha aranjeunna tiasa ditingkatkeun ku jasa kognitif, sareng ngajelaskeun kumaha nyepetkeun pamekaran sareng jasa anu siap di Azure.

Kami ngagancangkeun pangwangunan nganggo jasa Azure: kami nyiptakeun chatbots sareng jasa kognitif nganggo platform

Chatbots sareng jasa kognitif: naon kamiripan sareng naon bédana?

Pikeun nyieun bot dina Microsoft Azure, anjeun nganggo Azure Bot Service sareng Bot Framework. Kalawan babarengan, aranjeunna ngagambarkeun sakumpulan software pikeun ngawangun, nguji, nyebarkeun jeung administering bot, nu ngidinan Anjeun pikeun nyieun tina modul siap-dijieun duanana sistem komunikasi basajan tur canggih kalayan rojongan ucapan, pangakuan basa alam jeung kamampuhan lianna.

Hayu urang nganggap yén anjeun kedah nerapkeun bot saderhana dumasar kana jasa Q&A perusahaan atanapi, sabalikna, ngadamel bot fungsional sareng sistem komunikasi anu kompleks sareng bercabang. Jang ngalampahkeun ieu, anjeun tiasa nganggo sababaraha alat, dibagi kana tilu kelompok: 

  1. Jasa pikeun ngembangkeun gancang tina panganteur dialog (bot).
  2. Ladenan AI kognitif siap-siap pikeun kasus pamakean anu béda-béda (pangenalan pola, pangenalan ucapan, dasar pangaweruh sareng pamilarian).
  3. Jasa pikeun nyiptakeun sareng ngalatih modél AI.

Ilaharna, jalma intuitif bingung "bot" jeung "jasa kognitif" sabab duanana konsep anu dumasar kana prinsip komunikasi, sarta kasus pamakéan pikeun bot sarta jasa ngalibatkeun dialogues. Tapi chatbots tiasa dianggo sareng kecap konci sareng pemicu, sareng jasa kognitif tiasa dianggo sareng pamundut sawenang anu biasana diolah ku manusa: 

Kami ngagancangkeun pangwangunan nganggo jasa Azure: kami nyiptakeun chatbots sareng jasa kognitif nganggo platform

Ladenan kognitif mangrupikeun cara anu sanés pikeun komunikasi sareng pangguna, ngabantosan ngarobih pamundut sawenang-wenang kana paréntah anu jelas sareng ngalirkeunana ka bot. 

Ku kituna, chatbots mangrupakeun aplikasi pikeun gawé bareng requests, sarta jasa kognitif mangrupakeun parabot pikeun analisis calakan requests nu dibuka misah, tapi nu chatbot bisa ngakses, jadi "cerdas". 

Nyiptakeun chatbots

Diagram desain anu disarankeun pikeun bot di Azure nyaéta kieu: 

Kami ngagancangkeun pangwangunan nganggo jasa Azure: kami nyiptakeun chatbots sareng jasa kognitif nganggo platform

Pikeun ngarancang sareng ngembangkeun bot di Azure, paké Kerangka Bot. Sadia dina GitHub conto bot, Kamampuhan kerangka robah, ku kituna perlu tumut kana akun versi SDK nu dipaké dina bot.

Kerangka nyadiakeun sababaraha pilihan pikeun nyieun bot: ngagunakeun kode Palasik, parabot garis paréntah atawa flowcharts. Pilihan terakhir ngagambarkeun dialog; pikeun ieu anjeun tiasa nganggo manajer Komposer kerangka Bot. Éta diwangun dina Bot Framework SDK salaku alat pangembangan visual anu tiasa dianggo ku tim lintas disiplin pikeun nyiptakeun bot.

Kami ngagancangkeun pangwangunan nganggo jasa Azure: kami nyiptakeun chatbots sareng jasa kognitif nganggo platform

Bot Framework Composer ngamungkinkeun anjeun ngagunakeun blok pikeun nyiptakeun struktur dialog anu bakal dianggo bot. Salaku tambahan, anjeun tiasa nyiptakeun pemicu, nyaéta kecap konci anu bakal diréaksikeun bot nalika dialog. Contona, kecap "operator", "maling" atawa "eureun" jeung "cukup".

Dina Bot Framework Composer, anjeun tiasa nyiptakeun sistem dialog kompleks nganggo Dialog adaptif. Dialog tiasa nganggo jasa kognitif sareng kartu acara (Kartu Adaptif):

Kami ngagancangkeun pangwangunan nganggo jasa Azure: kami nyiptakeun chatbots sareng jasa kognitif nganggo platform

Saatos nyiptakeun, anjeun tiasa nyebarkeun chatbot dina langganan, sareng naskah anu disusun sacara otomatis bakal nyiptakeun sadaya sumber anu diperyogikeun: jasa kognitif, rencana Aplikasi, Wawasan Aplikasi, pangkalan data, sareng sajabana.

Tukang QnA

Pikeun nyieun bot saderhana dumasar kana pangkalan data Q&A perusahaan, anjeun tiasa nganggo jasa kognitif QnA Maker. Dilaksanakeun salaku wizard wéb anu saderhana, éta ngamungkinkeun anjeun pikeun ngalebetkeun tautan kana pangkalan pangaweruh perusahaan (URL FAQ) atanapi nganggo database dokumen dina format *.doc atanapi *.pdf salaku dasar. Saatos nyiptakeun indéks, bot bakal otomatis milih jawaban anu paling pas pikeun patarosan pangguna.

Nganggo QnAMaker, anjeun ogé tiasa nyiptakeun ranté pikeun ngajelaskeun patarosan kalayan nyiptakeun tombol otomatis, nambihan dasar pangaweruh sareng metadata, sareng ngalatih deui jasa nalika dianggo.

Ladenan ieu tiasa dianggo salaku chatbot anu ngan ukur ngalaksanakeun hiji fungsi ieu, atanapi salaku bagian tina chatbot kompléks anu ngagunakeun, gumantung kana pamundut, jasa AI atanapi elemen kerangka Bot.

Gawe sareng jasa kognitif anu sanés

Aya seueur jasa kognitif anu béda dina platform Azure. Sacara téknis, ieu mangrupikeun jasa wéb mandiri anu tiasa disebat tina kode. Salaku réspon, jasa ngirimkeun json tina format anu tangtu, anu tiasa dianggo dina chatbot.

Kami ngagancangkeun pangwangunan nganggo jasa Azure: kami nyiptakeun chatbots sareng jasa kognitif nganggo platform
Panggunaan chatbots anu paling umum nyaéta:

  1. Pangwanoh téks.
  2. Pangakuan kategori gambar Custom Vision Service anu ditetepkeun ku pamekar (kasus produksi: pangakuan naha karyawan nganggo topi keras, kacasoca atanapi topéng).
  3. Pangenal raray (kasus panggunaan anu saé nyaéta mariksa naha jalma anu ditaliti masangkeun beungeutna sorangan, atanapi, sebutkeun, poto anjing atanapi poto jalma anu béda jinisna).
  4. Pangwanoh ucapan.
  5. Analisis gambar.
  6. Tarjamahan (urang sadayana apal sabaraha noise tarjamahan simultaneous dina Skype disababkeun).
  7. Pariksa ejaan sareng saran pikeun ngabenerkeun kasalahan.

Luis

Ogé, pikeun nyieun bot anjeun bisa jadi kudu Luis (Layanan Cerdas Pamahaman Basa). Tujuan layanan:

  • Nangtukeun naha pernyataan pangguna asup akal sareng naha réspon bot diperyogikeun.
  • Ngurangan usaha pikeun nranskripsikeun ucapan pamaké (téks) kana paréntah anu kaharti ku bot.
  • Prediksi tujuan / maksud pangguna anu leres sareng nimba wawasan konci tina frasa dina dialog.
  • Ngidinan pamekar pikeun ngaluncurkeun bot nganggo ngan ukur sababaraha conto pangakuan arti sareng pelatihan tambahan salajengna pikeun bot salami operasi.
  • Aktipkeun pamekar ngagunakeun visualisasi pikeun meunteun kualitas transkripsi paréntah.
  • Mantuan dina perbaikan incremental dina pangakuan target leres.

Nyatana, tujuan utama LUIS nyaéta ngartos kalayan kamungkinan anu tangtu naon anu dimaksud ku pangguna sareng ngarobih pamundut alami janten paréntah anu harmonis. Pikeun mikawanoh nilai query, LUIS ngagunakeun sakumpulan intents (hartos, intentions) sareng éntitas (boh tos dikonpigurasi ku pamekar, atanapi dicandak sareng tos dibentuk "domain" - sababaraha pustaka siap-dijieun tina frasa standar anu disiapkeun ku Microsoft). 

Conto saderhana: anjeun gaduh bot anu masihan anjeun ramalan cuaca. Pikeun anjeunna, hajat bakal tarjamahan tina pamundut alam kana "aksi" - pamundut pikeun ramalan cuaca, sarta entitas bakal waktu jeung tempat. Ieu diagram kumaha maksud CheckWeather dianggo pikeun bot sapertos kitu.

Niat
panggih
Conto query alam

CheckWeather
{"type": "lokasi", "entity": "Moscow"}
{"type": "builtin.datetimeV2.date", "entity": "masa depan","resolusi":"2020-05-30"}
Kumaha cuaca isukan di Moscow?

CheckWeather
{ "type": "date_range", "entitas": "sabtu minggu ieu" }
Témbongkeun kuring ramalan keur sabtu minggu ieu

Pikeun ngagabungkeun QnA Maker sareng LUIS anjeun tiasa nganggo Pangirim

Kami ngagancangkeun pangwangunan nganggo jasa Azure: kami nyiptakeun chatbots sareng jasa kognitif nganggo platform

Nalika anjeun damel sareng QnA Maker sareng nampi pamundut ti pangguna, sistem nangtukeun naon persentase kamungkinan jawaban tina QnA cocog sareng pamundut. Upami probabilitina luhur, pangguna ngan saukur dibéré jawaban tina pangkalan pangaweruh perusahaan; upami rendah, pamundut tiasa dikirim ka LUIS pikeun klarifikasi. Ngagunakeun Dispatcher ngidinan Anjeun teu program logika ieu, tapi pikeun otomatis nangtukeun ujung ieu separation of requests tur gancang ngadistribusikaeun aranjeunna.

Nguji sareng nyebarkeun bot

aplikasi lokal sejen dipaké pikeun nguji, Bot kerangka émulator. Nganggo émulator, anjeun tiasa komunikasi sareng bot sareng pariksa pesen anu dikirim sareng ditampi. Émulator nampilkeun pesen sapertos anu bakal muncul dina antarmuka obrolan wéb sareng ngarékam pamundut sareng réspon JSON nalika ngirim pesen ka bot.

Conto ngagunakeun émulator dibere dina demo ieu, nu nembongkeun kreasi asisten virtual pikeun BMW. Video ogé nyarioskeun ngeunaan akselerator énggal pikeun nyiptakeun chatbots - template:

Kami ngagancangkeun pangwangunan nganggo jasa Azure: kami nyiptakeun chatbots sareng jasa kognitif nganggo platform
https://youtu.be/u7Gql-ClcVA?t=564

Anjeun oge bisa make témplat nalika nyieun chatbots Anjeun. 
Citakan ngidinan Anjeun teu nulis fungsi bot baku anew, tapi pikeun nambahkeun kode siap-dijieun salaku "skill". Hiji conto bisa jadi gawé bareng kalénder, nyieun pasini, jsb Kode kaahlian siap-dijieun diterbitkeun dina github.

Tés éta suksés, bot parantos siap, sareng ayeuna éta kedah dipedar sareng saluran disambungkeun. Publikasi dilaksanakeun nganggo Azure, sareng utusan atanapi jaringan sosial tiasa dianggo salaku saluran. Upami anjeun teu gaduh saluran anu diperyogikeun pikeun ngasupkeun data, anjeun tiasa milarian dina komunitas anu aya dina GitHab. 

Ogé, pikeun nyiptakeun chatbot anu lengkep salaku antarmuka pikeun komunikasi sareng pangguna sareng jasa kognitif, anjeun, tangtosna, peryogi jasa Azure tambahan, sapertos pangkalan data, tanpa server (Fungsi Azure), ogé jasa LogicApp sareng, sigana. , Kajadian Grid.

Kami ngagancangkeun pangwangunan nganggo jasa Azure: kami nyiptakeun chatbots sareng jasa kognitif nganggo platform

Evaluasi sarta Analytics

Pikeun meunteun interaksi pangguna, anjeun tiasa nganggo analitik anu diwangun dina Azure Bot Service sareng jasa Application Insights khusus.

Hasilna, anjeun tiasa ngumpulkeun inpormasi dumasar kana kritéria ieu:

  • Sabaraha pangguna ngaksés bot tina sababaraha saluran salami periode waktos anu dipilih.
  • Sabaraha pangguna anu ngirim hiji pesen balik engké sareng ngirim anu sanés.
  • Sabaraha tindakan anu dikirim sareng ditampi nganggo unggal saluran salami interval waktos anu ditangtukeun.

Nganggo Aplikasi Insights, anjeun tiasa ngawas aplikasi naon waé di Azure sareng, khususna, chatbots, kéngingkeun data tambahan ngeunaan kabiasaan pangguna, beban sareng réaksi chatbot. Perlu dicatet yén jasa Aplikasi Wawasan gaduh antarmuka sorangan dina portal Azure.

Anjeun oge bisa make data dikumpulkeun ngaliwatan layanan ieu nyieun visualizations tambahan sarta laporan analitik dina PowerBI. Conto sapertos laporan sareng template pikeun PowerBI tiasa dicandak di dieu.

Kami ngagancangkeun pangwangunan nganggo jasa Azure: kami nyiptakeun chatbots sareng jasa kognitif nganggo platform

Hatur nuhun sadayana pikeun perhatosan anjeun! Dina artikel ieu kami dipaké материал ti webinar ku Microsoft Azure arsiték Anna Fenyushina "Nalika jalma teu boga waktu. Kumaha 100% ngagunakeun chatbots sareng jasa kognitif pikeun ngajadikeun otomatis prosés rutin", dimana kami jelas nunjukkeun naon chatbots dina Azure sareng naon skenario anu dianggo, sareng ogé nunjukkeun kumaha cara nyiptakeun bot di QnA Maker dina menit 15 sareng kumaha struktur query ieu deciphered di LUIS. 

Kami ngadamel webinar ieu salaku bagian tina marathon online pikeun pamekar Dev Bootcamp. Éta ngeunaan produk anu nyepetkeun pamekaran sareng ngaleungitkeun sababaraha beban kerja rutin ti karyawan perusahaan nganggo alat-alat otomatis sareng modul Azure anu tos dikonpigurasikeun. Rékam tina webinar sanés anu kalebet dina marathon sayogi dina tautan ieu:

sumber: www.habr.com

Tambahkeun komentar