Med den øgede tilgængelighed af chatbots som ChatGPT har de fleste af os fået erfaringer med hvordan AI kan bruges til at processere og generere sprog, især i form af tekst.
Chatbots som ChatGPT bygger på Natural Language Processing (NLP). For at sprog kan bruges på måder der involverer maskinlæring, skal det omformes. Det betyder at inputtet, fx en tekst, først skal deles op i mindre dele, som ofte kaldes for tokens. Denne proces kaldes præprocessering. Et overblik over typiske trin der er involveret i klargøring af sproglige data i NLP kan du finde her. Resultatet er at man får en liste af ord eller nogle tilfælde andre sprogdele.
Disse enheder skal dernæst omformes til data. En ofte anvendt teknik til det formål kaldes word embeddings som går ud på at hvert ord omformes til et dataelement som har en række tilknyttede talværdier. Sådan en form kaldes en vektor. Der findes forskellige metoder til at repræsentere information om et ord i vektorform. Nogle metoder som ’One-Hot Encoding’ og ’Bag of Words’ fokuserer simpelthen på at registrere forekomster og frekvenser af ord. En lidt mere sofistikeret model til at repræsentere ord som en række talværdier er Term Frequency-Inverse Document Frequency (TF-IDF). Her tillægges ord en vægtning efter deres relevans målt ud fra hvor ofte det forekommer i forhold til andre ord (se fx Egger 2022; Geeks for Geeks 2024).
En vigtig metode til at repræsentere ord som vektorer der har bidraget til udviklingen af store sprogmodeller (Large Language Models (LLMs)) som ChatGPT, er Words2Vec som faktisk kombinerer to forskellige teknikker som har det til fælles at de er forudsigelses-baserede algoritmer (Egger 2022: 342), og at de er inspirerede af den menneskelige hjernes opbygning af neuroner i komplicerede netværk. Denne slags maskinlæring kaldes derfor neural network.
Den ene teknik der bruges i Words2Vec, hedder Continuous Bag-of-Words (CBOW). Lee (2024) forklarer CBOW’s mekanik med en analogi. CBOW fungerer som en gætteleg hvor modellen på baggrund af en kontekst i form af andre ord kommer med en forudsigelse af hvad det manglende ord er. Det kan lade sig gøre fordi modellen er trænet på store datamængder og løbende er blevet raffineret. Den anden teknik der bruges i Words2Vec, er Skip-Gram. Skip-Gram gør det modsatte af CBOW: Skip-Gram forudsiger en kontekst ud fra et ord der er givet, og er også blevet trænet og løbende tilpasset. Vil du gerne vide mere om hvordan Words2Vec fungerer, har Lee (2024) lavet en video som du kan se her:
Word2Vec from Ernesto Lee on Vimeo
Du kan også læse en detaljeret teknisk forklaring i Rong (2014).
ChatGPT er en chat-baseret variant af en Generative Pre-trained Transformer (GPT) model. Denne model bruges til at analysere og generere sekventielle data i form af skrift eller tale. Transformerbaserede modeller er bygget op af en encoder og en decoder (Hoque 2023).
Encoderen tager sig af at processere inputtet, mens decoderen genererer et output, fx ud fra en prompt. Encodermodellen tager en sekvens af tokens som input og omformer den til en vektor. Dermed har data en form der kan bruges til klassificering: Modellen kan fx bruges til at identificere spam eller klassificere tekster efter emne eller andre træk såsom sentiment.
Decodermodellen tager som input information om konteksten omformet til vektorform og giver et output ud fra det ved at generere en sekvens af ord hvor hvert ord er betinget af det foregående. Det har revolutioneret de store sprogmodeller at man indbygger en såkaldt selv-opmærksomhedsmekanisme. Denne mekanisme tillægger forskellig vægt til forskellige ord når et input processeres, sådan at nogle ord på sin vis får mere opmærksomhed end andre. Derudover indgår ordenes rækkefølge i processeringen hvilket betyder at syntaks tages i betragtning som en del af betydningstilskrivelsen. Dette kaldes for positional bias. Se Hoque (2023) og Orrù (2023) for en uddybning af transformer-baserede sprogmodeller.
De Silva, M. 30/4 2023. Preprocessing Steps for Natural Language Processing (NLP): A Beginner’s Guide. Medium. Tilgået her: https://medium.com/@maleeshadesilva21/preprocessing-steps-for-natural-language-processing-nlp-a-beginners-guide-d6d9bf7689c9
Egger, R. (2022). Text representations and word embeddings: Vectorizing textual data. In Applied data science in tourism: Interdisciplinary approaches, methodologies, and applications (pp. 335-361). Cham: Springer International Publishing.
Geeks for Geeks 5/1 2024. Word Embeddings in NLP. Tilgået her: https://www.geeksforgeeks.org/word-embeddings-in-nlp/
Hoque, M. 30/4 2023. A Comprehensive Overview of Transformer-Based Models: Encoders, Decoders, and More. Medium. Tilgået her: https://medium.com/@minh.hoque/a-comprehensive-overview-of-transformer-based-models-encoders-decoders-and-more-e9bc0644a4e5
Lee, E. 17/2 2024. You Can’t Understand ChatGPT If You Don’t Understand Word2Vec — Step-by-Step Code with Intuitions. Medium. Tilgået her: https://drlee.io/you-cant-understand-chatgpt-if-you-don-t-understand-word2vec-step-by-step-code-with-intuitions-dd47ebb596e4
Orrù, G., Piarulli, A., Conversano, C., & Gemignani, A. (2023). Human-like problem-solving abilities in large language models using ChatGPT. Frontiers in artificial intelligence, 6, 1199350.
Rong, X. (2014). word2vec parameter learning explained. arXiv preprint arXiv:1411.2738.
Læs om hvordan billeder proccesseres og genereres