(57)【要約】【課題】本発明の課題は、複数の処理で構成され、ある処理の出力結果が他の処理に使われるデータ処理において、削除による影響を抑えた蓄積データの削除を可能とすることを目的とする。【解決手段】上記課題は、コンピュータに、対象データから複数の処理を経て最終結果を求める過程で生成され、記憶装置に蓄積された複数の出力データのそれぞれについて、前記複数の処理の各処理の処理内容、及び、前記記憶装置に蓄積された出力データの情報を参照して、該出力データを生成するまでの１以上の処理に掛った実行時間を用いて、該出力データの削除による影響の程度を示した削除影響情報を生成し、前記複数の出力データそれぞれの前記削除影響情報に基づいて、前記記憶装置から削除する出力データを抽出する処理を実行させるデータ削除決定プログラムにより達成される。【選択図】図３
2017211768.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
対象データから複数の処理を経て最終結果を求める過程で生成され、記憶装置に蓄積された複数の出力データのそれぞれについて、前記複数の処理の各処理の処理内容、及び、前記記憶装置に蓄積された出力データの情報を参照して、*該出力データを生成するまでの１以上の処理に掛った実行時間を用いて、該出力データの削除による影響の程度を示した削除影響情報を生成し、
前記複数の出力データそれぞれの前記削除影響情報に基づいて、前記記憶装置から削除する出力データを抽出する
処理を実行させるデータ削除決定プログラム。
【請求項２】
前記コンピュータに、
前記出力データを生成した処理に関連する過去の処理毎の前記実行時間に該出力データの前記複数の処理における使用頻度を乗算して得た値を合算して、前記削除影響情報を取得する
処理を実行させる請求項１記載のデータ削除決定プログラム。
【請求項３】
前記コンピュータに、
前記実行時間と、前記出力データのサイズと、前記記憶装置の消費量に対する該出力データの占有程度を示すペナルティの逆数と、前記使用頻度と、前記複数の処理を経て最終結果を求める処理の最終結果への貢献度合いを示す寄与度と、前記削除影響情報とを、前記出力データを生成するまでの前記過去の処理を含めて表した処理内容に対応付けてテーブルに記憶させ、
前記テーブルを参照して、前記処理内容毎に、前記実行時間と、前記ペナルティの逆数と、前記寄与度と、前記削除影響情報とを正規化し、正規化した値それぞれに定数を乗算した値を合計して、前記出力データを前記記憶部に残す優先度を決定し、決定した該優先度を該処理内容に対応付けて該テーブルに記憶し、
前記記憶装置が空き領域が閾値以上となるまで、前記テーブルにおいて優先度の低い順に、前記出力データを該記憶装置から削除する処理を実行させる請求項２記載のデータ削除決定プログラム。
【請求項４】
コンピュータが、
対象データから複数の処理を経て最終結果を求める過程で生成され、記憶装置に蓄積された複数の出力データのそれぞれについて、前記複数の処理の各処理の処理内容、及び、前記記憶装置に蓄積された出力データの情報を参照して、該出力データを生成するまでの１以上の処理に掛った実行時間を用いて、該出力データの削除による影響の程度を示した削除影響情報を生成し、
前記複数の出力データそれぞれの前記削除影響情報に基づいて、前記記憶装置から削除する出力データを抽出する
処理を行うデータ削除決定方法。
【請求項５】
対象データから複数の処理を経て最終結果を求める過程で生成され、記憶装置に蓄積された複数の出力データのそれぞれについて、前記複数の処理の各処理の処理内容、及び、前記記憶装置に蓄積された出力データの情報を参照して、該出力データを生成するまでの１以上の処理に掛った実行時間を用いて、該出力データの削除による影響の程度を示した削除影響情報を生成する生成部と、
前記複数の出力データそれぞれの前記削除影響情報に基づいて、前記記憶装置から削除する出力データを抽出する抽出部と
を有するデータ削除決定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ削除決定プログラム、データ削除決定方法、及びデータ削除決定装置に関する。
【背景技術】
【０００２】
近年、様々なシーンで生成され蓄積される大量のデータ（ビッグデータ）から、価値ある情報を抽出してビジネスに活用するため、機械学習などの高度な分析技術が盛んに使われている。この機械学習において、データ処理を繰り返すために大容量の保存領域が必要とされる。
【０００３】
参照回数の少ない、又は、予測アクセス時刻が遠いデータほど削除する技術等により、記憶領域を有効に活用することが知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２２２１１号公報
【特許文献２】特開２０１３−１７４９９７号公報
【特許文献３】特開平７−３０２２２４号公報
【特許文献４】特開２０１２−５９２０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
機械学習では、データの特徴を抽出する種々の特徴抽出計算が行われ、その特徴抽出計算では、ある処理の出力データを他の処理の入力データとして使うため蓄積する場合がある。つまり、ある出力データは他の出力データと関係しており、その関係の強さは出力データによって異なっている。
【０００６】
上述した技術では、出力データの関係の強さを考慮していないため、他の出力データとの関係が強い出力データを削除してしまうと、機械学習では、出力データの削除が様々な特徴抽出計算に影響し、広範囲で影響を与える可能性がある。
【０００７】
したがって、１つの側面では、本発明は、複数の処理で構成され、ある処理の出力結果が他の処理に使われるため蓄積されるデータ処理において、削除による影響を抑えた蓄積データの削除を可能とすることを目的とする。
【課題を解決するための手段】
【０００８】
一態様によれば、コンピュータに、対象データから複数の処理を経て最終結果を求める過程で生成され、記憶装置に蓄積された複数の出力データのそれぞれについて、前記複数の処理の各処理の処理内容、及び、前記記憶装置に蓄積された出力データの情報を参照して、該出力データを生成するまでの１以上の処理に掛った実行時間を用いて、該出力データの削除による影響の程度を示した削除影響情報を生成し、前記複数の出力データそれぞれの前記削除影響情報に基づいて、前記記憶装置から削除する出力データを抽出する処理を実行させるデータ削除決定プログラムが提供される。
【０００９】
また、上記課題を解決するための手段として、データ削除決定方法、及びデータ削除決定装置とすることもできる。
【発明の効果】
【００１０】
複数の処理で構成され、ある処理の出力結果が他の処理に使われるため蓄積されるデータ処理において、削除による影響を抑えた蓄積データの削除を可能とすることができる。
【図面の簡単な説明】
【００１１】
【図１】１つのモデルを生成・評価する処理を説明するための図である。
【図２】遺伝的アルゴリズムを用いた逐次的な特徴抽出処理の例を説明するための図である。
【図３】再利用のための出力データの蓄積について説明するための図である。
【図４】モデルの精度が高かったときの特徴抽出処理が繰り返される例を示す図である。
【図５】削除の影響の第１の例を説明するための図である。
【図６】削除の影響の他の例を説明するための図である。
【図７】情報処理装置の機能構成の一例を示す図である。
【図８】情報処理装置のハードウェア構成を示す図である。
【図９】処理命令の受信から寄与度が算出されるまでの第一の処理例を説明するためのフローチャート図である。
【図１０】図９のステップＳ７０２における、処理内容を生成する方法を説明するための図である。
【図１１】削除順序決定処理の第一例を説明するためのフローチャート図である。
【図１２】削除影響情報の算出方法を説明するための図である。
【図１３】処理内容の例を示す図である。
【図１４】メタ情報テーブルのデータ例を示す図である。
【図１５】処理命令の受信から寄与度が算出されるまでの第二の処理例を説明するためのフローチャート図（続く）である。
【図１６】処理命令の受信から寄与度が算出されるまでの第二の処理例を説明するためのフローチャート図（続き）である。
【図１７】処理内容の生成例を説明するための図である。
【図１８】削除順序決定処理の第二例を説明するためのフローチャート図（続く）である。
【図１９】削除順序決定処理の第二例を説明するためのフローチャート図（続き）である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を図面に基づいて説明する。機械学習による分析では、事前に予測や分類を行うモデルを生成し、そのモデルに実データを適用することで分析結果を得ることができる。
【００１３】
最適なモデルを生成するため、元データから特徴的なデータを抽出して学習用データを生成する特徴抽出処理、モデルを生成する学習処理、及び、生成されたモデルを評価する評価処理をモデルの精度が良くなるまで繰り返す方法が取られることがある。この繰り返し１回の処理について図１で説明する。
【００１４】
図１は、１つのモデルを生成・評価する処理を説明するための図である。図１において、機械学習は、上述したように、特徴抽出処理４０と、学習処理５０と、評価処理６０とによって行われる。
【００１５】
特徴抽出処理４０は、元データ３から予測や分類に効果的な、即ち、特徴的な情報を抽出した学習用データ９を作成し、学習処理５０は、特徴抽出処理４０によって得られた学習用データ９からモデルを学習し、評価処理６０は、学習処理５０によって生成されたモデルに評価データを適用し、そのモデルの精度を評価する。
【００１６】
特徴抽出処理４０は、元データ３の種々の値を用いて得られる、元データ３から予測や分類に効果的な、即ち、特徴的な情報を抽出する。特徴的な情報は学習用データ９に相当する。
【００１７】
従来は、分析者が経験に基づいて、元データ３の種々の値を用いて特徴的なデータを抽出していたが、元データ３から抽出する特徴の数（対象データの次元数）が膨大になる場合も出てきているため、人手で有用な特徴を抽出することが難しくなっている。
【００１８】
そこで、あらゆる特徴を抽出して様々な学習用データ９を生成し、様々な学習用データ９の全てを学習しその結果を評価することで有用な特徴を最終的に見つけるという特徴抽出方法が考えられる。しかし、特徴抽出処理４０は時間が掛るため、現実的な処理時間内において、特徴数が膨大な場合は全てを抽出し、学習・評価することができない。
【００１９】
そこで、特徴の全候補の中から少量の特徴を抽出して学習及び評価を行い、良い評価結果を示した特徴は可能な限り残して一部を入れ替えることを繰り返す、逐次的な特徴抽出方法がある。このように、試行（特徴抽出処理４０、学習処理５０、そして、評価処理６０の繰り返し）の度にどの特徴を抽出するかを決定する方法として、遺伝的アルゴリズム（ＧＡ）が知られている。
【００２０】
このような逐次的な特徴抽出では、良い評価結果を示した特徴が残り続ける傾向があるため、複数の試行での特徴抽出において、何度も同じ特徴が抽出される。つまり、時間の掛る処理が何度も実行される。
【００２１】
一方、特徴抽出処理４０は、元データ３からの特徴抽出処理、結合処理等を含む複数の処理７から構成されることが多いため、ある処理７の出力データ８を一旦保存し、次の処理７の入力とすることが多い。
【００２２】
例えば、電力データ、気象データ等を含む元データ３から、学習用データ９を生成する場合、種々の処理７として、特徴ｂ抽出処理、特徴ｇ抽出処理、特徴ｈ抽出処理、・・・、特徴ｙ抽出処理、１以上の結合処理等が行われるとする。
【００２３】
特徴ｂ抽出処理では、気温の１日平均が計算され、特徴ｇ抽出処理では、気圧の月の分散が計算される、特徴ｈ抽出処理では、風力の１週間の最大値が計算される等が、元データ３から得られる値（生データ）を用いて行う初期処理段階となる。結合処理では、初期処理段階で得た出力データ８の２以上を結合、初期処理段階で得た出力データ８と結合処理後に得た出力データ８を含む２以上を結合、又は結合処理後に得た出力データ８を２以上を結合する等が行われる。
【００２４】
特徴抽出処理４０の処理７の構成を変えて、何度も繰り返される。また、学習処理５０も様々な異なる処理に入れ替えて、特徴抽出処理４０を繰り返す場合もある。
【００２５】
つまり、何度も実行される処理の出力データ８を再利用できると、時間の掛る同じ処理を繰り返す必要がなく、機械学習に係る全体の処理時間を大幅に短縮できる。出力データ８は、特徴抽出処理４０における中間データに相当する。遺伝子アルゴリズムを用いた逐次的な特徴抽出処理４０の例を図２に示す。
【００２６】
図２は、遺伝的アルゴリズムを用いた逐次的な特徴抽出処理の例を説明するための図である。図２では、第１世代と第２世代での特徴抽出処理の例を示している。
【００２７】
第１世代において、異なる特徴の組み合せを抽出する特徴抽出処理４１１、４１２、・・・４１ｍ（総称して、特徴抽出処理４０という）の各々において、得られた学習用データ９を用いて学習処理５０によってモデルが生成され、そのモデルが評価処理６０によって評価される。
【００２８】
評価処理６０は、学習処理５０によって生成されたモデルが、新たな評価データからある事項をどの程度予測もしくは分類できるかなどを評価する。遺伝的アルゴリズムを用いた逐次的な特徴抽出処理では、この評価結果を遺伝的アルゴリズムにおける適応度として採用する。この例では、各個体（特徴の組み合せ）が目的の予測に適応しているか否かを丸印「○」又は×印「×」で示す。丸印「○」は、予測精度が閾値以上であることを示し、×印「×」は、予測精度が閾値未満であり予測に相応しい学習用データ９を得られなかったことを示している。
【００２９】
第１世代では、複数の特徴抽出処理４０によって、予め定めた組み合せ個数の範囲において、ランダムに特徴を組み合せる。
【００３０】
適応度「×」の評価となった学習用データ９のために抽出・組み合せられた特徴は以降の世代における特徴抽出処理４０において採用される確率が低い。この第１世代の例では、適応度「×」の評価となった特徴抽出処理４１２において抽出された特徴ａ、特徴ｃ、・・・、特徴ｐの組み合せは、第２世代以降において採用される確率が低い。
【００３１】
この例では、第１世代において、適応度「○」の評価となった特徴抽出処理４１１及び特徴抽出処理４１ｍにおいて組み合せた特徴ｂ、ｇ、・・・、ｙ及び特徴ｆ、ｌ、・・・、ｒが、第２世代において採用されている。
【００３２】
第２世代では、第１世代と同様の特徴を組み合せるのではなく、第１世代における組み合せ同士で特徴を交叉させる。即ち、適応度「○」の組み合せの中から２つの組み合せを予測精度に応じた確率で選択し、選択した２つの組み合せ間で特徴を入れ替える。
【００３３】
具体的には、特徴抽出処理４１１の特徴の組み合せ（ｂ、ｇ、・・・、ｙ）と、特徴抽出処理４１ｍの特徴の組み合せ（ｆ、ｌ、・・・、ｒ）とにおいて、特徴ｙを特徴ｒと入れ替える。従って、特徴抽出処理４２１では、組み合せ（ｂ、ｇ、・・・、ｒ）で特徴を抽出して様々な処理を行って得たデータを学習用データ９として取得する。
【００３４】
また、特徴抽出処理４２２では、組み合せ（ｆ、ｌ、・・・、ｙ）で特徴を抽出して種々の処理７を行い、学習用データ９を取得する。このように、１以上の組み合せのペアで特徴を交叉させ、特徴抽出処理４２１から特徴抽出処理４２ｎまでが行われる。
【００３５】
第１世代と同様に、第２世代においても、適応度「×」の評価となった特徴の組み合せは、次の第３世代において採用される確率が低くなる。一方で、第２世代以降において、元データ３から未だ抽出されていない特徴を抽出して、新たな組み合せで機械学習を行ってもよい。
【００３６】
また、特徴の組み合せに変化を与えずに、学習処理５０を別の学習処理に置き換えてもよい。
【００３７】
このように、元データ３から初期に抽出する特徴の組み合せを変えて得た学習用データ９で学習処理５０を行い、評価処理６０が評価することを繰り返すことで、精度の高い予測を行える最良の特徴の組み合せを得ることができる。
【００３８】
一方で、複数の特徴抽出処理４０において、過去に生成された出力データ８と同一の出力データ８を生成する場合には、過去に生成された出力データ８を再利用し、生成後に蓄積した再利用されない出力データ８を適宜削除することで、蓄積する出力データ８のデータ量の増加を抑止することが考えられる。
【００３９】
本実施例では、削除することによる他の処理への影響が大きい出力データ８ほど、出力データ８を残すための優先度が高くなるように優先度を決定し、優先度が低い出力データ８から削除することで、より削除による影響を抑えつつ、出力データ８の削除を可能とする。
【００４０】
図２の例において、処理７を実行する際にレポジトリ９００に蓄積された出力データ８は、削除順序決定処理３９９によって、その出力データ８を生成する際にかかったコスト（生成コスト）、その出力データ８を残した場合に記憶資源を占有するペナルティ、その出力データが使われる未来の処理への寄与度、その出力データを削除した場合に他の処理に与える影響の大きさを考慮して削除する順序が決定される。削除順序決定処理３９９によって優先度が付与された出力データ８は、記憶資源の空き容量が閾値を上回るまで優先度が低い順にレポジトリ９００から削除される。
【００４１】
図３は、再利用のための出力データの蓄積について説明するための図である。図３において、特徴抽出処理Ａと特徴抽出処理Ｂとを含む複数の特徴抽出処理４０が行われた場合の、レポジトリ９００への出力データ８の蓄積について説明する。
【００４２】
特徴抽出処理Ａは、１回目の試行に相当し、処理名「処理ｂ」、「処理ｇ」、「処理ｍ」、及び「処理ｐ」の処理７を有する。特徴抽出処理Ｂは、２回目の試行に相当し、「処理ｄ」、「処理ｇ」、「処理ｋ」、及び「処理ｐ」の処理７を示す。同一処理名は、同一の処理プログラムと同一の引数が使われることを表わす。ただし、同一処理名であっても入力データが異なる場合は、それらの処理７の出力データ８は異なる。特徴抽出処理Ａの後に、特徴抽出処理Ｂが行われるとする。
【００４３】
特徴抽出処理Ａが行われることによる出力データ８のレポジトリ９００への蓄積について説明する。特徴抽出処理Ａにおいて、処理ｂは元データ３（図１）を入力とし、「Ｎｏ．１」の出力データ８を生成する。「Ｎｏ．１」の出力データ８は、生成されるまでの処理内容「処理ｂ」と共にレポジトリ９００に記憶される。
【００４４】
また、処理ｇは元データ３（図１）を入力とし、「Ｎｏ．２」の出力データ８を生成する。「Ｎｏ．２」の出力データ８も、生成されるまでの処理内容「処理ｇ」と共にレポジトリ９００に記憶される。
【００４５】
処理ｍは、「Ｎｏ．２」の出力データ８を入力とし、「Ｎｏ．３」の出力データ８を生成する。「Ｎｏ．３」の出力データ８は、生成されるまでの処理内容「処理g→処理m」と共にレポジトリ９００に記憶される。即ち、処理ｇの後に処理ｍが行われたことを表わす処理内容「処理g→処理m」が記憶される。
【００４６】
処理ｐは、「Ｎｏ．１」及び「Ｎｏ．３」の出力データ８を入力とし、「Ｎｏ．４」の出力データ８を生成する。「Ｎｏ．４」の出力データ８は、生成されるまでの処理内容「（処理b、処理g→処理m）→処理p」と共にレポジトリ９００に記憶される。
【００４７】
即ち、「Ｎｏ．４」の出力データ８が生成されるまでに、処理ｂが行われ、一方で、処理ｇの後に処理ｍが行われ、その後、処理ｐが行われたことを表わす処理内容「（処理b、処理g→処理m）→処理p」が記憶される。
【００４８】
このように、出力データ８は、どの処理を経て生成されたのかを示す処理内容と対応付けてレポジトリ９００に記憶される。
【００４９】
次に、特徴抽出処理Ｂにおいて、処理ｄは、元データ３（図１）を入力とし、「Ｎｏ．５」の出力データ８を生成する。「Ｎｏ．５」の出力データ８は、生成されるまでの処理内容「処理ｄ」と共にレポジトリ９００に記憶される。
【００５０】
処理ｇでは、処理ｇのみを処理内容とする「Ｎｏ．２」の出力データ８がレポジトリ９００に既に存在している。この場合、処理ｇを実行せず、レポジトリ９００において処理内容「処理ｇ」と共に記憶された「Ｎｏ．２」の出力データ８を処理ｇの次に行う処理ｋへの入力データとして再利用する。このような再利用により、冗長な処理の実行を抑止できる。
【００５１】
処理ｋの実行により「Ｎｏ．６」の出力データ８が生成されると、「Ｎｏ．６」の出力データ８が処理内容「処理g→処理k」と共にレポジトリ９００に記憶される。
【００５２】
処理ｐは、「Ｎｏ．５」及び「Ｎｏ．６」の出力データ８を入力とし、「Ｎｏ．７」の出力データ８を生成する。「Ｎｏ．７」の出力データ８は、生成されるまでの処理内容「（処理d、処理g→処理k）→処理p」と共にレポジトリ９００に記憶される。
【００５３】
即ち、「Ｎｏ．７」の出力データ８が生成されるまでに、処理ｂが行われ、一方で、処理ｇの後に処理ｋが行われ、その後、処理ｐが行われたことを表わす処理内容「（処理b、処理g→処理m）→処理p」が記憶される。
【００５４】
逐次的な特徴抽出処理を行う機械学習では、高い精度のモデル生成に寄与した特徴抽出処理が繰り返される傾向にある。即ち、モデルの精度が高い学習に使われた出力データ８（例えば、上述した「Ｎｏ．２」の出力データ８等）は、後の特徴抽出処理において、再度使われやすい。本実施例では、このような特徴抽出処理の出力データ８の特性を寄与度で表す。
【００５５】
再度使われやすい出力データ８を削除してしまうと、冗長な処理７が繰り返され、同じ出力データ８が繰り返し生成されてしまう。本実施例では、その出力データ８を生成する際にかかったコスト（生成コスト）、その出力データ８を残した場合に記憶資源を占有するペナルティ、その出力データ８が使われる未来の処理への寄与度、その出力データ８を削除した場合に他の処理７に与える影響の大きさを考慮して削除する順序を決定し、その順序に基づいて、出力データ８を削除することで、削除による影響を抑えた、レポジトリ９００に蓄積された出力データ８の削除を実現する。
【００５６】
機械学習において、出力データ８の削除が適切でない場合の影響について、図４、図５、及び図６で説明する。下記の技術を用いた場合には、出力データ８の削除が他の処理７に影響を及ぼす場合がある。
【００５７】
データのアクセス頻度やサイズ、実行時間から優先度を算出し、優先度の低いデータから削除するWeb  Caching等の技術、
最終アクセス時刻が最も古いデータから削除（ＬＲＵ：Least  Recently  Used）する技術、
最もアクセス頻度が低いデータから削除（ＬＦＵ：Least  Frequently  Used）する技術等である。
【００５８】
機械学習のための逐次的な特徴抽出では、ある１回の機械学習で求められたモデルの精度が高ければ、その学習のために行われた特徴抽出処理が再度試行される可能性が高い。従って、アクセス頻度が同じ出力データでも未来の処理への寄与度が違う、つまり、学習処理５０への貢献度（評価の結果）が異なる場合がある。
【００５９】
個々のデータのアクセス実績やサイズなどの情報に基づいてデータの優先度を求める技術では、寄与度の違いを区別できない。Web  Cachingでキャッシュ対象としているデータは、その後どう利用されてどう影響あるかはＷｅｂサービスの内容等に依存しており、キャッシュした際に得られるデータ個々の情報（アクセス頻度、アクセス時刻、サイズ等）と必ずしも対応していないためである。
【００６０】
また、機械学習のための逐次的な特徴抽出では、ある１回の機械学習の中で複数の処理が行われることがあるため、出力データ同士が互いに関係している。つまり、一つの出力データを削除すると、その出力データを入力とする処理に影響するだけでなく、複数の処理に影響を与える可能性がある。同じアクセス頻度の出力データでも、その削除の影響が異なる場合がある（図５及び図６）。
【００６１】
一般に、キャッシュ対象となるデータの生成過程は単純で、他のデータと関係していないため、データ同士の依存関係を考慮することがない。Web  Cachingでは、キャッシュ対象となるオブジェクトの生成過程は、サーバからデータを取り出すだけである。他のオブジェクトを取得しないと目的のオブジェクトを取得できないといった状況は通常起こらない。以下に、機械学習における出力データ８の削除の影響について説明する。
【００６２】
図４は、高い精度のモデルを生成したときの特徴抽出処理が繰り返される例を示す図である。図４において、特徴抽出処理４０として、特徴抽出処理Ａ、Ｂ等が行われる。特徴抽出処理Ａと学習処理Ａとによるモデル１の精度は９５％であり、特徴抽出処理Ｂと学習処理Ａとによるモデル２の精度は７０％であったことを示している。
【００６３】
機械学習では、高い精度のモデルを生成したときの特徴抽出処理Ａを再度採用し、学習処理Ａとは異なる学習処理Ｂと組み合わせる。このモデル３では、精度が９７％であったことを示している。
【００６４】
モデル１とモデル２とを得た状態［Ａ］において、各出力データ８のアクセス実績、サイズ、最終アクセス時刻等の情報を用いた場合では、削除する出力データ８を精度よく判定できない。その例について、図５及び図６で説明する。図５及び図６において、レポジトリ９００の容量は、ファイル７個に制限されるものとする。
【００６５】
図５は、削除の影響の第１の例を説明するための図である。図５では、レポジトリ９００から、特徴抽出処理４０の初期段階で生成された「Ｎｏ．１」の出力データ８を削除した場合の他の処理への影響を説明する。
【００６６】
上述した既存のＬＲＵ等を用いた場合、
・特徴抽出処理Ａの実行により、「Ｎｏ．１」、「Ｎｏ．２」、「Ｎｏ．３」、及び「Ｎｏ．４」の４個の出力データ８がレポジトリ９００に蓄積される。
・特徴抽出処理Ｂが実行され、更に、「Ｎｏ．５」、「Ｎｏ．６」、「Ｎｏ．７」、及び「Ｎｏ．８」の４個の出力データ８を蓄積しようとすると、レポジトリ９００の容量のファイル７個を超えるため、レポジトリ９００から最終アクセス時刻が最も古い「Ｎｏ．１」の出力データ８を削除する。レポジトリ９００の出力データ８は３個となる。
・そして、「Ｎｏ．５」、「Ｎｏ．６」、「Ｎｏ．７」、及び「Ｎｏ．８」の４個の出力データ８をリポジトリ９００に追加する
ことが行われる。
【００６７】
そして、精度が９５％のモデル１の作成に貢献した特徴抽出処理Ａが採用され、モデル１の学習処理Ａとは異なる学習処理Ｂとによってモデル３を作成する。モデル３の作成において、「Ｎｏ．１」の出力データ８がレポジトリ９００に存在しないが、「Ｎｏ．１」の出力データ８の有無に係らず、レポジトリ９００に保持されている「Ｎｏ．４」の出力データ８を再利用することで、学習処理Ｂを行える。
【００６８】
モデル３の作成では、レポジトリ９００に新たに蓄積される出力データ８はない。「Ｎｏ．１」の出力データ８の削除による影響は少なく、また、「Ｎｏ．４」の出力データ８を再利用することで、特徴抽出処理Ａの全ての処理７の実行を省略できる。
【００６９】
図６は、削除の影響の他の例を説明するための図である。図６では、レポジトリ９００から、特徴抽出処理４０の最終段階で生成された「Ｎｏ．４」の出力データ８を削除した場合の他の処理への影響を説明する。
【００７０】
モデル１の作成では、特徴抽出処理Ａが行われたことで、レポジトリ９００に、「Ｎｏ．１」から「Ｎｏ．４」の４個の出力データ８が記憶される。
【００７１】
上述した既存のＬＦＵ等を用いた場合、
・特徴抽出処理Ａの実行により、「Ｎｏ．１」、「Ｎｏ．２」、「Ｎｏ．３」、及び「Ｎｏ．４」の４個の出力データ８がレポジトリ９００に蓄積される。
・特徴抽出処理Ｂが実行され、更に、「Ｎｏ．５」、「Ｎｏ．６」、「Ｎｏ．７」、及び「Ｎｏ．８」の４個の出力データ８を蓄積しようとすると、レポジトリ９００の容量のファイル７個を超えるため、レポジトリ９００から最もアクセス頻度が低い出力データ８を削除する。この例では、この時点の全出力データのアクセス頻度が同じため、その中からランダムに選んだ「Ｎｏ．４」の出力データ８を削除する。レポジトリ９００の出力データ８は３個となる。
・そして、「Ｎｏ．５」、「Ｎｏ．６」、「Ｎｏ．７」、及び「Ｎｏ．８」の４個の出力データ８をリポジトリ９００に追加する
ことが行われる。
【００７２】
そして、精度が９５％のモデル１の作成に貢献した特徴抽出処理Ａが採用され、モデル１の学習処理Ａとは異なる学習処理Ｂとによってモデル３を作成する。モデル３の作成において、特徴抽出処理Ａの前段の処理ｂ、処理ｇ、及び処理ｍで生成される「Ｎｏ．１」、「Ｎｏ．２」、及び「Ｎｏ．３」の出力データ８は、レポジトリ９００に存在するが、他の処理ｐの「Ｎｏ．４」の出力データ８は存在しない。
【００７３】
そのため、特徴抽出処理Ａの前段へと遡り、「Ｎｏ．１」及び「Ｎｏ．３」の出力データ８を再利用して処理ｐを行い、「Ｎｏ．４」の出力データ８を得る。削除された「Ｎｏ．４」の出力データ８を再度生成したのちに、学習処理Ｂが行えるようになる。このように、機械学習において、出力データ８の直接的な使用予測だけで削除を行った場合、出力データ８を再生成するための処理が必要となり、必ずしも適切ではない。
【００７４】
上述したように、この例では、各特徴抽出処理の最初の処理で生成される出力データ８の削除の影響は小さいが、特徴抽出処理の最後の処理（学習処理の直前の処理）で生成される出力データ８の削除の影響は大きい。
【００７５】
本実施例では、その出力データ８を削除した場合に他の処理に与える影響の大きさを考慮して、各出力データ８に削除影響情報を与えることで、削除の影響が大きいほど優先度が低く、削除の影響が小さいほど優先度が高くなるように、出力データ８ごとの優先度を決定し、優先度が低い出力データ８から削除することで、削除の影響を抑えた出力データ８の削除を実現する。
【００７６】
本実施例における、削除の影響を抑えて出力データ８を削除する削除順序決定処理３９９を行う情報処理装置１００の機能構成例について説明する。図７は、情報処理装置の機能構成の一例を示す図である。
【００７７】
図７において、情報処理装置１００は、機械学習によってモデルを生成する装置であって、特徴抽出処理部４００と、学習処理部５００と、評価処理部６００と、処理部３００と、削除順序決定部３９０とを有する。特徴抽出処理部４００と、学習処理部５００と、評価処理部６００と、処理部３００と、削除順序決定部３９０の各々は、情報処理装置１００にインストールされたプログラムが、情報処理装置１００のＣＰＵ１１に実行させる処理により実現される。
【００７８】
また、情報処理装置１００の記憶部２００には、シンボルテーブル２１０、元データ３、メタ情報テーブル２３０、及びレポジトリ９００等が記憶される。
【００７９】
特徴抽出処理部４００は、特徴抽出処理４０を行う。学習処理部５００は、学習処理５０を行う。評価処理部６００は、評価処理６０を行う。
【００８０】
処理部３００は、特徴抽出処理部４００と、学習処理部５００と、評価処理部６００の各々から処理命令３９を受信し、処理命令３９に従った処理７を実行し、出力データ８を生成する。そして、処理部３００は、生成された出力データ８を、出力データ８が生成されるまでの処理内容と共にレポジトリ９００に蓄積する。処理部３００は、更に、処理命令パース部３１０と、出力データ検索部３２０と、処理実行部３３０と、とを有する。
【００８１】
処理命令パース部３１０は、処理命令３９の解析結果及びシンボルテーブル２１０を参照して処理内容を作成し、出力名と作成した処理内容とをシンボルテーブル２１０に格納する。シンボルテーブル２１０に、既に同一の出力名が存在する場合、シンボルテーブル２１０へは新たに記憶しない。
【００８２】
出力データ検索部３２０は、シンボルテーブル２１０を参照して出力名から処理内容を取得し、メタ情報テーブル２３０から処理内容に対応付けられた出力ＩＤを用いて、レポジトリ９００を検索する。
【００８３】
レポジトリ９００に出力データ８が存在する場合、処理命令３９で指定された処理７の実行を完了したものとする。処理実行部３３０による処理７の実行は行われない。一方、レポジトリ９００に出力データ８が存在しない場合、処理実行部３３０によって処理７が実行される。
【００８４】
処理実行部３３０は、レポジトリ９００に出力データ８が存在しない場合に、処理命令３９で指定された処理７を実行する。処理実行部３３０は、処理７の実行により生成された出力データ８に対して、レポジトリ９００において一意に特定する出力ＩＤを付与し、出力データ８を処理７を実行して得られる実行時間及びペナルティと対応付けてメタ情報テーブル２３０に追加する。出力ＩＤが付与された出力データ８は、レポジトリ９００に格納される。
【００８５】
実行時間は、処理７の開始から終了までの時間である。ペナルティは、レポジトリ９００の消費量のうち、生成された出力データ８がどの程度占めているかの情報である。寄与度は、生成された出力データ８を直接的又は間接的に入力データとして使う処理の結果が適切と判断される場合、その適切な度合を示す情報である。
【００８６】
削除順序決定部３９０は、削除順序決定処理３９９を行う処理部であり、その出力データ８を生成する際にかかったコスト（生成コスト）、その出力データ８を残した場合に記憶資源を占有するペナルティ、その出力データが使われる未来の処理への寄与度、その出力データを削除した場合に他の処理に与える影響の大きさを考慮して削除する順序を決定する。優先度が付与された出力データ８は、記憶資源の空き容量が閾値を上回るまで優先度が低い順にレポジトリ９００から削除される。削除順序決定部３９０は、更に、記憶資源監視部３４０と、優先度算出部３５０と、出力データ削除部３６０とを有する。
【００８７】
記憶資源監視部３４０は、レポジトリ９００の空き容量を監視し、空き容量が不足しそうな状況を検知すると、優先度算出部３５０に優先度の算出の指示をする。
【００８８】
優先度算出部３５０は、メタ情報テーブル２３０を参照して、実行時間と使用頻度とを用いて、処理内容に基づいて出力データ８が削除された場合の影響の度合いを示す削除影響情報を算出する。また、優先度算出部３５０は、実行時間、ペナルティ、寄与度、及び算出した削除影響情報に基づいて、各出力データ８の優先度を算出する。
【００８９】
出力データ削除部３６０は、優先度算出部３５０によって算出された優先度の低い出力データ８から順に、レポジトリ９００から削除する。
【００９０】
シンボルテーブル２１０は、出力名毎に処理内容を対応付けて記憶したテーブルである。レポジトリ９００は、出力データ８を、メタ情報テーブル２３０の出力ＩＤと関連付けて蓄積する記憶領域である。メタ情報テーブル２３０は、実行時間、ペナルティ、及び寄与度等を記憶したテーブルである。
【００９１】
図７において、特徴抽出処理部４００、学習処理部５００、及び評価処理部６００は、情報処理装置１００とネットワークで接続される端末で実装されてもよい。また、元データ３とレポジトリ９００とは、夫々個別のデータを管理するサーバ等で保持及び管理されていてもよい。また、削除順序決定部３９０を、個別の装置として構成してもよい。
【００９２】
本実施例における情報処理装置１００は、図８に示すようなハードウェア構成を有する。図８は、情報処理装置のハードウェア構成を示す図である。図８において、情報処理装置１００は、コンピュータによって制御される装置であって、ＣＰＵ（Central  Processing  Unit）１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、通信Ｉ／Ｆ（インターフェース）１７と、ドライブ装置１８とを有し、バスＢに接続される。
【００９３】
ＣＰＵ１１は、主記憶装置１２に格納されたプログラムに従って情報処理装置１００を制御するプロセッサに相当する。主記憶装置１２には、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を記憶又は一時保存する。
【００９４】
補助記憶装置１３には、ＨＤＤ（Hard  Disk  Drive）等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置１３に格納されているプログラムの一部が主記憶装置１２にロードされ、ＣＰＵ１１に実行されることによって、各種処理が実現される。主記憶装置１２及び補助記憶装置１３が、記憶部２００に相当する。
【００９５】
入力装置１４は、マウス、キーボード等を有し、分析者が情報処理装置１００による処理に必要な各種情報を入力するために用いられる。表示装置１５は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。入力装置１４と表示装置１５とは、一体化したタッチパネル等によるユーザインタフェースであってもよい。通信Ｉ／Ｆ１７は、有線又は無線などのネットワークを通じて通信を行う。通信Ｉ／Ｆ１７による通信は無線又は有線に限定されるものではない。
【００９６】
情報処理装置１００によって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact  Disc  Read-Only  Memory）等の記憶媒体１９によって情報処理装置１００に提供される。
【００９７】
ドライブ装置１８は、ドライブ装置１８にセットされた記憶媒体１９（例えば、ＣＤ−ＲＯＭ等）と情報処理装置１００とのインターフェースを行う。
【００９８】
また、記憶媒体１９に、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体１９に格納されたプログラムは、ドライブ装置１８を介して情報処理装置１００にインストールされる。インストールされたプログラムは、情報処理装置１００により実行可能となる。
【００９９】
尚、プログラムを格納する記憶媒体１９はＣＤ−ＲＯＭに限定されず、コンピュータが読み取り可能な、構造（structure）を有する１つ以上の非一時的（non-transitory）な、有形（tangible）な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【０１００】
次に、情報処理装置１００における、処理命令３９の受信から出力データ８の削除までの処理のうち、寄与度が算出されるまでの処理部３００による第一の処理例を説明する。図９は、処理命令の受信から寄与度が算出されるまでの第一の処理例を説明するためのフローチャート図である。図９において、処理命令３９の受信毎にＣＰＵ１１によって、ステップＳ７０１〜Ｓ７０９の処理が行われる。
【０１０１】
処理命令３９を受信すると、処理命令パース部３１０は、処理命令３９をパースして、処理のプログラム名又はコマンドと引数とを含む処理コマンドと、入力名と、出力名とに分解する（ステップＳ７０１）。
【０１０２】
処理命令パース部３１０は、出力名毎に処理内容を記憶したシンボルテーブル２１０を参照して、処理コマンドと入力名とから、受信した処理命令３９の処理内容を生成し、シンボルテーブル２１０に記憶する（ステップＳ７０２）。処理内容は、過去に遡ってなされた処理内容を含むように生成される。
【０１０３】
次に、出力データ検索部３２０が、メタ情報テーブル２３０を参照し、レポジトリ９００内に生成した処理内容の出力データ８を検索する（ステップＳ７０３）。メタ情報テーブル２３０に生成した処理内容が存在するか否かが検索される。生成した処理内容が存在する場合、出力データ８があると判断する。
【０１０４】
出力データ検索部３２０は、出力データ８が存在するか否かを判断する（ステップＳ７０４）。出力データ８が存在する場合（ステップＳ７０４のＹＥＳ）、削除順序決定処理は処理コマンドを実行せずに終了する。
【０１０５】
一方、出力データ８が存在しない場合（ステップＳ７０４のＮＯ）、処理実行部３３０は、処理コマンドが学習処理５０か否かをチェックする（ステップＳ７０５）。
【０１０６】
処理コマンドの処理種別を判別するために、特徴抽出処理４０と、学習処理５０とを区別するための定義ルールを定める。一例として、
処理種別：「特徴抽出処理」と「学習処理」の２種類を区別可能にする。
【０１０７】
定義ルール：「特徴抽出処理」における接頭辞＝“fs_”
「学習処理」における接頭辞＝“ml_”
のように定める。
【０１０８】
処理コマンドが学習処理５０でない場合（ステップＳ７０５のＮＯ）、即ち、特徴抽出処理４０のいずれかの処理７の場合、処理実行部３３０は、処理命令パース部３１０が生成した処理内容を用いて、レポジトリ９００から、必要な入力データを読み出し、処理コマンドを実行する（ステップＳ７０６）。処理内容に含まれる過去の処理内容の出力データ８が、入力データとなる。
【０１０９】
処理実行部３３０は、処理コマンドの実行時の実行時間と出力データ８のサイズとを測定し、生成した処理内容に対応付けてメタ情報テーブル２１０に追加して記憶する（ステップＳ７０７）。
【０１１０】
処理実行部３３０は、レポジトリ９００から蓄積されていた出力データ８を入力データとして読み出した場合は、メタ情報テーブル２３０内の、読み出した出力データ８の処理内容のレコードの使用頻度に１を加算して更新する（ステップＳ７０８）。その後、処理部３００による処理は終了する。
【０１１１】
一方、処理コマンドが学習の場合（ステップＳ７０５のＹＥＳ）、処理実行部３３０は、メタ情報テーブル２３０における、生成された処理内容に含まれる全ての過去の処理内容の各レコードの寄与度に、その処理内容に対応付けられた出力データが学習処理を実行して得た学習結果にどの程度貢献したかの度合いを示す値を追加する。例えば遺伝的アルゴリズムを用いた逐次的な特徴抽出処理を伴う機械学習の場合、その固体（特徴の組み合わせ）を用いて学習した結果（モデル）の精度を追加する（ステップＳ７０９）。その後、処理部３００による処理は終了する。
【０１１２】
図９のステップＳ７０２にて、処理命令パース部３１０による処理内容を生成する方法について説明する。図１０は、図９のステップＳ７０２における、処理内容を生成する方法を説明するための図である。
【０１１３】
図１０（Ａ）の処理内容を例として、処理内容を生成する方法について説明する。図１０（Ａ）では、処理７ａ及び処理７ｂが元データ３の値を用いて特徴を抽出する初期処理段階に相当し、処理７ｃは、学習用データ９に相当する出力データ８ｃを生成する最終処理段階に相当する。処理７ａ〜処理７ｃの記載例において、ｃｍｄはコマンドを表し、ａｒｇは引数を示す。従って、処理７ａの記載
ｃｍｄ−Ａ
ａｒｇ＝１０
は、ｃｍｄ−Ａでコマンドが特定され、ａｒｇ＝１０で引数「１０」が指定されていることを示す。処理ｂでは「ｃｍｄ−Ｂ」が指定され、処理ｃでは「ｃｍｄ−Ｃ」が指定されている。また、出力データ８ａ、８ｂ、及び８ｃは、夫々、ｆ０、ｆ１、及びｏｕｔ１で特定されるものとする。
【０１１４】
次に、図１０（Ｂ）及び図１０（Ｃ）で、処理内容の生成例を説明する。図１０（Ｂ）では、処理命令３９を受信した順に、処理命令パース部３１０が解析した結果を例示している。図１０（Ｃ）では、シンボルテーブル２１０の状態遷移を示している。
【０１１５】
先ず、「cmd-A  arg=10  output=f0」の処理命令３９を受信すると、処理命令パース部３１０は、処理命令３９を、処理コマンド「cmd-A  arg=10」、及び出力名「f0」に分解する。この例では、入力名が含まれていなかったため、入力名「なし」と判定される。
【０１１６】
処理命令３９には、入力名が存在しないため、シンボルテーブル２１０を検索することなく、処理命令パース部３１０は、処理コマンド「cmd-A  arg=10」を処理内容とし、解析結果の出力名「f0」に処理内容「cmd-A  arg=10」を対応づけたレコードをシンボルテーブル２１０に追加する。
【０１１７】
初期状態、即ち、空の状態であったシンボルテーブル２１０に、出力名「f0」に処理内容「cmd-A  arg=10」を対応づけたレコードが追加される。
【０１１８】
次に、「cmd-B  output=f1」の処理命令３９を受信すると、処理命令パース部３１０は、処理命令３９を、処理コマンド「cmd-B」、及び出力名「f1」に分解する。この例においても、入力名が含まれていなかったため、入力名「なし」と判定される。
【０１１９】
処理命令３９には、入力名が存在しないため、シンボルテーブル２１０を検索することなく、処理命令パース部３１０は、処理コマンド「cmd-B」を処理内容とし、解析結果の出力名「f1」に処理内容「cmd-B」を対応づけたレコードをシンボルテーブル２１０に追加する。
【０１２０】
更に、「cmd-C  input=f0,f1  output=out1」の処理命令３９を受信すると、処理命令パース部３１０は、処理命令３９を、処理コマンド「cmd-C」、入力名「f0,f1」、出力名「out1」に分解する。
【０１２１】
処理命令パース部３１０は、処理命令３９で指定された入力名「f0」及び入力名「f1」の各々で、シンボルテーブル２１０の出力名を検索する。処理命令パース部３１０は、入力名「f0」でシンボルテーブル２１０から検索した出力名「f0」のレコードから、処理内容「cmd-A  arg=10」を取得する。また、処理命令パース部３１０は、入力名「f1」でシンボルテーブル２１０から検索した出力名「f1」のレコードから、処理内容「cmd-B」を取得する。
【０１２２】
そして、処理命令パース部３１０は、前述した記述形式に従って、現在の処理７ｃから過去の処理７ａ及び処理７ｂまでを含めた処理内容を表わす処理内容「cmd-C  {cmd-A  arg=10}  {cmd-B}」を生成し、解析結果の出力名「out1」に生成した処理内容cmd-C  {cmd-A  arg=10}  {cmd-B}」を対応づけたレコードをシンボルテーブル２１０に追加する。
【０１２３】
以降、処理命令３９を受信する毎に、処理命令パース部３１０は、解析して得た入力名でシンボルテーブル２１０の出力名を検索して過去の処理内容を取得して、受信した処理命令３９の処理内容を予め定めた記述形式で生成する。また、処理命令パース部３１０は、解析して得た出力名に生成した処理内容を対応付けたレコードをシンボルテーブル２１０に追加する。
【０１２４】
次に、削除順序決定部３９０による削除順序決定処理３９９について説明する。図１１は、削除順序決定処理の第一例を説明するためのフローチャート図である。図１１に示す削除順序決定処理３９９は、定期的に行われる。
【０１２５】
図１１において、記憶資源監視部３４０は、レポジトリ９００の現在の空き容量を取得し（ステップＳ７２１）、空き容量が削除順序決定を行う閾値未満か否かを判断する（ステップＳ７２２）。空き容量が閾値以上である場合（ステップＳ７２２のＮＯ）、削除順序決定処理３９９は終了する。
【０１２６】
一方、空き容量が閾値未満である場合（ステップＳ７２２のＹＥＳ）、以下に説明する、優先度算出部３５０及び出力データ削除部３６０によるステップＳ７２３〜Ｓ７２５までの処理Ｐ７０をメタ情報テーブル２３０の全レコード（即ち、全処理内容）に対して行う。
【０１２７】
優先度算出部３５０は、メタ情報テーブル２３０から１つレコードを読み出し、読み出したレコードを参照して、その時点のレポジトリ９００の消費量に対する出力データ８のサイズの割合を算出し、ペナルティとする（ステップＳ７２３）。
【０１２８】
優先度算出部３５０は、メタ情報テーブル２３０から、現時点において、処理命令パース部３１０によって生成された最新の処理内容に含まれる全ての過去の処理内容のレコードを参照して、各レコードの実行時間と、生成した処理内容の使用頻度を掛けた値を合計して、削除影響情報を取得する（ステップＳ７２４）。
【０１２９】
そして、優先度算出部３５０は、実行時間、ペナルティの逆数、寄与度、削除影響情報の値を正規化し、各値に定数を掛けて得た値を優先度とする（ステップＳ７２５）。
【０１３０】
処理Ｐ７０がメタ情報テーブル２３０の全レコードに対して行われると、次に、出力データ削除部３６０が、空き容量が閾値を上回るまで、レポジトリ９００から優先度の低い出力データ８から削除する（ステップＳ７２６）。そして、出力データ削除部３６０は、レポジトリ９００から削除した出力データ８を処理内容のレコードを、メタ情報テーブル２３０から削除する（ステップＳ７２７）。その後、削除順序決定処理を終了する。
【０１３１】
図１１のステップＳ７２４における削除影響情報の算出方法について説明する。図１２は、削除影響情報の算出方法を説明するための図である。図１２では、メタ情報テーブル２３０のうち、最新の処理内容に含まれる全ての過去の処理内容のレコードのデータ例を示している。以下、抽出レコード９１０という。
【０１３２】
図１２において、抽出レコード９１０は、処理内容、出力ＩＤ、実行時間、出力データサイズ、ペナルティの逆数、寄与度、使用頻度、削除影響情報等の項目を有する。
【０１３３】
処理内容は、処理命令パース部３１０によって生成された処理内容を示す。出力ＩＤは、出力データ８を特定する番号を示し、出力データ８の生成時に与えられる。出力データ８は、出力ＩＤをファイル名として記憶部２００に保持されることで、再利用時の特定が容易となる。
【０１３４】
実行時間は、処理実行部３３０が実行した処理７の開始から終了までの時間を示す。出力データサイズは、出力データ８のデータサイズを示す。ペナルティの逆数には、算出したペナルティを逆数にして記憶される。
【０１３５】
寄与度は、出力データ８の学習結果に対する貢献度を示す。本実施例では、モデルの精度が設定される。使用頻度は、機械学習の処理中に使用された回数を示す。削除影響情報は、出力データ８の削除後の、出力データ８を入力データとする処理７への影響度を示す。
【０１３６】
ペナルティは、
出力データ８のサイズ  ÷  レポジトリ９００の消費量
により求められ、ペナルティの逆数が、抽出レコード９１０に設定される。
【０１３７】
ある処理内容の削除影響情報は、その処理に関連する過去の処理内容の各々に対して、
実行時間  ×  使用頻度
を求め、それらを合計したものである。
【０１３８】
図１２に示す抽出レコード９１０は、最新の処理内容が「p  {m  {b}  {g}  }  {h}」であった場合のレポジトリ９００から抽出したレコードである。処理内容「p  {m  {b}  {g}  }  {h}」のレコードと、処理内容「p  {m  {b}  {g}  }  {h}」に包含される各処理内容のレコードが抽出されている。
【０１３９】
具体的には、処理内容「p  {m  {b}  {g}  }  {h}」から処理内容「m  {b}  {g}」及び処理内容「h」の２レコードが抽出される。更に、処理内容「m  {b}  {g}」から処理内容「g」及び処理内容「b」の２レコードが抽出される。合計して５レコードの抽出となる。
【０１４０】
抽出レコード９１０では、このように、処理内容の深さは、｛  ｝を用いて表し、包含される処理名は、｛  ｝内に示される。一例として、
ｐ｛ｍ｛ｂ｝｛ｇ｝｝｛ｈ｝
では、「Ｎｏ．５」の出力データ８を生成した直前の処理ｐを最初に定義し、処理ｐから遡って特定した処理７毎に｛  ｝で処理名等の処理の識別子を示している。処理ｐの直前には、処理ｍ及び処理ｈが行われており、更に、処理ｍの直前には、処理ｂ及び処理ｇが行われたことを示している。
【０１４１】
このような記述形式で、出力データ８が生成されるまでの処理内容を表わすことで、処理内容「p  {m  {b}  {g}  }  {h}」に基づいて、５つのレコードが抽出される。
【０１４２】
このデータ例において、「Ｎｏ．１」の出力データ８を生成した処理内容「b」のレコードでは、実行時間「３００」と出力データ８のサイズ「１１０」とからペナルティの逆数「４．５」を得る。処理内容「b」は、包含する処理内容を含まないため、自身の実行時間「３００」に使用頻度「１」を乗算した値が削除影響情報に設定される。
【０１４３】
「Ｎｏ．２」及び「Ｎｏ．３」の出力データ８を生成した処理内容「g」及び処理内容「h」の各々についても同様に行われる。処理内容「g」の実行時間「４００」と出力データ８のサイズ「１００」とからペナルティの逆数「５．０」を得る。処理内容「g」は、包含する処理内容を含まないため、自身の実行時間「４００」が削除影響情報に設定される。処理内容「h」の実行時間「５００」と出力データ８のサイズ「８０」とからペナルティの逆数「６．３」を得る。処理内容「h」は、包含する処理内容を含まないため、自身の実行時間「５００」に使用頻度「１」を乗算した値が削除影響情報に設定される。
【０１４４】
「Ｎｏ．４」の出力データ８を生成した処理内容「m  {b}  {g}」では、実行時間「５０」と出力データサイズ「２００」とから、ペナルティの逆数「２．５」を得る。処理内容「m  {b}  {g}」は、処理内容「b」及び処理内容「g」を含む。従って、処理内容「b」の実行時間「３００」、処理内容「g」の実行時間「４００」、及び、自身の実行時間「５０」を合計した「７５０」（＝３００＋４００＋５０）に使用頻度「１」を乗算した値が、削除影響情報に設定される。
【０１４５】
「Ｎｏ．５」の出力データ８を生成した処理内容「p  {m  {b}  {g}  }  {h}」では、実行時間「３０」と出力データサイズ「２７０」とから、ペナルティの逆数「１．９」を得る。処理内容「p  {m  {b}  {g}  }  {h}」は、処理内容「b」、処理内容「g」、処理内容「m  {b}  {g}」及び処理内容「h」を含む。従って、処理内容「b」の実行時間「３００」、処理内容「g」の実行時間「４００」、処理内容「m  {b}  {g}」の実行時間「５０」、処理内容「h」の実行時間「５００」、及び、自身の実行時間「３０」を合計した「１２８０」（＝３００＋４００＋５０＋５００＋３０）に使用頻度「１」を乗算した値が、削除影響情報に設定される。
【０１４６】
本実施例では、更に、正規化等の調整を行った後、優先度を決定し、決定した優先度に従って、レポジトリ９００から出力データ７が削除される。
【０１４７】
次に、図１３の処理内容を例として、図１４にメタ情報テーブル２３０のデータ例を示し、本実施例における機械学習の特性を考慮した出力データ７の削除例について説明する。
【０１４８】
図１３は、処理内容の例を示す図である。図１３において、特徴抽出処理４０として、特徴抽出処理αと、特徴抽出処理βとが行われるものとし、特徴抽出処理αの実行後に特徴抽出処理βが行われるものとする。
【０１４９】
図１３において、特徴抽出処理αは、５つの処理７を有する。初段で処理ｂ、処理ｇ、及び処理ｈが行われる。処理ｂにより「Ｎｏ．１」の出力データ８が生成され、処理ｇにより「Ｎｏ．２」の出力データ８が生成され、処理ｈにより「Ｎｏ．３」の出力データ８が生成される。
【０１５０】
中段では、処理ｍにより、「Ｎｏ．１」及び「Ｎｏ．２」の出力データ８を入力データとして、「Ｎｏ．４」の出力データ８が生成される。後段では、処理ｐにより、「Ｎｏ．４」及び「Ｎｏ．３」の出力データ８を入力データとして、「Ｎｏ．５」の出力データ８が生成される。「Ｎｏ．５」の出力データ８は、学習用データ９に相当する。「Ｎｏ．５」の出力データ８に対して学習処理αが行われる。特徴抽出処理αと学習処理αとによるモデルαでは、精度「９５％」を得る。
【０１５１】
特徴抽出処理βは、５つの処理７を有する。初段で処理ｂ、処理ｅ、及び処理ｑが行われる。処理ｂにより「Ｎｏ．１」の出力データ８が生成され、処理ｅにより「Ｎｏ．６」の出力データ８が生成され、処理ｑにより「Ｎｏ．７」の出力データ８が生成される。
【０１５２】
中段では、処理ｍにより、「Ｎｏ．１」及び「Ｎｏ．６」の出力データ８を入力データとして、「Ｎｏ．８」の出力データ８が生成される。後段では、処理ｐにより、「Ｎｏ．８」及び「Ｎｏ．７」の出力データ８を入力データとして、「Ｎｏ．９」の出力データ８が生成される。「Ｎｏ．９」の出力データ８は、学習用データ９に相当する。「Ｎｏ．９」の出力データ８に対して学習処理αが行われる。特徴抽出処理βと学習処理αとによるモデルβでは、精度「７８％」を得る。
【０１５３】
図１４で示すメタ情報テーブル２３０のデータ例より、本実施例では、特徴抽出処理αと、特徴抽出処理βの他の処理ｐによって生成された「Ｎｏ．５」及び「Ｎｏ．９」の出力データ８の削除は、影響度が比較的大きいため、レポジトリ９００から削除されるのは望ましくない。
【０１５４】
一方、特徴抽出処理βでは、モデルβの精度が低く、また、前段の「Ｎｏ．７」の出力データ８を生成する処理ｑは、実行時間が短い。このような処理７は、他の処理に及ぼす影響が比較的小さいため、レポジトリ９００からの削除対象として望ましい。
【０１５５】
ただし、出力データ８個別に削除対象とすべきか否かを決定するのは望ましくなく、他の出力データ８と比べることでどちらがより削除対象として適切かを決定するのが望ましい。従って、複数の出力データ８に対して削除順序を決定する。
【０１５６】
図１４は、メタ情報テーブルのデータ例を示す図である。図１４では、レポジトリ９００の消費量が５００ＭＢ、優先度算出時の定数を全て１とし、図１３に示す処理内容に基づいた処理内容毎のデータ例を示す。
【０１５７】
メタ情報テーブル２３０は、処理内容毎に、出力データ８を特定し、削除順序の決定で参照する優先度と、優先度の算出に参照される種々の情報とを対応付けて記憶したテーブルである。
【０１５８】
メタ情報テーブル２３０は、領域９０ａと、領域９０ｂとを有する。領域９０ａでは、処理７の実行によって得られる値と、出力データ８を削除した場合の他の処理７への影響を示す削除影響情報とが記憶される。領域９０ａのうち、寄与度は、学習処理５０（と評価処理６０）の実行後に記憶される。領域９０ｂでは、処理７の実行で得た値を正規化して得た値と、出力データ８の削除順序を決定する優先度とを記憶する。
【０１５９】
領域９０ａに記憶される情報に関しては、図１２で説明した通りであるため各項目の説明を省略する。出力データサイズのレポジトリ９００の消費量に対する割合に基づいてペナルティの逆数が算出される。また、包含される処理内容の夫々の実行時間を合算した値に使用頻度を乗算することで、削除影響情報が算出される。
【０１６０】
領域９０ｂでは、領域９０ａの項目のうち、実行時間、ペナルティの逆数、寄与度、及び削除影響情報を正規化した値が設定され、正規化後の各項目値に定数（この例では１）をかけた値を合算して得た値が優先度に設定されている。
【０１６１】
図１４のデータ例では、図１３の特徴抽出処理βの処理内容で領域９０ａを説明する。特徴抽出処理βの初段の処理ｂ、処理ｅ、及び処理ｑのうち、処理ｂで生成される「Ｎｏ．１」の出力データ８は、レポジトリ９００から再利用することで、処理ｂは省略される。従って、メタ情報テーブル２３０には記憶されない。
【０１６２】
処理内容「ｅ」により、「Ｎｏ．６」の出力データ８が生成され、実行時間「４００」、出力データサイズ「１２０」、ペナルティの逆数「４．２」、及び寄与度「７８」％が記憶される。また、削除影響情報は「４００」である。
【０１６３】
処理内容「ｑ」により、「Ｎｏ．７」の出力データ８が生成され、実行時間「２００」、出力データサイズ「９０」、ペナルティの逆数「５．６」、及び寄与度「７８」％が記憶される。また、削除影響情報は「２００」である。
【０１６４】
処理内容「m  {b}  {e}」により、「Ｎｏ．８」の出力データ８が生成され、実行時間「５０」、出力データサイズ「２２０」、ペナルティの逆数「２．３」、及び寄与度「７８」％が記憶される。また、削除影響情報は「７５０」である。
【０１６５】
処理内容「p  {m  {b}  {e}}  {q}」により、「Ｎｏ．９」の出力データ８が生成され、実行時間「２０」、出力データサイズ「３００」、ペナルティの逆数「１．７」、及び寄与度「７８」％が記憶される。また、削除影響情報は「９７０」である。
【０１６６】
次に、領域９０ｂを説明する。領域９０ａの実行時間、ペナルティの逆数、寄与度、及び削除影響情報を正規化し、夫々の値が設定される。
【０１６７】
処理内容「ｅ」に対して、正規化により、実行時間「０．３１」、ペナルティの逆数「０．００２０」、寄与度「０．０６」、及び削除影響情報「０．３１」を得て、領域９０ｂの正規化後の夫々の項目に記憶される。正規化後の全ての値に定数（＝１）をかけて合計することで、処理内容「ｅ」の優先度「０．６８」を得て記憶される。
【０１６８】
処理内容「ｑ」に対して、正規化により、実行時間「０．１６」、ペナルティの逆数「０．００３０」、寄与度「０．０６」、及び削除影響情報「０．１６」を得て、領域９０ｂの正規化後の夫々の項目に記憶される。正規化後の全ての値に定数（＝１）をかけて合計することで、処理内容「ｑ」の優先度「０．３７」を得て記憶される。
【０１６９】
処理内容「m  {b}  {e}」に対して、正規化により、実行時間「０．０４」、ペナルティの逆数「０．０００５」、寄与度「０．０６」、及び削除影響情報「０．５９」を得て、領域９０ｂの正規化後の夫々の項目に記憶される。正規化後の全ての値に定数（＝１）をかけて合計することで、処理内容「m  {b}  {e}」の優先度「０．６８」を得て記憶される。
【０１７０】
処理内容「p  {m  {b}  {e}}  {q}」に対して、正規化により、実行時間「０．０１」、ペナルティの逆数「０．００００」、寄与度「０．０６」、及び削除影響情報「０．７６」を得て、領域９０ｂの正規化後の夫々の項目に記憶される。正規化後の全ての値に定数（＝１）をかけて合計することで、処理内容「p  {m  {b}  {e}}  {q}」の優先度「０．８３」を得て記憶される。
【０１７１】
レポジトリ９００の容量に応じて、優先度の小さい順に出力データ８が削除される。このデータ例では、処理内容「ｑ」で生成された「Ｎｏ．７」の出力データ８が最初に削除される。また、「Ｎｏ．５」の出力データ８の優先度「１．１０」は最も高く、「Ｎｏ．３」の出力データ８の優先度「０．８６」が次に高く、「Ｎｏ．９」の出力データ８の優先度「０．８３」がさらに次に続く。
【０１７２】
これらの結果は、図１３で説明した、「Ｎｏ．７」の出力データ８が影響度が比較的小さいデータであること、「Ｎｏ．５」及び「Ｎｏ．９」の出力データ８が影響度が比較的大きいデータであることと合致する。従って、本実施例において算出された優先度は、機械学習において、削除の影響を抑えて、リポジトリ９００に蓄積された出力データ８を削除できる。
【０１７３】
次に、処理命令３９の受信からレポジトリ９００内の出力データ８の削除までの処理について説明する。図１５及び図１６は、処理命令の受信から寄与度が算出されるまでの第二の処理例を説明するためのフローチャート図である。
【０１７４】
図１５及び図１６では、特徴抽出処理４０は２つのfs_cmd-V及びfs_cmd-Wを有する簡潔な処理内容とする。fs_cmd-Vで生成された出力データ８がfs_cmd-Wに入力され、fs_cmd-Wの出力データ８は学習用データ９に相当するとする場合で説明する。後述する処理により、シンボルテーブル２１０とメタ情報テーブル２３０には、fs_cmd-Vの情報が記憶されているとし、fs_cmd-Wを指定する処理命令３９を受信した場合で、データ例と対応付けて以下に第二の処理例を説明する。
【０１７５】
図１５において、処理命令３９を受信すると、処理命令パース部３１０は、処理命令３９をパースして、処理のプログラム名又はコマンドと引数とを含む処理コマンドと、入力名と、出力名とに分解する（ステップＳ８０１）。
【０１７６】
処理命令パース部３１０は、処理命令パース部３１０は、入力名があるか否かを判断する（ステップＳ８０２）。入力名がない場合（ステップＳ８０２のＮＯ）、処理命令パース部３１０は、処理コマンドから処理内容を生成し、出力名に対応付けたレコードをシンボルテーブル２１０−２に追加する（ステップＳ８０３）。
【０１７７】
一方、入力名がある場合（ステップＳ８０２のＹＥＳ）、処理命令パース部３１０は、入力名でシンボルテーブル２１０−２の出力名を検索して、過去の処理内容を取得する（ステップＳ８０４）。そして、処理命令パース部３１０は、処理コマンドと、取得した過去の処理内容とから新たな処理内容を生成し、出力名に対応付けたレコードをシンボルテーブル２１０−２に追加する（ステップＳ８０５）。
【０１７８】
シンボルテーブル２１０−２には、既に、出力名「outNo.1」に対応付けて処理内容「fs_cmd-V」が記憶されている。更に、fs_cmd-Wについて情報が追加される。fs_cmd-Wは、fs_cmd-Vの出力データ８「outNo.1」を入力データとするため、fs_cmd-Wの処理内容は、「fs_cmd-W  {fs_cmd-V}」で表され、fs_cmd-Wの出力データ８「outNo.2」に対応付けて処理内容「fs_cmd-W  {fs_cmd-V}」がシンボルテーブル２１０−２に追加して記憶される。
【０１７９】
ステップＳ８０３又はＳ８０５の処理後、出力データ検索部３２０は、メタ情報テーブル２３０を参照し、生成した処理内容の出力データ８を検索する（ステップＳ８０６）。メタ情報テーブル２３０に生成した処理内容が存在するか否かが検索される。生成した処理内容が存在する場合、出力データ８があると判断する。
【０１８０】
出力データ検索部３２０は、出力データ８が存在するか否かを判断する（ステップＳ８０７）。出力データ８が存在する場合（ステップＳ８０７のＹＥＳ）、処理部３００による処理は終了する。
【０１８１】
一方、出力データ８が存在しない場合（ステップＳ８０７のＮＯ）、処理実行部３３０が、処理命令パース部３１０が生成した処理内容を用いて、レポジトリ９００から、必要な入力データを読み出し、処理コマンドを実行する（ステップＳ８０８）。処理内容に含まれる過去の処理内容の出力データ８が、入力データとなる。
【０１８２】
処理実行部３３０は、処理コマンドの実行時の実行時間と、実行により生成された出力データ８のサイズとを測定し、メタ情報テーブル２３０−２に記憶する（ステップＳ８０９）。
【０１８３】
メタ情報テーブル２３０−２には、既に、処理内容「fs_cmd-V」に対応付けて、実行時間「３００」秒、出力サイズ「１００」ＭＢ、使用頻度「０」が設定されたレコードが存在する。寄与度は設定されない。
【０１８４】
更に、実行されたfs_cmd-Wに関して、生成した処理内容「fs_cmd-W  {fs_cmd-V}」に対応付けて、実行時間「５０」秒、出力サイズ「２００」ＭＢ、使用頻度「０」が設定されたレコードが存在する。寄与度は設定されない。
【０１８５】
そして、処理実行部３３０は、測定した出力データ８のサイズがレポジトリ９００の空き領域の閾値以上であるか否かを判定する（ステップＳ８１０）。空き領域の閾値以上である場合（ステップＳ８１０のＹＥＳ）、図１８及び図１９で後述される削除順序決定処理が行われる。
【０１８６】
一方、空き領域の閾値未満である場合（ステップＳ８１０のＮＯ）、処理実行部３３０によって生成された出力データ８はレポジトリ９００に蓄積される（ステップＳ８１１）。
【０１８７】
図１６において、処理実行部３３０は、レポジトリ９００から出力データ８を入力データとして読み出したか否かを判断する（ステップＳ８１２）。出力データ８を入力データとして読み出していない場合（ステップＳ８１２のＮＯ）、処理実行部３３０はステップＳ８１４へと進む。
【０１８８】
一方、出力データ８を入力データとして読み出した場合（ステップＳ８１２のＹＥＳ）、処理実行部３３０は、メタ情報テーブル２３０−２の、読み出した出力データ８を生成した処理内容のレコードの使用頻度に１加算して更新する（ステップＳ８１３）。
【０１８９】
fs_cmd-Wはfs_cmd-Vが生成した出力データ８「outNo.1」を入力データとするため、メタ情報テーブル２３０−２の処理内容「fs_cmd-V」のレコードにおいて使用頻度に１が加算される。
【０１９０】
処理実行部３３０は、処理コマンドは学習処理５０か否かを判断する（ステップＳ８１４）。接頭辞が“ml_”であるか否かを判断すればよい。学習処理でない場合（ステップＳ８１４のＮＯ）、第二の処理例は終了し、次の処理命令３９の受信に応じて、ステップＳ８０１から処理を繰り返す。fs_cmd-Wが処理対象の場合、学習処理ではないため、第二の処理例は終了する。次の処理命令３９で学習処理５０を行う接頭辞が“ml_”の処理コマンドを受信し、処理実行部３３０によって実行され、その後、ステップＳ８１４により学習処理５０であると判断される。学習処理５０によりモデルの精度「９５」％を得たものとする。
【０１９１】
処理コマンドが学習処理の場合（ステップＳ８１４のＹＥＳ）、処理実行部３３０は、メタ情報テーブル２３０から、学習処理の入力データ（学習用データ９）を生成した処理内容を検索し、モデルの精度を寄与度に追加する（ステップＳ８１５）。
【０１９２】
学習処理５０の直前の処理内容「fs_cmd-W  {fs_cmd-V}」の寄与度に「９５」％が追加される。
【０１９３】
そして、処理実行部３３０は、更に、検索した処理内容に入力データがあるか否かを判断する（ステップＳ８１６）。入力データがない場合（ステップＳ８１６のＮＯ）、第二の処理例は終了し、次の処理命令３９の受信に応じて、ステップＳ８０１から処理を繰り返す。
【０１９４】
一方、入力データがある場合（ステップＳ８１６のＹＥＳ）、処理実行部３３０は、メタ情報テーブル２３０−２から、処理内容の入力データを生成した処理内容を更に検索し、モデルの精度を寄与度に追加する（ステップＳ８１７）。
【０１９５】
処理内容「fs_cmd-W  {fs_cmd-V}」から処理内容「{fs_cmd-V}」が特定され、メタ情報テーブル３２０−２から検索される。処理内容「{fs_cmd-V}」の寄与度に「９５」％が追加される。
【０１９６】
更に複雑な処理内容の場合、包含される処理内容がなくなるまでステップＳ８１６及びＳ８１７を繰り返せばよい。
【０１９７】
上述の処理内容における、図１５のステップＳ８０２〜Ｓ８０５による処理内容の生成について詳述する。図１７は、処理内容の生成例を説明するための図である。図１７より、「fs_cmd-V  output=outNo.1」の処理命令３９を受信すると、処理命令パース部３１０は、処理命令３９を
処理コマンド：fs_cmd-V
入力名：なし
出力名：outNo.1
に分解する（ステップＳ８０１）。
【０１９８】
入力名が存在しないため（ステップＳ８０２のＮＯ）、処理命令パース部３１０は、処理コマンド「fs_cmd-V」から処理内容「fs_cmd-V」を生成して、シンボルテーブル２１０−２に追加する（ステップＳ８０３）。
【０１９９】
次の「fs_cmd-W  input=outNo.1  output=outNo.2」の処理命令３９を受信すると、処理命令パース部３１０は、処理命令３９を
処理コマンド：fs_cmd-W
入力名：outNo.1
出力名：outNo.2
に分解する（ステップＳ８０１）。
【０２００】
入力名が存在するため（ステップＳ８０２のＹＥＳ）、処理命令パース部３１０は、処理コマンド「fs_cmd-W  input=outNo.1  output=outNo.2」に基づいて、入力名「outNo.1」でシンボルテーブル２１０−２の出力名を検索して、過去の処理内容「fs_cmd-V」を取得する（ステップＳ８０４）。
【０２０１】
そして、処理命令パース部３１０は、処理コマンド「fs_cmd-W」と過去の処理内容「fs_cmd-V」とから新たな処理内容「fs_cmd-W  {fs_cmd-W}」を生成し、出力名「outNo.2」に対応付けたレコードをシンボルテーブル２１０−２に追加する（ステップＳ８０５）。
【０２０２】
次に、図１５のステップＳ８１０で、出力データサイズが空き容量の閾値以上である場合に行われる、メタ情報テーブル２３０を用いた削除順序決定処理３９９について、第二例として説明する。
【０２０３】
図１８及び図１９は、削除順序決定処理の第二例を説明するためのフローチャート図である。図１８において、記憶資源監視部３４０は、レポジトリ９００の現在の消費量を取得する（ステップ８２１）。
【０２０４】
優先度算出部３５０は、メタ情報テーブル２３０において、削除影響情報が未設定の処理内容Ｂの出力データ８のサイズと取得した消費量とから、処理内容ＢのペナルティＢｐを算出する（ステップＳ８２２）。
【０２０５】
そして、優先度算出部３５０は、メタ情報テーブル２３０から処理内容Ｂの実行時間Bexecと使用頻度Bfreqを取得する（ステップＳ８２３）。また、優先度算出部３５０は、メタ情報テーブル２３０から処理内容Ｂの入力データBinを出力した処理内容Ａを検索し、実行時間Aexecと使用頻度Afreqを取得する（ステップＳ８２４）。
【０２０６】
優先度算出部３５０は、実行時間Aexecに使用頻度Afreqをかけた値を、実行時間Bexecに使用頻度Bfreqをかけた値に加算する（ステップＳ８２５）。
【０２０７】
優先度算出部３５０は、処理内容Ａの入力データAinがあるか否かを判断する（ステップＳ８２６）。入力データAinがある場合（ステップＳ８２６のＹＥＳ）、優先度算出部３５０は、処理内容Ａを処理内容Ｂとして（ステップＳ８２７）、ステップＳ８２３へと戻り上述同様の処理を繰り返す。
【０２０８】
一方、入力データAinがない場合（ステップＳ８２６のＮＯ）、優先度算出部３５０は、ステップＳ８２４からＳ８２７の繰り返しによって得た、実行時間Bexecに使用頻度Bfreqをかけた値に、過去の過去の各処理内容の実行時間に使用頻度を掛けた値を全て加算した合算値を、処理内容Ｂの削除影響情報Brとする（ステップＳ８２８）。メタ情報テーブル２３０において、ステップＳ８２２で処理対象とした最も最近の処理内容Ｂのレコードに削除影響情報Brが設定される。
【０２０９】
そして、優先度算出部３５０は、メタ情報テーブル２３０内の全処理内容の削除影響情報を算出したか否かを判断する（ステップＳ８２９）。削除影響情報を算出していない処理内容が存在する場合（ステップＳ８２９のＮＯ）、優先度算出部３５０は、ステップＳ８２２へと戻り、上述同様の処理を繰り返す。
【０２１０】
一方、全処理内容の削除影響情報を算出した場合（ステップＳ８２９のＹＥＳ）、メタ情報テーブル２３０の領域９０ａの寄与度以外の各項目の値の設定は終了している。この場合、優先度算出部３５０は、図１９のステップＳ８３０へと進む。
【０２１１】
図１９にて、優先度算出部３５０は、処理内容Ｂの実行時間Bexec、ペナルティBpの逆数、寄与度Bc、削除影響情報Brの値を正規化して、メタ情報テーブル２３０の領域９０ｂの夫々の項目に設定する（ステップＳ８３０）。
【０２１２】
優先度算出部３５０は、正規化した値に定数を掛けた値を、メタ情報テーブル２３０内の処理内容Ｂの優先度に設定する（ステップＳ８３１）。そして、優先度算出部３５０は、メタ情報テーブル内の全処理内容の優先度を算出したか否かを判断する（ステップＳ８３２）。全処理内容の優先度を算出していない場合（ステップＳ８３２のＮＯ）、優先度算出部３５０は、次のレコードの処理内容を処理内容Ｂとして、ステップＳ８３０へと戻り上述した処理を繰り返す。
【０２１３】
一方、全処理内容の優先度を算出した場合（ステップＳ８３２のＹＥＳ）、出力データ削除部３６０は、優先度の一番低い処理内容Ｘの出力データ８をレポジトリ９００から削除し、メタ情報テーブル２３０から処理内容Ｘのレコードを削除する（ステップＳ８３３）。
【０２１４】
その後、記憶資源監視部３４０は、レポジトリ９００の空き容量が削除順序決定を行う閾値未満か否かを判断する（ステップＳ８３４）。空き容量が閾値未満の場合（ステップＳ８３４のＹＥＳ）、削除順序決定処理は、ステップＳ８３３へと戻り、出力データ削除部３６０による出力データ８の削除を繰り返す。
【０２１５】
一方、空き容量が閾値以上の場合（ステップＳ８３４のＮＯ）、削除順序決定処理は、終了する。
【０２１６】
図１８のステップＳ８２１からＳ８２９までの処理は、メタ情報テーブル２３０の領域９０ａの項目値の算出に関する処理に相当し、図１９のステップＳ８３０からＳ８３４までの処理は、メタ情報テーブル２３０の領域９０ｂの項目値の算出に関する処理に相当する。
【０２１７】
機械学習において蓄積された出力データ８は、直接的に再利用されるだけでなく、別の計算に利用される場合も存在するため、出力データ８の直接的な使用予測だけで削除を行うことは必ずしも適切ではない。
【０２１８】
一方、本実施例では、上述したように、削除することによる他の処理への影響が大きい出力データ８と影響が小さい出力データ８とを区別して、影響が小さい出力データ８を優先して削除することで、より削除による影響を抑えた出力データ８の削除を可能とする。
【０２１９】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、主々の変形や変更が可能である。
【０２２０】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
コンピュータに、
対象データから複数の処理を経て最終結果を求める過程で生成され、記憶装置に蓄積された複数の出力データのそれぞれについて、前記複数の処理の各処理の処理内容、及び、前記記憶装置に蓄積された出力データの情報を参照して、該出力データを生成するまでの１以上の処理に掛った実行時間を用いて、該出力データの削除による影響の程度を示した削除影響情報を生成し、
前記複数の出力データそれぞれの前記削除影響情報に基づいて、前記記憶装置から削除する出力データを抽出する
処理を実行させるデータ削除決定プログラム。
（付記２）
前記コンピュータに、
前記出力データを生成した処理に関連する過去の処理毎の前記実行時間に該出力データの前記複数の処理における使用頻度を乗算して得た値を合算して、前記削除影響情報を取得する
処理を実行させる付記１記載のデータ削除決定プログラム。
（付記３）
前記コンピュータに、
前記削除影響情報を用いて、前記複数の処理における処理間の入出力に基づく処理内容において、他の処理に影響を与える出力データを前記記憶装置に残すように優先度を決定する
処理を実行させる付記２記載のデータ削除決定プログラム。
（付記４）
前記コンピュータに、
前記実行時間と、前記出力データのサイズと、前記記憶装置の消費量に対する該出力データの占有程度を示すペナルティの逆数と、前記使用頻度と、前記複数の処理を経て最終結果を求める処理の最終結果への貢献度合いを示す寄与度と、前記削除影響情報とを、前記出力データを生成するまでの前記過去の処理を含めて表した処理内容に対応付けてテーブルに記憶させ、
前記テーブルを参照して、前記処理内容毎に、前記実行時間と、前記ペナルティの逆数と、前記寄与度と、前記削除影響情報とを正規化し、正規化した値それぞれに定数を乗算した値を合計して、前記出力データを前記記憶部に残す優先度を決定し、決定した該優先度を該処理内容に対応付けて該テーブルに記憶し、
前記記憶装置が空き領域が閾値以上となるまで、前記テーブルにおいて優先度の低い順に、前記出力データを該記憶装置から削除する
処理を実行させる付記２記載のデータ削除決定プログラム。
（付記５）
コンピュータが、
対象データから複数の処理を経て最終結果を求める過程で生成され、記憶装置に蓄積された複数の出力データのそれぞれについて、前記複数の処理の各処理の処理内容、及び、前記記憶装置に蓄積された出力データの情報を参照して、該出力データを生成するまでの１以上の処理に掛った実行時間を用いて、該出力データの削除による影響の程度を示した削除影響情報を生成し、
前記複数の出力データそれぞれの前記削除影響情報に基づいて、前記記憶装置から削除する出力データを抽出する
処理を行うデータ削除決定方法。
（付記６）
対象データから複数の処理を経て最終結果を求める過程で生成され、記憶装置に蓄積された複数の出力データのそれぞれについて、前記複数の処理の各処理の処理内容、及び、前記記憶装置に蓄積された出力データの情報を参照して、該出力データを生成するまでの１以上の処理に掛った実行時間を用いて、該出力データの削除による影響の程度を示した削除影響情報を生成する生成部と、
前記複数の出力データそれぞれの前記削除影響情報に基づいて、前記記憶装置から削除する出力データを抽出する抽出部と
を有するデータ削除決定装置。
【符号の説明】
【０２２１】
３        元データ
７        処理
８        出力データ
３９        処理命令
４０        特徴抽出処理
５０        学習処理
６０        評価処理
１００      情報処理装置
２００      記憶部
２１０      シンボルテーブル
２３０      メタ情報テーブル
３００      処理
３１０      処理命令パース部
３２０      出力データ検索部
３３０      処理実行部
３４０      記憶資源監視部
３５０      優先度算出部
３６０      出力データ削除部
３９０      削除順序決定部
４００      特徴抽出処理部
５００      学習処理部
６００      評価処理部
９００      レポジトリ
【図１】
2017211768.tif 000003
【図２】
2017211768.tif 000004
【図３】
2017211768.tif 000005
【図４】
2017211768.tif 000006
【図５】
2017211768.tif 000007
【図６】
2017211768.tif 000008
【図７】
2017211768.tif 000009
【図８】
2017211768.tif 000010
【図９】
2017211768.tif 000011
【図１０】
2017211768.tif 000012
【図１１】
2017211768.tif 000013
【図１２】
2017211768.tif 000014
【図１３】
2017211768.tif 000015
【図１４】
2017211768.tif 000016
【図１５】
2017211768.tif 000017
【図１６】
2017211768.tif 000018
【図１７】
2017211768.tif 000019
【図１８】
2017211768.tif 000020
【図１９】
2017211768.tif 000021