Conversational Actions

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

ภาพรวม

การดำเนินการแบบการสนทนาเป็นออบเจ็กต์พื้นฐานที่กำหนดจุดแรกเข้า (หรือที่เรียกว่าการเรียกใช้) ในการสนทนา

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

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

รูปที่ 1 คอลเล็กชันของการดำเนินการที่เป็นจุดแรกเข้าของโมเดลการสนทนา ระบบจะถือว่า Intent ที่มีสิทธิ์เรียกใช้ได้เป็นส่วนกลาง

คำขอ

คำขอจะเชื่อมโยงกับชื่อที่แสดงซึ่งแสดงถึงแบรนด์ ชื่อ หรือลักษณะตัวตนที่ให้ผู้ใช้ขอให้ Assistant เรียกใช้การดำเนินการของคุณได้ ผู้ใช้จะใช้ชื่อที่แสดงนี้เดี่ยวๆ (เรียกว่าคำขอหลัก) หรือร่วมกับวลี Deep Link ที่ไม่บังคับได้ เพื่อเรียกใช้การดำเนินการ

ตัวอย่างเช่น ผู้ใช้สามารถพูดวลีต่อไปนี้เพื่อเรียกใช้การทำงาน 3 อย่างแยกกันในโปรเจ็กต์โดยแสดงชื่อว่า "ข้อเท็จจริงเกี่ยวกับ Google"

  • "Ok Google พูดคุยกับข้อเท็จจริงเกี่ยวกับ Google"
  • "Ok Google คุยกับข้อเท็จจริงเกี่ยวกับ Google เพื่อหาข้อมูลของบริษัท"
  • "Ok Google ฟังข้อเท็จจริงเกี่ยวกับ Google เพื่อฟังข้อเท็จจริงเกี่ยวกับประวัติศาสตร์"

การเรียกใช้แรกในตัวอย่างคือ main invocation การเรียกใช้นี้เชื่อมโยงกับ Intent ระบบพิเศษที่ชื่อว่า actions.intent.MAIN การเรียกใช้ที่ 2 และ 3 คือการเรียกใช้ Deep Link ที่ให้คุณระบุวลีเพิ่มเติมที่ให้ผู้ใช้ขอฟังก์ชันการทำงานที่เจาะจงได้ คำขอเหล่านี้สอดคล้องกับ Intent ของผู้ใช้ที่คุณกำหนดว่าเป็นแบบส่วนกลาง การเรียกใช้แต่ละครั้งในตัวอย่างนี้จะระบุจุดแรกเข้า ของการสนทนาและตรงกับการดำเนินการหนึ่ง

รูปที่ 2 ตัวอย่างการเรียกใช้หลัก

รูปที่ 2 อธิบายโฟลว์การเรียกใช้หลักโดยทั่วไป

  1. เมื่อผู้ใช้ขอให้ดำเนินการ ผู้ใช้มักจะขอให้ Assistant ดำเนินการโดยใช้ชื่อที่แสดงของคุณ
  2. Assistant จะจับคู่คำขอของผู้ใช้กับ Intent ที่ตรงกันที่ตรงกับคำขอนั้นๆ ในกรณีนี้จะเป็น actions.intent.MAIN
  3. การดำเนินการจะได้รับแจ้งเกี่ยวกับการจับคู่ Intent และตอบกลับด้วยข้อความแจ้งที่เกี่ยวข้องเพื่อเริ่มการสนทนากับผู้ใช้

การสนทนา

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

รูปที่ 3 ตัวอย่างการสนทนา

รูปที่ 3 อธิบายถึงการเปลี่ยนการสนทนาทั่วไป

  1. เมื่อผู้ใช้พูดบางอย่าง NLU ของ Assistant จะจับคู่อินพุตกับความตั้งใจที่เหมาะสม ระบบจะจับคู่ Intent หากรูปแบบภาษาของความตั้งใจนั้นใกล้เคียงหรือตรงกับข้อมูลที่ผู้ใช้ป้อนทุกประการ คุณจะกำหนดโมเดลภาษาได้โดยการระบุวลีการฝึก หรือตัวอย่างสิ่งที่ผู้ใช้อาจอยากพูด Assistant นำวลีการฝึกเหล่านี้มาขยายเพื่อสร้างโมเดลภาษาของ Intent
  2. เมื่อ Assistant NLU ตรงกับ Intent ก็จะแยกพารามิเตอร์ที่ต้องการจากอินพุตได้ พารามิเตอร์เหล่านี้จะมีประเภทเชื่อมโยงอยู่ เช่น วันที่หรือตัวเลข จากนั้น คุณจะใส่คำอธิบายประกอบที่เจาะจงของวลีการฝึกของ Intent เพื่อระบุพารามิเตอร์ที่ต้องการดึงข้อมูล
  3. จากนั้นโหมดจะประมวลผลความตั้งใจที่ตรงกัน คุณอาจนึกภาพฉากต่างๆ เป็นเหมือนฉากปฏิบัติการเชิงตรรกะของการดำเนินการหนึ่ง การยกของหนัก และดำเนินตรรกะที่จำเป็นในการผลักดันการสนทนาให้เดินหน้าต่อไป ฉากต่างๆ จะทำงานแบบวนซ้ำซึ่งมีวงจรการดำเนินการที่ยืดหยุ่นซึ่งให้คุณทำสิ่งต่างๆ ได้ เช่น ตรวจสอบพารามิเตอร์ Intent เติมสล็อต ส่งข้อความแจ้งกลับไปให้ผู้ใช้ และอีกมากมาย
  4. เมื่อประมวลผลฉากเสร็จแล้ว โดยทั่วไปจะส่งข้อความแจ้งกลับไปให้ผู้ใช้สนทนาต่อหรือสิ้นสุดการสนทนาตามความเหมาะสม

การดำเนินการตามคำสั่งซื้อ

ระหว่างการเรียกใช้หรือการสนทนา การดำเนินการอาจทริกเกอร์เว็บฮุคที่แจ้งบริการดำเนินการตามคำสั่งซื้อเพื่อดำเนินงานบางอย่างได้

รูปที่ 4 ตัวอย่างการสนทนา

รูปที่ 4 อธิบายวิธีใช้ Fulfillment เพื่อสร้างพรอมต์ ซึ่งเป็นวิธีทั่วไปในการใช้ Fulfillment

  1. ในจุดที่เฉพาะเจาะจงของการดำเนินการของการดำเนินการ การดำเนินการดังกล่าวอาจทริกเกอร์เว็บฮุคที่ส่งคำขอไปยังเครื่องจัดการเว็บฮุคที่ลงทะเบียน (บริการ Fulfillment ของคุณ) ด้วยเพย์โหลด JSON
  2. การดำเนินการตามคำสั่งซื้อจะดำเนินการตามคำขอ เช่น การเรียกใช้ REST API เพื่อค้นหาข้อมูลบางอย่างหรือตรวจสอบข้อมูลบางอย่างจากเพย์โหลด JSON วิธีที่นิยมใช้ Fulfillment คือการสร้างพรอมต์แบบไดนามิกขณะรันไทม์เพื่อให้การสนทนาปรับให้เหมาะกับผู้ใช้ปัจจุบันมากขึ้น
  3. Fulfillment ของคุณแสดงผลการตอบกลับไปยังการดำเนินการที่มีเพย์โหลด JSON สามารถใช้ข้อมูลจากเพย์โหลดเพื่อดำเนินการและตอบสนองผู้ใช้ต่อได้