Бид Azure үйлчилгээг ашиглан хөгжлийг хурдасгадаг: бид платформ ашиглан чатбот болон танин мэдэхүйн үйлчилгээг бий болгодог

Сайн уу, Хабр! Өнөөдөр бид Azure-г ашиглан хүний ​​оролцоог шаарддаг асуудлуудыг хэрхэн шийдвэрлэхийг харуулах болно. Агентууд ижил асуултуудад хариулж, утасны дуудлага, мессеж бичихэд маш их цаг зарцуулдаг. Чатбот нь харилцаа холбоо, танилтыг автоматжуулж, хүмүүсийн ачааллыг бууруулдаг. Ботуудыг мөн Azure DevOps-д ашигладаг бөгөөд жишээлбэл, Slack эсвэл Microsoft Teams-аас шууд хувилбаруудыг батлах, бүтээцийг харах, эхлүүлэх, зогсоох зэрэг боломжийг олгодог. Үндсэндээ чатбот нь CLI-г санагдуулдаг, зөвхөн интерактив бөгөөд хөгжүүлэгч чатын хэлэлцүүлгийн хүрээнд үлдэх боломжийг олгодог.

Энэ нийтлэлд бид чатбот үүсгэх хэрэгслүүдийн талаар ярьж, танин мэдэхүйн үйлчилгээгээр тэдгээрийг хэрхэн сайжруулах, Azure дахь бэлэн үйлчилгээнүүдийн тусламжтайгаар хөгжлийг хэрхэн хурдасгах талаар тайлбарлах болно.

Бид Azure үйлчилгээг ашиглан хөгжлийг хурдасгадаг: бид платформ ашиглан чатбот болон танин мэдэхүйн үйлчилгээг бий болгодог

Чатбот ба танин мэдэхүйн үйлчилгээ: ижил төстэй байдал, ялгаа нь юу вэ?

Microsoft Azure дээр робот үүсгэхийн тулд та Azure Bot Service болон Bot Framework-ийг ашигладаг. Тэд хамтдаа роботуудыг бүтээх, турших, ашиглах, удирдахад зориулагдсан програм хангамжийн багц бөгөөд энэ нь бэлэн модулиудаас ярианы дэмжлэг, байгалийн хэл таних болон бусад чадвар бүхий энгийн болон дэвшилтэт харилцааны системийг бий болгох боломжийг олгодог.

Та корпорацийн асуулт хариултын үйлчилгээнд суурилсан энгийн роботыг хэрэгжүүлэх эсвэл эсрэгээр, нарийн төвөгтэй, салаалсан холбооны систем бүхий функциональ бот үүсгэх хэрэгтэй гэж бодъё. Үүнийг хийхийн тулд та гурван бүлэгт хуваагдсан хэд хэдэн хэрэгслийг ашиглаж болно. 

  1. Харилцах интерфейсийг (бот) хурдан хөгжүүлэх үйлчилгээ.
  2. Төрөл бүрийн хэрэглээнд зориулагдсан танин мэдэхүйн хиймэл оюун ухааны бэлэн үйлчилгээ (загвар таних, яриа таних, мэдлэгийн сан, хайлт).
  3. AI загвар бүтээх, сургах үйлчилгээ.

Ихэвчлэн хүмүүс "бот" болон "танин мэдэхүйн үйлчилгээ" хоёрыг төөрөлдүүлдэг, учир нь эдгээр ойлголтууд нь харилцааны зарчимд суурилдаг бөгөөд робот, үйлчилгээг ашиглах тохиолдолд харилцан яриа байдаг. Гэхдээ чатботууд нь түлхүүр үг болон триггерүүдтэй ажилладаг бөгөөд танин мэдэхүйн үйлчилгээнүүд нь ихэвчлэн хүмүүс боловсруулдаг дурын хүсэлтүүдтэй ажилладаг: 

Бид Azure үйлчилгээг ашиглан хөгжлийг хурдасгадаг: бид платформ ашиглан чатбот болон танин мэдэхүйн үйлчилгээг бий болгодог

