映画のタグラインに対するn-gramモデル
この演習では、9,000件以上の映画のタグラインからなる corpus が用意されています。これに対して、n=1、n=2、n=3 までの n-gram モデルを作成し、それぞれのモデルの特徴量数を確認します。
その後、各モデルで生成された特徴量数を比較します。
この演習はコースの一部です
Pythonで学ぶNLPの特徴量エンジニアリング
演習の手順
- 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]))