IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECソリューションイノベータ株式会社の特許一覧 ▶ 国立大学法人 東京医科歯科大学の特許一覧

特許7510124診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム
<>
  • 特許-診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム 図1
  • 特許-診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム 図2
  • 特許-診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム 図3
  • 特許-診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム 図4
  • 特許-診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム 図5
  • 特許-診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム 図6
  • 特許-診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム 図7
  • 特許-診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム 図8
  • 特許-診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム 図9
  • 特許-診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム 図10
  • 特許-診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム 図11
  • 特許-診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム 図12
  • 特許-診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム 図13
  • 特許-診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム 図14
  • 特許-診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム 図15
  • 特許-診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-25
(45)【発行日】2024-07-03
(54)【発明の名称】診断支援装置、学習モデル生成装置、診断支援方法、及びプログラム
(51)【国際特許分類】
   G16H 50/20 20180101AFI20240626BHJP
   G06F 40/279 20200101ALI20240626BHJP
   G16H 50/50 20180101ALI20240626BHJP
【FI】
G16H50/20
G06F40/279
G16H50/50
【請求項の数】 10
(21)【出願番号】P 2020100986
(22)【出願日】2020-06-10
(65)【公開番号】P2021196701
(43)【公開日】2021-12-27
【審査請求日】2023-05-10
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(73)【特許権者】
【識別番号】504179255
【氏名又は名称】国立大学法人 東京医科歯科大学
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】小戸 司
(72)【発明者】
【氏名】武田 英之
(72)【発明者】
【氏名】今井 耕輔
(72)【発明者】
【氏名】遠藤 明史
(72)【発明者】
【氏名】森尾 友宏
【審査官】松尾 真人
(56)【参考文献】
【文献】中国特許出願公開第111128391(CN,A)
【文献】特開2017-027510(JP,A)
【文献】特開2009-238115(JP,A)
【文献】特開2017-201437(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G16H 10/00-80/00
G06F 40/20-40/58
(57)【特許請求の範囲】
【請求項1】
診断対象となる患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する、テキスト処理部と、
前記診断対象となる患者に対する医師の所見を示す言葉を含む所見データ、及び前記診断対象となる患者の前記検査テキストデータに対して、言語処理を行って、前記患者の状態を表現する単語列を生成する、言語処理部と、
前記診断対象となる患者の状態を表現する前記単語列に含まれる単語毎に、その特徴を抽出して、特徴ベクトルを生成する、特徴ベクトル生成部と、
患者の状態と特定の病気との関係が機械学習された学習モデルに、生成された前記特徴ベクトルを入力して、前記診断対象となる患者が前記特定の病気に羅患している可能性を判定する、判定部と、
患者から取得した訓練データを用いて、前記学習モデルを生成する、学習モデル生成部と、
を備え
前記テキスト処理部は、前記訓練データの取得先となった患者毎に、当該患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成し、
前記言語処理部は、前記訓練データの取得先となった患者毎に、当該患者の前記所見データ、及び当該患者の前記検査テキストデータに対して、言語処理を行って、当該患者の状態を表現する単語列を生成し、
前記特徴ベクトル生成部は、前記訓練データの取得先となった患者毎に、当該患者の状態を表現する前記単語列に含まれる単語それぞれについて、その出現回数に基づいて重みを算出し、前記単語列毎に、当該単語列が他の単語列に含意されているかどうかを示す指標を算出し、そして、前記患者毎に、抽出した前記特徴と算出した前記指標とを用いて、特徴ベクトルを生成し、
前記学習モデル生成部は、前記患者毎に生成された前記特徴ベクトルと、前記訓練データの取得先となった患者毎に付与された、当該患者が特定の病気であるかどうかを示すラベルと、を前記訓練データとして、機械学習を行って、前記学習モデルを生成する、
ことを特徴とする診断支援装置。
【請求項2】
請求項1に記載の診断支援装置であって、
前記言語処理部が、前記言語処理として、前記所見データ及び前記検査テキストデータから、これらを構成する単語を抽出し、抽出した前記単語に対して、同義とみなす単語を定義する同義辞書及び単語が属するグループを定義する意味汎用化辞書を用いて、グルーピングを行い、更に、抽出した前記単語に前記グループを示すラベルを付与して、前記単語列を生成し、
前記特徴ベクトル生成部が、グループが同一の複数の単語については同一の単語として、前記単語の特徴を抽出する、
ことを特徴とする診断支援装置。
【請求項3】
請求項1に記載の診断支援装置であって、
前記特徴ベクトル生成部が、前記単語列に含まれる単語毎に、その特徴として、N-gram素性、係り受け素性、共起素性、付加スパン素性、文書メタ属性素性、Word Embedding素性、周辺文脈素性、述語項素性、及びダミー素性を抽出し、抽出した各素性を用いて、前記特徴ベクトルを生成する、
ことを特徴とする診断支援装置。
【請求項4】
患者毎に、当該患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する、テキスト処理部と、
前記患者毎に、当該患者に対する医師の所見を示す言葉を含む所見データ、及び当該患者の前記検査テキストデータに対して、言語処理を行って、当該患者の状態を表現する単語列を生成する、言語処理部と、
前記患者毎に、当該患者の状態を表現する前記単語列に含まれる単語それぞれについて、その特徴を抽出して、特徴ベクトルを生成する、特徴ベクトル生成部と、
前記患者毎に生成された前記特徴ベクトルと、前記患者毎に付与された、当該患者が特定の病気であるかどうかを示すラベルと、を訓練データとして、機械学習を行って、学習モデルを生成する、学習モデル生成部と、
を備え
前記特徴ベクトル生成部が、前記訓練データの取得先となった患者毎に、当該患者の状態を表現する前記単語列に含まれる単語それぞれについて、その出現回数に基づいて重みを算出し、前記単語列毎に、当該単語列が他の単語列に含意されているかどうかを示す指標を算出し、そして、前記患者毎に、抽出した前記特徴と算出した前記指標とを用いて、前記特徴ベクトルを生成する、
ことを特徴とする学習モデル生成装置。
【請求項5】
コンピュータが実行する方法であって、
診断対象となる患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する、テキスト処理ステップと、
前記診断対象となる患者に対する医師の所見を示す言葉を含む所見データ、及び前記診断対象となる患者の前記検査テキストデータに対して、言語処理を行って、前記患者の状態を表現する単語列を生成する、言語処理ステップと、
前記診断対象となる患者の状態を表現する前記単語列に含まれる単語毎に、その特徴を抽出して、特徴ベクトルを生成する、特徴ベクトル生成ステップと、
患者の状態と特定の病気との関係が機械学習された学習モデルに、生成された前記特徴ベクトルを入力して、前記診断対象となる患者が前記特定の病気に羅患している可能性を判定する、判定ステップと、
患者から取得した訓練データを用いて、前記学習モデルを生成する、学習モデル生成ステップと、
を有し
前記テキスト処理ステップにおいて、前記訓練データの取得先となった患者毎に、当該患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成し、
前記言語処理ステップにおいて、前記訓練データの取得先となった患者毎に、当該患者の前記所見データ、及び当該患者の前記検査テキストデータに対して、言語処理を行って、当該患者の状態を表現する単語列を生成し、
前記特徴ベクトル生成ステップにおいて、前記訓練データの取得先となった患者毎に、当該患者の状態を表現する前記単語列に含まれる単語それぞれについて、その出現回数に基づいて重みを算出し、前記単語列毎に、当該単語列が他の単語列に含意されているかどうかを示す指標を算出し、そして、前記患者毎に、抽出した前記特徴と算出した前記指標とを用いて、前記特徴ベクトルを生成し、
前記学習モデル生成ステップにおいて、前記患者毎に生成された前記特徴ベクトルと、前記訓練データの取得先となった患者毎に付与された、当該患者が特定の病気であるかどうかを示すラベルと、を前記訓練データとして、機械学習を行って、前記学習モデルを生成する、
ことを特徴とする診断支援方法。
【請求項6】
請求項に記載の診断支援方法であって、
前記言語処理ステップにおいて、前記言語処理として、前記所見データ及び前記検査テキストデータから、これらを構成する単語を抽出し、抽出した前記単語に対して、同義とみなす単語を定義する同義辞書及び単語が属するグループを定義する意味汎用化辞書を用いて、グルーピングを行い、更に、抽出した前記単語に前記グループを示すラベルを付与して、前記単語列を生成し、
前記特徴ベクトル生成ステップにおいて、グループが同一の複数の単語については同一の単語として、前記単語の特徴を抽出する、
ことを特徴とする診断支援方法。
【請求項7】
請求項に記載の診断支援方法であって、
前記特徴ベクトル生成ステップにおいて、前記単語列に含まれる単語毎に、その特徴として、N-gram素性、係り受け素性、共起素性、付加スパン素性、文書メタ属性素性、Word Embedding素性、周辺文脈素性、述語項素性、及びダミー素性を抽出し、抽出した各素性を用いて、前記特徴ベクトルを生成する、
ことを特徴とする診断支援方法。
【請求項8】
コンピュータに、
診断対象となる患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する、テキスト処理ステップと、
前記診断対象となる患者に対する医師の所見を示す言葉を含む所見データ、及び前記診断対象となる患者の前記検査テキストデータに対して、言語処理を行って、前記患者の状態を表現する単語列を生成する、言語処理ステップと、
前記診断対象となる患者の状態を表現する前記単語列に含まれる単語毎に、その特徴を抽出して、特徴ベクトルを生成する、特徴ベクトル生成ステップと、
患者の状態と特定の病気との関係が機械学習された学習モデルに、生成された前記特徴ベクトルを入力して、前記診断対象となる患者が前記特定の病気に羅患している可能性を判定する、判定ステップと、
患者から取得した訓練データを用いて、前記学習モデルを生成する、学習モデル生成ステップと、
を実行させ
前記テキスト処理ステップにおいて、前記訓練データの取得先となった患者毎に、当該患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成し、
前記言語処理ステップにおいて、前記訓練データの取得先となった患者毎に、当該患者の前記所見データ、及び当該患者の前記検査テキストデータに対して、言語処理を行って、当該患者の状態を表現する単語列を生成し、
前記特徴ベクトル生成ステップにおいて、前記訓練データの取得先となった患者毎に、当該患者の状態を表現する前記単語列に含まれる単語それぞれについて、その出現回数に基づいて重みを算出し、前記単語列毎に、当該単語列が他の単語列に含意されているかどうかを示す指標を算出し、そして、前記患者毎に、抽出した前記特徴と算出した前記指標とを用いて、前記特徴ベクトルを生成し、
前記学習モデル生成ステップにおいて、前記患者毎に生成された前記特徴ベクトルと、前記訓練データの取得先となった患者毎に付与された、当該患者が特定の病気であるかどうかを示すラベルと、を前記訓練データとして、機械学習を行って、前記学習モデルを生成する、
プログラム。
【請求項9】
請求項に記載のプログラムであって、
前記言語処理ステップにおいて、前記言語処理として、前記所見データ及び前記検査テキストデータから、これらを構成する単語を抽出し、抽出した前記単語に対して、同義とみなす単語を定義する同義辞書及び単語が属するグループを定義する意味汎用化辞書を用いて、グルーピングを行い、更に、抽出した前記単語に前記グループを示すラベルを付与して、前記単語列を生成し、
前記特徴ベクトル生成ステップにおいて、グループが同一の複数の単語については同一の単語として、前記単語の特徴を抽出する、
ことを特徴とするプログラム。
【請求項10】
請求項に記載のプログラムであって、
前記特徴ベクトル生成ステップにおいて、前記単語列に含まれる単語毎に、その特徴として、N-gram素性、係り受け素性、共起素性、付加スパン素性、文書メタ属性素性、Word Embedding素性、周辺文脈素性、述語項素性、及びダミー素性を抽出し、抽出した各素性を用いて、前記特徴ベクトルを生成する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、医療診断を支援するための、診断支援装置及び診断支援方法に関し、更には、これらを実現するためのプログラムに関する。また、本発明は、診断支援装置で用いる学習モデルを生成するための、学習モデル生成装置に関する。
【背景技術】
【0002】
近年、人工知能(AI:Artificial Intelligence)の急激な発展により、AIを利用した医療診断が期待されている。このようなAIを利用した医療診断のうち、代表的なものとしては、生体の画像を用いた医療診断が知られている。例えば、特許文献1は、生体の病理画像を教師データとして機械学習を行い、得られた機械学習モデルを用いて、生体の画像による医療診断を行うシステムを開示している。
【0003】
また、医療診断は、画像を用いて行われるものに限られず、医師の所見、及び各種検査の結果に基づいて行われるものもある。例えば、原発性免疫不全症(PID:Primary immunodeficiency)は、遺伝子の異常により、細菌及びウィルス等の病原体から体を守る免疫系に、生まれつき異常を示す病気の総称である。PIDの早期診断は、医師による問診と検査結果から行うことができる。
【0004】
但し、実際のところ、PIDについては、患者、医師に周知されている状況とは言えず、早期発見の機会を逃した患者が多く存在する。このため、AIを利用した医療診断は、このような、患者、医師に周知されていない病気の診断に対して特に期待されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特許第6503535号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上述したように、画像を用いない場合の病気の診断では、所見を示す文章(テキストデータ)と、各種検査から得られた数値データとを、両方合わせて参照して、診断結果を導き出している。このため、AIを利用した医療診断でも、両方のデータを入力として用いる必要がある。
【0007】
しかしながら、従来からの機械学習では、訓練データとして、テキストデータのみ、又は数値データのみを用いることはできるが、両方を一緒に用いることは困難である。このため、PIDの診断のような、テキストデータと数値データとの両方を用いる診断において、AIを用いて行うことは困難である。
【0008】
本発明の目的の一例は、上記問題を解消し、所見と検査結果とによる医療診断において、機械学習による支援を行い得る、診断支援装置、診断支援方法、プログラム、更には、診断支援で用いる学習モデルを生成する、学習モデル生成装置を提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明の一側面における診断支援装置は、
診断対象となる患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する、テキスト処理部と、
前記診断対象となる患者に対する医師の所見を示す言葉を含む所見データ、及び前記診断対象となる患者の前記検査テキストデータに対して、言語処理を行って、前記患者の状態を表現する単語列を生成する、言語処理部と、
前記診断対象となる患者の状態を表現する前記単語列に含まれる単語毎に、その特徴を抽出して、特徴ベクトルを生成する、特徴ベクトル生成部と、
患者の状態と特定の病気との関係が機械学習された学習モデルに、生成された前記特徴ベクトルを入力して、前記診断対象となる患者が前記特定の病気に羅患している可能性を判定する、判定部と、
を備えている、ことを特徴とする。
【0010】
上記目的を達成するため、本発明の一側面における学習モデル生成装置は、
患者毎に、当該患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する、テキスト処理部と、
前記患者毎に、当該患者に対する医師の所見を示す言葉を含む所見データ、及び当該患者の前記検査テキストデータに対して、言語処理を行って、当該患者の状態を表現する単語列を生成する、言語処理部と、
前記患者毎に、当該患者の状態を表現する前記単語列に含まれる単語それぞれについて、その特徴を抽出して、特徴ベクトルを生成する、特徴ベクトル生成部と、
前記患者毎に生成された前記特徴ベクトルと、前記患者毎に付与された、当該患者が特定の病気であるかどうかを示すラベルと、を訓練データとして、機械学習を行って、学習モデルを生成する、学習モデル生成部と、
を備えている、
ことを特徴とする。
【0011】
また、上記目的を達成するため、本発明の一側面における診断支援方法は、
診断対象となる患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する、テキスト処理ステップと、
前記診断対象となる患者に対する医師の所見を示す言葉を含む所見データ、及び前記診断対象となる患者の前記検査テキストデータに対して、言語処理を行って、前記患者の状態を表現する単語列を生成する、言語処理ステップと、
前記診断対象となる患者の状態を表現する前記単語列に含まれる単語毎に、その特徴を抽出して、特徴ベクトルを生成する、特徴ベクトル生成ステップと、
患者の状態と特定の病気との関係が機械学習された学習モデルに、生成された前記特徴ベクトルを入力して、前記診断対象となる患者が前記特定の病気に羅患している可能性を判定する、判定ステップと、
を有している、
ことを特徴とする。
【0012】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
診断対象となる患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する、テキスト処理ステップと、
前記診断対象となる患者に対する医師の所見を示す言葉を含む所見データ、及び前記診断対象となる患者の前記検査テキストデータに対して、言語処理を行って、前記患者の状態を表現する単語列を生成する、言語処理ステップと、
前記診断対象となる患者の状態を表現する前記単語列に含まれる単語毎に、その特徴を抽出して、特徴ベクトルを生成する、特徴ベクトル生成ステップと、
患者の状態と特定の病気との関係が機械学習された学習モデルに、生成された前記特徴ベクトルを入力して、前記診断対象となる患者が前記特定の病気に羅患している可能性を判定する、判定ステップと、
を実行させる、ことを特徴とする。
【発明の効果】
【0013】
以上のように本発明によれば、所見と検査結果とによる医療診断において、機械学習による支援を行うことができる。
【図面の簡単な説明】
【0014】
図1図1は、実施の形態1における診断支援装置の概略構成を示すブロック図である。
図2図2は、実施の形態1における診断支援装置の構成をより具体的に示すブロック図である。
図3図3は、実施の形態1における診断支援装置の学習モード時での動作を示すフロー図である。
図4図4は、実施の形態1における診断支援装置の診断モード時での動作を示すフロー図である。
図5図5は、実施の形態1において訓練データとなる所見データ及び検査データの一例を示す図である。
図6図6は、実施の形態1において生成された検査テキストデータの一例を示す図である。
図7図7は、実施の形態1における言語処理によって抽出された単語と特定された品詞との一例を示す図である。
図8図8は、実施の形態1における言語処理によって行われたグルーピングの一例を示す図である。
図9図9は、実施の形態1における言語処理によって不要な単語が除外された単語列の一例を示す図である。
図10図10は、実施の形態1で用いられる、ストップワード辞書、同義辞書、意味汎用化辞書の一例を示す図である。
図11図11は、図9に示した単語列について計算した重みの一例を示す図である。
図12図12(a)は、実施の形態1において生成された特徴ベクトルの一例を示す図であり、図12(b)は、実施の形態1において作成される特徴ベクトルの構成を示す図である。
図13図13は、実施の形態1で生成される学習モデルの一例を示す図である。
図14図14は、実施の形態1における判定処理の一例を示す図である。
図15図15は、実施の形態2における学習モデル生成装置の構成を示すブロック図である。
図16図16は、実施の形態1における診断支援装置又は実施の形態2における学習モデル生成装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【0015】
(実施の形態1)
以下、実施の形態1において、診断支援装置、診断支援方法、及びプログラムの一例について、図1図14を参照しながら説明する。
【0016】
[装置構成]
最初に、実施の形態1における診断支援装置の概略構成について図1を用いて説明する。図1は、実施の形態1における診断支援装置の概略構成を示すブロック図である。
【0017】
図1に示す、実施の形態1における診断支援装置10は、医師の所見と検査結果とによる医療診断を支援するための装置である。図1に示すように、診断支援装置10は、テキスト処理部11と、言語処理部12と、特徴ベクトル生成部13と、判定部14とを備えている。
【0018】
テキスト処理部11は、診断対象となる患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する。言語処理部12は、診断対象となる患者の所見データ及び検査テキストデータに対して、言語処理を行って、診断対象となる患者の状態を表現する単語列を生成する。ここで、所見データとは、診断対象となる患者に対する医師の所見を示す言葉を含むデータである。
【0019】
特徴ベクトル生成部13は、診断対象となる患者の状態を表現する単語列に含まれる単語毎に、その特徴を抽出して、特徴ベクトルを生成する。判定部14は、患者の状態と特定の病気との関係が機械学習された学習モデルに、特徴ベクトル生成部13が生成した特徴ベクトルを入力して、診断対象となる患者が特定の病気に羅患している可能性を判定する。
【0020】
以上のように実施の形態1では、まず、診断対象となる患者の検査結果が単語に変換され、その後、変換された単語と医師の所見とが、学習モデルに入力されて、患者が特定の病気に羅患している可能性が判定される。このため、実施の形態1では、所見と検査結果とによる医療診断において、機械学習による支援が可能となる。
【0021】
続いて、図2を用いて、実施の形態1における診断支援装置の構成及び機能について具体的に説明する。図2は、実施の形態1における診断支援装置の構成をより具体的に示すブロック図である。
【0022】
図2に示すように、実施の形態1では、診断支援装置10は、上述した、テキスト処理部11、言語処理部12、特徴ベクトル生成部13、及び判定部14に加えて、データ取得部15と、出力部16と、学習モデル生成部17と、データ格納部20とを備えている。
【0023】
データ取得部15は、医師等の端末装置30から、患者の所見データ21、患者の検査結果を示す検査データ22を取得し、取得した所見データ21及び検査データ22をデータ格納部20に出力する。データ格納部20は、出力されてきた所見データ21及び検査データ22を格納する。出力部16は、判定部14による判定の結果を、端末装置30に出力する。
【0024】
学習モデル生成部17は、患者から取得した訓練データを用いて、判定部14が使用する学習モデルを生成する。このため、実施の形態1では、診断支援装置10は、学習モデル生成部17による学習モデル23の生成が行われる「学習モード」と、判定部14による患者の特定の病気についての判定が行われる「診断モード」との2つのモードで動作する。テキスト処理部11、言語処理部12、特徴ベクトル生成部13、データ取得部15及び出力部16は、いずれのモードにおいても動作を行う。以下、モード毎に各部を説明する。
【0025】
学習モード:
まず、学習モードについて説明する。学習モードでは、まず、データ取得部15が、端末装置30から、訓練データの元となる各患者の所見データと、各患者の検査結果を示す検査データと取得し、取得した所見データ及び検査データをデータ格納部20に出力する。データ格納部20は、出力されてきた各患者の所見データ及び検査データを格納する。また、学習モードで取得される所見データ21及び検査データ22には、患者が特定の病気であるかどうかを示すラベルが付与されている。
【0026】
また、テキスト処理部11は、データ格納部20に格納されている各患者の検査データ22を取得する。そして、テキスト処理部11は、訓練データの取得先となった患者毎に、検査データ22に基づき、各患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する。
【0027】
言語処理部12は、データ格納部20に格納されている各患者の所見データ21を取得する。そして、言語処理部12は、訓練データの取得先となった患者毎に、各患者の所見データ21、及び各患者の検査テキストデータに対して、言語処理を行って、各患者の状態を表現する単語列を生成する。
【0028】
具体的には、言語処理部12は、所見データ21及び検査テキストデータから、これらを構成する単語を抽出する。また、言語処理部12は、抽出した各単語に対して、同義辞書24及び意味汎用化辞書25を用いて、グルーピングを行い、更に、各単語にグループを示すラベルを付与して、単語列を生成する。つまり、言語処理部12は、系列ラベリングを実行して、単語列を生成する。また、言語処理部12は、生成した単語列の中から、ストップワード辞書26を用いて、不要な単語を除外する。
【0029】
同義辞書24は、同義とみなす単語を定義する辞書である。意味汎用化辞書25は、単語が属するグループを定義する辞書である。ストップワード辞書26は、学習モデルの構築及び診断において不要となる単語を定義する辞書である。同義辞書24、意味汎用化辞書25、及びストップワード辞書26、は、実施の形態1では、データ格納部20に予め格納されている。
【0030】
特徴ベクトル生成部13は、訓練データの取得先となった患者毎に、言語処理部12が生成した単語列に含まれる単語それぞれについて、その特徴を抽出して、特徴ベクトルを生成する。また、特徴ベクトル生成部13は、グループが同一の複数の単語については同一の単語として、その特徴を抽出する。
【0031】
具体的には、特徴ベクトル生成部13は、単語列に含まれる単語毎に、その特徴として、N-gram素性、係り受け素性、共起素性、付加スパン素性、文書メタ属性素性、Word Embedding素性、周辺文脈素性、述語項素性、及びダミー素性を抽出し、抽出した各素性を用いて、特徴ベクトルを生成する。
【0032】
更に、特徴ベクトル生成部13は、訓練データの取得先となった患者毎に、言語処理部12が生成した単語列に含まれる単語それぞれについて、その出現回数に基づいて重みを算出することもできる。この場合、特徴ベクトル生成部13は、単語列毎に、算出した重みを用いて、各単語列が他の単語列に含意されているかどうかを示す指標を算出し、そして、訓練データの取得先となった患者毎に、抽出した特徴と算出した指標とを用いて、特徴ベクトルを生成する。
【0033】
学習モデル生成部17は、訓練データの取得先となった患者毎に生成された特徴ベクトルと、訓練データの取得先となった患者毎に付与された、各患者が特定の病気であるかどうかを示すラベルと、を訓練データとして、機械学習を行って、学習モデル23を生成する。利用可能な機械学習の手法としては、例えば、サポートベクトルマシンが挙げられる。なお、実施の形態1において、機械学習の手法は特に限定されるものではない。機械学習の手法としては、例えば、深層学習が用いられても良い。
【0034】
診断モード:
続いて、診断モードについて説明する。診断モードでは、まず、データ取得部15が、端末装置30から、診断対象となる患者の所見データ21と、診断対象となる患者の検査データ22と取得し、取得した所見データ21及び検査データ22をデータ格納部20に出力する。
【0035】
また、テキスト処理部11は、データ格納部20に格納されている患者の検査データ22を取得する。そして、テキスト処理部11は、検査データ22に基づき、診断対象となる患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する。
【0036】
言語処理部12は、データ格納部20に格納されている患者の所見データ21を取得する。そして、言語処理部12は、診断対象となる患者の所見データ21及び検査テキストデータに対して、言語処理を行って、診断対象となる患者の状態を表現する単語列を生成する。具体的には、診断モードにおいても、言語処理部12は、言語処理として、所見データ及び検査テキストデータから単語を抽出し、系列ラベリングを実行して、単語列を生成する。
【0037】
特徴ベクトル生成部13は、診断対象となった患者について生成された単語列に含まれる単語それぞれについて、その特徴を抽出して、特徴ベクトルを生成する。具体的には、特徴ベクトル生成部13は、診断モードにおいても、単語列に含まれる単語毎に、その特徴として、N-gram素性、係り受け素性、共起素性、付加スパン素性、文書メタ属性素性、Word Embedding素性、周辺文脈素性、述語項素性、及びダミー素性、を抽出し、抽出した各素性を用いて、特徴ベクトルを生成する。
【0038】
判定部14は、学習モデル生成部17によって生成された学習モデル23に、特徴ベクトル生成部13が素性を抽出して生成した特徴ベクトルを入力して、診断対象となる患者が特定の病気に羅患している可能性を判定する。
【0039】
[装置動作]
次に、実施の形態1における診断支援装置10の動作について、モード毎に図3及び図4を用いて説明する。以下の説明においては、適宜図1及び図2を参照する。また、実施の形態1では、診断支援装置10を動作させることによって、診断支援方法が実施される。よって、実施の形態1における診断支援方法の説明は、以下の診断支援装置10の動作説明に代える。
【0040】
学習モード:
最初に図3を用いて、学習モード時における診断支援装置10の動作について説明する。図3は、実施の形態1における診断支援装置の学習モード時での動作を示すフロー図である。
【0041】
図3に示すように、最初に、データ取得部15が、端末装置30から、訓練データの元となる各患者の所見データ21と、各患者の検査結果を示す検査データ22と取得する(ステップA1)。
【0042】
また、ステップA1では、データ取得部15は、取得した所見データ21及び検査データ22をデータ格納部20に出力する。データ格納部20は、出力されてきた各患者の所見データ及び検査データを格納する。
【0043】
次に、テキスト処理部11は、訓練データの取得先となった患者毎に、ステップA1で取得された各患者の検査データ22に基づいて、各患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する(ステップA2)。
【0044】
次に、言語処理部12は、訓練データの取得先となった患者毎に、ステップA1で取得された各患者の所見データ21、及びステップA2で生成された各患者の検査テキストデータに対して、言語処理を行って、各患者の状態を表現する単語列を生成する(ステップA3)。
【0045】
次に、特徴ベクトル生成部13は、訓練データの取得先となった患者毎に、ステップA3で生成された単語列に含まれる単語それぞれについて、その特徴を抽出して、特徴ベクトルを生成する(ステップA4)。
【0046】
具体的には、ステップA4では、特徴ベクトル生成部13は、単語列に含まれる単語毎に、その特徴として、N-gram素性、係り受け素性、共起素性、付加スパン素性、文書メタ属性素性、Word Embedding素性、周辺文脈素性、述語項素性、及びダミー素性を抽出する。
【0047】
更に、ステップA4では、特徴ベクトル生成部13は、単語列間の含意関係を特徴ベクトルに加えるため、訓練データの取得先となった患者毎に、単語列に含まれる単語それぞれについて重みを算出し、算出した重みを用いて、単語列毎に、各単語列が他の単語列に含意されているかどうかを示す指標を算出する。そして、特徴ベクトル生成部13は、訓練データの取得先となった患者毎に、抽出した特徴と算出した指標とを用いて、特徴ベクトルを生成する。
【0048】
次に、学習モデル生成部17は、ステップA4において訓練データの取得先となった患者毎に生成された特徴ベクトルと、訓練データの取得先となった患者毎に付与された、各患者が特定の病気であるかどうかを示すラベルと、を訓練データとして、機械学習を実行する(ステップA5)。ステップA5の実行により、患者の状態と特定の病気との関係が機械学習された学習モデル23が生成される。生成された学習モデル23は、データ格納部20に格納される。
【0049】
診断モード:
続いて、図4を用いて、診断モード時における診断支援装置10の動作について説明する。図4は、実施の形態1における診断支援装置の診断モード時での動作を示すフロー図である。
【0050】
図4に示すように、最初に、データ取得部15が、端末装置30から、診断対象となる患者の所見データ21と、診断対象となる患者の検査データ22とを取得する(ステップB1)。
【0051】
また、ステップB1でも、データ取得部15は、取得した所見データ21及び検査データ22をデータ格納部20に出力する。データ格納部20は、出力されてきた各患者の所見データ21及び検査データ22を格納する。
【0052】
次に、テキスト処理部11は、ステップB1で取得された各患者の検査データ22に基づいて、診断対象となる患者毎の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する(ステップB2)。
【0053】
次に、言語処理部12は、訓練データの取得先となった患者毎に、ステップB1で取得された各患者の所見データ21、及びステップB2で生成された各患者の検査テキストデータに対して、言語処理を行って、各患者の状態を表現する単語列を生成する(ステップB3)。
【0054】
次に、特徴ベクトル生成部13は、訓練データの取得先となった患者毎に、ステップB3で生成された単語列に含まれる単語それぞれについて、その特徴を抽出して、特徴ベクトルを生成する(ステップB4)。
【0055】
具体的には、ステップB4では、特徴ベクトル生成部13は、単語列に含まれる単語毎に、その特徴として、N-gram素性、係り受け素性、共起素性、付加スパン素性、文書メタ属性素性、Word Embedding素性、周辺文脈素性、述語項素性、及びダミー素性を抽出し、抽出した各素性を用いて、特徴ベクトルを生成する。
【0056】
次に、判定部14は、図3に示したステップA1~A5によって生成された学習モデル23に、ステップB4で生成された特徴ベクトルを入力して、診断対象となる患者が特定の病気に羅患している可能性を判定する(ステップB5)。
【0057】
その後、出力部16は、ステップB5における判定部14による判定の結果を、端末装置30に出力する(ステップB6)。
【0058】
[具体例]
続いて、図5図14を用いて、実施の形態1における診断支援装置10の具体例について、モード毎に、図3及び図4に示した各ステップに沿って説明する。また、以下の具体例では、判定の対象となる病気が、原発性免疫不全症(PID)であるとする。
【0059】
[具体例:学習モード]
ステップA1では、データ取得部15は、例えば、図5に示す患者毎の所見データ及び検査データを取得する。図5は、実施の形態1において訓練データとなる所見データ及び検査データの一例を示す図である。
【0060】
図5の例では、所見データ及び検査データには、ラベルとして、疾患の欄に「PID」又は「健常者」が付与されている。また、図5の例において、検査データは、3つの検査項目「NEUTROPHIL(好中球)」、「IgG(免疫ガンマグロブリンG)」、及び「CD3(T細胞)」で構成されている。「NEUTROPHIL(好中球)」は、血液検査の一種であり、単位は「10/μL」である。「IgG(免疫ガンマグロブリンG)」は抗体検査の一種であり、単位は「mg/dL」である。「CD3(T細胞)」は、FACS検査の一種であり、単位は「リンパ球中の割合%」である。
【0061】
ステップA2では、テキスト処理部11は、例えば、図6に示すように、予め設定された変換ルールに基づいて、検査データを構成する各検査項目の数値を、それを表現する単語に変換して、検査テキストデータを生成する。図6は、実施の形態1において生成された検査テキストデータの一例を示す図である。図6においては、所見データも示されている。また、図6の例では、検査データは、上段の形式に変更された後、更に、下段の形式へと変更される。
【0062】
図6の例では、変換ルールは、検査項目毎に年齢に応じて設定されており、数値を、その大きさに応じて「異常」又は「変換」に変換するルールである。例えば、図5において患者Aの「NEUTROPHIL」、「IgG」、及び「CD3」の数値は、それぞれ、300、850、77であったが、これらは、図6に示すように、(NEUT)異常、(IgG)正常、(CD3)正常に変換される。
【0063】
ステップA3では、言語処理部12は、まず、図7に示すように、所見データ21及び検査テキストデータに対して言語解析を行って、これらを構成する単語を抽出し、更に、その品詞を特定する。図7は、実施の形態1における言語処理によって抽出された単語と特定された品詞との一例を示す図である。
【0064】
続いて、言語処理部12は、図8に示すように、抽出した特定の品詞の単語と検査テキストデータに含まれる単語とに対して、同義辞書24及び意味汎用化辞書25を用いて、グルーピングを行い、各単語にグループを示すラベルを付与して、単語列を生成する。図8は、実施の形態1における言語処理によって行われたグルーピングの一例を示す図である。
【0065】
その後、言語処理部12は、図9に示すように、生成した単語列の中から、ストップワード辞書26を用いて、機械学習において不要となる単語を除外する。図9は、実施の形態1における言語処理によって不要な単語が除外された単語列の一例を示す図である。図10は、実施の形態1で用いられる、ストップワード辞書、同義辞書、意味汎用化辞書の一例を示す図である。
【0066】
ステップA4では、まず、特徴ベクトル生成部13は、単語列に含まれる単語毎に、その特徴として、N-gram素性、係り受け素性、共起素性、付加スパン素性、文書メタ属性素性、Word Embedding素性、周辺文脈素性、述語項素性、及びダミー素性を抽出する。
【0067】
更に、ステップA4では、特徴ベクトル生成部13は、単語列間の含意関係を特徴ベクトルに加えるため、訓練データの取得先となった患者毎に、単語列に含まれる単語それぞれについて重みを算出する。
【0068】
具体的には、特徴ベクトル生成部13は、各単語について、例えば、下記の数1を用いて単語出現頻度(TF:Term Frequency)を求め、下記の数2を用いて逆文書頻度(IDF:InverseDocument Frequency)を求める。そして、特徴ベクトル生成部13は、求めたTF及びIDFを数3に適用して、重みを算出する。
【0069】
【数1】
【0070】
【数2】
【0071】
【数3】
【0072】
また、上記数1~数3において、各パラメータの意味は下記の通りである。
:単語
:文書(文字列)
freq(w,d):文書d中の単語wの出現回数
Not(d) :文書d中の単語の種類の数数
DOC :文書集合中の全文書数
DF(w) :文書集合中の単語wの出現回数
【0073】
ここで、図9に示した単語列(患者A)を構成する単語「炎症G_肺炎」を例に挙げて、重みを計算する。この場合、freq(「炎症G_肺炎」:単語,患者A)=1、Not(患者A)=6、NDOC=3、DF(「炎症G_肺炎」)=2となるので、TF=log2/log7=0.356、IDF=log(3/3)+1=1となるので、重み=TD・IDF=0.356×1=0.356となる。
【0074】
更に、特徴ベクトル生成部13は、算出した重みを用いて、単語列毎に、各単語列が他の単語列に含意されているかどうかを示す指標を算出する。具体的には、特徴ベクトル生成部13は、下記の数4を用いて、単語列毎の指標を算出する。また、下記の数4では、n番目の単語列がm番目の単語列に含有されているかどうかを示す指標nが算出されている。
【数4】
【0075】
例えば、患者Aについての単語列と、患者Bについての単語列とについて、図11に示すように、各単語の重みが算出されているとする。図11は、図9に示した単語列について計算した重みの一例を示す図である。
【0076】
図11の例では、患者Bについての単語列の指標は、患者Bについての単語列を構成する各単語の重みの合計値が、5.0+0.5+0.5+1.0+1.0=8となり、患者Aについての単語列を構成する各単語の重みの合計値が、1.5+5.0+3.0+4.0+1.0+2.5=17となる。従って、患者Bについて単語列の患者Aについての単語列に対する指標は、0.47となる。患者Bについて単語列の指標は、他の患者の単語列に対しても行われる。
【0077】
そして、特徴ベクトル生成部13は、図12(a)に示すように、訓練データの取得先となった患者毎に、単語列を構成する単語それぞれについて、抽出した特徴と算出した指標とを用いて、特徴ベクトルを生成する。また、図12(b)に示すように、特徴ベクトルは、素性を抽出して得られた特徴と含意関係を表す指標とで構成されている。図12(a)は、実施の形態1において生成された特徴ベクトルの一例を示す図であり、図12(b)は、実施の形態1において作成される特徴ベクトルの構成を示す図である。
【0078】
ステップA5では、学習モデル生成部17は、図13に示すように、患者毎に生成された特徴ベクトルと、訓練データの取得先となった患者毎に付与された、各患者が特定の病気であるかどうかを示すラベルと、を訓練データとして、機械学習を実行する。これにより、例えば、図13に示す学習モデルが構築される。図13は、実施の形態1で生成される学習モデルの一例を示す図である。図13の例では、機械学習により、各素性(単語)の重要度(重み)が計算されている。
【0079】
[具体例:診断モード]
ステップB1では、データ取得部15は、診断対象となる患者の所見データ及び検査データを取得する。取得される所見データ及び検査データは、図5に準じたものとなる。
【0080】
ステップB2では、テキスト処理部11は、ステップA2と同様にして、予め設定された変換ルールに基づいて、検査データを構成する各検査項目の数値、それを表現する単語に変換して、検査テキストデータを生成する。ステップB2で生成される検査テキストデータは、図6に準じたものとなる(但し、ラベル(疾患)は除く)。
【0081】
ステップB3では、言語処理部12は、診断対象となり患者の所見データ及び検査テキストデータに対して言語解析を行って、これらを構成する単語を抽出し、更に、その品詞を特定する。
【0082】
続いて、ステップB3では、言語処理部12は、抽出した特定の品詞の単語と検査テキストデータに含まれる単語とに対して、同義辞書24及び意味汎用化辞書25を用いて、グルーピングを行い、各単語にグループを示すラベルを付与して、単語列を生成する。
【0083】
その後、ステップB3では、言語処理部12は、生成した単語列の中から、ストップワード辞書26を用いて、機械学習において不要となる単語を除外する。ステップB3で生成される単語列は、図9に示したものに準じたものとなる(但し、ラベル(疾患)は除く)。
【0084】
ステップB4では、特徴ベクトル生成部13は、ステップB3で生成した単語列に含まれる単語毎に、その特徴として、N-gram素性、係り受け素性、共起素性、付加スパン素性、文書メタ属性素性、Word Embedding素性、周辺文脈素性、述語項素性、及びダミー素性を抽出する。そして、特徴ベクトル生成部13は、抽出した各素子のみを用いて、特徴ベクトルを生成する(図14参照)。
【0085】
ステップB5では、判定部14は、図14に示すように、ステップA5で作成された学習モデル23に、ステップB4で生成された特徴ベクトルを入力して、診断対象となる患者がPIDに羅患している可能性を判定する。図14は、実施の形態1における判定処理の一例を示す図である。図14の例では、患者CがPIDの可能性があると判定されている。
【0086】
その後、ステップB6において、出力部16が、ステップB5における判定部14による判定の結果を、端末装置30に出力する。これにより、端末装置30の画面上に、判定結果が表示される。医師は、画面に表示された結果を参照して、最終的な判断を行うことができる。
【0087】
[実施の形態1による効果]
以上のように、実施の形態1では、診断対象となる患者の検査結果が単語に変換され、その後、変換された単語と医師の所見とを用いて、入力データ(特徴ベクトル)が作成され、これが学習モデルに入力されて、患者が特定の病気に羅患しているかどうかが判定される。実施の形態1によれば、所見(テキスト)と検査結果(数値)とによる医療診断において、機械学習による支援が可能となる。
【0088】
[プログラム]
実施の形態1におけるプログラムとしては、例えば、コンピュータに、図3に示すステップA1~A5、図4に示すステップB1~B6を実行させるプログラムが挙げられる。このプログラムをコンピュータにインストールし、実行することによって、実施の形態1における診断支援装置10と診断支援方法とを実現することができる。この場合、コンピュータのプロセッサは、テキスト処理部11、言語処理部12、特徴ベクトル生成部13、判定部14、データ取得部15、出力部16、及び学習モデル生成部17として機能し、処理を行なう。
【0089】
また、実施の形態1では、データ格納部20は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現されていても良いし、別のコンピュータの記憶装置によって実現されていても良い。
【0090】
また、コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。更に、コンピュータは、医師等の端末装置30であっても良く、この場合は、診断支援装置10は、端末装置30のオペレーティングシステム上に構築されることになる。
【0091】
また、実施の形態1におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、テキスト処理部11、言語処理部12、特徴ベクトル生成部13、判定部14、データ取得部15、出力部16、及び学習モデル生成部17のいずれかとして機能しても良い。
【0092】
(実施の形態2)
次に、実施の形態2において、学習モデル生成装置、学習モデル生成方法、及びプログラムについて、図15を参照しながら説明する。図15は、実施の形態2における学習モデル生成装置の構成を示すブロック図である。
【0093】
図15に示すように、実施の形態2における学習モデル生成装置40は、テキスト処理部11と、言語処理部12と、特徴ベクトル生成部13と、データ取得部15と、出力部16と、学習モデル生成部17と、データ格納部20とを備えている。
【0094】
つまり、実施の形態2において、学習モデル生成装置40は、判定部14を備えていない点を除き、図2に示した実施の形態1における診断支援装置10と同様の構成を備えている。学習モデル生成装置40は、診断支援装置10における学習モードでの処理のみを行う装置であり、学習モデル23の生成のみを目的としている。
【0095】
実施の形態2において、テキスト処理部11、言語処理部12、特徴ベクトル生成部13、データ取得部15、出力部16、学習モデル生成部17、及びデータ格納部20は、実施の形態1において説明した「学習モード」での処理を実行する。
【0096】
また、実施の形態2では、学習モデル生成装置40は、図3に示したステップA1~A5を実行する。これにより、実施の形態2における学習モデル生成方法は実施される。更に、実施の形態2におけるプログラムとしては、例えば、コンピュータに、図3に示すステップA1~A5を実行させるプログラムが挙げられる。
【0097】
このプログラムをコンピュータにインストールし、実行することによって、実施の形態2における学習モデル生成装置40と学習モデル生成方法とを実現することができる。この場合、コンピュータのプロセッサは、テキスト処理部11、言語処理部12、特徴ベクトル生成部13、判定部14、データ取得部15、出力部16、及び学習モデル生成部17として機能し、処理を行なう。
【0098】
また、実施の形態2では、データ格納部20は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現されていても良いし、別のコンピュータの記憶装置によって実現されていても良い。
【0099】
また、実施の形態2においても、コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。更に、コンピュータは、医師等の端末装置30であっても良く、この場合は、診断支援装置10は、端末装置30のオペレーティングシステム上に構築されることになる。
【0100】
また、実施の形態2におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、テキスト処理部11、言語処理部12、特徴ベクトル生成部13、判定部14、データ取得部15、出力部16、及び学習モデル生成部17のいずれかとして機能しても良い。
【0101】
[実施の形態2による効果]
実施の形態2によって、学習モデルを生成すれば、診断対象となる患者の検査結果から得られた単語と医師の所見とを用いて、患者が特定の病気に羅患しているかどうかを判定することができる。実施の形態2によれば、所見(テキスト)と検査結果(数値)とによる医療診断において、機械学習による支援が可能となる。
【0102】
[物理構成]
ここで、実施の形態1及び2におけるプログラムを実行することによって、診断支援装置又は学習モデル生成装置を実現するコンピュータについて図16を用いて説明する。図16は、実施の形態1における診断支援装置又は実施の形態2における学習モデル生成装置を実現するコンピュータの一例を示すブロック図である。
【0103】
図16に示すように、コンピュータ110は、CPU(CentralProcessing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
【0104】
また、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-ProgrammableGate Array)を備えていても良い。この態様では、GPU又はFPGAが、実施の形態におけるプログラムを実行することができる。
【0105】
CPU111は、記憶装置113に格納された、コード群で構成された実施の形態におけるプログラムをメインメモリ112に展開し、各コードを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。
【0106】
また、実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
【0107】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0108】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0109】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact DiskRead Only Memory)などの光学記録媒体が挙げられる。
【0110】
なお、実施の形態1における診断支援装置10及び実施の形態2における学習モデル生成装置40は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、実施の形態1における診断支援装置10及び実施の形態2における学習モデル生成装置40は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【0111】
上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記17)によって表現することができるが、以下の記載に限定されるものではない。
【0112】
(付記1)
診断対象となる患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する、テキスト処理部と、
前記診断対象となる患者に対する医師の所見を示す言葉を含む所見データ、及び前記診断対象となる患者の前記検査テキストデータに対して、言語処理を行って、前記患者の状態を表現する単語列を生成する、言語処理部と、
前記診断対象となる患者の状態を表現する前記単語列に含まれる単語毎に、その特徴を抽出して、特徴ベクトルを生成する、特徴ベクトル生成部と、
患者の状態と特定の病気との関係が機械学習された学習モデルに、生成された前記特徴ベクトルを入力して、前記診断対象となる患者が前記特定の病気に羅患している可能性を判定する、判定部と、
を備えている、
ことを特徴とする診断支援装置。
【0113】
(付記2)
付記1に記載の診断支援装置であって、
患者から取得した訓練データを用いて、前記学習モデルを生成する、学習モデル生成部を備え、
前記テキスト処理部は、前記訓練データの取得先となった患者毎に、当該患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する、
前記言語処理部は、前記訓練データの取得先となった患者毎に、当該患者の前記所見データ、及び当該患者の前記検査テキストデータに対して、言語処理を行って、当該患者の状態を表現する単語列を生成し、
前記特徴ベクトル生成部は、前記訓練データの取得先となった患者毎に、当該患者の状態を表現する前記単語列に含まれる単語それぞれについて、その特徴を抽出して、特徴ベクトルを生成し、
前記学習モデル生成部は、前記患者毎に生成された前記特徴ベクトルと、前記訓練データの取得先となった患者毎に付与された、当該患者が特定の病気であるかどうかを示すラベルと、を前記訓練データとして、機械学習を行って、前記学習モデルを生成する、
ことを特徴とする診断支援装置。
【0114】
(付記3)
付記2に記載の診断支援装置であって、
前記特徴ベクトル生成部が、前記訓練データの取得先となった患者毎に、当該患者の状態を表現する前記単語列に含まれる単語それぞれについて、その出現回数に基づいて重みを算出し、前記単語列毎に、当該単語列が他の単語列に含意されているかどうかを示す指標を算出し、そして、前記患者毎に、抽出した前記特徴と算出した前記指標とを用いて、前記特徴ベクトルを生成する、
ことを特徴とする診断支援装置。
【0115】
(付記4)
付記1~3のいずれかに記載の診断支援装置であって、
前記言語処理部が、前記言語処理として、前記所見データ及び前記検査テキストデータから、これらを構成する単語を抽出し、抽出した前記単語に対して、同義とみなす単語を定義する同義辞書及び単語が属するグループを定義する意味汎用化辞書を用いて、グルーピングを行い、更に、抽出した前記単語に前記グループを示すラベルを付与して、前記単語列を生成し、
前記特徴ベクトル生成部が、グループが同一の複数の単語については同一の単語として、前記単語の特徴を抽出する、
ことを特徴とする診断支援装置。
【0116】
(付記5)
付記1~4のいずれかに記載の診断支援装置であって、
前記特徴ベクトル生成部が、前記単語列に含まれる単語毎に、その特徴として、N-gram素性、係り受け素性、共起素性、付加スパン素性、文書メタ属性素性、Word Embedding素性、周辺文脈素性、述語項素性、及びダミー素性を抽出し、抽出した各素性を用いて、前記特徴ベクトルを生成する、
ことを特徴とする診断支援装置。
【0117】
(付記6)
患者毎に、当該患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する、テキスト処理部と、
前記患者毎に、当該患者に対する医師の所見を示す言葉を含む所見データ、及び当該患者の前記検査テキストデータに対して、言語処理を行って、当該患者の状態を表現する単語列を生成する、言語処理部と、
前記患者毎に、当該患者の状態を表現する前記単語列に含まれる単語それぞれについて、その特徴を抽出して、特徴ベクトルを生成する、特徴ベクトル生成部と、
前記患者毎に生成された前記特徴ベクトルと、前記患者毎に付与された、当該患者が特定の病気であるかどうかを示すラベルと、を訓練データとして、機械学習を行って、学習モデルを生成する、学習モデル生成部と、
を備えている、
ことを特徴とする学習モデル生成装置。
【0118】
(付記7)
付記6に記載の学習モデル生成装置であって、
前記特徴ベクトル生成部が、前記訓練データの取得先となった患者毎に、当該患者の状態を表現する前記単語列に含まれる単語それぞれについて、その出現回数に基づいて重みを算出し、前記単語列毎に、当該単語列が他の単語列に含意されているかどうかを示す指標を算出し、そして、前記患者毎に、抽出した前記特徴と算出した前記指標とを用いて、前記特徴ベクトルを生成する、
ことを特徴とする学習モデル生成装置。
【0119】
(付記8)
診断対象となる患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する、テキスト処理ステップと、
前記診断対象となる患者に対する医師の所見を示す言葉を含む所見データ、及び前記診断対象となる患者の前記検査テキストデータに対して、言語処理を行って、前記患者の状態を表現する単語列を生成する、言語処理ステップと、
前記診断対象となる患者の状態を表現する前記単語列に含まれる単語毎に、その特徴を抽出して、特徴ベクトルを生成する、特徴ベクトル生成ステップと、
患者の状態と特定の病気との関係が機械学習された学習モデルに、生成された前記特徴ベクトルを入力して、前記診断対象となる患者が前記特定の病気に羅患している可能性を判定する、判定ステップと、
を有している、
ことを特徴とする診断支援方法。
【0120】
(付記9)
付記8に記載の診断支援方法であって、
患者から取得した訓練データを用いて、前記学習モデルを生成する、学習モデル生成ステップを更に有し、
前記テキスト処理ステップにおいて、前記訓練データの取得先となった患者毎に、当該患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する、
前記言語処理ステップにおいて、前記訓練データの取得先となった患者毎に、当該患者の前記所見データ、及び当該患者の前記検査テキストデータに対して、言語処理を行って、当該患者の状態を表現する単語列を生成し、
前記特徴ベクトル生成ステップにおいて、前記訓練データの取得先となった患者毎に、当該患者の状態を表現する前記単語列に含まれる単語それぞれについて、その特徴を抽出して、特徴ベクトルを生成し、
前記学習モデル生成ステップにおいて、前記患者毎に生成された前記特徴ベクトルと、前記訓練データの取得先となった患者毎に付与された、当該患者が特定の病気であるかどうかを示すラベルと、を前記訓練データとして、機械学習を行って、前記学習モデルを生成する、
ことを特徴とする診断支援方法。
【0121】
(付記10)
付記9に記載の診断支援方法であって、
前記特徴ベクトル生成ステップにおいて、前記訓練データの取得先となった患者毎に、当該患者の状態を表現する前記単語列に含まれる単語それぞれについて、その出現回数に基づいて重みを算出し、前記単語列毎に、当該単語列が他の単語列に含意されているかどうかを示す指標を算出し、そして、前記患者毎に、抽出した前記特徴と算出した前記指標とを用いて、前記特徴ベクトルを生成する、
ことを特徴とする診断支援方法。
【0122】
(付記11)
付記8~10のいずれかに記載の診断支援方法であって、
前記言語処理ステップにおいて、前記言語処理として、前記所見データ及び前記検査テキストデータから、これらを構成する単語を抽出し、抽出した前記単語に対して、同義とみなす単語を定義する同義辞書及び単語が属するグループを定義する意味汎用化辞書を用いて、グルーピングを行い、更に、抽出した前記単語に前記グループを示すラベルを付与して、前記単語列を生成し、
前記特徴ベクトル生成ステップにおいて、グループが同一の複数の単語については同一の単語として、前記単語の特徴を抽出する、
ことを特徴とする診断支援方法。
【0123】
(付記12)
付記8~11のいずれかに記載の診断支援方法であって、
前記特徴ベクトル生成ステップにおいて、前記単語列に含まれる単語毎に、その特徴として、N-gram素性、係り受け素性、共起素性、付加スパン素性、文書メタ属性素性、Word Embedding素性、周辺文脈素性、述語項素性、及びダミー素性を抽出し、抽出した各素性を用いて、前記特徴ベクトルを生成する、
ことを特徴とする診断支援方法。
【0124】
(付記13)
コンピュータに、
診断対象となる患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する、テキスト処理ステップと、
前記診断対象となる患者に対する医師の所見を示す言葉を含む所見データ、及び前記診断対象となる患者の前記検査テキストデータに対して、言語処理を行って、前記患者の状態を表現する単語列を生成する、言語処理ステップと、
前記診断対象となる患者の状態を表現する前記単語列に含まれる単語毎に、その特徴を抽出して、特徴ベクトルを生成する、特徴ベクトル生成ステップと、
患者の状態と特定の病気との関係が機械学習された学習モデルに、生成された前記特徴ベクトルを入力して、前記診断対象となる患者が前記特定の病気に羅患している可能性を判定する、判定ステップと、
を実行させる、プログラム。
【0125】
(付記14)
付記13に記載のプログラムであって、
前記コンピュータに、
患者から取得した訓練データを用いて、前記学習モデルを生成する、学習モデル生成ステップを更に実行させ、
前記テキスト処理ステップにおいて、前記訓練データの取得先となった患者毎に、当該患者の検査結果における数値を、それを表現する単語に変換して、検査テキストデータを生成する、
前記言語処理ステップにおいて、前記訓練データの取得先となった患者毎に、当該患者の前記所見データ、及び当該患者の前記検査テキストデータに対して、言語処理を行って、当該患者の状態を表現する単語列を生成し、
前記特徴ベクトル生成ステップにおいて、前記訓練データの取得先となった患者毎に、当該患者の状態を表現する前記単語列に含まれる単語それぞれについて、その特徴を抽出して、特徴ベクトルを生成し、
前記学習モデル生成ステップにおいて、前記患者毎に生成された前記特徴ベクトルと、前記訓練データの取得先となった患者毎に付与された、当該患者が特定の病気であるかどうかを示すラベルと、を前記訓練データとして、機械学習を行って、前記学習モデルを生成する、
ことを特徴とするプログラム。
【0126】
(付記15)
付記14に記載のプログラムであって、
前記特徴ベクトル生成ステップにおいて、前記訓練データの取得先となった患者毎に、当該患者の状態を表現する前記単語列に含まれる単語それぞれについて、その出現回数に基づいて重みを算出し、前記単語列毎に、当該単語列が他の単語列に含意されているかどうかを示す指標を算出し、そして、前記患者毎に、抽出した前記特徴と算出した前記指標とを用いて、前記特徴ベクトルを生成する、
ことを特徴とするプログラム。
【0127】
(付記16)
付記13~15のいずれかに記載のプログラムであって、
前記言語処理ステップにおいて、前記言語処理として、前記所見データ及び前記検査テキストデータから、これらを構成する単語を抽出し、抽出した前記単語に対して、同義とみなす単語を定義する同義辞書及び単語が属するグループを定義する意味汎用化辞書を用いて、グルーピングを行い、更に、抽出した前記単語に前記グループを示すラベルを付与して、前記単語列を生成し、
前記特徴ベクトル生成ステップにおいて、グループが同一の複数の単語については同一の単語として、前記単語の特徴を抽出する、
ことを特徴とするプログラム。
【0128】
(付記17)
付記13~16のいずれかに記載のプログラムであって、
前記特徴ベクトル生成ステップにおいて、前記単語列に含まれる単語毎に、その特徴として、N-gram素性、係り受け素性、共起素性、付加スパン素性、文書メタ属性素性、Word Embedding素性、周辺文脈素性、述語項素性、及びダミー素性を抽出し、抽出した各素性を用いて、前記特徴ベクトルを生成する、
ことを特徴とするプログラム。
【産業上の利用可能性】
【0129】
以上のように本発明によれば、所見と検査結果とによる医療診断において、機械学習による支援を行うことができる。本発明は、医療診断を行うシステムにおいて有用である。
【符号の説明】
【0130】
10 診断支援装置
11 テキスト処理部
12 言語処理部
13 特徴ベクトル生成部
14 判定部
15 データ取得部
16 出力部
17 学習モデル生成部
20 データ格納部
21 所見データ
22 検査データ
23 学習モデル
24 同義辞書
25 意味汎用化辞書
26 ストップワード辞書
30 端末装置
40 学習モデル生成装置
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16