【ML@Loft #6】ゼロベースからの論文レコメンドシステムの構築

620c94b3affc3376c62540a64ce7ba36?s=47 vaaaaanquish
September 20, 2019

【ML@Loft #6】ゼロベースからの論文レコメンドシステムの構築

620c94b3affc3376c62540a64ce7ba36?s=128

vaaaaanquish

September 20, 2019
Tweet

Transcript

  1. 【ML@Loft #6】 ゼロベースからの 論文レコメンドシステムの構築 エムスリー株式会社 河合 俊典(@vaaaaanquish)

  2. Profile • 河合 俊典 @vaaaaanquish • エムスリー株式会社 ML engineer ◦ 高専、大学で基礎研究

    ◦ Usagee.inc アルバイト ◦ Sansan株式会社 ◦ Yahoo! JAPAN • 多分この会場で一番フォロワーが多い程度に Twitterが好き
  3. エムスリー株式会社 • 2000年創業 • 東証一部、時価総額1兆超、日経平均入り • IT業界から医療へコミット ◦ 医師と製薬企業、医療を必要 としている人を繋げる、効率化する

    • 絶賛エンジニア募集中 ◦ エンジニアG所属 80名前後 ◦ ギークな人
  4. エムスリーの既存サービス • 製薬企業プロモーションサービス( MR君) • 医療ニュース、メルマガサービス( m3.com) • 医療従事者転職サービス( M3キャリア)

    • 医療調査アンケート、データビジネス (調査事業) • 治験、臨床コスト削減、立ち上げ(治験君) • クラウド電子カルテ( M3デジカル) • 著名医師による論文紹介サービス( m3.com) • コミュニティ、Webカンファレンス(m3.com) …etc
  5. エムスリーにおける論文関連サービス • CIWorks ◦ 最新、重要な論文について解説、ディスカッションできる場所 ◦ オンコロジー領域、ガン領域に絞っている ◦ 多くの医師、編集部によって支えられている •

    データはあるがレコメンド等のモデル化、自動化が効果高 ◦ フィードやメルマガなどレコメンド要素多数 • 論文関連サービスの展望 ◦ 医師だけでなく製薬企業の MRさん、MSLさんの勉強 ◦ エムスリーのデータとしての価値
  6. 求められる論文レコメンドサービス • 基本的にはML業界と同じ ◦ 最新論文、分野や業界でメジャーな論文 ◦ 研究分野 ◦ 実験、被験、症例報告 ◦

    患者ベースでのサーベイ ◦ 学会やカンファレンスとの結びつき • 分野の重なりの大小が激しい ◦ 糖尿病等の合併症の範囲が広い病気 ◦ 希少疾患 ◦ ワードの揺れ    略語「MR」 • 医薬情報担当者 (Medical Representatives) • メチルレッド - Methyl Red (酸塩基指示薬) • 僧帽弁逆流症 (Mitral Regurgitation) • 精神発達遅滞(精神遅滞)(Mental Retardation) • 麻疹 (Measles) ・風疹 (Rubella)
  7. レコメンドエンジンの要件と評価を定義 • ユーザの興味関心、技術レベルにパーソナライズできる ◦ 分野の違いやジャーナルの大小にも着目 • 年間数万件、定期的に出る最新の論文に対応できる ◦ コールドスタート問題の軽減 ◦

    全体量がPubMedだけ見ても500万件超 ◦ フィード等ある程度ユーザ行動に合わせてオンラインに動く • 医師、医療従事者、編集者が納得する事が評価 ◦ 定性的、定量的な値に落とし込む ▪ CIWorksの閲覧データの利用 ▪ 引用数の遷移 ▪ Altmetricの遷移
  8. レコメンドエンジンの作成 WAND検索 Content-Based Citation Recommendation Rerank Model ・Journal Page Rank

    ・Author Page Rank ・Affiliation Page Rank ・Co-occurrence 興味ワード群 Top k paper
  9. レコメンドエンジンの作成 WAND検索 Content-Based Citation Recommendation Rerank Model ・Journal Page Rank

    ・Author Page Rank ・Affiliation Page Rank ・Co-occurrence 興味ワード群 Top k paper • PubMed等の主要論文サイトのデータと医師を紐付け • 同姓同名などを考慮し姓名一致から絞り込み • 医師名、病院名、大学名、診療科、年齢…等の プロファイル情報と周辺医師情報を利用して シンプルに決定木で2値分類としてモデル化 # 医師と論文の名寄せ
  10. レコメンドエンジンの作成 WAND検索 Content-Based Citation Recommendation Rerank Model ・Journal Page Rank

    ・Author Page Rank ・Affiliation Page Rank ・Co-occurrence 興味ワード群 Top k paper • エムスリーのコンテンツにTF-IDFを用いて医療用語タグ付け https://www.m3tech.blog/entry/2018/09/28/093431 • エムスリーコンテンツのPage Viewから医師に対するタグを   Label Propagationで生成 ◦ 配信によるバイアスや記事のバーストによる 影響を抑えたモデルと単語群 ◦ エムスリーにおけるグラフ構造を用いたユーザ興味のタグ付け https://speakerdeck.com/vaaaaanquish/emusuriniokerugurahug ou-zao-woyong-itayuzaxing-wei-falsetagufu-ke • 医師が過去に書いた論文に紐付く単語を追加 # 興味ワード生成
  11. レコメンドエンジンの作成 WAND検索 Content-Based Citation Recommendation Rerank Model ・Journal Page Rank

    ・Author Page Rank ・Affiliation Page Rank ・Co-occurrence 興味ワード群 Top k paper
  12. レコメンドエンジンの作成 WAND検索 Content-Based Citation Recommendation Rerank Model ・Journal Page Rank

    ・Author Page Rank ・Affiliation Page Rank ・Co-occurrence 興味ワード群 Top k paper • Elasticsearch 7.0 の WAND (Week AND) 検索 • 過去論文含め500万件超から条件を設定して 検索し1000~10万件に絞り込み • フィードや検索ランキング等で 動的にレコメンドが必要な場合にも レスポンス速度で対応可能 # Elasticsearch
  13. レコメンドエンジンの作成 WAND検索 Content-Based Citation Recommendation Rerank Model ・Journal Page Rank

    ・Author Page Rank ・Affiliation Page Rank ・Co-occurrence 興味ワード群 Top k paper
  14. レコメンドエンジンの作成 WAND検索 Content-Based Citation Recommendation Rerank Model ・Journal Page Rank

    ・Author Page Rank ・Affiliation Page Rank ・Co-occurrence 興味ワード群 Top k paper • Proceedings of NAACL-HLT 2018 https://www.aclweb.org/anthology/N18-1022 • >>> Phase1 triplet lossで文章のcitation情報に応じて埋め込み >>> Phase2 title, abstract, author, journal, keyword, text intersectionを追加してquery論文と 近い論文をランキングして top N • 外部データのメタデータなしで ある論文に情報が近い論文を出す仕組み # Content-Based Citation Recommendation
  15. レコメンドエンジンの作成 WAND検索 Content-Based Citation Recommendation Rerank Model ・Journal Page Rank

    ・Author Page Rank ・Affiliation Page Rank ・Co-occurrence 興味ワード群 Top k paper • コールドスタートを考慮して論文情報から取得できる ジャーナル名、所属名、著者名を citationからスコア化 • ユーザの興味ある単語に紐付く論文      + 過去に医師が書いた、クリックした論文に近い論文 を単純なPage Rankスコアとクリックによる Co-occurrence matrixでランキングを生成して Top k # Rerank
  16. 評価 • 初期評価 ◦ 編集部の目視を基準にアドバイスをもらいつつモデル化 ◦ Altmetricの利用 ▪ 論文のSNS、掲示板、ニュースで話題になった回数による近年の論文評価指標 ▪

    スコアの遷移を参考にする • 引用数の遷移を評価指標にし時系列で相関を持つか調査 ◦ 引用によってPageRankやDNNを作成しているため Leakが発生しやすい ▪ エムスリーのOSS「gokart」を用いたパイプライン化 ▪ parameterで条件を変更し評価 • 既存のPageViewデータを用いてCTR、MRR、MAPを算出 ◦ データ数、カテゴリ数に課題 ◦ 元のデータがメルマガ等のレコメンドエンジンに依存しているため 絶対ではない(⇠大事)
  17. おわりに • Done ◦ ゼロベースで評価等も曖昧な状態からレコメンドエンジンに落とし込んだ ◦ TF-IDF、Label Propagation、Week AND、DNN、PageRank、Co-occurrence matrix等を用いた

    ◦ Altmetricといった外部スコア、編集部との協力、小さなデータにより評価した • これから ◦ ユーザの利用データが溜まってきたら評価 ◦ エンジン全体のオンライン API化