始める無料で始める

感情分析

ビデオ演習では、sequence to sequence モデルのさまざまな応用例を見ました。この演習では、事前学習済みモデルを使って感情分析を行います。

環境には、変数 model にモデルがあらかじめ読み込まれています。さらに、トークン化済みのテストセット X_testy_test、そして IMDb 由来の前処理済みの元テキストデータ sentences も利用可能です。テキストデータの前処理方法や、Keras を使ったモデルの作成と学習は、この後のレッスンで学びます。

ここでは事前学習済みモデルを使って感情の予測を取得します。モデルは 0 から 1 の数値を返し、その文がポジティブである確率を表します。そこで、しきい値に基づく判定ルールを作成し、予測をポジティブまたはネガティブに設定します。

この演習はコースの一部です

Kerasで学ぶ言語モデリングのためのRecurrent Neural Networks (RNNs)

コースを見る

演習の手順

  • .predict() メソッドを使ってテストデータに対する予測を行いましょう。
  • 予測値が 0.5 より大きければ "positive"、それ以外は "negative" として、結果を変数 pred_sentiment に保存します。
  • 前処理済みテキスト、前のステップで得た予測、そして y_test に含まれる正解ラベルを列に持つ pd.DataFrame を作成します。
  • .head() メソッドで先頭の行を表示してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Inspect the first sentence on `X_test`
print(X_test[0])

# Get the predicion for all the sentences
pred = model.predict(____)

# Transform the predition into positive (> 0.5) or negative (<= 0.5)
pred_sentiment = ["positive" if x>____ else "negative" for x in pred]

# Create a data frame with sentences, predictions and true values
result = pd.DataFrame({'sentence': sentences, 'y_pred': ____, 'y_true': y_test})

# Print the first lines of the data frame
print(result.____)
コードを編集して実行