영화 태그라인을 위한 n-gram 모델
이 연습 문제에서는 9,000개가 넘는 영화 태그라인으로 구성된 corpus가 제공됩니다. 이 데이터를 대상으로 n이 1, 2, 3인 경우까지 n-gram 모델을 만들고, 각 모델의 특성 수를 확인해 보겠습니다.
그다음 각 모델에서 생성된 특성 수를 비교합니다.
이 연습은 강의의 일부입니다
Python으로 배우는 NLP 피처 엔지니어링
연습 안내
- n=1까지의 n-gram을 사용하는 n-gram 모델을 생성하세요. 이름은
ng1로 하세요. - n=2까지의 n-gram을 사용하는 n-gram 모델을 생성하세요. 이름은
ng2로 하세요. - n=3까지의 n-gram을 사용하는 n-gram 모델을 생성하세요. 이름은
ng3로 하세요. - 각 모델의 특성 개수를 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Generate n-grams upto n=1
vectorizer_ng1 = CountVectorizer(ngram_range=(1,1))
ng1 = vectorizer_ng1.____(corpus)
# Generate n-grams upto n=2
vectorizer_ng2 = CountVectorizer(ngram_range=(1,2))
ng2 = vectorizer_ng2.____(corpus)
# Generate n-grams upto n=3
vectorizer_ng3 = CountVectorizer(ngram_range=(____, ____))
ng3 = vectorizer_ng3.fit_transform(corpus)
# Print the number of features for each model
print("ng1, ng2 and ng3 have %i, %i and %i features respectively" % (ng1.____[1], ng2.____[1], ng3.____[1]))