(57)【要約】      （修正有）【課題】エンジン統合を自動的に実行してエンジンプロセスを取得することのできる、エンジンプロセスを構築するための技術的解法を提供する。【解決手段】エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係を取得するステップと、各２つのエンジン間におけるシーケンス関係に基づいてエンジンプロセスを構築するステップとを備える。本方法と装置を使用することにより、自動エンジン統合の実装が可能となり、ユーザの利便性を高めることができる。【選択図】図１
2010250800.tif 000002
【特許請求の範囲】
【請求項１】
エンジンプロセスの構築方法であって、
エンジン履歴プロセスに基づいて各２つのエンジン間のシーケンス関係を取得するステップと、
各２つのエンジン間のシーケンス関係に基づいてエンジンプロセスを構築するステップと
を含むことを特徴とするエンジンプロセス構築方法。
【請求項２】
前記エンジン履歴プロセスが、各エンジンのエンジン名を含み、
エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係を取得するステップが、
エンジン履歴プロセス中の各エンジンのエンジン名を取得するステップと、
エンジン名に基づいて、エンジン履歴プロセス内の各２つのエンジン間におけるシーケンス関係の統計を作成するステップを含むことを特徴とする請求項１に記載のエンジンプロセス構築方法。
【請求項３】
各２つのエンジン間におけるシーケンス関係に従ってエンジンプロセスを構築するステップが、
プロセスの構築対象となるエンジン集合を決定するステップと、
集合内の各エンジンのエンジン名を取得するステップと、
集合内の各エンジンのエンジン名に基づいて、各２つのエンジン間におけるシーケンス関係から、集合内の各２つのエンジン間におけるシーケンス関係を取得するステップと、
集合内の各２つのエンジン間におけるシーケンス関係に従って、集合内のエンジンのプロセスを構築するステップとを含むことを特徴とする請求項２に記載のエンジンプロセス構築方法。
【請求項４】
前記エンジン履歴プロセスは、エンジン名と各エンジンのエンジンタイプを含み、
エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係を取得するステップが、
エンジン履歴プロセス内の各エンジンのエンジン名とエンジンタイプを取得するステップと、
各エンジンのエンジン名とエンジンタイプとに基づいて、エンジン履歴プロセス内の各２つのエンジンタイプ間におけるシーケンス関係の統計を作成するステップとを含むことを特徴とする請求項１に記載のエンジンプロセス構築方法。
【請求項５】
各２つのエンジン間におけるシーケンス関係に従ってエンジンプロセスを構築するステップが、
プロセスの構成対象となるエンジン集合を決定するステップと、
集合内の各エンジンのエンジン名とエンジンタイプとを取得するステップと、
集合内の各エンジンのエンジンタイプに基づいて、エンジン履歴プロセスの各２つのエンジンタイプ間におけるシーケンス関係から、集合内の各２つのエンジンタイプ間におけるシーケンス関係を取得するステップと、
集合内の各エンジンのエンジン名とエンジンタイプとに基づいて、集合内の各２つのエンジンタイプ間におけるシーケンス関係から、集合内の各２つのエンジン間におけるシーケンス関係を取得するステップと、
集合内の各２つのエンジン間におけるシーケンス関係に従って、集合内のエンジンのプロセスを構築するステップとを含むことを特徴とする請求項４に記載のエンジンプロセス構築方法。
【請求項６】
エンジン履歴プロセスとエンジン記述との組み合わせに基づいて、各２つのエンジン間におけるシーケンス関係を取得するステップを含むことを特徴とする請求項１に記載のエンジンプロセス構築方法。
【請求項７】
エンジン履歴プロセスとエンジン記述との組み合わせに基づいて、各２つのエンジン間におけるシーケンス関係を取得するステップが、
エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係が取得するステップと、
エンジン記述に基づいて各２つのエンジン間におけるシーケンス関係が取得するステップと、
エンジン履歴プロセスに基づいて取得した各２つのエンジン間におけるシーケンス関係と、エンジン記述に基づいて取得した各２つのエンジン間におけるシーケンス関係とを、各２つのエンジン間におけるシーケンス関係として結合するステップとを含むことを特徴とする請求項６に記載のエンジンプロセス構築方法。
【請求項８】
集合内の各２つのエンジン間におけるシーケンス関係に従って、集合内のエンジンのプロセスを構築するステップが、
プロセスの構成対象となるエンジン集合を決定するステップと、
結合した各２つのエンジン間におけるシーケンス関係から集合内の各２つのエンジン間におけるシーケンス関係を取得するステップと、
集合内の各２つのエンジン間におけるシーケンス関係に従って集合内のエンジンのプロセスを構築するステップとを含むことを特徴とする請求項７に記載のエンジンプロセス構築方法。
【請求項９】
エンジン記述は、エンジン名、エンジンタイプ、エンジンコンテキスト、エンジン入力タイプ、エンジン出力タイプの少なくとも１つを含むことを特徴とする請求項６から請求項８の何れかに記載のエンジンプロセス構築方法。
【請求項１０】
構築したエンジンプロセスをユーザに提供するステップと、
決定したプロセスを最終プロセスとして使用するため、構築したエンジンプロセスに関するユーザの決定を受信するステップとを含むことを特徴とする請求項１に記載のエンジンプロセス構築方法。
【請求項１１】
構築したエンジンプロセスに対して静的検証、動的検証、またはその組み合わせのいずれかを実行するステップを含むことを特徴とする請求項１に記載のエンジンプロセス構築方法。
【請求項１２】
エンジンのプロセスを構築する装置であって、
プロセス構築ユニットを備え、
前記プロセス構築ユニットが、
エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係を取得する手段と、
各２つのエンジン間におけるシーケンス関係に基づいてエンジンプロセスを構築する手段と
を備えることを特徴とする装置。
【請求項１３】
前記エンジン履歴プロセスが、各エンジンのエンジン名を含み、
エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係を取得する手段が、
エンジン履歴プロセス中の各エンジンのエンジン名を取得する手段と、
エンジン名に基づいて、エンジン履歴プロセス内の各２つのエンジン間におけるシーケンス関係の統計を作成する手段を備えることを特徴とする請求項１２に記載の装置。
【請求項１４】
各２つのエンジン間におけるシーケンス関係に従ってエンジンプロセスを構築する手段が、
プロセスの構築対象となるエンジン集合を決定する手段と、
集合内の各エンジンのエンジン名を取得する手段と、
集合内の各エンジンのエンジン名に基づいて、各２つのエンジン間におけるシーケンス関係から、集合内の各２つのエンジン間におけるシーケンス関係を取得する手段と、
集合内の各２つのエンジン間におけるシーケンス関係に従って、集合内のエンジンのプロセスを構築する手段とを備えることを特徴とする請求項１３に記載の装置。
【請求項１５】
前記エンジン履歴プロセスは、エンジン名と各エンジンのエンジンタイプを含み、
エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係を取得する手段が、
エンジン履歴プロセス内の各エンジンのエンジン名とエンジンタイプを取得する手段と、
各エンジンのエンジン名とエンジンタイプとに基づいて、エンジン履歴プロセス内の各２つのエンジンタイプ間におけるシーケンス関係の統計を作成する手段とを備えることを特徴とする請求項１２に記載の装置。
【請求項１６】
各２つのエンジン間におけるシーケンス関係に従ってエンジンプロセスを構築する手段が、
プロセスの構成対象となるエンジン集合を決定する手段と、
集合内の各エンジンのエンジン名とエンジンタイプとを取得する手段と、
集合内の各エンジンのエンジンタイプに基づいて、エンジン履歴プロセスの各２つのエンジンタイプ間におけるシーケンス関係から、集合内の各２つのエンジンタイプ間におけるシーケンス関係を取得する手段と、
集合内の各エンジンのエンジン名とエンジンタイプとに基づいて、集合内の各２つのエンジンタイプ間におけるシーケンス関係から、集合内の各２つのエンジン間におけるシーケンス関係を取得する手段と、
集合内の各２つのエンジン間におけるシーケンス関係に従って、集合内のエンジンのプロセスを構築する手段とを備えることを特徴とする請求項１５に記載の装置。
【請求項１７】
前記プロセス構築ユニットが、
エンジン履歴プロセスとエンジン記述との組み合わせに基づいて、各２つのエンジン間におけるシーケンス関係を取得する手段を備えることを特徴とする請求項１２に記載の装置。
【請求項１８】
エンジン履歴プロセスとエンジン記述との組み合わせに基づいて、各２つのエンジン間におけるシーケンス関係を取得する手段が、
エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係が取得する手段と、
エンジン記述に基づいて各２つのエンジン間におけるシーケンス関係が取得する手段と、
エンジン履歴プロセスに基づいて取得した各２つのエンジン間におけるシーケンス関係と、エンジン記述に基づいて取得した各２つのエンジン間におけるシーケンス関係とを、各２つのエンジン間におけるシーケンス関係として結合する手段とを備えることを特徴とする請求項１７に記載の装置。
【請求項１９】
集合内の各２つのエンジン間におけるシーケンス関係に従って、集合内のエンジンのプロセスを構築する手段が、
プロセスの構成対象となるエンジン集合を決定する手段と、
結合した各２つのエンジン間におけるシーケンス関係から集合内の各２つのエンジン間におけるシーケンス関係を取得する手段と、
集合内の各２つのエンジン間におけるシーケンス関係に従って集合内のエンジンのプロセスを構築する手段とを備えることを特徴とする請求項１８に記載の装置。
【請求項２０】
エンジン履歴プロセスを格納するためのエンジン履歴プロセスリポジトリを備えることを特徴とする請求項１２に記載の装置。
【請求項２１】
エンジン記述を格納するためのエンジン記述リポジトリを備え、エンジン記述が、エンジン名、エンジンタイプ、エンジンコンテキスト、エンジン入力タイプ、エンジン出力タイプの少なくとも１つを含むことを特徴とする請求項１２に記載の装置。
【請求項２２】
プロセス決定ユニットを備え、
前記プロセス決定ユニットが、
構築したエンジンプロセスをユーザに提供する手段と、
決定したプロセスを最終プロセスとして使用するため、構築したエンジンプロセスに関するユーザの決定を受信する手段とを備えることを特徴とする請求項１２に記載の装置。
【請求項２３】
構築したエンジンプロセスに対して静的検証、動的検証、またはその組み合わせのいずれかを実行するプロセス検証ユニットを備えることを特徴とする請求項１２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概してデータ処理に関し、特にエンジンプロセスの構築方法および装置に関する。
【背景技術】
【０００２】
エンジン統合により、複数の相関するエンジンをリンクしてプロセスを構築し、これを実行することで特定のタスクを解決することができる。例えば、製品抽出タスクを解決したいとすると、ネットワーク情報収集エンジンと、単語分割エンジンと、製品タグ付けエンジンとをリンクして、ネットワーク上で収集されたコンテンツに対して単語分割を実行し、それに含まれる製品関連の情報にタグ付けするエンジンプロセスを形成すればよい。
【０００３】
エンジン統合の重要ポイントの１つは、エンジンシーケンスの決定である。特許文献１（米国特許公報第２００４／０２４３５５６Ａ１号）には、非構造的情報管理とテキスト解析とを実行するシステムが記載されている。このシステムでは、エンジンシーケンスの決定が自動化されておらず、ユーザがプロセス内の各エンジンを所定のシーケンスに従って配置する必要がある。特許文献２（米国特許公報第２００５／００９７２２４Ａ１号）では、サービス構成を自動的に行う方法が示されている。この方法では、サービスのシーケンスはサービスレポジトリ内に格納されたサービス仕様に従って決定されるが、サービス仕様が明記されてないサービスは処理することができない。特許文献３（特許公報第平１０−２２２３７１号）では、リポジトリシステムを生成して実行するための装置が提示されている。この装置はエンジンの入力と出力に従ってエンジンのシーケンスを決定するものだが、エンジンの入力と出力が指定されていない場合は処理不能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許公報第２００４／０２４３５５６Ａ１号
【特許文献２】米国特許公報第２００５／００９７２２４Ａ１号
【特許文献３】特許公報平１０−２２２３７１号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記から明らかなように、特許文献１〜３の関連技術では、エンジンシーケンスを自動的に決定できないか、たとえできたとしても処理範囲が限定的であるかのいずれかである。さらに、関連技術においては、エンジンプロセスの有効性の判定が自動化されていないため、手動で実行する必要がある。
【課題を解決するための手段】
【０００６】
上記の問題を解決するため、本発明は、エンジン統合を自動的に実行してエンジンプロセスを取得することのできる、エンジンプロセスを構築するための技術的解法を提供することを目的とする。
【０００７】
この目的のため、本発明の第１の態様によれば、エンジンプロセスの構築方法であって、エンジン履歴プロセスに基づいて各２つのエンジン間のシーケンス関係を取得し、各２つのエンジン間のシーケンス関係に基づいてエンジンプロセスを構築することを特徴とするエンジンプロセス構築方法が提供される。
【０００８】
本発明の第２の態様によれば、プロセス構築ユニットを備えるエンジンプロセスの構築装置であって、エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係を取得する手段と、各２つのエンジン間におけるシーケンス関係に基づいてエンジンプロセスを構築する手段を備えることを特徴とするエンジンプロセス構築装置が提供される。
【発明の効果】
【０００９】
本発明によれば、エンジンプロセスを取得するためのエンジン統合を自動的に実行することができるエンジンプロセス構築を実現することができる。
【００１０】
本発明の他の特徴および利点については、本発明の好適な実施例に関する以下の説明と添付図面により明らかになるであろう。
【図面の簡単な説明】
【００１１】
本発明の他の目的および効果は、本発明に対する深い理解をもって以下の説明と添付図面を参照することにより、さらに明確に理解されるであろう。
【００１２】
【図１】本発明の一実施例によるエンジンプロセス構築方法を示すフローチャートである。
【図２】本発明の他の実施例によるエンジンプロセス構築方法を示すフローチャートである。
【図３】本発明のさらに他の実施例によるエンジンプロセス構築方法を示すフローチャートである。
【図４】本発明の一実施例によるエンジンプロセス構築装置のブロック図である。
【００１３】
上記の各図面において同一の参照番号が使用されている場合は、同一、類似、もしくは対応する特徴もしくは機能を有することを意味する。
【発明を実施するための形態】
【００１４】
以下では、図面を参照しながら、本発明の各実施例について詳細に説明する。本発明の図面と実施例は例示的な説明のみを目的とし、本発明に対する保護の範囲を限定するものではないことを理解されたい。
【００１５】
明確化のため、まず本発明の技術的用語を以下に定義する。
【００１６】
１．エンジン
「エンジン」とは、特定の管理および処理機能を実行するためのルーチンである。例えば、ネットワーク情報収集エンジンは、ネットワークから関連情報を収集するルーチンであり、単語分割エンジンは、ネットワークを介して収集されたコンテンツに対し単語分割を実行するルーチンであり、製品タグ付けエンジンは、取得された製品関連の分割済みの単語に含まれる情報にタグ付けするルーチンである。
【００１７】
２．エンジンプロセス
「エンジンプロセス」とは、特定のタスクを解決するために、複数の互いに関連するエンジンをリンクして構築されたエンジンシーケンスである。例えば、製品抽出タスクを解決する場合であれば、ネットワーク情報収集エンジンと単語分割エンジンと製品タグ付けエンジンとをリンクしてエンジンプロセスを構築することができる。このプロセスは、例えば「ネットワーク情報収集エンジン→単語分割エンジン→製品タグ付けエンジン」のように表すことができる（ここで、記号「→」は２つのエンジンのシーケンスを示す）。このプロセスは、最初に「ネットワーク情報収集エンジン」を実行し、次に「単語分割エンジン」を実行し、最後に「製品タグ付けエンジン」を実行することを示す。
【００１８】
３．シーケンス関係
本発明における「シーケンス関係」とは、２つのオブジェクト間におけるシーケンスである。このシーケンス関係はさらに、シーケンスの出現頻度であることもある。
【００１９】
本発明においては、各２つのエンジン間のシーケンス関係は、２つかそれ以上のエンジン間におけるシーケンスとすることも、各シーケンスの出現頻度とすることもできる。例えば、上記の例であれば、ネットワーク情報収集エンジンと単語分割エンジンとのシーケンス関係は、この２エンジンのシーケンス「ネットワーク情報収集エンジン→単語分割エンジン」である。あるいはさらに、ネットワーク情報収集エンジンと単語分割エンジンとのシーケンス関係は、履歴プロセスに出現したシーケンス「ネットワーク情報収集エンジン→単語分割エンジン」の出現頻度のこともある。
【００２０】
本発明においては、各２つのエンジンタイプ間のシーケンス関係は、２つかそれ以上のエンジンタイプ間のシーケンスとすることも、シーケンスの出現頻度とすることもできる。例えば、ネットワーク情報収集エンジンのタイプは「データ読み取り」、単語分割エンジンのタイプは「データラベリング」であり、この２つのエンジンを含む履歴プロセスは「ネットワーク情報収集エンジン→単語分割エンジン」であるとすると、データ読み取りとデータラベリングという２つのエンジンタイプのシーケンス関係は、「データ読み取り→データラベリング」というシーケンスになる。あるいは、データ読み取りとデータラベリングとのシーケンス関係はさらに、シーケンス「データ読み取り→データラベリング」の履歴プロセス内での出現頻度となる。
【００２１】
４．エンジン履歴プロセス
「エンジン履歴プロセス」とは、既存の履歴プロセスを意味する。エンジン履歴プロセスは、エンジン履歴プロセスリポジトリに予め格納しておくことができる。エンジン履歴プロセスリポジトリには、それまでに確立されたすべてのプロセスを格納することができる。エンジン履歴プロセスリポジトリは様々な方法で実装することが可能である。表１と表２に、エンジン履歴プロセスリポジトリの例を示す。
【表１】
2010250800.tif 000003
【００２２】
表１に示すエンジン履歴プロセスリポジトリの例では、エンジン履歴プロセスリポジトリは２つの項目で構成され、各項目は、エンジン履歴プロセス、そのエンジン履歴プロセスをかつて使用したユーザの名前、およびそのエンジン履歴プロセスの構築日時で構成される。図１に示すエンジン履歴プロセスリポジトリの各項目は、あるユーザがある日時にあるプロセスを構築したことを示す。例えば、１番目の項目を見ると、ユーザ００１が２００８年１１月５日の１８：４０：３６に「ネットワーク情報収集エンジン→単語分割エンジン」というプロセスを構築したことが分かる。このように、表１においては、エンジン履歴プロセスはエンジン名で構成され、エンジン間のシーケンスを示す。
【表２】
2010250800.tif 000004
【００２３】
表２は、エンジン履歴プロセスが各エンジンのタイプをさらに含むことを除くと、表１と同じである。例えば、１番目の項目では、ユーザ００１が２００８年１１月５日の１８：４０：３６に「ネットワーク情報収集エンジン→単語分割エンジン」というプロセスを構築したこと、このプロセスにおいてネットワーク情報収集エンジンのタイプは「データ読み取り」であること、単語分割エンジンのタイプは「データラベリング」であることが示されている。
【００２４】
エンジン履歴プロセスは様々な方法で生成することができる。この方法としては、例えば、外部の既知のデバイス（例えば、ユーザによって手動で構築されたプロセスを格納するためのストレージ）によってエンジン履歴プロセスを生成し、エンジン履歴プロセスリポジトリに格納する方法や、本発明によるエンジンプロセス構築装置によって、有効なエンジン履歴プロセスをエンジン履歴プロセスリポジトリに格納する方法が可能である。エンジン履歴プロセスリポジトリ内のエンジンタイプは、履歴プロセスの生成中に自動的にラベリングしてもよいし、あるいは、履歴プロセスの生成後にユーザが手動でラベリングしてもよい。
【００２５】
５．エンジン記述
「エンジン記述」とは、エンジンを記述するための詳細情報を意味し、エンジン記述リポジトリ内に格納することができる。エンジン記述リポジトリには、エンジン名、エンジンタイプ、エンジン入力タイプ、エンジン出力タイプ、エンジンコンテキスト等のエンジン関連情報で構成される複数の項目を格納することが可能である。「エンジン名」とはエンジンの名前を意味する。「エンジンタイプ」とはエンジンの機能カテゴリを意味し、その例としては「データ読み取り」、「データラベリング」、「知識分析」等が挙げられる。「エンジン入力タイプ」とはエンジンが入力を必要とするデータタイプ、「エンジン出力タイプ」とはエンジンが出力できるデータタイプを意味する。「エンジンコンテキスト」とは、当該エンジンの直前に存在すべきエンジンと直後に存在すべきエンジンを意味する。表３に、エンジン記述リポジトリの例を示す。
【表３】
2010250800.tif 000005
【００２６】
図３に示すエンジン記述リポジトリの１番目の項目を見ると、ネットワーク情報収集エンジンはデータ読み取りの一種であり、必要とする入力データタイプはウェブサイトであり、出力データタイプはウェブページであり、ネットワーク情報収集エンジンの直後は単語分割エンジンでなければならないことが分かる。
【００２７】
エンジン記述レポジトリは様々な方法で生成することができる。これらの方法の一例としては、各エンジンの開発者が自発的にエンジン記述をサブミットする方法が挙げられる。具体的には、エンジン開発者はエンジン名、エンジンタイプ、エンジン入力タイプ、エンジン出力タイプ、およびエンジンコンテキストを手動で入力し、この記述をエンジン記述リポジトリに格納する。
【００２８】
本発明は、エンジンプロセス構築方法であって、エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係を取得するステップと、各２つのエンジン間におけるシーケンス関係に従ってエンジンプロセスを構築するステップとを備えることを特徴とするエンジンプロセス構築方法に関する。
【００２９】
本発明の一実施例によれば、エンジン履歴プロセスは各エンジンのエンジン名を含み、エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係を取得するステップは、エンジン履歴プロセス内の各エンジンのエンジン名に基づいて、エンジン履歴プロセス内の各２つのエンジン間におけるシーケンス関係の統計を作成するステップを含む。
【００３０】
各２つのエンジン間におけるシーケンス関係に従ってエンジンプロセスを構築するステップは、プロセスの構築対象となるエンジン集合を決定し、集合内の各エンジンのエンジン名を取得し、集合内の各エンジンのエンジン名に基づいて、各２つのエンジン間におけるシーケンス関係から、集合内の各２つのエンジン間におけるシーケンス関係を取得し、集合内の各２つのエンジン間におけるシーケンス関係に従って、集合内のエンジンのプロセスを構築する。
【００３１】
本発明の他の実施例によれば、エンジン履歴プロセスは、エンジン名と各エンジンのエンジンタイプで構成される。エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係を取得するステップは、エンジン履歴プロセス内の各エンジンのエンジン名とエンジンタイプとに基づいて、エンジン履歴プロセス内の各２つのエンジンタイプ間におけるシーケンス関係の統計を作成する。
【００３２】
各２つのエンジン間におけるシーケンス関係に従ってエンジンプロセスを構築するステップは、プロセスの構成対象となるエンジン集合を決定し、集合内の各エンジンのエンジン名とエンジンタイプとを取得し、集合内の各エンジンのエンジンタイプに基づいて、エンジン履歴プロセスの各２つのエンジンタイプ間におけるシーケンス関係から、集合内の各２つのエンジンタイプ間におけるシーケンス関係を取得し、集合内の各エンジンのエンジン名とエンジンタイプとに基づいて、集合内の各２つのエンジンタイプ間におけるシーケンス関係から、集合内の各２つのエンジン間におけるシーケンス関係を取得し、集合内の各２つのエンジン間におけるシーケンス関係に従って、集合内のエンジンのプロセスを構築する。
【００３３】
本発明のさらに他の実施例によれば、各２つのエンジン間におけるシーケンス関係は、エンジン履歴プロセスとエンジン記述との組み合わせに基づいて取得される。本実施例の一例によれば、エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係が取得され、エンジン記述に基づいて各２つのエンジン間におけるシーケンス関係が取得され、エンジン履歴プロセスに基づいて取得された各２つのエンジン間におけるシーケンス関係と、エンジン記述に基づいて取得された各２つのエンジン間におけるシーケンス関係とが、各２つのエンジン間におけるシーケンス関係として結合される。この例においては、プロセスの構成対象となるエンジン集合が決定され、集合内の各２つのエンジン間におけるシーケンス関係が、結合された各２つのエンジン間におけるシーケンス関係から取得され、集合内のエンジンのプロセスが、集合内の各２つのエンジン間におけるシーケンス関係に従って構築される。
【００３４】
本発明の他の実施例によれば、エンジン記述は、エンジン名、エンジンタイプ、エンジンコンテキスト、エンジン入力タイプ、エンジン出力タイプの１つ、またはその組み合わせのいずれかである。
【００３５】
次に、本発明の各実施例について詳細に説明する。
【００３６】
図１は、本発明の一実施例によるエンジンプロセス構築方法を示すフローチャートである。本実施例においては、エンジンプロセスを構築するために、エンジン履歴プロセス内の各エンジンのエンジン名に基づいて、エンジン履歴プロセス内の各２つのエンジン間におけるシーケンス関係が取得される。
【００３７】
ステップ１０１において、エンジン履歴プロセスが取得される。
【００３８】
エンジン履歴プロセスリポジトリに格納されるすべての項目は読み取り可能であり、これにより１つ以上のエンジン履歴プロセスを取得することができる。
【００３９】
あるいは、構築日時に基づいて、読み取り対象とするエンジン履歴プロセスの範囲を設定することも可能である。例えば、２００８年１１月１０日の００：００：００以降のエンジン履歴プロセスのみを取得するように設定すると、表１の２番目の項目に含まれるエンジン履歴プロセスだけが読み取られる。または、読み取るべきエンジン履歴プロセスの範囲をユーザごとに設定することもできる。例えば、ユーザ００１に関連する履歴プロセスのみが取得されるように設定されている場合であれば、表１の１番目の項目内の履歴プロセスだけが読み取られる。
【００４０】
本実施例においては、表１の１番目の項目と２番目の項目に含まれるエンジン履歴プロセス、すなわち「ネットワーク情報収集エンジン→単語分割エンジン」と「データベース読み取りエンジン→単語分割エンジン→製品抽出エンジン」とが読み取られる。
【００４１】
ステップ１０２において、エンジン履歴プロセス内の各エンジンのエンジン名が取得される。
【００４２】
本実施例においては、表１に示すように、エンジン履歴プロセスは計４つのエンジン（すなわち、ネットワーク情報収集エンジン、単語分割エンジン、データベース読み取りエンジン、および製品抽出エンジン）で構成される。
【００４３】
ステップ１０３において、エンジン名に基づいて、エンジン履歴プロセス内の各２つのエンジン間におけるシーケンス関係の統計が実行される。
【００４４】
本実施例においては、４つのエンジンの間に計４×４＝１６の結合シーケンスが存在する。これらの結合シーケンスは、下記に示すエンジン履歴転送行列内に明確に記述される。この行列において、各要素は「その要素が属する列に対応するエンジンの直後に、その要素が属する行に対応するエンジンが続く」というシーケンスを示し、その要素の値はシーケンスの出現頻度を表わす。
【表４】
2010250800.tif 000006
【００４５】
上記のように、これらのエンジンのシーケンスは、「ネットワーク情報収集エンジン→ネットワーク情報収集エンジン」、「ネットワーク情報収集エンジン→単語分割エンジン」、「ネットワーク情報収集エンジン→データベース読み取りエンジン」、「ネットワーク情報収集エンジン→製品抽出エンジン」、「単語分割エンジン→ネットワーク情報収集エンジン」、「単語分割エンジン→単語分割エンジン」、「単語分割エンジン→データベース読み取りエンジン」、「単語分割エンジン→製品抽出エンジン」、「データベース読み取りエンジン→ネットワーク情報収集エンジン」、「データベース読み取りエンジン→単語分割エンジン」、「データベース読み取りエンジン→データベース読み取りエンジン」、「データベース読み取りエンジン→製品抽出エンジン」、「製品抽出エンジン→ネットワーク情報収集エンジン」、「製品抽出エンジン→単語分割エンジン」、「製品抽出エンジン→データベース読み取りエンジン」、および「製品抽出エンジン→製品抽出エンジン」である。
【００４６】
表１において、シーケンス「ネットワーク情報収集エンジン→単語分割エンジン」と、シーケンス「データベース読み取りエンジン→単語分割エンジン」と、シーケンス「単語分割エンジン→製品抽出エンジン」はそれぞれ１回ずつ出現しており、他のシーケンスは出現していない。そのため、上記の行列においては、行１列２の要素の値は１（エンジン履歴プロセス内におけるシーケンス「ネットワーク情報収集エンジン→単語分割エンジン」の出現頻度は１回であることを表す）であり、行２列４の要素の値は１（エンジン履歴プロセス内におけるシーケンス「単語分割エンジン→製品抽出エンジン」の出現頻度は１回であることを表す）であり、行３列２の要素の値は１（エンジン履歴プロセス内におけるシーケンス「データベース読み取りエンジン→単語分割エンジン」の出現頻度は１回であることを表す）であり、他の要素の値はゼロ（他のシーケンスは出現していないことを表す）である。
【００４７】
ステップ１０４において、プロセスの構成対象となるエンジン集合が決定される。
【００４８】
プロセスを構築すべきエンジンは、ユーザ入力かまたは事前の設定に従って決定される。例えば、ユーザは、あるエンジン集合を入力し、その集合内のすべてのエンジンを含むプロセスを構築することができる。
【００４９】
ステップ１０５において、集合内の各エンジンのエンジン名が取得される。
【００５０】
本実施例においては、ユーザが指定した集合に３つのエンジンが含まれ、それらはネットワーク情報収集エンジン、製品抽出エンジン、および単語分割エンジンであるとする。
【００５１】
ステップ１０６において、集合内の各エンジンのエンジン名に基づいて、エンジン履歴プロセス内の各２つのエンジン間におけるシーケンス関係から、集合内の各２つのエンジン間におけるシーケンス関係が取得される。
【００５２】
集合は３つのエンジンで構成されるので、これら３つのエンジン間には計３×３＝９の結合シーケンスが存在する。エンジン履歴プロセス内の各２つのエンジン間におけるシーケンス関係から、以下のようなユーザエンジン転送行列を取得することができる。例えば、履歴エンジン転送行列から、集合内の各２つのエンジン間におけるシーケンス関係を表わすユーザエンジン転送行列が取得される。
【表５】
2010250800.tif 000007
【００５３】
履歴エンジン転送行列と同様に、ユーザエンジン転送行列内の各要素も、「その要素が属する列に対応するエンジンの直後に、その要素が属する行に対応するエンジンが続く」というシーケンスを示し、その要素の値はシーケンスの出現頻度を表わす。ただし、ユーザエンジン転送行列と履歴エンジン転送行列とは、履歴エンジン転送行列に関連するエンジンはエンジン履歴プロセスに含まれるすべてのエンジンであるのに対し、ユーザエンジン転送行列に関連するエンジンはステップ１０４で決定された集合内のエンジンであるという点において、異なっている。
【００５４】
上記のユーザエンジン転送行列においては、行１列２の要素の値は１（シーケンス「ネットワーク情報収集エンジン→単語分割エンジン」の出現頻度は１回であることを表す）であり、行２列３要素の値は１（シーケンス「単語分割エンジン→製品抽出エンジン」の出現頻度は１回であることを表す）であり、他の要素の値はゼロ（他のシーケンスは出現していないことを表す）である。
【００５５】
ステップ１０７において、集合内の各２つのエンジン間におけるシーケンス関係に従ってエンジンプロセスが構築される。
【００５６】
本実施例においては、「ネットワーク情報収集エンジン→単語分割エンジン」と「単語分割エンジン→製品抽出エンジン」という２つのシーケンスがあるので、「ネットワーク情報収集エンジン→単語分割エンジン→製品抽出エンジン」というエンジンプロセスが構築される。
【００５７】
他の実施例においては、ユーザによって指定された集合に「データ読み取りエンジン」がさらに含まれる場合には、シーケンス「ネットワーク情報収集エンジン→単語分割エンジン」とシーケンス「データ読み取りエンジン→単語分割エンジン」の出現頻度はいずれも１なので、「ネットワーク情報収集エンジン→単語分割エンジン→製品抽出エンジン」と「データ読み取りエンジン→単語分割エンジン→製品抽出エンジン」という２つのプロセスを構築することが可能である。
【００５８】
さらに他の実施例においては、ユーザによって指定された集合に「データ読み取りエンジン」がさらに含まれ、「ネットワーク情報収集エンジン→単語分割エンジン」の出現頻度が２で、「データ読み取りエンジン→単語分割エンジン」の出現頻度が１の場合には、これらのシーケンスの出現頻度に従ってエンジンプロセスを構築することができる。例えば、「ネットワーク情報収集エンジン→単語分割エンジン→製品抽出エンジン」というエンジンプロセスを構築したとすると、このエンジンプロセスの優先順位は高くなり、「データ読み取りエンジン→単語分割エンジン→製品抽出エンジン」の優先順位は低くなる。これにより、優先順位の高いプロセスが優先的にユーザに提供され、優先順位の低いプロセスは後でユーザに提供されるか、ユーザに提供されないようにすることが可能となる。
【００５９】
あるいは、ステップ１０８において、構築されたエンジンプロセスがユーザに提供される。
【００６０】
本実施例においては、エンジンプロセス「ネットワーク情報収集エンジン→単語分割エンジン→製品抽出エンジン」がユーザに提供される。
【００６１】
あるいは、ステップ１０９において、エンジンプロセスの構築に対するユーザの同意が受信され、決定されたプロセスが最終的なプロセスとして使用される。
【００６２】
ユーザは自身の好みに応じて構築されたプロセスを評価し、プロセスを決定することができる。こうした決定は、他の制限条件に従って行うことも可能である。
【００６３】
例えば、本発明の一実施例においては、ステップ１０４で決定された集合が「データ読み取りエンジン」を含む場合には、「ネットワーク情報収集エンジン→単語分割エンジン→製品抽出エンジン」と「データ読み取りエンジン→単語分割エンジン→製品抽出エンジン」という２つのプロセスが構築される。ユーザは必要に応じていずれか一方のプロセスを選択することができる。
【００６４】
これで処理は終了する。
【００６５】
なお、ステップ１０８とステップ１０９の使用は任意であり、図１の実施例においてはこれらのステップは必須でないことは明らかである。ステップ１０８とステップ１０９を使用しない場合には、ステップ１０７で構築されたエンジンプロセスは、このステップで構築されたプロセス数にかかわらず、これで完了となる。ステップ１０８とステップ１０９が使用される場合、これらは本発明の方法において必須ではない「ユーザの決定ステップ」に対応する。
【００６６】
さらに、ステップ１０４〜１０６もまた使用は任意であり、図１の実施例においてはこれらのステップは必須でないことは理解されるであろう。エンジン集合が指定されない場合には、エンジン履歴プロセス内の各２つのエンジン間における統計的シーケンス関係を直接使用して、新たなエンジンプロセスを構築することができる。
【００６７】
図２は、本発明の他の実施例によるエンジンプロセス構築方法を示すフローチャートである。図２に示す実施例では、図１とは異なり、エンジン履歴プロシージャは表２に示すエンジン履歴プロセスリポジトリから取得され、これにはプロセスを形成するエンジンだけでなく各エンジンのエンジンタイプも含まれる。本実施例においては、エンジンプロセスを構築するために、エンジン履歴プロセス内の各エンジンのエンジン名とエンジンタイプに基づいて、エンジン履歴プロセス内の各２つのエンジンタイプ間におけるシーケンス関係が取得される。
【００６８】
ステップ２０１において、エンジン履歴プロセスが取得される。
【００６９】
ステップ２０１は図１のステップ１０１と同じである。本実施例においては、表２に示すエンジン履歴プロセスリポジトリが使用され、具体的には、「ネットワーク情報収集エンジン（データ読み取り）→単語分割エンジン（データラベリング）」と「ネットワーク情報収集エンジン（データ読み取り）→単語分割エンジン（データラベリング）→製品抽出エンジン（データラベリング）→企業競合分析エンジン（知識分析）」という２つのエンジン履歴プロセスが使用される。
【００７０】
ステップ２０２において、エンジン履歴プロセス内の各エンジンのエンジン名とエンジンタイプが取得される。
【００７１】
表２に示すエンジン履歴プロセスは、ネットワーク情報収集エンジン、単語分割エンジン、製品抽出エンジン、企業競合分析エンジンという４つのエンジンで構成され、ネットワーク情報収集エンジンのタイプは「データ読み取り」、単語分割エンジンと製品抽出エンジンのタイプはいずれも「データラベリング」、企業競合分析エンジンのタイプは知識分析である。
【００７２】
ステップ２０３において、エンジン履歴プロセス内の各エンジンのエンジン名とエンジンタイプに基づいて、エンジン履歴プロセス内の各２つのエンジン間におけるシーケンス関係の統計が実行される。
【００７３】
本実施例においては、エンジン履歴プロセスは、「データ読み取り」、「データラベリング」、び「知識分析」という３つのエンジンタイプから成る。この３つのエンジンタイプの間には、「データ読み取り→データ読み取り」、「データ読み取り→データラベリング」、「データ読み取り→知識分析」、「データラベリング→データ読み取り」、「データラベリング→データラベリング」、「データラベリング→知識分析」、「知識分析→データ読み取り」、「知識分析→データラベリング」、「知識分析→知識分析」という、計３×３＝９の結合シーケンスが存在する。表２に示す本実施例のエンジン履歴プロセス内では、シーケンス「ネットワーク情報収集エンジン→単語分割エンジン」は２回出現し、シーケンス「単語分割エンジン→製品抽出エンジン」は１回出現し、シーケンス「製品抽出エンジン→企業競合分析エンジン」は１回出現する。ネットワーク情報収集エンジン→単語分割エンジン」に対応する２つのエンジンタイプは「データ読み取り→データラベリング」であり、「単語分割エンジン→製品抽出エンジン」は「データラベリング→データラベリング」に対応し、「製品抽出エンジン→企業競合分析エンジン」は「データラベリング→知識分析」に対応する。そのため、シーケンス「データ読み取り→データラベリング」の出現頻度は２回、シーケンス「データラベリング→データラベリング」の出現頻度は１、シーケンス「データラベリング→知識分析」の出現頻度は１回であり、他の６つのエンジンタイプのシーケンスは出現しない。
【００７４】
エンジン履歴プロセス内の各２つのエンジン間におけるシーケンス関係は、以下の履歴エンジン転送行列を使ってより明確に示すことができる。
【表６】
2010250800.tif 000008
【００７５】
上記の行列においては、行１列２の要素の値は２（エンジン履歴プロセス内におけるシーケンス「データ読み取り→データラベリング」の出現頻度は２回であることを表す）であり、行２列２の要素の値は１（エンジン履歴プロセス内におけるシーケンス「データラベリング→データラベリング」の出現頻度は１回であることを表す）であり、行２列３の要素の値は１（エンジン履歴プロセス内におけるシーケンス「データラベリング→知識分析」の出現頻度は１回であることを表す）であり、他の要素の値はゼロ（他のシーケンスはエンジン履歴プロセス内に出現していないことを表す）である。
【００７６】
ステップ２０４において、プロセスの構成対象となるエンジン集合が決定される。
【００７７】
プロセスを構築すべきエンジンは、ユーザ入力かまたは事前の設定に従って決定される。例えば、ユーザは、あるエンジン集合を入力し、その集合内のすべてのエンジンを含むプロセスを構築することができる。
【００７８】
ステップ２０５において、集合内の各エンジンのエンジン名とエンジンタイプが取得される。
【００７９】
本実施例においては、ユーザが指定した集合に２つのエンジンが含まれ、それらは単語分割エンジンおよびデータベース読み取りエンジンであり、単語分割エンジンのタイプは「データラベリング」、およびデータベース読み取りエンジンのタイプは「データ読み取り」である。
【００８０】
ステップ２０６において、集合内の各エンジンのエンジンタイプに基づいて、ステップ２０３で取得されたエンジン履歴プロセス内の各２つのエンジンタイプ間におけるシーケンス関係から、集合内の各２つのエンジンタイプ間におけるシーケンス関係が取得される。
【００８１】
本実施例においては、ユーザによって指定された集合は単語分割エンジンとデータベース読み取りエンジンとから成り、単語分割エンジンのタイプは「データラベリング」、およびデータベース読み取りエンジンのタイプは「データ読み取り」である。そのため、決定された集合内のエンジンは、「データラベリング」と「データ読み取り」という２つのタイプを有する。この集合は企業競合分析エンジンを含まないため、エンジンタイプ「知識分析」に関連するシーケンス関係を考慮する必要はない。
【００８２】
この場合、集合内の各２つのエンジンタイプ間におけるシーケンス関係は、「データ読み取り→データラベリング」と「データラベリング→データラベリング」という２つのシーケンスから成り、この２つのシーケンスの出現頻度はそれぞれ２回と１回である。よって、データラベリングがデータラベリングの直後に続く可能性が高く、データラベリングがデータ読み取りの直後に続く可能性はさらに高い、という結論を導出することができる。
【００８３】
エンジン履歴プロセス内の各２つのエンジンタイプ間におけるシーケンス関係から、ユーザエンジン転送行列を得ることができる。集合内の各２つのエンジンタイプ間のシーケンスと当該シーケンスの出現頻度とを表すユーザエンジン転送行列は、例えば履歴エンジン転送行列から取得することができる。本実施例におけるユーザエンジン転送行列は、以下のようになる。
【表７】
2010250800.tif 000009
【００８４】
ステップ２０７において、集合内の各エンジンのエンジン名とエンジンタイプとに基づいて、集合内の各２つのエンジンタイプ間におけるシーケンス関係から、集合内の各２つのエンジン間におけるシーケンス関係が取得される。
【００８５】
本実施例においては、ユーザが指定したエンジン集合に単語分割エンジン（エンジンタイプは「データラベリング」）とデータベース読み取りエンジン（エンジンタイプは「データ読み取り」）とが含まれ、かつ、集合内の各２つのエンジンタイプ間におけるシーケンス関係が「データ読み取り→データラベリング」と「データラベリング→データラベリング」という２つのシーケンスから成るため、集合内の各２つのエンジン間におけるシーケンス関係は「データベース読み取りエンジン→単語分割エンジン」と「単語分割エンジン→単語分割エンジン」という２つのシーケンスを含むことになる。また、「データ読み取り→データラベリング」と「データラベリング→データラベリング」という２つのシーケンスの出現頻度はそれぞれ２回と１回なので、「データベース読み取りエンジン→単語分割エンジン」と「単語分割エンジン→単語分割エンジン」の出現頻度も２回と１回であると考えることができる。
【００８６】
ステップ２０８において、集合内の各２つのエンジン間におけるシーケンス関係に従ってエンジンプロセスが構築される。
【００８７】
本実施例においては、ユーザによって指定されたエンジン集合は単語分割エンジンのみを含むので、「データベース読み取りエンジン→単語分割エンジン」のプロセスが構築される。
【００８８】
他の実施例においては、シーケンス「データ読み取り→データラベリング」と「データラベリング→データラベリング」の出現頻度はそれぞれ２回と１回なので、出現頻度が最大となるシーケンスであるシーケンス「データ読み取り→データラベリング」を選択してエンジンプロセスが構築される。具体的には、「データ読み取り→データラベリング」に対応する「データベース読み取りエンジン→単語分割エンジン」を使用してエンジンプロセスが構築される。
【００８９】
または、ステップ２０９において、構築されたエンジンプロセスが検証され、このプロセスの有効性が判定される。
【００９０】
本発明においては、プロセスの有効性は静的検証、動的検証、またはその組み合わせによって判定することができる。
【００９１】
静的検証では、まずエンジン記述リポジトリを検索してプロセス内の各エンジンの入力タイプと出力タイプが取得され、次に、プロセス内の隣接するエンジンの各ペアにおいて、１つ目のエンジンの出力タイプが２つ目のエンジンの入力タイプと一致するかどうかが検査される。一致した場合、静的検証は合格となる。
【００９２】
動的検証では、まずプロセスを実行して、プロセスに含まれる各エンジンの実際の入力と出力の値がいずれも空でないことがチェックされる。いずれも空でない場合、動的検証は合格となる。
【００９３】
ここでは、静的検証が合格であった場合にのみエンジンプロセスを有効なプロセスと見なす、動的検証が合格であった場合にのみエンジンプロセスを有効なプロセスと見なす、または静的検証と動的検証の両方が合格であった場合にのみエンジンプロセスを有効なプロセスと見なす、のうちいずれとするかを、事前に決定しておくことができる。例えば、プロセス「ネットワーク情報収集エンジン→単語分割エンジン→製品タグ付けエンジン」の場合、ネットワーク情報収集エンジンの出力タイプと単語分割エンジンの入力タイプはいずれも「ウェブページ」であり、単語分割エンジンの出力タイプと製品抽出エンジンの入力タイプはいずれも「単語分割ラベリング結果」なので、プロセスの静的検証は合格となり、続いて、ネットワーク情報収集エンジンの入力として実際のウェブサイト（例：ｗｗｗ．ｎｅｃ．ｃｏｍ）を設定した後に、各エンジンの入力値と出力値が空かどうかを判定するプロセスを実行し、空でなければ動的検証は合格となる。これにより、このプロセスは有効なプロセスとして判定される。
【００９４】
本実施例においては、ステップ２０９で検証されるのは「データベース読み取りエンジン→単語分割エンジン」のプロセスである。データベース読み取りエンジンの出力タイプと単語分割の入力タイプはいずれも「ウェブページ」なので、プロセスの静的検証は合格となり、続いて、データベース読み取りエンジンの入力として製品名を設定した後プロセスが実行され、エンジンの入力値と出力値のいずれも空ではないので、プロセスの動的検証は合格となる。したがって、本実施例におけるプロセス「データベース読み取りエンジン→単語分割エンジン」は有効であると判定される。
【００９５】
これで処理は終了する。
【００９６】
なお、ステップ２０９の使用は任意であり、図２の実施例においてステップ２０９は必須でないことは明らかである。検証が行われない場合、ステップ２０８で構築されたエンジンプロセスを最終結果と見なすことができる。
【００９７】
さらに、ステップ２０４〜２０６もまた使用は任意であり、図２の実施例においてはこれらのステップは必須でないことは理解されるであろう。エンジン集合が指定されない場合には、エンジン履歴プロセス内の各２つのエンジン間におけるシーケンス関係を取得し、エンジン履歴プロセス内の各２つのエンジンタイプ間におけるシーケンス関係と、エンジン履歴プロセスに含まれる各エンジンのエンジン名およびエンジンタイプとを直接使用して、エンジンプロセスを構築することができる。
【００９８】
なお、図２に示す実施例は、図１に示す処理のステップ１０８およびステップ１０９も含むことができることは明らかである。逆に、図１に示す実施例は、図２に示す処理のステップ２０９も含むことができる。
【００９９】
本発明の実施例の方法によれば、エンジン履歴プロセスとエンジン記述の両方に基づいてエンジンプロセスを構築することもできる。図３は、本発明のさらに他の実施例によるエンジンプロセスの構築方法を示すフローチャートであり、エンジン履歴エンジンとエンジン記述の両方に基づいてエンジンプロセスを構築する一実施例を示す。具体的には、図３に示す実施例においては、エンジン記述に含まれるエンジン名とエンジンコンテキストとが使用される。本実施例においては、まずエンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係が取得され、エンジン記述に基づいて各２つのエンジン間におけるシーケンス関係が取得され、続いて、エンジン履歴プロセスに基づいて取得された各２つのエンジン間におけるシーケンス関係と、エンジン記述に基づいて取得された各２つのエンジン間におけるシーケンス関係との組み合わせが、エンジンプロセスを構築するための各２つのエンジン間におけるシーケンス関係として使用される。以下では、本実施例について詳細に説明する。
【０１００】
ステップ３０１において、プロセスの構成対象となるエンジン集合が決定される。
【０１０１】
ステップ３０１は図１のステップ１０４と同じである。プロセスを構築すべきエンジンは、ユーザ入力かまたは事前の設定に従って決定される。本実施例においては、ユーザが、単語分割エンジン、ネットワーク情報収集エンジン、および企業抽出エンジンという３つのエンジンを含むエンジン集合を入力する。
【０１０２】
ステップ３０２において、エンジン履歴プロセスが取得される。
【０１０３】
ステップ３０２は図１のステップ１０１と同じである。本実施例において、エンジン履歴プロセスは「ネットワーク情報収集エンジン→単語分割エンジン」と「ネットワーク情報収集エンジン→単語分割エンジン→製品抽出エンジン→企業競合分析エンジン」という２つのプロセスで構成されるとする。
【０１０４】
ステップ３０３において、エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係が取得される。
【０１０５】
本実施例においては、履歴プロセスに基づいて取得される各２つのエンジン間のシーケンスは「ネットワーク情報収集エンジン→単語分割エンジン」と「単語分割エンジン→製品抽出エンジン」と「製品抽出エンジン→企業競合分析エンジン」とで構成される。
【０１０６】
ステップ３０４において、エンジン記述内のエンジン名とエンジンコンテキストが取得される。
【０１０７】
エンジンコンテキストは表３のエンジン記述に基づいて取得できる。ここでは、ネットワーク情報収集エンジンの直後のコンテキストは単語分割エンジンであり、企業抽出エンジンの直前のコンテキストは単語分割エンジンである。
【０１０８】
ステップ３０５において、エンジンコンテキストに基づいて各２つのエンジン間におけるシーケンス関係が取得される。
【０１０９】
表３に示すエンジンコンテキストによれば、各２つのエンジン間におけるシーケンス関係は、「ネットワーク情報収集エンジン→単語分割エンジン」と「単語分割エンジン→企業抽出エンジン」という２つのシーケンスで構成され、この２つのシーケンスの出現頻度はそれぞれ１回である。
【０１１０】
ここで、ステップ３０２〜３０３とステップ３０４〜３０５の順序は入れ替えることができることは明白である。すなわち、他の実施例においては、ステップ３０１が実行された後、ステップ３０４とステップ３０５がまず実行され、次にステップ３０２とステップ３０３が実行されるが、この違いによって本発明の方法の成果が影響されることはない。
【０１１１】
ステップ３０６において、ステップ３０３およびステップ３０５でそれぞれ取得された各２つのエンジン間のシーケンス関係が、各２つのエンジン間におけるシーケンス関係として結合される。
【０１１２】
本実施例においては、ステップ３０３において取得される各２つのエンジン間のシーケンス関係は「ネットワーク情報収集エンジン→単語分割エンジン」と「単語分割エンジン→製品抽出エンジン」と「製品抽出エンジン→企業競合分析エンジン」である。また、ステップ３０５において取得される各２つのエンジン間のシーケンス関係は「ネットワーク情報収集エンジン→単語分割エンジン」と「単語分割エンジン→企業抽出エンジン」である。上記２つのシーケンス関係を結合して取得される各２つのエンジン間におけるシーケンス関係は、「ネットワーク情報収集エンジン→単語分割エンジン」と「単語分割エンジン→製品抽出エンジン」と「製品抽出エンジン→企業競合分析エンジン」と「単語分割エンジン→企業抽出エンジン」である。
【０１１３】
ステップ３０７において、ステップ３０６で取得された結合済みの各２つのエンジン間におけるシーケンス関係から、集合内の各２つのエンジン間におけるシーケンス関係が取得される。
【０１１４】
ステップ３０１で決定された集合は、単語分割エンジンとネットワーク情報収集エンジンと企業抽出エンジンとで構成される。そのため、ステップ３０６で取得された結合済みの各２つのエンジン間におけるシーケンス関係から、この３つのエンジンのうち任意の２つのエンジンのシーケンス関係を知る必要がある。
【０１１５】
本実施例においては、「ネットワーク情報収集エンジン→単語分割エンジン」、「単語分割エンジン→製品抽出エンジン」、「製品抽出エンジン→企業競合分析エンジン」、および「単語分割エンジン→企業抽出エンジン」というシーケンス関係から、集合内の各２つのエンジン間におけるシーケンス関係、すなわち、「ネットワーク情報収集エンジン→単語分割エンジン」と「単語分割エンジン→企業抽出エンジン」を取得することができる。
【０１１６】
ステップ３０８において、集合内の各２つのエンジン間におけるシーケンス関係に従ってエンジンプロセスが構築される。
【０１１７】
すなわち、ステップ３０７で取得された集合内の各２つのエンジン間におけるシーケンス関係（すなわち、「ネットワーク情報収集エンジン→単語分割エンジン」と「単語分割エンジン→企業抽出エンジン」）に従って、「ネットワーク情報収集エンジン→単語分割エンジン→企業抽出エンジン」というエンジンプロセスが取得される。
【０１１８】
これで処理は終了する。
【０１１９】
ここで、ステップ３０１とステップ３０７の使用は任意であることは理解されるであろう。ステップ３０１とステップ３０７を使用しない場合（すなわち、エンジン集合が設定されない場合）、ステップ３０８では、ステップ３０６で取得された各２つのエンジン間におけるシーケンス関係を使用してエンジンプロセスが構築される。したがって、ステップ３０１とステップ３０７の不在は本発明の方法の実装に影響しない。さらに、ステップ３０１はステップ３０７の前の任意のステップにおいて実行することができる。
【０１２０】
なお、図３に示す実施例は、図１に示すプロセスのステップ１０８およびステップ１０９も含むことができることは明らかである。図３に示す実施例はさらに、図２に示す処理のステップ２０９を含むこともできる。
【０１２１】
図３に示す実施例の変形においては、ステップ３０４において、エンジンコンテキストではなく、エンジン記述内のエンジン名、エンジン入力タイプ、およびエンジン出力タイプが取得され、ステップ３０５において、エンジン入力タイプとエンジン出力タイプとに従って各２つのエンジン間におけるシーケンス関係が取得され、ステップ３０６において、履歴プロセスに基づいて取得された各２つのエンジン間におけるシーケンス関係と、エンジン入力タイプおよびエンジン出力タイプに基づいて取得された各２つのエンジン間におけるシーケンス関係とが、各２つのエンジン間におけるシーケンス関係と見なされる。
【０１２２】
本発明の他の実施例においては、エンジンタイプを含まないエンジン履歴プロセスの場合には、エンジン名に基づいてエンジン記述リポジトリから対応するエンジンタイプを検索して、エンジン履歴プロセス内の各エンジンタイプを決定することができる。その後、本発明の方法を使用して処理を実行する（例えば、図２のステップ２０３〜２０８を実行することによりエンジンプロセスを構築する）ことができる。
【０１２３】
図４は、本発明の一実施例によるエンジンプロセス構築装置４００のブロック図である。
【０１２４】
装置４００は、プロセス構築ユニット４１０を備え、当該プロセス構築ユニット４１０は、エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係を取得する手段と、各２つのエンジン間におけるシーケンス関係に基づいてエンジンプロセスを構築する手段とをさらに備える。
【０１２５】
装置４００はさらに、エンジン履歴プロセスを格納するためのエンジン履歴プロセスリポジトリ４２０を備える。プロセス構築ユニット４１０は、エンジン履歴プロセスリポジトリ４２０からエンジン履歴プロセスを取得することができる。
【０１２６】
装置４００はさらに、エンジン記述を格納するためのエンジン記述リポジトリ４３０を備え、エンジン記述はエンジン名、エンジンタイプ、エンジンコンテキスト、エンジン入力タイプ、エンジン出力タイプ等で構成される。
【０１２７】
上記に加えて、装置４００はさらに、プロセス決定ユニット４４０とプロセス検証ユニット４５０とを備える。プロセス決定ユニット４４０は、構築されたエンジンプロセスをユーザに提供する手段と、決定されたプロセスを最終プロセスとして使用するため、構築されたエンジンプロセスに関するユーザの決定を受信する手段とを備える。プロセス検証ユニット４５０は、プロセスの有効性を判定するために使用される。具体的には、プロセス検証ユニット４５０は、構築されたエンジンプロセスに対して静的検証、動的検証、またはその組み合わせのいずれかを実行する手段を備える。
【０１２８】
一実施例においては、エンジン履歴プロセスは、各エンジンのエンジン名を含み、エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係を取得するためのプロセス構築ユニット４１０には、エンジン履歴プロセス内の各エンジンのエンジン名を取得する手段と、エンジン名に基づいて、エンジン履歴プロセス内の各２つのエンジン間におけるシーケンス関係についての統計を作成する手段とが備えられる。
【０１２９】
各２つのエンジン間におけるシーケンス関係に基づいてエンジンプロセスを構築するためのプロセス構築ユニット４１０には、プロセスの構築対象となるエンジン集合を決定する手段と、集合内の各エンジンのエンジン名を取得する手段と、集合内の各エンジンのエンジン名に基づいて、各２つのエンジン間におけるシーケンス関係から、集合内の各２つのエンジン間におけるシーケンス関係を取得する手段と、集合内の各２つのエンジン間におけるシーケンス関係に応じて、集合内のエンジンのプロセスを構築する手段とが備えられる。
【０１３０】
他の実施例においては、エンジン履歴プロセスは各エンジンのエンジン名とエンジンタイプとを含み、エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係を取得するためのプロセス構築ユニット４１０には、エンジン履歴プロセス内の各エンジンのエンジン名とエンジンタイプとを取得する手段と、エンジン名とエンジンタイプとに基づいて、エンジン履歴プロセス内の各２つのエンジンタイプ間におけるシーケンス関係についての統計を作成する手段とが備えられる。
【０１３１】
各２つのエンジン間におけるシーケンス関係に基づいてエンジンプロセスを構築するためのプロセス構築ユニット４１０には、プロセスの構成対象となるエンジン集合を決定する手段と、集合内の各エンジンのエンジン名とエンジンタイプとを取得する手段と、集合内の各エンジンのエンジンタイプに基づいて、エンジン履歴プロセスの各２つのエンジンタイプ間におけるシーケンス関係から、集合内の各２つのエンジンタイプ間におけるシーケンス関係を取得する手段と、集合内の各エンジンのエンジン名とエンジンタイプとに基づいて、集合内の各２つのエンジンタイプ間におけるシーケンス関係から、集合内の各２つのエンジン間におけるシーケンス関係を取得する手段と、集合内の各２つのエンジン間におけるシーケンス関係に応じて、集合内のエンジンのプロセスを構築する手段とが備えられる。
【０１３２】
他の実施例においては、プロセス構築ユニット４１０はさらに、エンジン履歴プロセスとエンジン記述とに基づいて各２つのエンジン間におけるシーケンス関係を取得する手段を備える。エンジン履歴プロセスとエンジン記述とに基づいて各２つのエンジン間におけるシーケンス関係を取得する手段は、エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係を取得する手段と、エンジン記述に基づいて各２つのエンジン間におけるシーケンス関係を取得する手段と、エンジン履歴プロセスに基づいて取得された各２つのエンジン間におけるシーケンス関係とエンジン記述に基づいて取得された各２つのエンジン間におけるシーケンス関係とを、各２つのエンジン間におけるシーケンス関係として結合する手段とを備える。
【０１３３】
または、シーケンス関係に基づいてエンジンプロセスを構築するためのプロセス構築ユニット４１０には、プロセスの構成対象となるエンジン集合を決定する手段と、結合された各２つのエンジン間におけるシーケンス関係から、集合内の各２つのエンジン間におけるシーケンス関係を取得する手段と、集合内の各２つのエンジン間におけるシーケンス関係に従って、集合内のエンジンのプロセスを構築する手段とが備えられる。
【０１３４】
または、ユーザ入力かまたは事前の設定に基づいて、プロセスの構成対象となるエンジン集合を決定する手段を実行することもできる。
【０１３５】
本発明はさらに、コンピュータプログラム製品であって、エンジン履歴プロセスに基づいて各２つのエンジン間におけるシーケンス関係を取得する処理と、各２つのエンジン間におけるシーケンス関係に基づいてエンジンプロセスを構築する処理とを実行するためのコードを備えることを特徴とするコンピュータプログラム製品に関する。コードは、使用前に、他のコンピュータシステムの記憶装置に格納しておく（例えば、ハードディスクやＣＤまたはフロッピーディスク等の携行可能な記憶装置に格納する）か、インターネット等のコンピュータネットワークを介してダウンロードしておくことができる。
【０１３６】
開示される本発明の方法は、ソフトウェア、ハードウェア、またはその組み合わせによって実現することが可能である。ハードウェア部分は専用論理を使用して実装でき、ソフトウェア部分は、記憶装置内に格納しておき、マイクロプロセッサ、パーソナルコンピュータ（ＰＣ）、メインフレームコンピュータ等の適切な命令実行システムによって実行することができる。
【０１３７】
上記の説明では、本発明をより理解しやすくするため、本発明の実現には必須とされるが、当該技術に精通した当業者には広く知られている技術の詳細を一部省略している。
【０１３８】
本発明の説明は例示と説明を目的として記載したものであり、すべての実施例を網羅することや、本発明を上記の形態に限定することを意図するものではない。多数の変更や改変が可能なことは、当該技術の通常の技量を有する当業者には明らかであろう。
【０１３９】
したがって、上記の実施例は、本発明の原理と実用用途とをより明快に説明すると共に、本発明の精神から逸脱することなくなされたすべての変更および改変は付記される請求項に定義される本発明の保護範囲に含まれることを、当該技術の通常の技量を有する当業者が理解する上での助けとすることを目的として、選択され説明されたものである。
【符号の説明】
【０１４０】
４１０：プロセス構築ユニット
４２０：エンジン履歴プロセスリポジトリ
４３０：エンジン記述リポジトリ
４４０：プロセス検証ユニット
４５０：プロセス決定ユニット
【図１】
2010250800.tif 000010
【図２】
2010250800.tif 000011
【図３】
2010250800.tif 000012
【図４】
2010250800.tif 000013
【外国語明細書】
2010250800000001.pdf