AI FÖR NATURLIGT SPRÅK

Kursinfo

Kursmaterial

FAQ

Kursmaterial

/

Kapitel

Deluppgift 2: Visualisera ordinbäddningar

Reducera dimensioner

Följande filer används i uppgiften:

wikipedia-sv.bin - word2vec tränad på svenska Wikipedia (OBS, filstorlek 240MB).

För att spara filerna, högerklicka på länken och välj att spara filen. Du behöver inte ladda ned några filer för att genomföra uppgiften, utan de är per automatik tillgängliga för användning i kodcellerna nedan.


I denna deluppgift kommer du inte skriva någon kod. Uppgiften är bara till för att visa hur vi kan visualisera ordinbäddningar och för att ge dig möjligheten att experimentera med att visualisera olika ord.

Innan vi påbörjar uppgiften så läser vi in den svenska word2vec-modellen på samma sätt som vi gjort i föregående deluppgift.

Att direkt visualisera något som är i hundra dimensioner är inte möjligt. För att kunna visualisera dessa hög-dimesionella ordinbäddningar behöver vi först reducera antalet dimensioner. I reduktionen vill vi samtidigt bevara de relativa relationerna mellan ordvektorerna, att vissa ordvektorer är mer lika än andra. En metod för att göra detta är t-distributed Stochastic Neighbor Embedding (t-SNE). Med t-SNE kan vi just reducera ordvektorer till två dimensioner och bevara de relationer som finns i den ursprungliga samlingen av vektorer.

I nästa kodcell hittar vi ett exempel där vi tillämpar t-SNE på två ordvektorer, för elev och för lärare.

Vi kan se hur två vektorer, vardera med hundra dimensioner, har reducerats till två dimensioner. Eftersom det bara är en relation som behöver tas hänsyn till i reduktionen så får de resulterande vektorerna motsatta koordinater.

I nästa kodcell har vi en färdigskriven funktion som tar in en lista av ord och för varje ord tas ordvektorerna fram för de tio mest lika orden. Dessa ordvektorer reduceras sedan till två dimensioner med t-SNE och ritas ut i en graf.

I nästa kodcell använder vi funktionen, och skickar in en lista med orden ost, mjölk, Sverige, universitet, och dator.

I grafen kan vi se kluster med lika ord, och det finns ett tydligt överlapp mellan klustren som tillhör ost och mjölk. Varför tror du att det har blivit så?

Prova gärna med andra ord för att se hur deras kluster av lika ord visualiseras.

Denna webbsajt innehåller kursmaterialet för kursen ETE335 AI för naturligt språk.
Materialet är licenserat under en Creative Commons Erkännande 4.0 Internationell licens.
Copyright © 2022, Marco Kuhlmann & Oskar Holmström