(57)【要約】      （修正有）【課題】タスクを超えた検索条件の再利用が行え、各種情報の更新に対しても変更を反映した最新の検索条件を関連文書検索時に利用する。【解決手段】処理の実行中にタスクの追加、編集および削除のうち少なくとも１つを行なうことが可能なコンストラクティブワークフローを管理するワークフロー管理システムであって、注目タスクについて、当該注目タスクおよび近隣タスクを考慮した検索条件の設定を入力し、入力した検索条件を前記注目タスクに関連付けてクエリデータベースに保存する保存手段と、所定のタスクについての文書検索要求時に、前記クエリデータベースから対応する検索条件を取得する取得手段と、取得した検索条件に基づき、当該検索条件に含まれる個々の検索条件と重みを考慮して所定形式の検索条件に再構成する再構成手段と、所定形式に再構成された検索条件に基づいて文書データベースを検索して文書一覧を得る検索手段とを備える。【選択図】図３
2010086521.tif 000002
【特許請求の範囲】
【請求項１】
処理の単位である複数のタスクを再帰的に分割することにより階層的に処理手順を表現したワークフローでありその実行中にタスクの追加、編集および削除のうち少なくとも１つを行なうことが可能なコンストラクティブワークフローを管理するワークフロー管理システムであって、
注目タスクについて、当該注目タスクおよび近隣タスクを考慮した検索条件の設定を入力し、入力した検索条件を前記注目タスクに関連付けてクエリデータベースに保存する保存手段と、
所定のタスクについての文書検索要求時に、前記クエリデータベースから対応する検索条件を取得する取得手段と、
取得した検索条件に基づき、当該検索条件に含まれる個々の検索条件と重みを考慮して所定形式の検索条件に再構成する再構成手段と、
所定形式に再構成された検索条件に基づいて文書データベースを検索して文書一覧を得る検索手段と
を備えたことを特徴とするワークフロー管理システム。
【請求項２】
請求項１に記載のワークフロー管理システムにおいて、
前記近隣タスクは、
前記注目タスクの属性値「親タスクＩＤ」で示される値をタスクＩＤとして持つ親タスクと、
属性値「親タスクＩＤ」が前記注目タスクのタスクＩＤである子タスクと、
前記注目タスクと共通の親タスクを持つ兄弟タスクと、
前記注目タスクから親タスクをたどっていき、ルートタスクに到達するまでの前記ルートタスクを含む祖先タスクと
を含むことを特徴とするワークフロー管理システム。
【請求項３】
請求項１または２のいずれか一項に記載のワークフロー管理システムにおいて、
前記クエリデータベースに保存される検索条件は、
前記注目タスクのタスク書誌情報からキーワード抽出を行うクエリ種別「タスク書誌情報」と、
前記注目タスクの添付文書からキーワード抽出を行うクエリ種別「添付文書類似」と、
前記注目タスクの親タスクの検索条件を使用するクエリ種別「親タスク」と、
前記注目タスクの兄弟タスクの検索条件を使用するクエリ種別「兄弟タスク」と、
ユーザ指定によるキーワードを使用するクエリ種別「キーワード」と、
ユーザ指定による文書からキーワード抽出を行うクエリ種別「類似文書」と
を含むことを特徴とするワークフロー管理システム。
【請求項４】
請求項３に記載のワークフロー管理システムにおいて、
クエリ種別に対応する各検索条件を選択させる手段と、
選択された検索条件に対して重み付け係数を入力させる手段と
を備えたことを特徴とするワークフロー管理システム。
【請求項５】
請求項３または４のいずれか一項に記載のワークフロー管理システムにおいて、
前記文書一覧から文書を指定してレレバンスフィードバックを指定させる手段
を備えたことを特徴とするワークフロー管理システム。
【請求項６】
請求項３乃至５のいずれか一項に記載のワークフロー管理システムにおいて、
前記再構成手段は、
クエリ種別「タスク書誌情報」についてはそのまま複製を行い、
クエリ種別「添付文書類似」については個々の添付文書を指定したクエリ種別「類似文書」に変換を行い、
クエリ種別「親タスク」については当該親タスクを中心とした再構成を再帰的に行い、
クエリ種別「兄弟タスク」については当該兄弟タスクを中心とした再構成を再帰的に行い、
クエリ種別「キーワード」についてはそのまま複製を行い、
クエリ種別「類似文書」についてはそのまま複製を行う
ことを特徴とするワークフロー管理システム。
【請求項７】
請求項１乃至６のいずれか一項に記載のワークフロー管理システムにおいて、
前記取得手段は、要求されたタスクに対応する検索条件が前記クエリデータベースに存在しない場合、もしくは、自動検索が指定されている場合、固定重み付け係数を付した検索条件を取得する
ことを特徴とするワークフロー管理システム。
【請求項８】
請求項１乃至７のいずれか一項に記載のワークフロー管理システムにおいて、
前記文書一覧から継承文書を削除する手段
を備えたことを特徴とするワークフロー管理システム。
【請求項９】
処理の単位である複数のタスクを再帰的に分割することにより階層的に処理手順を表現したワークフローでありその実行中にタスクの追加、編集および削除のうち少なくとも１つを行なうことが可能なコンストラクティブワークフローを管理するワークフロー管理システムの制御方法であって、
注目タスクについて、当該注目タスクおよび近隣タスクを考慮した検索条件の設定を入力し、入力した検索条件を前記注目タスクに関連付けてクエリデータベースに保存する保存工程と、
所定のタスクについての文書検索要求時に、前記クエリデータベースから対応する検索条件を取得する取得工程と、
取得した検索条件に基づき、当該検索条件に含まれる個々の検索条件と重みを考慮して所定形式の検索条件に再構成する再構成工程と、
所定形式に再構成された検索条件に基づいて文書データベースを検索して文書一覧を得る検索工程と
を備えたことを特徴とするワークフロー管理制御方法。
【請求項１０】
処理の単位である複数のタスクを再帰的に分割することにより階層的に処理手順を表現したワークフローでありその実行中にタスクの追加、編集および削除のうち少なくとも１つを行なうことが可能なコンストラクティブワークフローを管理するワークフロー管理システムの制御プログラムであって、
前記ワークフロー管理システムを構成するコンピュータを、
注目タスクについて、当該注目タスクおよび近隣タスクを考慮した検索条件の設定を入力し、入力した検索条件を前記注目タスクに関連付けてクエリデータベースに保存する保存手段、
所定のタスクについての文書検索要求時に、前記クエリデータベースから対応する検索条件を取得する取得手段、
取得した検索条件に基づき、当該検索条件に含まれる個々の検索条件と重みを考慮して所定形式の検索条件に再構成する再構成手段、
所定形式に再構成された検索条件に基づいて文書データベースを検索して文書一覧を得る検索手段
として機能させるワークフロー管理制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はワークフロー管理システムに関する。
【背景技術】
【０００２】
従来のワークフロー管理システム（タスク管理システム）は、ワークフロー実行前にワークフローモデルを決定する必要があった。すなわち、ワークフローを構成する個々のタスクの順序関係や個々のタスクの詳細を決定する必要があった。
【０００３】
しかし、研究開発や一部のサービスなど、事前情報の完全性の低い分野では、先行的なワークフローモデルの策定が難しい。すなわち、業務を進める過程で新たなタスクを追加しなければならなくなったり、タスクの実行順序を変更しなければならなくなったり、想定していたタスクが不要になったりということがしばしば起こり、事前に固定的なワークフローモデルを決めることが困難である。
【０００４】
そこで、コンストラクティブワークフローと呼ばれる、ワークフロー実行時に動的にワークフローモデルを構成できる、すなわち動的にタスク構成を変更可能な手法が開発されてきた。
【０００５】
さらに、コンストラクティブワークフローにおいて、タスク実行時の作業性を向上させることを目的に、ワークフロー実行の際に必要となる各種情報（関連情報）を、タスク実行中に適時に検索・提供できるワークフロー管理システムが提案されている（例えば、特許文献１〜４等を参照。）。
【０００６】
一方、文書検索技術では、検索結果リストにおいて、関連性の高い文書をリストの上位に置いて並べ変えるランキング検索技術が一般的に使われている（例えばＡｐａｃｈｅによるＬｕｃｅｎｅプロジェクト。http://lucene.apache.org/）。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述した従来のコンストラクティブワークフローでは、ワークフロー実行の際に必要となる各種情報を適時に検索・提供する機能は備えていたが、次のような問題点が指摘されていた。
（１）検索は主にタスクの書誌情報に含まれる文言を使用するものであるため、検索でヒットする文書の範囲は限られており、有効な情報が得られない場合がある。
（２）過去に行われた検索条件を再利用するということは考慮されておらず、その都度に検索条件を入力しなければならないため、操作が煩雑である。検索条件を保存しておくことは容易であるが、再利用できるのは同じタスクの場合に限られ、異なるタスクでの再利用は行えない。
（３）検索条件を保存しておいたとしても、書誌情報や添付文書が更新された場合には、保存しておいた検索条件は意味のないものとなってしまい、正しい検索結果を得ることができない。
【０００８】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、幅広い観点から関連する情報を検索・提示することができるとともに、タスクを超えた検索条件の再利用が行え、各種情報の更新に対しても変更を反映した最新の検索条件を関連文書検索時に利用することができるワークフロー管理システムを提供することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明にあっては、請求項１に記載されるように、処理の単位である複数のタスクを再帰的に分割することにより階層的に処理手順を表現したワークフローでありその実行中にタスクの追加、編集および削除のうち少なくとも１つを行なうことが可能なコンストラクティブワークフローを管理するワークフロー管理システムであって、注目タスクについて、当該注目タスクおよび近隣タスクを考慮した検索条件の設定を入力し、入力した検索条件を前記注目タスクに関連付けてクエリデータベースに保存する保存手段と、所定のタスクについての文書検索要求時に、前記クエリデータベースから対応する検索条件を取得する取得手段と、取得した検索条件に基づき、当該検索条件に含まれる個々の検索条件と重みを考慮して所定形式の検索条件に再構成する再構成手段と、所定形式に再構成された検索条件に基づいて文書データベースを検索して文書一覧を得る検索手段とを備えるワークフロー管理システムを要旨としている。
【００１０】
また、請求項２に記載されるように、請求項１に記載のワークフロー管理システムにおいて、前記近隣タスクは、前記注目タスクの属性値「親タスクＩＤ」で示される値をタスクＩＤとして持つ親タスクと、属性値「親タスクＩＤ」が前記注目タスクのタスクＩＤである子タスクと、前記注目タスクと共通の親タスクを持つ兄弟タスクと、前記注目タスクから親タスクをたどっていき、ルートタスクに到達するまでの前記ルートタスクを含む祖先タスクとを含むものとすることができる。
【００１１】
また、請求項３に記載されるように、請求項１または２のいずれか一項に記載のワークフロー管理システムにおいて、前記クエリデータベースに保存される検索条件は、前記注目タスクのタスク書誌情報からキーワード抽出を行うクエリ種別「タスク書誌情報」と、前記注目タスクの添付文書からキーワード抽出を行うクエリ種別「添付文書類似」と、前記注目タスクの親タスクの検索条件を使用するクエリ種別「親タスク」と、前記注目タスクの兄弟タスクの検索条件を使用するクエリ種別「兄弟タスク」と、ユーザ指定によるキーワードを使用するクエリ種別「キーワード」と、ユーザ指定による文書からキーワード抽出を行うクエリ種別「類似文書」とを含むものとすることができる。
【００１２】
また、請求項４に記載されるように、請求項３に記載のワークフロー管理システムにおいて、クエリ種別に対応する各検索条件を選択させる手段と、選択された検索条件に対して重み付け係数を入力させる手段とを備えるようにすることができる。
【００１３】
また、請求項５に記載されるように、請求項３または４のいずれか一項に記載のワークフロー管理システムにおいて、前記文書一覧から文書を指定してレレバンスフィードバックを指定させる手段を備えるようにすることができる。
【００１４】
また、請求項６に記載されるように、請求項３乃至５のいずれか一項に記載のワークフロー管理システムにおいて、前記再構成手段は、クエリ種別「タスク書誌情報」についてはそのまま複製を行い、クエリ種別「添付文書類似」については個々の添付文書を指定したクエリ種別「類似文書」に変換を行い、クエリ種別「親タスク」については当該親タスクを中心とした再構成を再帰的に行い、クエリ種別「兄弟タスク」については当該兄弟タスクを中心とした再構成を再帰的に行い、クエリ種別「キーワード」についてはそのまま複製を行い、クエリ種別「類似文書」についてはそのまま複製を行うようにすることができる。
【００１５】
また、請求項７に記載されるように、請求項１乃至６のいずれか一項に記載のワークフロー管理システムにおいて、前記取得手段は、要求されたタスクに対応する検索条件が前記クエリデータベースに存在しない場合、もしくは、自動検索が指定されている場合、固定重み付け係数を付した検索条件を取得するようにすることができる。
【００１６】
また、請求項８に記載されるように、請求項１乃至７のいずれか一項に記載のワークフロー管理システムにおいて、前記文書一覧から継承文書を削除する手段を備えるようにすることができる。
【００１７】
また、請求項９に記載されるように、処理の単位である複数のタスクを再帰的に分割することにより階層的に処理手順を表現したワークフローでありその実行中にタスクの追加、編集および削除のうち少なくとも１つを行なうことが可能なコンストラクティブワークフローを管理するワークフロー管理システムの制御方法であって、注目タスクについて、当該注目タスクおよび近隣タスクを考慮した検索条件の設定を入力し、入力した検索条件を前記注目タスクに関連付けてクエリデータベースに保存する保存工程と、所定のタスクについての文書検索要求時に、前記クエリデータベースから対応する検索条件を取得する取得工程と、取得した検索条件に基づき、当該検索条件に含まれる個々の検索条件と重みを考慮して所定形式の検索条件に再構成する再構成工程と、所定形式に再構成された検索条件に基づいて文書データベースを検索して文書一覧を得る検索工程とを備えるワークフロー管理制御方法として構成することができる。
【００１８】
また、請求項１０に記載されるように、処理の単位である複数のタスクを再帰的に分割することにより階層的に処理手順を表現したワークフローでありその実行中にタスクの追加、編集および削除のうち少なくとも１つを行なうことが可能なコンストラクティブワークフローを管理するワークフロー管理システムの制御プログラムであって、前記ワークフロー管理システムを構成するコンピュータを、注目タスクについて、当該注目タスクおよび近隣タスクを考慮した検索条件の設定を入力し、入力した検索条件を前記注目タスクに関連付けてクエリデータベースに保存する保存手段、所定のタスクについての文書検索要求時に、前記クエリデータベースから対応する検索条件を取得する取得手段、取得した検索条件に基づき、当該検索条件に含まれる個々の検索条件と重みを考慮して所定形式の検索条件に再構成する再構成手段、所定形式に再構成された検索条件に基づいて文書データベースを検索して文書一覧を得る検索手段として機能させるワークフロー管理制御プログラムとして構成することができる。
【発明の効果】
【００１９】
本発明のワークフロー管理システムにあっては、幅広い観点から関連する情報を検索・提示することができるとともに、タスクを超えた検索条件の再利用が行え、各種情報の更新に対しても変更を反映した最新の検索条件を関連文書検索時に利用することができる。
【図面の簡単な説明】
【００２０】
【図１】ワークフローとタスクの説明図である。
【図２】近隣タスクの説明図である。
【図３】本発明の一実施形態にかかるワークフロー管理システムの構成例を示す図である。
【図４】システム要素のハードウェア構成例を示す図である。
【図５】タスクインスタンスＤＢのデータ構造例を示す図である。
【図６】クエリＤＢのデータ構造例を示す図である。
【図７】タスク、検索条件および添付文書の関係の例を示す図である。
【図８】クエリＤＢの具体例を示す図である。
【図９】ユーザインタフェースにより表示される検索結果表示画面の例を示す図である。
【図１０】ユーザインタフェースにより表示される検索条件設定画面の例を示す図である。
【図１１】実施形態の処理例を示すシーケンス図（その１）である。
【図１２】実施形態の処理例を示すシーケンス図（その２）である。
【図１３】検索条件取得処理の例を示すフローチャートである。
【図１４】固定重み付け検索条件の例を示す図である。
【図１５】重み計算処理の例を示すフローチャートである。
【図１６】重み計算の具体例を示す図（その１）である。
【図１７】重み計算の具体例を示す図（その２）である。
【図１８】検索条件をキーワードに変換する処理の例を示すフローチャートである。
【図１９】検索条件をキーワードに変換する具体例を示す図である。
【発明を実施するための形態】
【００２１】
以下、本発明の好適な実施形態につき説明する。
【００２２】
＜定義＞
図１はワークフローとタスクの説明図である。
【００２３】
「ワークフロー」とは、一連の業務の処理手順を表現したものである。「タスク」とは、処理の単位であり、ワークフローを構成する要素（処理手順の１ステップ）である。タスクは名称、実行担当者、開始・終了日時、状態などを属性として持つ。図１において、タスクＴ１〜Ｔ９で構成される全体がワークフローＷである。
【００２４】
「コンストラクティブワークフロー」とは、タスクの再帰的分割により処理手順をツリー構造で表現したものである。コンストラクティブワークフローでは、ワークフローの実行中にもタスクの追加・編集・削除を行うことができる。
【００２５】
タスクの処理をより細かな処理に分割したものが「サブタスク」である。ワークフロー上では、分割元のタスクとこれが分割されたサブタスクとは階層が上下にある親子関係を有し、前者が上位の階層にある親タスクとなり、後者が下位の階層にある子タスクとなる。「サブタスク」と「子タスク」は同義である。サブタスクをすべて完了することにより、そのタスクは完了する。
【００２６】
タスクは高々１つの親タスクを持つ。親タスクを持たないタスクを「ルートタスク」と呼ぶ。ルートタスクはワークフロー全体を表わす。
【００２７】
階層的に分割されたタスクを実行していくことにより、ワークフローが実行される。タスクの実行順序は親子関係とは別に定義する。図１では、Ｔ２→Ｔ３→Ｔ６→Ｔ７→Ｔ４→Ｔ５→Ｔ８→Ｔ９の順にタスクの実行順序が定義されている。
【００２８】
図２は近隣タスクの説明図である。
【００２９】
「近隣タスク」とは、注目するタスク（以下、「注目タスク」）に対して親子関係（属性値「親タスクＩＤ」「子タスクＩＤ」で記録されるタスク間の関係）をたどって関連付けられているタスクであり、以下に説明する「親タスク」「子タスク」「兄弟タスク」「祖先タスク」を総称する上位概念である。
【００３０】
「親タスク」とは、注目タスクの属性値「親タスクＩＤ」で示される値をタスクＩＤとして持つタスクである。注目タスクと親子関係でつながっており、１段上位の階層にある。図２では、タスクＴ５を注目タスクとした場合、タスクＴ２が親タスクとなる。
【００３１】
「子タスク」とは、属性値「親タスクＩＤ」が注目タスクのタスクＩＤであるようなタスクである。注目タスクと親子関係でつながっており、１段下位階層にあるタスクである。図２では、タスクＴ５を注目タスクとした場合、タスクＴ８、Ｔ９が子タスクとなる。
【００３２】
「兄弟タスク」とは、注目タスクと共通の親タスクを持つタスクである。図２では、タスクＴ５を注目タスクとした場合、タスクＴ４、Ｔ６、Ｔ７が兄弟タスクとなる。
【００３３】
「祖先タスク」とは、注目タスクから親タスクをたどっていき、ルートタスクに到達するまでのタスク（ルートタスクを含む）である。親タスクも祖先タスクに含まれる。図２では、タスクＴ５を注目タスクとした場合、タスクＴ２、Ｔ１が祖先タスクとなる。
【００３４】
＜構成＞
図３は本発明の一実施形態にかかるワークフロー管理システムの構成例を示す図である。
【００３５】
図３において、ワークフロー管理システム１は、ユーザＵが操作するＰＣ（Personal Computer）等で動作するＷｅｂブラウザ等のユーザインタフェース２と、アプリケーションサーバ等で動作するワークフローエンジン３と、データベースサーバ等で動作するデータベース４とから構成される。
【００３６】
ユーザインタフェース２は、画面描画（レンダリング）を行うレンダリングエンジン２１と、ワークフローエンジン３に対する入出力を行う入出力制御部２２とを備えている。
【００３７】
また、ユーザインタフェース２は、ＧＵＩ（Graphical User Interface）を通して関連文書を表示する関連文書表示部２３を備えている。関連文書には、情報提供の対象となる注目タスクに直接に関連付けられている文書と、所定の検索条件によって検索された文書とを含む。
【００３８】
また、ユーザインタフェース２は、ＧＵＩを通して継承文書を表示する継承文書表示部２４を備えている。継承文書とは、注目タスクの祖先タスクの関連文書であって注目タスクに継承された文書をいう。
【００３９】
また、ユーザインタフェース２は、ＧＵＩを通してユーザＵから検索条件を入力させる文書検索条件入力部２５と、ＧＵＩを通してユーザＵにより検索条件を選択させる文書検索条件選択部２６と、ＧＵＩを通してユーザＵにより重み係数を指定させる重み係数指定部２７と、ＧＵＩを通してユーザＵによりレレバンス条件を入力させるレレバンス条件入力部２８とを備えている。重み係数とは、各検索条件を考慮する重みを指定するものである。レレバンス条件とは、検索結果一覧の中から指定した文書に類似する他の文書を更に検索（レレバンスフィードバック）することを指定する条件である。検索条件の入力・選択等を行う画面例については後述する。
【００４０】
データベース４には、具体的なタスクのインスタンスを格納するタスクインスタンスＤＢ４１と、タスクインスタンスＤＢ４１の各タスクに対応付けて検索条件を保持するクエリＤＢ４２と、ワークフローの実行に際して参考にされる関連情報を格納する関連情報ＤＢ４３と、関連情報の文書本体を保持する文書ＤＢ４４とを備えている。
【００４１】
ワークフローエンジン３は、ワークフローを構成するタスクの制御（作成、実行等）を行うタスク制御部３１と、データベース４に対して各種の検索を実行する文書検索部（検索エンジン）３２と、システム側で自動的に検索条件を作成する検索条件作成部３３とを備えている。
【００４２】
図４はシステム要素のハードウェア構成例を示す図であり、ユーザインタフェース２が動作するＰＣ、ワークフローエンジン３が実行するアプリケーションサーバ、データベース４が動作するデータベースサーバ等のコンピュータ装置１０のハードウェア構成例を示している。すなわち、システムバス１１に接続されたＣＰＵ（Central Processing Unit）１２、ＲＯＭ（Read Only Memory）１３、ＲＡＭ（Random Access Memory）１４、ＮＶＲＡＭ（Non-Volatile Random Access Memory）１５、Ｉ／Ｆ（Interface）１６と、Ｉ／Ｆ１６に接続された、キーボード、マウス、モニタ等のＩ／Ｏ（Input/Output Device）１７、ＨＤＤ（Hard Disk Drive）１８、ＮＩＣ（Network Interface Card）１９を備えている。
【００４３】
図５はタスクインスタンスＤＢ４１のデータ構造例を示す図である。タスクインスタンスＤＢ４１は、タスクを識別する「タスクＩＤ」、当該タスクの名称を示す「タスク名」、当該タスクの概要を示す「タスク説明」、当該タスクの親タスクのタスクＩＤを示す「親タスクＩＤ」、当該タスクの子タスクのタスクＩＤを示す「子タスクＩＤ」、固定重み係数により自動的に検索が行われるか、クエリＤＢ４２に保存されている検索条件により検索が行われるかを示す「検索条件」等の項目を含んでいる。
【００４４】
図６はクエリＤＢ４２のデータ構造例を示す図である。（ａ）に示すように、クエリＤＢ４２は、検索条件（検索条件オブジェクト）を識別する「クエリＩＤ」、対応するタスクＩＤを示す「タスクＩＤ」、当該検索条件の重みを示す「重み」、検索条件の種別を示す「クエリ種別」、検索条件に付加されるパラメータを示す「クエリパラメータ」等の項目を含んでいる。
【００４５】
（ｂ）はクエリ種別とクエリパラメータおよび検索条件／キーワード抽出条件の対応関係の例を示している。クエリ種別「タスク書誌情報」については、クエリパラメータは未使用であり、タスク書誌情報からキーワード抽出を行う。クエリ種別「添付文書類似」については、クエリパラメータは未使用であり、添付文書からキーワード抽出を行う。クエリ種別「親タスク」については、クエリパラメータは未使用であり、親タスクの検索条件を使用する。クエリ種別「兄弟タスク」については、クエリパラメータは未使用であり、兄弟タスクの検索条件を使用する。クエリ種別「キーワード」については、キーワードリスト（キーワード群）がクエリパラメータとなり、ユーザ指定によるキーワードが検索に用いられる。クエリ種別「類似文書」については、クエリパラメータは未使用であり、ユーザ指定による文書からキーワード抽出が行われる。レレバンス条件によるレレバンスフィードバックはクエリ種別「類似文書」の一種として扱われる。
【００４６】
キーワードおよび類似文書による検索条件は、ユーザが入力した情報が固定の検索条件として保存される。その他の検索条件はタスクの書誌情報更新、添付文書の追加等により検索時に使用される条件が計算される。これにより、タスクの進行にともなう情報更新が、即時に自動的に文書検索結果に反映される。
【００４７】
図７はタスク、検索条件および添付文書の関係の例を示す図であり、タスクＴ１の下位にタスクＴ２、Ｔ３、Ｔ４があり、タスクＴ３の下位にタスクＴ５、Ｔ６があるものとし、タスクＴ５に注目するものとする。ここで、図６（ｂ）で説明したクエリ種別「タスク書誌情報」は、注目するタスクＴ５のタスク情報に含まれるタスク書誌情報から抽出されたキーワードが検索に用いられる。クエリ種別「添付文書類似」は、タスクＴ５に対応付けられた添付文書Ｄ５１、Ｄ５２から抽出されたキーワードが検索に用いられる。クエリ種別「親タスク」は、親のタスクＴ３に対応付けられた検索条件Ｑ３が検索に用いられる。クエリ種別「兄弟タスク」は、兄弟のタスクＴ６に対応付けられた検索条件Ｑ６が検索に用いられる。その他に、クエリ種別「キーワード」はユーザにより指定されたキーワードが検索に用いられ、クエリ種別「類似文書」はユーザにより指定された文書から抽出されたキーワードが検索に用いられる。
【００４８】
図８はクエリＤＢ４２の具体例を示す図である。第１行目の検索条件は、クエリＩＤ「１」、タスクＩＤ「３」、重み「１．０」、クエリ種別「キーワード」、クエリパラメータ「ｊａｖａ  ｌｏｇｇｉｎｇ」であり、クエリパラメータのキーワード「ｊａｖａ」「ｌｏｇｇｉｎｇ」を重み「１．０」で検索条件とすることを示している。第２行目の検索条件は、クエリＩＤ「２」、タスクＩＤ「５」、重み「０．４」、クエリ種別「類似文書」、クエリパラメータ「２６９５」であり、クエリパラメータの文書ＩＤ：２６９５で示される文書からキーワードを抽出し得られたキーワードをそれぞれ重み「０．４」で検索条件とすることを示している。第３行目の検索条件は、クエリＩＤ「３」、タスクＩＤ「５」、重み「１．０」、クエリ種別「添付文書類似」であり、タスクＩＤ「５」のタスクに検索時点で添付されている各文書からキーワードを抽出し、得られたキーワードをそれぞれ重み「１．０／添付文書数」で検索条件とすることを示している。
【００４９】
図９はユーザインタフェース２により表示される検索結果表示画面の例を示す図である。図９において、検索結果表示欄２０４には、注目しているタスクに関連する文書情報の検索結果のタイトル（Title）およびランク（Rank）が表示される。「Query Info」ボタン２０１の押下により検索条件設定画面（図１０）を表示し、ユーザは検索条件の追加・削除、重みの変更を行うことができる。「automatic」ボタン２０２は固定重み付け検索条件の適用の指定を行うためのものであり、「user defined」ボタン２０３はタスクに関連付けて保存されている検索条件による検索を指定するためのものである。検索結果の文書情報毎に設けられた「＋」ボタン２０５および「−」ボタン２０６はレレバンス条件を指定するためのものであり、「＋」ボタン２０５が押下された文書はクエリ種別「類似文書」として指定されたものとなる。これにより、後述の検索条件取得処理において、指定された文書から抽出したキーワードが検索条件に追加され、結果としてレレバンスフィードバックによる再検索が可能となる。また、「−」ボタン２０６が押下された文書は検索結果から除外（指定された文書ＩＤを保持しておき、検索結果から除外する等）される。
【００５０】
図１０はユーザインタフェース２により表示される検索条件設定画面の例を示す図である。図１０において、検索条件選択チェックボックス２１１にチェックされた検索条件が有効となり、重み係数指定スライダ２１２により重み係数の指定が可能となる。検索条件選択チェックボックス２１１のチェックがない検索条件についての重み係数指定スライダ２１２の値は「０」となる。なお、重み係数指定スライダ２１２に代えて数値を直接入力するものでもかまわない。クエリ種別表示欄２１３にはデフォルトの値が表示されるが、プルダウンメニューにより他のクエリ種別を選択することもできる。クエリ種別表示欄２１３における「タスクタイトル・説明」は図６（ｂ）のクエリ種別「タスク書誌情報」に相当し、「添付文書に類似」はクエリ種別「添付文書類似」に相当し、「親タスクの条件を使用」はクエリ種別「親タスク」に相当し、「兄弟タスクの条件を使用」はクエリ種別「兄弟タスク」に相当し、「キーワード」はクエリ種別「キーワード」に相当し、「指定文書に類似」はクエリ種別「類似文書」に相当する。
【００５１】
検索条件のうちクエリパラメータが必要となるものには、クエリパラメータ入力欄２１４が表示され、任意の内容を入力することができる。検索条件毎に設けられた「−」ボタン２１５を押下することで検索条件の削除が行われ、「＋」ボタン２１６を押下することで検索条件の追加が行われる。「適用」ボタン２１７を押下することで検索条件が適用され、「保存」ボタン２１８を押下することで検索条件がクエリＤＢ４２に保存され、「取消」ボタン２１９を押下することで検索条件設定画面による設定が取り消される。
【００５２】
＜動作＞
図１１は実施形態の処理例を示すシーケンス図であり、ユーザＵからのタスク関連情報の要求に対して検索を行う場合の処理である。
【００５３】
図１１において、クライアント側のユーザインタフェース２からサーバ側のワークフローエンジン３にタスク関連情報の要求が行われると（ステップＳ１０１）、ワークフローエンジン３は現在の注目タスクについての検索条件取得処理を行う（ステップＳ１０２）。この検索条件取得処理において、ワークフローエンジン３はクエリＤＢ４２から該当するタスクに対応付けられて保存された検索条件を取得する（ステップＳ１０３、Ｓ１０４）。検索条件取得処理の詳細については後述する。
【００５４】
次いで、ワークフローエンジン３は検索条件の重み計算処理を行う（ステップＳ１０５）。すなわち、取得した検索条件に含まれる個々の検索条件と重みを考慮して所定形式の検索条件に再構成する。この重み計算処理において、ワークフローエンジン３はタスクインスタンスＤＢ４１からタスク書誌情報の取得を行い（ステップＳ１０６、Ｓ１０７）、関連情報ＤＢ４３から添付文書の取得を行い（ステップＳ１０８、Ｓ１０９）、タスクインスタンスＤＢ４１から関連タスク（親タスク、兄弟タスク）の取得を行い（ステップＳ１１０、Ｓ１１１）、クエリＤＢ４２から関連タスクの検索条件の取得を行う（ステップＳ１１２、Ｓ１１３）。重み計算処理の詳細については後述する。
【００５５】
次いで、ワークフローエンジン３は上述した処理により取得した検索条件に基づいて文書検索処理を行う（ステップＳ１１４）。この文書検索処理において、ワークフローエンジン３は文書ＤＢ４４に対して文書検索を行い（ステップＳ１１５）、結果一覧を得る（ステップＳ１１６）。更に、ワークフローエンジン３は継承文書を結果一覧から削除する（ステップＳ１１７）。継承文書はタスクインスタンスＤＢ４１におけるタスクの親子関係と関連情報ＤＢ４３の保持情報から判断され、タスク管理画面（図示せず）の所定部分に祖先タスクの関連文書として表示される。これにより、継承文書が重複して関連文書一覧に表示されることがなく、明示的に添付されていない文書をより多く表示することができる。
【００５６】
次いで、ワークフローエンジン３は結果一覧を関連文書リストとしてユーザインタフェース２に送信し（ステップＳ１１８）、ユーザインタフェース２は図９に示したような検索結果表示画面として表示する。
【００５７】
図１２は実施形態の他の処理例を示すシーケンス図であり、ユーザＵにより検索条件（重み係数の指定を含む）の変更が行われた後にタスク関連情報の再検索を行う場合の処理である。
【００５８】
図１２において、クライアント側のユーザインタフェース２からサーバ側のワークフローエンジン３に図１０に示したような検索条件設定画面により検索条件の変更が行われると（ステップＳ１２１）、ワークフローエンジン３はクエリＤＢ４２に検索条件を保存する（ステップＳ１２２）。
【００５９】
次いで、ワークフローエンジン３は検索条件の重み計算処理を行う（ステップＳ１２３）。この重み計算処理において、ワークフローエンジン３はタスクインスタンスＤＢ４１、クエリＤＢ４２、関連情報ＤＢ４３へのアクセスを行う。重み計算処理の詳細については後述する。
【００６０】
次いで、ワークフローエンジン３は上述した処理により確定した検索条件に基づいて文書検索処理を行う（ステップＳ１２４）。この文書検索処理において、ワークフローエンジン３は文書ＤＢ４４に対して文書検索を行い（ステップＳ１２５）、結果一覧を得る（ステップＳ１２６）。更に、ワークフローエンジン３は継承文書を結果一覧から削除する（ステップＳ１２７）。
【００６１】
次いで、ワークフローエンジン３は結果一覧を関連文書リストとしてユーザインタフェース２に送信し（ステップＳ１２８）、ユーザインタフェース２は図９に示したような検索結果表示画面として表示する。
【００６２】
図１３は検索条件取得処理（図１１のステップＳ１０２）の例を示すフローチャートである。
【００６３】
図１３において、検索条件取得処理は引数として対象タスクtaskを渡されて処理を開始する（ステップＳ２０１）。
【００６４】
先ず、クエリＤＢ４２から対象タスクtaskに関連づけて記録された検索条件を取得し、検索条件群condsに設定する（ステップＳ２０２）。
【００６５】
次いで、検索条件群condsが空であるか、またはtask.検索条件（オブジェクト「task」のプロパティ「検索条件」）が「自動」か否か判断し（ステップＳ２０３）、検索条件群condsが空でなく、task.検索条件が「自動」でない場合（ステップＳ２０３のＮ）は処理を終了する（ステップＳ２０５）。
【００６６】
検索条件群condsが空であるか、またはtask.検索条件が「自動」である場合（ステップＳ２０３のＹ）、固定重みづけ検索条件を検索条件群condsに設定し（ステップＳ２０４）、処理を終了する（ステップＳ２０５）。図１４は固定重み付け検索条件の例を示す図であり、「重み」と「クエリ種別」と「パラメータ」とを予め対応付けて保持している。ここでは、クエリ種別「タスク書誌情報」については重み「１．０」とし、クエリ種別「添付文書類似」については重み「１．０」とし、クエリ種別「親タスク」については重み「０．３」とし、クエリ種別「兄弟タスク」については重み「０．１」としている。なお、クエリ種別毎の重みを変更することによって、ユーザが明示的に条件指定しない場合の検索条件を調整することができる。例えば、兄弟タスクの重みに負の値を設定することにより、検索結果において兄弟タスクとの違いを強調するように設定することができる。
【００６７】
図１５は重み計算処理（図１１のステップＳ１０５、図１２のステップＳ１２３）の例を示すフローチャートである。ここでは、関連タスクの情報を用いた検索条件を、実際に関連タスクに保存されている条件に変換する。例えば、クエリ種別「親タスク」の条件は親タスクに関連付けられて保存されている複数の検索条件で置きかえる。現タスクの条件に指定された重みと親タスクに保存されている重み係数の積を重みとする。兄弟タスク、添付文書による条件では、兄弟タスク数、添付文書数による違いが問題とならないよう、全体で指定された重み係数となるように正規化する。親タスク、兄弟タスクの重みは、再帰的に本処理を呼び出して実施する。親タスクの条件として「親タスク」が保存されていたり、兄弟タスクの条件として「親タスク」や「兄弟タスク」が指定されていたりすることもあるため、再帰呼び出しにおいて同一のタスクを複数回処理する可能性がある。
【００６８】
図１５において、重み計算処理は引数として結果保持配列res、対象タスクtask、検索条件群conds、重みweight、再帰可否recurseを渡されて処理を開始する（ステップＳ２１１）。重み計算処理が通常に呼び出される場合（再帰呼び出しでない場合）、結果保持配列resは空、対象タスクtaskは情報提供の対象となるタスクのタスクＩＤ、検索条件群condsはクエリＤＢから取得された検索条件、重みweightは初期値「１．０」、再帰可否recurseは「true」である。
【００６９】
先ず、対象タスクtaskの親タスクを取得して親タスクptaskに設定し、親タスクptaskの子タスクを取得して兄弟タスク群siblingsに設定し、兄弟タスク群siblingsから対象タスクtaskを削除する（ステップＳ２１２）。
【００７０】
次いで、対象タスクtaskの添付文書を取得して添付文書群attachmentsに設定する（ステップＳ２１３）。
【００７１】
次いで、検索条件群condsが空か否か判断し（ステップＳ２１４）、空である場合（ステップＳ２１４のＹ）は処理を終了する（ステップＳ２３８）。
【００７２】
検索条件群condsが空でない場合（ステップＳ２１４のＮ）、検索条件群condsから条件を一つ取り出して検索条件condに設定する（ステップＳ２１５）。
【００７３】
次いで、検索条件condの属性cond.重みが「０」であるか否か判断し（ステップＳ２１６）、「０」である場合（ステップＳ２１６のＹ）は検索条件群condsが空か否かの判断（ステップＳ２１４）に戻る。
【００７４】
検索条件condの重み属性cond.重みが「０」でない場合（ステップＳ２１６のＮ）、検索条件condの属性cond.クエリ種別を取得して種別typeに設定する（ステップＳ２１７）。
【００７５】
次いで、種別typeが「親タスク」であるか否か判断し（ステップＳ２１８）、「親タスク」でない場合（ステップＳ２１８のＮ）は種別typeが「兄弟タスク」であるか否か判断し（ステップＳ２２２）、「兄弟タスク」でない場合（ステップＳ２２２のＮ）は種別typeが「添付文書類似」であるか否か判断する（ステップＳ２２９）。
【００７６】
種別typeが「親タスク」である場合（ステップＳ２１８のＹ）、再帰可否recurseが「true」であるか否か判断する（ステップＳ２１９）。
【００７７】
通常の呼び出しの場合、再帰可否recurseは「true」であるため（ステップＳ２１９のＹ）、親タスクptaskを引数として検索条件取得処理（図１３）を呼び出し、結果を親タスク検索条件群pcondsに設定する（ステップＳ２２０）。
【００７８】
次いで、結果保持配列res、親タスクptask、親タスク検索条件群pconds、重みweight＊cond.重み、falseを引数として図１５の重み計算処理（ステップＳ２１１〜）を再帰的に呼び出し（ステップＳ２２１）、検索条件群condsが空か否かの判断（ステップＳ２１４）に戻る。再帰可否recurseをfalseとするのは、再帰呼び出しの深さを１に制限するためである。なお、再帰可否recurseを用いずに、処理済のタスクと重みの積算値を用いて、再帰呼び出しの深さを制御してもよい。
【００７９】
再帰可否recurseが「true」でない場合（ステップＳ２１９のＮ）、検索条件取得処理（ステップＳ２２０）と重み計算処理（ステップＳ２２１）は行わない。
【００８０】
一方、種別typeが「兄弟タスク」である場合（ステップＳ２２２のＹ）、再帰可否recurseが「true」で、かつ兄弟タスク群siblingsの要素数が「０」より大きいか否か判断し（ステップＳ２２３）、該当しない場合（ステップＳ２２３のＮ）は検索条件群condsが空か否かの判断（ステップＳ２１４）に戻る。
【００８１】
再帰可否recurseが「true」で、かつ兄弟タスク群siblingsの要素数が「０」より大きい場合（ステップＳ２２３のＹ）、重みweightにcond.重みを掛けたものを兄弟タスク群siblingsの要素数で割り、兄弟タスク重みswに設定する（ステップＳ２２４）。
【００８２】
次いで、兄弟タスク群siblingsが空か否か判断し（ステップＳ２２５）、空である場合（ステップＳ２２５のＹ）は検索条件群condsが空か否かの判断（ステップＳ２１４）に戻る。
【００８３】
兄弟タスク群siblingsが空でない場合（ステップＳ２２５のＮ）、兄弟タスク群siblingsから兄弟タスクを一つ取り出し、兄弟タスクstaskに設定する（ステップＳ２２６）。
【００８４】
次いで、兄弟タスクstaskを引数として検索条件取得処理（図１３）を呼び出し、結果を兄弟タスク検索条件群scondsに設定する（ステップＳ２２７）。
【００８５】
次いで、結果保持配列res、兄弟タスクstask、兄弟タスク検索条件群sconds、兄弟タスク重みsw、falseを引数として図１５の重み計算処理（ステップＳ２１１〜）を再帰的に呼び出し（ステップＳ２２８）、兄弟タスク群siblingsが空か否かの判断（ステップＳ２２５）に戻る。
【００８６】
一方、種別typeが「添付文書類似」である場合（ステップＳ２２９のＹ）、添付文書群attachmentsが空か否か判断し（ステップＳ２３０）、空である場合（ステップＳ２２３のＹ）は検索条件群condsが空か否かの判断（ステップＳ２１４）に戻る。
【００８７】
添付文書群attachmentsが空でない場合（ステップＳ２３０のＮ）、重みweightにcond.重みを掛けたものを添付文書群attachmentsの要素数で割り、添付文書重みawに設定する（ステップＳ２３１）。
【００８８】
次いで、添付文書群attachmentsが空か否か判断し（ステップＳ２３２）、空である場合（ステップＳ２３２のＹ）は検索条件群condsが空か否かの判断（ステップＳ２１４）に戻る。
【００８９】
添付文書群attachmentsが空でない場合（ステップＳ２３２のＮ）、添付文書群attachmentsから文書を一つ取り出し、文書docに設定する（ステップＳ２３３）。
【００９０】
次いで、検索条件を作成して添付文書検索条件dcondに設定し、dcond.重みに添付文書重みawを設定し、dcond.クエリ種別に「類似文書」を設定し、dcond.パラメータにdoc.文書IDを設定する（ステップＳ２３４）。
【００９１】
次いで、結果保持配列resに添付文書検索条件dcondを追加し（ステップＳ２３５）、添付文書群attachmentsが空か否かの判断（ステップＳ２３２）に戻る。
【００９２】
一方、種別typeが「添付文書類似」でない場合（ステップＳ２２９のＮ）、検索条件condを複製することで検索条件を作成して次回検索条件ncondに設定し、ncond.重みにncond.重み * weightを設定する（ステップＳ２３６）。
【００９３】
次いで、結果保持配列resに次回検索条件ncondを追加し（ステップＳ２３７）、検索条件群condsが空か否かの判断（ステップＳ２１４）に戻る。
【００９４】
図１６および図１７は重み計算の具体例を示す図である。
【００９５】
図１６に示すように、タスクＴ１の下位にタスクＴ２、Ｔ３、Ｔ４があり、タスクＴ３の下位にタスクＴ５、Ｔ６、Ｔ７があるものとし、タスクＴ６が情報提供の対象となる注目タスクであるとする。また、タスクＴ５には添付文書Ｄ５が関連付けられ、タスクＴ６には添付文書Ｄ６、Ｄ７が関連付けられているものとする。なお、文書Ｄ８はこれらのタスクに関連付けられていない文書である。
【００９６】
図１６のタスク構造の場合、図１５の重み計算処理においては、兄弟タスク群siblingsに、注目タスクであるタスクＴ６の兄弟タスクであるタスクＴ５、Ｔ７のリストが入る。すなわち、親タスク（ｉｄ＝３）であるタスクＴ３の子タスクタスクＴ５、Ｔ６、Ｔ７（ｉｄ＝５，６，７）の全部が入り、次いで兄弟タスク群siblingsからタスクＴ６（ｉｄ＝６）を削除することで、結果としてｉｄ＝５，７に対応するタスクＴ５、Ｔ７が残る。
【００９７】
図１７（ａ）は検索条件群condsの例であり、情報提供の対象となるタスクＴ６に対して固定重み付け検索条件（図１４）が割り当てられた例である。検索条件群condsは検索条件オブジェクト（各行）をリストとして保持するものであり、検索条件群condsから検索条件オブジェクトが一つずつ取り出されて処理される。
【００９８】
図１７（ｂ）はクエリＤＢ４２の例を示しており、第１行目の検索条件は、クエリＩＤ「１」、タスクＩＤ「３」、重み「１．０」、クエリ種別「キーワード」、クエリパラメータ「ｊａｖａ  ｌｏｇｇｉｎｇ」であり、クエリパラメータのキーワード「ｊａｖａ」「ｌｏｇｇｉｎｇ」を重み「１．０」で検索条件とすることを示している。第２行目の検索条件は、クエリＩＤ「２」、タスクＩＤ「５」、重み「０．４」、クエリ種別「類似文書」、クエリパラメータ「２６９５」であり、クエリパラメータの文書ＩＤ：２６９５で示される文書からキーワードを抽出し得られたキーワードをそれぞれ重み「０．４」で検索条件とすることを示している。第３行目の検索条件は、クエリＩＤ「３」、タスクＩＤ「５」、重み「１．０」、クエリ種別「添付文書類似」であり、タスクＩＤ「５」のタスクに、検索時点で添付されている各文書からキーワードを抽出し、得られたキーワードをそれぞれ重み「１．０／添付文書数」で検索条件とすることを示している。
【００９９】
この状態で図１５に示した重み計算処理を行った結果である結果保持配列resを図１７（ｃ）に示している。すなわち、クエリＩＤ「２０００１」は（ａ）のクエリＩＤ「１０００１」の検索条件がコピーされたものである。クエリＩＤ「２０００２」「２０００３」は（ａ）のクエリＩＤ「１０００２」に対応し、タスクＴ６の添付文書が２つであるために重みはそれぞれ「０．５」となり、文書ＩＤ「２２３４」「２２３５」についての「類似文書」にクエリ種別が変換されたものである。クエリＩＤ「２０００４」は（ａ）のクエリＩＤ「１０００３」に対応し、親タスク（ｉｄ＝３）の検索条件である（ｂ）のクエリＩＤ「１」の検索条件をコピーし、重み「０．３」が掛けられたものである。クエリＩＤ「２０００５」「２０００６」は（ａ）のクエリＩＤ「１０００４」に対応し、兄弟タスク（ｉｄ＝５）の検索条件である（ｂ）のクエリＩＤ「２」「３」の検索条件に重み「０．１」が掛けられたものである。なお、「添付文書類似」は文書ＩＤ「２２３３」についての「類似文書」にクエリ種別が変換されている。クエリＩＤ「２０００７」は（ａ）のクエリＩＤ「１０００４」に対応し、兄弟タスク（ｉｄ＝７）の検索条件（タスクＴ７に関する固定重みづけ条件）に重み「０．１」が掛けられたものである。
【０１００】
図１８は検索条件をキーワードに変換する処理の例を示すフローチャートである。この処理は図１１および図１２の文書検索処理（ステップＳ１１４、Ｓ１２４）の初期もしくは直前に行われる。すなわち、ここまでの指定により、重みを含む検索条件のリストが得られる。これを検索エンジンで処理できる形に変換するのが検索条件をキーワードに変換する処理である。従来より知られているベクターモデル検索エンジンでは、キーワードと重みのペアによる検索が提供される。検索エンジンによってはこれらに加えて文書ＩＤと重みを指定して類似文書検索が行える場合がある。以下ではキーワードと重みを検索エンジンに与えるという前提で説明する。類似文書検索の機能を使う場合には、文書からのキーワード抽出を行うのではなく、文書ＩＤに対応する重みを積算することで実現することができる。
【０１０１】
図１８において、検索条件をキーワードに変換の処理は引数として検索条件群condsを渡されて処理を開始する（ステップＳ２４１）。
【０１０２】
先ず、結果保持配列resに空リストを設定する（ステップＳ２４２）。
【０１０３】
次いで、検索条件群condsが空か否か判断し（ステップＳ２４３）、空である場合（ステップＳ２４３のＹ）は処理を終了する（ステップＳ２５６）。
【０１０４】
検索条件群condsが空でない場合（ステップＳ２４３のＮ）、検索条件群condsから条件を一つ取り出して検索条件condに設定する（ステップＳ２４４）。
【０１０５】
次いで、種別typeにcond.クエリ種別を設定する（ステップＳ２４５）。
【０１０６】
次いで、種別typeが「タスク書誌情報」であるか否か判断し（ステップＳ２４６）、「タスク書誌情報」でない場合（ステップＳ２４６のＮ）は種別typeが「類似文書」であるか否か判断する（ステップＳ２４９）。
【０１０７】
種別typeが「タスク書誌情報」である場合（ステップＳ２４６のＹ）、cond.タスクＩＤをタスクＩＤに持つタスクを取得し、対象タスクtaskに設定する（ステップＳ２４７）。
【０１０８】
次いで、task.タスク名およびtask.タスク説明からキーワードを抽出し、キーワード群keywordsに設定する（ステップＳ２４８）。
【０１０９】
一方、種別typeが「類似文書」である場合（ステップＳ２４９のＹ）、cond.パラメータを文書ＩＤに持つ文書を取得し、文書docに設定する（ステップＳ２５０）。
【０１１０】
次いで、文書docの本文からキーワードを抽出し、キーワード群keywordsに設定する（ステップＳ２５１）。
【０１１１】
一方、種別typeが「類似文書」でない場合（ステップＳ２４９のＮ）、キーワード群keywordsにcond.パラメータを設定する（ステップＳ２５２）。
【０１１２】
キーワード群keywordsへの設定（ステップＳ２４８、Ｓ２５１、Ｓ２５２）の後、キーワード群keywordsが空か否か判断し（ステップＳ２５３）、空である場合（ステップＳ２５３のＹ）は検索条件群condsが空か否かの判断（ステップＳ２４３）に戻る。
【０１１３】
キーワード群keywordsが空でない場合（ステップＳ２５３のＮ）、キーワード群keywordsから条件を一つ取り出してキーワードkwに設定する（ステップＳ２５４）。
【０１１４】
次いで、キーワードkwにcond.weightを重みとして結果保持配列resに追加し（ステップＳ２５５）、キーワード群keywordsが空か否かの判断（ステップＳ２５３）に戻る。
【０１１５】
以上の処理によって、タスクの書誌情報、添付文書情報、階層構造の情報がキーワードと対応した重みのリストとして内部表現される。このリストに基づき検索エンジンによって文書検索することにより、これらの情報を反映した検索結果を得ることができる。ユーザは条件の追加・削除によって検索される文書を制御し、重み付け係数を変更することによって検索結果の表示順序（ランキング）を制御することができる。また、これらの条件と重みを保存しておくことにより、次回以降の参照では指定を省略して、更新された情報に基づく検索を行うことができる。
【０１１６】
図１９は検索条件をキーワードに変換する具体例を示す図である。（ａ）は実行開始時の引数である検索条件群condsの例、（ｂ）は実行途中で抽出されるキーワード例、（ｃ）は結果保持配列resに格納される実行結果である。
【０１１７】
（ｃ）において、タスクＴ６の書誌情報から抽出されたキーワード「ログ」、「ライブラリ」に加え、タスクＴ６の添付文書から得たキーワードと、タスクツリー上で近隣にあるタスクＴ３、Ｔ５、Ｔ７から得たキーワードが検索に使われる。重みはキーワードごとに加算される。なお、（ｃ）では重みでソートされているが、例示のためであり、処理上は順不同でかまわない。
【０１１８】
＜総括＞
以上説明した実施形態によれば、次のような利点がある。
（１）与えられたタスクに関連付けられた文書検索条件を用いて文書を検索して一覧表示することで、文書検索条件をタスクに関連付けて保存しておき、後に同一タスクの関連文書を検索するときに、保存しておいた検索条件を再利用することができる。
（２）タスクの書誌情報から文書検索条件を自動的に作成することで、検索条件を明示的に指定せずとも関連文書を検索することができる。また、タスクの書誌情報が更新されたとき、自動的に関連文書検索結果に反映させられる。
（３）タスクの添付文書から文書検索条件を自動的に作成することで、関連文書を検索することができる。
（４）ユーザが入力した検索条件をタスクに関連付けて保存しておくことで、後に同一タスクの関連文書を検索するときに、保存しておいた検索条件を再利用することができる。
（５）自動生成または保存しておいた検索条件のうちの一をユーザが選択して検索条件として関連文書を検索することができる。
（６）自動生成または保存しておいた検索条件に対してユーザが重みを与え、複合的な条件でランキングされた関連文書検索結果を得ることができる。
（７）タスクの階層構造上、近隣にあるタスクに関連付けて保存されている検索条件を再利用することができる。
（８）指定した検索条件の重み付けを保存しておき、後に再利用することができる。
（９）ユーザが明示的に条件を指定することなく、固定の重み付けによって階層構造上近隣にあたるタスクの書誌情報・検索条件を活用して関連文書の検索ができる。
（１０）保存された重み係数と文書検索条件を用いて次回の検索を行うことで、ＴＦ−ＩＤＦ技術などによるキーワード抽出の結果をもって、上述の利点を得ることができる。
（１１）表示された関連文書の一覧から、関連の強い／弱い文書を選択して再検索を行うことで、レレバンスフィードバックによって結果一覧を修正することができ、またその選択結果を保存・再利用することができる。また、このレレバンスフィードバックは、指定されたタスクの近隣タスクに対する検索時にも検索条件に反映することができる。
（１２）祖先タスクの関連文書として同一画面の別の部分に継承文書として表示されているものが、重複して関連文書一覧に表示されることがなく、明示的に添付されていない文書をより多く表示することができる。
【０１１９】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【符号の説明】
【０１２０】
１        ワークフロー管理システム
２        ユーザインタフェース
２１      レンダリングエンジン
２２      入出力制御部
２３      関連文書表示部
２４      継承文書表示部
２５      文書検索条件入力部
２６      文書検索条件選択部
２７      重み係数指定部
２８      レレバンス条件入力部
３        ワークフローエンジン
３１      タスク制御部
３２      文書検索部
３３      検索条件作成部
４        データベース
４１      タスクインスタンスＤＢ
４２      クエリＤＢ
４３      関連情報ＤＢ
４４      文書ＤＢ
Ｕ        ユーザ
【先行技術文献】
【特許文献】
【０１２１】
【特許文献１】特開２００７−１８８１４５号公報
【特許文献２】特開２００８−６５７８４号公報
【特許文献３】特開２００８−７１０８２号公報
【特許文献４】特開２００８−７１０８３号公報
【図１】
2010086521.tif 000003
【図２】
2010086521.tif 000004
【図３】
2010086521.tif 000005
【図４】
2010086521.tif 000006
【図５】
2010086521.tif 000007
【図６】
2010086521.tif 000008
【図７】
2010086521.tif 000009
【図８】
2010086521.tif 000010
【図１１】
2010086521.tif 000011
【図１２】
2010086521.tif 000012
【図１３】
2010086521.tif 000013
【図１４】
2010086521.tif 000014
【図１５】
2010086521.tif 000015
【図１６】
2010086521.tif 000016
【図１７】
2010086521.tif 000017
【図１８】
2010086521.tif 000018
【図１９】
2010086521.tif 000019
【図９】
2010086521.tif 000020
【図１０】
2010086521.tif 000021