การโหลดและการยกเลิกการโหลดไฟล์ไวยากรณ์

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

ดูวิดีโอที่เกี่ยวข้อง (3:19)

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

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

การโหลดและการยกเลิกการโหลดไฟล์ไวยากรณ์

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

/* การลบไฟล์ไวยากรณ์เดี่ยว

*/

Voice.loadGrammars('connected_digits');

.

.

.

Voice.unloadGrammars('connected_digits');

คุณยังสามารถโหลดไฟล์ไวยากรณ์ได้หลายไฟล์โดยคั่นชื่อไฟล์ด้วยเครื่องหมายจุลภาค

/* การลบไฟล์ไวยากรณ์สองไฟล์

*/

Voice.loadGrammars('connected_digits', 'yes_no');

.

.

.

Voice.unloadGrammars('connected_digits', 'yes_no');

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

การล้างไฟล์ไวยากรณ์

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

/* ลบไฟล์ไวยากรณ์ที่ใช้งานอยู่ออก แล้วสร้างหนึ่งไฟล์ไวยากรณ์ให้เปิดใช้งาน

*/

Voice.clearGrammars();

Voice.loadGrammars('connected_digits');

API นี้มีจะมีผลมากที่สุดเมื่อเขียนสคริปต์เพื่อเปิดใช้งานเมื่อหน้าจอใหม่ถูกโหลด