(57)【要約】【課題】特定の文書およびその文書と同時に利用された関連文書に絞り込んだ検索において、ノイズの少ない検索結果を得て、文書を作成した際に作成者が参考にした関連文書を容易に知ること。【解決手段】文書管理システムのサービス群３０３〜３０９は、ブラウザ３０１を介した操作ログの開示要求者からの、操作ログの開示者および操作ログの開示対象文書を指定した操作ログ開示要求指示に応じて、前記開示者に前記開示対象文書の操作ログの開示を要求し、要求した操作ログの開示が許可された場合、前記開示者による前記開示対象文書に対する操作ログ、および前記開示対象文書と同時に前記開示者が利用していた文書の操作ログを、前記開示要求者に開示し、さらに、ブラウザ３０１を介した前記開示要求者からの検索指示に応じて、前記開示された操作ログに利用の履歴が記録された文書を対象に検索を行う。【選択図】図３
2014235632.tif 000002
【特許請求の範囲】
【請求項１】
文書を管理する文書管理システムであって、
前記文書の利用の履歴を記録した操作ログの開示を要求する開示要求者からの、操作ログの開示者および操作ログの開示対象文書を指定した指示に応じて、前記開示者に前記開示対象文書の操作ログの開示要求を行う要求手段と、
前記要求手段により要求した操作ログの開示が前記開示者により許可された場合、前記開示者による前記開示対象文書に対する操作ログ、および、前記開示対象文書と同期間に前記開示者が利用していた文書に対する操作ログを、前記開示要求者に開示する開示手段と、
前記開示手段により開示された操作ログに利用の履歴が記録された文書を対象に検索を行う検索手段と、
を有することを特徴とする文書管理システム。
【請求項２】
前記検索手段は、文書を検索するための検索キーワードが指定されていない場合、前記開示手段により開示された操作ログに利用の履歴が記録された全ての文書を検索結果とすることを特徴とする請求項１に記載の文書管理システム。
【請求項３】
レコメンド対象者からの指示に応じてレコメンド対象文書を選択する選択手段と、
前記選択手段により選択されたレコメンド対象文書が、前記レコメンド対象者に対する操作ログの開示対象文書である場合、前記開示手段により開示された操作ログを基に、前記レコメンド対象文書に関連する関連文書をレコメンドするレコメンド手段と、
を有することを特徴とする請求項１又は２に記載の文書管理システム。
【請求項４】
前記レコメンド手段は、前記レコメンド対象者に対して、前記開示手段による前記レコメンド対象文書の操作ログの開示を許可しているユーザが、前記レコメンド対象文書以外で、利用する確率の高い文書を、第１の関連文書としてレコメンドすることを特徴とする請求項３に記載の文書管理システム。
【請求項５】
前記レコメンド手段は、文書の利用の履歴において前記レコメンド対象者と類似するユーザを抽出し、該抽出したユーザが前記レコメンド対象文書と同期間に利用する確率の高い文書を、第２の関連文書としてレコメンドすることを特徴とする請求項４に記載の文書管理システム。
【請求項６】
前記レコメンド手段は、前記第１の関連文書を、前記第２の関連文書よりも上位のレコメンドとすることを特徴とする請求項５に記載の文書管理システム。
【請求項７】
前記開示対象文書を過去に更新したユーザをリストアップするリストアップ手段と、
開示要求者から前記リストアップ手段によりリストアップされたユーザに対して前記開示対象文書の操作ログの開示要求を一斉に行うための一斉要求手段と、を有し、
前記開示手段は、前記一斉要求手段による要求に応じて開示を許可した開示者による前記開示対象文書に対する操作ログ、および、前記開示対象文書と同期間に前記開示者が利用していた文書に対する操作ログを、前記開示要求者に開示することを特徴とする請求項１乃至６のいずれか１項に記載の文書管理システム。
【請求項８】
文書を管理する文書管理システムの制御方法であって、
前記文書の利用の履歴を記録した操作ログの開示を要求する開示要求者からの、操作ログの開示者および操作ログの開示対象文書を指定した指示に応じて、前記開示者に前記開示対象文書の操作ログの開示要求を行う要求ステップと、
前記要求ステップにより要求した操作ログの開示が前記開示者により許可された場合、前記開示者による前記開示対象文書に対する操作ログ、および、前記開示対象文書と同期間に前記開示者が利用していた文書に対する操作ログを、前記開示要求者に開示する開示ステップと、
前記開示ステップにより開示された操作ログに利用の履歴が記録された文書を対象に検索を行う検索ステップと、
を有することを特徴とする文書管理システムの制御方法。
【請求項９】
コンピュータを、請求項１乃至７のいずれか１項に記載された手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オフィス内で情報交換される文書などのアイテムの検索、および、レコメンドに関する。
【背景技術】
【０００２】
特許文献１では、文書に対する操作履歴を利用して検索対象を絞り込み、絞り込んだ検索対象の文書に対してキーワード検索を行う技術が開示されている。具体的には、操作ユーザ、操作日時、操作種類などの検索条件に一致する文書を文書の操作履歴から検出し、その検出された文書の中から、指定された全文検索のキーワードを含む文書を結果として返す。そのため、操作履歴の中からの検索条件に合致した文書の絞り込みができ、迅速かつ適切な検索が可能となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１６３４３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術では、特定の文書と同時に使われた関連文書を絞り込んで検索することができない。特許文献１の技術では、操作ユーザ、操作日時、操作種類など、文書の操作履歴から抽出可能なパラメータのみ操作履歴の検索条件として指定可能である。そのため、特許文献１の技術では、特定の文書と同時に使われた関連文書の中から特定のキーワードを含む文書を検索したい場合、操作履歴の検索条件をユーザが工夫して指定する必要がある。また、特許文献１の技術では、ユーザが操作履歴の検索条件を工夫して検索を行ったとしても、ある文書と同時に使われた関連文書の絞込みが十分にはできないため、検索結果にノイズ（不要な結果）が多くなってしまう。
【０００５】
また、特許文献１の技術では、ある文書に対する他のユーザの操作ログが参照可能であることが前提となっている。一方、全てのユーザの操作ログを自由に参照可能にすることはセキュリティやプライバシーの観点で望ましくないため、操作ログを非公開に設定したい場合もある。そのため、特許文献１の技術では、他のユーザの操作ログが非公開に設定されている場合、そもそも操作履歴からの文書の絞り込みができない。
【０００６】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、特定の文書およびその文書と同時に利用された関連文書に絞り込んだ検索を行うことができ、ある特定の文書およびその関連文書を対象にした検索において、ノイズの少ない検索結果を得ることができる仕組みを提供することである。
【課題を解決するための手段】
【０００７】
本発明は、文書を管理する文書管理システムであって、前記文書の利用の履歴を記録した操作ログの開示を要求するユーザである開示要求者から、操作ログの開示者および操作ログの開示対象文書を指定して、前記開示者に前記開示対象文書の操作ログの開示要求を行うための要求手段と、前記要求手段により要求した操作ログの開示が前記開示者により許可された場合、前記開示者による前記開示対象文書に対する操作ログ、および、前記開示対象文書と同期間に前記開示者が利用していた文書に対する操作ログを、前記開示要求者に開示する開示手段と、前記開示手段により開示された操作ログに利用の履歴が記録された文書を対象に検索を行う検索手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、特定の文書およびその文書と同時に利用された関連文書に絞り込んだ検索を行うことができ、ある特定の文書およびその関連文書を対象にした検索において、ノイズの少ない検索結果を得ることができる。この結果、文書を作成した際に作成者が参考にした関連文書を容易に知ることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施例を示す文書管理システムの構成の一例を示す図である。
【図２】本発明の文書検索およびレコメンドシステムを構成している各装置に適用可能な情報処理装置２００の内部構成を例示するブロック図である。
【図３】本発明の文書検索およびレコメンドシステムにおける各装置の機能ブロック図である。
【図４】ブラウザ３０１が文書管理サーバ１０４により提供される文書管理サービス３０４にアクセスした際の表示例を示す図である。
【図５】ＳＮＳに登録している各ユーザの文書操作ログの開示状態を保持するテーブルの一例を示す図である。
【図６】ログ開示要求のメッセージ送信を行うためのＳＮＳペインの表示例を示す図である。
【図７】ログ開示要求の受信メッセージ表示を行うＳＮＳペインの表示例を示す図である。
【図８】ログ管理サービス３０５から取得した、文書管理サービス３０４での文書操作ログの一例を示す図である。
【図９】レコメンド対象ユーザのログ開示情報にレコメンド対象文書の文書ＩＤを持つカラムがある場合のレコメンドペイン４３１の表示の一例を示す図である。
【図１０】文書管理サービス３０４が提供する文書管理クライアントＵＩの検索ペインの表示例を示す図である。
【図１１】検索実行結果を表示する文書管理クライアントＵＩのファイルリストビューペイン４２１の表示例を示す図である。
【図１２】本発明の実施例２における、コンタクトリストを有する文書管理クライアントＵＩのＳＮＳペイン４７１の表示例を示す図である。
【図１３】ユーザと文書のマトリクス、文書と文書のマトリクスの一例を示す図である。
【図１４】文書管理クライアントＵＩの選択文書に関連する操作ログ開示要求送信ボタンが押下された際のＳＮＳサービス３０８の操作ログ開示要求動作の一例を示すフローチャートである。
【図１５】文書操作ログ開示状態が更新された際のレコメンドサービス３０７のプロファイリング動作の一例を示すフローチャートである。
【図１６】レコメンドサービス３０７のレコメンド実行時の動作の一例を示すフローチャートである。
【図１７】検索サービス３０６の検索実行時のフローチャートである。
【図１８】本発明の実施例２における文書管理クライアントＵＩのコンタクトリストで特定のカテゴリーが選択された際のＳＮＳサービス３０８のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１１】
図１は、本発明の一実施例を示す文書管理システムの構成の一例を示す図である。
図１に示すように、本実施例の文書管理システムでは、当該システムを構成している各装置がネットワーク１００を介して接続されている。
本実施例の文書管理システムは、文書検索システムおよび文書レコメンドシステムの機能を有するものであり、当該システムを構成している各装置は、クライアントコンピュータ１０２、認証サーバ１０３、文書管理サーバ１０４、ログ管理サーバ１０５、検索サーバ１０６、レコメンドサーバ１０７、ソーシャルネットワーキングサービス（ＳＮＳ）サーバ１０８、ログ開示情報管理サーバ１０９等を有する。
【００１２】
なお、認証サーバ１０３、文書管理サーバ１０４、ログ管理サーバ１０５、検索サーバ１０６、レコメンドサーバ１０７、ＳＮＳサーバ１０８、ログ開示情報管理サーバ１０９を、サーバコンピュータ群と総称し、各サーバが提供するサービスは連携して動作する。詳しくは後述する。
【００１３】
ネットワーク１００は、上述の各装置の間で情報をやり取りするための通信回線である。インターネット１０１は、ファイアウォールを越えて上述の各装置間で情報をやり取りするための通信回線である。インターネット１０１により、クライアントコンピュータ１０２が属するネットワーク１００からは、サーバコンピュータ群１０３〜１０９が属するネットワーク１００と、ファイアウォールを越えて通信が可能である。ネットワーク１００、インターネット１０１は、例えば、ＴＣＰ／ＩＰプロトコルなどをサポートする通信回線網であり有線・無線は問わない。
【００１４】
また、認証サーバ１０３、文書管理サーバ１０４、ログ管理サーバ１０５、検索サーバ１０６、レコメンドサーバ１０７、ＳＮＳサーバ１０８、ログ開示情報管理サーバ１０９は、それぞれ異なるサーバコンピュータで構成されていてもよいし、いずれか複数又は全てが１つのサーバコンピュータで構成されていてもよい。
【００１５】
次に、図２を用いて、図１の文書検索およびレコメンドシステムを構成している各装置の内部構成について詳細に説明する。
図２は、本発明の文書検索およびレコメンドシステムを構成している各装置に適用可能な情報処理装置２００の内部構成を例示するブロック図である。クライアントコンピュータ１０２、サーバコンピュータ群１０３〜１０９は、図２で示されるような情報処理装置である。
【００１６】
情報処理装置２００は、ＣＰＵ２０１、直接記憶部２０２、間接記憶部２０３、表示部２０４、ユーザインタフェース２０５、外部インターフェース２０６を有する。
ＣＰＵ２０１は、間接記憶部２０３にコンピュータ読み取り可能に記録される所定のプログラムを実行し、情報処理装置２００の各種制御を指示するユニットである。
直接記憶部２０２は、ＲＡＭで構成されている。直接記憶部２０２は、ＣＰＵ２０１がプログラムを実行する際に使用するワークメモリであり、ＣＰＵ２０１が実行するプログラムは直接記憶部２０２にロードされ実行される。
【００１７】
間接記憶部２０３は、例えば、ＲＯＭ、ＨＤＤ（ハードディスクドライブ）、又は、ＳＳＤ（Solid State Drive）等で構成されている。間接記憶部２０３は、アプリケーションプログラム、およびＯＳ（オペレーティングシステム）を含む各種プログラムが記憶されている。間接記憶部２０３に記憶されている各種プログラムは、ＣＰＵ２０１がプログラムを実行する際に直接記憶部２０２へロードされる。
【００１８】
表示部２０４は、画像を出力するために必要なユニットである。表示部２０４は、例えば、ディスプレイ装置に対して画像を出力する。
ユーザインタフェース２０５は、ユーザからの処理依頼を受け付けるために必要なユニットである。ユーザインタフェース２０５は、例えば、キーボード、マウス、タッチパネル等を介してユーザが入力した指示に応じた信号を受け付ける。
外部インターフェース２０６は、ネットワーク１００に接続されており、ネットワーク１００に接続されている他の装置と通信が可能となる。
【００１９】
次に、図３を用いて、実施例の文書検索およびレコメンドシステムにおける各装置が持つ機能について詳細に説明する。
図３は、本発明の文書検索およびレコメンドシステムにおける各装置の機能ブロック図である。
クライアントコンピュータ１０２は、ブラウザ３０１の機能を持つ。ブラウザ３０１は、ネットワーク１００、インターネット１０１を介して接続されている情報処理装置に要求を送信することにより、該情報処理装置内に保存されているコンテンツを閲覧したり、コンテンツに対する操作を指示する。
【００２０】
ブラウザ３０１の機能は、クライアントコンピュータ１０２の間接記憶部２０３にプログラムとして記録されており、該プログラムをクライアントコンピュータ１０２のＣＰＵ２０１が直接記憶部２０２に読み出して実行することにより実現される。
【００２１】
ブラウザ３０１は、例えば、Ｗｅｂブラウザである。本実施例では、ブラウザ３０１は、文書管理サービス３０４にアクセスし、サーバコンピュータ群１０３〜１０９が提供するサービス３０３〜３０９を利用する。
【００２２】
認証サーバ１０３は、認証サービス３０３の機能を持つ。認証サービス３０３の機能は、認証サーバ１０３の間接記憶部２０３にプログラムとして記録されており、該プログラムを認証サーバ１０３のＣＰＵ２０１が直接記憶部２０２に読み出して実行することにより実現される。
【００２３】
認証サービス３０３は、サービス３０４〜３０９に対するユーザ管理を行うと共に、管理下のユーザがサービスを利用する際のログイン認証を行う。認証サービス３０３は、認証サーバ１０３の外部インターフェース２０６を介して受信したログイン認証情報をチェックし、ユーザＩＤ、パスワードなどの認証情報に問題なければ、「認証許可」を応答として返し、そうでなければ、「認証拒絶」を応答として返す。
【００２４】
文書管理サーバ１０４は、文書管理サービス３０４の機能を持つ。文書管理サービス３０４の機能は、文書管理サーバ１０４の間接記憶部２０３にプログラムとして記録されており、該プログラムを文書管理サーバ１０４のＣＰＵ２０１が直接記憶部２０２に読み出して実行することにより実現される。
【００２５】
文書管理サービス３０４は、ユーザが作成した文書を保存し、管理する。文書管理サービス３０４は、文書管理サーバ１０４の外部インターフェース２０６を介して受信した文書操作要求に従って、新規文書の保存を行ったり、保存文書に対する操作を行ったり、その操作結果を応答として返す。なお、文書管理サービス３０４は、文書操作を行った際、その文書操作のログを、文書管理サーバ１０４の外部インターフェース２０６を介してログ管理サービス３０５に送信する。
【００２６】
ログ管理サーバ１０５は、ログ管理サービス３０５の機能を持つ。ログ管理サービス３０５の機能は、ログ管理サーバ１０５の間接記憶部２０３にプログラムとして記録されており、該プログラムをログ管理サーバ１０５のＣＰＵ２０１が直接記憶部２０２に読み出して実行することにより実現される。
【００２７】
ログ管理サービス３０５は、ログ管理サーバ１０５の外部インターフェース２０６を介して文書管理サービス３０４から文書操作のログを受信する。ログ管理サービス３０５は、文書管理サービス３０４から受信した文書操作ログを保存し、管理する。
【００２８】
検索サーバ１０６は、検索サービス３０６の機能を持つ。検索サービス３０６の機能は、検索サーバ１０６の間接記憶部２０３にプログラムとして記録されており、該プログラムを検索サーバ１０６のＣＰＵ２０１が直接記憶部２０２に読み出して実行することにより実現される。
【００２９】
検索サービス３０６は、検索サーバ１０６の外部インターフェース２０６を介して文書管理サービス３０４から文書情報を取得し（クロールし）、取得した文書情報から文書のテキストや属性の抽出を行い、それらを検索キーワードとしてインデキシングする。
【００３０】
検索サービス３０６は、検索サーバ１０６の外部インターフェース２０６を介して、検索キーワードなど検索条件を伴う検索要求を受け取った際、前記インデキシング結果を基に該当する文書を検索し、その検索結果を応答として返す。検索結果は、文書管理サービス３０４で管理される文書に対する検索結果となる。
【００３１】
レコメンドサーバ１０７は、レコメンドサービス３０７の機能を持つ。レコメンドサービス３０７の機能は、レコメンドサーバ１０７の間接記憶部２０３にプログラムとして記録されており、該プログラムをレコメンドサーバ１０７のＣＰＵ２０１が直接記憶部２０２に読み出して実行することにより実現される。
【００３２】
レコメンドサービス３０７は、レコメンドサーバ１０７の外部インターフェース２０６を介して、ログ管理サービス３０５から文書管理サービス３０４での文書操作ログを取得する。また、レコメンドサービス３０７は、ログ開示情報管理サービス３０９から、文書管理サービス３０４の各ユーザが他ユーザに対して文書操作ログを開示しているか否かを示すデータを取得する。
【００３３】
レコメンドサービス３０７は、ユーザ間の文書操作ログの開示状況に応じて、文書操作ログから個々のユーザが参照可能な部分を特定し、個々のユーザ毎に、ユーザと文書、文書と文書の関係を、プロファイリングする（ユーザと文書のプロファイリング、文書と文書のプロファイリングを行う）。例えば、レコメンドサービス３０７は、ユーザ「０１_ＴＡＲＯ」、ユーザ「４５_ＪＵＮ」の２人が存在した場合、それぞれのユーザ毎に別のプロファイリングを行う。
【００３４】
ここで言う、ユーザと文書のプロファイリングとは、文書操作ログから、文書操作を行ったユーザとその操作対象文書の情報を、ユーザと文書のマトリクスとしてＤＢテーブルに保存する動作のことを言う。前述の通り、個々のユーザ毎に、ユーザと文書のマトリクス（図１３（ａ））が作成され、保存される。
【００３５】
図１３（ａ）は、ユーザ毎にユーザと文書のプロファイルＤＢテーブルに保存されるユーザと文書のマトリクスの一例を示す図である。
なお、ユーザと文書のマトリクスに入る値は、閲覧、編集などの文書の操作（利用）の種類に応じて重みづけした値である。例えば、文書の閲覧の重みを「１」、文書の編集の重みを「２」として値を決定し、文書に操作（利用）が行われるたびに、この重みが加算されていくものとする。
【００３６】
なお、ユーザと文書のマトリクスは、公開されている操作ログの情報のみで作成される。即ち、ユーザと文書のマトリクスには、操作ログが公開されていないユーザの行は存在しない。また、ユーザと文書のマトリクスには、操作ログが部分的に公開されているユーザの行の値は、公開されている範囲の情報のみから作成される。
【００３７】
また、文書と文書のプロファイリングとは、文書同士が一定時間内にアクセスされた情報を、文書と文書のマトリクスとしてＤＢテーブルに保存する動作のことを言う。前述の通り、個々のユーザ毎に、文書と文書のマトリクス（図１３（ｂ））が作成され、保持される。
【００３８】
図１３（ｂ）は、ユーザ毎に文書と文書のプロファイルＤＢテーブルに保存される文書と文書のマトリクスの一例を示す図である。
なお、文書と文書のマトリクスに入る値は、一定時間内にその文書と同時に操作された文書（その文書と同期間に利用された文書）の生起確率である。生起確率の対象となる操作（利用）は、ユーザと文書のマトリクスと同様に、閲覧、編集などの文書の操作の種類に応じて重みづけが行われる。
【００３９】
レコメンドサービス３０７は、ユーザと文書のプロファイルＤＢテーブルと、文書と文書のプロファイルＤＢテーブルとを用いて、関連文書をレコメンドする。関連文書のレコメンドは、協調フィルタリングのアルゴリズムを利用する。
【００４０】
協調フィルタリングとは、類似するユーザがよく利用しているオブジェクト（商品、文書等）は、他の類似するユーザにとっても有益なオブジェクトであるという考え方に基づき、人とオブジェクト、オブジェクトとオブジェクトの間のスコアを計算する技術である。
【００４１】
協調フィルタリングのアルゴリズムを利用して、あるユーザに文書のレコメンドを行う際、以下のＳ１〜Ｓ３の手順でレコメンド結果を算出する。この際、レコメンド対象ユーザの、ユーザと文書のプロファイルＤＢテーブル、および、文書と文書のプロファイルＤＢテーブルを用いる。レコメンドの算出には、レコメンド対象ユーザと、関連文書のレコメンドを行う対象文書の２つのパラメータが必要である。
【００４２】
＜Ｓ１＞類似ユーザの抽出
レコメンド対象ユーザの操作の類似性を判定して、レコメンド対象ユーザと類似する、他ユーザを抽出する。具体的には、レコメンド対象ユーザに関し、ユーザと文書のマトリクスにおける各ユーザ行のベクトルの相関分析を行い、各ユーザ行のベクトルから類似ユーザを分類、抽出する（例えば、協調フィルタリングを用いる）。なお、類似ユーザの抽出に関しては、従来技術であるのでこれ以上詳細な説明は行わない。
【００４３】
＜Ｓ２＞レコメンドスコアの計算
上記Ｓ１で抽出した類似ユーザ情報、文書と文書のマトリクスの内容、及び、関連文書のレコメンドを行う対象文書の値から、次の数式で文書毎のレコメンドスコアを計算する。なお、文書Ｘは文書毎に変更される。
【００４４】
「文書ｘのレコメンドスコア＝Σ（全ての類似ユーザ）{（レコメンド対象ユーザと類似ユーザの類似度）×（類似ユーザが対象文書と文書ｘを同時に利用した確率）}」
即ち、文書ｘのレコメンドスコアは、（全ての類似ユーザ）について、{（レコメンド対象ユーザと類似ユーザの類似度）×（類似ユーザが対象文書と文書ｘとを同時に利用した確率）}を算出し、それらの総和を算出したものである。なお、「類似ユーザが対象文書と文書ｘとを同時に利用した確率」は、類似ユーザの「文書と文書のマトリックス」内の一定時間内に「対象文書」と同時にアクセスされた「文書ｘ」の生起確率である。例えば、図１３（ｂ）のマトリクスでは、文書Ａと文書Ｂとを同時に利用した確率は「０.０５」となる。
よって、レコメンドスコアは、ユーザと類似度の高いユーザが過去に対象文書と同時に使っていた確率が高い文書ほど高いスコアとなる。
【００４５】
＜Ｓ３＞上位文書をレコメンド
上記Ｓ２で算出したレコメンドスコアが上位の文書をレコメンド結果とする。
レコメンドサービス３０７は、外部インターフェース２０６を介して、レコメンド対象ユーザと対象文書のパラメータと共に、レコメンド要求を受け取った際、上記の手順Ｓ１〜Ｓ３で算出したレコメンド結果とそのレコメンド理由を、レコメンドリストとして返す。
【００４６】
レコメンド理由は、上記Ｓ１〜Ｓ３の手順でレコメンド結果を導出した場合、「選択文書と同時によく利用されている文書です」というような、一意の値となる。さらに、特定の文書に対する操作ログのみを公開しているユーザが存在する場合には、上記Ｓ１〜Ｓ３の手順に、新たな処理が加わる。詳細に関しては、後述する。
【００４７】
ＳＮＳサーバ１０８は、ＳＮＳサービス３０８の機能を持つ。ＳＮＳサービス３０８の機能は、ＳＮＳサーバ１０８の間接記憶部２０３にプログラムとして記録されており、このプログラムをＳＮＳサーバ１０８のＣＰＵ２０１が直接記憶部２０２に読み出して実行することにより実現される。
【００４８】
ＳＮＳサービス３０８は、自分の近況や、気になったことを文書、画像、映像データとして投稿し、その投稿に対するコメントやトラックバックなどを受け付ける機能を提供する。ＳＮＳサービス３０８は、登録ユーザ間でリアルタイムにメッセージをやりとりするメッセンジャー機能を提供する。
【００４９】
ＳＮＳサービス３０８は、ユーザ表示機能を有し、登録ユーザの一覧や、登録ユーザのプロファイル（自己紹介、所属など）を表示する機能を提供する。また、ユーザ表示機能には、ＳＮＳに登録している各ユーザによる文書操作ログの開示状況の表示を行う機能も有する。各ユーザによる文書操作ログの開示状況は、ログ開示情報管理サービス３０９から情報を取得する。この詳細に関しては、後述する。
【００５０】
ＳＮＳサービス３０８は、グループ機能を有し、作成したグループに属するメンバーに対してのみ投稿を公開する機能を提供する。
ログ開示情報管理サーバ１０９は、ログ開示情報管理サービス３０９の機能を持つ。ログ開示情報管理サービス３０９の機能は、ログ開示情報管理サーバ１０９の間接記憶部２０３にプログラムとして記録されており、このプログラムをログ開示情報管理サーバ１０９のＣＰＵ２０１が直接記憶部２０２に読み出して実行することにより実現される。
【００５１】
ログ開示情報管理サービス３０９は、また、文書管理サービス３０４の各ユーザが他ユーザに対して文書操作ログを開示しているか否かを示すデータを保持する。これに関しては、更に後述する。
以上が、本実施例の文書検索およびレコメンドシステムにおける各装置が持つ機能の説明になる。
【００５２】
なお、認証サービス３０３、文書管理サービス３０４、ログ管理サービス３０５、検索サービス３０６、レコメンドサービス３０７、ＳＮＳサービス３０８、ログ開示情報管理サービス３０９は、それぞれ異なるサーバコンピュータ上に設けられていてもよいし、いずれか複数又は全てが１つのサーバコンピュータ上に設けられていてもよい。また、ブラウザ３０１もいずれかのサーバコンピュータ上に設けられていてもよい。
【００５３】
図４は、ブラウザ３０１が文書管理サーバ１０４により提供される文書管理サービス３０４にアクセスした際の表示例を示す図である。
図において、４００はブラウザ３０１のメインウインドウであり、メニューバー４０１、アドレスバー４０２、戻るボタン４０３、進むボタン４０４等を有する。ブラウザ３０１は、文書管理サービス３０４にアクセスすることで、メインウインドウ４００に、文書管理サービス３０４が提供する文書管理クライアントＵＩを表示することができる。なお、文書管理クライアントＵＩは、文書管理サービス３０４によって、ログインユーザ毎に制御される。
【００５４】
４９９はマウスポインタであり、ユーザインタフェース２０５のマウス操作に応じて、表示部２０４により、ディスプレイに出力される画像上でポインタの移動やオブジェクトの選択を行う。
【００５５】
文書管理クライアントＵＩにおいて、４０５は、文書管理クライアントＵＩのペインの表示・非表示を切り替えるパネルである。パネル４０５は、ナビゲーションペインの表示・非表示を切り替えるボタン４０６、プロパティペインの表示・非表示を切り替えるボタン４０７、検索ペインの表示・非表示を切り替えるボタン４０８、レコメンドペインの表示・非表示を切り替えるボタン４０９、ＳＮＳペインの表示・非表示を切り替えるボタン４１０などを備える。マウスポインタ４９９等によりボタン４０６〜４１０のボタンをクリックすることにより、各ボタンに対応するペインの表示・非表示を切り替え可能となっている。図４の例では、ナビゲーションペイン、レコメンドペイン、ＳＮＳペインが表示状態になっている。
【００５６】
４１１は、文書管理クライアントＵＩのナビゲーションペインである。ナビゲーションペイン４１１には、文書管理クライアントＵＩから登録したライブラリーとライブラリー下に配置されるフォルダーが表示される。ここで言うライブラリーとは、文書管理サービス３０４で文書管理を行うための保存単位のことである。文書管理サービス３０４は一つ以上のライブラリーを提供し、各ライブラリー下でフォルダーの階層構造を用いた文書管理の機能を提供する。図４の例では、ライブラリー４１２，４１３，４１４、フォルダー４１５，４１６が表示されている。文書管理クライアントＵＩから、これらライブラリーを一つ以上登録し、文書管理サービス３０４が提供する文書管理の機能を利用する。ナビゲーションペイン４１１において、ライブラリー、または、ライブラリー下に配置されるフォルダーを選択することで、現在の場所を移動させることができる。なお、ライブラリーまたはフォルダーの選択は、ライブラリーまたはフォルダーをマウスポインタ４９９でクリックすることで行われる。また、選択状態のライブラリーは４４１に示すような表示形態に、選択状態のフォルダーは４４２に示すような表示形態に変化する。
【００５７】
４２１は、文書管理クライアントＵＩのファイルリストビューペインである。ファイルリストビューペイン４２１には、ナビゲーションペイン４１１で選択されているフォルダーまたはライブラリーの現在の場所に格納されている文書やフォルダーが表示される。図４の例では、ナビゲーションペイン４１１で現在の場所として選択されているフォルダーに格納されているサブフォルダー４２２、文書４２３、４２４が表示されている。
【００５８】
４３１は、文書管理クライアントＵＩのレコメンドペインである。レコメンドペイン４３１には、ファイルリストビューペイン４２１で、４２３，４２４等の文書の選択やオープンなどの操作が行われた際、その操作に対するお薦め文書が表示される。
【００５９】
表示されるお薦め文書は、文書管理サービス３０４が、文書管理クライアントＵＩの現在のログインユーザと、ファイルリストビューペイン４２１で選択されている文書を基に、レコメンドサービス３０７から取得したレコメンドリストである。図４の例では、ファイルリストビューペイン４２１上の文書４２３「サンプルＢ１.ｄｏｃ」の選択に伴い、その選択文書に対するお薦め文書４５１〜４５２が表示されている。
【００６０】
４３９は、文書管理クライアントＵＩのレコメンドリスト表示部であり、レコメンドリスト（お薦め文書４５１〜４５２、レコメンド理由４５５〜４５６）を表示する。
４５１〜４５２は、レコメンドリストにおけるお薦め文書の表示であり、文書名がラベルとして表示されている。ラベルはハイパーリンクとなっており、マウスポインタ４９９でクリックされた際、文書管理クライアントＵＩを介して、リンク先の文書が文書管理サービス３０４から取得され、クライアントコンピュータ１０２にインストールされた他のアプリケーション等によりオープンされる。
【００６１】
４５５〜４５６は、レコメンドリストにおけるお薦め文書４５１〜４５２のそれぞれのレコメンド理由を示す文字列である。
４７１は、文書管理クライアントＵＩのＳＮＳペインである。ＳＮＳペイン４７１には、メッセンジャータブ４７２、投稿タブ４７３、ユーザ表示タブ４７４、グループタブ４７５の各タブが存在し、マウスポインタ４９９等によるタブの選択により、各タブが提供するＵＩに切り替えが可能となっている。
【００６２】
各タブ（４７２〜４７５）では、ＳＮＳサービス３０８が提供するメッセンジャー、投稿、ユーザ表示、グループの各機能を利用するための表示部を提供する。
メッセンジャータブ４７２では、他のユーザから受信したメッセージの閲覧や、他のユーザへのメッセージ送信を行うメッセンジャー表示部を提供する。メッセンジャータブ４７２のラベルには、現在の未読メッセージ数も表示する。メッセンジャー表示部の詳細に関しては、後述する。
【００６３】
ユーザ表示タブ４７４では、ＳＮＳに登録しているユーザの一覧表示や、選択したユーザのプロファイル表示などを行うためのユーザ表示部４８１を提供する。
ユーザ表示部４８１において、４８２〜４８５はＳＮＳに登録しているユーザの表示であり、そのラベルは、ユーザのプロファイル表示を開くためのリンクとなっている。ユーザの表示４８２〜４８５のラベルの一つが、マウスポインタ４９９によりクリックされた際、選択されたユーザのプロファイルがユーザの一覧表示に代わって、ユーザ表示部４８１に表示される。
【００６４】
４８６〜４８９は、文書管理クライアントＵＩの現在のログインユーザに対する、ＳＮＳに登録している各ユーザによる文書操作ログの開示状況の表示である。ファイルリストビューペイン４２１で文書が選択されている際には、ＳＮＳに登録している各ユーザが、文書管理クライアントＵＩの現在のログインユーザに対して、ファイルリストビューペイン４２１で選択された文書に関する文書操作ログを開示しているか否かを表示する。
【００６５】
図４の例では、４８６〜４８９は、ファイルリストビューペイン４２１上の文書「サンプルＢ１.ｄｏｃ」の選択に伴い、ＳＮＳに登録している各ユーザが、現在のログインユーザ「４５_ＪＵＮ」に対して、その文書に関する文書操作ログを開示しているか否かを表示している。なお、ファイルリストビューペイン４２１で文書が選択されていない場合には、４８６〜４８９は、ＳＮＳに登録している各ユーザが、現在のログインユーザに対して、自身の文書操作ログの全てを開示しているか否かを表示する。
【００６６】
４９４〜４９５は、文書管理クライアントＵＩの全ての文書操作ログ開示要求送信ボタンである。全ての文書操作ログ開示要求送信ボタン４９４〜４９５が押下された際、文書管理クライアントＵＩの現在のログインユーザから、該当のボタンに対応するＳＮＳ登録ユーザに対して、その全ての文書操作ログの開示要求を送信する。
【００６７】
４９２〜４９３は、文書管理クライアントＵＩの選択文書に関連する操作ログ開示要求送信ボタンである。なお、ボタン４９２〜４９３が押下された際の動作に関しては後述する。
【００６８】
全ての文書操作ログ開示要求送信ボタン４９４〜４９５、および、選択文書に関連する操作ログ開示要求送信ボタン４９２〜４９３の表示は、文書管理クライアントＵＩの現在のログインユーザに対する、ＳＮＳに登録している各ユーザの文書操作ログ開示状態により異なる。
【００６９】
例えば、文書管理クライアントＵＩの現在のログインユーザに対して全ての文書操作ログを開示していないユーザの表示欄には、「全ての文書操作ログ開示要求送信ボタン」および「選択文書に関連する操作ログ開示要求送信ボタン」の両方のボタンが表示される。
【００７０】
また、文書管理クライアントＵＩの現在のログインユーザに対して全ての文書操作ログを開示しているユーザの表示欄には、「全ての文書操作ログ開示要求送信ボタン」および「選択文書に関連する操作ログ開示要求送信ボタン」のいずれのボタンも表示されない。
【００７１】
また、文書管理クライアントＵＩの現在のログインユーザに対して一部の文書操作ログを開示、かつ、ファイルリストビューペイン４２１で選択されている文書に関連する文書操作ログを開示しているユーザの表示欄には、「全ての文書操作ログ開示要求送信ボタン」のみが表示される。
【００７２】
また、文書管理クライアントＵＩの現在のログインユーザに対して一部の文書操作ログを開示、かつ、ファイルリストビューペイン４２１で選択されている文書に関連する文書操作ログを開示していないユーザの表示欄には、「全ての文書操作ログ開示要求送信ボタン」および「選択文書に関連する操作ログ開示要求送信ボタン」の両方のボタンが表示される。
【００７３】
［レコメンドリストの情報更新時の動作］
図５は、ＳＮＳに登録している各ユーザの文書操作ログの開示状態を保持するテーブルの一例を示す図である。このテーブルに格納されるデータは、前述の通り、ログ開示情報管理サービス３０９に保持される。
【００７４】
図５において、５０１は、ＳＮＳに登録している各ユーザの文書操作ログの開示状態をマトリクス形式で保持するテーブルである。マトリクスの横項目、および、縦項目には、ＳＮＳ登録ユーザがリストされる。
【００７５】
５１１〜５１３は、マトリクスの横項目の登録ユーザリストの一部である。５２１〜５２２は、マトリクスの縦項目の登録ユーザリストの一部である。５４１〜５４３は、マトリクスのカラムである。
【００７６】
カラム５４１〜５４３は、横項目の登録ユーザ５１１〜５１３が、縦項目の登録ユーザ５２２に対して、どのような文書操作ログの開示状態なのかを表す数値を保持する。
例えば、５４１は、数値「０」のカラムであり、横項目の登録ユーザ５１１が、縦項目の登録ユーザ５２２に対して、全ての文書操作ログを開示していないことを示す。また、５４３は、数値「１」のカラムであり、横項目の登録ユーザ５１３が、縦項目の登録ユーザ５２２に対して、全ての文書操作ログを開示していることを示す。
【００７７】
さらに、５４２は、文書ＩＤの値を一つ持つカラムであり、横項目の登録ユーザ５１２が、縦項目の登録ユーザ５２２に対して、該当の文書ＩＤに関する操作ログを開示していることを示す。文書ＩＤのカラムは、ＣＳＶ（カンマ区切り）形式で複数の文書ＩＤの値を保持する可能である。
【００７８】
ＳＮＳサービス３０８は、ログ開示情報管理サービス３０９に保持されるこのテーブルの値を基に、文書管理クライアントＵＩのＳＮＳペイン４７１における「全ての文書操作ログ開示要求送信ボタン」および「選択文書に関連する操作ログ開示要求送信ボタン」の表示を決定する。そして、ＳＮＳサービス３０８は、該決定した結果を、文書管理サービス３０４に通知する。この通知に基づいて、文書管理サービス３０４は、文書管理クライアントＵＩへの「全ての文書操作ログ開示要求送信ボタン」や「選択文書に関連する操作ログ開示要求送信ボタン」の表示を制御する。
【００７９】
また、ＳＮＳサービス３０８は、ログ開示情報管理サービス３０９に保持されるこのテーブル（図５）の値を基に、文書管理クライアントＵＩの現在のログインユーザに対してのＳＮＳに登録している各ユーザによる文書操作ログの開示状況４８６〜４８９の表示を決定する。そして、ＳＮＳサービス３０８は、該決定した結果を、文書管理サービス３０４に通知する。この通知に基づいて、文書管理サービス３０４は、文書管理クライアントＵＩへ各ユーザによる文書操作ログの開示状況の表示を行う。
【００８０】
［選択文書に関連する操作ログ開示要求送信ボタン押下時の動作］
図１４は、文書管理クライアントＵＩの選択文書に関連する操作ログ開示要求送信ボタン４９２〜４９３が押下された際のＳＮＳサービス３０８の操作ログ開示要求動作の一例を示すフローチャートである。なお、このフローチャートの処理は、ＳＮＳサーバ１０８のＣＰＵ２０１が間接記憶部２０３にコンピュータ読み取り可能に記録されたプログラム（ＳＮＳサービス３０８を実現するプログラム）を直接記憶部２０２に読み出して実行することにより実現される。
【００８１】
文書管理クライアントＵＩのＳＮＳペイン４７１のユーザ表示タブ４７４で、選択文書に関連する操作ログ開示要求送信ボタンが押下されたことを、文書管理サービス３０４を介して検知した際、ＳＮＳサービス３０８は、以下のステップを実施する。以下、選択文書に関連する操作ログ開示要求送信ボタン４９２が押下されたものとして説明する。
【００８２】
ステップＳ１４０１において、ＳＮＳサービス３０８は、文書管理クライアントＵＩのファイルリストビューペイン４２１で現在選択されている文書の情報（操作ログの開示対象文書）を、ＳＮＳサーバ１０８の外部インターフェース２０６を介して、文書管理サービス３０４から取得する。図４の例では、文書管理クライアントＵＩのファイルリストビューペイン４２１で現在選択されている文書４２３「サンプルＢ１.ｄｏｃ」の情報を取得する。
【００８３】
次に、ステップＳ１４０２において、ＳＮＳサービス３０８は、文書管理クライアントＵＩの現在のログインユーザ（開示要求者）が操作ログ開示要求のメッセージを送信できるよう、ＳＮＳペイン４７１の表示を、ユーザ表示タブ４７４からメッセンジャータブ４７２に切り替える。なお、ＳＮＳサービス３０８による文書管理クライアントＵＩの表示変更は、ＳＮＳサービス３０８による文書管理サービス３０４への表示変更要求によって行われる。
【００８４】
次に、ステップＳ１４０３において、ＳＮＳサービス３０８は、前記押下された操作ログ開示要求送信ボタン４９２に対応するＳＮＳ登録ユーザ４８２への、現在選択中の文書４２３に関する操作ログ開示要求の送信メッセージの表示を、メッセンジャータブ４７２に行う。なお、メッセンジャータブ４７２への表示は、ＳＮＳサービス３０８による文書管理サービス３０４への表示要求によって行われる。
【００８５】
図６は、ログ開示要求のメッセージ送信を行うためのＳＮＳペインの表示例を示す図である。なお、図６の表示例は、文書管理クライアントＵＩの現在のログインユーザ（開示要求者）「４５_ＪＵＮ」から、ログ開示要求先ユーザ（開示者）「０１_ＴＡＲＯ」に対し、メッセージ送信（操作ログの開示要求）を行うためのメッセンジャータブ４７２の表示例に対応する。
【００８６】
図６において、６０２はメッセンジャー表示部である。６０３は受信メッセージ表示部である。６０４は、受信メッセージ表示部のシェブロンであり、受信メッセージ表示部６０３の表示を部分表示から全部表示に、全部表示から部分表示に切り替えるためのＵＩコンポーネントである。図６の例では、受信メッセージ表示部６０３は、折りたたまれ、部分表示となっている。
【００８７】
６０５は送信メッセージ表示部である。６０６は、送信メッセージ表示部のシェブロンであり、送信メッセージ表示部６０５の表示を全部表示から部分表示に、部分表示から全部表示に切り替えるためのＵＩコンポーネントである。図６の例では、送信メッセージ表示部６０５は、展開され、全部表示となっている。
【００８８】
６１１は、メッセージ送信先（宛先）を指定するコンボボックスである。コンボボックスは、テキストボックスとドロップダウンリストとを組み合わせたＵＩコンポーネントである。
【００８９】
前記ステップＳ１４０３で、ＳＮＳサービス３０８は、操作ログ開示要求の送信先であるログ開示要求先ユーザ「０１_ＴＡＲＯ」の文字列を、メッセージ送信先コンボボックス６１１に設定する。
【００９０】
６１２は、送信メッセージの種別を指定するコンボボックスである。前記ステップＳ１４０３で、ＳＮＳサービス３０８は、操作ログ開示要求を示す文字列（例えば、「操作ログ開示の要求」）を、送信メッセージ種別指定コンボボックス６１２に設定する。
【００９１】
６１３は、送信メッセージ表示部６０５の送信メッセージ内容表示部である。ＳＮＳサービス３０８は、送信メッセージ種別指定コンボボックス６１２に設定された種別に基づき、送信メッセージ内容表示部６１３のＵＩコンポーネントを変更する。ＳＮＳサービス３０８は、送信メッセージ種別指定コンボボックス６１２に設定された値が「操作ログ開示要求」の場合、開示対象テキストボックス６１４と、送信コメント入力テキストボックス６１５を送信メッセージ内容表示部６１３に表示する。
【００９２】
開示対象テキストボックス６１４には、操作ログ開示対象の文書を示す文字列を設定する。なお、操作ログ開示対象が単一の文書ではなく、全ての操作ログの場合、全ての操作ログを示す文字列を設定する。前記ステップＳ１４０３で、ＳＮＳサービス３０８は、操作ログ開示要求対象の文書である文書４２３「サンプルＢ１.ｄｏｃ」を示す文字列を、送信メッセージ種別指定コンボボックス６１２に設定する。
【００９３】
送信コメント入力テキストボックス６１５には、文書管理クライアントＵＩのログインユーザ「４５_ＪＵＮ」が任意の追加コメントを入力可能である。入力された追加コメントは、操作ログ開示要求のメッセージに付加されて送信される。
【００９４】
６１７は、送信メッセージ表示部６０５のメッセージキャンセルボタンである。６１６は、送信メッセージ表示部６０５のメッセージ送信ボタンである。ＳＮＳサービス３０８は、メッセージ送信ボタン６１６が押下されると、現在送信メッセージ表示部６０５に表示中のメッセージを、メッセージ送信先コンボボックス６１１に設定されたユーザに対して送信する。
【００９５】
以下、フローチャート図１４の説明に戻る。
ステップＳ１４０４において、ＳＮＳサービス３０８は、図６のＳＮＳペイン４７１の送信メッセージ表示部６０５で、メッセージ送信ボタン６１６が押下されたかを、文書管理サービス３０４を介して、判定する。
【００９６】
そして、上記ステップＳ１４０４において、メッセージ送信ボタン６１６が押下されたと判定した場合（Ｓ１４０４でＹｅｓの場合）、ＳＮＳサービス３０８は、ステップＳ１４０５に処理を進める。
【００９７】
ステップＳ１４０５では、ＳＮＳサービス３０８は、ログ開示要求先ユーザ「０１_ＴＡＲＯ」に対し、図６に示した操作ログ開示要求のメッセージ送信を行う。
図７は、ログ開示要求の受信メッセージ表示を行うＳＮＳペインの表示例を示す図である。なお、図７の表示例は、ログ開示要求先ユーザ「０１_ＴＡＲＯ」が、ログ開示要求元ユーザ「４５_ＪＵＮ」から受信したログ開示要求のメッセージ表示を行うメッセンジャータブ４７２を表示するＳＮＳペイン４７１の表示例に対応する。また、図７の表示例は、前記ステップＳ１４０４でＳＮＳサービス３０８によりログ開示要求先ユーザ「０１_ＴＡＲＯ」に送信された図６に示した操作ログ開示要求メッセージの、受信側のメッセージ表示状態を示す。
【００９８】
図７のＳＮＳペイン４７１を表示する文書管理クライアントＵＩのログインユーザは、前記ログ開示要求先ユーザの「０１_ＴＡＲＯ」である。
図７における受信メッセージ表示部６０３は、シェブロン６０４によって展開され、全部表示となっている。７１１は、受信メッセージの一覧を表示するリストボックスである。図７の例では、１メッセージのみを受信メッセージとして表示している。
【００９９】
７１２は、受信メッセージ表示部６０３の受信メッセージ内容表示部である。受信メッセージリストボックス７１１で選択された受信メッセージの内容表示を行う。ＳＮＳサービス３０８は、受信メッセージリストボックス７１１で選択された受信メッセージの種別に基づき、受信メッセージ内容表示部７１２のＵＩコンポーネントを変更する。ＳＮＳサービス３０８は、受信メッセージの種別が「操作ログ開示要求」である場合、メッセージテキストボックス７１３、コメントテキストボックス７１４、操作ログ開示承認ボタン７１５、操作ログ開示拒否ボタン７１６、コメントバックボタン７１７を、受信メッセージ内容表示部７１２に表示する。
【０１００】
メッセージテキストボックス７１３には、受信メッセージの種別に応じて、ＳＮＳサービス３０８が作成するメッセージテキストが表示される。受信メッセージの種別が「操作ログ開示要求」の場合、ＳＮＳサービス３０８は、操作ログ開示要求を示すメッセージテキストの文字列をメッセージテキストボックス７１３に表示する。操作ログ開示要求を示すメッセージテキストとしては、メッセージ送信者を示す文字列「４５_ＪＵＮ」と、操作ログ開示対象の文書を示す文字列「サンプルＢ１.ｄｏｃ」が表示される。
【０１０１】
コメントテキストボックス７１４には、ＳＮＳサービス３０８は、操作ログ開示要求を送信したユーザがメッセージに付加した追加コメントを表示する。
操作ログ開示承認ボタン７１５は、受信した操作ログ開示要求を承認する際に押下するボタンである。操作ログ開示拒否ボタン７１６は、受信した操作ログ開示要求を否認する際に押下するボタンである。
【０１０２】
コメントバックボタン７１７は、受信した操作ログ開示要求に対して、承認、否認の判断を保留し、操作ログ開示要求元ユーザに、質問などのコメントをメッセージとして返信するボタンである。
【０１０３】
再び、フローチャート図１４の説明に戻る。
ステップＳ１４０６において、ＳＮＳサービス３０８は、図７のＳＮＳペイン４７１の受信メッセージ表示部６０３で、操作ログ開示承認ボタン７１５が押下されたか、操作ログ開示拒否ボタン７１６が押下されたかを、文書管理サービス３０４を介して、判定する。
【０１０４】
そして、上記ステップＳ１４０６において、操作ログ開示承認ボタン７１５が押下されたと判定した場合（Ｓ１４０６で「承認ボタン押下」の場合）、ＳＮＳサービス３０８は、ステップＳ１４０７に処理を進める。
【０１０５】
ステップＳ１４０７では、ＳＮＳサービス３０８は、ＳＮＳサーバ１０８の外部インターフェース２０６およびログ開示情報管理サービス３０９を介して、ＳＮＳ登録ユーザの文書操作ログ開示状態保持テーブル５０１のカラムに操作ログ開示状態を示す値を設定する。図７の例で言えば、図５における縦項目「４５_ＪＵＮ」、横項目「０１_ＴＡＲＯ」に該当するカラム５４１に、操作ログ開示対象文書「サンプルＢ１.ｄｏｃ」の文書ＩＤの値を設定する。
【０１０６】
次に、ステップＳ１４０８において、ＳＮＳサービス３０８は、ＳＮＳ登録ユーザの文書操作ログ開示状態保持テーブル５０１のカラムが更新されたことを、外部インターフェース２０６を介して、文書管理サービス３０４、レコメンドサービス３０７に通知して、処理を終了する。
【０１０７】
また、上記ステップＳ１４０６において、操作ログ開示拒否ボタン７１６が押下されたと判定した場合（Ｓ１４０６で「拒否ボタン押下」の場合）、ＳＮＳサービス３０８は、そのまま処理を終了する。
【０１０８】
［文書操作ログ開示状態が更新された際のレコメンド関連の動作］
図１５は、文書操作ログ開示状態が更新された際のレコメンドサービス３０７のプロファイリング（レコメンド用の準備）動作の一例を示すフローチャートである。このフローチャートを用いて、ＳＮＳサービス３０８から、ＳＮＳ登録ユーザの文書操作ログ開示状態保持テーブル５０１のカラムが更新されたことを通知された際のレコメンドサービス３０７のプロファイリング（レコメンド用の準備）動作について説明する。なお、このフローチャートの処理は、レコメンドサーバ１０７のＣＰＵ２０１が間接記憶部２０３にコンピュータ読み取り可能に記録されたプログラム（レコメンドサービス３０７を実現するプログラム）を直接記憶部２０２に読み出して実行することにより実現される。
【０１０９】
外部インターフェース２０６を介して、ログ開示情報管理サービス３０９に保持される文書操作ログ開示状態保持テーブル５０１のカラムが更新されたことを通知された際、レコメンドサービス３０７は、以下のステップを実行する。
【０１１０】
ステップＳ１５０１において、レコメンドサービス３０７は、文書操作ログ開示状態保持テーブル５０１の更新されたカラム情報を、ログ開示情報管理サービス３０９から取得する。該取得した情報を用いて、レコメンドサービス３０７は、更新カラムの縦項目の登録ユーザの、ユーザと文書のプロファイルＤＢテーブル、および、文書と文書のプロファイルＤＢテーブルを以下のように更新する。
【０１１１】
ステップＳ１５０２において、レコメンドサービス３０７は、文書管理サービス３０４での文書操作ログを、ログ管理サービス３０５から取得する。
ステップＳ１５０３〜Ｓ１５０７で、レコメンドサービス３０７は、更新カラムの横項目の登録ユーザの、更新カラムの縦項目の登録ユーザに対するカラムの値（０、１、または、文書ＩＤ）に応じて、開示状態を判断し、文書操作ログから参照可能な部分を抽出する。以下、各ステップについて詳細に説明する。
【０１１２】
ステップＳ１５０３において、レコメンドサービス３０７は、数値「０」のカラムの値を持つ横項目の登録ユーザの文書操作ログを、参照不可のログとして、抽出対象から除外する。
【０１１３】
ステップＳ１５０４において、レコメンドサービス３０７は、数値「１」のカラムの値を持つ横項目の登録ユーザの文書操作ログを参照可能なログとして、抽出対象に包含する。
【０１１４】
ステップＳ１５０５において、レコメンドサービス３０７は、文書ＩＤのカラムの値を持つ横項目の登録ユーザの、該当の文書ＩＤの文書に対する操作のログを参照可能な文書操作ログとして、抽出対象に包含する。
【０１１５】
ステップＳ１５０６において、レコメンドサービス３０７は、文書ＩＤのカラムの値を持つ横項目の登録ユーザの、該当の文書ＩＤの文書に対するチェックアウト、チェックインの間に操作された文書の操作ログを参照可能なログとして、抽出対象に包含する。
【０１１６】
さらに、ステップＳ１５０７において、レコメンドサービス３０７は、文書ＩＤのカラムの値を持つ横項目の登録ユーザの、該当の文書ＩＤの文書に対するチェックアウト操作３０分前までに操作された文書の操作ログを参照可能なログとして、抽出対象に包含する。
即ち、Ｓ１５０５〜Ｓ１５０７では、レコメンドサービス３０７は、横項目の登録ユーザ（開示者）による該当の文書ＩＤの文書（開示対象文書）に対する操作ログ、および、前記開示対象文書と同期間（前記開示対象文書のチェックアウトからチェックインまでの間や、前記開示対象文書を利用する３０分前まで）に前記開示者が利用していた文書に対する操作ログを、前記開示要求者に開示するように制御する。
【０１１７】
図８は、ログ管理サービス３０５から取得した、文書管理サービス３０４での文書操作ログの一例を示す図である。以下、図８を用いて、ステップＳ１５０５〜Ｓ１５０７で説明した内容を例示する。
【０１１８】
例えば、横項目の登録ユーザ「０１_ＴＡＲＯ」、縦項目の登録ユーザ「４５_ＪＵＮ」のカラムの値が文書「サンプルＢ１.ｄｏｃ」の文書ＩＤの場合、図８の８０１、および８０２の文書操作ログ部分が、ステップＳ１５０５〜Ｓ１５０７により、抽出対象に包含される。抽出対象に包含されたログは、ユーザ「４５_ＪＵＮ」用のログとなる。
【０１１９】
以下、フローチャート図１５の説明に戻る。
ステップＳ１５０８において、レコメンドサービス３０７は、上記ステップＳ１５０３〜Ｓ１５０７で抽出対象に包含された文書操作ログを抽出し、該抽出した文書操作ログを用いて、ユーザと文書のプロファイリング、文書と文書のプロファイリングを行う。そして、そのプロファイリング結果で、更新カラムの縦項目の登録ユーザの、ユーザと文書のプロファイルＤＢテーブル、および、文書と文書のプロファイルＤＢテーブルを更新する。即ち、非公開となった操作ログの情報を除いて、又は、新たに公開となった操作ログの情報を含めて、ユーザと文書のプロファイルＤＢテーブル、および、文書と文書のプロファイルＤＢテーブルを再作成する。そして、処理を終了する。
【０１２０】
なお、上述のように、ユーザ毎の、ユーザと文書のプロファイルＤＢテーブルには、そのユーザに公開されている範囲において、閲覧、編集などの文書の操作の種類に応じて重みづけされた値が格納される。また、ユーザ毎の、文書と文書のプロファイルＤＢテーブルには、そのユーザに公開されている範囲において、一定時間内にその文書と同時に操作された文書の生起確率が格納される。
【０１２１】
以下、フローチャート図１５の説明を補足する。
上記ステップＳ１５０６では、チェックアウト、チェックインの間に操作された文書の操作ログを抽出対象に包含するとしたが、文書がオープン、編集、クローズされる合間に操作された文書を抽出対象に包含するとしてもよい。
【０１２２】
また、上記ステップＳ１５０７では、チェックアウト操作３０分前までに操作された文書の操作ログを抽出対象に包含するとしたが、文書がオープン、編集、クローズされる際、その文書のオープン操作３０分前までに操作された文書の操作ログを抽出対象に包含するとしてもよい。
【０１２３】
さらに、フローチャート図１５の説明を補足する。
上記ステップＳ１５０７では、チェックアウト操作３０分前までに操作された文書、また、上記補足でオープン操作３０分前までに操作された文書の操作ログを抽出対象に包含するとしたが、該当の３０分前という時間幅を、作業環境に応じて、伸縮しても構わない。同時に利用する文書を、作業時間のどの位前の時間に開くかは、作業の種別によって異なるため、ユーザの作業環境に応じて、この時間を５分に縮めたり、３時間に伸ばしたりしても構わない。
【０１２４】
また、上記のフローチャート図１５および補足では、チェックアウト前および編集時のオープン前に操作された文書を抽出対象に包含するとしたが、作業環境によっては、チェックイン後に操作した文書、または、編集後にクローズした後に操作された文書も関連文書である場合もありうる。そのため、上記のフローチャート図１５において、該当の文書ＩＤの文書に対するチェックイン３０分後までに操作された文書の操作ログを参照可能なログとして、抽出対象に包含するステップを加えても構わない。
【０１２５】
図１６は、レコメンドサービス３０７のレコメンド実行時の動作の一例を示すフローチャートである。このフローチャートを用いて、前述の図３の説明時に述べた特定の文書に対する操作ログのみを公開しているユーザが存在する場合のレコメンド手順における処理の詳細を説明する。このフローチャートの処理は、レコメンドサーバ１０７のＣＰＵ２０１が間接記憶部２０３にコンピュータ読み取り可能に記録されたプログラム（レコメンドサービス３０７を実現するプログラム）を直接記憶部２０２に読み出して実行することにより実現される。
【０１２６】
レコメンドサービス３０７は、レコメンドサーバ１０７の外部インターフェース２０６を介して、レコメンド対象ユーザと対象文書のパラメータと共に、レコメンド要求を受け取った際、以下のステップを実行する。
【０１２７】
ステップＳ１６０１において、レコメンドサービス３０７は、外部インターフェース２０６を介して、ログ開示情報管理サービス３０９からレコメンド対象ユーザ（レコメンド対象者）に対するログ開示情報を取得する。ログ開示情報管理サービス３０９は、レコメンドサービス３０７からのユーザ情報を伴うログ開示情報取得要求に従い、文書操作ログ開示状態保持テーブル５０１の縦項目から該当のユーザを探し、そのユーザの行における設定値を、横項目の登録ユーザの項目値と共に返す。例えば、ユーザ「４５_ＪＵＮ」に対するログ開示情報を取得する場合、カラム５４１〜５４３の値を含むカラム群を、カラム５１１〜５１３の値を含むマトリクスの横項目の登録ユーザの行の値と共に返す。
【０１２８】
ステップＳ１６０２で、レコメンドサービス３０７は、前述の図３の説明時に述べたレコメンド手順Ｓ１〜Ｓ３を実行し、レコメンド結果を算出する。
ステップＳ１６０３で、レコメンドサービス３０７は、レコメンド対象ユーザに対するログ開示情報のカラム群に、レコメンド対象文書の文書ＩＤを持つカラムがあるかを確認する。
そして、上記ステップＳ１６０３で、レコメンド対象ユーザのログ開示情報のカラム群の中に、レコメンド対象文書の文書ＩＤを持つカラムが存在すると判定した場合（Ｓ１６０３でＹｅｓの場合）、レコメンドサービス３０７は、ステップＳ１６０４に処理を進める。
【０１２９】
ステップＳ１６０４では、レコメンドサービス３０７は、該カラムに該当するユーザにより一定時間内にレコメンド対象文書と同時に操作された文書の生起確率が、レコメンド対象文書以外で最も重みの高い値を持つ文書の情報を、前記カラムに該当するユーザの文書と文書のプロファイリングのマトリクスから取得する。
【０１３０】
例えば、レコメンド対象ユーザ「４５_ＪＵＮ」のログ開示情報のカラム群のうち、レコメンド対象文書「サンプルＢ１.ｄｏｃ」の文書ＩＤを持つカラムが「０１_ＴＡＲＯ」のカラムであり、「０１_ＴＡＲＯ」の文書と文書のマトリクスが図１３（ｂ）である場合を例に説明する。この場合、レコメンド対象文書「サンプルＢ１.ｄｏｃ」（図１３（ｂ）では「文書Ｂ」とする）と同時に操作された文書の生起確率が最も高い重み値を保持するカラムに該当する「文書Ｃ」を取得する。例えば、文書Ｃは、文書「サンプルガイドＸ１.ｐｐｔ」である。また、該当する文書が複数存在する場合には全て取得する。
【０１３１】
ステップＳ１６０５において、レコメンドサービス３０７は、上記ステップＳ１６０４で取得したレコメンド対象文書以外で最も高い重み値を保持するカラムに該当する文書（第１の関連文書）を、上記ステップＳ１６０２で算出したレコメンド結果（第２の関連文書）よりも上位に配置する（上位のレコメンドとする）。さらに、レコメンドサービス３０７は、該配置した文書のレコメンド理由を、前記カラムに該当するユーザがレコメンド対象文書と同時によく利用した文書として設定する。
【０１３２】
例えば、Ｓ１６０４で取得したレコメンド対象文書以外で最も高い重み値を保持するカラムに該当する文書「サンプルガイドＸ１.ｐｐｔ」のレコメンド理由を、ユーザ「０１_ＴＡＲＯ」がレコメンド対象文書「サンプルＢ１.ｄｏｃ」と同時によく利用した文書と設定する。
【０１３３】
ステップＳ１６０６において、レコメンドサービス３０７は、レコメンド要求元にレコメンド結果を返し、処理を終了する。
また、上記ステップＳ１６０３において、レコメンド対象ユーザのログ開示情報のカラム群の中に、レコメンド対象文書の文書ＩＤを持つカラムが存在しない場合、レコメンドサービス３０７は、そのままステップＳ１６０６に処理を進める。この場合、レコメンドサービス３０７は、ステップＳ１６０６において、上記ステップＳ１６０２で算出したレコメンド結果をそのままレコメンド要求元に返し、処理を終了する。
【０１３４】
図９は、レコメンド対象ユーザのログ開示情報にレコメンド対象文書の文書ＩＤを持つカラムがある場合のレコメンドペイン４３１の表示（図１６の処理結果の表示）の一例を示す図である。
【０１３５】
図９に示すように、お薦め文書９１１「サンプルガイドＸ１.ｐｐｔ」が、ユーザ「０１_ＴＡＲＯ」がレコメンド対象文書「サンプルＢ１.ｄｏｃ」と同時によく利用した文書として、レコメンド理由９１２と共に、レコメンドリスト表示部４３９の上位に表示されている。
【０１３６】
なお、上記図１６のステップＳ１６０３、Ｓ１６０４において、レコメンド対象ユーザのログ開示情報のカラム群の中に、レコメンド対象文書の文書ＩＤを持つカラムに加えて、値「１」のカラムに該当するユーザにより一定時間内にレコメンド対象文書と同時に操作された文書の生起確率が最も高い値を持つ文書の情報を取得するように構成してもよい。
【０１３７】
［文書操作ログ開示状態が更新された際の検索関連の動作］
図１４のフローチャートのステップＳ１４０８により、文書管理サービス３０４が、文書管理サーバ１０４の外部インターフェース２０６を介して、ＳＮＳサービス３０８から、ＳＮＳ登録ユーザの文書操作ログ開示状態保持テーブル５０１のカラムが特定の文書ＩＤに更新されたことを通知された際、文書管理サービス３０４は、以下の動作を実行する。
【０１３８】
文書管理サービス３０４は、文書管理サーバ１０４の外部インターフェース２０６を介して、文書操作ログ開示状態保持テーブル５０１の更新されたカラム情報を、ログ開示情報管理サービス３０９から取得する。
【０１３９】
次に、文書管理サービス３０４は、文書操作ログ開示状態保持テーブル５０１から取得した更新カラム情報から、文書ＩＤの値を持つカラムを抜き出す。そして、文書管理サービス３０４は、その抜き出したカラムに該当する横項目の登録ユーザの値と、その文書ＩＤに該当する文書名から、検索場所プルダウンリストボックス１００２（後述する図１０）に新たな検索場所アイテムを追加する。
【０１４０】
具体的に文書管理サービス３０４が追加する検索場所アイテムは、該当の登録ユーザの操作ログにおける該当の文書ＩＤの文書に関連する文書を検索するためのアイテムである。例えば、図５のカラム５４１の値が「サンプルＢ１.ｄｏｃ」に対応する文書ＩＤに変更された場合、図１０のように、「「０１_ＴＡＲＯ」さん開示ログにおける「サンプルＢ１.ｄｏｃ」関連文書」のような検索場所アイテムの追加を行う。検索場所アイテムは、検索場所プルダウンリストボックス１００２のプルダウンリストボックスから選択可能である。
【０１４１】
このログ開示したユーザの操作ログから検索を行うための検索場所アイテムを選択して検索を行った際の動作は、後述のフローチャート図１７で説明する。
なお、文書管理サービス３０４が、外部インターフェース２０６を介して、ＳＮＳサービス３０８から、ＳＮＳ登録ユーザの文書操作ログ開示状態保持テーブル５０１のカラムが「１」に更新されたことを通知された際、文書管理サービス３０４は、上述の、特定の文書ＩＤに更新されたことを通知された際の処理と同様の処理を行い、例えば、図１０の検索場所プルダウンリストボックス１００２のプルダウンリストボックスに、「「０１_ＴＡＲＯ」さん開示ログ」のような検索場所アイテムの追加を行ってもよい。
【０１４２】
図１０は、文書管理サービス３０４が提供する文書管理クライアントＵＩの検索ペインの表示例を示す図である。
なお、検索ペインは、図４に示した文書管理クライアントＵＩ上の検索ペインの表示・非表示を切り替えるボタン４０８の押下により、文書管理クライアントＵＩ上に表示される。文書管理クライアントＵＩ上の表示位置は、ナビゲーションペイン４１１と、レコメンドペイン４３１の間となる。
【０１４３】
図１０において、１００１は、文書の検索を行う検索ペインであり、全文検索と属性検索の機能を提供する。
検索ペイン１００１において、１００２は、検索場所を指定するプルダウンリストボックスである。ナビゲーションペイン４１１でライブラリーやフォルダーが選択され、現在の場所が変更された際、検索場所プルダウンリストボックス１００２に現在の場所が検索場所として入力される。また、検索場所プルダウンリストボックス１００２には、上述しように、ログ開示したユーザ操作ログにある文書（図１０では、「０１_ＴＡＲＯ」さん開示ログにおける「サンプルＢ１.ｄｏｃ」関連文書）もリストアップされており、リストボックス１００２にリストされた検索場所アイテムからも選択可能である。
【０１４４】
１００３は、検索方法として、全文検索を選択するラジオボタンであり、１００４は、検索方法として、属性検索を選択するラジオボタンである。なお、全文検索選択ボタン１００３と属性検索選択ボタン１００４は、排他関係になっており、どちらか一つを選択することができる。デフォルトボタンは、全文検索選択ボタン１００３の方である。そのため、検索ペインの表示・非表示を切り替えるボタン４０８の押下により検索ペイン１００１が開かれた際、通常、全文検索選択ボタン１００３が選択された状態で検索ペイン１００１が表示される。
【０１４５】
１００５は、全文検索の検索キーワードを入力するテキストボックスであり、全文検索選択ボタン１００３が選択されている際、検索キーワードテキストボックス１００５への入力が可能になる。
【０１４６】
１００６は、属性検索の条件式で一つ以上の検索条件式が指定された際、それら繋ぐ論理演算子を指定するプルダウンリストボックスである。プルダウンリストボックスには、「ＡＮＤ」と「ＯＲ」の２つの値がリストされており、どちらか一方が選択可能になっている。デフォルトでは、「ＡＮＤ」が選択される。
【０１４７】
１００７は、検索条件式をリストするフィールドである。検索条件式リストフィールド１００７内のコントロールは、属性検索選択ボタン１００４が選択されている際に、入力操作が可能となる。検索条件式リストフィールド１００７内のコントロールには、検索条件式の属性項目を指定するプルダウンリストボックス、検索条件式の一致条件を指定するプルダウンリストボックス、検索条件式の項目値テキストボックスが存在する。
【０１４８】
１００８は、検索を実行する検索ボタンである。検索ボタン１００８が押下されると、文書管理サービス３０４は、検索ペイン１００１での入力に従って、全文検索または属性検索の要求を、その検索条件のパラメータと共に、外部インターフェース２０６を介して、検索サービス３０６に送信する。文書管理サービス３０４は、送信した検索要求に対する応答結果として、検索サービス３０６から検索結果を受信した際、その検索結果をファイルリストビューペイン４２１に表示する。
１００９は、検索ペイン１００１の入力状態を初期状態に戻すクリアボタンである。
【０１４９】
図１７は、検索サービス３０６の検索実行時のフローチャートである。このフローチャートを用いて、ログ開示したユーザの操作ログにある文書から検索を行う際の動作を説明する。なお、このフローチャートの処理は、検索サーバ１０６のＣＰＵ２０１が間接記憶部２０３にコンピュータ読み取り可能に記録されたプログラム（検索サービス３０６を実現するプログラム）を直接記憶部２０２に読み出して実行することにより実現される。
【０１５０】
検索サービス３０６は、検索サーバ１０６の外部インターフェース２０６を介して、文書管理サービス３０４から、全文検索または属性検索の要求を、その検索条件のパラメータと共に受信した際、以下のステップを実行する。
【０１５１】
ステップＳ１７０１において、検索サービス３０６は、検索条件のパラメータの一つとして受け取った検索場所が、ライブラリーやフォルダーではなく、ログ開示したユーザの操作ログにある文書から検索を行うための検索場所指定であるか否かを判定する。
【０１５２】
そして、上記ステップＳ１７０１において、検索サービス３０６は、指定された検索場所が、ログ開示したユーザの操作ログにある文書から検索を行うための検索場所指定であると判定した場合（Ｓ１７０１でＹｅｓの場合）、ステップＳ１７０２を実行する。
【０１５３】
ステップＳ１７０２において、検索サービス３０６は、ログ開示ユーザの操作ログから検索を行うための検索場所指定のパラメータ値から、ユーザ名と文書ＩＤを取得する。例えば、ユーザ名「０１_ＴＡＲＯ」と、文書「サンプルＢ１.ｄｏｃ」に該当する文書ＩＤを取得する。
【０１５４】
ステップＳ１７０３において、検索サービス３０６は、外部インターフェース２０６を介して、ログ管理サービス３０５から文書管理サービス３０４での文書操作ログを取得する。
【０１５５】
ステップＳ１７０４〜Ｓ１７０７において、検索サービス３０６は、上記Ｓ１７０２で取得したユーザ名と文書ＩＤの値に応じて、文書操作ログから検索対象文書をリストアップする。以下、各ステップについて詳細に説明する。
【０１５６】
まず、ステップＳ１７０４において、検索サービス３０６は、検索対象文書ＩＤの文字列をリストアップするための空のリストを作成する。このリストは、重複した値を保持しない、ユニークな値のみを保持するユニークリストである。すなわち、このリストに値の追加を行う際、既にその値がリストに存在すれば、リストへの新規追加は行わない。
【０１５７】
ステップＳ１７０５において、検索サービス３０６は、上記Ｓ１７０２で取得した文書ＩＤを検索対象文書ＩＤのユニークリストに追加する。
ステップＳ１７０６において、検索サービス３０６は、上記Ｓ１７０２で取得したユーザ名のユーザによる、上記Ｓ１７０２で取得した文書ＩＤの文書に対するチェックアウト、チェックインの間に操作された文書の文書ＩＤを、検索対象文書ＩＤのユニークリストに追加する。
【０１５８】
ステップＳ１７０７において、検索サービス３０６は、上記Ｓ１７０２で取得したユーザ名のユーザによる、上記Ｓ１７０２で取得した文書ＩＤの文書に対するチェックアウト操作３０分前までに操作された文書の文書ＩＤを、検索対象文書ＩＤのユニークリストに追加する。
以上で、ステップＳ１７０４〜Ｓ１７０７の説明を終了する。
【０１５９】
次に、ステップＳ１７０８において、検索サービス３０６は、上記ステップＳ１７０４〜Ｓ１７０７でリストアップした文書ＩＤの文書の文書情報を、文書管理サービス３０４から取得する。
【０１６０】
ステップＳ１７０９において、検索サービス３０６は、文書管理サービス３０４から取得した文書情報を対象に、検索場所以外の検索条件のパラメータ（１００３~１００７）に従って、直接、要求された全文検索または属性検索を実行し、Ｓ１７１１に処理を進める。この文書管理サービス３０４から取得した文書情報に対する直接検索の際、前述したインデキシング結果は用いない。
【０１６１】
また、上記ステップＳ１７０１において、検索サービス３０６は、検索条件として受け取った検索場所が、ログ開示したユーザの操作ログから検索を行うための指定ではないと判定した場合（Ｓ１７０１でＮｏの場合）、ステップＳ１７１０を実行する。
【０１６２】
ステップＳ１７１０において、検索サービス３０６は、検索条件のパラメータに従い、前述したインデキシング結果を用いて、要求された全文検索または属性検索を実行し、Ｓ１７１１に処理を進める。
【０１６３】
ステップＳ１７１１では、検索サービス３０６は、上記ステップＳ１７０９またはステップＳ１７１０の検索実行結果を、要求元である文書管理サービス３０４に返し、処理を終了する。
【０１６４】
なお、検索サービス３０６は、全文検索の要求で、検索条件のパラメータである検索キーワードが空の場合、検索結果として、検索条件のパラメータである検索場所に存在する全ての文書を返す。すなわち、上記ステップＳ１７０９（又はＳ１７１０）において、全文検索の要求、かつ、検索条件のパラメータである検索キーワードが空の場合、検索サービス３０６は、検索対象文書ＩＤのユニークリストに存在する全ての文書を検索結果として返す。
【０１６５】
図１１は、検索条件のパラメータの検索場所指定がログ開示したユーザの操作ログにある文書、かつ、検索キーワード指定が空の場合の全文検索の実行結果を表示する文書管理クライアントＵＩのファイルリストビューペイン４２１の表示例を示す図である。
【０１６６】
以下、フローチャート図１７の説明を補足する。
上記ステップＳ１７０５で、チェックアウト、チェックインの間に操作された文書の文書ＩＤを検索対象文書ＩＤのユニークリストに追加するとしたが、文書がオープン、編集、クローズされる合間に操作された文書の文書ＩＤを検索対象文書ＩＤのユニークリストに追加するとしてもよい。
【０１６７】
また、上記ステップＳ１７０６で、チェックアウト操作３０分前までに操作された文書の文書ＩＤを検索対象文書ＩＤのユニークリストに追加するとしたが、文書がオープン、編集、クローズされる際、その文書のオープン操作３０分前までに操作された文書の文書ＩＤを検索対象文書ＩＤのユニークリストに追加するとしてもよい。
【０１６８】
更に、フローチャート図１７の説明を補足する。
上記ステップＳ１７０６でチェックアウト操作３０分前までに操作された文書、かつ、上記補足でオープン操作３０分前までに操作された文書の文書ＩＤを検索対象文書ＩＤのユニークリストに追加するとしたが、該当の３０分前という時間幅を、作業環境に応じて、伸縮しても構わない。同時に利用する文書を、作業時間のどの位前の時間に開くかは、作業の種別によって異なるため、ユーザの作業環境に応じて、この時間を５分に縮めたり、３時間に伸ばしたりしても構わない。
【０１６９】
また、上記のフローチャートおよび補足では、チェックアウト前の文書および編集時のオープン前の文書の文書ＩＤをユニークリストに追加するとしたが、作業環境によっては、チェックイン後に操作した文書、または、編集後にクローズした後に操作された文書も関連文書である場合もありうる。そのため、上記のフローチャートにおいて、該当の文書ＩＤの文書に対するチェックイン３０分後までに操作された文書の文書ＩＤを検索対象文書ＩＤのユニークリストに追加するステップを加えても構わない。
【０１７０】
以上示したように、本発明の実施例１によれば、ログ開示者によって開示された操作ログに操作記録がある文書群を検索対象にして、キーワード検索や属性検索などの検索を行うことにより、特定の文書およびその文書と同時に使われた関連文書に絞り込んだ検索を行うことができ、ある特定の文書およびその関連文書を対象にした検索において、ノイズの少ない検索結果を得ることができる。
【０１７１】
更に、特定の文書に対する操作ログの開示を、特定のユーザに要求することにより、他のユーザの操作ログが非公開の場合であっても、該当のユーザから操作ログの開示許可が得られれば、該当のユーザがその特定の文書と同時に利用した関連文書を対象に検索を行うことができる。そのため、あるユーザがある文書を作成した際に参考にした関連文書が不明であっても、そのユーザの該当の文書に関連する操作ログが開示されれば、該当の操作ログから関連文書を検出することができ、その関連文書に絞り込んだ検索を行うことができる。また、そのユーザが開示した操作ログを検索対象にして、検索キーワードを指定せずに検索を行えば、検索結果として、該当のユーザが特定の文書と同時に利用した全ての関連文書を抽出することができる。
【実施例２】
【０１７２】
上述した実施例１によれば、文書管理クライアントＵＩのログインユーザは、ＳＮＳペイン４７１のユーザ表示タブ４７４において、ファイルリストビューペイン４２１で現在選択中の文書に対する操作ログを、どのＳＮＳ登録ユーザが開示しているかを確認することができた。
【０１７３】
しかしながら、該当の文書に対する操作ログを開示しているからと言って、その開示ユーザが該当の文書に対して操作（ここでは、更新）を行ったことがあるとは限らない。操作（更新）を行ったことがない場合、開示ユーザによる該当の文書に対する操作ログは存在しないことになる。この状況では、その開示ユーザの操作ログを検索場所に指定して検索を行っても、該当の文書に関連する文書の検索結果は、ゼロ（無し）になり、該当の文書と同時に利用された文書を検索で探しあてることができない。また、この場合、新たに追加される操作ログの情報がないため、レコメンドサービス３０７により返されるレコメンド結果に変化はない。
【０１７４】
そのため、新たなログ開示が行われても、レコメンド結果を変えることができず、目当ての文書も可能性を持つ新たな文書に辿りつくことができない。
よって、実施例２では、操作ログ以外で開示されている情報（後述する「文書のバージョン管理履歴リスト」）のみを利用して、該当の文書に対する操作を行ったことがあるユーザをリストアップし、そのリストアップされたユーザに対し、ログ開示の要求を送信することができるようにする。
本発明の実施例２では、文書管理サービス３０４は、コンタクトリストを文書管理クライアントＵＩのＳＮＳペイン４７１に表示する。以下、図１２を用いて説明する。
【０１７５】
図１２は、本発明の実施例２における、コンタクトリストを有する文書管理クライアントＵＩのＳＮＳペイン４７１の表示例を示す図である。
図１２において、１２０１はコンタクトリストタブであり、ＳＮＳに登録しているユーザの一覧から、特定のカテゴリーに属するＳＮＳ登録ユーザを、コンタクトリストとして表示する。
【０１７６】
図１２の例では、文書「サンプルＢ１.ｄｏｃ」を編集したことがあるＳＮＳ登録ユーザを、カテゴリーとして、表示している。また、図１２の例では、文書管理クライアントＵＩの現在のログインユーザに対して、ログ未開示者を表示している。
【０１７７】
１２０２は、コンタクトリスト表示部である。コンタクトリスト表示部１２０２において、１２０３は、コンタクトリストのカテゴリーを表示するプルダウンリストボックスである。
【０１７８】
１２０４は、コンタクトリストにリストアップされたユーザの一覧表示部である。ユーザの一覧表示部には、ユーザ名、そのユーザによる文書操作ログの開示状況、操作ログ開示要求送信ボタン１２０５〜１２０６が表示される。
【０１７９】
操作ログ開示要求送信ボタン１２０５〜１２０６は、文書管理クライアントＵＩのログインユーザに対して文書「サンプルＢ１.ｄｏｃ」の操作ログを開示していないユーザに対応して表示される。
【０１８０】
１２０７は、開示要求一斉送信ボタンである。ユーザの一覧表示部１２０４で操作ログ開示要求送信ボタンが表示されているユーザに対して、文書「サンプルＢ１.ｄｏｃ」に関連する操作ログの開示要求を一斉送信する（一斉要求する）ためのものである。
【０１８１】
１２０８は、開示要求一斉送信ボタンのラベルである。１２０７、１２０８のコントロールは、カテゴリー表示プルダウンリストボックス１２０３の選択項目に応じて、表示が変更される。図１２での表示状態は、「「サンプルＢ１.ｄｏｃ」の文書編集者」カテゴリーのコンタクトリスト表示時の例である。
【０１８２】
図１２における「「サンプルＢ１.ｄｏｃ」の文書編集者」カテゴリーは、文書管理クライアントＵＩのファイルリストビューペイン４２１で「サンプルＢ１.ｄｏｃ」４２３が選択された際に、カテゴリー表示プルダウンリストボックス１２０３で選択可能となる。
【０１８３】
図１８は、本発明の実施例２における、文書管理クライアントＵＩのＳＮＳペイン４７１のコンタクトリストタブ１２０１のカテゴリー表示プルダウンリストボックス１２０３で「「サンプルＢ１.ｄｏｃ」の文書編集者」カテゴリーが選択された際のＳＮＳサービス３０８のフローチャートである。なお、このフローチャートの処理は、ＳＮＳサーバ１０８のＣＰＵ２０１が間接記憶部２０３にコンピュータ読み取り可能に記録されたプログラム（ＳＮＳサービス３０８を実現するプログラム）を直接記憶部２０２に読み出して実行することにより実現される。
【０１８４】
ＳＮＳサービス３０８は、ユーザの一覧表示部１２０４に表示するユーザのリストアップ、および、文書操作ログの開示状況の表示、操作ログ開示要求送信ボタンの表示／非表示の決定を以下のように行う。
【０１８５】
ステップＳ１８０１において、ＳＮＳサービス３０８は、カテゴリー表示プルダウンリストボックス１２０３で選択されたカテゴリー名に含まれる文書の文書ＩＤに対応する文書のバージョン管理履歴リストの情報を、文書管理サービス３０４を介して、取得する。
【０１８６】
ステップＳ１８０２において、文書管理サービス３０４から取得した文書のバージョン管理履歴リストの情報から、文書のバージョン更新を行ったユーザ名をリストアップする。一般的に、文書のバージョン更新は、文書のチェックアウト、編集、チェックインの一連の操作が行われた際、文書管理サービスによって自動的に行われ、バージョン管理履歴リストに追加される。
【０１８７】
ステップＳ１８０３において、ＳＮＳサービス３０８は、外部インターフェース２０６を介して、ログ開示情報管理サービス３０９から、文書管理クライアントＵＩの現在のログインユーザのログ開示情報を取得する。
【０１８８】
ログ開示情報管理サービス３０９は、ＳＮＳサービス３０８からのユーザ情報を伴うログ開示情報取得要求に従い、文書操作ログ開示状態保持テーブル５０１の縦項目から該当のユーザを探し、そのユーザの行における設定値を、横項目の登録ユーザの項目値と共に返す。例えば、ユーザ「４５_ＪＵＮ」に対するログ開示情報を取得する場合、カラム５４１〜５４３の値を含むカラム群を、カラム５１１〜５１３の値を含むマトリクスの横項目の登録ユーザの行の値と共に返す。
【０１８９】
ステップＳ１８０４において、ＳＮＳサービス３０８は、上記ステップＳ１８０３で取得したログ開示情報の中から、横項目の登録ユーザの項目値を基に、上記ステップＳ１８０２でリストアップしたユーザ名に対応するカラムの値を取得する。
【０１９０】
ステップＳ１８０５において、ＳＮＳサービス３０８は、ユーザ名に対応するカラムの値（０、１、または、文書ＩＤ）に応じて、カテゴリー表示プルダウンリストボックス１２０３で選択されたカテゴリー名に含まれる文書に対する操作ログの開示状態を判断する。
【０１９１】
ステップＳ１８０６において、ＳＮＳサービス３０８は、上記ステップＳ１８０５での開示状態判断に応じて、文書操作ログの開示状況の表示、操作ログ開示要求送信ボタンの表示／非表示を決定する。
【０１９２】
ステップＳ１８０７において、ＳＮＳサービス３０８は、上記ステップＳ１８０２でリストアップしたユーザ名の情報と、そのユーザ名に対応する上記ステップＳ１８０６で決定した文書操作ログの開示状況の表示、および、操作ログ開示要求送信ボタンの表示／非表示の情報を文書管理サービス３０４に送信し、処理を終了する。
【０１９３】
文書管理サービス３０４は、ＳＮＳサービス３０８から受信したユーザ名の情報と、そのユーザ名に対応する文書操作ログの開示状況の表示、および、操作ログ開示要求送信ボタンの表示／非表示の情報を基に、ユーザの一覧表示部１２０４の表示を行う。
【０１９４】
以上説明したように、本発明の実施例２によれば、文書のバージョン管理履歴リストを使って、該当の文書を操作したことがあるユーザの絞り込みを行い、それらのユーザに対してログ開示対象文書へのログ開示の要求ができるＵＩを構築することにより、該当の文書を操作したことがないユーザにログ開示要求を送信するのを避けることができる。
【０１９５】
また、対象の文書に対する操作を行ったことがあるユーザのリストアップを、文書の操作ログを使って行うのではなく、一般的な文書管理システムにおいて利用者全員に対して公開された情報である文書のバージョン管理履歴リストを利用して行うことにより、操作ログが非公開のユーザが存在したとしても、そのログ非公開のプライバシーを維持しながら、該当の文書に対する操作を行ったことがあるユーザのみをリストアップすることができる。
【０１９６】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１９７】
（他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１９８】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１９９】
３０４    文書管理サービス
３０５    ログ管理サービス
３０６    検索サービス
３０７    レコメンドサービス
３０８    ＳＮＳサービス
３０９    ログ開示情報管理サービス
４３１    レコメンドペイン
４７１    ＳＮＳペイン
５０１    文書操作ログ開示状態保持テーブル
１００１    検索ペイン
【図１】
2014235632.tif 000003
【図２】
2014235632.tif 000004
【図３】
2014235632.tif 000005
【図４】
2014235632.tif 000006
【図５】
2014235632.tif 000007
【図６】
2014235632.tif 000008
【図７】
2014235632.tif 000009
【図８】
2014235632.tif 000010
【図９】
2014235632.tif 000011
【図１０】
2014235632.tif 000012
【図１１】
2014235632.tif 000013
【図１２】
2014235632.tif 000014
【図１３】
2014235632.tif 000015
【図１４】
2014235632.tif 000016
【図１５】
2014235632.tif 000017
【図１６】
2014235632.tif 000018
【図１７】
2014235632.tif 000019
【図１８】
2014235632.tif 000020