Танин мэдэхүйн үйлчилгээ нь хэрэглэгчтэй харилцах өөр нэг арга бөгөөд дурын хүсэлтийг тодорхой команд болгон хувиргаж, робот руу дамжуулахад тусалдаг. 

Тиймээс чатботууд нь хүсэлтүүдтэй ажиллах програмууд бөгөөд танин мэдэхүйн үйлчилгээнүүд нь тусад нь эхлүүлсэн боловч чатбот хандах боломжтой хүсэлтийг ухаалгаар шинжлэх хэрэгсэл бөгөөд "ухаалаг" болдог. 

Чатбот үүсгэх

Azure дахь роботын санал болгож буй дизайны диаграмм нь дараах байдалтай байна. 

Бид Azure үйлчилгээг ашиглан хөгжлийг хурдасгадаг: бид платформ ашиглан чатбот болон танин мэдэхүйн үйлчилгээг бий болгодог

Azure-д роботуудыг зохион бүтээх, хөгжүүлэхийн тулд ашиглана уу Bot Framework. GitHub дээр ашиглах боломжтой ботуудын жишээ, хүрээний боломжууд өөрчлөгддөг тул роботуудад ашигладаг SDK-ийн хувилбарыг харгалзан үзэх шаардлагатай.

Энэхүү хүрээ нь бот үүсгэх хэд хэдэн сонголтыг өгдөг: сонгодог код, командын мөрийн хэрэгсэл эсвэл урсгал диаграмыг ашиглах. Сүүлийн сонголт нь харилцах цонхыг дүрслэн харуулах бөгөөд үүний тулд та менежерийг ашиглаж болно Bot Framework Composer. Энэ нь Bot Framework SDK дээр бүтээгдсэн бөгөөд салбар хоорондын баг бот үүсгэхэд ашиглаж болохуйц харааны хөгжүүлэлтийн хэрэгсэл юм.

Бид Azure үйлчилгээг ашиглан хөгжлийг хурдасгадаг: бид платформ ашиглан чатбот болон танин мэдэхүйн үйлчилгээг бий болгодог

Bot Framework Composer нь танд блокуудыг ашиглан бот ажиллах харилцан ярианы бүтцийг бий болгох боломжийг олгодог. Нэмж дурдахад та триггер, өөрөөр хэлбэл харилцан ярианы үеэр робот хариу үйлдэл үзүүлэх түлхүүр үгсийг үүсгэж болно. Жишээлбэл, "оператор", "хулгай" эсвэл "зогсоох", "хангалттай" гэсэн үгс.

Bot Framework Composer-д та нарийн төвөгтэй харилцах системийг ашиглан үүсгэж болно Дасан зохицох харилцах цонхнууд. Харилцан яриа нь танин мэдэхүйн үйлчилгээ болон үйл явдлын картыг хоёуланг нь ашиглаж болно (Дасан зохицох картууд):

Бид Azure үйлчилгээг ашиглан хөгжлийг хурдасгадаг: бид платформ ашиглан чатбот болон танин мэдэхүйн үйлчилгээг бий болгодог

Үүсгэсэний дараа та чатботыг захиалгаар байршуулах боломжтой бөгөөд автоматаар бэлтгэсэн скрипт нь танин мэдэхүйн үйлчилгээ, Хэрэглээний төлөвлөгөө, Хэрэглээний ойлголт, мэдээллийн сан гэх мэт шаардлагатай бүх нөөцийг бий болгоно.

QnA Maker

Корпорацийн асуулт хариултын мэдээллийн санд суурилсан энгийн роботуудыг үүсгэхийн тулд та QnA Maker танин мэдэхүйн үйлчилгээг ашиглаж болно. Энгийн вэб шидтэн хэлбэрээр хэрэгжсэн бөгөөд энэ нь танд корпорацийн мэдлэгийн сан (FAQ URL) руу холбоос оруулах эсвэл баримт бичгийн мэдээллийн санг *.doc эсвэл *.pdf форматаар ашиглах боломжийг олгодог. Индексийг үүсгэсний дараа бот нь хэрэглэгчийн асуултад хамгийн тохиромжтой хариултыг автоматаар сонгох болно.

