مواصفات قواعد التعرف على الكلام

مواصفات قواعد التعرف على الكلام (SRGS) هي معيار من معايير اتحاد شبكة الويب العالمية (W3C) لتحديد قواعد التعرف على الكلام . قواعد التعرف على الكلام هي مجموعة من أنماط الكلمات، تُخبر نظام التعرف على الكلام بما يتوقعه من الإنسان. على سبيل المثال، عند الاتصال بتطبيق الرد الآلي ، سيطلب منك اسم شخص (مع توقع تحويل مكالمتك إلى هاتف ذلك الشخص). ثم سيُشغّل مُعرّف الكلام، مُزوّداً إياه بقواعد التعرف على الكلام. تحتوي هذه القواعد على أسماء الأشخاص في دليل الرد الآلي ومجموعة من أنماط الجمل التي تُمثل الاستجابات النموذجية من المتصلين لهذا الطلب.

تحدد SRGS صيغتين بديلتين متكافئتين، إحداهما تعتمد على XML ، والأخرى تستخدم صيغة BNF المعززة . عمليًا، تُستخدم صيغة XML بشكل أكثر شيوعًا.

يتمتع كل من تنسيق ABNF و XML بالقدرة التعبيرية لقواعد اللغة الخالية من السياق . أما معالج القواعد الذي لا يدعم القواعد التكرارية، فيتمتع بالقدرة التعبيرية لآلة الحالة المحدودة أو لغة التعبيرات النمطية .

إذا أعاد مُعرِّف الكلام سلسلة نصية تحتوي على الكلمات التي نطق بها المستخدم فقط، فسيتعين على تطبيق الصوت القيام بمهمة شاقة تتمثل في استخلاص المعنى الدلالي لتلك الكلمات. لهذا السبب، يمكن تزيين قواعد SRGS بعناصر وسم ، والتي عند تنفيذها، تُشكِّل النتيجة الدلالية. لا تُحدِّد SRGS محتويات عناصر الوسم، بل يتم ذلك في معيار W3C المُصاحب، وهو التفسير الدلالي للتعرف على الكلام (SISR). يعتمد SISR على ECMAScript ، وتُشكِّل عبارات ECMAScript داخل وسوم SRGS كائن نتيجة دلالية مكتوب بلغة ECMAScript، مما يُسهِّل على تطبيق الصوت معالجته.

يُعد كل من SRGS وSISR من توصيات W3C، وهي المرحلة النهائية من مسار معايير W3C. ويعتمد معيار W3C VoiceXML ، الذي يُحدد كيفية تحديد الحوارات الصوتية، اعتمادًا كبيرًا على SRGS وSISR.

أمثلة

فيما يلي مثال على صيغة BNF المحسّنة لـ SRGS، كما يمكن استخدامها في تطبيق الرد الآلي:

#ABNF 1.0 ISO-8859-1 ; // لغة القواعد الافتراضية هي الإنجليزية الأمريكية en -US ; // ربط لغة واحدة بالرموز // لاحظ أنه يتم تطبيق "fr-CA" (الفرنسية الكندية) على كلمة "oui" فقط // بسبب قواعد الأسبقية $yes = yes | oui!fr-CA ; // ربط لغة واحدة بالتوسيع $people1 = ( Michel Tremblay | André Roy ) !fr-CA ; // معالجة النطق الخاص بكل لغة لنفس الكلمة // سيستمع مُعرّف الكلام المُؤهل إلى النطق الإسباني المكسيكي و // الإنجليزية الأمريكية. $people2 = Jose!en-US | Jose!es-MX ; /**  * إدخال متعدد اللغات ممكن * @example هل يُمكنني التحدث إلى أندريه روي؟ * @example هل يُمكنني التحدث إلى خوسيه؟ */ public $request = هل يُمكنني التحدث إلى ( $people1 | $people2 ) ;

إليك نفس مثال SRGS، باستخدام نموذج XML:

<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE grammar PUBLIC "-//W3C//DTD GRAMMAR 1.0//EN"  "http://www.w3.org/TR/speech-grammar/grammar.dtd"> <!-- لغة القواعد الافتراضية هي الإنجليزية الأمريكية --> <grammar xmlns= "http://www.w3.org/2001/06/grammar" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.w3.org/2001/06/grammar  http://www.w3.org/TR/speech-grammar/grammar.xsd" xml:lang= "en-US" version= "1.0" > <!--  إرفاق لغة واحدة بالرموز  "yes" inherits كلمة "oui" في اللغة الإنجليزية الأمريكية  هي نفسها في اللغة الفرنسية الكندية  --> <rule id= "yes" > <one-of> <item> yes </item> <item xml:lang= "fr-CA" > oui </item> </one-of> </rule> <!-- Single language attachment to an expand --> <rule id= "people1" > <one-of xml:lang= "fr-CA" > <item> Michel Tremblay </item> <item> André Roy </item> </one-of> </rule> <!--  Handling language specific pronounces of the same word  A able speech recognizer will listen for Mexican Spanish  and US English.  < rule id= "people2" > <one-of> <item xml:lang= "en-US" > Jose </item> <item xml :lang= "es-MX" > Jose </item> </one-of> </rule> <!>-- إمكانية إدخال البيانات بلغات متعددة --> <rule id= "request" scope= "public" > <example> هل يمكنني التحدث إلى أندريه روي ؟ </example> <example> هل يمكنني التحدث إلى خوسيه؟ </example> هل يمكنني التحدث إلى <one-of> <item> <ruleref uri= "#people1" /> </item> <item> <ruleref uri= "#people2" /> </item> </one-of> </rule> </grammar>

انظر أيضاً