Movia chatbot
Jeg er stadig i gang med min uddannelse som it-supporter og jeg har jo en elevplads, men der var simpelthen et job, jeg synes var for spændende til ikke at byde mig ind på. Jeg søgte som studentmedhjælper. Jeg skrev noget i stil med, at jeg gerne ville tilkobles et team af dygtige udviklere, som jeg kunne lære af.
Jobbeskrivelsen var "Byg fremtidens AI-agenter og automatisering hos Movia".
Jeg elsker at bygge ting og få ting til at fungere – jeg har gennem min hjemmeside vist, hvad jeg er i stand til at lave. Jeg lavede en chatbot til Movia, der kan svare på simple spørgsmål. Movia har ikke en chatbot, som kunder kan henvende sig til, så jeg tænkte, at det var et fint projekt at linke til.
Jeg har med AI og viden fra movia.dk lavet 153 unikke spørgsmål og svar. Og hvis der kommer et spørgsmål, som den ikke kan svare på, skriver den:
"Det ved jeg desværre ikke ud fra de oplysninger, jeg har. Kontakt venligst Movias kundeservice på +45 70 15 70 00. Åbningstider: mandag–fredag 07:00–18:00, lørdag–søndag 08:00–18:00. Du kan også bruge kontaktformularen på moviatrafik.dk"
Sådan er den bygget:
HTML – En demo-side viser widgetten, og selve chat-vinduet bygges dynamisk i JavaScript. Widgetten kan embeddes på en hvilken som helst side med to linjer kode (ét <link> + ét <script>).
CSS – Al styling: den svævende blå chat-knap, chat-vindue, beskedbobler, "skriver…"-animation og hurtigsvar-knapper. Fuldt mobilresponsivt. Movia-blå styres via CSS-variabler, så farverne nemt kan skiftes.
JavaScript – To dele: en agent, der matcher brugerens spørgsmål mod vidensbasen (dansk tokenisering, stopords-filtrering, simpel stemming og keyword/alias-scoring), og en widget, der styrer brugerfladen. Ingen eksterne biblioteker – ren vanilla JS.
JSON – Hele "hjernen": 153 spørgsmål/svar med keywords og aliases i én redigerbar tekstfil (knowledge_base.json). Indholdet kan opdateres uden at røre koden.
PHP – En simpel login-beskyttelse med sessionstyring til demoen.
Ingen database: hele projektet er fladfilsbaseret. Al FAQ-viden ligger i JSON-filen, og matchingen sker 100 % i brugerens browser. Det betyder ingen serveromkostninger, ingen API-kald og ingen database at vedligeholde – man kan lægge filerne på en server, og det virker med det samme.
Prøv det selv via nedenstående link:
Brugernavn: JWB
Password: 40414334