Slide 1

Slide 1 text

医療用語に注目した文書の類似度計算 エムスリー 西場正浩 (@m_nishiba) Data Driven Developer Meetup #4

Slide 2

Slide 2 text

自己紹介 ● 西場正浩(@m_nishiba) ● エムスリー株式会社 ● AI・機械学習チームリーダー ● 自然言語処理や推薦システム ● 絶賛採用中!! ○ 最低年間60本以上論文読む or データ基盤等エンジニアリングが得意 ○ WebアプリケーションエンジニアやSIerも絶賛募集中! ● 新規プロダクト・サービス立ち上げ勉強会 with PLAID

Slide 3

Slide 3 text

今日話すこと ● 実際のビジネス課題を機械学習で解決した事例の紹介 ○ 医療用語という観点で文書の類似度を計算したい。 ○ ※資料は公開済みなのでメモとらなくていいよ。 ● 話さないこと ○ データ基盤 ○ データパイプライン → Data Pipeline Casual Talk ○ チームマネジメント → Machine Learning Casual Talk ● ソースコード: github/m3dev/gokart, redshells #d3m OSS化中!

Slide 4

Slide 4 text

問題の背景 様々なサービス横断で医療用語に関連するアイテムを探したい。 インフルエンザ サービスA サービスC サービスB インフルエンザ アイテム1 (from A) アイテム2 (from B) アイテム3 (from C) アイテム4 (from C) アイテム5 (from A) アイテム6 (from A) アイテム7 (from B) 各サービスの各アイテムはテキストを含む。が、形式は様々

Slide 5

Slide 5 text

よく使われているテキストの類似度計算手法 ● テキストの特徴量化(分散表現): ○ Doc2Vec (ほとんど使えない) ○ Skip-Thought ○ Average+Word2Vec ○ TFIDF+Word2Vec ○ SCDV ○ etc… ● 類似度の計算 ○ 教師なし: Cos類似度など ○ 教師あり: XGBoostなど

Slide 6

Slide 6 text

問題の課題点① 要件: 同じ疾患・薬剤の文書であれば類似度が高くなる 糖尿病患者に実践してほしい ○○○○○ ・演者:〇〇先生(大阪府立大学 地域保健学域) 【ライブ放送】 18:00〜18:40(17:30サイトオープン) ※ライブのみの1回限りの講演会です。  糖尿病は、血糖値やヘモグロビンA1c(HbA1c)値が一定の基準を超えて いる状態をさす疾患である。

Slide 7

Slide 7 text

問題の課題点② 要件: 疾患や薬剤が関連すれば類似度が高くなる。 糖尿病は、血糖値やヘモグロビンA1c(HbA1c)値が一定の基準を超えて いる状態をさす疾患である。 インスリン製剤の価格高騰により、患者の4人に1人が本来必要なインスリ ン治療を...

Slide 8

Slide 8 text

問題の課題点③ 要件: 医療用語以外の用語が類似しても類似度が低くなる。 糖尿病患者に実践してほしい ○○○○○ ・演者:〇〇先生(大阪府立大学 地域保健学域) 【ライブ放送】18:00〜18:40(17:30サイトオープン) ※ライブのみの1回限りの講演会です。  喘息患者に実践してほしい ○○○○○ ・演者:〇〇先生(名古屋大学 地域保健学域) 【ライブ放送】18:00〜18:40(17:30サイトオープン)  ※ライブのみの1回限りの講演会です。

Slide 9

Slide 9 text

実際に作ったモデル アイテムの テキスト アイテムの クリック キーワード マッチング 協調フィル タリング 類似度① 類似度② SCDV アイテム 分散表現 次元削減 アイテム分散表現 (次元削減後) XGBoost アイテム分散表現 (次元削減後) キーワード分散表現 (次元削減後) XGBoost 類似度 医療用語 訓練 予測 SCDV

Slide 10

Slide 10 text

モデルの詳細(訓練) ● 入力データ ○ アイテムのクリックデータ ■ クリックしたデータ ○ アイテムのテキストデータ ■ タイトルや本文など ○ 医療用語 ■ 疾患名 ■ 薬剤名

Slide 11

Slide 11 text

モデルの詳細(訓練) ● 類似度の計算① ○ "クリックしていないデータ" ■ クリックデータからサンプリングしてを作成 ○ アイテム同士のcos類似度 ■ Matrix Factorization ■ latent factorを使って類似度を計算 ○ 組み合わせをサンプリング ■ 類似度が0.8以上のものを”1” ■ 類似度が0.0以下のものを”0” アイテムの クリック 協調フィル タリング 類似度①

Slide 12

Slide 12 text

モデルの詳細(訓練) ● 類似度の計算② ○ 医療用語でキーワードマッチング ■ 同じキーワードを含む場合"1" ■ 同じキーワードを含まない場合"0" アイテムの テキスト キーワード マッチング 類似度②

Slide 13

Slide 13 text

モデルの詳細(訓練) ● テキストの分散表現 ○ SCDV ■ SCDV : Sparse Composite Document Vectors using soft clustering over distributional representations ○ 次元削減 ■ SCDVの次元は「単語の埋込の次元」×「GMMの次元」 ■ 医療用語の分散表現で全単語を次元ごとの2乗和のトップ1000 アイテムの テキスト SCDV アイテム 分散表現 次元削減 アイテム分散表現 (次元削減後) 医療用語 SCDV

Slide 14

Slide 14 text

モデルの詳細(訓練) ● 類似度のモデル ○ XGBoostで類似しているかを予測 ■ 入力は2つのテキスト分散表現の要素積 類似度① 類似度② アイテム分散表現 (次元削減後) XGBoost

Slide 15

Slide 15 text

モデルの詳細(予測) ● キーワードとアイテムの類似度 ○ キーワードの分散表現 ■ キーワードを含むアイテムの分散表現の平均 アイテム分散表現 (次元削減後) キーワード分散表現 (次元削減後) XGBoost 類似度 テキストのみ。 Cold-Startにも対応

Slide 16

Slide 16 text

結果 ● 肺癌 ○ 「持続可能な最善の がん医療」、実現できる医療費制度とは? ○ 高額薬オプジーボ登場で議論 ○ オプジーボ、「最適使用推進ガイドライン」(案)公表 ○ 抗がん剤「オプジーボ」治験開始 ○ 欧州臨床腫瘍学会:「免疫」治療、新薬に効果 ● 白内障 ○ DM患者の視力低下原因、実は…【研修最前線】 ○ 唯一治せる眼疾患「白内障」【研修最前線】 ○ 重圧のしかかる「白内障手術」【研修最前線】 ○ 超音波白内障術の新装置、7月上市 ○ 白内障で知っておくべき3項目【米国眼科学会】

Slide 17

Slide 17 text

まとめ SCDVが結構いい感じ! 新しい論文読んで実務に応用できる。機械学習楽しいですね!! ※ 実装はredshellsで一部公開(すべて公開予定)