เกี่ยวกับ Codelab นี้
1 ก่อนเริ่มต้น
เอนทิตีเป็นกลไกใน Dialogflow สำหรับระบุและแยกข้อมูลที่เป็นประโยชน์จากอินพุตภาษาธรรมชาติ แม้ว่าเจตนาจะช่วยให้ตัวแทนเข้าใจแรงจูงใจเบื้องหลังอินพุตของผู้ใช้ที่เฉพาะเจาะจง แต่เอนทิตีจะใช้เพื่อเลือกข้อมูลที่เฉพาะเจาะจงซึ่งผู้ใช้พูดถึง ไม่ว่าจะเป็นที่อยู่บนถนน ชื่อผลิตภัณฑ์ และจำนวนที่มีหน่วย ข้อมูลสำคัญที่คุณต้องการรับจากคำขอของผู้ใช้จะมีเอนทิตีที่เกี่ยวข้อง
รายการต่อไปนี้อธิบายเอนทิตี 3 ประเภท
- เอนทิตีของระบบที่มาพร้อมกับ Dialogflow ช่วยให้ Agent สามารถดึงข้อมูลเกี่ยวกับแนวคิดที่หลากหลายโดยไม่ต้องกำหนดค่าเพิ่มเติม เช่น เอนทิตีของระบบพร้อมให้ใช้งานสำหรับการแยกวันที่ เวลา และสถานที่ตั้งจากอินพุตภาษาธรรมชาติ
- เอนทิตีนักพัฒนาแอปที่คุณกำหนดจะดึงข้อมูลเกี่ยวกับแนวคิดที่อยู่นอกเหนือจากที่เอนทิตีระบบครอบคลุม ตัวอย่างเช่น แบรนด์อาจสร้างเอนทิตีนักพัฒนาซอฟต์แวร์เพื่อจดจำชุดชื่อผลิตภัณฑ์ที่ไม่ซ้ำกัน
- เอนทิตีเซสชันซึ่งคุณกำหนดด้วยจะมีผลกับการสนทนาที่เฉพาะเจาะจงเท่านั้น เช่น คุณอาจสร้างเอนทิตีเซสชันเพื่อแสดงตัวเลือกที่คำนึงถึงเวลาซึ่งพร้อมให้บริการแก่ผู้ใช้รายหนึ่งๆ เมื่อทำการจอง
ข้อกำหนดเบื้องต้น
ก่อนดำเนินการต่อ คุณต้องทำ Codelab ต่อไปนี้ให้เสร็จ
นอกจากนี้ คุณยังต้องทำความเข้าใจแนวคิดและโครงสร้างพื้นฐานของ Dialogflow ซึ่งคุณสามารถดูได้จากวิดีโอต่อไปนี้ในเส้นทางสร้างแชทบอทด้วย Dialogflow
สิ่งที่คุณจะได้เรียนรู้
- วิธีสร้างและใช้เอนทิตีของระบบใน Dialogflow
- วิธีสร้างและใช้เอนทิตีนักพัฒนาแอปใน Dialogflow
- วิธีทดสอบเอเจนต์
สิ่งที่คุณจะสร้าง
- Agent Dialogflow ที่สร้างไว้แล้วในเวอร์ชันที่ปรับปรุงแล้ว
- เอนทิตีของนักพัฒนาแอปใน Dialogflow
- เอนทิตีระบบใน Dialogflow
สิ่งที่คุณต้องมี
- เว็บเบราว์เซอร์และอีเมลสำหรับเข้าสู่ระบบคอนโซล Dialogflow
2 วิธีเปิดใช้และใช้เอนทิตีของระบบใน Dialogflow
- ไปที่คอนโซลของ Dialogflow
- เลือกเอเจนต์เครื่องมือจัดตารางนัดหมายที่คุณสร้างไว้ก่อนหน้านี้
- คลิกเจตนา
- คลิกกำหนดเวลานัดหมายเพื่อเปิดการตั้งค่าเจตนา
คุณจะเห็นวลีการฝึก เช่น "นัดหมายเวลา 16:00 น.ของพรุ่งนี้" ซึ่งระบบจะดึงข้อมูลวันที่และเวลาออกมาเป็น @sys.date และ @sys.time โดยอัตโนมัติ คุณสามารถเพิ่มวลีการฝึกเพิ่มเติมเพื่อดูว่า Dialogflow แยกเอนทิตีของระบบโดยอัตโนมัติอย่างไร
ดังที่เห็น เอนทิตีของระบบช่วยให้ตัวแทนดึงข้อมูลเกี่ยวกับแนวคิดที่หลากหลายได้โดยไม่ต้องกำหนดค่าเพิ่มเติม ข้อมูล เช่น ที่อยู่ อีเมล สกุลเงิน และหมายเลขโทรศัพท์ เป็นตัวอย่างทั่วไปของเอนทิตีระบบ ดูข้อมูลเพิ่มเติมได้ที่เอนทิตีของระบบ
3 วิธีเปิดใช้และใช้เอนทิตีนักพัฒนาซอฟต์แวร์ใน Dialogflow
สร้างเอนทิตีนักพัฒนาแอป
ที่ผ่านมา คุณได้กล่าวถึงเครื่องมือจัดกำหนดเวลาการนัดหมายในลักษณะทั่วไป สมมติว่าเครื่องมือจัดตารางเวลาของคุณใช้สำหรับสำนักงานกรมการขนส่งทางบกของรัฐ ซึ่งให้บริการออกใบขับขี่และจดทะเบียนเป็นหลัก สร้างเอนทิตีเหล่านั้น
- คลิกเอนทิตี
- คลิกสร้างเอนทิตี
- ป้อน "AppointmentType" เป็นชื่อเอนทิตี จากนั้นเพิ่ม "การจดทะเบียนยานพาหนะ" และ "ใบขับขี่" เป็นค่าอ้างอิง 2 ค่าพร้อมคำพ้องความหมาย 2-3 คำตามที่เห็นในรูปภาพต่อไปนี้ คลิกบันทึก
คุณเพิ่มแถวที่มีบริการเพิ่มเติมเป็นประเภทเอนทิตีได้
- คลิกบันทึก
แก้ไขเจตนาเพื่อให้สอดคล้องกับเอนทิตีนักพัฒนาแอปที่สร้างขึ้นใหม่
- คลิกเจตนา
- ป้อน "นัดหมายทำใบขับขี่เวลา 15:00 น. พรุ่งนี้" ใน Intent การนัดหมาย
คุณจะเห็นการจดจำใบขับขี่ เวลา 15:00 น. และพรุ่งนี้โดยอัตโนมัติเป็นเอนทิตีของนักพัฒนาแอปและระบบ
- ป้อนวลีการฝึกต่อไปนี้
- การนัดหมายต่ออายุใบอนุญาตในวันจันทร์
- นัดหมายเวลา 14:00 น. วันจันทร์เพื่อขอใบอนุญาต
- การนัดหมายจดทะเบียนยานพาหนะสำหรับวันจันทร์
- คุณต้องทำให้ AppointmentType เป็นฟิลด์ที่ต้องระบุ เช่นเดียวกับเวลาและวันที่ โดยไปที่การกระทำและพารามิเตอร์ แล้วเลือกช่องทําเครื่องหมายในแถว AppointmentType
- เพิ่มพรอมต์ เช่น "คุณต้องการรับบริการใด DMV มีบริการออกใบขับขี่และจดทะเบียนยานพาหนะ" หากผู้ใช้ไม่ได้ระบุประเภทการนัดหมาย ระบบจะใช้พรอมต์
- คลิกบันทึก
4 ทดสอบแชทบ็อต
คุณสามารถทดสอบแชทบอทในเครื่องจำลอง Actions หรือใช้การผสานรวมเว็บหรือ Google Home ที่คุณได้เรียนรู้ไปก่อนหน้านี้
กรณีทดสอบ 1
ในกรณีนี้ ผู้ใช้ขอเพียงแค่ตั้งเวลานัดหมายโดยไม่มีข้อมูลทั้ง 3 อย่าง Dialogflow จึงขอวันที่ เวลา และประเภทการนัดหมายโดยใช้ข้อความแจ้งการป้อนข้อมูลช่องที่คุณตั้งค่าไว้
- ผู้ใช้: "นัดหมาย"
- แชทบ็อต: "วันที่เท่าไหร่"
- ผู้ใช้: "23 พฤษภาคม"
- แชทบอท: "คุณสะดวกเข้ามาเวลาไหน"
- ผู้ใช้: "10 โมงเช้า"
- แชทบอท: "คุณต้องการรับบริการใด DMV มีบริการออกใบขับขี่และจดทะเบียนยานพาหนะ"
- ผู้ใช้: "ใบอนุญาต"
- แชทบอท: "คุณพร้อมสำหรับการนัดหมายจดทะเบียนรถในวันที่ 2019-05-23 เวลา 10:00:00 น. แล้วพบกัน"
กรณีทดสอบ 2
ในกรณีนี้ ผู้ใช้ขอตั้งเวลานัดหมายโดยระบุข้อมูลเพียงบางส่วน Dialogflow จึงขอวันที่ เวลา และประเภทการนัดหมายโดยใช้ข้อความแจ้งการป้อนข้อมูลช่องที่คุณตั้งค่าไว้
- ผู้ใช้: "ต้องการนัดหมายเวลา 16:00 น. ของวันพรุ่งนี้"
- แชทบอท: "คุณต้องการรับบริการใด DMV มีบริการออกใบขับขี่และจดทะเบียนยานพาหนะ"
- ผู้ใช้: "ใบอนุญาต"
- แชทบอท: "คุณพร้อมสำหรับการนัดหมายทำใบขับขี่ในวันที่ 24-04-2019 เวลา 16:00:00 น. แล้วพบกัน"
กรณีทดสอบ 3
ในกรณีนี้ ผู้ใช้จะให้ข้อมูลทั้งหมด Dialogflow จะประมวลผลข้อมูลและให้คำตอบพร้อมการยืนยันการนัดหมาย
- ผู้ใช้: "นัดหมายการจดทะเบียนยานพาหนะเวลา 14:00 น. พรุ่งนี้"
- แชทบอท: "คุณพร้อมแล้วสำหรับการนัดหมายจดทะเบียนรถในวันที่ 24-04-2019 เวลา 14:00:00 น. แล้วพบกัน"
5 ล้างข้อมูล
หากคุณวางแผนที่จะทำ Codelab อื่นๆ ของ Dialogflow ให้เสร็จสมบูรณ์ ให้ข้ามส่วนนี้ไปก่อนและกลับมาทำในภายหลัง
ลบเอเจนต์ Dialogflow
- คลิก
ข้างเอเจนต์ที่มีอยู่
- ในแท็บทั่วไป ให้เลื่อนไปที่ด้านล่างแล้วคลิกลบเอเจนต์นี้
- พิมพ์ลบในกล่องโต้ตอบ แล้วคลิกลบ
6 ขอแสดงความยินดี
คุณสร้างแชทบอทที่จัดการอินพุตที่กำหนดเองด้วยเอนทิตีของนักพัฒนาซอฟต์แวร์ ตอนนี้คุณเป็นนักพัฒนาแชทบ็อตแล้ว
ดูข้อมูลเพิ่มเติม
ดูข้อมูลเพิ่มเติมได้จากแหล่งข้อมูลต่อไปนี้