2. 단어의 대·소문자를 통일한다(전부 다 대문자 혹은 소문자로).
3. 불용어를 제거한다 : stopwords 코퍼스와 부가적으로 작업에 필요한 불용어 리스트를 참조한다. stopwords에 있는 단어는 모두 소문자로 되어 있다는 것을 기억하자. “THE”(불용어가 확실하다)는 코퍼스에서 찾을 수 없을 것이다.
4. 형태소 분석(stemming)(단어를 형태소로 변환한다) : NLTK는 2개의 기본 형태소 분석기를 제공한다. 포터(Porter) 형태소 분석기는 보수적이고, 랭커스터(Lancaster) 형태소 분석기는 더 적극적(aggressive)이다. 형태소 분석 규칙의 적극성 때문에 랭커스터 형태소 분석기는 더 많은 동음이의어 형태소(homonymous stem)를 생산한다. 두 분석기 모두 단어의 형태소를 반환하는 stem(word) 함수가 있다.
pstemmer = nltk.PorterStemmer()
pstemmer.stem("wonderful")
>>>
'wonder'
lstemmer = nltk.LancasterStemmer()
lstemmer.stem("wonderful")
>>>
'wond'
전체 문장이 아니라 단어 하나에서 형태소 분석기를 사용해야 한다. 그래야 제대로 작동한다!