ทำความเข้าใจเอนทิตีใน Dialogflow

ทำความเข้าใจเอนทิตีใน Dialogflow

เกี่ยวกับ Codelab นี้

subjectอัปเดตล่าสุดเมื่อ ต.ค. 8, 2020
account_circleเขียนโดย Joanna Smith

1 ก่อนเริ่มต้น

เอนทิตีเป็นกลไกใน Dialogflow สำหรับระบุและแยกข้อมูลที่เป็นประโยชน์จากอินพุตภาษาธรรมชาติ แม้ว่าเจตนาจะช่วยให้ตัวแทนเข้าใจแรงจูงใจเบื้องหลังอินพุตของผู้ใช้ที่เฉพาะเจาะจง แต่เอนทิตีจะใช้เพื่อเลือกข้อมูลที่เฉพาะเจาะจงซึ่งผู้ใช้พูดถึง ไม่ว่าจะเป็นที่อยู่บนถนน ชื่อผลิตภัณฑ์ และจำนวนที่มีหน่วย ข้อมูลสำคัญที่คุณต้องการรับจากคำขอของผู้ใช้จะมีเอนทิตีที่เกี่ยวข้อง

รายการต่อไปนี้อธิบายเอนทิตี 3 ประเภท

  • เอนทิตีของระบบที่มาพร้อมกับ Dialogflow ช่วยให้ Agent สามารถดึงข้อมูลเกี่ยวกับแนวคิดที่หลากหลายโดยไม่ต้องกำหนดค่าเพิ่มเติม เช่น เอนทิตีของระบบพร้อมให้ใช้งานสำหรับการแยกวันที่ เวลา และสถานที่ตั้งจากอินพุตภาษาธรรมชาติ
  • เอนทิตีนักพัฒนาแอปที่คุณกำหนดจะดึงข้อมูลเกี่ยวกับแนวคิดที่อยู่นอกเหนือจากที่เอนทิตีระบบครอบคลุม ตัวอย่างเช่น แบรนด์อาจสร้างเอนทิตีนักพัฒนาซอฟต์แวร์เพื่อจดจำชุดชื่อผลิตภัณฑ์ที่ไม่ซ้ำกัน
  • เอนทิตีเซสชันซึ่งคุณกำหนดด้วยจะมีผลกับการสนทนาที่เฉพาะเจาะจงเท่านั้น เช่น คุณอาจสร้างเอนทิตีเซสชันเพื่อแสดงตัวเลือกที่คำนึงถึงเวลาซึ่งพร้อมให้บริการแก่ผู้ใช้รายหนึ่งๆ เมื่อทำการจอง

ข้อกำหนดเบื้องต้น

ก่อนดำเนินการต่อ คุณต้องทำ Codelab ต่อไปนี้ให้เสร็จ

  1. สร้างกำหนดเวลาการนัดหมายด้วย Dialogflow
  2. ผสานรวมแชทบอท Dialogflow กับ Actions on Google

นอกจากนี้ คุณยังต้องทำความเข้าใจแนวคิดและโครงสร้างพื้นฐานของ Dialogflow ซึ่งคุณสามารถดูได้จากวิดีโอต่อไปนี้ในเส้นทางสร้างแชทบอทด้วย Dialogflow

สิ่งที่คุณจะได้เรียนรู้

  • วิธีสร้างและใช้เอนทิตีของระบบใน Dialogflow
  • วิธีสร้างและใช้เอนทิตีนักพัฒนาแอปใน Dialogflow
  • วิธีทดสอบเอเจนต์

สิ่งที่คุณจะสร้าง

  • Agent Dialogflow ที่สร้างไว้แล้วในเวอร์ชันที่ปรับปรุงแล้ว
  • เอนทิตีของนักพัฒนาแอปใน Dialogflow
  • เอนทิตีระบบใน Dialogflow

สิ่งที่คุณต้องมี

  • เว็บเบราว์เซอร์และอีเมลสำหรับเข้าสู่ระบบคอนโซล Dialogflow

2 วิธีเปิดใช้และใช้เอนทิตีของระบบใน Dialogflow

  1. ไปที่คอนโซลของ Dialogflow
  2. เลือกเอเจนต์เครื่องมือจัดตารางนัดหมายที่คุณสร้างไว้ก่อนหน้านี้

