(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】
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1では、特徴量を大分類から中分類、小分類へと段階を追って選択していくが、抽象化の方向や、抽象化を選択する範囲指定はない。
【0009】
すなわち、機械学習モデルに実行させたい推論の種類によっては、学習データの一部分は抽象化しつつ他の部分は抽象化しない等の調整が必要となる。しかし、従来は部分的に細かい目的関数の設定や、部分的に細かい説明変数の設定が困難である。
【0010】
そこで本願発明の課題は、既存のデータから学習データを生成する際に、部分的な抽象化あるいは細分化を可能とすることにある。
【課題を解決するための手段】
【0011】
本発明の好ましい一側面は、機械学習用の学習データのためのデータモデルを構成する方法であって、前記学習データの基となるデータベースのデータ項目が、抽象度あるいは詳細度の階層構造を持つ場合に、情報処理装置が、前記データ項目の抽象度あるいは詳細度の指定をデータ項目ごとに可能とするとともに、データ項目を目的変数と説明変数に振り分けるフィルタを用いて、前記データベースから学習データに使用するデータ項目を抽出するデータモデルを構成する、学習データのためのデータモデル構成方法である。
【0012】
本発明の好ましい他の一側面は、機械学習用の学習データを生成する学習データ生成装置であって、学習データ生成部を備え、前記学習データ生成部は、前記学習データの基となるデータベースのデータ項目が、抽象度あるいは詳細度の階層構造を持つ場合に、前記データ項目の抽象度あるいは詳細度の指定をデータ項目ごとに可能とするとともに、データ項目を目的変数と説明変数に振り分けるフィルタを用いて、前記データベースから学習データに使用する目的変数または説明変数とするデータを抽出する、学習データ生成装置である。
【0013】
本発明の好ましい他の一側面は、情報処理装置が、上記で得られた目的変数および説明変数を用いて機械学習モデルを学習する、機械学習方法である。
【発明の効果】
【0014】
既存のデータから学習データを生成する際に、部分的な抽象化あるいは細分化を可能とすることができる。
【図面の簡単な説明】
【0015】
【
図1】学習データのデータモデル生成方法の概念を示す概念図。
【
図13】変数の分野間構成比率を表示するGUIの例を示すイメージ図。
【
図14】変数の分野間構成比率の調整を行うGUIの例を示すイメージ図。
【
図16A】学習データ生成システムの処理フロー図。
【
図16B】学習データ生成システムの処理フロー図(続き)。
【発明を実施するための形態】
【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】
本実施例によれば、既存のデータベースに基づいて、データ粒度(データ抽象度)を任意に変更した学習データを生成することができ、機械学習モデルの用途や目的に適した学習の実行が可能となる。上記の例では、特に個別項目の急性心筋梗塞と心筋梗塞に着目したリスクを、中分類の疾病に基づいて推定するように、機械学習モデルを構成することができる。
実施例2では、複数の分野のデータベースを統合して、学習データを生成する例を説明する。ここでは、疾病分野のデータベースと調剤分野のデータベースを統合する例を示す。このように複数分野のデータを組み合わせて統合データを作成することは機械学習分野で重要である。しかし、単純に両方のデータを合体すると重要性の低いデータも含むことになるとともに、データ量が膨大になり学習処理の負荷が大になる。そこで、統合する際のデータ選別が重要である。
調剤分野のデータ項目300-2に対するフィルタ条件は、目的・説明因子振り分けフィルタでは、「ブスコパン錠10mg」と「ギャバロン錠5mg」が目的変数に指定され、「マイスリー錠5mg」と「フェノバール散10%」が不使用、その他が説明変数に指定される。抽象化フィルタでは、小分類が抽象化レベルに指定される。抽象化回避フィルタでは、「アキネトン錠1mg」、「プラミペキソール塩酸塩錠」、「ブスコパン錠10mg」、および「ギャバロン錠5mg」が、個別項目のまま使用される。
目的変数として、疾病分野の個別項目から、「急性心筋梗塞」と「心筋梗塞」が抽出される。また、目的変数として調剤分野の個別項目から「ブスコパン錠10mg」と「ギャバロン錠5mg」が抽出される。
説明変数として、疾病分野のデータ項目から、中分類の「虚血性心疾患(ただし目的変数とした2つの個別項目を除く)」と「脳血管疾患」が抽出される。また、説明変数として、調剤分野のデータ項目から、小分類の「催眠鎮静剤(ただし2つの個別項目は不使用)」、「抗パーキンソン剤(ただし2つの個別項目は抽象化回避)」、「自律神経剤」、および「鎮けい剤(ただし目的変数とした2つの個別項目は抽象化回避)が抽出される。
このように、変数に用いるデータの抽象度を、分類ごとに設定するものと、個別項目をそのまま用いるものとに、自由に設定することができる。たとえば、着目したいデータ項目は個別項目を用い、重要度の低い項目は分類でまとめるなど、詳細な説明変数の設定が可能になる。なお、上の例では、それぞれのデータベースから目的変数と説明変数を両方抽出しているが、目的変数だけ、あるいは説明変数だけを抽出してもよい。
このデータモデルにより得られる学習データは、「急性心筋梗塞」または「心筋梗塞」の症状を持ち、かつ、「ブスコバン錠100mg」または「ギャバロン錠5mg」を処方された履歴のある人が、目的変数になっている種々の病歴または投薬のいずれと関係が深いかを学習するために適する。
以上の例は一例であり、機械学習モデルに行わせる推定の内容により、周知の論理演算によって、所望の条件で複数のデータベースから得た目的変数と説明変数を組み合わせ、統合目的変数と統合説明変数を作成することができる。
なお、上記のデータファイルの例は、個人IDごとに診療や調剤のイベントごとに独立のデータファイルになっているが、あらかじめ個人IDごとに統合したデータとしておいてもよい。
個人IDが「F20011」のデータは、目的変数として「急性心筋梗塞」と「ブスコパン錠10mg」の両方を持ち、統合目的変数を持っているので、学習データとして用いることができる。この学習データを用いて、当該統合目的変数を持つ人が、どのような統合説明変数を持っていたか、統合説明変数の各項目との関係を学習する。
以上のように、抽出され統合されたデータは、統合説明変数(問題)と統合目的変数(解答)を含む教師データとなるので、機械学習モデルの学習データとして用いることができる。