สวัสดีฮับ! วันนี้เราจะแสดงให้คุณเห็นถึงวิธีการใช้ Azure เพื่อแก้ไขปัญหาที่โดยทั่วไปต้องมีการแทรกแซงของมนุษย์ ตัวแทนใช้เวลาส่วนใหญ่ในการตอบคำถามเดียวกัน จัดการกับการโทรและข้อความ Chatbots ทำให้การสื่อสารและการจดจำเป็นแบบอัตโนมัติ และลดภาระของผู้คน นอกจากนี้ บอทยังใช้ใน Azure DevOps ซึ่งอนุญาตให้อนุมัติการเผยแพร่ จัดการบิลด์ ดู เริ่มต้น และหยุด โดยตรงจาก Slack หรือ Microsoft Teams โดยพื้นฐานแล้ว แชทบอทนั้นค่อนข้างชวนให้นึกถึง CLI มีเพียงการโต้ตอบเท่านั้น และช่วยให้นักพัฒนายังคงอยู่ในบริบทของการสนทนาแชท
ในบทความนี้ เราจะพูดถึงเครื่องมือสำหรับการสร้างแชทบอท แสดงให้เห็นว่าสามารถปรับปรุงด้วยบริการการรับรู้ได้อย่างไร และอธิบายวิธีเร่งการพัฒนาด้วยบริการสำเร็จรูปใน Azure
Chatbots และบริการการรับรู้: อะไรคือความคล้ายคลึงและความแตกต่างคืออะไร?
หากต้องการสร้างบอทใน Microsoft Azure คุณต้องใช้บริการ Azure Bot และ Bot Framework สิ่งเหล่านี้ร่วมกันเป็นตัวแทนของชุดซอฟต์แวร์สำหรับการสร้าง การทดสอบ การปรับใช้ และการจัดการบอท ซึ่งช่วยให้คุณสร้างจากโมดูลสำเร็จรูปทั้งระบบการสื่อสารที่เรียบง่ายและขั้นสูงพร้อมการรองรับคำพูด การจดจำภาษาธรรมชาติ และความสามารถอื่น ๆ
สมมติว่าคุณต้องใช้บอทแบบง่ายตามบริการถามตอบขององค์กร หรือในทางกลับกัน สร้างบอทที่ใช้งานได้ด้วยระบบการสื่อสารแบบแยกสาขาที่ซับซ้อน ในการดำเนินการนี้ คุณสามารถใช้เครื่องมือจำนวนหนึ่ง โดยแบ่งออกเป็นสามกลุ่ม:
- บริการสำหรับการพัฒนาอินเทอร์เฟซโต้ตอบ (บอท) อย่างรวดเร็ว
- บริการ AI การรับรู้ที่พร้อมใช้งานสำหรับกรณีการใช้งานที่แตกต่างกัน (การจดจำรูปแบบ การรู้จำคำพูด ฐานความรู้ และการค้นหา)
- บริการสำหรับการสร้างและฝึกอบรมโมเดล AI
โดยทั่วไปแล้ว ผู้คนจะสับสนระหว่าง "บอท" และ "บริการด้านความรู้ความเข้าใจ" โดยสัญชาตญาณ เนื่องจากแนวคิดทั้งสองนั้นอยู่บนพื้นฐานของหลักการสื่อสาร และกรณีการใช้งานสำหรับบอทและบริการนั้นเกี่ยวข้องกับการสนทนา แต่แชทบอททำงานกับคำสำคัญและทริกเกอร์ และบริการการรับรู้ทำงานกับคำขอที่กำหนดเองซึ่งโดยปกติแล้วมนุษย์จะประมวลผล:
บริการการรับรู้เป็นอีกวิธีหนึ่งในการสื่อสารกับผู้ใช้ ช่วยแปลงคำขอตามอำเภอใจให้เป็นคำสั่งที่ชัดเจนและส่งต่อไปยังบอท
ดังนั้น แชทบอทจึงเป็นแอปพลิเคชันสำหรับการทำงานกับคำขอ และบริการการรับรู้เป็นเครื่องมือสำหรับการวิเคราะห์คำขออย่างชาญฉลาดที่เปิดตัวแยกกัน แต่แชทบอทสามารถเข้าถึงได้ และกลายเป็น "อัจฉริยะ"
การสร้างแชทบอท
ไดอะแกรมการออกแบบที่แนะนำสำหรับบอทใน Azure มีดังนี้:
หากต้องการออกแบบและพัฒนาบอทใน Azure ให้ใช้
กรอบงานมีตัวเลือกมากมายสำหรับการสร้างบอท: การใช้โค้ดคลาสสิก เครื่องมือบรรทัดคำสั่ง หรือผังงาน ตัวเลือกสุดท้ายจะแสดงภาพกล่องโต้ตอบ ซึ่งคุณสามารถใช้ผู้จัดการได้
Bot Framework Composer อนุญาตให้คุณใช้บล็อกเพื่อสร้างโครงสร้างบทสนทนาที่บอทจะทำงาน นอกจากนี้ คุณสามารถสร้างทริกเกอร์ ซึ่งก็คือคีย์เวิร์ดที่บอทจะโต้ตอบระหว่างการสนทนา ตัวอย่างเช่น คำว่า "ผู้ดำเนินการ" "ขโมย" หรือ "หยุด" และ "เพียงพอ"
ใน Bot Framework Composer คุณสามารถสร้างระบบไดอะล็อกที่ซับซ้อนได้โดยใช้
หลังจากการสร้าง คุณสามารถปรับใช้แชทบอตในการสมัครสมาชิก และสคริปต์ที่เตรียมไว้โดยอัตโนมัติจะสร้างทรัพยากรที่จำเป็นทั้งหมด: บริการการรับรู้ แผนแอปพลิเคชัน ข้อมูลเชิงลึกของแอปพลิเคชัน ฐานข้อมูล และอื่นๆ
ผู้สร้าง QnA
หากต้องการสร้างบอทแบบง่ายตามฐานข้อมูลถามตอบขององค์กร คุณสามารถใช้บริการการรับรู้ QnA Maker ได้ ใช้งานเป็นเว็บวิซาร์ดง่ายๆ โดยช่วยให้คุณสามารถป้อนลิงก์ไปยังฐานความรู้ขององค์กร (URL ของคำถามที่พบบ่อย) หรือใช้ฐานข้อมูลเอกสารในรูปแบบ *.doc หรือ *.pdf เป็นพื้นฐาน หลังจากสร้างดัชนีแล้ว บอทจะเลือกคำตอบที่เหมาะสมที่สุดสำหรับคำถามของผู้ใช้โดยอัตโนมัติ
เมื่อใช้ QnAMaker คุณสามารถสร้างกลุ่มคำถามเพื่อชี้แจงด้วยการสร้างปุ่มอัตโนมัติ เสริมฐานความรู้ด้วยเมตาดาต้า และฝึกอบรมบริการเพิ่มเติมระหว่างการใช้งาน
บริการนี้สามารถใช้เป็นแชทบอตที่ใช้ฟังก์ชันนี้เพียงฟังก์ชันเดียว หรือเป็นส่วนหนึ่งของแชทบอตที่ซับซ้อนที่ใช้งานบริการ AI อื่น ๆ หรือองค์ประกอบของ Bot Framework ขึ้นอยู่กับคำขอ
การทำงานร่วมกับบริการทางปัญญาอื่นๆ
มีบริการการรับรู้ที่แตกต่างกันมากมายบนแพลตฟอร์ม Azure ในทางเทคนิคแล้ว บริการเหล่านี้เป็นบริการบนเว็บอิสระที่สามารถเรียกได้จากโค้ด เพื่อเป็นการตอบสนอง บริการจะส่ง json ในรูปแบบใดรูปแบบหนึ่ง ซึ่งสามารถใช้ในแชทบอตได้
การใช้งาน Chatbot ที่พบบ่อยที่สุดคือ:
- การรับรู้ข้อความ
- การรับรู้หมวดหมู่รูปภาพ Custom Vision Service ที่นักพัฒนากำหนด (กรณีการผลิต: การรับรู้ว่าพนักงานสวมหมวกแข็ง แว่นตา หรือหน้ากาก)
- การจดจำใบหน้า (กรณีการใช้งานที่ดีเยี่ยมคือการตรวจสอบว่าผู้ถูกสำรวจโพสต์ใบหน้าของตนเอง หรือ เช่น รูปสุนัข หรือรูปถ่ายของบุคคลที่มีเพศต่างกัน)
- การรู้จำเสียง
- การวิเคราะห์ภาพ
- การแปล (เราทุกคนจำได้ว่าเสียงรบกวนในการแปล Skype เกิดขึ้นมากเพียงใด)
- การตรวจสอบการสะกดและคำแนะนำในการแก้ไขข้อผิดพลาด
LUIS
นอกจากนี้ คุณอาจต้องสร้างบอทด้วย
- พิจารณาว่าข้อความของผู้ใช้สมเหตุสมผลหรือไม่ และการตอบสนองของบอทจำเป็นหรือไม่
- ลดความพยายามในการถอดเสียงคำพูด (ข้อความ) ของผู้ใช้เป็นคำสั่งที่บอทเข้าใจได้
- คาดการณ์เป้าหมาย/เจตนาที่แท้จริงของผู้ใช้ และดึงข้อมูลเชิงลึกที่สำคัญจากวลีในบทสนทนา
- อนุญาตให้นักพัฒนาเปิดใช้บอทโดยใช้ตัวอย่างการจดจำความหมายเพียงไม่กี่ตัวอย่างและการฝึกอบรมบอทเพิ่มเติมในภายหลังระหว่างการดำเนินการ
- ช่วยให้นักพัฒนาสามารถใช้การแสดงภาพเพื่อประเมินคุณภาพของการถอดเสียงคำสั่ง
- ช่วยเหลือในการปรับปรุงที่เพิ่มขึ้นในการจดจำเป้าหมายที่แท้จริง
ในความเป็นจริง เป้าหมายหลักของ LUIS คือการทำความเข้าใจด้วยความน่าจะเป็นว่าผู้ใช้หมายถึงอะไร และแปลงคำขอตามธรรมชาติให้เป็นคำสั่งที่กลมกลืนกัน ในการรับรู้ค่าการสืบค้น LUIS จะใช้ชุดของเจตนา (ความหมาย เจตนา) และเอนทิตี (ไม่ว่าจะกำหนดค่าไว้ล่วงหน้าโดยนักพัฒนา หรือ "โดเมน" ที่ถ่ายและจัดรูปแบบไว้ล่วงหน้า - ไลบรารีสำเร็จรูปบางวลีมาตรฐานที่จัดทำโดย Microsoft)
ตัวอย่างง่ายๆ: คุณมีบอทที่ให้ข้อมูลพยากรณ์อากาศ สำหรับเขา จุดประสงค์คือการแปลคำขอตามธรรมชาติเป็น "การกระทำ" - คำขอพยากรณ์อากาศ และเอนทิตีจะเป็นเวลาและสถานที่ นี่คือแผนภาพแสดงวิธีการทำงานของ CheckWeather สำหรับบอทดังกล่าว
เจตนา
แก่นแท้
ตัวอย่างของแบบสอบถามทั่วไป
ตรวจสอบสภาพอากาศ
{"ประเภท": "สถานที่", "เอนทิตี": "มอสโก"}
{"type": "builtin.datetimeV2.date", "entity": "future", "ความละเอียด": "2020-05-30"}
พรุ่งนี้สภาพอากาศในมอสโกจะเป็นอย่างไร
ตรวจสอบสภาพอากาศ
{ "type": "date_range", "เอนทิตี": "สุดสัปดาห์นี้" }
แสดงพยากรณ์อากาศสำหรับสุดสัปดาห์นี้
หากต้องการรวม QnA Maker และ LUIS คุณสามารถใช้ได้
เมื่อคุณทำงานกับ QnA Maker และได้รับคำขอจากผู้ใช้ ระบบจะกำหนดเปอร์เซ็นต์ความน่าจะเป็นที่คำตอบจาก QnA จะตรงกับคำขอ หากมีความน่าจะเป็นสูง ผู้ใช้จะได้รับคำตอบจากฐานความรู้ขององค์กร หากมีค่าต่ำ ก็สามารถส่งคำขอไปที่ LUIS เพื่อขอคำชี้แจงได้ การใช้ Dispatcher ช่วยให้คุณไม่ต้องตั้งโปรแกรมลอจิกนี้ แต่สามารถกำหนดขอบของการแยกคำขอโดยอัตโนมัติและกระจายอย่างรวดเร็ว
การทดสอบและการเผยแพร่บอท
แอปพลิเคชันท้องถิ่นอื่นใช้สำหรับการทดสอบ
ตัวอย่างการใช้เครื่องจำลองถูกนำเสนอในการสาธิตนี้ ซึ่งแสดงให้เห็นการสร้างผู้ช่วยเสมือนสำหรับ BMW วิดีโอยังพูดถึงตัวเร่งความเร็วใหม่สำหรับการสร้างแชทบอท - เทมเพลต:
คุณยังสามารถใช้เทมเพลตเมื่อสร้างแชทบอทของคุณได้
เทมเพลตช่วยให้คุณไม่ต้องเขียนฟังก์ชันบอทมาตรฐานใหม่ แต่เพิ่มโค้ดสำเร็จรูปเป็น "ทักษะ" ตัวอย่างอาจเป็นการทำงานกับปฏิทิน การนัดหมาย ฯลฯ รหัสทักษะสำเร็จรูป
การทดสอบสำเร็จ บอทพร้อม และตอนนี้จำเป็นต้องเผยแพร่และเชื่อมต่อช่องทางต่างๆ การเผยแพร่ดำเนินการโดยใช้ Azure และผู้ส่งสารหรือเครือข่ายโซเชียลสามารถใช้เป็นช่องทางได้ หากคุณไม่มีช่องทางที่จำเป็นสำหรับการป้อนข้อมูล คุณสามารถค้นหาได้ในชุมชนที่เกี่ยวข้องบน GitHab
นอกจากนี้ ในการสร้างแชทบอทเต็มรูปแบบเป็นอินเทอร์เฟซสำหรับการสื่อสารกับผู้ใช้และบริการการรับรู้ คุณจะต้องใช้บริการ Azure เพิ่มเติม เช่น ฐานข้อมูล ไร้เซิร์ฟเวอร์ (ฟังก์ชัน Azure) รวมถึงบริการ LogicApp และอาจเป็นไปได้ , ตารางเหตุการณ์
การประเมินและการวิเคราะห์
เพื่อประเมินการโต้ตอบของผู้ใช้ คุณสามารถใช้ทั้งการวิเคราะห์ในตัวของ Azure Bot Service และบริการ Application Insights พิเศษ
ด้วยเหตุนี้ คุณจึงสามารถรวบรวมข้อมูลตามเกณฑ์ต่อไปนี้:
- จำนวนผู้ใช้ที่เข้าถึงบอทจากช่องทางต่างๆ ในช่วงเวลาที่เลือก
- จำนวนผู้ใช้ที่ส่งข้อความหนึ่งกลับมาในภายหลังและส่งอีกข้อความหนึ่ง
- จำนวนการดำเนินการที่ส่งและรับในแต่ละช่องทางในช่วงเวลาที่กำหนด
เมื่อใช้ Application Insights คุณสามารถตรวจสอบแอปพลิเคชันใดๆ ใน Azure และโดยเฉพาะแชทบอท เพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับพฤติกรรมของผู้ใช้ ปริมาณงาน และปฏิกิริยาของแชทบอต ควรสังเกตว่าบริการ Application Insights มีอินเทอร์เฟซของตนเองในพอร์ทัล Azure
คุณยังสามารถใช้ข้อมูลที่รวบรวมผ่านบริการนี้เพื่อสร้างการแสดงภาพและรายงานการวิเคราะห์เพิ่มเติมใน PowerBI สามารถนำตัวอย่างของรายงานและเทมเพลตสำหรับ PowerBI ดังกล่าวได้
ขอขอบคุณทุกท่านที่ให้ความสนใจ! ในบทความนี้เราใช้
เราจัดทำสัมมนาผ่านเว็บนี้โดยเป็นส่วนหนึ่งของการวิ่งมาราธอนออนไลน์สำหรับนักพัฒนา Dev Bootcamp เป็นเรื่องเกี่ยวกับผลิตภัณฑ์ที่เร่งการพัฒนาและลดภาระงานประจำบางส่วนจากพนักงานบริษัทโดยใช้เครื่องมืออัตโนมัติและโมดูล Azure ที่กำหนดค่าล่วงหน้าไว้ล่วงหน้า บันทึกการสัมมนาผ่านเว็บอื่นๆ ที่รวมอยู่ในการวิ่งมาราธอนมีอยู่ที่ลิงก์ต่อไปนี้:
Azure DevOps เป็นวิธีการจัดการวงจรการพัฒนาเต็มรูปแบบในภาษาต่างๆ และสำหรับแพลตฟอร์มใดๆ โดยใช้แนวทางปฏิบัติ DevOps
เราพูดคุยเกี่ยวกับวิวัฒนาการและความสามารถใหม่ของบริการ Azure DevOps เราวิเคราะห์องค์ประกอบหลักทั้งห้าอย่างละเอียดและวิธีที่บริการนี้ช่วยองค์กรในการพัฒนาซอฟต์แวร์อุตสาหกรรม ผู้นำเสนอ: Vladimir Gusarov Microsoft MVPการจัดระเบียบ CI/CD โดยใช้ Azure Pipelines
เราพิจารณาวิธีการใช้แนวทาง "แอสเซมบลีเป็นโค้ด" สำหรับภาษาการเขียนโปรแกรมใด ๆ ที่ใช้ไปป์ไลน์ YAML แบบหลายขั้นตอน ผู้นำเสนอ: Vladimir Gusarov Microsoft MVPแนวทางปฏิบัติในการสนับสนุนผลิตภัณฑ์หลายเวอร์ชันในการผลิตพร้อมกันโดยใช้ Azure Repos
เราหารือถึงวิธีการพัฒนากลยุทธ์สำหรับการจัดเก็บซอร์สโค้ดของซอฟต์แวร์ และวิธีใช้ระบบการจัดเก็บเวอร์ชันโดยใช้ Azure Repos ผู้นำเสนอ: Vladimir Gusarov Microsoft MVPไวท์ซอร์ส การตรวจสอบไลบรารีโอเพ่นซอร์สที่ปลอดภัย
เราแนะนำเทคนิคการจัดการโอเพ่นซอร์สในการพัฒนาและการประยุกต์ใช้เครื่องมือ WhiteSource ในทางปฏิบัติ เราพูดถึงการค้นหาช่องโหว่ในส่วนประกอบโอเพ่นซอร์สและการรักษาความบริสุทธิ์ของสิทธิ์การใช้งานโดยใช้ WhiteSource ผู้นำเสนอ: Diana Lisbaron ผู้อำนวยการฝ่ายขาย WhiteSource และ Daria Oreshkina ระบบควบคุมเว็บ ผู้จัดจำหน่าย WhiteSource อย่างเป็นทางการในรัสเซีย
ที่มา: will.com