ecedc445a9578e3b.png

  1. คลิกเจตนา

37ee739b69fa1ae7.png

  1. คลิกกำหนดเวลานัดหมายเพื่อเปิดการตั้งค่าเจตนา

คุณจะเห็นวลีการฝึก เช่น "นัดหมายเวลา 16:00 น.ของพรุ่งนี้" ซึ่งระบบจะดึงข้อมูลวันที่และเวลาออกมาเป็น @sys.date และ @sys.time โดยอัตโนมัติ คุณสามารถเพิ่มวลีการฝึกเพิ่มเติมเพื่อดูว่า Dialogflow แยกเอนทิตีของระบบโดยอัตโนมัติอย่างไร

7dcdad1372191f90.png

ดังที่เห็น เอนทิตีของระบบช่วยให้ตัวแทนดึงข้อมูลเกี่ยวกับแนวคิดที่หลากหลายได้โดยไม่ต้องกำหนดค่าเพิ่มเติม ข้อมูล เช่น ที่อยู่ อีเมล สกุลเงิน และหมายเลขโทรศัพท์ เป็นตัวอย่างทั่วไปของเอนทิตีระบบ ดูข้อมูลเพิ่มเติมได้ที่เอนทิตีของระบบ

3 วิธีเปิดใช้และใช้เอนทิตีนักพัฒนาซอฟต์แวร์ใน Dialogflow

สร้างเอนทิตีนักพัฒนาแอป

ที่ผ่านมา คุณได้กล่าวถึงเครื่องมือจัดกำหนดเวลาการนัดหมายในลักษณะทั่วไป สมมติว่าเครื่องมือจัดตารางเวลาของคุณใช้สำหรับสำนักงานกรมการขนส่งทางบกของรัฐ ซึ่งให้บริการออกใบขับขี่และจดทะเบียนเป็นหลัก สร้างเอนทิตีเหล่านั้น

  1. คลิกเอนทิตี

4d8924f1d4edc0d1.png

  1. คลิกสร้างเอนทิตี

b77e94e5e47adbc7.png

  1. ป้อน "AppointmentType" เป็นชื่อเอนทิตี จากนั้นเพิ่ม "การจดทะเบียนยานพาหนะ" และ "ใบขับขี่" เป็นค่าอ้างอิง 2 ค่าพร้อมคำพ้องความหมาย 2-3 คำตามที่เห็นในรูปภาพต่อไปนี้ คลิกบันทึก

51562b4327dbaf1.png

คุณเพิ่มแถวที่มีบริการเพิ่มเติมเป็นประเภทเอนทิตีได้

  1. คลิกบันทึก

แก้ไขเจตนาเพื่อให้สอดคล้องกับเอนทิตีนักพัฒนาแอปที่สร้างขึ้นใหม่

  1. คลิกเจตนา
  2. ป้อน "นัดหมายทำใบขับขี่เวลา 15:00 น. พรุ่งนี้" ใน Intent การนัดหมาย

คุณจะเห็นการจดจำใบขับขี่ เวลา 15:00 น. และพรุ่งนี้โดยอัตโนมัติเป็นเอนทิตีของนักพัฒนาแอปและระบบ

5fb91b31806f06f.png

  1. ป้อนวลีการฝึกต่อไปนี้
  2. การนัดหมายต่ออายุใบอนุญาตในวันจันทร์
  3. นัดหมายเวลา 14:00 น. วันจันทร์เพื่อขอใบอนุญาต
  4. การนัดหมายจดทะเบียนยานพาหนะสำหรับวันจันทร์

5addff06908c61f8.png

  1. คุณต้องทำให้ AppointmentType เป็นฟิลด์ที่ต้องระบุ เช่นเดียวกับเวลาและวันที่ โดยไปที่การกระทำและพารามิเตอร์ แล้วเลือกช่องทําเครื่องหมายในแถว AppointmentType

c43e72c5c1a43f5c.png

  1. เพิ่มพรอมต์ เช่น "คุณต้องการรับบริการใด DMV มีบริการออกใบขับขี่และจดทะเบียนยานพาหนะ" หากผู้ใช้ไม่ได้ระบุประเภทการนัดหมาย ระบบจะใช้พรอมต์
  2. คลิกบันทึก