QnAMaker-ийг ашигласнаар та товчлууруудыг автоматаар үүсгэх замаар тодруулах асуултуудын гинж үүсгэж, мэдлэгийн санг мета өгөгдлөөр баяжуулж, ашиглалтын явцад үйлчилгээг цаашид сургах боломжтой.

Энэ үйлчилгээг зөвхөн энэ функцийг хэрэгжүүлдэг чатбот эсвэл хүсэлтээс хамааран бусад хиймэл оюун ухааны үйлчилгээ эсвэл Bot Framework-ийн элементүүдийг ашигладаг цогц чатботын нэг хэсэг болгон ашиглаж болно.

Бусад танин мэдэхүйн үйлчилгээтэй ажиллах

Azure платформ дээр танин мэдэхүйн олон төрлийн үйлчилгээ байдаг. Техникийн хувьд эдгээр нь кодоос дуудаж болох бие даасан вэб үйлчилгээ юм. Үүний хариуд үйлчилгээ нь чатбот дээр ашиглах боломжтой тодорхой форматтай json-г илгээдэг.

Бид Azure үйлчилгээг ашиглан хөгжлийг хурдасгадаг: бид платформ ашиглан чатбот болон танин мэдэхүйн үйлчилгээг бий болгодог
Чатботуудын хамгийн түгээмэл хэрэглээ нь:

  1. Текст таних.
  2. Хөгжүүлэгчийн тодорхойлсон Custom Vision Service зургийн ангиллыг хүлээн зөвшөөрөх (үйлдвэрлэлийн тохиолдол: ажилтан хатуу малгай, нүдний шил эсвэл маск өмссөн эсэхийг таних).
  3. Нүүр царай таних (маш сайн хэрэглэгдэхүүн бол судалгаанд хамрагдсан хүн өөрийн нүүр царай, эсвэл нохойны зураг эсвэл өөр хүйсийн хүний ​​зургийг байрлуулсан эсэхийг шалгах явдал юм).
  4. Яриа таних.
  5. Зургийн шинжилгээ.
  6. Орчуулга (Скайп дээр синхрон орчуулга хийхэд хэр их шуугиан тарьсныг бид бүгд санаж байна).
  7. Үг үсгийн шалгалт, алдаа засах зөвлөмж.

Люис

Мөн робот үүсгэхийн тулд танд хэрэгтэй байж магадгүй юм Люис (Language Understanding Intelligent Service). Үйлчилгээний зорилго:

  • Хэрэглэгчийн мэдэгдэл утга учиртай эсэх, роботын хариу шаардлагатай эсэхийг тодорхойлох.
  • Хэрэглэгчийн яриаг (текст) ботод ойлгомжтой команд болгон хөрвүүлэх хүчин чармайлтыг багасгах.
  • Хэрэглэгчийн жинхэнэ зорилго/зорилтыг урьдчилан таамаглаж, харилцан ярианы хэллэгүүдээс гол ойлголтыг гаргаж аваарай.
  • Ботыг ажиллуулах явцад утгыг таних, дараа нь нэмэлт сургалтад хамрагдах цөөн хэдэн жишээг ашиглан хөгжүүлэгчид роботыг ажиллуулахыг зөвшөөрнө үү.
  • Командын транскрипцийн чанарыг үнэлэхийн тулд дүрслэл ашиглахыг хөгжүүлэгчийг идэвхжүүлнэ үү.
  • Жинхэнэ зорилтот таних чадварыг сайжруулахад туслах.

Үнэн хэрэгтээ LUIS-ийн гол зорилго нь хэрэглэгч юу гэсэн үг болохыг тодорхой магадлалаар ойлгож, байгалийн хүсэлтийг эв нэгдэлтэй команд болгон хувиргах явдал юм. Асуулгын утгыг танихын тулд LUIS нь зорилго (утга, санаа) болон нэгжийн багцыг (хөгжүүлэгчдийн урьдчилан тохируулсан, эсвэл урьдчилан үүсгэсэн "домайн" - Microsoft-ын бэлтгэсэн стандарт хэллэгүүдийн зарим бэлэн номын сангууд) ашигладаг. 

