中継装置及び中継プログラム
【課題】検索サーバに、バースト的な検索の発生が知られる可能性を低減する。
【解決手段】端末10から入力される検索キーワード群を受け付ける受付部20と、受付部が受け付けた検索キーワード群を検索サーバ16に送信する検索キーワード送信部22と、過去に用いた検索キーワードの一致度が低い従業員ごとにまとめた従業員のグループが登録されたクラスタDB40を参照し、グループ内において特定の検索キーワードを所定時間内に利用した従業員の割合(均質性)が、所定の第1の閾値よりも高い場合に、特定の検索キーワードを含む検索キーワード群を検索サーバ16に送信しないように検索キーワード送信部22を制御する検索キーワード隠蔽制御部26と、を備えている。
【解決手段】端末10から入力される検索キーワード群を受け付ける受付部20と、受付部が受け付けた検索キーワード群を検索サーバ16に送信する検索キーワード送信部22と、過去に用いた検索キーワードの一致度が低い従業員ごとにまとめた従業員のグループが登録されたクラスタDB40を参照し、グループ内において特定の検索キーワードを所定時間内に利用した従業員の割合(均質性)が、所定の第1の閾値よりも高い場合に、特定の検索キーワードを含む検索キーワード群を検索サーバ16に送信しないように検索キーワード送信部22を制御する検索キーワード隠蔽制御部26と、を備えている。
【発明の詳細な説明】
【技術分野】
【0001】
本件は、中継装置及び中継プログラムに関する。
【背景技術】
【0002】
検索サービスを提供する検索サーバは、検索者から検索キーワードが入力されると、検索キーワードに応じた検索結果(例えば、検索キーワードを含むウェブサイトの情報や、検索キーワードを含む記事など)を検索者に提供する。このような検索サービスは、個人ユーザのみならず、企業内においても積極的に利用されている。
【0003】
企業内で検索サービスを利用する場合、入力される検索キーワードは、業務に関連した用語(業界名や技術名)を含んでいることが多い。そのため、企業内である検索キーワードが爆発的・集中的に使用された場合、当該爆発的・集中的な使用の発生タイミングなどから社外秘の情報や企業内のトレンドが、検索サービスの提供者に知られてしまうおそれがある。なお、以下においては、検索キーワードの爆発的・集中的な使用を、「バースト的な検索」と呼ぶものとする。
【0004】
こうした状況を踏まえ、最近では、企業において、バースト的な検索が行われる予兆を検知(予測)し、その発生タイミングと検索意図を隠蔽する仕組みを実現することが求められている。なお、特許文献1には、時間幅ごとの検索キーワード使用回数を監視して、将来の検索回数を推定し、推定された検索回数とその順位からキーワード上昇度を予測して、バースト的な検索の予兆を検知する方法が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−35034号公報
【特許文献2】特開昭63−204434号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記特許文献1の方法では、バースト的に検索キーワードが使用されると判定した時点で、既に大量の検索が行われた後である可能性が高く、バースト的な検索の隠蔽が手遅れとなるおそれがある。
【0007】
また、例えば、検索キーワードにダミーキーワードを追加して検索を行い、検索意図を隠蔽する方法も知られているが、この方法では、バースト的に検索キーワードが使用されているタイミングを隠蔽することはできない。このため、検索サービスの提供者側で、当該タイミングに着目してキーワード分布を分析することで、検索意図が容易に予想できてしまうおそれがある。
【0008】
なお、検索キーワードに対応する検索結果をキャッシュ上に保持しておき、キャッシュ上の検索結果を利用するという方法もある(例えば、特許文献2参照)。しかるに、検索サービスにおいて提供される検索結果が時々刻々と変化する場合、すなわちリアルタイムに近い時間間隔で検索結果が更新されるような場合には、キャッシュ上の検索結果は、時間経過とともに古い情報となる。このため、キャッシュ上の検索結果を利用し続けると、検索サービスが提供するサービスを有効に利用することができないこととなる。
【0009】
そこで本件は上記の課題に鑑みてなされたものであり、検索サーバに、バースト的な検索の発生が知られる可能性を低減することが可能な中継装置及び中継プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本明細書に記載の中継装置は、検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する中継装置であって、前記複数の端末のうちのいずれかから入力される、1以上の検索キーワードを含む検索キーワード群を受け付ける受付部と、前記受付部が受け付けた検索キーワード群を前記検索サーバに送信する送信部と、過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第1の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないように前記送信部を制御する制御部と、を備える中継装置である。
【0011】
本明細書に記載の中継プログラムは、検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する処理をコンピュータに実行させる中継プログラムであって、前記複数の端末のうちのいずれかから入力される、1以上の検索キーワードを含む検索キーワード群を受け付け、前記受け付けた検索キーワード群を前記検索サーバに送信する送信する処理を前記コンピュータに実行させ、前記送信をする処理では、過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第1の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないようにする中継プログラムである。
【発明の効果】
【0012】
本明細書に記載の中継装置及び中継プログラムは、検索サーバに、バースト的な検索の発生が知られる可能性を低減することができるという効果を奏する。
【図面の簡単な説明】
【0013】
【図1】一実施形態に係る情報検索システム100の概略図である。
【図2】ゲートウェイサーバのハードウェア構成図である。
【図3】ゲートウェイサーバの機能を示すブロック図である。
【図4】クラスタDBのデータ構造を示す図である。
【図5】キャッシュDBのデータ構造を示す図である。
【図6】図6(a)は、人事情報DBのデータ構造を示す図であり、図6(b)は、検索キーワード履歴DBのデータ構造を示す図である。
【図7】図7(a)〜図7(d)は、閾値DBのデータ構造を示す図である。
【図8】図8(a)は、検索キーワードクラスタ生成処理を示すフローチャートであり、図8(b)は検索処理を示すフローチャートである。
【図9】図8(a)のステップS10の具体的処理を示すフローチャート(その1)である。
【図10】図8(a)のステップS10の具体的処理を示すフローチャート(その2)である。
【図11】図8(a)のステップS10の具体的処理を示すフローチャート(その3)である。
【図12】図12(a)〜図12(f)は、ステップS10の具体的な処理を説明するための図(その1)である。
【図13】図10のステップS60の具体的処理を示すフローチャートである。
【図14】図11のステップS78の具体的処理を示すフローチャートである。
【図15】図15(a)〜図15(e)は、ステップS10の具体的な処理を説明するための図(その2)である。
【図16】図8(b)のステップS22の具体的処理を示すフローチャート(その1)である。
【図17】図8(b)のステップS22の具体的処理を示すフローチャート(その2)である。
【図18】図8(b)のステップS22の具体的処理を示すフローチャート(その3)である。
【図19】図8(b)のステップS22の具体的処理を示すフローチャート(その4)である。
【図20】図20(a)〜図20(f)は、ステップS22の具体的な処理を説明するための図(その1)である。
【図21】図21(a)〜図21(f)は、ステップS22の具体的な処理を説明するための図(その2)である。
【図22】図8(b)のステップS24の具体的処理を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、一実施形態について、図1〜図22に基づいて詳細に説明する。図1には、中継装置としてのゲートウェイサーバ12を含む情報検索システム100の概略図が示されている。この図1に示すように、情報検索システム100は、複数(図1では3つ表示)の端末10と、ゲートウェイサーバ12と、データベースサーバ14と、検索サーバ16とを含んでいる。なお、各装置間は、LAN(Local Area Network)やインターネットなどのネットワークにより接続されている。
【0015】
端末10は、PC(Personal Computer)、携帯電話、PHS(Personal Handy-phone System)、PDA(Personal Digital Assistant)等を含み、ゲートウェイサーバ12と通信可能に接続されている。なお、端末10は、ある企業の従業員が使用できる端末であるものとする。従業員は、端末10のブラウザ上に表示されている検索サイトにおいて、検索キーワード群(検索キーワードを1つ以上含む)を入力し、検索ボタンを押すことで、検索キーワード群に応じた検索結果データを閲覧することができる。
【0016】
ゲートウェイサーバ12は、検索サービスを提供する検索サーバ16と複数の端末10との間での情報のやり取りを中継する装置である。図2には、ゲートウェイサーバ12のハードウェア構成が示されている。図2に示すように、ゲートウェイサーバ12は、コンピュータとしてのCPU90、ROM92、RAM94、記憶部(ここではHDD(Hard Disk Drive))96、入出力部97、可搬型記憶媒体用ドライブ99等を備えている。ゲートウェイサーバ12の構成各部は、バス98に接続されている。ゲートウェイサーバ12では、ROM92あるいはHDD96に格納されているプログラム(中継プログラム)、又は可搬型記憶媒体用ドライブ99を介して可搬型記憶媒体91から読み出したプログラム(中継プログラム)をCPU90が実行することにより、図3の各部の機能が実現される。
【0017】
図3には、ゲートウェイサーバ12の機能ブロック図が示されている。この図3に示すように、ゲートウェイサーバ12は、受付部20と、送信部としての検索キーワード送信部22と、検索キーワードバースト使用予測部24と、制御部としての検索キーワード隠蔽制御部26と、ユーザグループ生成部としての検索キーワードクラスタ生成部28と、情報出力部30として機能する。なお、図3では、HDD96に格納されているデータベースとしてのクラスタDB40と、格納部としてのキャッシュDB42も図示されている。
【0018】
受付部20は、端末10のブラウザ上において入力された検索キーワード群(1以上の検索キーワードを含む)を受け付ける。検索キーワード送信部22は、受付部20において受け付けられた検索キーワード群を、検索サーバ16に送信する機能を有する。また、検索キーワード送信部22は、検索キーワードバースト使用予測部24に対して検索キーワード群を送信する機能も有している。検索キーワードバースト使用予測部24は、検索キーワード送信部22から受信した検索キーワード群を用いて、バースト的な検索(検索キーワードの爆発的・集中的な使用)が発生するか否かを予測する。なお、バースト的な検索が発生するか否かの具体的な予測方法については、後述する。
【0019】
検索キーワード隠蔽制御部26は、検索キーワードバースト使用予測部24の予測結果に基づいて検索キーワード群を隠蔽するか否かを判断する。そして、隠蔽すると判断された場合には、検索キーワード隠蔽制御部26は、検索キーワード群を検索サーバ16に送信しないように検索キーワード送信部22を制御する。また、検索キーワード隠蔽制御部26は、検索サーバ16から送信されてくる検索結果データをキャッシュ42に格納する。さらに、検索キーワード隠蔽制御部26は、検索キーワード群を隠蔽する場合には、隠蔽した検索キーワード群で過去に検索したときの検索結果データをキャッシュDB42から読み出し、情報出力部30に送信する。
【0020】
検索キーワードクラスタ生成部28は、データベースサーバ14に格納されている情報に基づいて、端末10を利用するユーザをまとめてユーザグループ(母集団)を生成し、クラスタDB40に格納する。なお、検索キーワードクラスタ生成部28の具体的な処理については、後述する。
【0021】
情報出力部30は、検索キーワード送信部22から送信された検索キーワード群に基づいて、検索サーバ16が生成した検索結果データを受信する。そして、情報出力部30は、検索キーワード群を入力した端末10に対して、検索結果データを出力する。また、情報出力部30は、検索サーバ16に対して検索キーワード群が送信されない場合には、検索キーワード隠蔽制御部26から送信されてきた情報(キャッシュDB42上の過去の検索結果データ)を端末10に対して出力する。なお、キャッシュDB42上に検索キーワード群に対応する過去の検索結果データが存在していない場合には、情報出力部30は、端末10に対してエラーメッセージを出力する。
【0022】
クラスタDB40には、通常の状態(バースト的な検索が行われていない状態)で、入力する検索キーワード群に関連性がほとんど無い従業員(検索傾向の異なる従業員)をまとめたグループ(母集団)が格納される。クラスタDB40に格納されるデータは、図4に示すようなデータであり、具体的には、母集団IDの項目と、組織IDの項目と、検索キーワードの項目と、監視開始日時、終了日時の項目と、キーワード使用者情報リストと、を含んでいる。
【0023】
キャッシュDB42には、過去の検索結果データが格納される。キャッシュDB42のデータ構造は、図5のようになっている。具体的には、キャッシュDB42は、検索キーワードの項目と、当該検索キーワードに基づいて生成された検索結果データの項目と、最終更新日時の項目とを有している。なお、同一の検索キーワード群から生成された検索結果データが既にキャッシュDB42に格納されている場合には、既に格納されている検索結果データが、最新の検索結果データで更新されることになる。
【0024】
データベースサーバ14は、図3に示すように、人事情報DB52、検索キーワード履歴DB54、及び閾値DB56を含んでいる。
【0025】
人事情報DB52は、従業員の所属組織を管理するデータベースであり、図6(a)に示すように、従業員IDと、当該従業員IDを有する従業員が属する組織の組織IDとが関連付けられている。検索キーワード履歴DB54は、従業員の過去の検索履歴を管理するデータベースであり、図6(b)に示すように、従業員IDと、当該従業員IDを有する従業員が過去に入力した検索キーワード履歴とが関連付けられている。閾値DB56は、図7(a)〜図7(d)に示すように、4つの閾値DBを含んでいる。具体的には、第3の閾値としての組織間類似性閾値を定義するDB(図7(a))と、第2の閾値としての従業員間類似性閾値を定義するDB(図7(b))と、監視時間幅を定義するDB(図7(c))と、第1の閾値としての均質度閾値を定義するDB(図7(d))と、を含んでいる。
【0026】
図1に戻り、検索サーバ16は、端末10から送信される検索キーワード群に基づいて、検索結果データを生成し、端末10に提供する機能を有する。なお、検索サーバ16が提供する検索結果データは、時々刻々と変化、すなわちリアルタイムに近い時間間隔で更新されるものとする。
【0027】
次に、上記のように構成される情報検索システム100における処理について、具体的に説明する。情報検索システム100では、図8(a)に示す検索キーワードクラスタ生成処理と、図8(b)に示す検索処理とが、非同期にて行われる。
【0028】
(検索キーワードクラスタ生成処理)
検索キーワードクラスタ生成処理では、図8(a)に示すように、ステップS10において、検索キーワードクラスタ生成部28が検索キーワードクラスタ生成処理のサブルーチンを実行する。具体的には、ステップS10では、検索キーワードクラスタ生成部28が、図9〜図11に示すフローチャートに沿った処理を実行する。以下、これらのフローチャートの処理について詳細に説明する。
【0029】
まず、図9のステップS30では、検索キーワードクラスタ生成部28が、人事情報DB52(図6(a)参照)から全ての従業員ID、組織IDを取得する。次いで、ステップS32では、検索キーワードクラスタ生成部28が、全ての組織IDに対するループ処理を開始する。次いで、ステップS34では、検索キーワードクラスタ生成部28が、ステップS30で取得した組織IDのうちの1つを取り出す。
【0030】
次いで、ステップS36では、検索キーワードクラスタ生成部28が、組織IDが一致する従業員ID数分ループ処理を開始する。次いで、ステップS38においては、検索キーワードクラスタ生成部28が、ステップS30で取得した従業員IDのうちの1つを取り出す。次いで、ステップS40では、検索キーワードクラスタ生成部28が、検索キーワード履歴DB54(図6(b)参照)から、ステップS38で取り出した従業員IDの従業員が、過去に入力した検索キーワード履歴を取得する。次いで、ステップS42では、検索キーワードクラスタ生成部28が、全ての従業員IDに対する処理が終わったか否かを判断する。ここでの判断が否定された場合には、ステップS38に戻り、ステップS38→S40→S42の処理・判断を繰り返す。一方、ステップS42の判断が肯定された場合には、ステップS44に移行する。
【0031】
次いで、ステップS44では、検索キーワードクラスタ生成部28が、組織ID毎に検索キーワード履歴をマージする。次いで、ステップS46では、検索キーワードクラスタ生成部28が、全ての組織IDに対して処理は終わったか否かを判断する。ここでの判断が否定された場合には、ステップS34に戻り、ステップS34〜ステップS46までの処理・判断を繰り返す。一方、ステップS46の判断が肯定された場合、すなわち、全ての組織ID、従業員IDに対する処理が終了した場合には、ステップS48に移行する。なお、ステップS48に移行する段階では、図12(a)の人事情報DB52(図6(a)と同一)と、図12(b)の検索キーワード履歴DB54(図6(b)と同一)とから、図12(c)に示す中間データ1が生成されている。
【0032】
図9に戻り、次のステップS48では、検索キーワードクラスタ生成部28が、閾値DB56から組織間類似性閾値(図7(a)及び図12(e)参照)を取得する。
【0033】
次いで、ステップS50では、検索キーワードクラスタ生成部28が、組織ID全てに対するループ処理(中間データ1を用いた処理)を開始する。次いでステップS52では、検索キーワードクラスタ生成部28が、中間データ1から、組織IDを1つ取り出す。なお、ここで取り出された組織IDを組織ID(A)とする。次いで、ステップS54では、検索キーワードクラスタ生成部28が、組織ID全てに対するループ処理を更に開始する。具体的には、ステップS56において、検索キーワードクラスタ生成部28が、組織IDを1つ取り出す。なお、ここで取り出された組織IDを組織ID(B)とする。次いで、ステップS58では、検索キーワードクラスタ生成部28が、取り出した組織IDが違うか否か、すなわち、組織ID(A)≠組織ID(B)であるか否かを判断する。ここでの判断が否定された場合には、ステップS56に戻り、検索キーワードクラスタ生成部28は、別の組織IDを再度取り出すこととなる。一方、ステップS58の判断が肯定された場合には、ステップS60に移行する。
【0034】
ステップS60では、検索キーワードクラスタ生成部28が、検索キーワード類似度判定処理のサブルーチンを実行する。具体的には、検索キーワードクラスタ生成部28は、図13のフローチャートに沿った処理を実行する。
【0035】
図13の処理では、ステップS102において、検索キーワードクラスタ生成部28が、組織ID(A)→組織ID(B)の方向での類似度として、
(双方で一致する検索キーワード数)/(比較元で使用した検索キーワード総数)
を算出する。
【0036】
例えば、組織ID(A)が図12(c)の組織ID「6972」であり、組織ID(B)が図12(c)の組織ID「6535」であるとする。この場合、双方で一致する検索キーワードは、「統計」と「天気」であるので、双方で一致する検索キーワード数は「2」となる。また、比較元(ここでは、組織ID(A)=6972)で使用した検索キーワード総数は「9」となる。したがって、類似度は、2/9=0.22…となる(図12(d)の中間データ2参照)。
【0037】
次いで、ステップS104では、検索キーワードクラスタ生成部28が、組織ID(B)→組織ID(A)の方向での類似度として、(双方で一致する検索キーワード数)/(比較元で使用した検索キーワード総数)を算出する。上記の例であれば、双方で一致する検索キーワードは、「統計」と「天気」であるので、双方で一致する検索キーワード数は「2」となる。また、比較元(ここでは、組織ID(B)=6535)で使用した検索キーワード総数は「7」となる。したがって、この場合の類似度は、2/7=0.28となる(図12(d)の中間データ2参照)。
【0038】
次いで、ステップS106では、検索キーワードクラスタ生成部28が、組織ID(A)→組織ID(B)方向、組織ID(B)→組織ID(A)方向の双方とも類似度が閾値(図12(e)参照)以下であるか否かを判断する。ここでの判断が否定された場合には、図13の処理を終了して、図10のステップS62に移行する。なお、上述した例では、組織ID(B)→組織ID(A)方向の類似度が閾値(0.25)よりも大きいので、ステップS106の判断は否定される。
【0039】
一方、ステップS106の判断が肯定された場合には、ステップS108に移行する。ステップS108に移行した場合、すなわち、組織ID(A)→組織ID(B)方向、組織ID(B)→組織ID(A)方向の双方とも類似度が閾値以下であった場合には、検索キーワードクラスタ生成部28は、組織ID(A)と検索キーワードの使用傾向が異なる母集団へ組織ID(B)を追加する。例えば、組織ID(A)が「6535」、組織ID(B)が「6863」であれば、図12(d)に示すように、組織ID(A)→組織ID(B)方向、組織ID(B)→組織ID(A)方向の双方とも類似度が閾値以下となる。したがって、図12(f)に示すような中間データ3が生成されることになる。
【0040】
ステップS62に移行すると、その後は、検索キーワードクラスタ生成部28は、組織ID(A)と、組織ID(B)を順次変更しつつ、上記と同様の処理(中間データ2(図12(d))を生成する処理)を行う。そして、ステップS62及びステップS64の両判断が肯定された段階、すなわち、全組織IDの組み合わせについて、ステップS60の処理が終了した段階で、図11のステップS66に移行する。なお、ここまでの段階では、図12(f)の中間データ3に示すように、検索キーワードの使用傾向が異なる組織が抽出された状態となっている。なお、ステップS60の処理では、組織ID(A)と組織ID(B)の組み合わせが、組織ID(B)と組織ID(A)の組み合わせと一致する場合には、類似度の算出結果は同一となる。したがって、ステップS60では、いずれか一方の組み合わせのみについて類似度を算出することとしてもよい。
【0041】
図11のステップS66に移行すると、検索キーワードクラスタ生成部28が、閾値DB56から従業員間類似性閾値(図7(b)、図15(d)参照)を取得する。次いで、ステップS68では、検索キーワードクラスタ生成部28が、検索キーワードの使用傾向が異なる組織に属する、従業員ID全てに対するループ処理を開始する。すなわち、図12(f)又は図15(a)に示す中間データ3に含まれている従業員ID(ここでは、従業員ID「H00002」、「H00003」)に対するループ処理を開始する。次いで、ステップS70では、検索キーワードクラスタ生成部28が、図15(a)に示す中間データ3から、従業員IDを1つ取り出す。なお、ここで取り出された従業員IDを、従業員ID(C)とするものとする。
【0042】
次いで、ステップS72では、検索キーワードクラスタ生成部28が、従業員ID全てに対するループ処理を開始する。次いで、ステップS74では、検索キーワードクラスタ生成部28が、図15(a)に示す中間データ3から、従業員IDを1つ取り出す。なお、ここで取り出された従業員IDを従業員ID(D)とするものとする。
【0043】
次いで、ステップS76では、検索キーワードクラスタ生成部28が、取り出した従業員IDが異なるか否か、すなわち、従業員ID(C)≠従業員ID(D)か否かを判断する。ここでの判断が否定された場合には、ステップS74に戻り、従業員IDを再度取り出す。一方、ステップS76の判断が肯定された場合には、ステップS78に移行する。
【0044】
ステップS78に移行すると、検索キーワードクラスタ生成部28は、検索キーワード類似度判定処理のサブルーチンを実行する。具体的には、検索キーワードクラスタ生成部28は、図14のフローチャートに沿った処理を実行する。
【0045】
図14の処理では、まず、ステップS120において、検索キーワードクラスタ生成部28が、従業員ID(C)→従業員ID(D)の方向での類似度として、
(双方で一致する検索キーワード数)/(比較元で使用した検索キーワード総数)
を算出する。例えば、従業員ID(C)が、「H00002」で、従業員ID(D)が、「H00003」である場合には、類似度=1/7=0.14となる(図15(c)の中間データ4参照)。
【0046】
次いで、ステップS122では、検索キーワードクラスタ生成部28が、従業員ID(D)→従業員ID(C)の方向での類似度として、(双方で一致する検索キーワード数)/(比較元で使用した検索キーワード総数)を算出する。例えば、従業員ID(C)=「H00002」、従業員ID(D)=、「H00003」であれば、類似度=1/4=0.25となる(図15(c)の中間データ4参照)。
【0047】
次いで、ステップS124では、検索キーワードクラスタ生成部28が、従業員ID(C)→従業員ID(D)方向、従業員ID(D)→従業員ID(C)方向の双方とも類似度が閾値(=0.5(図15(d)))以下か否かを判断する。ここでの判断が否定された場合には、図14の全処理を終えて、図11のステップS80に移行する。一方、ステップS124の判断が肯定された場合には、ステップS126に移行する。例えば、従業員ID(C)が、「H00002」で、従業員ID(D)が、「H00003」である場合には、図15(c)の中間データ4に示すように、類似度は、0.14と、0.25であるので、ステップS124の判断は肯定されることになる。
【0048】
ステップS126に移行した場合には、検索キーワードクラスタ生成部28は、従業員ID(C)と検索キーワードの使用傾向が異なる母集団へ従業員ID(D)を追加する。具体的には、図15(e)に示すように、クラスタDBに従業員ID(C)=「H00002」と従業員ID(D)=「H00003」を追加する。
【0049】
その後は、従業員ID(C)と、従業員ID(D)を順次変更しつつ、上記と同様の処理(中間データ4(図15(c))を生成する処理)を行う。そして、ステップS80及びステップS82の両判断が肯定された段階、すなわち、全従業員IDの組み合わせについて、ステップS78の処理が終了した段階で、ステップS10の処理(図9〜図11の処理)が終了する。なお、ステップS78では、従業員ID(C)と従業員ID(D)の組み合わせが、従業員ID(D)と従業員ID(C)の組み合わせと一致する場合、類似度の算出結果は同一となる。したがって、ステップS78では、いずれか一方の組み合わせのみについて類似度を算出することとしてもよい。
【0050】
以上のようにして生成されたクラスタDB40は、検索キーワードバースト使用予測部24に送信され、検索キーワードバースト使用予測部24の処理において利用されることになる。
【0051】
(検索処理)
次に、検索処理について詳細に説明する。この検索処理では、図8(b)のフローチャートに沿った処理が実行される。なお、ここでは、例えば、企業Aの研究開発部門が社内向けの展示会に、新しい「携帯端末」を紹介し、説明員が、「競合B社と比較して、省電力性と性能面で優位」と強調したものとする。また、その後、展示会に参加した営業や、SEの関心を集めて、急激的に情報が拡散し、この話を聞きつけた社内の従業員が、検索サイトに対して「B社 携帯端末 省電力」などのキーワードで検索をかけたものとする。
【0052】
図8(b)の処理では、まず、ステップS20において、受付部20が、従業員IDと検索キーワード群(1以上の検索キーワードを含む)を受信する。具体的には、受付部20は、ブラウザ上で従業員が検索キーワード群を入力したときに、当該検索キーワード群と、端末10にログインしている従業員の従業員IDと、を受信する。
【0053】
次いで、ステップS22では、検索キーワードバースト使用予測部24が、検索キーワードバースト使用予測処理のサブルーチンを実行する。この検索キーワードバースト使用予測処理では、検索キーワードバースト使用予測部24は、図16〜図19に沿った処理を実行する。
【0054】
図16のステップS202では、検索キーワードバースト使用予測部24が、受付部20から検索キーワード群、日時、従業員IDを受信する。この場合、検索キーワードバースト使用予測部24は、図20(a)に示すようなデータを受信することができる。次いで、ステップS204では、検索キーワードバースト使用予測部24が、閾値DB56から、監視時間幅(図7(c))と均質度閾値(図7(d))を読み出す(図20(c)、図20(e)参照)。
【0055】
次いで、ステップS206では、検索キーワードバースト使用予測部24が、クラスタDB40上に存在する母集団を読みだす(図20(b)参照)。次いで、ステップS208では、検索キーワードバースト使用予測部24が、受付部20が受付けた従業員IDが母集団上の従業員IDに含まれているか否かを判断する。ここでの判断が肯定された場合には、ステップS206に移行し、否定された場合には、図19のステップS248に移行する。なお、ここでは、受付けた従業員IDが母集団の従業員IDに含まれていたものとして説明する。
【0056】
ステップS210では、検索キーワードバースト使用予測部24が、受付部20が受付けた検索キーワード群の中から、検索キーワードを1語抽出する。例えば、ステップS202で受信した検索キーワード群が、図20(a)に示すように「B社 携帯端末 省電力」であった場合には、それらのうちの1つ(例えば、「B社」)を抽出する。次いで、ステップS212では、検索キーワードバースト使用予測部24が、抽出した検索キーワードが母集団に登録されているか否かを判断する。ここでの判断が肯定されると、ステップS214に移行して、抽出した検索キーワードを母集団上へ登録し、図17のステップS216に移行する。一方、ステップS212の判断が否定された場合には、ステップS214を経ずに、図17のステップS216に移行する。
【0057】
次いで、ステップS216では、検索キーワードバースト使用予測部24が、母集団上の監視開始時間、監視終了時間が未設定か否かを判断する。図20(b)のように、母集団上の監視開始時間、監視終了時間が未設定である場合には、ここでの判断が肯定されて、ステップS218に移行する。
【0058】
そして、ステップS218では、検索キーワードバースト使用予測部24が、受付部20が受付けた日時を母集団上の監視開始日時へ登録し、次のステップS220では、検索キーワードバースト使用予測部24が、受付部20が受付けた日時に監視時間幅(図20(c)参照、ここでは1時間)を加算して監視終了日時を取得する。また、次のステップS222では、検索キーワードバースト使用予測部24が、取得した監視終了日時を母集団上の監視終了日時へ登録する。そして、次のステップS224に移行する。
【0059】
なお、ステップS216の判断が否定された場合には、検索キーワードバースト使用予測部24は、直接、ステップS224に移行する。
【0060】
ステップS224では、検索キーワードバースト使用予測部24が、受付部20が受付けた日時が母集団上の監視開始日時から監視終了日時までの期間外か否かを判断する。ここでの判断が肯定された場合には、ステップS218〜S222と同様の処理を行う。すなわち、検索キーワードバースト使用予測部24は、ステップS226において、受付部20が受付けた日時を母集団上の監視開始日時へ登録し、次のステップS228において、受付部20が受付けた日時に監視時間幅(ここでは、1時間)を加算して監視終了日時を取得する。また、次のステップS230では、検索キーワードバースト使用予測部24が、取得した監視終了日時を母集団上の監視終了日時へ登録する。そして、次のステップS232に移行する。
【0061】
なお、ステップS224の判断が否定された場合には、検索キーワードバースト使用予測部24は、直接、ステップS232に移行する。
【0062】
次のステップS232では、検索キーワードバースト使用予測部24が、受付部20が受付けた従業員IDを母集団上のキーワード使用者情報リストに登録する。これまでの処理を経ることで、図20(d)の1行目の登録が完了する。その後は、図18のステップS234の処理に移行する。
【0063】
図18のステップS234では、次式(1)に基づいて、均質度を算出する。なお、「均質度」とは、検索傾向が異なる従業員の母集団(グループ)において、所定の時間幅で同一の検索キーワードを入力した人数の割合を意味する。
均質度=(母集団内でキーワード使用者リストに設定されている人数)/(母集団の総人数) …(1)
【0064】
ここでは、母集団内でキーワード使用者リストに設定されている人数は、従業員ID「H00002」の1人のみであり、母集団の総人数が2人であるので、均質度=1(人)/2(人)=0.5となる。
【0065】
次いで、ステップS236では、検索キーワードバースト使用予測部24が、検索キーワード群に含まれる検索キーワードを全て抽出したか否かを判断する。ここでの判断が否定された場合には、図16のステップS210に戻る。これ以降は、従業員ID=H00002の従業員が使用した残りの検索キーワード「携帯端末」及び「省電力」について、上記と同様の処理を行う。これにより、図20(d)に示すように、3つのデータが登録されることになる。なお、図20(d)に登録された3つのデータは、全て均質度が0.5となっている。その後、ステップS236の判断が肯定されると、ステップS238に移行する。
【0066】
ステップS238では、検索キーワードバースト使用予測部24が、算出した均質度を1つ読み込む。そして、ステップS240では、検索キーワードバースト使用予測部24が、均質度が、ステップS204で読み出した均質度閾値(図20(e)に示す0.7)未満か否かを判断する。ここでの判断が肯定された場合には、ステップS242に移行し、検索キーワードバースト使用予測部24は、均質度を全て読み込んだか否かを判断する。ここでの判断が否定された場合には、ステップS240に戻る。一方、ステップS242の判断が肯定された場合には、ステップS246に移行する。なお、ステップS240,S242の両判断を行うことにより、算出した均質度の少なくとも1つが均質度閾値未満であるか否かの判断を行っているともいえる。
【0067】
ステップS246に移行すると、検索キーワードバースト使用予測部24が、図20(f)に示すようなデータ(予兆フラグ、検索キーワード群を含むデータ)を出力データに設定する。その後は、図8(b)のステップS24に移行する。
【0068】
なお、例えば、図20(a)〜図20(f)の処理が終了した後に、図21(a)に示すように、従業員ID「H00003」の従業員が検索キーワード群「B社 携帯端末 省電力 性能」を入力したとする。この場合、ステップS202〜ステップS236の処理を行うことで、図21(b)に示すクラスタDB40のデータは、図21(d)のようになる。この場合、検索キーワード「B社」、「携帯端末」、「省電力」の均質度は、均質度=2/2=1.0となる。この場合、図18のステップS240の判断が否定されることがあるため、ステップS244において、検索キーワードバースト使用予測部24が、予兆フラグに「予兆あり」を設定することになる(図21(f)参照)
【0069】
このような場合には、ステップS246において、検索キーワードバースト使用予測部24が、図21(f)に示すようなデータ(予兆フラグ、検索キーワード群を含むデータ)を出力データに設定することになる。
【0070】
ところで、図16のステップS208の判断が否定された場合、すなわち、受付部20が受付けた従業員IDが母集団上の従業員IDに含まれていなかった場合には、図19の処理が実行されることになる。
【0071】
図19の処理では、まず、ステップS248において、検索キーワードバースト使用予測部24が、受付部20が受付けた検索キーワードを1語抽出する。次いで、ステップS250では、検索キーワードバースト使用予測部24が、抽出した検索キーワードが母集団上の検索キーワードに登録されているか否かを判断する。ここでの判断が肯定された場合には、ステップS252に移行する。ステップS252では、検索キーワードバースト使用予測部24が、受付部20が受付けた日時が、母集団上の監視開始時間から監視終了時間までの期間内か否かを判断する。ここでの判断が肯定された場合には、ステップS224に移行し、検索キーワードバースト使用予測部24が、均質度を、上述したステップS234と同様にして算出する。その後は、ステップS258に移行する。
【0072】
これに対し、ステップS250又はステップS252の判断が否定された場合には、ステップS256に移行し、検索キーワードバースト使用予測部24が、均質度に0を設定し、その後、ステップS258に移行する。
【0073】
ステップS258では、検索キーワードバースト使用予測部24が、入力された検索キーワードを全て抽出したか否かを判断する。ここでの判断が否定された場合には、ステップS248に戻り、以降の処理を繰り返す。そして、ステップS258の判断が肯定された段階で、図18のステップS238に移行する。その後の処理は、前述したとおりである。
【0074】
以上のようにしてステップS22の全処理(図16〜図19の処理)が終了すると、図8(b)のステップS24に移行する。ステップS24では、検索キーワードバースト使用予測部24が、検索キーワード隠蔽制御処理のサブルーチンを実行する。この検索キーワード隠蔽制御処理では、図22に示すフローチャートに沿った処理を実行する。
【0075】
図22のステップS260では、検索キーワード隠蔽制御部26が、検索キーワードバースト使用予測部24から、予兆フラグ及び検索キーワードのデータ(例えば、図20(f)のデータや図21(f)のデータ)を受信する。この場合、検索キーワード隠蔽制御部26は、端末10から入力された検索キーワード群と、完全に一致する検索キーワード及び予兆フラグのデータを受信する。
【0076】
次いで、ステップS262では、検索キーワード隠蔽制御部26が、予兆フラグが、「予兆あり」であるか否かを判断する。ここでの判断が否定された場合、すなわち、ステップS260で受信したデータが図20(f)のようなデータであった場合には、ステップS272に移行する。ステップS272に移行した場合には、検索キーワード送信部22に対して、通常の検索処理を行うように指示を出す。そして、次のステップS274では、検索キーワード送信部22が、検索サーバに検索キーワード群を検索サーバ16に送信する。次いで、ステップS276では、検索キーワード隠蔽制御部26が、検索結果データを検索サーバ16から受信し、検索キーワード群、検索結果データ、最終更新日時をキャッシュDB42(図5参照)に格納する。その後は、図8(b)のステップS26に移行する。
【0077】
一方、ステップS262の判断が肯定された場合、すなわち、ステップS260で受信したデータが図21(f)のようなデータであった場合には、ステップS264に移行する。ステップS264では、検索キーワード隠蔽制御部26が、キャッシュDB42から、検索キーワード群に合致する検索結果データを読み出す。次いで、ステップS266では、検索キーワード隠蔽制御部26が、検索結果データが存在したか否かを判断する。ここでの判断が否定された場合には、ステップS270において、検索キーワード隠蔽制御部26が、情報出力部30にエラーメッセージを出力する。その後は、図8(b)のステップS26に移行する。
【0078】
一方、ステップS266の判断が肯定された場合には、検索キーワード隠蔽制御部26は、ステップS268において、キャッシュDB42から読み出した検索結果データを情報出力部30に対して送信する。その後は、図8(b)のステップS26に移行する。
【0079】
図8(b)に戻り、ステップS26では、情報出力部30が、ステップS24で取得した情報のいずれかを、従業員が検索キーワード群を入力した端末10に対して送信する。なお、ステップS24で取得した情報には、検索サーバ16で実際に生成された検索結果データ、キャッシュDB42に格納されていた過去の検索結果データ、又はエラーメッセージが含まれる。
【0080】
その後は、情報を受信した端末10において、受信した情報を表示することで、端末10を利用する従業員に、入力した検索キーワード群に対応する検索結果データ(又はエラーメッセージ)が提供されることになる。
【0081】
なお、これまでの説明から明らかなように、情報出力部30と、検索キーワード隠蔽制御部26とを含んで、情報提供部が実現されている。
【0082】
以上、詳細に説明したように、本実施形態のゲートウェイサーバ12によると、複数の端末10のうちのいずれかから入力される、1以上の検索キーワードを含む検索キーワード群を受け付ける受付部20と、受付部20が受け付けた検索キーワード群を検索サーバ16に送信する検索キーワード送信部22と、過去に用いた検索キーワードの一致度が低い従業員ごとにまとめた母集団(従業員のグループ)が登録されたクラスタDB40を参照し、母集団内において特定の検索キーワードを所定時間内に利用した従業員の割合(本実施形態における「均質度」)が、所定の第1の閾値(均質度閾値)よりも高い場合には、特定の検索キーワードを含む検索キーワード群を検索サーバ16に送信しないように検索キーワード送信部22を制御する検索キーワード隠蔽制御部26と、を備えている。このように、普段、使用する検索キーワードに関連性がほとんどない従業員の母集団において均質性が高くなったことを、バースト的な検索が発生する予兆として検出する。このため、バースト的な検索が実際に発生した後の早期タイミングで、検索サーバ16への特定の検索キーワード(バースト的な検索に係る検索キーワード)の送信を阻止することができる。したがって、検索サーバ16側に端末を有する企業等の検索意図が知られる可能性が低減するため、企業等における機密性を向上することができる。
【0083】
また、本実施形態のゲートウェイサーバ12によると、検索キーワードクラスタ生成部28は、従業員ごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第2の閾値(従業員間類似性閾値(図7(b)))よりも低い従業員をまとめて母集団を生成する。したがって、実際に従業員が用いた検索キーワードに基づいて、母集団を生成することで、単に部署の関連性などに基づいて母集団を生成するような場合に比べて、適切な母集団の生成が可能となる。ただし、これに限らず、母集団は、部署の関連性、従業員間の交流頻度などに基づいて、予め生成しておくこととしてもよい。この場合、図3の検索キーワードクラスタ生成部28を省略することとしてもよい。
【0084】
また、本実施形態では、検索キーワードクラスタ生成部28は、複数の端末10のうちのいずれかの端末を利用する従業員の属する組織ごとに、過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第3の閾値(組織間類似性閾値(図7(a))よりも低い組織をまとめて組織グループ(母集団)を生成し(ステップS30〜S64)、更に組織グループ内で異なる組織に属する従業員ごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が第2の閾値(従業員間類似性閾値(図7(b)))よりも低い従業員をまとめ母集団を生成する(ステップS66〜S82)こととしている。このようにすることで、全従業員の検索キーワードの一致度を総当りで検証しなくとも、母集団を適切に生成することができる。したがって、データ処理量の低減及びデータ処理時間の短縮を図ることが可能である。
【0085】
また、本実施形態のゲートウェイサーバ12は、検索キーワード送信部22が検索サーバ16に検索キーワード群を送信した場合に、検索キーワード群に基づいて検索サーバ16にて生成された検索結果データを格納するキャッシュDB42を備えている。また、検索キーワード送信部22が検索サーバ16に検索キーワード群を送信しない場合に、送信しない検索キーワード群と同一の検索キーワード群に基づいて過去に検索サーバ16で生成された検索結果データを、キャッシュDB42から読み出して端末10に提供することとしている。このため、検索キーワードが検索サーバ16に送信されない場合でも、直前にキャッシュDB42に格納された検索結果データを利用することができる。したがって、検索サーバ16の検索結果データが時々刻々とほぼリアルタイムに変動するような場合でも、ほとんど支障なく適切な検索結果データを得ることができる。
【0086】
なお、上記実施形態では、検索キーワードクラスタ生成部28が、過去に入力された検索キーワードの一致度が組織間類似性閾値よりも低い組織をまとめて組織グループ(母集団)を生成した後に、従業員をまとめた母集団を生成した。しかしながら、これに限られるものではなく、例えば、組織グループ(母集団)を生成せずに、最初から、過去に入力された検索キーワードの一致度が低い従業員をまとめて母集団を生成してもよい。また、上記実施形態では、従業員を最小単位として、母集団を生成する場合について説明したが、これに限らず、従業員の代わりに組織を最小単位として、母集団を生成することとしてもよい。
【0087】
なお、上記実施形態では、キャッシュDB42に過去の検索結果データを蓄積しておき、端末10から入力される検索キーワード群が、検索サーバ16に送信されないときに、キャッシュDB42から検索結果データを読み出して、出力する場合について説明した。しかしながら、これに限られるものではなく、端末10から入力される検索キーワード群が、検索サーバ16に送信されないときには、端末10に対して検索結果データを出力せずに、エラーメッセージのみを出力するようにしてもよい。この場合、キャッシュDB42を省略してもよい。
【0088】
なお、上記実施形態では、図13のステップS102、S104や、図14のステップS120、S122のように、組織間及び従業員間で類似度を2つ(2方向から)算出する場合について説明した。しかしながら、これに限られるものではなく、類似度を(双方で一致する検索キーワード数)/(双方が使用した検索キーワード総数)から算出することとしてもよい。
【0089】
なお、上記実施形態では、中継装置が、会社の組織(部署など)に属する従業員が用いる端末と検索サーバとの間の情報の中継をするゲートウェイサーバである場合について説明したが、これに限られるものではない。例えば会社以外の組織において用いられる端末と検索サーバとの間の情報の中継をするゲートウェイサーバであってもよい。
【0090】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【0091】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0092】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0093】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【0094】
なお、以上の説明に関して更に以下の付記を開示する。
(付記1) 検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する中継装置であって、前記複数の端末のうちのいずれかから入力される、1以上の検索キーワードを含む検索キーワード群を受け付ける受付部と、前記受付部が受け付けた検索キーワード群を前記検索サーバに送信する送信部と、過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第1の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないように前記送信部を制御する制御部と、を備える中継装置。
(付記2) 前記ユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第2の閾値よりも低いユーザをまとめてユーザグループを生成するユーザグループ生成部を、更に備える付記1に記載の中継装置。
(付記3) ユーザグループ生成部は、前記複数の端末のうちのいずれかの端末を利用するユーザの属する組織ごとに、過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第3の閾値よりも低い組織をまとめて組織グループを生成し、前記組織グループ内で異なる組織に属するユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が前記所定の第2の閾値よりも低いユーザをまとめてユーザグループを生成することを特徴とする付記2に記載の中継装置。
(付記4) 前記送信部が前記検索サーバに前記検索キーワード群を送信した場合に、当該検索キーワード群に基づいて前記検索サーバにて生成された情報を格納する格納部と、前記送信部が前記検索サーバに前記検索キーワード群を送信しない場合に、前記送信しない検索キーワード群と同一の検索キーワード群に基づいて過去に前記検索サーバで生成された情報を、前記格納部から読み出して、前記端末に提供する情報提供部と、を更に備える付記1〜3のいずれかに記載の中継装置。
(付記5) 検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する処理をコンピュータに実行させる中継プログラムであって、前記複数の端末のうちのいずれかから入力される、1以上の検索キーワードを含む検索キーワード群を受け付け、前記受け付けた検索キーワード群を前記検索サーバに送信する送信する処理を前記コンピュータに実行させ、前記送信をする処理では、過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第1の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないようにすることを特徴とする中継プログラム。
(付記6) 前記ユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第2の閾値よりも低いユーザをまとめてユーザグループを生成する処理を、前記コンピュータに更に実行させることを特徴とする付記5に記載の中継プログラム。
(付記7) 前記ユーザグループを生成する処理では、前記複数の端末のうちのいずれかの端末を利用するユーザの属する組織ごとに、過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第3の閾値よりも低い組織をまとめて組織グループを生成し、前記組織グループ内で異なる組織に属するユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が前記所定の第2の閾値よりも低いユーザをまとめてユーザグループを生成する処理、を前記コンピュータに実行させることを特徴とする付記6に記載の中継プログラム。
(付記8) 前記送信する処理において前記検索サーバに前記検索キーワード群を送信した場合に、当該検索キーワード群に基づいて前記検索サーバにて生成された情報を格納部に格納する処理と、前記送信する処理において前記検索サーバに前記検索キーワード群を送信しない場合に、前記送信しない検索キーワード群と同一の検索キーワード群に基づいて過去に前記検索サーバで生成された情報を、前記格納部から読み出して、前記端末に提供する処理と、を前記コンピュータに更に実行させることを特徴とする付記5〜7のいずれかに記載の中継プログラム。
【符号の説明】
【0095】
10 端末
12 ゲートウェイサーバ(中継装置)
16 検索サーバ
20 受付部
22 検索キーワード送信部(送信部)
26 検索キーワード隠蔽制御部(制御部)
28 検索キーワードクラスタ生成部(ユーザグループ生成部、情報提供部の一部)
30 情報出力部(情報提供部の一部)
40 クラスタDB(データベース)
42 キャッシュDB(格納部)
【技術分野】
【0001】
本件は、中継装置及び中継プログラムに関する。
【背景技術】
【0002】
検索サービスを提供する検索サーバは、検索者から検索キーワードが入力されると、検索キーワードに応じた検索結果(例えば、検索キーワードを含むウェブサイトの情報や、検索キーワードを含む記事など)を検索者に提供する。このような検索サービスは、個人ユーザのみならず、企業内においても積極的に利用されている。
【0003】
企業内で検索サービスを利用する場合、入力される検索キーワードは、業務に関連した用語(業界名や技術名)を含んでいることが多い。そのため、企業内である検索キーワードが爆発的・集中的に使用された場合、当該爆発的・集中的な使用の発生タイミングなどから社外秘の情報や企業内のトレンドが、検索サービスの提供者に知られてしまうおそれがある。なお、以下においては、検索キーワードの爆発的・集中的な使用を、「バースト的な検索」と呼ぶものとする。
【0004】
こうした状況を踏まえ、最近では、企業において、バースト的な検索が行われる予兆を検知(予測)し、その発生タイミングと検索意図を隠蔽する仕組みを実現することが求められている。なお、特許文献1には、時間幅ごとの検索キーワード使用回数を監視して、将来の検索回数を推定し、推定された検索回数とその順位からキーワード上昇度を予測して、バースト的な検索の予兆を検知する方法が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−35034号公報
【特許文献2】特開昭63−204434号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記特許文献1の方法では、バースト的に検索キーワードが使用されると判定した時点で、既に大量の検索が行われた後である可能性が高く、バースト的な検索の隠蔽が手遅れとなるおそれがある。
【0007】
また、例えば、検索キーワードにダミーキーワードを追加して検索を行い、検索意図を隠蔽する方法も知られているが、この方法では、バースト的に検索キーワードが使用されているタイミングを隠蔽することはできない。このため、検索サービスの提供者側で、当該タイミングに着目してキーワード分布を分析することで、検索意図が容易に予想できてしまうおそれがある。
【0008】
なお、検索キーワードに対応する検索結果をキャッシュ上に保持しておき、キャッシュ上の検索結果を利用するという方法もある(例えば、特許文献2参照)。しかるに、検索サービスにおいて提供される検索結果が時々刻々と変化する場合、すなわちリアルタイムに近い時間間隔で検索結果が更新されるような場合には、キャッシュ上の検索結果は、時間経過とともに古い情報となる。このため、キャッシュ上の検索結果を利用し続けると、検索サービスが提供するサービスを有効に利用することができないこととなる。
【0009】
そこで本件は上記の課題に鑑みてなされたものであり、検索サーバに、バースト的な検索の発生が知られる可能性を低減することが可能な中継装置及び中継プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本明細書に記載の中継装置は、検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する中継装置であって、前記複数の端末のうちのいずれかから入力される、1以上の検索キーワードを含む検索キーワード群を受け付ける受付部と、前記受付部が受け付けた検索キーワード群を前記検索サーバに送信する送信部と、過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第1の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないように前記送信部を制御する制御部と、を備える中継装置である。
【0011】
本明細書に記載の中継プログラムは、検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する処理をコンピュータに実行させる中継プログラムであって、前記複数の端末のうちのいずれかから入力される、1以上の検索キーワードを含む検索キーワード群を受け付け、前記受け付けた検索キーワード群を前記検索サーバに送信する送信する処理を前記コンピュータに実行させ、前記送信をする処理では、過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第1の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないようにする中継プログラムである。
【発明の効果】
【0012】
本明細書に記載の中継装置及び中継プログラムは、検索サーバに、バースト的な検索の発生が知られる可能性を低減することができるという効果を奏する。
【図面の簡単な説明】
【0013】
【図1】一実施形態に係る情報検索システム100の概略図である。
【図2】ゲートウェイサーバのハードウェア構成図である。
【図3】ゲートウェイサーバの機能を示すブロック図である。
【図4】クラスタDBのデータ構造を示す図である。
【図5】キャッシュDBのデータ構造を示す図である。
【図6】図6(a)は、人事情報DBのデータ構造を示す図であり、図6(b)は、検索キーワード履歴DBのデータ構造を示す図である。
【図7】図7(a)〜図7(d)は、閾値DBのデータ構造を示す図である。
【図8】図8(a)は、検索キーワードクラスタ生成処理を示すフローチャートであり、図8(b)は検索処理を示すフローチャートである。
【図9】図8(a)のステップS10の具体的処理を示すフローチャート(その1)である。
【図10】図8(a)のステップS10の具体的処理を示すフローチャート(その2)である。
【図11】図8(a)のステップS10の具体的処理を示すフローチャート(その3)である。
【図12】図12(a)〜図12(f)は、ステップS10の具体的な処理を説明するための図(その1)である。
【図13】図10のステップS60の具体的処理を示すフローチャートである。
【図14】図11のステップS78の具体的処理を示すフローチャートである。
【図15】図15(a)〜図15(e)は、ステップS10の具体的な処理を説明するための図(その2)である。
【図16】図8(b)のステップS22の具体的処理を示すフローチャート(その1)である。
【図17】図8(b)のステップS22の具体的処理を示すフローチャート(その2)である。
【図18】図8(b)のステップS22の具体的処理を示すフローチャート(その3)である。
【図19】図8(b)のステップS22の具体的処理を示すフローチャート(その4)である。
【図20】図20(a)〜図20(f)は、ステップS22の具体的な処理を説明するための図(その1)である。
【図21】図21(a)〜図21(f)は、ステップS22の具体的な処理を説明するための図(その2)である。
【図22】図8(b)のステップS24の具体的処理を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、一実施形態について、図1〜図22に基づいて詳細に説明する。図1には、中継装置としてのゲートウェイサーバ12を含む情報検索システム100の概略図が示されている。この図1に示すように、情報検索システム100は、複数(図1では3つ表示)の端末10と、ゲートウェイサーバ12と、データベースサーバ14と、検索サーバ16とを含んでいる。なお、各装置間は、LAN(Local Area Network)やインターネットなどのネットワークにより接続されている。
【0015】
端末10は、PC(Personal Computer)、携帯電話、PHS(Personal Handy-phone System)、PDA(Personal Digital Assistant)等を含み、ゲートウェイサーバ12と通信可能に接続されている。なお、端末10は、ある企業の従業員が使用できる端末であるものとする。従業員は、端末10のブラウザ上に表示されている検索サイトにおいて、検索キーワード群(検索キーワードを1つ以上含む)を入力し、検索ボタンを押すことで、検索キーワード群に応じた検索結果データを閲覧することができる。
【0016】
ゲートウェイサーバ12は、検索サービスを提供する検索サーバ16と複数の端末10との間での情報のやり取りを中継する装置である。図2には、ゲートウェイサーバ12のハードウェア構成が示されている。図2に示すように、ゲートウェイサーバ12は、コンピュータとしてのCPU90、ROM92、RAM94、記憶部(ここではHDD(Hard Disk Drive))96、入出力部97、可搬型記憶媒体用ドライブ99等を備えている。ゲートウェイサーバ12の構成各部は、バス98に接続されている。ゲートウェイサーバ12では、ROM92あるいはHDD96に格納されているプログラム(中継プログラム)、又は可搬型記憶媒体用ドライブ99を介して可搬型記憶媒体91から読み出したプログラム(中継プログラム)をCPU90が実行することにより、図3の各部の機能が実現される。
【0017】
図3には、ゲートウェイサーバ12の機能ブロック図が示されている。この図3に示すように、ゲートウェイサーバ12は、受付部20と、送信部としての検索キーワード送信部22と、検索キーワードバースト使用予測部24と、制御部としての検索キーワード隠蔽制御部26と、ユーザグループ生成部としての検索キーワードクラスタ生成部28と、情報出力部30として機能する。なお、図3では、HDD96に格納されているデータベースとしてのクラスタDB40と、格納部としてのキャッシュDB42も図示されている。
【0018】
受付部20は、端末10のブラウザ上において入力された検索キーワード群(1以上の検索キーワードを含む)を受け付ける。検索キーワード送信部22は、受付部20において受け付けられた検索キーワード群を、検索サーバ16に送信する機能を有する。また、検索キーワード送信部22は、検索キーワードバースト使用予測部24に対して検索キーワード群を送信する機能も有している。検索キーワードバースト使用予測部24は、検索キーワード送信部22から受信した検索キーワード群を用いて、バースト的な検索(検索キーワードの爆発的・集中的な使用)が発生するか否かを予測する。なお、バースト的な検索が発生するか否かの具体的な予測方法については、後述する。
【0019】
検索キーワード隠蔽制御部26は、検索キーワードバースト使用予測部24の予測結果に基づいて検索キーワード群を隠蔽するか否かを判断する。そして、隠蔽すると判断された場合には、検索キーワード隠蔽制御部26は、検索キーワード群を検索サーバ16に送信しないように検索キーワード送信部22を制御する。また、検索キーワード隠蔽制御部26は、検索サーバ16から送信されてくる検索結果データをキャッシュ42に格納する。さらに、検索キーワード隠蔽制御部26は、検索キーワード群を隠蔽する場合には、隠蔽した検索キーワード群で過去に検索したときの検索結果データをキャッシュDB42から読み出し、情報出力部30に送信する。
【0020】
検索キーワードクラスタ生成部28は、データベースサーバ14に格納されている情報に基づいて、端末10を利用するユーザをまとめてユーザグループ(母集団)を生成し、クラスタDB40に格納する。なお、検索キーワードクラスタ生成部28の具体的な処理については、後述する。
【0021】
情報出力部30は、検索キーワード送信部22から送信された検索キーワード群に基づいて、検索サーバ16が生成した検索結果データを受信する。そして、情報出力部30は、検索キーワード群を入力した端末10に対して、検索結果データを出力する。また、情報出力部30は、検索サーバ16に対して検索キーワード群が送信されない場合には、検索キーワード隠蔽制御部26から送信されてきた情報(キャッシュDB42上の過去の検索結果データ)を端末10に対して出力する。なお、キャッシュDB42上に検索キーワード群に対応する過去の検索結果データが存在していない場合には、情報出力部30は、端末10に対してエラーメッセージを出力する。
【0022】
クラスタDB40には、通常の状態(バースト的な検索が行われていない状態)で、入力する検索キーワード群に関連性がほとんど無い従業員(検索傾向の異なる従業員)をまとめたグループ(母集団)が格納される。クラスタDB40に格納されるデータは、図4に示すようなデータであり、具体的には、母集団IDの項目と、組織IDの項目と、検索キーワードの項目と、監視開始日時、終了日時の項目と、キーワード使用者情報リストと、を含んでいる。
【0023】
キャッシュDB42には、過去の検索結果データが格納される。キャッシュDB42のデータ構造は、図5のようになっている。具体的には、キャッシュDB42は、検索キーワードの項目と、当該検索キーワードに基づいて生成された検索結果データの項目と、最終更新日時の項目とを有している。なお、同一の検索キーワード群から生成された検索結果データが既にキャッシュDB42に格納されている場合には、既に格納されている検索結果データが、最新の検索結果データで更新されることになる。
【0024】
データベースサーバ14は、図3に示すように、人事情報DB52、検索キーワード履歴DB54、及び閾値DB56を含んでいる。
【0025】
人事情報DB52は、従業員の所属組織を管理するデータベースであり、図6(a)に示すように、従業員IDと、当該従業員IDを有する従業員が属する組織の組織IDとが関連付けられている。検索キーワード履歴DB54は、従業員の過去の検索履歴を管理するデータベースであり、図6(b)に示すように、従業員IDと、当該従業員IDを有する従業員が過去に入力した検索キーワード履歴とが関連付けられている。閾値DB56は、図7(a)〜図7(d)に示すように、4つの閾値DBを含んでいる。具体的には、第3の閾値としての組織間類似性閾値を定義するDB(図7(a))と、第2の閾値としての従業員間類似性閾値を定義するDB(図7(b))と、監視時間幅を定義するDB(図7(c))と、第1の閾値としての均質度閾値を定義するDB(図7(d))と、を含んでいる。
【0026】
図1に戻り、検索サーバ16は、端末10から送信される検索キーワード群に基づいて、検索結果データを生成し、端末10に提供する機能を有する。なお、検索サーバ16が提供する検索結果データは、時々刻々と変化、すなわちリアルタイムに近い時間間隔で更新されるものとする。
【0027】
次に、上記のように構成される情報検索システム100における処理について、具体的に説明する。情報検索システム100では、図8(a)に示す検索キーワードクラスタ生成処理と、図8(b)に示す検索処理とが、非同期にて行われる。
【0028】
(検索キーワードクラスタ生成処理)
検索キーワードクラスタ生成処理では、図8(a)に示すように、ステップS10において、検索キーワードクラスタ生成部28が検索キーワードクラスタ生成処理のサブルーチンを実行する。具体的には、ステップS10では、検索キーワードクラスタ生成部28が、図9〜図11に示すフローチャートに沿った処理を実行する。以下、これらのフローチャートの処理について詳細に説明する。
【0029】
まず、図9のステップS30では、検索キーワードクラスタ生成部28が、人事情報DB52(図6(a)参照)から全ての従業員ID、組織IDを取得する。次いで、ステップS32では、検索キーワードクラスタ生成部28が、全ての組織IDに対するループ処理を開始する。次いで、ステップS34では、検索キーワードクラスタ生成部28が、ステップS30で取得した組織IDのうちの1つを取り出す。
【0030】
次いで、ステップS36では、検索キーワードクラスタ生成部28が、組織IDが一致する従業員ID数分ループ処理を開始する。次いで、ステップS38においては、検索キーワードクラスタ生成部28が、ステップS30で取得した従業員IDのうちの1つを取り出す。次いで、ステップS40では、検索キーワードクラスタ生成部28が、検索キーワード履歴DB54(図6(b)参照)から、ステップS38で取り出した従業員IDの従業員が、過去に入力した検索キーワード履歴を取得する。次いで、ステップS42では、検索キーワードクラスタ生成部28が、全ての従業員IDに対する処理が終わったか否かを判断する。ここでの判断が否定された場合には、ステップS38に戻り、ステップS38→S40→S42の処理・判断を繰り返す。一方、ステップS42の判断が肯定された場合には、ステップS44に移行する。
【0031】
次いで、ステップS44では、検索キーワードクラスタ生成部28が、組織ID毎に検索キーワード履歴をマージする。次いで、ステップS46では、検索キーワードクラスタ生成部28が、全ての組織IDに対して処理は終わったか否かを判断する。ここでの判断が否定された場合には、ステップS34に戻り、ステップS34〜ステップS46までの処理・判断を繰り返す。一方、ステップS46の判断が肯定された場合、すなわち、全ての組織ID、従業員IDに対する処理が終了した場合には、ステップS48に移行する。なお、ステップS48に移行する段階では、図12(a)の人事情報DB52(図6(a)と同一)と、図12(b)の検索キーワード履歴DB54(図6(b)と同一)とから、図12(c)に示す中間データ1が生成されている。
【0032】
図9に戻り、次のステップS48では、検索キーワードクラスタ生成部28が、閾値DB56から組織間類似性閾値(図7(a)及び図12(e)参照)を取得する。
【0033】
次いで、ステップS50では、検索キーワードクラスタ生成部28が、組織ID全てに対するループ処理(中間データ1を用いた処理)を開始する。次いでステップS52では、検索キーワードクラスタ生成部28が、中間データ1から、組織IDを1つ取り出す。なお、ここで取り出された組織IDを組織ID(A)とする。次いで、ステップS54では、検索キーワードクラスタ生成部28が、組織ID全てに対するループ処理を更に開始する。具体的には、ステップS56において、検索キーワードクラスタ生成部28が、組織IDを1つ取り出す。なお、ここで取り出された組織IDを組織ID(B)とする。次いで、ステップS58では、検索キーワードクラスタ生成部28が、取り出した組織IDが違うか否か、すなわち、組織ID(A)≠組織ID(B)であるか否かを判断する。ここでの判断が否定された場合には、ステップS56に戻り、検索キーワードクラスタ生成部28は、別の組織IDを再度取り出すこととなる。一方、ステップS58の判断が肯定された場合には、ステップS60に移行する。
【0034】
ステップS60では、検索キーワードクラスタ生成部28が、検索キーワード類似度判定処理のサブルーチンを実行する。具体的には、検索キーワードクラスタ生成部28は、図13のフローチャートに沿った処理を実行する。
【0035】
図13の処理では、ステップS102において、検索キーワードクラスタ生成部28が、組織ID(A)→組織ID(B)の方向での類似度として、
(双方で一致する検索キーワード数)/(比較元で使用した検索キーワード総数)
を算出する。
【0036】
例えば、組織ID(A)が図12(c)の組織ID「6972」であり、組織ID(B)が図12(c)の組織ID「6535」であるとする。この場合、双方で一致する検索キーワードは、「統計」と「天気」であるので、双方で一致する検索キーワード数は「2」となる。また、比較元(ここでは、組織ID(A)=6972)で使用した検索キーワード総数は「9」となる。したがって、類似度は、2/9=0.22…となる(図12(d)の中間データ2参照)。
【0037】
次いで、ステップS104では、検索キーワードクラスタ生成部28が、組織ID(B)→組織ID(A)の方向での類似度として、(双方で一致する検索キーワード数)/(比較元で使用した検索キーワード総数)を算出する。上記の例であれば、双方で一致する検索キーワードは、「統計」と「天気」であるので、双方で一致する検索キーワード数は「2」となる。また、比較元(ここでは、組織ID(B)=6535)で使用した検索キーワード総数は「7」となる。したがって、この場合の類似度は、2/7=0.28となる(図12(d)の中間データ2参照)。
【0038】
次いで、ステップS106では、検索キーワードクラスタ生成部28が、組織ID(A)→組織ID(B)方向、組織ID(B)→組織ID(A)方向の双方とも類似度が閾値(図12(e)参照)以下であるか否かを判断する。ここでの判断が否定された場合には、図13の処理を終了して、図10のステップS62に移行する。なお、上述した例では、組織ID(B)→組織ID(A)方向の類似度が閾値(0.25)よりも大きいので、ステップS106の判断は否定される。
【0039】
一方、ステップS106の判断が肯定された場合には、ステップS108に移行する。ステップS108に移行した場合、すなわち、組織ID(A)→組織ID(B)方向、組織ID(B)→組織ID(A)方向の双方とも類似度が閾値以下であった場合には、検索キーワードクラスタ生成部28は、組織ID(A)と検索キーワードの使用傾向が異なる母集団へ組織ID(B)を追加する。例えば、組織ID(A)が「6535」、組織ID(B)が「6863」であれば、図12(d)に示すように、組織ID(A)→組織ID(B)方向、組織ID(B)→組織ID(A)方向の双方とも類似度が閾値以下となる。したがって、図12(f)に示すような中間データ3が生成されることになる。
【0040】
ステップS62に移行すると、その後は、検索キーワードクラスタ生成部28は、組織ID(A)と、組織ID(B)を順次変更しつつ、上記と同様の処理(中間データ2(図12(d))を生成する処理)を行う。そして、ステップS62及びステップS64の両判断が肯定された段階、すなわち、全組織IDの組み合わせについて、ステップS60の処理が終了した段階で、図11のステップS66に移行する。なお、ここまでの段階では、図12(f)の中間データ3に示すように、検索キーワードの使用傾向が異なる組織が抽出された状態となっている。なお、ステップS60の処理では、組織ID(A)と組織ID(B)の組み合わせが、組織ID(B)と組織ID(A)の組み合わせと一致する場合には、類似度の算出結果は同一となる。したがって、ステップS60では、いずれか一方の組み合わせのみについて類似度を算出することとしてもよい。
【0041】
図11のステップS66に移行すると、検索キーワードクラスタ生成部28が、閾値DB56から従業員間類似性閾値(図7(b)、図15(d)参照)を取得する。次いで、ステップS68では、検索キーワードクラスタ生成部28が、検索キーワードの使用傾向が異なる組織に属する、従業員ID全てに対するループ処理を開始する。すなわち、図12(f)又は図15(a)に示す中間データ3に含まれている従業員ID(ここでは、従業員ID「H00002」、「H00003」)に対するループ処理を開始する。次いで、ステップS70では、検索キーワードクラスタ生成部28が、図15(a)に示す中間データ3から、従業員IDを1つ取り出す。なお、ここで取り出された従業員IDを、従業員ID(C)とするものとする。
【0042】
次いで、ステップS72では、検索キーワードクラスタ生成部28が、従業員ID全てに対するループ処理を開始する。次いで、ステップS74では、検索キーワードクラスタ生成部28が、図15(a)に示す中間データ3から、従業員IDを1つ取り出す。なお、ここで取り出された従業員IDを従業員ID(D)とするものとする。
【0043】
次いで、ステップS76では、検索キーワードクラスタ生成部28が、取り出した従業員IDが異なるか否か、すなわち、従業員ID(C)≠従業員ID(D)か否かを判断する。ここでの判断が否定された場合には、ステップS74に戻り、従業員IDを再度取り出す。一方、ステップS76の判断が肯定された場合には、ステップS78に移行する。
【0044】
ステップS78に移行すると、検索キーワードクラスタ生成部28は、検索キーワード類似度判定処理のサブルーチンを実行する。具体的には、検索キーワードクラスタ生成部28は、図14のフローチャートに沿った処理を実行する。
【0045】
図14の処理では、まず、ステップS120において、検索キーワードクラスタ生成部28が、従業員ID(C)→従業員ID(D)の方向での類似度として、
(双方で一致する検索キーワード数)/(比較元で使用した検索キーワード総数)
を算出する。例えば、従業員ID(C)が、「H00002」で、従業員ID(D)が、「H00003」である場合には、類似度=1/7=0.14となる(図15(c)の中間データ4参照)。
【0046】
次いで、ステップS122では、検索キーワードクラスタ生成部28が、従業員ID(D)→従業員ID(C)の方向での類似度として、(双方で一致する検索キーワード数)/(比較元で使用した検索キーワード総数)を算出する。例えば、従業員ID(C)=「H00002」、従業員ID(D)=、「H00003」であれば、類似度=1/4=0.25となる(図15(c)の中間データ4参照)。
【0047】
次いで、ステップS124では、検索キーワードクラスタ生成部28が、従業員ID(C)→従業員ID(D)方向、従業員ID(D)→従業員ID(C)方向の双方とも類似度が閾値(=0.5(図15(d)))以下か否かを判断する。ここでの判断が否定された場合には、図14の全処理を終えて、図11のステップS80に移行する。一方、ステップS124の判断が肯定された場合には、ステップS126に移行する。例えば、従業員ID(C)が、「H00002」で、従業員ID(D)が、「H00003」である場合には、図15(c)の中間データ4に示すように、類似度は、0.14と、0.25であるので、ステップS124の判断は肯定されることになる。
【0048】
ステップS126に移行した場合には、検索キーワードクラスタ生成部28は、従業員ID(C)と検索キーワードの使用傾向が異なる母集団へ従業員ID(D)を追加する。具体的には、図15(e)に示すように、クラスタDBに従業員ID(C)=「H00002」と従業員ID(D)=「H00003」を追加する。
【0049】
その後は、従業員ID(C)と、従業員ID(D)を順次変更しつつ、上記と同様の処理(中間データ4(図15(c))を生成する処理)を行う。そして、ステップS80及びステップS82の両判断が肯定された段階、すなわち、全従業員IDの組み合わせについて、ステップS78の処理が終了した段階で、ステップS10の処理(図9〜図11の処理)が終了する。なお、ステップS78では、従業員ID(C)と従業員ID(D)の組み合わせが、従業員ID(D)と従業員ID(C)の組み合わせと一致する場合、類似度の算出結果は同一となる。したがって、ステップS78では、いずれか一方の組み合わせのみについて類似度を算出することとしてもよい。
【0050】
以上のようにして生成されたクラスタDB40は、検索キーワードバースト使用予測部24に送信され、検索キーワードバースト使用予測部24の処理において利用されることになる。
【0051】
(検索処理)
次に、検索処理について詳細に説明する。この検索処理では、図8(b)のフローチャートに沿った処理が実行される。なお、ここでは、例えば、企業Aの研究開発部門が社内向けの展示会に、新しい「携帯端末」を紹介し、説明員が、「競合B社と比較して、省電力性と性能面で優位」と強調したものとする。また、その後、展示会に参加した営業や、SEの関心を集めて、急激的に情報が拡散し、この話を聞きつけた社内の従業員が、検索サイトに対して「B社 携帯端末 省電力」などのキーワードで検索をかけたものとする。
【0052】
図8(b)の処理では、まず、ステップS20において、受付部20が、従業員IDと検索キーワード群(1以上の検索キーワードを含む)を受信する。具体的には、受付部20は、ブラウザ上で従業員が検索キーワード群を入力したときに、当該検索キーワード群と、端末10にログインしている従業員の従業員IDと、を受信する。
【0053】
次いで、ステップS22では、検索キーワードバースト使用予測部24が、検索キーワードバースト使用予測処理のサブルーチンを実行する。この検索キーワードバースト使用予測処理では、検索キーワードバースト使用予測部24は、図16〜図19に沿った処理を実行する。
【0054】
図16のステップS202では、検索キーワードバースト使用予測部24が、受付部20から検索キーワード群、日時、従業員IDを受信する。この場合、検索キーワードバースト使用予測部24は、図20(a)に示すようなデータを受信することができる。次いで、ステップS204では、検索キーワードバースト使用予測部24が、閾値DB56から、監視時間幅(図7(c))と均質度閾値(図7(d))を読み出す(図20(c)、図20(e)参照)。
【0055】
次いで、ステップS206では、検索キーワードバースト使用予測部24が、クラスタDB40上に存在する母集団を読みだす(図20(b)参照)。次いで、ステップS208では、検索キーワードバースト使用予測部24が、受付部20が受付けた従業員IDが母集団上の従業員IDに含まれているか否かを判断する。ここでの判断が肯定された場合には、ステップS206に移行し、否定された場合には、図19のステップS248に移行する。なお、ここでは、受付けた従業員IDが母集団の従業員IDに含まれていたものとして説明する。
【0056】
ステップS210では、検索キーワードバースト使用予測部24が、受付部20が受付けた検索キーワード群の中から、検索キーワードを1語抽出する。例えば、ステップS202で受信した検索キーワード群が、図20(a)に示すように「B社 携帯端末 省電力」であった場合には、それらのうちの1つ(例えば、「B社」)を抽出する。次いで、ステップS212では、検索キーワードバースト使用予測部24が、抽出した検索キーワードが母集団に登録されているか否かを判断する。ここでの判断が肯定されると、ステップS214に移行して、抽出した検索キーワードを母集団上へ登録し、図17のステップS216に移行する。一方、ステップS212の判断が否定された場合には、ステップS214を経ずに、図17のステップS216に移行する。
【0057】
次いで、ステップS216では、検索キーワードバースト使用予測部24が、母集団上の監視開始時間、監視終了時間が未設定か否かを判断する。図20(b)のように、母集団上の監視開始時間、監視終了時間が未設定である場合には、ここでの判断が肯定されて、ステップS218に移行する。
【0058】
そして、ステップS218では、検索キーワードバースト使用予測部24が、受付部20が受付けた日時を母集団上の監視開始日時へ登録し、次のステップS220では、検索キーワードバースト使用予測部24が、受付部20が受付けた日時に監視時間幅(図20(c)参照、ここでは1時間)を加算して監視終了日時を取得する。また、次のステップS222では、検索キーワードバースト使用予測部24が、取得した監視終了日時を母集団上の監視終了日時へ登録する。そして、次のステップS224に移行する。
【0059】
なお、ステップS216の判断が否定された場合には、検索キーワードバースト使用予測部24は、直接、ステップS224に移行する。
【0060】
ステップS224では、検索キーワードバースト使用予測部24が、受付部20が受付けた日時が母集団上の監視開始日時から監視終了日時までの期間外か否かを判断する。ここでの判断が肯定された場合には、ステップS218〜S222と同様の処理を行う。すなわち、検索キーワードバースト使用予測部24は、ステップS226において、受付部20が受付けた日時を母集団上の監視開始日時へ登録し、次のステップS228において、受付部20が受付けた日時に監視時間幅(ここでは、1時間)を加算して監視終了日時を取得する。また、次のステップS230では、検索キーワードバースト使用予測部24が、取得した監視終了日時を母集団上の監視終了日時へ登録する。そして、次のステップS232に移行する。
【0061】
なお、ステップS224の判断が否定された場合には、検索キーワードバースト使用予測部24は、直接、ステップS232に移行する。
【0062】
次のステップS232では、検索キーワードバースト使用予測部24が、受付部20が受付けた従業員IDを母集団上のキーワード使用者情報リストに登録する。これまでの処理を経ることで、図20(d)の1行目の登録が完了する。その後は、図18のステップS234の処理に移行する。
【0063】
図18のステップS234では、次式(1)に基づいて、均質度を算出する。なお、「均質度」とは、検索傾向が異なる従業員の母集団(グループ)において、所定の時間幅で同一の検索キーワードを入力した人数の割合を意味する。
均質度=(母集団内でキーワード使用者リストに設定されている人数)/(母集団の総人数) …(1)
【0064】
ここでは、母集団内でキーワード使用者リストに設定されている人数は、従業員ID「H00002」の1人のみであり、母集団の総人数が2人であるので、均質度=1(人)/2(人)=0.5となる。
【0065】
次いで、ステップS236では、検索キーワードバースト使用予測部24が、検索キーワード群に含まれる検索キーワードを全て抽出したか否かを判断する。ここでの判断が否定された場合には、図16のステップS210に戻る。これ以降は、従業員ID=H00002の従業員が使用した残りの検索キーワード「携帯端末」及び「省電力」について、上記と同様の処理を行う。これにより、図20(d)に示すように、3つのデータが登録されることになる。なお、図20(d)に登録された3つのデータは、全て均質度が0.5となっている。その後、ステップS236の判断が肯定されると、ステップS238に移行する。
【0066】
ステップS238では、検索キーワードバースト使用予測部24が、算出した均質度を1つ読み込む。そして、ステップS240では、検索キーワードバースト使用予測部24が、均質度が、ステップS204で読み出した均質度閾値(図20(e)に示す0.7)未満か否かを判断する。ここでの判断が肯定された場合には、ステップS242に移行し、検索キーワードバースト使用予測部24は、均質度を全て読み込んだか否かを判断する。ここでの判断が否定された場合には、ステップS240に戻る。一方、ステップS242の判断が肯定された場合には、ステップS246に移行する。なお、ステップS240,S242の両判断を行うことにより、算出した均質度の少なくとも1つが均質度閾値未満であるか否かの判断を行っているともいえる。
【0067】
ステップS246に移行すると、検索キーワードバースト使用予測部24が、図20(f)に示すようなデータ(予兆フラグ、検索キーワード群を含むデータ)を出力データに設定する。その後は、図8(b)のステップS24に移行する。
【0068】
なお、例えば、図20(a)〜図20(f)の処理が終了した後に、図21(a)に示すように、従業員ID「H00003」の従業員が検索キーワード群「B社 携帯端末 省電力 性能」を入力したとする。この場合、ステップS202〜ステップS236の処理を行うことで、図21(b)に示すクラスタDB40のデータは、図21(d)のようになる。この場合、検索キーワード「B社」、「携帯端末」、「省電力」の均質度は、均質度=2/2=1.0となる。この場合、図18のステップS240の判断が否定されることがあるため、ステップS244において、検索キーワードバースト使用予測部24が、予兆フラグに「予兆あり」を設定することになる(図21(f)参照)
【0069】
このような場合には、ステップS246において、検索キーワードバースト使用予測部24が、図21(f)に示すようなデータ(予兆フラグ、検索キーワード群を含むデータ)を出力データに設定することになる。
【0070】
ところで、図16のステップS208の判断が否定された場合、すなわち、受付部20が受付けた従業員IDが母集団上の従業員IDに含まれていなかった場合には、図19の処理が実行されることになる。
【0071】
図19の処理では、まず、ステップS248において、検索キーワードバースト使用予測部24が、受付部20が受付けた検索キーワードを1語抽出する。次いで、ステップS250では、検索キーワードバースト使用予測部24が、抽出した検索キーワードが母集団上の検索キーワードに登録されているか否かを判断する。ここでの判断が肯定された場合には、ステップS252に移行する。ステップS252では、検索キーワードバースト使用予測部24が、受付部20が受付けた日時が、母集団上の監視開始時間から監視終了時間までの期間内か否かを判断する。ここでの判断が肯定された場合には、ステップS224に移行し、検索キーワードバースト使用予測部24が、均質度を、上述したステップS234と同様にして算出する。その後は、ステップS258に移行する。
【0072】
これに対し、ステップS250又はステップS252の判断が否定された場合には、ステップS256に移行し、検索キーワードバースト使用予測部24が、均質度に0を設定し、その後、ステップS258に移行する。
【0073】
ステップS258では、検索キーワードバースト使用予測部24が、入力された検索キーワードを全て抽出したか否かを判断する。ここでの判断が否定された場合には、ステップS248に戻り、以降の処理を繰り返す。そして、ステップS258の判断が肯定された段階で、図18のステップS238に移行する。その後の処理は、前述したとおりである。
【0074】
以上のようにしてステップS22の全処理(図16〜図19の処理)が終了すると、図8(b)のステップS24に移行する。ステップS24では、検索キーワードバースト使用予測部24が、検索キーワード隠蔽制御処理のサブルーチンを実行する。この検索キーワード隠蔽制御処理では、図22に示すフローチャートに沿った処理を実行する。
【0075】
図22のステップS260では、検索キーワード隠蔽制御部26が、検索キーワードバースト使用予測部24から、予兆フラグ及び検索キーワードのデータ(例えば、図20(f)のデータや図21(f)のデータ)を受信する。この場合、検索キーワード隠蔽制御部26は、端末10から入力された検索キーワード群と、完全に一致する検索キーワード及び予兆フラグのデータを受信する。
【0076】
次いで、ステップS262では、検索キーワード隠蔽制御部26が、予兆フラグが、「予兆あり」であるか否かを判断する。ここでの判断が否定された場合、すなわち、ステップS260で受信したデータが図20(f)のようなデータであった場合には、ステップS272に移行する。ステップS272に移行した場合には、検索キーワード送信部22に対して、通常の検索処理を行うように指示を出す。そして、次のステップS274では、検索キーワード送信部22が、検索サーバに検索キーワード群を検索サーバ16に送信する。次いで、ステップS276では、検索キーワード隠蔽制御部26が、検索結果データを検索サーバ16から受信し、検索キーワード群、検索結果データ、最終更新日時をキャッシュDB42(図5参照)に格納する。その後は、図8(b)のステップS26に移行する。
【0077】
一方、ステップS262の判断が肯定された場合、すなわち、ステップS260で受信したデータが図21(f)のようなデータであった場合には、ステップS264に移行する。ステップS264では、検索キーワード隠蔽制御部26が、キャッシュDB42から、検索キーワード群に合致する検索結果データを読み出す。次いで、ステップS266では、検索キーワード隠蔽制御部26が、検索結果データが存在したか否かを判断する。ここでの判断が否定された場合には、ステップS270において、検索キーワード隠蔽制御部26が、情報出力部30にエラーメッセージを出力する。その後は、図8(b)のステップS26に移行する。
【0078】
一方、ステップS266の判断が肯定された場合には、検索キーワード隠蔽制御部26は、ステップS268において、キャッシュDB42から読み出した検索結果データを情報出力部30に対して送信する。その後は、図8(b)のステップS26に移行する。
【0079】
図8(b)に戻り、ステップS26では、情報出力部30が、ステップS24で取得した情報のいずれかを、従業員が検索キーワード群を入力した端末10に対して送信する。なお、ステップS24で取得した情報には、検索サーバ16で実際に生成された検索結果データ、キャッシュDB42に格納されていた過去の検索結果データ、又はエラーメッセージが含まれる。
【0080】
その後は、情報を受信した端末10において、受信した情報を表示することで、端末10を利用する従業員に、入力した検索キーワード群に対応する検索結果データ(又はエラーメッセージ)が提供されることになる。
【0081】
なお、これまでの説明から明らかなように、情報出力部30と、検索キーワード隠蔽制御部26とを含んで、情報提供部が実現されている。
【0082】
以上、詳細に説明したように、本実施形態のゲートウェイサーバ12によると、複数の端末10のうちのいずれかから入力される、1以上の検索キーワードを含む検索キーワード群を受け付ける受付部20と、受付部20が受け付けた検索キーワード群を検索サーバ16に送信する検索キーワード送信部22と、過去に用いた検索キーワードの一致度が低い従業員ごとにまとめた母集団(従業員のグループ)が登録されたクラスタDB40を参照し、母集団内において特定の検索キーワードを所定時間内に利用した従業員の割合(本実施形態における「均質度」)が、所定の第1の閾値(均質度閾値)よりも高い場合には、特定の検索キーワードを含む検索キーワード群を検索サーバ16に送信しないように検索キーワード送信部22を制御する検索キーワード隠蔽制御部26と、を備えている。このように、普段、使用する検索キーワードに関連性がほとんどない従業員の母集団において均質性が高くなったことを、バースト的な検索が発生する予兆として検出する。このため、バースト的な検索が実際に発生した後の早期タイミングで、検索サーバ16への特定の検索キーワード(バースト的な検索に係る検索キーワード)の送信を阻止することができる。したがって、検索サーバ16側に端末を有する企業等の検索意図が知られる可能性が低減するため、企業等における機密性を向上することができる。
【0083】
また、本実施形態のゲートウェイサーバ12によると、検索キーワードクラスタ生成部28は、従業員ごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第2の閾値(従業員間類似性閾値(図7(b)))よりも低い従業員をまとめて母集団を生成する。したがって、実際に従業員が用いた検索キーワードに基づいて、母集団を生成することで、単に部署の関連性などに基づいて母集団を生成するような場合に比べて、適切な母集団の生成が可能となる。ただし、これに限らず、母集団は、部署の関連性、従業員間の交流頻度などに基づいて、予め生成しておくこととしてもよい。この場合、図3の検索キーワードクラスタ生成部28を省略することとしてもよい。
【0084】
また、本実施形態では、検索キーワードクラスタ生成部28は、複数の端末10のうちのいずれかの端末を利用する従業員の属する組織ごとに、過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第3の閾値(組織間類似性閾値(図7(a))よりも低い組織をまとめて組織グループ(母集団)を生成し(ステップS30〜S64)、更に組織グループ内で異なる組織に属する従業員ごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が第2の閾値(従業員間類似性閾値(図7(b)))よりも低い従業員をまとめ母集団を生成する(ステップS66〜S82)こととしている。このようにすることで、全従業員の検索キーワードの一致度を総当りで検証しなくとも、母集団を適切に生成することができる。したがって、データ処理量の低減及びデータ処理時間の短縮を図ることが可能である。
【0085】
また、本実施形態のゲートウェイサーバ12は、検索キーワード送信部22が検索サーバ16に検索キーワード群を送信した場合に、検索キーワード群に基づいて検索サーバ16にて生成された検索結果データを格納するキャッシュDB42を備えている。また、検索キーワード送信部22が検索サーバ16に検索キーワード群を送信しない場合に、送信しない検索キーワード群と同一の検索キーワード群に基づいて過去に検索サーバ16で生成された検索結果データを、キャッシュDB42から読み出して端末10に提供することとしている。このため、検索キーワードが検索サーバ16に送信されない場合でも、直前にキャッシュDB42に格納された検索結果データを利用することができる。したがって、検索サーバ16の検索結果データが時々刻々とほぼリアルタイムに変動するような場合でも、ほとんど支障なく適切な検索結果データを得ることができる。
【0086】
なお、上記実施形態では、検索キーワードクラスタ生成部28が、過去に入力された検索キーワードの一致度が組織間類似性閾値よりも低い組織をまとめて組織グループ(母集団)を生成した後に、従業員をまとめた母集団を生成した。しかしながら、これに限られるものではなく、例えば、組織グループ(母集団)を生成せずに、最初から、過去に入力された検索キーワードの一致度が低い従業員をまとめて母集団を生成してもよい。また、上記実施形態では、従業員を最小単位として、母集団を生成する場合について説明したが、これに限らず、従業員の代わりに組織を最小単位として、母集団を生成することとしてもよい。
【0087】
なお、上記実施形態では、キャッシュDB42に過去の検索結果データを蓄積しておき、端末10から入力される検索キーワード群が、検索サーバ16に送信されないときに、キャッシュDB42から検索結果データを読み出して、出力する場合について説明した。しかしながら、これに限られるものではなく、端末10から入力される検索キーワード群が、検索サーバ16に送信されないときには、端末10に対して検索結果データを出力せずに、エラーメッセージのみを出力するようにしてもよい。この場合、キャッシュDB42を省略してもよい。
【0088】
なお、上記実施形態では、図13のステップS102、S104や、図14のステップS120、S122のように、組織間及び従業員間で類似度を2つ(2方向から)算出する場合について説明した。しかしながら、これに限られるものではなく、類似度を(双方で一致する検索キーワード数)/(双方が使用した検索キーワード総数)から算出することとしてもよい。
【0089】
なお、上記実施形態では、中継装置が、会社の組織(部署など)に属する従業員が用いる端末と検索サーバとの間の情報の中継をするゲートウェイサーバである場合について説明したが、これに限られるものではない。例えば会社以外の組織において用いられる端末と検索サーバとの間の情報の中継をするゲートウェイサーバであってもよい。
【0090】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【0091】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0092】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0093】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【0094】
なお、以上の説明に関して更に以下の付記を開示する。
(付記1) 検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する中継装置であって、前記複数の端末のうちのいずれかから入力される、1以上の検索キーワードを含む検索キーワード群を受け付ける受付部と、前記受付部が受け付けた検索キーワード群を前記検索サーバに送信する送信部と、過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第1の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないように前記送信部を制御する制御部と、を備える中継装置。
(付記2) 前記ユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第2の閾値よりも低いユーザをまとめてユーザグループを生成するユーザグループ生成部を、更に備える付記1に記載の中継装置。
(付記3) ユーザグループ生成部は、前記複数の端末のうちのいずれかの端末を利用するユーザの属する組織ごとに、過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第3の閾値よりも低い組織をまとめて組織グループを生成し、前記組織グループ内で異なる組織に属するユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が前記所定の第2の閾値よりも低いユーザをまとめてユーザグループを生成することを特徴とする付記2に記載の中継装置。
(付記4) 前記送信部が前記検索サーバに前記検索キーワード群を送信した場合に、当該検索キーワード群に基づいて前記検索サーバにて生成された情報を格納する格納部と、前記送信部が前記検索サーバに前記検索キーワード群を送信しない場合に、前記送信しない検索キーワード群と同一の検索キーワード群に基づいて過去に前記検索サーバで生成された情報を、前記格納部から読み出して、前記端末に提供する情報提供部と、を更に備える付記1〜3のいずれかに記載の中継装置。
(付記5) 検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する処理をコンピュータに実行させる中継プログラムであって、前記複数の端末のうちのいずれかから入力される、1以上の検索キーワードを含む検索キーワード群を受け付け、前記受け付けた検索キーワード群を前記検索サーバに送信する送信する処理を前記コンピュータに実行させ、前記送信をする処理では、過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第1の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないようにすることを特徴とする中継プログラム。
(付記6) 前記ユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第2の閾値よりも低いユーザをまとめてユーザグループを生成する処理を、前記コンピュータに更に実行させることを特徴とする付記5に記載の中継プログラム。
(付記7) 前記ユーザグループを生成する処理では、前記複数の端末のうちのいずれかの端末を利用するユーザの属する組織ごとに、過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第3の閾値よりも低い組織をまとめて組織グループを生成し、前記組織グループ内で異なる組織に属するユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が前記所定の第2の閾値よりも低いユーザをまとめてユーザグループを生成する処理、を前記コンピュータに実行させることを特徴とする付記6に記載の中継プログラム。
(付記8) 前記送信する処理において前記検索サーバに前記検索キーワード群を送信した場合に、当該検索キーワード群に基づいて前記検索サーバにて生成された情報を格納部に格納する処理と、前記送信する処理において前記検索サーバに前記検索キーワード群を送信しない場合に、前記送信しない検索キーワード群と同一の検索キーワード群に基づいて過去に前記検索サーバで生成された情報を、前記格納部から読み出して、前記端末に提供する処理と、を前記コンピュータに更に実行させることを特徴とする付記5〜7のいずれかに記載の中継プログラム。
【符号の説明】
【0095】
10 端末
12 ゲートウェイサーバ(中継装置)
16 検索サーバ
20 受付部
22 検索キーワード送信部(送信部)
26 検索キーワード隠蔽制御部(制御部)
28 検索キーワードクラスタ生成部(ユーザグループ生成部、情報提供部の一部)
30 情報出力部(情報提供部の一部)
40 クラスタDB(データベース)
42 キャッシュDB(格納部)
【特許請求の範囲】
【請求項1】
検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する中継装置であって、
前記複数の端末のうちのいずれかから入力される、1以上の検索キーワードを含む検索キーワード群を受け付ける受付部と、
前記受付部が受け付けた検索キーワード群を前記検索サーバに送信する送信部と、
過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第1の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないように前記送信部を制御する制御部と、を備える中継装置。
【請求項2】
前記ユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第2の閾値よりも低いユーザをまとめてユーザグループを生成するユーザグループ生成部を、更に備える請求項1に記載の中継装置。
【請求項3】
ユーザグループ生成部は、
前記複数の端末のうちのいずれかの端末を利用するユーザの属する組織ごとに、過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第3の閾値よりも低い組織をまとめて組織グループを生成し、
前記組織グループ内で異なる組織に属するユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が前記所定の第2の閾値よりも低いユーザをまとめてユーザグループを生成することを特徴とする請求項2に記載の中継装置。
【請求項4】
前記送信部が前記検索サーバに前記検索キーワード群を送信した場合に、当該検索キーワード群に基づいて前記検索サーバにて生成された情報を格納する格納部と、
前記送信部が前記検索サーバに前記検索キーワード群を送信しない場合に、前記送信しない検索キーワード群と同一の検索キーワード群に基づいて過去に前記検索サーバで生成された情報を、前記格納部から読み出して、前記端末に提供する情報提供部と、を更に備える請求項1〜3のいずれか一項に記載の中継装置。
【請求項5】
検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する処理をコンピュータに実行させる中継プログラムであって、
前記複数の端末のうちのいずれかから入力される、1以上の検索キーワードを含む検索キーワード群を受け付け、
前記受け付けた検索キーワード群を前記検索サーバに送信する送信する処理を前記コンピュータに実行させ、
前記送信をする処理では、過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第1の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないようにすることを特徴とする中継プログラム。
【請求項1】
検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する中継装置であって、
前記複数の端末のうちのいずれかから入力される、1以上の検索キーワードを含む検索キーワード群を受け付ける受付部と、
前記受付部が受け付けた検索キーワード群を前記検索サーバに送信する送信部と、
過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第1の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないように前記送信部を制御する制御部と、を備える中継装置。
【請求項2】
前記ユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第2の閾値よりも低いユーザをまとめてユーザグループを生成するユーザグループ生成部を、更に備える請求項1に記載の中継装置。
【請求項3】
ユーザグループ生成部は、
前記複数の端末のうちのいずれかの端末を利用するユーザの属する組織ごとに、過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が所定の第3の閾値よりも低い組織をまとめて組織グループを生成し、
前記組織グループ内で異なる組織に属するユーザごとに過去に入力された検索キーワードを抽出し、当該過去に入力された検索キーワードの一致度が前記所定の第2の閾値よりも低いユーザをまとめてユーザグループを生成することを特徴とする請求項2に記載の中継装置。
【請求項4】
前記送信部が前記検索サーバに前記検索キーワード群を送信した場合に、当該検索キーワード群に基づいて前記検索サーバにて生成された情報を格納する格納部と、
前記送信部が前記検索サーバに前記検索キーワード群を送信しない場合に、前記送信しない検索キーワード群と同一の検索キーワード群に基づいて過去に前記検索サーバで生成された情報を、前記格納部から読み出して、前記端末に提供する情報提供部と、を更に備える請求項1〜3のいずれか一項に記載の中継装置。
【請求項5】
検索結果が時々刻々と変化する検索サーバと、前記検索サーバを利用する複数の端末と、の間での情報のやり取りを中継する処理をコンピュータに実行させる中継プログラムであって、
前記複数の端末のうちのいずれかから入力される、1以上の検索キーワードを含む検索キーワード群を受け付け、
前記受け付けた検索キーワード群を前記検索サーバに送信する送信する処理を前記コンピュータに実行させ、
前記送信をする処理では、過去に用いた検索キーワードの一致度が低いユーザごとにまとめたユーザグループが登録されたデータベースを参照し、前記ユーザグループ内において特定の検索キーワードを所定時間内に利用したユーザの割合が、所定の第1の閾値よりも高い場合には、当該特定の検索キーワードを含む検索キーワード群を前記検索サーバに送信しないようにすることを特徴とする中継プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2012−137998(P2012−137998A)
【公開日】平成24年7月19日(2012.7.19)
【国際特許分類】
【出願番号】特願2010−290833(P2010−290833)
【出願日】平成22年12月27日(2010.12.27)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成24年7月19日(2012.7.19)
【国際特許分類】
【出願日】平成22年12月27日(2010.12.27)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]