(57)【特許請求の範囲】
【請求項１】
時間ごとに系列の属性と結果属性とを対応づけた時系列データを基に、属性と該属性の値と時間の範囲とを用いて表されるルール項を複数作成する作成部と、
前記作成部により作成された複数のルール項の属性の値を参照して、包含される側のルール項において真である系列は包含する側のルール項でも真である包含関係を満たすルール項の組合せを検出する検出部と、
前記検出部により検出された包含関係を満たすルール項の組合せのうち、包含される側のルール項に当該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与する付与部と、
前記複数のルール項のうち１又は２以上の組合せを作成し、作成した組合せに含まれるルール項と、該ルール項により包含される側のルール項とに付与された系列の識別情報の和集合を求め、該和集合に含まれる系列の識別情報の数、及び／又は、該和集合に含まれる系列の識別情報のうち所定の結果属性を有する系列の識別情報の割合が所定範囲である組合せを抽出する抽出部と
を備えることを特徴とする時系列ルール抽出装置。 
【請求項２】
前記抽出部は、
前記複数のルール項のうち１又は２以上の組合せを作成する際に、前記検出部により検出された包含関係を満たすルール項の組合せについてはいずれかのルール項を用いて前記組合せを作成することを特徴とする請求項１に記載の時系列ルール抽出装置。 
【請求項３】
前記検出部は、
検出した包含関係を満たすルール項の組合せのうち、包含する側のルール項の子集合に包含される側のルール項を追加するとともに、該包含される側のルール項の間で包含関係を満たすルール項の組合せが存在する場合には、該組合せのうち包含する側のルール項を前記子集合に追加し、
前記付与部は、
前記検出部により検出された包含関係を満たすルール項の組合せのうち、包含される側のルール項にのみ当該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与し、
前記抽出部は、
前記作成した組合せに含まれるルール項と、該ルール項から包含される側のルール項を順次辿ることにより識別されるルール項とに付与された系列の識別情報の和集合を求めることを特徴とする請求項１又は２に記載の時系列ルール抽出装置。 
【請求項４】
前記検出部は、
検出した包含関係を満たすルール項の組合せのうち、包含される側のルール項の親集合に包含する側のルール項を追加するとともに、該包含する側のルール項の間で包含関係を満たすルール項の組合せが存在する場合には、該組合せのうち包含される側のルール項を前記親集合に追加し、
前記付与部は、
前記検出部により検出された包含関係を満たすルール項の組合せのうち、包含する側のルール項にのみ当該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与し、
前記抽出部は、
前記作成した組合せに含まれるルール項と、該ルール項から包含する側のルール項を順次辿ることにより識別されるルール項とに付与された系列の識別情報の和集合を求めることを特徴とする請求項１〜３のうちいずれか一つに記載の時系列ルール抽出装置。 
【請求項５】
コンピュータが実行する時系列ルール抽出方法であって、
時間ごとに系列の属性と結果属性とを対応づけた時系列データを基に、属性と該属性の値と時間の範囲とを用いて表されるルール項を複数作成し、
前記ルール項を作成する処理により作成された複数のルール項の属性の値を参照して、包含される側のルール項において真である系列は包含する側のルール項でも真である包含関係を満たすルール項の組合せを検出し、
前記包含関係を満たすルール項の組合せを検出する処理により検出された包含関係を満たすルール項の組合せのうち、包含される側のルール項に当該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与し、
前記複数のルール項のうち１又は２以上の組合せを作成し、作成した組合せに含まれるルール項と、該ルール項により包含される側のルール項とに付与された系列の識別情報の和集合を求め、該和集合に含まれる系列の識別情報の数、及び／又は、該和集合に含まれる系列の識別情報のうち所定の結果属性を有する系列の識別情報の割合が所定範囲である組合せを抽出する
ことを特徴とする時系列ルール抽出方法。 
【請求項６】
コンピュータに、
時間ごとに系列の属性と結果属性とを対応づけた時系列データを基に、属性と該属性の値と時間の範囲とを用いて表されるルール項を複数作成し、
前記ルール項を作成する処理により作成された複数のルール項の属性の値を参照して、包含される側のルール項において真である系列は包含する側のルール項でも真である包含関係を満たすルール項の組合せを検出し、
前記包含関係を満たすルール項の組合せを検出する処理により検出された包含関係を満たすルール項の組合せのうち、包含される側のルール項に当該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与し、
前記複数のルール項のうち１又は２以上の組合せを作成し、作成した組合せに含まれるルール項と、該ルール項により包含される側のルール項とに付与された系列の識別情報の和集合を求め、該和集合に含まれる系列の識別情報の数、及び／又は、該和集合に含まれる系列の識別情報のうち所定の結果属性を有する系列の識別情報の割合が所定範囲である組合せを抽出する
処理を実行させることを特徴とする時系列ルール抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時系列ルール抽出装置、時系列ルール抽出方法及び時系列ルール抽出プログラムに関する。
【背景技術】
【０００２】
近年、センシング技術やネットワークの発達により様々な時系列データが蓄積されている。そして、この時系列データの活用方法の一つとして、時系列データから特徴的なルールを抽出する技術が存在する。例えば、この技術を農業分野に応用すると、「播種から６日目からの２日間連続で最低気温が１０℃以上あると、病害虫が発生しやすい」というルールが抽出される。このルールは、実測値が条件と合致した場合にアラームを上げることで、農薬散布を促すなど、病害虫の発生を防ぐため活用される。
【０００３】
ここで、ルールを抽出する技術について説明する。この技術において抽出されるルールは、一つ又は複数のルール項をＡＮＤでつないだ条件部と、その条件のもとで発生した結果属性との組合せによって表現される。上記の例では、「播種から６日目からの２日間連続で最低気温が１０℃以上」がルール項に対応し、「病害虫が発生しやすい」が結果属性に対応する。このルール抽出技術は、時系列データを走査し、複数のルール項を作成する。そして、所定の結果属性を有するルール項を解析することで、ルールを抽出する。
【０００４】
また、例えば、時系列データを活用する他の方法として、時系列データを記号に変換及び圧縮することで、効率的かつ正確に時系列データを予測する技術も存在する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−６３６３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来技術では、精度の良いルールを抽出することが難しいという問題があった。
【０００７】
図３０を用いて、従来技術の課題について説明する。図３０は、従来技術の課題を説明するための図である。図３０には、農業分野において圃場で蓄積される時系列データの一例を示す。この時系列データは、図３０に示すように、例えば、栽培ＩＤ（Identification）、日付、最高気温などの各種データを対応づけて保持する。このうち、栽培ＩＤは、各圃場で栽培された作物を識別する情報である。例えば、栽培ＩＤは、複数行に渡って同一のＩＤが付与されており、複数行のうちの先頭行は作物の播種日に対応し、最終行は収穫日に対応する。図３０に示すように、この時系列データは、例えば、作物「００１」の圃場が、３月１日に最高気温１９．４℃、最低気温７．６℃、平均気温１３．７℃、降水量３７ｍｍ、土壌水分８０％であり、作物の栽培中に１回以上病害虫が発生したことを示す。なお、栽培ＩＤは、系列ＩＤとも称する。
【０００８】
例えば、精度の良いルールを抽出するためには、柔軟なルール項を設定することが望ましい。農業分野に応用した例では、「播種からｘ日目からのｎ日間連続で最低気温がａ℃以上ある」というルール項よりも「播種からｘ日目からのｍ日間のうち、最低気温がａ℃以上ある日がｎ日以上ある」というルール項の方が柔軟である。図３０に示した例では、「播種から１日目からの２日間連続で最低気温が７℃以上ある」というルール項よりも「播種から１日目からの３日間のうち、最低気温が７℃以上ある日が２日以上ある」というルール項の方が柔軟である。
【０００９】
しかし、柔軟なルール項を設定すると、処理対象となるルール項の数が膨大になってしまう。例えば、ルール項「ｎ日連続」と、より柔軟なルール項「ｍ日間のうちｎ日以上」とについて、ｎ，ｍがともに１０以下で表現されるルール項数を考える。この場合、「ｎ日連続」は、ｎ＝１〜１０の１０パターン存在し、「ｍ日間のうちｎ日以上」は、「１日間のうち１日以上」「２日間のうち１日以上」・・・「１０日間のうち１０日以上」と５５パターン存在する。なお、「ｎ日連続」は、「ｎ日間のうちｎ日以上」と同義である。
【００１０】
このように、ルール項の数が膨大になると、メモリ上でルールを抽出する処理を実行できず、ハードディスク等の二次記憶を利用する必要があり、著しく処理速度が低下する。例えば、メモリ上での抽出処理に要するメモリ容量は、ルール項の数と系列の数との積に比例する。すなわち、設定できるルール項の数がメモリ容量による制限を受けてしまうため、精度の良いルールを抽出することが難しかった。
【００１１】
開示の技術は、上記に鑑みてなされたものであって、精度の良いルールを抽出することができる時系列ルール抽出装置、時系列ルール抽出方法及び時系列ルール抽出プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本願の開示する技術は、一つの態様において、作成部と、検出部と、付与部と、抽出部とを備える。作成部は、時間ごとに系列の属性と結果属性とを対応づけた時系列データを基に、属性と該属性の値と時間の範囲とを用いて表されるルール項を複数作成する。検出部は、作成部により作成された複数のルール項の属性の値を参照して、包含される側のルール項において真である系列は包含する側のルール項でも真である包含関係を満たすルール項の組合せを検出する。付与部は、検出部により検出された包含関係を満たすルール項の組合せのうち、包含される側のルール項にそのルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与する。抽出部は、複数のルール項のうち１又は２以上の組合せを作成し、作成した組合せに含まれるルール項と、そのルール項により包含される側のルール項とに付与された系列の識別情報の和集合を求める。抽出部は、求めた和集合に含まれる系列の識別情報の数、及び／又は、求めた和集合に含まれる系列の識別情報のうち所定の結果属性を有する系列の識別情報の割合が所定範囲である組合せを抽出する。
【発明の効果】
【００１３】
本願の開示する技術の一つの態様によれば、精度の良いルールを抽出することができるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施例１に係る時系列ルール抽出装置の機能構成を示すブロック図である。
【図２】図２は、時系列データの一例を示す図である。
【図３】図３は、作成部の処理を説明するための図である。
【図４】図４は、検出部の処理を説明するための図である。
【図５】図５は、付与部の処理を説明するための図である。
【図６】図６は、付与部の処理を説明するための図である。
【図７】図７は、抽出部の処理を説明するための図である。
【図８】図８は、抽出部の処理を説明するための図である。
【図９】図９は、抽出部の処理を説明するための図である。
【図１０】図１０は、抽出部の処理を説明するための図である。
【図１１】図１１は、抽出部の処理を説明するための図である。
【図１２】図１２は、抽出部の処理を説明するための図である。
【図１３】図１３は、実施例１に係る時系列ルール抽出装置の処理手順を示すフローチャートである。
【図１４】図１４は、系列付与処理の処理手順を示すフローチャートである。
【図１５】図１５は、ルール抽出処理の処理手順を示すフローチャートである。
【図１６】図１６は、復元処理の処理手順を示すフローチャートである。
【図１７】図１７は、検出部の処理を説明するための図である。
【図１８】図１８は、付与部の処理を説明するための図である。
【図１９】図１９は、付与部の処理を説明するための図である。
【図２０】図２０は、系列付与処理の処理手順を示すフローチャートである。
【図２１】図２１は、検出部の処理を説明するための図である。
【図２２】図２２は、付与部の処理を説明するための図である。
【図２３】図２３は、付与部の処理を説明するための図である。
【図２４】図２４は、検出部の処理を説明するための図である。
【図２５】図２５は、付与部の処理を説明するための図である。
【図２６】図２６は、抽出部の処理を説明するための図である。
【図２７】図２７は、抽出部の処理を説明するための図である。
【図２８】図２８は、クライアントサーバシステムへの適用例を説明するための図である。
【図２９】図２９は、時系列ルール抽出プログラムを実行するコンピュータを示す図である。
【図３０】図３０は、従来技術の課題を説明するための図である。
【発明を実施するための形態】
【００１５】
以下に、本願の開示する時系列ルール抽出装置、時系列ルール抽出方法及び時系列ルール抽出プログラムの実施例を図面に基づいて詳細に説明する。なお、本実施例により本発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、本実施例において、本発明を農業分野に適用した場合を説明するが、本発明は農業分野だけでなく、航空分野においてフライトレコーダに蓄積されたデータの解析など、他の分野にも適用することができる。
【００１６】
ここで、本発明において抽出されるルールについて説明する。このルールは、一つ又は複数のルール項をＡＮＤでつないだ条件部と、その条件のもとで発生した結果属性との組合せによって表現される。このうち、ルール項は、時間の範囲と、一つ又は複数の属性の値の範囲とを用いて表される条件である。１つのルール項で表現された条件部は、例えば、「播種から６日目からの２日間連続で最低気温が１０℃以上」である。また、２つのルール項で表現された条件部は、例えば、「播種から６日目からの２日間連続で最低気温が１０℃以上あり、かつ、播種から１日目からの２日間連続で最低気温が８℃以上」である。また、結果属性は、例えば、病害虫の発生の有無を示す情報である。つまり、本発明において抽出されるルールは、例えば、「播種から６日目からの２日間連続で最低気温が１０℃以上あると、病害虫が発生しやすい」となる。
【実施例１】
【００１７】
実施例１に係る時系列ルール抽出装置の機能構成の一例について説明する。図１は、実施例１に係る時系列ルール抽出装置の機能構成を示すブロック図である。図１に示すように、この時系列ルール抽出装置１００は、記憶部１１０と、制御部１２０とを有する。また、時系列ルール抽出装置１００は、入力装置１０１と、出力装置１０２とに接続される。
【００１８】
入力装置１０１は、各種情報の入力を受け付ける。例えば、入力装置１０１は、時系列データ１１１の入力や、ルール抽出条件を示す情報の入力を受け付ける。この時系列データ１１１の説明は、時系列データ１１１を説明する項にて後述する。このルール抽出条件の説明は、抽出部１２４を説明する項にて後述する。また、例えば、入力装置１０１は、キーボードやマウス、媒体読み取り装置、あるいは温度計や湿度計などの各種センサに対応する。
【００１９】
出力装置１０２は、各種情報を出力する。例えば、出力装置１０２は、時系列ルール抽出装置１００により時系列データ１１１から抽出されたルールを含むルール集合１１３を出力する。また、例えば、出力装置１０２は、ディスプレイやモニタなどに対応する。
【００２０】
記憶部１１０は、時系列データ１１１と、ルール項集合１１２と、ルール集合１１３とを有する。記憶部１１０は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、ハードディスクや光ディスクなどの記憶装置に対応する。
【００２１】
時系列データ１１１は、所定時間ごとに、属性の値と、結果属性の値とを対応づけたデータである。例えば、時系列データ１１１は、入力装置１０１が受け付けた情報である。図２は、時系列データの一例を示す図である。図２に示すように、時系列データ１１１は、例えば、系列ＩＤ（Identification）と、日付と、最低気温と、病害虫有無とを対応づける。このうち、系列ＩＤは、各圃場で栽培された作物を識別する情報である。例えば、系列ＩＤは、複数行に渡って同一のＩＤが付与されており、複数行のうちの先頭行は作物の播種日に対応し、最終行は収穫日に対応する。日付は、データを取得した日付を示す。最低気温は、データを取得した日の最低気温を示す。病害虫有無は、作物の栽培中に１回以上病害虫が発生したか否かを示す。なお、系列ＩＤは、栽培ＩＤとも称する。また、最低気温は、属性の値の一例である。また、病害虫有無は、結果属性の値の一例である。
【００２２】
図２に示すように、時系列データ１１１は、例えば、系列ＩＤ「００１」と、日付「３／１」と、最低気温「５」と、病害虫有無「有」とを対応づけて保持する。つまり、作物「００１」の圃場は、３月１日に最低気温が５℃であり、作物の栽培中に１回以上病害虫が発生したことを示す。また、時系列データ１１１は、系列「００１」について、他の日付ごとに、最低気温を同様に対応づける。また、時系列データ１１１は、他の系列ＩＤについても同様に、日付と、最低気温と、病害虫有無とを対応づけて保持する。なお、ここでは、時系列データ１１１が属性と結果属性とを１種類ずつ対応づける場合を説明したが、本発明はこれに限定されるものではない。例えば、時系列データ１１１は、数種類の属性と数種類の結果属性とを対応づけても良い。なお、以下では、時系列データ１１１に含まれ、系列ＩＤで識別される各データを系列と称する。
【００２３】
ルール項集合１１２は、後述する作成部１２１により作成されたルール項の集合である。このルール項集合１１２は、例えば、作成部１２１により時系列データ１１１が走査されることで生成される。例えば、ルール項集合１１２は、後述する図３により表される。
【００２４】
ルール集合１１３は、後述する抽出部１２４により抽出されたルールの集合である。このルール集合１１３は、抽出部１２４により一つ又は複数のルール項が組み合わされたルール候補のうち、ルール抽出条件を満たすものである。例えば、ルール集合１１３は、後述する図１２により表される。
【００２５】
制御部１２０は、作成部１２１と、検出部１２２と、付与部１２３と、抽出部１２４とを有する。制御部１２０の機能は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路により実現することができる。また、制御部１２０の機能は、例えば、ＣＰＵ（Central  Processing  Unit）が所定のプログラムを実行することで実現することができる。
【００２６】
作成部１２１は、時間ごとに系列の属性と結果属性とを対応づけた時系列データを基に、属性とその属性の値と時間の範囲とを用いて表されるルール項を複数作成する。例えば、作成部１２１は、時系列データ１１１を走査してルール項を複数作成し、作成したルール項をルール項集合１１２に格納する。
【００２７】
以下において、作成部１２１の処理を説明する。ここでは、一例として、作成部１２１が図２に示した時系列データ１１１を処理対象とする場合を説明する。例えば、作成部１２１は、時系列データ１１１を記憶部１１０から読み込む。作成部１２１は、時系列データ１１１から系列の最大長Ｌを取得する。ここで、系列の長さは、時系列データ１１１における各系列ＩＤの行数に対応する。図２において、系列ＩＤ「００１」の長さは「３」である。また、系列ＩＤ「００２」の長さは「３」である。また、系列ＩＤ「００３」の長さは「３」である。また、系列ＩＤ「００４」の長さは「３」である。このため、作成部１２１は、系列の最大長Ｌとして「３」を取得する。
【００２８】
また、例えば、作成部１２１は、時系列データ１１１を走査し、各属性の最小値と最大値とを取得する。図２において、時系列データ１１１が有する属性は「最低気温」であり、最小値は「０」、最大値は「１２」である。つまり、作成部１２１は、最低気温の最小値「０」と最大値「１２」とを取得する。
【００２９】
また、例えば、作成部１２１は、取得した各属性の最小値から最大値までを等分割するように、各属性をＮ個の区間に分割する。例えば、作成部１２１は、Ｎ＝３として、４℃未満の区間と、４℃以上８℃未満の区間と、８℃以上の区間との３つの区間に最低気温の区間を分割する。なお、ここではＮ＝３の場合を説明したが、本発明はこれに限定されるものではない。例えば、作成部１２１は、Ｎ＝２として、６℃未満の区間と、６℃以上の区間との２つの区間に最低気温の区間を分割しても良い。
【００３０】
また、例えば、作成部１２１は、ルール項「系列の先頭から数えてｘ〜ｙ行目から始まるｍ行のうち属性ｚがａ以上ｂ未満である行数がｎ以上である」を作成する。このルール項は、７つのパラメータ「ｘ、ｙ、ｚ、ｍ、ｎ、ａ、ｂ」を含む。これらのパラメータは、下記の条件を満たす。
ｘ（１≦ｘ≦Ｌ）
ｙ（ｘ≦ｙ≦Ｌ）
属性ｚ
属性区間の開始インデックスＶｂ（１≦Ｖｂ≦Ｎ）
属性区間の終了インデックスＶｅ（Ｖｂ≦Ｖｅ≦Ｎ）
ｍ（１≦ｍ≦Ｌ）
ｎ（１≦ｎ≦ｍ）
【００３１】
また、Ｖｂとａとの関係、Ｖｅとｂとの関係は、下記の通りである。ただし、（ａ，ｂ）＝（−∞，∞）という組合せは、属性ｚの値に関わらず真なので除外する。
ａ：Ｖｂ番目の属性区間の下限値
ｂ：Ｖｅ番目の属性区間の上限値
【００３２】
例えば、作成部１２１は、図２に示した時系列データから上記の条件を満たすｘ及びｙとして、下記の６通りの組合せを取得する。
（ｘ，ｙ）＝｛（１，１），（１，２），（１，３），（２，２），（２，３），（３，３）｝
【００３３】
また、作成部１２１は、図２に示した時系列データから上記の条件を満たすｚとして、「最低気温」の１種類を取得する。
【００３４】
また、作成部１２１は、図２に示した時系列データから上記の条件を満たすａ及びｂとして、下記の５通りの組合せを取得する。なお、作成部１２１は、（ａ，ｂ）＝（−∞，∞）という組合せも取得するが、この組合せは属性ｚの値に関わらず真なので除外する。
（ａ，ｂ）＝｛（−∞，４），（−∞，８），（４，８），（４，∞），（８，∞）｝
【００３５】
また、作成部１２１は、図２に示した時系列データから上記の条件を満たすｍ及びｎとして、下記の６通りの組合せを取得する。
（ｍ，ｎ）＝｛（１，１），（２，１），（３，１），（２，２），（３，２），（３，３）｝
【００３６】
つまり、作成部１２１は、図２に示した時系列データ１１１から、６×１×５×６＝１８０通りのルール項を作成する。なお、作成部１２１が作成するルール項は、上記のルール項に限定されるものではない。例えば、上記パラメータのうちいずれかを含まなくても良い。また、例えば、上記パラメータ以外のパラメータを含んでも良い。
【００３７】
なお、以下では、説明を簡潔にするために、ｘ及びｙとして、下記の２通りを用いて説明する。
（ｘ，ｙ）＝｛（１，１），（２，２）｝
【００３８】
また、同様に、ａ及びｂとして、下記の２通りを用いて説明する。
（ａ，ｂ）＝｛（４，∞），（８，∞）｝
【００３９】
また、同様に、ｍ及びｎとして、下記の２通りを用いて説明する。
（ｍ，ｎ）＝｛（２，１），（１，１）｝
【００４０】
つまり、以下では、作成部１２１が２×１×２×２＝８通りのルール項を作成した場合を説明する。
【００４１】
図３を用いて、作成部の処理を説明する。図３は、作成部の処理を説明するための図である。図３に示すように、作成部１２１は、「ルール項ＩＤ」と、「ｘ」と、「ｙ」と、「ｚ」と、「ａ」と、「ｂ」と、「ｍ」と、「ｎ」とを対応づけて保持する。このうち、「ルール項ＩＤ」は、ルール項を識別する識別番号である。また、「ｘ」、「ｙ」、「ｚ」、「ａ」、「ｂ」、「ｍ」及び「ｎ」の７つのパラメータは、ルール項に含まれるパラメータに対応する。
【００４２】
図３に示すように、作成部１２１は、例えば、図２に示した時系列データ１１１を走査し、７つのパラメータについて上記の条件を満たすルール項を複数作成する。例えば、作成部１２１は、１つのルール項として、ルール項ＩＤ「ルール項１」と、ｘ「１」と、ｙ「１」と、ｚ「最低気温」と、ａ「４」と、ｂ「∞」と、ｍ「２」と、ｎ「１」とを対応づける。つまり、作成部１２１は、ルール項１として、「系列の先頭から数えて１〜１行目から始まる２行のうち属性「最低気温」が「４℃」以上「∞℃」未満である行数が１以上」を作成したことを示す。また、作成部１２１は、他のルール項についても同様に作成する。また、例えば、作成部１２１は、作成したルール項の集合をルール項集合１１２として記憶部１１０に格納する。なお、以下では、例えば、ルール項ＩＤ「１」のルール項を「ルール項１」と略記する。
【００４３】
検出部１２２は、作成部１２１により作成された複数のルール項の属性の値を参照して、包含される側のルール項において真である系列は包含する側のルール項でも真である包含関係を満たすルール項の組合せを検出する。
【００４４】
ここで、包含関係について説明する。包含関係は、一方のルール項が真である系列は他方のルール項でも真であるというルール項間の関係である。例えば、ルール項「Ａ」と「Ｂ」との間に、ルール項「Ａ」が真である系列はルール項「Ｂ」でも真であるという関係がある場合には、ルール項「Ｂ」がルール項「Ａ」を包含する包含関係にある。具体的には、包含関係は、ルール項「Ａ」のパラメータとルール項「Ｂ」のパラメータの大小関係によって定義される。例えば、包含される側のルール項「Ａ」及び包含する側のルール項「Ｂ」が、上述した７つのパラメータ「ｘ、ｙ、ｚ、ａ、ｂ、ｍ、ｎ」を有する場合には、下記の式（１）〜（７）が成立する。なお、ルール項「Ａ」のパラメータを「ｘ＿Ａ、ｙ＿Ａ、ｚ＿Ａ、ａ＿Ａ、ｂ＿Ａ、ｍ＿Ａ、ｎ＿Ａ」とし、ルール項「Ｂ」のパラメータを「ｘ＿Ｂ、ｙ＿Ｂ、ｚ＿Ｂ、ａ＿Ｂ、ｂ＿Ｂ、ｍ＿Ｂ、ｎ＿Ｂ」とする。また、包含関係は、「親子関係」とも称する。下記の式（１）〜（７）が成立する場合、ルール項「Ａ」が「子」、ルール項「Ｂ」が「親」である。
ｘ＿Ａ≧ｘ＿Ｂ・・・（１）
ｙ＿Ａ≦ｙ＿Ｂ・・・（２）
ｚ＿Ａ＝ｚ＿Ｂ・・・（３）
ａ＿Ａ≧ａ＿Ｂ・・・（４）
ｂ＿Ａ≦ｂ＿Ｂ・・・（５）
ｍ＿Ａ≦ｍ＿Ｂ・・・（６）
ｎ＿Ａ≧ｎ＿Ｂ・・・（７）
【００４５】
例えば、検出部１２２は、ルール項集合１１２からルール項の情報を取得する。検出部１２２は、ルール項集合１１２に含まれるルール項のうち、あるルール項のパラメータを上記のルール項「Ｂ」のパラメータに代入する。検出部１２２は、他のルール項のパラメータを上記のルール項「Ａ」のパラメータに代入し、式（１）〜（７）が全て成立するか否かを判定する。式（１）〜（７）が全て成立する場合には、検出部１２２は、ルール項「Ａ」に代入したルール項ＩＤを、ルール項「Ｂ」に代入したルール項の子集合に格納する。この子集合は、ルール項「Ｂ」に代入したルール項の子の集合である。検出部１２２は、ルール項集合１１２に含まれるルール項の全ての組合せについて、同様の処理を実行することで、全てのルール項の子集合を求める。
【００４６】
図４を用いて、検出部１２２の処理を説明する。図４は、検出部の処理を説明するための図である。図４に示すように、検出部１２２は、「ルール項ＩＤ」と、「ｘ」と、「ｙ」と、「ａ」と、「ｍ」と、「子集合」とを対応づけて保持する。このうち、「ルール項ＩＤ」、「ｘ」、「ｙ」、「ａ」及び「ｍ」は、図３に示したルール項の情報と同様である。「子集合」は、ルール項の子の集合である。なお、検出部１２２は、ルール項の情報として、「ｚ」、「ｂ」及び「ｎ」についてもルール項集合１１２から取得するが、これらのパラメータはルール項１からルール項８において同値であるため省略する。
【００４７】
図４に示すように、例えば、検出部１２２は、ルール項「Ｂ」のパラメータにルール項１のパラメータを代入する。検出部１２２は、ルール項「Ａ」のパラメータにルール項２のパラメータを代入し、上記の式（１）〜（７）が全て成立するか否かを判定する。この場合、式（１）〜（７）が全て成立するので、検出部１２２は、ルール項２のルール項ＩＤ「２」をルール項１の子集合に格納する。他のルール項についても同様に、ルール項「Ａ」のパラメータ代入し、判定することで、ルール項１の子集合には「２，３，４」が格納される。これは、ルール項２、ルール項３及びルール項４がルール項１の子であることを示す。また、検出部１２２は、ルール項集合１１２に含まれるルール項の全ての組合せについて、同様の処理を実行することで、ルール項１からルール項８のそれぞれについて子集合を求める。なお、図４の空欄は、空集合であることを示す。例えば、ルール項４の子集合は空集合であり、ルール項４の子が存在しないことを示す。
【００４８】
付与部１２３は、検出部１２２により検出された包含関係を満たすルール項の組合せのうち、包含される側のルール項に当該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与する。例えば、付与部１２３は、複数のルール項に対して各ルール項を満たす系列の系列ＩＤを付与し、複数のルール項の間に包含関係がある場合には、包含関係にあるルール項のうち子に対して各ルール項を満たす系列の系列ＩＤを付与する。
【００４９】
例えば、付与部１２３は、時系列データ１１１から系列の情報を取得する。付与部１２３は、取得した系列ごとに、ルール項集合１１２に含まれるルール項を満たすか否かを判定する。取得した系列がルール項を満たす場合には、付与部１２３は、取得した系列の系列ＩＤをルール項の系列ＩＤ集合に追加する。ここで、ルール項を満たす系列のうち、所定の結果属性の値を有する系列の系列ＩＤを系列ＩＤ集合（有）に追加し、所定の結果属性の値を有しない系列の系列ＩＤを系列ＩＤ集合（無）に追加する。
【００５０】
図５を用いて、付与部１２３の処理を説明する。図５は、付与部の処理を説明するための図である。図５に示すように、付与部１２３は、「ルール項ＩＤ」と、「ｘ」と、「ｙ」と、「ａ」と、「ｍ」と、「子集合」と、「系列ＩＤ集合（有）」と、「系列ＩＤ集合（無）」とを対応づけて保持する。このうち、「ルール項ＩＤ」、「ｘ」、「ｙ」、「ａ」、「ｍ」及び「子集合」は、図４に示したルール項の情報と同様である。「系列ＩＤ集合（有）」は、ルール項を満たす系列ＩＤのうち、所定の結果属性の値を有する系列ＩＤの集合を示す。「系列ＩＤ集合（無）」は、ルール項を満たす系列ＩＤのうち、所定の結果属性の値を有しない系列ＩＤの集合を示す。
【００５１】
例えば、付与部１２３は、図２に示した時系列データ１１１から系列「００１」の情報を取得し、図５に示した各ルール項を満たすか否かを判定する。ここで、ルール項「系列の先頭から数えてｘ〜ｙ行目から始まるｍ行のうち属性ｚがａ以上ｂ未満である行数がｎ以上である」を満たすか否かを判定する場合には、付与部１２３は、ｘ以上ｙ以下の整数ｉを用いて表される次の条件を満たすか否かを判定する。すなわち、付与部１２３は、条件「その系列のｉ行目からｉ＋ｍ−１行目までに属性ｚの値がａ以上ｂ未満である行数がｎ以上ある」を満たすか否かを判定する。例えば、ｉ＝１の場合、ルール項１の条件は「その系列の１行目から２行目までに最低気温が４℃以上∞℃未満である行数が１以上ある」となる。系列「００１」はこの条件を満たすので、付与部１２３は、ルール項１の系列ＩＤ集合に系列ＩＤ「００１」を追加する。ここで、系列「００１」は病害虫有無が「有」であるので、付与部１２３は、ルール項１の系列ＩＤ集合（有）に系列ＩＤ「００１」を追加する。同様に、系列「００１」はルール項「２，３，５，６，７，８」を満たすので、付与部１２３は、ルール項「２，３，５，６，７，８」の系列ＩＤ集合（有）に系列ＩＤ「００１」を追加する。また、他の系列についても同様に処理を実行することで、付与部１２３は、図５に示すように、各ルール項を満たす系列の系列ＩＤを各ルール項の系列ＩＤ集合に追加する。
【００５２】
また、例えば、付与部１２３は、系列ＩＤを追加済みのルール項を選択し、選択したルール項の全ての子の系列ＩＤ集合の和集合を求める。ここで、付与部１２３は、系列ＩＤ集合（有）の和集合と、系列ＩＤ集合（無）の和集合とをそれぞれ求める。付与部１２３は、選択したルール項の系列ＩＤ集合から、求めた和集合を削除する。ここで、付与部１２３は、求めた系列ＩＤ集合（有）の和集合をルール項の系列ＩＤ集合（有）から削除し、求めた系列ＩＤ集合（無）の和集合をルール項の系列ＩＤ集合（無）から削除する。
【００５３】
図６を用いて、付与部１２３の処理を説明する。図６は、付与部の処理を説明するための図である。図６に示すように、付与部１２３は、「ルール項ＩＤ」と、「ｘ」と、「ｙ」と、「ａ」と、「ｍ」と、「子集合」と、「系列ＩＤ集合（有）」と、「系列ＩＤ集合（無）」とを対応づけて保持する。このうち、「ルール項ＩＤ」、「ｘ」、「ｙ」、「ａ」、「ｍ」及び「子集合」は、図５に示したルール項の情報と同様である。
【００５４】
例えば、付与部１２３は、図６に示したルール項からルール項１を選択する。ルール項１の子はルール項２，３，４であるので、付与部１２３は、それらの系列ＩＤ集合（有）の和集合「００１，００２」を求める。付与部１２３は、求めた和集合「００１，００２」をルール項１の系列ＩＤ集合（有）「００１，００２」から削除する。この結果、図６に示したルール項１の系列ＩＤ集合（有）は空集合となる。ルール項１の系列ＩＤ集合（無）についても同様に処理を実行することで、付与部１２３は、ルール項１の系列ＩＤ集合（無）「００３」を求める。また、他のルール項についても同様に処理を実行することで、付与部１２３は、図６に示すように、各ルール項の系列ＩＤ集合（有）及び系列ＩＤ集合（無）を求める。
【００５５】
ここで、図５の系列ＩＤ集合が２０個の系列ＩＤを保持するのに対して、図６の系列ＩＤ集合は１０個の系列ＩＤを保持する。このため、時系列ルール抽出装置１００は、系列ＩＤ集合の保持に要するメモリ容量を削減できる。
【００５６】
抽出部１２４は、複数のルール項のうち１又は２以上の組合せを作成し、作成した組合せに含まれるルール項と、そのルール項により包含される側のルール項とに付与された系列の識別情報の和集合を求める。抽出部１２４は、求めた和集合に含まれる系列の識別情報の数、及び／又は、求めた和集合に含まれる系列の識別情報のうち所定の結果属性を有する系列の識別情報の割合が所定範囲である組合せを抽出する。
【００５７】
例えば、抽出部１２４は、ルール項集合に含まれる１又は２以上のルール項を組合せ、ルール候補を作成する。抽出部１２４は、作成したルール候補のうち、ルール抽出条件を満たすルール候補をルールとして抽出する。ここで、ルール抽出条件は、例えば、最小支持度と、最小信頼度と、所定の結果属性とによって表される。このうち、最小支持度は、支持度の最小値である。この支持度は、時系列データにおいて、ルールの条件部を満たす系列の数である。また、最小信頼度は、信頼度の最小値である。この信頼度は、時系列データにおいて、ルールの条件部を満たす系列のうち、所定の結果属性を示す系列の割合である。例えば、抽出部１２４は、ルール抽出条件として、最小支持度「２」と、最小信頼度「１」と、結果属性「病害虫有無（有）」とを受け付ける。
【００５８】
以下では、図７から図１２を用いて、ルール候補を作成する処理と、ルールを抽出する処理とをそれぞれ説明する。図７から図１２は、抽出部の処理を説明するための図である。まず、ルール候補を作成する処理、すなわち、抽出部１２４がルール項集合に含まれる１又は２以上のルール項を組合せてルール候補を算出する処理を説明する。次に、ルールを抽出する処理、すなわち、抽出部１２４が作成したルール候補のうち、ルール抽出条件を満たすルール候補をルールとして抽出する処理を説明する。
【００５９】
まず、ルール候補を作成する処理を説明する。例えば、抽出部１２４は、ルール項集合からｋ個のルール項を選択し、選択したルール項を組み合わせてルール項数ｋのルール候補を算出する。ここで、ｋは、１以上の整数である。また、ｋは、抽出部１２４の処理の開始時にはｋ＝１が設定され、ルール項数ｋのルール候補がルール抽出条件を満たすか否か判定されるごとに１インクリメントされる。以下では、ｋ＝１の場合と、ｋが２以上の場合とに分けて説明する。
【００６０】
ｋ＝１の場合を説明する。例えば、抽出部１２４は、付与部１２３によって系列ＩＤ集合が付与されたルール項集合からルール項を１つずつ取得し、取得したルール項それぞれをルール候補とする。また、例えば、抽出部１２４は、それぞれのルール候補について、支持度と信頼度とを算出する。抽出部１２４は、ルール候補を１つ選択し、選択したルール候補に含まれるルール項について、系列ＩＤ集合を復元する復元処理を実行する。
【００６１】
ここで、復元処理について説明する。例えば、抽出部１２４は、選択したルール候補に含まれるルール項について、ルール項の全ての子の系列ＩＤ集合の和集合を求める。具体的には、抽出部１２４は、ルール項の全ての子の系列ＩＤ集合（有）の和集合と、系列ＩＤ集合（無）の和集合とを求める。抽出部１２４は、求めた和集合とルール項の系列ＩＤ集合との和集合を求める。具体的には、抽出部１２４は、求めた系列ＩＤ集合（有）の和集合とルール項の系列ＩＤ集合（有）との和集合を求め、求めた系列ＩＤ集合（無）の和集合とルール項の系列ＩＤ集合（無）との和集合を求める。このように、抽出部１２４は、各ルール項の全ての子の系列ＩＤ集合の和集合を求め、求めた和集合を各ルール項の系列ＩＤ集合に加えることで、各ルール項の系列ＩＤ集合を復元する。
【００６２】
抽出部１２４は、復元処理を実行した後に、支持度と信頼度とを算出する。抽出部１２４は、各ルール項の系列ＩＤ集合に含まれる系列の数の総和を支持度として算出する。具体的には、抽出部１２４は、系列ＩＤ集合（有）と系列ＩＤ集合（無）とに含まれる系列の数の総和を支持度として算出する。また、抽出部１２４は、系列ＩＤ集合（有）に含まれる系列の数を支持度で除算することで、信頼度を算出する。このように、抽出部１２４は、ｋ＝１の場合には、ルール項集合に含まれるルール項それぞれをルール候補とし、それぞれのルール候補について支持度と信頼度とを求めることで、ルール候補を作成する。なお、ここでは系列ＩＤ集合（有）を用いて支持度を算出したが、これに限定されるものではない。例えば、所定の結果属性を示さない系列の割合をルール抽出条件とする場合には、系列ＩＤ集合（無）を用いて支持度を算出しても良い。
【００６３】
図７を用いて、ｋ＝１の場合に、抽出部１２４がルール候補を作成する処理を説明する。図７に示すように、抽出部１２４は、「ルール項数１のルール候補」と、「子集合」と、「系列ＩＤ集合（有）」と、「系列ＩＤ集合（無）」と、「支持度」と、「信頼度」とを対応づけて保持する。このうち、「ルール項数１のルール候補」は、ルール候補を識別する識別情報を示す。例えば、「ルール候補１」は、図６に示したルール項１に対応するルール候補である。「支持度」は、ルール候補ごとに算出された支持度を示す。例えば、支持度「４」は、対応するルール候補を満たす系列が４つあることを示す。「信頼度」は、ルール候補ごとに算出された信頼度を示す。例えば、信頼度「０．５」は、対応するルール候補を満たす系列のうち、所定の結果属性を示す系列の割合が０．５であることを示す。「子集合」、「系列ＩＤ集合（有）」及び「系列ＩＤ集合（無）」は、図６に示したルール項の情報と同様である。
【００６４】
図７に示すように、抽出部１２４は、図６に示したルール項集合からルール項の情報を取得し、取得したルール項のそれぞれを、ルール項数１のルール候補とする。例えば、抽出部１２４は、図６に示したルール項１について、子集合と、系列ＩＤ集合（有）と、系列ＩＤ集合（無）とを取得し、取得したルール項１をルール候補１とする。抽出部１２４は、ルール候補１の子集合「ルール項２，３，４」の系列ＩＤ集合（有）の和集合を求める。ここで、ルール項２の系列ＩＤ集合（有）は「００１，００２」、ルール項３の系列ＩＤ集合（有）は「００１」、ルール項４の系列ＩＤ集合（有）は「空集合」であるので、抽出部１２４は、和集合「００１，００２」を求める。抽出部１２４は、求めた和集合「００１，００２」とルール候補１の系列ＩＤ集合（有）との和集合を求めることで、ルール候補１の系列ＩＤ集合（有）「００１，００２」を一時的に復元する。抽出部１２４は、系列ＩＤ集合（無）についても同様に復元し、ルール候補１の系列ＩＤ集合（有）「００３，００４」を一時的に復元する。抽出部１２４は、復元後の系列ＩＤ集合（有）の系列数「２」と系列ＩＤ集合（無）の系列数「２」とを加算し、支持度「４」を算出する。抽出部１２４は、復元後の系列ＩＤ集合（有）の系列数「２」を支持度「４」で除算することで、信頼度「０．５」を算出する。このように、抽出部１２４は、図６のルール項１をルール候補１とし、系列ＩＤ集合を復元した後に支持度と信頼度とを算出することで、図７に示すように、ルール候補１を作成する。また、抽出部１２４は、他のルール項についても同様に情報を取得し、支持度と信頼度とを算出することで、ルール項数１のルール候補を作成する。なお、ここで一時的に復元した系列ＩＤ集合は、ルール候補作成後に消去しても良く、ＲＡＭの空き領域に保持しても良い。
【００６５】
ｋが２以上の場合を説明する。例えば、抽出部１２４は、ルール項数ｋ−１のルール候補のうち、「支持度と信頼度との積」が「最小支持度と最小信頼度との積」以上となるルール候補を組み合わせることで、ルール項数ｋのルール候補を作成する。つまり、抽出部１２４は、ルール抽出条件で与えられた最小支持度と最小信頼度との積を算出する。抽出部１２４は、ルール項数ｋ−１において作成したルール候補ごとに、支持度と信頼度との積を算出し、算出した値と最小支持度と最小信頼度との積とを比較する。抽出部１２４は、比較結果に基づいて、支持度と信頼度との積が最小支持度と最小信頼度との積以上となるルール項数ｋ−１のルール候補を選択する。
【００６６】
また、例えば、抽出部１２４は、選択したルール項数ｋ−１のルール候補に含まれるルール項を全て抽出する。抽出部１２４は、抽出したルール項から、ｋ個のルール項を選択する。抽出部１２４は、選択したｋ個のルール項のうちルール項数ｋ−１の組合せの全てが、選択したルール項数ｋ−１のルール候補に存在するか否かを判定する。例えば、３個のルール項「Ａ，Ｂ，Ｃ」を選択した場合には、抽出部１２４は、このうちルール項数２の組合せ「Ａ，Ｂ」「Ａ，Ｃ」「Ｂ，Ｃ」の全てが、ルール項数２のルール候補に存在するか否かを判定する。存在する場合には、抽出部１２４は、選択したｋ個のルール項を組み合わせ、ルール項数ｋのルール候補とする。また、抽出部１２４は、ｋ個のルール項として他の組合せについても同様に処理を実行し、ルール項数ｋのルール候補を作成する。
【００６７】
図７及び図８を用いて、抽出部１２４がルール項数２のルール候補を作成する処理を説明する。抽出部１２４は、ルール抽出条件で与えられた最小支持度「２」と最小信頼度「１」との積「２×１＝２」を算出する。抽出部１２４は、ルール項数１のルール候補ごとに、支持度と信頼度との積を算出する。例えば、図７に示すように、抽出部１２４は、ルール候補１の支持度と信頼度との積「４×０．５＝２」を算出する。同様に、抽出部１２４は、ルール候補２について「３×０．６７＝２．０１」、ルール候補３について「２×０．５＝１」、ルール候補４について「１×０＝０」をそれぞれ算出する。また、同様に、抽出部１２４は、ルール候補５について「４×０．５＝２」、ルール候補６について「２×０．５＝１」、ルール候補７について「３×０．６７＝２．０１」、ルール候補８について「１×１＝１」をそれぞれ算出する。抽出部１２４は、算出したそれぞれの値と最小支持度と最小信頼度との積「２」とを比較し、「２」以上のルール項数１のルール候補「１，２，５，７」を選択する。抽出部１２４は、選択したルール候補「１，２，５，７」に含まれるルール項「１，２，５，７」を抽出する。抽出部１２４は、ルール項「１，２，５，７」から、２個のルール項を選択し、組み合わせる。例えば、抽出部１２４は、ルール項１と２とを選択し、組合せ（１，２）を作成する。抽出部１２４は、この２個のルール項のうちルール項数１の組合せの全てが、ルール項数１のルール候補に存在するか否かを判定する。図７に示すように、ルール項数１のルール候補にルール候補１及びルール候補２が存在するので、抽出部１２４は、図８に示すように、「ルール候補１×２」を作成する。なお、「ルール候補１×２」は、ルール項１とルール項２とをＡＮＤでつないだルール候補を示す。また、抽出部１２４は、他の組合せについても同様に処理を実行し、ルール項数２のルール候補として、「ルール候補１×５」「ルール候補１×７」「ルール候補２×５」「ルール候補２×７」「ルール候補５×７」をそれぞれ作成する。
【００６８】
また、例えば、抽出部１２４は、作成したルール候補ごとに、支持度と信頼度とを算出する。具体的に、抽出部１２４は、作成したルール候補を１つ選択し、選択したルール候補に含まれるｋ個のルール項それぞれについて、上述の復元処理を実行する。抽出部１２４は、復元処理を実行した後に、選択したルール候補について、ルール候補に含まれるｋ個のルール項の系列ＩＤ集合の積集合を求める。ここで、抽出部１２４は、系列ＩＤ集合（有）の積集合と系列ＩＤ集合（無）の積集合とをそれぞれ求める。抽出部１２４は、求めた系列ＩＤ集合（有）の積集合と系列ＩＤ集合（無）の積集合とを用いて、支持度と信頼度とを算出する。具体的には、抽出部１２４は、ルール候補について求めた系列ＩＤ集合（有）の積集合と系列ＩＤ集合（無）の積集合とに含まれる系列の数の総和を支持度として算出する。また、抽出部１２４は、系列ＩＤ集合（有）の積集合に含まれる系列の数を支持度で除算することで、信頼度を算出する。なお、ここでは系列ＩＤ集合（有）を用いて支持度を算出したが、これに限定されるものではない。例えば、所定の結果属性を示さない系列の割合をルール抽出条件とする場合には、系列ＩＤ集合（無）を用いて支持度を算出しても良い。
【００６９】
図９を用いて、抽出部１２４がルール項数２のルール候補の支持度と信頼度とを算出する処理を説明する。図９に示すルール項数２のルール候補は、図８に示したものと同様である。図９に示すように、例えば、抽出部１２４は、ルール候補１×２を選択し、選択したルール候補１×２に含まれるルール項１及びルール項２について、上述の復元処理を実行する。抽出部１２４は、復元処理を実行した後に、ルール項１及びルール項２の系列ＩＤ集合の積集合を求める。例えば、ルール項１の系列ＩＤ集合（有）が「００１，００２」であり、ルール項２の系列ＩＤ集合（有）が「００１，００２」であるので、抽出部１２４は、積集合「００１，００２」を算出する。また、例えば、ルール項１の系列ＩＤ集合（無）が「００３，００４」であり、ルール項２の系列ＩＤ集合（無）が「００４」であるので、抽出部１２４は、積集合「００４」を算出する。抽出部１２４は、系列ＩＤ集合（有）の積集合の系列数「２」と、系列ＩＤ集合（無）の積集合の系列数「１」とを加算し、支持度「２＋１＝３」を算出する。抽出部１２４は、系列ＩＤ集合（有）の積集合の系列数「２」を支持度「３」で除算することで、信頼度「２÷３＝０．６７」を算出する。このように、抽出部１２４は、図９のルール候補１×２について、ルール候補１×２に含まれる各ルール項の系列ＩＤ集合を復元する。そして、抽出部１２４は、復元した後に系列ＩＤ集合の積集合を求め、支持度と信頼度とを算出することで、図９に示すように、ルール候補１×２を作成する。また、抽出部１２４は、他のルール候補についても同様に処理を実行することで、ルール項数２のルール候補を作成する。なお、ここで一時的に復元した系列ＩＤ集合は、ルール候補作成後に消去しても良く、ＲＡＭの空き領域に保持しても良い。
【００７０】
図９及び図１０を用いて、抽出部１２４がルール項数３のルール候補を作成する処理を説明する。抽出部１２４は、図９に示したルール項数２のルール候補ごとに、支持度と信頼度との積を算出する。例えば、抽出部１２４は、ルール候補１×２の支持度と信頼度との積「３×０．６７＝２．０１」を算出する。同様に、抽出部１２４は、ルール候補１×５について「４×０．５＝２」、ルール候補１×７について「３×０．６７＝２．０１」をそれぞれ算出する。また、同様に、抽出部１２４は、ルール候補２×５について「３×０．６７＝２．０１」、ルール候補２×７について「２×１＝２」、ルール候補５×７について「３×０．６７＝２．０１」をそれぞれ算出する。抽出部１２４は、算出したそれぞれの値と最小支持度と最小信頼度との積「２」とを比較し、「２」以上のルール項数２のルール候補「１×２，１×５，１×７，２×５，２×７，５×７」を選択する。抽出部１２４は、選択したルール候補「１×２，１×５，１×７，２×５，２×７，５×７」に含まれるルール項「１，２，５，７」を抽出する。抽出部１２４は、ルール項「１，２，５，７」から、３個のルール項を選択し、組み合わせる。例えば、抽出部１２４は、ルール項１と２と５とを選択し、組合せ（１，２，５）を作成する。抽出部１２４は、この３個のルール項のうち２個を組合せの全てが、ルール項数２のルール候補に存在するか否かを判定する。（１，２，５）から任意の２個を選択して作成される組合せは（１，２）（１，５）（２，５）の３組みであるので、抽出部１２４は、この３組みを組み合わせたルール候補が、ルール項数２のルール候補に存在するか否かを判定する。図９には、ルール候補「１×２，１×５，２×５」が存在するので、抽出部１２４は、図１０に示すように、「ルール候補１×２×５」を作成する。なお、「ルール候補１×２×５」は、ルール項１とルール項２とルール項５とをＡＮＤでつないだルール候補を示す。また、抽出部１２４は、他の組合せについても同様に処理を実行し、ルール項数３のルール候補として、「ルール候補１×２×７」「ルール候補１×５×７」「ルール候補２×５×７」をそれぞれ作成する。
【００７１】
図１０を用いて、抽出部１２４がルール項数３のルール候補の支持度と信頼度とを算出する処理を説明する。例えば、抽出部１２４は、図１０のルール候補１×２×５を選択し、ルール候補１×２×５に含まれるルール項１、ルール項２及びルール項５について、上述の復元処理を実行する。抽出部１２４は、復元した後に、ルール項１、ルール項２及びルール項５の系列ＩＤ集合の積集合を求め、支持度と信頼度とを算出する。この結果、抽出部１２４は、ルール候補１×２×５の支持度「３」と、信頼度「０．６７」とを算出する。また、抽出部１２４は、他のルール候補についても同様に処理を実行することで、支持度と信頼度とを算出する。
【００７２】
図１０及び図１１を用いて、抽出部１２４がルール項数４のルール候補を作成する処理を説明する。抽出部１２４は、図１０に示したルール項数３のルール候補ごとに、支持度と信頼度との積を算出する。例えば、抽出部１２４は、ルール候補１×２×５の支持度と信頼度との積「３×０．６７＝２．０１」を算出する。同様に、抽出部１２４は、ルール候補１×２×７について「２×１＝２」、ルール候補１×５×７について「３×０．６７＝２．０１」、ルール候補２×５×７について「２×１＝２」をそれぞれ算出する。抽出部１２４は、算出したそれぞれの値と最小支持度と最小信頼度との積「２」とを比較し、「２」以上のルール項数２のルール候補「１×２×５，１×２×７，１×５×７，２×５×７」を選択する。抽出部１２４は、選択したルール候補「１×２×５，１×２×７，１×５×７，２×５×７」に含まれるルール項「１，２，５，７」を抽出する。抽出部１２４は、ルール項「１，２，５，７」から、４個のルール項を選択し、組み合わせる。例えば、抽出部１２４は、ルール項１と２と５と７とを選択し、組合せ（１，２，５，７）を作成する。抽出部１２４は、この４個のルール項のうち３個を組合せの全てが、ルール項数３のルール候補に存在するか否かを判定する。（１，２，５，７）から任意の３個を選択して作成される組合せは（１，２，５）（１，２，７）（１，５，７）（２，５，７）の４組みであるので、抽出部１２４は、この４組みを組み合わせたルール候補が、ルール項数３のルール候補に存在するか否かを判定する。図１０には、ルール候補「１×２×５，１×２×７，１×５×７，２×５×７」が存在するので、抽出部１２４は、図１１に示すように、「ルール候補１×２×５×７」を作成する。なお、「ルール候補１×２×５×７」は、ルール項１とルール項２とルール項５とルール項７とをＡＮＤでつないだルール候補を示す。
【００７３】
図１１を用いて、抽出部１２４がルール項数４のルール候補の支持度と信頼度とを算出する処理を説明する。例えば、抽出部１２４は、図１１のルール候補１×２×５×７を選択し、ルール候補１×２×５×７に含まれるルール項１、ルール項２、ルール項５及びルール項７について、上述の復元処理を実行する。抽出部１２４は、復元した後に、ルール項１、ルール項２、ルール項５及びルール項７の系列ＩＤ集合の積集合を求め、支持度と信頼度とを算出する。この結果、抽出部１２４は、ルール候補１×２×５×７の支持度「２」と、信頼度「１」とを算出する。
【００７４】
ここで、図１１に示したルール項数４のルール候補を構成するルール項は、ルール項「１，２，５，７」の４つのみである。よって、ルール項数５のルール候補を作成することはできないため、抽出部１２４は、ここでルール項数ｋのルール候補を作成する処理を終了する。
【００７５】
次に、ルールを抽出する処理を説明する。例えば、抽出部１２４は、ルール候補を作成する処理によって作成したルール項数ｋのルール候補から、ルール抽出条件を満たすルール候補をルールとして抽出する。
【００７６】
図９から図１２を用いて、抽出部１２４がルールを抽出する処理を説明する。図１２に示すように、抽出部１２４は、「抽出ルール」と、「支持度」と、「信頼度」とを対応づけて保持する。このうち、「抽出ルール」は、抽出部１２４によって抽出されたルールを示す。ここでは、ルール抽出条件として、最小支持度「２」と、最小信頼度「１」と、結果属性「病害虫有無（有）」とを抽出部１２４が受け付けた場合を説明する。
【００７７】
例えば、抽出部１２４は、図９に示したルール項数２のルール候補を参照し、ルール抽出条件を満たすルール候補２×７をルールとして抽出する。また、例えば、抽出部１２４は、図１０に示したルール項数３のルール候補を参照し、ルール抽出条件を満たすルール候補１×２×７及びルール候補２×５×７をルールとして抽出する。また、例えば、抽出部１２４は、図１１に示したルール項数４のルール候補を参照し、ルール抽出条件を満たすルール候補１×２×５×７をルールとして抽出する。この結果、抽出部１２４は、図１２に示すように、ルール候補２×７、ルール候補１×２×７、ルール候補２×５×７及びルール候補１×２×５×７をルールとして抽出する。なお、図１２には、抽出ルールに対応する支持度と信頼度とを対応づけて示す。
【００７８】
また、例えば、抽出部１２４は、抽出したルールの集合をルール集合１１３として記憶部１１０に格納する。例えば、抽出部１２４は、図１２に示した４つの抽出ルールをルール集合１１３として記憶部１１０に格納する。なお、抽出部１２４は、抽出ルールに含まれるルール項のパラメータを、「系列の先頭から数えてｘ〜ｙ行目から始まるｍ行のうち属性ｚがａ以上ｂ未満である行数がｎ以上である」に当てはめて表現しても良い。例えば、抽出部１２４は、ルール候補２×７を「系列の先頭から数えて１〜１行目から始まる１行のうち最低気温が５℃以上∞未満である行数が１以上、かつ、系列の先頭から数えて２〜２行目から始まる２行のうち最低気温が１０℃以上∞未満である行数が１以上あれば、病害虫が１００％の確率で発生する」と表現する。ここで、「病害虫が１００％の確率で発生する」は、病害虫有無が「有」のものを最低信頼度「１」で抽出したことに対応する。
【００７９】
次に、実施例１に係る時系列ルール抽出装置１００の処理手順について説明する。図１３は、実施例１に係る時系列ルール抽出装置の処理手順を示すフローチャートである。図１３に示す処理は、例えば、入力装置１０１が時系列データ１１１及びルール抽出条件を示す情報を受け付けたことを契機として実行される。
【００８０】
図１３に示すように、例えば、処理タイミングになると（ステップＳ１０１Ｙｅｓ）、作成部１２１は、時系列データ１１１を走査して、複数のルール項を作成する（ステップＳ１０２）。検出部１２２は、包含関係を検出する（ステップＳ１０３）。つまり、検出部１２２は、ルール項集合１１２に含まれるルール項のパラメータを比較することで、包含関係を満たすルール項の組合せを検出する。
【００８１】
例えば、付与部１２３は、複数のルール項に対して、系列付与処理を実行する（ステップＳ１０４）。ここで、図１４を用いて、図１３のステップＳ１０４に示した系列付与処理について説明する。図１４は、系列付与処理の処理手順を示すフローチャートである。
【００８２】
図１４に示すように、例えば、付与部１２３は、時系列データ１１１から系列の情報を１つ取得する（ステップＳ２０１）。付与部１２３は、ルール項集合１１２からルール項を１つ取得する（ステップＳ２０２）。
【００８３】
付与部１２３は、取得した系列が取得したルール項を満たすか否か判定する（ステップＳ２０３）。系列がルール項を満たす場合には（ステップＳ２０３Ｙｅｓ）、付与部１２３は、取得した系列の系列ＩＤを取得したルール項の系列ＩＤ集合に追加する（ステップＳ２０４）。例えば、付与部１２３は、ルール項を満たす系列のうち、所定の結果属性の値を有する系列の系列ＩＤを系列ＩＤ集合（有）に追加し、所定の結果属性の値を有しない系列の系列ＩＤを系列ＩＤ集合（無）に追加する。一方、系列がルール項を満たさない場合には（ステップＳ２０３Ｎｏ）、付与部１２３は、ステップＳ２０５の処理に移行する。
【００８４】
付与部１２３は、全てのルール項について、取得した系列の情報が各ルール項を満たすか否かを判定する処理を実行するまで（ステップＳ２０５Ｎｏ）、ステップＳ２０２からステップＳ２０５の処理を繰り返し実行する。全てのルール項について処理を実行した場合には（ステップＳ２０５Ｙｅｓ）、付与部１２３は、ステップＳ２０６の処理に移行する。付与部１２３は、全ての系列について、各系列の情報が各ルール項を満たすか否かを判定する処理を実行するまで（ステップＳ２０６Ｎｏ）、ステップＳ２０１からステップＳ２０６の処理を繰り返し実行する。
【００８５】
全ての系列について処理を実行した場合には（ステップＳ２０６Ｙｅｓ）、付与部１２３は、ルール項を１つ選択する（ステップＳ２０７）。付与部１２３は、ルール項の全ての子の系列ＩＤ集合の和集合を求める（ステップＳ２０８）。例えば、付与部１２３は、ルール項の全ての子の系列ＩＤ集合（有）の和集合と、ルール項の全ての子の系列ＩＤ集合（無）の和集合とをそれぞれ求める。付与部１２３は、ルール項の系列ＩＤ集合から和集合を削除する（ステップＳ２０９）。例えば、付与部１２３は、求めた系列ＩＤ集合（有）の和集合をルール項の系列ＩＤ集合（有）から削除し、求めた系列ＩＤ集合（無）の和集合をルール項の系列ＩＤ集合（無）から削除する。
【００８６】
全てのルール項についてステップＳ２０８及びステップＳ２０９の処理を実行するまで（ステップＳ２１０Ｎｏ）、付与部１２３は、ステップＳ２０７からステップＳ２１０の処理を繰り返し実行する。全てのルール項について処理を実行した場合には（ステップＳ２１０Ｙｅｓ）、付与部１２３は、系列付与処理を終了する。
【００８７】
図１３の説明に戻る。抽出部１２４は、ルール抽出処理を実行する（ステップＳ１０５）。ここで、図１５を用いて、図１３のステップＳ１０５に示したルール抽出処理について説明する。図１５は、ルール抽出処理の処理手順を示すフローチャートである。
【００８８】
図１５に示すように、例えば、抽出部１２４は、ｋ＝１を設定する（ステップＳ３０１）。抽出部１２４は、ルール項数ｋのルール候補を算出し（ステップＳ３０２）、ルール候補が算出されたか否かを判定する（ステップＳ３０３）。ルール候補が算出された場合には（ステップＳ３０３Ｙｅｓ）、抽出部１２４は、ルール候補を１つ選択する（ステップＳ３０４）。抽出部１２４は、ルール候補に含まれるルール項を１つ選択する（ステップＳ３０５）。抽出部１２４は、選択したルール項について、復元処理を実行する（ステップＳ３０６）。ここで、図１６を用いて、図１５のステップＳ３０６に示したルール抽出処理について説明する。図１６は、復元処理の処理手順を示すフローチャートである。
【００８９】
図１６に示すように、抽出部１２４は、ルール項の全ての子の系列ＩＤ集合の和集合を求める（ステップＳ４０１）。抽出部１２４は、求めた和集合とルール項の系列ＩＤ集合との和集合を求める（ステップＳ４０２）。この結果、抽出部１２４は、各ルール項の系列ＩＤ集合を復元する。
【００９０】
図１５の説明に戻る。抽出部１２４は、全てのルール項について復元処理を実行するまで（ステップＳ３０７Ｎｏ）、ステップＳ３０５からステップＳ３０７までの処理を繰り返し実行する。全てのルール項について復元処理を実行した場合には（ステップＳ３０７Ｙｅｓ）、抽出部１２４は、選択したルール候補がルール抽出条件を満たすか否かを判定する（ステップＳ３０８）。
【００９１】
ルール抽出条件を満たす場合には（ステップＳ３０８Ｙｅｓ）、抽出部１２４は、ルール候補をルールとして抽出する（ステップＳ３０９）。一方、ルール抽出条件を満たさない場合には（ステップＳ３０８Ｎｏ）、抽出部１２４は、ステップＳ３１０に移行する。
【００９２】
抽出部１２４は、全てのルール候補について、ルール抽出条件を満たすか判定するまで（ステップＳ３１０Ｎｏ）、ステップＳ３０４からステップＳ３１０までの処理を繰り返し実行する。全てのルール候補について処理した場合には（ステップＳ３１０Ｙｅｓ）、抽出部１２４は、ｋを１インクリメントし（ステップＳ３１１）、ステップＳ３０２に移行する。
【００９３】
抽出部１２４は、ルール候補が算出されなくなるまで、ステップＳ３０２からステップＳ３１１までの処理を繰り返し実行する。ルール候補が算出されなくなった場合には（ステップＳ３０３Ｎｏ）、抽出部１２４は、ルール抽出処理を終了する。
【００９４】
図１３の説明に戻る。抽出部１２４は、ルール抽出処理により抽出したルールをルール集合として記憶部１１０に格納する。
【００９５】
次に、実施例１に係る時系列ルール抽出装置１００の効果について説明する。時系列ルール抽出装置１００は、時間ごとに系列の属性と結果属性とを対応づけた時系列データを基に、属性と該属性の値と時間の範囲とを用いて表されるルール項を複数作成する。時系列ルール抽出装置１００は、作成した複数のルール項の属性の値を参照して、包含される側のルール項において真である系列は包含する側のルール項でも真である包含関係を満たすルール項の組合せを検出する。時系列ルール抽出装置１００は、検出した包含関係を満たすルール項の組合せのうち、包含される側のルール項にそのルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与する。時系列ルール抽出装置１００は、複数のルール項のうち１又は２以上の組合せを作成し、作成した組合せに含まれるルール項と、そのルール項により包含される側のルール項とに付与された系列の識別情報の和集合を求める。時系列ルール抽出装置１００は、求めた和集合に含まれる系列の識別情報の数、及び／又は、求めた和集合に含まれる系列の識別情報のうち所定の結果属性を有する系列の識別情報の割合が所定範囲である組合せを抽出する。このように、時系列ルール抽出装置１００は、包含関係を満たすルール項の組合せのうち、包含される側のルール項にそのルール項において真である系列の識別情報を付与するので、系列の識別情報を保持するのに要するメモリ容量を削減することができる。このため、時系列ルール抽出装置１００は、処理対象とするルール項の数を増加させてもメモリ容量による制限を受けにくいため、柔軟なルール項を設定でき、精度の良いルールを抽出することができる。
【実施例２】
【００９６】
実施例１では、時系列ルール抽出装置１００がルール項を満たす系列の系列ＩＤを各ルール項に付与する際に、全てのルール項に対して系列ＩＤを付与した後に、親に対して付与された系列ＩＤを削除する場合を説明した。しかし、本発明はこれに限定されるものではない。例えば、時系列ルール抽出装置１００は、系列ＩＤを付与するルール項を選択した後に、各ルール項に対して系列ＩＤを付与しても良い。そこで、実施例２では、時系列ルール抽出装置１００が系列ＩＤを付与するルール項を選択した後に、各ルール項に対して系列ＩＤを付与する場合を説明する。
【００９７】
実施例２に係る時系列ルール抽出装置の機能構成について説明する。実施例２に係る時系列ルール抽出装置１００は、図１に示した時系列ルール抽出装置１００と同様に、記憶部１１０と、制御部１２０とを有する。また、時系列ルール抽出装置１００は、入力装置１０１と、出力装置１０２とに接続される。このうち、記憶部１１０と、入力装置１０１と、出力装置１０２の説明は、図１に示した記憶部１１０と、入力装置１０１と、出力装置１０２の説明と同様である。
【００９８】
制御部１２０は、図１に示した制御部１２０と同様の機能を有する。例えば、制御部１２０は、作成部１２１と、検出部１２２と、付与部１２３と、抽出部１２４とを有する。このうち、作成部１２１と、抽出部１２４の説明は、図１に示した作成部１２１と、抽出部１２４の説明と同様である。
【００９９】
検出部１２２は、図１に示した検出部１２２と同様の機能を有する。また、検出部１２２は、例えば、ルール項集合１１２からルール項の情報を取得する。検出部１２２は、ルール項集合１１２に含まれるルール項のうち、あるルール項のパラメータを上記のルール項「Ｂ」のパラメータに代入する。検出部１２２は、他のルール項のパラメータを上記のルール項「Ａ」のパラメータに代入し、上述した式（１）〜（７）が全て成立するか否かを判定する。式（１）〜（７）が全て成立する場合には、検出部１２２は、ルール項「Ｂ」に代入したルール項ＩＤを、ルール項「Ａ」に代入したルール項の親集合に格納する。この親集合は、ルール項「Ａ」に代入したルール項の親の集合である。検出部１２２は、ルール項集合１１２に含まれるルール項の全ての組合せについて、同様の処理を実行することで、全てのルール項の親集合を求める。
【０１００】
図１７を用いて、検出部１２２の処理を説明する。図１７は、検出部の処理を説明するための図である。図１７に示すように、検出部１２２は、「ルール項ＩＤ」と、「ｘ」と、「ｙ」と、「ａ」と、「ｍ」と、「親集合」と、「子集合」とを対応づけて保持する。このうち、「ルール項ＩＤ」、「ｘ」、「ｙ」、「ａ」、「ｍ」及び「子集合」は、図４に示したルール項の情報と同様である。「親集合」は、ルール項の親の集合である。
【０１０１】
例えば、検出部１２２は、上述したルール項「Ｂ」のパラメータに、図３に示したルール項１のパラメータを代入する。同様に、検出部１２２は、ルール項「Ａ」のパラメータにルール項２のパラメータを代入し、上述した式（１）〜（７）が全て成立するか否かを判定する。この場合、式（１）〜（７）が全て成立するので、検出部１２２は、ルール項２のルール項ＩＤ「２」をルール項１の子集合に格納するとともに、ルール項１のルール項ＩＤ「１」をルール項２の親集合に格納する。また、検出部１２２は、ルール項集合１１２に含まれるルール項の全ての組合せについて、同様の処理を実行することで、ルール項１からルール項８のそれぞれについて、親集合と子集合とを求める。
【０１０２】
付与部１２３と、図１に示した付与部１２３と同様の機能を有する。また、付与部１２３は、例えば、処理対象集合を用いて各ルール項に対して系列ＩＤを付与する。この処置対象集合は、ルール項を満たす系列の系列ＩＤを各ルール項に付与する際に、系列ＩＤを付与するルール項を一時的に格納する集合である。例えば、付与部１２３は、ある系列が満たすルール項を処理対象集合に追加する。付与部１２３は、処理対象集合に含まれるルール項の間に包含関係があれば、包含関係を満たすルール項のうち親であるルール項を処理対象集合から削除する。付与部１２３は、削除した後に処理対象集合に含まれるルール項に対して、ルール項を満たす系列の系列ＩＤを付与する。
【０１０３】
図１８及び図１９を用いて、付与部１２３の処理を説明する。図１８及び図１９は、付与部の処理を説明するための図である。図１８及び図１９に示すように、付与部１２３は、「ルール項ＩＤ」と、「ｘ」と、「ｙ」と、「ａ」と、「ｍ」と、「親集合」と、「子集合」と、「系列ＩＤ集合（有）」と、「系列ＩＤ集合（無）」とを対応づけて保持する。
【０１０４】
例えば、付与部１２３は、図２に示した時系列データ１１１から系列「００１」の情報を取得し、図１７に示した各ルール項を満たすか否かを判定する。この判定する処理は、実施例１において説明した付与部１２３の処理を同様である。系列「００１」はルール項１を満たすので、付与部１２３は、ルール項１のルール項ＩＤ「１」を処理対象集合に追加する。付与部１２３は、他のルール項についても同様に、系列「００１」が各ルール項を満たすか否かを判定し、系列「００１」が満たすルール項のルール項ＩＤを処理対象集合に追加する。この結果、付与部１２３は、ルール項ＩＤ「１，２，３，５，６，７，８」を処理対象集合に追加する。
【０１０５】
例えば、付与部１２３は、処理対象集合に含まれるルール項の親集合の和集合を求める。例えば、図１７では、ルール項１の親集合は「空集合」、ルール項２の親集合は「１」、ルール項３の親集合は「１」、ルール項５の親集合は「空集合」、ルール項６の親集合は「５」、ルール項７の親集合は「５」、ルール項８の親集合は「５，６，７」である。この場合、付与部１２３は、処理対象集合「１，２，３，５，６，７，８」に含まれる各ルール項の親集合の和集合「１，５，６，７」を求める。付与部１２３は、求めた和集合「１，５，６，７」を処理対象集合「１，２，３，５，６，７，８」から削除し、処理対象集合を「２，３，８」とする。付与部１２３は、図１８に示すように、この処理対象集合に含まれるルール項「２，３，８」の系列ＩＤ集合に、取得した系列の系列ＩＤ「００１」を追加する。ここで、系列「００１」は、結果属性として病害虫有無「有」であるため、系列ＩＤ集合（有）に追加される。付与部１２３は、他の系列についても同様に処理を実行することで、図１９に示すように、各ルール項の系列ＩＤ集合に系列ＩＤを付与する。なお、図１９の各ルール項の系列ＩＤ集合に付与された系列ＩＤは、図６において付与された系列ＩＤと同一である。
【０１０６】
次に、実施例２に係る時系列ルール抽出装置１００の処理手順について説明する。図２０は、系列付与処理の処理手順を示すフローチャートである。例えば、付与部１２３は、処理対象集合を「空集合」に設定する（ステップＳ５０１）。
【０１０７】
例えば、付与部１２３は、時系列データ１１１から系列の情報を１つ取得する（ステップＳ５０２）。付与部１２３は、ルール項集合からルール項を１つ取得する（ステップＳ５０３）。付与部１２３は、取得した系列が取得したルール項を満たすか否かを判定する（ステップＳ５０４）。
【０１０８】
系列がルール項を満たす場合には（ステップＳ５０４Ｙｅｓ）、付与部１２３は、ルール項を処理対象集合に追加する（ステップＳ５０５）。一方、系列がルール項を満たさない場合には（ステップＳ５０４Ｎｏ）、付与部１２３は、ステップＳ５０６の処理に移行する。付与部１２３は、全てのルール項について、取得した系列の情報が各ルール項を満たすか否かを判定する処理を実行するまで（ステップＳ５０６Ｎｏ）、ステップＳ５０３からステップＳ５０６の処理を繰り返し実行する。全てのルール項について処理を実行した場合には（ステップＳ５０６Ｙｅｓ）、付与部１２３は、ステップＳ５０７の処理に移行する。
【０１０９】
付与部１２３は、例えば、処理対象集合に含まれるルール項の親集合の和集合を求める（ステップＳ５０７）。付与部１２３は、求めた和集合を処理対象集合から削除する（ステップＳ５０８）。付与部１２３は、処理対象集合に含まれる各ルール項の系列ＩＤ集合に、取得した系列の系列ＩＤを追加する（ステップＳ５０９）。付与部１２３は、全ての系列について上記の処理を実行するまで（ステップＳ５１０Ｎｏ）、ステップＳ５０１からステップＳ５１０の処理を繰り返し実行する。全ての系列について処理を実行した場合には（ステップＳ５１０Ｙｅｓ）、付与部１２３は、処理を終了する。
【０１１０】
次に、実施例１に係る時系列ルール抽出装置１００の効果について説明する。時系列ルール抽出装置１００は、ルール項を満たす系列の系列ＩＤを各ルール項に付与する際に、親に系列ＩＤを付与することなく、子にのみ系列ＩＤを付与するので、系列ＩＤを付与する処理に要するメモリ容量を削減することができる。このため、時系列ルール抽出装置１００は、処理対象とするルール項の数を増加させてもメモリ容量による制限を受けにくいため、柔軟なルール項を設定でき、精度の良いルールを抽出することができる。
【実施例３】
【０１１１】
実施例１では、時系列ルール抽出装置１００が包含関係を満たすルール項の組合せを検出した際に、親の子集合に子のルール項ＩＤを追加する場合を説明したが、本発明はこれに限定されるものではない。例えば、時系列ルール抽出装置１００は、親の子集合に子のルール項ＩＤを追加する際に、子の間で包含関係を満たすルール項の組合せが存在する場合には、その組合せのうち親のルール項ＩＤを追加するようにしても良い。そこで、実施例３では、時系列ルール抽出装置１００が親の子集合に子のルール項ＩＤを追加する場合に、子の間で包含関係を満たすルール項の組合せが存在する場合には、その組合せのうち親のルール項ＩＤを追加する場合を説明する。
【０１１２】
実施例３に係る時系列ルール抽出装置の機能構成について説明する。実施例３に係る時系列ルール抽出装置１００は、図１に示した時系列ルール抽出装置１００と同様に、記憶部１１０と、制御部１２０とを有する。また、時系列ルール抽出装置１００は、入力装置１０１と、出力装置１０２とに接続される。このうち、記憶部１１０と、入力装置１０１と、出力装置１０２の説明は、図１に示した記憶部１１０と、入力装置１０１と、出力装置１０２の説明と同様である。
【０１１３】
制御部１２０は、図１に示した制御部１２０と同様の機能を有する。例えば、制御部１２０は、作成部１２１と、検出部１２２と、付与部１２３と、抽出部１２４とを有する。このうち、作成部１２１と、抽出部１２４の説明は、図１に示した作成部１２１と、抽出部１２４の説明と同様である。
【０１１４】
検出部１２２は、図１に示した検出部１２２と同様の機能を有する。また、検出部１２２は、検出した包含関係を満たすルール項の組合せのうち、包含する側のルール項の集合に包含される側のルール項を追加するとともに、次のように処理する。つまり、検出部１２２は、該包含される側のルール項の間で包含関係を満たすルール項の組合せが存在する場合には、該組合せのうち包含する側のルール項を追加する。例えば、検出部１２２は、検出した包含関係を満たすルール項の組合せのうち、親の集合に子のルール項ＩＤを追加する際に、子の間で包含関係を満たすルール項の組合せが存在する場合には、その組合せのうち親のルール項ＩＤを追加する。
【０１１５】
例えば、検出部１２２は、ルール項集合１１２からルール項の情報を取得する。検出部１２２は、ルール項集合１１２に含まれるルール項のうち、あるルール項のパラメータを上記のルール項「Ｂ」のパラメータに代入する。検出部１２２は、他のルール項のパラメータを上記のルール項「Ａ」のパラメータに代入し、上述した式（１）〜（７）が全て成立するか否かを判定する。式（１）〜（７）が全て成立する場合には、検出部１２２は、ルール項「Ａ」に代入したルール項ＩＤを、ルール項「Ｂ」に代入したルール項の子集合に格納する。検出部１２２は、ルール項集合１１２に含まれるルール項の全ての組合せについて、同様の処理を実行することで、全てのルール項の子集合を求める。
【０１１６】
また、例えば、検出部１２２は、求めた子集合に含まれるルール項の間で、上述した式（１）〜（７）が全て成立するか否かを判定する。判定方法は、上述した通りである。式（１）〜（７）が全て成立する場合には、検出部１２２は、ルール項「Ａ」に代入したルール項ＩＤを、求めた子集合から削除する。検出部１２２は、求めた子集合に含まれるルール項の全ての組合せについて、同様の処理を実行することで、子集合に含まれるルール項の間で子として判定されるルール項を削除する。
【０１１７】
図２１を用いて、検出部１２２の処理を説明する。図２１は、検出部の処理を説明するための図である。図２１に示すように、検出部１２２は、「ルール項ＩＤ」と、「ｘ」と、「ｙ」と、「ａ」と、「ｍ」と、「子集合」とを対応づけて保持する。このうち、「ルール項ＩＤ」、「ｘ」、「ｙ」、「ａ」、「ｍ」及び「子集合」は、図４に示したルール項の情報と同様である。
【０１１８】
例えば、検出部１２２は、上述したルール項「Ｂ」のパラメータに、図３に示したルール項１のパラメータを代入する。同様に、検出部１２２は、ルール項「Ａ」のパラメータにルール項２のパラメータを代入し、上述した式（１）〜（７）が全て成立するか否かを判定する。この場合、式（１）〜（７）が全て成立するので、検出部１２２は、ルール項２のルール項ＩＤ「２」をルール項１の子集合に格納する。他のルール項についても同様に、ルール項「Ａ」のパラメータ代入し、判定することで、ルール項１の子集合には「２，３，４」が格納される。また、検出部１２２は、求めた子集合「２，３，４」の間で、上述した式（１）〜（７）が全て成立するか否かを判定する。例えば、検出部１２２は、求めた子集合「２，３，４」のうち、ルール項「Ｂ」のパラメータにルール項２のパラメータを、ルール項「Ａ」のパラメータにルール項４のパラメータを代入し、上述した式（１）〜（７）が全て成立するか否かを判定する。この場合、式（１）〜（７）が全て成立するので、検出部１２２は、ルール項４のルール項ＩＤ「４」をルール項１の子集合から削除する。つまり、ルール項１の子集合には、図２１に示すように、ルール項「２，３」が格納される。また、検出部１２２は、ルール項集合１１２に含まれるルール項の全ての組合せについて、同様の処理を実行することで、ルール項１からルール項８のそれぞれについて子集合を求める。さらに、検出部１２２は、求めた子集合に含まれるルール項の全ての組合せについて、同様の処理を実行することで、子集合に含まれるルール項の間で子として判定されるルール項を削除する。なお、図２１のルール項の情報は、図４に示したルール項の情報と比べて、子集合に含まれる情報量が軽減される。
【０１１９】
付与部１２３は、図１に示した付与部１２３と同様の機能を有する。また、付与部１２３は、検出部１２２により検出された包含関係を満たすルール項の組合せのうち、包含される側のルール項にのみ該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与する。例えば、付与部１２３は、複数のルール項に対して各ルール項を満たす系列の系列ＩＤを付与し、複数のルール項の間に包含関係がある場合には、包含関係にあるルール項のうち子のみに対して各ルール項を満たす系列の系列ＩＤを付与する。
【０１２０】
例えば、付与部１２３は、図１に示した付与部１２３と同様に、時系列データ１１１から系列の情報を取得する。そして、付与部１２３は、取得した系列ごとに、図２１に示したルール項の集合に含まれるルール項を満たすか否かを判定し、判定結果に応じて系列ＩＤをルール項の系列ＩＤ集合に追加する。この結果、付与部１２３は、図２２に示すように、図２１に示したルール項の情報に系列ＩＤを付与する。図２２は、付与部の処理を説明するための図である。
【０１２１】
また、例えば、付与部１２３は、系列ＩＤを追加済みのルール項を選択し、選択したルール項の全ての子、及び、選択したルール項から子を順次辿ることにより識別されるルール項について、系列ＩＤ集合の和集合を求める。ここで、付与部１２３は、系列ＩＤ集合（有）の和集合と、系列ＩＤ集合（無）の和集合とをそれぞれ求める。付与部１２３は、選択したルール項の系列ＩＤ集合から、求めた和集合を削除する。ここで、付与部１２３は、求めた系列ＩＤ集合（有）の和集合をルール項の系列ＩＤ集合（有）から削除し、求めた系列ＩＤ集合（無）の和集合をルール項の系列ＩＤ集合（無）から削除する。この結果、付与部１２３は、図２３に示すように、図２１に示したルール項の系列ＩＤ集合から系列ＩＤを削除する。図２３は、付与部の処理を説明するための図である。
【０１２２】
抽出部１２４は、図１に示した抽出部１２４と同様の機能を有する。また、抽出部１２４は、作成した複数のルール項のうち１又は２以上の組合せに含まれるルール項と、そのルール項から包含される側のルール項を順次辿ることにより識別されるルール項とに付与された系列の識別情報の和集合を求める。例えば、抽出部１２４は、復元処理において、ルール候補に含まれるルール項を選択する。抽出部１２４は、選択したルール項の全ての子、及び、選択したルール項から子を順次辿ることにより識別されるルール項について、系列ＩＤ集合の和集合を求める。抽出部１２４は、求めた和集合と、選択したルール項の系列ＩＤ集合との和集合を求める。このように、抽出部１２４は、ルール候補に含まれる各ルール項の系列ＩＤ集合を復元する。
【０１２３】
次に、実施例３に係る時系列ルール抽出装置１００の効果について説明する。時系列ルール抽出装置１００は、検出した包含関係を満たすルール項の組合せのうち、包含する側のルール項の集合に包含される側のルール項を追加するとともに、次のように処理する。つまり、時系列ルール抽出装置１００は、包含される側のルール項の間で包含関係を満たすルール項の組合せが存在する場合には、その組合せのうち包含する側のルール項を追加する。時系列ルール抽出装置１００は、検出部により検出された包含関係を満たすルール項の組合せのうち、包含される側のルール項にのみ該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与する。時系列ルール抽出装置１００は、作成した組合せに含まれるルール項と、そのルール項から包含される側のルール項を順次辿ることにより識別されるルール項とに付与された系列の識別情報の和集合を求める。このように、時系列ルール抽出装置１００は、親の子集合に子のルール項ＩＤを追加する場合に、子の間で包含関係を満たすルール項の組合せがあれば、その組合せのうち親のルール項ＩＤを追加するので、系列ＩＤを付与する処理に要するメモリ容量を削減できる。このため、時系列ルール抽出装置１００は、処理対象とするルール項の数を増加させてもメモリ容量による制限を受けにくいため、柔軟なルール項を設定でき、精度の良いルールを抽出することができる。
【実施例４】
【０１２４】
実施例２では、時系列ルール抽出装置１００が包含関係を満たすルール項の組合せを検出した際に、子の親集合に親のルール項ＩＤを追加する場合を説明したが、本発明はこれに限定されるものではない。例えば、時系列ルール抽出装置１００は、子の親集合に親のルール項ＩＤを追加する際に、親の間で包含関係を満たすルール項の組合せが存在する場合には、その組合せのうち子のルール項ＩＤを追加するようにしても良い。そこで、実施例４では、時系列ルール抽出装置１００が子の親集合に親のルール項ＩＤを追加する場合に、親の間で包含関係を満たすルール項の組合せが存在する場合には、その組合せのうち子のルール項ＩＤを追加する場合を説明する。
【０１２５】
実施例４に係る時系列ルール抽出装置の機能構成について説明する。実施例４に係る時系列ルール抽出装置１００は、図１に示した時系列ルール抽出装置１００と同様に、記憶部１１０と、制御部１２０とを有する。また、時系列ルール抽出装置１００は、入力装置１０１と、出力装置１０２とに接続される。このうち、記憶部１１０と、入力装置１０１と、出力装置１０２の説明は、図１に示した記憶部１１０と、入力装置１０１と、出力装置１０２の説明と同様である。
【０１２６】
制御部１２０は、図１に示した制御部１２０と同様の機能を有する。例えば、制御部１２０は、作成部１２１と、検出部１２２と、付与部１２３と、抽出部１２４とを有する。このうち、作成部１２１と、抽出部１２４の説明は、図１に示した作成部１２１と、抽出部１２４の説明と同様である。
【０１２７】
検出部１２２は、図１に示した検出部１２２と同様の機能を有する。また、検出部１２２は、検出した包含関係を満たすルール項の組合せのうち、包含される側のルール項の集合に包含する側のルール項を追加するとともに、次のように処理する。つまり、検出部１２２は、該包含する側のルール項の間で包含関係を満たすルール項の組合せが存在する場合には、該組合せのうち包含される側のルール項を追加する。例えば、検出部１２２は、検出した包含関係を満たすルール項の組合せのうち、子の集合に親のルール項ＩＤを追加する際に、親の間で包含関係を満たすルール項の組合せが存在する場合には、その組合せのうち子のルール項ＩＤを追加する。
【０１２８】
例えば、検出部１２２は、ルール項集合１１２からルール項の情報を取得する。検出部１２２は、ルール項集合１１２に含まれるルール項のうち、あるルール項のパラメータを上記のルール項「Ｂ」のパラメータに代入する。検出部１２２は、他のルール項のパラメータを上記のルール項「Ａ」のパラメータに代入し、上述した式（１）〜（７）が全て成立するか否かを判定する。式（１）〜（７）が全て成立する場合には、検出部１２２は、ルール項「Ｂ」に代入したルール項ＩＤを、ルール項「Ａ」に代入したルール項の親集合に格納する。検出部１２２は、ルール項集合１１２に含まれるルール項の全ての組合せについて、同様の処理を実行することで、全てのルール項の親集合を求める。
【０１２９】
また、例えば、検出部１２２は、求めた親集合に含まれるルール項の間で、上述した式（１）〜（７）が全て成立するか否かを判定する。判定方法は、上述した通りである。式（１）〜（７）が全て成立する場合には、検出部１２２は、ルール項「Ｂ」に代入したルール項ＩＤを、求めた親集合から削除する。検出部１２２は、求めた親集合に含まれるルール項の全ての組合せについて、同様の処理を実行することで、親集合に含まれるルール項の間で親として判定されるルール項を削除する。
【０１３０】
図２４を用いて、検出部１２２の処理を説明する。図２４は、検出部の処理を説明するための図である。図２４に示すように、検出部１２２は、「ルール項ＩＤ」と、「ｘ」と、「ｙ」と、「ａ」と、「ｍ」と、「親集合」と、「子集合」とを対応づけて保持する。このうち、「ルール項ＩＤ」、「ｘ」、「ｙ」、「ａ」、「ｍ」、「親集合」及び「子集合」は、図１７に示したルール項の情報と同様である。
【０１３１】
例えば、検出部１２２は、上述したルール項「Ｂ」のパラメータに、図３に示したルール項１のパラメータを代入する。同様に、検出部１２２は、ルール項「Ａ」のパラメータにルール項４のパラメータを代入し、上述した式（１）〜（７）が全て成立するか否かを判定する。この場合、式（１）〜（７）が全て成立するので、検出部１２２は、ルール項１のルール項ＩＤ「１」をルール項４の親集合に格納する。他のルール項についても同様に、ルール項「Ａ」のパラメータ代入し、判定することで、ルール項４の親集合には「１，２，３」が格納される。また、検出部１２２は、求めた親集合「１，２，３」の間で、上述した式（１）〜（７）が全て成立するか否かを判定する。例えば、検出部１２２は、求めた親集合「１，２，３」のうち、ルール項「Ｂ」のパラメータにルール項１のパラメータを、ルール項「Ａ」のパラメータにルール項２のパラメータを代入し、上述した式（１）〜（７）が全て成立するか否かを判定する。この場合、式（１）〜（７）が全て成立するので、検出部１２２は、ルール項１のルール項ＩＤ「１」をルール項４の親集合から削除する。つまり、ルール項４の親集合には、図２４に示すように、ルール項「２，３」が格納される。また、検出部１２２は、ルール項集合１１２に含まれるルール項の全ての組合せについて、同様の処理を実行することで、ルール項１からルール項８のそれぞれについて親集合を求める。さらに、検出部１２２は、求めた親集合に含まれるルール項の全ての組合せについて、同様の処理を実行することで、親集合に含まれるルール項の間で親として判定されるルール項を削除する。なお、図２４のルール項の情報は、図１７に示したルール項の情報と比べて、親集合に含まれる情報量が軽減される。
【０１３２】
付与部１２３は、実施例２において説明した付与部１２３と同様の機能を有する。また、付与部１２３は、例えば、処理対象集合を用いて各ルール項に対して系列ＩＤを付与する。例えば、付与部１２３は、ある系列が満たすルール項を処理対象集合に追加する。付与部１２３は、処理対象集合に含まれるルール項の間に包含関係があれば、包含関係を満たすルール項のうち親であるルール項、及び、親を順次辿ることにより識別されるルール項を処理対象集合から削除する。付与部１２３は、削除した後に処理対象集合に含まれるルール項に対して、ルール項を満たす系列の系列ＩＤを付与する。
【０１３３】
図２５を用いて、付与部１２３の処理を説明する。図２５は、付与部の処理を説明するための図である。図２５に示すように、付与部１２３は、「ルール項ＩＤ」と、「ｘ」と、「ｙ」と、「ａ」と、「ｍ」と、「親集合」と、「子集合」と、「系列ＩＤ集合（有）」と、「系列ＩＤ集合（無）」とを対応づけて保持する。
【０１３４】
例えば、付与部１２３は、図２に示した時系列データ１１１から系列「００１」の情報を取得し、図２５に示した各ルール項を満たすか否かを判定する。この判定する処理は、実施例２において説明した付与部１２３の処理を同様である。系列「００１」はルール項１を満たすので、付与部１２３は、ルール項１のルール項ＩＤ「１」を処理対象集合に追加する。付与部１２３は、他のルール項についても同様に、系列「００１」が各ルール項を満たすか否かを判定し、系列「００１」が満たすルール項のルール項ＩＤを処理対象集合に追加する。この結果、付与部１２３は、ルール項ＩＤ「１，２，３，５，６，７，８」を処理対象集合に追加する。
【０１３５】
例えば、付与部１２３は、処理対象集合に含まれるルール項の親集合、及び、親集合に含まれるルール項を順次辿ることにより識別されるルール項の親集合の和集合を求める。例えば、図２５では、ルール項１の親集合は「空集合」、ルール項２の親集合は「１」、ルール項３の親集合は「１」、ルール項５の親集合は「空集合」、ルール項６の親集合は「５」、ルール項７の親集合は「５」、ルール項８の親集合は「６，７」である。この場合、付与部１２３は、処理対象集合「１，２，３，５，６，７，８」に含まれる各ルール項の親集合、及び、親集合に含まれるルール項を順次辿ることにより識別されるルール項の親集合の和集合「１，５，６，７」を求める。付与部１２３は、求めた和集合「１，５，６，７」を処理対象集合「１，２，３，５，６，７，８」から削除し、処理対象集合を「２，３，８」とする。付与部１２３は、図２５に示すように、この処理対象集合に含まれるルール項「２，３，８」の系列ＩＤ集合に、取得した系列の系列ＩＤ「００１」を追加する。ここで、系列「００１」は、結果属性として病害虫有無「有」であるため、系列ＩＤ集合（有）に追加される。付与部１２３は、他の系列についても同様に処理を実行することで、図２５に示すように、各ルール項の系列ＩＤ集合に系列ＩＤを付与する。なお、図２５の各ルール項の系列ＩＤ集合に付与された系列ＩＤは、図６において付与された系列ＩＤと同一である。
【０１３６】
抽出部１２４は、図１に示した抽出部１２４と同様の機能を有する。また、抽出部１２４は、作成した複数のルール項のうち１又は２以上の組合せに含まれるルール項と、そのルール項から包含する側のルール項を順次辿ることにより識別されるルール項とに付与された系列の識別情報の和集合を求める。例えば、抽出部１２４は、復元処理において、ルール候補に含まれるルール項を選択する。抽出部１２４は、選択したルール項の全ての親、及び、選択したルール項から親を順次辿ることにより識別されるルール項について、系列ＩＤ集合の和集合を求める。抽出部１２４は、求めた和集合と、選択したルール項の系列ＩＤ集合との和集合を求める。このように、抽出部１２４は、ルール候補に含まれる各ルール項の系列ＩＤ集合を復元する。
【０１３７】
次に、実施例４に係る時系列ルール抽出装置１００の効果について説明する。時系列ルール抽出装置１００は、検出した包含関係を満たすルール項の組合せのうち、包含される側のルール項の集合に包含する側のルール項を追加するとともに、次のように処理する。つまり、時系列ルール抽出装置１００は、包含する側のルール項の間で包含関係を満たすルール項の組合せが存在する場合には、その組合せのうち包含される側のルール項を追加する。時系列ルール抽出装置１００は、検出部により検出された包含関係を満たすルール項の組合せのうち、包含する側のルール項にのみ該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与する。時系列ルール抽出装置１００は、作成した組合せに含まれるルール項と、そのルール項から包含する側のルール項を順次辿ることにより識別されるルール項とに付与された系列の識別情報の和集合を求める。このように、時系列ルール抽出装置１００は、子の親集合に親のルール項ＩＤを追加する場合に、親の間で包含関係を満たすルール項の組合せがあれば、その組合せのうち子のルール項ＩＤを追加するので、系列ＩＤを付与する処理に要するメモリ容量を削減できる。このため、時系列ルール抽出装置１００は、処理対象とするルール項の数を増加させてもメモリ容量による制限を受けにくいため、柔軟なルール項を設定でき、精度の良いルールを抽出することができる。
【実施例５】
【０１３８】
実施例１では、時系列ルール抽出装置１００がルール項集合に含まれる１又は２以上のルール項を組み合わせることで、ルール候補を作成する場合を説明したが、本発明はこれに限定されるものではない。例えば、時系列ルール抽出装置１００は、ルール候補を作成する際に、包含関係を満たすルール項の組合せについては、いずれかのルール項を用いてルール候補を作成するようにしても良い。これは、包含関係を満たすルール項の組合せを含むルール候補は、包含関係を満たすルール項の組合せのうち子のみを含むルール候補と同義だからである。例えば、親と子をＡＮＤでつないだルール候補は、子のみのルール候補と同義である。そこで、実施例５では、時系列ルール抽出装置１００がルール候補を作成する際に、包含関係を満たすルール項の組合せについては、いずれかのルール項を用いてルール候補を作成する場合を説明する。
【０１３９】
実施例５に係る時系列ルール抽出装置の機能構成について説明する。実施例５に係る時系列ルール抽出装置１００は、図１に示した時系列ルール抽出装置１００と同様に、記憶部１１０と、制御部１２０とを有する。また、時系列ルール抽出装置１００は、入力装置１０１と、出力装置１０２とに接続される。このうち、記憶部１１０と、入力装置１０１と、出力装置１０２の説明は、図１に示した記憶部１１０と、入力装置１０１と、出力装置１０２の説明と同様である。
【０１４０】
制御部１２０は、図１に示した制御部１２０と同様の機能を有する。例えば、制御部１２０は、作成部１２１と、検出部１２２と、付与部１２３と、抽出部１２４とを有する。このうち、作成部１２１と、検出部１２２と、付与部１２３の説明は、図１に示した作成部１２１と、検出部１２２と、付与部１２３の説明と同様である。
【０１４１】
抽出部１２４は、図１に示した抽出部１２４と同様の機能を有する。また、抽出部１２４は、複数のルール項のうち１又は２以上の組合せを作成する際に、検出部１２２により検出された包含関係を満たすルール項の組合せについてはいずれかのルール項を用いて組合せを作成する。例えば、抽出部１２４は、ルール候補を作成する際に、包含関係を満たすルール項の組合せについては、いずれかのルール項を用いてルール候補を作成する。
【０１４２】
以下において、抽出部１２４の処理を説明する。ここでは、抽出部１２４がルール抽出条件として、最小支持度「２」と、最小信頼度「１」と、結果属性「病害虫有無（有）」とを受け付けた場合を説明する。
【０１４３】
まず、抽出部１２４がルール項数２のルール候補を作成する場合を説明する。例えば、抽出部１２４は、ルール抽出条件で与えられた最小支持度「２」と最小信頼度「１」との積「２×１＝２」を算出する。抽出部１２４は、ルール項数１のルール候補ごとに、支持度と信頼度との積を算出する。例えば、図７に示したように、抽出部１２４は、ルール候補１の支持度と信頼度との積「４×０．５＝２」を算出する。同様に、抽出部１２４は、ルール候補２について「３×０．６７＝２．０１」、ルール候補３について「２×０．５＝１」、ルール候補４について「１×０＝０」をそれぞれ算出する。また、同様に、抽出部１２４は、ルール候補５について「４×０．５＝２」、ルール候補６について「２×０．５＝１」、ルール候補７について「３×０．６７＝２．０１」、ルール候補８について「１×１＝１」をそれぞれ算出する。抽出部１２４は、算出したそれぞれの値と最小支持度と最小信頼度との積「２」とを比較し、「２」以上のルール項数１のルール候補「１，２，５，７」を選択する。抽出部１２４は、選択したルール候補「１，２，５，７」に含まれるルール項「１，２，５，７」を抽出する。抽出部１２４は、ルール項「１，２，５，７」から、２個のルール項を選択し、組み合わせる。
【０１４４】
ここで、ルール項「１，２，５，７」のうち、ルール項１及びルール項２の間には包含関係があり、また、ルール項５及びルール項７の間にも包含関係がある。このため、抽出部１２４は、ルール項「１，２，５，７」から２個のルール項を選択する際に、ルール項「１，２」についてはいずれかのルール項を用い、また、ルール項「５，７」についてもいずれかのルール項を用いて、ルール候補を作成する。なお、ルール項「１，２，５，７」から包含関係を満たすルール項の組合せを検出する処理は、上述した処理と同様である。
【０１４５】
例えば、抽出部１２４は、ルール項１と５とを選択し、組合せ（１，５）を作成する。抽出部１２４は、この２個のルール項のうちルール項数１の組合せの全てが、ルール項数１のルール候補に存在するか否かを判定する。図７に示すように、ルール項数１のルール候補にルール候補１及びルール候補５が存在するので、抽出部１２４は、図２６に示すように、「ルール候補１×５」を作成する。また、抽出部１２４は、他の組合せについても同様に処理を実行し、ルール項数２のルール候補として、「ルール候補１×７」「ルール候補２×５」「ルール候補２×７」をそれぞれ作成する。図２６は、抽出部の処理を説明するための図である。
【０１４６】
ここで、図２６において作成されたルール候補は、図８において作成された「ルール候補１×２」「ルール候補５×７」を含まない。このため、抽出部１２４は、処理に要するメモリ容量を削減することができる。また、抽出部１２４は、ルール項数２のルール候補の数を削減するので、ルール項数３以上のルール候補を作成する際に作成されるルール候補の数を削減する。このため、抽出部１２４は、処理に要するメモリ容量をさらに削減することができる。
【０１４７】
次に、抽出部１２４がルール項数３のルール候補を作成する場合を説明する。抽出部１２４は、図２６に示したルール項数２のルール候補ごとに、支持度と信頼度との積を算出する。この支持度と信頼度との積を算出する処理は、上述した処理と同様である。つまり、抽出部１２４は、ルール候補１×５について「４×０．５＝２」、ルール候補１×７について「３×０．６７＝２．０１」、ルール候補２×５について「３×０．６７＝２．０１」、ルール候補２×７について「２×１＝２」をそれぞれ算出する。抽出部１２４は、算出したそれぞれの値と最小支持度と最小信頼度との積「２」とを比較し、「２」以上のルール項数２のルール候補「１×５，１×７，２×５，２×７」を選択する。抽出部１２４は、選択したルール候補「１×５，１×７，２×５，２×７」に含まれるルール項「１，２，５，７」を抽出する。
【０１４８】
ここで、ルール項「１，２，５，７」のうち、ルール項１及びルール項２の間には包含関係があり、また、ルール項５及びルール項７の間にも包含関係がある。このため、抽出部１２４は、ルール項「１，２，５，７」のうち、ルール項「１，２」についてはいずれかのルール項を用い、また、ルール項「５，７」についてもいずれかのルール項を用いると、３個のルール項を選択することができない。よって、ルール項数３のルール候補を作成することはできないため、抽出部１２４は、ここでルール項数ｋのルール候補を作成する処理を終了する。
【０１４９】
また、例えば、抽出部１２４は、図２６に示したルール候補から、ルール抽出条件を満たすルール候補をルールとして抽出する。このルールを抽出する処理は、上述した処理と同様である。この結果、抽出部１２４は、図２７に示すように、ルール候補２×７をルールとして抽出する。
【０１５０】
ここで、図２７において抽出されたルールは、図１２において抽出されたルール「ルール候補１×２×７」「ルール候補２×５×７」「ルール候補１×２×５×７」を含まない。このため、抽出部１２４は、処理に要するメモリ容量を削減することができる。また、「ルール候補１×２×７」は、「ルール候補１×２」が「ルール候補２」と同義であることを考慮すると、「ルール候補２×７」と同義である。また、「ルール候補２×５×７」は、「ルール候補５×７」が「ルール候補７」と同義であることを考慮すると、「ルール候補２×７」と同義である。また、「ルール候補１×２×５×７」は、「ルール候補１×２」が「ルール候補２」と同義であり、「ルール候補５×７」が「ルール候補７」と同義であることを考慮すると、「ルール候補２×７」と同義である。すなわち、抽出部１２４は、包含関係を満たすルール項の組合せをルール候補に含まないので、同義となるルールを抽出することなく、ルールを抽出することができる。
【０１５１】
次に、実施例５に係る時系列ルール抽出装置１００の効果について説明する。時系列ルール抽出装置１００は、複数のルール項のうち１又は２以上の組合せを作成する際に、検出部１２２により検出された包含関係を満たすルール項の組合せについてはいずれかのルール項を用いて組合せを作成する。このため、時系列ルール抽出装置１００は、作成するルール候補の数を削減するので、処理に要するメモリ容量を削減することができる。また、時系列ルール抽出装置１００は、ルール項数ｋのルール候補の数を削減するので、次に作成するルール項数ｋ＋１以上のルール候補を作成する際に、作成するルール候補の数を削減でき、処理に要するメモリ容量をさらに削減することができる。また、時系列ルール抽出装置１００は、包含関係を満たすルール項の組合せをルール候補に含まないので、同義となるルールを抽出することなく、ルールを抽出することができる。このようなことから、時系列ルール抽出装置１００は、処理対象とするルール項の数を増加させてもメモリ容量による制限を受けにくいため、柔軟なルール項を設定でき、精度の良いルールを抽出することができる。
【実施例６】
【０１５２】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例について説明する。
【０１５３】
例えば、実施例１〜５において説明した時系列ルール抽出装置１００は、クライアントサーバシステムにも適用できる。図２８は、クライアントサーバシステムへの適用例を説明するための図である。図２８に示すクライアントサーバシステムには、サーバ装置２１０と、クライアント端末２２０ａ〜２２０ｃとがネットワーク２００を介して接続される。このサーバ装置２１０は、上記の実施例において説明した時系列ルール抽出装置１００と同様の機能を有する。なお、ここでは、クライアント端末２２０ａ〜２２０ｃを区別なく述べる場合にクライアント端末２２０と総称する。このクライアントサーバシステムにおいてサーバ装置２１０をクラウドとし、クライアント端末２２０からクラウドであるサーバ装置２１０へ時系列データ１１１及びルール抽出条件を示す情報を送信させる。そして、クライアント端末２２０から送信された情報について時系列ルール抽出装置１００と同様の処理をサーバ装置２１０に実行させ、抽出したルールをサーバ装置２１０に保存させたり、クライアント端末２２０へ応答させたりすることもできる。
【０１５４】
例えば、実施例１〜５において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。例えば、図１３に示した処理は、入力装置１０１が時系列データ１１１及びルール抽出条件を示す情報を受け付けたことを契機として自動的に実行されると説明した。しかし、この処理は、時系列ルール抽出装置１００の利用者が処理の開始命令を行ったことを契機として手動的に実行されても良い。この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、図２に示した時系列データ１１１は、最高気温や降水量を対応づけて記憶しても良い。また、例えば、本発明が航空分野に適用された場合には、１時間ごとの気象の変化や飛行高度などを対応づけて記憶する。
【０１５５】
また、図１に示した時系列ルール抽出装置１００の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、時系列ルール抽出装置１００の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図１に示したルール項集合１１２を記憶部１１０が有している必要は無い。例えば、制御部１２０の内部メモリがルール項集合１１２に対応する情報を一時的に記憶するようにしても良い。
【０１５６】
また、時系列ルール抽出装置１００は、時系列ルール抽出装置１００の各機能を既知の情報処理装置に搭載することによって実現することもできる。既知の情報処理装置は、例えば、パーソナルコンピュータ、ワークステーション、移動体通信端末またはＰＤＡ（Personal  Digital  Assistant）などの装置に対応する。
【０１５７】
図２９は、時系列ルール抽出プログラムを実行するコンピュータを示す図である。図２９に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからデータの入力を受け付ける入力装置３０２と、モニタ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る媒体読み取り装置３０４と、他の装置と接続するためのインターフェース装置３０５と、他の装置と無線により接続するための無線通信装置３０６とを有する。また、コンピュータ３００は、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）３０７と、ハードディスク装置３０８とを有する。また、各装置３０１〜３０８は、バス３０９に接続される。
【０１５８】
ハードディスク装置３０８には、図１に示した作成部１２１、検出部１２２、付与部１２３及び抽出部１２４の各処理部と同様の機能を有する画像処理プログラムが記憶される。また、ハードディスク装置３０８には、画像処理プログラムを実現するための各種データが記憶される。
【０１５９】
ＣＰＵ３０１は、ハードディスク装置３０８に記憶された各プログラムを読み出して、ＲＡＭ３０７に展開し、各種の処理を行う。また、これらのプログラムは、コンピュータを図１に示した作成部１２１、検出部１２２、付与部１２３及び抽出部１２４として機能させることができる。
【０１６０】
なお、上記の画像処理プログラムは、必ずしもハードディスク装置３０８に記憶されている必要はない。例えば、コンピュータが読み取り可能な記録媒体に記憶されたプログラムを、コンピュータ３００が読み出して実行するようにしても良い。コンピュータが読み取り可能な記録媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等に接続された装置にこのプログラムを記憶させておき、コンピュータ３００がこれらからプログラムを読み出して実行するようにしても良い。
【０１６１】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１６２】
（付記１）時間ごとに系列の属性と結果属性とを対応づけた時系列データを基に、属性と該属性の値と時間の範囲とを用いて表されるルール項を複数作成する作成部と、
前記作成部により作成された複数のルール項の属性の値を参照して、包含される側のルール項において真である系列は包含する側のルール項でも真である包含関係を満たすルール項の組合せを検出する検出部と、
前記検出部により検出された包含関係を満たすルール項の組合せのうち、包含される側のルール項に当該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与する付与部と、
前記複数のルール項のうち１又は２以上の組合せを作成し、作成した組合せに含まれるルール項と、該ルール項により包含される側のルール項とに付与された系列の識別情報の和集合を求め、該和集合に含まれる系列の識別情報の数、及び／又は、該和集合に含まれる系列の識別情報のうち所定の結果属性を有する系列の識別情報の割合が所定範囲である組合せを抽出する抽出部と
を備えることを特徴とする時系列ルール抽出装置。
【０１６３】
（付記２）前記抽出部は、前記複数のルール項のうち１又は２以上の組合せを作成する際に、前記検出部により検出された包含関係を満たすルール項の組合せについてはいずれかのルール項を用いて前記組合せを作成することを特徴とする付記１に記載の時系列ルール抽出装置。
【０１６４】
（付記３）前記検出部は、検出した包含関係を満たすルール項の組合せのうち、包含する側のルール項の集合に包含される側のルール項を追加するとともに、該包含される側のルール項の間で包含関係を満たすルール項の組合せが存在する場合には、該組合せのうち包含する側のルール項を追加し、
前記付与部は、前記検出部により検出された包含関係を満たすルール項の組合せのうち、包含される側のルール項にのみ当該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与し、
前記抽出部は、前記作成した組合せに含まれるルール項と、該ルール項から包含される側のルール項を順次辿ることにより識別されるルール項とに付与された系列の識別情報の和集合を求めることを特徴とする付記１又は２に記載の時系列ルール抽出装置。
【０１６５】
（付記４）前記検出部は、検出した包含関係を満たすルール項の組合せのうち、包含される側のルール項の集合に包含する側のルール項を追加するとともに、該包含する側のルール項の間で包含関係を満たすルール項の組合せが存在する場合には、該組合せのうち包含される側のルール項を追加し、
前記付与部は、前記検出部により検出された包含関係を満たすルール項の組合せのうち、包含する側のルール項にのみ当該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与し、
前記抽出部は、前記作成した組合せに含まれるルール項と、該ルール項から包含する側のルール項を順次辿ることにより識別されるルール項とに付与された系列の識別情報の和集合を求めることを特徴とする付記１〜３のうちいずれか一つに記載の時系列ルール抽出装置。
【０１６６】
（付記５）コンピュータが実行する時系列ルール抽出方法であって、
時間ごとに系列の属性と結果属性とを対応づけた時系列データを基に、属性と該属性の値と時間の範囲とを用いて表されるルール項を複数作成し、
前記ルール項を作成する処理により作成された複数のルール項の属性の値を参照して、包含される側のルール項において真である系列は包含する側のルール項でも真である包含関係を満たすルール項の組合せを検出し、
前記包含関係を満たすルール項の組合せを検出する処理により検出された包含関係を満たすルール項の組合せのうち、包含される側のルール項に当該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与し、
前記複数のルール項のうち１又は２以上の組合せを作成し、作成した組合せに含まれるルール項と、該ルール項により包含される側のルール項とに付与された系列の識別情報の和集合を求め、該和集合に含まれる系列の識別情報の数、及び／又は、該和集合に含まれる系列の識別情報のうち所定の結果属性を有する系列の識別情報の割合が所定範囲である組合せを抽出する
ことを特徴とする時系列ルール抽出方法。
【０１６７】
（付記６）前記組合せを抽出する処理は、前記複数のルール項のうち１又は２以上の組合せを作成する際に、前記包含関係を満たすルール項の組合せを検出する処理により検出された包含関係を満たすルール項の組合せについてはいずれかのルール項を用いて前記組合せを作成することを特徴とする付記５に記載の時系列ルール抽出方法。
【０１６８】
（付記７）前記包含関係を満たすルール項の組合せを検出する処理は、検出した包含関係を満たすルール項の組合せのうち、包含する側のルール項の集合に包含される側のルール項を追加するとともに、該包含される側のルール項の間で包含関係を満たすルール項の組合せが存在する場合には、該組合せのうち包含する側のルール項を追加し、
前記系列の識別情報を付与する処理は、前記包含関係を満たすルール項の組合せを検出する処理により検出された包含関係を満たすルール項の組合せのうち、包含される側のルール項にのみ当該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与し、
前記組合せを抽出する処理は、前記作成した組合せに含まれるルール項と、該ルール項から包含される側のルール項を順次辿ることにより識別されるルール項とに付与された系列の識別情報の和集合を求めることを特徴とする付記５又は６に記載の時系列ルール抽出方法。
【０１６９】
（付記８）前記包含関係を満たすルール項の組合せを検出する処理は、検出した包含関係を満たすルール項の組合せのうち、包含される側のルール項の集合に包含する側のルール項を追加するとともに、該包含する側のルール項の間で包含関係を満たすルール項の組合せが存在する場合には、該組合せのうち包含される側のルール項を追加し、
前記系列の識別情報を付与する処理は、前記包含関係を満たすルール項の組合せを検出する処理により検出された包含関係を満たすルール項の組合せのうち、包含する側のルール項にのみ当該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与し、
前記組合せを抽出する処理は、前記作成した組合せに含まれるルール項と、該ルール項から包含する側のルール項を順次辿ることにより識別されるルール項とに付与された系列の識別情報の和集合を求めることを特徴とする付記５〜７のうちいずれか一つに記載の時系列ルール抽出方法。
【０１７０】
（付記９）コンピュータに、
時間ごとに系列の属性と結果属性とを対応づけた時系列データを基に、属性と該属性の値と時間の範囲とを用いて表されるルール項を複数作成し、
前記ルール項を作成する処理により作成された複数のルール項の属性の値を参照して、包含される側のルール項において真である系列は包含する側のルール項でも真である包含関係を満たすルール項の組合せを検出し、
前記包含関係を満たすルール項の組合せを検出する処理により検出された包含関係を満たすルール項の組合せのうち、包含される側のルール項に当該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与し、
前記複数のルール項のうち１又は２以上の組合せを作成し、作成した組合せに含まれるルール項と、該ルール項により包含される側のルール項とに付与された系列の識別情報の和集合を求め、該和集合に含まれる系列の識別情報の数、及び／又は、該和集合に含まれる系列の識別情報のうち所定の結果属性を有する系列の識別情報の割合が所定範囲である組合せを抽出する
処理を実行させることを特徴とする時系列ルール抽出プログラム。
【０１７１】
（付記１０）前記組合せを抽出する処理は、前記複数のルール項のうち１又は２以上の組合せを作成する際に、前記包含関係を満たすルール項の組合せを検出する処理により検出された包含関係を満たすルール項の組合せについてはいずれかのルール項を用いて前記組合せを作成することを特徴とする付記９に記載の時系列ルール抽出プログラム。
【０１７２】
（付記１１）前記包含関係を満たすルール項の組合せを検出する処理は、検出した包含関係を満たすルール項の組合せのうち、包含する側のルール項の集合に包含される側のルール項を追加するとともに、該包含される側のルール項の間で包含関係を満たすルール項の組合せが存在する場合には、該組合せのうち包含する側のルール項を追加し、
前記系列の識別情報を付与する処理は、前記包含関係を満たすルール項の組合せを検出する処理により検出された包含関係を満たすルール項の組合せのうち、包含される側のルール項にのみ当該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与し、
前記組合せを抽出する処理は、前記作成した組合せに含まれるルール項と、該ルール項から包含される側のルール項を順次辿ることにより識別されるルール項とに付与された系列の識別情報の和集合を求めることを特徴とする付記９又は１０に記載の時系列ルール抽出プログラム。
【０１７３】
（付記１２）前記包含関係を満たすルール項の組合せを検出する処理は、検出した包含関係を満たすルール項の組合せのうち、包含される側のルール項の集合に包含する側のルール項を追加するとともに、該包含する側のルール項の間で包含関係を満たすルール項の組合せが存在する場合には、該組合せのうち包含される側のルール項を追加し、
前記系列の識別情報を付与する処理は、前記包含関係を満たすルール項の組合せを検出する処理により検出された包含関係を満たすルール項の組合せのうち、包含する側のルール項にのみ当該ルール項において真である系列の識別情報を付与することで、各ルール項に真である系列の識別情報を付与し、
前記組合せを抽出する処理は、前記作成した組合せに含まれるルール項と、該ルール項から包含する側のルール項を順次辿ることにより識別されるルール項とに付与された系列の識別情報の和集合を求めることを特徴とする付記９〜１１のうちいずれか一つに記載の時系列ルール抽出プログラム。
【符号の説明】
【０１７４】
１００      時系列ルール抽出装置
１０１      入力装置
１０２      出力装置
１１０      記憶部
１１１      時系列データ
１１２      ルール項集合
１１３      ルール集合
１２０      制御部
１２１      作成部
１２２      検出部
１２３      付与部
１２４      抽出部
２１０      サーバ装置
３００      コンピュータ
３０１      ＣＰＵ
３０２      入力装置
３０３      モニタ
３０４      媒体読み取り装置
３０５      インターフェース装置
３０６      無線通信装置
３０７      ＲＡＭ
３０８      ハードディスク装置
３０９      バス
【図１】
0005817241.tif 000002
【図２】
0005817241.tif 000003
【図３】
0005817241.tif 000004
【図４】
0005817241.tif 000005
【図５】
0005817241.tif 000006
【図６】
0005817241.tif 000007
【図７】
0005817241.tif 000008
【図８】
0005817241.tif 000009
【図９】
0005817241.tif 000010
【図１０】
0005817241.tif 000011
【図１１】
0005817241.tif 000012
【図１２】
0005817241.tif 000013
【図１３】
0005817241.tif 000014
【図１４】
0005817241.tif 000015
【図１５】
0005817241.tif 000016
【図１６】
0005817241.tif 000017
【図１７】
0005817241.tif 000018
【図１８】
0005817241.tif 000019
【図１９】
0005817241.tif 000020
【図２０】
0005817241.tif 000021
【図２１】
0005817241.tif 000022
【図２２】
0005817241.tif 000023
【図２３】
0005817241.tif 000024
【図２４】
0005817241.tif 000025
【図２５】
0005817241.tif 000026
【図２６】
0005817241.tif 000027
【図２７】
0005817241.tif 000028
【図２８】
0005817241.tif 000029
【図２９】
0005817241.tif 000030
【図３０】
0005817241.tif 000031