Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

Profile ● 河合 俊典 @vaaaaanquish ● エムスリー株式会社 ML engineer ○ 高専、大学で基礎研究 ○ Usagee.inc アルバイト ○ Sansan株式会社 ○ Yahoo! JAPAN ● 多分この会場で一番フォロワーが多い程度に Twitterが好き

Slide 3

Slide 3 text

エムスリー株式会社 ● 2000年創業 ● 東証一部、時価総額1兆超、日経平均入り ● IT業界から医療へコミット ○ 医師と製薬企業、医療を必要 としている人を繋げる、効率化する ● 絶賛エンジニア募集中 ○ エンジニアG所属 80名前後 ○ ギークな人

Slide 4

Slide 4 text

エムスリーの既存サービス ● 製薬企業プロモーションサービス( MR君) ● 医療ニュース、メルマガサービス( m3.com) ● 医療従事者転職サービス( M3キャリア) ● 医療調査アンケート、データビジネス (調査事業) ● 治験、臨床コスト削減、立ち上げ(治験君) ● クラウド電子カルテ( M3デジカル) ● 著名医師による論文紹介サービス( m3.com) ● コミュニティ、Webカンファレンス(m3.com) …etc

Slide 5

Slide 5 text

エムスリーにおける論文関連サービス ● CIWorks ○ 最新、重要な論文について解説、ディスカッションできる場所 ○ オンコロジー領域、ガン領域に絞っている ○ 多くの医師、編集部によって支えられている ● データはあるがレコメンド等のモデル化、自動化が効果高 ○ フィードやメルマガなどレコメンド要素多数 ● 論文関連サービスの展望 ○ 医師だけでなく製薬企業の MRさん、MSLさんの勉強 ○ エムスリーのデータとしての価値

Slide 6

Slide 6 text

求められる論文レコメンドサービス ● 基本的にはML業界と同じ ○ 最新論文、分野や業界でメジャーな論文 ○ 研究分野 ○ 実験、被験、症例報告 ○ 患者ベースでのサーベイ ○ 学会やカンファレンスとの結びつき ● 分野の重なりの大小が激しい ○ 糖尿病等の合併症の範囲が広い病気 ○ 希少疾患 ○ ワードの揺れ    略語「MR」 ● 医薬情報担当者 (Medical Representatives) ● メチルレッド - Methyl Red (酸塩基指示薬) ● 僧帽弁逆流症 (Mitral Regurgitation) ● 精神発達遅滞(精神遅滞)(Mental Retardation) ● 麻疹 (Measles) ・風疹 (Rubella)

Slide 7

Slide 7 text

レコメンドエンジンの要件と評価を定義 ● ユーザの興味関心、技術レベルにパーソナライズできる ○ 分野の違いやジャーナルの大小にも着目 ● 年間数万件、定期的に出る最新の論文に対応できる ○ コールドスタート問題の軽減 ○ 全体量がPubMedだけ見ても500万件超 ○ フィード等ある程度ユーザ行動に合わせてオンラインに動く ● 医師、医療従事者、編集者が納得する事が評価 ○ 定性的、定量的な値に落とし込む ■ CIWorksの閲覧データの利用 ■ 引用数の遷移 ■ Altmetricの遷移

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

レコメンドエンジンの作成 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 ● 医師が過去に書いた論文に紐付く単語を追加 # 興味ワード生成

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

レコメンドエンジンの作成 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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

レコメンドエンジンの作成 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

Slide 15

Slide 15 text

レコメンドエンジンの作成 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

Slide 16

Slide 16 text

評価 ● 初期評価 ○ 編集部の目視を基準にアドバイスをもらいつつモデル化 ○ Altmetricの利用 ■ 論文のSNS、掲示板、ニュースで話題になった回数による近年の論文評価指標 ■ スコアの遷移を参考にする ● 引用数の遷移を評価指標にし時系列で相関を持つか調査 ○ 引用によってPageRankやDNNを作成しているため Leakが発生しやすい ■ エムスリーのOSS「gokart」を用いたパイプライン化 ■ parameterで条件を変更し評価 ● 既存のPageViewデータを用いてCTR、MRR、MAPを算出 ○ データ数、カテゴリ数に課題 ○ 元のデータがメルマガ等のレコメンドエンジンに依存しているため 絶対ではない(⇠大事)

Slide 17

Slide 17 text

おわりに ● Done ○ ゼロベースで評価等も曖昧な状態からレコメンドエンジンに落とし込んだ ○ TF-IDF、Label Propagation、Week AND、DNN、PageRank、Co-occurrence matrix等を用いた ○ Altmetricといった外部スコア、編集部との協力、小さなデータにより評価した ● これから ○ ユーザの利用データが溜まってきたら評価 ○ エンジン全体のオンライン API化