(57)【要約】      （修正有）【課題】従業員の出勤簿データにおける特徴パターンの学習の際に、学習精度の劣化を抑制する機械学習プログラム、機械学習方法及び機械学習装置を提供する。【解決手段】学習装置１００は、記憶部１０２において、社員等の出勤に関する出勤簿データを記憶する出勤簿データＤＢ１０３と、制御部１１０において、出勤簿データから、従業員それぞれの個別休日及び複数の従業員に共通に設定される共通休日に対応するレコードを除外した除外データを生成する除外部１１１と、除外データから、カレンダー情報及び複数の項目それぞれを別次元としてテンソル化した、テンソルデータを生成するテンソル生成部１１２と、テンソルデータをテンソル分解してニューラルネットワークに入力する学習モデルに対し、ニューラルネットワークの深層学習及びテンソル分解の方法の学習を行う学習部１１３と、を備える。【選択図】図５
2019191778.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数の従業員に関する、各レコードがカレンダーにおける期間に対応するとともに複数の項目を有する複数のレコードより構成される出勤簿データの入力を受け付け、
前記出勤簿データから、前記複数の従業員それぞれが個別に設定する個別休日に対応するレコード、および、前記複数の従業員それぞれに共通に設定される共通休日に対応するレコードを除外した除外データを生成し、
前記除外データから、カレンダー情報、および、前記複数の項目それぞれを別次元としてテンソル化した、テンソルデータを生成し、
前記テンソルデータを入力テンソルデータとしてテンソル分解してニューラルネットワークに入力する学習モデルに対し、前記ニューラルネットワークの深層学習および前記テンソル分解の方法の学習を行う、
処理を実行させる機械学習プログラム。
【請求項２】
請求項１に記載の機械学習プログラムであって、前記コンピュータに、
前記出勤簿データに含まれる前記個別休日および前記共通休日のうち、該当する従業員が出勤していない休日を除外した前記除外データを生成する処理を実行させる機械学習プログラム。
【請求項３】
請求項１に記載の機械学習プログラムであって、前記コンピュータに、
前記テンソルデータの生成時に、除外した休日部分に空の要素を付加したテンソルデータを生成し、前記複数の従業員それぞれの出勤簿データから生成される各テンソルデータのサイズを揃えて、前記ニューラルネットワークの深層学習および前記テンソル分解の方法の学習を行う処理を実行させる機械学習プログラム。
【請求項４】
請求項３に記載の機械学習プログラムであって、前記コンピュータに、
前記テンソル分解時に、前記空の要素に該当するテンソル部分の重みを０にして、前記テンソルデータからコアテンソルを生成する際の対象から除外する処理を実行させる機械学習プログラム。
【請求項５】
コンピュータが、
複数の従業員に関する、各レコードがカレンダーにおける期間に対応するとともに複数の項目を有する複数のレコードより構成される出勤簿データの入力を受け付け、
前記出勤簿データから、前記複数の従業員それぞれが個別に設定する個別休日に対応するレコード、および、前記複数の従業員それぞれに共通に設定される共通休日に対応するレコードを除外した除外データを生成し、
前記除外データから、カレンダー情報、および、前記複数の項目それぞれを別次元としてテンソル化した、テンソルデータを生成し、
前記テンソルデータを入力テンソルデータとしてテンソル分解してニューラルネットワークに入力する学習モデルに対し、前記ニューラルネットワークの深層学習および前記テンソル分解の方法の学習を行う、
処理をする機械学習方法。
【請求項６】
コンピュータが、
複数の従業員に関する、各レコードがカレンダーにおける期間に対応するとともに複数の項目を有する複数のレコードより構成される出勤簿データの入力を受け付ける受付部と、
前記出勤簿データから、前記複数の従業員それぞれが個別に設定する個別休日に対応するレコード、および、前記複数の従業員それぞれに共通に設定される共通休日に対応するレコードを除外した除外データを生成する第１生成部と、
前記除外データから、カレンダー情報、および、前記複数の項目それぞれを別次元としてテンソル化した、テンソルデータを生成する第２生成部と、
前記テンソルデータを入力テンソルデータとしてテンソル分解してニューラルネットワークに入力する学習モデルに対し、前記ニューラルネットワークの深層学習および前記テンソル分解の方法の学習を行う学習部と
を有する機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習プログラム、機械学習方法および機械学習装置に関する。
【背景技術】
【０００２】
従業員の出勤簿データから、数か月先のメンタル不調を予測し、カウンセリング等の対応を早期に実施することで、休職（療養）を回避することが行われている。一般的には、専任スタッフが、頻繁な出張、長時間残業、連続する急な欠勤、無断欠勤、これらの組合せなどの特徴的な特徴パターンの勤務状態に該当する従業員を目視で探している。このような特徴パターンは、各専任スタッフにより基準が異なることもあり、明確に定義することが難しい。近年では、決定木、ランダムフォレスト、ＳＶＭ（Support  Vector  Machine）などを用いた機械学習によって、メンタル不調を特徴づける特徴パターンを学習し、専任スタッフが行っている判断を機械的に予測することが行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１７／０７３３７３号
【特許文献２】特開２０１０−１９８１８９号公報
【特許文献３】特開２０１６−１５１９７９号公報
【特許文献４】特開２００５−３３２３４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術では、間違った特徴パターンの学習が進んでしまい、学習精度が劣化する場合がある。例えば、土日祝日、会社が支給する夏季休暇やリフレッシュ休暇などの休日に出勤せずに休んだ日が、多くの人に共通な特徴パターンと認識されてしなって間違った学習が進み、体調不良への影響が大きい真の特徴パターンが見逃されて真の学習が進まない可能性がある。
【０００５】
一つの側面では、学習精度の劣化を抑制することができる機械学習プログラム、機械学習方法および機械学習装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
第１の案では、機械学習プログラムは、コンピュータに、複数の従業員に関する、各レコードがカレンダーにおける期間に対応するとともに複数の項目を有する複数のレコードより構成される出勤簿データの入力を受け付ける処理を実行させる。機械学習プログラムは、コンピュータに、前記出勤簿データから、前記複数の従業員それぞれが個別に設定する個別休日に対応するレコード、および、前記複数の従業員それぞれに共通に設定される共通休日に対応するレコードを除外した除外データを生成する処理を実行させる。機械学習プログラムは、コンピュータに、前記除外データから、カレンダー情報、および、前記複数の項目それぞれを別次元としてテンソル化した、テンソルデータを生成する処理を実行させる。機械学習プログラムは、コンピュータに、前記テンソルデータを入力テンソルデータとしてテンソル分解し、深層学習する際に、ニューラルネットワークに入力し、前記ニューラルネットワークの深層学習を行うとともに、前記テンソル分解の方法を学習する処理を実行させる。
【発明の効果】
【０００７】
一実施形態によれば、学習精度の劣化を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例１にかかる機械学習の全体例を説明する図である。
【図２】図２は、グラフ構造とテンソルとの関係の一例を示す図である。
【図３】図３は、部分グラフ構造の抽出の一例を示す図である。
【図４】図４は、ディープテンソルの学習例を説明する図である。
【図５】図５は、実施例１にかかる学習装置の機能構成を示す機能ブロック図である。
【図６】図６は、出勤簿データＤＢに記憶される出勤簿データの例を示す図である。
【図７】図７は、ラベル設定例を説明する図である。
【図８】図８は、テンソル化の具体例を説明する図である。
【図９】図９は、該当休日をテンソルの要素から除外した場合のテンソル表現を説明する図である。
【図１０】図１０は、除外した該当休日部分のテンソル表現を説明する図である。
【図１１】図１１は、実施例１におけるコアテンソルの生成例を説明する図である。
【図１２】図１２は、一般的な機械学習による問題点を説明する図である。
【図１３】図１３は、学習処理の流れを示すフローチャートである。
【図１４】図１４は、予測手法の別例を説明する図である。
【図１５】図１５は、ハードウェア構成例を説明する図である。
【発明を実施するための形態】
【０００９】
以下に、本願の開示する機械学習プログラム、機械学習方法および機械学習装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例１】
【００１０】
［全体例］
図１は、実施例１にかかる機械学習の全体例を説明する図である。図１に示すように、実施例１にかかる学習装置１００は、機械学習装置の一例であり、社員の日々の出勤、退勤時間、休暇取得、出張などの状況を含む出勤簿データを機械学習して学習モデルを生成し、学習後の学習モデルを用いて、予測対象のある社員の出勤簿データから、当該社員が療養するか療養しないかを予測するコンピュータ装置の一例である。なお、ここでは、学習装置１００が学習と予測とを実行する例で説明するが、別々の装置に実行することもできる。
【００１１】
具体的には、学習装置１００は、療養（休職）したことがある体調不良者の出勤簿データ（ラベル＝療養あり）と、療養（休職）したことがない通常者の出勤簿データ（ラベル＝療養なし）とを教師有データとして、グラフ構造のデータを深層学習（ディープラーニング・Deep  Learning；DL）するディープテンソルによって学習モデルを生成する。その後、学習結果を適用した学習モデルを用いて、新規なグラフ構造のデータに対して正確な事象（ラベル）の推定を実現する。
【００１２】
例えば、学習装置１００は、複数の従業員に関する、各レコードがカレンダーにおける期間に対応するとともに複数の項目を有する複数のレコードより構成される出勤簿データを取得する。そして、学習装置１００は、出勤簿データから、複数の従業員それぞれが個別に設定した個別休日に対応するレコード、および、土日祝日などのように複数の従業員それぞれに共通に設定される共通休日を含む指定休日のうち出勤していない休日に対応するレコードを除外し、カレンダー情報、および、複数の項目を別次元としてテンソル化した、テンソルデータを生成する。その後、学習装置１００は、テンソルデータを入力としてテンソル分解してニューラルネットワークに入力する学習モデルに対し、ニューラルネットワークの深層学習およびテンソル分解の方法の学習を行う。このようにして、学習装置１００は、出勤簿データから複数の学習データを生成し、各学習データのテンソルデータから、「療養する」か「療養しない」かを分類する学習モデルを生成する。
【００１３】
その後、学習装置１００は、判別対象の従業員の出勤簿データについても同様に、指定休日のうち出勤していない休日を除外した後に、テンソル化してテンソルデータを生成し、学習済みの学習モデルに入力する。そして、学習装置１００は、当該従業員が「療養する」か「療養しない」かの予測結果を示す出力値を出力する。
【００１４】
すなわち、学習装置１００は、休日を休んでいる日の特徴を学習データおよび予測データから除外する。ここで、休日とは、例えば土日祝日などのように各従業員に共通に設定される共通休日と、夏季休暇やリフレッシュ休暇などのように個人により所得日が異なる個別休日と、会社が支給した休暇などを含む。また、休日に出勤した場合は学習データおよび予測データから除外せずに残す。このようにすることで、学習装置１００は、出勤した日の特徴に絞り込むことでノイズを除外して、学習精度の向上を図る。
【００１５】
ここで、ディープテンソルについて説明する。ディープテンソルとは、テンソル（グラフ情報）を入力とするディープラーニングであり、ニューラルネットワークの学習とともに、判別に寄与する部分グラフ構造を自動的に抽出する。この抽出処理は、ニューラルネットワークの学習とともに、入力テンソルデータのテンソル分解のパラメータを学習することによって実現される。
【００１６】
次に、図２および図３を用いてグラフ構造について説明する。図２は、グラフ構造とテンソルとの関係の一例を示す図である。図２に示すグラフ２０は、４つのノードがノード間の関係性（例えば「相関係数が所定値以上」）を示すエッジで結ばれている。なお、エッジで結ばれていないノード間は、当該関係性がないことを示す。グラフ２０を２階のテンソル、つまり行列で表す場合、例えば、ノードの左側の番号に基づく行列表現は「行列Ａ」で表され、ノードの右側の番号（囲み線で囲んだ数字）に基づく行列表現は「行列Ｂ」で表される。これらの行列の各成分は、ノード間が結ばれている（接続している）場合「１」で表され、ノード間が結ばれていない（接続していない）場合「０」で表される。以下の説明では、この様な行列を隣接行列ともいう。ここで、「行列Ｂ」は、「行列Ａ」の２，３行目および２，３列目を同時に置換することで生成できる。ディープテンソルでは、この様な置換処理を用いることで順序の違いを無視して処理を行う。すなわち、「行列Ａ」および「行列Ｂ」は、ディープテンソルでは順序性が無視され、同じグラフとして扱われる。なお、３階以上のテンソルについても同様の処理となる。
【００１７】
図３は、部分グラフ構造の抽出の一例を示す図である。図３に示すグラフ２１は、６つのノードがエッジで結ばれたものである。グラフ２１は、行列（テンソル）で表すと行列２２に示すように表現できる。行列２２に対して、特定の行および列を入れ替える演算、特定の行および列を抽出する演算、ならびに、隣接行列における非ゼロ要素をゼロに置換する演算を組み合わせることで、部分グラフ構造を抽出できる。例えば、行列２２の「ノード１，４，５」に対応する行列を抽出すると、行列２３となる。次に、行列２３の「ノード４，５」間の値をゼロに置換すると、行列２４となる。行列２４に対応する部分グラフ構造は、グラフ２５となる。
【００１８】
このような部分グラフ構造の抽出処理は、テンソル分解と呼ばれる数学的演算によって実現される。テンソル分解とは、入力されたｎ階テンソルをｎ階以下のテンソルの積で近似する演算である。例えば、入力されたｎ階テンソルを１つのｎ階テンソル（コアテンソルと呼ばれる。）、および、より低階のｎ個のテンソル（ｎ＞２の場合、通常は２階のテンソル、つまり行列が用いられる。）の積で近似する。この分解は一意ではなく、入力データが表すグラフ構造中の任意の部分グラフ構造をコアテンソルに含める事ができる。
【００１９】
続いて、ディープテンソルの学習について説明する。図４は、ディープテンソルの学習例を説明する図である。図４に示すように、学習装置１００は、「療養あり」などの教師ラベル（ラベルＡ）が付された出勤簿データからテンソルデータを生成する。そして、学習装置１００は、生成したテンソルデータを入力テンソルとしてテンソル分解を行って、初回にランダムに生成されたターゲットコアテンソルに類似するようにコアテンソルを生成する。そして、学習装置１００は、コアテンソルをニューラルネットワーク（ＮＮ：Neural  Network）に入力して分類結果（ラベルＡ：７０％、ラベルＢ：３０％）を得る。その後、学習装置１００は、分類結果（ラベルＡ：７０％、ラベルＢ：３０％）と教師ラベル（ラベルＡ：１００％、ラベルＢ：０％）との分類誤差を算出する。
【００２０】
ここで、学習装置１００は、誤差逆伝搬法を拡張した拡張誤差伝搬法を用いて予測モデルの学習を実行する。すなわち、学習装置１００は、ＮＮが有する入力層、中間層、出力層に対して、分類誤差を下層に伝搬させる形で、分類誤差を小さくするようにＮＮの各種パラメータを修正する。さらに、学習装置１００は、分類誤差をターゲットコアテンソルまで伝搬させ、予測に寄与するグラフの部分構造、すなわち休職者の特徴を示す特徴パターンもしくは通常者の特徴を示す特徴パターンに近づくように、ターゲットコアテンソルを修正する。このようにすることで、最適化されたターゲットコアテンソルには予測に寄与する部分パターンが抽出されるようになる。
【００２１】
なお、予測時には、テンソル分解により、入力テンソルをコアテンソル（入力テンソルの部分パターン）に変換し、コアテンソルをニューラルネットに入力することで、予測結果を得ることができる。テンソル分解では、コアテンソルがターゲットコアテンソルに類似するように変換される。つまり、予測に寄与する部分パターンを持つコアテンソルが抽出される。
【００２２】
［機能構成］
図５は、実施例１にかかる学習装置１００の機能構成を示す機能ブロック図である。図５に示すように、学習装置１００は、通信部１０１、記憶部１０２、制御部１１０を有する。
【００２３】
通信部１０１は、他の装置との通信を制御する処理部であり、例えば通信インタフェースである。例えば、通信部１０１は、管理者の端末から、処理開始指示、出勤簿データなどを受信する。また、通信部１１は、管理者の端末に対して、学習結果や予測対象のデータの予測結果などを出力する。
【００２４】
記憶部１０２は、プログラムやデータを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部１０２は、出勤簿データＤＢ１０３、テンソルＤＢ１０４、学習結果ＤＢ１０５、予測対象ＤＢ１０６を記憶する。
【００２５】
出勤簿データＤＢ１０３は、ユーザ等により入力された、社員等の出勤に関する出勤簿データを記憶するデータベースである。ここで記憶される出勤簿データは、複数の従業員に関する、各レコードがカレンダーにおける期間に対応するとともに複数の項目を有する複数のレコードより構成される出勤簿データである。また、出勤簿データは、各企業で使用される出勤簿をデータ化したものであり、公知の様々な出勤管理システムなどから取得することができる。図６は、出勤簿データＤＢ１０３に記憶される出勤簿データの例を示す図である。図６に示すように、出勤簿データは、各月（月度）の日単位のレコードより構成され、各レコードは出勤情報として、「出欠区分、出張有無、出勤時刻、退勤時刻」などの各項目の値を対応付けて記憶する。図６の例では、「９月１日は、出張ではなく、９時に出勤し２１時に退勤した」ことを示す。
【００２６】
なお、出欠区分の項目では、例えば出社、療養（休職）、積立休暇、有給休暇、リフレッシュ休暇などの値が設定される。出張有無の項目には、出張の有無の値が設定され、出張ありまたは出張なしのいずれかに対応した値が格納される。なお、これらの値は、番号等により区別することができる。例えば、出社＝０、療養＝１、積立休暇＝２、有給休暇＝３などのように区別することができる。なお、出勤簿データのレコードの単位は、日単位とは限らず、週単位や月単位であってもよい。また、休暇が時間単位で取ることができる場合に対応して、時間休暇＝４、という値を設けてもよい
【００２７】
ここで記憶される出勤簿データは、学習データであり、教師ラベルが付加されている。図７は、ラベル設定例を説明する図である。図７の（ａ）は、ラベルとして「療養あり」が付加されている、休職した体調不良者の出勤簿データである。図７の（ｂ）は、ラベルとして「療養なし」が付加されている、休職しなかった通常者の出勤簿データである。例えば、６か月の出勤簿データを１つの訓練データとしテンソル化し、その後の３か月以内に療養した療養期間がある場合に、ラベルとして「療養あり」を設定し、その後の３か月以内に療養期間がない場合に、ラベルとして「療養なし」を設定することができる。
【００２８】
テンソルＤＢ１０４は、各従業員の出勤簿データから生成された各テンソル（テンソルデータ）を記憶するデータベースである。このテンソルＤＢ１０４は、各テンソルとラベルとを対応付けた訓練データを記憶する。例えば、テンソルＤＢ１０４は、「テンソルデータ、ラベル」として「テンソルデータ１、ラベル（療養あり）」や「テンソルデータ２、ラベル（療養なし）」などを記憶する。
【００２９】
なお、上述の学習データにおけるレコードの項目やテンソルデータのラベルの設定は一例であり、「療養あり」と「療養なし」の値およびラベルに限らず、「休職者」と「通常者」、「休職あり」と「休職なし」などのように、体調不良者の有無を区別できる様々な値およびラベルを用いることもできる。
【００３０】
学習結果ＤＢ１０５は、学習結果を記憶するデータベースである。例えば、学習結果ＤＢ１０５は、制御部１１０による学習データの判別結果（分類結果）、機械学習やディープラーニングによって学習された、ＮＮの各種パラメータやディープテンソルの各種パラメータなどを記憶する。
【００３１】
予測対象ＤＢ１０６は、学習された予測モデルを用いて、療養（休職）の有無を予測する対象の出勤簿データを記憶するデータベースである。例えば、予測対象ＤＢ１０６は、予測対象の出勤簿データ、または、予測対象の出勤簿データから生成されたテンソルデータなどを記憶する。
【００３２】
制御部１１０は、学習装置１００全体の処理を司る処理部であり、例えばプロセッサなどである。この制御部１１０は、除外部１１１、テンソル生成部１１２、学習部１１３、予測部１１４を有する。なお、除外部１１１、テンソル生成部１１２、学習部１１３、予測部１１４は、プロセッサなどが有する電子回路やプロセッサなどが実行するプロセスの一例である。
【００３３】
除外部１１１は、出勤簿データから、複数の従業員それぞれが個別に設定する個別休日に対応するレコード、および、複数の従業員それぞれに共通に設定される共通休日に対応するレコードを除外した除外データを生成する処理部である。すなわち、除外部１１１は、学習対象のデータである各出勤簿データから、土日祝日などの共通休日、会社が支給して従業員が個別に設定する夏季休暇やリフレッシュ休暇などの個別休日、会社が休日と指定する休日などを含む指定休日のうち、出勤しなかった指定休日（該当休日）を除外する。具体的には、除外部１１１は、出勤簿データＤＢ１０３に記憶される各出勤簿データを読み出し、各出勤簿データについて、出勤しなかった指定休日（該当休日）を除外して、テンソル生成部１１２に出力する。
【００３４】
例えば、除外部１１１は、出勤簿データの出欠区分を参照し、土日祝日などの指定休日を特定する。続いて、除外部１１１は、特定した各指定休日について、出欠区分が「出勤」に該当しない指定休日を特定する。そして、除外部１１１は、特定した指定休日を該当休日として出勤簿データから除外（削除）し、除外後の出勤簿データをテンソル生成部１１２に出力する。
【００３５】
テンソル生成部１１２は、除外部１１１から入力された、出勤していない指定休日（該当休日）が除外された各出勤簿データをテンソル化したテンソルデータを生成する処理部である。テンソル生成部１１２は、各出勤簿データに含まれるカレンダー情報、および、各項目「月度、日付、出欠区分、出張有無、出勤時刻、退勤時刻」のそれぞれを次元としてテンソル化する。そして、テンソル生成部１１２は、ユーザ等から指定されたラベル（療養ありもしくは療養なし）、または、出勤簿データの出欠区分から特定したラベル（療養ありもしくは療養なし）を、テンソル化されたテンソル（テンソルデータ）と対応付けてテンソルＤＢ１０４に格納する。ここで、生成されたテンソルデータを入力としてディープテンソルによる学習を実行される。なお、ディープテンソルでは、学習時に、予測に影響を与える学習データの部分パターンを識別するターゲットコアテンソルを抽出し、予測時には、抽出したターゲットコアテンソルに基づいて予測を実行する。
【００３６】
具体的には、テンソル生成部１１２は、頻繁な出張、長時間残業、連続する急な欠勤、無断欠勤、頻繁な休日出勤、これらの組合せなど療養する傾向を特徴づけると想定される各項目を各次元として、学習データからテンソルを生成する。例えば、テンソル生成部１１２は、月度、日付、出欠区分、出張有無の４要素を用いた４次元の４階テンソルを生成する。なお、４か月分のデータである場合は、月度の要素数は「４」、各月の曜日数の最大値が３１であることから日付の要素数は「３１」、出欠の種類が出社・休暇・休日であることから出欠区分の要素数は「３」、出張はありとなしであることから出張有無の要素数は「２」となる。したがって、学習データから生成されるテンソルは、「４×３１×３×２」のテンソルとなり、学習データの各月度、日付における出欠区分、出張有無に対応する要素の値が１、そうでない要素の値が０となる。なお、テンソルの次元とする項目は、任意に選択することができ、過去の事例等から決定することもできる。
【００３７】
図８は、テンソル化の具体例を説明する図である。図８に示すように、テンソル生成部１１２が生成するテンソルは、横方向に月度、縦方向に日付、奥行き方向に出欠区分、左から出張ありのデータで途中から出張なしのデータとなる。日付は、上から１日目を順に示し、出欠区分は、手前から出社、休暇、休日を示す。例えば、図８の（ａ）は、月度１の１日目に出社して出張した要素を示し、図８の（ｂ）は、月度１の２日目に休暇を取得して出張しなかった要素を示す。
【００３８】
なお、本実施例では、上述したテンソルを簡略化して図８の（ｃ）のように記載することとする。すなわち、月度、日付、出欠区分、出張有無の各要素を重ねたキューブ状で表現することとし、各月度かつ日付の出張有無を区別して表現し、各月度かつ日付の出欠区分を区別して表現することとする。
【００３９】
学習部１１３は、テンソルデータを入力テンソルデータとしてテンソル分解してニューラルネットワークに入力する学習モデルに対し、ニューラルネットワークの深層学習およびテンソル分解の方法の学習を行う処理部である。すなわち、学習部１１３は、各学習データから生成された各テンソルデータおよびラベルを入力として、ディープテンソルによる学習モデルの学習を実行する。具体的には、学習部１１３は、図４で説明した手法と同様、入力対象のテンソルデータ（入力テンソル）からコアテンソルを抽出してＮＮに入力し、ＮＮからの分類結果と入力テンソルに付与されているラベルとの誤差（分類誤差）を算出する。そして、学習部１１３は、分類誤差を用いて、ＮＮのパラメータの学習およびターゲットコアテンソルの最適化を実行する。その後、学習部１１３は、学習が終了すると、各種パラメータを学習結果として学習結果ＤＢ１０５に格納する。
【００４０】
予測部１１４は、学習結果を用いて、判別対象のデータのラベルを予測する処理部である。具体的には、予測部１１４は、学習結果ＤＢ１０５から各種パラメータを読み出し、各種パラメータを設定したニューラルネットワーク等を含むディープテンソルを構築する。そして、予測部１１４は、予測対象ＤＢ１０６から予測対象の出勤簿データを読み出し、除外部１１１と同様の手法で該当休日を除外した後にテンソル化し、ディープテンソルに入力する。その後、予測部１１４は、療養ありまたは療養なしを示す予測結果を出力する。そして、予測部１１４は、予測結果をディスプレイに表示したり、管理者端末に送信したりする。
【００４１】
なお、予測部１１４は、該当休日を残したままである予測対象の出勤簿データをそのまま学習モデルに入力した場合でも、該当休日を削除した予測対象の出勤簿データを学習モデルに入力した場合でも、予測することができる。また、予測対象の出勤簿データを６か月ごとのデータに区切って入力することもでき、予測対象の出勤簿データそのままを入力とすることもできる。
【００４２】
［具体例］
次に、図９から図１１を用いて、出勤していない指定休日を示す該当休日の除外からテンソル化までの具体例を説明する。図９は、該当休日をテンソルの要素から除外した場合のテンソル表現を説明する図である。図１０は、除外した該当休日部分のテンソル表現を説明する図である。図１１は、実施例１におけるコアテンソルの生成例を説明する図である。
【００４３】
図９の（ａ）の例では、除外部１１１は、従業員１の出勤簿データから指定休日である１日（日曜日）、７日（土曜日）、８日（日曜日）、１１日（水曜日）から１３日（金曜日）などの休日（例えばリフレッシュ休暇や慶事休暇）、１４日（土曜日）を特定する。続いて、除外部１１１は、特定した指定休日のうち、出勤した１４日（土曜日）を除く、１、７、８、１１から１３日を該当休日として削除した出勤簿データを生成する。その後、テンソル生成部１１２は、１、７、８、１１から１３日が削除された出勤簿データからテンソルデータを生成する。
【００４４】
また、図９の（ｂ）の例では、除外部１１１は、従業員１の出勤簿データから指定休日である１日（日曜日）、２日（月曜日）から４日（水曜日）などの休日（例えばリフレッシュ休暇や慶事休暇）、７日（土曜日）、８日（日曜日）、１４日（土曜日）を特定する。続いて、除外部１１１は、特定した指定休日のうち出勤した日がないので、特定されたすべての指定休日を該当休日として削除した出勤簿データを生成する。その後、テンソル生成部１１２は、指定休日が削除された出勤簿データからテンソルデータを生成する。
【００４５】
ここで、月度毎の日数の違い、個人選択により期間が異なる休日、休日出勤の有無等により月度ごとの日付の数が異なる場合がある。このような場合はテンソルデータのサイズ（大きさ）が異なることになる。そこで、テンソル上で値のない日付部分に相当する箇所は空の要素とすることで、テンソル表現では、月度によらず同じ日付サイズで表現する。
【００４６】
具体的には、図１０に示すように、テンソル生成部１１２は、該当休日が除外された月度２、月度３、月度４を含む出勤簿データをテンソル化する際、月度ごとの日付のサイズを揃えて月度１と同じサイズにするために、月度２と月度３と月度４のそれぞれにおいて、削除された該当休日に対応する値のない日付部分については空の要素を設定する。そして、テンソル生成部１１２は、値のない日付部分のテンソルの要素の重みを０とし、値のない日付部分をコアテンソルとして抽出しないように学習させる。ここで重みを０にするとは、例えばコアテンソルを生成する際の要素行列の値を０にすることである。
【００４７】
ディープテンソルでは、このように重みを０にすることで、コアテンソルを抽出する際の対象から除外することができる。図１１に示すように、該当休日を除くことにより、該当休日部分がコアテンソルとして認識されてしまうケース（図１１の（ａ））を回避し、重要な部分（図１１の（ｂ））が認識されやすくなる。つまり、学習部１１３は、ディープテンソルの性質を利用して、従業員１および従業員２それぞれの出勤簿データをテンソル化するときに、重みが０で値の対部分（図１１の（ｃ））をコアテンソルの対象から除外することができるので、予測に影響を与える部分パターンを識別するコアテンソルを正確に抽出することができる。この結果、予測精度の向上が図れる学習を実行することができる。
【００４８】
なお、一般的な機械学習では、入力は固定長の特徴ベクトルが前提であり、該当休日部分を単純に削除しても学習処理が正常に処理されない。このため、削除した日数分を補完することも考えられるが、補完したとしても、学習精度の向上が期待できない。図１２は、一般的な機械学習による問題点を説明する図である。図１２では、療養期間がある従業員Ａと療養期間がない従業員Ｂの各出勤簿データを例にして説明する。
【００４９】
図１２に示すように、学習対象である従業員Ａの出勤簿データのうち、１１日から１３日が削除対象の該当休日であり、予測対象である従業員Ｂの出勤簿データのうち、２日から４日が削除対象の該当休日であるとする。
【００５０】
図１２の（１）の例は、該当休日の要素を削除せずに、該当休日の要素をＮＵＬＬ値として０を入れるなどで補完する例である。一般的な機械学習では、従業員Ａを学習済みデータ、従業員Ｂを予測したいデータとすると、特徴ベクトル上で同じ位置にある属性値が一致するほど、類似度が高いと判断される。したがって、この例では、囲んだ部分の要素が多いほど、従業員Ｂを従業員Ａとの類似性が高いと判断し、従業員Ｂを体調不良と予測する可能性が高くなる。
【００５１】
図１２の（２）の例は、該当休日の要素を削除した後、入力データの固定長にあわせるために、各要素を左詰めにして後方に空の要素を補完した例である。この場合、従業員Ａを学習済みデータ、従業員Ｂを予測したいデータとすると、該当休日分を補完した部分が同じ属性値を持つ要素として認識される。したがって、（１）の場合に比べると、従業員Ｂと従業員Ａとの類似性がより高くなり、従業員Ｂを体調不良と判断する可能性が高くなる。
【００５２】
このように、一般的な機械学習では、該当休日を削除して場合、入力データが固定長であることの制約のために、空の要素を補完することになる。しかし、補完した空の要素が学習データ間で類似することになり、却って学習精度の低下を招く。
【００５３】
［処理の流れ］
図１３は、学習処理の流れを示すフローチャートである。図１３に示すように、処理開始の指示を受け付けると（Ｓ１０１：Ｙｅｓ）、除外部１１１は、出勤簿データＤＢ１０３から出勤簿データを読み込み（Ｓ１０２）、出勤していない指定休日（該当休日）があるか否かを判定する（Ｓ１０３）。
【００５４】
そして、出勤していない指定休日がある場合（Ｓ１０３：Ｙｅｓ）、除外部１１１が、出勤簿データから出勤していない指定休日を削除し（Ｓ１０４）、テンソル生成部１１２が、削除した部分に空の要素を挿入して、出勤簿データをテンソル化する（Ｓ１０５）。
【００５５】
一方、出勤していない指定休日がない場合（Ｓ１０３：Ｎｏ）、テンソル生成部１１２は、出勤簿データをそのままテンソル化する（Ｓ１０６）。
【００５６】
その後、未処理の出勤簿データがある場合（Ｓ１０７：Ｙｅｓ）、次の出勤簿データについて、Ｓ１０２以降を繰り返す。一方、未処理の出勤簿データがない場合（Ｓ１０７：Ｎｏ）、学習部１１３は、テンソルＤＢ１０４に記憶される各テンソルおよびラベルを用いて、学習処理を実行する（Ｓ１０８）。
【００５７】
［効果］
上述したように、学習装置１００は、指定休日を休んでいる日の特徴パターンを学習データから除外して学習処理を実行することができるので、各学習データ内の共通項目である指定休日を含む特徴パターンではなく、指定休日以外の特徴パターンを抽出して学習処理を実行することができる。この結果、学習装置１００は、間違った特徴パターンの学習が進むことを抑制でき、学習精度の劣化を抑制することができる。
【００５８】
また、学習装置１００は、指定休日などの休日情報を除いた学習モデル（予測モデル）と、休日情報を含んだ学習モデルを併用することにより、予測結果の優先度をつけることができる。図１４は、予測手法の別例を説明する図である。図１４に示すように、学習装置１００は、休日情報を含む学習データを用いた学習処理によって学習モデルＡを生成するとともに、休日情報を除外した学習データを用いた学習処理によって学習モデルＢを生成する。
【００５９】
そして、学習装置１００は、予測対象の出勤簿データを学習モデルＡと学習モデルＢのそれぞれに入力して、各学習モデルからの予測結果に応じて、従業員の療養の危険度を判定する。具体的には、学習装置１００は、「両方の学習モデルが体調不良と予測する場合」を危険度高と判定し、「いずれか一方の学習モデルのみが体調不良と予測する場合」を危険度中と判定し、「どちらの学習モデルも体調不良でないと予測する場合」を危険度小と判定する。
【００６０】
図１４の例では、学習モデルＡにより体調不良があると予測され、学習モデルＢにより体調不良がないと予測されているので、入力された出勤簿データに対応する従業員に対して、危険度中と判定される。なお、休日情報を残したままの出勤簿データを各学習モデルへ入力することもでき、学習モデルＡへは休日情報を残したままの出勤簿データを入力し、学習モデルＢへは休日情報を削除した出勤簿データを入力することもできる。
【実施例２】
【００６１】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【００６２】
［学習］
上述した学習処理は、任意の回数だけ実行することもできる。例えば、すべての訓練データを用いて実行することもでき、所定回数だけ実行することもできる。また、分類誤差の算出方法は、最小二乗法など公知の算出手法を採用することができ、ＮＮで用いられる一般的な算出手法を採用することもできる。なお、学習データを用いて、事象（例えば療養ありと療養なし）を分類できるように、テンソルデータをニューラルネットワークに入力してニューラルネットワークの重み等を学習することが学習モデルの一例に対応する。
【００６３】
また、６か月の出勤簿データを予測に用いるデータ例として説明したが、これに限定されるものではなく、４か月など任意に変更することができる。また、６か月の出勤簿データに対して、その後３か月以内に療養（休職）したか否かによってラベルを付与する例を説明したが、これに限定されるものではなく、２か月以内など任意に変更することができる。また、テンソルデータも四次元に限らず、四次元未満のテンソルデータを生成することもでき、五次元以上のテンソルデータを生成することもできる。また、出勤簿データに限らず、従業員等の出退勤や休暇の取得状況などがわかる勤怠データであれば、データの形式を問わず採用することができる。
【００６４】
また、上記例では、除外部１１１は、指定休日のうち出勤していない休日である該当休日を出勤簿データから除外する例を説明したが、これに限らず、指定休日をすべて除外することもできる。
【００６５】
［ニューラルネットワーク］
本実施例では、ＲＮＮ（Recurrent  Neural  Networks）やＣＮＮ（Convolutional  Neural  Network）など様々なニューラルネットワークを用いることができる。また、学習の手法も、誤差逆伝播以外にも公知の様々な手法を採用することができる。また、ニューラルネットワークは、例えば入力層、中間層（隠れ層）、出力層から構成される多段構成であり、各層は複数のノードがエッジで結ばれる構造を有する。各層は、「活性化関数」と呼ばれる関数を持ち、エッジは「重み」を持ち、各ノードの値は、前の層のノードの値、接続エッジの重みの値（重み係数）、層が持つ活性化関数から計算される。なお、計算方法については、公知の様々な手法を採用できる。
【００６６】
また、ニューラルネットワークにおける学習とは、出力層が正しい値となるように、パラメータ、すなわち、重みとバイアスを修正していくことである。誤差逆伝播法においては、ニューラルネットワークに対して、出力層の値がどれだけ正しい状態（望まれている状態）から離れているかを示す「損失関数（loss  function）」を定め、最急降下法等を用いて、損失関数が最小化するように、重みやバイアスの更新が行われる。
【００６７】
［システム］
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値などは、あくまで一例であり、任意に変更することができる。
【００６８】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６９】
［ハードウェア］
図１５は、ハードウェア構成例を説明する図である。図１５に示すように、学習装置１００は、通信装置１００ａ、ＨＤＤ（Hard  Disk  Drive）１００ｂ、メモリ１００ｃ、プロセッサ１００ｄを有する。また、図１５に示した各部は、バス等で相互に接続される。
【００７０】
通信装置１００ａは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。ＨＤＤ１００ｂは、図５に示した機能を動作させるプログラムやＤＢを記憶する。
【００７１】
プロセッサ１００ｄは、図５に示した各処理部と同様の処理を実行するプログラムをＨＤＤ１００ｂ等から読み出してメモリ１００ｃに展開することで、図５等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、学習装置１００が有する各処理部と同様の機能を実行する。具体的には、プロセッサ１００ｄは、除外部１１１、テンソル生成部１１２、学習部１１３、予測部１１４等と同様の機能を有するプログラムをＨＤＤ１００ｂ等から読み出す。そして、プロセッサ１００ｄは、除外部１１１、テンソル生成部１１２、学習部１１３、予測部１１４等と同様の処理を実行するプロセスを実行する。
【００７２】
このように学習装置１００は、プログラムを読み出して実行することで学習方法を実行する情報処理装置として動作する。また、学習装置１００は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、学習装置１００によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【００７３】
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ（Magneto−Optical  disk）、ＤＶＤ（Digital  Versatile  Disc）などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【００７４】
１００  学習装置
１０１  通信部
１０２  記憶部
１０３  出勤簿データＤＢ
１０４  テンソルＤＢ
１０５  学習結果ＤＢ
１０６  予測対象ＤＢ
１１０  制御部
１１１  除外部
１１２  テンソル生成部
１１３  学習部
１１４  予測部
【図１】
2019191778.tif 000003
【図２】
2019191778.tif 000004
【図３】
2019191778.tif 000005
【図４】
2019191778.tif 000006
【図５】
2019191778.tif 000007
【図６】
2019191778.tif 000008
【図７】
2019191778.tif 000009
【図８】
2019191778.tif 000010
【図９】
2019191778.tif 000011
【図１０】
2019191778.tif 000012
【図１１】
2019191778.tif 000013
【図１２】
2019191778.tif 000014
【図１３】
2019191778.tif 000015
【図１４】
2019191778.tif 000016
【図１５】
2019191778.tif 000017