Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Vektoritilamallit | Perustekstin Mallit
Johdatus NLP:hen Pythonilla

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ä.

kuva

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.

Note
Määritelmä

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ä.

Note
Määritelmä

Sanasto on kokoelma kaikista uniikeista termeistä, joita esiintyy tietyssä korpuksessa.

Merkitään korpuksen sanastoa symbolilla VV ja dokumenttien joukkoa symbolilla DD. Tällöin jokainen dokumentti diDd_i \in D voidaan esittää vektorina avaruudessa RN\R^N:

di=(w1,i,w2,i,...,wN,i)d_i = (w_{1,i}, w_{2,i}, ..., w_{N,i})

missä:

  • N=VN = |V| on sanaston uniikkien termien kokonaismäärä;
  • wj,iw_{j,i} ilmaisee termin WjVW_j \in V painon tai merkityksen dokumentissa did_i.

Alla yksinkertainen esimerkki, jossa on vain 2 dokumenttia ja 2 uniikkia termiä, havainnollistettuna kaksiulotteisessa vektoriavaruudessa:

kuva

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:

kuva

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.

Note
Huomio

Ä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.

question mark

Mihin vektoriavaruusmalleja käytetään?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 1

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 3. Luku 1
some-alt