(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022175422
(43)【公開日】2022-11-25
(54)【発明の名称】コンピュータプログラム、情報処理装置、及び情報処理方法
(51)【国際特許分類】
G16H 50/50 20180101AFI20221117BHJP
G16H 50/70 20180101ALI20221117BHJP
G16H 15/00 20180101ALI20221117BHJP
G06N 20/00 20190101ALI20221117BHJP
【FI】
G16H50/50
G16H50/70
G16H15/00
G06N20/00
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2021081790
(22)【出願日】2021-05-13
(71)【出願人】
【識別番号】521206648
【氏名又は名称】ソホビービー株式会社
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】沈 天毅
【テーマコード(参考)】
5L099
【Fターム(参考)】
5L099AA03
5L099AA15
5L099AA21
(57)【要約】 (修正有)
【課題】入力要素に対する推奨値の情報を出力できるコンピュータプログラム、情報処理装置及び情報処理方法の提供する。
【解決手段】コンピュータプログラムは、複数種の入力要素を含む入力データと、推定結果に係る出力データとの関係が学習された学習モデルに関して、出力データに対する各入力要素の影響度を算出し、算出した影響度に基づき、少なくとも1つの入力要素を選択し、選択した入力要素の値を変更した複数の入力データの夫々を学習モデルに入力して、学習モデルによる演算を実行し、学習モデルによる演算結果に基づき、入力要素の推奨値を決定し、決定した推奨値の情報を出力する処理を、汎用コンピュータである情報処理装置に実行させる。
【選択図】
図10
【特許請求の範囲】
【請求項1】
複数種の入力要素を含む入力データと、推定結果に係る出力データとの関係が学習された学習モデルに関して、前記出力データに対する各入力要素の影響度を算出し、
算出した影響度に基づき、少なくとも1つの入力要素を選択し、
選択した入力要素の値を変更した複数の入力データの夫々を前記学習モデルに入力して、前記学習モデルによる演算を実行し、
前記学習モデルによる演算結果に基づき、前記入力要素の推奨値を決定し、
決定した推奨値の情報を出力する
処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項2】
前記学習モデルは、複数のニューロンが結合されたニューラルネットワークにより構成されており、
前記ニューラルネットワークに含まれる各ニューロンの活性度と、ニューロン間の重み係数とに基づき、前記影響度を算出する
処理を前記コンピュータに実行させるための請求項1に記載のコンピュータプログラム。
【請求項3】
複数の入力データを取得し、取得した入力データを前記学習モデルに入力して得られる出力データを集計することにより、各入力要素の分布を導出する
処理を前記コンピュータに実行させるための請求項1又は請求項2に記載のコンピュータプログラム。
【請求項4】
各入力要素の現状値と、導出した各入力要素の分布とに基づき、選択すべき入力要素を決定する
処理を前記コンピュータに実行させるための請求項3に記載のコンピュータプログラム。
【請求項5】
選択すべき入力要素の個数の設定を受付け、
受付けた個数の範囲内で、前記影響度に基づき入力要素を選択する
処理を前記コンピュータに実行させるための請求項1から請求項4の何れか1つに記載のコンピュータプログラム。
【請求項6】
設定された上限値及び下限値の範囲内で、前記選択した入力要素の値を変更する
処理を前記コンピュータに実行させるための請求項1から請求項5の何れか1つに記載のコンピュータプログラム。
【請求項7】
前記上限値及び前記下限値の設定を受付け、
受付けた上限値及び下限値の範囲内で、前記選択した入力要素の値を変更する
処理を前記コンピュータに実行させるための請求項6に記載のコンピュータプログラム。
【請求項8】
選択した入力要素と対応付けて夫々の影響度の情報を出力する
処理を前記コンピュータに実行させるための請求項1から請求項7の何れか1つに記載のコンピュータプログラム。
【請求項9】
選択した入力要素の現状値と、前記入力要素について決定した推奨値とを対応付けて出力する
処理を前記コンピュータに実行させるための請求項1から請求項8の何れか1つに記載のコンピュータプログラム。
【請求項10】
前記推奨値に基づき前記入力要素の改善案を生成し、
生成した改善案の情報を出力する
処理を前記コンピュータに実行させるための請求項1から請求項9の何れか1つに記載のコンピュータプログラム。
【請求項11】
複数種の検査項目の値を含む健診データと、健康リスクの推定結果に係る出力データとの関係が学習された学習モデルに関して、前記出力データに対する各検査項目の影響度を算出し、
算出した影響度に基づき、少なくとも1つの検査項目を選択し、
選択した検査項目の値を変更した複数のデータの夫々を前記学習モデルに入力して、前記学習モデルによる演算を実行し、
前記学習モデルによる演算結果に基づき、前記検査項目の推奨値を決定し、
前記検査項目の現状値と、決定した推奨値とを対比して出力する
処理をコンピュータに実行させるためのコンピュータプログラム。
【請求項12】
複数種の入力要素を含む入力データと、推定結果に係る出力データとの関係が学習された学習モデルに関して、前記出力データに対する各入力要素の影響度を算出する影響度算出部と、
算出した影響度に基づき、少なくとも1つの入力要素を選択する選択部と、
選択した入力要素の値を変更した複数の入力データの夫々を前記学習モデルに入力して、前記学習モデルによる演算を実行する演算部と、
前記学習モデルによる演算結果に基づき、前記入力要素の推奨値を決定する決定部と、
決定した推奨値の情報を出力する出力部と
を備える情報処理装置。
【請求項13】
複数種の入力要素を含む入力データと、推定結果に係る出力データとの関係が学習された学習モデルに関して、前記出力データに対する各入力要素の影響度を算出し、
算出した影響度に基づき、少なくとも1つの入力要素を選択し、
選択した入力要素の値を変更した複数の入力データの夫々を前記学習モデルに入力して、前記学習モデルによる演算を実行し、
前記学習モデルによる演算結果に基づき、前記入力要素の推奨値を決定し、
決定した推奨値の情報を出力する
処理をコンピュータにより実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータプログラム、情報処理装置、及び情報処理方法に関する。
【背景技術】
【0002】
近年、推定モデルの構築方法として機械学習が注目されている。特に、機械学習の1つであるニューラルネットワークは、非線形のモデル化が可能であり、入力データと入力データに対応する出力データの対応関係を学習することができるため、推定精度の高いモデル化が期待できる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述したニューラルネットワークは、入力データの入力に応じて、推定結果である出力データを出力するものであり、入力データを構成する入力要素についての推奨値を出力するものではない。
【0005】
本発明は、入力要素に対する推奨値の情報を出力できるコンピュータプログラム、情報処理装置、及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様に係るコンピュータプログラムは、複数種の入力要素を含む入力データと、推定結果に係る出力データとの関係が学習された学習モデルに関して、前記出力データに対する各入力要素の影響度を算出し、算出した影響度に基づき、少なくとも1つの入力要素を選択し、選択した入力要素の値を変更した複数の入力データの夫々を前記学習モデルに入力して、前記学習モデルによる演算を実行し、前記学習モデルによる演算結果に基づき、前記入力要素の推奨値を決定し、決定した推奨値の情報を出力する処理をコンピュータに実行させるためのコンピュータプログラムである。
【0007】
本発明の一態様に係る情報処理装置は、複数種の入力要素を含む入力データと、推定結果に係る出力データとの関係が学習された学習モデルに関して、前記出力データに対する各入力要素の影響度を算出する影響度算出部と、算出した影響度に基づき、少なくとも1つの入力要素を選択する選択部と、選択した入力要素の値を変更した複数の入力データの夫々を前記学習モデルに入力して、前記学習モデルによる演算を実行する演算部と、前記学習モデルによる演算結果に基づき、前記入力要素の推奨値を決定する決定部と、決定した推奨値の情報を出力する出力部とを備える。
【0008】
本発明の一態様に係る情報処理方法は、複数種の入力要素を含む入力データと、推定結果に係る出力データとの関係が学習された学習モデルに関して、前記出力データに対する各入力要素の影響度を算出し、算出した影響度に基づき、少なくとも1つの入力要素を選択し、選択した入力要素の値を変更した複数の入力データの夫々を前記学習モデルに入力して、前記学習モデルによる演算を実行し、前記学習モデルによる演算結果に基づき、前記入力要素の推奨値を決定し、決定した推奨値の情報を出力する処理をコンピュータにより実行する。
【発明の効果】
【0009】
本願によれば、入力要素に対する推奨値の情報を出力できる。
【図面の簡単な説明】
【0010】
【
図1】実施の形態1に係る情報処理装置の構成を説明するブロック図である。
【
図2】健診結果データベースの一例を示す概念図である。
【
図6】実施の形態1における調整範囲の定義例を説明する説明図である。
【
図7】実施の形態1におけるシミュレーションの実行結果を説明する説明図である。
【
図8】実施の形態1における改善案の提示例を示す模式図である。
【
図10】実施の形態1における情報処理装置が実行する処理の手順を説明するフローチャートである。
【
図11】検査項目の分布の導出手法を説明する説明図である。
【
図13】実施の形態2における調整範囲の定義例を説明する説明図である。
【
図14】実施の形態2におけるシミュレーションの実行結果を説明する説明図である。
【
図15】実施の形態2における改善案の提示例を示す模式図である。
【
図16】実施の形態2における情報処理装置が実行する処理の手順を説明するフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
(実施の形態1)
図1は実施の形態1に係る情報処理装置の構成を説明するブロック図である。情報処理装置1は、複数種の入力要素を含む入力データと、推定結果に係る出力データとの関係が学習された学習モデルに関して、推定結果への影響が大きい入力要素を特定し、影響が大きい入力要素の値を様々に変更したデータを用いてシミュレーションを実行することにより、各入力要素についての改善案をユーザに提供する。以下、本発明の適用例の1つとして、ユーザの健診データに基づき健康リスクを推定する学習モデルLM1に関して、推定結果である健康リスクへの影響が大きい検査項目(入力要素)を特定し、検査項目の値について改善案をユーザに提供する構成を説明する。
【0012】
情報処理装置1は、専用又は汎用のコンピュータであり、制御部11、記憶部12、入力部13、通信部14、操作部15、表示部16などを備える。
【0013】
制御部11は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などを備える。制御部11が備えるROMには、情報処理装置1が備えるハードウェア各部の動作を制御する制御プログラム等が記憶される。制御部11内のCPUは、ROMに記憶されている制御プログラムや記憶部12に記憶されている各種コンピュータプログラムを読み込んで実行し、ハードウェア各部の動作を制御することによって、装置全体を本発明に係る情報処理装置として機能させる。制御部11が備えるRAMには、演算の実行中に利用されるデータが一時的に記憶される。
【0014】
実施の形態において、制御部11は、CPU、ROM、及びRAMを備える構成としたが、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)、量子プロセッサ、揮発性又は不揮発性のメモリ等を備える1又は複数の演算回路であってもよい。また、制御部11は、日時情報を出力するクロック、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等の機能を備えてもよい。
【0015】
記憶部12は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、EEPROM(Electronically Erasable Programmable Read Only Memory)などのストレージを備える。記憶部12には、制御部11によって実行される各種のコンピュータプログラムや制御部11によって利用される各種のデータが記憶される。
【0016】
記憶部12に記憶されるコンピュータプログラムは、学習モデルLM1に関して、推定結果に対する各入力要素の影響度を算出し、算出した影響度に基づき少なくとも1つの入力要素を選択し、選択した入力要素の値を様々に変更して学習モデルLM1によるシミュレーションを実行し、シミュレーションの実行結果に基づき、入力要素に対する推奨値を決定し、決定した推奨値の情報を出力する処理を情報処理装置1に実行させるためのコンピュータプログラムPG1を含む。コンピュータプログラムPG1は、単一のコンピュータプログラムであってもよく、複数のコンピュータプログラムにより構成されるものであってもよい。また、コンピュータプログラムPG1は、既存のライブラリを部分的に用いるものであってもよい。
【0017】
記憶部12に記憶されるコンピュータプログラムPG1は、当該コンピュータプログラムPG1を読み取り可能に記録した非一時的な記録媒体MD1により提供される。記録媒体MD1は、例えば、CD-ROM、USBメモリ、SD(Secure Digital)カード、マイクロSDカード、コンパクトフラッシュ(登録商標)などの可搬型メモリである。制御部11は、図に示していない読取装置を用いて、記録媒体MD1からコンピュータプログラムPG1を読み取り、読み取ったコンピュータプログラムPG1を記憶部12に記憶させる。また、記憶部12に記憶されるコンピュータプログラムPG1は、通信部14を介した通信により提供されてもよい。この場合、制御部11は、通信部14を通じてコンピュータプログラムPG1を取得し、取得したコンピュータプログラムPG1を記憶部12に記憶させればよい。
【0018】
また、記憶部12は、学習済みの学習モデルLM1を備える。学習モデルLM1は、ユーザの健診データが入力された場合、健康リスクに関するデータを出力するよう学習される。記憶部12には、学習モデルLM1の構成情報として、学習モデルLM1が備える層の数や配置関係、各層に含まれるニューロンの数や接続関係、各ニューロンにおける活性度、ニューロン間の重み係数などが記憶される。本実施の形態では、学習済みの学習モデルLM1が記憶部12に記憶されているものとする。学習モデルLM1の具体的な構成については後に詳述する。
【0019】
また、記憶部12は、ユーザ毎の健診データを記憶する健診結果データベースDB1を備える。
図2は健診結果データベースDB1の一例を示す概念図である。健診結果データベースDB1は、ユーザの識別子であるユーザID、ユーザの氏名、健診日、各種検査項目についての検査結果を示す値を関連付けて記憶したデータベースである。検査項目は、身長、体重、収縮期及び拡張期の血圧、LDLコレステロール、HDLコレステロール、中性脂肪、血糖値、HbA1c、尿酸、尿蛋白、1日運動量、1日野菜量などを含む。なお、検査結果を示す値の一例は、数値である。検査結果を示す値は、検出対象物質を検出したか否かを示す符号、異常の有無を示す符号、医師の所見などを含んでもよい。また、検査結果を示す値は、ユーザの自己申告により与えられた情報を含んでもよい。健診結果データベースDB1は、更に、ユーザの生年月日、住所、職業、メールアドレスなどのユーザの属性情報を含んでもよい。なお、ユーザの健診データは、一時的に保持されていればよく、学習モデルLM1が生成された後のタイミングや学習モデルLM1を用いてシミュレーションを行った後のタイミング等において消去されるとよい。
【0020】
入力部13は、各種データを取込むための入力インタフェースを備える。入力部13には、例えば印刷物の画像を光学的に読み取るスキャナ装置が接続される。この場合、入力部13は、印刷物の画像を光学的に読み取ることにより得られる画像データを取込む。入力部13は、スキャナ装置より得られる画像データに対して既存のOCR(Optical Character Recognition)技術を適用し、文字認識を行うことにより、文字データを取得してもよい。また、入力部13は、CD-ROM、USBメモリ、SDカード、マイクロSDカード、コンパクトフラッシュなどの可搬型メモリを着脱可能に装着するスロットを備え、スロットに装着された可搬型メモリにアクセスして、所望のデータを取込む構成であってもよい。実施の形態1に係る情報処理装置1は、入力部13を通じて、紙に印刷された健康診断結果表や可搬型メモリに記録されたデータから、ユーザの健診データを取得することが可能である。
【0021】
通信部14は、各種データを送受信する通信インタフェースを備える。通信部14が備える通信インタフェースは、例えば、WiFi(登録商標)やイーサネット(登録商標)で用いられるLAN(Local Area Network)の通信規格に準じた通信インタフェースである。通信部14は、送信すべきデータが制御部11から入力された場合、指定された宛先へ送信すべきデータを送信する。また、通信部14は、外部装置から送信されたデータを受信した場合、受信したデータを制御部11へ出力する。情報処理装置1は、通信部14を通じて健診データを取得してもよい。
【0022】
操作部15は、タッチパネル、キーボード、スイッチなどの操作デバイスを備え、ユーザによる各種の操作やデータの入力を受付ける。制御部11は、操作部15より与えられる各種の操作情報に基づき適宜の制御を行うと共に、入力を受付けた各種のデータを記憶部12に記憶させる。情報処理装置1は、操作部15を通じて健診データの手入力を受け付けてもよい。
【0023】
表示部16は、液晶モニタや有機EL(Electro-Luminescence)などの表示デバイスを備え、制御部11からの指示に応じてユーザ等に報知すべき情報を表示する。
【0024】
なお、情報処理装置1は、単一のコンピュータに限らず、複数のコンピュータや周辺機器からなるコンピュータシステムであってもよい。また、情報処理装置1は、ソフトウェアによって仮想的に構築される仮想マシンであってもよい。
【0025】
図3は学習モデルLM1の構成例を示す模式図である。学習モデルLM1は、複数のニューロン(ノードともいう)が結合されたニューラルネットワークにより構成されている。学習モデルLM1は、ユーザの健診データを入力した場合、健康リスクに関するデータ(推定結果)を出力するよう学習される。本実施の形態では、学習済みの学習モデルLM1が記憶部12に記憶される。学習モデルLM1を構成するニューラルネットワークの種類は任意であり、入力対象のデータの形式や出力すべき推定結果のデータ形式に応じて適宜選択される。例えば、CNN(Convolutional Neural Networks)、RNN(Recurrent Neural Networks)、LSTM(Long Short Term Memory)、GAN(Generative Adversarial Network)、オートエンコーダなどが学習モデルLM1のニューラルネットワークとして用いられる。
【0026】
学習モデルLM1は、入力層、中間層(隠れ層)、及び出力層を備える。各層は複数のニューロンを備える。入力層が備える各ニューロンには、入力データに含まれる各入力要素の値が入力される。本実施の形態では、健診データに関して、各検査項目(入力要素)の値が入力層の各ニューロンに入力される。中間層は1又は複数の層により構成される。中間層の各層が備える個々のニューロンは、前後に設けられた層のニューロンに結合されている。各ニューロンにおける内部活性度(単に活性度ともいう)やニューロン間の結合の強さ(重み係数)は、学習の過程で定められる。各層のニューロンは、重み係数と活性度とに基づいて計算される値を、後段のニューロンへ出力する。出力層は、中間層から入力される値を基にソフトマックス関数を用いて確率を計算する。出力層は、学習モデルLM1による推定結果として、計算した確率を各ニューロンより出力する。出力層の各ニューロンが出力する確率は、例えば分類対象の各カテゴリに属する確率を表す。本実施の形態に係る学習モデルLM1は、健康リスクに関して、低リスクである確率(P1)、中リスクである確率(P2)、及び高リスクである確率(P3)の3つの確率を出力層の各ニューロンから出力するよう構成される。
【0027】
学習モデルLM1は、複数のユーザの健診データと、各ユーザの健康リスクを示す正解データとをデータセットに含む訓練データを用いて、既存の学習アルゴリズムに従って学習することにより生成される。健康リスクを示す正解データは、直近(例えば過去1年)の疾病歴、通院歴、入院歴等を考慮し、疾病がない場合は低リスク、短期の通院歴や入院歴がある場合には中リスク、長期の通院歴や入院歴がある場合には高リスクといったように設定することが可能である。また、医師やユーザ自身が人為的に健康リスクを設定してもよい。学習モデルLM1は、情報処理装置1の内部にて生成されてもよく、外部サーバにおいて生成されてもよい。後者の場合、情報処理装置1は、外部サーバから学習済みの学習モデルLM1をダウンロードし、記憶部12にインストールすればよい。
【0028】
情報処理装置1の制御部11は、学習済みの学習モデルLM1に関して、出力データに対する各入力要素の影響度を算出する。
図4は影響度の算出手法を説明する説明図である。
図4は、簡略化のために、第N層のi番目のニューロンと、第N-1層のj番目のニューロンとの関係のみを示している。制御部11は、複数のユーザの健診データと、各ユーザの健康リスクを示す正解データとをデータセットに含む訓練データを用いて、学習モデルLM1による演算を実行する際、ニューラルネットワークから各ニューロンの活性度と、ニューロン間の重み係数を読み出し、読み出した活性度と重み係数とを用いて各入力要素の影響度を算出する。
【0029】
学習モデルLM1を構成するニューラルネットワークの第N層のi番目のニューロンの活性度をANi、第N層のi番目のニューロンと第N-1層のj番目のニューロンとの間の重み係数をWNij とする。訓練データにはK組のデータセットが含まれるとする。
【0030】
制御部11は、第N層のニューロンに関して、以下の数1及び数2による演算を実行する。
【0031】
【0032】
【0033】
制御部11は、数1及び数2による演算を、第N層、第N-1層、…、第1層の順に実行し、第1層のn番目のニューロンに集約させていくことにより、Q1nを以下のように求める。
【0034】
【0035】
制御部11は、訓練データに含まれるK組のデータセットの夫々について上記の演算を実行することにより、Q1n
1,Q1n
2 ,Q1n
3 ,…,Q1n
K を求める。
【0036】
制御部11は、数4により、Q1n
1 ,Q1n
2 ,Q1n
3 ,…,Q1n
K の平均値を算出することにより、第1層n番目のニューロン(すなわちn番目の入力要素)の影響度En を算出する。
【0037】
【0038】
制御部11は、同様の演算を第1層に含まれる全てのニューロンについて実行して、各入力要素の影響度E1 ,E2 ,…を算出し、各入力要素の影響度E1 ,E2 ,…を用いて規格化することにより、各入力要素の最終的な影響度を算出する。例えば、n番目の入力要素の影響度En は次式により算出される。
【0039】
【0040】
制御部11は、各入力要素(検査項目)について算出した影響度に基づき、学習モデルLM1に入力する検査項目を、推定結果に与える影響が大きい検査項目と、推定結果に与える影響が小さい検査項目とに分類することができる。
【0041】
例えば、制御部11は、算出した影響度が高い順に検査項目をソートし、影響度が高い方から順に所定数の検査項目を選択することにより、推定結果に与える影響が大きい検査項目を特定し、残りを推定結果に与える影響が小さい検査項目として特定する。
【0042】
制御部11は、選択する検査項目の個数に関して、操作部15を通じてユーザの設定を受け付けてもよい。例えば、3個という個数がユーザにより設定された場合、制御部11は、影響度が高い方から順に3個の検査項目を選択することにより、推定結果に与える影響が大きい検査項目を特定し、残りを推定結果に与える影響が小さい検査項目として特定すればよい。
【0043】
代替的に、制御部11は、予め設定した閾値より高い影響度を持つ検査項目を選択して、推定結果に与える影響が大きい検査項目を特定し、残りを推定結果に与える影響が小さい検査項目として特定してもよい。
【0044】
制御部11は、選択した項目(推定結果に与える影響が大きい検査項目)を、算出した影響度と共に表示してもよい。
図5は影響度の表示例を示す模式図である。
図5の例では、推定結果に与える影響が大きい検査項目と、これらの検査項目について算出された影響度とを対応付けて表示部16に表示した例を示している。これにより、情報処理装置1は、学習モデルLM1に関して、推定結果に与える影響が大きい検査項目を可視化することができる。
【0045】
制御部11は、推定結果に与える影響が大きい検査項目について調整範囲を設定し、設定した調整範囲内で検査項目の値を様々に変更してシミュレーションを実行して、健康リスクに関する改善案をユーザに提供する。
【0046】
図6は実施の形態1における調整範囲の定義例を説明する説明図である。検査項目の調整範囲は例えば上限値及び下限値により定義される。これらの上限値及び下限値は、制御部11の演算によって設定されてもよく、操作部15を通じて値を受付けることにより設定されてもよい。設定された上限値及び下限値は記憶部12に記憶される。制御部11は、対象の検査項目について上限値及び下限値を読み出し、調整範囲を設定する。
【0047】
制御部11は、設定した調整範囲内で検査項目の値をランダムに変更して、学習モデルLM1への入力データを生成し、生成した入力データを学習モデルLM1へ入力することによってシミュレーションを実行する。
図7は実施の形態1におけるシミュレーションの実行結果を説明する説明図である。制御部11は、推定結果に与える影響が大きいとして選択した検査項目(
図7の例では、収縮期/拡張期の血圧、中性脂肪、体重、尿酸、血糖値)の値を調整範囲内でランダムに変更し、学習モデルLM1への入力データを生成する。なお、選択された検査項目以外の項目(推定結果に与える影響が低い)については現状値を用いればよい。
【0048】
制御部11は、生成した複数の入力データの夫々を学習モデルLM1へ入力し、学習モデルLM1による演算を実行することにより、健康リスクのシミュレーションを実行する。
図7の例は、現状の入力データを学習モデルLM1に入力した場合、学習モデルLM1から得られる推定結果は、低リスクの確率が20%である(すなわち、現状の健康リスクは中リスク又は高リスクである)ことを示したのに対し、No.1のように項目値を変更した入力データを用いた場合、低リスク確率は50%まで上昇し、No.2のように項目値を変更した入力データを用いた場合、低リスク確率は85%まで上昇することを示している。No.3~No.5の入力データについても図に示す通りである。
【0049】
制御部11は、学習モデルLM1を用いたシミュレーションの実行結果に基づき、検査項目の推奨値を決定する。制御部11は、予め定められた条件に従って推奨値を決定すればよい。
図7の例では、No.4及びNo.5の入力データについて、低リスク確率が100%であるとの推定結果が得られている。これらのNo.4及びNo.5に示す検査項目の値は、健康リスクの観点からは理想的な値であるが、ユーザにとって実現困難な目標値となり得る。そこで、低リスク確率に関して目標とする範囲を設定しておき、この範囲内で検査項目の推奨値を決定すればよい。例えば、低リスク確率の範囲に関して90%以上100%未満という範囲を設定すれば、
図7に示すデータからは、No.3の入力データが選択され、検査項目に対する推奨値が決定される。
【0050】
制御部11は、シミュレーションにより決定した推奨値に基づき、検査項目の改善案をユーザに提示する。
図8は実施の形態1における改善案の提示例を示す模式図である。
図8は健康リスクを中リスクから低リスクに改善するための改善案を提示した例を示している。制御部11は、このような改善案の情報を生成し、生成した改善案の情報を表示部16に表示する。代替的に、制御部11は、改善案の情報を通信部14よりユーザの端末装置へ送信してもよい。
【0051】
改善案は、検査項目の推奨値を含む文字ベースの情報である。推奨値以外の文字部分は、定型文により構成される。改善案が複数ある場合、優先度が高い順(推定結果に対する影響度が高い検査項目の順)にユーザに提示すればよい。
図8は、優先度が最も高い改善案として、血圧の推奨値を含む改善案を上段に提示し、2番目に優先度が高い改善案として、中性脂肪の推奨値を含む改善案を中段に提示し、3番目に優先度が高い改善案として、体重の推奨値を含む改善案を下段に提示した例を示している。
【0052】
図9は改善案の他の提示例を示す模式図である。制御部11は、
図9に示すように、選択した各検査項目の現状値と推奨値とを対応付けて表示部16に表示することにより、ユーザに改善案を提示してもよい。また、制御部11は、
図9に示すような改善案を通信部14よりユーザの端末装置へ送信してもよい。
【0053】
以下、情報処理装置1の動作について説明する。
図10は実施の形態1における情報処理装置1が実行する処理の手順を説明するフローチャートである。情報処理装置1の制御部11は、ユーザについて健診データを取得する(ステップS101)。制御部11は、健診結果データベースDB1からユーザの健診データを読み出してもよく、入力部13又は通信部14から新たにユーザの健診データを取得してもよい。
【0054】
制御部11は、取得した健診データを学習モデルLM1に入力し、学習モデルLM1による演算を実行することによって健康リスクを推定する(ステップS102)。すなわち、制御部11は、学習モデルLM1を構成するニューラルネットワークから各ニューロンの活性度及びニューロン間の重み係数を読み出し、入力層から出力層に向かって演算を進めることにより、学習モデルLM1による演算結果を取得する。制御部11は、学習モデルLM1の演算結果に基づき、健康リスクを推定する。
【0055】
ユーザの健康リスクが中リスク又は高リスクと判断した場合、制御部11は、以下の処理を実行して、ユーザに改善案を提示する。なお、ユーザの健康リスクが低リスクと判断した場合、制御部11は、以下の処理を実行せずに本フローチャートによる処理を終了してもよい。
【0056】
制御部11は、学習モデルLM1の推定結果に対する各検査項目の影響度を算出する(ステップS103)。制御部11は、例えば、訓練データを用いて学習モデルLM1による演算を実行する際、学習モデルLM1を構成するニューラルネットワークから各ニューロンの活性度と、ニューロン間の重み係数とを読み出し、読み出した活性度と重み係数とを用いることにより、各入力要素の影響度を算出することができる。すなわち、制御部11は、上述した数1から数5の演算式に従い、第N層のニューロンから第1層のニューロンに向けて演算を集約させていくことにより、第1層が備える各ニューロンについて影響度を算出することができる。
【0057】
制御部11は、算出した影響度を表示部16に表示する(ステップS104)。制御部11は、例えば、各検査項目の項目名と、各検査項目について算出した影響度と対応付けて表示部16に表示する。また、制御部11は、影響度が低い検査項目と、影響度が高い検査項目とに分類し、影響度が高い検査項目についてのみ、項目名と影響度とを対応付けて表示してもよい。更に、制御部11は、影響度が低い検査項目と、影響度が低い検査項目とで表示態様を異ならせて影響度を表示してもよい。例えば、影響度が高い検査項目のみを赤色や黄色などの強調色で表示してもよく、点滅表示により強調してもよい。
【0058】
次いで、制御部11は、ステップS103で算出した影響度に基づき、シミュレーションに用いる検査項目を選択する(ステップS105)。制御部11は、例えば、学習モデルLM1の推定結果に与える影響度が高い方から順に所定数の検査項目を選択する。代替的に、ユーザの健康リスクが中リスクである場合、制御部11は、学習モデルLM1の推定結果に与える影響度が高い方から順にN1個(例えば3個)の検査項目を選択し、ユーザの健康リスクが高リスクである場合、制御部11は、学習モデルLM1の推定結果に与える影響度が高い方から順にN2個(N2>N1であり、N2は例えば5個)の検査項目を選択してもよい。
【0059】
次いで、制御部11は、選択した検査項目に対する調整範囲を設定する(ステップS106)。制御部11は、ユーザの現状の健康リスクを把握し、健康リスクを改善できるように調整範囲を設定すればよい。制御部11は、例えば、選択した検査項目のユーザの現状値を読み込み、読み込んだ現状値を上限値又は下限値に含む範囲を設定すればよい。調整範囲は、ユーザの現状の健康リスクが高リスクである場合、相対的に広く設定され、中リスクである場合、相対的に狭く設定されてもよい。また、調整範囲はユーザの属性などに基づき予め設定され、上限値及び下限値が記憶部12に記憶されていてもよい。この場合、制御部11は、記憶部12から上限値及び下限値を読み出せばい。
【0060】
制御部11は、設定した調整範囲内で検査項目の値をランダムに変更してシミュレーションを実行する(ステップS107)。制御部11は、選択した検査項目の値を調整範囲内でランダムに変更して学習モデルLM1に入力し、学習モデルLM1による演算結果に基づいて健康リスクを推定する。
【0061】
制御部11は、ステップS107のシミュレーション結果に基づき、各検査項目の推奨値を決定する(ステップS108)。現時点のユーザの健康リスクが高リスクである場合、制御部11は、中リスク又は低リスクとなるように推奨値を決定する。また、現時点のユーザの健康リスクが中リスクである場合、制御部11は、低リスクとなるように推奨値を決定する。すなわち、制御部11は、ユーザの健康リスクが改善するように各検査項目の推奨値を決定すればよい。なお、制御部11は、各検査項目の理想値(調整範囲の下限値又は上限値)を推奨値として決定する必要はなく、ユーザが実現可能な目標値を推奨値として決定してもよい。
【0062】
制御部11は、ステップS108で決定した推奨値を含む改善案の情報を生成し、生成した改善案の情報を表示部16に表示する(ステップS109)。すなわち、制御部11は、検査項目の推奨値を含む文字ベースの情報を改善案として生成し、生成した改善案の情報を表示部16へ出力することによって表示部16に表示させればよい。代替的に、制御部11は、生成した改善案の情報を通信部14よりユーザの端末装置へ送信してもよい。
【0063】
以上のように、実施の形態1に係る情報処理装置1は、各ニューロンの活性度及びニューロン間の重み係数に基づき、学習モデルLM1の推定結果に与える各検査項目の影響度を算出し、可視化することができる。また、実施の形態1に係る情報処理装置1は、影響度が高い検査項目の値を様々に変更したシミュレーションを実行して推奨値を決定し、決定した推奨値を含む改善案をユーザに提示することにより、ユーザに健康リスクの改善を促すことができる。
【0064】
(実施の形態2)
実施の形態2では、影響度が高い検査項目と影響度が低い検査項目との双方から検査項目を選択し、選択して検査項目の値をランダムに変更してシミュレーションを実行する構成について説明する。
情報処理装置1の内部構成、各検査項目の影響度の算出方法等については実施の形態1と同様であるため、その説明を省略することとする。
【0065】
情報処理装置1の制御部11は、実施の形態1と同様の手順により、各検査項目の影響度を算出する。各検査項目は、推定結果への影響度が高い検査項目と、推定結果への影響度が低い検査項目とに分類される。制御部11は、推定結果への影響度が高い検査項目を、シミュレーション対象の検査項目として選択する。また、制御部11は、推定結果への影響度が低い検査項目のうち、ユーザの現状値が基準となる分布から乖離している場合、当該項目をシミュレーション対象の検査項目として選択する。
【0066】
以下、検査項目の分布の導出方法について説明する。
図11は検査項目の分布の導出手法を説明する説明図である。制御部11は、訓練データや健診結果データベースDB1に記憶されている健診データを用いて、学習モデルLM1による演算を繰り返し実行し、健康リスクが低リスクと推定された検査値、中リスクと推定された検査値、及び高リスクを推定された検査値を集計する。制御部11は、集計した結果に基づき、各検査項目の分布を導出する。
図11に示すグラフの横軸は、収縮期血圧を示し、縦軸は、低リスク、中リスク、及び高リスクと推定された頻度を示している。制御部11は、グラフから各リスクの標準偏差σや平均値Mなどを求め、各リスクの分布を導出する。制御部11は、例えば平均値Mから±σの範囲をそれぞれのリスクの分布として導出することができる。
図11に一例として示すグラフからは、100~120mmHgの範囲の収縮期血圧を低リスク分布、110~130mmHgの範囲の収縮期血圧を中リスク分布、130~160mmHgの範囲の収縮期血圧を高リスク分布として導出することができる。
【0067】
制御部11は、他の検査項目についても同様の手順を実行することにより、各検査項目の基準を示す分布を導出することができる。
図12は分布の導出結果を示す図である。
【0068】
制御部11は、推定結果への影響度が低いと判断した検査項目のうち、ユーザの現状値が基準となる分布から乖離している場合、当該項目をシミュレーション対象の検査項目として選択する。例えば、ユーザの健康リスクが中リスクであると推定されたにも関わらず、1日野菜量が20gである場合(高リスク分布に属する場合)、ユーザの検査項目の値が基準となる分布から乖離していると判断できるので、制御部11は、1日野菜量をシミュレーション対象の検査項目に加える。他の項目についても同様である。
【0069】
制御部11は、実施の形態1と同様にして調整範囲を設定し、調整範囲内で検査項目の値をランダムに変更してシミュレーションを実行する。
【0070】
図13は実施の形態2における調整範囲の定義例を説明する説明図である。検査項目の調整範囲は例えば上限値及び下限値により定義される。これらの上限値及び下限値は、制御部11の演算によって設定されてもよく、操作部15を通じて値を受付けることにより設定されてもよい。設定された上限値及び下限値は記憶部12に記憶される。制御部11は、対象の検査項目について上限値及び下限値を読み出し、調整範囲を設定する。
図13の例は、影響度が高いと分類された項目(血圧、中性脂肪、及び体重)と、影響度が低いと分類されたが、ユーザの現状値が基準となる分布から乖離していると判断された項目(1日野菜量及び1日運動量)とについて、調整範囲が設定された例を示している。
【0071】
制御部11は、設定した調整範囲内で検査項目の値をランダムに変更して、学習モデルLM1への入力データを生成し、生成した入力データを学習モデルLM1へ入力することによってシミュレーションを実行する。
図14は実施の形態2におけるシミュレーションの実行結果を説明する説明図である。制御部11は、推定結果への影響度が高いとして選択された検査項目(
図13の例では、血圧、中性脂肪、及び体重)と、影響度は低いが基準となる分布から乖離しているために選択された項目(
図13の例では、1日野菜量及び1日運動量)の値を調整範囲内でランダムに変更し、学習モデルLM1への入力データを生成する。なお、選択された検査項目以外の項目については現状値を用いればよい。
【0072】
制御部11は、生成した複数の入力データの夫々を学習モデルLM1へ入力し、学習モデルLM1による演算を実行することにより、健康リスクのシミュレーションを実行する。
【0073】
図14の例は、現状の入力データを学習モデルLM1に入力した場合、学習モデルLM1から得られる推定結果は、低リスクの確率が20%であることを示したのに対し、No.1のように項目値を変更した入力データを用いた場合、低リスク確率は40%まで上昇し、No.2のように項目値を変更した入力データを用いた場合、低リスク確率は65%まで上昇することを示している。No.3~No.5の入力データについても図に示す通りである。
【0074】
制御部11は、シミュレーションにより決定した推奨値に基づき、検査項目の改善案をユーザに提示する。
図15は実施の形態2における改善案の提示例を示す模式図である。
図15は健康リスクを中リスクから低リスクに改善するための改善案を提示した例を示している。制御部11は、このような改善案の情報を表示部16に表示する。代替的に、制御部11は、改善案の情報を通信部14よりユーザの端末装置へ送信してもよい。また、制御部11は、実施の形態1と同様に、各項目の現状値と推奨値とを対応付けて表示若しくは送信してもよい。
【0075】
図16は実施の形態2における情報処理装置1が実行する処理の手順を説明するフローチャートである。情報処理装置1の制御部11は、実施の形態1と同様の手順により、ユーザの健診データを取得し(ステップS201)、学習モデルLM1による演算を実行することによって健康リスクを推定する(ステップS202)。
【0076】
また、制御部11は、学習モデルLM1の推定結果に対する各検査項目の影響度を算出する(ステップS203)。制御部11は、実施の形態1と同様の手順により、第N層のニューロンから第1層のニューロンに向けて演算を集約させていくことにより、第1層が備える各ニューロンについて影響度を算出する。制御部11は、算出した影響度を表示部16に表示してもよい。
【0077】
制御部11は、各検査項目における検査値の分布を導出する(ステップS204)。制御部11は、訓練データや健診結果データベースDB1に記憶されている健診データを用いて、学習モデルLM1による演算を繰り返し実行し、推定結果を集計することによって、各検査項目における検査値の分布を導出する。なお、検査値の分布の導出は、ユーザの健診データから健康リスクを推定する都度実施する必要はなく、
【0078】
次いで、制御部11は、ステップS203で算出した影響度と、ステップS204で導出した検査値の分布とに基づき、シミュレーションに用いる検査項目を選択する(ステップS205)。実施の形態2では、学習モデルLM1の推定結果に与える影響が高い方から順に所定数の検査項目を選択すると共に、推定結果に与える影響が低い検査項目であっても、ユーザの検査値が基準となる分布から乖離している場合、当該検査項目をシミュレーション対象として選択すればよい。なお、ユーザの検査値が基準となる分布から乖離しているか否かは、基準となる分布の平均値Mから±σ以上離れているか否かにより判断すればよい。
【0079】
次いで、制御部11は、実施の形態1と同様の手順により、選択した検査項目に対する調整範囲を設定し(ステップS206)、設定した調整範囲内で検査項目の値をランダムに変更してシミュレーションを実行する(ステップS207)。
【0080】
制御部11は、ステップS207のシミュレーション結果に基づき、各検査項目の推奨値を決定する(ステップS208)。制御部11は、ユーザの健康リスクが改善するように各検査項目の推奨値を決定すればよい。
【0081】
制御部11は、ステップS208で決定した推奨値を含む改善案の情報を生成し、生成した改善案の情報を表示部16に表示する(ステップS209)。すなわち、制御部11は、検査項目の推奨値を含む文字ベースの情報を改善案として生成し、
図15に示すように、作成した改善案を表示部16へ出力することによって表示部16に表示させればよい。代替的に、制御部11は、生成した改善案の情報を通信部14よりユーザの端末装置へ送信してもよい。
【0082】
以上のように、実施の形態2に係る情報処理装置1は、各ニューロンの活性度及びニューロン間の重み係数に基づき、学習モデルLM1の推定結果に与える各検査項目の影響度を算出し、可視化することができる。また、実施の形態1に係る情報処理装置1は、影響度が高い検査項目の値、及び影響度は低いが、基準となる範囲から乖離した検査項目の値を様々に変更したシミュレーションを実行して推奨値を決定し、決定した推奨値を含む改善案をユーザに提示することにより、ユーザに健康リスクの改善を促すことができる。
【0083】
今回開示された実施形態は、全ての点において例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【0084】
本実施の形態では、適用例の1つとして、ユーザの健診データに基づき健康リスクを推定する学習モデルLM1に関して、推定結果である健康リスクへの影響が大きい検査項目を特定し、各検査項目の改善案をユーザに提供する構成について説明したが、複数種の入力要素を含む入力データと、推定結果に係る出力データとの関係が学習された任意の学習モデルについて適用することが可能である。
【0085】
例えば、各種の遊技装置が設置された遊技場に関して、情報処理装置1は、遊技装置の稼働率に関する改善案を提示する構成としてもよい。この場合、情報処理装置1は、客数、遊技装置の台数、過去の稼働率、機種情報などを含む入力データと、将来の稼働率などを含む出力データとの関係が学習された学習モデルに関して、出力データに対する各入力要素の影響度を算出し、算出した影響度に基づきシミュレーションに用いる入力要素を選択してシミュレーションを実行し、入力要素に対する推奨値を含む改善案を提示すればよい。
【0086】
また、商品又はサービスを提供する店舗に関して、情報処理装置1は、店舗の売り上げに関する改善案を提示する構成としてもよい。この場合、情報処理装置1は、商品又はサービスの価格、品数、販売先、出荷元、過去の販売台数、売り上げなどを含む入力データと、今後の売り上げなどを含む出力データとの関係が学習された学習モデルに関して、出力データに対する各入力要素の影響度を算出し、算出した影響度に基づきシミュレーションに用いる入力要素を選択してシミュレーションを実行し、入力要素に対する推奨値を含む改善案を提示すればよい。
【符号の説明】
【0087】
1 情報処理装置
11 制御部
12 記憶部
13 入力部
14 通信部
15 操作部
16 表示部
PG1 コンピュータプログラム
LM1 学習モデル
DB1 健診結果データベース