Python-텍스트 분류
많은 경우 사용 가능한 텍스트를 미리 정의 된 기준에 따라 다양한 범주로 분류해야합니다. nltk는 다양한 말뭉치의 일부로 이러한 기능을 제공합니다. 아래 예에서는 영화 리뷰 코퍼스를보고 사용 가능한 분류를 확인합니다.
# Lets See how the movies are classified
from nltk.corpus import movie_reviews
all_cats = []
for w in movie_reviews.categories():
all_cats.append(w.lower())
print(all_cats)
위의 프로그램을 실행하면 다음과 같은 결과가 나옵니다.
['neg', 'pos']
이제 긍정적 인 리뷰가있는 파일 중 하나의 내용을 살펴 보겠습니다. 이 파일의 문장은 토큰 화되고 샘플을보기 위해 처음 4 개의 문장을 인쇄합니다.
from nltk.corpus import movie_reviews
from nltk.tokenize import sent_tokenize
fields = movie_reviews.fileids()
sample = movie_reviews.raw("pos/cv944_13521.txt")
token = sent_tokenize(sample)
for lines in range(4):
print(token[lines])
위의 프로그램을 실행하면 다음과 같은 결과가 나옵니다.
meteor threat set to blow away all volcanoes & twisters !
summer is here again !
this season could probably be the most ambitious = season this decade with hollywood churning out films
like deep impact , = godzilla , the x-files , armageddon , the truman show ,
all of which has but = one main aim , to rock the box office .
leading the pack this summer is = deep impact , one of the first few film
releases from the = spielberg-katzenberg-geffen's dreamworks production company .
다음으로, 각 파일의 단어를 토큰 화하고 nltk의 FreqDist 함수를 사용하여 가장 일반적인 단어를 찾습니다.
import nltk
from nltk.corpus import movie_reviews
fields = movie_reviews.fileids()
all_words = []
for w in movie_reviews.words():
all_words.append(w.lower())
all_words = nltk.FreqDist(all_words)
print(all_words.most_common(10))
위의 프로그램을 실행하면 다음과 같은 결과가 나옵니다.
[(,', 77717), (the', 76529), (.', 65876), (a', 38106), (and', 35576),
(of', 34123), (to', 31937), (u"'", 30585), (is', 25195), (in', 21822)]