センチメント分析モデルの更新

このトピックでは、2つのセンチメント分析モデルを新規のトレーニング・データで設定し更新する方法について説明します。

センチメント分析モジュールのトレーニング・データ・セットは、次の名前の2つの入力ファイルで構成されます。
  • <lang>_pos.txtにはポジティブ・センチメントのテキストが含まれます。
  • <lang>_neg.txtにはネガティブ・センチメントのテキストが含まれます。

<lang>はサポートされている国コードです(en (イギリス/アメリカ英語)、fr (フランス語)、de (ドイツ語)、it (イタリア語)またはes (スペイン語))。

テキスト・ファイルには1行につき1文を配置します。モデルを使用する際に参照するデータのタイプの例に対して、センチメント・モデルをトレーニングする必要があります。たとえば、ツイートのセンチメントを決定しようとする場合、ツイート・レビュー・エントリの例を取得する必要があります。独自のデータを指定するか、または購入することができます。適切なモデルの場合、数千ではないとしても、少なくとも数百の例が必要になります。

トレーニング・ファイルの各言語固有のセットは、名前がファイル言語に対応するディレクトリに存在している必要があります。ディレクトリの名前は次のとおりです。
  • american
  • french
  • german
  • italian
  • spanish
ディレクトリ全体の推奨されるネーミング構造は次のとおりです。
/<root>/models/sentiment/<language>
この場合の<language>は、1つ以上の前述の名前です。
その言語のモデルを構築する場合のみ、<language>ディレクトリを作成します。たとえば、次の2つの言語ディレクトリを設定できます。
/share/models/sentiment/american
/share/models/sentiment/french

americanディレクトリにはen_pos.txtおよびen_neg.txtファイルが含まれ、一方、frenchディレクトリには、fr_pos.txtおよびfr_neg.txtファイルが含まれます。

センチメント分析モデルを更新するには、次の手順を実行します。

  1. 各言語バージョンのサブディレクトリを含む、センチメント分析トレーニング・ファイルのディレクトリ構造(前述)を作成します。
    この例では、次のディレクトリがトレーニング・ファイルのアメリカ英語バージョンに使用されます。
    /share/models/sentiment/american
  2. en_pos.txtスクリプトおよびen_neg.txtファイルを/americanディレクトリにコピーします。
  3. update-modelコマンド、sentimentモデルタイプ引数および/sentimentディレクトリへの絶対パスを使用して、bdd-adminスクリプトを実行します。
    ./bdd-admin.sh update-model sentiment /share/models/sentiment
成功した場合、コマンドにより次のメッセージが出力されます。
[2015/08/14 15:35:02 -0400] [web2014.example.com] Generating the sentiment model file using new model file...Success!
[2015/08/14 15:35:55 -0400] [Admin Server] Publishing the sentiment model file...
[2015/08/14 15:36:07 -0400] [Admin Server] Successfully published the model file.

この操作は、YARNワーカー・ノード上のセンチメント分析モデルの現在のJARを新規のもので置換します。

パス引数なしでコマンドを実行することで、モデルを元に戻すことができます。
./bdd-admin.sh update-model sentiment

これにより、センチメント分析モデルが、当初の出荷バージョンに戻されます。