Hur man gör en A.I. del 2 (8 / 9 steg)
Steg 8: "Output Processor"
Det gör flera "närstående" ser saker, men alla har att göra med att få texten från AI processorn till användaren.
Här är en lista.
1. texten från databasen kan vara i alla gemener och inte har några skiljetecken. . Subrutiner kommer sไtt inledande versal, och sätta en period eller frågetecken på slutet.
2. en annan subrutin kommer att sätta apostrofer tillbaka på sammandragningar, eller omvandla värkarna tillbaka till ord (dvs "skränande" ersätts med "inte kan")
3. text till tal-motorn inte uttala vissa ord som jag gillar, så den "Output Processor" ersätter dessa ord med en fonetisk stavning... Jag har "slå upp" databastabeller att hålla dessa, liknande som i "input processor"
4. om AI inte hittar ett passande svar i databasen, kan man säga "Jag vet inte" men jag vill inte att säga detta om och om och om igen. Verkliga människor varierar sina svar. Så finns det en tabell med "Gemensam utgång" fraser och en funktion som tar en på måfå (och kommer att plocka aldrig samma två gånger i rad.)
5. gratis "text-to-speech" (TTS) motorn ger inte en programmerare en massa alternativ för sätt meningarna talas, men du har en liten kontroll över planen och hastigheten på fonem. Termen för detta är "Prosodi". Jag la några "prosodi" koder i texten i min databas, och när den "Output Processor" ser detta, det justerar pitch och hastighet i TTS-motor som varje ord talas.
6. ibland är TTS bara svårt att förstå, så förutom talade ord högt, jag också visa dem i stora bokstäver på min datorskärm. Denna del av "User Interface" är ett rutnät som visar de 6 sista raderna i en konversation, (användarindata & AI utgång) och rullar upp när nya rader läggs...