2012-02-28 21 views
6

Mam program z GrammarBuilders i Grammer, który jest używany w SpeechRecognitionEngine do rozpoznawania mowy. Czy zamiast rozpoznawać z audio, mogę użyć tej samej gramatyki, aby rozpoznać komendę (w ciągu znaków)? Coś jak CommandGrammar.parse (commandString)?Prosta gramatyka do rozpoznawania mowy

+0

+1 Naprawdę ciekawy pomysł. A co z zamianą tekstu na mowę, a potem z mową na tekst? – Jason

+0

Minął jakiś rok odkąd poważnie grałem z API rozpoznawania mowy (co w najlepszym wypadku okazało się prymitywne), więc może moje wrażenie i zrozumienie są po prostu nieaktualne, ale nie jest to celem posiadania gramatyk rozpoznawania mowy rozpoznać konkretny głos? Nie dostaniesz tego samego z tekstu. –

+0

Nie, punktem dla tej instancji jest uzyskanie danych wejściowych opartych na logice, takich jak "wykonaj to za 30 sekund". Algorytm głosowy w tej chwili może sobie z tym poradzić, ale co, jeśli ktoś to napisze? Myślę, że powinien być dość łatwy sposób na zrobienie tego. Rozpoznawanie mowy przekształca je w tekst i WTEDY je analizuje, prawda? –

Odpowiedz

3

Powinieneś być w stanie użyć SpeechRecognitionEngine.EmulateRecognize, która pobiera tekst w miejsce dźwięku dla rozpoznawania mowy.

Nie jestem pewien co do zamierzonego zastosowania, ale jeśli będzie to używane na przykład do bota na czacie, który automatycznie wchodzi w interakcję z wprowadzaniem tekstu za pośrednictwem wiadomości błyskawicznych lub wiadomości SMS, uważam, że gramatyki są bardzo uciążliwe w utrzymaniu i ograniczeniu. Polecam coś takiego jak Artificial Intelligence Markup Language (AIML) do obsługi odpowiedzi tekstowych. Jest łatwy do opanowania i bardzo silny. Zamiast używać zwięzłych gramatyk wymaganych przez ASR, ten język pozwala używać symboli wieloznacznych, które znacznie bardziej sprzyjają wprowadzaniu tekstu. Istnieje nawet kilka C# open source projects, które udostępniają biblioteki do pracy z AIML i upraszczają tworzenie botów.

+0

Zmieniono moją odpowiedź, aby uwzględnić metodę SpeechRecognitionEngine do wprowadzania tekstu. –

+0

Dzięki za wskaźnik do tej metody. Używam go do testowania plików gramatycznych za pośrednictwem NUnit. –

Powiązane problemy