Alexa Skill Development

เผยแพร่แล้ว: 2021-07-19

ในบล็อกนี้ ฉันจะอธิบายว่า Alexa คืออะไร และความสำคัญของเทคโนโลยีการรู้จำเสียง ก่อนให้ภาพรวมคร่าวๆ เกี่ยวกับการสร้าง Alexa Skills บน AWS

Alexa คืออะไร?

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

สามารถทำงานร่วมกับอุปกรณ์ต่างๆ รวมทั้ง Echo ของ Amazon และอุปกรณ์อื่นๆ ที่ผลิตขึ้นโดยบริษัทอื่น

ทำไมต้องอเล็กซ่า?

ทั้งหมดนี้ขึ้นอยู่กับความคุ้นเคยของฉันเอง ผู้เล่นหลักอื่น ๆ ในสาขานี้คือ Google Assistant และ Siri ของ Apple ซึ่งทั้งสองอย่างนี้เป็นบริการจดจำเสียงที่เทียบเคียงได้มาก

ทำไมต้องเป็นเสียง?

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

A (มาก) ประวัติโดยย่อของส่วนต่อประสานผู้ใช้คอมพิวเตอร์

คอมพิวเตอร์แบทช์ / บัตรเจาะ

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

อินเทอร์เฟซบรรทัดคำสั่ง (CLI)

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

ส่วนต่อประสานกราฟิกกับผู้ใช้ (GUI)

การถือกำเนิดของอินเทอร์เฟซผู้ใช้แบบกราฟิกได้เห็นการแนะนำระบบที่ใช้ Windows ซึ่งเป็นการก้าวกระโดดครั้งใหญ่ในแง่ของการใช้งานและ UX และแน่นอน เมาส์ถูกประดิษฐ์ขึ้นเพื่อลากหน้าต่างใหม่ที่แวววาวเหล่านี้ไปรอบๆ ซึ่งเป็นวิธีการโต้ตอบกับคอมพิวเตอร์ที่ใช้งานง่ายมาก

สมาร์ทโฟน

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

เสียง

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

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

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

วิวัฒนาการของอินเทอร์เฟซผู้ใช้

ความสมดุลของอำนาจ

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

ความท้าทายของการรู้จำเสียง

ย้อนกลับไปในทศวรรษ 1950 การรู้จำคำพูดเป็นหนึ่งในปัญหาที่ยากต่อการหลอกลวง เพราะสำหรับเราแล้ว การรู้จำคำพูดเป็นลักษณะที่สอง ยกตัวอย่างประโยคต่อไปนี้:

เจ้าของร้าน : “ฉันขอถามสิ่งที่คุณกำลังมองหาได้ไหม”

ลูกค้า : “เทียนสี่เล่ม”

แน่นอน เมื่อเราเห็นสิ่งนี้ในรูปแบบลายลักษณ์อักษร เรารู้แน่ชัดว่าบุคคลนั้นต้องการอะไร แต่เมื่อได้ยินในรูปแบบการพูด เป็นไปได้ว่าบุคคลนั้นต้องการ "ด้ามส้อม" จริงๆ!

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

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

เปรียบเทียบขั้นตอนที่จำเป็น

“ไม่มีอะไรมาทดแทนการทำงานหนักได้” ~ โทมัส เอ. เอดิสัน

… หรือมี? แม้แต่เทคโนโลยีที่ค่อนข้างทันสมัยก็ยังมาพร้อมกับขั้นตอนเพิ่มเติม ทำให้เราต้องทำงานกับเทคโนโลยีไม่ใช่ในทางกลับกัน

ต่อไปนี้คืองานพื้นฐานบางส่วนที่กำหนดไว้ "อัลกอริทึม" เพื่อแสดงให้เห็นว่าเราทำงานมากน้อยเพียงใดโดยที่เราไม่รู้ตัว:

เปิด/ปิดทีวี:

