สร้างโมเดลการสนทนา

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

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

  • ตรรกะการดำเนินการและการตอบกลับ - ฉากประมวลผล Intent, ใช้ตรรกะที่จำเป็น และสร้างข้อความแจ้งเพื่อกลับไปส่งให้ผู้ใช้

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

ระบุคำขอของผู้ใช้ที่ถูกต้อง

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

สร้างความตั้งใจในการใช้

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

รูปที่ 1 ตัวอย่างความตั้งใจของผู้ใช้

วิธีสร้างความตั้งใจของผู้ใช้

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

สร้าง Intent ของระบบ

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

  1. ในแท็บ Develop ให้คลิก System Intent ชุด Intent ของระบบพร้อมใช้งานแล้ว เช่น NO_MATCH, NO_INPUT และ CANCEL
  2. Intent แต่ละระบบมีตัวแฮนเดิลของตัวเอง ซึ่งคุณปรับแต่งสำหรับ Intent ของระบบแต่ละประเภทได้ ตัวอย่างเช่น Intent ของระบบให้คุณทริกเกอร์เหตุการณ์เว็บฮุค แล้วส่งข้อความแจ้งแบบคงที่เมื่อเกิดเหตุการณ์ขึ้น

สร้างประเภทที่กำหนดเอง

ประเภทที่กำหนดเองช่วยให้คุณสร้างข้อกำหนดประเภทของคุณเองเพื่อฝึก NLU ให้เข้าใจชุดของค่าที่ควรแมปกับคีย์เดียว

รูปที่ 2 ตัวอย่างประเภทที่กำหนดเอง

วิธีสร้างประเภทที่กำหนดเอง

  1. ในแท็บพัฒนา ให้คลิก Types > ⊕ (New)
  2. เลือกวิธีระบุค่าประเภทในส่วนค่าประเภทใดที่มีการรองรับประเภทนี้ ดังนี้

    • คำและคำพ้องความหมายช่วยให้คุณจับคู่ค่าหลายค่ากับคีย์เดียวได้ ซึ่งเรียกว่า "รายการ" ประเภทของคุณอาจมีรายการเดียวหรือหลายรายการ หากเลือกตัวเลือกนี้ คุณจะเปิดใช้การตั้งค่า NLU ต่อไปนี้ได้
      • เปิดใช้การจับคู่แบบคลุมเครือ - ตัวเลือกนี้ช่วยให้รายการที่มีมากกว่า 1 คำ สามารถจับคู่ได้ แม้ว่าจะพูดตามลำดับที่ไม่เหมือนกันก็ตาม
      • ยอมรับค่าที่ไม่รู้จัก - เมื่อคุณระบุค่าที่เป็นไปได้ทั้งหมดไม่ได้ อุปกรณ์จะยอมรับคำหรือวลีที่ไม่รู้จักตามข้อมูลอินพุตและการฝึกความตั้งใจที่อยู่โดยรอบ เช่น สินค้าที่อาจเพิ่มลงในรายการของชำ
    • นิพจน์ทั่วไปช่วยให้ประเภทตรงกับรูปแบบนิพจน์ทั่วไปตามมาตรฐาน RE2 ของ Google
    • ข้อความรูปแบบอิสระช่วยให้ประเภทตรงกับข้อความที่ผู้ใช้พูด
  3. ระบุค่าประเภทในส่วนเพิ่มรายการ หากเลือกข้อความรูปแบบอิสระ ประเภทจะตรงกับข้อความทั่วไป คุณจึงไม่ต้องป้อนข้อมูลใดๆ

สร้างตรรกะและการตอบสนองการดำเนินการ

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

รูปที่ 3 ตัวอย่างฉากที่กำหนดเอง

สร้างฉาก

ส่วนต่อไปนี้จะอธิบายวิธีสร้างฉากและกำหนดฟังก์ชันการทำงานสำหรับระยะในวงจรของแต่ละฉาก

