次のコードを使用して音声認識エンジンを作成していますが、運転免許証、郵便番号、形式の日付の 3 つだけを認識させたいと考えています。
M1234-56789-01234
L9B 2X5
yyyy/mm/dd
これらの文字「/」、「 」、「-」は気にしません。(レコグナイザーが認識するテキストに含めるべきではありません)。
アルファベットと数字だけが気になります。
数字とアルファベットだけで文法を作成しましたが、話すと認識エンジンが「TO」や「THERE」などの単語を作成します。個々の文字と数字のみを認識するように制限する方法はありますか?
SpeechRecognizer sr = new SpeechRecognizer();
Choices chars = new Choices();
chars.Add(new string[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" });
GrammarBuilder gb = new GrammarBuilder();
gb.Append(chars);
// Create the Grammar instance.
Grammar g = new Grammar(gb);
sr.LoadGrammar(g);
sr.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sr_SpeechRecognized);