อเมซอน เล็กซ์ มอบเทคโนโลยีการรู้จำเสียงพูดอัตโนมัติ (ASR) และความเข้าใจภาษาธรรมชาติ (NLU) เพื่อถอดความอินพุตของผู้ใช้ ระบุลักษณะของคำขอ และจัดการการสนทนาอย่างมีประสิทธิภาพ Lex ช่วยให้คุณสร้างการสนทนาที่ซับซ้อน ปรับปรุงประสบการณ์ผู้ใช้ของคุณเพื่อปรับปรุงคะแนนความพึงพอใจของลูกค้า (CSAT) และเพิ่มการควบคุมในศูนย์ติดต่อของคุณ
การโต้ตอบกับลูกค้าอย่างเป็นธรรมชาติและมีประสิทธิภาพต้องการให้ตัวแทนเสมือนของ Lex ตีความข้อมูลที่ลูกค้าให้มาอย่างถูกต้อง สถานการณ์หนึ่งที่อาจท้าทายเป็นพิเศษคือการบันทึกที่อยู่ในระหว่างการโทร ตัวอย่างเช่น พิจารณาลูกค้าที่เพิ่งย้ายไปยังเมืองใหม่และโทรเข้ามาเพื่ออัปเดตที่อยู่สำหรับบัญชีไร้สายของตน แม้แต่รหัสไปรษณีย์ในสหรัฐอเมริกาเดียวก็สามารถมีชื่อถนนได้หลากหลาย การรับที่อยู่ที่ถูกต้องทางโทรศัพท์อาจเป็นเรื่องยาก แม้แต่กับตัวแทนที่เป็นมนุษย์
ในโพสต์นี้ เราจะสาธิตวิธีการใช้ Amazon Lex และ บริการระบุตำแหน่งอเมซอน เพื่อมอบประสบการณ์การใช้งานที่มีประสิทธิภาพแก่ผู้ใช้ในการบันทึกที่อยู่ด้วยเสียงหรือข้อความ
ภาพรวมโซลูชัน
สำหรับตัวอย่างนี้ เราจะใช้บ็อต Amazon Lex ที่มอบความสามารถในการบริการตนเองโดยเป็นส่วนหนึ่งของ อเมซอน คอนเนค การไหลของการติดต่อ เมื่อผู้ใช้โทรเข้าโทรศัพท์ พวกเขาสามารถขอเปลี่ยนที่อยู่ได้ และบอทจะขอหมายเลขลูกค้าและที่อยู่ใหม่ ในหลายกรณี ที่อยู่ใหม่จะถูกบันทึกอย่างถูกต้องในการลองครั้งแรก สำหรับที่อยู่ที่มีความท้าทายมากขึ้น บอทอาจขอให้พวกเขาเปลี่ยนชื่อถนน สะกดชื่อถนน หรือทำซ้ำรหัสไปรษณีย์หรือหมายเลขที่อยู่เพื่อบันทึกที่อยู่ที่ถูกต้อง
นี่คือตัวอย่างการโต้ตอบของผู้ใช้เพื่อสร้างโมเดล Lex bot ของเรา:
IVR: สวัสดี ยินดีต้อนรับสู่ฝ่ายบริการลูกค้าของธนาคาร ACME ฉันจะช่วยได้อย่างไร? คุณสามารถตรวจสอบยอดคงเหลือในบัญชี ตรวจสอบคำสั่งซื้อ หรือเปลี่ยนที่อยู่ของคุณได้
ผู้ใช้งาน: ฉันต้องการเปลี่ยนที่อยู่ของฉัน
IVR: คุณช่วยบอกหมายเลขลูกค้าของคุณได้ไหม
ผู้ใช้งาน: 123456
IVR: ขอบคุณ. กรุณาบอกรหัสไปรษณีย์ใหม่ของคุณ
ผู้ใช้งาน: 32312
IVR: ตกลง ที่อยู่ใหม่ของคุณคืออะไร
ผู้ใช้งาน: 6800 ถนนโทมัสวิลล์ ห้องชุด 1-โอ้-1
IVR: ขอขอบคุณ. เพื่อให้แน่ใจว่าฉันเข้าใจถูกต้อง คุณช่วยบอกแค่ชื่อถนนของคุณได้ไหม
ผู้ใช้งาน: ถนนโทมัสวิลล์.
IVR: ตกลง ที่อยู่ใหม่ของคุณคือ 6800 Thomasville Road, Suite 101, Tallahassee Florida 32312, USA นั่นถูกต้องใช่ไหม?
ผู้ใช้งาน: มี
IVR: ตกลง ที่อยู่ของคุณได้รับการอัปเดตแล้ว มีอะไรให้ช่วยอีกไหม
ผู้ใช้งาน: ไม่เป็นไรขอบคุณ.
IVR: ขอบคุณที่ติดต่อมา มีวันที่ดี!
อีกวิธีหนึ่งคือ คุณสามารถบันทึกที่อยู่ทั้งหมดได้ในคราวเดียว แทนที่จะขอรหัสไปรษณีย์ก่อน:
IVR: สวัสดี ยินดีต้อนรับสู่ฝ่ายบริการลูกค้าของธนาคาร ACME ฉันจะช่วยได้อย่างไร? คุณสามารถตรวจสอบยอดคงเหลือในบัญชี ตรวจสอบคำสั่งซื้อ หรือเปลี่ยนที่อยู่ของคุณได้
ผู้ใช้งาน: ฉันต้องการ ปรับปรุง ที่อยู่ของฉัน.
IVR: คุณช่วยบอกหมายเลขลูกค้าของคุณได้ไหม
ผู้ใช้งาน: 123456
IVR: ขอบคุณ. โปรดแจ้งที่อยู่ใหม่ของคุณ รวมทั้งถนน เมือง รัฐ และรหัสไปรษณีย์
ผู้ใช้งาน: 6800 Thomasville Road, Suite 1-oh-1, แทลลาแฮสซี ฟลอริดา, 32312
IVR: ขอขอบคุณ. เพื่อให้แน่ใจว่าฉันเข้าใจถูกต้อง คุณช่วยบอกแค่ชื่อถนนของคุณได้ไหม
ผู้ใช้งาน: ถนนโทมัสวิลล์.
IVR: ตกลง ที่อยู่ใหม่ของคุณคือ 6800 Thomasville Road, Suite 101, Tallahassee Florida 32312, US นั่นถูกต้องใช่ไหม?
ผู้ใช้งาน: มี
IVR: ตกลง ที่อยู่ของคุณได้รับการอัปเดตแล้ว มีอะไรให้ช่วยอีกไหม
ผู้ใช้งาน: ไม่เป็นไรขอบคุณ.
IVR: ขอบคุณที่ติดต่อมา มีวันที่ดี!
สถาปัตยกรรมโซลูชัน
เราจะใช้บ็อต Amazon Lex ที่ผสานรวมกับ Amazon Connect ในโซลูชันนี้ เมื่อผู้ใช้โทรเข้ามาและระบุที่อยู่ใหม่ Lex จะใช้การรู้จำคำพูดอัตโนมัติเพื่อถอดเสียงคำพูดเป็นข้อความ จากนั้นใช้ an AWS แลมบ์ดา ฟังก์ชั่น Fulfillment เพื่อส่งข้อความที่ถอดเสียงไปยัง Amazon Location Service ซึ่งทำการค้นหาที่อยู่และส่งคืนที่อยู่มาตรฐาน
เป็นส่วนหนึ่งของ การก่อตัวของ AWS Cloud stack คุณยังสามารถสร้างตัวเลือก บันทึก Amazon CloudWatch กลุ่มบันทึกสำหรับเก็บบันทึกการสนทนาของ Lex ซึ่งสามารถใช้สร้างแดชบอร์ดการวิเคราะห์การสนทนาเพื่อแสดงผลลัพธ์ได้ (ดูโพสต์ การสร้างแดชบอร์ดข่าวกรองธุรกิจสำหรับบ็อต Amazon Lex ของคุณ วิธีหนึ่งในการทำสิ่งนี้)
วิธีการทำงาน
โซลูชันนี้ผสมผสานเทคนิคต่างๆ เพื่อสร้างประสบการณ์ผู้ใช้ที่มีประสิทธิภาพ ได้แก่:
- เทคโนโลยีการรู้จำคำพูดอัตโนมัติของ Amazon Lex เพื่อแปลงคำพูดเป็นข้อความ
- การผสานรวมกับ Amazon Location Service สำหรับการค้นหาที่อยู่และการทำให้เป็นมาตรฐาน
- ไฟแนนเชี่ รูปแบบการสะกดคำเพื่อใช้แนวทาง "การสะกดคำ" เมื่อการป้อนข้อมูลด้วยเสียงไม่ชัดเจน (เช่น ขอให้ผู้ใช้พูดชื่อถนน จากนั้นให้สะกดตามความจำเป็น)
ขั้นตอนแรกคือต้องแน่ใจว่าได้จับช่องที่ต้องการแล้ว
ในส่วนรหัสแรกที่ตามมา เราจะแจ้งให้ผู้ใช้ป้อนรหัสไปรษณีย์และที่อยู่โดยใช้ Lex ElicitSlot
การดำเนินการโต้ตอบ ดิ elicit_slot_with_retries()
ฟังก์ชันจะแจ้งผู้ใช้ตามชุดข้อความแจ้งที่กำหนดค่าได้
ส่วนสุดท้ายของโค้ดด้านบนใช้ฟังก์ชันตัวช่วย parse_address.parse()
ที่แปลงตัวเลขที่พูดเป็นตัวเลข (เช่น แปลง "หกสิบแปดร้อย" เป็น "6800")
จากนั้น เราจะส่งคำพูดของผู้ใช้ไปยัง Amazon Location Service และตรวจสอบการตอบสนอง เราละทิ้งรายการใดๆ ที่ไม่มีถนน หมายเลขถนน หรือมีรหัสไปรษณีย์ที่ไม่ถูกต้อง ในกรณีที่เราต้องพร้อมท์อีกครั้งสำหรับชื่อถนนหรือหมายเลข เรายังละทิ้งที่อยู่ที่แนะนำไว้ก่อนหน้านี้
เมื่อเราได้ที่อยู่ที่ได้รับการแก้ไขแล้ว เราจะยืนยันกับผู้ใช้
หากเราไม่ได้รับที่อยู่ที่แก้ไขแล้วจาก Amazon Location Service หรือหากผู้ใช้แจ้งว่าที่อยู่ที่เราแนะนำไม่ถูกต้อง เราจะแจ้งข้อมูลเพิ่มเติมอีกครั้งแล้วลองอีกครั้ง ช่องข้อมูลเพิ่มเติมประกอบด้วย:
- StreetName: ประเภทสล็อต AMAZON.StreetName
- SpelledStreetName: ประเภทสล็อต AMAZON.AlphaNumeric (โดยใช้ Amazon Lex รูปแบบการสะกดคำ)
- StreetAddressNumber: ประเภทสล็อต AMAZON.Number
ตรรกะในการเตือนอีกครั้งถูกควบคุมโดย next_retry()
ซึ่งพิจารณารายการการกระทำที่จะลอง:
พื้นที่ next_retry()
ฟังก์ชันจะลองดำเนินการตามลำดับ คุณสามารถแก้ไขลำดับของข้อความแจ้งโดยเปลี่ยนลำดับใน RETRY_ACTIONS
รายการ. คุณยังสามารถกำหนดค่าการแจ้งเตือนต่างๆ สำหรับสถานการณ์ที่ Amazon Location Service ไม่พบข้อมูลที่ตรงกัน เมื่อเทียบกับเมื่อผู้ใช้แจ้งว่าที่อยู่ที่แนะนำไม่ถูกต้อง อย่างที่คุณเห็น เราอาจขอให้ผู้ใช้แก้ไขชื่อถนนใหม่ แต่หากไม่สำเร็จ ให้สะกดโดยใช้รูปแบบการสะกดของ Amazon Lex เราเรียกสิ่งนี้ว่าเป็นแนวทาง "การสะกดคำ" และคล้ายกับวิธีที่ตัวแทนที่เป็นมนุษย์โต้ตอบกับลูกค้าในสถานการณ์นี้
หากต้องการดูการดำเนินการนี้ คุณสามารถปรับใช้ในบัญชี AWS ของคุณได้
เบื้องต้น
คุณสามารถใช้ลิงก์ CloudFormation ที่ตามมาเพื่อปรับใช้โซลูชันในบัญชี AWS ของคุณเอง ก่อนปรับใช้โซลูชันนี้ คุณควรยืนยันว่าคุณมีข้อกำหนดเบื้องต้นต่อไปนี้:
- ที่มีอยู่ บัญชี AWS ที่คุณสามารถปรับใช้โซลูชันได้
- เข้าถึงบริการของ AWS ต่อไปนี้:
- อเมซอน เล็กซ์
- AWS Lambda สำหรับการผสานรวมกับ Amazon Location Service
- Amazon Location Service สำหรับการค้นหาที่อยู่
- AWS Identity และการจัดการการเข้าถึง (IAM) เพื่อสร้างนโยบายและบทบาทที่จำเป็น
- CloudWatch Logs เพื่อสร้างกลุ่มบันทึกสำหรับฟังก์ชัน Lambda และเป็นทางเลือกสำหรับการจับภาพบันทึกการสนทนาของ Lex
- CloudFormation เพื่อสร้าง stack
- อินสแตนซ์ Amazon Connect (สำหรับคำแนะนำในการตั้งค่า โปรดดูที่ สร้างอินสแตนซ์ Amazon Connect).
ภูมิภาคของ AWS ต่อไปนี้รองรับ Amazon Lex, Amazon Connect และ Amazon Location Service: สหรัฐอเมริกาฝั่งตะวันออก (เวอร์จิเนียเหนือ), สหรัฐอเมริกาฝั่งตะวันตก (ออริกอน), ยุโรป (แฟรงค์เฟิร์ต), เอเชียแปซิฟิก (สิงคโปร์), ภูมิภาคเอเชียแปซิฟิก (ซิดนีย์) และเอเชีย แปซิฟิก (โตเกียว)
การปรับใช้โซลูชันตัวอย่าง
เข้าสู่ระบบเพื่อ คอนโซลการจัดการ AWS ในบัญชี AWS ของคุณ และเลือกลิงก์ต่อไปนี้เพื่อปรับใช้โซลูชันตัวอย่าง:
สิ่งนี้จะสร้างสแต็ก CloudFormation ใหม่
ป้อน ชื่อกองเช่น lex-update-address-example
. ป้อน ARN (ชื่อทรัพยากร Amazon) สำหรับอินสแตนซ์ Amazon Connect ที่คุณจะใช้ในการทดสอบโซลูชัน คุณสามารถเก็บค่าดีฟอลต์สำหรับพารามิเตอร์อื่นๆ หรือเปลี่ยนให้เหมาะกับความต้องการของคุณ เลือก ถัดไปและเพิ่มแท็กที่คุณต้องการสำหรับสแต็กของคุณ (ตัวเลือก) เลือก ถัดไป อีกครั้ง ตรวจสอบรายละเอียดสแตก เลือกกล่องกาเครื่องหมายเพื่อรับทราบว่าทรัพยากร IAM จะถูกสร้างขึ้น แล้วเลือก สร้าง stack.
หลังจากนั้นไม่กี่นาที สแต็คของคุณจะเสร็จสมบูรณ์ และรวมทรัพยากรต่อไปนี้:
- บ็อต Lex รวมถึงเวอร์ชันที่เผยแพร่พร้อมนามแฝง (
Development-Alias
) - ฟังก์ชั่นเติมเต็มแลมบ์ดาสำหรับบอท (
BotHandler
) - กลุ่มบันทึก CloudWatch Logs สำหรับบันทึกการสนทนา Lex
- บทบาท Amazon IAM ที่จำเป็น
- ทรัพยากรแบบกำหนดเองที่เพิ่มโฟลว์ผู้ติดต่อตัวอย่างไปยังอินสแตนซ์ Connect ของคุณ
ณ จุดนี้ คุณสามารถลองใช้ตัวอย่างการโต้ตอบด้านบนในคอนโซล Lex V2 คุณควรเห็นบอทตัวอย่างที่มีชื่อที่คุณระบุในเทมเพลต CloudFormation (เช่น update-address-bot
).
เลือกบอทนี้ เลือก เวอร์ชันบอท ในแผงการนำทางด้านซ้าย ให้เลือก 1 เวอร์ชัน รุ่นแล้วเลือก เจตนา ในแผงด้านซ้าย คุณจะเห็นรายการความตั้งใจเช่นเดียวกับ a ทดสอบ ปุ่ม
หากต้องการทดสอบ ให้เลือก ทดสอบ เลือก Development-Alias
และจากนั้นเลือก ยืนยัน เพื่อเปิดหน้าต่างทดสอบ
ลอง "ฉันต้องการเปลี่ยนที่อยู่" เพื่อเริ่มต้น สิ่งนี้จะใช้ UpdateAddressZipFirst
ตั้งใจที่จะบันทึกที่อยู่โดยเริ่มจากการขอรหัสไปรษณีย์แล้วขอที่อยู่
คุณยังสามารถพูดว่า “ฉันต้องการ ปรับปรุง ที่อยู่ของฉัน” เพื่อลอง UpdateAddress
เจตนา ซึ่งรวบรวมที่อยู่ทั้งหมดในครั้งเดียวด้วยคำพูดเดียว
การทดสอบกับ Amazon Connect
ตอนนี้ มาลองใช้เสียงโดยใช้อินสแตนซ์ Connect ตัวอย่างโฟลว์ผู้ติดต่อได้รับการกำหนดค่าแล้วในอินสแตนซ์ Connect ของคุณ:
สิ่งที่คุณต้องทำคือตั้งค่าหมายเลขโทรศัพท์ และเชื่อมโยงกับขั้นตอนการติดต่อนี้ โดยทำตามขั้นตอนเหล่านี้:
- เปิดใช้ Amazon Connect ในคอนโซล AWS
- เปิดอินสแตนซ์ Connect ของคุณโดยเลือก เข้าถึง URL, และเข้าสู่อินสแตนซ์
- ในแดชบอร์ด ให้เลือก ดูหมายเลขโทรศัพท์.
- เลือก ขอหมายเลข, เลือกประเทศจาก ประเทศ เลื่อนลงและเลือกหมายเลข
- ป้อนคำอธิบาย เช่น "ขั้นตอนตัวอย่างในการอัปเดตที่อยู่ด้วย Amazon Lex" และเลือกขั้นตอนการติดต่อที่คุณเพิ่งสร้างขึ้น
- Choose ลด.
ตอนนี้คุณพร้อมที่จะโทรเข้าสู่อินสแตนซ์ Connect เพื่อทดสอบบ็อตโดยใช้เสียง เพียงกดหมายเลขบนโทรศัพท์ของคุณแล้วลองใช้ที่อยู่ในสหรัฐอเมริกา หากต้องการลองใช้รหัสไปรษณีย์ก่อน ให้พูดว่า "เปลี่ยนที่อยู่ของฉัน" หากต้องการลองเปลี่ยนที่อยู่แบบเลี้ยวครั้งเดียว ให้พูดว่า "อัปเดตที่อยู่ของฉัน" คุณยังสามารถพูดว่า "ที่อยู่ใหม่ของฉันคือ" ตามด้วยที่อยู่ในสหรัฐอเมริกาที่ถูกต้อง
แต่เดี๋ยวก่อน… ยังมีอีก
กรณีการใช้งานที่ท้าทายอีกกรณีหนึ่งสำหรับสถานการณ์เสียงคือการบันทึกที่อยู่อีเมลของผู้ใช้ ซึ่งมักจะจำเป็นสำหรับวัตถุประสงค์ในการยืนยันผู้ใช้ หรือเพียงเพื่อให้ผู้ใช้เปลี่ยนที่อยู่อีเมลในไฟล์ Lex มีการสนับสนุนในตัวสำหรับที่อยู่อีเมลโดยใช้ประเภทสล็อตในตัว AMAZON.EmailAddress ซึ่งสนับสนุนรูปแบบการสะกดของ Lex ด้วย
การใช้วิธีการ "สะกดคำ" ในการบันทึกที่อยู่อีเมลอาจมีประสิทธิภาพมาก และเนื่องจากแนวทางดังกล่าวคล้ายกับประสบการณ์ของผู้ใช้ในสถานการณ์การจับภาพที่อยู่ที่เราอธิบายข้างต้น เราจึงได้รวมไว้ที่นี่ ให้มันลอง!
ทำความสะอาด
คุณอาจต้องการล้างทรัพยากรที่สร้างขึ้นโดยเป็นส่วนหนึ่งของเทมเพลต CloudFormation เมื่อคุณใช้บอทเสร็จแล้วเพื่อหลีกเลี่ยงค่าใช้จ่ายที่เกิดขึ้นอย่างต่อเนื่อง เมื่อต้องการทำเช่นนี้ ให้ลบ CloudFormation Stack
สรุป
Amazon Lex นำเสนอความสามารถในการรู้จำคำพูดอัตโนมัติอันทรงพลังและความสามารถในการทำความเข้าใจภาษาธรรมชาติ ซึ่งสามารถใช้เพื่อเก็บข้อมูลที่จำเป็นจากผู้ใช้ของคุณเพื่อมอบฟังก์ชันการทำงานอัตโนมัติแบบบริการตนเอง การบันทึกที่อยู่ของลูกค้าผ่านการรู้จำคำพูดอาจเป็นเรื่องยากเนื่องจากชื่อถนน เมือง และเมืองต่างๆ อย่างไรก็ตาม คุณสามารถผสานรวม Amazon Lex กับ Amazon Location Service เพื่อค้นหาที่อยู่ที่ถูกต้องตามข้อมูลที่ลูกค้าป้อน คุณสามารถรวมเทคนิคนี้เข้ากับขั้นตอนการสนทนา Lex ของคุณเองได้
เกี่ยวกับผู้เขียน
ไบรอัน ยอสท์ เป็นผู้จัดการโปรแกรมด้านเทคนิคอาวุโสในทีม AWS Lex ในเวลาว่าง เขาสนุกกับการปั่นจักรยานเสือภูเขา การกลั่นเบียร์ที่บ้าน และการปรับแต่งด้วยเทคโนโลยี