Stap 8: "Output Processor"
Dit doet enkele "onafhankelijke" uitziende dingen maar ze hebben allemaal te maken met de tekst van de AI-Processor om met de gebruiker.
Hier is een lijst.
1. tekst uit de database kan worden in alle kleine letters, en niet alle leestekens. . Subroutines zal een hoofdletter en zet een punt of vraagteken op het eind.
2. een andere subroutine zal apostroffen terug te zetten in contracties of converteren van contracties terug naar volledige woorden (d.w.z. "schuin" wordt vervangen door "kan niet")
3. de text-to-speech engine doet niet Articuleer sommige zoals ik, dus de "Output Processor" deze woorden met een fonetische spelling vervangt... Ik heb "opzoeken" databasetabellen te houden deze, vergelijkbaar met het in de "input processor"
4. Indien de AI een geschikt antwoord niet kan in de database vinden, kan het zeggen, "Ik weet het niet" maar ik wil niet dat het om dit te zeggen over en over en voorbij. Echte mensen variëren hun antwoorden. Zo is er een tafel met "Gemeenschappelijk Output" zinnen en een functie die pakt een willekeurig (en dezelfde nooit twee keer in een rij halen.)
5. de vrije "tekst naar spraak" (TTS) motor geeft niet een programmeur een heleboel opties voor de manier waarop zinnen worden gesproken, maar u hoeft een weinig controle over de toonhoogte en de snelheid van fonemen. De term daarvoor is "Prosodie". Ik heb toegevoegd sommige codes "prosodie" in de tekst in mijn database en wanneer de "Output Processor" deze ziet, past de toonhoogte en de snelheid in de TTS-engine zoals elk woord wordt gesproken.
6. soms is de TTS gewoon moeilijk te begrijpen, dus naast de woorden hardop spreken, ik ook in grote letters op mijn computerscherm weergegeven. Dit deel van de "User Interface" is een raster dat toont de laatste 6 lijnen van een gesprek, (gebruikersinvoer & AI uitvoer) en schuift naar boven, zoals nieuwe regels worden toegevoegd...