(57)【特許請求の範囲】
【請求項１】
コンピュータによって実行されるデータ抽出方法であって、
過去から時系列に処理するデータの要求範囲全長と、該データを分割して切り出す区間分割単位とを示すデータ切出条件を含み、データ抽出を要求するデータ抽出要求に応じて、該データ切出条件に従って、記憶部に記憶されている履歴データから区間毎に、最近から過去に遡ってデータを切り出して読み出し、
前記区間内で過去から時系列に探索された前記データ切出条件で抽出されるパターンを表すデータが該区間の終了によって分断される場合、該区間の終了を延伸させ、
前記区間において、前記履歴データから前記延伸した終了位置までのデータを読み出して抽出し、
前記データ抽出要求の要求元へ、前記抽出したデータを送信する
ことを特徴とするデータ抽出方法。
【請求項２】
前記区間において、前記抽出されたデータに関して、前記パターンの開始を示す開始印が前記延伸前の終了予定位置より過去に位置するか否かを判断することによって、前記要求元への該データの二重通知を抑制制御することを特徴とする請求項１記載のデータ抽出方法。
【請求項３】
前記区間の終了予定位置にて前記パターンの前半部で分断された分断数が時間の経過と共に減少することを表す関数を用いて該分断数がゼロとなる値を算出することによって延伸量を取得し、該取得した延伸量で該区間の終了を延伸させることを特徴とする請求項１又は２記載のデータ抽出方法。
【請求項４】
前記パターンは、該パターンの開始及び終了を示すイベントの組合せ、開始から終了までの波形のいずれかによって指定されることを特徴とする請求項１乃至３のいずれか一項記載のデータ抽出方法。
【請求項５】
対象物に備えられたセンサから取得した該対象物に係る履歴データを蓄積して記憶した記憶部と、
過去から時系列に処理するデータの要求範囲全長と、該データを分割して切り出す区間分割単位とを示すデータ切出条件を含み、データ抽出を要求するデータ抽出要求に応じて、該データ切出条件に従って、記憶部に記憶されている履歴データから区間毎に、最近から過去に遡ってデータを切り出して読み出すデータ切出提供部と、
前記区間内で過去から時系列に探索された前記データ切出条件で抽出されるパターンを表すデータが該区間の終了によって分断される場合、該区間の終了を延伸して補正し、該区間において、前記データ切出提供部に読み出させた前記履歴データから前記延伸した終了位置までのデータを読み出して抽出する区間補正部とを有し、
前記データ切出提供部は、前記データ抽出要求の要求元へ、前記区間補正部によって抽出されたデータを送信することを特徴とするデータ抽出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、履歴データから探索対象のパターンに係るデータを抽出することに関する。
【背景技術】
【０００２】
複数の情報源から収集され蓄積された履歴データから、一又は複数のイベントにより所定状態を示すパターンを抽出することがなされている。例えば、生産ライン上の各監視対象位置に設けられたワークセンサの一つの検出信号から検出されたワーク流れの停滞箇所を含む波形部分をテンプレート波形として、他のワークセンサの検出信号から類似した波形部分を検出することによって、停滞箇所同士の関連付けを行い、生産ラインの不具合に関する分析処理を行うこと等が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−０３２０３１号公報
【特許文献２】特開２００５−０３２０３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数の情報源から収集され蓄積された履歴データから、トラブルとなった原因究明のための解析、最新の状態の解析のためには、最近のデータから所定のパターンを示す部分を抽出する必要がある。また、長期間に渡り蓄積された大容量のデータからパターンを探索する際には、探索区間を所定期間毎に区切って処理している。
【０００５】
上述したような従来技術では、パターンが１つの探索区間内で完結せず、２以上の探索区間にまたがったパターンを抽出できない。また、パターンの開始と終了までの時間的な長さを特定しない場合、つまり、１つの探索区間長より十分に短いパターンと複数の探索区間に跨る程の長い期間に及ぶパターンとが混在する際には、これら長さの異なるパターンを正確に抽出することができないと言った問題があった。
【課題を解決するための手段】
【０００６】
開示の技術は、コンピュータによって実行されるデータ抽出方法であって、過去から時系列に処理するデータの要求範囲全長と、該データを分割して切り出す区間分割単位とを示すデータ切出条件を含み、データ抽出を要求するデータ抽出要求に応じて、該データ切出条件に従って、記憶部に記憶されている履歴データから区間毎に、最近から過去に遡ってデータを切り出して読み出し、前記区間内で過去から時系列に探索された前記データ切出条件で抽出されるパターンを表すデータが該区間の終了によって分断される場合、該区間の終了を延伸させ、前記区間において、前記履歴データから前記延伸した終了位置までのデータを読み出して抽出し、前記データ抽出要求の要求元へ、前記抽出したデータを送信するように構成される。
【０００７】
また、上記課題を解決するための手段として、上記方法を実現するデータ抽出装置、コンピュータに上記データ抽出装置として機能させるためのプログラム、及びそのプログラムを記録した記録媒体とすることもできる。
【発明の効果】
【０００８】
開示の技術では、履歴データを最近から過去へと段階的に区間毎に遡りながら区間の終了位置を調整することで、パターンが別々の区間に途切れたまま抽出されてしまうことを防止することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施例に係るデータ抽出システムのネットワーク構成例を示す図である。
【図２】サーバ装置のハードウェア構成を示す図である。
【図３】サーバ装置の機能構成例を示す図である。
【図４】切り出す区間とパターンとの関係を説明するための図である。
【図５】データ切出提供部による処理を説明するための図である。
【図６】区間補正部による処理を説明するための図である。
【図７】図６のステップＳ６４での延伸量の算出方法を説明するための図である。
【図８】データ抽出要求の例を示す図である。
【図９】履歴データ例を示す図である。
【図１０】データ抽出処理の例を示す図である。
【図１１】整形パターン表のデータ例を示す図である。
【図１２】波形パターンによるデータ抽出例を示す図である。
【図１３】複数の区間に及ぶ整形パターンの例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を図面に基づいて説明する。本実施例では、対象物に備えられたセンサから情報を収集し蓄積した大量の履歴データに対する、解析対象のパターンに係るデータ抽出要求に応じて、履歴データ内の最近のデータから所定区間毎にパターンの長さを可変長で探索し、探索により抽出されたパターンに係るデータを要求元に提供する。
【００１１】
図１は、本実施例に係るデータ抽出システムのネットワーク構成例を示す図である。図１に例示されるデータ抽出システム１０００は、サーバ１００と、ユーザ端末３と、センサ５とを有する。サーバ１００は、通信網１ａを介して対象物に備えられた複数のセンサ５に接続される。
【００１２】
サーバ１００は、データ抽出部１１０と記憶部１３０とを有し、複数のセンサ５から通信網１ａを介して送信されるイベント内容を含むデータを記憶部１３０内に履歴データ１３５として蓄積する。記憶部１３０は、大容量の履歴データ１３５を格納し、データの蓄積期間は、数年から数十年の長期間であっても良い。
【００１３】
サーバ１００は、種々の対象物に備えられたセンサ５を情報発生源として、経年に渡り対象物に関するイベントのデータを履歴データ１３５に蓄積し、データ抽出部１１０によって、履歴データ１３５から所望のパターンを表すデータを抽出して提供するサービスに係る処理を行い、通信網１ｂを介してユーザ端末３と接続され、ユーザ端末３で動作するアプリケーション４からユーザによってなされたデータ抽出要求に応じて、記憶部１３０の履歴データ１３５から抽出したデータをユーザ端末３へ提供する。
【００１４】
通信網１ａ及び通信網１ｂは、有線及び無線を問わない。また、１つの通信網であってもよい。また、データ抽出部１１０と履歴データ１３５（ないし記憶部１３０）は、別々のサーバ装置に配置されていてもよい。
【００１５】
ユーザは、ユーザ端末３で動作するアプリケーション４からデータ抽出要求をサーバ装置１００に対して行い、サーバ装置１００がデータ抽出要求で指定されるパターンのデータを抽出して、ユーザ端末３に提供する。
【００１６】
アプリケーション４は、サーバ装置１００にデータ抽出させるためのアプリケーションであってもよいし、特定の解析を行うと共に、解析に使用するデータ抽出をサーバ装置１００に行わせるアプリケーションであってもよい。
【００１７】
複数のセンサ５は、車両、計測器、携帯電話などの各対象物に１又は複数個所に備えられたセンサであり情報発生源である。各センサ５又は各対象物は、所定タイミングで検知したイベントの内容とその検知時刻とを、センサ５のセンサＩＤ又は対象物の対象物ＩＤなどの識別情報と共に、通信網１ａを介してサーバ装置１００へ送信するための通信部を有する。
【００１８】
図２は、サーバ装置のハードウェア構成を示す図である。図２において、サーバ装置１００は、コンピュータによって制御される端末であって、ＣＰＵ（Central Processing Unit）１１と、メモリユニット１２と、表示ユニット１３と、出力ユニット１４と、入力ユニット１５と、通信ユニット１６と、記憶装置１７と、ドライブ１８とを有し 、システムバスＢに接続される。
【００１９】
ＣＰＵ１１は、メモリユニット１２に格納されたプログラムに従ってサーバ装置１００を制御する。メモリユニット１２には、ＲＡＭ（Random Access Memory）及びＲＯＭ（Read-Only Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を格納する。また、メモリユニット１２の一部の領域が、ＣＰＵ１１での処理に利用されるワークエリアとして割り付けられている。
【００２０】
表示ユニット１３は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。出力ユニット１４は、プリンタ等を有し、利用者からの指示に応じて各種情報を出力するために用いられる。入力ユニット１５は、マウス、キーボード等を有し、サーバ装置１００の管理者等が、サーバ装置１００が処理を行なうために必要な各種情報を入力するために用いられる。通信ユニット１６は、通信網１ａ及び通信網１ｂに接続し、ユーザ端末３と、センサ５との間の通信制御をするための装置である。記憶装置１７には、ハードディスクユニットが用いられ、各種処理を実行するプログラム等のデータなどを格納する。
【００２１】
また、記憶部１３０は、記憶装置１７、メモリユニット１２などによって構成され、履歴データ１３５など本実施例に係る処理に必要なデータを格納する。又は、記憶部１３０は、通信ユニット１６を介してアクセス可能な大容量の記憶領域を有する外部記憶装置を有するように構成されてもよく、大容量の外部記憶装置に履歴データ１３５を格納するようにしてもよい。
【００２２】
サーバ装置１００によって行われる後述されるデータ抽出処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体１９によってサーバ装置１００に提供される。即ち、プログラムが保存された記憶媒体１９がドライブ１８にセットされると、ドライブ１８が記憶媒体１９からプログラムを読み出し、その読み出されたプログラムがシステムバスＢを介して記憶装置１７にインストールされる。そして、プログラムが起動されると、記憶装置１７にインストールされたプログラムに従ってＣＰＵ１１がその処理を開始する。尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００２３】
また、サーバ装置１００によって行われるデータ抽出処理を実現するプログラムが、通信ユニット１６を介して外部装置から提供されてもよい。通信ユニット１６による通信は無線又は有線に限定されるものではない。
【００２４】
図３は、サーバ装置の機能構成例を示す図である。図３において、サーバ装置１００は、データ切出提供部１１２と区間補正部１１４とを主に含むデータ抽出部１１０を有する。データ抽出部１１０は、本実施例に係るデータ抽出処理を実現するためのプログラムをＣＰＵ１１が実行することによって実現される。
【００２５】
データ抽出部１１０は、通信ユニット１６を介して、アプリケーション４からのデータ抽出要求を受信して、データ抽出要求に従って、履歴データ１３５からパターンに係るデータを抽出してアプリケーション４へと送信する。
【００２６】
データ切出提供部１１２は、最近のデータからデータ抽出要求で指定される区間毎に、履歴データ１３５からデータを切出して区間補正部１１４に渡し、区間補正部１１４によって抽出されたパターンに係るデータをアプリケーションに提供する処理部である。
【００２７】
区間補正部１１４は、パターンに係るデータを得るための区間補正が必要な場合、データ切出提供部１１２へ追加データを要求して、全ての検出パターンが整形な状態になったことを確認した後、既に通知したパターンの二重通知抑止制御を行ない、データ切出提供部１１２がアプリケーション４に提供するパターンに係るデータを抽出するために区間を補正する処理部である。
【００２８】
即ち、区間補正部１１４の第１の役割は、区間内の全ての検出パターンが整形な状態になるまで、データ切出提供部１１２へ追加データを要求しながら、区間終了位置を延伸して確定させることである。
【００２９】
また、第２の役割は、区間の終了位置の確定後に、区間内のデータにおいて、既にアプリケーション４に通知したパターンに係るデータが含まれていることを検出した場合は、そのデータが重複していることを示してデータ切出提供部１１２へ通知することである。
【００３０】
本実施例に係るデータ抽出処理の全体概要は、以下の通りである。図３において、アプリケーション４は、ユーザの指示に応じて、データ抽出要求をサーバ装置１００へ送信する（ステップＳ１）。データ抽出要求には、履歴データ１３５からデータを切り出すための履歴データ切出条件と、パターン抽出方法とが含まれ、記憶部１３０に格納される。
【００３１】
サーバ装置１００では、データ抽出要求を受信すると、データ切出提供部１１２は、データ抽出要求に含まれる履歴データ切出条件に従って、最近のデータから遡るようにして履歴データ１３５から区間毎のデータを読み出して（ステップＳ２）、区間補正部１１４へ区間確認要求を行う（ステップＳ３）。区間確認要求には、パターン抽出方法と、現区間の識別情報と、読み出した現区間のデータとが含まれる。
【００３２】
区間補正部１１４は、パターン抽出方法に従って、現区間のデータからパターンを表すデータを抽出する。パターンはそれ自身の期間の長さを特定しない。現区間のデータのうち、現区間の区切りによってパターンの前半部（過去側の部分）のみを示すデータが存在する場合、現区間の終了位置をより現在に近い時間方向へ延伸させて、探索したデータがパターン全体を示すようにパターン整形確認を行う（ステップＳ４）。
【００３３】
区間補正部１１４は、延伸させた現区間によって整形されたパターンに係るデータと、現区間内におけるパターン全体に係るデータとを、区間確認要求に対する応答としてデータ切出提供部１１２へ渡す。
【００３４】
データ切出提供部１１２は、区間補正部１１４からの応答によって、パターンに係るデータをアプリケーション４へ送信する（ステップＳ６）。アプリケーション４へ送信されるデータは、区間内又は終了位置が延伸された区間内におけるパターンに係るデータであり、パターンそのものを表すデータであっても良いし、パターンが示されるパターンの開始から終了までの期間に関連付けられる関連データを含んでも良い。
【００３５】
探索されるパターンは、例えば、タクシーの賃走状態を表すタクシーメータのイベントの組合せ、病症を表す生体センサの値から得られる波形などである。賃走状態は、その都度走行時間が異なる。また、病症期間も人により様々である。
【００３６】
図４は、切り出す区間とパターンとの関係を説明するための図である。図４において、データ切出提供部１１２は、最近のデータから優先的に処理するために、現在から過去へと時間を段階的に遡るように、・・・第ｎ−１区間、第ｎ区間、第ｎ＋１区間、・・・毎に履歴データ１３５からデータを読み込む。各区間は、開始位置及び終了予定位置で指定される。例えば、第ｎ−１区間は、第ｎ−１区間開始位置及び第ｎ−１区間終了予定位置で指定され、第ｎ−１区間開始位置は、第ｎ区間終了予定位置である。
【００３７】
区間補正部１１４は、データ切出提供部１１２によって読み出された第ｎ−１区間のデータにおいて、時系列順にデータ抽出要求で指定されるパターン抽出方法に従ってパターンを探索する。この例では、第ｎ区間で、パターンを表すデータ４１と４２とが抽出される。
【００３８】
次に、データ切出提供部１１２によって読み出された第ｎ区間のデータにおいて、区間補正部１１４は、時系列順にパターンを探索する。パターンを表すデータ４３、４４、そして４５が抽出される。
【００３９】
しかしながら、パターンの前半部を表すデータ４３及び４５が検出されるが、第ｎ区間終了予定位置の区切りによって後半部の探索を行うことができない。区間補正部１１４は、データ４３及び４５に関して、パターン全体を表す整形パターンになるまで、第ｎ−１区間の一部をデータ切出提供部１１２から取得して第ｎ区間終了予定位置を延伸させて、パターンを整形な状態で抽出できるように第ｎ区間の終了位置を確定する。
【００４０】
例えば、第ｎ区間内でデータ４５の前半部４５ａがパターンの前半部に相当すると探索され、第ｎ区間終了予定位置を第ｎ−１区間の一部まで延伸させることによって、パターンの後半部を表すデータ４５の後半部４５ｂが探索されることによって、データ４５がパターン全体を表すようにすることができる。このように途切れてしまったパターンを、終了予定位置を延伸させることによってパターンを整形な状態で抽出できるようにすることができる。データ４３についても同様である。
【００４１】
従って、第ｎ区間に関して、データ４３、４４、４５が抽出される。第ｎ＋１区間についても同様の処理が行われる。このように、最近のデータから優先的に処理されることによって、アプリケーション４を使用するユーザが最も知りたい最近の状況から解析することができる。
【００４２】
図５は、データ切出提供部１１２による処理を説明するための図である。図５において、アプリケーション４からのデータ抽出要求によって指定された履歴データ切出条件３２とパターン抽出方法３４とは、受信時に記憶部１３０の作業領域に格納される。
【００４３】
データ切出提供部１１２は、記憶部１３０から、履歴データ切出条件３２に基づいて、最近のデータから時系列順に所定区間で読み出されるように、現区間の開始位置及び終了位置を設定する（ステップＳ４１）。
【００４４】
そして、データ切出提供部１１２は、記憶部１３０の履歴データ１３５から開始位置から終了位置までの現区間のデータを読み出して記憶部１３０の作業領域に現区間データ３６として格納する（ステップＳ４２）。データの読み出しに際し、時系列に読み出すようにしてもよいし、読み出したデータを時刻順にソートしてから記憶部１３０に格納してもよい。現区間データ３６は時系列なデータで格納される。
【００４５】
次に、データ切出提供部１１２は、区間補正部１１４に対して区間確認要求を行う（ステップＳ４３）。区間確認要求によって、記憶部１３０に格納されているパターン抽出方法、現区間の識別情報、読み出したデータが指定される。
【００４６】
その後、区間補正部１１４から応答を受信すると、データ切出提供部１１２は、応答の種別を判断する（ステップＳ４４）。
【００４７】
区間補正部１１４からの応答が延伸データ要求を示す場合、データ切出提供部１１２は、延伸データ要求で指定される現区間の開始位置及び終了位置を設定して（ステップＳ４４−２）、終了位置が延伸された現区間のデータを読み出すためにステップＳ４２へと戻り、上述同様の処理を繰り返す。
【００４８】
一方、区間補正部１１４からの応答が延伸データ要求を示さず、区間決定通知を示し、整形パターン表３８が指定しされている場合、データ切出提供部１１２は、現区間の終了位置が確定したと判断し、記憶部１３０から応答によって指定される整形パターン表３８を用いて、アプリケーション４に探索されたパターンに係るデータを送信する（ステップＳ４５）。
【００４９】
アプリケーション４に送信されるデータは、終了位置が確定した現区間におけるデータのうちパターンを表すデータそのものであってもよいし、或いは、パターンを表すデータに関連付けられる関連データを含んでもよい。どのような関連データが要求されるかは、データ抽出要求で指定される。関連データとして、例えば、天候、投薬した薬情報などであってもよい。
【００５０】
データ送信後、データ切出提供部１１２は、データ抽出要求で指定される全区間のデータの読み出しを終了したか否かを判断する（ステップＳ４６）。全区間のデータの読み出しを終了していない場合、データ切出提供部１１２は、次の区間のデータを読み出すためにステップＳ４１へと戻り、上述同様の処理を繰り返す。
【００５１】
一方、全区間のデータの読み出しを終了した場合、データ切出提供部１１２は、アプリケーション４からのデータ抽出要求に対する処理を終了する。
【００５２】
上記ステップＳ４５にて、データ切出提供部１１２は、区間補正部１１４からの区間決定通知にて整形パターン表３８を受信すると、整形パターン表３８で指定されるデータ群（区間内で抽出されたデータ群と、区間が延伸された場合には延伸されることによって抽出されたデータ群とを含む）から除外対象イベントを削除した後、残ったデータをアプリケーション４に通知する。
【００５３】
図６は、区間補正部１１４による処理を説明するための図である。図６において、区間補正部１１４は、データ切出提供部１１２から区間確認要求を受信すると（ステップＳ６１）、現区間データ３６を時系列にパターン抽出方法３４に従ってマッチングさせながらパターンの整形を確認する（ステップＳ６２）。
【００５４】
区間補正部１１４は、ステップＳ６２の確認結果に基づいて、現区間データ３６において、終了なしのパターンを表すデータが存在するか否かを判断する（ステップＳ６３）。終了なしのパターンを表すデータが存在する場合、区間補正部１１４は、現区間の終了位置からの延伸量を算出する（ステップＳ６４）。延伸量の算出方法は後述される。そして、区間補正部１１４は、現区間の開始位置と、延伸量に基づいて延伸された終了位置とを指定した延伸データ要求を生成して（ステップＳ６５）、データ切出提供部１１２へ生成した延伸データ要求で応答し（ステップＳ６９）、この処理を終了する。
【００５５】
一方、ステップＳ６３において、終了なしのパターンを表すデータが存在しない場合、区間補正部１１４は、現区間の終了位置が確定したと判定し（ステップＳ６６）、パターンの開始及び終了ともある整形パターンを一覧にした整形パターン表３８を作成して記憶部１３０の作業領域に格納する（ステップＳ６７）。
【００５６】
そして、区間補正部１１４は、アプリケーション４に同一の整形パターンが二重に通知されないように、整形パターン表３８内に重複して存在するデータ（除外対象イベント）に対して二重通知抑止制御を行って（ステップＳ６８）、データ切出提供部１１２へ整形パターン表３８を指定した区間決定通知によって応答し（ステップＳ６９）、この処理を終了する。
【００５７】
例えば、第ｎ区間（図４）において、第ｎ区間終了予定位置を延伸させて処理を行う場合、区間補正部１１４は、データ切出提供部１１２に対して、第ｎ区間開始位置から延伸量に基づいて延伸した第ｎ区間終了位置までのデータの読み込みを要求する代わりに、延伸量分の第ｎ区間終了予定位置から第ｎ区間終了位置までの読み込みを、延伸データ要求で要求するようにしてもよい。この場合には、区間補正部１１４にて、既に取得しておいた第ｎ区間開始位置から第ｎ区間終了予定位置までのデータをバッファリングしておくようにすればよい。
【００５８】
図７は、図６のステップＳ６４での延伸量の算出方法を説明するための図である。図７中、縦軸は分断数を示し、横軸は時刻を示す。図７において、第ｎ区間でのパターンの後半部が第ｎ区間終了予定位置７ａで分断された状態が示されている。第ｎ区間終了予定位置７ａが時刻０に相当する。
【００５９】
時刻０のとき分断数ｍと、時刻０から時間ｔ１ぶん延伸した時の分断数ｋから、点（０、ｍ）及び点（ｔ１、ｋ）を通る直線Ｆ（ｔ）を算出して、分断数がゼロとなる時刻ｔ３を算出する。算出した時刻ｔ３が延伸量７ｃを示し、第ｎ区間終了予定位置７ａから延伸量７ｃを加算した値を第ｎ区間終了位置７ｂとして求める。
【００６０】
点（０、ｍ）及び点（ｔ１、ｋ）を通る、延伸量７ｃを算出するための分断数関数Ｆ（ｔ）は、
【００６１】
【数１】
0005673394.tif 000002
で表される。上記で、ｍとｋは、読み出したデータによって決まる値であり、ｋ１は観測した分断数の減少の仕方に基づく経験値から予め与えられればよい。点（０、ｍ）及び点（ｔ１、ｋ）は、観測した分断数の減少の仕方に基づく経験値から予め与えられればよい。
【００６２】
読み出されるデータが区間終了予定位置によって区切られてしまうことによる分断された終了のないパターンの数は時間の経過と共に減少する。ある区間に対する１回目の延伸データ要求時には、現区間内の整形パターンの波長分布や固定時間長などに基づいて、データ読み込みの要求範囲を決定する必要があるが、２回目の延伸データ要求時には、上記数１により、分断数が０になる位置を算出して、延伸量を算出した結果に基づいて、データを読み込む範囲を決定する。
【００６３】
仮に、延伸した終了位置においても、分断数が時刻ｔ３でゼロにならなかった場合は、再度、時刻ｔ３における分断数と過去の分断数とから、再度、延伸量を算出してデータを読み込む範囲を決定すればよい。
【００６４】
次に、本実施例を適用例として、アプリケーション４が配車計画を行うアプリケーションであり、タクシーの全走行データのうち、各時間帯の客の乗降パターンに注目する場合で説明する。
【００６５】
図８は、データ抽出要求の例を示す図である。図８に例示されるデータ抽出要求８ａは、主に、履歴データ切出条件と、パターン抽出方法とを含む。
【００６６】
履歴データ切出条件は、データ切出提供部１１２によって参照され、履歴データ１３５から読み出す範囲と、その範囲から一度に読み出すデータの単位とを指定する情報であり、要求範囲全長、区間分割単位などの項目を有する。この例では、要求範囲全長「2001.1.1 0:00〜2011.02.28 23:59」と、区間分割単位「１時間ごと」とが指定される。
【００６７】
パターン抽出方法は、区間補正部１１４によって参照され、データを抽出する際のパターンの特定方法を指定する情報であり、パターン開始検出方法、パターン終了検出などの項目を有する。
【００６８】
パターン開始検出方法は、更に、送信元センサ限定条件、その他条件などの項目を有する。この例では、送信元センサ限定条件では、「タクシー」のようにセンサ５が備えられている対象物を特定する情報、その他条件では、「タクシーメータが「賃走」に変化」のようにパターンの開始のイベントを特定する情報が指定される。
【００６９】
パターン終了検出は、更に、送信元センサ限定条件、その他条件などの項目を有する。この例では、送信元センサ限定条件では、「開始時と同一なもの」のようにセンサ５が備えられている対象物を特定する情報、その他条件では、「タクシーメータが「支払」に変化」のようにパターンの終了のイベントを特定する情報が指定される。
【００７０】
図９は、履歴データ例を示す図である。図９に例示される履歴データ１３５では、タクシーに備えられたセンサ５が情報発生源であるデータのみを示している。履歴データ１３５は、イベント識別子、時刻、送信元センサＩＤ、イベント内容などの項目を有する。
【００７１】
イベント識別子は、イベント毎に一意に与えられる識別情報である。時刻は、イベントの発生にセンサ５が反応した時刻を示す。送信元センサＩＤは、情報発生源識別子であり、タクシーに一意に与えられる識別情報である。イベント内容は、センサ５が検出したイベントの内容である。
【００７２】
この例では、イベント識別子「１」のイベントは、時刻「2011.02.28 11:29」、送信元センサＩＤ「タクシー１号車」、イベント内容「タクシーメータ：空車、・・・」であることが示されている。
【００７３】
図８に示すデータ抽出要求８ａに従ってデータ抽出処理された例について図１０で説明する。図１０は、データ抽出処理の例を示す図である。図１０では、図９に例示される履歴データ１３５から図８に示されるデータ抽出要求８ａに従ってデータ抽出処理が実行された結果を、第ｎ−１区間及び第ｎ区間において例示している。
【００７４】
図１０において、「２０１１．０２．２８」における第ｎ−１区間開始位置「１２：００」から第ｎ−１区間終了予定位置「１３：００」までの第ｎ−１区間に対するデータ抽出処理によって、データ抽出要求８ａのパターン開始検出方法及びパターン終了検出から、データ６ａと、データ６ｂとが抽出される。
【００７５】
データ６ａは、同一のタクシー３号車に関して、タクシーメータが「賃走」に変化した時間「１２：０２」のイベント識別子「１０」のデータと、タクシーメータが「支払」に変化した時間「１２：０８」のイベント識別子「１３」のデータとの組である。
【００７６】
データ６ｂは、同一のタクシー１号車に関して、タクシーメータが「賃走」に変化した時間「１２：０５」のイベント識別子「１２」のデータと、タクシーメータが「支払」に変化した時間「１２：２０」のイベント識別子「１５」のデータとの組である。
【００７７】
また、「２０１１．０２．２８」における第ｎ区間開始位置「１１：００」から第ｎ区間終了予定位置「１２：００」までの第ｎ区間に対するデータ抽出処理によって、データ６ｃが抽出される。
【００７８】
データ６ｃは、同一のタクシー１号車に関して、タクシーメータが「賃走」に変化した時間「１１：３０」のイベント識別子「２」のデータと、タクシーメータが「支払」に変化した時間「１１：５５」のイベント識別子「５」のデータとの組である。
【００７９】
更に、データ６ｄは、前半部に相当するタクシーメータが「賃走」に変化した時間「１１：５０」のデータが存在するが、後半部が第ｎ区間開始位置「１１：００」から第ｎ区間終了予定位置「１２：００」までの第ｎ区間に存在しない。図７に示す算出方法によって求められた延伸量に基づいて、最終的に第ｎ区間終了位置「１２：１０」までを第ｎ区間として確定することによって、データ６ｄは、同一のタクシー２号車に関して、タクシーメータが「賃走」に変化した、時間「１１：５０」のイベント識別子「４」、時間「１１：５９」のイベント識別子「６」、時間「１２：００」のイベント識別子「７」、及び時間「１２：０１」のイベント識別子「８」のデータと、タクシーメータが「支払」に変化した時間「１２：１０」のイベント識別子「１４」のデータとの組である。
【００８０】
整形パターンを示す各データ６ａから６ｄは、開始印（白い三角）から終了印（黒い三角）で示される。
【００８１】
一方、延伸量に相当する重複領域６ｒが、第ｎ−１区間開始位置「１２：００」から最終的な第ｎ区間終了位置「１２：１０」に存在し、第ｎ−１区間で抽出したデータ６ａが第ｎ区間でも抽出されてしまう。
【００８２】
第ｎ−１区間でのデータ抽出処理の結果としてアプリケーション４に通知されたデータ６ａが、第ｎ区間でのデータ抽出処理の結果としてアプリケーション４に二重に通知されないように抑止制御する必要がある。
【００８３】
図１１は、整形パターン表のデータ例を示す図である。図１１に例示される整形パターン表３８は、図１０に示すデータ抽出処理によって抽出された整形パターンを示すデータを一覧にしたテーブルである。図１１において、整形パターン表３８は、抽出Ｎｏ．、区間識別情報、整形パターン構成イベント、判定結果などの項目を有する。
【００８４】
抽出Ｎｏ．は、整形パターンでデータが抽出される毎に与えられる番号を示す。区間識別情報は、データを抽出した区間の識別情報である。整形パターン構成イベントは、図８のデータ抽出要求８ａのパターン抽出方法で図９の履歴データ１３５から検出したイベント識別子の組み合せを示す。
【００８５】
判定結果は、二重通知を抑制制御するための判定を行った結果を示す情報であり、整形パターンの開始印は終了予定位置より前か否かを判定することにより得られる。終了予定位置は、１つ前の区間の開始位置であるため、整形パターンを示すデータの開始印が終了予定位置より前にない（後ろにある）場合、１つ前の区間で検出していると判断できる。開始印が終了予定位置より前にあると判定した場合、「Ｙｅｓ」を示し、開始印が終了予定位置より後ろにあると判定した場合、「Ｎｏ」を示す。このように判定することによって、以前の区間で検出したデータ毎のイベント識別子などを記憶しておく必要がない。
【００８６】
この例では、図１０を参照することによって、抽出Ｎｏ．「１」は第ｎ−１区間のデータ６ａに相当し、抽出Ｎｏ．「２」は第ｎ−１区間のデータ６ｂに相当し、抽出Ｎｏ．「３」は第ｎ区間のデータ６ｃに相当し、抽出Ｎｏ．「４」は第ｎ区間のデータ６ｄに相当する。いずれも、開始印「１２：０２」は、終了予定位置より前であるので、判定結果は「Ｙｅｓ」が示される。
【００８７】
一方、抽出Ｎｏ．「５」は第ｎ−１区間と第ｎ区間との重複領域６ｒで抽出されたデータ６ａに相当し、第ｎ区間内における判定結果は、開始印が終了予定位置より後ろにあるため「Ｎｏ」が示される。
【００８８】
このような判定結果を付加することによって、区間補正部１１４からデータ切出提出部１１２へと整形パターン表３８で区間毎に応答した際に、アプリケーション４への通知時に除外対象イベントとなるデータを示すことができる。
【００８９】
次に、本実施例の別の適用例を図１２及び図１３で説明する。別の適用例として、発症から完治までの病症期間の平均所要日数を計算したい場合に、発熱して平熱に戻るまでの体温変化を示す波形パターンを探索することによるデータ抽出について説明する。図１２及び図１３中、縦軸に体温、横軸に時間を示す。
【００９０】
図１２は、波形パターンによるデータ抽出例を示す図である。図１２において、本実施例を適用せず、最近の体温データから遡るように波形パターンの後半から前半へとマッチングを行ってデータ抽出しようとすると、波形パターンの後半が一致するデータｂｎ−ｉ、・・・、ｂｎ−２、ｂｎ−１、ｂｎを検出したとしても、波形パターンの開始から終了の期間を特定しないため、いつの時点まで遡れば整形パターンとなるのか判別できない。また、求める波形パターンの後半部分であることすら判定できない。
【００９１】
一方、本実施例を適用した場合、区間毎に、その区間の開始位置から波形パターンとのマッチングにより検出するため、効率的に波形パターンを示すデータの抽出処理を行うことができる。
【００９２】
波形パターンの後半が一致するようなデータｂｎ−ｉ、・・・、ｂｎ−２、ｂｎ−１、ｂｎの検出をすることなく、第ｎ区間において、第ｎ区間開始位置から波形パターンとのマッチングにより、前半部ａの検出に続いて後半部ｂｎを検出するため、整形パターンのみを検出し、整形パターンに係るデータを抽出することができる。抽出されたデータの開始と終了とが年月日などで指定されることで発症期間１２ｂを取得することができる。そして、発症期間１２ｂ以外の最近の体温変化は平常誤差範囲１２ａであり、探索対象ではない非パターンを示した期間であると判断できる。
【００９３】
図１３は、複数の区間に及ぶ整形パターンの例を示す図である。図１３では、探索対象の波形パターンが複数の区間に及んで整形される例を示している。本実施例が適用された場合、各区間の開始位置から波形パターンを探索する。第ｎ区間において波形パターンの前半部を検知することにより、延伸量を計算することによって、第ｎ区間、第ｎ−１区間、第ｎ−２区間、第ｎ−３区間に渡って整形された波形パターンを得ることができる。従って、発症期間１３ａを整形パターンから取得することができる。
【００９４】
異なる生命体では発症期間の長短がある場合であっても、アプリケーション４側で１回のデータ読み込みの区間を同じ設定にしたことにより、区間の区切りによってパターンが分断された終了なしのパターンが存在したとしても、延伸させた区間終了位置によって、適切にパターンを整形された状態で抽出されるようにすることができる。
【００９５】
このように、パターンの波長や位相は多様であって、固定区間長で区切ることが難しい場合であっても、算出した延伸量により区間の終了位置を延伸させて、パターンを探索することができる。
【００９６】
また、パターンを構成するイベント群は、依存関係を持つ場合（開始条件又は／及び終了条件が変動する場合）があり、区間の開始位置から時系列にパターンを探索するため、パターンに対する処理は時系列順に処理する必要性に対応することができる。
【００９７】
上述したように、本実施例に係るサーバ装置１００では、大量に蓄積された履歴データ１３５からアプリケーション４によって指定される１回のデータ読み込みの区間毎に段階的に最近のデータから過去のデータへと遡りながら読み込み、各区間の開始位置から探索して、整形パターンに係るデータを抽出する際に、区間の終了予定位置でパターンの前半部分で分断された場合、分断された終了なしのパターンが整形な状態になる終了位置まで延伸させる。
【００９８】
従って、区間の区切りによるパターンの抽出漏れを防止することができる。また、サーバ装置１００では、区間の終了位置を延伸させたことによって、前の区間との重複する部分内で二重に検出される整形パターンとなるデータについて、アプリケーション４への二重通知抑止制御を行う。よって、アプリケーション４は、単に、要求範囲全長と区間分割単位と含む履歴データ切出条件と、パターン抽出方法とを指定するのみで、適切に整形パターンに係るデータの抽出を行わせることができる。
【００９９】
また、ユーザが使用するアプリケーション４は、整形パターンを抽出するための複雑なロジックを備える必要がなく、過去のデータよりも重要な最近のデータから過去へ遡るようにして、サーバ装置１００から整形パターンに係るデータを取得することができるため、サーバ装置１００から取得したデータを用いた解析を行うのみでよい。よって、データの読み出す単位に関して、最初の区間分割単位を指定すればよく、整形パターンを得るための特別な処理をアプリケーション４は備える必要がなく、大量な履歴データから所望のパターンに係るデータの抽出に関して、低スペックマシンでも適切に抽出されたデータを取得することができる。
【０１００】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０１０１】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
コンピュータによって実行されるデータ抽出方法であって、
過去から時系列に処理するデータのパターンを定義するデータ切出条件を含み、データ抽出を要求するデータ抽出要求に応じて、該データ切出条件に従って、記憶部に記憶されている履歴データから区間毎に、最近から過去に遡ってデータを切り出して読み出し、
前記区間内で過去から時系列に探索された前記データ切出条件で抽出されるパターンを表すデータが該区間の終了によって分断される場合、該区間の終了を延伸させ、
前記区間において、前記履歴データから前記延伸した終了位置までのデータを読み出して抽出し、
前記データ抽出要求の要求元へ、前記抽出したデータを送信する
ことを特徴とするデータ抽出方法。
（付記２）
前記区間において、前記抽出されたデータに関して、前記パターンの開始を示す開始印が前記延伸前の終了予定位置より過去に位置するか否かを判断することによって、前記要求元への該データの二重通知を抑制制御することを特徴とする付記１記載のデータ抽出方法。
（付記３）
前記区間の終了予定位置にて前記パターンの前半部で分断された分断数が時間の経過と共に減少することを表す関数を用いて該分断数がゼロとなる値を算出することによって延伸量を取得し、該取得した延伸量で該区間の終了を延伸させることを特徴とする付記１又は２記載のデータ抽出方法。
（付記４）
前記パターンは、該パターンの開始及び終了を示すイベントの組合せ、開始から終了までの波形のいずれかによって指定されることを特徴とする付記１乃至３のいずれか一項記載のデータ抽出方法。
（付記５）
前記履歴データは、対象物に備えられたセンサから通信網を介して取得し蓄積したデータであることを特徴とする付記１乃至４のいずれか一項記載のデータ抽出方法。
（付記６）
対象物に備えられたセンサから取得した該対象物に係る履歴データを蓄積して記憶した記憶部と、
過去から時系列に処理するデータのパターンを定義するデータ切出条件を含み、データ抽出を要求するデータ抽出要求に応じて、該データ切出条件に従って、記憶部に記憶されている履歴データから区間毎に、最近から過去に遡ってデータを切り出して読み出すデータ切出提供部と、
前記区間内で過去から時系列に探索された前記データ切出条件で抽出されるパターンを表すデータが該区間の終了によって分断される場合、該区間の終了を延伸して補正し、該区間において、前記データ切出提供部に読み出させた前記履歴データから前記延伸した終了位置までのデータを読み出して抽出する区間補正部とを有し、
前記データ切出提供部は、前記データ抽出要求の要求元へ、前記区間補正部によって抽出されたデータを送信することを特徴とするデータ抽出装置。
（付記７）
過去から時系列に処理するデータのパターンを定義するデータ切出条件を含み、データ抽出を要求するデータ抽出要求に応じて、該データ切出条件に従って、記憶部に記憶されている履歴データから区間毎に、最近から過去に遡ってデータを切り出して読み出し、
前記区間内で過去から時系列に探索された前記データ切出条件で抽出されるパターンを表すデータが該区間の終了によって分断される場合、該区間の終了を延伸させ、
前記区間において、前記履歴データから前記延伸した終了位置までのデータを読み出して抽出し、
前記データ抽出要求の要求元へ、前記抽出したデータを送信する
処理をコンピュータに実行させるプログラム。
【符号の説明】
【０１０２】
１ａ、１ｂ    通信網
３            ユーザ端末
４            アプリケーション
５            センサ
１１          ＣＰＵ
１２          メモリユニット
１３          表示ユニット
１４          出力ユニット
１５          入力ユニット
１６          通信ユニット
１７          記憶装置
１８          ドライブ
１９          記憶媒体
３２          履歴データ切出条件
３４          パターン抽出方法
３６          現区間データ
３８          整形パターン表
１１０        データ抽出部
１１２        データ切出提供部
１１４        区間補正部
１３０        記憶部
１３５        履歴データ
１００        サーバ装置
１０００      データ抽出システム
【図１】
0005673394.tif 000003
【図２】
0005673394.tif 000004
【図３】
0005673394.tif 000005
【図４】
0005673394.tif 000006
【図５】
0005673394.tif 000007
【図６】
0005673394.tif 000008
【図７】
0005673394.tif 000009
【図８】
0005673394.tif 000010
【図９】
0005673394.tif 000011
【図１０】
0005673394.tif 000012
【図１１】
0005673394.tif 000013
【図１２】
0005673394.tif 000014
【図１３】
0005673394.tif 000015