Python-형태소 분석 및 기본형 화
자연어 처리 영역에서 우리는 두 개 이상의 단어가 공통된 어근을 갖는 상황에 직면합니다. 예를 들어, 동의 함, 동의 함 및 동의 함이라는 세 단어는 동일한 어근 동의 함을 갖습니다. 이러한 단어 중 하나를 포함하는 검색은 해당 단어를 루트 단어 인 동일한 단어로 처리해야합니다. 따라서 모든 단어를 루트 단어로 연결하는 것이 필수적입니다. NLTK 라이브러리에는이 연결을 수행하고 루트 단어를 보여주는 출력을 제공하는 방법이 있습니다.
아래 프로그램은 형태소 분석을 위해 Porter Stemming Algorithm을 사용합니다.
import nltk
from nltk.stem.porter import PorterStemmer
porter_stemmer = PorterStemmer()
word_data = "It originated from the idea that there are readers who prefer learning new skills from the comforts of their drawing rooms"
# First Word tokenization
nltk_tokens = nltk.word_tokenize(word_data)
#Next find the roots of the word
for w in nltk_tokens:
print "Actual: %s Stem: %s" % (w,porter_stemmer.stem(w))
위 코드를 실행하면 다음과 같은 결과가 나옵니다.
Actual: It Stem: It
Actual: originated Stem: origin
Actual: from Stem: from
Actual: the Stem: the
Actual: idea Stem: idea
Actual: that Stem: that
Actual: there Stem: there
Actual: are Stem: are
Actual: readers Stem: reader
Actual: who Stem: who
Actual: prefer Stem: prefer
Actual: learning Stem: learn
Actual: new Stem: new
Actual: skills Stem: skill
Actual: from Stem: from
Actual: the Stem: the
Actual: comforts Stem: comfort
Actual: of Stem: of
Actual: their Stem: their
Actual: drawing Stem: draw
Actual: rooms Stem: room
Lemmatization은 유사한 ti stemming이지만 단어에 맥락을 가져다주기 때문에 비슷한 의미의 단어를 한 단어에 연결하여 한 단계 더 나아갑니다. 예를 들어, 문단에 cars, trains 및 cars와 같은 단어가 포함되어 있으면 모든 단어가 자동차에 연결됩니다. 아래 프로그램에서 우리는 lemmatization을 위해 WordNet 어휘 데이터베이스를 사용합니다.
import nltk
from nltk.stem import WordNetLemmatizer
wordnet_lemmatizer = WordNetLemmatizer()
word_data = "It originated from the idea that there are readers who prefer learning new skills from the comforts of their drawing rooms"
nltk_tokens = nltk.word_tokenize(word_data)
for w in nltk_tokens:
print "Actual: %s Lemma: %s" % (w,wordnet_lemmatizer.lemmatize(w))
위 코드를 실행하면 다음과 같은 결과가 나옵니다.
Actual: It Lemma: It
Actual: originated Lemma: originated
Actual: from Lemma: from
Actual: the Lemma: the
Actual: idea Lemma: idea
Actual: that Lemma: that
Actual: there Lemma: there
Actual: are Lemma: are
Actual: readers Lemma: reader
Actual: who Lemma: who
Actual: prefer Lemma: prefer
Actual: learning Lemma: learning
Actual: new Lemma: new
Actual: skills Lemma: skill
Actual: from Lemma: from
Actual: the Lemma: the
Actual: comforts Lemma: comfort
Actual: of Lemma: of
Actual: their Lemma: their
Actual: drawing Lemma: drawing
Actual: rooms Lemma: room