開始使用免費開始

電影標語的 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]))
編輯並執行程式碼