Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Vektoritila-Mallit | Perustekstin Mallit
Quizzes & Challenges
Quizzes
Challenges
/
Johdatus NLP:hen Pythonilla

bookVektoritila-Mallit

Tarve numeeriselle esitykselle

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

Onneksi 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ää tekstidokumentit, sanat tai muut kohteet vektoreina moniulotteisessa avaruudessa.

Tekstidokumenttien vektoriavaruuksia voidaan rakentaa monin eri tavoin. Yksi yksinkertainen lähestymistapa on käyttää koko korpuksen sanastoa, jolloin jokainen avaruuden ulottuvuus vastaa yksittäistä termiä.

Note
Määritelmä

Sanasto on kokoelma kaikkia yksilöllisiä termejä, jotka esiintyvät 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 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 yksilöllisten termien kokonaismäärä;
  • wj,iw_{j,i} ilmaisee termin WjVW_j \in V painon tai tärkeyden dokumentissa did_i.

Tässä on yksinkertainen esimerkki, jossa on vain 2 dokumenttia ja 2 yksilöllistä termiä, havainnollistettuna kaksiulotteisessa vektoriavaruudessa:

Näiden vektoriedustusten avulla voidaan laskea samankaltaisuuspisteet dokumenttien välillä mittaamalla niiden vektorien välistä kulmaa, tyypillisesti käyttäen kosinietäisyyttä.

Sanat vektoreina

VSM-mallien periaatetta voidaan laajentaa yksittäisten sanojen esittämiseen tekniikalla, jota kutsutaan sanaupotuksiksi. Sanaupotukset perustuvat samankaltaiseen 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 näkyy, että vektorit "woman" ja "queen" sekä "queen" ja "king" sijaitsevat lähellä toisiaan, mikä osoittaa vahvaa semanttista samankaltaisuutta. Sen sijaan suurempi kulma "woman" ja "king" välillä viittaa suurempaan semanttiseen eroavuuteen.

Note
Huomio

Älä huolehdi sanaupotuksista vielä, käsittelemme niitä myöhemmin.

Vektoriavaruusmallien sovellukset

Vektoriavaruusmalleja käytetään monissa NLP-tehtävissä:

  • Semanttinen samankaltaisuus: tekstiasiakirjojen 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: asiakirjojen automaattinen luokittelu ennalta määriteltyihin luokkiin tai samankaltaisten asiakirjojen ryhmittely;

  • Luonnollisen kielen ymmärtäminen: syvemmän kielellisen analyysin mahdollistaminen, mikä luo pohjan sovelluksille kuten sentimenttianalyysi, aiheiden mallinnus ja muille.

question mark

Mihin vektoriavaruusmalleja käytetään?

Select the correct answer

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

Awesome!

Completion rate improved to 3.45

bookVektoritila-Mallit

Pyyhkäise näyttääksesi valikon

Tarve numeeriselle esitykselle

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

Onneksi 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ää tekstidokumentit, sanat tai muut kohteet vektoreina moniulotteisessa avaruudessa.

Tekstidokumenttien vektoriavaruuksia voidaan rakentaa monin eri tavoin. Yksi yksinkertainen lähestymistapa on käyttää koko korpuksen sanastoa, jolloin jokainen avaruuden ulottuvuus vastaa yksittäistä termiä.

Note
Määritelmä

Sanasto on kokoelma kaikkia yksilöllisiä termejä, jotka esiintyvät 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 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 yksilöllisten termien kokonaismäärä;
  • wj,iw_{j,i} ilmaisee termin WjVW_j \in V painon tai tärkeyden dokumentissa did_i.

Tässä on yksinkertainen esimerkki, jossa on vain 2 dokumenttia ja 2 yksilöllistä termiä, havainnollistettuna kaksiulotteisessa vektoriavaruudessa:

Näiden vektoriedustusten avulla voidaan laskea samankaltaisuuspisteet dokumenttien välillä mittaamalla niiden vektorien välistä kulmaa, tyypillisesti käyttäen kosinietäisyyttä.

Sanat vektoreina

VSM-mallien periaatetta voidaan laajentaa yksittäisten sanojen esittämiseen tekniikalla, jota kutsutaan sanaupotuksiksi. Sanaupotukset perustuvat samankaltaiseen 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 näkyy, että vektorit "woman" ja "queen" sekä "queen" ja "king" sijaitsevat lähellä toisiaan, mikä osoittaa vahvaa semanttista samankaltaisuutta. Sen sijaan suurempi kulma "woman" ja "king" välillä viittaa suurempaan semanttiseen eroavuuteen.

Note
Huomio

Älä huolehdi sanaupotuksista vielä, käsittelemme niitä myöhemmin.

Vektoriavaruusmallien sovellukset

Vektoriavaruusmalleja käytetään monissa NLP-tehtävissä:

  • Semanttinen samankaltaisuus: tekstiasiakirjojen 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: asiakirjojen automaattinen luokittelu ennalta määriteltyihin luokkiin tai samankaltaisten asiakirjojen ryhmittely;

  • Luonnollisen kielen ymmärtäminen: syvemmän kielellisen analyysin mahdollistaminen, mikä luo pohjan sovelluksille kuten sentimenttianalyysi, aiheiden mallinnus ja muille.

question mark

Mihin vektoriavaruusmalleja käytetään?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 1
some-alt