(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-31
(45)【発行日】2024-06-10
(54)【発明の名称】システム、方法、及びプログラム
(51)【国際特許分類】
G06Q 10/04 20230101AFI20240603BHJP
【FI】
G06Q10/04
(21)【出願番号】P 2019127057
(22)【出願日】2019-07-08
【審査請求日】2022-07-01
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100114775
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100208580
【氏名又は名称】三好 玲奈
(72)【発明者】
【氏名】舟根 奈央
【審査官】小原 正信
(56)【参考文献】
【文献】特開2018-124937(JP,A)
【文献】特開2019-067139(JP,A)
【文献】AIシステムにおける透明性と信頼の構築 エンタープライズに求められる「透明性」と「公平性」を担保する「IBM Watson OpenScale」,PROVISION 2019 No.95 Professional Vision for Information Technology,日本アイ・ビー・エム株式会社 IBM Japan,Ltd.,2019年06月18日,第40-45ページ
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
機械学習により作成されたモデルを複数、監視するシステムであって、
公平性の監視を行う監視対象項目、前記監視対象項目と比較する対象である比較対象項目、及び公平性の判定に係る閾値の入力を受け付ける手段と、
前記監視対象項目を含む入力を用い
た第1のモデルによる予測の結果の、前記比較対象項目を含む入力を用いた前記第1のモデルによる予測の結果に対する比率が前記閾値を下回っている場合に公平性が不公平であると判定して警告を行う監視手段と、
複数のモデルをグルーピングするグルーピング手段と、
前記第1のモデルとは異なり前記第1のモデルとグルーピングされた第2のモデルが、前記監視対象項目を入力として持っていない場合には、前記第2のモデルの学習済みモデルの再学習を促すメッセージを提供する提供手段と、を有する
ことを特徴とするシステム。
【請求項2】
前記提供手段は、前記第2のモデルが、前記監視対象項目を入力として持っている場合には、前記メッセージを提供しない
ことを特徴とする
請求項1に記載のシステム。
【請求項3】
前記監視対象項目を含む入力を用いて前記第1のモデルにより予測した予測結果が所定の予測結果であった回数の、前記監視対象項目を含む入力を用いて前記第1のモデルにより予測した予測総数に対する割合を第1の割合とし、
前記比較対象項目を含む入力を用いて前記第1のモデルにより予測した予測結果が前記所定の予測結果であった回数の、前記比較対象項目を含む入力を用いて前記第1のモデルにより予測した予測総数に対する割合を第2の割合とし、
前記監視手段は、前記第1の割合と前記第2の割合との比率に応じて公平性が不公平であると判定して警告を行う
ことを特徴とする
請求項1又は2に記載のシステム。
【請求項4】
機械学習により作成されたモデルを複数、監視するシステムで実行される方法であって、
公平性の監視を行う監視対象項目、前記監視対象項目と比較する対象である比較対象項目、及び公平性の判定に係る閾値の入力を受け付ける工程と、
前記監視対象項目を含む入力を用い
た第1のモデルによる予測の結果の、前記比較対象項目を含む入力を用いた前記第1のモデルによる予測の結果に対する比率が前記閾値を下回っている場合に公平性が不公平であると判定して警告を行う監視工程と、
複数のモデルをグルーピングするグルーピング工程と、
前記第1のモデルとは異なり前記第1のモデルとグルーピングされた第2のモデルが、前記監視対象項目を入力として持っていない場合には、前記第2のモデルの学習済みモデルの再学習を促すメッセージを提供する提供工程と、を有する
ことを特徴とする方法。
【請求項5】
コンピュータを、
公平性の監視を行う監視対象項目、前記監視対象項目と比較する対象である比較対象項目、及び公平性の判定に係る閾値の入力を受け付ける手段、
前記監視対象項目を含む入力を用い
た第1のモデルによる予測の結果の、前記比較対象項目を含む入力を用いた前記第1のモデルによる予測の結果に対する比率が前記閾値を下回っている場合に公平性が不公平であると判定して警告を行う監視手段、
複数のモデルをグルーピングするグルーピング手段、及び
前記第1のモデルとは異なり前記第1のモデルとグルーピングされた第2のモデルが、前記監視対象項目を入力として持っていない場合には、前記第2のモデルの学習済みモデルの再学習を促すメッセージを提供する提供手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習の学習済モデルを監視するシステム、方法、及びプログラムに関する。
【背景技術】
【0002】
機械学習では、学習用データを用いて学習モデルを調整し、調整が完了した学習モデルを学習済モデルとして本番運用する。従来、このような学習済モデルを用いて、ある事柄を予測する予測システムが知られている。例えば、特許文献1には、利用者が学習済モデルの判断結果に違和感がある場合、利用者自身が判断要素の重み付けを変更するなどして、学習済モデルを修正することが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、利用者が学習済モデルを運用する場合、複数の業務のそれぞれに対して別の学習済モデルを運用している場合がある。このように複数の学習済モデルを運用する場合について、特許文献1のような従来技術では何ら考慮されていなかった。
学習済モデルには意図しない偏りが生じることがあり、公平性を担保できていない場合がある。例えば、対象者に対するローンの承認可否を予測するシステムでは、対象者の年齢、性別、収入、及び勤続年数などの入力データを基に、学習済モデルによってローンの承認可否を判断する。このような学習済モデルには、女性より男性を承認と予測しやすい、年齢が低い人より高い人を承認と予測しやすい、といった偏りが意図せずに生じることがある。運用中の学習済モデルにこのような偏りがある場合、この偏りを補正し公平性を担保することが望まれる。
従来、複数の学習済モデルを運用する場合では、複数の学習済モデルのそれぞれに対して偏りの検証が必要であり、それぞれ公平性に影響する項目及びその基準を検討し、設定しなければならず、手間がかかるという問題があった。また、複数の学習済モデルのうち、ある学習済モデルには適切な設定ができていたが、同様の設定をすべき別の学習済モデルには設定が漏れていたというように、設定ミスが起こる可能性があった。
本発明は、複数の学習済モデルを運用する場合における公平性を保つための手間を軽減することができるシステムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明の一実施形態のシステムは、機械学習により作成されたモデルを複数、監視するシステムであって、公平性の監視を行う監視対象項目、前記監視対象項目と比較する対象である比較対象項目、及び公平性の判定に係る閾値の入力を受け付ける手段と、前記監視対象項目を含む入力を用いた第1のモデルによる予測の結果の、前記比較対象項目を含む入力を用いた前記第1のモデルによる予測の結果に対する比率が前記閾値を下回っている場合に公平性が不公平であると判定して警告を行う監視手段と、複数のモデルをグルーピングするグルーピング手段と、前記第1のモデルとは異なり前記第1のモデルとグルーピングされた第2のモデルが、前記監視対象項目を入力として持っていない場合には、前記第2のモデルの学習済みモデルの再学習を促すメッセージを提供する提供手段と、を有する。
【発明の効果】
【0006】
本発明によれば、複数の学習済モデルを運用する場合における公平性を保つための手間を軽減することができる。
【図面の簡単な説明】
【0007】
【
図1】本発明の実施例1に係るシステムの全体構成を示す模式図である。
【
図2】本発明の実施例1に係るシステムを構成する情報処理装置の内部構成を示すブロック図である。
【
図3】(A)は、公平性管理システム101の機能構成の一例を示すブロック図であり、(B)は、予測システム102の機能構成の一例を示すブロック図であり、(C)は、業務システム103の機能構成の一例を示すブロック図である。
【
図4】(A)及び(B)は、公平性管理システム101の表示部304が表示する画面の一例である。
【
図5】(A)は、業務システム103-1の表示部311が表示する生命保険加入審査画面の一例であり、(B)は、業務システム103-2の表示部311が表示する自動車保険加入審査画面の一例である。
【
図6】保険加入審査の予測を行う場合の、業務システム103、公平性管理システム101、及び予測システム102の処理を示したシーケンス図である。
【
図8】
図4(A)に示した予測システム監視画面400-1であって、
図7の処理による表示がされた状態を示す図である。
【発明を実施するための形態】
【0008】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
【実施例1】
【0009】
<システム構成>
図1は、本発明の実施例1に係るシステムの全体構成を示す模式図である。
本発明の実施例1に係るシステム100は、公平性管理システム101、予測システム102-1、予測システム102-2、業務システム103-1、及び業務システム103-2を有して構成される。公平性管理システム101、予測システム102-1、予測システム102-2、業務システム103-1、及び業務システム103-2は、それぞれが1台以上の情報処理装置で構成されている。複数のシステムが1台の情報処理装置で構成されていてもよい。ここで情報処理装置は、パーソナルコンピュータなどの各種コンピュータ、又は仮想マシンなどのことである。仮想マシンは、例えばソフトウェアプログラムで動作をエミュレートした仮想のコンピュータなどである。この情報処理装置の一例である情報処理装置200については、
図2を用いて後述する。公平性管理システム101は、予測システム102-1及び予測システム102-2のそれぞれで動作する学習済モデルが公平性を担保できているかを監視するシステムである。学習済モデルは、学習モデルを学習用データで学習させることで作成される。学習済モデルは、機械学習により作成されたモデルである。
【0010】
ここで、公平性とは、例えば、学習済モデルを運用して予測結果を受け取るユーザー、及び実際に予測結果に基づくサービス提供を受けるユーザーにとって公平であるかどうかという観点である。また、公平性とは、例えば、学習済モデルが実際に運用される国、及び環境における、制度、慣習、及び文化に基づく基準に対して公平であるかどうかという観点である。つまり、公平性を判断するための基準は、利用者、及び利用環境に応じて変化する可能性がある。
そして、本実施例において、学習済モデルの予測結果を用いたアウトプットについて、そのような公平性が担保されるということは、そのような基準に対しての公平さを満たしている状態であるといえる。なお、公平性を判断するための基準は、例えば、学習済モデルを運用するユーザーなどが設定することができる。
【0011】
予測システム102-1は、業務システム103-1からの要求を受けて、学習済モデルを用いて予測を行うシステムである。業務システム103-1は、生命保険の加入希望者からの申請内容に対して保険加入の審査を行うシステムである。予測システム102-1の学習済モデルは、第2のモデルの一例である。
予測システム102-2は、業務システム103-2からの要求を受けて、学習済モデルを用いて予測を行うシステムである。業務システム103-2は、自動車保険の加入希望者からの申請内容に対して保険加入の審査を行うシステムである。予測システム102-2の学習済モデルは、第1のモデルの一例である。
ネットワーク104は、インターネットなどのネットワークであり、特に種類を問わない。公平性管理システム101、予測システム102-1、予測システム102-2、業務システム103-1、及び業務システム103-2は、ネットワーク104を介して、それぞれ同士で通信を行うことができる。
【0012】
<情報処理装置の内部構成>
図2は、
図1に示したシステム100を構成する情報処理装置の内部構成の一例を示すブロック図である。
図1に示した公平性管理システム101、予測システム102-1、予測システム102-2、業務システム103-1、及び業務システム103-2のそれぞれは、
図2の情報処理装置200によって構成される。
情報処理装置200は、本実施例に係るシステム100の動作を制御するプログラムを実行するCPU201を有する。CPUは、Central Processing Unitの略称である。情報処理装置200は、システムバス204を有する。CPU201は、システムバス204に接続される各ハードウェアを総括的に制御する。情報処理装置200は、HDD210及びディスクコントローラー209を有する。HDDは、Hard Disk Driveの略称である。HDD210は、記憶装置の一例であり、ここでは大容量記憶装置である。HDD210は、CPU201で実行されるプログラムを記憶する。ディスクコントローラー209は、HDD210を制御する。
【0013】
情報処理装置200は、メモリー202を有する。メモリー202は、CPU201の主メモリー、及びワークエリア等として機能する。情報処理装置200は、NIC203を有する。NICは、Network Interface Cardの略称である。NIC203は、ネットワーク104を介して、ネットワーク104に接続された他のノードと双方向でデータを送受信する。情報処理装置200は、キーボード206及びキーボードコントローラー205を有する。ユーザーは、キーボード206を操作して情報処理装置200に対する指示入力を行う。キーボードコントローラー205は、キーボード206による指示入力を受け付ける制御を行う。なお、情報処理装置200は、その役割によっては、キーボードコントローラー205及びキーボード206を有しない構成でもよい。情報処理装置200は、ディスプレイ208及びディスプレイコントローラー207を有する。ディスプレイ208は、液晶ディスプレイなどで構成される表示モジュールである。ディスプレイコントローラー207は、ディスプレイ208に表示する制御を行う。なお、情報処理装置200は、その役割によっては、ディスプレイ208及びディスプレイコントローラー207を有しない構成でもよい。
【0014】
以下、公平性管理システム101、予測システム102-1、予測システム102-2、業務システム103-1、及び業務システム103-2それぞれの構成についてさらに説明する。なお、予測システム102-1及び予測システム102-2の構成については、
図3(B)に示す予測システム102によって説明する。また、業務システム103-1及び業務システム103-2の構成については、
図3(C)に示す業務システム103によって説明する。
【0015】
<公平性管理システムの機能構成>
図3(A)は、公平性管理システム101の構成の一例を示すブロック図である。
公平性管理システム101は、制御部301、データ格納部302、通信部303、及び表示部304を有する。
図3(A)に示す公平性管理システム101が有する各構成は、公平性管理システム101のHDD210に記憶されているプログラムを、CPU201がメモリー202に読み出して実行することによって実現される。
【0016】
制御部301は、表示部304などからの各種処理の実行指示などを受け付け、各種処理を実行するソフトウェアモジュールである。
データ格納部302は、HDD210に構成されるデータベースである。
通信部303は、ネットワーク104を介して、
図3(B)の予測システム102、及び
図3(C)の業務システム103と通信するためのソフトウェアモジュールである。
表示部304は、公平性管理システム101のUIを表示したり、ユーザーの操作を受け付けたりするソフトウェアモジュールである。UIは、User Interfaceの略称である。
【0017】
<予測システムの機能構成>
図3(B)は、予測システム102の機能構成の一例を示すブロック図である。
予測システム102は、制御部305、データ格納部306、及び通信部307を有する。
図3(B)に示す予測システム102が有する各構成は、予測システム102のHDD210に記憶されているプログラムを、CPU201がメモリー202に読み出して実行することによって実現される。
【0018】
制御部305は、予測処理などの各種処理を実行するソフトウェアモジュールである。
データ格納部306は、HDD210に構成されるデータベースである。
通信部307は、ネットワーク104を介して、公平性管理システム101、及び業務システム103と通信するためのソフトウェアモジュールである。
【0019】
<業務システムの機能構成>
図3(C)は、業務システム103の機能構成の一例を示すブロック図である。
業務システム103は、制御部308、データ格納部309、通信部310、及び表示部311を有する。
図3(C)に示す業務システム103が有する各構成は、業務システム103のHDD210に記憶されているプログラムを、CPU201がメモリー202に読み出して実行することによって実現される。
【0020】
制御部308は、表示部311からの各種処理実行指示などを受け付け、各種処理を実行するソフトウェアモジュールである。
データ格納部309は、HDD210に構成されるデータベースである。
通信部310は、ネットワーク104を介して、公平性管理システム101、及び予測システム102と通信するためのソフトウェアモジュールである。
表示部304は、業務システム103のUIを表示したり、ユーザーの操作を受け付けたりするソフトウェアモジュールである。
【0021】
<公平性監視の設定処理>
本実施例では、ある保険会社Aが、生命保険と自動車保険を扱っており、それぞれ学習済モデルを用いて保険の加入審査を行っている場合について説明する。
図1の業務システム103-1は、生命保険業務を行うためのシステムである。
図1の業務システム103-2は、自動車保険業務を行うためのシステムである。また、
図1の予測システム102-1は、生命保険業務に関して学習済モデルを用いて加入審査を行う生命保険予測システムである。
図1の予測システム102-2は、自動車保険業務に関して学習済モデルを用いて加入審査を行う自動車保険予測システムである。保険会社Aは、業務システム103-1及び予測システム102-1、並びに業務システム103-1及び予測システム102-1を運用する。
【0022】
生命保険予測システムである予測システム102-1は、例えば「年齢」及び「病歴」を入力すると、生命保険加入可否判断を行うように学習された学習済モデルを用いる。予測システム102-1で用いる学習済モデルは、予測システム102-1のデータ格納部306に保存されている。予測システム102-1で用いる学習済モデルを、生命保険モデルと呼ぶ。
自動車保険予測システムである予測システム102-2は、例えば「年齢」、「性別」、「免許取得年数」、及び「運転頻度」を入力すると、自動車保険加入可否判断を行うように学習された学習済モデルを用いる。予測システム102-2で用いる学習済モデルは、予測システム102-2のデータ格納部306に保存されている。予測システム102-1で用いる学習済モデルを、自動車保険モデルと呼ぶ。
【0023】
公平性管理システム101は、予測システム102-1及び予測システム102-2の公平性を監視する。公平性管理システム101は、監視対象である予測システム102-1及び予測システム102-2の学習済モデルの入力項目を管理する。
表1は、学習済モデル管理テーブルの一例を示す表である。学習済モデル管理テーブルは、公平性管理システム101のデータ格納部302に格納される。学習済モデル管理テーブルにおいては、1つのレコードが1つの学習済モデルを示している。学習済モデル管理テーブルは、利用者、モデル、及び項目の各列を有する。学習済モデル管理テーブルには、公平性管理システム101の利用者、すなわちシステム100の利用者である保険会社Aが運用する、生命保険モデル及び自動車保険モデルのそれぞれに学習させた入力項目を格納している。
【0024】
【0025】
図4(A)及び
図4(B)は、公平性管理システム101の表示部304が表示する画面の一例である。本画面は、保険会社Aの予測システム管理担当者が使用するパソコンのブラウザからのリクエストに応じて公平性管理システム101の表示部304が生成し、そのパソコンのブラウザに表示される。パソコンは、パーソナルコンピュータの略称である。このパソコンは、ネットワーク104に接続され、公平性管理システム101と通信可能である。このパソコンは、公平性管理システム101と別の構成であってもよいし、公平性管理システム101を構成するものであってもよい。
【0026】
図4(A)は、公平性管理システム101が、予測システム102-1及び予測システム102-2の2つの予測システムを監視する場合の予測システム監視画面の例を示している。予測システム102-1は、生命保険の加入審査結果を予測する生命保険予測システムであり、予測システム102-2は、自動車保険の加入審査を予測する自動車保険予測システムである。
図4(A)の予測システム監視画面400-1は、監視対象の予測システムのそれぞれに対する領域である領域401-1及び領域401-2を有する。領域401-1は、予測システム102-1に対する監視状態の表示及び監視設定を行う領域である。領域401-2は、予測システム102-2に対する監視状態の表示及び監視設定を行う領域である。監視対象の予測システムが3つ以上の場合もそれぞれの予測システムに対する領域を表示する。
領域401-1及び領域401-2のそれぞれは、監視項目を設定するボタンと、監視状態の表示を行う領域を有する。領域401-1は、監視項目を設定するボタン402-1を有する。
図4(A)では、予測システム102-1についての監視項目が設定されていないことから、予測システム102-1に対する領域401-1は、監視状態の表示を行う領域を表示していない。領域401-2は、監視項目を設定するボタン402-2と、監視状態の表示を行う領域403-1及び領域403-2を有する。領域403-1及び領域403-2のような監視状態の表示を行う領域の生成方法については後述する。
【0027】
予測システム管理担当者は、予測システム監視画面400-1から、各予測システムに対する監視設定を行う。以下、監視設定を行う場合の手順の例を説明する。
予測システム管理担当者は、自動車保険に関しては、性別及び年齢による差別があってはいけないと考え、予測システム102-2に対する入力のうち、性別及び年齢が公平性監視対象であると判断した。また、予測システム管理担当者は、生命保険に関しては、特に公平性を気にする項目はないと考え、監視対象はなしと判断した。この場合、予測システム管理担当者は、予測システム監視画面400-1のボタン402-2を押下して、自動車保険予測システムに対する監視設定を行う。
公平性管理システム101の表示部304は、予測システム監視画面400-1のボタン402-2の押下を受け付けると、
図4(B)の画面を表示する。
図4(B)は、公平性管理システム101が、監視項目を設定するボタンの押下を受け付けた場合に表示する監視項目設定画面の例を示している。
【0028】
公平性管理システム101の制御部301は、監視項目を設定するボタンの押下を受け付けると、そのボタンに対応付けられた予測システムのモデルについてのレコードを学習済モデル管理テーブル(表1)から取得する。例えばボタン402-2の押下を受け付けた場合、制御部301は、学習済モデル管理テーブルの「モデル」の列が自動車保険であるレコードを取得する。続いて、制御部301は、取得したレコードの「項目」の値を取得し、公平性管理システム101の表示部304は、取得した「項目」の値を、
図4(B)の監視項目設定画面400-2に表示する。例えばボタン402-2の押下を受け付けた場合、制御部301が取得したレコードの「項目」の値は、年齢、性別、免許取得年数、及び運転頻度である。表示部304は、監視項目設定画面400-2に、これらの「項目」の値を監視項目候補として表示し、それぞれを監視項目として設定するか否か及び関連情報の、予測システム管理担当者による入力を受け付ける。
【0029】
図4(B)に示すように、監視項目設定画面400-2は、監視項目設定領域406と、監視項目の設定を確定するボタン407と、監視項目の設定をキャンセルするボタン408を有する。監視項目候補の表示、及びその監視項目候補を監視項目として設定するか否か及び監視項目の関連情報の入力は、監視項目設定領域406で行う。監視項目の関連情報は、例えば、監視対象の情報、比較対象の情報、及び閾値を含む。監視項目の設定方法は、例えば、監視したい項目のチェックボックスにチェックを入れ、監視項目の関連情報を「値」又は「範囲」で入力する。この入力において、「値」で入力するか「範囲」で入力するかは、対象指定方法である。「値」で入力する場合は、入力する「値」をプルダウンで選択するようにしてもよい。
【0030】
図4(B)の例では、監視対象項目に「年齢」を選択し、「18~25」才を監視対象とし、「26~60」才の予測結果と比較し、閾値0.9を下回っていた場合に警告する設定を行っている。また、
図4(B)の例では、監視対象項目に「性別」を選択し、「女性」を監視対象とし、「男性」の比較結果と比較し、閾値0.9を下回っていた場合に警告する設定を行っている。ここでの比較方法は、監視対象の承認率/比較対象の承認率により比率を計算する。入力データの「年齢」が「18~25」才は、第1の入力値の一例である。入力データの「年齢」が「26~60」は、第2の入力値の一例である。入力データの「性別」が「女性」は、第1の入力値の一例である。入力データの「性別」が「男性」は、第2の入力値の一例である。監視対象の承認率は、第1の割合の一例である。比較対象の承認率は、第2の割合の一例である。比率が閾値を下回っていた場合、学習済モデルに偏りが生じており、監視対象が不利になっていると判断する。「比率が閾値を下回っていること」は、所定条件の一例である。「比率が閾値を下回っている場合」は、予測の結果が所定条件を満たす場合の一例である。「比率が閾値を下回っていない場合」は、予測の結果が所定条件を満たさない場合の一例である。予測結果の「承認」は、予測結果が所定の予測結果であることの一例である。所定条件は、例えば、第1の入力値を含む入力を用いた第1のモデルによる予測の結果と、第2の入力値を含む入力を用いた第1のモデルによる予測の結果と、の間に偏りがある場合に満たされる条件である。
表示部304は、監視項目設定画面400-2において、予測システム管理担当者によるボタン407の押下を受け付けると、監視項目設定画面400-2で入力された監視内容を公平性監視テーブルに格納する。
表2は、公平性監視テーブルの一例を示す表である。公平性監視テーブルは、公平性管理システム101のデータ格納部302に格納される。公平性監視テーブルにおいては、1つのレコードが1つの監視項目を示している。公平性監視テーブルは、利用者、モデル、項目、対象指定方法、監視対象、比較対象、及び閾値の各列を有する。
【0031】
【0032】
<保険申請の審査処理>
図5(A)は、業務システム103-1の表示部311が表示する生命保険加入審査画面の一例である。本画面は、生命保険の加入申請を審査する担当者が使用するパソコンのブラウザからのリクエストに応じて業務システム103-1の表示部311が生成し、そのパソコンのブラウザに表示される。このパソコンは、ネットワーク104に接続され、業務システム103-1と通信可能である。このパソコンは、業務システム103-1と別の構成であってもよいし、業務システム103-1を構成するものであってもよい。
生命保険加入審査画面500-1は、データ入力部501、ボタン502、プルダウン503、ボタン504、及びボタン505を有する。ボタン502は審査の予測を実行するボタンである。プルダウン503は予測結果を表示するとともに担当者の判断結果を選択するプルダウンである。ボタン504は加入審査結果を確定するボタンである。ボタン505は審査をキャンセルするボタンである。予測結果には、生命保険の加入を認める「承認」と、生命保険の加入を拒否する「却下」とがある。
【0033】
図5(B)は、業務システム103-2の表示部311が表示する自動車保険加入審査画面の一例である。本画面は、自動車保険の加入申請を審査する担当者が使用するパソコンのブラウザからのリクエストに応じて業務システム103-2の表示部311が生成し、そのパソコンのブラウザに表示される。このパソコンは、ネットワーク104に接続され、業務システム103-2と通信可能である。このパソコンは、業務システム103-2と別の構成であってもよいし、業務システム103-2を構成するものであってもよい。
自動車保険加入審査画面500-2は、データ入力部501、ボタン502、プルダウン503、ボタン504、及びボタン505を有する。ボタン502は審査の予測を実行するボタンである。プルダウン503は予測結果を表示するとともに担当者の判断結果を選択するプルダウンである。ボタン504は加入審査結果を確定するボタンである。ボタン505は審査をキャンセルするボタンである。予測結果には、自動車保険の加入を認める「承認」と、自動車保険の加入を拒否する「却下」とがある。
【0034】
図6は、保険加入審査の予測を行う場合の、業務システム103、公平性管理システム101、及び予測システム102の処理を示したシーケンス図である。ここでは、自動車保険加入審査の例について説明するが、生命保険加入審査の処理も自動車保険加入審査の処理と同様である。
自動車保険の場合において、自動車保険加入審査画面500-2のデータ入力部501は、氏名及び住所の入力欄、並びに年齢、性別、免許取得年数及び運転頻度を選択するプルダウンを有する。
自動車保険の加入申請を審査する担当者は、自動車保険加入審査画面500-2のデータ入力部501に対して申請者の情報の入力及び選択を行い、ボタン502を押下する。
【0035】
ステップS601で、業務システム103-2の表示部311はボタン502の押下を受け付け、制御部308はボタン502の押下を受け付けたことに応じて、通信部310を介し、予測システム102-2に対し予測依頼を行う。この際の予測依頼は、データ入力部401に入力されたデータを含む。ここで予測依頼に含めるデータは、データ入力部401に入力された申請者の情報すべてである必要はなく、予測システム102-2の学習済モデルが必要とするデータのみでよい。例えば、本実施例では、氏名及び住所を予測依頼に含めず、年齢、性別、免許取得年数、及び運転頻度を予測依頼に含める。
ステップS602で、予測システム102-2の通信部307は予測依頼を受け取り、制御部305は予測依頼を受け取ったことに応じて、データ格納部306に保存された学習済モデルにより、予測依頼に含まれた入力データを用いた予測を行う。
【0036】
この説明では、ステップS602での予測結果が「却下」であったとする。
ステップS603で、通信部307は、ステップS602での予測結果を業務システム103-2に応答する。
ステップS604で、業務システム103-2の通信部310は予測結果を受け取り、表示部311は予測結果を受け取ったことに応じて、自動車保険加入審査画面500-2のプルダウン503に予測結果を表示する。この説明では予測結果が却下であるため、表示部311はプルダウン503を「却下」が選択された状態にする。
【0037】
自動車保険の加入申請を審査する担当者は、プルダウン503に表示された予測結果を参考に審査を行う。担当者は、予測システム102-2の予測結果を変更し、プルダウン503を「承認」にすることも可能である。
ステップS605で、業務システム103-2の表示部311はボタン504の押下を受け付け、制御部308はボタン504の押下を受け付けたことに応じて、プルダウン503の現在の選択状態を審査結果として確定してデータ格納部309に保存する。
担当者がボタン504を押下せず、ボタン505を押下した場合は、表示部311はボタン505の押下を受け付け、制御部308はボタン505の押下を受け付けたことに応じて、データ格納部309への審査結果の保存は行わずに処理を終了する。
【0038】
ステップS606で、審査結果が確定された場合、制御部308は、通信部310を介し、公平性管理システム101に統計依頼を行う。この際に、ステップS601で予測依頼に含めたデータ及びステップS603で受け取った予測結果を統計依頼に含める。
ステップS607で、公平性管理システム101の通信部303は統計依頼を受け取り、制御部301は統計依頼を受け取ったことに応じて、予測結果の統計を行う。予測結果の統計は、表3の予測結果統計テーブルに、今回の予測の結果を登録する処理である。
表3は、予測結果統計テーブルの一例を示す表である。予測結果統計テーブルは、公平性管理システム101のデータ格納部302に格納される。予測結果統計テーブルにおいては、1つのレコードが1つの監視対象を示している。予測結果統計テーブルは、利用者、モデル、項目、値、申請数、及び承認数の各列を有する。予測結果統計テーブルは、表2の公平性監視テーブルに格納された項目の各監視対象と比較対象について、申請数及び承認数を保持する。申請数は、第1の入力値を含む入力を用いて第1のモデルにより予測した予測総数の一例である。承認数は、第1の入力値を含む入力を用いて第1のモデルにより予測した予測結果が所定の予測結果であった回数の一例である。
表3は、過去の申請内容及び申請結果について、年齢が「18~25才」の申請数は100人であって承認数が81人であることを示し、年齢が「26~60才」の申請数は200人であって承認数が180人であることを示している。また表3は、過去の申請内容及び申請結果について、性別が「女性」の申請数は100人であって承認数が81人であることを示し、性別が「男性」の申請数は200人であって承認数が180人であることを示している。
【0039】
【0040】
ここで、今回の申請者(上述の説明でステップS602での予測が「却下」となった申請者)の情報が、性別が「女性」であり、年齢が「20才」であるとする。この場合、ステップS607で、制御部301は、予測結果統計テーブルのうち年齢が「18~25才」のレコードの申請数に1を加算して101人にし、このレコードの承認数は加算せず81人のままにする。また制御部301は、さらに、予測結果統計テーブルにおける性別が「女性」のレコードの申請数に1を加算して101人にし、このレコードの承認数は加算せず81人のままにする。
【0041】
本実施例では、審査結果の確定(ステップS605)の後に予測結果の統計を行う例を説明した。これは、同一の入力データに対して複数回の予測を行った場合の重複、及び入力ミスに対しての予測を、統計から除くためである。本実施例によれば、例えば複数回ボタン502が押された場合、及び誤ったデータを入力した状態でボタン502が押下された場合を統計から除くことができる。
なお、予測結果の統計を行うタイミングはこれに限らない。例えば、予測結果がキャンセルできずに審査結果として確定される実施例の場合、及び入力ミスが想定されないようなシステムの場合は、他のタイミングで予測結果の統計を行ってもよい。このような場合、予測システム102が、ステップS602での予測を行った時点で、予測結果を公平性管理システム101に通知し、この時点で統計を行うようにしてもよい。
【0042】
<公平性の監視処理>
以下、
図7を用いて、公平性管理システム101で実行される処理であって、予測システム102の公平性の監視を行う処理について説明する。
図7は、公平性の監視処理のフローチャートである。
図8は、
図4(A)に示した予測システム監視画面400-1であって、
図7の処理による表示がされた状態を示す図である。
図8の予測システム監視画面400-1は、保険会社Aの予測システム管理担当者が使用するパソコンのブラウザからのリクエストに応じて公平性管理システム101の表示部304が生成し、そのパソコンのブラウザに表示される。このパソコンは、ネットワーク104に接続され、公平性管理システム101と通信可能である。このパソコンは、公平性管理システム101と別の構成であってもよいし、公平性管理システム101を構成するものであってもよい。
図8の予測システム監視画面400-1において、
図4(A)の予測システム監視画面400-1と同じ表示については、
図4(A)と同じ符号を付している。
【0043】
図8の予測システム監視画面400-1における、予測システム102-1に対する領域401-1に表示された領域804-1及び領域804-2は、後述する監視設定推奨情報を表示する領域である。監視設定推奨情報を表示する処理は、特定項目について、監視手段による監視の対象となる条件の設定を促すメッセージを提供する提供手段の一例である。自動車保険予測において警告が起きた「年齢」及び「性別」は、特定項目の一例である。
まず、公平性の監視処理では、公平性管理システム101の表示部304はパソコンのブラウザからの表示リクエストを受け付ける。
図7のステップS701で、制御部301は表示リクエストを受け付けたことに応じ、データ格納部302に格納された予測結果統計テーブル(表3)及び公平性監視テーブル(表2)から、予測結果統計情報及び監視設定情報を取得する。予測結果統計情報は、予測結果統計テーブルに格納された情報である。監視設定情報は公平性監視テーブルに格納された情報である。
【0044】
ステップS702で、制御部301は、ステップS701で取得した情報を使用して公平性の判定を行う。
表3の状態の場合、監視項目である「年齢」が「18~25才」の場合の承認率(承認数/申請数)は0.81であり、「年齢」が「26~60才」の場合の承認率は0.9である。このため、監視対象の承認率/比較対象の承認率である比率は0.9であり、表2の公平性監視テーブルの閾値0.9を下回っていない。このことにより、本実施例では、制御部301は、監視項目である「年齢」が「18~25才」の場合について、正常範囲と判断し、公平性の判定として「公平である」と判定する。
【0045】
もうひとつの監視項目である「性別」についても、性別が「女性」の場合の承認率は0.81であり、性別が「男性」の場合の承認率は0.9である。このため、監視対象の承認率/比較対象の承認率である比率は0.9であり、表2の公平性監視テーブルの閾値0.9を下回っていない。このことにより、本実施例では、制御部301は、監視項目である「性別」が「女性」の場合について、正常範囲と判断し、公平性の判定として「公平である」と判定する。
【0046】
さらに、表3の状態から、上述の通り申請者の情報が、性別が「女性」であり、年齢が「20才」であり、予測結果が「却下」というデータが、予測結果統計テーブルに追加された場合について説明する。この場合、監視項目である「年齢」が「18~25才」の場合の承認率は約0.8であり、年齢が「26~60才」の場合の承認率は0.9である。このため、監視対象の承認率/比較対象の承認率である比率は約0.89となり、閾値0.9を下回る。このことから、制御部301は、監視項目である「年齢」が「18~25才」の場合について、偏りがある状態と判断し、公平性の判定として「不公平である」と判定する。
【0047】
もうひとつの監視項目である「性別」についても、性別が「女性」の場合の承認率は約0.8であり、性別が「男性」の場合の承認率は0.9である。このため、監視対象の承認率/比較対象の承認率である比率は約0.89となり、閾値0.9を下回る。このことから、制御部301は、監視項目である「性別」が「女性」の場合について、偏りがある状態と判断し、公平性の判定として「不公平である」と判定する。
【0048】
ステップS703で、表示部304は、ステップS702での公平性の判定結果に応じて、領域403-1及び領域403-2に各監視項目について監視対象の公平性の計算結果と公平性の判定結果を表示する。この処理は、複数の値を含む入力を用いた第1のモデルによる予測の結果が所定条件を満たす場合に、所定条件に対応する入力の特定項目について警告を行う監視手段の一例である。
図4(A)は、ステップS702で自動車保険予測の学習済モデルが公平な状態であると判断した場合の表示例である。
図4(A)では、公平性の計算結果として、領域403-1に「0.9」と表示し、領域403-2に「0.9」と表示している。
図4(A)では、公平性の判定結果として、領域403-1に「正常」と表示し、領域403-2に「正常」と表示している。
図4(A)の場合は、いずれの監視項目も正常であり、警告状態ではないため、ステップS704で、制御部301は、警告状態の監視項目が存在しないと判断し、処理を終了する。
【0049】
図8は、ステップS702で自動車保険予測の学習済モデルが公平ではない状態であると判断した場合の表示例である。
図8では、公平性の計算結果として、領域403-1に「0.89」と表示し、領域403-2に「0.89」と表示している。
図8では、公平性の判定結果として、領域403-1に「警告」と表示し、領域403-2に「警告」と表示している。
図8の場合は、いずれの監視項目も警告状態であるため、ステップS704で、制御部301は、警告状態の監視項目が存在すると判断し、ステップS705に遷移する。
【0050】
ステップS705で、制御部301は、表1の学習済モデル管理テーブルを用いて、公平性の警告が起きた学習済モデル以外に、保険会社Aが管理する学習済モデルが存在するか否かを確認する。ステップS705で、制御部301は、公平性の警告が起きた学習済モデル以外に、保険会社Aが管理する学習済モデルが存在しないと判断した場合は、処理を終了する。ステップS705で、制御部301は、公平性の警告が起きた学習済モデル以外に、保険会社Aが管理する学習済モデルが存在すると判断した場合は、ステップS706に遷移する。本実施例の場合、警告が起きたのが自動車保険予測の学習済モデルであり、別の学習済モデルとして生命保険予測の学習済モデルが存在する。
【0051】
ステップS706で、制御部301は、公平性の警告が起きた学習済モデル以外の、保険会社Aが管理する学習済モデルにおいて、公平性の警告が起きた監視項目が推奨非表示項目になっているか否かを確認する。推奨非表示項目については後述する。ステップS705で、制御部301は、公平性の警告が起きた監視項目が推奨非表示項目になっていると判断した場合は、処理を終了する。ステップS705で、制御部301は、公平性の警告が起きた監視項目が推奨非表示項目になっていないと判断した場合は、ステップS707に遷移する。
【0052】
ステップS707で、制御部301は、警告が起きた学習済モデルとは別の学習済モデルが、警告が起きた監視項目と同じ項目を入力項目として持っているか否かを確認する。ステップS707で、制御部301は、警告が起きた学習済モデルとは別の学習済モデルが、警告が起きた監視項目と同じ項目を入力項目として持っていないと判断した場合はステップS710に遷移する。ステップS710で、表示部304は、ステップS707での制御部301による判断結果に基づき、学習済モデルの修正すなわち再学習を推奨する旨の表示を行う。すなわち、ステップS710で、表示部304は、警告が起きた監視項目を入力項目に含んだ学習用データで学習済モデルの再学習をすることを促すメッセージを提供する。ステップS707で、制御部301は、警告が起きた学習済モデルとは別の学習済モデルが、警告が起きた監視項目と同じ項目を入力項目として持っていると判断した場合はステップS708に遷移する。
同一利用者が管理する複数の学習済モデルについて、あるひとつの学習済モデルの特定の項目において公平性の偏りがある場合、その利用者が作成した他の学習済モデルも、その特定の項目において偏りがある可能性がある。このため、本来であれば、複数の学習済モデルに対し、同じ項目の監視が必要であったにもかかわらず、監視設定漏れをしている場合が考えられる。本実施例の場合、自動車保険予測の学習済モデルで警告が起きた監視項目は「年齢」と「性別」であるが、生命保険予測の学習済モデルは、項目として「年齢」は持っており「性別」は持っていない。ステップS707で、制御部301は、この状況を確認する。
【0053】
ステップS708で、制御部301は、警告が起きた学習済モデルとは別の学習済モデルが、警告が起きた監視項目と同じ項目を監視項目として持っているか否かを確認する。ステップS708で、制御部301は、警告が起きた学習済モデルとは別の学習済モデルが、警告が起きた監視項目と同じ項目を監視項目として持っていないと判断した場合は処理を終了する。ステップS708で、制御部301は、警告が起きた学習済モデルとは別の学習済モデルが、警告が起きた監視項目と同じ項目を監視項目として持っていると判断した場合はステップS709に遷移する。ステップS709で、表示部304は、ステップS708での制御部301による判断結果に基づき、監視項目への追加を推奨する旨の表示を行う。
【0054】
本実施例では、ステップS708で、制御部301は、「年齢」について、生命保険予測の学習済モデルで監視項目として持っているか否かを確認する。ステップS708で、制御部301は、「年齢」について、生命保険予測の学習済モデルで監視項目として既に持っている場合は処理を終了する。本実施例では、ステップS708で、制御部301は、「年齢」について、生命保険予測の学習済モデルで監視項目として持っていないので、監視項目への追加を推奨する判断をする。本実施例では、ステップS709で、表示部304は、ステップS708での制御部301による判断結果に基づき、
図8の領域804-1において、「年齢」の監視項目への追加を推奨する旨の表示を行う。
【0055】
本実施例では、ステップS707で、制御部301は、「性別」について生命保険予測の学習済モデルの入力項目として追加すること、及び「性別」について生命保険予測の学習済モデルでの監視項目へ追加することを推奨する判断をする。本実施例では、ステップS710で、表示部304は、ステップS707での制御部301による判断結果に基づき、
図8の領域804-2において、「性別」を入力項目とするよう生命保険予測の学習済モデルの修正を推奨する旨の表示を行う。また、本実施例では、ステップS710で、表示部304は、ステップS707での制御部301による判断結果に基づき、
図8の領域804-2において、「性別」の監視項目への追加を推奨する旨の表示を行ってもよい。
生命保険予測の学習済モデルは、学習させた入力項目として「性別」を持っていない。すなわち予測システム102-1の予測には「性別」は寄与していないが、結果として「性別」による偏りがあると申請者に疑いを持たれるような予測結果を導出する学習済モデルになっている場合が考えられる。本実施例によれば、上述のように学習済モデル自体の見直しの推奨を行うことで、予測システム管理担当者が偏りという観点で問題になりそうな項目を把握することが可能になり、より偏りのない学習済モデルを構築するための気づきを与えることが可能となる。
【0056】
予測システム管理担当者は、
図8の領域804-1及び領域804-1に表示された推奨情報を確認し、推奨内容が適当か否かを判断し、監視設定の漏れの修正や、学習済モデルの再構築を行うことが可能となる。
本実施例では、予測システム管理担当者が、
図8の領域804-1及び領域804-1に表示された推奨情報を確認し、推奨内容の適用が不要と判断した場合は、推奨表示を非表示にし、かつ以降同様の推奨を表示しないように設定することを可能とする。表示部304は、このような設定を行うためのお勧め不要ボタンとして、ボタン805-1を領域804-1に表示し、ボタン805-2を領域804-2に表示する。
表示部304は、ボタン805-1の押下を受け付けると、生命保険予測の学習済モデルについて、「年齢」に関する推奨表示を非表示にする。また、表示部304は、ボタン805-2の押下を受け付けると、生命保険予測の学習済モデルについて、「性別」に関する推奨表示を非表示にする。さらに、制御部301は、以降同様の推奨を表示しないように、推奨非表示テーブルにその旨の情報を格納する。制御部301は、ステップS707及びステップS708の判断において、推奨非表示テーブルに格納されている推奨非表示項目については、学習済モデルの入力項目として追加すること及び監視項目へ追加することを推奨しないと判断する。
表4は、推奨非表示テーブルの一例を示す表である。推奨非表示テーブルは、データ格納部302に格納される。推奨非表示テーブルにおいては、1つのレコードが1つの推奨非表示項目を示している。表4では、生命保険予測において「年齢」を推奨非表示項目にした場合を示している、推奨非表示テーブルは、利用者、モデル、及び推奨非表示項目の各列を有する。
【0057】
【0058】
本実施例は、ブラウザからのリクエストに応じて公平性の判定を行う方法を示したが、
図6の予測結果統計処理(ステップS607)で予測結果の統計を行った際に合わせて公平性の判断を行うようにしてもよい。
その場合、公平性管理システム101に予測システム管理担当者のメールアドレスなどを予め保持しておき、閾値を下回っていた場合は電子メールなどで予測システム管理担当者に通知するようにしてもよい。
また、その場合、公平性管理システム101は、推奨表示を行うのではなく、警告が発生した監視項目について、自動で別の学習済モデルの監視項目に追加するようにしてもよい。
【0059】
本実施例では、実際に偏りの警告が発生したということは、その利用者が作成した学習済モデルは、特定の項目において偏りがある可能性があるという判断から、警告発生時に別の学習済モデルへの同様の監視設定を推奨する例を示した。これは監視項目が過剰になるなどして予測システム管理担当者の手間を余計に増やすようなことを回避しながらも、必要十分な監視設定を行うのが目的である。しかしながら、監視設定の推奨を行うタイミングはこれに限らない。例えば、公平性管理システム101は、監視項目設定画面(
図4(B))で、ある学習済モデルで監視項目の設定を行った際に、別の学習済モデルに対して、同様の監視項目の設定を推奨するようにしてもよい。第1のモデルである自動車保険予測システムの学習済モデルに対して監視の所定条件が設定された場合に、自動車保険予測システムの学習済モデルに対して、同様の監視項目の設定を推奨するようにしてもよい。また、システム100に新たな予測システムが登録された場合に、既に登録されていた予測システムで監視設定されている項目について、新たに登録された予測システムの学習済みモデルでの監視設定を推奨するようにしてもよい。
【0060】
本実施例は、保険会社Aが運用するすべての学習済モデルを対象に、ひとつの学習済モデルの監視項目を別の学習済モデルに推奨する例を示したが、対象範囲を限定してもよい。例えば、利用者が管理する複数の学習済モデルを、業務内容によりグルーピングを行い、そのグループ内でのみ、監視項目の推奨を行うようにしてもよい。
また、利用者が管理する複数の学習済モデルの監視項目が似ている場合、監視項目の共通化の推奨を行うようにしてもよい。例えば、各学習済モデルの監視項目が、ある一定の割合以上の数が共通であった場合、監視項目個別の推奨ではなく、全監視項目の共通化の推奨を行うようにしてもよい。
【0061】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【0062】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0063】
101 公平性管理システム
102 予測システム
103 業務システム