感情分析
ビデオ演習では、sequence to sequence モデルのさまざまな応用例を見ました。この演習では、事前学習済みモデルを使って感情分析を行います。
環境には、変数 model にモデルがあらかじめ読み込まれています。さらに、トークン化済みのテストセット X_test と y_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.____)