MS System.Speech.Recognizer和SpeechRecognitionEngine精度 [英] Accuracy of MS System.Speech.Recognizer and the SpeechRecognitionEngine

查看:375
本文介绍了MS System.Speech.Recognizer和SpeechRecognitionEngine精度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前通过从XML文件加载一个pretty的简单规则测试SpeechRecognitionEngine。其实,这是之间的简单(解密邮件,删除加密)或(加密邮件,增加加密)。

I am currently testing the SpeechRecognitionEngine by loading from an xml file a pretty simple rule. In fact it is a simple between ("decrypt the email", "remove encryption") or ("encrypt the email", "add encryption").

我训练了我的Windows 7 PC,另外加了一句话加密和解密,因为我知道他们是非常相似的。识别器已经与使这两者之间的差的问题。

I have trained my Windows 7 PC and additionally added the words encrypt and decrypt as I realize they are very similar. The recognizer already has a problem with making a difference between these two.

我遇到的问题是,它承认的东西太多。说的原话,有时只到达0.93时,我已经设置了信心,因为0.93我在安静的房间的声音。不过,如果我打开收音机的播音员或一首歌曲的声音可能意味着该识别器认为他们已经听说过有超过0.93自信与decrpyt邮件字样。

The issue I am having is that it recognizes things too often. I have set the confidence to 0.93 because with my voice in a quiet room when saying the exact words sometimes only gets to 0.93. But then if I turn on the radio the voice of the announcer or a song can mean that this recognizer thinks it has heard with over 0.93 confidence with words "decrpyt the email".

也许Lady Gaga的是backmasking掌声偷偷解密电子邮件: - )

Maybe Lady Gaga is backmasking Applause to secretly decrypt emails :-)

谁能帮的工作如何做一些事情,使这个识别器是可行的。

Can anyone help in working out how to do something to make this recognizer workable.

其实识别器也拿起键盘噪声解密邮件。我不明白这是怎么可能的。

In fact the recognizer is also picking up keyboard noise as "decrypt the email". I don't understand how this is possible.

继我的编辑哥们至少有两个托管命名为MS语音Microsoft.Speech和System.Speech - 正是由于这个问题,它可以知道这是System.Speech重要

Further to my editing buddy there are at least two managed namespaces for MS Speech Microsoft.Speech and System.Speech - It is important for this question that it be know that it is System.Speech.

推荐答案

如果在的只有的东西System.Speech识别器监听是加密邮件,那么识别器将生成的大量的误报的。 (特别是在嘈杂的环境中)。如果添加DictationGrammar(尤其是发音语法)与此同时,DictationGrammar会拿起噪音,并且可以检查语法(如)名在事件处理程序丢弃假认可。

If the only thing the System.Speech recognizer is listening for is "encrypt the email", then the recognizer will generate lots of false positives. (Particularly in a noisy environment.) If you add a DictationGrammar (particularly a pronunciation grammar) in parallel, the DictationGrammar will pick up the noise, and you can check the (e.g.) name of the grammar in the event handler to discard the bogus recognitions.

A(子)例如:

    static void Main(string[] args)
    {
        Choices gb = new Choices();
        gb.Add("encrypt the document");
        gb.Add("decrypt the document");
        Grammar commands = new Grammar(gb);
        commands.Name = "commands";
        DictationGrammar dg = new DictationGrammar("grammar:dictation#pronunciation");
        dg.Name = "Random";
        using (SpeechRecognitionEngine recoEngine = new SpeechRecognitionEngine(new CultureInfo("en-US")))
        {
        recoEngine.SetInputToDefaultAudioDevice();
        recoEngine.LoadGrammar(commands);
        recoEngine.LoadGrammar(dg);
        recoEngine.RecognizeCompleted += recoEngine_RecognizeCompleted;
        recoEngine.RecognizeAsync();

        System.Console.ReadKey(true);
        recoEngine.RecognizeAsyncStop();
        }
    }

    static void recoEngine_RecognizeCompleted(object sender, RecognizeCompletedEventArgs e)
    {
        if (e.Result.Grammar.Name != "Random")
        {
            System.Console.WriteLine(e.Result.Text);
        }
    }

这篇关于MS System.Speech.Recognizer和SpeechRecognitionEngine精度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