Documente Academic
Documente Profesional
Documente Cultură
Verbio Technologies, S.L. publicado Septiembre de 2007 Copyright 2007 Verbio Technologies, S.L.
Tabla de contenidos
1. Introduccin ..................................................................................................................... 1 1. Qu es Verbio? ........................................................................................................ 1 2. Uso de esta gua ........................................................................................................ 1 3. Ms informacin ....................................................................................................... 1 2. Inicializacin, configuracin y licencias ................................................................................. 3 1. Prerrequisitos ............................................................................................................ 3 2. Mdulos obligatorios .................................................................................................. 3 2.1. Componentes del servidor (Verbio Server Engine) ................................................. 3 2.2. Componentes del cliente (Verbio Client Engine) ................................................... 4 3. Mdulos opcionales ................................................................................................... 5 3.1. Componentes del servidor ................................................................................. 5 3.2. Componentes del cliente ................................................................................... 6 4. Requisitos hardware ................................................................................................... 9 4.1. Tamao del vocabulario ................................................................................... 9 4.2. Locutores utilizados ........................................................................................10 4.3. Estrategias de diseo de la arquitectura ...............................................................11 5. Poltica de licencias ...................................................................................................12 5.1. Licencias de reconocimiento .............................................................................12 5.2. Licencias de sntesis .......................................................................................13 5.3. Soportes de licencias .......................................................................................13 5.4. Upgrade de licencias .......................................................................................14 6. Puesta en marcha del servidor Verbio ...........................................................................14 6.1. Inicio de Verbio Server Configuration Manager ...................................................14 6.2. Especificacin de las configuraciones de inters ...................................................15 6.3. Especificacin de los locutores de inters ............................................................16 6.4. Actualizacin de licencias ................................................................................17 6.5. Etapa de pruebas ............................................................................................20 6.6. Puesta en marcha del servidor de sntesis y/o reconocimiento ..................................21 6.7. Puesta en marcha del servidor de LOG ...............................................................21 6.8. Detencin y desinstalacin del servicio ...............................................................21 3. Plataformas, herramientas y kits de desarrollo ........................................................................23 1. Plataformas software y hardware .................................................................................23 1.1. Integracin de la telefona y los ordenadores (CTI) ...............................................23 1.2. Programacin de aplicaciones de escritorio .........................................................24 2. SDK - Kit de desarrollo de software .............................................................................25 2.1. Library SDK - Plataforma genrica ....................................................................25 2.2. Advanced SDK - Plataforma genrica C++ .........................................................25 2.3. Dialogic SDK - Dialogic ..................................................................................25 2.4. CT-ADE SDK ...............................................................................................25 2.5. Avaya IR SDK ..............................................................................................25 2.6. Evox SDK ....................................................................................................26 2.7. Microsoft SAPI 4/5 - TTS ................................................................................26 3. Herramientas del desarrollador ....................................................................................26 3.1. Verbio Grammar Manager ...............................................................................26 3.2. Verbio Read Aloud .........................................................................................26 4. Reconocimiento del habla ...................................................................................................27 1. Introduccin ............................................................................................................27 2. Inicializacin ...........................................................................................................27 3. Gramticas de reconocimiento .....................................................................................27 3.1. Tipos de gramticas ........................................................................................27 4. Uso de gramticas .....................................................................................................56 4.1. Crear una gramtica ........................................................................................56 4.2. Preparar el vocabulario ....................................................................................57 4.3. Activar una gramtica para el reconocimiento ......................................................57 5. Reconocer una elocucin ............................................................................................57 5.1. Activar el reconocimiento de habla ....................................................................57 5.2. Formato de las muestras de voz .........................................................................58 5.3. Barge-in .......................................................................................................58
6. Obtener el resultado ..................................................................................................58 6.1. Medidas de confianza ......................................................................................58 6.2. Interpretacin semntica ..................................................................................59 6.3. Mltiples hiptesis .........................................................................................59 5. Conversin de texto en habla ..............................................................................................61 1. Inicializacin ...........................................................................................................61 2. Conceptos bsicos .....................................................................................................61 3. Marcacin de sntesis del habla ...................................................................................61 3.1. Lenguajes de marcacin de sntesis del habla .......................................................61 4. Diccionarios de excepciones y abreviaturas ....................................................................65 4.1. Diccionarios de excepciones de Usuario .............................................................65 4.2. Diccionarios de abreviaturas de Usuario .............................................................65 ndice ................................................................................................................................67
vi
Verbio Technologies
Lista de tablas
2.1. Configuraciones multilinges ............................................................................................ 5 2.2. Configuraciones monolinges ............................................................................................ 5 2.3. Locutores necesarios ........................................................................................................ 6 2.4. Seleccin del SDK de inters ............................................................................................. 7 2.5. Peticiones simultneas en funcin del tamao del vocabulario .................................................10 2.6. Peticiones simultneas de sntesis en tiempo real en funcin del equipo ....................................10 4.1. Built-in soportadas en cada configuracin ...........................................................................33 4.2. Modelos especficos de palabras para espaol castellano ........................................................38 4.3. Modelos especficos de palabras para cataln .......................................................................40 4.4. Modelos especficos de palabras para euskera ......................................................................42 4.5. Modelos especficos de palabras para gallego ......................................................................44 4.6. Modelos especficos de palabras para portugus ...................................................................46 4.7. Modelos especficos de palabras para portugus brasileo ......................................................47 4.8. Modelos especficos de palabras para espaol argentino .........................................................48 4.9. Modelos especficos de palabras para espaol chileno ...........................................................49 4.10. Modelos especficos de palabras para espaol colombiano ....................................................51 4.11. Modelos especficos de palabras para espaol mexicano .......................................................52 4.12. Modelos especficos de palabras para espaol venezolano ....................................................53 4.13. Modelos especficos de palabras para francs .....................................................................54 4.14. Modelos especficos de palabras para ingls americano ........................................................55
Lista de ejemplos
4.1. Vocabulario de listas de palabras sencillo ............................................................................28 4.2. Vocabulario de listas de palabras avanzado .........................................................................28 4.3. Vocabulario de listas de palabras bilinge (idioma por defecto espaol) ....................................29 4.4. Ejemplos de gramticas ABNF .........................................................................................31
Captulo 1. Introduccin
La manera ms natural que tiene un individuo de comunicarse ha sido, es y seguir siendo la voz, por lo que no es de estraar el gran esfuerzo que se viene realizando en los ltimos aos para desarrollar tcnicas que permitan extender esta comunicacin ms all del mbito inter-personal. Actualmente, se han conseguido unos resultados ms que aceptables para un gran abanico de aplicaciones, de modo que empiezan a aparecer en el mercado productos que incorporan tecnologas del habla para facilitar, automatizar o hacer ms natural la interaccin hombre-mquina.
1. Qu es Verbio?
Verbio es un conjunto de libreras y utilidades destinadas a conseguir una rpida y sencilla incorporacin de herramientas del habla (reconocimiento y sntesis del habla, verificacin de locutor y soluciones relacionadas) en aquellas aplicaciones en las que pueda resultar interesante disponer de una interfaz vocal. Verbio incorpora, por lo tanto, funcionalidades de reconocimiento del habla y de sntesis del habla, cuyas caractersticas principales se detallan en los captulos Captulo 4. Reconocimiento del habla y Captulo 5. Conversin de texto en habla respectivamente. Cualquier entorno que disponga de un dispositivo que permita obtener y/o reproducir muestras de audio ser susceptible de incorporar las herramientas contenidas en Verbio. Es decir, el sistema de reconocimiento requerir la obtencin de las muestras de audio dictadas por el locutor para procesarlas y obtener el resultado de reconocimiento. Por otro lado, el sistema de sntesis de voz requerir la reproduccin de las muestras de audio que haya generado a partir del texto introducido.
3. Ms informacin
Documentacin sobre los diferentes SDK:
Captulo 1. Introduccin
Verbio Software Reference: Referencia de las funciones del Advanced SDK Verbio Software Reference: Referencia de las funciones del Library SDK Verbio Software Reference: Referencia de las funciones del Dialogic SDK Verbio Software Reference: Referencia de las funciones del CT-ADE SDK Verbio Software Reference: Referencia de las funciones del Avaya IR SDK Verbio Software Reference: Referencia de las funciones del EVOX SDK
Herramientas de desarrollo: Verbio Software Reference: Gua del usuario de Grammar Manager Verbio Software Reference: Gua del usuario de Read Aloud
Informacin de contacto: En caso de detectar errores en la documentacin proporcionada con cualquiera de las versiones de Verbio o bien en caso de requerir soporte adicional para el desarrollo de aplicaciones no dude en contactar con el departamento tcnico mediante la direccin de correo support@verbio.com. En caso de requerir informacin adicional referente a precios, licencias y cualquier otro aspecto de ndole comercial, puede contactar con el departamento comercial mediante la direccin de correo info@verbio.com.
Verbio Technologies
2. Mdulos obligatorios
Los motores de reconocimiento y sntesis del habla Verbio estn diseados para funcionar en una arquitectura cliente-servidor. Es decir, se requiere uno o ms servicios (servidores) que atienden las peticiones de uno o ms clientes. Entendemos por cliente toda aplicacin que utilice recursos de reconocimiento y/o sntesis del habla. En particular, todas aquellas mquinas que contienen el dispositivo de audio (tarjeta CTI o de sonido). Esta arquitectura permite disear un entorno de trabajo fcilmente escalable y con redundancia. En entornos de poca carga computacional o en aquellos que lo requieran, el cliente y el servidor pueden estar funcionando en la misma mquina.
Seleccin de Componentes del Servidor y/o Componentes del Cliente. Una vez instalados los componentes especficos de Verbio, el instalador comprueba que en el equipo estn presentes los driver de las llaves de licenciamiento (o mochilas o sentinels o candados) requeridas para la puesta en marcha del servicio. Las llaves son dispositivos hardware que deben conectarse al puerto paralelo o USB de la(s) mquina(s) en la(s) que se aloja(n) el(los) servidor(es). Para obtener las llaves debe contactar con su proveedor habitual. En caso de que los driver no estn instalados, se ofrece la posibilidad de hacerlo.
Opcin de instalar los driver de las llaves de licenciamiento si no estn previamente instalados. En caso de proceder a la instalacin, deben seleccionarse las opciones por defecto.
Atencin
En caso de que en el equipo haya insertada alguna llave, es imprescindible retirarla antes de proceder con la instalacin de los driver. En caso contrario, podra perderse la informacin contenida en ellas.
Verbio Technologies
Debe instalarse en todas aquellas mquinas destinadas a alojar uno o varios clientes, independientemente del tipo de transaccin que deban realizar. Para instalar Verbio Client Engine, debe ejecutarse el instalador VerbioEngines.exe. Una vez seleccionado el directorio de instalacin, aparece la ventana de seleccin de los componentes que deben instalarse. Si en la mquina actual nicamente debe instalarse el cliente, se seleccionar slo la opcin Componentes del cliente. En caso de que se desee instalar el cliente y el servidor en la misma mquina, deben seleccionarse los dos componentes.
3. Mdulos opcionales
3.1. Componentes del servidor
Una vez instalados los mdulos obligatorios del servidor segn lo comentado en los apartados previos, deber procederse a instalar aquellos componentes opcionales necesarios. Verbio distribuye mdulos de reconocimiento del habla (configuraciones) y mdulos de sntesis del habla (locutores). As, pues, en funcin de los idiomas que deba soportar el motor de reconocimiento ser necesario instalar una o ms configuraciones. Asimismo, para cada locutor que se desee utilizar, tambin ser necesario instalar su locutor correspondiente.
Verbio Technologies
Captulo 2. Inicializacin, configuracin y licencias Idioma Espaol argentino Espaol chileno Espaol colombiano Espaol mexicano Espaol venezolano Francs Ingls americano Portugus Portugus brasileo Instalador es-ar es-cl es-co es-mx es-ve fr en-us pt pt-br
Atencin
Atencin, contacte con VERBIO (info@verbio.com) si requiere algn idioma adicional, puesto que se est en fase de desarrollo de nuevas configuraciones de reconocimiento.
Atencin
Atencin, contacte con VERBIO (info@verbio.com) si requiere algn idioma adicional, puesto que se est en fase de desarrollo de nuevos locutores de sntesis.
La decisin del SDK a utilizar depende de un conjunto de factores que a continuacin se detallan con la finalidad de que cada integrador encuentre aqul que mejor se adapte a su entorno de programacin y a sus conocimientos. La tabla siguiente es un resumen de las particularidades de cada SDK, pudindose consultar la Seccin 1 para mayor informacin.
Microsoft Visual Cualquier tarjeta Incompatible con Studio C/C++ CTI o dispositivo versiones I/O anteriores Microsoft Visual Tarjetas CTI Compatible con
Dialogic
No
vxxxlib.dll
Captulo 2. Inicializacin, configuracin y licencias SDK Entorno de programacin Studio C/C++ Otros compiladores C/C++ Library Microsoft Visual Cualquier tarjeta Compatible con Studio C/C++ CTI o dispositivo Verbio Library I/O (vox_) Otros compiladores C/C++ Graphical VOS (Parity) - CT ADE Tarjetas CTI Dialogic Compatible con versiones anteriores de IVR No voxlib.dll Hardware utilizado Dialogic Compatibilidad Verbio Dialogic (vx_) Herramientas avanzadas DLL contenedora
CT ADE
No
ivr.dll
Es posible utilizar todos los SDK de desarrollo desde compiladores que no trabajen en C/C++, aunque la programacin requerir de un trabajo previo consistente en importar todas las funciones contenidas en la DLL del SDK de inters dentro del entorno de programacin. Verbio incorpora la plataforma de desarrollo Advanced para facilitar el uso de los motores de reconocimiento y sntesis del habla, sobretodo de las nuevas funcionalidades incorporadas. El resto de plataformas se han actualizado para poder disfrutar tambin de las nuevas prestaciones de Verbio sin perder la compatibilidad con las versiones anteriores, aunque ello implique un uso algo ms complejo que el de la nueva plataforma. Las herramientas avanzadas (nicamente disponibles en la plataforma de desarrollo Advanced) afectan tanto a la sntesis como al reconocimiento, aunque es en este ltimo en el que ms se ha profundizado, especialmente a la hora de procesar los resultados devueltos por el sistema de reconocimiento.
Verbio Grammar Manager: Herramienta destinada a disear y probar las gramticas de reconocimiento utilizadas en la aplicacin. Para ms informacin consulte la documentacin asociada Verbio Software Reference: Gua del usuario de Grammar Manager. Verbio Read Aloud: Herramienta destinada a probar los locutores disponibles mediante la especificacin de cualquier texto y la manipulacin de sus parmetros de funcionamiento bsicos. Para ms informacin consulte la documentacin asociada Verbio Software Reference: Gua del usuario de Read Aloud.
La instalacin de las herramientas de prueba y desarrollo no requiere la instalacin de ninguno de los tipos de clientes que los acompaan en el instalador, sino que nicamente requieren los componentes obligatorios del cliente. Para ms informacin acerca de cualquiera de estas herramientas, consulte la documentacin correpondiente (includa al instalarlas).
Captulo 2. Inicializacin, configuracin y licencias documentacin referentes al producto. Se aconseja utilizar la opcin de instalacin completa, tras lo cual nicamente queda por especificar el directorio del equipo en el que se ha instalado (si est en local) el servidor HTTP (tpicamente Apache). En caso de que no se haya instalado el servidor HTTP en el equipo local, se recomienda dejar la opcin por defecto.
4. Requisitos hardware
A la hora de determinar el(los) equipo(s) necesario(s) para cada instalacin, es conveniente tener en cuenta los aspectos que ms influyen en el consumo de recursos hardware. Entre los aspectos ms determinantes destacan el tamao del vocabulario, los locutores utilizados y la distribucin de la carga computacional (estrategia de diseo).
Por palabras del vocabulario entendemos toda unidad de reconocimiento que forma parte del fichero de vocabulario o de la gramtica; es decir, aquella unidad que puede reconocerse de manera aislada. Por ejemplo, en un vocabulario de nombres+apellidos, las palabras del vocabulario estaran constitudas por el nombre ms el apellido. Para mayor informacin acerca de vocabularios y gramticas, consulte la Seccin 3. Estos resultados se obtienen forzando un tiempo de respuesta inmediato. Es decir, sin permitir retardos entre el final de la locucin y la obtencin del resultado del reconocimiento. En aplicaciones poco crticas en cuanto a tiempo de respuesta, podran aumentarse ligeramente el nmero de puertos simultneos sin apreciar una degradacin de la calidad del servicio. En algunos casos, sin embargo, es posible desglosar vocabularios y/o gramticas de gran tamao en subvocabularios y/o subgramticas que, con las mismas prestaciones, consumen menos recursos. En entornos de mltiples canales/puertos, el consumo de memoria tambin puede ser elevado en algunos casos, puesto que todos los canales tienen cargado en memoria las gramticas de reconocimiento que deban emplear en el siguiente proceso de reconocimiento. En estos casos, es importante tener activadas las gramticas nicamente cuando el proceso de reconocimiento deba ser inminente. A ttulo de ejemplo, una gramtica que ocupe 4 MBytes en memoria puede ocupar 240 MBytes en entornos de trabajo de 2 primarios (60 canales) si todos los canales la cargan al unsono.
Tabla 2.6. Peticiones simultneas de sntesis en tiempo real en funcin del equipo
Captulo 2. Inicializacin, configuracin y licencias Prestaciones mquina Intel Pentium III a 1 GHz Intel Pentium IV a 2,4 GHz Peticiones simultneas 17 27
Al igual que para el caso de reconocimiento del habla, estos resultados tambin se han obtenido forzando un tiempo de respuesta inmediato entre la peticin y el inicio de la sntesis. En entornos en los que el tiempo de respuesta no sea crtico, el nmero de peticiones simultneas de sntesis puede ser ligeramente superiores a las que aparecen en la tabla sin apreciar una degradacin de la calidad del servicio.
Reutilizacin y mximo aprovechamiento de los recursos disponibles: no es necesario deshacerse de equipos antiguos si se aumenta el tamao de los vocabularios o si el sintetizador se actualiza por otro que consuma ms memoria o si aumenta el nmero de lneas atendidas. En cualquiera de estos casos, es suficiente con aadir algn otro servidor al entorno, de modo que redistribuyendo la carga de nuevo entre todos los servidores no sea necesario reemplazarlos todos por mquinas de prestaciones superiores. Implementacin de estrategias de respaldo (backup): no nicamente es posible que cada lnea (de cada cliente) se conecte a un servidor distinto, sino que adems es posible indicar servidores de respaldo para que, en caso de cada de algn servidor, las lneas que lo estuvieran utilizando hasta el momento se conecten automticamente a algn otro de los servidores disponibles. Los servidores de respaldo pueden ser equipos dedicados exclusivamente a esta funcin o bien ser otros servidores del sistema ya en uso (en este caso, la cada de uno de ellos podra implicar, segn el dimensionado, una cierta sobrecarga de los restantes, lo que podra redundar en pequeos retardos, la mayora de las veces imperceptibles).
En la siguiente figura se muestra un ejemplo de arquitectura cliente-servidor en la que cada cliente (unos en produccin y otros en preproduccin o desarrollo) se conectan a sus respectivos servidores de sntesis y de reconocimiento. A su vez, estos clientes estn configurados de manera que, en caso de prdida de conexin con su servidor, desven sus peticiones hacia el servidor del otro cliente. Esta estrategia permite que ambos clientes sigan operativos en caso de que uno de los servidores caiga. Evidentemente, en caso de que el servidor operativo estuviera ya muy cargado, la sobrecarga derivada de las peticiones del cliente adicional puede provocar ciertos retardos (en momentos pico) en los sistemas, aunque no deja de ser una circunstancia preferible a la de quedarse sin servicio en alguno de los clientes.
Arquitectura cliente-servidor con redundancia a nivel de servidores. En sistemas que por simplicidad o costes no requieran redundancia ni deban utilizar ms de un servidor, Verbio permite instalar el cliente (o clientes) y el servidor en la misma mquina, tal y como se muestra en la siguiente figura. Adems, sirve la figura para mostrar los mdulos internos tpicos que suelen estar presentes en las aplicaciones clientes.
5. Poltica de licencias
Verbio dispone de licencias diferenciadas para reconocimiento del habla y para sntesis del habla y, dentro de estos dos grupos, licencias distintas para cada uno de los idiomas soportados. De este modo, slo es necesario adquirir las licencias necesarias en cada caso, pudindose actualizar o incrementar el nmero de las mismas a medida que se incrementen las necesidades del sistema.
Las licencias de reconocimiento del habla se dividen en dos grandes grupos: licencia de motor y licencia de configuracin. La licencia de motor se consume nicamente durante el proceso de reconocimiento; es decir, mientras el servidor est procesando las muestras de voz para obtener el resultado de reconocimiento. La licencia de configuracin est asociada a cada una de las configuraciones disponibles, de modo que para poder utilizar una configuracin, es imprescindible disponer de su correspondiente licencia. Las licencias de configuracin se consumen mientras haya algn vocabulario cargado asociado a dicha configuracin o a partir del momento de la consulta/establecimiento de alguno de los parmetros que rigen el comportamiento del motor de reconocimiento (consulte la documentacin tcnica para conocer qu parmetros afectan al consumo de licencias). La licencia de configuracin se libera cuando se descargan todos los vocabularios. En el momento del reconocimiento, se estar consumiendo, forzosamente, una licencia de motor y una licencia, como mnimo, de configuracin (la asociada al(los) vocabulario(s) activo(s)).
Intervalos de tiempo de uso de los distintos tipos de licencias (motor y configuracin) Debido a que el intervalo de tiempo en el que se consumen licencias de configuracin es mayor que aqul en el que se consumen licencias de motor, es muy probable que el nmero de licencias de configuracin deba ser superior al de motor si la codificacin de la aplicacin no ha tenido en cuenta este aspecto. En caso de reconocimiento en mltiples idiomas (no contenidos en una misma configuracin), ser necesario disponer de una licencia de motor y de una licencia de cada una de las configuraciones que intervengan en el reconocimiento.
Arranque del configurador de Verbio, Verbio Server Configuration Manager Las operaciones que pueden realizarse desde Verbio Server Configuration Manager son las siguientes:
Arrancar y parar el servidor de reconocimiento y/o sntesis del habla Verbio. Especificar las configuraciones de reconocimiento que se utilizarn, indicando el idioma por defecto para cada una de ellas as como la configuracin por defecto. La configuracin por defecto es la que se utilizar para la preparacin de los vocabularios y gramticas si no se indica una configuracin diferente. Vase la Seccin 6.2. Especificar los locutores que se utilizarn, as como el locutor por defecto para cada idioma. El locutor por defecto es el que se utilizar en el proceso de sntesis siempre y cuando no se haya especificado ningn otro locutor y/o idioma previamente. Vase la Seccin 6.3. Especificar si los locutores se cargarn en memoria o bien si accedern directamente a disco. En la seccin Seccin 4.3 se detallan los aspectos concernientes a esta eleccin. Vase la Seccin 6.3. Incrementar el nmero de licencias disponibles. Vase la Seccin 6.4. Determinar si el servicio de reconocimiento y/o sntesis del habla Verbio debe arrancar automticamente al iniciarse el equipo y la frecuencia de trabajo del motor de sntesis. Asimismo, se pueden modificar los puertos que utilizan los servicios Verbio y Verbio Logging para evitar incompatibilidades con servicios que utilicen los mismos puertos o bien para evitar la accin de cortafuegos. Vase la Seccin 6.6. Cualquiera de estas modificaciones requiere reiniciar el servicio a continuacin para que los cambios tengan efecto. Activar el periodo de tuning y especificar el directorio en el que se almacenar toda la informacin de este periodo. Vase la Seccin 6.5 Activar o detener el servicio de log as como especificar el nivel de detalles que se quieren obtener. Vase la Seccin 6.7
Las configuraciones instaladas en el equipo, as como el nmero de licencias disponibles para cada una de ellas y el tamao en disco que ocupan. Los locutores disponibles en el sistema, as como sus caractersticas, las licencias disponibles para cada uno de ellos y el tamao que ocupan en caso de ser activados. Las licencias disponibles para motores de reconocimiento, sntesis y utilizacin SAPI. El nmero de serie del servidor y la versin instalada. Tambin se muestra el nmero de serie de la llave (sentinel o candado) que contiene las licencias si est insertada en la ranura. En caso contrario, el valor es -1.
Una vez arrancado Verbio Server Configuration Manager, el primer paso consiste en verificar que se dispone de licencias para todas aquellas configuraciones (pestaa ASR configuration) y/o locutores (pestaa TTS Speakers) que desean utilizarse. En caso contrario, debe consultarse el nmero de serie del servidor o de la llave (pestaa Settings) y contactar con el proveedor habitual para que ste proporcione el fichero de upgrade adecuado. Si no se dispone de licencias, puede probarse el sistema en modo de evaluacin en periodos de 60 minutos. Para ms informacin acerca de cmo funciona el sistema de licenciamiento consulte la Seccin 6.4 o bien pngase en contacto con su proveedor habitual.
Especificacin y configuracin de las configuraciones de reconocimineto de inters. En caso de querer utilizar reconocimiento del habla, y tras haber verificado que se disponen de licencias tanto de motor como de las configuraciones necesarias (vase el apartado anterior y la Seccin 6.4), es necesario indicar al servidor qu configuraciones debe arrancar, en qu idioma (si la configuracin es multilinge) y cul debe ser la configuracin por defecto. La configuracin por defecto es la que se utilizar para la preparacin de los vocabularios y gramticas si no se indica una configuracin diferente mediante alguna de las funciones de los SDK. Debe seleccionarse la casilla de la columna Active en todas aquellas configuraciones que deban estar disponibles en el servidor una vez est operativo. En la Seccin 3.1.1 puede obtenerse el listado de las configuraciones necesarias segn los requisitos de las aplicaciones (clientes) que se comuniquen con el servidor. Debe seleccionarse una nica configuracin por defecto de entre todas las configuraciones activas (por defecto, se selecciona la primera configuracin activada) mediante la seleccin de la casilla correspondiente en la columna Default. El ltimo paso consiste en seleccionar el idioma por defecto para todas aquellas configuraciones activas multilinges. El idioma por defecto es aqul que se utilizar en la preparacin de los vocabularios y gramticas cuando se utilice su configuracin asociada y no se haya indicado lo contrario (por cdigo).
Atencin
Es imprescindible detener y volver a arrancar el servicio para que los cambios en la configuracin tengan efecto mediante el botn Restart.
Especificacin y configuracin de los locutores de sntesis de inters. En caso de querer utilizar sntesis del habla y tras haber verificado que se disponen de licencias tanto de motor como de los locutores deseados (vase el apartado anterior y la Seccin 6.4), es necesario indicar al servidor qu locutores debe cargar, as como los locutores por defecto para cada idioma. Debe seleccionarse la casilla de la columna Active de todos aquellos locutores que deban estar disponibles en el servidor una vez est operativo. Para cada uno de los idiomas de trabajo debe seleccionarse un locutor por defecto, que ser el utilizado en aquellas peticiones en las que no se haya indicado especficamente otro locutor para el idioma afectado. Por defecto se selecciona la casilla Default del primer locutor activado para cada idioma, aunque puede modificarse esta seleccin posteriormente. Finalmente, puede optarse por acceder a disco o a memoria (esta medida afecta a todo el conjunto de locutores seleccionados) durante los procesos de sntesis. En la Seccin 4.2 se detallan los aspectos a tener en cuenta a la hora de decidirse entre una u otra opcin. Si desea accederse a memoria (mayor velocidad aunque mayor consumo de memoria) durante el proceso de sntesis debe seleccionarse la casilla In Memory de cualquiera de los locutores activados. Deben deseleccionarse estas casillas en caso contrario. Tambin es posible indicar la frecuencia de trabajo del servidor de sntesis. Todos los locutores Verbio permiten trabajar a 8 KHz (para aplicaciones telefnicas) y a 16 KHz (para aplicaciones desktop). Una vez instalados todos los locutores (todos ellos de la misma frecuencia), deber seleccionarse la deseada mediante el desplegable situado en la pestaa Settings. Es importante tener en cuenta que no puede seleccionarse la frecuencia de trabajo de manera individual para cada locutor.
Atencin
En caso de que la voz sinttica suene distorsionada, posiblemente no se habr seleccionado correctamente la frecuencia de trabajo en la pestaa Settings. Revise que la frecuencia de trabajo se corresponde con la instalada para todos los locutores.
Atencin
Es imprescindible detener y volver a arrancar el servicio para que los cambios en la configuracin tengan efecto mediante el botn Restart.
Consulta y actualizacin de las licencias disponibles. El uso de los sistemas de sntesis y reconocimiento del habla de Verbio requiere, en funcin de cada caso, la adquisicin de varios tipos de licencias, de modo que se adapten lo mejor posible al uso que se vaya a hacer de ellos. Licencias de motor ASR: Es necesario disponer de tantas licencias de motor de reconocimiento como peticiones simultneas de reconocimiento deseen poder atenderse en el servidor, independientemente de las configuraciones utilizadas. La cantidad de licencias de reconocimiento disponibles se muestra en la pestaa Engine Licenses. Licencias de motor TTS: Es necesario disponer de tantas licencias de motor de sntesis como peticiones simultneas de sntesis deseen poder atenderse en el servidor, independientemente de los idiomas utilizados. La cantidad de licencias de sntesis disponibles se muestra en la pestaa Engine Licenses. Licencias de acceso a un SAPI externo: Es necesario disponer de tantas licencias de motor SAPI externo como peticiones simultneas deseen poder realizarse desde Verbio hacia un locutor compatible SAPI de otro proveedor de tecnologas del habla. La cantidad de licencias de SAPI externo disponibles se muestra en la pestaa Engine Licenses. Licencias de acceso va SAPI: Es necesario disponer de tantas licencias de motor de acceso SAPI como peticiones simultneas deseen poder realizarse desde una aplicacin compatible SAPI hacia los locutores de Verbio utilizando este protocolo. La cantidad de licencias de acceso SAPI disponibles se muestra en la pestaa Engine Licenses. Licencias especficas para cada configuracin (reconocimiento): En funcin de los idiomas que se deseen utilizar en reconocimiento es necesario disponer de las suficientes licencias (tantas como peticiones simultneas se deban procesar) de la(s) configuracin(es) que los engloba. Lgicamente, el nmero de licencias de una configuracin no debe ser superior al nmero de licencias de motor ASR disponibles (estaran infrautilizadas). La cantidad de licencias disponibles para cada configuracin se muestra en la pestaa ASR configuration.
Licencias especficas para cada idioma (sntesis): En funcin de los idiomas que se deseen utilizar en sntesis es necesario disponer de las suficientes licencias (tantas como peticiones simultneas se deban procesar) de dichos idiomas (la licencia para un idioma permite utilizar cualquier locutor de ese idioma). Lgicamente, el nmero de licencias de un idioma no debe ser superior al nmero de licencias de motor TTS disponibles (estaran infrautilizadas). La cantidad de licencias disponibles para cada locutor se muestra en la pestaa TTS Speakers. Licencias de prestaciones limitadas (TIER): Para aquellos entornos que no requieran de grandes vocabularios y que estn destinados a segmentos de mercado de baja capacidad (en cuanto a nmero de peticiones atendidas), VERBIO comercializa una versin restringida de su motor de ASR (con o sin TTS) a un precio menor para acercar sus soluciones a sectores y mercados donde el precio es un aspecto crtico para implantar estas tecnologas. Los principales condicionantes son: Tamao del vocabulario limitado a N palabras, donde N vara en funcin de la franja de precios. Nmero mximo de puertos que pueden instalarse en cada entorno. Slo se acepta una mochila por equipo, con un mximo de L licencias en ella. No se aceptan licencias en formato fichero.
Para ms detalles acerca de los lmites aplicados a las versiones TIER de VERBIO, pngase en contacto con commercial@verbio.com. En la pestaa Engine Licenses se muestra el lmite (si existe) en el nmero de palabras que pueden contener los vocabularios y gramticas. En la casilla Max grammar size, in words aparece el nmero de palabras mximo, o bien 0 si no hay lmite, o bien -1 si no hay ninguna mochila en el equipo. Es posible reprogramar la mochila para limitar o deslimitar el tamao de las gramticas mediante un cdigo proporcionado por su proveedor habitual. Dicho cdigo debe copiarse en el campo (Edit box) situado bajo Max grammar size, in words y, posteriormente, pulsar el botn Update. Es necesario reiniciar el servicio Verbio para que los cambios tengan efecto. VERBIO permite tambin alquilar las licencias para un perodo determinado. En este caso, la licencia tambin debe ir, obligatoriamente, en formato mochila. Una vez transcurrido el perodo de alquiler, el servicio deja de funcionar. En caso de querer prorrogar el perodo de alquiler, debe contactar con su proveedor habitual, quien le har llegar un cdigo de reprogramacin que debe copiar en el campo (Edit box) situado bajo Maintenance period remaining, in days y, posteriormente, pulsar el botn Update. En la casilla Maintenance period remaining, in days aparece el nmero de das de funcionamiento disponibles, o bien 0 si no hay lmite, o bien -1 si no hay ninguna mochila en el equipo.
Las licencias pueden adquirirse/incrementarse solicitando un fichero de Upgrade al proveedor habitual, proporcionando la siguiente informacin: Tipo de soporte deseado: Los productos Verbio proporcionan dos soportes distintos para albergar las licencias: fichero de texto y llave hardware. La ventaja del primero es la inmediatez en la entrega (por correo electrnico) y su menor coste debido a no tener que pagar la llave. El principal inconveniente es que la licencia se asocia a un nmero de serie del producto (o al nmero de serie de la tarjeta telefnica), de modo que deja de ser vlida cuando se cambia de tarjeta telefnica o cuando se reformatea el equipo (el nmero de serie del producto se obtiene a partir de informacin del sistema operativo). La llave tiene la ventaja principal de que las licencias son reutilizables en cualquier entorno o equipo en el que se coloque el dispositivo, independientemente del nmero de serie del producto o de la tarjeta de telefona utilizada. Adems, en caso de avera se sustituye sin problemas por otra (tras la devolucin de la defectuosa), cosa que con el soporte fichero no puede realizarse. Los principales inconvenientes son que el tiempo de entrega depende del tiempo de transporte y que el coste se incrementa ligeramente, puesto que incluye los costes de la llave y de los portes. En el caso de optar por llaves, deber indicarse si se desea una llave de puerto paralelo o bien de puerto USB. Licencias deseadas: Debe indicarse el tipo y la cantidad de licencias que se desean obtener (de motor, de configuraciones, etc.). En este misma seccin se han detallado los distintos tipos de licencias existentes. En caso de cualquier duda al respecto, consulte con su proveedor habitual. Nmero de serie: En caso de soporte fichero, debe proporcionarse el nmero de serie del producto o de la tarjeta CTI. En caso de soporte llave, debe proporcionarse el nmero de serie de la llave (si se desea reutilizar o reprogramar una llave existente). Ambos nmeros de serie pueden consultarse en la pestaa
Settings. En el caso de que no se encuentre una llave en los puertos (USB o paralelo) del equipo, el contenido de la casilla es -1.
Nmeros de serie del producto y de la llave necesarios para la obtencin de licencias. En caso de utilizar licencias en soporte llave y desear incrementar el nmero de licencias, es necesario colocar la llave en la ranura adecuada y solicitar un fichero de Upgrade al proveedor habitual. Este fichero debe seleccionarse en la casilla License file de la pestaa Engine Licenses mediante el explorador de ficheros adjunto. Una vez seleccionado el fichero, en la ventana superior se puede comprobar su contenido (que debe adecuarse a las licencias solicitadas). Tras verificar el contenido del fichero, debe pulsarse el botn Update y las licencias quedarn automticamente actualizadas en la llave. En caso de utilizar licencias en soporte fichero y desear incrementar el nmero de licencias, es suficiente con solicitar un nuevo fichero a su proveedor habitual que deber reemplazar al inicial (el fichero proporcionado ya contendr la suma de las licencias anteriores y de las solicitadas).
Atencin
Es imprescindible detener y volver a arrancar el servicio para que el servidor detecte el incremento de licencias mediante el botn Restart.
Captulo 2. Inicializacin, configuracin y licencias resultados obtenidos, de modo que el desarrollador pueda conocer con la mayor exactitud posible la calidad del servicio y, llegado el caso, la fuente de error ms probable en caso de que los resultados no sean los esperados. Esta herramienta, adems, permitir modificar los parmetros del sistema (configuracin del motor de reconocimiento, gramticas, tiempos de guarda, etc. ) y volver a evaluar los resultados con el objetivo de encontrar la combinacin que mejores resultados ofrecer con el sistema en produccin. Para activar el registro de toda la informacin necesaria, debe activarse la casilla Tuning period de la pestaa Settings del Verbio Server Configuration Manager, indicando adems el directorio raz a partir del cual se estructurarn las carpetas con toda la informacin almacenada. En cuanto finalice la etapa de tuning, bastar con desactivar dicha casilla para dejar de almacenar la informacin.
Atencin
Antes de proceder a la actualizacin de versiones superiores, es imprescindible detener el servicio y desinstalar todos los componentes de la versin anterior siguiendo las recomendaciones del pargrafo
anterior.
1.1.1. Dialogic
Puede encontrar informacin de las tarjetas fabricadas por Dialogic en http://www.dialogic.com. Verbio permite ser incorporado en entornos Dialogic mediante el uso del entorno especfico de programacin Dialogic SDK o CT-ADE SDK o bien mediante los entornos genricos Library SDK y Advanced SDK. En la Seccin 2 se ofrece ms informacin acerca de los entornos de programacin disponibles para poder seleccionar la opcin que mejor se adapte en cada caso.
1.1.3. NMS
Puede encontrar informacin de las tarjetas fabricadas por Natural Microsystems en http://www.nmss.com. Verbio permite ser incorporado en entornos NMS mediante el uso de los entornos de programacin Library SDK o Advanced SDK. En la Seccin 2 se ofrece ms informacin acerca de los entornos de programacin disponibles para poder seleccionar la opcin que mejor se adapte en cada caso.
1.1.4. Aculab
Puede encontrar informacin de las tarjetas fabricadas por Aculab en http://www.aculab.com. Verbio permite ser incorporado en entornos Aculab mediante el uso de los entornos de programacin Library SDK o Advanced SDK. En la Seccin 2 se ofrece ms informacin acerca de los entornos de programacin disponibles para poder seleccionar la opcin que mejor se adapte en cada caso.
24
Verbio Technologies
Captulo 3. Plataformas, herramientas y kits de desarrollo de programacin disponibles para poder seleccionar la opcin que mejor se adapte en cada caso.
Verbio Technologies
25
2. Inicializacin
La inicializacin del motor de reconocimiento del habla consiste en habilitar uno o ms idiomas para usar en la aplicacin as como especificar el idioma por defecto para un vocabulario de reconocimiento (ver funciones de inicializacin en la Function Reference para ms detalles o la Seccin 6.2 para especificar los valores por defecto).
3. Gramticas de reconocimiento
Una gramtica de reconocimiento define el universo de posibles respuestas que el sistema puede reconocer en un determinado momento. Es el subconjunto del lenguaje aceptado por el reconocedor. Por lo tanto debe haber una gramtica adecuada para cada instante del dilogo entre la persona y la mquina. Una gramtica especifica el vocabulario de palabras que el sistema puede reconocer as como las posibles secuencias en que stas se pueden combinar.
como [abrir | cerrar] [la ] [puerta | ventana] imponiendo el lenguaje natural en una sintaxis de gramtica de contexto libre. Los diferentes tipos de gramticas definen el lenguaje y la terminologa para expresar cmo combinar las palabras.
Opcionalmente, las listas de palabras pueden formatearse en columnas separadas por un carcter tabular (\t). Entonces, la segunda columna de una entrada es la palabra en su forma literal, es decir, las palabras a pronunciar (transcribir fonticamente). En este caso, la primera columna es el resultado devuelto cuando la palabra es reconocida. El Ejemplo 4.2. Vocabulario de listas de palabras avanzado es el mismo vocabulario de nombres de persona pero el resultado devuelto por el reconocedor es la extensin telefnica (ntese que dos entradas pueden devolver la misma palabra; -> indica tabulador (\t)). Las palabras de relleno (entradas que empiezan con el smbolo #) son tiles para indicar qu palabras acompaantes pueden usarse en el contexto de la gramtica pero no son propiamente palabras con contenido (significantes) (una palabra de relleno reconocida no cuenta como palabra devuelta por las funciones de procesado del resultado).
Estas gramticas tipo una de las palabras del vocabulario se denotan en Verbio como palabras aisladas (ver flags ISOLATED en las Function Reference). Similarmente, las gramticas tipo una o varias de las palabras del vocabulario, denotadas en Verbio como palabras conectadas (ver flags CONNECTED en las Function Reference) usan los mismos ficheros pero se permiten mltiples entradas por elocucin del usuario.
3.1.1.1. Idioma
Las gramticas Verbio soportan vocabularios plurilinges: algunas palabras pueden pronunciarse en un idioma y otras en otro distinto. Esto es particularmente interesante en directorios de nombres de persona y, especialmente, en territorios bilinges, donde los nombres acostumbran a pronunciarse acorde a su origen geogrfico. El idioma se especifica con los descriptores [$ESP] (espaol), [$CAT] (cataln), [$EUS] (euskera), [$GAL] (gallego), [$POR] (portugus) y [$DEF] (idioma por defecto). El idioma por defecto es el establecido al preparar el vocabulario. En el Ejemplo 4.3. Vocabulario de listas de palabras bilinge (idioma por defecto espaol), el idioma por defecto es espaol por lo que las palabras a pronunciar en cataln se delimitan con el descriptor [$CAT], indicando las reglas de transcripcin fontica a aplicar. Estos descriptores indican cmo procesar las palabras siguientes en la misma entrada del vocabulario y no afectan el procesado de las siguientes entradas (Nota: deben dejarse espacios en blanco antes y despus de los descriptores de idioma).
28
Verbio Technologies
Para ms detalles sobre su implementacin, ver documentacin relacionada con el idioma en la inicializacin y el establecimiento de parmetros en las Function Reference.
Ejemplo 4.3. Vocabulario de listas de palabras bilinge (idioma por defecto espaol)
1023 1024 1024 1027 1027 1029 1032 #ponme con #por favor -> -> -> -> -> -> -> Lus Fernndez Jos Prez Pepe Prez [$CAT] Andreu Pujol Andrs [$CAT] Pujol [$CAT] Jordi [$DEF] Sevilla Mara Sancho ; ; ; ; ; ; ; en espaol en espaol en espaol en cataln "Andrs" en espaol, "Pujol" en cataln "Jordi" en cataln, "Sevilla" en espaol en espaol
3.1.2.1.2. Reglas Cada regla se identifica con un nombre de regla. Una referencia a una regla local (definida en la misma gramtica) se define con su nombre de regla, que debe empezar siempre con el carcter $ .
$dia $mes
3.1.2.1.3. Secuencias Una secuencia de tokens, reglas o combinaciones de ambas es a su vez una regla, lo que implica el orden cronolgico en el que las palabras pueden pronunciarse.
ponme con Juan ponme con $nombre $relleno $nombre // secuencia de 3 tokens // secuencia de 2 tokens y 1 referencia a una regla // secuencia de referencias a reglas
Verbio Technologies
29
3.1.2.1.4. Alternativas Un conjunto de alternativas tambin es una regla. Se identifican como una lista de reglas separadas por el smbolo | .
Juan | Jos | "Jos Luis" | $nombres
Cada alternativa puede opcionalmente tener un peso (valor en coma flotante entre / ).
/2/ Juan | /3/ Jos | /1/ "Jos Luis"
Este peso es proporcional a la probabilidad de insercin de dicha alternativa en el reconocimiento de una elocucin. Por defecto, el peso es 1.0 Un peso mayor que 1 aumenta la probabilidad de insercin de un token comparado con el resto de palabras. Un peso menor que 1 implica una mayor probabilidad de eliminar dicha palabra del reconocimiento. Si todas las palabras tienen un peso superior a 1, la probabilidad de insercin de palabras es ms alta. Por lo tanto, una lista de alternativas con todos los pesos a 1 no es equivalente a la misma lista con todos los pesos a 10, por ejemplo. En este ltimo caso, la probabilidad de insercin de palabras se vera incrementada. Si el peso se asigna a una regla o expresin, dicho peso multiplicar a los pesos de todas las palabras contenidas en dicha regla. Por lo tanto, la regla:
/2/ Juan | /3/ Jos | /3/ (/1/ Luis | /2/ Jorge)
es equivalente a:
/2/ Juan | /3/ Jos | /3/ Luis | /6/ Jorge
Por lo tanto, es conveniente usar los pesos con cuidado y preferiblemente en las palabras finales exclusivamente. 3.1.2.1.5. Reglas especiales GARBAGE SILENCE Define una regla que puede mapear cualquier segmento de habla hasta que lo haga la siguiente regla o bien el final de la elocucin. Define una regla que puede mapear un silencio. Es til para indicar silencios particularmente largos dentro de una elocucin. Por defecto, los silencios al principio y final de la elocucin ya se insertan automticamente en el procesador de gramticas. Entre palabras, y tambin de forma automtica, se insertan silencios cortos opcionales.
// "ponme con Juan" // "por favor podras ponerme con Jos" // "Luis" $GARBAGE (Juan | Jos | Luis)
3.1.2.1.6. Repeticiones: opcional, *, + Palabras o reglas opcionales se delimitan por corchetes [...]. Los smbolos * y + indican que la palabra o regla precedente puede repetirse cero o ms veces o una o ms veces respectivamente.
// "1" // "1 4 3 2" $digit + // "pizza" // "pizza grande con queso" // "pizza pequea con queso y anchoas" pizza [[muy] grande | pequea] ([con | y] $complemento)*
3.1.2.1.7. Tags Cada token puede asociarse a una cadena de texto que el reconocedor devuelve en lugar de la palabra pronunciada. El tag se delimita entre llaves {...}.
["ponme con" {}] ("Lus Fernndez" {1023} | "Jos Prez" {1024} | "Pepe Prez" {1024})
Cuando el tag est vaco {} , el token se considera como una palabra de relleno y no ser jams devuelta por el reconocedor. En el ejemplo anterior, el resultado del reconocedor ante la elocucin "ponme con Jos Prez" sera "1024". 3.1.2.1.8. Idioma
Las gramticas ABNF soportan vocabularios plurilinges, es decir, palabras de la gramtica que se pronunciarn en un idioma distinto al establecido por defecto. Siempre hay un idioma por defecto con el que el vocabulario se prepara (para ms detalles sobre su implementacin, ver documentacin relacionada con el idioma en la inicializacin y el establecimiento de parmetros en las Function Reference). El idioma por defecto de un vocabulario o gramtica puede establecerse inline usando el descriptor language seguido por el identificador de idioma ( es para espaol, ca para cataln, eu para euskera, ga para gallego, es-ar para espaol argentino, es-cl para espaol chileno, es-co para espaol colombiano, es-mx para espaol mexicano, es-ve para espaol venezolano, pt para portugus, pt-br para brasileo, fr para francs y en-us para ingls americano) y un punto y coma. El idioma de los tokens puede establecerse aadiendo despus del token el smbolo de admiracin ! seguido del identificador de idioma.
language es; $color = verde | azul | rojo | verd!ca | blau!ca | vermell!ca ; // en espaol // en cataln
3.1.2.1.9. Precedencia La precedencia de operadores en la definicin de reglas es: 1. 2. 3. 4. 5. Nombre de regla denotado por el smbolo $ . Parntesis () para agrupar y corchetes [] para agrupar opcionales. Operadores unarios * y + y tags {} aplican a la palabra o regla immediatamente precedente (los parntesis permiten agrupar palabras y reglas). Secuencias de palabras y/o reglas. Secuencias de palabras y/o reglas separadas por | .
3.1.2.1.10. Definicin de reglas Una definicin de regla permite asociar una regla a un nombre de regla. Consiste en una declaracin opcional de mbito seguido de un nombre de regla (que debe empezar obligatoriamente por $ ), un signo igual = , la propia definicin de la regla, y un punto y coma ; al final.
$nombre = regla; public $nombre = regla; $color = rojo | verde | azul | "azul marino";
La declaracin del mbito puede ser public o private, siendo esta ltima la declaracin por defecto. Las reglas definidas como public son las reglas iniciales para el reconocimiento. 3.1.2.1.11. Regla principal (root) Si una (y slo una) de las reglas se declara con el mbito root, ser la nica regla usada por el reconocedor. Si no existe ninguna regla declarada como root, el reconocedor usar como regla principal la alternativa de todas las reglas declaradas como public. 3.1.2.1.12. Comentarios Comentarios en el estilo C/C++/Java se admiten en la definicin de las gramticas. Los comentarios delimitados por /* y */ o entre // y el final de la lnea son ignorados por el procesador de gramticas. El Ejemplo 4.4. Ejemplos de gramticas ABNF ilustra la sintaxis de las gramticas ABNF. Notse que todas deben empezar por #ABNF 1.0 ISO8859-1; .
$rgb
// "el color azul" -> // "el rojo por favor" -> // "azul marino" -> root $color = [color {} |
#ABNF 1.0 ISO8859-1; public $dia_semana = [el {}] (lunes | martes | mircoles | jueves | viernes | sbado | domingo); public $dia_relativo = ayer | hoy | maana | "pasado maana"; // implicit declaration of rule "root $dia = $dia_semana | $dia_rel;"
time - timeng currency currencyng creditcard creditcardng code - codeng nif - nifng
spell - spellng
ga x x
pt x x x x x
pt-br x x x x x x x *
fr x x x x x x x
x x
x x *
Por ejemplo:
builtin:grammar/number:es?max=2000 (para entornos que requieran modelo de relleno) builtin:grammar/numberng:es?max=2000 (para entornos que NO requieran modelo de relleno)
Las gramticas built-in pueden usarse desde los distintos SDK como si fueran una gramtica ABNF convencional, con la nica salvedad de que no hay que preparar el vocabulario, puesto que ya viene preparado. nicamente hay que establecer o activar la gramtica para que est operativa. Por ejemplo:
vx_loadvcb(chdev, "builtin:grammar/date:es?relative=true;year=false", GVX_ABNF); //Dialogic SDK vox_setvcb(dev, "builtin:grammar/booleanng:ca", GVX_ABNF); //Library SDK EngineASRResource->LoadGrammar("builtin:grammar/nif:es", VERBIO_GRAMMAR_ABNF); //Advanced SDK
Asimismo, tambin pueden incluirse las gramticas built-in dentro de gramticas ABNF convencionales. Por ejemplo:
#ABNF 1.0 ISO8859-1; root $item = $help | $spell; $spell = $(builtin:grammar/spellng:es?minlength=1;maxlength=1;alphanumeric=false); $help = ayuda {HELP} | repetir {REPEAT};
Nota
Atencin, cuando se incluyen gramticas built-in dentro de gramticas ABNF, debe especificarse siempre el idioma en el que se usar la built-in, siguiendo la sintaxi especificada anteriormente. Los siguientes apartados detallan los parmetros para cada una de las gramticas bsicas incorporadas, as como la interpretacin semntica del resultado.
3.1.3.1. boolean
Respuestas a preguntas tipo s/no, cubriendo las palabras s, no (con modelado acstico especfico), y las palabras y expresiones ms comunes para expresar confirmacin y negacin (exacto, correcto, no gracias, etc.). Esta gramtica no tiene parmetros. Como resultado del reconocimiento, la gramtica boolean devuelve true (respuesta afirmativa) o false (respuesta negativa).
3.1.3.2. digits
Cadenas de dgitos de longitud limitada o no, usando modelos acsticos especfos para los dgitos conectados. Los parmetros para esta gramtica son: minlength Valores: int Defecto: 1 Definicin: La longitud mnima de la cadena de dgitos. maxlength Valores: int Defecto: 10 Definicin: La longitud mxima de la cadena de dgitos. length Valores: int Defecto: Definicin: La longitud exacta de la cadena de dgitos (minlength=maxlength). La gramtica digits devuelve la cadena de dgitos (de 0 a 9) reconocida sin espacios. Por ejemplo: 1972.
3.1.3.3. date
Fechas en lenguaje natural, cubriendo fechas fijas y/o relativas (dentro de dos das, el prximo lunes) en funcin de los parmetros establecidos. Los parmetros para esta gramtica son: relative Valores: true, false Defecto: false Definicin: Si el valor es true, la gramtica acepta fechas relativas como maana y/o incompletas como el sbado. year Valores: true, false Defecto: false Definicin: La gramtica acepta fechas fijas con da y mes. Si el valor de este parmetro es true, la gramtica acepta adems opcionalmente un ao. voicexml Valores: true, false Defecto: false Definicin: Si el parmetro es true, el formato de salida es yyyymmdd, usando "?" en caso de que no se hayan rellenado todos los campos.
Establecer a true estos dos parmetros aumenta la flexibilidad en el modo de decir las fechas, y no empeora en ninguno de los casos las tasas de reconocimiento de elocuciones con solamente da y mes en formato estndar. Las diferencias se reducen al coste computacional. Las gramticas aumentan el coste computacional a medida que aumenta su rango de cobertura (y por lo tanto su complejidad), tal y como se detalla en la Seccin 4.1. La gramtica date devuelve la fecha en el formato swddmmyyyy rellenando nicamente aquellos valores que se hayan reconocido. Los caracteres que no se hayan podido rellenar tendrn el valor "?".
s w dd mm yyyy
Carcter especial: "+", "-" para fechas relativas o "E" para fechas especiales Da de la semana: de "1" para el lunes hasta "7" para el domingo. Es "0" en el caso de "la semana que viene" (+0????????) o en el caso de "la semana pasada" (-0????????) Da del mes: de "01" a "31" Mes: de "01" a "12" Ao: a partir de "1900"
Ejemplos: "?12305????" ("lunes 23 de mayo"), "+???02????" ("dentro de 2 meses"), "E?0601????" ("el da de reyes").
3.1.3.4. number
Nmeros naturales dentro de un rango limitado. Los parmetros para esta gramtica son: max Valores: int Defecto: 99 Definicin: Valor numrico mximo a devolver. La gramtica no puede devolver valores superiores a 999999. La gramtica number devuelve el nmero reconocido, sin separacin entre millares y centenas. Por ejemplo: 23710.
3.1.3.5. phone
Nmeros de telfono en lenguaje natural, cubriendo las ms frecuentes formas de agrupar los dgitos en nmeros naturales (noventa y tres, cuatro cero nueve, setenta y uno, veinte). Los parmetros para esta gramtica son: minlength Valores: int Defecto: 9 Definicin: El mnimo nmero de dgitos del nmero de telfono. maxlength Valores: int Defecto: 9 Definicin: El mximo nmero de dgitos del nmero de telfono. La gramtica phone devuelve el nmero de telfono reconocido como una cadena de dgitos (de 0 a 9). Por ejemplo: 934097120.
3.1.3.6. time
Horas (horas y minutos) en lenguaje natural , as como horas relativas (a las tres y veintinco, etc.) La gramtica time devuelve la fecha en el formato hhmmx rellenando nicamente aquellos valores que se hayan reconocido. Los caracteres que no se hayan podido rellenar tendrn el valor "?".
hh
mm Minutos: de "00" a "59" x franja horaria: "a" si se ha especificado explcitamente que es horario de maana, "p" si se ha especificado explcitamente que es horario de tarde, "h" si se ha dicho una hora de tarde (de "13" a "24") o "?" en cualquier otro caso.
Ejemplos: "0930?" ("nueve y media"), "2245p" ("once menos cuarto de la noche"), "17:35h" ("diecisiete treinta y cinco").
3.1.3.7. number
Nmeros naturales dentro de un rango limitado. Los parmetros para esta gramtica son: max Valores: int Defecto: 99 Definicin: Valor numrico mximo a devolver. La gramtica no puede devolver valores superiores a 999999. La gramtica number devuelve el nmero reconocido, sin separacin entre millares y centenas. Por ejemplo: 23710.
3.1.3.8. currency
Cantidades monetarias expresadas en Euros. En caso de que se incluyan cntimos, stos ocuparn dos decimales separados por un punto de las unidades de Euro. El formato de salida es, por ejemplo, EUR125.39. Esta gramtica no tiene parmetros.
3.1.3.9. creditcard
Devuelve el nmero de la tarjeta de crdito reconocido (dictado cifra a cifra) con todas las cifras numricas sin espacios intermedios. Esta gramtica no tiene parmetros.
3.1.3.10. code
cdigos numricos dictados como una secuencia de nmeros naturales (agrupados en grupos de una, dos o tres cifras). Por ejemplo: "veintitrs, cinco, diez" devuelve "23510". Los parmetros para esta gramtica son: length Valores: int Defecto: 4 Definicin: Longitud mxima del cdigo numrico a devolver.
La gramtica code devuelve el cdigo numrico reconocido con todas las cifras juntas, sin espacios intermedios.
3.1.3.11. nif
Devuelve el Nmero de Identificacin Fiscal espaol, incluida la letra, sin espacios intermedios. Esta gramtica no tiene parmetros.
3.1.3.12. spell
Cadenas alfabticas o alfanumricas sin espacios intermedios. Los parmetros para esta gramtica son: minlength Valores: int Defecto: 1 Definicin: La longitud mnima de la cadena alfa/numrica. maxlength Valores: int Defecto: 4 Definicin: La longitud mxima de la cadena alfa/numrica. alphanumeric Valores: true, false Defecto: true Definicin: Slo caracteres alfabticos (false) o bien alfanumricos (true). La gramtica spell devuelve la cadena alfa/numrica reconocida sin espacios intermedios.
"[H_es]" {H} | // hache "[I_es]" {I} | // i "[Il_es]" {I} | // i latina "[J_es]" {J} | // jota "[K_es][_A_es]" {K} | // ca "[E__es][L_es][_e_es]" {L} | "[E__es][M_es][_e_es]" {M} | "[E__es][N_es][_e_es]" {N} | "[O_es]" {O} | // o "[P_es][_E_es]" {P} | // pe "[Q_es][_U_es]" {Q} | // cu "[E__es][R_es][_e_es]" {R} | "[E__es][r_es][_e_es]" {R} | "[E__es][S_es][_e_es]" {S} | "[T_es][_E_es]" {T} | // te "[U_es][_U_es]" {U} | // u "[V_es]" {V} | // uve "[W_es]" {W} | // uve doble "[dV_es]" {W} | // doble uve "[X_es]" {X} | // equis "[Y_es]" {Y} | // y griega "[Z_es]" {Z}; // zeta // variables auxiliares $S = "[S-cero_es][cero_es+S]" "[S-uno_es][uno_es+S]" "[S-dos_es][dos_es+S]" "[S-tres_es][tres_es+S]" "[S-cuatro_es][cuatro_es+S]" "[S-cinco_es][cinco_es+S]" "[S-seis_es][seis_es+S]" "[S-siete_es][siete_es+S]" "[S-ocho_es][ocho_es+S]" "[S-nueve_es][nueve_es+S]" $SD = "[S-cero_es][cero_es+D]" "[S-uno_es][uno_es+D]" "[S-dos_es][dos_es+D]" "[S-tres_es][tres_es+D]" "[S-cuatro_es][cuatro_es+D]" "[S-cinco_es][cinco_es+D]" "[S-seis_es][seis_es+D]" "[S-siete_es][siete_es+D]" "[S-ocho_es][ocho_es+D]" "[S-nueve_es][nueve_es+D]" $DS = "[D-cero_es][cero_es+S]" "[D-uno_es][uno_es+S]" "[D-dos_es][dos_es+S]" "[D-tres_es][tres_es+S]" "[D-cuatro_es][cuatro_es+S]" "[D-cinco_es][cinco_es+S]" "[D-seis_es][seis_es+S]" "[D-siete_es][siete_es+S]" "[D-ocho_es][ocho_es+S]" "[D-nueve_es][nueve_es+S]" $DD =
{0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9}
| | | | | | | | | ; | | | | | | | | | ; | | | | | | | | | ; | | | | | | | | ;
"[D-cero_es][cero_es+D]" {0} | "[D-uno_es][uno_es+D]" {1} "[D-dos_es][dos_es+D]" {2} "[D-tres_es][tres_es+D]" {3} "[D-cuatro_es][cuatro_es+D]" {4} "[D-cinco_es][cinco_es+D]" {5} "[D-seis_es][seis_es+D]" {6} "[D-siete_es][siete_es+D]" {7} "[D-ocho_es][ocho_es+D]" {8} "[D-nueve_es][nueve_es+D]" {9}
[E_es][_E_es] [E__es][F_es][_e_es] [G_es][_E_es] [H_es] [I_es] [Il_es] [J_es] [K_es][_A_es] [E__es][L_es][_e_es] [E__es][Ll_es][_e_es] [dL_es] [Ld_es] [LL_es] [E__es][M_es][_e_es] [E__es][N_es][_e_es] [E__es][NY_es][_e_es] [O_es] [P_es][_E_es] [Q_es][_U_es] [E__es][R_es][_e_es] [E__es][r_es][_e_es] [E__es][S_es][_e_es] [T_es][_E_es] [U_es][_U_es] [V_es] [W_es] [dV_es] [X_es] [Y_es] [Z_es] [S-cero_es][cero_es+S] [S-uno_es][uno_es+S] [S-dos_es][dos_es+S] [S-tres_es][tres_es+S] [S-cuatro_es][cuatro_es+S] [S-cinco_es][cinco_es+S] [S-seis_es][seis_es+S] [S-siete_es][siete_es+S] [S-ocho_es][ocho_es+S] [S-nueve_es][nueve_es+S] [S-cero_es][cero_es+D] [S-uno_es][uno_es+D] [S-dos_es][dos_es+D] [S-tres_es][tres_es+D]
Modela la letra E Modela la letra F Modela la letra G Modela la letra H Modela la letra I Modela la locucin "I latina" Modela la letra J Modela la letra K Modela la letra L Modela la letra LL (elle) Modela la letra LL (doble ele) Modela la letra LL (ele doble) Modela la letra LL (ele ele) Modela la letra M Modela la letra N Modela la letra Modela la letra O Modela la letra P Modela la letra Q Modela la letra R (erre) Modela la letra R (ere) Modela la letra S Modela la letra T Modela la letra U Modela la letra V Modela la letra W (uve doble) Modela la letra W (doble uve) Modela la letra X Modela la letra Y Modela la letra Z Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3
[S-cuatro_es][cuatro_es+D] [S-cinco_es][cinco_es+D] [S-seis_es][seis_es+D] [S-siete_es][siete_es+D] [S-ocho_es][ocho_es+D] [S-nueve_es][nueve_es+D] [D-cero_es][cero_es+S] [D-uno_es][uno_es+S] [D-dos_es][dos_es+S] [D-tres_es][tres_es+S] [D-cuatro_es][cuatro_es+S] [D-cinco_es][cinco_es+S] [D-seis_es][seis_es+S] [D-siete_es][siete_es+S] [D-ocho_es][ocho_es+S] [D-nueve_es][nueve_es+S] [D-cero_es][cero_es+D] [D-uno_es][uno_es+D] [D-dos_es][dos_es+D] [D-tres_es][tres_es+D] [D-cuatro_es][cuatro_es+D] [D-cinco_es][cinco_es+D] [D-seis_es][seis_es+D] [D-siete_es][siete_es+D] [D-ocho_es][ocho_es+D] [D-nueve_es][nueve_es+D]
Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9
[I_ca] [J_ca] [K_ca] [L_ca] [LL_ca] [doble_ca][L_ca] [L_ca][doble_ca] [M_ca] [N_ca] [NY_ca] [O_ca] [P_ca] [Q_ca] [R_ca] [S_ca] [T_ca] [U_ca] [V_ca] [B_ca][baixa_ca] [uve_ca] [B_ca][doble_ca] [doble_ca][B_ca] [X_ca] [I_ca][grega_ca] [Z_ca] [S-zero_ca][zero_ca+S] [S-u_ca][u_ca+S] [S-dos_es][dos_es+S] [S-tres_ca][tres_ca+S] [S-quatre_ca][quatre_ca+S] [S-cinc_ca][cinc_ca+S] [S-sis_ca][sis_ca+S] [S-set_ca][set_ca+S] [S-vuit_es][vuit_es+S] [S-nou_ca][nou_ca+S] [S-zero_ca][zero_ca+D] [S-u_ca][u_ca+D] [S-dos_es][dos_es+D] [S-tres_ca][tres_ca+D] [S-quatre_ca][quatre_ca+D] [S-cinc_ca][cinc_ca+D] [S-sis_ca][sis_ca+D] [S-set_ca][set_ca+D] [S-vuit_es][vuit_es+D]
Modela la letra I Modela la letra J Modela la letra K Modela la letra L Modela la letra LL (ella) Modela la letra LL (doble ela) Modela la letra LL (ela doble) Modela la letra M Modela la letra N Modela la letra NY Modela la letra O Modela la letra P Modela la letra Q Modela la letra R (erre) Modela la letra S Modela la letra T Modela la letra U Modela la letra V Modela la letra V (be baixa) Modela la letra V (uve) Modela la letra W (be doble) Modela la letra W (doble be) Modela la letra X Modela la letra Y Modela la letra Z Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8
[S-nou_ca][nou_ca+D] [D-zero_ca][zero_ca+S] [D-u_ca][u_ca+S] [D-dos_es][dos_es+S] [D-tres_ca][tres_ca+S] [D-quatre_ca][quatre_ca+S] [D-cinc_ca][cinc_ca+S] [D-sis_ca][sis_ca+S] [D-set_ca][set_ca+S] [D-vuit_es][vuit_es+S] [D-nou_ca][nou_ca+S] [D-zero_ca][zero_ca+D] [D-u_ca][u_ca+D] [D-dos_es][dos_es+D] [D-tres_ca][tres_ca+D] [D-quatre_ca][quatre_ca+D] [D-cinc_ca][cinc_ca+D] [D-sis_ca][sis_ca+D] [D-set_ca][set_ca+D] [D-vuit_es][vuit_es+D] [D-nou_ca][nou_ca+D]
Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9
[N_eu] [NY_eu] [O_eu] [P_eu] [Q_eu] [R_eu] [S_eu] [T_eu] [U_eu] [V_eu] [W1_eu] [W2_eu] [W3_eu] [X1_eu] [X2_eu] [X3_eu] [Y1_eu] [Y2_eu] [Y3_eu] [Y4_eu] [Y5_eu] [Z1_eu] [Z2_eu] [Z3_eu] [Z4_eu]
Modela la letra N Modela la letra Modela la letra O Modela la letra P Modela la letra Q Modela la letra R (erre) Modela la letra S Modela la letra T Modela la letra U Modela la letra V Modela la letra W (u B e B i k o i tX a) Modela la letra W (u B e d o B l e) Modela la letra W (d o B l e u B e) Modela la letra X (i S a) Modela la letra X (e k i s) Modela la letra X (i k s a) Modela la letra Y (i G rr e k o a) Modela la letra Y (i G rr i e G a) Modela la letra Y (i G rr e k o t a rr a) Modela la letra Y (i G rr e X i a rr a) Modela la letra Y (i G rr e k e r a) Modela la letra Z (X e t a) Modela la letra Z (s e t a) Modela la letra Z (T e t a) Modela la letra Z (X e D a) Dgito 0
Dgitos en contexto silencio (silencio anterior y posterior) [S-zero_eu][zero_eu+S] [S-huts_eu][huts_eu+S] [S-hutsa_eu][hutsa_eu+S] [S-bat_eu][bat_eu+S] [S-bi_eu][bi_eu+S] [S-hiru_eu][hiru_eu+S] [S-lau_eu][lau_eu+S] [S-bost_eu][bost_eu+S] [S-sei_eu][sei_eu+S] [S-zazpi_eu][zazpi_eu+S] [S-zortzi_eu][zortzi_eu+S] [S-bederatzi_eu][bederatzi_eu+S] [S-zero_eu][zero_eu+D] [S-bat_eu][bat_eu+D] [S-bi_eu][bi_eu+D] [S-hiru_eu][hiru_eu+D] [S-lau_eu][lau_eu+D] [S-bost_eu][bost_eu+D] Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5
[S-sei_eu][sei_eu+D] [S-zazpi_eu][zazpi_eu+D] [S-zortzi_eu][zortzi_eu+D] [S-bederatzi_eu][bederatzi_eu+D] [D-zero_eu][zero_eu+S] [D-bat_eu][bat_eu+S] [D-bi_eu][bi_eu+S] [D-hiru_eu][hiru_eu+S] [D-lau_eu][lau_eu+S] [D-bost_eu][bost_eu+S] [D-sei_eu][sei_eu+S] [D-zazpi_eu][zazpi_eu+S] [D-zortzi_eu][zortzi_eu+S] [D-bederatzi_eu][bederatzi_eu+S] [D-zero_eu][zero_eu+D] [D-bat_eu][bat_eu+D] [D-bi_eu][bi_eu+D] [D-hiru_eu][hiru_eu+D] [D-lau_eu][lau_eu+D] [D-bost_eu][bost_eu+D] [D-sei_eu][sei_eu+D] [D-zazpi_eu][zazpi_eu+D] [D-zortzi_eu][zortzi_eu+D] [D-bederatzi_eu][bederatzi_eu+D]
Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9
[L_ga] [LL_ga] [dobre_ga][L_ga] [L_ga][dobre_ga] [M_ga] [N_ga] [NY_ga] [O_ga] [P_ga] [Q_ga] [R_ga] [S_ga] [T_ga] [U_ga] [V_ga] [V_ga][dobre_ga] [dobre_ga][V_ga] [X_ga] [Y_ga] [Z_ga] [S-cero_ga][cero_ga+S] [S-un_ga][un_ga+S] [S-dous_ga][dous_ga+S] [S-tres_ga][tres_ga+S] [S-catro_ga][catro_ga+S] [S-cinco_ga][cinco_ga+S] [S-seis_ga][seis_ga+S] [S-sete_ga][sete_ga+S] [S-oito_ga][oito_ga+S] [S-nove_ga][nove_ga+S] [S-cero_ga][cero_ga+D] [S-un_ga][un_ga+D] [S-dous_ga][dous_ga+D] [S-tres_ga][tres_ga+D] [S-catro_ga][catro_ga+D] [S-cinco_ga][cinco_ga+D] [S-seis_ga][seis_ga+D] [S-sete_ga][sete_ga+D] [S-oito_ga][oito_ga+D] [S-nove_ga][nove_ga+D] [D-cero_ga][cero_ga+S] [D-un_ga][un_ga+S] [D-dous_ga][dous_ga+S]
Modela la letra L Modela la letra LL Modela la letra LL Modela la letra LL Modela la letra M Modela la letra N Modela la letra NY Modela la letra O Modela la letra P Modela la letra Q Modela la letra R (erre) Modela la letra S Modela la letra T Modela la letra U Modela la letra V Modela la letra W Modela la letra W Modela la letra X Modela la letra Y Modela la letra Z Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2
[D-tres_ga][tres_ga+S] [D-catro_ga][catro_ga+S] [D-cinco_ga][cinco_ga+S] [D-seis_ga][seis_ga+S] [D-sete_ga][sete_ga+S] [D-oito_ga][oito_ga+S] [D-nove_ga][nove_ga+S] [D-cero_ga][cero_ga+D] [D-un_ga][un_ga+D] [D-dous_ga][dous_ga+D] [D-tres_ga][tres_ga+D] [D-catro_ga][catro_ga+D] [D-cinco_ga][cinco_ga+D] [D-seis_ga][seis_ga+D] [D-sete_ga][sete_ga+D] [D-oito_ga][oito_ga+D] [D-nove_ga][nove_ga+D]
Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9
[S-oito_pt][oito_pt+D] [S-nove_pt][nove_pt+D] [D-zero_pt][zero_pt+S] [D-um_pt][um_pt+S] [D-dois_pt][dois_pt+S] [D-tres_pt][tres_pt+S] [D-quatro_pt][quatro_pt+S] [D-cinco_pt][cinco_pt+S] [D-seis_pt][seis_pt+S] [D-sete_pt][sete_pt+S] [D-oito_pt][oito_pt+S] [D-nove_pt][nove_pt+S] [D-zero_pt][zero_pt+D] [D-um_pt][um_pt+D] [D-dois_pt][dois_pt+D] [D-tres_pt][tres_pt+D] [D-quatro_pt][quatro_pt+D] [D-cinco_pt][cinco_pt+D] [D-seis_pt][seis_pt+D] [D-sete_pt][sete_pt+D] [D-oito_pt][oito_pt+D] [D-nove_pt][nove_pt+D]
Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9
[S-um_pt-br][um_pt-br+D] [S-uma_pt-br][uma_pt-br+D] [S-dois_pt-br][dois_pt-br+D] [S-tres_pt-br][tres_pt-br+D] [S-quatro_pt-br][quatro_pt-br+D] [S-cinco_pt-br][cinco_pt-br+D] [S-seis_pt-br][seis_pt-br+D] [S-meia_pt-br][meia_pt-br+D] [S-sete_pt-br][sete_pt-br+D] [S-oito_pt-br][oito_pt-br+D] [S-nove_pt-br][nove_pt-br+D] [D-zero_pt-br][zero_pt-br+S] [D-um_pt-br][um_pt-br+S] [D-uma_pt-br][uma_pt-br+S] [D-dois_pt-br][dois_pt-br+S] [D-tres_pt-br][tres_pt-br+S] [D-quatro_pt-br][quatro_pt-br+S] [D-cinco_pt-br][cinco_pt-br+S] [D-seis_pt-br][seis_pt-br+S] [D-meia_pt-br][meia_pt-br+S] [D-sete_pt-br][sete_pt-br+S] [D-oito_pt-br][oito_pt-br+S] [D-nove_pt-br][nove_pt-br+S] [D-zero_pt-br][zero_pt-br+D] [D-um_pt-br][um_pt-br+D] [D-uma_pt-br][uma_pt-br+D] [D-dois_pt-br][dois_pt-br+D] [D-tres_pt-br][tres_pt-br+D] [D-quatro_pt-br][quatro_pt-br+D] [D-cinco_pt-br][cinco_pt-br+D] [D-seis_pt-br][seis_pt-br+D] [D-meia_pt-br][meia_pt-br+D] [D-sete_pt-br][sete_pt-br+D] [D-oito_pt-br][oito_pt-br+D] [D-nove_pt-br][nove_pt-br+D]
Dgito 1 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 6 Dgito 7 Dgito 8 Dgito 9
[S-uno_es-ar][uno_es-ar+S] [S-dos_es-ar][dos_es-ar+S] [S-tres_es-ar][tres_es-ar+S] [S-cuatro_es-ar][cuatro_es-ar+S] [S-cinco_es-ar][cinco_es-ar+S] [S-seis_es-ar][seis_es-ar+S] [S-siete_es-ar][siete_es-ar+S] [S-ocho_es-ar][ocho_es-ar+S] [S-nueve_es-ar][nueve_es-ar+S] [S-cero_es-ar][cero_es-ar+D] [S-uno_es-ar][uno_es-ar+D] [S-dos_es-ar][dos_es-ar+D] [S-tres_es-ar][tres_es-ar+D] [S-cuatro_es-ar][cuatro_es-ar+D] [S-cinco_es-ar][cinco_es-ar+D] [S-seis_es-ar][seis_es-ar+D] [S-siete_es-ar][siete_es-ar+D] [S-ocho_es-ar][ocho_es-ar+D] [S-nueve_es-ar][nueve_es-ar+D] [D-cero_es-ar][cero_es-ar+S] [D-uno_es-ar][uno_es-ar+S] [D-dos_es-ar][dos_es-ar+S] [D-tres_es-ar][tres_es-ar+S] [D-cuatro_es-ar][cuatro_es-ar+S] [D-cinco_es-ar][cinco_es-ar+S] [D-seis_es-ar][seis_es-ar+S] [D-siete_es-ar][siete_es-ar+S] [D-ocho_es-ar][ocho_es-ar+S] [D-nueve_es-ar][nueve_es-ar+S] [D-cero_es-ar][cero_es-ar+D] [D-uno_es-ar][uno_es-ar+D] [D-dos_es-ar][dos_es-ar+D] [D-tres_es-ar][tres_es-ar+D] [D-cuatro_es-ar][cuatro_es-ar+D] [D-cinco_es-ar][cinco_es-ar+D] [D-seis_es-ar][seis_es-ar+D] [D-siete_es-ar][siete_es-ar+D] [D-ocho_es-ar][ocho_es-ar+D] [D-nueve_es-ar][nueve_es-ar+D]
Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9
Palabras [si_es-cl] [no_es-cl] [S-cero_es-cl][cero_es-cl+S] [S-uno_es-cl][uno_es-cl+S] [S-dos_es-cl][dos_es-cl+S] [S-tres_es-cl][tres_es-cl+S] [S-cuatro_es-cl][cuatro_es-cl+S] [S-cinco_es-cl][cinco_es-cl+S] [S-seis_es-cl][seis_es-cl+S] [S-siete_es-cl][siete_es-cl+S] [S-ocho_es-cl][ocho_es-cl+S] [S-nueve_es-cl][nueve_es-cl+S] [S-cero_es-cl][cero_es-cl+D] [S-uno_es-cl][uno_es-cl+D] [S-dos_es-cl][dos_es-cl+D] [S-tres_es-cl][tres_es-cl+D] [S-cuatro_es-cl][cuatro_es-cl+D] [S-cinco_es-cl][cinco_es-cl+D] [S-seis_es-cl][seis_es-cl+D] [S-siete_es-cl][siete_es-cl+D] [S-ocho_es-cl][ocho_es-cl+D] [S-nueve_es-cl][nueve_es-cl+D] [D-cero_es-cl][cero_es-cl+S] [D-uno_es-cl][uno_es-cl+S] [D-dos_es-cl][dos_es-cl+S] [D-tres_es-cl][tres_es-cl+S] [D-cuatro_es-cl][cuatro_es-cl+S] [D-cinco_es-cl][cinco_es-cl+S] [D-seis_es-cl][seis_es-cl+S] [D-siete_es-cl][siete_es-cl+S] [D-ocho_es-cl][ocho_es-cl+S] [D-nueve_es-cl][nueve_es-cl+S] [D-cero_es-cl][cero_es-cl+D] [D-uno_es-cl][uno_es-cl+D] [D-dos_es-cl][dos_es-cl+D] [D-tres_es-cl][tres_es-cl+D] [D-cuatro_es-cl][cuatro_es-cl+D] [D-cinco_es-cl][cinco_es-cl+D] [D-seis_es-cl][seis_es-cl+D] [D-siete_es-cl][siete_es-cl+D] [D-ocho_es-cl][ocho_es-cl+D] Modela la palabra "s" Modela la palabra "no" Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8
[D-nueve_es-cl][nueve_es-cl+D]
Dgito 9
Dgitos en contexto dgito (dgito anterior y posterior) [D-cero_es-mx][cero_es-mx+D] [D-uno_es-mx][uno_es-mx+D] [D-dos_es-mx][dos_es-mx+D] [D-tres_es-mx][tres_es-mx+D] [D-cuatro_es-mx][cuatro_es-mx+D] [D-cinco_es-mx][cinco_es-mx+D] [D-seis_es-mx][seis_es-mx+D] [D-siete_es-mx][siete_es-mx+D] [D-ocho_es-mx][ocho_es-mx+D] [D-nueve_es-mx][nueve_es-mx+D] Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9
[D-cinco_es-ve][cinco_es-ve+S] [D-seis_es-ve][seis_es-ve+S] [D-siete_es-ve][siete_es-ve+S] [D-ocho_es-ve][ocho_es-ve+S] [D-nueve_es-ve][nueve_es-ve+S] [D-cero_es-ve][cero_es-ve+D] [D-uno_es-ve][uno_es-ve+D] [D-dos_es-ve][dos_es-ve+D] [D-tres_es-ve][tres_es-ve+D] [D-cuatro_es-ve][cuatro_es-ve+D] [D-cinco_es-ve][cinco_es-ve+D] [D-seis_es-ve][seis_es-ve+D] [D-siete_es-ve][siete_es-ve+D] [D-ocho_es-ve][ocho_es-ve+D] [D-nueve_es-ve][nueve_es-ve+D]
Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9
[D-zero_fr][zero_fr+S] [D-un_fr][un_fr+S] [D-deux_fr][deux_fr+S] [D-trois_fr][trois_fr+S] [D-quatre_fr][quatre_fr+S] [D-cinq_fr][cinq_fr+S] [D-six_fr][six_fr+S] [D-sept_fr][sept_fr+S] [D-huit_fr][huit_fr+S] [D-neuf_fr][neuf_fr+S] [D-zero_fr][zero_fr+D] [D-un_fr][un_fr+D] [D-deux_fr][deux_fr+D] [D-trois_fr][trois_fr+D] [D-quatre_fr][quatre_fr+D] [D-cinq_fr][cinq_fr+D] [D-six_fr][six_fr+D] [D-sept_fr][sept_fr+D] [D-huit_fr][huit_fr+D] [D-neuf_fr][neuf_fr+D]
Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9
[S-one_en-us][one_en-us+D] [S-two_en-us][two_en-us+D] [S-three_en-us][three_en-us+D] [S-four_en-us][four_en-us+D] [S-five_en-us][five_en-us+D] [S-six_en-us][six_en-us+D] [S-seven_en-us][seven_en-us+D] [S-eight_en-us][eight_en-us+D] [S-nine_en-us][nine_en-us+D] [D-zero_en-us][zero_en-us+S] [D-oh_en-us][oh_en-us+S] [D-one_en-us][one_en-us+S] [D-two_en-us][two_en-us+S] [D-three_en-us][three_en-us+S] [D-four_en-us][four_en-us+S] [D-five_en-us][five_en-us+S] [D-six_en-us][six_en-us+S] [D-seven_en-us][seven_en-us+S] [D-eight_en-us][eight_en-us+S] [D-nine_en-us][nine_en-us+S] [D-zero_en-us][zero_en-us+D] [D-oh_en-us][oh_en-us+D] [D-one_en-us][one_en-us+D] [D-two_en-us][two_en-us+D] [D-three_en-us][three_en-us+D] [D-four_en-us][four_en-us+D] [D-five_en-us][five_en-us+D] [D-six_en-us][six_en-us+D] [D-seven_en-us][seven_en-us+D] [D-eight_en-us][eight_en-us+D] [D-nine_en-us][nine_en-us+D]
Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9 Dgito 0 Dgito 0 Dgito 1 Dgito 2 Dgito 3 Dgito 4 Dgito 5 Dgito 6 Dgito 7 Dgito 8 Dgito 9
Atencin
En gramticas ABNF los modelos deben ir entrecomillados (vase el ejemplo anterior), mientras que en el caso de vocabularios convencionales se escriben sin necesidad de delimitarlos entre comillas. En aplicaciones muy concretas o en aquellas que deban operar en condiciones ruidosas, etc. pueden entrenarse modelos especficos de las locuciones a reconocer (incluso para cada operario, etc), integrndose dentro de Verbio de forma automtica. De este modo, se consigue un aumento muy notable de las tasas de reconocimiento en el entorno de trabajo especfico o bajo el uso del sistema por parte de los usuarios entrenados o ambos.
4. Uso de gramticas
Tal y como se ha descrito en el anterior apartado, el reconocedor necesita disponer de una gramtica de reconocimiento que describa el lenguaje permitido en un determinado instante del dilogo.
Las gramticas de reconocimiento son ficheros de texto que pueden editarse desde cualquier editor. Para las gramticas ABNF existe la herramienta Verbio Grammar Manager que permite no slo editar sino compilar, probar con cadenas de texto o con voz (micrfono), generar frases permitidas por la gramtica, etc. Para ms informacin acerca de Verbio Grammar Manager puede consultar el documento Verbio Software Reference: Gua del Usuario de Grammar Manager. La Seccin 3 detalla el formato correcto de las gramticas a usar en Verbio.
Importante
Es necesario preparar el vocabulario cada vez que cambia la versin de Verbio, puesto que el modelado fontico puede haber cambiado. Igualmente, slo es necesario preparar el vocabulario una vez (siempre que no sea un vocabulario dinmico, canviante con el tiempo) para todos los recursos que lo utilizen, por lo que se recomienda que este proceso se realice, cuando sea posible, off-line o al arrancar una aplicacin (consume muchos recursos hardware). En caso de que sea un vocabulario dinmico, debe tenerse la precaucin de prepararlo cada vez que se modifique, con las funciones adecuadas (asociadas al canal), para evitar conflictos entre preparaciones paralelas en distintos canales simultneamente.
Importante
Es imprescindible que al menos una gramtica est activa antes de intentar reconocer una elocucin.
Al activar el reconocimiento de una elocucin deben indicarse las condiciones de terminacin de este proceso. Las condiciones son de tiempo y/o eventos externos a la voz, como por ejemplo que el usuario pulse una tecla del telfono (deteccin de tonos DTMF). Los condicionantes de tiempo utilizados en Verbio para el reconocimiento son bsicamente tres: Timeout (initsil) Es el tiempo mximo de silencio permitido desde que se activa el reconocimiento hasta que el usuario empieza a hablar. Por lo tanto, es el silencio inicial o el tiempo que el sistema permite hablar al usuario antes de terminar y decidir que el usuario no responde. Este parmetro se indica con la variable initsil en los distintos SDK. Es el tiempo mximo de silencio permitido una vez ya se ha detectado voz por parte del usuario. Por lo tanto es el tiempo de silencio desde que el usuario ha dejado de hablar hasta que el sistema decide que termina el reconocimiento. Consecuentemente, tambin es el silencio mximo permitido entre palabras. Es importante configurar de forma adecuada este parmetro en funcin del tipo de la gramtica. Este parmetro se indica con la variable maxsil en los distintos SDK. Es el tiempo mximo de una elocucin, y comprende tanto voz como silencio. Es decir, independientemente del uso de silencio y voz es el tiempo mximo en que est reconociendo. Este parmetro se indica con la variable maxtime en los distintos SDK.
A las anteriores condiciones de terminacin debe de aadrseles las condiciones especiales de terminacin que son dependientes de la plataforma. En el caso de las aplicaciones de telefona, debe considerarse el uso del teclado telefnico, puesto que en muchos casos se ofrece al usuario la posibilidad de usar la voz o el teclado DTMF para responder a determinadas preguntas. En este caso el uso del teclado implica el no uso de la voz como respuesta por parte del usuario. La activacin del reconocimiento puede conllevar, dependiendo del SDK y la plataforma, la activacin opcional del pitido que indica que empieza a reconocer.
5.3. Barge-in
En plataformas que lo permiten (por ejemplo tarjetas Dialogic con CSP que efecte la cancelacin de eco) el reconocimiento puede funcionar de forma simultnea a la reproduccin de audio proveniente de ficheros o del conversor de texto en habla. Verbio proporciona funciones para activar de forma conjunta reproduccin de audio y reconocimiento del habla que interrumpa (barge-in) esta reproduccin, lo que implica que el usuario puede hablar antes de que finalice la reproduccin de audio (la pregunta) por parte del sistema.
6. Obtener el resultado
6.1. Medidas de confianza
La verificacin del reconocimiento (es decir, asignar una medida de confianza al resultado de un reconocimiento) es una tarea tanto o ms compleja que el propio reconocimiento. Esta verificacin se basa en comparar las probabilidades de dos sistemas de reconocimiento independientes ante la misma elocucin de entrada. Como resultado se obtiene un score o valor no acotado que indica si el reconocimiento obtenido es fiable y, por lo tanto, permite rechazar algunos resultados de reconocimiento, o bien sugiere confirmarlos en funcin de la tolerancia al error de la aplicacin. Por lo general, los valores de score oscilan entre 0 y 40 para resultados poco fiables y valores superiores a 50 para resultados fiables o con un ndice de confianza alto. Adems, estos valores son dependientes del
vocabulario utilizado y por lo tanto los umbrales de aceptacin y rechazo deben de ajustarse en funcin de la gramtica y su vocabulario para afinar la precisin en el reconocimiento. Por lo tanto, es aconsejable, durante la fase de desarrollo y pruebas, realizar un estudio de los valores habituales y establecer, para cada caso, un umbral de aceptacin y otro de rechazo. Se entiende por umbral de aceptacin aqul por encima del cual se acepta el resultado devuelto por el reconocedor. Se entiende por umbral de rechazo aqul por debajo del cual no se acepta el resultado y, por lo tanto, debe repetirse la pregunta. En caso de que el score est entre ambos umbrales, es recomendable realizar una confirmacin explcita (s/no) del resultado reconocido.
1. Inicializacin
La inicializacin del motor de conversin de texto en habla consiste en habilitar uno o ms idiomas y locutores para usar en la aplicacin as como especificar el idioma y locutor por defecto (ver funciones de inicializacin en la Function Reference para ms detalles o la Seccin 6.3).
2. Conceptos bsicos
La conversin de texto en habla es totalmente automtica y por ello se basa nica y exclusivamente en el texto a convertir. Es por lo tanto smamente importante que el texto est bien escrito, poniendo especial atencin en la puntuacin, los acentos y errores tipogrficos y/o ortogrficos. Ntese que aunque una persona es capaz de leer sin problemas el texto escrito el 9 de octrbe, no ser as probablemente con la voz resultante de sintetizar dicho texto. En general, es preferible facilitar en la medida de lo posible la tarea de conversin de texto en habla. Por ejemplo: introducir signos de puntuacin adecuados cuando se conoce el texto a sintetizar (no es as por ejemplo en la lectura de correos electrnicos), desambiguar abreviaturas y excepciones (expandindolas o incorporando diccionarios personalizados al contexto de uso previsto), estandarizar fechas, cantidades monetarias o cualquier tipo de texto no normalizado sobre el que se tenga control. Verbio proporciona la herramienta Verbio Read Aloud, que permite probar todos los locutores incorporados en Verbio, as como el comportamiento de los mismos ante cambios en la configuracin, diccionarios, etc. Para ms informacin de esta herramienta, puede consultar la documentacin asociada Verbio Software Reference: Gua del Usuario de Read Aloud.
3.1.1. SSML
El consorcio W3C (http://www.w3.org/TR/speech-synthesis/) desarrolla un estndar de marcacin basado en XML llamado Speech Synthesis Markup Language (SSML). A continuacin se muestran las etiquetas soportados por Verbio. Para informacin adicional, consulte la pgina web de W3C.
Listado de las etiquetas de SSML soportados por Verbio. La herramienta Verbio Read Aloud permite modificar el comportamiento del sintetizador del habla Verbio mediante las etiquetas SSML aqu mostradas. En general conviene saber que no es muy aconsejable usar valores extremos para modificar las locuciones, aunque se pueden utilizar puntualmente. Si queremos aumentar la duracin de los mensajes, es conveniente hacerlo progresivamente empezando por los valores por defecto, hasta llegar a un valor satisfactorio que no aada ruidos en la seal. Si empezamos por valores muy altos o muy bajos, es seguro que incorporaremos ruidos y desequilibrios en la locucin. Por el mismo motivo, puede resultar ms eficaz combinar el uso moderado de varias opciones de configuracin que no forzar mucho una nica propiedad. Para resaltar una palabra no usaremos un nico parmetro (por ejemplo subir mucho la energa de esa palabra), ser ms eficiente hacer un poco ms lenta la locucin, aumentar moderadamente la energa, y rodear la palabra de pausas cortas. Combinando las diferentes etiquetas se pueden mejorar considerablemente las locuciones generadas. An as, para conservar la calidad de la locucin, se deben mantener los parmetros dentro del rango de naturalidad de cada locutor sin pretender cambiar sus caractersticas intrnsecas. Pretender que un locutor masculino use frecuencias superiores a 300 Hz, o que cualquier locutor hable a velocidades muy extremas siempre introduce ruidos en la seal. El uso de las etiquetas y los resultados que obtendremos nos orientarn sobre lo moldeable que es cada locutor.
Con estas etiquetas podemos precisar la duracin de las pausas que introducimos de manera precisa y coherente. Con la introduccin de pausas breves se mejoran aspectos de entonacin y naturalidad de la locucin. Segn situemos las pausas, podemos llegar a facilitar la comprensin de algunas locuciones:
Por favor, diga el nmero que encontrar <break strength="x-weak"> en la parte superior de la factura.
62
Verbio Technologies
Introducir pausas es a menudo una de las soluciones ms rpidas, fciles y eficientes para mejorar una locucin, pues cambia la entonacin y la seleccin de unidades de sntesis, dando lugar a una oracin totalmente nueva. Utilizar pausas de diferentes duraciones puede aumentar la naturalidad de las locuciones. Las pausas ms largas resaltan una menor relacin entre los elementos separados. En cambio, una pausa corta puede resaltar la unidad sintctica de los elementos que estn entre pausas.
Esta opcin permite realzar un texto o parte del texto de manera sencilla, rpida y coherente. El uso ms comn de esta etiqueta es el de destacar una parte del texto que deseamos tenga una especial importancia y claridad. Por ejemplo, son muy comunes los mensajes en que se desea focalizar la atencin en alguna palabra del mensaje:
Si desea ser atendido en castellano, diga <emphasis level="moderate"> castellano. </emphasis>
La etiqueta emphasis level tiene tres niveles de enfatizacin preconfigurados. Cada uno de estos niveles tiene predefinidas opciones lingsticas de velocidad de locucin, rango de entonacin y energa de enunciacin. De esta manera el usuario solo tiene que escoger en cada ocasin qu nivel de realzado desea dar al texto, sin tener que preocuparse por valores prosdicos que, en ocasiones, pueden quedar lejos del inters del usuario. Los modelos predefinidos tienen la virtud de poder aplicar de manera extremadamente fcil las mismas especificaciones prosdicas en diferentes mensajes, sin tener que recordar ni consultar las modificaciones prosdicas concretas que se aplicaron en otras ocasiones.
Esta opcin permite especificar con qu tono debe pronunciar el locutor un texto o parte del texto. Por ejemplo, si toda una oracin tiene una entonacin ms alta que la deseada, podemos bajar esta entonacin manteniendo la curva meldica pero reproducindola a un tono ms bajo.
<prosody pitch="low"> Ha elegido guardar el mensaje de voz. </prosody>
En cambio, si utilizamos la etiqueta prosody pitch en solo una parte de la oracin estaremos modificando la curva entonativa. Por ejemplo, si deseamos realzar el carcter interrogativo de una frase, podemos utilizar esta etiqueta en la palabra final del texto a sintetizar.
Desea eliminar el mensaje <prosody pitch="high"> mensaje? </prosody>
La etiqueta prosody pitch tiene cinco niveles preconfigurados. Si deseamos mayor precisin que la que nos ofrecen las etiquetas predefinidas, podemos recurrir a especificar el incremento tonal manualmente. Esta etiqueta permite forzar incrementos o reducir porcentualmente el tono de la locucin. De este modo, tenemos una infinidad de posibilidades para establecer la entonacin que ms deseemos.
Verbio Technologies
63
Esta opcin permite especificar la variabilidad tonal dentro de un grupo entonativo. Dicho llanamente, significa que podremos decidir si deseamos una entonacin ms plana o ms dinmica. Si interesa generar una entonacin plana deberemos especificar:
<prosody range="low"> Esta entonacin es plana. </prosody>
As obtendremos una entonacin muy estable, poco variable y sin estridencias. Si por el contrario, deseamos una entonacin ms dinmica y expresiva, que tenga fragmentos con tonos altos y bajos, deberemos usar la etiqueta de la siguiente forma:
<prosody range="x-high"> Esta entonacin es ms variable. </prosody>
Estn a su disposicin otras tres opciones intermedias y an podemos ajustar manualmente el aumento o disminucin del rango tonal, hasta llegar a la amplitud deseada de la curva entonativa.
Esta opcin permite determinar el nmero de palabras por minuto que realiza el locutor. En otras palabras, permite escoger la velocidad de elocucin. Ralentizar una oracin o parte de la oracin, crear una sensacin de claridad y serenidad en el mensaje:
Si desa ayuda diga: <prosody rate="slow"> ayuda. </prosody>
Por el contrario, aumentar la velocidad de elocucin crear una sensacin de dinamismo y puede agilizar partes de menor relevancia en un portal de voz:
Gracias por responder a nuestra encuesta de consumo. <prosody rate="fast"> En cumplimiento de lo establecido en el artculo 5 de la Ley Orgnica de Proteccin de Datos, VERBIO le informa que los datos que ha puesto en su conocimiento, pasarn a formar parte de un fichero automatizado de su titularidad para la consecucin de sus finalidades legtimas. </prosody>
Los cambios de velocidad de elocucin pueden usarse tambin para distinguir partes del texto a sintetizar. Por ejemplo:
<prosody rate="fast"> El mensaje recibido ayer a las diez y media de la maana tiene el siguiente texto: </prosody> <prosody rate="slow">Juan: Se ha aprobado el presupuesto y la operacin sigue a delante. </prosody>
Hay cinco etiquetas predefinidas de velocidad, y tambin se puede especificar el nmero concreto de palabras por minuto que deseamos pronuncie el sistema. Por defecto los locutores estn alrededor de las 180 palabras por minuto.
Esta opcin permite controlar el volumen de una locucin. El uso ms comn de esta etiqueta es el de realzar una parte del texto que deseamos tenga una especial importancia y claridad. Por ejemplo, son muy comunes los mensajes del siguiente tipo, donde se desea focalizar la atencin en alguna palabra del mensaje:
Si desea ser atendido en castellano, diga <prosody volume="loud"> castellano. </prosody>
En cualquier caso, las combinaciones con esta etiqueta siempre darn mejor resultado que usar nicamente el parmetro de la energa.
3.1.2. SABLE
SABLE es un lenguaje de marcacin para sistemas de sntesis del habla que ha surgido de la combinacin de 3 lenguajes previamente existentes: SSML, STML y JSML. Sin embargo, a da de hoy, su uso es de mbito reducido ya que SSML se ha estandarizado ms a travs del W3C. Para informacin ms detallada puede consultarse http://www.research.att.com/~rws/SABPAP/sabpap.htm y http://www.cstr.ed.ac.uk/projects/sable/. Las etiquetas SABLE soportadas por Verbio son: BREAK RATE VOLUME AUDIO ENGINE MARKER LANGUAGE SABLE SPEAKER DIV
Las palabras se buscan en el diccionario primero tal cual aparecen en el texto y despus en minsculas. Es decir, si por ejemplo se encuentra la palabra Jordi, primero se busca Jordi y si no se encuentra se busca jordi. Por tanto, si en el diccionario se escribe
Jordi = llordi
leer en pseudo-cataln la palabra Jordi pero no JORDI ni jordi. Por el contrario, si se escribe en el diccionario
jordi = llordi
de estas abreviaturas, el conversor texto a voz lo interpreta siempre como parte de la abreviatura. Si en la abreviatura no se incluye un punto se indica al conversor que, al contrario que en caso anterior, esta abreviatura si puede finalizar una frase (por ejemplo, pta). En este caso si aparece un punto a continuacin de estas abreviaturas, el conversor texto a voz lo interpreta como parte de la abreviatura si la siguiente letra est en minscula, o como final de frase si la siguiente letra est en mayscula. Los desarrolladores pueden editar el fichero de abreviaturas para adaptarlo a sus necesidades concretas. Para ello, siguiendo la sintaxi especificada en el pargrafo anterior, deben modificar adecuadamente el contenido del fichero $INSTALLDIR$\Verbio Engines\Data\TTS\lng\$idioma$\abr_$idioma$. Una vez aplicados los cambios, es necesario reiniciar el servicio Verbio para que stos tengan efecto.
ndice
C
Componentes obligatorios, 3 Componentes obligatorios del cliente, 4 Componentes obligatorios del servidor, 3 Componentes opcionales, 5 Componentes opcionales del cliente, 6 Componentes opcionales del servidor, 5 Configuraciones ASR de inters, 15 Configuraciones de reconocimiento, 5 Consumo de los locutores, 10 Conversin de texto en habla, 61 diccionario de abreviaturas, 65 diccionario de excepciones, 65 lenguajes de marcas, 61 Read Aloud, 26 SABLE, 65 SSML, 61
P
Plataformas Altitude Software (Evox), 24 aplicaciones de escritorio, 24 Avaya IR (Conversant), 24 CTI, 23 Dialogic, 23 Eicon Diva, 23 Natural Microsystems, 23 Prosody, ProsodyS, ProsodyX, 24 Plataformas de desarrollo de aplicaciones, 7 Prerrequisitos de la instalacin, 3 Puesta en marcha del servidor, 21 Puesta en marcha del servidor de LOG, 21
R
Reconocimiento del habla, 27 barge-in, 58 entrada, 57 formato de muestras, 58 interpretacin semntica, 59 medidas de confianza, 58 mltiples hiptesis, N-best, 59 resultados, 58 Requisitos hardware, 9
D
Detencin del servidor, 21 Diseo de la arquitectura, 11
G
Gramticas, 27 activar, 57 cargar, 57 crear, 56 Grammar >Manager, 26 gramticas ABNF, 29 gramticas built-in boolean, 33 code, 36 creditcard, 36 currency, 36 date, 34 digits, 34 nif, 37 number, 35, 36 phone, 35 spell, 37 time, 36 gramticas bsicas incorporadas (built-in), 32 gramticas XML, 37 modelos de palabra, 37 preparar, compilar, 57 tipos, 27 vocabularios de listas de palabras, 28
S
SDK Altitude uCI (Evox), 26 Avaya IR (Conversant), 25 CT ADE (VOS), 25 Dialogic, 25, 25 genrica, 25, 25 SAPI 4/5, 26 SSML aadir pausas, 62 Configuracin de la energa, 64 Configuracin de la velocidad, 64 Configuracin del rango tonal, 63 Configuracin del tono, 63 nfasis pre-configurados, 63
T
Tamao del vocabulario, 9 Tuning, 20
V
VSCM, Verbio Server Configuration Manager, 14
H
Herramientas de prueba y desarrollo, 8
I
Inicializacin del servidor, 14 Intrprete de VoiceXML, 8
L
Licencias, 12