Энгийн жишээ: танд цаг агаарын урьдчилсан мэдээ өгдөг робот байна. Түүний хувьд зорилго нь байгалийн хүсэлтийг "үйлдэл" болгон орчуулах болно - цаг агаарын урьдчилсан мэдээний хүсэлт байх бөгөөд байгууллагууд нь цаг хугацаа, газар байх болно. CheckWeather зорилго нь ийм ботын хувьд хэрхэн ажилладаг талаар диаграммыг энд харуулав.

Зорилго
Essence
Байгалийн асуулгын жишээ

Цаг агаарыг шалгана уу
{"төрөл": "байршил", "аж ахуйн нэгж": "москва"}
{"төрөл": "builtin.datetimeV2.date", "аж ахуйн нэгж": "ирээдүй","тогтоол":"2020-05-30"}
Маргааш Москвад цаг агаар ямар байх вэ?

Цаг агаарыг шалгана уу
{ "төрөл": "огнооны_муж", "аж ахуйн нэгж": "энэ амралтын өдөр"}
Энэ амралтын өдрүүдийн цаг агаарын урьдчилсан мэдээг харуул

QnA Maker болон LUIS-г нэгтгэхийн тулд та ашиглаж болно Диспетчер

Бид Azure үйлчилгээг ашиглан хөгжлийг хурдасгадаг: бид платформ ашиглан чатбот болон танин мэдэхүйн үйлчилгээг бий болгодог

Таныг QnA Maker-тэй ажиллаж, хэрэглэгчээс хүсэлт хүлээн авах үед QnA-ийн хариулт хүсэлттэй таарч байгаа магадлалын хэдэн хувийг систем тодорхойлдог. Хэрэв магадлал өндөр бол хэрэглэгчдэд корпорацийн мэдлэгийн сангаас хариулт өгөх бөгөөд хэрэв бага бол хүсэлтийг LUIS руу илгээж тодруулж болно. Диспетчер ашиглах нь энэ логикийг програмчлахгүй, харин хүсэлтийг салгах ирмэгийг автоматаар тодорхойлж, тэдгээрийг хурдан тараах боломжийг олгодог.

Ботыг туршиж, нийтэлж байна

Өөр нэг орон нутгийн програмыг туршилтанд ашигладаг. Бот хүрээний эмулятор. Эмулятор ашиглан та боттой харилцаж, түүний илгээж, хүлээн авсан мессежийг шалгаж болно. Эмулятор нь вэб чатын интерфэйс дээр гарч ирэх мессежүүдийг харуулдаг бөгөөд бот руу мессеж илгээх үед JSON хүсэлт, хариултыг бүртгэдэг.

Эмулятор ашиглах жишээг BMW-д зориулсан виртуал туслах бүтээхийг харуулсан энэхүү демо-д үзүүлэв. Видео нь чатбот үүсгэх шинэ хурдасгууруудын тухай өгүүлдэг - загварууд:

Бид Azure үйлчилгээг ашиглан хөгжлийг хурдасгадаг: бид платформ ашиглан чатбот болон танин мэдэхүйн үйлчилгээг бий болгодог
https://youtu.be/u7Gql-ClcVA?t=564

Та чат роботоо үүсгэхдээ загвар ашиглаж болно. 
Загварууд нь стандарт ботын функцуудыг шинээр бичихгүй, харин бэлэн кодыг "ур чадвар" болгон нэмэх боломжийг олгодог. Жишээ нь хуанлитай ажиллах, цаг товлох гэх мэт. Бэлэн ур чадварын код нийтэлсэн github дээр.