4 ทดสอบแชทบ็อต

คุณสามารถทดสอบแชทบอทในเครื่องจำลอง Actions หรือใช้การผสานรวมเว็บหรือ Google Home ที่คุณได้เรียนรู้ไปก่อนหน้านี้

กรณีทดสอบ 1

ในกรณีนี้ ผู้ใช้ขอเพียงแค่ตั้งเวลานัดหมายโดยไม่มีข้อมูลทั้ง 3 อย่าง Dialogflow จึงขอวันที่ เวลา และประเภทการนัดหมายโดยใช้ข้อความแจ้งการป้อนข้อมูลช่องที่คุณตั้งค่าไว้

  1. ผู้ใช้: "นัดหมาย"
  2. แชทบ็อต: "วันที่เท่าไหร่"
  3. ผู้ใช้: "23 พฤษภาคม"
  4. แชทบอท: "คุณสะดวกเข้ามาเวลาไหน"
  5. ผู้ใช้: "10 โมงเช้า"
  6. แชทบอท: "คุณต้องการรับบริการใด DMV มีบริการออกใบขับขี่และจดทะเบียนยานพาหนะ"
  7. ผู้ใช้: "ใบอนุญาต"
  8. แชทบอท: "คุณพร้อมสำหรับการนัดหมายจดทะเบียนรถในวันที่ 2019-05-23 เวลา 10:00:00 น. แล้วพบกัน"

กรณีทดสอบ 2

ในกรณีนี้ ผู้ใช้ขอตั้งเวลานัดหมายโดยระบุข้อมูลเพียงบางส่วน Dialogflow จึงขอวันที่ เวลา และประเภทการนัดหมายโดยใช้ข้อความแจ้งการป้อนข้อมูลช่องที่คุณตั้งค่าไว้

  1. ผู้ใช้: "ต้องการนัดหมายเวลา 16:00 น. ของวันพรุ่งนี้"
  2. แชทบอท: "คุณต้องการรับบริการใด DMV มีบริการออกใบขับขี่และจดทะเบียนยานพาหนะ"
  3. ผู้ใช้: "ใบอนุญาต"
  4. แชทบอท: "คุณพร้อมสำหรับการนัดหมายทำใบขับขี่ในวันที่ 24-04-2019 เวลา 16:00:00 น. แล้วพบกัน"

กรณีทดสอบ 3

ในกรณีนี้ ผู้ใช้จะให้ข้อมูลทั้งหมด Dialogflow จะประมวลผลข้อมูลและให้คำตอบพร้อมการยืนยันการนัดหมาย

  1. ผู้ใช้: "นัดหมายการจดทะเบียนยานพาหนะเวลา 14:00 น. พรุ่งนี้"
  2. แชทบอท: "คุณพร้อมแล้วสำหรับการนัดหมายจดทะเบียนรถในวันที่ 24-04-2019 เวลา 14:00:00 น. แล้วพบกัน"

5 ล้างข้อมูล

หากคุณวางแผนที่จะทำ Codelab อื่นๆ ของ Dialogflow ให้เสร็จสมบูรณ์ ให้ข้ามส่วนนี้ไปก่อนและกลับมาทำในภายหลัง

ลบเอเจนต์ Dialogflow

  • คลิก fe9c61cc27fb9f2e.png ข้างเอเจนต์ที่มีอยู่

520c1c6bb9f46ea6.png

  • ในแท็บทั่วไป ให้เลื่อนไปที่ด้านล่างแล้วคลิกลบเอเจนต์นี้
  • พิมพ์ลบในกล่องโต้ตอบ แล้วคลิกลบ

6 ขอแสดงความยินดี

คุณสร้างแชทบอทที่จัดการอินพุตที่กำหนดเองด้วยเอนทิตีของนักพัฒนาซอฟต์แวร์ ตอนนี้คุณเป็นนักพัฒนาแชทบ็อตแล้ว

ดูข้อมูลเพิ่มเติม

ดูข้อมูลเพิ่มเติมได้จากแหล่งข้อมูลต่อไปนี้