Irene, of hoe ik een virtuele versie van mezelf creëerde
Voor een project met VRT Creative Lab moest ik onlangs alle data die Facebook over mij had downloaden. Het viel me meteen op dat ik de afgelopen 13 jaar nogal wat heb zitten chatten.
De gesprekken herlezen voelde als een coming-of-age-verhaal van adolescent naar volwassene (of toch min of meer). Exen en de bijhorende drama’s passeerden, maar ook wilde feesten en andere uitspattingen. Hoogtes en laagtes uit mijn leven van mijn 23 tot mijn 36.
Ik vroeg me af wat het zou geven als ik al mijn chatgesprekken prijsgaf. Bovendien haalde ik inspiratie uit “Be Right Back”, mijn favoriete aflevering van de fictiereeks “Black Mirror”. Daarin bestelt een weduwe een virtuele kopie van haar overleden man, gebaseerd op alles wat hij ooit gezegd heeft. Dat donkere, dystopische uitgangspunt, gekoppeld aan mijn nieuwsgierigheid over mijn eigen chats, was het beginpunt van Virtuele Tim Broddin.
Uitdaging: kan ik mezelf in een chatbot steken?
Ik probeerde het eerste met AI-algoritme Seq2Seq. Kort door de bocht is dit een algoritme dat zich uitstekend leent voor vertalingen, van de ene sequentie naar een andere. Als je het algoritme bijvoorbeeld leert wat ik allemaal op “Alles goed?” heb geantwoord, zou je in principe na heel lang trainen variaties op mijn antwoorden kunnen krijgen. Ofwel: na heel lang trainen op heel veel mogelijke antwoorden zou het algoritme dingen kunnen zeggen die ik zelf nooit gezegd heb.
Maar deze aanpak faalde glorieus. Ik huurde bij Google een server en liet die 72 uur lang kauwen op alles wat ooit tegen mij gezegd is en mijn antwoorden daarop. Dit was het resultaat:
Mijn gratis Google Credits waren ondertussen op, dus liet ik de AI-piste varen. Het zag er niet naar uit dat er ooit iets zinnigs uit zou komen, en hoewel het GPT2-algoritme veelbelovend is, had ik geen zin om nog eens dagen te moeten wachten om uiteindelijk onzin te lezen.
Andere boeg
Tijd voor een nieuwe aanpak dus. Ik koos ervoor om alles wat ooit tegen mij gezegd is geweest te indexeren in ElasticSearch, samen met de mogelijke antwoorden. Wanneer je iets typt, gaat hij hierin zoeken, voegt hij wat magische chaos toe en kiest dan een mogelijk antwoord. En dat geeft vaak hilarische resultaten:
Zodra mijn algoritme en bijhorende backend klaar waren, begon ik aan de voorkant een website te bouwen. Daarvoor koos ik NextJS, het next level framework voor React.
OK, even tussendoor. Serieus, als je met React bezig bent, stop dan met create-react-app en stap over naar NextJS. Het laat je server-side renderen en static sites genereren, zonder dat je er moeite voor moet doen. En je hebt ook gratis hosting door het bijhorende platform Zeit Now.
In de front-end stak ik ook enkele kleine details waar ik al lang mee wou experimenteren, maar geen geschikt project voor vond, zoals particles.js en Dark Mode.
Ta-daaa!
Dit is ‘m uiteindelijk geworden. Je vindt mijn site hier:
(Dit artikel verscheen eerder op het Mediumkanaal van het Creative Lab)
Member discussion