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

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

▶ 株式会社日立製作所の特許一覧

特開2023-76320学習データのためのデータモデル構成方法、学習データ生成装置、および機械学習方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023076320
(43)【公開日】2023-06-01
(54)【発明の名称】学習データのためのデータモデル構成方法、学習データ生成装置、および機械学習方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230525BHJP
   G06F 16/28 20190101ALI20230525BHJP
【FI】
G06N20/00
G06F16/28
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021189669
(22)【出願日】2021-11-22
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】直野 健
(72)【発明者】
【氏名】高田 実佳
(72)【発明者】
【氏名】増田 博亮
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175FA03
(57)【要約】
【課題】
本願発明の課題は、既存のデータから学習データを生成する際に、部分的な抽象化あるいは細分化を可能とすることにある。
【解決手段】
本発明の好ましい一側面は、機械学習用の学習データのためのデータモデルを構成する方法であって、前記学習データの基となるデータベースのデータ項目が、抽象度あるいは詳細度の階層構造を持つ場合に、前記データ項目の抽象度あるいは詳細度の指定をデータ項目ごとに可能とするとともに、データ項目を目的変数と説明変数に振り分けるフィルタを用いて、前記データベースから学習データに使用するデータ項目を抽出するデータモデルを構成する、学習データのためのデータモデル構成方法である。
【選択図】 図1
【特許請求の範囲】
【請求項1】
機械学習用の学習データのためのデータモデルを構成する方法であって、
前記学習データの基となるデータベースのデータ項目が、抽象度あるいは詳細度の階層構造を持つ場合に、
情報処理装置が、前記データ項目の抽象度あるいは詳細度の指定をデータ項目ごとに可能とするとともに、データ項目を目的変数と説明変数に振り分けるフィルタを用いて、
前記データベースから学習データに使用するデータ項目を抽出するデータモデルを構成する、
学習データのためのデータモデル構成方法。
【請求項2】
前記データ項目が分類と個別項目の階層構造を持つ場合に、
前記フィルタは、第1のフィルタ、第2のフィルタ、および第3のフィルタの機能を備え、
前記第1のフィルタが、各個別項目が目的変数か、説明変数か、不使用かを定め、
前記第2のフィルタが、各個別項目の抽象化を定め、
前記第3のフィルタが、各個別項目の抽象化を回避するかどうかを定める、
請求項1記載の学習データのためのデータモデル構成方法。
【請求項3】
前記データ項目が分類と個別項目の階層構造を持つ場合に、
前記フィルタは、第1のフィルタ、第2のフィルタ、および第3のフィルタの機能を備え、
前記第1のフィルタが、各分類が目的変数か、説明変数か、不使用かを定め、
前記第2のフィルタが、各分類の詳細化を定め、
前記第3のフィルタが、各分類の詳細化を回避するかどうかを定める、
請求項1記載の学習データのためのデータモデル構成方法。
【請求項4】
前記学習データの基となるデータベースを複数用い、各データベースのデータ項目が抽象度あるいは詳細度の階層構造を持つ場合に、
複数の前記データベースに前記フィルタをそれぞれ適用し、複数の前記データベースから学習データに使用するデータ項目を抽出して統合する統合フィルタとして機能させる、
請求項1記載の学習データのためのデータモデル構成方法。
【請求項5】
複数の前記データベースに適用する前記フィルタは、それぞれ特性が異なる、
請求項4記載の学習データのためのデータモデル構成方法。
【請求項6】
前記統合フィルタが複数の前記データベースそれぞれから抽出する、目的変数と説明変数の比率を算出する、
請求項5記載の学習データのためのデータモデル構成方法。
【請求項7】
前記統合フィルタの候補を複数準備し、
それぞれの前記統合フィルタの候補が、各データベースから抽出する目的変数と説明変数の比率を算出し、
入力された値に最も近い目的変数と説明変数の比率を実現する統合フィルタを選択する、
請求項6記載の学習データのためのデータモデル構成方法。
【請求項8】
機械学習用の学習データを生成する学習データ生成装置であって、学習データ生成部を備え、
前記学習データ生成部は、
前記学習データの基となるデータベースのデータ項目が、抽象度あるいは詳細度の階層構造を持つ場合に、
前記データ項目の抽象度あるいは詳細度の指定をデータ項目ごとに可能とするとともに、データ項目を目的変数と説明変数に振り分けるフィルタを用いて、
前記データベースから学習データに使用する目的変数または説明変数とするデータを抽出する、
学習データ生成装置。
【請求項9】
前記学習データの基となるデータベースを複数用い、各データベースのデータ項目が抽象度あるいは詳細度の階層構造を持つ場合に、
複数の前記データベースに前記フィルタをそれぞれ適用し、複数の前記データベースそれぞれから学習データに使用するデータを抽出して統合する統合フィルタとして機能させる、
請求項8記載の学習データ生成装置。
【請求項10】
複数の前記データベースに適用する前記フィルタは、それぞれ特性が異なる、
請求項9記載の学習データ生成装置。
【請求項11】
前記フィルタは、さらにデータベースのデータ項目を不使用とするかどうかを定める、
請求項9記載の学習データ生成装置。
【請求項12】
前記フィルタは、複数の前記データベースから抽出する目的変数および説明変数の少なくとも一つに対して論理演算を行うことにより、統合目的変数と統合説明変数を生成する機能を有する、
請求項9記載の学習データ生成装置。
【請求項13】
前記学習データ生成部は、
複数の前記データベースそれぞれから抽出する目的変数と説明変数の比率を選択する機能を有する、
請求項9記載の学習データ生成装置。
【請求項14】
前記学習データ生成部は、
複数種類の前記統合フィルタが、それぞれ各データベースから抽出する目的変数と説明変数の比率を算出し、
入力された値に最も近い目的変数と説明変数の比率を実現する統合フィルタを選択する、
請求項9記載の学習データ生成装置。
【請求項15】
情報処理装置が、請求項8記載の目的変数および説明変数を用いて機械学習モデルを学習する、機械学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習に用いる学習データの生成に関し、特に所定形式のデータを所望の形式のデータに変換して学習データを生成する技術に関する。
【背景技術】
【0002】
近年、機械学習モデルを用いた推論が実用化されている。機械学習モデルは学習データによって学習され、所定の入力(問題)に対して所定の出力(解答)を得る関数近似器として機能する。機械学習モデルを構成するDeep Neural Network(DNN)等の構成や、それを学習するための機械学習技術が知られている。
【0003】
機械学習モデルを用いた推論には、画像解析、音声認識、データ解析等各種の応用が知られているが、所望の用途の推論を精度よく行うためには、適切な学習データを得ることが重要である。
【0004】
教師あり学習を行うための学習データとしては、問題(説明変数)と正解(目的変数)の組を準備することが必要である。また、学習データは質と量が十分であることが望ましい。
【0005】
このような学習データを作成するコストは、実用上の課題となっている。このとき、すでに存在している各種データベースから説明変数と目的変数の組を抽出して利用することで、十分な質と量の学習データを効率的に準備することが期待される。
【0006】
特許文献1は、段階的に特徴量を選択することにより、学習モデルの出力結果に大きな影響を与える特徴量を段階的に絞ることができることを示していた。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2020-184212号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1では、特徴量を大分類から中分類、小分類へと段階を追って選択していくが、抽象化の方向や、抽象化を選択する範囲指定はない。
【0009】
すなわち、機械学習モデルに実行させたい推論の種類によっては、学習データの一部分は抽象化しつつ他の部分は抽象化しない等の調整が必要となる。しかし、従来は部分的に細かい目的関数の設定や、部分的に細かい説明変数の設定が困難である。
【0010】
そこで本願発明の課題は、既存のデータから学習データを生成する際に、部分的な抽象化あるいは細分化を可能とすることにある。
【課題を解決するための手段】
【0011】
本発明の好ましい一側面は、機械学習用の学習データのためのデータモデルを構成する方法であって、前記学習データの基となるデータベースのデータ項目が、抽象度あるいは詳細度の階層構造を持つ場合に、情報処理装置が、前記データ項目の抽象度あるいは詳細度の指定をデータ項目ごとに可能とするとともに、データ項目を目的変数と説明変数に振り分けるフィルタを用いて、前記データベースから学習データに使用するデータ項目を抽出するデータモデルを構成する、学習データのためのデータモデル構成方法である。
【0012】
本発明の好ましい他の一側面は、機械学習用の学習データを生成する学習データ生成装置であって、学習データ生成部を備え、前記学習データ生成部は、前記学習データの基となるデータベースのデータ項目が、抽象度あるいは詳細度の階層構造を持つ場合に、前記データ項目の抽象度あるいは詳細度の指定をデータ項目ごとに可能とするとともに、データ項目を目的変数と説明変数に振り分けるフィルタを用いて、前記データベースから学習データに使用する目的変数または説明変数とするデータを抽出する、学習データ生成装置である。
【0013】
本発明の好ましい他の一側面は、情報処理装置が、上記で得られた目的変数および説明変数を用いて機械学習モデルを学習する、機械学習方法である。
【発明の効果】
【0014】
既存のデータから学習データを生成する際に、部分的な抽象化あるいは細分化を可能とすることができる。
【図面の簡単な説明】
【0015】
図1】学習データのデータモデル生成方法の概念を示す概念図。
図2】疾病分野のデータ項目の例を示す表図。
図3】データモデルの例を示す表図。
図4】フィルタ条件を示す表図。
図5】調剤分野のデータ項目の例を示す表図。
図6】統合フィルタ条件の一例を示す表図。
図7】統合データモデルの例を示す表図。
図8】統合データモデルの詳細条件を示す表図。
図9A】データベースのデータ構成例を示す表図。
図9B】疾病データベースのデータ例を示す表図。
図9C】調剤データベースのデータ例を示す表図。
図10】ビッグテーブルの例を示す表図。
図11】統合フィルタ条件の他の例を示す表図。
図12】変数の分野間構成比率の例を示す表図。
図13】変数の分野間構成比率を表示するGUIの例を示すイメージ図。
図14】変数の分野間構成比率の調整を行うGUIの例を示すイメージ図。
図15】学習データ生成システムのブロック図。
図16A】学習データ生成システムの処理フロー図。
図16B】学習データ生成システムの処理フロー図(続き)。
図17】学習データ生成処理フロー図。
【発明を実施するための形態】
【0016】
以下に図面を参照しながら本発明の実施形態を説明する。なお、以下の説明により本発明が限定されるものではない。
【0017】
以下に説明する実施例の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
【0018】
同一あるいは同様な機能を有する要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、複数の要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【0019】
本明細書等における「第1」、「第2」、「第3」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【0020】
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
【0021】
本明細書で引用した刊行物、特許および特許出願は、そのまま本明細書の説明の一部を構成する。
【0022】
本明細書において単数形で表される構成要素は、特段文脈で明らかに示されない限り、複数形を含むものとする。
【0023】
以下で説明する実施例では、複数分野のデータを掛け合わせたデータ解析環境サービスを提供する際、適切なデータモデルを提供する。本実施例では、データモデルとは、少なくとも目的変数となるデータの要素と説明変数となるデータの要素を定義する機能を有する。また、データモデルは、付加される詳細情報として、データ要素間の関係の定義を含む場合がある。この場合、データモデルは、「目的変数となるデータの要素と説明変数となるデータの要素、およびデータ要素間の関係が定義されたデータモデル」として定義される。
【0024】
従来は、分野間の抽象度レベルの調整や、分野内の詳細度レベルの調整が困難であった。すなわち、データの抽象化の方向や、抽象化をやめる範囲指定がなく、部分的に細かい目的関数の設定や、部分的に細かい説明変数の設定が困難であった。
【0025】
以下の実施例では、最詳細データ層に対して、目的変数/説明変数振分けフィルタ、抽象化回避フィルタ、抽象化フィルタ、という3種類のフィルタ機能を有する統合フィルタを適用する。これにより、複数分野データを掛け合わせたデータ解析環境サービスを提供する際、適切なデータモデルを提供できる。
【0026】
さらに、統合フィルタのパラメータ自動チューニングにより、最適な統合フィルタを算出することが可能になる。すなわち、最適な統合フィルタを算出し、最適な分野間バランスを実現することが可能になる。
【0027】
このような実施例によると、学習データに適する統合データモデルの提案を含んだデーサービスが可能となるとともに、複数分野のデータを統合した学習データを得ることが可能になる。
【0028】
図1は、実施例で説明する学習データのデータモデル生成方法の概念を示す概念図である。既存のデータベースDB1,DB2,DB3のデータ項目に、フィルタ100を適用し、データモデル200を生成する。
【0029】
既存のデータベースは、一般にデータベース作成者が定義した階層構造を有しており、例えば大分類、中分類、小分類、個別項目のように、上位のデータ項目(分類)から下位のデータ項目(個別項目)に段階的に構成される。データベースDB1,DB2,DB3としては、既存の種々のデータベースを利用することができる。データベースとしては、1または複数の分野のものを用いることができる。
【0030】
フィルタ100は、作成しようとする機械学習モデルの用途や目的に応じて、当該分野に知見を持つ専門家等がフィルタ条件を設定し、フィルタデータとして保存しておく。当該フィルタ100は、データベースDBのデータ項目に対して作用する。
【0031】
フィルタ100は、データベースのデータ項目を上位のデータ項目にまとめる抽象化フィルタ、所定のデータ項目について抽象化フィルタを適用しない抽象化回避フィルタ、データベースのデータ項目を目的変数と説明変数に振り分ける目的・説明因子振り分けフィルタ等を備える。フィルタ100はまた、複数のデータベースを統合する際には、統合条件を指定する。
【0032】
データモデル200は、学習データをデータベースのデータから生成(抽出)する際のデータモデルである。1または複数の目的変数となるデータ項目と、1または複数の説明変数となるデータ項目を指定する。データモデル200の定義に従って、データベースDBからデータを抽出すると、学習データが生成できる。
【実施例0033】
既存データベースから学習データを生成する実施例を説明する。この実施例では、ある特定の疾患になった人が、他の疾患にかかっていたかを機械学習する際の、学習データを生成する。本実施例では、学習データを生成するための、適切なデータモデルを提供する。
【0034】
図2は循環器の疾患に関するデータベースのデータ項目300の一例を示す表図である。表中のアルファベットと数字の符号は、国際的な疾病分類であるICD10のコードであり、疾病名を表す。
【0035】
図2の例では、大分類は循環器の疾病全体であり、中分類は「虚血性心疾患」と「脳血管疾患」の心臓と脳に大別した2分類となり、小分類は4分類、個別項目は具体的な疾病名8種が定義される。このようにデータベースのデータの区分を意味するデータ項目は、階層構造を採用することが多い。ICD10のコードに対応する数字7桁のコードは厚生労働省が定めたコードである。
【0036】
実際のデータベースでは、図2に示す個別項目に従って、例えば各患者のIDおよびイベントごとにデータが格納されることになる。
【0037】
図3は、学習データが準拠すべきデータモデル200の構造の一例を示す。学習データは一般に、機械学習モデルの入力(説明変数)と期待される出力(目的変数)の組からなる。データベースに実際のデータを用いれば、問題である説明変数に対して正解である目的変数を得ることができる。
【0038】
図3のデータモデルに従って図2のデータ項目を持つデータベースから学習データを生成した場合、機械学習モデルは、例えば説明変数として「虚血性心疾患」(ただし「急性心筋梗塞」と「心筋梗塞」を除く)または「脳血管疾患」の症状を持つ患者が、目的変数である「急性心筋梗塞」または「心筋梗塞」の症状を発症するリスクを推定するように学習できる。あるいは、逆に目的変数から説明変数を推定してもよい。
【0039】
本実施例では、データベースから学習データを自動生成するため、フィルタという概念でデータモデルを生成して処理を行う。
【0040】
図4図2のデータ項目300で定義されるデータベースから図3のデータモデル200に従った学習データを抽出するためのフィルタの例である。
【0041】
フィルタ100では、抽象化フィルタは抽象度を中分類に指定している。これは図2のデータ項目300のうち、中分類である「虚血性心疾患」と「脳血管疾患」をデータ項目として使用することを指定している。すなわち、大分類、小分類および個別項目は無視され、個別項目に対応する中分類が学習データとして抽出される。
【0042】
抽象化回避フィルタでは、抽象化フィルタは個別項目の「急性心筋梗塞」と「心筋梗塞」には適用しないことを示す。このため、学習データにはこれらの個別項目のデータがそのまま抽出される。
【0043】
目的・説明因子振り分けフィルタでは、抽出されたデータに対して、「急性心筋梗塞」と「心筋梗塞」を目的変数、その他を説明変数として指定する。
【0044】
図2のデータ項目300に図4の条件のフィルタ100を適用すると、図3のデータモデル200が生成でき、データモデルに従ってデータベースからデータを抽出すれば学習データが生成される。
【0045】
本実施例によれば、既存のデータベースに基づいて、データ粒度(データ抽象度)を任意に変更した学習データを生成することができ、機械学習モデルの用途や目的に適した学習の実行が可能となる。上記の例では、特に個別項目の急性心筋梗塞と心筋梗塞に着目したリスクを、中分類の疾病に基づいて推定するように、機械学習モデルを構成することができる。
【実施例0046】
実施例2では、複数の分野のデータベースを統合して、学習データを生成する例を説明する。ここでは、疾病分野のデータベースと調剤分野のデータベースを統合する例を示す。このように複数分野のデータを組み合わせて統合データを作成することは機械学習分野で重要である。しかし、単純に両方のデータを合体すると重要性の低いデータも含むことになるとともに、データ量が膨大になり学習処理の負荷が大になる。そこで、統合する際のデータ選別が重要である。
【0047】
この例では、図2に示したデータ項目300に基づく疾病分野のデータベースと、図5に示したデータ項目300-2に基づく調剤分野のデータベースを統合して、学習データを生成する例を説明する。ある薬剤を処方されていて、ある疾病になった人が、どのような説明変数を持っていたかを機械学習するケースである。本実施例では、分野間の抽象度(詳細度)レベルの調整や、分野内の抽象度(詳細度)レベルの調整を可能とする。
【0048】
図5は、神経系及び感覚器官用医薬品に関する、調剤分野のデータベースのデータ項目300-2を示す。構成は図2の疾病分類のデータベースと同様であり、個別項目では薬品のコードが記載されている。なお、図2図5のデータ構造では分類は3階層であるが、1階層でもよいし4階層以上でもよい。すなわち分類の階層数はデータベース設計者の任意である。
【0049】
図6は、疾病分野のデータベースのデータ項目300と調剤分野のデータベースのデータ項目300-2を統合する統合フィルタ100Uの概念を示す図である。フィルタは、実施例1と同様に、抽象化フィルタ、抽象化回避フィルタ、および目的・説明因子振り分けフィルタを備える。
【0050】
図6に示すように、フィルタ条件は、目的・説明因子振り分けフィルタと抽象化回避フィルタは個別項目ごとに設定される。図2図5に示した例では、疾病分野のデータ項目300と調剤分野のデータ項目300-2は、ともに8個の個別項目を有している。図6では、図2図5に示したデータ項目の並び順に、各個別項目に対するフィルタ条件を図示している。なお、項目数は一例であり数はフィルタ設計者の任意である。
【0051】
また、抽象化フィルタはデータベースごとに設定される。この例では、疾病分野のデータ項目は中分類に抽象化し、調剤分野のデータ項目は小分類に抽象化する。
【0052】
疾病分野のデータ項目300に対するフィルタ条件は、実施例1のフィルタ条件と同様である。
【0053】
調剤分野のデータ項目300-2に対するフィルタ条件は、目的・説明因子振り分けフィルタでは、「ブスコパン錠10mg」と「ギャバロン錠5mg」が目的変数に指定され、「マイスリー錠5mg」と「フェノバール散10%」が不使用、その他が説明変数に指定される。抽象化フィルタでは、小分類が抽象化レベルに指定される。抽象化回避フィルタでは、「アキネトン錠1mg」、「プラミペキソール塩酸塩錠」、「ブスコパン錠10mg」、および「ギャバロン錠5mg」が、個別項目のまま使用される。
【0054】
図7は、統合フィルタ100Uで統合された統合データモデル200Uの例を示す図である。
【0055】
目的変数として、疾病分野の個別項目から、「急性心筋梗塞」と「心筋梗塞」が抽出される。また、目的変数として調剤分野の個別項目から「ブスコパン錠10mg」と「ギャバロン錠5mg」が抽出される。
【0056】
説明変数として、疾病分野のデータ項目から、中分類の「虚血性心疾患(ただし目的変数とした2つの個別項目を除く)」と「脳血管疾患」が抽出される。また、説明変数として、調剤分野のデータ項目から、小分類の「催眠鎮静剤(ただし2つの個別項目は不使用)」、「抗パーキンソン剤(ただし2つの個別項目は抽象化回避)」、「自律神経剤」、および「鎮けい剤(ただし目的変数とした2つの個別項目は抽象化回避)が抽出される。
【0057】
このように、変数に用いるデータの抽象度を、分類ごとに設定するものと、個別項目をそのまま用いるものとに、自由に設定することができる。たとえば、着目したいデータ項目は個別項目を用い、重要度の低い項目は分類でまとめるなど、詳細な説明変数の設定が可能になる。なお、上の例では、それぞれのデータベースから目的変数と説明変数を両方抽出しているが、目的変数だけ、あるいは説明変数だけを抽出してもよい。
【0058】
図8は、疾病分野のデータベースから得た変数と調剤分野のデータベースから得た変数を統合するための、データモデルの詳細条件を模式化したものである。統合目的変数は、「急性心筋梗塞」または「心筋梗塞」の目的変数を持ち、かつ、「ブスコバン錠100mg」または「ギャバロン錠5mg」の目的変数を持つもとする。統合説明変数は、図8に図示されるいずれかの説明変数を持つものとする。
【0059】
このデータモデルにより得られる学習データは、「急性心筋梗塞」または「心筋梗塞」の症状を持ち、かつ、「ブスコバン錠100mg」または「ギャバロン錠5mg」を処方された履歴のある人が、目的変数になっている種々の病歴または投薬のいずれと関係が深いかを学習するために適する。
【0060】
以上の例は一例であり、機械学習モデルに行わせる推定の内容により、周知の論理演算によって、所望の条件で複数のデータベースから得た目的変数と説明変数を組み合わせ、統合目的変数と統合説明変数を作成することができる。
【0061】
図9Aは、疾病分野のデータベースDB1と調剤分野のデータベースDB2のデータファイルの構成例を示す概念図である。2つのデータベースDB1とDB2は、個人IDによってクロスリファレンスが可能になっている。個人データベースDBPは、個人IDとその他の書誌事項を格納する。以下でも同様であるが、書誌事項の内容は任意である。
【0062】
図9Bは、疾病分野のデータベースDB1の1つのデータファイルの内容となる、疾病レセプトファイル901の例を示す図である。個人IDに紐づけて、医科レセプト番号や診断年月等の書誌事項と、個別項目である疾病名、疾病名コード、ICD10コードが記録される。個別項目は、図2に示した分類で階層化されている。
【0063】
図9Cは、調剤分野のデータベースDB2の1つのデータファイルの内容となる、調剤レセプトファイル902の例を示す図である。個人IDに紐づけて、調剤レセプト番号や処方年月などの書誌事項と、個別項目である調剤名、薬効分類コードが記録される。個別項目は、図5に示した分類で階層化されている。
【0064】
疾病分野のデータベースDB1と調剤分野のデータベースDB2には、図9B図9Cに例を示したデータファイルが多数格納されている。データファイルは、医科レセプト番号や調剤レセプト番号で特定できる。これらのデータから、図7に示したデータモデルに基づいてデータを抽出する。
【0065】
なお、上記のデータファイルの例は、個人IDごとに診療や調剤のイベントごとに独立のデータファイルになっているが、あらかじめ個人IDごとに統合したデータとしておいてもよい。
【0066】
図10は、疾病分野のデータベースDB1と調剤分野のデータベースDB2に、図6の統合フィルタ100Uを適用し、図7の統合データモデル200Uのデータ項目を抽出した例を示す。図7に示す個別項目あるいは抽象化した項目ごとに、該当するか否かを1と0で示している。その後、図8に示した詳細条件に基づいて、データファイルを抽出すると所望の学習データが得られる。
【0067】
図10の例は、ビッグテーブル1000として、統合フィルタ100Uが抽出したデータファイルの内容を統合した例を示している。上から1行目が図9Bの疾病レセプトファイル901の内容を示したもの、上から2行目が図9Cの調剤レセプトファイル902の内容を示したものに該当する。
【0068】
疾病分野のデータベースDB1と調剤分野のデータベースDB2には、それぞれ複数人のファイルが含まれ、通常1人の個人IDに複数のファイルが紐づけられる。図10の例では、個人IDが「F20011」の個人に紐づけられた10個のデータファイルが示されている。すでに説明したように、抽出された項目は、目的・説明因子振り分けフィルタにより目的変数と説明変数に分類されている。
【0069】
図8のデータモデルの詳細条件の論理式に従って、このビッグテーブル1000から、(「急性心筋梗塞」or「心筋梗塞」)and(「ブスコバン錠100mg」or「ギャバロン錠5mg」)が統合目的変数とされる。また、統合説明変数として各説明変数のいずれかを持つものが用いられる。
【0070】
個人IDが「F20011」のデータは、目的変数として「急性心筋梗塞」と「ブスコパン錠10mg」の両方を持ち、統合目的変数を持っているので、学習データとして用いることができる。この学習データを用いて、当該統合目的変数を持つ人が、どのような統合説明変数を持っていたか、統合説明変数の各項目との関係を学習する。
【0071】
以上のように、抽出され統合されたデータは、統合説明変数(問題)と統合目的変数(解答)を含む教師データとなるので、機械学習モデルの学習データとして用いることができる。
【実施例0072】
いままでの説明では、フィルタ100は、データベースのデータ項目を上位のデータ項目にまとめる抽象化フィルタ、所定のデータ項目について抽象化フィルタを適用しない抽象化回避フィルタ、データベースのデータ項目を目的変数と説明変数に振り分ける目的・説明因子振り分けフィルタを備えることとしていた。
【0073】
上記の例は粒度の小さいデータ(個別項目)を粒度の大きいデータ(分類)に抽象化するか否かという観点でフィルタを設計している。しかし、逆に粒度の大きいデータを粒度の小さいデータに詳細化(具体化)するか否かという観点でフィルタを設計することもできる。
【0074】
図11は、図6の統合フィルタ100Uの代案である統合フィルタ100U-2の概念を示す図である。図6の抽象化回避フィルタの代わりに、詳細化回避フィルタを備える。
【0075】
図6の統合フィルタ100Uでは、個別項目を大分類~小分類に抽象化することを原則として、抽象化回避フィルタで抽象化しない個別項目を指定していた。具体的には、第1のフィルタが、各個別項目が目的変数か、説明変数か、不使用かを定め、第2のフィルタが、各個別項目の抽象化を定め、第3のフィルタが、各個別項目の抽象化を回避するかどうかを定めている。
【0076】
図11の統合フィルタ100U-2では、第1のフィルタが、各分類が目的変数か、説明変数か、不使用かを定め、第2のフィルタが、各分類の詳細化を定め、第3のフィルタが、各分類の詳細化を回避するかどうかを定める。
【0077】
図11の統合フィルタ100U-2では、分類を個別項目に詳細化することを原則として、詳細化回避フィルタで詳細化しない(すなわち分類を項目に用いる)個別項目を指定する。統合フィルタ100Uと統合フィルタ100U-2は、結果として全く同じ機能を有する。
【実施例0078】
統合データモデルを構成する際に、目的とする機械学習モデルに行わせる推論や、元になるデータベースの特性に応じて、目的変数、説明変数の分野間の構成比率を調整したい場合が考えられる。その場合、統合データモデル300Uの特性を可視化することが望ましい。
【0079】
図12は、図7図8に示した統合データモデル200Uの分野間構成比率を可視化するGUI(Graphical User Interface)の例を示す図である。統合目的変数と統合説明変数のそれぞれに対して、データの粒度(抽象度)と採用数、および比率を示している。
【0080】
例えば、統合目的変数については、疾病分野のデータベースと調剤分野のデータベースから個別項目が各2個採用されているので、比率は50%ずつとなる。
【0081】
統合説明変数では、疾病分野のデータベースから中分類が2個(「虚血性心疾患」と「脳血管疾患」)、調剤分野のデータベースから小分類が3個(「抗パーキソン剤」、「自律神経剤」、および「鎮けい剤」)と個別項目が2個(「アキネトン錠1mg」と「プラミペキソール塩酸塩錠」)の合計5個が採用されている。
【0082】
図12の例では、比率は分類や個別項目の区別なく合計数の比率を示すが、項目の粒度別に示すこともできる。あるいは、項目の粒度に応じた重みづけをしてもよい。
【0083】
好ましい実施形態では、統合データモデル200Uやそのための統合フィルタ100Uは機械学習モデルの適用分野に知見を持つ専門家が設計してあらかじめデータとして記録しておく。その際に、異なる特性を持つ複数種類をあらかじめ作成、格納しておき、後に選択できるようにすることが望ましい。
【0084】
図13は、異なる特性を持つ3つの統合データモデルの特性を比較して可視化するGUIの例を示す図である。左側の表は図12の表と同様の形式であり、異なる統合データモデルのための統合フィルタA,B,Cの特性を示す。右側の図は、各統合データモデルについて、2つのデータベースからどのような割合でデータを採用しているかを示している。例えば統合フィルタAでは、疾病分野と調剤分野から50%ずつ採用しており、統合フィルタBでは、疾病分野から33%、調剤分野から67%採用している。
【0085】
学習データを作成しようとするユーザは、これらのGUIを参照して、所望の特性の統合データモデルを選択することができる。
【0086】
図14は、ユーザがデータモデルの特性を指定して、指定した特性に近い特性を持つデータモデルを選択するためのGUIの例を示す図である。
【0087】
ユーザは、領域1401において所望の理想分野間構成比率を指定する。システム側では、指定した特性と同じあるいは最も近いデータモデルを生成するための統合フィルタを領域1402に表示する。
【0088】
このようにして所望の特性を持つデータモデルを使用することができる。
【実施例0089】
上記の実施例を実現する具体的なシステム例と、処理フローの例を説明する。
【0090】
図15は、複数分野のデータベースに統合フィルタを適用して、所望のデータモデルに基づいた学習データを生成するための、学習データ生成システムのブロック図である。
【0091】
学習データ生成システム1500は、一般的なサーバのような情報処理装置で構成することができる。一般的なサーバと同じく、処理装置CPUと、メモリMEMと、入力装置INと、出力装置OUTと、各部を接続するバス(図示せず)を備えている。学習データ生成システム1500で実行されるプログラムは、メモリMEMに予め格納しておくものとする。
【0092】
本実施例では計算や制御等の機能は、メモリMEMに格納されたプログラムが処理装置CPUによって実行されることで、定められた処理を他のハードウェアと協働して実現される。処理装置CPUが実行するプログラム、その機能、あるいはその機能を実現する手段を、「機能」、「手段」、「部」、「ユニット」、「モジュール」等と呼ぶ場合がある。
【0093】
本実施例では、メモリMEMには、後述する処理を実行するためのソフトウェアとして、学習データ生成部1501と、機械学習部1502が格納されている。メモリMEMは、例えば半導体記憶装置で構成することができる。
【0094】
また、学習データ生成システム1500は、記憶装置1510にアクセス可能であり、記憶装置1510に格納されるデータを利用可能である。また、学習データ生成システム1500は、記憶装置1510にデータを記録することができる。記憶装置1510は、例えば磁気記憶装置等で構成できる。
【0095】
本実施例では、記憶装置1510にあらかじめ第1の分野のデータベースDB1、第2の分野のデータベースDB2が格納されているものとする。第1の分野のデータベースDB1は例えば疾病分野のデータベースであり、第2の分野のデータベースDB1は例えば調剤分野のデータベースである(図9A~9C参照)。本例ではデータベースの数は2つとしているが、数は任意である。
【0096】
本実施例では、記憶装置1510にあらかじめフィルタデータFTが格納されているものとする。フィルタデータFTの具体例は、例えば図6に示した統合フィルタ100Uである。フィルタデータFTには、特性の異なる統合フィルタ100Uがあらかじめ複数種類格納されているものとする。
【0097】
また、学習データ生成部1501は、第1の分野のデータベースDB1、第2の分野のデータベースDB2から、ビッグテーブルTBと学習データTDを生成し、記憶装置1510に記録する。ビッグテーブルTBの具体的な例は、ビッグテーブル1000である(図10参照)。実施例では、記憶装置1510に格納されるデータをテーブル形式のデータ構造で説明しているが、リスト、キュー等のデータ構造で表現されていてもよい。
【0098】
ビッグテーブルTBに基づいて、個人IDごとに目的変数と説明変数を例えば図8に示す論理式の条件により集約する。すると、例えば、急性心筋梗塞または心筋梗塞の疾患を有し、かつ、ブスコパン錠10mgまたはギャバロン錠5mgを処方されている人が、どのような疾患に罹患あるいは薬剤を処方されていたかを示す学習データが得られる。既存のデータベースには多数人の情報が含まれているので、同様にして多数人数の学習データが得られる。
【0099】
機械学習部1502は、得られた学習データTDを用いて、機械学習を行う。実施例では、学習データ生成システム1500が機械学習部1502を含んでいるが、全く独立した別個の構成としてもよい。任意の方法で学習データTDを提供して学習を行わせれば、本実施例の効果が得られる。機械学習方法自体は公知の方法で良いので、詳細は省略するう。
【0100】
実施例の説明では「プログラム」を主語として説明を行う場合があるが、プログラムは処理装置CPUによって実行されることで、定められた処理をメモリMEM、入力装置IN、出力装置OUTを用いながら行うため、処理装置CPUを主語とした説明としてもよい。また、プログラムを主語として開示された処理は学習データ生成システム1500が行う処理としてもよい。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。
【0101】
また、入力装置INの例としては、キーボード、ポインタデバイスが考えられるが、これ以外の公知のデバイスであってもよい。また、出力装置OUTの例としてはディスプレイやプリンタが考えられるが、これ以外の公知のデバイスであってもよい。また、入力装置IN、出力装置OUTとして、外部の他の装置とのやり取りを行うインターフェイスを含めてもよい。
【0102】
以上の構成は、単体のコンピュータで構成してもよいし、あるいは、処理装置CPU、メモリMEM、入力装置IN、出力装置OUTの任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。また、記憶装置1510は、学習データ生成システム1500の一部であってもよいし、学習データ生成システム1500とは別個のシステムにネットワークを介して接続するものでもよい。
【0103】
本実施例中、ソフトウェアで構成した機能と同等の機能は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)などのハードウェアでも実現できる。
【0104】
図16Aは、学習データ生成部1501が実行する学習データ生成処理の流れを示すフロー図である。
【0105】
学習データ生成部1501は、記憶装置1510のフィルタデータFTにアクセスし、ユーザが指定した1または複数の統合フィルタ100Uのファイルを読み出し、フィルタ条件を取得する(S1601)。以下、2つのデータベースを統合する1つの統合フィルタを例にして説明する。すでに述べたように、統合するデータベースの数は統合フィルタの仕様により任意である。また、統合フィルタを複数読み出した場合は、以下と同様の処理をフィルタの数だけ繰り返せばよい。
【0106】
学習データ生成部1501は、記憶装置1510の第1の分野のデータベースDB1にアクセスし、データを取得する(S1602-1)。この例ではデータは、大分類・中分類・小分類・個別項目の階層化がなされているとする(図2参照)。
【0107】
学習データ生成部1501は、取得したデータの個別項目を、フィルタの条件(図6参照)に従い個別項目か、説明変数か、不使用かに振り分ける(S1603-1)。
【0108】
学習データ生成部1501は、第1分野の個別項目の目的変数と説明変数につき、フィルタの条件(図6参照)に従い、抽象化を回避する、しないを選択する(S1604-1)。
【0109】
学習データ生成部1501は、第1分野の個別項目の抽象化のレベルをフィルタの条件(図6参照)に従い定める(S1605-1)。抽象化のレベルには、この例では大分類、中分類、小分類、抽象化しないの4種類がある。
【0110】
以上の処理により、第1の分野のデータベースの個別項目を、範囲を指定して抽象化することが可能である。なお、上の例では個別項目の変数への振り分けの後で抽象化しているが、抽象化した後で変数の振り分けを行ってもよい。また、抽象度レベルは最後に定めているが最初に定めてもよい。すなわちフローの順序は図16の例に限られない。
【0111】
学習データ生成部1501は、記憶装置1510の第2の分野のデータベースDB2にアクセスし、上記と同様に、S1602-2~S1605-2の処理を行う。統合するデータベースの数が3以上の場合も同様である。
【0112】
図16Aに示した処理の結果、例えば図10のビッグテーブル1000に示すような、範囲を指定して抽象化し、目的変数と説明変数に区分した、第1の分野の変数と第2の分野の変数が得られる。
【0113】
図16Bは、図16Aに引き続き学習データ生成部1501が実行する学習データ生成処理の流れを示すフロー図である。
【0114】
学習データ生成部1501は、S1601で取得した統合フィルタ100Uのファイルから、統合目的変数の詳細条件を得る(S1606)。これは、一般にAND,OR,NOT,NOR,などの論理式の形で得られる。
【0115】
学習データ生成部1501は、得た論理式に基づいて第1分野の目的変数と第2分野の目的変数の組合せにより統合目的変数を生成する(S1607)。
【0116】
学習データ生成部1501は、S1601で取得した統合フィルタ100Uのファイルから、統合説明変数の詳細条件を得る(S1608)。これは、一般にAND,OR,NOT,NOR,などの論理式の形で得られる。
【0117】
学習データ生成部1501は、得た論理式に基づいて第1分野の説明変数と第2分野の説明変数の組合せにより統合説明変数セットを生成する(S1609)。
【0118】
学習データ生成部1501は、統合目的変数の分野間構成比率を算出する(S1610)。これは統合データモデル200Uから容易に求まる。
【0119】
学習データ生成部1501は、統合説明変数の分野間構成比率を算出する(S1611)。これは統合データモデル200Uから容易に求まる。
【0120】
以上で一つの統合フィルタ条件に関する処理が終わる。統合目的変数と統合説明変数セットを含むデータを学習データとすることができる。
【実施例0121】
実施例6では、実施例5を基本構成として統合フィルタのパラメータ自動チューニングを行って学習データを生成し、当該学習データで機械学習モデルを学習して予測モデルを生成する例を説明する。
【0122】
図17は、学習データ生成部1501が実行する統合フィルタのパラメータ自動チューニング例を説明するフロー図である。
【0123】
学習データ生成部1501は、目的変数、説明変数の分野間構成比率の理想値を設定する(S1701)。具体的には、学習データ生成部1501は、ディスプレイ装置(図15の出力装置OUTの具体例)に、図14に例を示すGUIを表示し、ユーザに領域1401のスケールを操作させ、ユーザが理想とする目的変数、説明変数の分野間構成比率を入力させる。
【0124】
学習データ生成部1501は、N個の統合フィルタ条件ファイルを設定する(S1702)。N個の統合フィルタ条件ファイルは、学習データ生成部1501が記憶装置1510のフィルタデータFTから所望のファイルを読み出す。N個のファイルは、ユーザが選択してもよいし、あらかじめ定めたルールで自動的に選択してもよい。
【0125】
学習データ生成部1501は、N個の統合フィルタ条件ごとに、図16BのS1610、S1611の処理と同様に、目的変数、説明変数の分野間構成比率を算出する(S1703)。
【0126】
学習データ生成部1501は、目的変数、説明変数の分野間構成比率が処理S1701で設定した理想値に近い統合フィルタ条件を選択する(S1704)。
【0127】
学習データ生成部1501は、選択した統合フィルタ条件に従いビッグテーブルを構成する(S1705)。具体的には、図10のビッグテーブル1000の各項目を定める。
【0128】
学習データ生成部1501は、データファイル1つにつき、その中の構成要素ごとに、当該ビッグテーブル1000に数値を入力する。この処理をデータベースのファイル全てについて行う(S1706)。
【0129】
以上により、例えば図10のビッグテーブル1000を得ることができる。ビッグテーブルには、さらにデータモデルの詳細条件(例えば図8参照)を適用し、該当するデータを学習データとする。先に説明したように、このデータはある人が所定の目的変数を持っている(あるいは持っていない)ときに、どのような説明変数を持つかを示す実例データとなる。よって、機械学習モデルの学習データとして用いることにより、目的変数と説明変数の関係を学習させることができる。
【0130】
機械学習による予測モデルの生成(S1707)は、構成は図示していないが、機械学習部1502により、公知のハードウェアおよびソフトウェアを用いて行うことが可能である。
【0131】
上記実施例によれば、効率のよい機械学習が実現可能となるため、消費エネルギーが少なく、炭素排出量を減らし、地球温暖化を防止、持続可能な社会の実現に寄与することができる。
【符号の説明】
【0132】
データベースDB1,DB2,DB3、フィルタ100、データモデル200、ビッグテーブル1000、学習データ生成システム1500、学習データ生成部1501、記憶装置1510
図1
図2
図3
図4
図5
図6
図7
図8
図9A
図9B
図9C
図10
図11
図12
図13
図14
図15
図16A
図16B
図17