(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024137503
(43)【公開日】2024-10-07
(54)【発明の名称】モデル生成方法及びモデル生成プログラム
(51)【国際特許分類】
G16H 10/00 20180101AFI20240927BHJP
【FI】
G16H10/00
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023049040
(22)【出願日】2023-03-24
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和3年度、国立研究開発法人情報通信研究機構、「高度通信・放送研究開発委託研究/ウイルス等感染症対策に資する情報通信技術の研究開発 課題A ウイルス等感染症により発生するパンデミック対策に資するICT 副題:介護現場感染症対策支援のためのネットワーク化とAIプラットフォーム」、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】長坂 知美
(72)【発明者】
【氏名】石黒 由紀
(72)【発明者】
【氏名】千葉 祥樹
(72)【発明者】
【氏名】蔦谷 雄一
(72)【発明者】
【氏名】渡邊 祥太
【テーマコード(参考)】
5L099
【Fターム(参考)】
5L099AA21
(57)【要約】 (修正有)
【課題】未知の異常の判定結果の根拠を提示するモデル生成方法およびモデル生成プログラムを提供する。
【解決手段】教師ありの機械学習により、生体情報が既知または未知の異常であるかを判定する症状判定モデルを生成するモデル生成機能を提供するサーバ装置において、生成部15Fは、生体情報の異常が検知済みである異常データまたは異常データの特徴が数値化された特徴量が加工された加工データのうち、異常クラスが既知である第1の異常クラスに対応するクラスタに分類されず、かつ、異常が検知される加工データを、異常クラスが未知である第2の異常クラスの異常データと特定し、特定した第2の異常クラスの異常データと、第1の異常クラスの異常データとに基づいて、生体情報を入力として第1の異常クラスまたは前記第2の異常クラスのラベルを出力する異常検知モデルM1を生成する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
生体情報の異常が検知済みである異常データまたは前記異常データの特徴が数値化された特徴量が加工された加工データのうち、異常クラスが既知である第1の異常クラスに対応するクラスタに分類されず、かつ前記異常が検知される加工データを、前記異常クラスが未知である第2の異常クラスの異常データと特定し、
特定された前記第2の異常クラスの異常データと、前記第1の異常クラスの異常データとに基づいて、生体情報を入力として前記第1の異常クラスまたは前記第2の異常クラスのラベルを出力する機械学習モデルを生成する、
処理をコンピュータが実行することを特徴とするモデル生成方法。
【請求項2】
前記生成する処理は、前記第2の異常クラスおよび前記第1の異常クラスの異常データの特徴量を含む特徴ベクトルを説明変数とし、前記異常クラスのラベルを目的変数とし、前記機械学習モデルのパラメータを訓練する処理を含む、
ことを特徴とする請求項1に記載のモデル生成方法。
【請求項3】
予測対象とする生体情報が入力された前記機械学習モデルが出力するラベルに基づいて前記予測対象とする生体情報が前記第1の異常クラスまたは前記第2の異常クラスであるのかを判定し、
前記予測対象とする生体情報の前記第1の異常クラスまたは前記第2の異常クラスの判定結果を出力する、
処理を前記コンピュータがさらに実行することを特徴とする請求項1または2に記載のモデル生成方法。
【請求項4】
前記機械学習モデルおよび前記予測対象とする生体情報を機械学習モデルの解釈ツールに適用する処理を前記コンピュータがさらに実行し、
前記出力する処理は、前記予測対象とする生体情報の前記第1の異常クラスまたは前記第2の異常クラスの判定結果と、前記解釈ツールの適用結果とを出力する処理を含む、
ことを特徴とする請求項3に記載のモデル生成方法。
【請求項5】
前記解釈ツールは、LIME(Local Interpretable Model-agnostic Explanations)またはSHAP(Shapley Additive exPlanations)であることを特徴とする請求項4に記載のモデル生成方法。
【請求項6】
生体情報の異常が検知済みである異常データまたは前記異常データの特徴が数値化された特徴量が加工された加工データのうち、異常クラスが既知である第1の異常クラスに対応するクラスタに分類されず、かつ前記異常が検知される加工データを、前記異常クラスが未知である第2の異常クラスの異常データと特定し、
特定された前記第2の異常クラスの異常データと、前記第1の異常クラスの異常データとに基づいて、生体情報を入力として前記第1の異常クラスまたは前記第2の異常クラスのラベルを出力する機械学習モデルを生成する、
処理をコンピュータに実行させることを特徴とするモデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モデル生成方法及びモデル生成プログラムに関する。
【背景技術】
【0002】
介護や医療などの現場では、被介護者や患者の体調変化を検知することの重要性が高まっている。このような体調変化の検知には、各種の異常の予兆や兆候が症状として現れるバイタルデータなどの生体情報が用いられる。
【0003】
さらに、新型コロナウイルス感染症などの未知の感染症の想定を実現する側面から、既知の症状と未知の症状とを切り分けるために、既知の異常データをクラスタリングするクラスタリングモデルが用いられる場合がある。このようなクラスタリングモデルにより、入力されたバイタルデータが既知の異常または未知の異常に分類される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記のクラスタリングモデルは、いわゆる教師なし学習で実現されるので、未知の異常の判定結果の根拠を提示することが困難である側面がある。
【0006】
1つの側面では、本発明は、未知の異常の判定結果の根拠を提示できるモデル生成方法及びモデル生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
一態様では、モデル生成方法では、生体情報の異常が検知済みである異常データまたは前記異常データの特徴が数値化された特徴量が加工された加工データのうち、異常クラスが既知である第1の異常クラスに対応するクラスタに分類されず、かつ前記異常が検知される加工データを、前記異常クラスが未知である第2の異常クラスの異常データと特定し、特定された前記第2の異常クラスの異常データと、前記第1の異常クラスの異常データとに基づいて、生体情報を入力として前記第1の異常クラスまたは前記第2の異常クラスのラベルを出力する機械学習モデルを生成する、処理をコンピュータが実行する。
【発明の効果】
【0008】
未知の異常の判定結果の根拠の提示を実現できる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、サーバ装置の機能構成例を示すブロック図である。
【
図2】
図2は、各モデルの訓練例を示す模式図である。
【
図3】
図3は、ランダムフォレストの一例を示す図である。
【
図4】
図4は、症状判定の処理例を示す模式図である。
【
図7】
図7は、クラスタリング結果の一側面を示す図である。
【
図8】
図8は、クラスタリング結果の一側面を示す図である。
【
図9】
図9は、第1及び第2の訓練処理の手順を示すフローチャートである。
【
図10】
図10は、第3の訓練処理の手順を示すフローチャートである。
【
図11】
図11は、症状判定処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して本願に係るモデル生成方法及びモデル生成プログラムの実施例について説明する。各実施例には、あくまで1つの例や側面を示すに過ぎず、このような例示により数値や機能の範囲、利用シーンなどは限定されない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例0011】
<全体構成>
図1は、サーバ装置10の機能構成例を示すブロック図である。
図1に示すサーバ装置10は、未知の異常の判定結果の根拠の提示を実現する側面から、教師ありの機械学習により、生体情報が既知または未知の異常であるかを判定する症状判定モデルを生成するモデル生成機能を提供するものである。
【0012】
このようなモデル生成機能とともに、サーバ装置10は、上記のモデル生成機能により生成された症状判定モデルを用いて、予測対象とする生体情報が既知または未知の異常であるかを判定する症状判定機能をさらに提供することもできる。
【0013】
これらモデル生成機能および症状判定機能は、介護事業者を支援する介護支援サービスの一機能としてパッケージ化され得る。このような介護支援サービスにおけるモデル生成機能および症状判定機能の利用シーンのあくまで一例として、介護の現場のスタッフに被介護者の体調変化を通知する場面が挙げられる。
【0014】
サーバ装置10は、SaaS(Software as a Service)型のアプリケーションとして実現することで、上記の介護支援サービスをクラウドサービスとして提供することもできる。この他、サーバ装置10は、上記の介護支援サービスをオンプレミスに提供するサーバとして実現できる。
【0015】
図1に示すように、サーバ装置10は、ネットワークNWを介して、携帯端末装置50およびスタッフ端末70と通信可能に接続され得る。例えば、ネットワークNWは、有線または無線を問わず、インターネットやLAN(Local Area Network)などの任意の種類の通信網であってよい。なお、
図1には、1つのサーバ装置10につき1つの携帯端末装置50および1つのスタッフ端末70が接続される例を挙げたが、任意の台数の携帯端末装置50およびスタッフ端末70が接続されることを妨げない。
【0016】
携帯端末装置50は、被介護者3により携帯される端末装置である。携帯端末装置50は、
図1に示すように、被介護者3により装着されるウェアラブル端末30から生体情報を取得することができる。なお、ウェアラブル端末30および携帯端末装置50の間の通信は、近距離無線通信により実現されてもよいし、ケーブルを介するシリアル通信により実現されてもよい。
【0017】
これらウェアラブル端末30および携帯端末装置50は、任意のタイミングで互いのデータを同期させることができる。例えば、ウェアラブル端末30が搭載するバイタルセンサにより測定されたバイタルデータから被介護者3の起床が検出された場合、睡眠時の被介護者3のバイタルデータがウェアラブル端末30から携帯端末装置50へ伝送される。この他、被介護者3の起床後には、一定の周期、例えば1時間ごとに、被介護者3のバイタルデータがウェアラブル端末30から携帯端末装置50へ伝送される。
【0018】
このようにウェアラブル端末30からバイタルデータが伝送された携帯端末装置50は、当該バイタルデータをサーバ装置10へアップロードすることができる。例えば、バイタルデータには、心拍数や体温、血中酸素飽和濃度、血圧などのバイタルの時系列データが含まれてよい。なお、ここでは、生体情報の一例として、バイタルデータを例に挙げたが、バイタルデータに限定されず、他の生体情報、例えば顔画像や虹彩などであってもよい。
【0019】
スタッフ端末70は、介護事業者のスタッフにより使用される端末装置である。例えば、スタッフ端末70は、パーソナルコンピュータを始め、携帯端末装置やウェアラブル端末などの任意のコンピュータにより実現されてよい。
【0020】
<サーバ装置10の構成>
次に、本実施例に係るサーバ装置10の機能構成例について説明する。
図1には、サーバ装置10が有する介護支援サービスに関連するブロックが模式化されている。
図1に示すように、サーバ装置10は、通信制御部11と、記憶部13と、制御部15とを有する。なお、
図1には、上記の介護支援サービスに関連する機能部が抜粋して示されているに過ぎず、図示以外の機能部がサーバ装置10に備わることとしてもよい。
【0021】
通信制御部11は、携帯端末装置50やスタッフ端末70などの他の装置との間の通信を制御する機能部である。あくまで一例として、通信制御部11は、LANカードなどのネットワークインタフェイスカードにより実現され得る。1つの側面として、通信制御部11は、携帯端末装置50からバイタルデータのアップロードなどを受け付けたり、あるいは被介護者の体調変化の通知などをスタッフ端末70へ出力したりする。
【0022】
記憶部13は、各種のデータを記憶する機能部である。一例として、記憶部13は、サーバ装置10の内部、外部または補助のストレージにより実現される。例えば、記憶部13は、バイタルDB(DataBase)14を記憶する。なお、バイタルDB14の説明は、バイタルDB14の参照、生成または登録が実行される場面で併せて説明することとする。
【0023】
制御部15は、サーバ装置10の全体制御を行う機能部である。例えば、制御部15は、ハードウェアプロセッサにより実現され得る。
図1に示すように、制御部15は、取得部15Aと、設定部15Bと、第1の訓練部15Cと、第2の訓練部15Dと、加工部15Eと、生成部15Fと、第3の訓練部15Gと、判定部15Hとを有する。なお、制御部15は、ハードワイヤードロジックなどにより実現されてもよい。
【0024】
取得部15Aは、被介護者3の生体情報を取得する処理部である。あくまで一例として、取得部15Aは、ネットワークNWを介して、携帯端末装置50から被介護者3のバイタルデータを取得することができる。このようなバイタルデータの情報ソースは、携帯端末装置50に限定されない。例えば、取得部15Aは、リムーバブルメディアに記憶されたバイタルデータを取得することとしてもよい。このように取得されたバイタルデータは、バイタルデータの集合を記憶するバイタルDB14に格納される。
【0025】
設定部15Bは、被介護者3の体調を表すクラスのラベルをバイタルデータに設定する処理部である。以下、被介護者3の体調を表すクラスのことを指して「体調クラス」と記載する場合がある。あくまで一例として、設定部15Bは、被介護者3により入力された問診票に基づいてバイタルデータにラベルを設定できる。より詳細には、携帯端末装置50では、時間帯、日、週または月などの任意の単位で被介護者3の体調が正常または異常であるかの質問を含む問診票への回答の入力を受け付けることができる。このような問診票への回答の入力結果に基づいて、設定部15Bは、バイタルデータにラベルを設定する。例えば、設定部15Bは、バイタルDB14に記憶されたバイタルデータのうち、問診票で正常の回答が選択された時間帯に対応するバイタルデータに体調クラス「正常」のラベルを設定する。その一方で、設定部15Bは、バイタルDB14に記憶されたバイタルデータのうち、問診票で異常の回答が選択された時間帯に対応するバイタルデータに体調クラス「異常」のラベルを設定する。さらに、設定部15Bは、体調クラス「異常」のラベルが設定されたバイタルデータに当該被介護者3の診断結果、例えば体調異常の種類として得られた異常クラスのラベル、例えば「インフルエンザ」や「風邪」、「コロナ」などを設定できる。
【0026】
以下、バイタルデータのうち体調クラス「正常」のラベルが設定されたバイタルデータのことを指して「正常データ」と記載するとともに、体調クラス「異常」のラベルが設定されたバイタルデータのことを指して「異常データ」と記載する場合がある。
【0027】
第1の訓練部15Cは、異常検知モデルを訓練する処理部である。ここで言う「異常検知モデル」とは、予測対象とするバイタルデータが正常または異常であるかを検知する機械学習モデルを指す。以下、予測対象とするバイタルデータのことを指して「予測対象データ」と記載する場合がある。
【0028】
図2は、各モデルの訓練例を示す模式図である。
図2に示すように、第1の訓練部15Cは、バイタルDB14に記憶されたバイタルデータのうち体調クラス「正常」が設定された正常データ14Nを用いて、教師なしの機械学習を実行することにより、異常検知モデルM1を生成する。このとき、第1の訓練部15Cは、バイタルデータをバイタルの特徴が数値化された特徴量を含む特徴ベクトルへ変換できる。例えば、心拍数の時系列データから、特定の単位時間あたりの心拍数の統計値、例えば1分間あたりの最大心拍数の平均値、1分間あたりの平均心拍数の平均値、1分間あたりの最小心拍数の平均値などを特徴量として抽出できる。このような正常データ14Nの特徴量を用いる機械学習により、予測対象データを正常データ14Nに分類できる決定境界を含む異常検知モデルM1を訓練できる。
【0029】
第2の訓練部15Dは、クラスタリングモデルを訓練する処理部である。ここで言う「クラスタリングモデル」とは、異常データのクラスタリング、いわゆるクラスタ分析を実行する機械学習モデルを指す。
【0030】
図2に示すように、第2の訓練部15Dは、バイタルDB14に記憶されたバイタルデータのうち体調クラス「異常」が設定された異常データ14Aを用いて、教師なしの機械学習を実行することにより、クラスタリングモデルM2を生成する。なお、この場合についても、第2の訓練部15Dは、バイタルデータをバイタルの特徴が数値化された特徴量を含む特徴ベクトルへ変換できる。
【0031】
例えば、クラスタリングの各種のアルゴリズムの中でも、予め分割数を決めない階層クラスタリングを用いることができる。より詳細には、階層クラスタリングでは、初期値として1つの異常データのみが属するクラスタをN個生成し、異常データの類似度が最も大きいクラスタ同士を結合して新たなクラスタを生成する操作を繰り返す。このとき、予めクラスタ間の類似度の閾値を定め、全てのクラスタ間の類似度が閾値未満になった時に繰り返し処理を終了する。このような異常データ14Aの特徴量を用いる機械学習により、異常クラスが同一である異常データ同士が同じクラスタに分類される一方で、異常クラスが異なる異常データ同士が異なるクラスタに分類されたクラスタリング結果を含むクラスタリングモデルM2を訓練できる。なお、クラスタ間の類似度は、特定のものに限定されない。例えば、各クラスタにおける異常データの重心同士の距離やコサイン類似度、クラスタに属する異常データ同士の距離、コサイン類似度、総和や平均値などの統計量を用いる方法などをクラスタ間の類似度として用いることができる。
【0032】
加工部15Eは、異常データを加工する処理部である。あくまで一例として、加工部15Eは、バイタルDB14に記憶されたバイタルデータのうち体調クラス「異常」が設定された異常データ14Aを加工する。このような加工は、元の異常データ、あるいは元の異常データの特徴ベクトルに含まれる特徴量のパラメータに変化を与えることより加工して別のデータとしてデータセットに加えるデータ拡張、例えばTTA(Test Time Augmentation)により実現できる。このとき、加工部15Eは、バイタルDB14に記憶されたバイタルの分布情報、例えば最大値や最小値などに基づいて上限値や下限値を含む許容範囲を制約条件として設定し、当該制約条件の下でデータ拡張を実行できる。以下、加工部15Eにより元の異常データが加工されたデータ、あるいは元の異常データの特徴量が加工された特徴ベクトルのことを指して「加工データ」と記載する場合がある。このようなデータ拡張が1つの異常データにつき任意の回数にわたって実行されることにより、任意の個数Kの加工データを得ることができる。
【0033】
生成部15Fは、加工データから未知の症状に対応する異常データを生成する処理部である。あくまで一例として、生成部15Fは、加工部15Eによる加工で得られた加工データごとに次のような処理を実行する。
図2に示すように、生成部15Fは、加工データから抽出される特徴ベクトルと、クラスタリングモデルM2に含まれる異常クラスのクラスタとを比較して、各異常クラスのクラスタのうちいずれかのクラスタに加工ベクトルの特徴ベクトルが該当するか否かを判定する。このとき、加工データの特徴ベクトルがいずれのクラスタにも該当しない場合、当該加工データに対応する症状が既知の異常クラスに現れない未知の症状であると推定できる。この場合、生成部15Fは、加工ベクトルの特徴ベクトルを異常検知モデルM1へ入力する。これにより、異常検知モデルM1は、加工データの特徴ベクトルと、正常データ14Nの決定境界との距離が閾値異常であるか否か、すなわち加工データが体調クラス「異常」であるか否かを判定する。このとき、異常検知モデルM1により加工データが体調クラス「異常」であると判定された場合、当該加工データが正常データでなく、異常データであることを推定できる。このように、加工データに対応する症状が既知の異常クラスに現れない未知の症状であり、かつ加工データが異常データであると推定できる場合、生成部15Fは、当該加工データを未知の異常データと識別する。このとき、生成部15Fは、未知の異常データに異常クラス「未知」のラベルを設定する。
【0034】
第3の訓練部15Gは、症状判定モデルを訓練する処理部である。ここで言う「症状判定モデル」とは、予測対象データが既知または未知の異常であるかを判定する機械学習モデルを指す。
【0035】
図2に示すように、第3の訓練部15Gは、バイタルDB14に記憶された既知の異常データ14Aと、生成部15Fにより生成された未知の異常データとを用いて、教師ありの機械学習を実行することにより、訓練済みの症状判定モデルM3を生成する。
図2に示す例で言えば、異常クラス「インフルエンザ」、「風邪」または「コロナ」などのラベルが設定された既知の異常データ14Aと、異常クラス「未知」のラベルが設定された未知の異常データとが用いられ得る。例えば、第3の訓練部15Gは、異常データの特徴ベクトルを説明変数とし、異常クラスのラベルを目的変数とし、任意の機械学習のアルゴリズムにしたがって症状判定モデルを訓練できる。これにより、訓練済みの症状判定モデルM3が得られる。このような症状判定モデルM3は、あくまで一例として、複数の決定木を並列に作成して、各決定木の出力結果に基づいて予測を行うランダムフォレストにより実現できる。
【0036】
図3は、ランダムフォレストの一例を示す図である。
図3には、症状判定モデルM3がランダムフォレストにより実現される例が示されている。
図3に示すように、ランダムフォレストでは、異常クラスのラベルが付与された異常データの集合を訓練データセットとし、訓練データをランダムにサンプリングしてN個のサンプル集合1~Nを生成するブートストラップサンプリングが行われる。そして、サンプル集合1~Nごとに当該サンプル集合から決定木が生成される。このように生成されたN個の決定木の下、予測時には、予測対象データが入力されたN個の決定木の各々が出力するラベルの多数決により、異常クラスのラベルが予測される。例えば、ランダムフォレストのメリットとして、説明変数が多数であってもうまく動作する点、特徴量の重要度(寄与度)を算出できる点、正則化(不要な説明変数の影響を抑制)が効く点などが挙げられる。
【0037】
なお、ここでは、症状判定モデルM3がランダムフォレストにより実現される例を挙げたが、これに限定されず、ニューラルネットワークやサポートベクタマシン、勾配ブースティング決定木などの任意の機械学習モデルにより実現されてよい。
【0038】
判定部15Hは、症状判定モデルM3を用いて、予測対象データが既知または未知の異常であるかを判定する処理部である。
図4は、症状判定の処理例を示す模式図である。
図4に示すように、判定部15Hは、取得部15Aにより取得された予測対象データを異常検知モデルM1へ入力する。これにより、異常検知モデルM1は、予測対象データの特徴ベクトルと、正常データ14Nの決定境界との距離が閾値異常であるか否か、すなわち予測対象データが体調クラス「異常」であるか否かを判定する。このとき、異常検知モデルM1により予測対象データが体調クラス「異常」であると判定された場合、当該予測対象データが正常データでなく、異常データであることを推定できる。この場合、判定部15Hは、異常検知モデルM1により異常が検知された予測対象データを症状判定モデルM3へ入力する。このように異常データが入力された症状判定モデルM3は、異常クラスのラベルを予測結果として出力する。その後、判定部15Hは、症状判定モデルM3および予測対象データをLIME(Local Interpretable Model-agnostic Explanations)やSHAP(Shapley Additive exPlanations)などの解釈ツールへ適用する。これにより、予測対象データから抽出された特徴ベクトルに含まれる特徴量の重要度(寄与度)が算出される。
【0039】
その上で、判定部15Hは、症状判定モデルM3による予測結果、例えば異常クラスのラベルおよび解釈ツールによる解釈結果、例えば特徴量の重要度の算出結果をスタッフ端末70へ出力する。このとき、判定部15Hは、予測対象データの特徴ベクトルのうち特定の条件を満たす特徴量に絞り込んで重要度の算出結果を出力できる。例えば、判定部15Hは、重要度が上位特定数、例えば上位2つに該当する特徴量に関する重要度の算出結果を出力できる。この他、判定部15Hは、重要度が閾値以上である特徴量に関する重要度の算出結果を出力できる。さらに、判定部15Hは、特定の条件を満たす特徴量に関する情報を出力する際、異常データと判定された予測対象データの特徴量と、正常データ14Nの特徴量の統計値との比較結果を出力することができる。
【0040】
図5および
図6は、レポートの表示例を示す図である。
図5には、スタッフ端末70に表示されるレポートのサマリ画面200が示される一方で、
図6には、スタッフ端末70に表示されるレポートの詳細画面210が示されている。
図5に示すように、サマリ画面200には、異常検知モデルM1により予測対象データが異常データと検知された「日時」が表示される。例えば、ウェアラブル端末30および携帯端末装置50の同期で予測対象データがアップロードされることにより、異常検知モデルM1が呼び出されたタイミング、例えば「起床時刻」や起床後の「一定周期」などに対応するタイムスタンプが表示され得る。さらに、サマリ画面200には、症状判定モデルM3により判定された異常クラスのラベルに対応する被介護者3の状態(体調)が表示される。例えば、
図5に示す例で言えば、異常クラス「コロナ」に対応するメッセージ「COVID-19の可能性があります」が表示される。この他、サマリ画面200には、当該状態と判断された根拠とが表示される。このような判断根拠の一例として、重要度が上位2つに該当する特徴量「睡眠時の心拍数」および「睡眠時のSpO2」と、これら2つの特徴量および正常データ14Nの特徴量の統計値の比較結果に対応するメッセージとが表示される。例えば、特徴量「睡眠時の心拍数」の例で言えば、メッセージ「睡眠時の心拍数が正常時に比べて高いです」が表示される。また、特徴量「睡眠時のSpO2」の例で言えば、メッセージ「睡眠時のSpO2が正常時に比べて低いです」が表示される。さらに、サマリ画面200には、根拠の詳細を表示するリンク200Aが含まれる。このようなリンク200Aが操作されることにより、スタッフ端末70のレポートの表示が
図5に示すサマリ画面200から
図6に示す詳細画面210へ遷移する。
【0041】
図6に示すように、詳細画面210には、
図5に示すサマリ画面200で判断根拠として表示されている特徴量ごとに予測対象データのうち当該特徴量の抽出元に対応するバイタルの時系列データと、正常データ14Nの特徴量またはその統計値とが表示される。例えば、特徴量「睡眠時の心拍数」の例で言えば、予測対象データのうち特徴量の抽出元に対応するバイタル「睡眠時の心拍数」の時系列データと、正常データ14Nの特徴量の統計値「睡眠中の正常時の最大心拍数の平均値」、「睡眠中の正常時の平均心拍数の平均値」および「睡眠中の正常時の最小心拍数の平均値」とを含むグラフG1が表示される。さらに、特徴量「睡眠時のSpO2」の例で言えば、予測対象データのうち特徴量「睡眠時のSpO2」と、正常データ14Nの特徴量「睡眠時の正常時のSpO2」の分布とを含むグラフG2が表示される。
【0042】
このように
図5および
図6に示すレポートの表示例によれば、予測対象データが未知の症状である場合でも、教師ありの機械学習により生成された症状判定モデルM3および予測対象データの解釈結果を未知の異常の判定結果の根拠として提示できる。
【0043】
このような判断根拠の提示は、上記の背景技術の欄で挙げたクラスタリングモデルでは実現できない。
図7および
図8は、クラスタリング結果の一側面を示す図である。
図7および
図8には、いずれも上記の背景技術の欄で挙げたクラスタリングモデルによるクラスタリング結果が示されている。このうち、
図7には、理想のクラスタリング結果が示されている一方で、
図8には、現実のクラスタリング結果が示されている。なお、
図7および
図8には、異常クラスのラベルが同一の異常データには、共通のハッチングで示される一方で、異常クラスのラベルが異なる異常データには、異なるハッチングで示されている。
【0044】
図7に示すように、理想的には、異常クラスごとに当該異常クラスに対応するクラスタが形成されることが好ましい。すなわち、異常データA、異常データC、異常データFおよび異常データIと、異常データB、異常データDおよび異常データEと、異常データG、異常データHおよび異常データJとが異なるクラスタc1~c3としてクラスタリングされるのが理想的である。
【0045】
しかしながら、現実的には、
図7に示すクラスタリング結果は得られず、
図8に示すクラスタリング結果が得られることになる。すなわち、
図8に示すように、異常データA、異常データCおよび異常データIの異常クラスは共通するが、異常データHの異常クラスが異なるクラスタC1が形成される。さらに、異常データGおよび異常データJの異常クラスは共通するが、異常データFの異常クラスが異なるクラスタC3が形成される。
【0046】
このようなクラスタリング結果に基づいてクラスタC1~C3のいずれにも含まれない予測対象データLを未知の異常に分類できたとしても、「確かにこういう理由で予測対象データLは既知の異常から外れている」と人間が判断する必要があり、教師なし学習の結果から結果の解釈の指標は得られない。すなわち、予測対象データLが未知の異常と判断された際に、人がデータを照らし合わせて『「運動時の心拍数の値」と「正常時の心拍数の値」の乖離度合いが既知の異常と異なるから』など原因を分析して「未知の異常の判断」を行う必要がある。このような新規の予測対象データごとに「未知の異常の判断」のパターンを事前に用意しておくのは現実的ではない。
【0047】
一方、本実施例に係るモデル生成機能によれば、クラスタリングの結果をもとに「既知の異常と異なる異常データ」として「未知の異常データ」を作成し、教師ありの機械学習により症状判定モデルM3が生成される。このような症状判定モデルM3によれば、「未知の異常」と判断した分類の結果に対して「モデルがなぜそう判断したのか」の解釈の指標が得られる。例えば、
図5や
図6に示す例によれば、『「睡眠時の心拍数の値」と「睡眠中の正常時の心拍数の値」の乖離度合いが既知の異常と異なるから』とモデルが判断した場合、その項目が重要度(寄与度)として得られる。
【0048】
<処理の流れ>
次に、本実施例に係るサーバ装置10の処理の流れについて説明する。ここでは、サーバ装置10により実行される(1)第1及び第2の訓練処理、(2)第3の訓練処理、(3)症状判定処理の順に説明することとする。
【0049】
(1)第1及び第2の訓練処理
図9は、第1及び第2の訓練処理の手順を示すフローチャートである。
図9に示すように、取得部15Aにより被介護者3のバイタルデータが取得されると(ステップS101)、設定部15Bは、次のような処理を実行する。すなわち、設定部15Bは、被介護者3により入力された問診票に基づいてステップS101で取得されたバイタルデータに体調クラス「正常」または「異常」のラベルを設定する(ステップS102)。
【0050】
続いて、設定部15Bは、ステップS101で取得されたバイタルデータを、体調クラス「正常」が設定された正常データ14Nと、体調クラス「異常」が設定された異常データ14Aとに分類する(ステップS103)。
【0051】
そして、第1の訓練部15Cは、ステップS101で取得されたバイタルデータのうち体調クラス「正常」が設定された正常データ14Nを用いて、教師なしの機械学習を実行することにより、異常検知モデルM1を生成する(ステップS104A)。
【0052】
このようなステップS104Aと同時または並列のタイミングで、第2の訓練部15Dは、次のような処理を実行できる。すなわち、第2の訓練部15Dは、ステップS101で取得されたバイタルデータのうち体調クラス「異常」が設定された異常データ14Aを用いて、教師なしの機械学習を実行することにより、クラスタリングモデルM2を生成する(ステップS104B)。
【0053】
さらに、加工部15Eは、ステップS101で取得されたバイタルデータのうち体調クラス「異常」が設定された異常データ14Aを加工する(ステップS105B)。これにより、任意の個数Kの加工データを得ることができる。
【0054】
(2)第3の訓練処理
図10は、第3の訓練処理の手順を示すフローチャートである。この処理は、
図9に示す処理の完了後の任意のタイミングで実行できる。
図10に示すように、生成部15Fは、
図9に示すステップS105Bで得られた加工データの個数Kに対応する回数の分、下記のステップS301から下記のステップS305までの処理を反復するループ処理1を実行する。
【0055】
すなわち、生成部15Fは、k番目の加工データから抽出される特徴ベクトルと、クラスタリングモデルM2に含まれる異常クラスのクラスタとを比較する(ステップS301)。
【0056】
この結果、k番目の加工データの特徴ベクトルがいずれのクラスタにも該当しない場合(ステップS302Yes)、k番目の加工データに対応する症状が既知の異常クラスに現れない未知の症状であると推定できる。この場合、生成部15Fは、加工ベクトルの特徴ベクトルを異常検知モデルM1へ入力する(ステップS303)。
【0057】
そして、異常検知モデルM1によりk番目の加工データが体調クラス「異常」であると判定された場合(ステップS304Yes)、k番目の加工データが正常データでなく、異常データであることを推定できる。この場合、生成部15Fは、k番目の加工データを未知の異常データと識別する(ステップS305)。
【0058】
このようなループ処理1が反復されることにより、K個の加工データのうち既知の異常クラスに現れない未知の症状であり、かつ異常データである加工データが「未知の異常データ」として抽出されることになる。
【0059】
その後、第3の訓練部15Gは、ステップS103で分類された既知の異常データ14Aと、ステップS305で識別された未知の異常データとを用いて、教師ありの機械学習を実行することにより、訓練済みの症状判定モデルM3を生成し(ステップS306)、処理を終了する。
【0060】
(3)症状判定処理
図11は、症状判定処理の手順を示すフローチャートである。この処理は、訓練済みの症状判定モデルM3の生成後に取得部15Aにより予測対象データが取得された場合、実行できる。
【0061】
図11に示すように、取得部15Aにより予測対象データが取得されると(ステップS501)、判定部15Hは、ステップS501で取得された予測対象データを異常検知モデルM1へ入力する(ステップS502)。
【0062】
この結果、異常検知モデルM1により予測対象データが体調クラス「正常」であると判定された場合(ステップS503No)、当該予測対象データが正常データであることを推定できる。この場合、判定部15Hは、異常検知モデルM1による予測結果、すなわち体調クラス「正常」をスタッフ端末70へ出力し(ステップS504)、処理を終了する。
【0063】
一方、異常検知モデルM1により予測対象データが体調クラス「異常」であると判定された場合(ステップS503Yes)、当該予測対象データが正常データでなく、異常データであることを推定できる。この場合、判定部15Hは、異常検知モデルM1により異常が検知された予測対象データを症状判定モデルM3へ入力する(ステップS505)。
【0064】
続いて、判定部15Hは、症状判定モデルM3および予測対象データをLIMEやSHAPなどの解釈ツールへ適用する(ステップS506)。その後、判定部15Hは、症状判定モデルM3による予測結果、例えば異常クラスのラベルおよび解釈ツールによる解釈結果、例えば特徴量の重要度の算出結果をスタッフ端末70へ出力し(ステップS507)、処理を終了する。
【0065】
<効果の一側面>
上述してきたように、本実施例に係るサーバ装置10は、既知の異常データが加工された加工データのうち既知の異常に分類されず、かつ正常でない加工データを未知の異常データとして既知または未知の異常を判定する症状判定モデルを生成する。したがって、本実施例に係るサーバ装置10によれば、未知の異常の判定結果の根拠の提示を実現できる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
なお、上記のモデル生成プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にモデル生成プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体からモデル生成プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などにモデル生成プログラム170aを記憶させておく。このように記憶されたモデル生成プログラム170aをコンピュータ100にダウンロードさせた上で実行させるようにしてもよい。
(付記1)生体情報の異常が検知済みである異常データまたは前記異常データの特徴が数値化された特徴量が加工された加工データのうち、異常クラスが既知である第1の異常クラスに対応するクラスタに分類されず、かつ前記異常が検知される加工データを、前記異常クラスが未知である第2の異常クラスの異常データと特定し、
特定された前記第2の異常クラスの異常データと、前記第1の異常クラスの異常データとに基づいて、生体情報を入力として前記第1の異常クラスまたは前記第2の異常クラスのラベルを出力する機械学習モデルを生成する、
処理をコンピュータが実行することを特徴とするモデル生成方法。
(付記2)前記生成する処理は、前記第2の異常クラスおよび前記第1の異常クラスの異常データの特徴量を含む特徴ベクトルを説明変数とし、前記異常クラスのラベルを目的変数とし、前記機械学習モデルのパラメータを訓練する処理を含む、
ことを特徴とする付記1に記載のモデル生成方法。
(付記3)予測対象とする生体情報が入力された前記機械学習モデルが出力するラベルに基づいて前記予測対象とする生体情報が前記第1の異常クラスまたは前記第2の異常クラスであるのかを判定し、
前記予測対象とする生体情報の前記第1の異常クラスまたは前記第2の異常クラスの判定結果を出力する、
処理を前記コンピュータがさらに実行することを特徴とする付記1に記載のモデル生成方法。
(付記5)前記解釈ツールは、LIME(Local Interpretable Model-agnostic Explanations)またはSHAP(Shapley Additive exPlanations)であることを特徴とする付記4に記載のモデル生成方法。
(付記6)生体情報の異常が検知済みである異常データまたは前記異常データの特徴が数値化された特徴量が加工された加工データのうち、異常クラスが既知である第1の異常クラスに対応するクラスタに分類されず、かつ前記異常が検知される加工データを、前記異常クラスが未知である第2の異常クラスの異常データと特定し、
特定された前記第2の異常クラスの異常データと、前記第1の異常クラスの異常データとに基づいて、生体情報を入力として前記第1の異常クラスまたは前記第2の異常クラスのラベルを出力する機械学習モデルを生成する、
処理をコンピュータに実行させることを特徴とするモデル生成プログラム。
(付記7)前記生成する処理は、前記第2の異常クラスおよび前記第1の異常クラスの異常データの特徴量を含む特徴ベクトルを説明変数とし、前記異常クラスのラベルを目的変数とし、前記機械学習モデルのパラメータを訓練する処理を含む、
ことを特徴とする付記6に記載のモデル生成プログラム。
(付記8)予測対象とする生体情報が入力された前記機械学習モデルが出力するラベルに基づいて前記予測対象とする生体情報が前記第1の異常クラスまたは前記第2の異常クラスであるのかを判定し、
前記予測対象とする生体情報の前記第1の異常クラスまたは前記第2の異常クラスの判定結果を出力する、
処理を前記コンピュータにさらに実行させることを特徴とする付記6に記載のモデル生成プログラム。
(付記10)前記解釈ツールは、LIME(Local Interpretable Model-agnostic Explanations)またはSHAP(Shapley Additive exPlanations)であることを特徴とする付記9に記載のモデル生成プログラム。
(付記11)生体情報の異常が検知済みである異常データまたは前記異常データの特徴が数値化された特徴量が加工された加工データのうち、異常クラスが既知である第1の異常クラスに対応するクラスタに分類されず、かつ前記異常が検知される加工データを、前記異常クラスが未知である第2の異常クラスの異常データと特定し、
特定された前記第2の異常クラスの異常データと、前記第1の異常クラスの異常データとに基づいて、生体情報を入力として前記第1の異常クラスまたは前記第2の異常クラスのラベルを出力する機械学習モデルを生成する、
処理を実行する制御部を有する情報処理装置。
(付記12)前記生成する処理は、前記第2の異常クラスおよび前記第1の異常クラスの異常データの特徴量を含む特徴ベクトルを説明変数とし、前記異常クラスのラベルを目的変数とし、前記機械学習モデルのパラメータを訓練する処理を含む、
ことを特徴とする付記11に記載の情報処理装置。
(付記13)予測対象とする生体情報が入力された前記機械学習モデルが出力するラベルに基づいて前記予測対象とする生体情報が前記第1の異常クラスまたは前記第2の異常クラスであるのかを判定し、
前記予測対象とする生体情報の前記第1の異常クラスまたは前記第2の異常クラスの判定結果を出力する、
処理を前記制御部がさらに実行することを特徴とする付記11に記載の情報処理装置。
(付記15)前記解釈ツールは、LIME(Local Interpretable Model-agnostic Explanations)またはSHAP(Shapley Additive exPlanations)であることを特徴とする付記14に記載の情報処理装置。