Hur man lär en sten ord
NLP

Hur man lär en sten ord

Från Word2Vec till Attention — hur maskiner lärde sig förstå ord, med interaktiva visualiseringar.

1 mars 2026

En Token blir till

Vad är språk egentligen? Om man tar bort poesin och känslan är språk bara en serie mönster vi använder för att kommunicera. Det är ett strukturerat ljud som på något sätt förvandlas till ett abstrakt koncept i våra huvuden.

Under lång tid var datorer helt värdelösa på detta. De kunde räkna tecken, matcha exakta strängar och följa hårdkodade grammatikregler byggda av forskare, men de förstod ingenting. Om du byggde en AI för några år sedan för att klassificera filmrecensioner var den förmodligen otroligt begränsad. Om du inte uttryckligen berättade för datorn att ordet "fantastisk" var positivt hade den ingen aning.

För att lösa detta var vi tvungna att sluta lära datorer ordlistan. Vi var tvungna att omvandla ord till matematik.

JURIST

"Visa mig dina vänner"-algoritmen

2013 testade ett team på Google något nästan löjligt enkelt. De byggde en modell som hette Word2Vec och gav den ett enda jobb: gissa det saknade ordet baserat på dess grannar.

Det var allt. Inga grammatikregler. Inga ordböcker. Ingen förståelse för vad ord faktiskt betyder. Bara: "här är de fem orden till vänster och fem till höger — vad står i mitten?"

De matade den med miljarder ord från internet och lät den gissa. Miljontals gånger. Och sen hände något remarkabelt.

västkustenkanvise
 
simmaruntisaltvattnet
makrillentorskenlaxensillen

Modellen visste inte hur en makrill eller en torsk såg ut. Den hade aldrig sett havet. Men den märkte att dessa ord ständigt dök upp i exakt samma sällskap — båda simmar, båda gillar saltvatten, båda hänger på västkusten.

Genom att bara förutsäga grannar tvingades modellen lista ut vad ord betyder. Och den lagrade den betydelsen som ett tal — en vektor — och placerade ord som delar sammanhang bredvid varandra i ett gigantiskt matematiskt rum.

Word2Vec hade faktiskt två sätt att göra detta:

vidkustenkundevise
 
simmaruntuteivattnet
makrilltorsklaxsill
Skip-gram
Givet ett ord — förutsäg kontexten
Liknande ord dyker upp i samma kontexter

CBOW (Continuous Bag of Words) tittar på grannarna och gissar det saknade ordet — precis som övningen ovan. Skip-gram vänder på det: börja med ett ord och gissa vad som finns runtomkring.

Båda tillvägagångssätten lär sig samma sak: ord som delar kontext delar betydelse.

Men liknande ord är inte identiska. Vissa kontexter accepterar bara vissa ord — en lax simmar uppströms för att leka, men det skulle du aldrig säga om en torsk. Dessa skillnader är det som ger varje ord sin unika position i vektorrummet.

skärmanuppenfärsk
 
sermanljustrosakött
makrilltorsklaxsill
Skillnaderna bestämmer varje ords unika position

Så här ser nätverket faktiskt ut inuti:

Loading 3D visualization...
kundevisesimmaruntuteEmbedding6 × 8 dimMean8 dim (averaged)Linear8 → 128Outputsoftmax · 128 wordsOrd som delar kontext delar betydelse

Men hur lär den sig egentligen att förutsäga rätt ord? Den börjar med slumpmässiga vikter — helt utan kunskap. Sedan ser den tusentals meningar, gör gissningar, kontrollerar om den hade rätt och justerar vikterna lite varje gång. Se träningsprocessen utspela sig:

Inbäddningar (dim 0 vs 1)vildsimmarfärsklagaserveradrosavitränderinlagdmidsommarkonserveradstektpommessushiljusmörkfrasigdjärvrestaurangsemakrilltorsklaxsillkundevisesimmaruntuteEmbedding6 × 8 dimMean8 dim (averaged)Linear8 → 128Outputsoftmax · 128 wordsvidkustenkundevise___simmaruntuteivattnetEpok 0 Loss: 0.00Modellen lärde sig genom att justera vikterna
Inbäddningar (dim 0 vs 1)vildsimmarfärsklagaserveradrosavitränderinlagdmidsommarkonserveradstektpommessushiljusmörkfrasigdjärvrestaurangsemakrilltorsklaxsillkundevisesimmaruntuteEmbedding6 × 8 dimMean8 dim (averaged)Linear8 → 128Outputsoftmax · 128 wordsvidkustenkundevise___simmaruntuteivattnetEpok 0 Loss: 0.00Modellen lärde sig genom att justera vikterna

Välkommen till vektorrummet

