以下に、図面を参照して、本発明にかかる分類プログラム、分類方法、および分類装置の実施の形態を詳細に説明する。
(実施の形態にかかる分類方法の一実施例)
図1は、実施の形態にかかる分類方法の一実施例を示す説明図である。分類装置100は、決定木モデルに基づいて対象データを分類するコンピュータである。
決定木モデルは、対象データを分類する条件を表すノードと、対象データを分類する属性を表す葉ノードとを含むモデルである。葉ノードは、例えば、対象データが正常であること、または、対象データが異常であることを表す。
以下の図面では、条件を表すノードの左側の子ノードに、条件の判定結果がTrueの場合に対応する子ノードを表示し、右側の子ノードに、条件の判定結果がFalseの場合に対応する子ノードを表示し、TrueとFalseとの表示を省略する場合がある。
ここで、省庁や自治体などでは、社会保障給付費の請求書に対応する請求データを受け付け、異常な請求データがあるか否かをチェックすることがあり、請求データが膨大になるほど、省庁や自治体などの職員にかかる負担が増大してしまう。また、請求データが膨大になるほど、省庁や自治体などの職員は、異常な請求データを見落としやすくなってしまう。異常な請求データは、例えば、不正請求の請求データである。異常な請求データは、具体的には、水増し請求の請求データである。異常な請求データは、具体的には、架空請求の請求データである。
このため、請求データを対象データとして、正常な請求データまたは異常な請求データに自動で分類することが望まれる。例えば、請求データを、正常な請求データまたは異常な請求データに分類するために、決定木モデルを利用することが望まれる。決定木モデルは、例えば、過去の請求データに基づいて生成される。決定木モデルを利用する具体的な状況については、例えば、図8を用いて後述する。
また、病院や薬局などでは、カルテや処方箋、および、医療報酬の明細書などに対応する医療データを管理し、異常な医療データがあるか否かをチェックすることがあり、医療データが膨大になるほど、病院や薬局などの職員にかかる負担が増大してしまう。また、病院や薬局などの職員は、異常な医療データを見落としやすくなってしまう。異常な医療データは、具体的には、特定の病気の情報を含むが、特定の病気に対して必須な薬や検査の情報を含まない医療データである。異常な医療データは、具体的には、月に1回だけ申請可能な請求が月に2回ある医療データである。
このため、医療データを対象データとして、正常な医療データまたは異常な医療データに自動で分類することが望まれる。例えば、医療データを、正常な医療データまたは異常な医療データに分類するために、決定木モデルを利用することが望まれる。決定木モデルは、例えば、過去の医療データに基づいて生成される。
しかしながら、決定木モデルを利用する利用者は、対象データが正常または異常に分類された結果の細かい種別を把握することが難しく、対象データが正常または異常に分類された理由を把握することが難しい。具体的には、対象データが請求データであり、対象データが不正請求に分類された場合、利用者は、対象データが分類された不正請求の種別を把握することが難しく、対象データが分類された理由を把握することが難しい。
これに対し、対象データを分類する過程において判定された条件の判定結果を羅列して利用者に通知する場合が考えられる。しかしながら、この場合、判定された条件の数が増加するほど、利用者は、対象データが正常または異常に分類された理由を直観的に把握することが難しくなってしまう。
また、利用者に決定木モデルのすべての葉ノードに名称を設定させ、対象データが葉ノードに分類された際、対象データに対応付けて葉ノードに設定された名称を利用者に通知する場合が考えられる。しかしながら、この場合、利用者に決定木モデルのすべての葉ノードに名称を設定させることは難しい。例えば、葉ノードの数が増大するほど、利用者にかかる負担が増大してしまう。
また、教師なし学習を利用して、または、教師あり学習と教師なし学習とを併用して決定木モデルを生成する状況では、利用者は、教師なし学習によって決定木モデルに追加された葉ノードに、どのような対象データが分類されるのかを予め把握することが難しい。このため、利用者は、教師なし学習によって追加された葉ノードについては、名称を設定することは難しい。
そこで、本実施の形態では、決定木モデル上で名称が未設定の第1の葉ノードに対象データが分類された場合、名称が設定済みの第2の葉ノードに基づいて、第1の葉ノードの名称を生成することができる分類方法について説明する。この分類方法によれば、対象データを分類した葉ノードの名称を利用者に提示可能にすることができ、対象データが正常または異常に分類された理由を利用者が把握しやすくすることができる。
図1において、分類装置100は、決定木モデル110を記憶する。分類装置100は、例えば、学習データに基づいて決定木モデル110を生成して記憶する。分類装置100は、例えば、学習データに基づいて決定木モデル110を生成する他装置から、決定木モデル110を受信して記憶してもよい。
決定木モデル110は、対象データを分類する条件を表すノードと、対象データが正常であること、または、対象データが異常であることを表す葉ノードとを含む。対象データは、例えば、何らかの事業者から提出される。対象データは、具体的には、社会保障給付費の請求書に対応する請求データである。図1の例では、決定木モデル110は、例えば、対象データを分類する条件を表すノード111〜116と、対象データが正常であること、または、対象データが異常であることを表す葉ノード121〜127とを含む。
分類装置100は、決定木モデル110により対象データを分類する。分類装置100は、例えば、決定木モデル110の根ノードから順に、ノードが表す条件を対象データが満たすか否かを判定し、判定した結果に基づいて、いずれかの葉ノードに対象データを分類する。葉ノードへの分類は、葉ノードが表す属性への分類に対応し、例えば、葉ノードが表す正常または異常への分類に対応する。図1の例では、分類装置100は、具体的には、対象データを、葉ノード127に分類する。
分類装置100は、名称が未設定である第1の葉ノードに対象データが分類された場合、ノード間の位置関係に基づいて、決定木モデル110のうち、名称が設定済みである第2の葉ノードを選択する。ノード間の位置関係は、例えば、ノード間の親子関係によって表される。分類装置100は、例えば、ノード間の位置関係に基づいて、第1の葉ノードの近傍にある葉ノードの中から、第2の葉ノードを選択する。ノード間の距離は、例えば、ノード間を接続するエッジの数によって表される。近傍は、例えば、ノード間を接続するエッジの数が所定数以下であることに対応する。
図1の例では、分類装置100は、具体的には、名称が未設定である葉ノード127に対象データが分類されたため、葉ノード127の近傍にある葉ノード123,126の中から、葉ノード123を選択する。第1の葉ノードの近傍にある葉ノードの中から第2の葉ノードを選択する具体例については、図17および図18を用いて後述する。
分類装置100は、選択した第2の葉ノードの名称に基づいて、第1の葉ノードの名称を生成する。第2の葉ノードの名称は、対象データが分類された結果の細かい種別に対応し、対象データが分類された理由を示す名称である。第2の葉ノードの名称は、例えば、XXサービスやB不正などである。第2の葉ノードの名称は、具体的には、水増し請求や架空請求などである。
図1の例では、分類装置100は、例えば、選択した葉ノード123の名称「B不正」に基づいて、葉ノード127の名称「B不正に近い傾向が見られる」を生成する。また、分類装置100は、例えば、葉ノード126を選択した場合であれば、葉ノード126の名称「XXサービス」に基づいて、葉ノード127の名称「XXサービスに関連する不正請求と考えられる」を生成する。
分類装置100は、さらに、選択した第2の葉ノードに対象データが分類される場合に判定される条件の判定結果と、第1の葉ノードに対象データが分類される場合に判定される条件の判定結果との差異を、第1の葉ノードの名称に反映してもよい。差異は、例えば、根ノードから第1の葉ノードまでの経路上の各ノードが表す条件の判定結果と、根ノードから第2の葉ノードまでの経路上の各ノードが表す条件の判定結果との差異である。
分類装置100は、例えば、選択した葉ノード126の名称「XXサービス」と、判定条件の差異「(XXサービスに比べて)D>100ではない」とに基づいて、葉ノード127の名称「XXサービスに関連し、D>100ではない」を生成する。
これにより、分類装置100は、生成した第1の葉ノードの名称を、対象データに対応付けて出力可能にすることができる。このため、分類装置100は、利用者が、対象データが分類された結果の細かい種別を把握可能にし、対象データが分類された理由を把握可能にすることができる。
結果として、利用者は、対象データが膨大であっても、それぞれの対象データが分類された理由を参照して、効率よく異常な対象データがあるか否かをチェックすることができ、効率よく業務を行うことができ、負担の低減化を図ることができる。また、利用者は、異常な対象データを見落としにくくなり、効率よく業務を行うことができる。
また、利用者は、いずれの対象データが、比較的重大な異常に分類されたかを把握し、いずれの対象データを精査することが好ましいかを判断することができる。また、利用者は、対象データを提出した複数の事業者のうち、いずれの事業者が比較的重大な異常がある対象データを提出したかを判断することができ、監査することが好ましい事業者を特定することができる。
また、分類装置100は、第1の葉ノードの名称を、第2の葉ノードの名称に基づいて生成することができ、利用者が直感的に理解しやすい名称を生成しやすくすることができる。このため、利用者は、対象データを分類する過程において判定された条件の判定結果を羅列した情報を参照する場合に比べて、対象データが分類された理由を把握しやすくなり、効率よく業務を行うことができる。
また、分類装置100は、利用者が名称を設定していない葉ノードについて名称を生成することができる。このため、利用者は、決定木モデル110のすべての葉ノードに名称を設定しなくてもよく、負担の低減化を図ることができる。また、分類装置100は、決定木モデル110に、教師なし学習によって追加された葉ノードについても、名称を設定することができる。このため、利用者は、対象データが、教師なし学習によって追加された葉ノードに分類された理由を把握することができる。
ここでは、分類装置100が、対象データが分類された第1の葉ノードが、対象データが正常であることを表す葉ノードであっても、第1の葉ノードの名称を生成する場合について説明したが、これに限らない。例えば、分類装置100が、対象データが分類された第1の葉ノードが、対象データが正常であることを表す葉ノードであれば、第1の葉ノードの名称を生成しない場合があってもよい。これにより、分類装置100は、処理量の低減化を図ることができる。分類装置100は、例えば、利用者が異常な対象データを発見することを求める場合、対象データが正常であることを表す葉ノードに名称を付けなくても、利用者の業務効率を低下させずに、処理量の低減化を図ることができる。
ここでは、分類装置100が、ノード間の位置関係に基づいて、第1の葉ノードの近傍にある葉ノードの中から、第2の葉ノードを選択する場合について説明したが、これに限らない。例えば、分類装置100が、ノード間の位置関係に基づいて、決定木モデル110のうち、第1の葉ノードを含む第1の部分木と同一または類似する第2の部分木に含まれる葉ノードの中から、第2の葉ノードを選択する場合があってもよい。第2の部分木に含まれる葉ノードの中から第2の葉ノードを選択する具体例については、図19〜図21を用いて後述する。
(分類システム200の一例)
次に、図2を用いて、図1に示した分類装置100を適用した、分類システム200の一例について説明する。
図2は、分類システム200の一例を示す説明図である。図2において、分類システム200は、分類装置100と、端末装置201とを含む。
分類システム200において、分類装置100と端末装置201とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
分類装置100は、端末装置201から学習データとなる請求データを受信し、決定木モデルを生成する。分類装置100は、対象データとなる請求データを受信し、生成した決定木モデルの葉ノードに、請求データを分類する。分類装置100は、請求データを分類した葉ノードに名称が未設定であれば、名称を生成する。
分類装置100は、請求データを分類した結果に基づく情報を、端末装置201に出力させ、端末装置201の利用者に通知させる。分類装置100は、例えば、請求データと、請求データを分類した葉ノードの名称とを対応付けて、端末装置201に表示させる。分類装置100は、例えば、サーバやPC(Personal Computer)などである。
端末装置201は、分類システム200の利用者が利用するコンピュータである。利用者は、例えば、省庁や自治体、または、病院や薬局などの職員である。端末装置201は、例えば、省庁や自治体、または、病院や薬局などに設けられる。端末装置201は、学習データとなる請求データを、分類装置100に送信する。端末装置201は、対象データとなる請求データを、分類装置100に送信し、請求データを分類した結果に基づく情報を、分類装置100から受信して出力する。端末装置201は、例えば、PC、タブレット端末、または、スマートフォンなどである。
ここでは、分類装置100と端末装置201とが別の装置である場合について説明したが、これに限らない。例えば、分類装置100が、端末装置201と一体である場合があってもよい。この場合、分類装置100は、利用者の操作入力に基づいて、学習データとなる請求データ、または、対象データとなる請求データなどを受け付ける。
ここでは、分類装置100が決定木モデルを生成し、対象データを分類する場合について説明したが、これに限らない。例えば、分類装置100とは異なる他の装置が、決定木モデルを生成し、分類装置100に送信する場合があってもよい。また、例えば、分類装置100とは異なる他の装置が、対象データを分類した結果を、分類装置100に送信する場合があってもよい。他の装置は、例えば、端末装置201である。
(分類装置100のハードウェア構成例)
次に、図3を用いて、分類装置100のハードウェア構成例について説明する。
図3は、分類装置100のハードウェア構成例を示すブロック図である。図3において、分類装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、分類装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303には、例えば、モデムやLANアダプタなどを採用することができる。
記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、分類装置100から着脱可能であってもよい。メモリ302、または、記録媒体305は、例えば、請求データや決定木モデルを記憶してもよい。
分類装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、分類装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、分類装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。
(請求データ400のデータ構造)
次に、図4を用いて、分類装置100が取得する請求データ400のデータ構造について説明する。請求データ400は、例えば、端末装置201から分類装置100に送信される。
図4は、請求データ400のデータ構造の記憶内容の一例を示す説明図である。図4に示すように、請求データ400は、1以上の項目のフィールドを有する。請求データ400は、各フィールドに情報を設定することにより、社会保障給付費の請求書の項目の値が記憶される。
項目のフィールドには、社会保障給付費の請求書の項目の値が設定される。項目は、例えば、項目Aと、項目Bと、項目Cとである。項目は、具体的には、日付と、サービス区分と、金額と、利用量と、加算情報となどである。加算情報は、金額を増額して申請可能になる条件である。
(請求テーブル500の記憶内容)
次に、図5を用いて、分類装置100が取得した請求データ400を管理する請求テーブル500の記憶内容について説明する。請求テーブル500は、例えば、図3に示した分類装置100のメモリ302や記録媒体305などの記憶領域により実現される。
図5は、請求テーブル500の記憶内容の一例を示す説明図である。図5に示すように、請求テーブル500は、キーと、1以上の項目と、結果と、不正理由と、正常理由とのフィールドを有する。請求テーブル500は、各フィールドに情報を設定することにより、請求データ400と、請求データ400を分類した結果に関する結果データがレコードとして記憶される。
キーのフィールドには、請求データ400を識別するキーが設定される。項目のフィールドには、社会保障給付費の請求書の項目の値に対応し、キーによって識別される請求データ400の項目のフィールドに設定された値が設定される。
結果のフィールドには、キーによって識別される請求データ400を正常または不正請求に分類した結果が設定される。不正理由のフィールドには、請求データ400が不正請求に分類された場合、請求データ400が不正請求に分類された不正理由が設定される。不正理由は、例えば、水増し請求や架空請求などである。正常理由のフィールドには、請求データ400が正常に分類された場合、請求データ400が正常に分類された正常理由が設定される。正常理由は、例えば、居宅介護などである。
(学習データのデータ構造)
学習データは、過去の請求データ400を含むため、学習データのデータ構造は、例えば、図4に示した請求データ400のデータ構造と同様であるが、学習データは、結果のフィールドをさらに有してもよい。結果のフィールドには、過去の請求データ400を利用者が正常または不正請求と判断した結果が設定される。
学習データは、例えば、学習テーブルを用いて記憶される。学習テーブルの一例は、例えば、図12に示される。学習テーブルの記憶内容は、例えば、図5に示した請求テーブル500の記憶内容と同様であるが、学習テーブルは、不正理由と正常理由とのフィールドを有さなくてもよい。
(端末装置201のハードウェア構成例)
次に、図6を用いて、端末装置201のハードウェア構成例について説明する。
図6は、端末装置201のハードウェア構成例を示すブロック図である。図5において、端末装置201は、CPU601と、メモリ602と、ネットワークI/F603と、記録媒体I/F604と、記録媒体605と、ディスプレイ606と、入力装置607とを有する。また、各構成部は、バス600によってそれぞれ接続される。
ここで、CPU601は、端末装置201の全体の制御を司る。メモリ602は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU601のワークエリアとして使用される。メモリ602に記憶されるプログラムは、CPU601にロードされることで、コーディングされている処理をCPU601に実行させる。
ネットワークI/F603は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F603は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F603には、例えば、モデムやLANアダプタなどを採用することができる。
記録媒体I/F604は、CPU601の制御に従って記録媒体605に対するデータのリード/ライトを制御する。記録媒体I/F604は、例えば、ディスクドライブ、SSD、USBポートなどである。記録媒体605は、記録媒体I/F604の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体605は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体605は、端末装置201から着脱可能であってもよい。
ディスプレイ606は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ606は、例えば、CRT(Cathode Ray Tube)、液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイなどを採用することができる。
入力装置607は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置607は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。
端末装置201は、上述した構成部のほか、例えば、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、端末装置201は、記録媒体I/F604や記録媒体605を複数有していてもよい。また、端末装置201は、記録媒体I/F604や記録媒体605を有していなくてもよい。
(分類装置100の機能的構成例)
次に、図7を用いて、分類装置100の機能的構成例について説明する。
図7は、分類装置100の機能的構成例を示すブロック図である。分類装置100は、記憶部700と、取得部701と、学習部702と、分類部703と、選択部704と、生成部705と、出力部706とを含む。
記憶部700は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部700が、分類装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部700が、分類装置100とは異なる装置に含まれ、記憶部700の記憶内容が分類装置100から参照可能である場合があってもよい。
取得部701〜出力部706は、制御部の一例として機能する。取得部701〜出力部706は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
記憶部700は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部700は、例えば、学習データを記憶してもよい。学習データは、例えば、過去のデータと、過去のデータが正常であるか異常であるかを利用者が判断した結果とを対応付けたデータである。過去のデータは、例えば、請求データ400である。異常は、例えば、不正請求である。
記憶部700は、例えば、学習データから決定木モデルを生成する生成ルールを記憶してもよい。決定木モデルは、複数のノードを含み、ノード間がエッジで接続されたモデルである。決定木モデルは、例えば、対象データを分類する条件を表すノードと、対象データが正常であること、または、対象データが異常であることを表す葉ノードとを含み、少なくともいずれかの葉ノードに名称が設定される。記憶部700は、具体的には、生成ルールを有する機械学習FW(FirmWare)を記憶してもよい。
記憶部700は、例えば、決定木モデルを記憶してもよい。記憶部700は、例えば、決定木モデルの葉ノードの名称を生成する際に用いられる言語化ルールや名称テンプレートを記憶してもよい。言語化ルールは、例えば、不等号を用いた条件の判定結果を、「以上」、「以下」、「より大きい」、「より小さい」、「未満」、「範囲」などの文言を用いて書き換えるためのルールである。名称テンプレートは、例えば、「既知のAに近い傾向が見られる」や「既知のAに関連する不正請求である」などの文章である。Aは、例えば、他の葉ノードに設定済みの名称が挿入される。
記憶部700は、例えば、画面テンプレートを記憶してもよい。画面テンプレートは、端末装置201に表示させる画面を生成する際に用いられる。画面テンプレートは、例えば、請求テーブル500の不正理由や正常理由を利用者に設定させる画面を生成する際に用いられる。画面テンプレートは、例えば、請求データ400と、請求データ400を分類した葉ノードの名称とを対応付けて出力する画面を生成する際に用いられる。
取得部701は、各機能部の処理に用いられる各種情報を取得し、各機能部に出力する。取得部701は、例えば、各機能部の処理に用いられる各種情報を記憶部700から取得し、各機能部に出力してもよい。取得部701は、例えば、各機能部の処理に用いられる各種情報を、分類装置100とは異なる装置から取得し、各機能部に出力してもよい。
取得部701は、具体的には、学習データを端末装置201から受信し、記憶部700に記憶し、各機能部に出力する。取得部701は、具体的には、利用者の操作入力、または、記録媒体I/F304を介して、学習データの入力を受け付けてもよい。これにより、取得部701は、学習データを学習部702に出力し、学習部702で決定木モデルを生成可能にすることができる。
取得部701は、具体的には、対象データを端末装置201から受信し、記憶部700に記憶し、各機能部に出力する。取得部701は、具体的には、利用者の操作入力、または、記録媒体I/F304を介して、対象データの入力を受け付けてもよい。これにより、取得部701は、対象データを分類部703に出力し、分類部703で対象データを分類開始させることができる。
学習部702は、生成ルールを参照し、学習データに基づいて決定木モデルを生成する。学習部702は、例えば、機械学習FWを用いて、学習データに基づいて決定木モデルを生成する。これにより、学習部702は、分類部703が決定木モデルを参照可能にし、分類部703が対象データを分類可能にすることができる。
分類部703は、決定木モデルにより、対象データを分類する。分類部703は、例えば、決定木モデルの根ノードから順に、ノードが表す条件を対象データが満たすか否かを判定した結果に基づいて、子ノードを辿り、いずれかの葉ノードに対象データを分類する。これにより、分類部703は、対象データをいずれかの葉ノードに分類し、対象データを正常または異常に分類することができる。
選択部704は、名称が未設定である第1の葉ノードに対象データが分類された場合、ノード間の位置関係に基づいて、決定木モデルのうち名称が設定済みである第2の葉ノードを選択する。ノード間の位置関係は、例えば、ノード間の親子関係によって表される。
選択部704は、例えば、第1の葉ノードが、対象データが異常であることを表す葉ノードである場合、第2の葉ノードを選択する。これにより、選択部704は、利用者が重要視する傾向がある、対象データが異常であることを表す葉ノードの名称を生成することができる。
選択部704は、例えば、第1の葉ノードが、対象データが正常であることを表す葉ノードである場合、第2の葉ノードを選択しなくてもよい。これにより、選択部704は、対象データが異常に分類された理由を利用者が把握することが求められる場合、対象データが正常に分類された理由に対応する名称を生成しなくてもよいようにすることができる。このため、選択部704は、生成部705の処理量の低減化を図ることができる。
選択部704は、例えば、ノード間の位置関係に基づいて、第1の葉ノードの近傍にある葉ノードの中から、第2の葉ノードを選択する。ノード間の距離は、例えば、ノード間を接続するエッジの数によって表される。近傍は、例えば、ノード間を接続するエッジの数が所定数以下であることに対応する。第1の葉ノードの近傍にある葉ノードは、例えば、第1の葉ノードから所定数以下のエッジを経由して到達可能な葉ノードである。
選択部704は、具体的には、第1の葉ノードから所定数以下のエッジを経由して到達可能な葉ノードの中から、第2の葉ノードを選択する。これにより、選択部704は、第1の葉ノードと比較的類似する正常または異常を表す第2の葉ノードを選択しやすくすることができる。このため、選択部704は、第1の葉ノードについて、利用者が直感的に理解しやすい名称を生成しやすくすることができる。
第1の葉ノードの近傍にある葉ノードは、例えば、第1の葉ノードの上位にあり第1の葉ノードから所定数以下のエッジを経由して到達可能な上位ノードの下位にある葉ノードである。上位は、根ノードに近い方である。下位は、葉ノードに近い方である。
選択部704は、具体的には、第1の葉ノードの上位にあり第1の葉ノードから所定数以下のエッジを経由して到達可能な上位ノードの下位にある葉ノードの中から、第2の葉ノードを選択する。これにより、選択部704は、第1の葉ノードと比較的類似する正常または異常を表す第2の葉ノードを選択しやすくすることができる。このため、選択部704は、第1の葉ノードについて、利用者が直感的に理解しやすい名称を生成しやすくすることができる。
選択部704は、例えば、所定数を、決定木モデルの深さに基づいて設定する。選択部704は、具体的には、決定木モデルの深さが閾値を超える場合、所定数を、決定木モデルの深さ*20%に設定する。閾値は、例えば、20である。選択部704は、具体的には、決定木モデルの深さが閾値以下であれば、所定数を固定値に設定してもよい。固定値は、例えば、2である。これにより、選択部704は、決定木モデルの深さに応じて、第1の葉ノードと比較的類似する正常または異常を表す第2の葉ノードを選択しやすくすることができる。また、選択部704は、決定木モデルの深さに応じて、選択対象の範囲を限定し、処理量の低減化を図ることができる。
選択部704は、ノード間の位置関係に基づいて、決定木モデルのうち、第1の部分木とは異なる位置にある第2の部分木に含まれる葉ノードの中から、第2の葉ノードを選択する。第1の部分木は、第1の葉ノードを含む部分木である。第2の部分木は、第1の部分木と異なる位置にあり、第1の部分木と同一の部分木である。第1の部分木と同一の部分木は、例えば、第1の部分木に含まれるノードと同一の条件を表すノードを含み、第1の部分木とノード間の位置関係が同一になる部分木である。
第2の部分木は、第1の部分木と異なる位置にあり、第1の部分木と類似する部分木であってもよい。第1の部分木と類似する部分木は、例えば、第1の部分木の一部に含まれるノードと同一の条件を表すノードを含み、第1の部分木の一部とノード間の位置関係が同一になる部分を含む部分木である。これにより、選択部704は、第1の葉ノードと比較的類似する正常または異常を表す第2の葉ノードを選択しやすくすることができる。
生成部705は、選択部704が選択した第2の葉ノードの名称に基づいて、第1の葉ノードの名称を生成する。生成部705は、さらに、第1の経路上の各ノードが表す条件に関する判定結果と、第2の経路上の各ノードが表す条件に関する判定結果との差異に基づいて、第1の葉ノードの名称を生成してもよい。
第1の経路は、例えば、決定木モデルの根ノードから第1の葉ノードまでの経路である。第2の経路は、例えば、決定木モデルの根ノードから第2の葉ノードまでの経路である。差異は、例えば、第1の経路上の各ノードが表す条件に関する判定結果のうち、第2の経路上の各ノードが表す条件に関する判定結果と重複しない判定結果である。
生成部705は、例えば、記憶部700を参照し、差異になる判定結果を、「以上」、「以下」、「より大きい」、「より小さい」、「未満」、「範囲」などの文言を用いて書き換えた文章を生成する。生成部705は、例えば、記憶部700を参照し、「既知のAに近い傾向が見られる」の文章の「A」に、選択した第2の葉ノードの名称を挿入した文章を生成する。
そして、生成部705は、生成した文章を組み合わせて、第1の葉ノードの名称を生成する。生成部705は、具体的には、名称「水増し請求に近い傾向が見られる。金額は100以下であり、利用料は10以上である。」などを生成する。これにより、生成部705は、第1の葉ノードの名称を、第2の葉ノードの名称に基づいて生成することができ、利用者が直感的に理解しやすい名称を生成しやすくすることができる。
また、生成部705は、差異になる判定結果を書き換えた文章を、利用者が参照可能にすることができる。このため、生成部705は、どのような条件の判定結果が異なるかを把握可能にすることができ、対象データが正常または異常に分類された理由を把握しやすい名称を生成することができる。
生成部705は、第1の葉ノードに、生成した第1の葉ノードの名称を設定する。これにより、生成部705は、次回、対象データが第1の葉ノードに分類された場合に、名称を生成し直さなくてもよくすることができ、処理量の低減化を図ることができる。
出力部706は、対象データに、生成した第1の葉ノードの名称を対応付けて出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、出力部706は、利用者が、対象データが分類された結果の細かい種別を把握可能にし、対象データが分類された理由を把握可能にすることができる。
出力部706は、各機能部の処理結果を出力してもよい。これにより、出力部706は、各機能部の処理結果を利用者に通知可能にし、分類装置100の管理や運用、例えば、分類装置100の設定値の更新などを支援することができ、分類装置100の利便性の向上を図ることができる。
(分類装置100を利用する状況の具体例)
次に、図8を用いて、分類装置100を利用する状況の具体例について説明する。
図8は、分類装置100を利用する状況の具体例を示す説明図である。図8に示すように、分類装置100は、例えば、省庁や自治体などの職員が、介護施設や養護施設などの事業者から社会保障給付費の請求データ806を収集し、事業者の指導監査業務を行うような状況において利用される。収集する請求データ806の数は、例えば、百万単位である。以下の説明では、省庁や自治体などの職員を「利用者」と表記する場合がある。
ここで、利用者が、限られた時間で、効率よく事業者の指導監査業務を行うことを可能にすることが望まれる。例えば、利用者が、収集した請求データ806から、不正請求の請求データ806を効率よく発見可能にすることが望まれる。
また、例えば、利用者が、いずれの事業者を優先して指導および監査することが好ましいかを判断可能にすることが望まれる。このため、利用者が、事業者ごとに不正請求の請求データ806の数を把握可能にすることが望まれる。また、利用者が、事業者ごと、かつ、不正請求の種別ごとに、不正請求の請求データ806の数を把握可能にすることが望まれる。
また、例えば、利用者が、いずれかの事業者を指導および監査するために、いずれかの事業者の所在地を訪れる前に、請求データ806に関する資料を作成することが望まれる。このため、利用者が、事業者の請求データ806の不正請求の種別を、請求データ806に関する資料を作成するために利用可能にすることが望まれる。
また、例えば、利用者が、いずれかの事業者を指導および監査する際、どのような種別の不正請求を優先して考慮することが好ましいかを判断可能にすることが望まれる。このため、利用者が、事業者の請求データ806に、どのような種別の不正請求の請求データ806があるかを把握可能にし、不正請求の種別ごとに、不正請求の請求データ806の数を把握可能にすることが望まれる。これに対し、分類装置100は、下記に示すように動作する。
(8−1)分類装置100は、省庁や自治体などの障害システムと連携し、過去の請求データ801を収集する。また、分類装置100は、省庁や自治体などの職員から、過去の不正請求の事例データ802を収集する。次に、分類装置100は、過去の請求データ801と、過去の不正請求の事例データ802とを加工して結合することにより、学習データ集合803を生成して記憶する。そして、分類装置100は、機械学習FW804を用いて、学習データ集合803に基づいて、決定木モデル805を生成する。決定木モデル805を生成する流れについては、例えば、図9を用いて後述する。
(8−2)分類装置100は、決定木モデル805により、新たな請求データ806を葉ノードに分類し、正常または不正請求に分類する。ここで、分類装置100は、新たな請求データ806を分類した葉ノードの名称が未設定であれば、新たな請求データ806を分類した葉ノードの名称を生成し、葉ノードの名称を設定する。葉ノードの名称を設定する流れについては、例えば、図10および図11を用いて後述する。そして、分類装置100は、新たな請求データ806と、新たな請求データ806を分類した葉ノードの名称とを対応付けて記憶する。
(8−3)分類装置100は、新たな請求データ806と、新たな請求データ806を分類した葉ノードの名称とを対応付けた対応データ807を、利用者に提示する。また、分類装置100は、事業者ごとに不正請求の請求データ806の数を算出し、利用者に提示してもよい。また、分類装置100は、事業者ごと、かつ、不正請求の種別ごとに、不正請求の請求データ806の数を算出し、利用者に提示してもよい。
これにより、分類装置100は、利用者が、限られた時間で、効率よく事業者の指導監査業務を行うことを支援することができる。分類装置100は、例えば、決定木モデル805により、新たな請求データ806を分類するため、利用者が、不正請求の請求データ806を効率よく発見可能にすることができ、利用者にかかる負担の低減化を図ることができる。
また、分類装置100は、例えば、事業者ごとに不正請求の請求データ806の数を、利用者に提示するため、利用者が、いずれの事業者を優先して指導および監査することが好ましいかを判断可能にすることができる。
また、分類装置100は、例えば、事業者ごと、かつ、不正請求の種別ごとに、不正請求の請求データ806の数を、利用者に提示するため、利用者が、いずれの事業者を優先して指導および監査することが好ましいかを判断可能にすることができる。利用者は、例えば、日付ミスの不正請求の請求データ806が10個の事業者と、水増し請求の不正請求の請求データ806が10個の事業者とを区別可能になり、いずれの事業者を優先して指導および監査することが好ましいかを判断しやすくすることができる。
また、分類装置100は、例えば、新たな請求データ806を分類した葉ノードの名称を、利用者に提示するため、利用者が、新たな請求データ806が分類された理由を把握しやすくすることができる。そして、利用者は、事業者を指導および監査するための、請求データ806に関する資料を作成しやすくすることができる。
また、分類装置100は、例えば、新たな請求データ806を分類した葉ノードの名称を、利用者に提示するため、利用者が、事業者の請求データ806に、どのような種別の不正請求の請求データ806があるかを把握可能にすることができる。次に、図9の説明に移行し、決定木モデル805を生成する流れについて説明する。
(決定木モデル805を生成する流れ)
図9は、決定木モデル805を生成する流れを示す説明図である。ここで、決定木モデル805は、規模が比較的小さいことが好ましい。決定木モデル805の規模が比較的小さければ、対象データを分類する際に判定される条件の数が少なくなる傾向があり、処理量の低減化と、所要時間の低減化を図りやすい傾向があるため好ましい。
また、決定木モデル805は、いずれかのノードが表す条件で学習データ集合803を2分割した場合、それぞれ分割された学習データ部分集合に含まれる、正常な学習データの数と、異常な学習データの数とに偏りがあることが好ましい。偏りがあれば、正常な学習データと、異常な学習データとを分類するために用いられる条件の数が少なくなる傾向があるため好ましい。
また、1つのノードが1つの項目の値を用いる条件を表す場合、複数の項目の値の組み合わせを用いる条件は、複数のノードの組み合わせにより表されることになる。このため、決定木モデル805の上位の方では、経由するノードの数が比較的少ないため、比較的少ない項目の値に基づいて、複数の学習データが2分割されることになる。一方で、決定木モデル805の下位の方では、経由するノードの数が比較的多いため、比較的多くの項目の値に基づいて、複数の学習データが2分割されることになる。
このため、まず、分類装置100は、決定木モデル805の上位の方に、学習データの1つの項目の値に基づいて、複数の学習データを比較的好ましく2分割することができる条件を表すノードを生成することが好ましい。そして、分類装置100は、決定木モデル805の下位の方に、学習データの複数の項目の値に基づいて、複数の学習データを比較的好ましく2分割することができる複数の条件のそれぞれの条件を表すノードを生成することが好ましい。
図9に示すように、まず、分類装置100は、学習データ集合803を、正常と異常が混じった学習データ部分集合921と、異常1の学習データ部分集合とに分類する条件を表すノード901を生成する。また、分類装置100は、正常と異常が混じらずに異常1の学習データ部分集合を分類可能であるため、異常1を表す葉ノード911を生成する。
同様に、分類装置100は、学習データ部分集合921を、正常と異常が混じった学習データ部分集合922と、正常の学習データ部分集合とに分類する条件を表すノード902を生成する。また、分類装置100は、正常と異常が混じらずに正常の学習データ部分集合を分類可能であるため、正常を表す葉ノード912を生成する。
これにより、分類装置100は、ノード901〜904と、葉ノード911〜915とを含む決定木モデル805を生成することができる。次に、図10および図11の説明に移行し、いずれかの請求データ806が分類された、名称が未設定である葉ノードに名称を設定する流れについて説明する。
(葉ノードに名称を設定する流れ)
図10および図11は、葉ノードに名称を設定する流れを示す説明図である。図10において、分類装置100は、決定木モデル1000を記憶し、No1の請求データ806と、No2の請求データ806とを分類する際に、葉ノードに名称を設定する。決定木モデル1000は、ノード1001〜1006と、葉ノード1011〜1017とを含む。
図10に示すように、分類装置100は、No1の請求データ806が、根ノード1001が表す条件を満たすか否かを判定する。分類装置100は、根ノード1001が表す条件を満たすため、No1の請求データ806が、根ノード1001のTrue側の子ノードであるノード1002が表す条件を満たすか否かを判定する。
分類装置100は、ノード1002が表す条件を満たすため、No1の請求データ806が、ノード1002のTrue側の子ノードであるノード1004が表す条件を満たすか否かを判定する。分類装置100は、ノード1004が表す条件を満たすため、No1の請求データ806が、ノード1004のTrue側の子ノードであるノード1006が表す条件を満たすか否かを判定する。
分類装置100は、ノード1006が表す条件を満たすため、No1の請求データ806を、ノード1006のTrue側の葉ノード1016に分類する。ここで、分類装置100は、葉ノード1016が、名称が設定済みであり正常を表す命名済み正常であるため、名称を生成しなくてもよい。
分類装置100は、No2の請求データ806が、根ノード1001が表す条件を満たすか否かを判定する。分類装置100は、根ノード1001が表す条件を満たすため、No2の請求データ806が、根ノード1001のTrue側の子ノードであるノード1002が表す条件を満たすか否かを判定する。
分類装置100は、ノード1002が表す条件を満たすため、No2の請求データ806が、ノード1002のTrue側の子ノードであるノード1004が表す条件を満たすか否かを判定する。分類装置100は、ノード1004が表す条件を満たすため、No2の請求データ806が、ノード1004のTrue側の子ノードであるノード1006が表す条件を満たすか否かを判定する。
分類装置100は、ノード1006が表す条件を満たさないため、No2の請求データ806を、ノード1006のFalse側の葉ノード1017に分類する。ここで、分類装置100は、葉ノード1017が、名称が未設定であり未知の異常を表すため、名称を生成する。分類装置100は、例えば、葉ノード1017の近傍にある葉ノードを選択する。ここで、図11の説明に移行し、葉ノードを選択する流れについて説明する。
図11に示すように、分類装置100は、下位にある葉ノードから順に、名称が設定済みである葉ノードを検索し、名称が設定済みである葉ノードを選択する。分類装置100は、例えば、葉ノード1017の近傍にあり、名称が設定済みである葉ノード1013または葉ノード1016のうち、葉ノード1016を選択する。分類装置100は、選択した葉ノード1016の名称に基づいて、葉ノード1017の名称を生成する。
ここで、例えば、決定木モデルにおいて、名称が未設定である葉ノードと、名称が未設定である葉ノードの近傍にある葉ノードとは、根ノードからの経路に重複する部分が含まれる傾向がある。換言すれば、名称が未設定である葉ノードに対象データが分類される場合と、名称が未設定である葉ノードの近傍にある葉ノードに対象データが分類される場合とで、重複する条件が用いられる傾向がある。このため、名称が未設定である葉ノードと、名称が未設定である葉ノードの近傍にある葉ノードとは、類似する内容を表す可能性が比較的大きい。
また、例えば、決定木モデルにおいて、相対的に下位にある葉ノードは、比較的多くの条件を用いて対象データが分類される傾向がある葉ノードである。このため、相対的に下位にある葉ノードは、対象データに含まれる複数の項目の値を参照しなければ発見困難である、利用者にとって比較的重要な異常を表す傾向がある。
これに対し、分類装置100は、図11に示したように、名称が未設定である葉ノードの近傍にあり、かつ、相対的に下位にある葉ノードから順に、名称が設定済みである葉ノードを検索する。
このため、分類装置100は、名称が未設定である葉ノードの名称の生成に、名称が未設定である葉ノードと類似する内容を表す可能性が比較的大きい葉ノードの名称を用いることができる。結果として、分類装置100は、名称が未設定である葉ノードが表す内容を正しく表している可能性が比較的大きい名称を生成しやすくすることができ、利用者が直感的に理解しやすい名称を生成しやすくすることができる。
また、分類装置100は、名称が未設定である葉ノードの名称の生成に、利用者にとって比較的重要な異常を表す傾向がある葉ノードの名称を用いることができる。結果として、分類装置100は、利用者にとって比較的重要な異常との、名称が未設定である葉ノードが表す内容との関連性を、利用者が把握しやすくすることができる。
(分類装置100が葉ノードに名称を設定する動作例1)
次に、図12〜図19を用いて、分類装置100が葉ノードに名称を設定する動作例1について説明する。動作例1は、名称が未設定の葉ノードの近傍にある、名称が設定済みの葉ノードを選択して、名称が未設定の葉ノードの名称を生成する一例である。
図12〜図19は、分類装置100が葉ノードに名称を設定する動作例1を示す説明図である。図12において、分類装置100は、端末装置201から学習データ集合を受信し、学習テーブル1200を用いて記憶する。学習テーブル1200のデータ構造は、図5に示した請求テーブル500のデータ構造と同様であるため、説明を省略する。次に、図13の説明に移行する。
図13において、分類装置100は、機械学習FW804を用いて、学習テーブルに基づいて、決定木モデル1300を生成する。決定木モデル1300は、例えば、ノード1301〜1303と、葉ノード1311〜1313とを含む。次に、図14の説明に移行する。
図14において、分類装置100は、端末装置201から請求データを受信し、請求テーブル1400を用いて記憶する。ここでは、請求テーブル1400の結果、不正理由、および、正常理由のフィールドは、空白である。次に、図15の説明に移行する。
図15において、分類装置100は、決定木モデル1300により、対象データを正常または異常に分類する。分類装置100は、対象データを正常または異常に分類した結果を、請求テーブル1400の結果のフィールドに設定する。次に、図16の説明に移行する。
図16において、分類装置100は、端末装置201のディスプレイ606に、不正理由および正常理由の入力を受け付ける受付画面1600を表示させる。端末装置201は、入力装置607による利用者の操作入力に基づいて、不正理由および正常理由の入力を受け付け、保存ボタンがクリックされると、分類装置100に送信する。分類装置100は、不正理由および正常理由を、端末装置201から受信する。
端末装置201は、具体的には、受付画面1600の検索条件欄に入力された検索条件を、分類装置100に送信し、検索条件に基づく請求テーブル1400のレコードを、分類装置100の制御に従って明細情報欄に表示する。端末装置201は、更新内容欄のリストから選択された不正理由や正常理由を、明細情報欄に表示されて選択ボックスにチェックされたレコードに反映し、保存ボタンのクリックに応じて、反映済みのレコードを分類装置100に送信する。次に、図17の説明に移行する。
図17において、分類装置100は、受信した不正理由および正常理由を、請求テーブル1400を用いて記憶する。ここで、キー1に対応付けられた正常理由は設定される。また、キー2に対応付けられた不正理由は設定される。一方で、キー3に対応付けられた不正理由は、利用者に入力されず、不明である。次に、図18の説明に移行する。
図18において、分類装置100は、葉ノード1311〜1313に名称を設定する。分類装置100は、葉ノード1311〜1313に、キーを対応付けて、名称を設定する。分類装置100は、例えば、葉ノード1311に、キー1を対応付けて、キー1に対応する正常理由を名称として設定する。
分類装置100は、例えば、葉ノード1312に、キー2を対応付けて、キー2に対応する不正理由を名称として設定する。分類装置100は、例えば、葉ノード1313に、キー3を対応付けるが、キー3に対応する不正理由は不明であり、名称が設定されない。次に、図19の説明に移行する。
図19において、分類装置100は、名称が未設定である葉ノード1313の名称を生成する。分類装置100は、例えば、葉ノード1313の近傍にある葉ノードを選択する。そして、分類装置100は、選択した葉ノードの名称に基づいて、葉ノード1313の名称を生成する。
分類装置100は、例えば、葉ノード1313の階層から、葉ノード1313の階層の所定数上位の階層までの範囲にある葉ノードの中から、いずれかの葉ノードを選択する。所定数は、例えば、決定木モデル1300の深さ*20%である。
分類装置100は、具体的には、葉ノード1313の階層から、葉ノード1313の階層の所定数上位の階層までの範囲にある葉ノードの中で、葉ノード1313から最も少ない数のエッジにより到達する葉ノードを選択する。
図19の例では、分類装置100は、葉ノード1313の階層から3段分上位の階層までの範囲にある葉ノード1311,1312を特定する。次に、分類装置100は、葉ノード1311,1312のうち、葉ノード1313に最も近い葉ノード1312を選択する。そして、分類装置100は、選択した葉ノード1312の名称に基づいて、葉ノード1313の名称を生成する。
ここでは、分類装置100が、学習データとは異なる請求データを分類する際に、葉ノードの名称を生成する場合について説明したが、これに限らない。例えば、分類装置100が、学習データに基づいて決定木モデルを生成した後、決定木モデルにより学習データの分類を試行しつつ、葉ノードの名称を生成しておく場合があってもよい。
(分類装置100が葉ノードに名称を設定する動作例2)
次に、図20〜図22を用いて、分類装置100が葉ノードに名称を設定する動作例2について説明する。動作例1は、名称が未設定の葉ノードの近傍にある、名称が設定済みの葉ノードを選択して、名称が未設定の葉ノードの名称を生成する一例である。これに対し、動作例2は、名称が未設定の葉ノードの近傍にない、名称が設定済みの葉ノードを選択して、名称が未設定の葉ノードの名称を生成する一例である。
図20〜図22は、分類装置100が葉ノードに名称を設定する動作例2を示す説明図である。図20において、分類装置100は、決定木モデル2000により、対象データを、葉ノード2001に分類したとする。葉ノード2001は、名称が未設定であったとする。
ここで、分類装置100は、葉ノード2001を含む部分木2010を特定する。分類装置100は、例えば、葉ノード2001の階層から、葉ノード2001の階層の所定数上位の階層までの範囲にある部分木2010を特定する。所定数は、例えば、決定木モデルの深さ*20%である。次に、図21の説明に移行し、部分木2010の一例について説明する。
図21に示すように、部分木2010は、条件を表すノード2101〜2103と、葉ノード2111〜2114とを含む。また、部分木2010のノード間の親子関係は、例えば、ノード2101の子ノードに葉ノード2111とノード2102とがあるという関係などである。次に、図22の説明に移行する。
図22において、分類装置100は、決定木モデルのうち、部分木2010と同一の部分木を検索する。部分木2010と同一の部分木は、例えば、ノード2101〜2103と同じ条件を表すノードを含み、部分木2010とノード間の親子関係が同一になる部分木である。
分類装置100は、例えば、決定木モデルの部分木2201〜2204などの中から、部分木2010と同一の部分木2202,2204を特定する。次に、分類装置100は、部分木2202,2204に含まれ、名称が設定済みの葉ノードを選択する。そして、分類装置100は、選択した葉ノードの名称に基づいて、葉ノード2001の名称を生成する。
分類装置100は、例えば、相対的に下位にある部分木から葉ノードを選択してもよい。分類装置100は、具体的には、部分木2202,2204のうち、相対的に下位にある部分木2202から葉ノードを選択する。これにより、分類装置100は、葉ノード2001の近傍に、名称が設定済みの葉ノードがなくても、他の葉ノードを選択することができる。
また、分類装置100は、相対的に下位にある部分木から葉ノードを選択するため、名称が未設定である葉ノードの名称の生成に、利用者にとって比較的重要な異常を表す傾向がある葉ノードの名称を用いることができる。結果として、分類装置100は、利用者にとって比較的重要な異常との、名称が未設定である葉ノードが表す内容との関連性を、利用者が把握しやすくすることができる。
ここでは、分類装置100が、動作例1と動作例2とのいずれかを実行する場合について説明したが、これに限らない。例えば、分類装置100が、動作例1と動作例2とを組み合わせる場合があってもよい。具体的には、分類装置100が、動作例1により名称を生成することができなかったことに応じて、動作例2を実行するような場合があってもよい。図25〜図27に後述する各種フローチャートは、動作例1と動作例2とを組み合わせる場合に対応する。
(端末装置201における出力例1)
次に、図23を用いて、端末装置201における出力例1について説明する。
図23は、端末装置201における出力例1を示す説明図である。図23において、分類装置100は、動作例1または動作例2によって、葉ノードの名称を設定し、葉ノードに分類された請求データの元になった社会保障給付費の請求書の明細番号に対応付けて出力する。
分類装置100は、例えば、表示内容2300を、端末装置201のディスプレイ606に表示させる。表示内容2300の内容のフィールドには、葉ノードの名称が設定される。これにより、分類装置100は、利用者が、限られた時間で、効率よく事業者の指導監査業務を行うことを支援することができる。
分類装置100は、例えば、請求データが分類された理由を把握しやすくすることができる。また、分類装置100は、例えば、事業者の請求データに、どのような種別の不正請求の請求データがあるかを把握可能にすることができる。このため、利用者は、事業者を指導および監査するための、請求データに関する資料を作成しやすくすることができる。
(端末装置201における出力例2)
次に、図24を用いて、端末装置201における出力例2について説明する。
図24は、端末装置201における出力例2を示す説明図である。図24において、分類装置100は、動作例1または動作例2によって、事業者ごとに、不正請求に分類された請求データの数を算出して出力する。
分類装置100は、例えば、表示内容2400を、端末装置201のディスプレイ606に表示させる。表示内容2400の件数のフィールドには、不正請求に分類された請求データの数が設定される。これにより、分類装置100は、利用者が、限られた時間で、効率よく事業者の指導監査業務を行うことを支援することができる。利用者は、例えば、不正請求に分類された請求データの数を参照し、いずれの事業者を優先して指導および監査することが好ましいかを判断することができる。
また、分類装置100は、例えば、事業者ごと、かつ、不正請求の種別ごとに、不正請求の請求データの数を表示してもよい。これにより、利用者は、いずれの事業者を優先して指導および監査することが好ましいかを判断することができる。
(全体処理手順)
次に、図25を用いて、分類装置100が実行する、全体処理手順の一例について説明する。全体処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図25は、全体処理手順の一例を示すフローチャートである。図25において、まず、分類装置100は、学習した決定木モデルに基づいて、複数の対象データのそれぞれの対象データを、正常または異常を表す葉ノードに分類する(ステップS2501)。
次に、分類装置100は、分類した結果を請求テーブル500に反映する(ステップS2502)。そして、分類装置100は、少なくとも1以上の対象データのそれぞれの対象データが分類された理由の入力を受け付け、請求テーブル500に反映する(ステップS2503)。
次に、分類装置100は、受け付けた少なくとも1以上の対象データのそれぞれの対象データが分類された理由を、それぞれの対象データが分類された葉ノードの名称に設定する(ステップS2504)。そして、分類装置100は、名称が未設定の葉ノードに分類された対象データがあれば、図26に後述する選択処理を実行することにより、名称が設定済みの葉ノードを選択する(ステップS2505)。
次に、分類装置100は、選択した葉ノードの名称を取得する(ステップS2506)。そして、分類装置100は、根ノードから名称が未設定の葉ノードまでの経路上のノードが表す条件と、根ノードから選択した葉ノードまでの経路上のノードが表す条件との差異を特定する(ステップS2507)。
次に、分類装置100は、選択した葉ノードの名称と、特定した差異とに基づいて、名称が未設定の葉ノードの名称を設定する(ステップS2508)。そして、分類装置100は、全体処理を終了する。これにより、分類装置100は、葉ノードの名称を設定し、葉ノードの名称を利用者に提示可能にすることができる。
(選択処理手順)
次に、図26を用いて、ステップS2505で実行する、選択処理手順の一例について説明する。選択処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図26は、選択処理手順の一例を示すフローチャートである。図26において、まず、分類装置100は、名称が未設定の葉ノードの親ノードを基準ノードに設定する(ステップS2601)。
次に、分類装置100は、基準ノードの右側の子ノードに名称が設定されているか否かを判定する(ステップS2602)。ここで、右側の子ノードに名称が設定されている場合(ステップS2602:Yes)、分類装置100は、ステップS2604の処理に移行する。一方で、右側の子ノードに名称が設定されていない場合(ステップS2602:No)、分類装置100は、ステップS2603の処理に移行する。
ステップS2603では、分類装置100は、基準ノードの左側の子ノードに名称が設定されているか否かを判定する(ステップS2603)。ここで、左側の子ノードに名称が設定されている場合(ステップS2603:Yes)、分類装置100は、ステップS2604の処理に移行する。一方で、左側の子ノードに名称が設定されていない場合(ステップS2603:No)、分類装置100は、ステップS2605の処理に移行する。
ステップS2604では、分類装置100は、基準ノードの子ノードのうち、名称が設定済みの葉ノードを選択する(ステップS2604)。そして、分類装置100は、選択処理を終了する。
ステップS2605では、分類装置100は、基準ノードの変更回数>決定木の深さ*10%であるか否かを判定する(ステップS2605)。ここで、基準ノードの変更回数>決定木の深さ*10%ではない場合(ステップS2605:No)、分類装置100は、ステップS2606の処理に移行する。一方で、基準ノードの変更回数>決定木の深さ*10%である場合(ステップS2605:Yes)、分類装置100は、ステップS2607の処理に移行する。
ステップS2606では、分類装置100は、基準ノードの親ノードを、基準ノードに変更する(ステップS2606)。そして、分類装置100は、ステップS2602の処理に移行する。
ステップS2607では、分類装置100は、基準ノードを変更せず、図27に示す検索処理を実行することにより、決定木モデル全体から、名称が未設定の葉ノードの近傍の部分木と類似する他の部分木を検索する(ステップS2607)。
次に、分類装置100は、検索した他の部分木の葉ノードのうち、名称が設定済みの葉ノードを選択する(ステップS2608)。そして、分類装置100は、選択処理を終了する。これにより、分類装置100は、葉ノードの名称を生成する際に用いられる葉ノードを選択することができる。
(検索処理手順)
次に、図27を用いて、ステップS2505で実行する、検索処理手順の一例について説明する。検索処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図27は、検索処理手順の一例を示すフローチャートである。図27において、まず、分類装置100は、名称が未設定の葉ノードを含み、名称が未設定の葉ノードの階層よりも決定木の深さ*10%だけ上位の階層から、名称が未設定の葉ノードの階層までにある、部分木を特定する(ステップS2701)。
次に、分類装置100は、特定した部分木に含まれるノードが表す条件と同一または類似する条件を表すノードが含まれる1以上の部分木を、決定木モデル全体から検索する(ステップS2702)。そして、分類装置100は、検索した1以上の部分木のうち、最も深い階層にある部分木を検索する(ステップS2703)。その後、分類装置100は、検索処理を終了する。これにより、分類装置100は、葉ノードを選択する範囲になる部分木を検索することができる。
以上説明したように、分類装置100は、決定木モデルにより、対象データを分類することができる。分類装置100によれば、名称が未設定である第1の葉ノードに対象データが分類された場合、ノード間の位置関係に基づいて、決定木モデルのうち、名称が設定済みである第2の葉ノードを選択することができる。分類装置100によれば、選択した第2の葉ノードの名称に基づいて第1の葉ノードの名称を生成することができる。これにより、分類装置100は、利用者が、対象データが分類された結果の種別を把握可能にし、対象データが分類された理由を把握可能にすることができる。
分類装置100によれば、第1の葉ノードが、対象データが異常であることを表す葉ノードである場合に、第2の葉ノードを選択することができる。これにより、分類装置100は、処理量の低減化を図ることができる。
分類装置100によれば、ノード間の位置関係に基づいて、第1の葉ノードの近傍にある葉ノードの中から、第2の葉ノードを選択することができる。これにより、分類装置100は、第1の葉ノードと比較的類似する正常または異常を表す第2の葉ノードを選択しやすくすることができる。このため、分類装置100は、第1の葉ノードについて、利用者が直感的に理解しやすい名称を生成しやすくすることができる。
分類装置100によれば、第1の葉ノードから所定数以下のエッジを経由して到達可能な葉ノードの中から、第2の葉ノードを選択することができる。これにより、分類装置100は、第1の葉ノードについて、利用者が直感的に理解しやすい名称を生成しやすくすることができる。
分類装置100によれば、第1の葉ノードの上位にあり第1の葉ノードから所定数以下のエッジを経由して到達可能な上位ノードの下位にある葉ノードの中から、第2の葉ノードを選択することができる。これにより、分類装置100は、第1の葉ノードについて、利用者が直感的に理解しやすい名称を生成しやすくすることができる。
分類装置100によれば、第2の葉ノードを選択する際に用いられる所定数を、決定木モデルの深さに基づいて設定することができる。これにより、分類装置100は、決定木モデルの深さに応じて、選択対象の範囲を限定し、処理量の低減化を図ることができる。
分類装置100によれば、ノード間の位置関係に基づいて、決定木モデルのうち、第1の葉ノードを含む第1の部分木と同一または類似する第2の部分木に含まれる葉ノードの中から、第2の葉ノードを選択することができる。これにより、分類装置100は、第1の葉ノードと比較的類似する正常または異常を表す第2の葉ノードを選択しやすくすることができる。また、分類装置100は、第1の葉ノードの近傍に、名称が設定済みの葉ノードがなくても、第2の葉ノードを選択することができる。
分類装置100によれば、第2の部分木として、第1の部分木に含まれるノードと同一の条件を表すノードを含み、第1の部分木とノード間の位置関係が同一である部分木を特定することができる。これにより、分類装置100は、第1の葉ノードと比較的類似する正常または異常を表す第2の葉ノードを選択しやすくすることができる。
分類装置100によれば、さらに、根ノードから第1の葉ノードまでの経路上の各ノードが表す条件に関する判定結果と、根ノードから第2の葉ノードまでの経路上の各ノードが表す条件に関する判定結果との差異を特定することができる。分類装置100によれば、特定した差異に基づいて、第1の葉ノードの名称を生成することができる。これにより、分類装置100は、どのような条件の判定結果が差異になるかを把握可能にすることができ、対象データが正常または異常に分類された理由を把握しやすい名称を生成することができる。
分類装置100によれば、対象データに、生成した第1の葉ノードの名称を対応付けて出力することができる。これにより、分類装置100は、利用者が、対象データが分類された第1の葉ノードの名称を把握可能にすることができる。
分類装置100によれば、第1の葉ノードに、生成した第1の葉ノードの名称を設定することができる。これにより、分類装置100は、次回、対象データが第1の葉ノードに分類された場合に、名称を生成し直さなくてもよくすることができ、処理量の低減化を図ることができる。
なお、本実施の形態で説明した分類方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した分類プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した分類プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
対象データを分類する条件を表すノードと、前記対象データが正常であること、または、前記対象データが異常であることを表す葉ノードとを含み、少なくともいずれかの葉ノードに名称が設定された決定木モデルにより、前記対象データを分類し、
名称が未設定である第1の葉ノードに前記対象データが分類された場合、ノード間の位置関係に基づいて、前記決定木モデルのうち、名称が設定済みである第2の葉ノードを選択し、
選択した前記第2の葉ノードの名称に基づいて前記第1の葉ノードの名称を生成する、
処理を実行させることを特徴とする分類プログラム。
(付記2)前記第1の葉ノードは、前記対象データが異常であることを表す葉ノードである、ことを特徴とする付記1に記載の分類プログラム。
(付記3)前記選択する処理は、
前記ノード間の位置関係に基づいて、前記第1の葉ノードの近傍にある葉ノードの中から、前記第2の葉ノードを選択する、ことを特徴とする付記1または2に記載の分類プログラム。
(付記4)前記第1の葉ノードの近傍にある葉ノードは、前記第1の葉ノードから所定数以下のエッジを経由して到達可能な葉ノードである、ことを特徴とする付記3に記載の分類プログラム。
(付記5)前記第1の葉ノードの近傍にある葉ノードは、前記第1の葉ノードの上位にあり前記第1の葉ノードから所定数以下のエッジを経由して到達可能な上位ノードの下位にある葉ノードである、ことを特徴とする付記3に記載の分類プログラム。
(付記6)前記所定数は、前記決定木モデルの深さに基づいて設定される、ことを特徴とする付記5に記載の分類プログラム。
(付記7)前記選択する処理は、
前記ノード間の位置関係に基づいて、前記決定木モデルのうち、前記第1の葉ノードを含む第1の部分木と同一または類似する第2の部分木に含まれる葉ノードの中から、前記第2の葉ノードを選択する、ことを特徴とする付記1〜6のいずれか一つに記載の分類プログラム。
(付記8)前記第2の部分木は、前記第1の部分木に含まれるノードと同一の条件を表すノードを含み、前記第1の部分木とノード間の位置関係が同一である、ことを特徴とする付記7に記載の分類プログラム。
(付記9)前記生成する処理は、さらに、前記決定木モデルの根ノードから前記第1の葉ノードまでの経路上の各ノードが表す条件に関する判定結果と、前記根ノードから前記第2の葉ノードまでの経路上の各ノードが表す条件に関する判定結果との差異に基づいて、前記第1の葉ノードの名称を生成する、ことを特徴とする付記1〜8のいずれか一つに記載の分類プログラム。
(付記10)前記コンピュータに、
前記対象データに、生成した前記第1の葉ノードの名称を対応付けて出力する、処理を実行させることを特徴とする付記1〜9のいずれか一つに記載の分類プログラム。
(付記11)前記コンピュータに、
前記第1の葉ノードに、生成した前記第1の葉ノードの名称を設定する、処理を実行させることを特徴とする付記1〜10のいずれか一つに記載の分類プログラム。
(付記12)コンピュータが、
対象データを分類する条件を表すノードと、前記対象データが正常であること、または、前記対象データが異常であることを表す葉ノードとを含み、少なくともいずれかの葉ノードに名称が設定された決定木モデルにより、前記対象データを分類し、
名称が未設定である第1の葉ノードに前記対象データが分類された場合、ノード間の位置関係に基づいて、前記決定木モデルのうち、名称が設定済みである第2の葉ノードを選択し、
選択した前記第2の葉ノードの名称に基づいて前記第1の葉ノードの名称を生成する、
処理を実行することを特徴とする分類方法。
(付記13)対象データを分類する条件を表すノードと、前記対象データが正常であること、または、前記対象データが異常であることを表す葉ノードとを含み、少なくともいずれかの葉ノードに名称が設定された決定木モデルにより、前記対象データを分類し、
名称が未設定である第1の葉ノードに前記対象データが分類された場合、ノード間の位置関係に基づいて、前記決定木モデルのうち、名称が設定済みである第2の葉ノードを選択し、
選択した前記第2の葉ノードの名称に基づいて前記第1の葉ノードの名称を生成する、
制御部を有することを特徴とする分類装置。