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

bookLemmatisaatio

Lemmatisaation ymmärtäminen

Note
Määritelmä

Lemmatisaatio on tekstin normalisointitekniikka, jota käytetään NLP:ssä sanojen palauttamiseen sanakirjamuotoonsa, jota kutsutaan lemmaksi.

Toisin kuin stemmaus, joka karkeasti katkaisee päätteet, lemmatisointi ottaa huomioon kontekstin ja muuntaa sanan sanakirjamuotoon. Esimerkiksi 'am', 'are' ja 'is' lemmatisoidaan kaikki muotoon 'be'. Tämä lähestymistapa voi merkittävästi pienentää sanaston kokoa (uniikkien sanojen määrä) suurissa tekstikorpuksissa, mikä lisää tehokkuutta mallien koulutuksessa.

Toisaalta, vaikka lemmatisointi on tarkempaa, se on myös laskennallisesti raskaampaa ja voi olla aikaa vievää suurilla aineistoilla. Lisäksi vielä paremman tarkkuuden saavuttamiseksi suositellaan morfologista analyysia ja osaluokkamerkintää ennen lemmatisointia.

Note
Huomio

Älä huolehdi osaluokkamerkinnästä vielä, sillä opit siitä seuraavaksi.

Lemmatisaatio NLTK:lla

WordNet Lemmatizer, jonka tarjoaa NLTK-kirjasto, hyödyntää WordNet-korpusta lemmatisaation suorittamiseen.

Note
Lisätietoa

WordNet on semanttisesti rikas englanninkielinen leksikaalinen tietokanta, joka menee paljon yksinkertaista korpusta pidemmälle. Se ryhmittelee sanat synonyymijoukkoihin eli synsetteihin, joista jokainen kuvaa yksittäistä käsitettä ja sisältää määritelmiä sekä esimerkkikäyttöjä. Lisäksi WordNet tallentaa merkityksellisiä suhteita näiden synsettien välillä — kuten hyperonyymit (yleisemmät, laajemmat termit) ja hyponyymit (tarkemmat, suppeammat termit) — tarjoten tehokkaan viitekehyksen sanojen merkitysten tutkimiseen ja erotteluun.

Kun käytät WordNet Lemmatizeria, se etsii kohdesanan WordNet-tietokannasta löytääkseen sanan sopivimman leman.

Kuten aiemmin mainittiin, sanat voivat tarkoittaa eri asioita eri konteksteissa (esim. "running" verbinä vs. "running" substantiivina), joten lemmatisaattori saattaa vaatia sinun määrittelevän sanaluokan (esim. verbi, substantiivi, adjektiivi). Tämä auttaa valitsemaan oikean leman sanan lauseessa olevan roolin perusteella.

1234567891011
from nltk.stem import WordNetLemmatizer import nltk # Download the WordNet corpus nltk.download('wordnet') # Initialize the WordNet lemmatizer lemmatizer = WordNetLemmatizer() # Parts of speech, 'v' for verb and 'n' for noun parts_of_speech = ['v', 'n'] # Lemmatize words lemmatized_words = [lemmatizer.lemmatize("running", pos) for pos in parts_of_speech] print("Lemmatized words:", lemmatized_words)
copy

Voit jättää sanaluokan määrittämättä kutsumalla lemmatizer.lemmatize("running"), mutta kuten huomaat, eri sanaluokat tuottavat erilaisia tuloksia. Siksi olisi suositeltavaa suorittaa sanaluokkien tunnistus etukäteen.

question mark

Mikä on lemmatisaation ensisijainen etu verrattuna stemmaukseen?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

bookLemmatisaatio

Pyyhkäise näyttääksesi valikon

Lemmatisaation ymmärtäminen

Note
Määritelmä

Lemmatisaatio on tekstin normalisointitekniikka, jota käytetään NLP:ssä sanojen palauttamiseen sanakirjamuotoonsa, jota kutsutaan lemmaksi.

Toisin kuin stemmaus, joka karkeasti katkaisee päätteet, lemmatisointi ottaa huomioon kontekstin ja muuntaa sanan sanakirjamuotoon. Esimerkiksi 'am', 'are' ja 'is' lemmatisoidaan kaikki muotoon 'be'. Tämä lähestymistapa voi merkittävästi pienentää sanaston kokoa (uniikkien sanojen määrä) suurissa tekstikorpuksissa, mikä lisää tehokkuutta mallien koulutuksessa.

Toisaalta, vaikka lemmatisointi on tarkempaa, se on myös laskennallisesti raskaampaa ja voi olla aikaa vievää suurilla aineistoilla. Lisäksi vielä paremman tarkkuuden saavuttamiseksi suositellaan morfologista analyysia ja osaluokkamerkintää ennen lemmatisointia.

Note
Huomio

Älä huolehdi osaluokkamerkinnästä vielä, sillä opit siitä seuraavaksi.

Lemmatisaatio NLTK:lla

WordNet Lemmatizer, jonka tarjoaa NLTK-kirjasto, hyödyntää WordNet-korpusta lemmatisaation suorittamiseen.

Note
Lisätietoa

WordNet on semanttisesti rikas englanninkielinen leksikaalinen tietokanta, joka menee paljon yksinkertaista korpusta pidemmälle. Se ryhmittelee sanat synonyymijoukkoihin eli synsetteihin, joista jokainen kuvaa yksittäistä käsitettä ja sisältää määritelmiä sekä esimerkkikäyttöjä. Lisäksi WordNet tallentaa merkityksellisiä suhteita näiden synsettien välillä — kuten hyperonyymit (yleisemmät, laajemmat termit) ja hyponyymit (tarkemmat, suppeammat termit) — tarjoten tehokkaan viitekehyksen sanojen merkitysten tutkimiseen ja erotteluun.

Kun käytät WordNet Lemmatizeria, se etsii kohdesanan WordNet-tietokannasta löytääkseen sanan sopivimman leman.

Kuten aiemmin mainittiin, sanat voivat tarkoittaa eri asioita eri konteksteissa (esim. "running" verbinä vs. "running" substantiivina), joten lemmatisaattori saattaa vaatia sinun määrittelevän sanaluokan (esim. verbi, substantiivi, adjektiivi). Tämä auttaa valitsemaan oikean leman sanan lauseessa olevan roolin perusteella.

1234567891011
from nltk.stem import WordNetLemmatizer import nltk # Download the WordNet corpus nltk.download('wordnet') # Initialize the WordNet lemmatizer lemmatizer = WordNetLemmatizer() # Parts of speech, 'v' for verb and 'n' for noun parts_of_speech = ['v', 'n'] # Lemmatize words lemmatized_words = [lemmatizer.lemmatize("running", pos) for pos in parts_of_speech] print("Lemmatized words:", lemmatized_words)
copy

Voit jättää sanaluokan määrittämättä kutsumalla lemmatizer.lemmatize("running"), mutta kuten huomaat, eri sanaluokat tuottavat erilaisia tuloksia. Siksi olisi suositeltavaa suorittaa sanaluokkien tunnistus etukäteen.

question mark

Mikä on lemmatisaation ensisijainen etu verrattuna stemmaukseen?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 3
some-alt