Upgrade to Pro — share decks privately, control downloads, hide ads and more …

アンケートと組み合わせて 説明可能なログ分析を行う

Keisuke OGAKI
December 10, 2019

アンケートと組み合わせて 説明可能なログ分析を行う

Machine Learning Nightというイベントでの発表内容です ( https://machine-learning-pitch.connpass.com/event/156036/ )

技術的な詳細はブログ( https://www.m3tech.blog/entry/2019/12/10/000000 )にも書いたのでそちらもご覧ください

一部のユーザーに行ったアンケートの内容をログから推定する仕組みを作ることで、全ユーザーの嗜好を予測したり、それを多軸で行うことでユーザーを解釈しやすい粒度にクラスタリングしたいといった取り組みになります。

Keisuke OGAKI

December 10, 2019
Tweet

More Decks by Keisuke OGAKI

Other Decks in Technology

Transcript

  1. 今日の話の利用フロー(まだ夢) アンケート推定器
 レコメンドエンジン
 デザインの出し分け 
 アンケート結 果DB
 ログDB
 全ユーザー
 一部のユー

    ザー
 サービス
 提供者
 ユーザーにアンケートに協力していただいたアンケート結果を
 サービス改善にシームレスに繋げられる世界に
 従来のアンケート
 サービス改善

  2. MLエンジニアリング: 行動ログ分析 
 user1
 user2
 user3
 user4
 user5
 item1
 o


    o
 
 
 
 item2
 o
 o
 
 o
 
 item3
 
 
 o
 
 o
 item4
 
 
 
 o
 o
 item5
 
 
 o
 o
 p
 ユーザー・アイテム行列
 • どのユーザーがどのアイテムをクリックしたか
 • 機械学習エンジニアのログデータ活用の
 基本のキ
 ◦ レコメンド
 ◦ クラスタリング

  3. MLエンジニアリング: 行動ログ分析 
 user1
 user2
 user3
 user4
 user5
 item1
 o


    o
 
 
 
 item2
 o
 o
 
 o
 
 item3
 
 
 o
 
 o
 item4
 
 
 
 o
 o
 item5
 
 
 o
 o
 p
 
 user1
 user2
 user3
 user4
 user5
 item1
 o
 o
 
 
 
 item2
 o
 o
 
 o
 
 item3
 
 
 o
 ▲
 o
 item4
 
 
 ▲
 o
 o
 item5
 
 
 o
 o
 p
 クラスタリング
 レコメンド
 重なるユーザーが多いアイテムは同じクラスタ
 同じクラスタの、埋まってないセルをレコメンド

  4. MLエンジニアリング: 行動ログ分析 
 user1
 user2
 user3
 user4
 user5
 item1
 o


    o
 
 
 
 item2
 o
 o
 
 o
 
 item3
 
 
 o
 
 o
 item4
 
 
 
 o
 o
 item5
 
 
 o
 o
 p
 重なるユーザーの多いアイテム同士に エッジを張った、ネットワーク分析
 これは実データで作ったネットワークで、赤く示して るのは”乳がん”に関連する記事 

  5. 合わせられるのでは? 
 user1
 user2
 user3
 user4
 item1
 o
 o
 


    
 item2
 o
 o
 o
 
 item3
 
 
 
 o
 item4
 
 
 o
 o
 A
 Q: Xに対してあなたの意見はA/B どちらに近いですか 
 B
 ?
 ?
 推定
 webでの
 行動ログ
 アンケート

  6. 実験設定 
 user1
 user2
 ...
 item1
 o
 o
 
 item2


    o
 
 
 item3
 
 o
 
 ...
 
 
 
 運動療 法
 30
 70
 
 安全性
 400
 200
 
 ...
 
 
 
 
 user1
 user2
 ...
 Q1
 2
 6
 
 Q2
 3
 5
 
 ...
 
 
 
 予測モデル
 視聴ログ
 バイナリ 4004次 元 
 視聴タグ
 整数 473次元 
 アンケート回答

  7. 利用フロー(まだ夢) アンケート推定器
 レコメンドエンジン
 デザインの出し分け 
 アンケート結 果DB
 ログDB
 全ユーザー
 一部のユー

    ザー
 サービス
 提供者
 ユーザーにアンケートに協力していただいたアンケート結果を
 サービス改善にシームレスに繋げられる世界に
 従来のアンケート
 サービス改善

  8. ユーザー・アイテム行列 • ユーザーxアイテム行列を使うときはview or notのバイナリに落とした方がよかった ◦ 2回読むとかは一応情報にはなるはずだが、今回はすぐに過学習につながった ◦ ユーザーの全記事数で割った割合にする方法もあるがバイナリが一番性能よかった •

    3%のユーザーが見るが、10%は見ない、くらいの記事を対象とするのがよかった ◦ エムスリーの記事は訪問率がかなり高く、足切りを高い水準にした方が良い • 行列分解した後の値より生の値を使った方がよかった ◦ これはまぁ行列分解に使ったkにも依存しているとは思う ◦ 上記の足切りで十分だったとも言える 特徴語の選択 • 出現頻度の多い語を上から順番に使う、よりは、ユーザーの嗜好を表す語をちゃんと見つけた い • とはいえ、これは分析ツールを作ってるわけではないので、特徴量はそのアンケートに特化し ない、ある程度汎用的なものでいきたい • “先述のアイテム間グラフのエッジを予測するのに有効な語”を探すという問題に落とせる ◦ 次ページの図参照 TIPS: 特徴量エンジニアリング
  9. TIPS: 特徴語の選択 
 item1
 item2
 item3
 ...
 user1
 o
 o


    
 
 user2
 o
 o
 
 
 user3
 
 
 o
 
 ...
 
 
 
 
 item1
 item2
 item3
 item4
 item5
 0.9
 0.8
 0.2
 0.4
 0.2
 0.1
 0.2
 0.7
 0.8
 0.7
 
 item 1
 item2
 ...
 “処方”
 300
 450
 
 “臨床”
 10
 300
 
 “安全 性”
 1000
 20
 
 1.行列分解で
 アイテム特徴を作る 
 単 語 列 特 徴 化 
 モデ ル 
 2.単語列からの
 アイテム特徴化
 モデルを作る
 3.予測に寄与した単語を 特徴語として選択