Word2Vec var inte designat för att skapa ett rum av betydelse. Det försökte bara gissa kontextord. Men rummet uppstod ändå — och det visade sig vara spektakulärt.

Loading 3D training visualization...

Resultatet är ett högdimensionellt vektorrum, vanligtvis med cirka 300 dimensioner. Vi kan inte föreställa oss 300 dimensioner, men om vi pressar ihop dem till 3D kan vi kika på vad modellen byggde.

Och det den byggde är vackert. Ord som betyder liknande saker klustrar ihop sig. "Jurist" och "advokat" ligger praktiskt taget ovanpå varandra. "Jurist" och "företag" ligger något nära, men märkbart längre ifrån. Geometrin är betydelsen.

Loading 3D visualization...

När jag såg det här första gången blev jag helt paff. Jag började träna mina egna modeller — matade in olika textkorpusar, tittade på hur rummen formades. Det var som att ha en universell ordkalkylator. Man kunde söka efter synonymer, hitta ord som dyker upp i samma kontexter, upptäcka relationer som ingen hade programmerat. Jag satt i veckor och bara testade, kastade in ord och kollade vad som kom tillbaka.

Men här blir det verkligen häpnadsväckande. När ord bara är koordinater i rymden kan man göra matematik med dem.


Ordalgebrans magi

Här är delen som fick forskare att tappa hakan. Eftersom relationer mellan begrepp lagras som fysiska avstånd och riktningar i detta rum, så är de riktningarna konsekventa. Ta "Kung," subtrahera "Man" — ta bort "manligheten" — och lägg till "Kvinna." Du landar på "Drottning." Det är en vektor som i princip betyder "byt kön."

Det betyder att man kan ta den riktningen — den pilen — och applicera den någon annanstans. Man kan göra matematik med betydelse:

HavBordSpringaLilaKaffeDrömBroTystEldPapperManKungkönKung − Man = directionthe "kön" directionKvinna + direction = ?(Kung − Man) + Kvinna = DrottningKvinna?kön

Ta "Kung," subtrahera "Man," lägg till "Kvinna" — och du landar nästan exakt på "Drottning." Modellen fick aldrig veta något om kön. Den räknade ut mönstret genom att läsa miljontals meningar.

Och det slutar inte där:

HavBordSpringaLilaKaffeDrömBroTystEldPapperTysklandBerlinhuvudstadBerlin − Tyskland = directionthe "huvudstad" directionFrankrike + direction = ?(Berlin − Tyskland) + Frankrike = ParisFrankrike?huvudstad

Konceptet "är huvudstad i" existerar som en riktning i vektorrummet. Byt ut landet, applicera samma pil, och du får den nya huvudstaden.

HavBordSpringaLilaKaffeDrömBroTystEldPapperSnabbSnabbastsuperlativSnabbast − Snabb = directionthe "superlativ" directionBra + direction = ?(Snabbast − Snabb) + Bra = BästBra?superlativ

Till och med grammatiska mönster som superlativ har konsekventa riktningar. "Snabbast" minus "Snabb" ger superlativ-riktningen. Applicera den på "Bra" och du får "Bäst" — inte "braast." Modellen lärde sig konceptet, inte suffixet.

Ingen programmerade dessa relationer. Modellen upptäckte dem på egen hand, bara genom att läsa hur ord brukar dyka upp nära varandra. Rummets geometri är betydelsen.

I animationen nedan, lägg märke till hur pilen från "Tiger" till "Tigrar" — "plural"-riktningen — behåller ungefär samma längd och riktning när den flyttas till ett annat djur. Det är inte exakt, men det är nära. Den ungefärliga konsekvensen är hela tricket.

Loading 3D visualization...

Bristen: Varför Word2Vec inte räckte

Men det fanns ett massivt problem. Varje ord får exakt en vektor — en enda, statisk koordinat, uppslagen från en fast tabell efter tokenisering. Samma vektor varje gång, i varje mening, i varje sammanhang. Ordet "spela" i "spela fotboll" och "spela piano" — identisk punkt i rummet. Och det blir värre:

Den här filmen var skit. vs. Den här filmen var skitbra.

Samma grundord. Motsatta betydelser. Word2Vec kan inte skilja dem åt — "skit" får en vektor, fast någonstans mellan förolämpning och beröm.

fotbollmålmatchlagpianomelodikonsertinstrumentsportmusikspelaspelaspelaEtt ord. En vektor. Två förlorade betydelser.

För att faktiskt förstå språk behövde AI:n sluta titta på ord i isolation. Den behövde se hela texten på en gång. Den behövde "Attention."

Och det var då allt förändrades. Läs Del 2: Hur man lär en sten att förstå