(57)【要約】【課題】作成途中のワークフローの各ノードに対する操作に関する支援を可能にすることを目的とする。【解決手段】ワークフローの処理対象のノードに設定された処理を入力文書に対して実行する実行手段と、ノードの処理名と入力文書とを関連付けてノード情報として保存する保存手段と、ワークフローを編集するワークフロー編集エリアを含む画面を表示する第１の表示手段と、ユーザー操作に応じて、ノードの処理名とノードに関する入力文書とに基づき、保存手段により保存されたノード情報より、ノードに類似するノードのノード情報を取得する取得手段と、取得手段により取得されたノード情報に基づき、ワークフロー編集エリアに次に配置すべきノード候補を、画面のノード候補を表示するエリアに表示する第２の表示手段と、を有する。【選択図】図９
2018128945.tif 000002
【特許請求の範囲】
【請求項１】
ワークフローの処理対象のノードに設定された処理を入力文書に対して実行する実行手段と、
前記ノードの処理名と前記入力文書とを関連付けてノード情報として保存する保存手段と、
ワークフローを編集するワークフロー編集エリアを含む画面を表示する第１の表示手段と、
ユーザー操作に応じて、ノードの処理名と前記ノードに関する入力文書とに基づき、前記保存手段により保存されたノード情報より、前記ノードに類似するノードのノード情報を取得する取得手段と、
前記取得手段により取得された前記ノード情報に基づき、前記ワークフロー編集エリアに次に配置すべきノード候補を、前記画面のノード候補を表示するエリアに表示する第２の表示手段と、
を有するシステム。
【請求項２】
前記第２の表示手段は、複数のノード候補を、前記画面のノード候補を表示するエリアに表示する請求項１記載のシステム。
【請求項３】
前記第２の表示手段は、前記ユーザー操作として、ユーザーが新しいノードを前記ワークフロー編集エリアに配置したときに、前記ワークフロー編集エリアに次に配置すべきノード候補を、前記画面のノード候補を表示するエリアに表示する請求項１又は２記載のシステム。
【請求項４】
前記第２の表示手段は、前記ユーザー操作として、ユーザーが前記ワークフロー編集エリアでノードに接続されるコネクターを操作したときに、前記ワークフロー編集エリアに次に配置すべきノード候補を、前記画面のノード候補を表示するエリアに表示する請求項１又は２記載のシステム。
【請求項５】
前記第２の表示手段は、前記ユーザー操作として、ワークフローの処理対象の文書を入力したときに、前記ワークフロー編集エリアに次に配置すべきノード候補を、前記画面のノード候補を表示するエリアに表示する請求項１又は２記載のシステム。
【請求項６】
前記第２の表示手段は、前記ワークフロー編集エリアに配置された前記新しいノードの次に配置すべきノード候補として２つのノード候補が存在する場合、前記２つのノード候補を、前記画面のノード候補を表示するエリアに表示する請求項３記載のシステム。
【請求項７】
前記第２の表示手段は、前記ワークフロー編集エリアに配置された前記新しいノードの次に配置すべきノード候補として、前記新しいノードの次の処理のノードと、前記次の処理のノードの前の処理のノードのうち、前記新しいノード以外のノードと、を前記画面のノード候補を表示するエリアに表示する請求項３記載のシステム。
【請求項８】
前記ユーザー操作に応じて、次の操作を、前記画面の次の操作を表示するエリアに表示する第３の表示手段を更に有する請求項１乃至７何れか１項記載のシステム。
【請求項９】
ワークフローを編集するワークフロー編集エリアを含む画面を表示する第１の表示手段と、
ユーザー操作に応じて、前記ワークフロー編集エリアに次に配置すべきノード候補を、前記画面のノード候補を表示するエリアに表示する第２の表示手段と、
を有する情報処理装置。
【請求項１０】
システムが実行する情報処理方法であって、
ワークフローの処理対象のノードに設定された処理を入力文書に対して実行する実行工程と、
前記ノードの処理名と前記入力文書とを関連付けてノード情報として保存する保存工程と、
ワークフローを編集するワークフロー編集エリアを含む画面を表示する第１の表示工程と、
ユーザー操作に応じて、ノードの処理名と前記ノードに関する入力文書とに基づき、前記保存工程により保存されたノード情報より、前記ノードに類似するノードのノード情報を取得する取得工程と、
前記取得工程により取得された前記ノード情報に基づき、前記ワークフロー編集エリアに次に配置すべきノード候補を、前記画面のノード候補を表示するエリアに表示する第２の表示工程と、
を含む情報処理方法。
【請求項１１】
情報処理装置が実行する情報処理方法であって、
ワークフローを編集するワークフロー編集エリアを含む画面を表示する第１の表示工程と、
ユーザー操作に応じて、前記ワークフロー編集エリアに次に配置すべきノード候補を、前記画面のノード候補を表示するエリアに表示する第２の表示工程と、
を含む情報処理方法。
【請求項１２】
コンピュータを、
ワークフローを編集するワークフロー編集エリアを含む画面を表示する第１の表示手段と、
ユーザー操作に応じて、前記ワークフロー編集エリアに次に配置すべきノード候補を、前記画面のノード候補を表示するエリアに表示する第２の表示手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
ワークフローの編集は、ワークフローを構成するノードを複数配置することで実現される。ワークフローを構成するノードには多くの種類が存在し、ノードの選択はユーザーにゆだねられている。ワークフローを作成、編集するときに、ワークフローで処理する文書の例を与えることで、その類似文書に関連付けられた作成済みのワークフローを提示する方法が特許文献１によって開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２４３８３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、ユーザーが文書の例を選択することで、選択した文書に類似する文書に対するワークフロー全体を提示するものであり、作成済みワークフロー全体の流れを参照するのには適している。しかし、特許文献１は、ワークフロー全体を表示するものであるので、ユーザーが作成途中のワークフローの各ノードに対する操作（例えば、ノードの構成を変更する編集操作、新たなノードを追加する際のノード選択操作等）を支援するのには適していなかった。
【課題を解決するための手段】
【０００５】
本発明のシステムは、ワークフローの処理対象のノードに設定された処理を入力文書に対して実行する実行手段と、前記ノードの処理名と前記入力文書とを関連付けてノード情報として保存する保存手段と、ワークフローを編集するワークフロー編集エリアを含む画面を表示する第１の表示手段と、ユーザー操作に応じて、ノードの処理名と前記ノードに関する入力文書とに基づき、前記保存手段により保存されたノード情報より、前記ノードに類似するノードのノード情報を取得する取得手段と、前記取得手段により取得された前記ノード情報に基づき、前記ワークフロー編集エリアに次に配置すべきノード候補を、前記画面のノード候補を表示するエリアに表示する第２の表示手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、作成途中のワークフローの各ノードに対する操作に関する支援を可能にすることができる。
【図面の簡単な説明】
【０００７】
【図１】情報処理システムのシステム構成の一例を示す図である。
【図２】クライアント装置のハードウェア構成の一例を示す図である。
【図３】サーバーのハードウェア構成の一例を示す図である。
【図４】レコメンドサーバーのソフトウェア構成等の一例を示す図である。
【図５】ワークフローサーバーのソフトウェア構成等の一例を示す図である。
【図６】クライアント装置のソフトウェア構成等の一例を示す図である。
【図７】ワークフローの実行に係る情報処理の一例を示すフローチャートである。
【図８】コンテンツ処理部の処理を説明するための図である。
【図９】ワークフロー編集アプリケーションの画面の一例を示す図である。
【図１０】ワークフロー編集アプリケーションの処理の一例を示す図である。
【図１１】検索クエリ及び検索結果等の一例を示す図である。
【図１２】ノード候補セットの一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。本実施形態においては複数の処理を連結した処理をワークフローと呼び、連結される個々の処理をノードと呼ぶものとする。
【０００９】
図１は、情報処理システムのシステム構成の一例を示す図である。情報処理システムは、ネットワーク１００を介して互いに接続されるクライアント装置１０１とレコメンドサーバー１０２とワークフローサーバー１０３とを含む。ネットワーク１００は、各装置間で通信を行うための基盤であって、イントラネット、インターネット、又はその他のネットワークシステムであってもよい。
クライアント装置１０１は、ローカルなＩＰアドレスで管理されていてもよい。その場合、ネットワーク１００とクライアント装置１０１との間にゲートウェイが存在する。ゲートウェイはアドレス変換を行う。例えばゲートウェイにはルーターが含まれる。また、ゲートウェイやクライアント装置１０１がファイアウォール機能を備えていてもよい。
レコメンドサーバー１０２は、ワークフローサーバー１０３に格納されているコンテンツから抽出したキーワードやコンテンツのメタデータをコンテンツの格納先情報と紐づけてＤＢに格納する機能を有する。本実施形態におけるコンテンツとは、ワークフロー、ワークフローに属するノードの設定、ワークフロー実行時の入力文書、ワークフローの実行結果等を指す。更に、レコメンドサーバー１０２は、ＤＢの情報とクライアント装置１０１から受信した情報とを比較することで、受信した情報と類似するコンテンツを検索し、検索した類似コンテンツ情報群を列挙する機能を有する。ワークフローサーバー１０３は、ワークフローを実行する機能と、コンテンツを保存する機能と、を有する。
【００１０】
図２は、クライアント装置１０１のハードウェア構成の一例を示す図である。ＣＰＵ２０１は、クライアント装置１０１の全体を制御する。ＲＡＭ２０２は、ＣＰＵ２０１のワークエリアを提供する。記憶装置２０３は、クライアント装置１０１上で動作するプログラム、設定情報を記憶する。ネットワーク装置２０４は、他機器とネットワーク１００による通信を行う。入出力Ｉ／Ｆ２０５は、入出力装置２０６とのインタフェースである。これらがメインバス２００を介して接続されて構成されている。
本実施形態は特に断らない限り、ＣＰＵ２０１がメインバス２００を介してＲＡＭ２０２、記憶装置２０３、ネットワーク装置２０４、入出力Ｉ／Ｆ２０５を制御する。
入出力Ｉ／Ｆ２０５は、例えばＰＳ２やＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ  Ｉ／Ｆ）、アナログやデジタルのディスプレイＩ／Ｆを備える。入出力装置２０６は、キーボードやマウス、ＣＲＴや液晶ディスプレイであり、入出力Ｉ／Ｆ２０５を介してクライアント装置１０１と接続することができる。
ＣＰＵ２０１が記憶装置２０３に記憶されているプログラムに基づき処理を実行することによって、後述する図６に示すクライアント装置１０１のソフトウェア構成、後述する図１０のフローチャートが実現される。
【００１１】
図３は、レコメンドサーバー１０２及びワークフローサーバー１０３等のサーバーのハードウェア構成の一例を示す図である。ＣＰＵ３０１は、サーバーの全体を制御する。ＲＡＭ３０２は、ＣＰＵ３０１のワークエリアを提供する。記憶装置３０３は、サーバー上で動作するプログラム、設定情報を記憶する。ネットワーク装置３０４は、他機器とネットワーク１００による通信を行う。これらがメインバス３００を介して接続されて構成されている。
本実施形態は特に断らない限り、ＣＰＵ３０１がメインバス３００を介してＲＡＭ３０２、記憶装置３０３、ネットワーク装置３０４を制御する。
レコメンドサーバー１０２のＣＰＵ３０１がレコメンドサーバー１０２の記憶装置３０３に記憶されているプログラムに基づき処理を実行することによって、後述する図４に示すレコメンドサーバー１０２のソフトウェア構成が実現される。同様に、ワークフローサーバー１０３のＣＰＵ３０１がワークフローサーバー１０３の記憶装置３０３に記憶されているプログラムに基づき処理を実行することによって、後述する図５に示すワークフローサーバー１０３のソフトウェア構成が実現される。また、ワークフローサーバー１０３のＣＰＵ３０１がワークフローサーバー１０３の記憶装置３０３に記憶されているプログラムに基づき処理を実行することによって、後述する図７のフローチャートの処理が実現される。
【００１２】
図４は、レコメンドサーバー１０２のソフトウェア構成の一例を示す図である。
レコメンドサーバー１０２は、ソフトウェア構成として以下を有する。即ち、通信部４０１、クローラー部４０２、クロール結果処理部４０３、リクエスト受付処理部４０４、コンテンツ検索制御部４０５、キーワード抽出部４０６、コンテンツ検索部４０７、コンテンツ情報ＤＢ部４０８を有する。
クローラー部４０２は、通信部４０１を介して、定期的にワークフローサーバー１０３に格納されているコンテンツ及びコンテンツの格納先情報を収集する。コンテンツには、ワークフローサーバー１０３の後述するコンテンツ保存部５０３に保存されたワークフローのノード情報（ノードに関わる情報、入力文書等）を含む。ノード情報の詳細は後述する。これらのコンテンツは、新規に実行されたワークフローを対象に収集を行う。また、クローラー部４０２は、レコメンドサーバー１０２の構成外に存在してもよい。このとき、クローラー部４０２は、ワークフローサーバー１０３から収集した情報を、レコメンドサーバー１０２へリクエストとして送信する。ワークフローサーバー１０３から収集した情報は、リクエスト受付処理部４０４を介して、クロール結果処理部４０３に渡される。
クロール結果処理部４０３は、クローラー部４０２から受け取ったコンテンツを、キーワード抽出部４０６に渡し、レスポンスとして、コンテンツから抽出したキーワード（コンテンツの特徴情報）を受け取る。そして、クロール結果処理部４０３は、抽出キーワードとコンテンツ格納先情報とを関連付けて、コンテンツ情報ＤＢ部４０８に保存する。
【００１３】
一方、リクエスト受付処理部４０４は、通信部４０１を介して、クライアント装置１０１から、レコメンドコンテンツの検索リクエストを受け付ける。リクエストで受信する検索クエリとして、リクエスト受付処理部４０４は、ワークフローのノードと入力文書等とを受け取ることができる。また、リクエスト受付処理部４０４は、後述するコンテンツ検索制御部４０５が処理したレコメンド結果を、クライアント装置１０１にレスポンスとして送信する処理も行う。
コンテンツ検索制御部４０５は、リクエスト受付処理部４０４が受信したクエリデータを、キーワード抽出部４０６に渡し、レスポンスとして、クエリデータから抽出したキーワード（クエリデータの特徴情報）を受け取る。更に、コンテンツ検索制御部４０５は、抽出したキーワードとノードの情報とを使用して、コンテンツ検索部４０７を介して、コンテンツ情報ＤＢ部４０８に格納されている類似コンテンツを検索する。
キーワード抽出部４０６は、コンテンツから、キーワード情報を抽出する処理を行う。このとき、キーワード抽出部４０６は、コンテンツ内のすべての単語をキーワードとして抽出してもよいし、特徴的な単語をキーワードと抽出してもよい。また、キーワード抽出部４０６は、コンテンツ内の図形や構成を読み取り、関係のあるキーワードを発行してもよい。更に、キーワード抽出部４０６は、キーワードの出現回数や予め設定した計算式により、キーワードに対する重み付け情報を算出することもできる。
コンテンツ検索部４０７は、受け取ったキーワード等の情報を使用してコンテンツ情報ＤＢ部４０８からコンテンツ情報を検索する処理を行う。このとき、コンテンツ検索部４０７は、キーワードに一致するキーワード・メタデータ数を使用して類似度値を算出し、一定の閾値を超えた類似度値のコンテンツ情報を類似コンテンツとして返す。
コンテンツ情報ＤＢ部４０８は、ワークフローサーバー１０３から収集したコンテンツに関する情報が格納されている。コンテンツ情報として、"ＩＤ"、"コンテンツ名"、"コンテンツ格納先"、"コンテンツ抽出キーワード"、"コンテンツメタデータ"の少なくとも一つの情報が格納されている。
【００１４】
図５は、ワークフローサーバー１０３のソフトウェア構成の一例を示す図である。
ワークフローサーバー１０３は、ソフトウェア構成として、通信部５０１、コンテンツ処理部５０２、コンテンツ保存部５０３を有する。
コンテンツ処理部５０２は、通信部５０１を介して、クライアント装置１０１やレコメンドサーバー１０２からリクエストを受け付ける。受け付けるリクエストの種類は、コンテンツ保存部５０３へのコンテンツ格納要求やコンテンツ保存部５０３に保存されているコンテンツの取得要求等である。また、コンテンツ処理部５０２は、受け付けたリクエストに従い、コンテンツ保存部５０３へコンテンツを保存したり、コンテンツ保存部５０３からコンテンツを取得したりする。更に、コンテンツ処理部５０２は、コンテンツ保存部５０３に保存されたワークフローを実行し、その結果をコンテンツ保存部５０３へ保存する。コンテンツ処理部５０２によるワークフロー実行の処理シーケンスに関しては、図７を用いて後述する。
コンテンツ保存部５０３は、コンテンツ処理部５０２の指示に従い、ワークフロー、ワークフローに属するノードの設定、ワークフロー実行時の入力文書、ワークフローの実行結果等を保持する役割を果たす。
【００１５】
図６は、クライアント装置１０１のソフトウェア構成の一例を示す図である。
レコメンド検索アプリケーション６００は、通信部６０１、処理部６０２、入出力部６０３を有する。
処理部６０２は、通信部６０１を介して、レコメンドサーバー１０２及びワークフローサーバー１０３と通信を行う。また、処理部６０２は、入出力部６０３を介してワークフロー編集アプリケーション６０４から表示コンテンツ情報を取得する。取得対象のコンテンツは、ユーザーによる入力や操作の対象（Ｗｉｎｄｏｗｓ（登録商標）  ＯＳ等では、アクティブと呼ばれる）となっているアプリケーションのコンテンツや、ユーザーによる入力や操作に伴って生成されたコンテンツである。そして、処理部６０２は、取得したコンテンツ情報を、通信部６０１を介してレコメンドサーバー１０２に送信し、そのレスポンスとしてレコメンド結果を、通信部６０１を介して受け取る。最後に、処理部６０２は、受け取ったレコメンド結果を、入出力部６０３を介して、ワークフロー編集アプリケーション６０４に出力する処理を行う。
入出力部６０３は、ワークフロー編集アプリケーション６０４との情報の入出力処理を行う。
【００１６】
ワークフロー編集アプリケーション６０４は、ユーザーの入力によってノードを配置、設定することで、ワークフローを作成、編集するためのアプリケーションである。ワークフロー編集アプリケーション６０４は、入出力部６０５、処理部６０６を有する。
入出力部６０５は、レコメンド検索アプリケーション６００との情報の入出力処理を行う。
処理部６０６は、コンテンツ情報の表示や、レコメンド検索アプリケーション６００を介したワークフローサーバー１０３及びレコメンドサーバー１０２との情報の授受を処理する。
ワークフロー編集アプリケーション６０４の表示例については、図９を用いて後述する。レコメンド検索アプリケーション６００及びワークフロー編集アプリケーション６０４の一連の処理シーケンスに関しては、図１０を用いて後述する。
【００１７】
図７と図８とを用いて、ワークフローサーバー１０３のコンテンツ処理部５０２によるワークフローに係る情報処理を説明する。図７は、コンテンツ処理部５０２によるワークフローの実行に係る情報処理の一例を示すフローチャートである。図８は、コンテンツ処理部５０２がコンテンツ保存部５０３から取得する情報とコンテンツ保存部５０３に保存する情報とを説明するための図である。
Ｓ７０１において、コンテンツ処理部５０２は、コンテンツ保存部５０３に保存されているワークフローの起動条件を確認する。ワークフローの起動条件は、例えば、所定のフォルダーに新しくファイルが格納されたこと、所定の時刻になったこと、所定のデバイスで紙原稿を電子文書として読み取り開始されたことといった条件を含む。
Ｓ７０２において、コンテンツ処理部５０２は、Ｓ７０１で起動条件を満たすワークフローがあったかどうかを判定する。コンテンツ処理部５０２は、起動条件を満たすワークフローが存在すれば（Ｓ７０２においてＹＥＳ）、Ｓ７０３に処理を進め、以降の処理はそのワークフローを対象に処理を実行する。コンテンツ処理部５０２は、起動条件を満たすワークフローが存在しなければ（Ｓ７０２においてＮＯ）、Ｓ７０１に処理を戻す。
Ｓ７０３において、コンテンツ処理部５０２は、コンテンツ保存部５０３からワークフロー８０１を取得する。
Ｓ７０４において、コンテンツ処理部５０２は、コンテンツ保存部５０３からワークフロー実行時の入力文書８０２を取得する。
【００１８】
Ｓ７０５において、コンテンツ処理部５０２は、ワークフロー８０１の処理対象のノード（図８（Ｂ）の例ではノード８０３）に設定された処理を入力文書８０４に対して実行する。この入力文書８０４とは、ワークフローの先頭のノード８０３においてはワークフロー実行時の入力文書８０２と同じものであり、それ以外のノードにおいては、前のノードの処理によって得られた文書である。ノード８０３に設定された処理は、例えば、イメージ文書に対する傾き補正やノイズ除去処理、光学文字認識による所定領域の文字列抽出処理、ファイル形式の変換処理といった処理を含む。ノードにはノードに設定された処理を識別するためのノード処理名が与えられている。
Ｓ７０６において、コンテンツ処理部５０２は、Ｓ７０５で実行したノード８０３とその入力文書８０４とを関連付けてノード情報８０５としてコンテンツ保存部５０４へ保存する。ノード情報８０５は、入力文書８０４以外に、ノードを一意に特定するためのノードＩＤ、ノード処理名、ノード表示名、ノードの処理に関わるパラメーター、ノードに接続されているコネクターの情報を含む。更にノード情報８０５は、ノードが属するワークフローの情報（ワークフローに属するその他ノードＩＤ、ノード処理名、ノード表示名等）を含む。
Ｓ７０７において、コンテンツ処理部５０２は、ワークフローの終端ノードの処理を完了したかどうかを判定する。コンテンツ処理部５０２は、ワークフローの終端ノードの処理を完了したと判定した場合（Ｓ７０７においてＹＥＳ）、図７に示すフローチャートの処理を終了する。また、コンテンツ処理部５０２は、ワークフローの終端ノードの処理を完了していないと判定した場合（Ｓ７０７においてＮＯ）、Ｓ７０５に処理を戻す。
図７と図８とで示された一連の処理でワークフローをノードに分けてコンテンツ保存部５０３に保存することで、レコメンドサーバー１０２のクローラー部４０２はノードごとにノード情報８０５をコンテンツとしてコンテンツ情報ＤＢ部４０８に保存する。コンテンツ情報ＤＢ部４０８に保存されたワークフローのノード情報８０５が、レコメンドサーバー１０２が類似コンテンツを検索する際に使用される。
【００１９】
図９は、ワークフロー編集アプリケーション６０４の画面の一例を示す図である。
ワークフロー編集アプリケーション６０４のメインウインドウ９００は、ノード表示エリア９０１と、ワークフロー編集エリア９０２と、操作ガイド表示エリア９０５と、を持つ。ノード表示エリア９０１は、更にノード候補表示エリア９０３と全ノード表示エリア９０４とから構成される。
ワークフロー編集アプリケーション６０４は、クライアント装置１０１の入出力装置２０６からのユーザー操作に基づいてノード表示エリア９０１からノードを選択してワークフロー編集エリア９０２に配置する。また、ワークフロー編集アプリケーション６０４は、クライアント装置１０１の入出力装置２０６からのユーザー操作に基づいてノード間をコネクターで接続することでワークフローを編集する。更にワークフロー編集アプリケーション６０４は、クライアント装置１０１の入出力装置２０６からのユーザー操作に基づいてノードの処理に関わるパラメーターを編集する。
レコメンド検索アプリケーション６００の処理部６０２が出力したレコメンド結果はノード候補表示エリア９０３に表示される。また、操作ガイド表示エリア９０５には、次の操作がレコメンドされる。
ワークフロー編集アプリケーション６０４は、メインウインドウ９００のワークフロー編集エリア９０２の表示を行う。この表示は、第１の表示の一例である。次に、ワークフロー編集アプリケーション６０４は、ユーザーによるトリガーとなる操作に応じて、ワークフロー編集エリアに次に配置すべきノード候補を、メインウインドウ９００のノード候補表示エリア９０３に表示する。この表示は、第２の表示の一例である。また、ワークフロー編集アプリケーション６０４は、ユーザーによるトリガーとなる操作に応じて、次の操作を、次の操作を表示する操作ガイド表示エリア９０５に表示する。トリガーとしては、ユーザーが新しいノードをワークフロー編集エリアに配置したことを検知したことがある。また、トリガーとしては、ユーザーがワークフロー編集エリアでノードに接続されるコネクターを操作したことを検知したことがある。また、トリガーとしては、ワークフローの新規作成時にワークフローの処理対象の文書を入力したことを検知したことがある。メインウインドウ９００は、画面の一例である。
【００２０】
図１０は、ワークフロー編集アプリケーション６０４がレコメンド検索アプリケーション６００を使用して、ユーザーが配置したノードに関連するコンテンツの検索を行い、検索結果を用いて次ノードのレコメンドを行う処理のフローチャートである。本実施形態において、ワークフロー編集アプリケーション６０４は、ワークフローの編集を開始する際等に、クライアント装置１０１の入出力装置２０６からのユーザー操作に基づいてサンプル入力文書を登録する。ワークフロー編集アプリケーション６０４は、ユーザーによるノードの編集操作を受け付けると、ワークフローサーバー１０３に、編集中ワークフローとサンプル入力文書との実行をリクエストする。これによって、ワークフロー編集アプリケーション６０４は、ノードごとの入力文書を得る。ワークフロー編集アプリケーション６０４がユーザー操作に基づいてノードをワークフロー編集エリア９０２に配置してノードの入力文書を得たところから処理の説明をする。
Ｓ１００１において、ワークフロー編集アプリケーション６０４は、通信部６０１を介してレコメンドサーバー１０２に、ユーザーによって新しく配置されたノードの入力文書を含むノード情報を検索クエリとして検索リクエストを送信する。
Ｓ１００２において、レコメンドサーバー１０２は、通信部４０１を介して受信したクエリデータを使用して、コンテンツ情報ＤＢ部４０８から類似ノード情報を検索する。
Ｓ１００３において、ワークフロー編集アプリケーション６０４は、検索結果である類似ノード情報を１件取得する。
Ｓ１００４において、ワークフロー編集アプリケーション６０４は、類似ノード情報からノードが属するワークフローの情報を抽出する。
【００２１】
Ｓ１００５において、ワークフロー編集アプリケーション６０４は、類似ノードの直後に並行する２以上のノードが存在するかどうかを抽出したワークフロー情報で判定する。ワークフロー編集アプリケーション６０４は、類似ノードの直後に並行する２以上のノードが存在する場合（Ｓ１００５においてＹＥＳ）、処理をＳ１００６に進める。また、ワークフロー編集アプリケーション６０４は、類似ノードの直後に並行する２以上のノードが存在しない場合（Ｓ１００５においてＮＯ）、処理をＳ１００７に進める。
Ｓ１００６において、ワークフロー編集アプリケーション６０４は、２以上の直後ノードのそれぞれについてノード処理名を得て、２以上のノード処理名をノード候補セットとする。
Ｓ１００７において、ワークフロー編集アプリケーション６０４は、直後ノードのノード処理名を得てノード候補とする。
【００２２】
Ｓ１００８において、ワークフロー編集アプリケーション６０４は、直後ノードに、類似ノードを含む並行する２以上の前段ノードが存在するかどうかを判定する。ワークフロー編集アプリケーション６０４は、直後ノードに、類似ノードを含む並行する２以上の前段ノードが存在する場合（Ｓ１００８においてＹＥＳ）、処理をＳ１００９に進める。また、ワークフロー編集アプリケーション６０４は、直後ノードに、類似ノードを含む並行する２以上の前段ノードが存在しない場合（Ｓ１００８においてＮＯ）、処理をＳ１０１０に進める。
Ｓ１００９において、ワークフロー編集アプリケーション６０４は、類似ノードを除く１以上の前段ノードのそれぞれについてノード処理名を得て、１以上のノード処理名をノード候補に追加してノード候補セットとする。
Ｓ１０１０において、ワークフロー編集アプリケーション６０４は、検索結果に次の類似ノード情報が存在するかどうかを判定する。ワークフロー編集アプリケーション６０４は、検索結果に次の類似ノード情報が存在する場合（Ｓ１０１０においてＹＥＳ）、処理をＳ１００３に戻す。また、ワークフロー編集アプリケーション６０４は、検索結果に次の類似ノード情報が存在しない場合（Ｓ１０１０においてＮＯ）、処理をＳ１０１１に進める。
Ｓ１０１１において、ワークフロー編集アプリケーション６０４は、ノード候補を検索結果の類似度値の順にノード候補セットとしてノード候補表示エリア９０３に一覧表示する。
【００２３】
図１１は、図１０に示された検索クエリ、その検索結果、それから得られるノード候補の一例を示す図である。
検索クエリ１１０１が、Ｓ１００１における検索クエリの例である。ノード処理名１１０２としてＰＤＦ変換を含む。ノード入力文書１１０３は、文書作成アプリケーションで作成され、サンプル入力文書としてワークフロー編集アプリケーション６０４に登録された電子文書が、ワークフローサーバー１０３によって処理されたものである。
検索結果１１０４が、Ｓ１００２における検索結果の例である。レコメンドサーバー１０２は、ノード処理名１１０２、ノード入力文書１１０３、その他クエリに含まれるノードの情報から複数の類似ノードを検索結果と取得する。そして、Ｓ１００３においてワークフロー編集アプリケーション６０４は、検索結果である類似ノード情報を１件取得する。更にＳ１００７の処理によって、ワークフロー編集アプリケーション６０４は、ノード候補のノード処理名１１０５、１１０６、１１０７を得る。
【００２４】
図１２は、図１０に示されたノード候補セットの一例を示す図である。
図１２（Ａ）の類似ノード１２０１が、直後に並行するノード１２０２とノード１２０３とを持つような場合には、Ｓ１１０５とＳ１１０６との処理によって、ノード１２０２のノード処理名とノード１２０３のノード処理名とがノード候補セットとなる。ノード１２０２、ノード１２０３は、次に配置すべきノード候補としての２つのノード候補の一例である。
図１２（Ｂ）の類似ノード１２０４の直後ノード１２０５が、類似ノード１２０４とは異なる前段ノード１２０６を持つような場合、Ｓ１００８とＳ１００９との処理によって、直後ノード１２０５のノード処理名と前段ノード１２０６のノード処理名とがノード候補セットとなる。直後ノード１２０５は、次に配置すべきノード候補として、新しいノードの次の処理のノードの一例である。前段ノード１２０６は、次に配置すべきノード候補として、次の処理のノードの前の処理のノードのうち、新しいノード以外のノードの一例である。
ノード候補セットは図１２のように、ユーザーが配置したノードと、それに対して提示される候補のノードとの繋がりが判別できるように、ノード候補表示エリア９０３に表示される。ワークフロー編集アプリケーション６０４は、表示されたノード候補セットのうちの１つに対して、更にそのノード候補セットに含まれるすべてのノード候補、又は何れか１つ以上のノード候補を、入出力装置２０６からのユーザー操作に基づき選択する。そして、ワークフロー編集アプリケーション６０４は、選択したノード候補をワークフロー編集エリア９０２に配置する。
【００２５】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００２６】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
例えば、上述した各装置のソフトウェア構成の一部又は全てはハードウェアとして各装置に実装してもよい。
【００２７】
上述した実施形態の情報処理等によれば、ノードを配置するたびに候補が提示されるのでワークフロー作成にかかる時間が軽減される。また、多くのワークフローが実行されて処理される文書が増えることで候補提示の精度向上が期待できる。
【符号の説明】
【００２８】
１０１  クライアント
２０１  ＣＰＵ
２０６  入出力装置
【図１】
2018128945.tif 000003
【図２】
2018128945.tif 000004
【図３】
2018128945.tif 000005
【図４】
2018128945.tif 000006
【図５】
2018128945.tif 000007
【図６】
2018128945.tif 000008
【図７】
2018128945.tif 000009
【図８】
2018128945.tif 000010
【図９】
2018128945.tif 000011
【図１０】
2018128945.tif 000012
【図１１】
2018128945.tif 000013
【図１２】
2018128945.tif 000014