วิธีสร้างฉาก

  1. ในแท็บพัฒนา ให้คลิกฉาก > ⊕ (ฉากใหม่) ระบุชื่อ แล้วกด Enter เพื่อสร้างฉาก
  2. คลิกฉากที่สร้างขึ้นใหม่ในเมนูด้านซ้าย เครื่องมือแก้ไขฉากจะปรากฏขึ้น

กําหนดการตั้งค่าแบบครั้งเดียว

เมื่อฉากเริ่มทำงานเป็นครั้งแรก คุณจะทำงานแบบครั้งเดียวได้ในขั้นตอนเมื่อ Enter ขั้นตอน On Enter จะทำงานเพียงครั้งเดียว และเป็นขั้นตอนเดียวที่ไม่ได้ทำงานภายในลูปการดำเนินการของฉาก

  1. คลิกขั้นตอนเมื่อป้อนภายในฉากเพื่อระบุฟังก์ชันการทำงานของฉาก คุณสามารถระบุฟังก์ชันการทำงานต่อไปนี้ในขั้นตอนนี้

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

ตรวจสอบเงื่อนไข

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

  1. ในฉาก ให้คลิกไอคอน + ของพื้นที่งานเงื่อนไข เครื่องมือแก้ไขเงื่อนไขจะปรากฏทางด้านขวา คุณสามารถระบุฟังก์ชันการทำงานต่อไปนี้ในขั้นตอนนี้

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

กำหนดการเติมช่อง

ช่องโฆษณาช่วยให้คุณแยกพารามิเตอร์ที่พิมพ์จากข้อมูลที่ผู้ใช้ป้อนเข้าได้

ในตัวแก้ไขฉาก ให้คลิกไอคอน + สำหรับขั้นตอนการเติมช่อง ตัวแก้ไขสำหรับช่องจะปรากฏทางด้านขวา คุณสามารถระบุคุณสมบัติ ต่อไปนี้ของช่องได้

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

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

หากต้องการกำหนดค่าสล็อต ให้ระบุพร็อพเพอร์ตี้ในออบเจ็กต์ JSON ใน Fulfillment (อ้างอิงเป็นพารามิเตอร์เซสชัน) หรือในเครื่องมือแก้ไข JSON ในบรรทัด คุณดูพร็อพเพอร์ตี้ที่พร้อมใช้งานสำหรับช่องแต่ละประเภทได้ในการอ้างอิง JSON ของ Actions Builder เช่น ประเภทช่อง actions.type.DeliveryAddressValue สอดคล้องกับเนื้อหาอ้างอิงสำหรับช่อง DeliveryAddressValue

รูปที่ 6 ตัวอย่างการตั้งค่าการเติมช่องของฉาก

การแมปค่าช่องโฆษณา

ในหลายกรณี การจับคู่ Intent ก่อนหน้านี้อาจมีพารามิเตอร์ที่เติมค่าสล็อตของฉากที่เกี่ยวข้องบางส่วนหรือทั้งหมด ในกรณีเหล่านี้ ช่องโฆษณาทั้งหมดที่มาจากพารามิเตอร์ Intent จะแมปกับสล็อตของโหมดที่มีการเติมช่องหากชื่อช่องตรงกับชื่อพารามิเตอร์ Intent

เช่น หากผู้ใช้ตั้งใจที่จะสั่งเครื่องดื่มโดยพูดว่า "ฉันอยากสั่งกาแฟวานิลลาแก้วใหญ่" ระบบจะถือว่ามีช่องที่ใส่ขนาด รสชาติ และเครื่องดื่มอยู่แล้วในฉากที่เกี่ยวข้องหากฉากนั้นกำหนดช่องเดียวกัน

ป้อนข้อมูลกระบวนการ

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

  1. ภายในโหมด ให้คลิกไอคอน + สำหรับขั้นตอนการจัดการความตั้งใจของผู้ใช้หรือการจัดการความตั้งใจของระบบ ตัวแก้ไขสำหรับเครื่องจัดการ Intent จะปรากฏทางด้านขวา คุณระบุฟังก์ชันการทำงานต่อไปนี้ของเครื่องจัดการ Intent

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