Туршилт амжилттай болж, робот бэлэн болсон бөгөөд одоо үүнийг нийтэлж, сувгуудыг холбох шаардлагатай байна. Нийтлэлийг Azure ашиглан хийдэг бөгөөд мессенжер эсвэл нийгмийн сүлжээг суваг болгон ашиглаж болно. Хэрэв танд өгөгдөл оруулах шаардлагатай суваг байхгүй бол та GitHab дээрх холбогдох нийгэмлэгээс хайж болно. 

Мөн хэрэглэгч болон танин мэдэхүйн үйлчилгээтэй харилцах интерфейс болгон иж бүрэн чатбот үүсгэхийн тулд танд өгөгдлийн сан, сервергүй (Azure функцууд), мөн LogicApp үйлчилгээ зэрэг нэмэлт Azure үйлчилгээ хэрэгтэй болно. , Үйл явдлын сүлжээ.

Бид Azure үйлчилгээг ашиглан хөгжлийг хурдасгадаг: бид платформ ашиглан чатбот болон танин мэдэхүйн үйлчилгээг бий болгодог

Үнэлгээ ба аналитик

Хэрэглэгчийн харилцан үйлчлэлийг үнэлэхийн тулд та Azure Bot Service болон тусгай Application Insights үйлчилгээг хоёуланг нь ашиглаж болно.

Үүний үр дүнд та дараах шалгуурын дагуу мэдээлэл цуглуулж болно.

  • Сонгосон хугацаанд хэчнээн хэрэглэгч янз бүрийн сувгаас бот руу хандсан бэ.
  • Нэг мессеж илгээсэн хэдэн хэрэглэгч дараа нь буцаж ирээд өөр нэг мессеж илгээв.
  • Заасан хугацааны интервалд суваг тус бүрийг ашиглан хичнээн үйлдэл илгээж, хүлээн авсан бэ.

Application Insights-ийг ашигласнаар та Azure дахь ямар ч програм, ялангуяа чатботуудыг хянаж, хэрэглэгчийн зан байдал, ачаалал, чатбот хариу үйлдэл зэрэг нэмэлт мэдээллийг авах боломжтой. Application Insights үйлчилгээ нь Azure портал дахь өөрийн гэсэн интерфэйстэй гэдгийг тэмдэглэх нь зүйтэй.

Та мөн энэ үйлчилгээгээр дамжуулан цуглуулсан өгөгдлийг PowerBI дээр нэмэлт дүрслэл, аналитик тайланг үүсгэхэд ашиглаж болно. PowerBI-д зориулсан ийм тайлан, загварын жишээг авч болно энд.

Бид Azure үйлчилгээг ашиглан хөгжлийг хурдасгадаг: бид платформ ашиглан чатбот болон танин мэдэхүйн үйлчилгээг бий болгодог

Анхаарал тавьсан та бүхэнд баярлалаа! Энэ нийтлэлд бид ашигласан зүйл Microsoft Azure-ийн архитектор Анна Фенюшинагийн вебинараас “Хүмүүс цаг зав гарахгүй байх үед. Ердийн үйл явцыг автоматжуулахын тулд чатбот болон танин мэдэхүйн үйлчилгээг хэрхэн 100% ашиглах вэ?” гэсэн сэдвээр бид Azure-д чатботууд гэж юу болох, тэдгээрийг ашиглах хувилбарууд юу болохыг тодорхой харуулсан ба QnA Maker дээр 15 минутын дотор бот хэрхэн үүсгэх, хэрхэн ашиглах талаар харуулсан. асуулгын бүтцийг LUIS дээр тайлсан. 

Бид энэхүү вебинарыг Dev Bootcamp хөгжүүлэгчдэд зориулсан онлайн марафоны нэг хэсэг болгон хийлээ. Энэ нь автоматжуулалтын хэрэгсэл болон урьдчилан тохируулсан Azure модулиудыг ашиглан хөгжлийг хурдасгаж, компанийн ажилчдын ердийн ажлын ачааллыг хөнгөвчлөх бүтээгдэхүүнүүдийн тухай байв. Марафон гүйлтийн бусад вебинаруудын бичлэгийг дараах холбоосоор үзэх боломжтой.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх