์ ๋ฒ ๋ถ์ฉ์ด ์ ๊ฑฐ ํฌ์คํ ์ ์ด์ด์ Stemming & Lemmatization์ ๋ํด ์ ์ด๋ณด๋ ค๊ณ ํฉ๋๋ค!
1. Cleansing(ํด๋ ์ง)
2. Tokenization(ํ ํฐํ)
3. ํํฐ๋ง / stopwords(๋ถ์ฉ์ด) ์ ๊ฑฐ / ์ฒ ์ ์์
4. Stemming & Lemmatization(์ด๊ทผ ์ถ์ถ)
4. Stemming๊ณผ Lemmatization
: Stemming๊ณผ Lemmatization์ ๋จ์ด์ ์ํ์ ์ฐพ์์ฃผ๋ ์์ ์ ํ๋ค!
*๋์ ์ฐจ์ด๋ ์ ๊ตํจ์ ์ฐจ์ด์ ์ด์ ๋ฐ๋ฅด ์์ ์ํ ์๋์ ์ฐจ์ด..
์๋ฅผ๋ค์ด ์์ด ๋จ์ด work๋ ๊ณผ๊ฑฐํ์ผ๋ก worked, 3์ธ์นญ ๋จ์์ผ ๋๋ works, ๊ทธ๋ฆฌ๊ณ ์งํํ์ผ ๊ฒฝ์ฐ์๋ working์ผ๋ก ๋ฐ๋๋๋ค! Stemming๊ณผ Lemmatization์ ๋ณํ๋ ๋จ์ด๋ค์ ์ํ์ ์ฐพ์์ฃผ๋ ์ญํ ์ ํ๋ค.
์ด๋ Lemmatization์ด ๋ ์ ๊ตํ ์์ ์ ํ๋ค. ๋ฌธ๋ฒ๊ณผ ์๋ฏธ๋ก ์ ์ธ ๊ธฐ๋ฐ์์ ๋จ์ด์ ์ํ์ ์ฐพ๊ธฐ ๋๋ฌธ์ ์ ํํ ์ด๊ทผ์ ์ฐพ๋๋ค.
ํ์ง๋ง Stemming๊ฐ์ ๊ฒฝ์ฐ์๋ ๋ ๋จ์ํ๋ ๋ฐฉ์์ผ๋ก ๋ณํ๋ ๋จ์ด๋ฅผ ์ํ ๋จ์ด๋ก ๋ณํ์ํค๊ธฐ ๋๋ฌธ์ ํผ์๋ ์ด๊ทผ ๋จ์ด๋ฅผ ์ถ์ถํ๋ ๊ฒฝํฅ์ด ์๋ค.
์ด๋ฌํ ์ฐจ์ด์ ๋๋ฌธ์ Lemmatization์ ์์ ์ ํ๋๋ฐ ๋ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค!
~ํจํค์ง ์ํฌํธ~
from nltk.stem import LancasterStemmer
#Stemming์์
์ ํ๋ LancasterStemmer์ stemmer๋ผ๊ณ ์ง์นญํ๊ฒ ๋ค๋ ๋ช
๋ น!
stemmer = LancasterStemmer()
~Stemming~
#stemmer.stem('๋จ์ด')๋ฅผ ํตํด์ stemming(์ด๊ทผ์ถ์ถ)ํ print
print(stemmer.stem('working'), stemmer.stem('works'), stemmer.stem('worked'))
print(stemmer.stem('happiest'), stemmer.stem('happier'))
print(stemmer.stem('fancier'), stemmer.stem('fanciest'))
print(stemmer.stem('amuses'),stemmer.stem('amusing'), stemmer.stem('amused'))
1. LancasterStemmer๋ก Stemming์์ ์ ์ํํ๋ค.
2. work๋ฅผ ์ด๊ทผ์ผ๋ก ํ๋ ๋ณํ ๋์ฌ๋ค์ ๋จ์ ๋ณํ์ด๊ธฐ ๋๋ฌธ์ ์ฝ๊ฒ ์ํ์ ์ฐพ์ง๋ง ๋น๊ต๊ธ์ด๋ ์ต์๊ธ์์๋ ์ํ์ ์ ํํ ์ฐพ์๋ด์ง ๋ชปํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค.
3. ๋ณธ๋ amuse๊ฐ ์ํ์ด์ง๋ง anmuses, amusing, amused ๋ชจ๋ amus์ ์ถ๊ฐ ๋จ์ด๋ค์ด ๋ถ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ปดํจํฐ๊ฐ amus๋ฅผ ์ด๊ทผ์ผ๋ก ์ถ๋ฆฌํ๋ค..ใ ใ
-> ์ฆ ์ ๊ตํ์ง ๋ชปํ๊ณ ํผ์๋ ์ฑ ์ด๊ทผ์ ๊ฐ์ ธ์ด!
~๋ค์ ํจํค์ง ์ํฌํธ~
from nltk.stem import WordNetLemmatizer
import nltk
nltk.download('wordnet')
nltk.download('omw-1.4')
# Lemmatization์์
์ ํ๋ WordNetLemmatizer์ lemma๋ผ๊ณ ์ง์นญํ๊ฒ ๋ค๋ ๋ช
๋ น!
lemma = WordNetLemmatizer()
~Lemmatization~
# lemma.lemmatize('๋จ์ด', 'ํ์ฌ')๋ฅผ ํตํด์ Lemmatization(์ด๊ทผ ์ถ์ถ) ํ print
print(lemma.lemmatize('amusing','v'), lemma.lemmatize('amuses','v'),lemma.lemmatize('amused','v'))
print(lemma.lemmatize('happier','a'), lemma.lemmatize('happiest','a'))
print(lemma.lemmatize('fancier','a'), lemma.lemmatize('fanciest','a'))
1. Lemmatization ์์ ์ ๋จ์ด ์์ ํ์ฌ๋ฅผ ์ ์ด์ค์ผํ๋ค. ๋์ฌ๋ v, ํ์ฉ์ฌ๋ a๋ฅผ ์ฌ์ฉํด์ค๋ค!
2. Stemming์ ๋นํด ์ด๊ทผ์ ์ํ์ด ์ ์ถ์ถ๋ ๊ฒ์ ํ์ธ..!
์ง๊ธ๊น์ง ํ ์คํธ์ ๋ฒกํฐ๊ฐ์ ํผ์ฒํํ๋ ์์ ์ ํ๊ธฐ ์ด์ ์ ๊ฑฐ์ณ์ผํ ์ ์ฒ๋ฆฌ ๊ณผ์ ๋ค์ ๋ํด ์ ์ด๋ณด์๋๋ฐ ์ด๋ ์ จ๋์..
๊ณผ์ ์ ๋ณต์กํ์ง๋ง ํ๋ํ๋ ๋ณด๋๊น ๋๋ฆ ๊ฐ๋จํ ์๋ฆฌ๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ฒ ๊ฐ์ต๋๋ค!
๋ค์ ํฌ์คํ ์์๋ ํ ์คํธ ๋ถ์์ ๋ค์ ๋จ๊ณ์ธ ํ ์คํธ๋ฅผ ๋ฒกํฐ๊ฐ์ ๊ฐ์ง ํผ์ฒ๋ก ๋ฐ๊พธ๋ ๊ณผ์ ์ ๊ณต๋ถํด๋ณด๋ ค๊ณ ํฉ๋๋ค~_~
๊ทธ๋ผ ๋!

'๐ ๋จธ์ ๋ฌ๋ | ๋ฅ๋ฌ๋ > ํ ์คํธ ๋ถ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ ์คํธ ๋ถ์] 4-1. ์ง๋ํ์ต ๊ธฐ๋ฐ ๊ฐ์ฑ ๋ถ์ - IMDB์ํํ (0) | 2022.02.26 |
---|---|
[ํ ์คํธ ๋ถ์] 3. Bag of Words (BOW) (0) | 2022.02.24 |
[ํ ์คํธ ๋ถ์] 2-2. ํ ์คํธ ์ ์ฒ๋ฆฌ - ๋ถ์ฉ์ด ์ ๊ฑฐ (0) | 2022.02.20 |
[ํ ์คํธ ๋ถ์] 2-1. ํ ์คํธ ์ ์ฒ๋ฆฌ - ํด๋ ์ง, ํ ํฐํ (0) | 2022.02.20 |
[ํ ์คํธ ๋ถ์] 1. ํ ์คํธ ๋ถ์์ ์ดํด (0) | 2022.02.19 |