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