言語処理学会 第25回年次大会 発表論文集 (2019年3月)

疾患間類似度計算における分散表現の活用手法
大村 舞 †

松本 裕治 †,§奥村 貴史 ‡, §†奈良先端科学技術大学院大学 情報科学領域§
北見工業大学 工学部
理化学研究所 革新知能統合研究センター†{omura.mai.oz5, matsu}@is.naist.jp, ‡ tokumura@mail.kitami-it.ac.jp
‡

1

はじめに

そこで本稿では、単語の分散表現により疾患類似度計算を低コスト化し、また、高精度化することが可能

人工知能技術の発展を受けて、人工知能技術の医療かを検討する。word2vec (Skip-gram モデル) により構への応用が盛んとなっている。しかし、診断アルゴリ

築された分散表現は、テキストの文脈を予測するようズムの研究は高度化しているが、医療用人工知能の診なベクトルを生成する [4]。この類似する文脈に共起断結果を効率的かつ効果的に提示するユーザーインしやすい疾患 (の名称) 同士の距離が、疾患類似度とターフェースの研究については、発展が遅れている。

して有効たりうるか、実証的に検討する。次節以降、

たとえば、診断支援システムは患者の呈している症状

まずモデル生成に用いたデータ及び精度管理に用いたから可能性の高い疾患をリスト化できるが、リストが疾患類似度データについて概要を示す。その後、実験長大化しやすく、医師の認知的負荷を高めてきた [5]。

結果について示すと共に、結果に考察を加える。最後

もし、とある疾患に着目した際、疾患の単純なリストに、今後の展望を整理し結語を記す。

ではなく、その疾患に類似した疾患を合わせて提示することができれば、診断結果をより効率的に提示することが可能となる。

疾患名の分散表現による疾患間類

2

このようなユーザーインターフェースを実現するた似度手法

めには、任意の疾患と疾患との類似度を定量化する手法が必要となる。こうした定量化に際しては、人手で2.1分散表現に用いるデータ構築された疾患オントロジーなどを用いて小規模な疾患間の類似度を計算する試みは存在した [3]。しか分散表現データの構築に用いるテキストデータとしし、類似度計算手法について網羅的に検討した研究はては、ウェブより入手可能な英文医学文献のテキスト知られていない。そこで我々のグループでは、オントデータを用いた。このデータは、文献 [6] にて構築したロジーよりも低コストに編纂しうる簡易的な疾患知識

疾患データベースの疾患名をクエリとして Google でベース [6] を用いて、網羅的な疾患間類似度計算の実検索した結果より、上位 35 件のページをクロールした

現に取り組んできた [11]。しかし、疾患知識ベースの構築には、それでも相当のコストを求められる。

ものである。全部で 156,422 件が含まれており、ここから HTML タグを除外し、抽出した文を小文字化した

近年、自然言語処理分野において、単語等の概念をデータセットを作成した。抽出した文は Stanford Core分散表現にすることにより、品詞タグ付け、文書分類、NLP1 によってトークナイズし、結果として約 6402 万語のテキストデータが得られた。
さらに疾患に対応する疾患名の単語を抽出するために、疾患名の辞書を構築した。疾患名辞書は、疾患知識ベース [6] に収録されている英語名を元に構築した。
今回用いた疾患は 1,546 件あり、同意語を含めて 1,893件の疾患名が得られた。

機械翻訳、評判分析といったさまざまなタスクにおける性能向上が報告されている [10]。医療分野においても、電子カルテなどから構築された単語の分散表現が、医療的な概念の類似関係の計算 [1] や、疾患のカテゴライズ [2] といったタスクに有効であることが示されてきた。もし、疾患を分散表現化することができれば、内積等を用いることで容易に類似度計算することが可能となることが期待される。

1 https://stanfordnlp.github.io/CoreNLP― 679 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

表 1: 疾患知識ベースに収載される疾患英語名フレーズの長さ分布

長さ頻度

1350294534214114546667981

それぞれ疾患名の集合 Wn (Di ), Wn (D j ) についてコサイン類似度が最大のものを類似度として採用した。この

91類似度を、そのまま疾患間の類似度として出力する。

表 1 に示すとおり、疾患名は複数の英単語 (フレー2.4 評価手法ズ) で構築されているものが多い。今回構築した句の長さの平均は 2.28 個であり、最も多い句の長さは 2、その次に 3 であった。疾患について記述されたテキス
トでは句を考慮して分散表現を構築した方がよいと考えたため、Mikolov ら [4] のフレーズ化の手法により、最大長さ 3 までフレーズ化した。実際の実装としては、word2vec に収録されている word2phrase を用いてフレーズ化を実現した。今回はこのテキストから抽出できる疾患を対象として実験を行った2 。

疾患間類似度の精度は、別途手動生成した疾患類似度データを gold standard とし、生成した類似度データを比較することで評価を行う。疾患知識ベースの中から患者数の多い 80 疾患を抽出し、この 80 疾患のそれぞれに対して、さらに疾患知識ベースの中から 1,408疾患について疾患全体への類似関係を医師による主観に基づき評価をしている [11]。ただし、医師は、疾患の類似度として、任意の２つの疾患が「近い」「遠い」という相対関係を示すことが出来るものの、類似した

2.2 分散表現データの構築

疾患間でどちらがより近いか、あるいは、どちらがよ

次に、Mikolov ら [4] の Skip-gram モデルを用いて分り絶対的に遠いかを示すことが難しい。そこで、疾患散表現のモデルを構築した3 。実装としては word2vec4

類似度データとしては、対象疾患 Di における比較疾を用い、次元は N = 200、ウィンドウ幅 W = 24 と患 D j に対し 1 から 3 までの相関的な 3 段階でのスコして、さらに階層的ソフトマックスを用い、イテレーア付けとしデータ化した。具体的には、類似している

ト数 15 回で構築した。このパラメータは次元数 N =ほど最も高いスコア 3 を付与し、関係ない疾患には 1100, 200, 300、ウィンドウ幅を W = 4 から W = 36 のというスコアをつけた。このスコアが高い順に並べた間で変更したうえで、後述する性能評価において最高データを疾患間の類似度データとして用いる。
なお、この gold standard とアルゴリズム出力との比値を示したものである (後述にウィンドウ幅による違較に際しては、高い類似度であると表示された疾患のいも報告する)。
先に記した医学文献のテキストデータを用いて構築予測が重要であり、低い類似度の疾患の予測が評価にした分散表現データの語彙数は 35,4542 個となり、前過度の影響をうけるべきでない。そこで、ランキング述した疾患名辞書を基にして 1,171 疾患分の分散表現学習などの評価に用いられる Normalized Discounted

ベクトル 1,667 個を抽出することができた。本研究でCumulative Gain (NDCG) の着想に倣い、評価に勾配はこの 1,171 疾患を対象にして、実験を行う。

を設ける形で開発した Normalized Disease Similarity

Measure (NDSM) という指標を用いた [11]。NDSM は、2.3 疾患名の分散表現を用いた疾患間類似度

疾患類似度データとアルゴリズム出力の一致度を 0-1

本研究では、単語の分散表現を用いた疾患間の類似までの実数で表現するもので、1 に近いほど疾患類似度度スコアとして、以下の定義により計算する。構築しデータとアルゴリズム出力の一致度が高い。以下の節でた単語 w の分散表現ベクトルを vec(w) とする。または、上位の疾患 250 個までを参照する NDSM(N = 250)

疾患 Di の疾患名の集合を Wn (Di ) とする。疾患名の分を用いて、我々の発表済み研究 [7, 11] との性能比較を散表現を用いた疾患間類似度 simdn (Di , D j ) は、ベクト行った。

ル同士のコサイン類似度を cos(v1 , v2 ) としたとき以下のように

simdn (D1 , D2 ) =3 結果と考察maxwi ∈Wn (Di ),w j ∈Wn (D j )cos(vec(wi ), vec(w j ))3.1 モデルによる違いの結果

2 本稿では予めすべての疾患の英語表現に対してマッチするようにフレーズ化してから抽出していないため、すべての疾患を抽出できていない。すべての疾患名抽出は今後の課題とする。
3 なお CBOW モデルも検討したものの、事前実験により Skipgram の方が全体精度が良いとわかったため、本稿では Skip-gramの結果のみを示す。
4 https://github.com/tmikolov/word2vec構築したモデルを用いて生成した疾患類似度のNDSM による評価結果を表 2 に示す。また達成性能の評価のため、我々の発表済み研究の性能を、ICD、Prob、ICD+Prob[11] と ICD+Prob+Loc[7] として示す。ICD― 680 ―Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

0.930100.9190.913 0.913

0.914 0.914 0.915

0.915

80.905

0.902

0.900

0.904

60.89440.8900.880

20.880293354656326604

366W
=18W
=20W
=22
W
=24
W
=26W
=28W
=30W
=32W
=34W
=364=1W

2=1W

0=1=1WW=80=60.870
W

0.715
0.765
0.916
0.926
0.919

17292773

0.915 0.914 0.914

0.909
0.910

=4ICD[11]Prob[11]
ICD+Prob[11]ICD+Prob+Loc[7]simdn (Di , D j )
(合計)

NDS M

0.914

W

手法

最大評価の疾患数0.920

W

表 2: NDSG による評価結果。NDSM で示した結果は抽出できた 73 疾患の平均値となっている。

最大評価疾患数

NDSM

図 1: ウィンドウ幅ごとによる性能の違い。折れ線グラフが NDSM の評価値であり、棒グラフが 73 疾患中で最高評価となったウィンドウ幅の分布を示している。

は疾患の類似度として、疾患が生じるメカニズムを類似た疾患数を示している。分散表現を用いた手法ではと度として計算したものであり、Prob は疾患が呈する症くに「境界型人格障害」「カンジダ症」「子宮内膜症」状の類似度の類似度を計算したものである。ICD+Prob「アトピー性皮膚炎」といった疾患 27 件は最高精度ではこの疾患が生じるメカニズムと疾患が呈する症状のあることが分かった。しかし、分散表現を用いた手法類似度の双方を加味した類似度計算手法である。

は、ICD や Prob また ICD+Prob よりは性能が良いも疾患が生じるメカニズムとは、たとえば、「細菌感染のの、必ずしもすべての疾患において最高性能を示しにより生じる」とか「免疫不全により生じる」といったわけではないことが分かる。また ICD+Prob+Loc とたもので、ICD と呼ばれる疾患の分類体系 [9] を利用の比較において性能が低いことが分かった。

することにより定量化できる。
「疾患が呈する症状」による類似度とは、たとえば、「腹痛を生じる疾患同士」

3.2 文脈幅による違いの結果をより類似性が高いとみなし定量化するものである。

ベクトル次元数を 200 固定とし、ウィンドウ幅 W =我々の研究により、この「疾患の生じるメカニズム4, 6, 8, ..., 36 としてパラメータを変更した上での結果による類似度」(ICD) と「疾患の呈する症状による類を比較した。図 1 にウィンドウ幅ごとによる性能の似度」(Prob) を機械学習により組み合わせることで、違いを示す。図 1 の折れ線グラフで示している箇所高い性能が得られることが示された [8]。これは、医が NDSM での評価値の平均となる。W = 24 のときの師が異なった根拠を疾患毎に使い分けながら類似度をNDSM が 0.919 となり最高精度となることが分かった。
この最高値は全 73 疾患それぞれの評価値の平均で判断することを示唆する。
この観察を元に、さらなる性能向上に取り組んだのあり、NDSM の平均値が高くとも、各疾患の評価値が文献 ICD+Prob+Loc[7] となる。これは ICD+Probは、ウィンドウ幅等の変化によって、0-1 の間で上昇、に加えて、疾患が影響を与える臓器や場所等の特徴下降する。そこで、ウィンドウ幅を W = 4 から W = 36(+Loc) を取り入れたモデルであり、ICD+Prob 以上のへと推移させつつ、構築された分散表現による類似度性能が得られることが明らかとなった。

計算結果について、各疾患毎に、NDSM 上の最高値

表 2 に各手法の結果の平均値を示す。 simdn (Di , D j )を示したウィンドウ幅を記録した。その上で、各ウィは今回計算した疾患名の分散表現に基づく類似度手法

ンドウ幅毎に、最高値を示した疾患の数をカウントしとなる。なお、文献 [7, 11] では 80 疾患を対象にしてた。これらの結果を図 1 に棒グラフにて示す。平均値

いるが、本稿では、提案手法が利用した辞書においてが最高値を示した W = 24 において、最高値を示した

7 疾患ほどの抽出に困難が生じたため、手法間での評疾患は 2 件のみであり、W = 6 のときで 9 件となっ価を可能とするために全てのセッティングにおいて 73た。図 1 のグラフをみて分かるように、73 疾患の中疾患を対象とした評価としてある。また同様に、比較で最高精度となるウィンドウ幅の分散表現にはばらつ対象の疾患としても、1,408 疾患ではなく、1,171 疾患きがあり、このことから、ウィンドウ幅に比して平均を対象とした結果となっている。表 2 中の「最大評価

性能が単純上昇するのではなく、各疾患における疾患の疾患数」ではさらに、3 手法中の中で最大の評価だっ類似度計算の性能が独立して変動していることが示唆される。

― 681 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

3.3 考察

有効性を検証した。その結果、疾患名を対象とした分

Skip-gram のようなモデルで構築された分散表現では、文脈が類似しているような疾患同士を類似関係とするようなモデルを構築しベクトルを生成する。今回の実験によって、こうした分散表現を用いることで、低コストに疾患間の類似度を生成し、これがある程度の妥当性を有していることを実証した。とりわけ、「境界型人格障害」「カンジダ症」「子宮内膜症」「アトピー性皮膚炎」などの 27 疾患を対象とした場合は、既存手法の性能を上回ることが分かった。分散表現によって生成されたベクトルにおいては、類似した発症メカニズムの疾患同士が類似したり、疾患が呈する症状に類似性がみられたりと、医学文献の文脈に現れる疾患の対象部位の同一性などを手がかりとして、類縁疾患を算出しているものと考えられる。
一方で、医学文献から生成したモデルに基づく散表現によって、疾患類似度を低コストに一定の性能で計算しうることが明らかとなった。一方で、個別の疾患においては本手法が高性能を示すケースがあったものの、全体平均でみる限り、先行研究の最高精度には達しないことが明らかとなった。
次のステップとして、疾患の類似度に関連していると考えられるいくつかの要因を精査し、そのそれぞれの要因に対して分散表現がいかに貢献しうるか、より細かな検討が望まれる。とりわけ、従来手法においては、疾患の呈する症状や影響を及ぼす解剖学的部位のデータ生成に多くのコストを要し、網羅性に難が生じていた。分散表現が、疾患の位置情報を低コストに、また、網羅的に生成しうるのであれば、従来手法に組み込むことによりさらなる高精度化が実現する可能性がある。

分散表現では、より細かな配慮を行った類似度計算

ICD+Prob+Loc[7] に性能面で差が生じることも明らかとなった。我々の研究では、医師が認知する疾患の類似度には、疾患の発生するメカニズム (ICD)、疾患の呈する症状 (Prob) に加えて、疾患が影響を与える解剖学的な部位 (Loc) といったいくつかの要因があり、医師はそのそれぞれを状況に応じて使い分けていることが示唆されている。分散表現は、この使い分けを機械学習により近似したアルゴリズム (ICD+Prob+Loc)に劣ることが示された。
今回、疾患類似度の背景にあるこうしたミクロなメカニズムを捨て去り、文脈的な情報を分散表現によりベクトル化した。その情報中には、疾患のメカニズム、症状、疾患の発生部位が混在している可能性が高いが、各情報の精度が担保されていない。また、医師が行っているような各類似度の使い分けを正しく反映しているかが定かでない。したがって、分散表現の疾患類似度計算への活用に際して、疾患概念のダイレクトなベクトル化による性能向上には限界が考えられる。今後適切な各情報の精度管理の環境整備のうえで、医学文献からの各種類の類似度情報の抽出に取り組むことにより、さらなる性能向上がもたらされる可能性がある。

4 おわりに
本研究では Skip-gram モデルによって疾患名の分散表現データを構築し、疾患名の分散表現ベクトルを基

参考文献[1] Lance De Vine, Guido Zuccon, Bevan Koopman, Laurianne Sitbon, and Peter Bruza. Medical semantic similarity with a neurallanguage model. In Proceedings of the CIKM 2014, pp. 1819–1822, 2014.
[2] Saurav Ghosh, Prithwish Chakraborty, Emily Cohn, John S.
Brownstein, and Naren Ramakrishnan. Characterizing Diseases
from Unstructured Text: A Vocabulary Driven Word2vec Approach. In Proceedings of the CIKM 2016, pp. 1129–1138, 2016.
[3] Sachin Mathur and Deendayal Dinakarpandian. Finding disease similarity based on implicit semantic similarity. Journal ofBiomedical Informatics, Vol. 45, No. 2, pp. 363–371, 2012.
[4] Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, andJeﬀ Dean. Distributed representations of words and phrases andtheir compositionality. In Proceedings of the NIPS 2013, pp.
3111–3119, 2013.
[5] Takashi Okumura and Masaki Tagawa. Hierarchical representation of diﬀerential diagnosis lists for clinical decision support systems. In Proceedings of the PervasiveHealth ’14, pp. 231–234,
2014.
[6] Takashi Okumura, Hiroaki Tanaka, Mai Omura, Maori Ito,Shin’ichi Nakagawa, and Yuka Tateisi. Cost decisions in the development of disease knowledge base: A case study. In Proceedings of the IEEE BIBM 2014, pp. 62–69, 2014.
[7] Mai Omura, Noboru Sonehara, and Takashi Okumura. Practical
approach for disease similarity calculation based on disease phenotype, etiology, and locational clues in disease names. In Proceedings of the IEEE BIBM 2016, pp. 1002–1009, 2016.
[8] Mai Omura, Yuka Tateishi, and Takashi Okumura. Disease similarity calculation on simplified disease knowledge base for clinical decision support systems. In In Proceedings of the FLAIRS
Conference 2015, pp. 501–506, 2015.
[9] World Health Organization. ICD-10: International statisticalclassification of diseases and related health problems. WorldHealth Organization, 2011.
[10] 岡崎直観. 言語処理における分散表現学習のフロンティア (＜特集＞ニューラルネットワーク研究のフロンティア). 人工知能学会誌, Vol. 31, No. 2, pp. 189–201, 2016.
[11] 大村舞, 建石由佳, 奥村貴史. 簡易疾患知識ベースを基にした疾患間の類似度計算. 第 103 回知識ベースシステム研究会予稿集, pp. 42–47, 2014.に疾患間類似度計算を行い、疾患類似度計算における― 682 ―Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.