(57)【特許請求の範囲】
【請求項１】
検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する中継装置であって、
前記複数の端末のうちのいずれかから入力される、１以上の検索キーワードを含む検索キーワード群を受け付ける受付部と、
前記受付部が受け付けた検索キーワード群を前記検索サーバに送信する送信部と、
過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第１の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないように前記送信部を制御する制御部と、を備える中継装置。
【請求項２】
前記ユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第２の閾値よりも低いユーザをまとめてユーザグループを生成するユーザグループ生成部を、更に備える請求項１に記載の中継装置。
【請求項３】
ユーザグループ生成部は、
前記複数の端末のうちのいずれかの端末を利用するユーザの属する組織ごとに、過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第３の閾値よりも低い組織をまとめて組織グループを生成し、
前記組織グループ内で異なる組織に属するユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が前記所定の第２の閾値よりも低いユーザをまとめてユーザグループを生成することを特徴とする請求項２に記載の中継装置。
【請求項４】
前記送信部が前記検索サーバに前記検索キーワード群を送信した場合に、当該検索キーワード群に基づいて前記検索サーバにて生成された情報を格納する格納部と、
前記送信部が前記検索サーバに前記検索キーワード群を送信しない場合に、前記送信しない検索キーワード群と同一の検索キーワード群に基づいて過去に前記検索サーバで生成された情報を、前記格納部から読み出して、前記端末に提供する情報提供部と、を更に備える請求項１〜３のいずれか一項に記載の中継装置。
【請求項５】
検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する処理をコンピュータに実行させる中継プログラムであって、
前記複数の端末のうちのいずれかから入力される、１以上の検索キーワードを含む検索キーワード群を受け付け、
前記受け付けた検索キーワード群を前記検索サーバに送信する送信する処理を前記コンピュータに実行させ、
前記送信をする処理では、過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第１の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないようにすることを特徴とする中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、中継装置及び中継プログラムに関する。
【背景技術】
【０００２】
検索サービスを提供する検索サーバは、検索者から検索キーワードが入力されると、検索キーワードに応じた検索結果（例えば、検索キーワードを含むウェブサイトの情報や、検索キーワードを含む記事など）を検索者に提供する。このような検索サービスは、個人ユーザのみならず、企業内においても積極的に利用されている。
【０００３】
企業内で検索サービスを利用する場合、入力される検索キーワードは、業務に関連した用語（業界名や技術名）を含んでいることが多い。そのため、企業内である検索キーワードが爆発的・集中的に使用された場合、当該爆発的・集中的な使用の発生タイミングなどから社外秘の情報や企業内のトレンドが、検索サービスの提供者に知られてしまうおそれがある。なお、以下においては、検索キーワードの爆発的・集中的な使用を、「バースト的な検索」と呼ぶものとする。
【０００４】
こうした状況を踏まえ、最近では、企業において、バースト的な検索が行われる予兆を検知（予測）し、その発生タイミングと検索意図を隠蔽する仕組みを実現することが求められている。なお、特許文献１には、時間幅ごとの検索キーワード使用回数を監視して、将来の検索回数を推定し、推定された検索回数とその順位からキーワード上昇度を予測して、バースト的な検索の予兆を検知する方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−３５０３４号公報
【特許文献２】特開昭６３−２０４４３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１の方法では、バースト的に検索キーワードが使用されると判定した時点で、既に大量の検索が行われた後である可能性が高く、バースト的な検索の隠蔽が手遅れとなるおそれがある。
【０００７】
また、例えば、検索キーワードにダミーキーワードを追加して検索を行い、検索意図を隠蔽する方法も知られているが、この方法では、バースト的に検索キーワードが使用されているタイミングを隠蔽することはできない。このため、検索サービスの提供者側で、当該タイミングに着目してキーワード分布を分析することで、検索意図が容易に予想できてしまうおそれがある。
【０００８】
なお、検索キーワードに対応する検索結果をキャッシュ上に保持しておき、キャッシュ上の検索結果を利用するという方法もある（例えば、特許文献２参照）。しかるに、検索サービスにおいて提供される検索結果が時々刻々と変化する場合、すなわちリアルタイムに近い時間間隔で検索結果が更新されるような場合には、キャッシュ上の検索結果は、時間経過とともに古い情報となる。このため、キャッシュ上の検索結果を利用し続けると、検索サービスが提供するサービスを有効に利用することができないこととなる。
【０００９】
そこで本件は上記の課題に鑑みてなされたものであり、検索サーバに、バースト的な検索の発生が知られる可能性を低減することが可能な中継装置及び中継プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本明細書に記載の中継装置は、検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する中継装置であって、前記複数の端末のうちのいずれかから入力される、１以上の検索キーワードを含む検索キーワード群を受け付ける受付部と、前記受付部が受け付けた検索キーワード群を前記検索サーバに送信する送信部と、過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第１の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないように前記送信部を制御する制御部と、を備える中継装置である。
【００１１】
本明細書に記載の中継プログラムは、検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する処理をコンピュータに実行させる中継プログラムであって、前記複数の端末のうちのいずれかから入力される、１以上の検索キーワードを含む検索キーワード群を受け付け、前記受け付けた検索キーワード群を前記検索サーバに送信する送信する処理を前記コンピュータに実行させ、前記送信をする処理では、過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第１の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないようにする中継プログラムである。
【発明の効果】
【００１２】
本明細書に記載の中継装置及び中継プログラムは、検索サーバに、バースト的な検索の発生が知られる可能性を低減することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】一実施形態に係る情報検索システム１００の概略図である。
【図２】ゲートウェイサーバのハードウェア構成図である。
【図３】ゲートウェイサーバの機能を示すブロック図である。
【図４】クラスタＤＢのデータ構造を示す図である。
【図５】キャッシュＤＢのデータ構造を示す図である。
【図６】図６（ａ）は、人事情報ＤＢのデータ構造を示す図であり、図６（ｂ）は、検索キーワード履歴ＤＢのデータ構造を示す図である。
【図７】図７（ａ）〜図７（ｄ）は、閾値ＤＢのデータ構造を示す図である。
【図８】図８（ａ）は、検索キーワードクラスタ生成処理を示すフローチャートであり、図８（ｂ）は検索処理を示すフローチャートである。
【図９】図８（ａ）のステップＳ１０の具体的処理を示すフローチャート（その１）である。
【図１０】図８（ａ）のステップＳ１０の具体的処理を示すフローチャート（その２）である。
【図１１】図８（ａ）のステップＳ１０の具体的処理を示すフローチャート（その３）である。
【図１２】図１２（ａ）〜図１２（ｆ）は、ステップＳ１０の具体的な処理を説明するための図（その１）である。
【図１３】図１０のステップＳ６０の具体的処理を示すフローチャートである。
【図１４】図１１のステップＳ７８の具体的処理を示すフローチャートである。
【図１５】図１５（ａ）〜図１５（ｅ）は、ステップＳ１０の具体的な処理を説明するための図（その２）である。
【図１６】図８（ｂ）のステップＳ２２の具体的処理を示すフローチャート（その１）である。
【図１７】図８（ｂ）のステップＳ２２の具体的処理を示すフローチャート（その２）である。
【図１８】図８（ｂ）のステップＳ２２の具体的処理を示すフローチャート（その３）である。
【図１９】図８（ｂ）のステップＳ２２の具体的処理を示すフローチャート（その４）である。
【図２０】図２０（ａ）〜図２０（ｆ）は、ステップＳ２２の具体的な処理を説明するための図（その１）である。
【図２１】図２１（ａ）〜図２１（ｆ）は、ステップＳ２２の具体的な処理を説明するための図（その２）である。
【図２２】図８（ｂ）のステップＳ２４の具体的処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、一実施形態について、図１〜図２２に基づいて詳細に説明する。図１には、中継装置としてのゲートウェイサーバ１２を含む情報検索システム１００の概略図が示されている。この図１に示すように、情報検索システム１００は、複数（図１では３つ表示）の端末１０と、ゲートウェイサーバ１２と、データベースサーバ１４と、検索サーバ１６とを含んでいる。なお、各装置間は、ＬＡＮ（Local Area Network）やインターネットなどのネットワークにより接続されている。
【００１５】
端末１０は、ＰＣ（Personal Computer）、携帯電話、ＰＨＳ（Personal Handy-phone System）、ＰＤＡ（Personal Digital Assistant）等を含み、ゲートウェイサーバ１２と通信可能に接続されている。なお、端末１０は、ある企業の従業員が使用できる端末であるものとする。従業員は、端末１０のブラウザ上に表示されている検索サイトにおいて、検索キーワード群（検索キーワードを１つ以上含む）を入力し、検索ボタンを押すことで、検索キーワード群に応じた検索結果データを閲覧することができる。
【００１６】
ゲートウェイサーバ１２は、検索サービスを提供する検索サーバ１６と複数の端末１０との間での情報のやり取りを中継する装置である。図２には、ゲートウェイサーバ１２のハードウェア構成が示されている。図２に示すように、ゲートウェイサーバ１２は、コンピュータとしてのＣＰＵ９０、ＲＯＭ９２、ＲＡＭ９４、記憶部（ここではＨＤＤ（Hard Disk Drive））９６、入出力部９７、可搬型記憶媒体用ドライブ９９等を備えている。ゲートウェイサーバ１２の構成各部は、バス９８に接続されている。ゲートウェイサーバ１２では、ＲＯＭ９２あるいはＨＤＤ９６に格納されているプログラム（中継プログラム）、又は可搬型記憶媒体用ドライブ９９を介して可搬型記憶媒体９１から読み出したプログラム（中継プログラム）をＣＰＵ９０が実行することにより、図３の各部の機能が実現される。
【００１７】
図３には、ゲートウェイサーバ１２の機能ブロック図が示されている。この図３に示すように、ゲートウェイサーバ１２は、受付部２０と、送信部としての検索キーワード送信部２２と、検索キーワードバースト使用予測部２４と、制御部としての検索キーワード隠蔽制御部２６と、ユーザグループ生成部としての検索キーワードクラスタ生成部２８と、情報出力部３０として機能する。なお、図３では、ＨＤＤ９６に格納されているデータベースとしてのクラスタＤＢ４０と、格納部としてのキャッシュＤＢ４２も図示されている。
【００１８】
受付部２０は、端末１０のブラウザ上において入力された検索キーワード群（１以上の検索キーワードを含む）を受け付ける。検索キーワード送信部２２は、受付部２０において受け付けられた検索キーワード群を、検索サーバ１６に送信する機能を有する。また、検索キーワード送信部２２は、検索キーワードバースト使用予測部２４に対して検索キーワード群を送信する機能も有している。検索キーワードバースト使用予測部２４は、検索キーワード送信部２２から受信した検索キーワード群を用いて、バースト的な検索（検索キーワードの爆発的・集中的な使用）が発生するか否かを予測する。なお、バースト的な検索が発生するか否かの具体的な予測方法については、後述する。
【００１９】
検索キーワード隠蔽制御部２６は、検索キーワードバースト使用予測部２４の予測結果に基づいて検索キーワード群を隠蔽するか否かを判断する。そして、隠蔽すると判断された場合には、検索キーワード隠蔽制御部２６は、検索キーワード群を検索サーバ１６に送信しないように検索キーワード送信部２２を制御する。また、検索キーワード隠蔽制御部２６は、検索サーバ１６から送信されてくる検索結果データをキャッシュ４２に格納する。さらに、検索キーワード隠蔽制御部２６は、検索キーワード群を隠蔽する場合には、隠蔽した検索キーワード群で過去に検索したときの検索結果データをキャッシュＤＢ４２から読み出し、情報出力部３０に送信する。
【００２０】
検索キーワードクラスタ生成部２８は、データベースサーバ１４に格納されている情報に基づいて、端末１０を利用するユーザをまとめてユーザグループ（母集団）を生成し、クラスタＤＢ４０に格納する。なお、検索キーワードクラスタ生成部２８の具体的な処理については、後述する。
【００２１】
情報出力部３０は、検索キーワード送信部２２から送信された検索キーワード群に基づいて、検索サーバ１６が生成した検索結果データを受信する。そして、情報出力部３０は、検索キーワード群を入力した端末１０に対して、検索結果データを出力する。また、情報出力部３０は、検索サーバ１６に対して検索キーワード群が送信されない場合には、検索キーワード隠蔽制御部２６から送信されてきた情報（キャッシュＤＢ４２上の過去の検索結果データ）を端末１０に対して出力する。なお、キャッシュＤＢ４２上に検索キーワード群に対応する過去の検索結果データが存在していない場合には、情報出力部３０は、端末１０に対してエラーメッセージを出力する。
【００２２】
クラスタＤＢ４０には、通常の状態（バースト的な検索が行われていない状態）で、入力する検索キーワード群に関連性がほとんど無い従業員（検索傾向の異なる従業員）をまとめたグループ（母集団）が格納される。クラスタＤＢ４０に格納されるデータは、図４に示すようなデータであり、具体的には、母集団ＩＤの項目と、組織ＩＤの項目と、検索キーワードの項目と、監視開始日時、終了日時の項目と、キーワード使用者情報リストと、を含んでいる。
【００２３】
キャッシュＤＢ４２には、過去の検索結果データが格納される。キャッシュＤＢ４２のデータ構造は、図５のようになっている。具体的には、キャッシュＤＢ４２は、検索キーワードの項目と、当該検索キーワードに基づいて生成された検索結果データの項目と、最終更新日時の項目とを有している。なお、同一の検索キーワード群から生成された検索結果データが既にキャッシュＤＢ４２に格納されている場合には、既に格納されている検索結果データが、最新の検索結果データで更新されることになる。
【００２４】
データベースサーバ１４は、図３に示すように、人事情報ＤＢ５２、検索キーワード履歴ＤＢ５４、及び閾値ＤＢ５６を含んでいる。
【００２５】
人事情報ＤＢ５２は、従業員の所属組織を管理するデータベースであり、図６（ａ）に示すように、従業員ＩＤと、当該従業員ＩＤを有する従業員が属する組織の組織ＩＤとが関連付けられている。検索キーワード履歴ＤＢ５４は、従業員の過去の検索履歴を管理するデータベースであり、図６（ｂ）に示すように、従業員ＩＤと、当該従業員ＩＤを有する従業員が過去に入力した検索キーワード履歴とが関連付けられている。閾値ＤＢ５６は、図７（ａ）〜図７（ｄ）に示すように、４つの閾値ＤＢを含んでいる。具体的には、第３の閾値としての組織間類似性閾値を定義するＤＢ（図７（ａ））と、第２の閾値としての従業員間類似性閾値を定義するＤＢ（図７（ｂ））と、監視時間幅を定義するＤＢ（図７（ｃ））と、第１の閾値としての均質度閾値を定義するＤＢ（図７（ｄ））と、を含んでいる。
【００２６】
図１に戻り、検索サーバ１６は、端末１０から送信される検索キーワード群に基づいて、検索結果データを生成し、端末１０に提供する機能を有する。なお、検索サーバ１６が提供する検索結果データは、時々刻々と変化、すなわちリアルタイムに近い時間間隔で更新されるものとする。
【００２７】
次に、上記のように構成される情報検索システム１００における処理について、具体的に説明する。情報検索システム１００では、図８（ａ）に示す検索キーワードクラスタ生成処理と、図８（ｂ）に示す検索処理とが、非同期にて行われる。
【００２８】
（検索キーワードクラスタ生成処理）
検索キーワードクラスタ生成処理では、図８（ａ）に示すように、ステップＳ１０において、検索キーワードクラスタ生成部２８が検索キーワードクラスタ生成処理のサブルーチンを実行する。具体的には、ステップＳ１０では、検索キーワードクラスタ生成部２８が、図９〜図１１に示すフローチャートに沿った処理を実行する。以下、これらのフローチャートの処理について詳細に説明する。
【００２９】
まず、図９のステップＳ３０では、検索キーワードクラスタ生成部２８が、人事情報ＤＢ５２（図６（ａ）参照）から全ての従業員ＩＤ、組織ＩＤを取得する。次いで、ステップＳ３２では、検索キーワードクラスタ生成部２８が、全ての組織ＩＤに対するループ処理を開始する。次いで、ステップＳ３４では、検索キーワードクラスタ生成部２８が、ステップＳ３０で取得した組織ＩＤのうちの１つを取り出す。
【００３０】
次いで、ステップＳ３６では、検索キーワードクラスタ生成部２８が、組織ＩＤが一致する従業員ＩＤ数分ループ処理を開始する。次いで、ステップＳ３８においては、検索キーワードクラスタ生成部２８が、ステップＳ３０で取得した従業員ＩＤのうちの１つを取り出す。次いで、ステップＳ４０では、検索キーワードクラスタ生成部２８が、検索キーワード履歴ＤＢ５４（図６（ｂ）参照）から、ステップＳ３８で取り出した従業員ＩＤの従業員が、過去に入力した検索キーワード履歴を取得する。次いで、ステップＳ４２では、検索キーワードクラスタ生成部２８が、全ての従業員ＩＤに対する処理が終わったか否かを判断する。ここでの判断が否定された場合には、ステップＳ３８に戻り、ステップＳ３８→Ｓ４０→Ｓ４２の処理・判断を繰り返す。一方、ステップＳ４２の判断が肯定された場合には、ステップＳ４４に移行する。
【００３１】
次いで、ステップＳ４４では、検索キーワードクラスタ生成部２８が、組織ＩＤ毎に検索キーワード履歴をマージする。次いで、ステップＳ４６では、検索キーワードクラスタ生成部２８が、全ての組織ＩＤに対して処理は終わったか否かを判断する。ここでの判断が否定された場合には、ステップＳ３４に戻り、ステップＳ３４〜ステップＳ４６までの処理・判断を繰り返す。一方、ステップＳ４６の判断が肯定された場合、すなわち、全ての組織ＩＤ、従業員ＩＤに対する処理が終了した場合には、ステップＳ４８に移行する。なお、ステップＳ４８に移行する段階では、図１２（ａ）の人事情報ＤＢ５２（図６（ａ）と同一）と、図１２（ｂ）の検索キーワード履歴ＤＢ５４（図６（ｂ）と同一）とから、図１２（ｃ）に示す中間データ１が生成されている。
【００３２】
図９に戻り、次のステップＳ４８では、検索キーワードクラスタ生成部２８が、閾値ＤＢ５６から組織間類似性閾値（図７（ａ）及び図１２（ｅ）参照）を取得する。
【００３３】
次いで、ステップＳ５０では、検索キーワードクラスタ生成部２８が、組織ＩＤ全てに対するループ処理（中間データ１を用いた処理）を開始する。次いでステップＳ５２では、検索キーワードクラスタ生成部２８が、中間データ１から、組織ＩＤを１つ取り出す。なお、ここで取り出された組織ＩＤを組織ＩＤ（Ａ）とする。次いで、ステップＳ５４では、検索キーワードクラスタ生成部２８が、組織ＩＤ全てに対するループ処理を更に開始する。具体的には、ステップＳ５６において、検索キーワードクラスタ生成部２８が、組織ＩＤを１つ取り出す。なお、ここで取り出された組織ＩＤを組織ＩＤ（Ｂ）とする。次いで、ステップＳ５８では、検索キーワードクラスタ生成部２８が、取り出した組織ＩＤが違うか否か、すなわち、組織ＩＤ（Ａ）≠組織ＩＤ（Ｂ）であるか否かを判断する。ここでの判断が否定された場合には、ステップＳ５６に戻り、検索キーワードクラスタ生成部２８は、別の組織ＩＤを再度取り出すこととなる。一方、ステップＳ５８の判断が肯定された場合には、ステップＳ６０に移行する。
【００３４】
ステップＳ６０では、検索キーワードクラスタ生成部２８が、検索キーワード類似度判定処理のサブルーチンを実行する。具体的には、検索キーワードクラスタ生成部２８は、図１３のフローチャートに沿った処理を実行する。
【００３５】
図１３の処理では、ステップＳ１０２において、検索キーワードクラスタ生成部２８が、組織ＩＤ（Ａ）→組織ＩＤ（Ｂ）の方向での類似度として、
（双方で一致する検索キーワード数）／（比較元で使用した検索キーワード総数）
を算出する。
【００３６】
例えば、組織ＩＤ（Ａ）が図１２（ｃ）の組織ＩＤ「６９７２」であり、組織ＩＤ（Ｂ）が図１２（ｃ）の組織ＩＤ「６５３５」であるとする。この場合、双方で一致する検索キーワードは、「統計」と「天気」であるので、双方で一致する検索キーワード数は「２」となる。また、比較元（ここでは、組織ＩＤ（Ａ）＝６９７２）で使用した検索キーワード総数は「９」となる。したがって、類似度は、２／９＝０．２２…となる（図１２（ｄ）の中間データ２参照）。
【００３７】
次いで、ステップＳ１０４では、検索キーワードクラスタ生成部２８が、組織ＩＤ（Ｂ）→組織ＩＤ（Ａ）の方向での類似度として、（双方で一致する検索キーワード数）／（比較元で使用した検索キーワード総数）を算出する。上記の例であれば、双方で一致する検索キーワードは、「統計」と「天気」であるので、双方で一致する検索キーワード数は「２」となる。また、比較元（ここでは、組織ＩＤ（Ｂ）＝６５３５）で使用した検索キーワード総数は「７」となる。したがって、この場合の類似度は、２／７＝０．２８となる（図１２（ｄ）の中間データ２参照）。
【００３８】
次いで、ステップＳ１０６では、検索キーワードクラスタ生成部２８が、組織ＩＤ（Ａ）→組織ＩＤ（Ｂ）方向、組織ＩＤ（Ｂ）→組織ＩＤ（Ａ）方向の双方とも類似度が閾値（図１２（ｅ）参照）以下であるか否かを判断する。ここでの判断が否定された場合には、図１３の処理を終了して、図１０のステップＳ６２に移行する。なお、上述した例では、組織ＩＤ（Ｂ）→組織ＩＤ（Ａ）方向の類似度が閾値（０．２５）よりも大きいので、ステップＳ１０６の判断は否定される。
【００３９】
一方、ステップＳ１０６の判断が肯定された場合には、ステップＳ１０８に移行する。ステップＳ１０８に移行した場合、すなわち、組織ＩＤ（Ａ）→組織ＩＤ（Ｂ）方向、組織ＩＤ（Ｂ）→組織ＩＤ（Ａ）方向の双方とも類似度が閾値以下であった場合には、検索キーワードクラスタ生成部２８は、組織ＩＤ（Ａ）と検索キーワードの使用傾向が異なる母集団へ組織ＩＤ（Ｂ）を追加する。例えば、組織ＩＤ（Ａ）が「６５３５」、組織ＩＤ（Ｂ）が「６８６３」であれば、図１２（ｄ）に示すように、組織ＩＤ（Ａ）→組織ＩＤ（Ｂ）方向、組織ＩＤ（Ｂ）→組織ＩＤ（Ａ）方向の双方とも類似度が閾値以下となる。したがって、図１２（ｆ）に示すような中間データ３が生成されることになる。
【００４０】
ステップＳ６２に移行すると、その後は、検索キーワードクラスタ生成部２８は、組織ＩＤ（Ａ）と、組織ＩＤ（Ｂ）を順次変更しつつ、上記と同様の処理（中間データ２（図１２（ｄ））を生成する処理）を行う。そして、ステップＳ６２及びステップＳ６４の両判断が肯定された段階、すなわち、全組織ＩＤの組み合わせについて、ステップＳ６０の処理が終了した段階で、図１１のステップＳ６６に移行する。なお、ここまでの段階では、図１２（ｆ）の中間データ３に示すように、検索キーワードの使用傾向が異なる組織が抽出された状態となっている。なお、ステップＳ６０の処理では、組織ＩＤ（Ａ）と組織ＩＤ（Ｂ）の組み合わせが、組織ＩＤ（Ｂ）と組織ＩＤ（Ａ）の組み合わせと一致する場合には、類似度の算出結果は同一となる。したがって、ステップＳ６０では、いずれか一方の組み合わせのみについて類似度を算出することとしてもよい。
【００４１】
図１１のステップＳ６６に移行すると、検索キーワードクラスタ生成部２８が、閾値ＤＢ５６から従業員間類似性閾値（図７（ｂ）、図１５（ｄ）参照）を取得する。次いで、ステップＳ６８では、検索キーワードクラスタ生成部２８が、検索キーワードの使用傾向が異なる組織に属する、従業員ＩＤ全てに対するループ処理を開始する。すなわち、図１２（ｆ）又は図１５（ａ）に示す中間データ３に含まれている従業員ＩＤ（ここでは、従業員ＩＤ「Ｈ００００２」、「Ｈ００００３」）に対するループ処理を開始する。次いで、ステップＳ７０では、検索キーワードクラスタ生成部２８が、図１５（ａ）に示す中間データ３から、従業員ＩＤを１つ取り出す。なお、ここで取り出された従業員ＩＤを、従業員ＩＤ（Ｃ）とするものとする。
【００４２】
次いで、ステップＳ７２では、検索キーワードクラスタ生成部２８が、従業員ＩＤ全てに対するループ処理を開始する。次いで、ステップＳ７４では、検索キーワードクラスタ生成部２８が、図１５（ａ）に示す中間データ３から、従業員ＩＤを１つ取り出す。なお、ここで取り出された従業員ＩＤを従業員ＩＤ（Ｄ）とするものとする。
【００４３】
次いで、ステップＳ７６では、検索キーワードクラスタ生成部２８が、取り出した従業員ＩＤが異なるか否か、すなわち、従業員ＩＤ（Ｃ）≠従業員ＩＤ（Ｄ）か否かを判断する。ここでの判断が否定された場合には、ステップＳ７４に戻り、従業員ＩＤを再度取り出す。一方、ステップＳ７６の判断が肯定された場合には、ステップＳ７８に移行する。
【００４４】
ステップＳ７８に移行すると、検索キーワードクラスタ生成部２８は、検索キーワード類似度判定処理のサブルーチンを実行する。具体的には、検索キーワードクラスタ生成部２８は、図１４のフローチャートに沿った処理を実行する。
【００４５】
図１４の処理では、まず、ステップＳ１２０において、検索キーワードクラスタ生成部２８が、従業員ＩＤ（Ｃ）→従業員ＩＤ（Ｄ）の方向での類似度として、
（双方で一致する検索キーワード数）／（比較元で使用した検索キーワード総数）
を算出する。例えば、従業員ＩＤ（Ｃ）が、「Ｈ００００２」で、従業員ＩＤ（Ｄ）が、「Ｈ００００３」である場合には、類似度＝１／７＝０．１４となる（図１５（ｃ）の中間データ４参照）。
【００４６】
次いで、ステップＳ１２２では、検索キーワードクラスタ生成部２８が、従業員ＩＤ（Ｄ）→従業員ＩＤ（Ｃ）の方向での類似度として、（双方で一致する検索キーワード数）／（比較元で使用した検索キーワード総数）を算出する。例えば、従業員ＩＤ（Ｃ）＝「Ｈ００００２」、従業員ＩＤ（Ｄ）＝、「Ｈ００００３」であれば、類似度＝１／４＝０．２５となる（図１５（ｃ）の中間データ４参照）。
【００４７】
次いで、ステップＳ１２４では、検索キーワードクラスタ生成部２８が、従業員ＩＤ（Ｃ）→従業員ＩＤ（Ｄ）方向、従業員ＩＤ（Ｄ）→従業員ＩＤ（Ｃ）方向の双方とも類似度が閾値（＝０．５（図１５（ｄ）））以下か否かを判断する。ここでの判断が否定された場合には、図１４の全処理を終えて、図１１のステップＳ８０に移行する。一方、ステップＳ１２４の判断が肯定された場合には、ステップＳ１２６に移行する。例えば、従業員ＩＤ（Ｃ）が、「Ｈ００００２」で、従業員ＩＤ（Ｄ）が、「Ｈ００００３」である場合には、図１５（ｃ）の中間データ４に示すように、類似度は、０．１４と、０．２５であるので、ステップＳ１２４の判断は肯定されることになる。
【００４８】
ステップＳ１２６に移行した場合には、検索キーワードクラスタ生成部２８は、従業員ＩＤ（Ｃ）と検索キーワードの使用傾向が異なる母集団へ従業員ＩＤ（Ｄ）を追加する。具体的には、図１５（ｅ）に示すように、クラスタＤＢに従業員ＩＤ（Ｃ）＝「Ｈ００００２」と従業員ＩＤ（Ｄ）＝「Ｈ００００３」を追加する。
【００４９】
その後は、従業員ＩＤ（Ｃ）と、従業員ＩＤ（Ｄ）を順次変更しつつ、上記と同様の処理（中間データ４（図１５（ｃ））を生成する処理）を行う。そして、ステップＳ８０及びステップＳ８２の両判断が肯定された段階、すなわち、全従業員ＩＤの組み合わせについて、ステップＳ７８の処理が終了した段階で、ステップＳ１０の処理（図９〜図１１の処理）が終了する。なお、ステップＳ７８では、従業員ＩＤ（Ｃ）と従業員ＩＤ（Ｄ）の組み合わせが、従業員ＩＤ（Ｄ）と従業員ＩＤ（Ｃ）の組み合わせと一致する場合、類似度の算出結果は同一となる。したがって、ステップＳ７８では、いずれか一方の組み合わせのみについて類似度を算出することとしてもよい。
【００５０】
以上のようにして生成されたクラスタＤＢ４０は、検索キーワードバースト使用予測部２４に送信され、検索キーワードバースト使用予測部２４の処理において利用されることになる。
【００５１】
（検索処理）
次に、検索処理について詳細に説明する。この検索処理では、図８（ｂ）のフローチャートに沿った処理が実行される。なお、ここでは、例えば、企業Ａの研究開発部門が社内向けの展示会に、新しい「携帯端末」を紹介し、説明員が、「競合Ｂ社と比較して、省電力性と性能面で優位」と強調したものとする。また、その後、展示会に参加した営業や、ＳＥの関心を集めて、急激的に情報が拡散し、この話を聞きつけた社内の従業員が、検索サイトに対して「Ｂ社  携帯端末  省電力」などのキーワードで検索をかけたものとする。
【００５２】
図８（ｂ）の処理では、まず、ステップＳ２０において、受付部２０が、従業員ＩＤと検索キーワード群（１以上の検索キーワードを含む）を受信する。具体的には、受付部２０は、ブラウザ上で従業員が検索キーワード群を入力したときに、当該検索キーワード群と、端末１０にログインしている従業員の従業員ＩＤと、を受信する。
【００５３】
次いで、ステップＳ２２では、検索キーワードバースト使用予測部２４が、検索キーワードバースト使用予測処理のサブルーチンを実行する。この検索キーワードバースト使用予測処理では、検索キーワードバースト使用予測部２４は、図１６〜図１９に沿った処理を実行する。
【００５４】
図１６のステップＳ２０２では、検索キーワードバースト使用予測部２４が、受付部２０から検索キーワード群、日時、従業員ＩＤを受信する。この場合、検索キーワードバースト使用予測部２４は、図２０（ａ）に示すようなデータを受信することができる。次いで、ステップＳ２０４では、検索キーワードバースト使用予測部２４が、閾値ＤＢ５６から、監視時間幅（図７（ｃ））と均質度閾値（図７（ｄ））を読み出す（図２０（ｃ）、図２０（ｅ）参照）。
【００５５】
次いで、ステップＳ２０６では、検索キーワードバースト使用予測部２４が、クラスタＤＢ４０上に存在する母集団を読みだす（図２０（ｂ）参照）。次いで、ステップＳ２０８では、検索キーワードバースト使用予測部２４が、受付部２０が受付けた従業員ＩＤが母集団上の従業員ＩＤに含まれているか否かを判断する。ここでの判断が肯定された場合には、ステップＳ２０６に移行し、否定された場合には、図１９のステップＳ２４８に移行する。なお、ここでは、受付けた従業員ＩＤが母集団の従業員ＩＤに含まれていたものとして説明する。
【００５６】
ステップＳ２１０では、検索キーワードバースト使用予測部２４が、受付部２０が受付けた検索キーワード群の中から、検索キーワードを１語抽出する。例えば、ステップＳ２０２で受信した検索キーワード群が、図２０（ａ）に示すように「Ｂ社  携帯端末  省電力」であった場合には、それらのうちの１つ（例えば、「Ｂ社」）を抽出する。次いで、ステップＳ２１２では、検索キーワードバースト使用予測部２４が、抽出した検索キーワードが母集団に登録されているか否かを判断する。ここでの判断が肯定されると、ステップＳ２１４に移行して、抽出した検索キーワードを母集団上へ登録し、図１７のステップＳ２１６に移行する。一方、ステップＳ２１２の判断が否定された場合には、ステップＳ２１４を経ずに、図１７のステップＳ２１６に移行する。
【００５７】
次いで、ステップＳ２１６では、検索キーワードバースト使用予測部２４が、母集団上の監視開始時間、監視終了時間が未設定か否かを判断する。図２０（ｂ）のように、母集団上の監視開始時間、監視終了時間が未設定である場合には、ここでの判断が肯定されて、ステップＳ２１８に移行する。
【００５８】
そして、ステップＳ２１８では、検索キーワードバースト使用予測部２４が、受付部２０が受付けた日時を母集団上の監視開始日時へ登録し、次のステップＳ２２０では、検索キーワードバースト使用予測部２４が、受付部２０が受付けた日時に監視時間幅（図２０（ｃ）参照、ここでは１時間）を加算して監視終了日時を取得する。また、次のステップＳ２２２では、検索キーワードバースト使用予測部２４が、取得した監視終了日時を母集団上の監視終了日時へ登録する。そして、次のステップＳ２２４に移行する。
【００５９】
なお、ステップＳ２１６の判断が否定された場合には、検索キーワードバースト使用予測部２４は、直接、ステップＳ２２４に移行する。
【００６０】
ステップＳ２２４では、検索キーワードバースト使用予測部２４が、受付部２０が受付けた日時が母集団上の監視開始日時から監視終了日時までの期間外か否かを判断する。ここでの判断が肯定された場合には、ステップＳ２１８〜Ｓ２２２と同様の処理を行う。すなわち、検索キーワードバースト使用予測部２４は、ステップＳ２２６において、受付部２０が受付けた日時を母集団上の監視開始日時へ登録し、次のステップＳ２２８において、受付部２０が受付けた日時に監視時間幅（ここでは、１時間）を加算して監視終了日時を取得する。また、次のステップＳ２３０では、検索キーワードバースト使用予測部２４が、取得した監視終了日時を母集団上の監視終了日時へ登録する。そして、次のステップＳ２３２に移行する。
【００６１】
なお、ステップＳ２２４の判断が否定された場合には、検索キーワードバースト使用予測部２４は、直接、ステップＳ２３２に移行する。
【００６２】
次のステップＳ２３２では、検索キーワードバースト使用予測部２４が、受付部２０が受付けた従業員ＩＤを母集団上のキーワード使用者情報リストに登録する。これまでの処理を経ることで、図２０（ｄ）の１行目の登録が完了する。その後は、図１８のステップＳ２３４の処理に移行する。
【００６３】
図１８のステップＳ２３４では、次式（１）に基づいて、均質度を算出する。なお、「均質度」とは、検索傾向が異なる従業員の母集団（グループ）において、所定の時間幅で同一の検索キーワードを入力した人数の割合を意味する。
均質度＝（母集団内でキーワード使用者リストに設定されている人数）／（母集団の総人数）      …（１）
【００６４】
ここでは、母集団内でキーワード使用者リストに設定されている人数は、従業員ＩＤ「Ｈ００００２」の１人のみであり、母集団の総人数が２人であるので、均質度＝１（人）／２（人）＝０．５となる。
【００６５】
次いで、ステップＳ２３６では、検索キーワードバースト使用予測部２４が、検索キーワード群に含まれる検索キーワードを全て抽出したか否かを判断する。ここでの判断が否定された場合には、図１６のステップＳ２１０に戻る。これ以降は、従業員ＩＤ＝Ｈ００００２の従業員が使用した残りの検索キーワード「携帯端末」及び「省電力」について、上記と同様の処理を行う。これにより、図２０（ｄ）に示すように、３つのデータが登録されることになる。なお、図２０（ｄ）に登録された３つのデータは、全て均質度が０．５となっている。その後、ステップＳ２３６の判断が肯定されると、ステップＳ２３８に移行する。
【００６６】
ステップＳ２３８では、検索キーワードバースト使用予測部２４が、算出した均質度を１つ読み込む。そして、ステップＳ２４０では、検索キーワードバースト使用予測部２４が、均質度が、ステップＳ２０４で読み出した均質度閾値（図２０（ｅ）に示す０．７）未満か否かを判断する。ここでの判断が肯定された場合には、ステップＳ２４２に移行し、検索キーワードバースト使用予測部２４は、均質度を全て読み込んだか否かを判断する。ここでの判断が否定された場合には、ステップＳ２４０に戻る。一方、ステップＳ２４２の判断が肯定された場合には、ステップＳ２４６に移行する。なお、ステップＳ２４０，Ｓ２４２の両判断を行うことにより、算出した均質度の少なくとも１つが均質度閾値未満であるか否かの判断を行っているともいえる。
【００６７】
ステップＳ２４６に移行すると、検索キーワードバースト使用予測部２４が、図２０（ｆ）に示すようなデータ（予兆フラグ、検索キーワード群を含むデータ）を出力データに設定する。その後は、図８（ｂ）のステップＳ２４に移行する。
【００６８】
なお、例えば、図２０（ａ）〜図２０（ｆ）の処理が終了した後に、図２１（ａ）に示すように、従業員ＩＤ「Ｈ００００３」の従業員が検索キーワード群「Ｂ社  携帯端末  省電力  性能」を入力したとする。この場合、ステップＳ２０２〜ステップＳ２３６の処理を行うことで、図２１（ｂ）に示すクラスタＤＢ４０のデータは、図２１（ｄ）のようになる。この場合、検索キーワード「Ｂ社」、「携帯端末」、「省電力」の均質度は、均質度＝２／２＝１．０となる。この場合、図１８のステップＳ２４０の判断が否定されることがあるため、ステップＳ２４４において、検索キーワードバースト使用予測部２４が、予兆フラグに「予兆あり」を設定することになる（図２１（ｆ）参照）
【００６９】
このような場合には、ステップＳ２４６において、検索キーワードバースト使用予測部２４が、図２１（ｆ）に示すようなデータ（予兆フラグ、検索キーワード群を含むデータ）を出力データに設定することになる。
【００７０】
ところで、図１６のステップＳ２０８の判断が否定された場合、すなわち、受付部２０が受付けた従業員ＩＤが母集団上の従業員ＩＤに含まれていなかった場合には、図１９の処理が実行されることになる。
【００７１】
図１９の処理では、まず、ステップＳ２４８において、検索キーワードバースト使用予測部２４が、受付部２０が受付けた検索キーワードを１語抽出する。次いで、ステップＳ２５０では、検索キーワードバースト使用予測部２４が、抽出した検索キーワードが母集団上の検索キーワードに登録されているか否かを判断する。ここでの判断が肯定された場合には、ステップＳ２５２に移行する。ステップＳ２５２では、検索キーワードバースト使用予測部２４が、受付部２０が受付けた日時が、母集団上の監視開始時間から監視終了時間までの期間内か否かを判断する。ここでの判断が肯定された場合には、ステップＳ２２４に移行し、検索キーワードバースト使用予測部２４が、均質度を、上述したステップＳ２３４と同様にして算出する。その後は、ステップＳ２５８に移行する。
【００７２】
これに対し、ステップＳ２５０又はステップＳ２５２の判断が否定された場合には、ステップＳ２５６に移行し、検索キーワードバースト使用予測部２４が、均質度に０を設定し、その後、ステップＳ２５８に移行する。
【００７３】
ステップＳ２５８では、検索キーワードバースト使用予測部２４が、入力された検索キーワードを全て抽出したか否かを判断する。ここでの判断が否定された場合には、ステップＳ２４８に戻り、以降の処理を繰り返す。そして、ステップＳ２５８の判断が肯定された段階で、図１８のステップＳ２３８に移行する。その後の処理は、前述したとおりである。
【００７４】
以上のようにしてステップＳ２２の全処理（図１６〜図１９の処理）が終了すると、図８（ｂ）のステップＳ２４に移行する。ステップＳ２４では、検索キーワードバースト使用予測部２４が、検索キーワード隠蔽制御処理のサブルーチンを実行する。この検索キーワード隠蔽制御処理では、図２２に示すフローチャートに沿った処理を実行する。
【００７５】
図２２のステップＳ２６０では、検索キーワード隠蔽制御部２６が、検索キーワードバースト使用予測部２４から、予兆フラグ及び検索キーワードのデータ（例えば、図２０（ｆ）のデータや図２１（ｆ）のデータ）を受信する。この場合、検索キーワード隠蔽制御部２６は、端末１０から入力された検索キーワード群と、完全に一致する検索キーワード及び予兆フラグのデータを受信する。
【００７６】
次いで、ステップＳ２６２では、検索キーワード隠蔽制御部２６が、予兆フラグが、「予兆あり」であるか否かを判断する。ここでの判断が否定された場合、すなわち、ステップＳ２６０で受信したデータが図２０（ｆ）のようなデータであった場合には、ステップＳ２７２に移行する。ステップＳ２７２に移行した場合には、検索キーワード送信部２２に対して、通常の検索処理を行うように指示を出す。そして、次のステップＳ２７４では、検索キーワード送信部２２が、検索サーバに検索キーワード群を検索サーバ１６に送信する。次いで、ステップＳ２７６では、検索キーワード隠蔽制御部２６が、検索結果データを検索サーバ１６から受信し、検索キーワード群、検索結果データ、最終更新日時をキャッシュＤＢ４２（図５参照）に格納する。その後は、図８（ｂ）のステップＳ２６に移行する。
【００７７】
一方、ステップＳ２６２の判断が肯定された場合、すなわち、ステップＳ２６０で受信したデータが図２１（ｆ）のようなデータであった場合には、ステップＳ２６４に移行する。ステップＳ２６４では、検索キーワード隠蔽制御部２６が、キャッシュＤＢ４２から、検索キーワード群に合致する検索結果データを読み出す。次いで、ステップＳ２６６では、検索キーワード隠蔽制御部２６が、検索結果データが存在したか否かを判断する。ここでの判断が否定された場合には、ステップＳ２７０において、検索キーワード隠蔽制御部２６が、情報出力部３０にエラーメッセージを出力する。その後は、図８（ｂ）のステップＳ２６に移行する。
【００７８】
一方、ステップＳ２６６の判断が肯定された場合には、検索キーワード隠蔽制御部２６は、ステップＳ２６８において、キャッシュＤＢ４２から読み出した検索結果データを情報出力部３０に対して送信する。その後は、図８（ｂ）のステップＳ２６に移行する。
【００７９】
図８（ｂ）に戻り、ステップＳ２６では、情報出力部３０が、ステップＳ２４で取得した情報のいずれかを、従業員が検索キーワード群を入力した端末１０に対して送信する。なお、ステップＳ２４で取得した情報には、検索サーバ１６で実際に生成された検索結果データ、キャッシュＤＢ４２に格納されていた過去の検索結果データ、又はエラーメッセージが含まれる。
【００８０】
その後は、情報を受信した端末１０において、受信した情報を表示することで、端末１０を利用する従業員に、入力した検索キーワード群に対応する検索結果データ（又はエラーメッセージ）が提供されることになる。
【００８１】
なお、これまでの説明から明らかなように、情報出力部３０と、検索キーワード隠蔽制御部２６とを含んで、情報提供部が実現されている。
【００８２】
以上、詳細に説明したように、本実施形態のゲートウェイサーバ１２によると、複数の端末１０のうちのいずれかから入力される、１以上の検索キーワードを含む検索キーワード群を受け付ける受付部２０と、受付部２０が受け付けた検索キーワード群を検索サーバ１６に送信する検索キーワード送信部２２と、過去に用いた検索キーワードの一致度が低い従業員ごとにまとめた母集団（従業員のグループ）が登録されたクラスタＤＢ４０を参照し、母集団内において特定の検索キーワードを所定時間内に利用した従業員の割合（本実施形態における「均質度」）が、所定の第１の閾値（均質度閾値）よりも高い場合には、特定の検索キーワードを含む検索キーワード群を検索サーバ１６に送信しないように検索キーワード送信部２２を制御する検索キーワード隠蔽制御部２６と、を備えている。このように、普段、使用する検索キーワードに関連性がほとんどない従業員の母集団において均質性が高くなったことを、バースト的な検索が発生する予兆として検出する。このため、バースト的な検索が実際に発生した後の早期タイミングで、検索サーバ１６への特定の検索キーワード（バースト的な検索に係る検索キーワード）の送信を阻止することができる。したがって、検索サーバ１６側に端末を有する企業等の検索意図が知られる可能性が低減するため、企業等における機密性を向上することができる。
【００８３】
また、本実施形態のゲートウェイサーバ１２によると、検索キーワードクラスタ生成部２８は、従業員ごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第２の閾値（従業員間類似性閾値（図７（ｂ）））よりも低い従業員をまとめて母集団を生成する。したがって、実際に従業員が用いた検索キーワードに基づいて、母集団を生成することで、単に部署の関連性などに基づいて母集団を生成するような場合に比べて、適切な母集団の生成が可能となる。ただし、これに限らず、母集団は、部署の関連性、従業員間の交流頻度などに基づいて、予め生成しておくこととしてもよい。この場合、図３の検索キーワードクラスタ生成部２８を省略することとしてもよい。
【００８４】
また、本実施形態では、検索キーワードクラスタ生成部２８は、複数の端末１０のうちのいずれかの端末を利用する従業員の属する組織ごとに、過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第３の閾値（組織間類似性閾値（図７（ａ））よりも低い組織をまとめて組織グループ（母集団）を生成し（ステップＳ３０〜Ｓ６４）、更に組織グループ内で異なる組織に属する従業員ごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が第２の閾値（従業員間類似性閾値（図７（ｂ）））よりも低い従業員をまとめ母集団を生成する（ステップＳ６６〜Ｓ８２）こととしている。このようにすることで、全従業員の検索キーワードの一致度を総当りで検証しなくとも、母集団を適切に生成することができる。したがって、データ処理量の低減及びデータ処理時間の短縮を図ることが可能である。
【００８５】
また、本実施形態のゲートウェイサーバ１２は、検索キーワード送信部２２が検索サーバ１６に検索キーワード群を送信した場合に、検索キーワード群に基づいて検索サーバ１６にて生成された検索結果データを格納するキャッシュＤＢ４２を備えている。また、検索キーワード送信部２２が検索サーバ１６に検索キーワード群を送信しない場合に、送信しない検索キーワード群と同一の検索キーワード群に基づいて過去に検索サーバ１６で生成された検索結果データを、キャッシュＤＢ４２から読み出して端末１０に提供することとしている。このため、検索キーワードが検索サーバ１６に送信されない場合でも、直前にキャッシュＤＢ４２に格納された検索結果データを利用することができる。したがって、検索サーバ１６の検索結果データが時々刻々とほぼリアルタイムに変動するような場合でも、ほとんど支障なく適切な検索結果データを得ることができる。
【００８６】
なお、上記実施形態では、検索キーワードクラスタ生成部２８が、過去に入力された検索キーワードの一致度が組織間類似性閾値よりも低い組織をまとめて組織グループ（母集団）を生成した後に、従業員をまとめた母集団を生成した。しかしながら、これに限られるものではなく、例えば、組織グループ（母集団）を生成せずに、最初から、過去に入力された検索キーワードの一致度が低い従業員をまとめて母集団を生成してもよい。また、上記実施形態では、従業員を最小単位として、母集団を生成する場合について説明したが、これに限らず、従業員の代わりに組織を最小単位として、母集団を生成することとしてもよい。
【００８７】
なお、上記実施形態では、キャッシュＤＢ４２に過去の検索結果データを蓄積しておき、端末１０から入力される検索キーワード群が、検索サーバ１６に送信されないときに、キャッシュＤＢ４２から検索結果データを読み出して、出力する場合について説明した。しかしながら、これに限られるものではなく、端末１０から入力される検索キーワード群が、検索サーバ１６に送信されないときには、端末１０に対して検索結果データを出力せずに、エラーメッセージのみを出力するようにしてもよい。この場合、キャッシュＤＢ４２を省略してもよい。
【００８８】
なお、上記実施形態では、図１３のステップＳ１０２、Ｓ１０４や、図１４のステップＳ１２０、Ｓ１２２のように、組織間及び従業員間で類似度を２つ（２方向から）算出する場合について説明した。しかしながら、これに限られるものではなく、類似度を（双方で一致する検索キーワード数）／（双方が使用した検索キーワード総数）から算出することとしてもよい。
【００８９】
なお、上記実施形態では、中継装置が、会社の組織（部署など）に属する従業員が用いる端末と検索サーバとの間の情報の中継をするゲートウェイサーバである場合について説明したが、これに限られるものではない。例えば会社以外の組織において用いられる端末と検索サーバとの間の情報の中継をするゲートウェイサーバであってもよい。
【００９０】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【００９１】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００９２】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００９３】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【００９４】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）  検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する中継装置であって、前記複数の端末のうちのいずれかから入力される、１以上の検索キーワードを含む検索キーワード群を受け付ける受付部と、前記受付部が受け付けた検索キーワード群を前記検索サーバに送信する送信部と、過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第１の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないように前記送信部を制御する制御部と、を備える中継装置。
（付記２）  前記ユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第２の閾値よりも低いユーザをまとめてユーザグループを生成するユーザグループ生成部を、更に備える付記１に記載の中継装置。
（付記３）  ユーザグループ生成部は、前記複数の端末のうちのいずれかの端末を利用するユーザの属する組織ごとに、過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第３の閾値よりも低い組織をまとめて組織グループを生成し、前記組織グループ内で異なる組織に属するユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が前記所定の第２の閾値よりも低いユーザをまとめてユーザグループを生成することを特徴とする付記２に記載の中継装置。
（付記４）  前記送信部が前記検索サーバに前記検索キーワード群を送信した場合に、当該検索キーワード群に基づいて前記検索サーバにて生成された情報を格納する格納部と、前記送信部が前記検索サーバに前記検索キーワード群を送信しない場合に、前記送信しない検索キーワード群と同一の検索キーワード群に基づいて過去に前記検索サーバで生成された情報を、前記格納部から読み出して、前記端末に提供する情報提供部と、を更に備える付記１〜３のいずれかに記載の中継装置。
（付記５）  検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する処理をコンピュータに実行させる中継プログラムであって、前記複数の端末のうちのいずれかから入力される、１以上の検索キーワードを含む検索キーワード群を受け付け、前記受け付けた検索キーワード群を前記検索サーバに送信する送信する処理を前記コンピュータに実行させ、前記送信をする処理では、過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第１の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないようにすることを特徴とする中継プログラム。
（付記６）  前記ユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第２の閾値よりも低いユーザをまとめてユーザグループを生成する処理を、前記コンピュータに更に実行させることを特徴とする付記５に記載の中継プログラム。
（付記７）  前記ユーザグループを生成する処理では、前記複数の端末のうちのいずれかの端末を利用するユーザの属する組織ごとに、過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第３の閾値よりも低い組織をまとめて組織グループを生成し、前記組織グループ内で異なる組織に属するユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が前記所定の第２の閾値よりも低いユーザをまとめてユーザグループを生成する処理、を前記コンピュータに実行させることを特徴とする付記６に記載の中継プログラム。
（付記８）  前記送信する処理において前記検索サーバに前記検索キーワード群を送信した場合に、当該検索キーワード群に基づいて前記検索サーバにて生成された情報を格納部に格納する処理と、前記送信する処理において前記検索サーバに前記検索キーワード群を送信しない場合に、前記送信しない検索キーワード群と同一の検索キーワード群に基づいて過去に前記検索サーバで生成された情報を、前記格納部から読み出して、前記端末に提供する処理と、を前記コンピュータに更に実行させることを特徴とする付記５〜７のいずれかに記載の中継プログラム。
【符号の説明】
【００９５】
１０  端末
１２  ゲートウェイサーバ（中継装置）
１６  検索サーバ
２０  受付部
２２  検索キーワード送信部（送信部）
２６  検索キーワード隠蔽制御部（制御部）
２８  検索キーワードクラスタ生成部（ユーザグループ生成部、情報提供部の一部）
３０  情報出力部（情報提供部の一部）
４０  クラスタＤＢ（データベース）
４２  キャッシュＤＢ（格納部）
【図１】
0005527201.tif 000002
【図２】
0005527201.tif 000003
【図３】
0005527201.tif 000004
【図４】
0005527201.tif 000005
【図５】
0005527201.tif 000006
【図６】
0005527201.tif 000007
【図７】
0005527201.tif 000008
【図８】
0005527201.tif 000009
【図９】
0005527201.tif 000010
【図１０】
0005527201.tif 000011
【図１１】
0005527201.tif 000012
【図１２】
0005527201.tif 000013
【図１３】
0005527201.tif 000014
【図１４】
0005527201.tif 000015
【図１５】
0005527201.tif 000016
【図１６】
0005527201.tif 000017
【図１７】
0005527201.tif 000018
【図１８】
0005527201.tif 000019
【図１９】
0005527201.tif 000020
【図２０】
0005527201.tif 000021
【図２１】
0005527201.tif 000022
【図２２】
0005527201.tif 000023