Slide 1

Slide 1 text

アンケートと組み合わせて
 説明可能なログ分析を行う
 2019年12月10日
 エムスリー株式会社 エンジニアリンググループ
 大垣慶介


Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

人手でのアンケート利用 施策の検討・開発
 一部のユー ザー
 サービス
 提供者
 従来のアンケート
 サービス改善
 分析


Slide 4

Slide 4 text

今日の話の利用フロー(まだ夢) アンケート推定器
 レコメンドエンジン
 デザインの出し分け 
 アンケート結 果DB
 ログDB
 全ユーザー
 一部のユー ザー
 サービス
 提供者
 ユーザーにアンケートに協力していただいたアンケート結果を
 サービス改善にシームレスに繋げられる世界に
 従来のアンケート
 サービス改善


Slide 5

Slide 5 text

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


Slide 6

Slide 6 text

MLエンジニアリング: 行動ログ分析 
 user1
 user2
 user3
 user4
 user5
 item1
 o
 o
 
 
 
 item2
 o
 o
 
 o
 
 item3
 
 
 o
 
 o
 item4
 
 
 
 o
 o
 item5
 
 
 o
 o
 p
 ユーザー・アイテム行列
 ● どのユーザーがどのアイテムをクリックしたか
 ● 機械学習エンジニアのログデータ活用の
 基本のキ
 ○ レコメンド
 ○ クラスタリング


Slide 7

Slide 7 text

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
 クラスタリング
 レコメンド
 重なるユーザーが多いアイテムは同じクラスタ
 同じクラスタの、埋まってないセルをレコメンド


Slide 8

Slide 8 text

MLエンジニアリング: 行動ログ分析 
 user1
 user2
 user3
 user4
 user5
 item1
 o
 o
 
 
 
 item2
 o
 o
 
 o
 
 item3
 
 
 o
 
 o
 item4
 
 
 
 o
 o
 item5
 
 
 o
 o
 p
 重なるユーザーの多いアイテム同士に エッジを張った、ネットワーク分析
 これは実データで作ったネットワークで、赤く示して るのは”乳がん”に関連する記事 


Slide 9

Slide 9 text

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


Slide 10

Slide 10 text

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


Slide 11

Slide 11 text

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


Slide 12

Slide 12 text

利用フロー(まだ夢) アンケート推定器
 レコメンドエンジン
 デザインの出し分け 
 アンケート結 果DB
 ログDB
 全ユーザー
 一部のユー ザー
 サービス
 提供者
 ユーザーにアンケートに協力していただいたアンケート結果を
 サービス改善にシームレスに繋げられる世界に
 従来のアンケート
 サービス改善


Slide 13

Slide 13 text

ユーザー・アイテム行列 ● ユーザーxアイテム行列を使うときはview or notのバイナリに落とした方がよかった ○ 2回読むとかは一応情報にはなるはずだが、今回はすぐに過学習につながった ○ ユーザーの全記事数で割った割合にする方法もあるがバイナリが一番性能よかった ● 3%のユーザーが見るが、10%は見ない、くらいの記事を対象とするのがよかった ○ エムスリーの記事は訪問率がかなり高く、足切りを高い水準にした方が良い ● 行列分解した後の値より生の値を使った方がよかった ○ これはまぁ行列分解に使ったkにも依存しているとは思う ○ 上記の足切りで十分だったとも言える 特徴語の選択 ● 出現頻度の多い語を上から順番に使う、よりは、ユーザーの嗜好を表す語をちゃんと見つけた い ● とはいえ、これは分析ツールを作ってるわけではないので、特徴量はそのアンケートに特化し ない、ある程度汎用的なものでいきたい ● “先述のアイテム間グラフのエッジを予測するのに有効な語”を探すという問題に落とせる ○ 次ページの図参照 TIPS: 特徴量エンジニアリング

Slide 14

Slide 14 text

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