電影標語的 n-gram 模型
在這個練習中,我們提供了超過 9,000 筆電影標語的 corpus。你的工作是為這些資料建立 n-gram 模型,分別到 n=1、n=2 與 n=3,並找出每個模型的特徵數量。
接著,我們會比較每個模型所產生的特徵數量。
本練習屬於課程
Python 中文本特徵工程
練習說明
- 產生一個 n=1 的 n-gram 模型,命名為
ng1。 - 產生一個 n=2 的 n-gram 模型,命名為
ng2。 - 產生一個 n=3 的 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]))