以下に、パターン登録業務支援装置、パターン登録業務支援方法およびパターン登録業務支援プログラムの実施形態を、図面に基づいて詳細に説明する。なお、本実施形態により本発明が限定されるものではない。以下、具体的な構成および動作について説明する。
以下、具体的な構成および動作について説明するが、パターン登録業務支援装置、パターン登録業務支援方法およびパターン登録業務支援プログラムの内容は、主に、以下の[1−2]、[2−2]、[2−3]、[3−2]、[3−3]および[4−2]で説明する。
[1.構成]
本発明を包含する情報処理装置100の構成の一例について、図1を参照して説明する。図1は、情報処理装置100の構成の一例を示すブロック図である。
情報処理装置100は、市販のデスクトップ型パーソナルコンピュータである。なお、情報処理装置100は、デスクトップ型パーソナルコンピュータのような据置型情報処理装置に限らず、市販されているノート型パーソナルコンピュータ、PDA(Personal Digital Assistants)、スマートフォン、タブレット型パーソナルコンピュータなどの携帯型情報処理装置であってもよい。
情報処理装置100は、制御部102と通信インターフェース部104と記憶部106と入出力インターフェース部108と、を備えている。情報処理装置100が備えている各部は、任意の通信路を介して通信可能に接続されている。
通信インターフェース部104は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、情報処理装置100をネットワーク300に通信可能に接続する。通信インターフェース部104は、他の装置と通信回線を介してデータを通信する機能を有する。ここで、ネットワーク300は、情報処理装置100とサーバ200とを相互に通信可能に接続する機能を有し、例えばインターネットやLAN(Local Area Network)等である。なお、後述する各種マスタ等のデータは、例えばサーバ200に格納されてもよい。
入出力インターフェース部108には、入力装置112および出力装置114が接続されている。出力装置114には、モニタ(家庭用テレビを含む)の他、スピーカやプリンタを用いることができる。入力装置112には、キーボード、マウス、及びマイクの他、マウスと協働してポインティングデバイス機能を実現するモニタを用いることができる。なお、以下では、出力装置114をモニタ114とし、入力装置112をキーボード112またはマウス112として記載する場合がある。
記憶部106には、各種のデータベース、テーブルおよびファイルなどが格納される。記憶部106には、OS(Operating System)と協働してCPU(Central Processing Unit)に命令を与えて各種処理を行うためのコンピュータプログラムが記録される。記憶部106として、例えば、RAM(Random Access Memory)・ROM(Read Only Memory)等のメモリ装置、ハードディスクのような固定ディスク装置、フレキシブルディスク、および光ディスク等を用いることができる。
記憶部106は、例えば、分析対象データ106aと、定義マスタとしての自動更新定義マスタ106b(以下、単に「定義マスタ106b」という。)と、社員区分マスタ106cと、給与区分マスタ106dと、役職マスタ106eと、等級マスタ106fと、職種マスタ106gと、勤務地マスタ106hと、計算定義マスタ106iと、を備えている。
分析対象データ106aは、図2に示すように、説明変数(X1、X2およびX3)と複数の目的変数(Y1およびY2)とを有するレコードを複数含む。前記説明変数とは、前記目的変数を説明する変数のことであり、物事の原因ととらえることもできる。前記目的変数とは、予測したい変数のことであり、物事の結果ととらえることもできる。本実施形態に係る情報処理装置100においては、複数の前記目的変数(Y1およびY2)を扱えることが大きな特徴である。
分析対象データ106aは、給与支払いの場面では、例えば、社員データ106a1に相当する。
分析対象データ106aが社員データ106a1である場合、前記説明変数は、社員の身分を特定するための項目である身分項目に相当し、前記説明変数の値は、前記身分項目の値である身分項目値に相当する。前記身分項目としては、例えば、社員区分、性別、役職、勤務地、資格の有無および業務等が挙げられる。前記身分項目値としては、例えば、前記身分項目「社員区分」の前記身分項目値である「正社員」、前記身分項目「性別」の前記身分項目値である「男」および前記身分項目「業務」の前記身分項目値である「販売登録者」等が挙げられる。
分析対象データ106aが社員データ106a1である場合、前記目的変数は、前記社員に対する給与についての計算の仕方または支給の仕方を決定するための項目である給与項目に相当し、前記目的変数の値は、前記給与項目の値である給与項目値に相当する。前記給与項目としては、例えば、給与区分、給与支給日区分、労働条件区分、保険種別および各種手当の有無等が挙げられる。前記給与項目値としては、例えば、前記給与項目「給与区分」の前記給与項目値である「2:日給月給者」および前記給与項目「給与支給日区分」の前記給与項目値である「1:25日払い」等が挙げられる。
社員データ106a1の内容を図19に例示するが、図19においては、多数存在する前記説明変数および前記目的変数のうちの一部のみが示されている。社員データ106a1においては、各社員のデータが給与支給年月日ごとに保持されている。
定義マスタ106bは、前記身分項目および前記身分項目値ならびに前記給与項目および前記給与項目値から構成されるパターンを定義するためのマスタである。定義マスタ106bは、例えば、前記パターンと、前記パターンを定義するためのパターン定義データ(定義名および定義番号等)と、を紐付けて含む。
社員区分マスタ106c、給与区分マスタ106d、役職マスタ106e、等級マスタ106f、職種マスタ106g、勤務地マスタ106hおよび計算定義マスタ106iの内容は、例えば、図20に示すとおりである。社員区分マスタ106cの内容については、会社によってあまり差が無い。等級マスタ106fの内容については、会社によって全く異なる設定を行うことがある。給与計算時には、社員データ106a1の「職種」や「調整給区分」に対応する計算定義マスタ106i中の「更新条件」を取得し、当該取得した「更新条件」と紐付く計算定義マスタ106i中の「更新式」に基づいて給与計算を行うことができる。
制御部102は、情報処理装置100を統括的に制御するCPU等である。制御部102は、OS等の制御プログラム・各種の処理手順等を規定したプログラム・所要データなどを格納するための内部メモリを有し、格納されているこれらのプログラムに基づいて種々の情報処理を実行する。
制御部102は、機能概念的に、例えば、(1)説明変数と複数の目的変数とを有するレコードを複数含む分析対象データ中の前記レコードを、特定の前記説明変数を基準として、当該基準とした説明変数の値ごとにレコード群に分割するレコード分割手段としてのレコード分割部102aと、(2)前記レコード分割手段で分割して求めた前記レコード群ごとに、同一の前記目的変数内における最頻値および当該最頻値が占める割合を、前記複数の目的変数すべてについて算出する割合算出手段としての割合算出部102bと、(3)前記レコード分割手段で前記分割の基準とした前記説明変数の値ごとに、前記複数の目的変数すべてについて前記割合算出手段で算出した前記最頻値および前記割合を含む分析結果を作成する分析結果作成手段しての分析結果作成部102cと、(4)前記分割前の不純度から前記分割後の不純度を差し引いた値を、前記不純度改善量として前記目的変数ごとに算出する改善量算出手段としての改善量算出部102dと、(5)前記分析結果のうち、前記改善量算出手段で算出した前記不純度改善量が所定の値以上となった前記目的変数についての前記分割後の前記最頻値および前記割合のみを出力する分析結果出力手段としての分析結果出力部102eと、(6)1から、同一の前記目的変数内での各値の割合の2乗の和を差し引いた値を、前記不純度として算出する不純度算出手段としての不純度算出部102fと、(7)前記身分項目および前記身分項目値に基づいて階層的に分岐させた枝のうち選択された枝で特定される前記社員の集合について、同一の前記給与項目内において占める割合が最も大きい前記給与項目値を、当該最も大きい割合と併せて、前記パターンの前記登録を行うための画面であるパターン登録画面に表示し、前記最も大きい割合が所定の閾値以上である場合は、前記閾値以上の割合の前記給与項目値を、前記登録の候補として識別可能な態様で、前記閾値以上の割合と併せて、前記パターン登録画面に表示する登録候補パターン表示手段としての登録候補パターン表示部102gと、(8)前記選択された枝についての前記身分項目および前記身分項目値ならびに前記登録候補パターン表示手段が前記識別可能な前記態様で表示した前記給与項目値およびこれに対応する前記給与項目から構成される前記パターンと、当該パターンを定義するためのパターン定義データであってオペレータにより設定されたものと、を紐付けて定義マスタに登録するパターン登録手段としてのパターン登録部102hと、(9)前記定義マスタから、前記社員単位で前記身分項目値および前記給与項目値の新規登録または変更を行うための画面である社員情報登録・変更画面において指定されたパターン定義データと紐付く前記パターンについての前記項目および前記値を取得し、当該取得した項目についての当該値を、前記新規登録の候補として前記社員情報登録・変更画面に表示する登録候補項目表示手段としての登録候補項目表示部102iと、(10)前記社員単位で前記身分項目値および前記給与項目値の新規登録または変更を行うための画面である社員情報登録・変更画面において特定の前記身分項目についての前記身分項目値が変更されると、前記定義マスタから、変更の対象となった前記身分項目および変更後の前記身分項目値と紐付くパターン定義データを取得し、当該取得したパターン定義データを表示するパターン定義表示手段としてのパターン定義表示部102jと、(11)前記定義マスタから、前記パターン定義表示手段が表示した前記パターン定義データのうち指定されたものと紐付く前記パターンについての前記項目および前記値を取得し、当該取得した項目についての当該値を、前記変更の候補として前記社員情報登録・変更画面に表示する変更候補項目表示手段としての変更候補項目表示部102kと、を備えている。以下、各部が実行する動作を説明する。
[1−1.決定木の作成についての動作]
レコード分割部102aは、説明変数と複数の目的変数とを有するレコードを複数含む分析対象データ106a中の前記レコードを、特定の前記説明変数を基準として、当該基準とした説明変数の値ごとにレコード群に分割する。例えば、レコード分割部102aは、図8に示すように、分析対象データ106a中のレコード10個を、説明変数X3を基準として、X3=1を有する2個のレコードからなるレコード群Aと、X3=2を有する6個のレコードからなるレコード群Dと、X3=3を有する2個のレコードからなるレコード群Iと、に分割する。
レコード分割部102aは、前記分割の基準とした前記説明変数以外の前記説明変数を新たな基準として前記分割を繰り返し、前記分割して求めた前記レコード群中の前記レコードの数、前記分割を実行した回数および前記分割前と前記分割後の間での前記目的変数についての不純度の改善量である不純度改善量のうちの少なくとも1つに応じて、前記分割を停止してもよい。例えば、レコード分割部102aは、図8に示すように、レコード群A中のレコード2個を、X2=1を有する1個のレコードからなるレコード群Bと、X2=2を有する1個のレコードからなるレコード群Cと、に分割し、レコード群D中のレコード6個を、X1=1を有する3個のレコードからなるレコード群Eと、X1=2を有する2個のレコードからなるレコード群Fと、に分割する。更に続けて、レコード分割部102aは、図8に示すように、レコード群E中のレコード3個を、X2=1を有する2個のレコードからなるレコード群Gと、X2=2を有する1個のレコードからなるレコード群Hと、に分割する。このようにして、レコード分割部102aは、図8に示すように、分析対象データ106a中のレコード10個を、レコード群A〜Iに分割する。
割合算出部102bは、レコード分割部102aで分割して求めた前記レコード群ごとに、同一の前記目的変数内における最頻値および当該最頻値が占める割合を、前記複数の目的変数すべてについて算出する。例えば、図8のレコード群Aに注目した場合、割合算出部102bは、目的変数Y1については、最頻値を1と算出し、当該最頻値1が占める割合を1/2×100=50%と算出し、また、目的変数Y2については、最頻値を1と算出し、当該最頻値1が占める割合を2/2×100=100%と算出する。同様に、図8のレコード群Eに注目した場合、割合算出部102bは、目的変数Y1については、最頻値を1と算出し、当該最頻値1が占める割合を2/3×100≒67%と算出し、また、目的変数Y2については、最頻値を2と算出し、当該最頻値2が占める割合を3/3×100=100%と算出する。
分析結果作成部102cは、レコード分割部102aで前記分割の基準とした前記説明変数の値ごとに、前記複数の目的変数すべてについて割合算出部102bで算出した前記最頻値および前記割合を含む分析結果を作成する。例えば、図8のレコード群Aに注目した場合、分析結果作成部102cは、「分割の基準が説明変数『X3=1』である場合、目的変数Y1の最頻値が1でありその割合が50%、目的変数Y2の最頻値が1でありその割合が100%である」という分析結果を作成する。同様に、図8のレコード群Eに注目した場合、分析結果作成部102cは、「分割の基準が説明変数『X3=2、X1=1』である場合、目的変数Y1の最頻値が1でありその割合が約67%、目的変数Y2の最頻値が2でありその割合が100%である」という分析結果を作成する。作成される分析結果のイメージを、図11に示す。
分析結果作成部102cは、前記分析結果として、レコード分割部102aで前記分割の基準とした前記説明変数の値に基づいて階層的に分岐させた枝ごとに、前記複数の目的変数すべてについて割合算出部102bで算出した前記最頻値および前記割合を含む決定木を作成してもよい。作成される決定木のイメージを、図13に示す。なお、決定木による分析とは、例えば、全データの中で分析したい変数(目的変数)とデータを分岐させる変数(説明変数)とを設定し、分岐を繰り返していき、分析結果をツリー構造の樹木図で表現する分析手法のことである。
改善量算出部102dは、前記分割前の不純度から前記分割後の不純度を差し引いた値を、前記不純度改善量として前記目的変数ごとに算出する。ここで、前記不純度は、不純度算出部102fが、同一の前記目的変数内での各値の割合の2乗の和を差し引くことにより算出することができる。例えば、図8において、分析対象データ106a(=分割前)とレコード群A(=分割後)とに注目する。
不純度算出部102fは、分析対象データ106a(=分割前)における目的変数Y1の不純度を、1−(Y1=1となる割合)2−(Y1=2となる割合)2=1−(6/10)2−(4/10)2=0.48と算出する。同様に、不純度算出部102fは、分析対象データ106a(=分割前)における目的変数Y2の不純度を、1−(Y2=1となる割合)2−(Y2=2となる割合)2−(Y2=3となる割合)2−(Y2=4となる割合)2=1−(2/10)2−(3/10)2−(3/10)2−(2/10)2=0.53と算出する。
不純度算出部102fは、レコード群A(=分割後)における目的変数Y1の不純度を、1−(Y1=1となる割合)2−(Y1=2となる割合)2=1−(1/2)2−(1/2)2=0.5と算出する。同様に、不純度算出部102fは、レコード群A(=分割後)における目的変数Y2の不純度を、1−(Y2=1となる割合)2=1−(2/2)2=0と算出する。
以上より、改善量算出部102dは、目的変数Y1についての不純度改善量を、分割前の不純度0.48−分割後の不純度0.5=−0.02と算出する。同様に、改善量算出部102dは、目的変数Y2についての不純度改善量を、分割前の不純度0.53−分割後の不純度0=0.53と算出する。
分析結果出力部102eは、前記分析結果のうち、改善量算出部102dで算出した前記不純度改善量が所定の値以上となった前記目的変数についての前記分割後の前記最頻値および前記割合のみを出力してもよい。例えば、前記所定の値を仮に「0.05」とした場合、分析結果出力部102eは、不純度改善量が−0.02である目的変数Y1についての前記分割後の最頻値である1およびその割合である50%については出力せず、不純度改善量が0.53である目的変数Y2についての前記分割後の最頻値である1およびその割合である100%のみを出力する。このような不純度改善量を考慮した分析結果の表示のイメージを、図12および図14に示す。
[1−2.社員情報の登録および変更についての動作]
登録候補パターン表示部102gは、前記身分項目および前記身分項目値に基づいて階層的に分岐させた枝のうち選択された枝(具体的には、図24および図34のパターン登録画面における画面左側の「条件分岐」の枝)で特定される前記社員の集合について、同一の前記給与項目内において占める割合が最も大きい前記給与項目値を、当該最も大きい割合と併せて、前記パターンの前記登録を行うための画面であるパターン登録画面(具体的には、図24のMA4および図34のMF4で示す領域)に表示する。この際、登録候補パターン表示部102gは、前記最も大きい割合が所定の閾値以上である場合は、前記閾値以上の割合の前記給与項目値を、登録の候補として識別可能な態様で(具体的には、斜線およびドットのハッチングで)、前記閾値以上の割合と併せて、前記パターン登録画面(具体的には、図24のMA4および図34のMF4で示す領域)に表示する。
登録候補パターン表示部102gは、前記閾値以上の割合が属する数値範囲に応じて、異なる前記態様で(具体的には、割合が100%に属する給与項目値は斜線のハッチングで、割合が90%以上100%未満に属する給与項目値はドットのハッチングで)、前記閾値以上の割合の前記給与項目値を表示してもよい。
登録候補パターン表示部102gは、前記表示した前記給与項目値のうち前記登録の候補として最終的に表示するものを調整するためのボタンである調整ボタン(具体的には、図24のMA2および図34のMF2に示す「項目別調整」ボタン)が前記パターン登録画面(図24および図34参照)において選択されると、前記表示した前記給与項目値に対応するチェックボックスを表示し、チェックが入れられた前記チェックボックスに対応する前記給与項目値を、前記登録の最終的な候補として識別可能な態様で前記パターン登録画面(具体的には、図24のMA3および図34のMF3で示す「選択結果」の領域)に表示してもよい。
パターン登録部102hは、前記選択された枝についての前記身分項目および前記身分項目値ならびに登録候補パターン表示部102gが前記識別可能な前記態様で表示した前記給与項目値およびこれに対応する前記給与項目から構成される前記パターン(具体的には、図24にMA3で示すパターン1および図34にMF3で示すパターン2)と、当該パターンを定義するためのパターン定義データであってオペレータにより設定されたもの(具体的には、図25にMAB1で示す前記パターン1に対応する定義名「男性一般社員(販売登録者)」および図35にMG1で示す前記パターン2に対応する定義名「女性アルバイト社員(販売登録者)」)と、を紐付けて定義マスタ106bに登録する。
登録候補項目表示部102iは、定義マスタ106bから、前記社員単位で前記身分項目値および前記給与項目値の新規登録または変更を行うための画面である社員情報登録・変更画面(図27等参照)において指定されたパターン定義データと紐付く前記パターンについての前記項目および前記値を取得し、当該取得した項目についての当該値を、前記新規登録の候補として前記社員情報登録・変更画面に表示する(具体的には、図28におけるME2の領域の表示を指す)。
パターン定義表示部102jは、前記社員情報登録・変更画面(図37等参照)において特定の前記身分項目についての前記身分項目値が変更されると、定義マスタ106bから、変更の対象となった前記身分項目および変更後の前記身分項目値と紐付くパターン定義データを取得し、当該取得したパターン定義データを表示する(具体的には、図38の上画面における定義名の表示を指す)。パターン定義表示部102jは、前記取得したパターン定義データと併せて、これと紐付く定義マスタ106b中の前記パターンについての前記身分項目および前記身分項目値を表示してもよい(具体的には、図38の上画面における条件項目の表示を指す)。
変更候補項目表示部102kは、定義マスタ106bから、パターン定義表示部102jが表示した前記パターン定義データのうち指定されたものと紐付く前記パターンについての前記項目および前記値を取得し、当該取得した項目についての当該値を、前記変更の候補として前記社員情報登録・変更画面に表示する(具体的には、図39におけるMK1の領域の表示を指す)。
[2.背景と概要]
本項目では、決定木の作成、社員情報の登録および社員情報の変更のそれぞれについて、背景と概要を説明する。
[2−1.決定木の作成の背景と概要]
従来の決定木アルゴリズムにおいては、目的変数として一つの値のみを取り扱っていた。複数の値を同時に予測するためには、それぞれに分析を行う必要があるが、その場合、条件値と目的変数の組み合わせが膨大になり、利用者が分析結果を理解しにくいという問題があった。また、条件の分岐が深くなると、どの条件が結果に影響を与えているのかの理解が難しくなるという問題もあった。
そこで、本実施形態においては、例えば、複数の目的変数を同時に取り扱えるようにすることで、簡潔な条件値と目的変数の値の組を利用者に示すことを可能とした。また、本実施形態においては、例えば、分岐ごとにその条件が目的変数の決定に役に立っているかをスコア化することで、条件と目的変数との間にあるルールをより簡潔に理解することを可能とし、分析を専門としないシステムのユーザであっても、分析結果の活用をできるようにした。
そして、本実施形態においては、例えば、条件となりうる複数の値と、それによって決まると考えられる複数の値の間にあるルールを見つけだすために、業務システムのデータにおいて、大量のデータがある中でどのようなルールでそのデータが入力されているのかを分析することで、少数の項目をもとに他の設定値を予測できるようし、以降の入力ミスの削減や入力時の効率をあげるといった活用を可能とした。入力値としては、例えば、区分値のような離散的な値を想定する。なお、決定木アルゴリズムとしては、CARTやC4.5等が公知であるが、本実施形態においては、これら公知の決定木アルゴリズムを改良することで、業務システムのような離散値項目を数多く持つようなデータへの適用を可能とし、分析結果の理解をより容易にした。
[2−2.社員情報の登録の背景と概要]
会社ごとに給与規定は異なるため、給与計算を行うために管理している「社員の情報」の項目とその内容は会社によってさまざまである。ここで、会社の給与規定に則った計算を行うためには、給与規定や契約書をもとに「社員の情報」をシステム上で設定する必要があるが、契約書に表記している内容から給与規定に記載してある内容を紐づけ、システムに登録すべき項目とその内容をすべて網羅して把握することは困難であり、登録漏れ・登録ミスが発生していた。結果として、誤支給が発生してしまうケースがあった。また、登録が必要なシステムの項目数は多く、同時期に多くの入社者がいる場合は、作業量が膨大であった。
そこで、本実施形態においては、例えば、「社員の情報」の登録を行う際に、既存の大量データの分析を行い、同時に入力すべき項目とその内容を提案できるような仕組みを提供することにより、例えば、作業の効率化および誤支給の未然防止を実現する。具体的には、本実施形態においては、社員を登録する際に、同時に登録すべき項目を知りたいという課題を解決するために、他の社員の情報を分析し、関連度の高い項目を確認できることで、同時に登録すべき項目を把握することができる仕組みを構築した。また、本実施形態においては、同じような社員を登録する際の入力作業を容易に行いたいという課題を解決するために、他の社員の情報を分析し、関連度の高い項目とその内容を候補から選択することで、登録を容易にできる仕組みを構築した。
以下、本項目[2−2]では、社員情報の登録の際の課題および背景について詳細に説明する。
まず、図15および図16に示すように、社員の入社時には、給与規定および雇用契約書の内容をシステムに入力するが、この際に、本来システムに入力することが必要な項目であるにも関わらず入力漏れが生じてしまうことがある。例えば、雇用契約書には記載がない項目、複雑な条件で入力の有無が決まる項目および会社独自のルールで設定が必要な項目等は、入力漏れや入力ミスが生じやすい。
図16には、給与規定(通常は分厚い紙面等であることが多い)を参照しないとわからない情報として、等級の情報および調整給手当(2010年以降に中途入社した社員のみ月額2万円支給)の情報が例示されている。システムの入力担当者は、給与規定における調整給手当の情報を参照しつつ、調整支給区分を「1:対象(20,000円が支給されることを意味する区分)」としてシステム入力する必要がある。
しかしながら、システムの入力担当者は、多数の新入社員についてシステム入力を行う必要があるため、入力漏れや入力ミスが生じやすいという問題があった。例えば、図17に示すように、50人の新入社員の各々に対して50項目をシステム入力する場合、合計で50人×50項目=2500項目という膨大な項目数を入力する必要がある。
このような事情により、入力漏れや入力ミスが生じてしまうと、給与の誤支給に繋がる可能性がある。例えば、図18に示すように、調整支給区分「1:対象」の入力漏れが生じると、結果として、本来は調整給手当2万円の支給対象だった者に対して、当該手当が支給されないこととなってしまい、誤支給に繋がるという問題があった。
[2−3.社員情報の変更の背景と概要]
会社の給与規定に則った計算を行うためには、「社員の情報」をシステム上で設定する必要があるが、会社ごとに給与規定が異なるため、給与計算を行うために管理している「社員の情報」の項目とその内容は会社によってさまざまである。ここで、給与計算には、「社員の情報」の複数の項目が複雑に関係するため、1つの項目を変更する際に、同時に多くの項目を変更する必要が生じることが多い。しかし、「社員の情報」の変更が必要になる際の資料には、システム上で変更が必要な項目についての記載はないことが一般的である。そのため、1つの項目を変更する際に、同時に変更する必要がある項目を調べるためには、他の社員の登録情報と見比べて判断しており、作業が効率的でなかった。また、変更が必要な項目を全て捉えられず、変更漏れが発生することにより、結果として、誤支給が発生してしまうケースがあった。
そこで、本実施形態においては、例えば、「社員の情報」の変更を行う際に、既存の大量データの分析を行い、同時に変更すべき項目とその内容を提案できるような仕組みを提供するこれにより、例えば、作業の効率化および誤支給の未然防止を実現する。具体的には、本実施形態においては、社員情報の項目を変更する際に、他に変更すべき項目がないか知り、変更漏れを防ぎたいという課題を解決するために、他の社員の情報を分析し、変更内容に関連度の高い項目を確認できることで、他に変更すべき項目を把握することができる仕組みを構築した。また、本実施形態においては、社員情報の項目を変更する際に、他の必要な項目変更についての登録を容易に行いたいという課題を解決するために、他の社員の情報を分析し、変更内容に関連度の高い項目とその内容を候補から選択することで、登録を容易にできる仕組みを構築した。
以下、本項目[2−3]では、社員情報の変更の際の課題および背景について詳細に説明する。
まず、図29に示すように、社員の入社時やシステム導入時には、給与規定や雇用契約書をもとに、社員の情報の設定を行う。ここで、図30に示すように、社員についての情報の変更がある場合、人事部長等から給与の支払を担当する者に対して、昇格対象者リスト、所属異動対象者リスト、退職後再雇用対象者リスト、アルバイトから正規雇用への変更対象リストおよび育休・産休対象者リスト等が送られる。ここで、これらのリストからは、変更の対象がどの社員であるかという情報しかわからず、すなわち例えば昇格対象者リストを例にとった場合、課長代理から課長への昇格対象者が、社員A、社員Eおよび社員Fの3人であるという情報しかわからない。このため、当該3人の社員について、「職種」の項目を一般職から管理職に変更する必要が本来あるとしても、この情報はわからない。
そして、仮に図31に示すように、「職種」が管理職である場合には管理職手当50,000円を支給し、「職種」が管理職以外である場合には管理職手当を支給しないという規定が存在する場合に、システム上で前記3人の社員の「職種」を一般職から管理職へと変更するのを忘れてしまうと、図32に示すように、本来は管理職手当の支給対象だった者(社員A、社員Eおよび社員F)に対して、当該手当が支給されないこととなってしまい、誤支給に繋がるという問題があった。
[3.処理の詳細]
本項目では、本実施形態に係る処理の具体例を説明する。決定木の作成処理、社員情報の登録処理および社員情報の変更処理の順に説明する。
[3−1.決定木の作成処理]
最初に、決定木の作成処理を、図2〜図14を用いて詳細に説明する。なお、本実施形態における決定木アルゴリズムにおいては、以下の(6)において分割ごとの改善量の計算を行い、当該計算の結果を、以下の(7)においてユーザにとってわかりやすい結果表示のために用いていることが特徴の一つである。
(0)分析対象となるデータ
前提として、分析対象(=分割対象)となるデータである分析対象データ106aは、図2に示すとおりであるとする。図2の分析対象データ106aにおいて、X1、X2およびX3は、説明変数であり、Y1およびY2は、目的変数である。前記説明変数および前記目的変数は、質的変数とする。以下においては、前記説明変数の値によって、前記目的変数の値が決定される何かしらのルールがあると推測するものとする。
(1)現状の不純度を計算する
まず、不純度算出部102fは、データのばらつき具合を表す指標として、不純度を以下のようにして算出する。不純度の計算には、例えば、一般的な決定木アルゴリズムで用いられる情報エントロピーやジニー係数(Gini係数)等を用いることができる。
例えば、図2の分析対象データ106a中のY1の不純度を、ジニー係数(Gini係数)を用いて計算すると、以下のようになる。ジニー係数は、図3に示すように、1−(Y1=1となる割合)2−(Y1=2となる割合)2という計算式で表される。図2を参照すると、Y1=1となる割合は6/10であり、Y1=2となる割合は、4/10であるため、不純度算出部102fは、ジニー係数を、1−(6/10)2−(4/10)2=0.48と算出する。以上より、不純度算出部102fは、Y1についての分割前の不純度を0.48と算出する。また、不純度算出部102fは、同様の計算により、Y2についての分割前の不純度を0.53と算出する。
(2)各条件項目について、分割したときの不純度の改善量を計算する
次に、不純度算出部102fは、X1〜X3のそれぞれについて、その値で分割した場合の不純度の改善量を算出する。
(2−1)X1で分割する場合
X1を基準として分割する場合、レコード分割部102aは、図4に示すように、図2の分析対象データ106a中の10個のレコードを、X1=1を有する5個のレコード(id=a、b、c、d、e)からなるレコード群(X1=1のデータ)と、X1=2を有する5個のレコード(id=f、g、h、i、j)からなるレコード群(X1=2のデータ)と、に分割する。
ここで、不純度算出部102fは、前記(1)で説明した計算法により、図4に示すように、X1=1のデータにおけるY1の不純度を0.48と算出し、X1=1のデータにおけるY2の不純度を0.48と算出し、X1=2のデータにおけるY1の不純度を0.48と算出し、X1=2のデータにおけるY2の不純度を0.48と算出する。
そして、不純度算出部102fは、前段落で算出したY1の不純度の加重平均をとり、Y1についての分割後の不純度を0.48と算出する。同様に、不純度算出部102fは、前段落で算出したY2の不純度の加重平均をとり、Y2についての分割後の不純度を0.48と算出する。
最後に、改善量算出部102dは、Y1についての分割前の不純度(0.48)からY1についての分割後の不純度(0.48)を差し引くことにより、Y1についての不純度の改善量を0と算出する。同様に、改善量算出部102dは、Y2についての分割前の不純度(0.53)からY2についての分割後の不純度(0.48)を差し引くことにより、Y2についての不純度の改善量を0.05と算出する。そして、改善量算出部102dは、Y1についての不純度の改善量(0)とY2についての不純度の改善量(0.05)とを足すことにより、不純度の改善量の合計を0.05と算出する。
(2−2)X2で分割する場合
X2を基準として分割する場合、レコード分割部102aは、図5に示すように、図2の分析対象データ106a中の10個のレコードを、X2=1を有する4個のレコード(id=a、c、d、h)からなるレコード群(X2=1のデータ)と、X2=2を有する6個のレコード(id=b、e、f、g、i、j)からなるレコード群(X2=2のデータ)と、に分割する。
ここで、不純度算出部102fは、前記(1)で説明した計算法により、図5に示すように、X2=1のデータにおけるY1の不純度を0と算出し、X2=1のデータにおけるY2の不純度を0.625と算出し、X2=2のデータにおけるY1の不純度を0.4444と算出し、X2=2のデータにおけるY2の不純度を0.7222と算出する。
そして、不純度算出部102fは、前段落で算出した不純度について、加重平均を、例えば、件数で重みづけした以下の計算式により算出する。すなわち、加重平均={(X2=1のデータの不純度)×(X2=1のデータ中のレコード件数)/(分割前のデータ中のレコード件数)}+{(X2=2のデータの不純度)×(X2=2のデータ中のレコード件数)/(分割前のデータ中のレコード件数)}である。この計算式に従い、不純度算出部102fは、Y1についての分割後の不純度を、(0×4/10)+(0.4444×6/10)≒0.2667と算出する。同様に、不純度算出部102fは、Y2についての分割後の不純度を、(0.625×4/10)+(0.7222×6/10)≒0.6833と算出する。
最後に、改善量算出部102dは、Y1についての分割前の不純度(0.48)からY1についての分割後の不純度(0.2667)を差し引くことにより、Y1についての不純度の改善量を0.2133と算出する。同様に、改善量算出部102dは、Y2についての分割前の不純度(0.53)からY2についての分割後の不純度(0.6833)を差し引くことにより、Y2についての不純度の改善量を−0.153と算出する。そして、改善量算出部102dは、Y1についての不純度の改善量(0.2133)とY2についての不純度の改善量(−0.153)とを足すことにより、不純度の改善量の合計を0.06と算出する。
(2−3)X3で分割する場合
X3を基準として分割する場合、レコード分割部102aは、図6に示すように、図2の分析対象データ106a中の10個のレコードを、X3=1を有する2個のレコード(id=a、b)からなるレコード群(X3=1のデータ)と、X3=2を有する6個のレコード(id=c、d、e、f、g、h)からなるレコード群(X3=2のデータ)と、X3=3を有する2個のレコード(id=i、j)からなるレコード群(X3=3のデータ)と、に分割する。
ここで、不純度算出部102fは、前記(1)で説明した計算法により、図6に示すように、X3=1のデータにおけるY1の不純度を0.5と算出し、X3=1のデータにおけるY2の不純度を0と算出し、X3=2のデータにおけるY1の不純度を0.5と算出し、X3=2のデータにおけるY2の不純度を0.5と算出し、X3=3のデータにおけるY1の不純度を0と算出し、X3=3のデータにおけるY2の不純度を0と算出する。
そして、不純度算出部102fは、前段落で算出した不純度について、(2−2)で説明した計算式により加重平均を算出する。すなわち、不純度算出部102fは、Y1についての分割後の不純度を、(0.5×2/10)+(0.5×6/10)+(0×2/10)=0.4と算出する。同様に、不純度算出部102fは、Y2についての分割後の不純度を、(0×2/10)+(0.5×6/10)+(0×2/10)=0.3と算出する。
最後に、改善量算出部102dは、Y1についての分割前の不純度(0.48)からY1についての分割後の不純度(0.4)を差し引くことにより、Y1についての不純度の改善量を0.08と算出する。同様に、改善量算出部102dは、Y2についての分割前の不純度(0.53)からY2についての分割後の不純度(0.3)を差し引くことにより、Y2についての不純度の改善量を0.23と算出する。そして、改善量算出部102dは、Y1についての不純度の改善量(0.08)とY2についての不純度の改善量(0.23)とを足すことにより、不純度の改善量の合計を0.31と算出する。
(2−4)まとめ
以上(2−1)〜(2−3)で算出したように、Y1の不純度の改善量とY2の不純度の改善量の合計は、X1を基準として分割した場合は0.05、X2を基準として分割した場合は0.06、X3を基準として分割した場合は0.31となったため、X3を基準として分割した場合に最も不純度が改善する(すなわち、情報利得が大きい)ことがわかった。
なお、本例においては、目的変数(Y1およびY2)の不純度の改善量の「合計」に着目して、説明変数(X1、X2およびX3)のうちX3を採用したが、例えば、各目的変数(Y1およびY2)の改善量の「最大値」に着目して、説明変数(X1、X2およびX3)のうちどれを採用するかを決定してもよい。本例だと、X1で分割した場合のY1についての不純度の改善量0、X1で分割した場合のY2についての不純度の改善量0.05、X2で分割した場合のY1についての不純度の改善量0.2133、X2で分割した場合のY2についての不純度の改善量−0.153、X3で分割した場合のY1についての不純度の改善量0.08およびX3で分割した場合のY2についての不純度の改善量0.23の6つの改善量のうち、X3で分割した場合のY2についての不純度の改善量0.23が「最大値」に該当するため、X3が採用されることとなる。このように、「最大値」に着目することで、その条件(説明変数)が、特定の目的項目列(特定の目的変数)についてのみいい分割(不純度が改善する分割)を出来るようにするものであったとしても、採用されやすくすることができる。
(3)最も情報利得の大きい条件項目で、その値ごとにデータを分割する
次に、レコード分割部102aは、(2−4)で述べた最も情報利得の大きい条件項目(目的変数)であるX3を基準として、X3がとる値ごとに、図2の分析対象データ106a中のレコードを分割する。
具体的には、レコード分割部102aは、図7に示すように、図2の分析対象データ106a中の10個のレコードを、X3=1を有する2個のレコード(id=a、b)からなるレコード群Aと、X3=2を有する6個のレコード(id=c、d、e、f、g、h)からなるレコード群Dと、X3=3を有する2個のレコード(id=i、j)からなるレコード群Iと、に分割する。
(4)分割されたデータのそれぞれについて、更に分割を繰り返す
レコード分割部102aは、(3)で分割して求めた3つのレコード群(レコード群A、DおよびI)それぞれについて、更に分割を繰り返す。
具体的には、レコード分割部102aは、図8に示すように、レコード群A中のレコード2個を、X2=1を有する1個のレコード(id=a)からなるレコード群Bと、X2=2を有する1個のレコード(id=b)からなるレコード群Cと、に分割する。ここまでの分割により、各レコード群が含むレコード数はともに1個しかないため、すなわち、分割できるレコードがこれ以上ないため、レコード分割部102aは分割を停止する。
また、レコード分割部102aは、図8に示すように、レコード群D中のレコード6個を、X1=1を有する3個のレコード(id=c、d、e)からなるレコード群Eと、X1=2を有する3個のレコード(id=f、g、h)からなるレコード群Fと、に分割する。更に、レコード分割部102aは、図8に示すように、レコード群E中のレコード3個を、X2=1を有する2個のレコード(id=c、d)からなるレコード群Gと、X2=2を有する1個のレコード(id=e)からなるレコード群Hと、に分割する。
なお、レコード群I中の2個のレコードは、X1はともに2であり、X2もともに2であり、分割の基準となる目的変数が存在しないため、分割は打ち止めとなる。
(5)いくつかの終了条件に基づいて分割を停止する
(4)で述べたとおり、レコード分割部102aは、再帰的な分割の処理を行うが、例えば、以下に示す終了条件に基づいて分割を停止する。
終了条件の一つ目として、データ件数(分割後のレコード群中のレコード件数)が挙げられる。具体的には、分割後のレコード群中のレコード件数が少ない場合(例えば、分析対象データ106aの5%を閾値とし、分割後のレコード群中のレコード件数が当該閾値以下となった場合)、それ以上の分割を打ち止めるといった対応が考えられる。
終了条件の二つ目として、深さ(分割を実行した回数)が挙げられる。具体的には、分割を実行した回数が予め設定した回数を超えたらそれ以上の分割を打ち止めるといった対応等が考えられ、これにより、条件が複雑になりすぎることを防ぐことができる。
終了条件の三つ目として、不純度の改善が挙げられる。具体的には、分割の結果、不純度の改善が小さい場合にはそれ以上の分割を打ち止めるといった対応が考えられる。
(6)分割ごとの改善量を計算する
データの分割を行った際に、目的変数がよりきれいに区別されるように分割されることが望ましいが、一回のデータ分割で、すべての目的変数について不純度が改善されるわけではない。このため、以下で説明するように、目的変数ごとに不純度の改善量を算出することで、その分割がどの程度その目的変数に影響を与えているのかを把握することができる。
例えば、図9に示すように、X3=1を基準として分割1を行い、更に、X2=1を基準として分割2を行った場合、改善量算出部102dは、以下のようにして、分割1および分割2のそれぞれについて、改善量を算出する。なお、図9は、図8におけるレコード群およびBを切り出したものである。
分割1(X3=1という条件での分割)について考える。Y1についての分割1前の不純度は0.48であり、Y1についての分割1後の不純度は0.5であるため、改善量算出部102dは、分割1前後でのY1についての不純度の改善量を、0.48−0.5=−0.02と算出する。同様に、Y2についての分割1前の不純度は0.53であり、Y2についての分割1後の不純度は0であるため、改善量算出部102dは、分割1前後でのY2についての不純度の改善量を、0.53−0=0.53と算出する。この結果から、X3=1という条件での分割は、Y1に対しては効果がないが、Y2に対しては効果があることがわかる。この結果を、図10に示す。
分割2(X3=1かつX2=1という条件での分割)について考える。Y1についての分割2前の不純度は0.5であり、Y1についての分割2後の不純度は0であるため、改善量算出部102dは、分割2前後でのY1についての不純度の改善量を、0.5−0=0.5と算出する。同様に、Y2についての分割2前の不純度は0であり、Y2についての分割2後の不純度は0であるため、改善量算出部102dは、分割2前後でのY2についての不純度の改善量を、0−0=0と算出する。この結果から、X3=1かつX2=1という条件での分割は、Y1に対しては効果があるが、Y2に対しては効果がないことがわかる。この結果を、図10に示す。
このように算出した不純度の改善量を、分割の影響スコアとして保持しておく。
(7)分析結果の出力
(6)までの結果から、特徴項目(説明変数)に対する条件と、その際に目的変数がとるべき値のルールを取得することができる。
(7−1)条件別(説明変数別)の出力
具体的には、割合算出部102bは、図8にCで示すレコード群について、Y1=2の割合を1/1×100=100%と算出し、Y2=1の割合も1/1×100=100%と算出する。同様に、割合算出部102bは、図8にGで示すレコード群について、Y1=1の割合を2/2×100=100%と算出し、Y2=2の割合も2/2×100=100%と算出する。更に同様に、割合算出部102bは、図8にIで示すレコード群について、Y1=1の割合を2/2×100=100%と算出し、Y2=4の割合も2/2×100=100%と算出する。そして、分析結果出力部102eは、当該算出の結果を図11に示すように出力する。図11に示す出力においては、割合には、学習に使用したデータの割合を示しており、行ごとに重複するデータがないような表示としている。
更に、(6)で算出した分割の影響スコアを用いることで、効果の高い条件のみを出力するように選択することもできる。例えば、(6)で説明した分割1および2について考える。仮に、「目的変数に対する不純度の改善量が、0.05以上のもの」という条件だとする。(6)の分割1で説明したように、X3=1という条件での分割では、Y1についての不純度の改善量は−0.02であり、Y2についての不純度の改善量は0.53であり、また、(6)の分割2で説明したように、X3=1かつX2=1という条件での分割では、Y1についての不純度の改善量は0.5であり、Y2についての不純度の改善量は0であった。このため、前記条件に合致する説明変数および目的変数の組合せは、「X3=1およびY2」という組合せと、「X3=1、X2=1およびY1」という組合せと、の2つの組合せとなる。
分析結果出力部102eは、前段落で述べた2つの組合せのみを表示する。すなわち、分析結果出力部102eは、図12に示すように、X3=1のときY2=1の割合が100%であることを示す行と、X3=1かつX2=1のときY1=1の割合が100%であることを示す行と、を表示する。これにより、ユーザは、意味のある分割がされている目的変数のみを一覧で確認することができる。なお、図12の表示においては、複数行の条件(複数の説明変数)に該当するようなデータが存在する可能性があるが、(6)での結果を用いない場合と比べ、シンプルな条件(説明変数)および目的変数の組合せをユーザに示すことができる。
(7−2)ツリーによる出力
(6)までの結果は、以下のようにして、ツリー(決定木)状で表現することもできる。
具体的には、割合算出部102bは、図8の分析対象データ106aについて、Y1=1の割合を6/10×100=60%と算出し、Y2=2の割合を3/10×100=30%と算出する。同様に、割合算出部102bは、図8にAで示すレコード群について、Y1=1の割合を1/2×100=50%と算出し、Y2=1の割合を2/2×100=100%と算出する。更に同様の方法で、割合算出部102bは、図8にB〜Iで示すレコード群についても、図13に示すように割合を算出する。そして、分析結果出力部102eは、当該算出の結果を図13に示すように表示する。なお、図13の表においては、目的変数の値として、その条件の場合の(説明変数の値ごとの)最頻値と、当該最頻値が占める割合と、を表記している。
更に、分析結果出力部102eは、目的変数に対する不純度の改善量が大きいもの、または、分割後の不純度が一定値以下のもののみを表示することで、ユーザにとって理解しやすく使いやすい結果表示をすることができる。当該結果表示のツリーのイメージ例を、図14に示す。当該結果表示をすれば、ユーザは目的変数の値が入力されている箇所にのみ注目すればよく、少ない条件(説明変数)で目的変数の値が決定されるのはどこであるのかを把握することができる。また、条件(説明変数の値)ごとに、目的変数の最頻値およびその値が占める割合をツリーで示すことで、ユーザは、当該結果表示で示されるツリーが確かに図8における分割結果に合致していることを認識することができる。
(8)給与システムに対するアルゴリズムの適用例
本項目[3−1]で説明した決定木アルゴリズムは、例えば、以下の[3−2]および[3−3]で説明する、給与システムにおける社員情報の登録および修正処理に適用することができる。
本項目[3−1]で説明した説明変数X1、X2およびX3としては、例えば、社員区分(管理職、一般社員、アルバイト等)、性別、役職、勤務地および資格の有無等の項目を用いることができる。当該項目は、社員の身分を特定するための項目であり、システム外で決定され、システムに入力すべき値が明らかな項目である。
本項目[3−1]で説明した目的変数Y1およびY2としては、例えば、給与区分、給与支給日区分、労働条件区分、保険種別および各種手当の有無等の項目を用いることができる。当該項目は、前記社員に対する給与についての計算の仕方または支給の仕方を決定するための項目であり、給与の計算のために給与システムの中で使用され、前記説明変数として挙げられた項目や社内のルール等に基づいて判断および入力される項目である。
そして、(6)までの分析結果を(7)で説明した表示方法により表示することで、前記目的変数として何を入力するかを提案(サジェスト)できる。これにより、例えば、給与誤支給を防止することができる。
[3−2.社員情報の登録処理]
次に、社員情報の登録処理を、図21〜図28を用いて詳細に説明する。
本項目では、(1)まず、定義マスタ106bの内容を登録するまでの処理を、図21をベースとして図23〜図26を参照しつつ説明し、(2)次に、定義マスタ106bの内容を登録した後に行う社員情報の登録処理を、図22をベースとして図27および図28を参照しつつ説明する。
(1)定義マスタ106bの内容を登録するまでの処理
(1−1)図21の「分析実行」について
まず、図21の「分析実行」について詳細に説明する。図21に示すように、分析実行画面が表示されて「分析実行」されることにより、社員データ106a1中の既存の大量データが分析システムにより分析されて、分析結果として「画面に同時変更の候補項目が表示」される。前記分析実行画面の例を、図23に示す。前記分析実行画面において対象年月を指定した上で「実行」が選択されると、当該指定された対象年月に合致する社員データ106a1中の情報が分析の対象となる。また、前記分析システムは、特に制限されず、例えば、[3−1]で説明した分析方法であってもよいし、これ以外の既知の分析方法であってもよい。
(1−2)図21の「画面に同時変更の候補項目を表示」について
次に、図21の「画面に同時変更の候補項目を表示」について詳細に説明する。登録候補パターン表示部102gは、前記分析の結果をパターン登録画面に表示する。具体的には、図24に示すパターン登録画面においては、左部に示す条件分岐の枝のうち、「社員区分=一般社員」、「性別=男」、「職掌=入力なし」および「業務=販売登録者」の4つの枝にチェックが付されて選択されている。なお、「全条件集計」は、分析対象の全件の集計結果を表示する項目であり、社員情報および登録定義の分析の場合は、初期値でチェックが入る設定となっている。
登録候補パターン表示部102gは、図24の左部に示す条件分岐の枝で選択された内容に対し、適合率が90%以上のスコアの項目を登録対象として識別可能に表示する。すなわち、登録候補パターン表示部102gは、選択された枝で特定される社員の集合について、同一の給与項目内において占める割合が最も大きい給与項目値を、当該最も大きい割合と併せて、図24のパターン登録画面に表示する。この際、登録候補パターン表示部102gは、前記割合が最も大きい給与項目値を、前記最も大きい割合が100%の場合は斜線のハッチングで、前記最も大きい割合が90%以上の場合はドットのハッチングで、図24のパターン登録画面に表示する。つまり、登録候補パターン表示部102gは、90%を閾値として表示をするということであるが、当該閾値は、オペレータの設定により任意に変更可能である。
具体的には、登録候補パターン表示部102gは、図24のMA4に示すように、
●「全条件集計」の枝に対しては、「給与区分=4、83%」、「給与支給日区分=2、83%」、「賞与支給日区分=1、99%」、「労働条件区分=2、83%」、「健康保険区分=0、70%」、「厚生年金区分=0、70%」、「社保徴収区分=0、100%」、「社保取得区分=1、81%」、「社保損失区分=0、100%」、「保険種別=0、62%」、「雇用保険区分=0、68%」、「労災保険区分=1、70%」および「有給付与表区分=1、52%」を表示し、これらの中でも、割合が100%である「社保徴収区分=0、100%」および「社保損失区分=0、100%」を登録の候補として斜線のハッチングで表示し、割合が90%以上である「賞与支給日区分=1、99%」を登録の候補としてドットのハッチングで表示し(なお、「社保取得区分=1、81%」のハッチングは、本処理で付されるものではなく、後述する「項目別調整」からの処理により付されるものである)、
●「社員区分=一般社員」の枝に対しては、「給与区分=2、100%」、「給与支給日区分=1、100%」、「労働条件区分=1、100%」、「健康保険区分=1、99%」、「厚生年金区分=1、99%」、「保険種別=1、86%」、「雇用保険区分=1、100%」、「労災保険区分=1、100%」および「有給付与表区分=1、95%」を表示し、これらの中でも、割合が100%である「給与区分=2、100%」、「給与支給日区分=1、100%」、「労働条件区分=1、100%」、「雇用保険区分=1、100%」および「労災保険区分=1、100%」を登録の候補として斜線のハッチングで表示し、割合が90%以上である「健康保険区分=1、99%」、「厚生年金区分=1、99%」および「有給付与表区分=1、95%」を登録の候補としてドットのハッチングで表示し、
●「性別=男」の枝に対しては、割合が90%以上である「保険種別=1、99%」を登録の候補としてドットのハッチングで表示し、
●「業務=販売登録者」の枝に対しては、割合が90%以上である「有給付与表区分=1、98%」を登録の候補としてドットのハッチングで表示する。
当該表示が意味する所を簡単に説明すると、例えば、「社員区分=一般社員」かつ「性別=男」に該当する社員の集合の場合、保険種別が1となる割合は、99%であるということである。
そして、登録候補パターン表示部102gは、図24のMA4に登録の候補としてハッチングで表示した給与項目値をそのまま図24のMA3に表示してもよいが、以下で説明するように、図24の画面右上にMA2で示す「項目別調整」のボタンからオペレータにより選択された給与項目値のみを図24のMA3に表示してもよい。
(1−3)図21の「候補から選択」について
最後に、図21の「候補から選択」について詳細に説明する。図24の画面右上にMA2で示す「項目別調整」が選択されると、登録候補パターン表示部102gは、図24のMA5に示すように、図24のMA4に表示した給与項目値に対応するチェックボックスを表示する。ここで、登録候補パターン表示部102gは、図24のMA4においてハッチングで表示した給与項目値(すなわち、割合が90%以上の給与項目値)に対応するチェックボックスには、初期値でチェックが入った状態で表示してもよい。具体的には、図24のMA5においては、登録候補パターン表示部102gは、「社保徴収区分=0、100%」および「社保喪失区分=0、100%」の2つに対応するチェックボックスを最初からチェックが入った状態で表示する。なお、図25のMA5には、実際は、前々段落においてハッチングで表示されると説明したすべての「給与項目=給与項目値、割合」に対応するチェックボックスが表示されるが、便宜上、一部のみを切り取って表示している。
そして、オペレータは、チェックが入ったチェックボックスのチェックを外すことができるし、逆に、チェックが入っていないチェックボックスにチェックを入れることもできる。つまり、オペレータは、任意の給与項目値を選択可能であるということである。図24のMA5においては、「社保取得区分=1、81%」に対応するチェックボックスには最初はチェックが入っていなかったが、オペレータにより、選択されて、チェックが入れられている。なお、登録候補パターン表示部102gは、選択されているチェックボックスに対応する給与項目値を、図24のMA5およびMA4に示すように、横線のハッチングで表示してもよい。つまり、登録候補パターン表示部102gは、適合率が閾値(本例では90%)を超えている項目や「項目別調整」から選択した項目については、ハッチングにより表示してもよいということである。
最終的に、登録候補パターン表示部102gは、チェックが入れられたチェックボックス(チェックが初期値として入っていたものおよびオペレータによりチェックが入れられたものの両方を含む)に対応する給与項目値を、最終的な登録の候補として、図24にMA3で示す「選択結果」の箇所に表示する。具体的には、登録候補パターン表示部102gは、図24にMA3で示すように、最終的な登録の候補として、「給与区分=2」、「給与支給日区分=1」、「賞与支給日区分=1」、「労働条件区分=1」、「健康保険区分=1」、「厚生年金区分=1」、「社保徴収区分=0」、「社保取得区分=1」、「社保喪失区分=0」、「保険種別=1」、「雇用保険区分=1」、「労災保険区分=1」および「有給付与表区分=1」というパターンを表示する。
そして、図25のMB1において当該パターンに対して「男性一般社員(販売登録者)」という定義名が設定されて、図25のMB2における「登録」ボタンが選択されると、パターン登録部102hは、1つのパターンを定義マスタ106bに登録する。すなわち、パターン登録部102hは、条件選択において選択された枝についての身分項目および身分項目値である「社員区分=一般社員」、「性別=男」、「職掌=入力なし」および「業務=販売登録者」、ならびに、登録候補パターン表示部102gが最終的な登録の候補として表示した給与項目および給与項目値である「給与区分=2」、「給与支給日区分=1」、「賞与支給日区分=1」、「労働条件区分=1」、「健康保険区分=1」、「厚生年金区分=1」、「社保徴収区分=0」、「社保取得区分=1」、「社保喪失区分=0」、「保険種別=1」、「雇用保険区分=1」、「労災保険区分=1」および「有給付与表区分=1」から構成されるパターン(以下、「パターン1」という。)を、「定義番号:100、定義名:男性一般社員(販売登録者)」と定義して、定義マスタ106bに登録する。
なお、図26の画面(社員情報を登録する画面と同様の構成である)において、当該登録したパターンの確認および編集を行うことができる。具体的には、図26にMC1で示す箇所において、同時に更新する値を編集可能である。
以上(1)で説明してきたように、本実施形態に係る情報処理装置100によれば、図24のMA4に斜線とドットのハッチングで示したように、登録の候補となる給与項目値のパターンを割合と併せて表示することができるため、オペレータは、当該表示を参照しつつ、給与項目値のパターンを容易かつ正確に登録することができる。更に、当該表示されたパターンはそのまま図24のMA3に表示されてもよいが、本実施形態に係る情報処理装置100においては、図24にMA2で示す「項目別調整」のボタンを選択することで、項目単位(給与項目値単位)での細かい手動調整(=チェックを外すまたはチェックを入れる)をした上で、最終的な登録の候補となる給与項目値のパターンを図24のMA3に表示することもできるので、給与項目値のパターンをオペレータの意思に応じて柔軟に調整した上で登録することもできる。
(2)定義マスタ106bの内容を登録した後に行う社員情報の登録処理
まず、図22に示すように、事前に設定している社員の登録パターンが選択される。具体的には、図27の社員情報登録・変更画面に示すようにMD1のボタンが選択されると、図27の別画面(「登録定義・候補一覧」の画面)に、定義マスタ106bに登録されている複数の定義が呼び出されて表示される。本例では、図27にMD2で示すように「定義番号:100、定義名:男性一般社員(販売登録者)」の定義が指定されて、図27にMD3で示す「実行」ボタンが押下されるものとする。なお、図27の社員情報登録・変更画面においては、MD1のすぐ左に示す空欄に定義番号が直接入力されることにより、定義が指定されてもよい。つまり、定義の指定は、社員情報登録・変更画面とは別画面に表示された複数の定義からの選択によるものであってもよいし、社員情報登録・変更画面への直接入力によるものであってもよい。
続いて、図22に示すように、パターンの内容が初期値として社員情報登録・変更画面に表示される。具体的には、登録候補項目表示部102iは、定義マスタ106bから、前記指定された定義「定義番号:100、定義名:男性一般社員(販売登録者)」と紐付くパターンとして、前記パターン1(身分項目および身分項目値ならびに給与項目および給与項目値から構成される。詳細は、(1−3)を参照。)についての前記項目および前記値を取得する。そして、登録候補項目表示部102iは、図28のME2に示すように、当該取得した身分項目「社員区分」についての当該取得した身分項目値「2(正社員)」、当該取得した給与項目「給与区分」についての当該取得した給与項目値「2」、当該取得した給与項目「給与支給日区分」についての当該取得した給与項目値「1」および当該取得した給与項目「賞与支給日区分」についての当該取得した給与項目値「1」を、新規登録の候補として社員情報登録・変更画面に表示する。言い換えると、図28のME2には、パターンの内容通りの項目が自動で設定される。なお、図28にME1で示す箇所は、個人で入力が必要な部分であるために、社員ごとに異なった情報が入力される。
最後に、図22に示すように、社員情報登録・変更画面に表示された内容が、社員情報として社員データ106a1に登録される。具体的には、図28にME3で示す「登録」ボタンが押下されると、図28の社員情報登録・変更画面に表示されている社員の情報である「氏名、氏名カナ、性別:男、生年月日、入社年月日、社員区分:2(正社員)、給与区分:2、給与支給日区分:1、および賞与支給日区分:1」が、社員データ106a1に登録される。
以上(2)で説明してきたように、本実施形態に係る情報処理装置100によれば、オペレータが社員情報登録・変更画面において定義を指定するのみで、図28のME2に示すように、社員情報(身分項目値および給与項目値)の登録の候補を表示することができるため、オペレータは、社員情報を1から入力する必要がなくなり、結果として、容易かつ正確な社員情報の登録が可能となる。
[3−3.社員情報の変更処理]
最後に、社員情報の変更処理を、図21および図33〜図39を用いて詳細に説明する。
本項目では、(1)まず、定義マスタ106bの内容を登録するまでの処理を、図21をベースとして図34〜図36を参照しつつ説明し、(2)次に、定義マスタ106bの内容を登録した後に行う社員情報の変更処理を、図33をベースとして図37〜図39を参照しつつ説明する。
(1)定義マスタ106bの内容を登録するまでの処理
定義マスタ106bの内容を登録するまでの処理内容は、[3−2]の(1)と同様であるため、詳細な説明を省略し、異なる点のみ簡潔に説明する。
図34に示すパターン登録画面においては、左部に示す条件分岐の枝のうち、「社員区分=アルバイト」、「職掌=入力なし」、「性別=女」および「業務=販売登録者」の4つの枝にチェックが付されて選択されている。
登録候補パターン表示部102gは、図34のMF4に示すように、
●「社員区分=アルバイト」の枝に対しては、「給与区分=4、100%」、「給与支給日区分=2、100%」、「労働条件区分=4、100%」、「健康保険区分=0、80%」、「厚生年金区分=0、80%」、「保険種別=0、68%」、「雇用保険区分=1、78%」および「労災保険区分=1、80%」を表示し、これらの中でも、割合が100%である「給与区分=4、100%」、「給与支給日区分=2、100%」および「労働条件区分=4、100%」を登録の候補として斜線のハッチングで表示し、
●「性別=女」の枝に対しては、「保険種別=2、53%」を表示し、
●「業務=販売登録者」の枝に対しては、「保険種別=2、94%」、「雇用保険区分=1、100%」、「労災保険区分=1、100%」および「有給付与表区分=7、82%」を表示し、これらの中でも、割合が100%である「雇用保険区分=1、100%」および「労災保険区分=1、100%」を登録の候補として斜線のハッチングで表示し、割合が90%以上である「保険種別=2、94%」を登録の候補としてドットのハッチングで表示する。
そして、登録候補パターン表示部102gは、図34のMF4に登録の候補としてハッチングで表示した給与項目値をそのまま図34のMF3に表示してもよいが、以下で説明するように、図34の画面右上にMF2で示す「項目別調整」のボタンからオペレータにより選択された給与項目値のみを図34のMF3に表示してもよい。
最終的に、登録候補パターン表示部102gが図34のMF3に表示したパターンに対して、図35のMG1に示すように「女性アルバイト社員(販売登録者)」という定義名が設定されて、図35のMG2における「登録」ボタンが選択されると、パターン登録部102hは、1つのパターンを定義マスタ106bに登録する。すなわち、パターン登録部102hは、条件選択において選択された枝についての身分項目および身分項目値である「社員区分=10(アルバイト)」、「職掌=入力なし」、「性別=女」および「業務=販売登録者」、ならびに、登録候補パターン表示部102gが最終的な登録の候補として表示した給与項目および給与項目値である「給与区分=4」、「給与支給日区分=2」、「労働条件区分=4」、「保険種別=2」、「雇用保険区分=1」および「労災保険区分=1」から構成されるパターン(以下、「パターン2」という。)を、「定義番号:700、定義名:女性アルバイト社員(販売登録者)」と定義して、定義マスタ106bに登録する。
なお、図36の定義情報登録・変更画面において、当該登録したパターンの確認および編集を行うことができる。具体的には、図36にMH1で示す箇所において、同時に更新する値を編集可能である。
(2)定義マスタ106bの内容を登録した後に行う社員情報の変更処理
まず、図33に示すように、社員データ106a1を参照して、社員情報が表示される。具体的には、図37の社員情報登録・変更画面において社員コードとして「1000000001」が指定されると、社員データ106a1から社員コード「1000000001」の社員情報が自動取得されて、図37に示すように表示される。
続いて、図33に示すように、社員区分が手動で変更される。具体的には、図37のMI1に示すように、社員区分が「4(正社員)」から「10(アルバイト)」に変更される。
当該変更が行われると、図33に示すように、定義マスタ106bを参照して同時変更候補項目がないか確認され、画面に同時変更のパターンが表示される。具体的には、前段落で説明した社員区分「4」から「10」への変更が行われると、パターン定義表示部102jは、定義マスタ106bから、変更の対象となった身分項目「社員区分」および変更後の身分項目値「10」と紐付く定義名として、「女性アルバイト社員(販売登録者)」および「嘱託社員(資格未取得者)」を取得する。そして、パターン定義表示部102jは、図38の上画面に示すように、当該取得した定義名「女性アルバイト社員(販売登録者)」を、これと紐付く身分項目および身分項目値(社員区分:10、職掌:−1、性別:2、業務:70)と併せて表示し、また、当該取得した定義名「嘱託社員(資格未取得者)を、これと紐付く身分項目および身分項目値(社員区分:10、給与区分:1、勤務地:−1、資格:NOT70、職種:10)と併せて表示する。このように、パターン定義表示部102jは、図38の上画面の「条件項目」の列に、変更項目が含まれる定義を表示するが、分析結果の適合率に従い、表示順を変更することも可能である。
なお、図38の上画面にMJ2で示す「確認」が選択されると、図38の下部に示す定義情報登録・変更画面(定義を登録した際の画面)において社員情報を確認できる。
最後に、図33に戻り、特定のパターンが選択されることで、当該選択されたパターンに該当する複数項目を同時に自動で変更し、社員データ106a1の内容を更新することが可能である。具体的には、図38の上画面にMJ3で示す「実行」が選択されることにより、定義名「女性アルバイト社員(販売登録者)」が指定されると、変更候補項目表示部102kは、定義マスタ106bから、当該指定された定義名「女性アルバイト社員(販売登録者)」と紐付くパターンとして、前記パターン2(身分項目および身分項目値ならびに給与項目および給与項目値から構成される。詳細は、(1)を参照。)についての前記項目および前記値を取得する。そして、変更候補項目表示部102kは、図39のMK1に示すように、当該取得した給与項目「給与区分」についての当該取得した給与項目値「4」および当該取得した給与項目「給与支給日区分」についての当該取得した給与項目値「2」を、変更の候補として社員情報登録・変更画面に表示する。言い換えると、変更候補項目表示部102kは、定義のセット項目(=図39にMK2で示す)を自動で変更するのみならず、今回変更した条件項目以外の残りの項目(図39にMK3で示す)も変更する必要があるはずなので、補完して自動で変更することができる。そして、当該変更した社員情報を社員データ106a1に登録すれば、社員コード「1000000001」の社員の社員情報を、正社員用のものからアルバイト用のものへと更新することができる。
以上(2)で説明してきたように、本実施形態に係る情報処理装置100によれば、オペレータが社員情報登録・変更画面において社員区分を「4(正社員)」から「10(アルバイト)」に変更するのみで、図39のMK1に示すように、給与区分を「1」から「4」に自動変更し、給与支給日区分を「1」から「2」に自動変更して、変更の候補を表示することができた。すなわち、本実施形態に係る情報処理装置100によれば、社員情報を変更する際に、オペレータは、ある1つの項目のみを変更すればよく他の項目(通常は膨大な項目数がある)を変更する必要がない。結果として、容易かつ正確な社員情報の変更が可能となる。
(3)社員情報の変更のその他の活用例
以上、(1)および(2)において、社員の情報を変更するシーンとして「身分変更」を例にとって説明をしたが、本実施形態に係る社員情報の変更は、例えば、以下のようなシーンにおいても活用可能である。
一つ目の例としては、「所属の異動」が挙げられる。所属部署の変更により、社員の取り扱いが変わる場合があるため、同時に変更すべき項目があると想定されるためである。
二つ目の例としては、「勤務地の変更」が挙げられる。勤務する場所により特有の手当(寒冷地手当)などが存在するため、同時に変更すべき項目があると想定されるためである。
三つ目の例としては、「育児休業・産前産後休業などの休業」が挙げられる。手当が発生しなくなる、または、特別な手当が発生するというような特別な取り扱いが会社の独特なルールとして存在するため、同時に変更すべき項目があると想定されるためである。また、社会保険の免状により、システムで管理している複数の項目を変更する必要があるためである。
[4.本実施形態のまとめ]
[4−1.決定木のまとめ]
このように、本実施形態に係る情報処理装置100によれば、[1−1]および[3−1]で説明したように、分析対象となるデータが複数の目的変数を含む場合においても1つの分析結果としてまとめて出力可能な態様でデータ分析できる。
ここで、項目のルールを分析するアルゴリズムとしては、決定木アルゴリズムが知られているが、既存の決定木アルゴリズムでは、複数の目的変数を扱うことができなかったため、本実施形態においては、この点を改良し、複数の目的変数を扱えるようにした。また、本実施形態においては、例えば、どの項目(どの説明変数)の値がどの項目(どの目的変数)の値の決定に影響を与えているかをスコア化することで、利用者にとって意味が解釈しやすい表示を可能とした。本実施形態に係る決定木アルゴリズムは、例えば、以下のような場面において利用可能である。
例えば、業務データの登録時に、ある項目を変更したら他の項目も併せて変える必要があることがある。本実施形態においては、この項目間のルールを既存のデータから導き出せるようにした。具体的には、既存の決定木アルゴリズムを改良することで、項目間(前記ある項目と前記他の項目の間)のルールをシンプルに提示することを実現した。また、例えば、個社ごとに運用ルールが様々であるまたは明確ではない場合、システムでの事前設定が難しいことがある。本実施形態においては、既存のデータを用いてルールを導出することで、以降の入力時のサポートやチェックに使用することができ、結果として、入力ミスの軽減や入力効率の向上に繋がる。
[4−2.社員情報の登録および変更のまとめ]
このように、本実施形態に係る情報処理装置100によれば、[1−2]、[3−2]および[3−3]で説明したように、身分項目値(例えば、社員区分は正社員かアルバイトか、性別は男か女か等)をオペレータが選択するのみで、当該選択された身分項目値に対して登録するべき給与項目値(例えば、給与区分は何か、保険種別は何か、雇用保険区分は何か等)のパターンの候補を画面上に表示することにより、前記パターンの登録の業務を支援できる。
ここで、給与を計算する際に設定(すなわち新規登録)すべき社員の情報には、膨大な項目数がある。また、項目を1つ変更する際には、給与規定により、同時に変更すべき項目が多数存在することが多い。しかしながら、給与規定は会社ごとに異なることが多いため、従来においては、システム上で項目の新規登録および変更を行うことはできなかった。このため、手作業により、項目の新規登録および変更を行う必要があり、登録漏れ、登録ミス、変更漏れおよび変更ミス等が度々発生していた。
そこで、本実施形態においては、例えば、システムに登録された大量の社員データを例えばAI分析することで、社員情報の値の登録および変更時に、登録すべき項目および変更すべき項目を提案できるようにした。このように、自社の給与規定に沿った登録および変更の内容をシステムが提案することにより、例えば、登録漏れ、登録ミス、変更漏れおよび変更ミス等を未然に防ぎ、給与の誤支給を防止することができる。更に、例えば、登録作業および変更作業を容易にすることもできる。
[5.他の実施形態]
本発明は、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
例えば、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
また、本明細書中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
また、情報処理装置100に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
例えば、情報処理装置100が備える処理機能、特に制御部にて行われる各処理機能については、その全部または任意の一部を、CPUおよび当該CPUにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、本実施形態で説明した処理を情報処理装置に実行させるためのプログラム化された命令を含む一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じて情報処理装置100に機械的に読み取られる。すなわち、ROMまたはHDD(Hard Disk Drive)などの記憶部などには、OSと協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、CPUと協働して制御部を構成する。
また、このコンピュータプログラムは、情報処理装置100に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
また、本実施形態で説明した処理を実行するためのプログラムを、一時的でないコンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード、フレキシブルディスク、光磁気ディスク、ROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable and Programmable Read Only Memory)、CD−ROM(Compact Disk Read Only Memory)、MO(Magneto−Optical disk)、DVD(Digital Versatile Disk)、および、Blu−ray(登録商標) Disc等の任意の「可搬用の物理媒体」を含むものとする。
また、「プログラム」とは、任意の言語または記述方法にて記述されたデータ処理方法であり、ソースコードまたはバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施形態に示した各装置において記録媒体を読み取るための具体的な構成および読み取り手順ならびに読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
記憶部に格納される各種のデータベース等は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
また、情報処理装置100は、既知のパーソナルコンピュータまたはワークステーション等の情報処理装置として構成してもよく、また、任意の周辺装置が接続された当該情報処理装置として構成してもよい。また、情報処理装置100は、当該装置に本実施形態で説明した処理を実現させるソフトウェア(プログラムまたはデータ等を含む)を実装することにより実現してもよい。
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じてまたは機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。