Construcción de gramáticas para el reconocimiento de voz C#

En esta parte aprenderemos a construir frases para luego incorporarlas en nuestro léxico del reconocimiento de voz.

Por ejemplo, para una aplicación de búsqueda.

Nombre de algunos buscadores en Internet como: “google, yahoo, facebook y youtube”,

ahora nombremos 4 grupos de artistas “Libido, La ley , Amen y Sin bandera”, por ultimo escribamos algunos términos en que los usuarios buscarían estos artistas como: “en vivo, en concierto, solo letras, solo mp3”.

Listo,

Para mejorar nuestra aplicación de búsqueda con reconocimiento de voz tenemos que usar gramáticas que contenga solo lo que queremos que el usuario este limitado a hablar.

como:

  • Buscar Libido en vivo en google.
  • Buscar Amen en concierto en youtube.
  • Buscar Amen solo letras en yahoo.

nos pasaríamos un buen tiempo construyendo todas las frases.


string[] frases = { "Buscar Libido en vivo en google", "Buscar Amen en concierto en youtube", "Buscar Amen letras en yahoo" ...};

Por suerte hay una forma se hacerlo con unas pocas linea de codigo con la clase llamada GRAMMARBUILDER  la cual hoy aprenderos a usarla.

Primero preparemos nuestras palabras o frases a mesclar.


string[] buscadores = { "google", "yahoo", " facebook", " youtube" };
string[] grupos = { "Libido","La ley","Amen","Sin bandera"};
string[] terminos = {"en vivo", "en concierto", "solo letras","solo mp3" };

Recuerda que en nuestro articulo anterior del uso de gramáticas, esta cadenas de string antes debían pasarse por la clase Choises para ser aceptado como gramáticas.

Empecemos a construir las gramáticas, voy a empezar creando una función.


void construirGramatica()
{
GrammarBuilder frases = new GrammarBuilder("buscar"); // empezamos la frase con la palabra buscar
frases.Append(new Choices(grupos));// primero anñadimos los grupos
frases.Append(new Choices(terminos));// segundo añadimos los terminos de busqueda
frases.Append(new Choices(buscadores));// por ultimo añadimos los buscadores
reconocedor.LoadGrammar(new Grammar(frases)); // cargamos nuestras gramaticas al lexico
}

Ahora llamamos la función antes de iniciar el reconocimiento y tendríamos nuestras gramáticas construidas.


Descarga el codigo AQUI




comentarios

6 comentarios “Construcción de gramáticas para el reconocimiento de voz C#

  1. Richard Contestar

    Hola Gerson, he tenido problemas con la base de datos de acces ya que esta al cerrarse no guarda la información, ya que la ruta en la que carga no es igual a la ruta en que compila, y al crear un exe de la aplicación no encuentra la ruta del archivo de acces.

    • Gerson Post authorContestar

      Es verdad no va a guardar, te recomiendo ir a la carpeta donde ya se compilo e iniciar ahi tu programa

  2. diego Contestar

    Hola Gerson, me podrías decir como efectuar una pregunta y que el asistente haga una cosa u otra en base a mi respuesta? Muchísimas gracias por tu trabajo

  3. edier Contestar

    deberia agregar un comando que permita adicionar otros con la voz, seria genial eso

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *