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