Jubatusでラーメンレビューの点数推測 - キー追加

レビュー本文だけでなく、別の要素を学習キーとして追加すれば、推測の精度が上がるのでは?と思い、以下のパターンで再検証してみた。

  • ユーザID + レビュー本文
  • スープ種別 * レビュー本文

ユーザIDを追加することで、同一人物のスコア付与の癖から特徴を抽出できないか、またスープ種別を追加することで、スープによる採点の特徴を抽出できないか試すことにした。
(例えば、豚骨醤油スープのラーメンにおいては、「こってり」や「濃厚」はポジティブに思われやすいし、逆に淡麗系の塩などでは、「あっさり」がポジティブに思われる、などの特徴があるのではと推測した)

Jubatus起動時に設定するファイルは前回のまま。
(本当はユーザIDとスープ種別のtypeを変えるほうがよりいいんだろうけど、面倒なので一旦これで)

同じデータを元に、

  • ユーザID + レビュー本文
  • スープ種別 * レビュー本文

を学習させる jubash スクリプトファイルをawkで生成。
同様に、推測対象の classify を使ったスクリプトファイルに、ユーザIDあるいはスープ種別のキーを追加して実行してみた。

レビュー対象 実際の点数 レビュー本文のみ レビュー本文+ユーザID レビュー本文+スープ分類
ジャージャー麺 70 70, 60, 55 65, 70, 80 70, 80, 65
ラーメン 70 70, 60, 0 70, 55, 45 70, 55, 80
皆楽みそラーメン 80 70, 65, 60 70, 65, 75 70, 65, 80
五目そば 65 75. 70, 65 70, 65, 60 65, 70, 60
まぜそば 75 80, 60, 70 75, 80, 60 75, 80, 85

結果を見てみると、スープ種別の追加によって、以前より精度が改善されたような気がしないでもない。
まあ、自分の採点5件だけなので、これだけで判断するのもどうかとは思うが、こういう形でチューニングしていくのかなー。

あとは、レビュー本文からのノイズ(ラーメンの味の評価に関係しないテキスト)をどうやって、自動的に除去すればいいのかなー。ラーメンデータベースユーザの中には、レビュー本文を日記帳と勘違いしているユーザもいるしなあw【毒】

さて、次のテーマは何にしようかな。
ユーザのクラスタリングってどう?みたいなコメントがあったので、ユーザの採点傾向から、似たようなユーザのクラスタリングというのは、如何にも機械学習らしいし、面白そうでもある。