$30 off During Our Annual Pro Sale. View Details »

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

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. アンケートと組み合わせて

    説明可能なログ分析を行う

    2019年12月10日

    エムスリー株式会社 エンジニアリンググループ

    大垣慶介


    View Slide

  2. はじめに
    今日の話
    MLOpsというより、従来のデータ活用とそれを拡張するためのMLシステム、データ分析と機械学習
    エンジニアリングの橋渡しの話をします。
    資料はすでに公開中!see #mlpp
    技術的な追加のお話に興味がある方は本日のエムスリーテックブログもご覧ください
    https://www.m3tech.blog/entry/2019/12/10/000000
    大垣慶介
    大学院・企業で10年ほどコンピュータビジョンの研究開発をしてきました。
    今年10月からエムスリーでログ解析・医用画像の機械学習エンジン開発をしてます。

    View Slide

  3. 人手でのアンケート利用
    施策の検討・開発

    一部のユー
    ザー

    サービス

    提供者

    従来のアンケート

    サービス改善

    分析


    View Slide

  4. 今日の話の利用フロー(まだ夢)
    アンケート推定器

    レコメンドエンジン

    デザインの出し分け 

    アンケート結
    果DB

    ログDB

    全ユーザー

    一部のユー
    ザー

    サービス

    提供者

    ユーザーにアンケートに協力していただいたアンケート結果を

    サービス改善にシームレスに繋げられる世界に

    従来のアンケート

    サービス改善


    View Slide

  5. ● 企業でのデータ分析・市場調査というと必ずでてきますよね
    ● エムスリーでは、もちろん自社サービスの向上や、さらに、医師の会員
    の多さを活かして、クライアント企業のサービス向上のためにも自社基
    盤でのアンケートを行なっています。
    データ分析: ユーザーアンケート・クロス集計
    Q: Xに対してあなたの意見はA/B
    どちらに近いですか 

    アンケート

    集計

    
 薬剤Xの投与経験

    あり
 なし

    質問1
 A
 40
 134

    B
 292
 373


    View Slide

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

    item1
 o
 o
 
 
 

    item2
 o
 o
 
 o
 

    item3
 
 
 o
 
 o

    item4
 
 
 
 o
 o

    item5
 
 
 o
 o
 p

    ユーザー・アイテム行列

    ● どのユーザーがどのアイテムをクリックしたか

    ● 機械学習エンジニアのログデータ活用の

    基本のキ

    ○ レコメンド

    ○ クラスタリング


    View Slide

  7. 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

    クラスタリング

    レコメンド

    重なるユーザーが多いアイテムは同じクラスタ

    同じクラスタの、埋まってないセルをレコメンド


    View Slide

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

    item1
 o
 o
 
 
 

    item2
 o
 o
 
 o
 

    item3
 
 
 o
 
 o

    item4
 
 
 
 o
 o

    item5
 
 
 o
 o
 p

    重なるユーザーの多いアイテム同士に
    エッジを張った、ネットワーク分析

    これは実データで作ったネットワークで、赤く示して
    るのは”乳がん”に関連する記事 


    View Slide

  9. 合わせられるのでは?
    
 user1
 user2
 user3
 user4

    item1
 o
 o
 
 

    item2
 o
 o
 o
 

    item3
 
 
 
 o

    item4
 
 
 o
 o

    A

    Q: Xに対してあなたの意見はA/B
    どちらに近いですか 

    B

    ?
 ?

    推定

    webでの

    行動ログ

    アンケート


    View Slide

  10. 実験設定
    
 user1
 user2
 ...

    item1
 o
 o
 

    item2
 o
 
 

    item3
 
 o
 

    ...
 
 
 

    運動療
    法

    30
 70
 

    安全性
 400
 200
 

    ...
 
 
 

    
 user1
 user2
 ...

    Q1
 2
 6
 

    Q2
 3
 5
 

    ...
 
 
 

    予測モデル

    視聴ログ

    バイナリ 4004次
    元 

    視聴タグ

    整数 473次元 

    アンケート回答


    View Slide

  11. ● サイト内での行動から、アンケートの回答というふわっとした情報をある程度予測できた!
    ● 逆に、そのアンケートは(記事の)”嗜好”を捉えていることも確認できる
    ROC曲線


    View Slide

  12. 利用フロー(まだ夢)
    アンケート推定器

    レコメンドエンジン

    デザインの出し分け 

    アンケート結
    果DB

    ログDB

    全ユーザー

    一部のユー
    ザー

    サービス

    提供者

    ユーザーにアンケートに協力していただいたアンケート結果を

    サービス改善にシームレスに繋げられる世界に

    従来のアンケート

    サービス改善


    View Slide

  13. ユーザー・アイテム行列
    ● ユーザーxアイテム行列を使うときはview or notのバイナリに落とした方がよかった
    ○ 2回読むとかは一応情報にはなるはずだが、今回はすぐに過学習につながった
    ○ ユーザーの全記事数で割った割合にする方法もあるがバイナリが一番性能よかった
    ● 3%のユーザーが見るが、10%は見ない、くらいの記事を対象とするのがよかった
    ○ エムスリーの記事は訪問率がかなり高く、足切りを高い水準にした方が良い
    ● 行列分解した後の値より生の値を使った方がよかった
    ○ これはまぁ行列分解に使ったkにも依存しているとは思う
    ○ 上記の足切りで十分だったとも言える
    特徴語の選択
    ● 出現頻度の多い語を上から順番に使う、よりは、ユーザーの嗜好を表す語をちゃんと見つけた

    ● とはいえ、これは分析ツールを作ってるわけではないので、特徴量はそのアンケートに特化し
    ない、ある程度汎用的なものでいきたい
    ● “先述のアイテム間グラフのエッジを予測するのに有効な語”を探すという問題に落とせる
    ○ 次ページの図参照
    TIPS: 特徴量エンジニアリング

    View Slide

  14. 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.予測に寄与した単語を
    特徴語として選択


    View Slide