วิธีการแบบดั้งเดิม

  • ค้นหารีโมทคอนโทรล
  • รับรีโมท
  • ค้นหาปุ่มที่ถูกต้อง
  • กดปุ่ม

วิธีเสียง

  • “ Alexa เปิด / ปิดทีวี”

เพิ่มรายการในรายการสิ่งที่ต้องทำ:

วิธีการแบบดั้งเดิม

  • ค้นหาโทรศัพท์ (และหยิบมันขึ้นมา)
  • ปลดล็อกโทรศัพท์
  • ค้นหาแอพ
  • เปิดแอพ

วิธีเสียง

  • “ Alexa เพิ่ม“ ซื้อขนมปัง” ในรายการสิ่งที่ต้องทำของฉัน”

อย่างที่คุณเห็น ความสามารถในการควบคุมอุปกรณ์ด้วยเสียงของคุณมีขั้นตอนน้อยกว่ามาก

ตัวชี้วัด

ต่อไปนี้คือกราฟบางส่วนที่แสดงสถานะทั่วไปของบริการที่สั่งงานด้วยเสียง แม้ว่าจำนวนจะน้อยเมื่อเทียบกับการดาวน์โหลดใน App Store แต่ส่วนข้อมูลก็เติบโตอย่างรวดเร็ว:

ส่วนแบ่งตลาดลำโพงอัจฉริยะในสหรัฐอเมริกา ธันวาคม 2017การดาวน์โหลดแอป Alexa บน Google

เครดิต: https://www.voicebot.ai/amazon-echo-alexa-stats

ข้อมูลเบื้องต้นเกี่ยวกับ Amazon Skills API

Amazon Alexa Skills API จัดเตรียมกรอบงานสำหรับรับ จดจำ ประมวลผล และตอบสนองต่อคำสั่งเสียงที่ได้รับผ่านอุปกรณ์

ขั้นตอนทั่วไปมีดังนี้:

ภาพรวมของขั้นตอนที่จำเป็น

ตั้งชื่อทักษะของคุณ

เลือกชื่อเรียกสำหรับทักษะของคุณ ซึ่งจะใช้เพื่อเปิดใช้งาน Alexa เพื่อให้ตอบสนองต่อคำสั่งของคุณได้

กำหนดความตั้งใจของคุณ

ใน Amazon Skills “เจตนา” หรือ “เจตนา” คือคำขอหรือการดำเนินการที่เกี่ยวข้องกับคำสั่งของผู้ใช้

ตัวอย่างเช่นในประโยค: "Alexa เกิดอะไรขึ้นในวันนี้ในปี 1729" คำสั่ง "เกิดอะไรขึ้นในวันนี้ในปี 1729" จะจับคู่กับความตั้งใจที่กำหนดไว้ล่วงหน้า โดยให้คีย์เวิร์ดที่ถูกต้องสำหรับแอปเพื่อดึงคำตอบ

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

สร้างแบบจำลอง

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

กำหนดปลายทาง

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

สร้างฟังก์ชันแลมบ์ดา

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

เมื่อได้รับคำสั่งจาก Alexa Skill โค้ดของคุณจะประมวลผลการตอบสนองที่ถูกต้องและอัปเดตโมเดลใดๆ ที่ต้องติดตาม

บทสรุป

นี่เป็นภาพรวมคร่าวๆ (มาก) เกี่ยวกับบริการที่สั่งงานด้วยเสียงและวิธีสร้างบริการโดยใช้ Alexa Skills Kit ในโพสต์ถัดไปเกี่ยวกับการพัฒนาทักษะของ Alexa เราจะพูดถึงการสร้างทักษะเล็กๆ น้อยๆ และเผยแพร่ไปยัง Amazon Skills! หรือหากต้องการความช่วยเหลือในการออกแบบและพัฒนาเว็บ โปรดติดต่อเราวันนี้


หากคุณต้องการความช่วยเหลือ อย่าลังเลที่จะติดต่อเรา