Vektoritilamallit
Pyyhkäise näyttääksesi valikon
Numerisen esityksen tarve
Tietokoneet eivät tulkitse tekstiä samalla tavalla kuin ihmiset. Siinä missä ihmiset ymmärtävät kieltä kontekstin, kulttuurin ja kokemuksen kautta, tietokoneet näkevät vain merkkijonoja.
Jotta teksti olisi koneiden käsiteltävissä, se täytyy muuntaa niiden omalle kielelle: numeroiksi. Tekstin esittäminen vektoreina ja matriiseina mahdollistaa matemaattisten ja tilastollisten mallien löytää kuvioita, yhteyksiä ja oivalluksia, jotka muuten jäisivät piiloon raakatekstissä.
Vektoriavaruusmallien ymmärtäminen
Onneksemme tehokkaita ratkaisuja tekstin muuntamiseen numeeriseen muotoon on jo olemassa. Yksi laajimmin käytetyistä lähestymistavoista on vektoriavaruusmallien hyödyntäminen.
Vektoriavaruusmalli (VSM) on matemaattinen malli, joka esittää tekstiasiakirjat, sanat tai muut kohteet vektoreina moniulotteisessa avaruudessa.
Tällaisia vektoriavaruuksia tekstiasiakirjoille voidaan rakentaa monin eri tavoin. Yksi yksinkertainen tapa on käyttää koko korpuksen sanastoa, jolloin jokainen avaruuden ulottuvuus vastaa yksittäistä termiä.
Sanasto on kokoelma kaikista uniikeista termeistä, joita esiintyy tietyssä korpuksessa.
Merkitään korpuksen sanastoa symbolilla V ja dokumenttien joukkoa symbolilla D. Tällöin jokainen dokumentti di∈D voidaan esittää vektorina avaruudessa RN:
di=(w1,i,w2,i,...,wN,i)missä:
- N=∣V∣ on sanaston uniikkien termien kokonaismäärä;
- wj,i ilmaisee termin Wj∈V painon tai merkityksen dokumentissa di.
Alla yksinkertainen esimerkki, jossa on vain 2 dokumenttia ja 2 uniikkia termiä, havainnollistettuna kaksiulotteisessa vektoriavaruudessa:
Näiden vektoriesitysten avulla voidaan laskea samankaltaisuuspisteet dokumenttien välillä mittaamalla niiden vektorien välistä kulmaa, tyypillisesti käyttäen kosinietäisyyttä.
Sanat vektoreina
VSM-mallien ideaa voidaan laajentaa yksittäisten sanojen esittämiseen tekniikalla, jota kutsutaan sanaupotuksiksi. Sanaupotukset perustuvat samanlaiseen matemaattiseen periaatteeseen, mutta keskittyvät yksittäisten sanojen esittämiseen vektoreina koko dokumenttien sijaan. Näiden vektorien ulottuvuudet kuvaavat piileviä semanttisia ominaisuuksia, joita ei voi suoraan tulkita.
Tässä on esimerkki kolmen sanan kaksiulotteisista upotuksista:
Kuvassa "woman"- ja "queen"-vektorit sekä "queen"- ja "king"-vektorit sijaitsevat lähellä toisiaan, mikä osoittaa vahvaa semanttista samankaltaisuutta. Sen sijaan laajempi kulma "woman"- ja "king"-vektoreiden välillä viittaa suurempaan semanttiseen eroon.
Älä huolehdi sanaupotuksista vielä, käsittelemme niitä myöhemmin.
Vektoriavaruusmallien sovellukset
Vektoriavaruusmalleja käytetään monissa NLP-tehtävissä:
-
Semanttinen samankaltaisuus: tekstidokumenttien tai sanojen samankaltaisuuden laskeminen niiden vektoriedustusten perusteella;
-
Tiedonhaku: hakukoneiden ja suositusjärjestelmien parantaminen löytämään käyttäjän kyselyyn liittyvää sisältöä;
-
Tekstin luokittelu ja klusterointi: dokumenttien automaattinen luokittelu ennalta määriteltyihin luokkiin tai samankaltaisten dokumenttien ryhmittely;
-
Luonnollisen kielen ymmärtäminen: syvemmän kielellisen analyysin mahdollistaminen, mikä luo pohjan esimerkiksi sentimenttianalyysille, aiheiden mallinnukselle ja muille sovelluksille.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme