Paso 8: "procesador de salida"
Esto hace varias cosas mira "sin relación" pero todos tienen que ver con conseguir el texto del procesador de AI para el usuario.
Aquí está una lista.
1. texto de la base de datos se puede en todos los casos de baja y no tiene ninguna puntuación. . Subrutinas serán mayúscula la primera letra y poner un período o un signo de interrogación en el extremo.
2. otra subrutina poner apóstrofos en contracciones o contracciones de convertir en palabras completas (es decir, "cant" es reemplazado con "no puede")
3. el motor de texto a voz no pronuncia algunas palabras como yo, por lo que el "procesador de salida" reemplaza esas palabras con una ortografía fonética... Tengo tablas de bases de datos "ver" para sujetar estos, similar a la del "entrada al procesador"
4. Si la AI no encuentra una respuesta adecuada en la base de datos, puede decir "No sé" pero no quiero decirlo más y más y más. Personas reales varían sus respuestas. Así que hay una mesa con frases "Salida común" y una función que toma uno al azar (y nunca el mismo tome dos veces en una fila).
5. libre "texto a voz" (TTS) motor no da un programador se hablan un montón de opciones para las oraciones de la forma, pero tiene un pequeño control sobre el tono y la velocidad de fonemas. El término para esto es "Prosodia". He añadido algunos códigos "prosodia" en el texto en mi base de datos, y cuando el "procesador de salida" ve estos, ajusta el tono y la velocidad en el motor TTS como cada palabra es hablada.
6. a veces el TTS son difícil de entender, por lo que además de hablar palabras en voz alta, también mostrará en letras grandes en mi pantalla de ordenador. Esta parte de la "interfaz de usuario" es una cuadrícula que muestra las últimos 6 líneas de una conversación, (entrada de usuario y AI salida) y se desplaza hacia arriba como se agregan nuevas líneas de...