2013-03-06 22 views
5

Đây có lẽ là một câu hỏi đơn giản, nhưng tôi không thể tìm thấy câu trả lời dứt khoát ở bất cứ đâu.Mã nhận dạng System.Speech.Recognition này có sử dụng "đào tạo lời nói" không?

Giả sử tôi có một số mã đơn giản từ không gian tên System.Speech.Recognition, hoạt động tốt.

 using (
      var recognizer = 
       new SpeechRecognitionEngine(
        new CultureInfo("en-US"))) 
     { 
      // Create and load a dictation grammar. 
      recognizer.LoadGrammar(new DictationGrammar()); 

      recognizer.SpeechRecognized -= 
recognizer_SpeechRecognized; 

      // Add a handler for the speech recognized event. 
      recognizer.SpeechRecognized += 
       recognizer_SpeechRecognized; 

      // Configure input to the speech recognizer. 
      recognizer.SetInputToDefaultAudioDevice(); 

      // Start asynchronous, continuous speech recognition. 
      recognizer.RecognizeAsync(RecognizeMode.Multiple); 
     } 
    } 

    // Handle the SpeechRecognized event. 
    private void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) 
    { 
     textBox1.Text = ("Recognized text: " + e.Result.Text); 
    } 

Câu hỏi của tôi là, khi sử dụng Windows 7, và tôi làm công tác đào tạo bài phát biểu tại "Control Panel" -> "Speech Recognition" -> "Hãy dạy máy tính của bạn để hiểu rõ hơn về bạn", làm chương trình của tôi tự động sử dụng bất kỳ đào tạo nào đã được thực hiện?
Các lợi ích đào tạo dựa trên người dùng hay bằng máy?
Các từ "hồ sơ" này có thể được di chuyển (dễ dàng) không?

Trả lời

1

Có, đào tạo (đặc biệt là để đọc chính tả) là hữu ích. Độ chính xác có thể cải thiện 20-50% với đào tạo. (Điều này đặc biệt đúng nếu người dùng có dấu.)

Lợi ích đào tạo là cho mỗi người dùng.

Microsoft có công cụ sao chép cấu hình lời nói, nhưng được xây dựng cho phiên bản cũ hơn của công cụ SR (XP), và theo tôi biết, không ai ở Microsoft sẵn sàng cập nhật hoặc xác minh trên các công cụ SR mới hơn. Nếu bạn muốn thử nó, Bing cho "Speech Profile Manager", và nó sẽ bật lên ngay lập tức.

0

Có, có vẻ như không cần thiết để đào tạo nó, nó có thể được thực hiện: this sitethis site.

+1

Cảm ơn David, tôi biết nó không cần phải được đào tạo để làm việc như các chức năng mã. Tôi về cơ bản tự hỏi nếu nó là giá trị nói với mọi người đào tạo Windows 7 của họ, vì nó sẽ làm cho mã trên làm việc tốt hơn? Và nếu điều này đúng, đó là lợi ích dựa trên người dùng đã đăng nhập hoặc bằng máy. – bulltorious

+0

Trong hầu hết các trường hợp, không. Nếu hầu như tất cả mọi thứ đang được công nhận, đào tạo sẽ chỉ làm tăng hiệu suất nhẹ. –

0

Tôi nghĩ rằng khi bạn đang sử dụng ngữ pháp Chính tả, đào tạo sẽ hữu ích. Nếu bạn đang sử dụng ngữ pháp ứng dụng hạn chế hơn, việc đào tạo sẽ ít có giá trị hơn. Hãy nhớ rằng, một trong những khác biệt chính giữa API nhận dạng giọng nói của máy khách Windows (System.Speech) và API nhận dạng giọng nói máy chủ (Microsoft.speech) là các API máy chủ được dự định là đa người dùng và không thể được đào tạo (suy nghĩ về hệ thống điện thoại tự động bằng giọng nói, bạn không thể đào tạo cho mọi người gọi). Câu hỏi SO này có thể hữu ích nếu bạn tò mò - What is the difference between System.Speech.Recognition and Microsoft.Speech.Recognition?