(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-21
(45)【発行日】2022-06-29
(54)【発明の名称】データ生成装置、データ生成方法及びデータ生成プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20220622BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2018032358
(22)【出願日】2018-02-26
【審査請求日】2021-02-12
(73)【特許権者】
【識別番号】512079738
【氏名又は名称】株式会社グルーヴノーツ
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】最首 英裕
【審査官】吉倉 大智
(56)【参考文献】
【文献】米国特許出願公開第2018/0046926(US,A1)
【文献】米国特許出願公開第2011/0320388(US,A1)
【文献】特開2008-176503(JP,A)
【文献】再公表特許第2009/034967(JP,A1)
【文献】Eibe Frank ほか,The WEKA workbench online appendix for "Data mining: practical machine learning tools and techniques",[online],2022年01月17日,pp.7-8, p.16, pp.25-37及びp.52,インターネット:<URL:https://www.cs.waikato.ac.nz/ml/weka/Witten_et_al_2016_appendix.pdf>
【文献】阿部秀尚 ほか,ROS環境上での機械学習実行モジュールの設計と実装,第79回(平成29年)全国大会講演論文集(2) 人工知能と認知科学,一般社団法人情報処理学会,2017年03月16日,pp.2-57~2-58(4C-05)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
順序付けられた基準列のデータ及び前記基準列のデータに関連付けられたデータを含むデータ群を取得する取得部と、
識別器に入力するデータ数の指定を受け付ける入力部と、
前記データ群から、指定された前記データ数だけ連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられ、前記識別器の出力と比較されるデータを抽出する抽出部と、
前記抽出部による抽出を繰り返して、前記連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、前記識別器の学習用データを生成する生成部と、
を備え
、
前記生成部は、参照する前記基準列のデータを一つずつずらして前記抽出部による抽出を繰り返して、前記連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、前記学習用データを生成する、
るデータ生成装置。
【請求項2】
順序付けられた基準列のデータ及び前記基準列のデータに関連付けられたデータを含むデータ群を取得する取得部と、
識別器に入力するデータ数の指定を受け付ける入力部と、
前記データ群から、指定された前記データ数だけ連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられ、前記識別器の出力と比較されるデータを抽出する抽出部と、
前記抽出部による抽出を繰り返して、前記連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、前記識別器の学習用データを生成する生成部と、
を備え、
前記入力部は、前記抽出部による抽出を繰り返す際のスライド数の指定を受け付け、
前記生成部は、参照する前記基準列のデータを指定された前記スライド数ずつずらして前記抽出部による抽出を繰り返して、前記連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、前記学習用データを生成する、
るデータ生成装置。
【請求項3】
前記取得部は、それぞれ前記基準列のデータに関連付けられた複数種類のデータを含む前記データ群を取得し、
前記入力部は、前記識別器による予測対象とし、前記識別器の出力と比較するデータ種類の指定を受け付け、
前記抽出部は、前記データ群から、指定された前記データ数だけ連続している基準列のデータにそれぞれ関連付けられた前記複数種類のデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられ、前記予測対象として指定されたデータ種類のデータを抽出する、
請求項1又は2に記載の生成装置。
【請求項4】
前記入力部は、前記データ種類毎に、前記データ数の指定を受け付け、
前記抽出部は、前記複数種類のデータそれぞれから、前記データ種類毎に指定された前記データ数だけ連続している基準列のデータに関連付けられたデータを抽出する、
請求項3に記載の生成装置。
【請求項5】
順序付けられた基準列のデータ及び前記基準列のデータに関連付けられたデータを含むデータ群を取得すること、
識別器に入力するデータ数の指定を受け付けることと、
前記データ群から、指定された前記データ数だけ連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられ、前記識別器の出力と比較されるデータを抽出することと、
前記抽出することによる抽出を繰り返して、前記連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、前記識別器の学習用データを生成することと、
を含
み、
前記生成することは、参照する前記基準列のデータを一つずつずらして前記抽出することを繰り返して、前記連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、前記学習用データを生成する、
データ生成方法。
【請求項6】
順序付けられた基準列のデータ及び前記基準列のデータに関連付けられたデータを含むデータ群を取得すること、
識別器に入力するデータ数の指定を受け付けることと、
前記データ群から、指定された前記データ数だけ連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられ、前記識別器の出力と比較されるデータを抽出することと、
前記抽出することによる抽出を繰り返して、前記連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、前記識別器の学習用データを生成することと、
を含み、
前記受け付けることは、前記抽出することによる抽出を繰り返す際のスライド数の指定を受け付け、
前記生成することは、参照する前記基準列のデータを指定された前記スライド数ずつずらして前記抽出することを繰り返して、前記連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、前記学習用データを生成する、
データ生成方法。
【請求項7】
データ生成装置に備えられた演算部を、
順序付けられた基準列のデータ及び前記基準列のデータに関連付けられたデータを含むデータ群を取得する取得部、
識別器に入力するデータ数の指定を受け付ける入力部、
前記データ群から、指定された前記データ数だけ連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられ、前記識別器の出力と比較されるデータを抽出する抽出部、及び
前記抽出部による抽出を繰り返して、前記連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、前記識別器の学習用データを生成する生成部、として機能させ、
前記生成部は、参照する前記基準列のデータを一つずつずらして前記抽出部による抽出を繰り返して、前記連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、前記学習用データを生成する、データ生成プログラム。
【請求項8】
データ生成装置に備えられた演算部を、
順序付けられた基準列のデータ及び前記基準列のデータに関連付けられたデータを含むデータ群を取得する取得部、
識別器に入力するデータ数の指定を受け付ける入力部、
前記データ群から、指定された前記データ数だけ連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられ、前記識別器の出力と比較されるデータを抽出する抽出部、及び
前記抽出部による抽出を繰り返して、前記連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、前記識別器の学習用データを生成する生成部、であって、
として機能させ、
前記入力部は、前記抽出部による抽出を繰り返す際のスライド数の指定を受け付け、
前記生成部は、参照する前記基準列のデータを指定された前記スライド数ずつずらして前記抽出部による抽出を繰り返して、前記連続している基準列のデータに関連付けられたデータ及び前記連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、前記学習用データを生成する、データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ生成装置、データ生成方法及びデータ生成プログラムに関する。
【背景技術】
【0002】
近年、ニューラルネットワーク等の識別器を用いて、時系列データ等の順序付けられたデータの予測を行う技術が研究されている。識別器は、順序付けられたデータの変化を再現するように、データの一部を入力した場合に、入力したデータに続くデータを予測するように学習されることがある。
【0003】
下記特許文献1には、データ値の時系列を要素として含む集合が分割して入力される第1及び第2のニューラルネットワークと、第1及び第2のニューラルネットワークの出力の内積を入力として、予測対象時刻におけるデータ値の予測値を出力する第3のニューラルネットワークと、を含む予測モデルの学習を行う情報処理装置が記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
順序付けられたデータの予測を行う識別器は、過去に記録されたデータを入力として、将来のデータを予測する。例えば、日々の天候に関する時系列データを予測する場合、識別器は、直近数日以内に記録された天候に関するデータを入力として、翌日の天候を予測することがある。
【0006】
ここで、識別器の学習処理は、予測処理を行う場合と同じデータ形式の学習用データを用いて行われることがある。例えば、識別器により天候を予測する場合に、直近7日間に記録された天候に関するデータを識別器の入力として、翌日の天候を予測するのであれば、学習用データとして、7日間の天候に関するデータとその翌日の天候がひとまとまりとなったデータ群が必要となる。
【0007】
しかしながら、識別器の学習処理において、どのような長さの順序付けられたデータを入力とすれば識別性能を向上させることができるのかが必ずしも明らかでない場合がある。そのような場合、過去に記録されたデータが用意できたとしても、適切な学習用データを生成するための負担が過大となり、識別器の識別性能を十分に高められないことがある。
【0008】
そこで、本発明は、適切な学習用データを設定するための負担を軽減して、識別器の識別性能を十分に高める学習用データを生成することを支援するデータ生成装置、データ生成方法及びデータ生成プログラムを提供する。
【課題を解決するための手段】
【0009】
本発明の一態様に係るデータ生成装置は、順序付けられた基準列のデータ及び基準列のデータに関連付けられたデータを含むデータ群を取得する取得部と、識別器に入力するデータ数の指定を受け付ける入力部と、データ群から、指定されたデータ数だけ連続している基準列のデータに関連付けられたデータ及び連続している基準列のデータと異なる基準列のデータに関連付けられ、識別器の出力と比較されるデータを抽出する抽出部と、抽出部による抽出を繰り返して、連続している基準列のデータに関連付けられたデータ及び連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、識別器の学習用データを生成する生成部と、を備える。
【0010】
この態様によれば、識別器に入力するデータ数を指定することで、識別器に入力する一連のデータと、識別器の出力と比較されるデータとが抽出される。これにより、適切な学習用データを設定するための負担を軽減して、識別器の識別性能を十分に高める学習用データを生成することを支援することができる。
【0011】
上記態様において、取得部は、それぞれ基準列のデータに関連付けられた複数種類のデータを含むデータ群を取得し、入力部は、識別器による予測対象とし、識別器の出力と比較するデータ種類の指定を受け付け、抽出部は、データ群から、指定されたデータ数だけ連続している基準列のデータにそれぞれ関連付けられた複数種類のデータ及び連続している基準列のデータと異なる基準列のデータに関連付けられ、予測対象として指定されたデータ種類のデータを抽出してもよい。
【0012】
この態様によれば、識別器に入力するデータ数と、予測対象とするデータ種類とを指定することで、識別器に入力する一連のデータと、予測対象とするデータとが抽出される。これにより、適切な学習用データを設定するための負担を軽減して、識別器の識別性能を十分に高める学習用データを生成することを支援することができる。
【0013】
上記態様において、入力部は、データ種類毎に、データ数の指定を受け付け、抽出部は、複数種類のデータそれぞれから、データ種類毎に指定されたデータ数だけ連続している基準列のデータに関連付けられたデータを抽出してもよい。
【0014】
この態様によれば、識別器に入力するデータ数をデータ種類毎に指定することで、学習用データのデータ構造をより柔軟に調整して識別器の識別性能を十分に高める学習用データを生成することを支援することができる。
【0015】
上記態様において、生成部は、参照する基準列のデータを一つずつずらして抽出部による抽出を繰り返して、連続している基準列のデータに関連付けられたデータ及び連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、学習用データを生成してもよい。
【0016】
この態様によれば、学習用データのデータ数が多くなるように学習用データを生成することができ、適切な学習用データを設定するための負担を軽減して、識別器の識別性能を十分に高める学習用データを効率的に生成することを支援できる。
【0017】
上記態様において、入力部は、抽出部による抽出を繰り返す際のスライド数の指定を受け付け、生成部は、参照する基準列のデータを指定されたスライド数ずつずらして抽出部による抽出を繰り返して、連続している基準列のデータに関連付けられたデータ及び連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、学習用データを生成してもよい。
【0018】
この態様によれば、データの重複範囲を調整して学習用データを生成することができ、適切な学習用データを設定するための負担を軽減して、識別器の識別性能を十分に高める学習用データを効率的に生成することを支援できる。
【0019】
本発明の他の態様に係るデータ生成方法は、順序付けられた基準列のデータ及び基準列のデータに関連付けられたデータを含むデータ群を取得すること、識別器に入力するデータ数の指定を受け付けることと、データ群から、指定されたデータ数だけ連続している基準列のデータに関連付けられたデータ及び連続している基準列のデータと異なる基準列のデータに関連付けられ、識別器の出力と比較されるデータを抽出することと、抽出することによる抽出を繰り返して、連続している基準列のデータに関連付けられたデータ及び連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、識別器の学習用データを生成することと、を含む。
【0020】
この態様によれば、識別器に入力するデータ数を指定することで、識別器に入力する一連のデータと、識別器の出力と比較されるデータとが抽出される。これにより、適切な学習用データを設定するための負担を軽減して、識別器の識別性能を十分に高める学習用データを生成することを支援することができる。
【0021】
本発明の他の態様に係るデータ生成プログラムは、データ生成装置に備えられた演算部を、順序付けられた基準列のデータ及び基準列のデータに関連付けられたデータを含むデータ群を取得する取得部、識別器に入力するデータ数の指定を受け付ける入力部、データ群から、指定されたデータ数だけ連続している基準列のデータに関連付けられたデータ及び連続している基準列のデータと異なる基準列のデータに関連付けられ、識別器の出力と比較されるデータを抽出する抽出部、及び抽出部による抽出を繰り返して、連続している基準列のデータに関連付けられたデータ及び連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、識別器の学習用データを生成する生成部、として機能させる。
【0022】
この態様によれば、識別器に入力するデータ数を指定することで、識別器に入力する一連のデータと、識別器の出力と比較されるデータとが抽出される。これにより、適切な学習用データを設定するための負担を軽減して、識別器の識別性能を十分に高める学習用データを生成することを支援することができる。
【発明の効果】
【0023】
適切な学習用データを設定するための負担を軽減して、識別器の識別性能を十分に高める学習用データを生成することを支援するデータ生成装置、データ生成方法及びデータ生成プログラムを提供する。
【図面の簡単な説明】
【0024】
【
図1】本発明の実施形態に係るデータ生成装置の機能ブロック図である。
【
図2】本発明の実施形態に係るデータ生成装置の物理的構成を示す図である。
【
図3】本発明の実施形態に係るデータ生成装置により表示されるデータ一覧の例である。
【
図4】本発明の実施形態に係るデータ生成装置により取得されるデータ群の一例である。
【
図5】本発明の実施形態に係るデータ生成装置により表示される設定画面の例である。
【
図6】本発明の実施形態に係るデータ生成装置により生成される学習用データの一例である。
【
図7】本発明の実施形態に係るデータ生成装置により実行される学習用データの生成処理のフローチャートである。
【
図8】本発明の実施形態に係るデータ生成装置により表示される設定画面の他の例である。
【
図9】本発明の実施形態に係るデータ生成装置により生成される学習用データの他の例である。
【発明を実施するための形態】
【0025】
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」と表記する。)を、図面に基づいて説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0026】
図1は、本発明の実施形態に係るデータ生成装置10の機能ブロック図である。データ生成装置10は、取得部11、抽出部12、生成部13、表示部10f及び入力部10eを備える。同図に示す機能ブロックは一例であり、データ生成装置10は、これら以外の機能ブロックを備えていてもよい。
【0027】
取得部11は、インターネットやLAN(Local Area Network)等の通信ネットワークNを介して、データベース100から、順序付けられた基準列のデータ及び基準列のデータに関連付けられたデータを含むデータ群を取得する。ここで、基準列は、入力部10eからの入力に基づいて設定されてもよい。基準列のデータは、順序付けられたデータであればどのようなものであってもよいが、例えば日付を表すデータであったり、時刻を表すデータであったり、連続番号のデータであったりしてよい。また、基準列のデータに関連付けられたデータは、任意のデータであってよいが、例えば天候に関するデータであったり、売上に関するデータであったりしてよい。例えば基準列のデータが日付を表すデータである場合、基準列のデータに関連付けられたデータは、日付に関連付けられた天候に関するデータであったり、売上に関するデータであったりしてよい。なお、データ群の保存場所は、データベース100に限られず、データ生成装置10自体であってもよいし、データ生成装置10と通信可能な任意の装置であってよい。
【0028】
入力部10eは、識別器に入力するデータ数の指定を受け付ける。識別器は、データ生成装置10に記憶されたものであってもよいし、通信ネットワークNを介してデータ生成装置10と通信可能な外部機器に記憶されたものであってもよく、例えばニューラルネットワークであってよい。識別器がニューラルネットワークの場合、識別器に入力するデータ数は、ニューラルネットワークの入力層に入力するデータ数であってよい。
【0029】
抽出部12は、取得されたデータ群から、指定されたデータ数だけ連続している基準列のデータに関連付けられたデータ及び連続している基準列のデータと異なる基準列のデータに関連付けられ、識別器の出力と比較されるデータを抽出する。例えば基準列のデータが日付を表すデータであり、指定されたデータ数が3である場合、指定されたデータ数だけ連続している基準列のデータは、3日間連続している日付のデータである。そして、指定されたデータ数だけ連続している基準列のデータに関連付けられているデータは、例えば、3日間連続している日付のデータに関連付けられている天候に関するデータであったり、売上に関するデータであったりしてよい。また、連続している基準列のデータと異なる基準列のデータは、連続している基準列のデータと隣り合う基準列のデータであってよい。例えば、3日間連続している日付のデータに隣り合う4日目の基準列のデータであってよい。そして、識別器の出力と比較されるデータは、識別器の出力と同じデータ形式のデータであってよく、例えば天候に関するデータであったり、売上に関するデータであったりしてよい。上記の例において、抽出部12は、3日間連続している日付に関連付けられた天候に関するデータや売上に関するデータと、4日目の天候に関するデータや売上に関するデータとを抽出してよい。
【0030】
生成部13は、抽出部12による抽出を繰り返して、連続している基準列のデータに関連付けられたデータ及び連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、識別器の学習用データを生成する。生成部13は、抽出部12により抽出する先頭のデータが重複しないように、抽出部12による抽出を繰り返して、学習用データを生成してよい。学習用データには、識別器に入力されるデータと、識別器の出力と比較されるデータとのセットが複数含まれていてよい。生成部13により生成された学習用データは、表示部10fに表示されてよい。
【0031】
取得部11は、それぞれ基準列のデータに関連付けられた複数種類のデータを含むデータ群を取得してもよいし、1種類のデータを含むデータ群を取得してもよい。基準列のデータに関連付けられた複数種類のデータは、例えば、天候に関するデータと、売上に関するデータであってよい。この場合、入力部10eは、識別器による予測対象とし、識別器の出力と比較するデータ種類の指定を受け付けてよい。識別器による予測対象とするデータ種類は、識別器により出力されるデータ種類であってよい。そして、抽出部12は、データ群から、指定されたデータ数だけ連続している基準列のデータにそれぞれ関連付けられた複数種類のデータ及び連続している基準列のデータと異なる基準列のデータに関連付けられ、予測対象として指定されたデータ種類のデータを抽出してよい。すなわち、抽出部12は、識別器に入力する複数種類のデータと、識別器による予測対象とするデータとを抽出してよい。例えば基準列のデータが日付を表すデータであり、指定されたデータ数が3であり、基準列のデータに関連付けられた複数種類のデータが天候に関するデータ及び売上に関するデータであり、予測対象とするデータが売上に関するデータである場合、抽出部12は、3日間連続している日付に関連付けられた天候に関するデータ及び売上に関するデータと、4日目の売上に関するデータとを抽出してよい。
【0032】
このように、識別器に入力するデータ数と、予測対象とするデータ種類とを指定することで、識別器に入力する一連のデータと、予測対象とするデータとが抽出される。これにより、適切な学習用データを設定するための負担を軽減して、識別器の識別性能を十分に高める学習用データを生成することを支援することができる。
【0033】
また、基準列のデータに関連付けられた複数種類のデータがデータ群に含まれる場合、入力部10eは、データ種類毎に、データ数の指定を受け付けてもよい。そして、抽出部12は、複数種類のデータそれぞれから、データ種類毎に指定されたデータ数だけ連続している基準列のデータに関連付けられたデータを抽出してよい。すなわち、抽出部12は、データ種類毎に識別器に入力する複数種類のデータ数を調整して、識別器に入力するデータを抽出してよい。例えば基準列のデータが日付を表すデータであり、基準列のデータに関連付けられた複数種類のデータが天候に関するデータ及び売上に関するデータであり、天候のデータ種類について指定されたデータ数が3であり、売上のデータ種類について指定されたデータ数が2である場合、抽出部12は、3日間連続している日付に関連付けられた天候に関するデータ、2日間連続している日付に関連付けられた売上に関するデータ及び4日目の天候に関するデータや売上に関するデータを抽出してよい。ここで、2日間連続している日付に関連付けられた売上に関するデータは、予測対象とする日付から遡って2日間連続している日付に関連付けられた売上に関するデータであってよい。
【0034】
このように、識別器に入力するデータ数をデータ種類毎に指定することで、学習用データのデータ構造をより柔軟に調整して識別器の識別性能を十分に高める学習用データを生成することを支援することができる。
【0035】
生成部13は、参照する基準列のデータを一つずつずらして抽出部12による抽出を繰り返して、連続している基準列のデータに関連付けられたデータ及び連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、学習用データを生成してもよい。例えば、基準列のデータが1月1日から1年間の日付を表すデータであり、指定されたデータ数が3であり、基準列のデータに関連付けられた複数種類のデータが天候に関するデータ及び売上に関するデータである場合、生成部13は、抽出部12により抽出された1月1日から1月3日までの天候に関するデータ及び売上に関するデータ及び1月4日の天候に関するデータ及び売上に関するデータと、抽出部12により抽出された1月2日から1月4日までの天候に関するデータ及び売上に関するデータ及び1月5日の天候に関するデータ及び売上に関するデータと、等を含む学習用データを生成してよい。
【0036】
これにより、学習用データのデータ数が多くなるように学習用データを生成することができ、適切な学習用データを設定するための負担を軽減して、識別器の識別性能を十分に高める学習用データを効率的に生成することを支援できる。
【0037】
また、入力部10eは、抽出部12による抽出を繰り返す際のスライド数の指定を受け付けてもよい。そして、生成部13は、参照する基準列のデータを指定されたスライド数ずつずらして抽出部12による抽出を繰り返して、連続している基準列のデータに関連付けられたデータ及び連続している基準列のデータと異なる基準列のデータに関連付けられたデータを含む、学習用データを生成してもよい。例えば、基準列のデータが1月1日から1年間の日付を表すデータであり、指定されたデータ数が3であり、基準列のデータに関連付けられた複数種類のデータが天候に関するデータ及び売上に関するデータであり、指定されたスライド数が2である場合、生成部13は、抽出部12により抽出された1月1日から1月3日までの天候に関するデータ及び売上に関するデータ及び1月4日の天候に関するデータ及び売上に関するデータと、抽出部12により抽出された1月3日から1月5日までの天候に関するデータ及び売上に関するデータ及び1月6日の天候に関するデータ及び売上に関するデータと、等を含む学習用データを生成してよい。
【0038】
これにより、データの重複範囲を調整して学習用データを生成することができ、適切な学習用データを設定するための負担を軽減して、識別器の識別性能を十分に高める学習用データを効率的に生成することを支援できる。
【0039】
図2は、本発明の実施形態に係るデータ生成装置10の物理的構成を示す図である。データ生成装置10は、ハードウェアプロセッサに相当するCPU(Central Processing Unit)10aと、メモリに相当するRAM(Random Access Memory)10bと、メモリに相当するROM(Read only Memory)10cと、通信部10dと、入力部10eと、表示部10fとを有する。これら各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例ではデータ生成装置10が一台のコンピュータで構成される場合について説明するが、データ生成装置10は、複数のコンピュータを用いて実現されてもよい。
【0040】
CPU10aは、RAM10b又はROM10cに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。CPU10aは、識別器の学習用データを生成するプログラム(データ生成プログラム)を実行する演算装置である。CPU10aは、入力部10eや通信部10dから種々の入力データを受け取り、入力データの演算結果を表示部10fに表示したり、RAM10bやROM10cに格納したりする。
【0041】
RAM10bは、データの書き換えが可能な記憶部であり、例えば半導体記憶素子で構成される。RAM10bは、CPU10aが実行するアプリケーション等のプログラムやデータを記憶する。
【0042】
ROM10cは、データの読み出しのみが可能な記憶部であり、例えば半導体記憶素子で構成される。ROM10cは、例えばファームウェア等のプログラムやデータを記憶する。
【0043】
通信部10dは、データ生成装置10を通信ネットワークNに接続するインターフェースであり、例えば、有線又は無線回線のデータ伝送路により構成されたLAN(Local Area Network)、WAN(Wide Area Network)、インターネット等の通信ネットワークNに接続される。
【0044】
入力部10eは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード、マウス及びタッチパネルを含む。
【0045】
表示部10fは、CPU10aによる演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成される。
【0046】
データ生成プログラムは、RAM10bやROM10c等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部10dにより接続される通信ネットワークを介して提供されてもよい。データ生成装置10では、CPU10aがデータ生成プログラムを実行することにより、
図1を用いて説明した様々な機能が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、データ生成装置10は、CPU10aとRAM10bやROM10cが一体化したLSI(Large-Scale Integration)を備えていてもよい。
【0047】
図3は、本発明の実施形態に係るデータ生成装置10により表示されるデータ一覧D1の例である。データ生成装置10は、表示部10fによって、取得部11により取得したデータ群の概要をデータ一覧D1として表示してよい。
【0048】
データ一覧D1は、列追加ボタンD1a、項目名称D1b、データ型D1c、ユニークバリューD1d、欠損値D1e及び列編集ボタンD1fを含む。列追加ボタンD1aは、データ群に新たなデータ列を追加するためのボタンであり、例えば基準列となるデータ列を追加することができる。基準列となるデータ列を追加する場合、連続する数値を含むデータ列を追加してよい。
【0049】
項目名称D1bは、各データ列のデータ種類の名称を示している。本例の場合、項目名称D1bは、上から順に、「Date」(日付)、「Temperature_max」(最高気温)、「Temperature_min」(最低気温)、「Rainfall」(降水量)及び「Sales」(売上)である。ここで、「Date」(日付)という項目名称のデータ列は、日付を含むデータ列であり、順序付けられたデータを含む。「Temperature_max」(最高気温)、「Temperature_min」(最低気温)及び「Rainfall」(降水量)という項目名称のデータ列は、天候に関するデータ列であり、各日付の最高気温、最低気温及び降水量を示す数値を含む。「Sales」(売上)という項目名称のデータ列は、売上に関するデータ列であり、各日付の売上を示す数値を含む。
【0050】
データ型D1cは、各データ列のデータ型を示している。本例の場合、データ型D1cは、「Date」のデータ種類について「INTEGER」(整数型)であり、「Temperature_max」、「Temperature_min」、「Rainfall」及び「Sales」のデータ種類について「FLOAT」(浮動小数点数型)である。データ型D1cは、文字型や論理型等の他のデータ型を含んでもよい。
【0051】
ユニークバリューD1dは、各データ列について重複を除外したデータ数を示している。本例の場合、ユニークバリューD1dは、「Date」のデータ種類について「100」であり、「Temperature_max」のデータ種類について「80」であり、「Temperature_min」のデータ種類について「70」であり、「Rainfall」のデータ種類について「20」であり、「Sales」のデータ種類について「90」である。
【0052】
欠損値D1eは、各データ列について欠損により空となっている数を示す。本例の場合、欠損値D1eは、「Date」、「Temperature_max」及び「Temperature_min」のデータ種類について「0(0%)」である。また、「Rainfall」のデータ種類について「2(2%)」であり、「Sales」のデータ種類について「1(1%)」である。なお、括弧内の数値は欠損が生じている数の割合を示している。
【0053】
列編集ボタンD1fは、各データ列の内容を編集するためのボタンである。例えば、欠損値が生じているデータ列について欠損補間を行ったり、項目名称の変更を行ったりすることができる。また、列編集ボタンD1fを押下して、
図5に示す設定画面を呼び出すこととしてもよい。
【0054】
図4は、本発明の実施形態に係るデータ生成装置10により取得されるデータ群D2の一例である。データ群D2は、
図3に示したデータ一覧D1によりその概要が示されたデータ群である。データ群D2は、「Date」と示された日付D2aのデータ列、「Temperature_max」と示された最高気温D2bのデータ列、「Temperature_min」と示された最低気温D2cのデータ列、「Rainfall」と示された降水量D2dのデータ列及び「Sales」と示された売上D2eのデータ列を含む。
【0055】
日付D2aのデータ列は、「7/1」、「7/2」、「7/3」、「7/4」、「7/5」及び「7/6」というデータを含み、それぞれ7月1日、7月2日、7月3日、7月4日、7月5日及び7月6日を示している。なお、本例では6日間の日付を例示しているが、データ群D2には任意の数のデータが含まれていてよい。
【0056】
最高気温D2bのデータ列、最低気温D2cのデータ列、降水量D2dのデータ列及び売上D2eのデータ列は、それぞれ日付D2aのデータ列と関連付けられたデータを含む。なお、最高気温D2b及び最低気温D2cの単位はセルシウス度(℃)であってよく、降水量の単位はミリメートル(mm)であってよく、売上の単位は万円であってよいが、これらの単位は任意である。
【0057】
各データ列のデータを具体的に列挙すると、「7/1」の日付D2aについて最高気温D2bは「35」、最低気温D2cは「21」、降水量D2dは「0」、売上は「100」である。「7/2」の日付D2aについて最高気温D2bは「34」、最低気温D2cは「20」、降水量D2dは「0」、売上は「120」である。「7/3」の日付D2aについて最高気温D2bは「28」、最低気温D2cは「18」、降水量D2dは「20」、売上は「70」である。「7/4」の日付D2aについて最高気温D2bは「30」、最低気温D2cは「22」、降水量D2dは「0」、売上は「120」である。「7/5」の日付D2aについて最高気温D2bは「32」、最低気温D2cは「21」、降水量D2dは「0」、売上は「110」である。「7/6」の日付D2aについて最高気温D2bは「29」、最低気温D2cは「20」、降水量D2dは「10」、売上は「80」である。
【0058】
図5は、本発明の実施形態に係るデータ生成装置10により表示される設定画面DPの例である。設定画面DPは、
図3に示したデータ一覧D1によりその概要が示されたデータ群について、学習用データの生成に関する設定を行う画面である。設定画面DPは、基準列DP1、予測対象DP2、最高気温データ数DP3、最低気温データ数DP4、降水量データ数DP5、売上データ数DP6及びスライド数DP7を含む。
【0059】
基準列DP1は、学習用データの生成の際に順序付けの基準とするデータ列の指定を受け付けるウィンドウである。本例の場合、基準列DP1には「Date」が指定されている。
【0060】
予測対象DP2は、識別器による予測対象とし、識別器の出力と比較するデータ種類の指定を受け付けるウィンドウである。本例の場合、予測対象DP2には「Sales」が指定されている。なお、予測対象DP2として2以上のデータ種類が指定されてもよい。
【0061】
最高気温データ数DP3、最低気温データ数DP4、降水量データ数DP5及び売上データ数DP6は、データ種類毎に識別器に入力するデータ数を受け付けるウィンドウである。本例の場合、最高気温データ数DP3、最低気温データ数DP4及び売上データ数DP6は「3」であり、降水量データ数DP5は「2」である。
【0062】
スライド数DP7は、抽出部12による抽出を繰り返す際のスライド数の指定を受け付けるウィンドウである。本例の場合、スライド数DP7には「2」が指定されている。なお、スライド数DP7は、デフォルトでは「1」に設定されていてよい。
【0063】
図6は、本発明の実施形態に係るデータ生成装置10により生成される学習用データD3の一例である。同図に示す学習用データD3は、
図5に示す設定画面DPで設定された条件に従い、データ生成装置10により生成された学習用データの一例である。学習用データD3は、日付D3a、最高気温D3b、最低気温D3c、降水量D3d、売上D3e及びデータ番号D3fを含む。同図では、本例の学習用データD3に含まれないが参考として示したデータを括弧内に記載し、予測対象として指定されたデータに下線を引いて記載している。なお、学習用データには、本例において括弧内に記載したデータが含まれていてもよい。
【0064】
データ番号D3fは、学習用データD3のひとまとまりのデータに付与された通し番号である。データ番号D3fは、識別器に入力されるデータと、識別器の出力と比較されるデータとのセットに対して一つ付与されてよい。本例の場合、データ番号D3fとして、「1」及び「2」が示されているが、学習用データD3には任意の数のデータ番号D3fが含まれてよい。
【0065】
日付D3aは、基準列として指定されたデータであり、識別器に入力されるデータに関連付けられたデータである。本例の場合、データ番号D3fが「1」の学習用データについて、日付D3aは、「7/1」、「7/2」及び「7/3」の3日間である。抽出される日付のデータ数は、設定画面DPでデータ種類毎に指定されたデータ数のうち最大の数であってよく、本例の場合は3である。また、データ番号D3fが「2」の学習用データについて、日付D3aは、「7/3」、「7/4」及び「7/5」の3日間である。本例では、スライド数が2に設定されており、データ番号D3fが「1」の学習用データとデータ番号D3fが「2」の学習用データでは、日付が2日間ずれている。
【0066】
最高気温D3b、最低気温D3c、降水量D3d及び売上D3eは、基準列として指定された日付D3aのデータに関連付けられたデータであり、識別器に入力される複数種類のデータである。本例の場合、データ番号D3fが「1」の学習用データについて、「7/1」、「7/2」及び「7/3」の日付D3aに関連付けられた最高気温D3b、最低気温D3c、降水量D3d及び売上D3eが識別器に入力されるデータとなる。具体的には、「7/1」、「7/2」及び「7/3」の日付D3aについて、最高気温D3bは「35」、「34」及び「28」であり、最低気温D3cは「21」、「20」及び「18」であり、売上D3eは「100」、「120」及び「70」である。また、「7/2」及び「7/3」の日付D3aについて、降水量D3dは「0」及び「20」である。ここで、設定画面DPで指定されたデータ数に従い、最高気温D3b、最低気温D3c及び売上D3eについては3日間のデータが学習用データに含まれ、降水量D3dについては2日間のデータが学習用データに含まれる。
【0067】
さらに、「7/3」、「7/4」及び「7/5」の日付D3aについて、最高気温D3bは「28」、「30」及び「32」であり、最低気温D3cは「18」、「22」及び「21」であり、売上D3eは「70」、「120」及び「110」である。また、「7/4」及び「7/5」の日付D3aについて、降水量D3dは「0」及び「0」である。
【0068】
売上D3eは、識別器の出力と比較されるデータであり、予測対象として指定されたデータ種類のデータである。本例では、予測対象として売上が指定されており、データ番号D3fが「1」の学習用データについて、「7/4」の日付D3aに関連付けられた売上D3eは「120」である。予測対象として指定された「7/4」に関する売上D3eの値は、「7/1」、「7/2」及び「7/3」の日付D3aに関する最高気温D3b、最低気温D3c、降水量D3d及び売上D3eの値を識別器に入力した場合の識別器の出力と比較され、識別器の学習処理に用いられる。同様に、データ番号D3fが「2」の学習用データについて、「7/6」の日付D3aに関連付けられた売上D3eは「80」であり、この値は、「7/3」、「7/4」及び「7/5」の日付D3aに関する最高気温D3b、最低気温D3c、降水量D3d及び売上D3eの値を識別器に入力した場合の識別器の出力と比較され、識別器の学習処理に用いられる。なお、本例では最高気温D3b、最低気温D3c、降水量D3d及び売上D3eを識別器の入力として、売上D3eを識別器の予測対象としているが、識別器に入力するデータ種類及び識別器の予測対象とするデータ種類は任意である。
【0069】
図7は、本発明の実施形態に係るデータ生成装置10により実行される学習用データの生成処理のフローチャートである。学習用データの生成処理は、取得したデータ群について識別器に入力するデータと、識別器の出力と比較するデータとを設定して、学習用データを生成する処理である。
【0070】
はじめに、データ生成装置10は、データベース100等から複数種類のデータを含むデータ群を取得する(S10)。取得したデータ群の概要は、データ一覧D1として表示されてよい。
【0071】
その後、入力部10eによって、基準列の指定を受け付け(S11)、識別器による予測対象とし、識別器の出力と比較するデータ種類の指定を受け付ける(S12)。また、データ種類毎に、識別器に入力するデータ数の指定を受け付ける(S13)。さらに、抽出部12による抽出を繰り返す際のスライド数の指定を受け付ける(S14)。なお、スライド数の指定が行われない場合、スライド数は1に設定されてよい。
【0072】
データ生成装置10は、複数種類のデータそれぞれから、データ種類毎に指定されたデータ数だけ連続している基準列のデータに関連付けられたデータを抽出する(S15)。また、連続している基準列のデータと異なる基準列のデータに関連付けられ、予測対象として指定されたデータ種類のデータを抽出する(S16)。連続している基準列のデータと異なる基準列のデータは、連続している基準列のデータと隣り合う基準列のデータであってよい。
【0073】
その後、基準列のデータを指定されたスライド数だけ移動して(S17)、さらに抽出すべきデータが存在するか判定する(S18)。データの抽出は、抽出対象とする基準列のデータを指定されたスライド数ずつずらして、データ群を一巡した場合に終了してもよいし、抽出される学習用データが完全一致しないように、データ群の巡回を複数回繰り返した場合に終了してもよい。
【0074】
抽出が終了していない場合(S18:NO)、データの抽出を繰り返す。一方、抽出が終了した場合(S18:YES)、抽出されたデータをひとまとまりとして、学習用データを生成する(S19)。以上により、学習用データを生成する処理が終了する。
【0075】
本実施形態に係るデータ生成装置10によれば、識別器に入力するデータ数を指定することで、識別器に入力する一連のデータと、識別器の出力と比較されるデータとが抽出される。これにより、適切な学習用データを設定するための負担を軽減して、識別器の識別性能を十分に高める学習用データを生成することを支援することができる。
【0076】
図8は、本発明の実施形態に係るデータ生成装置10により表示される設定画面DP10の他の例である。設定画面DP10は、
図3に示したデータ一覧D1によりその概要が示されたデータ群について、学習用データの生成に関する設定を行う画面である。設定画面DP10は、基準列DP11、時系列とする列DP12及び時系列の数DP13を含む。
【0077】
基準列DP11は、学習用データの生成の際に順序付けの基準とするデータ列の指定を受け付けるウィンドウである。本例の場合、基準列DP11には「Date」が指定されている。
【0078】
時系列とする列DP12は、基準列のデータに関連付けられたデータのうち識別器に入力するデータを選択するウィンドウである。時系列とする列DP12は、項目名称DP12aと、データ型DP12bと、チェックボックスDP12cとを含む。項目名称D12aは、各データ列のデータ種類の名称を示している。本例の場合、項目名称D12aは、
図3に示したものと同様で、上から順に、「Date」(日付)、「Temperature_max」(最高気温)、「Temperature_min」(最低気温)、「Rainfall」(降水量)及び「Sales」(売上)である。
【0079】
データ型DP12bは、各データ列のデータ型を示している。本例の場合、データ型D12bは、
図3に示したものと同様で、「Date」のデータ種類について「INTEGER」(整数型)であり、「Temperature_max」、「Temperature_min」、「Rainfall」及び「Sales」のデータ種類について「FLOAT」(浮動小数点数型)である。
【0080】
チェックボックスDP12cは、時系列とする列の選択又は非選択を示している。本例の場合、「Temperature_max」(最高気温)、「Temperature_min」(最低気温)及び「Rainfall」の列が選択されており、「Date」(日付)及び「Sales」(売上)は選択されていない。なお、「Date」(日付)は基準列DP11として設定されているため、チェックボックスDP12cを表示しなくてもよい。また、基準列DP11以外の選択されなかった列は、識別器による予測対象として設定してよい。本例の場合、「Sales」(売上)を識別器による予測対象として設定してよい。
【0081】
時系列の数DP13は、抽出部12による抽出を繰り返す回数の指定を受け付けるウィンドウである。本例の場合、時系列の数DP13は、「3」と指定されている。なお、本例の場合、スライド数は「1」であってよい。
【0082】
図9は、本発明の実施形態に係るデータ生成装置10により生成される学習用データD4の他の例である。同図に示す学習用データD4は、
図8に示す設定画面DP10で設定された条件に従い、データ生成装置10により生成された学習用データの一例である。学習用データD4は、日付D4a、最高気温D4b、最低気温D4c、降水量D4d、3日前の最高気温D4e、3日前の最低気温D4f、3日前の降水量D4g、2日前の最高気温D4h、2日前の最低気温D4i、2日前の降水量D4j、1日前の最高気温D4k、1日前の最低気温D4l、1日前の降水量D4m及び売上D4nを含む。なお、同図では、「T_max」が最高気温を表し、「T_min」が最低気温を表し、「R」が降水量を表す。
【0083】
日付D4aは、基準列として指定されたデータであり、識別器に入力されるデータに関連付けられたデータである。本例の場合、日付D3aは、
図4に示したものと同様であり、「7/1」、「7/2」、「7/3」、「7/4」、「7/5」及び「7/6」というデータを含む。
【0084】
最高気温D4b、最低気温D4c、降水量D4d及び売上D4nは、基準列として指定された日付D4aのデータに関連付けられたデータであり、識別器に入力される複数種類のデータである。本例の場合、最低気温D4c、降水量D4d及び売上D4nは、
図4に示したものと同様であるため、具体的な数値の列挙は省略する。
【0085】
3日前の最高気温D4e、3日前の最低気温D4f及び3日前の降水量D4gは、同一の行の日付D4aから遡って3日前の最高気温、最低気温及び降水量のデータである。例えば、日付D4aが「7/6」の行の場合、3日前の最高気温D4e、3日前の最低気温D4f及び3日前の降水量D4gは、日付D4aが「7/3」の最高気温D4b、最低気温D4c及び降水量D4dであり、それぞれ「28」、「18」及び「20」である。また、日付D4aが「7/3」以前の行の場合、3日前の最高気温D4e、3日前の最低気温D4f及び3日前の降水量D4gは、記録が存在しないため、それぞれ「Null」である。
【0086】
2日前の最高気温D4h、2日前の最低気温D4i及び2日前の降水量D4jは、同一の行の日付D4aから遡って2日前の最高気温、最低気温及び降水量のデータである。例えば、日付D4aが「7/6」の行の場合、2日前の最高気温D4h、2日前の最低気温D4i及び2日前の降水量D4jは、日付D4aが「7/4」の最高気温D4b、最低気温D4c及び降水量D4dであり、それぞれ「30」、「22」及び「0」である。また、日付D4aが「7/2」以前の行の場合、2日前の最高気温D4h、2日前の最低気温D4i及び2日前の降水量D4jは、記録が存在しないため、それぞれ「Null」である。
【0087】
1日前の最高気温D4k、1日前の最低気温D4l及び1日前の降水量D4mは、同一の行の日付D4aから遡って1日前の最高気温、最低気温及び降水量のデータである。例えば、日付D4aが「7/6」の行の場合、1日前の最高気温D4k、1日前の最低気温D4l及び1日前の降水量D4mは、日付D4aが「7/5」の最高気温D4b、最低気温D4c及び降水量D4dであり、それぞれ「32」、「21」及び「0」である。また、日付D4aが「7/1」の行の場合、1日前の最高気温D4k、1日前の最低気温D4l及び1日前の降水量D4mは、記録が存在しないため、それぞれ「Null」である。
【0088】
このように、本実施形態に係るデータ生成装置10によれば、時系列とする列及び時系列の数を指定することで、識別器に入力する一連のデータと、識別器の出力と比較されるデータとが抽出される。これにより、適切な学習用データを設定するための負担を軽減して、識別器の識別性能を十分に高める学習用データを生成することを支援することができる。
【0089】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【符号の説明】
【0090】
10…データ生成装置、10a…CPU、10b…RAM、10c…ROM、10d…通信部、10e…入力部、10f…表示部、11…取得部、12…抽出部、13…生成部、100…データベース、N…通信ネットワーク、D1…データ一覧、D1a…列追加ボタン、D1b…項目名称、D1c…データ型、D1d…ユニークバリュー、D1e…欠損値、D1f…列編集ボタン、D2…データ群、D2a…日付、D2b…最高気温、D2c…最低気温、D2d…降水量、D2e…売上、D3…学習用データ、D3a…日付、D3b…最高気温、D3c…最低気温、D3d…降水量、D3e…売上、D3f…データ番号、D4…学習用データ、D4a…日付、D4b…最高気温、D4c…最低気温、D4d…降水量、D4e…3日前の最高気温、D4f…3日前の最低気温、D4g…3日前の降水量、D4h…2日前の最高気温、D4i…2日前の最低気温、D4j…2日前の降水量、D4k…1日前の最高気温、D4l…1日前の最低気温、D4m…1日前の降水量、D4n…売上、DP…設定画面、DP1…基準列、DP2…予測対象、DP3…最高気温データ数、DP4…最低気温データ数、DP5…降水量データ数、DP6…売上データ数、DP7…スライド数、DP10…設定画面、DP11…基準列、DP12…時系列とする列、DP12a…項目名称、DP12b…データ型、DP12c…チェックボックス、DP13…時系列の数