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

エムスリーにおけるグラフ構造を用いたユーザ興味のタグ付け

 エムスリーにおけるグラフ構造を用いたユーザ興味のタグ付け

以下イベントでの登壇資料
2019/03/07 Machine Learning Production Pitch #1
https://line.connpass.com/event/120518/

vaaaaanquish

March 07, 2019
Tweet

More Decks by vaaaaanquish

Other Decks in Technology

Transcript

  1. Copyright © 2015 M3, Inc. All Rights Reserved 自己紹介 河合

    俊典 (@vaaaaanquish) エムスリー株式会社 (1ヶ月と7日目) 機械学習エンジニア フォロワー 1万7千人
  2. Copyright © 2015 M3, Inc. All Rights Reserved Agenda •

    エムスリーの課題「医師の興味ワード推定」 • 課題解決のためのサーベイ • モデリングと実験 • これから
  3. Copyright © 2015 M3, Inc. All Rights Reserved プロジェクトの目的 •

    医師の興味(疾患や薬剤など)の可視化 ◦ 適切な医師の紹介 ◦ 広告やコンテンツの出し分け ◦ 時系列分析によるユーザへの販促    ...etc
  4. Copyright © 2015 M3, Inc. All Rights Reserved イメージ 参考:

    Google トレンド(上), Google Ads(右)
  5. Copyright © 2015 M3, Inc. All Rights Reserved プロジェクトの制約 •

    タグの定義 ◦ コンテンツに紐付く疾患、薬剤名のみ ◦ 医師に対するランキングスコア ◦ 今後大学名などに拡大予定 ▪ 自動で評価できる汎用的なモデル化が必要 • 利用可能なデータ ◦ 医療ニュースやジャーナルなどのコンテンツビュー ▪ 各コンテンツにはバイアスが強くかかっている • レコメンドなどのバイアス • 閲覧等のアクション起因のサービス内ポイントが存在 • 単純なコンテンツビュー数から取ると偏りが出る bias
  6. Copyright © 2015 M3, Inc. All Rights Reserved Tag recommendation

    サーベイ ◦ Folksonomy-Based (ユーザの行動などの情報を使う) ▪ Graph • Bi-Partite, Tri-Partite Graph ◦ PageRank, Folk Rank ◦ TriRank • Graph-based SSL (NN) ▪ Co-Occourrence • User-Tag-Itemの共起 ▪ Collaborative Filltering • Adapted k-NN, SVD • Authority-Basedl ▪ Matrix Factorization ◦ Content-Based (コンテンツの内容ベースでタグを推薦する) ▪ topic model • LDA+TFIDF ▪ vector model • w2v, ft, ... • コンテンツに対するタグが既にあるため採用 • 正確な教師データが無い事に留意     → 医師の興味のラベルは現状ない     → 評価関数の設計が必要 • 疎行列ベース     → メモリに乗るデータ量にクレンジング
  7. Copyright © 2015 M3, Inc. All Rights Reserved graph model

    ❏ TriRank: Review-aware Explainable Recommendation by Modeling Aspects [CIKM 2015] : paper , slide ❏ Ranking and Community detection in undirected networks : slide ❏ Extraction and Analysis of Tripartite Relationships from Wikipedia [IEEE 2008] : paper ❏ Personalized PageRank vectors for tag recommendations: inside FolkRank" [RecSys 2011] : paper ❏ Tag Recommendation and Ranking [Springer 2017] : link • TriRank を参考に拡張したモデル ◦ User-Tag-Itemをpageviewで接続した3部graph ◦ label propagationを利用したtagの伝播 ◦ tagの出現頻度、userのacceptはfilterとして利用 ◦ user同士の関係は考慮しない (biasの除去) ◦ タグ付け -> 直接userノードに伝播したタグを評価 -> pageviewより似たユーザを検索しタグ付け (協調フィルタリング)
  8. Copyright © 2015 M3, Inc. All Rights Reserved label propagation

    • ラベルを伝搬させる半教師あり学習 ◦ 接続情報を使う手法や クラス、ノード間の距離を使う手法がある ◦ Tag情報を教師として伝搬させる ◦ NNへの拡張も • ネットワークのクラスタ情報を考慮しつつ タグを確率的に伝播させる • オンライン学習へも拡張可能 ❏ Semi-Supervised Learning Using Gaussian Fields and Harmonic Functions, [Xiaojin Zhu, ICML2003] : paper ❏ Predicting the popularity of web 2.0 items based on user comments [Xiangnan He, SIGIR 2014] : paper ❏ http://yamaguchiyuto.hatenablog.com/entry/2016/09/22/014202 ? 骨折 顔面痙攣 脳出血 脳梗塞 骨折 骨肉腫 関節症 骨折 老眼 白内障
  9. Copyright © 2015 M3, Inc. All Rights Reserved データクレンジング •

    医者データのノイズクレンジング ◦ non active なユーザ ◦ プロフィール情報のないユーザ ◦ ポイント獲得数が異常なユーザ • ポイント目当ての行動の推定 ◦ time diff (前回からのpageview間隔) • タグの分布の利用 ◦ TF-IDFのように珍しさを考慮
  10. Copyright © 2015 M3, Inc. All Rights Reserved 手法の比較 •

    pageview base ◦ 単純にPageview単位で紐づく単語をカウントしたモデル • Folk Rank (PageRank base) ◦ ユーザに重みをつけてPage Rankを計算する手法 ◦ あるユーザから見たgraph内の中心性を算出しランキングとする • TriRank拡張モデル ◦ 今回良かった手法 ◦ 3部graphのタグノードにラベルを付与しlabel propagation
  11. Copyright © 2015 M3, Inc. All Rights Reserved 結果のサンプル (ある消化器内科の医師Aの興味疾患top10)

    参考用ラベル数順top20 ------------------------- --------- 糖尿病 1043 2型糖尿病 586 咳喘息 360 疼痛 288 肺癌 281 心房細動 266 ジャディアンス 243 非小細胞肺癌 235 トラゼンタ 229 関節リウマチ 227 不眠症 197 トルリシティ 178 高血圧症 174 花粉症 157 慢性閉塞性肺疾患 155 サイラムザ 154 アレルギー性鼻炎 143 PageRank base 糖尿病 慢性閉塞性肺疾患 疼痛 便秘症 認知症 心房細動 骨粗鬆症 心房粗動 不眠症 アレルギー性鼻炎 TriRank 肝線維腫 炎症性腸疾患 橈骨遠位端骨折 肝性脳症 肝炎 高トリグリセライド血症 慢性膵炎 コレラ 便秘型過敏性腸症候群 肥満症 pageview base 糖尿病 (52) 2型糖尿病 (32) 慢性閉塞性肺疾患 (14) 疼痛 (12) 心不全 (10) 不眠症 (10) 心房細動 (10) 認知症 (10) 便秘症 (9) 心房粗動 (10) pageview数に強く依存しない専門的、興味ベースなタグ
  12. Copyright © 2015 M3, Inc. All Rights Reserved 結果のサンプル (ある形成外科の医師Bの興味疾患top10)

    TriRank 変性側弯症 骨粗鬆症 心疾患 骨折 脆弱性骨折 非びらん性胃食道逆流症 急性冠症候群 上腕骨近位端骨折 消化管出血 若年性特発性関節炎 pageview base 骨粗鬆症 (8) 骨折 (5) 疼痛 (3) 大動脈弁閉鎖不全症 (3) 上腕骨近位端骨折 (3) 心不全 (2) 心房細動 (2) 心房粗動 (2) 心疾患 (2) 変性側弯症 (2) 一般的なユーザに対してより専門に近く興味ありそうなワードを出せる
  13. Copyright © 2015 M3, Inc. All Rights Reserved 結果のサンプル (ある眼科の医師Cの興味疾患top10)

    pageview base アレルギー性結膜炎 (1) ドライアイ (1) ぶどう膜炎 (1) TriRank (近辺ユーザからの予測) 開放隅角緑内障 正常眼圧緑内障 季節性アレルギー性結膜炎 高眼圧症 加齢黄斑変性 糖尿病黄斑浮腫 ドライアイ 緑内障 アレルギー性結膜炎 感音難聴 pageviewが少ないユーザに対しても近いユーザからサジェストできる
  14. Copyright © 2015 M3, Inc. All Rights Reserved 今後の課題は山積み •

    先述の例のように概ねのユーザに対しては上手くいっているように見える • 評価 ◦ 一旦「診療科目」「疾患」の紐付きを目視で見て私の肌感で判断している ◦ 絶対的な教師データがない ▪ ロールアウトする事で評価されていく ▪ 検索やエンティティリンキングの整備を勧めている ▪ 医師へのアンケートや購買情報もマージしていく • モデリング ◦ 本当にクレンジング方法は正しいか ◦ 例外的に何でも見るようなユーザ、何も見ないユーザをどう捉えるか ◦ データの分布の変化に強い?拡張できる? • ロールアウト ◦ 実際にサービス系の人に見てもらいながら詰める ◦ どういう提供の仕方が嬉しいか (インフラ、データ形式) • 説明可能性 ◦ なぜそのタグが気になっているのか ◦ 手法レベルではなく、事例ベースで出せると営業として使いやすい • 他プロダクト、OSS、論文へのアウトプット