JP2017120613A - 情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システム - Google Patents

情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システム Download PDF

Info

Publication number
JP2017120613A
JP2017120613A JP2016116081A JP2016116081A JP2017120613A JP 2017120613 A JP2017120613 A JP 2017120613A JP 2016116081 A JP2016116081 A JP 2016116081A JP 2016116081 A JP2016116081 A JP 2016116081A JP 2017120613 A JP2017120613 A JP 2017120613A
Authority
JP
Japan
Prior art keywords
search
unit
information processing
tag
agent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016116081A
Other languages
English (en)
Inventor
大也 宮坂
Daiya Miyasaka
大也 宮坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2017120613A publication Critical patent/JP2017120613A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】より広範な検索結果を得ることを可能とする。【解決手段】情報処理装置は、対応する検索部に指定された検索語による検索を実行させ、検索部から検索結果を受け取る検索仲介部と、検索語を検索仲介部に入力し、条件が互いに異なる2以上の検索仲介部を制御する検索制御部とを備える。検索仲介部は、入力された検索語を検索仲介部に予め定められた第1の条件に従い解釈して、解釈された検索語により検索部に検索を実行させる。【選択図】図28

Description

本発明は、情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システムに関する。
検索キーワードを用いて適切な検索結果を高速に提示可能な検索アルゴリズムが多く提案されている。このような検索アルゴリズムの中で、ユーザが検索キーワードの入力などを行わなくても自律的に検索の実行および検索結果の提示を行う検索技術が知られている。このような、自律的な検索を行う検索アルゴリズムは、検索エージェントと呼ばれる。
例えば、特許文献1には、異なる検索キーワードを持つ検索エージェントからユーザが所望の検索エージェントを選択して検索を行う技術が開示されている。特許文献1によれば、ユーザに選択された各検索エージェントは、設定された検索キーワードをユーザに提案する。ユーザは、提案された検索キーワードから所望の検索キーワードを指定して検索を行う。
従来技術では、検索エージェント毎に、検索エージェントの特性に従った検索キーワードが予め設定されているため、ユーザは、所望の検索結果を得られる可能性が高い。しかしながら、従来技術では、ユーザが検索内容を意識して検索エージェントを選択するため、ユーザが意識していない方面からの検索結果を得ることが困難であった。
本発明は、上記に鑑みてなされたものであって、より広範な検索結果を得ることを可能とすることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、対応する検索部に指定された検索語による検索を実行させ、検索部から検索結果を受け取る検索仲介部と、検索語を検索仲介部に入力し、条件が互いに異なる2以上の検索仲介部を制御する検索制御部とを備え、検索仲介部は、入力された検索語を検索仲介部に予め定められた第1の条件に従い解釈して、解釈された検索語により検索部に検索を実行させる。
本発明によれば、より広範な検索結果を得ることが可能となるという効果を奏する。
図1は、実施形態に係る情報処理システムの一例の構成を示す図である。 図2は、実施形態に適用可能なログイン画面の例を示す図である。 図3は、実施形態に係る検索画面の例を示す図である。 図4は、実施形態に係る、検索エージェントにより検索が実行され検索結果が取得された場合の検索画面の例を示す図である。 図5は、実施形態に係る、ホバー表示が表示された検索画面の例を示す図である。 図6は、実施形態に係る、提案タグ表示部に表示される提案タグが選択された例を示す図である。 図7は、実施形態に係る、タグのタグ情報に基づき検索エージェントが検索を実行した結果の例を示す図である。 図8は、実施形態に係る、カーソル表示が検索エージェントのタイトル部分に重ねられた状態で決定操作がなされたことを説明するための図である。 図9は、実施形態に係る、ドロップ操作により各検索エージェントの位置関係が固定されたことを説明するための図である。 図10は、実施形態に係る、連携する各検索エージェントの位置関係が固定された状態で、検索キーワード入力欄にキーワードが入力された例を示す図である。 図11は、実施形態に係る、検索キーワード入力欄に入力された各タグに基づき検索エージェントが検索結果を得た状態を示す図である。 図12は、実施形態に係る、ポイントPが閾値を超えた場合の動作を説明するための図である。 図13は、実施形態に係る、既に登録されている検索エージェントに対して他の検索エージェントが追加して表示された例を示す図である。 図14は、実施形態に係る、ポイントPを減点させた場合の処理を説明するための図である。 図15は、実施形態に係るタグの追加処理を説明するための図である。 図16は、実施形態に適用可能な端末装置のハードウェア構成の例を示すブロック図である。 図17は、実施形態に適用可能なサーバのハードウェア構成の例を示すブロック図である。 図18は、実施形態に係る端末装置の機能を説明するための一例の機能ブロック図である。 図19は、実施形態に係る検索制御部の機能を説明するための一例の機能ブロック図である。 図20は、実施形態に係るサーバの機能を説明するための一例の機能ブロック図である。 図21は、実施形態に係るエージェントI/Fの構成を概略的に示す図である。 図22は、実施形態に係るエージェントI/Fに含まれる各データの具体例を示す図である。 図23は、実施形態に係るエージェントI/Fにおけるメタ情報の例を示す図である。 図24は、実施形態に係るエージェントI/Fの本体の例を示す図である。 図25は、実施形態に係るタグ情報の例を示す図である。 図26は、実施形態に係る検索制御部の処理を示す一例のフローチャートである。 図27は、実施形態に係る、検索エージェントが連携している場合の検索処理を示す一例のフローチャートである。 図28は、実施形態に係る検索エージェントの処理を示す一例のフローチャートである。 図29は、実施形態に係るタグの評価の処理を示す一例のフローチャートである。 図30は、実施形態に係る、指定された提案タグのタグ情報のホバー表示を説明するための図である。 図31は、実施形態に係る履歴DBが管理する利用履歴の一例を示す図である。 図32は、実施形態に係る、利用履歴を用いた検索制御部の処理を示す一例のフローチャートである。 図33は、実施形態の第1の変形例に係る、各検索結果の概要をテーブルとして表示させる第1の例を示す図である。 図34は、実施形態の第1の変形例に係る、各検索結果の概要をテーブルとして表示させる第2の例を示す図である。 図35は、実施形態の第1の変形例に係る、各検索結果の概要を仮想的な球面上に配置して表示させる例を示す図である。 図36は、実施形態の第1の変形例に係る、各検索結果の概要を仮想的な螺旋または円筒上に配置して表示させる例を示す図である。 図37は、実施形態の第2の変形例に係る検索画面の例を示す図である。
以下に添付図面を参照して、情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システムの実施形態を詳細に説明する。
(実施形態)
図1は、実施形態に係る情報処理システムの一例の構成を示す。図1において、情報処理システムは、インターネットなどのネットワーク40を介して接続される端末装置10とサーバ20とを含む。
端末装置10は、例えばパーソナルコンピュータ(PC)といった情報処理装置であって、ユーザ操作を受け付けるための例えばキーボードおよびポインティングデバイス(例えばマウス)と、ユーザに情報を提示するためのディスプレイとが接続される。また、端末装置10は、ブラウザアプリケーション11(以下、ブラウザ11)が搭載される。ブラウザ11は、端末装置10が備えるCPU(Central Processing Unit)上で動作して、例えばHTML(HyperText Markup Language)に従い記述されたファイルを読み込み、所定の動作を行う。
サーバ20は、端末装置10が実施形態に係る動作を実行するための情報処理プログラムを記憶する。端末装置10において、ブラウザ11を用いてサーバ20にアクセスすることで、サーバ20に記憶された情報処理プログラムがブラウザ11に読み込まれ、ブラウザ11に読み込まれた情報処理プログラムにより、実施形態に係る動作が実行される。
端末装置10において、ブラウザ11は、サーバ20から読み込んだ情報処理プログラムを実行させて、ユーザ操作に応じて入力されたキーワード(検索語)に基づく検索動作を実行する。
すなわち、情報処理プログラムは、ブラウザ11上で実行されることにより、自律的に検索処理を行う1以上の検索エージェントをブラウザ11上に形成する。検索エージェントは、ユーザ操作に応じて入力されたキーワードを予め定められた第1の条件(後述する)に従い解釈し、解釈されたキーワードをネットワーク40を介して、例えばインターネット上に公開された検索サービスを提供する検索エンジン31に転送する。検索エンジン31は、端末装置10(ブラウザ11)から送信されたキーワードに基づく検索を行い、検索結果をネットワーク40を介して端末装置10に返す。端末装置10は、サーバ20からの検索結果を受信し、ブラウザ11に渡す。
ブラウザ11において、検索エージェントは、渡された検索結果を端末装置10に接続されるディスプレイに表示させると共に、予め定められた第2の条件(後述する)に従い当該検索結果から新たなキーワード(提案語)を生成する。この生成されたキーワードを用いて、他の第1の条件に従いキーワードを解釈する他の検索エージェントによる検索を行うことで、より広範な検索結果を得ることが可能となる。
また、実施形態に係る情報処理システムでは、入力されたキーワードを互いに異なる第1の条件に従い解釈する複数の検索エージェントを連携させることが可能である。
この場合、連携元の検索エージェントは、ユーザ操作に応じて入力されたキーワードに基づき取得した検索結果から第2の条件に従い生成した新たなキーワードを、連携先の検索エージェントに渡す。連携先の検索エージェントは、連携元の検索エージェントから渡されたキーワードを、当該連携先の検索エージェントに予め定められた第1の条件に従い解釈し、解釈したキーワードを用いて検索エンジン31による検索を行う。
このように、複数の検索エージェントを連携させて検索を実行することで、ユーザは、自分が意識していなかった方面から検索した検索結果を得ることが可能となり、より広範な検索結果を、容易に得ることができる。
なお、上述では、検索エージェントの検索対象を検索エンジン31であるとして説明したが、これはこの例に限定されない。検索エージェントの検索対象は、例えば社内ネットワーク内のデータベース(DB)といった、端末装置10との間で閉じたネットワーク環境内で利用可能な特定DB32としてもよい。さらに、検索エージェントの検索対象は、コンピュータシステム上の動作を主体とするものに限られない。例えば、ユーザからの問い合わせに対して人手で回答する回答システム33を、検索エージェントの検索対象とすることもできる。
(実施形態に係る検索動作の概要)
次に、実施形態に係る検索エージェントを用いた検索動作の概要について説明する。以下に説明する動作は、端末装置10上で実施形態に係る情報処理プログラムが実行されることで行われる。この情報処理プログラムは、検索エージェントの動作を制御するための検索制御部を含む。情報処理プログラムは、例えば端末装置10上で動作するブラウザ11からネットワーク40を介してサーバ20にアクセスすることで一時的に端末装置10に導入され、ブラウザ11上で実行される。検索エージェントは、例えば、端末装置10上で情報処理プログラムが実行されることにより、検索制御部によりサーバ20から取得される。
以下では、端末装置10に搭載されたブラウザ11上で情報処理プログラムが実行されることによりなされる動作を、適宜、端末装置10の動作として説明する。
端末装置10は、ユーザ操作に応じてブラウザ11が起動され実施形態に係る情報処理プログラムが実行されると、ユーザの認証を促すログイン画面をディスプレイに表示させる。図2は、実施形態に適用可能なログイン画面の例を示す。図2において、ログイン画面300は、ユーザを識別するためのユーザIDを入力するための入力領域301と、認証に用いるパスワードを入力するための入力領域302と、ログインを指示するためのボタン303と、ログイン処理をキャンセルするためのボタン304とが設けられる。なお、ユーザIDおよびパスワードは、例えばサーバ20が備えるユーザDBに、ユーザの属性情報と共に予め登録されているものとする。
端末装置10は、ボタン303が操作されログインが指示されると、入力領域301および302に入力されたユーザIDおよびパスワードをサーバ20に送信する。サーバ20は、端末装置10から送信されたユーザIDおよびパスワードに基づきユーザDBを検索して認証処理を実行し、認証が成功すると、認証成功の通知を端末装置10に送信する。
(基本的な検索動作)
図3〜図7を用いて、実施形態に係る基本的な検索動作について説明する。端末装置10は、サーバ20から送信された認証成功通知を受信すると、検索画面を表示させる。図3は、実施形態に係る検索画面の例を示す。なお、図3〜図7において、互いに共通する部分には同一の符号を付して、初出以外は詳細な説明を省略する。図3において、検索画面400は、エージェント切替部401と、エージェント表示部402と、検索結果表示部403と、キーワード表示部404とを含む。
エージェント表示部402は、検索エージェントを示す画像が表示される。以下、特に記載の無い限り、検索エージェントを示す画像を「検索エージェント」と呼ぶ。図3の例では、エージェント表示部402に、2つの検索エージェント410aおよび410bが表示されている。
なお、エージェント表示部402は、初期状態では空欄となっているか、若しくは、デフォルトの検索エージェント(検索エージェント410aおよび410bとする)が表示される。検索エージェント410aおよび410bは、サーバ20から取得されて端末装置10に一時的に記憶され、端末装置10に登録される。登録された検索エージェント410aおよび410bは、端末装置10に対する所定の操作に従いエージェント表示部402に表示される。
検索エージェント410aおよび410bは同様な構成であるので、検索エージェント410aを用いて説明すると、検索エージェント410aは、ボタン411および412と、結果表示欄413とを備える。結果表示欄413は、検索エージェント410aによる検索結果の概要を一覧表示する。図3の例では、検索が行われていないため、結果表示欄413は空欄となっている。ボタン411は、結果表示欄413の表示状態および非表示状態を切り替えるためのボタンである。また、ボタン412は、当該検索エージェント410aの有効、無効を切り替えるためのボタンである。
検索エージェント410aおよび410bは、それぞれ、上述した第1の条件と、検索対象(例えば所定の検索エンジン31)を指定する情報とが予め設定される。端末装置10は、後述するキーワード表示部404において指定されたキーワードを、各検索エージェント410aおよび410bそれぞれに渡す。各検索エージェント410aおよび410bは、それぞれ、渡されたキーワードを、設定された第1の条件に従い解釈し、解釈されたキーワードを、設定された検索対象に渡す。
端末装置10は、各検索対象からキーワードに応じた検索結果をそれぞれ受け取り、各検索エージェント410aおよび410bに渡す。各検索エージェント410aおよび410bは、渡された検索結果の概要を、結果表示欄413に一覧表示させる。さらに、各検索エージェント410aおよび410bは、受け取った検索結果を、それぞれに設定された第2の条件に従い解釈し、解釈されたキーワードを提案語として表示させる。
このように、検索エージェントは、実際の検索処理は行わず、検索対象に対してキーワードを送信して検索対象に検索処理を実行させるものであり、検索処理の仲介を行う検索仲介部として機能する。また、以下では、検索エージェントが、端末装置10から渡されたキーワードを第1の条件に従い解釈して検索対象に送信し、検索対象からキーワードに応じた検索結果を受け取ることを、検索エージェントが実行する検索処理であるとして説明する。
エージェント切替部401は、エージェント表示部402に表示される検索エージェント410aおよび410bを切り替えるための複数のボタンを備える。エージェント切替部401の上段に配置される3個のボタンは、エージェント表示部402に、有効に設定された検索エージェントと、無効に設定された検索エージェントと、全ての検索エージェントとのうち何れを表示させるかを切り替えるためのボタンである。また、エージェント切替部401の下段に配置される4個のボタンは、エージェント表示部402に表示される検索エージェント410aおよび410bの表示順を、登録順、名前順、人気度および活躍度のうち何れにするかを切り替えるためのボタンである。
検索結果表示部403は、例えば、結果表示欄413に一覧表示される検索結果の詳細が表示される。図3の例では、検索が行われていないため、検索結果表示部403は、空欄となっている。実行された検索により結果が取得できない場合も、検索結果表示部403は空欄とされる。
キーワード表示部404は、検索キーワード入力欄420と、シーン選択部421と、デフォルトタグ部422とを備える。検索キーワード入力欄420は、各検索エージェント410aおよび410bが検索に用いるキーワードが入力される。検索キーワード入力欄420は、例えばユーザ操作により検索キーワード入力欄420を操作した上でキーボードなどによりキーワードを直接的に入力してもよいし、デフォルトタグ部422に表示されるタグ43020、43021、…から1つを選択して入力してもよい。
デフォルトタグ部422は、それぞれキーワードを含むタグ情報が関連付けられたタグ43020、43021、…が表示される。図3の例では、各タグ43020、43021、…に対し、キーワードとなる文字列が表示されている。端末装置10は、デフォルトタグ部422に表示される各タグ43020、43021、…のうち1または複数がユーザ操作により選択されると、選択されたタグを検索キーワード入力欄420に表示させ、当該タグに含まれるキーワードを各検索エージェント410aおよび410bに渡す。シーン選択部421は、デフォルトタグ部422に表示されるタグ43020、43021、…のセットを、他のセットに切り替えるためのタブである。
図4は、実施形態に係る、検索キーワード入力欄420にタグ43010および43011が入力され、入力されたタグ43010および43011に基づき、各検索エージェント410aおよび410bにより検索が実行され検索結果が取得された場合の検索画面400の例を示す。
端末装置10は、検索キーワード入力欄420に入力されたタグ43010および43011のタグ情報を、エージェント表示部402に表示される各検索エージェント410aおよび410bに渡す。各検索エージェント410aおよび410bは、渡されたタグ43010および43011のタグ情報に含まれるキーワードに基づき検索を実行し、それぞれ検索対象から検索結果を受け取る。この例では、検索エージェント410aおよび410bのうち、検索エージェント410bのみが検索結果を得ている。
検索エージェント410bは、検索結果に応じて、結果一覧表示部440bおよび提案タグ表示部450bを表示させる。これら結果一覧表示部440bおよび提案タグ表示部450bは、検索エージェント410bが備えるボタン412を操作することで、表示および非表示を切り替えることができる。
結果一覧表示部440bは、検索結果の結果リストとして、検索結果の概要が一覧表示される。検索結果の概要は、例えば、検索の結果得られたテキストの先頭から所定文字数の文字列や、当該テキスト中のキーワードに合致した部分を含む所定文字数の文字列などを用いることが考えられる。結果一覧表示部440bに設けられる入力欄441bに文字列を入力することで、入力された文字列に基づき結果一覧表示部440bに一覧表示された検索結果の概要を絞り込むことができる。
端末装置10は、結果一覧表示部440bに一覧表示された各検索結果の概要のうち、ユーザ操作により所望の概要が指定される(例えばカーソル表示を当該概要の位置に合わせる)と、図5にホバー表示442として例示されるように、指定された概要の詳細(本文)を、指定された概要の近傍に表示させることができる。
図4の説明に戻り、検索エージェント410bは、提案タグ表示部450bに、検索結果を第2の条件で解釈したキーワードを提案語として含む提案タグ451b1、451b2、…を表示させる。
図4の例において、提案タグ表示部450bに表示される提案タグ451b1、451b2、…のうち、ユーザ操作により提案タグを選択することで、選択された提案タグのタグ情報を検索キーワード入力欄420に入力させることができる。図6は、実施形態に係る、提案タグ表示部450bに表示される提案タグ451b1、451b2、…のうち提案タグ451b5が選択された例を示す。
端末装置10は、提案タグ451b5が選択されると、図6中に矢印Aで示されるように、検索キーワード入力欄420に対し、当該提案タグ451b5を新たなタグ430bとして追加して表示させる。端末装置10は、検索キーワード入力欄420に新たなタグ430bが追加されると、エージェント表示部402に表示される各検索エージェント410aおよび410bに対し、追加されたタグ430bのタグ情報をさらに渡す。
各検索エージェント410aおよび410bは、渡されたタグ430bのタグ情報に含まれるキーワードを用いて、さらに検索を実行する。図7は、実施形態に係る、タグ430bのタグ情報に基づき各検索エージェント410aおよび410bが検索を実行した結果の例を示す。図7の例では、タグ430bが検索キーワード入力欄420に追加入力されることで、検索エージェント410aにおいても検索結果が得られ、結果絞込用の入力欄441aを含む結果一覧表示部440aと、提案タグ表示部450bと同様の提案タグ表示部450aとがさらに表示されている。
(複数検索エージェントの連携動作)
次に、図8〜図10を用いて、実施形態に係る検索エージェントの連携動作について説明する。なお、図8〜図10において、上述した図3と共通する部分には同一の符号を付して、詳細な説明を省略する。実施形態においては、複数の検索エージェントを連携させることができる。実施形態では、検索エージェントの連携動作は、連携元の検索エージェントの少なくとも一部を、例えばドラッグアンドドロップ操作により連携先の検索エージェントに重ねることで実現できる。
例えば、図8に例示されるように、ユーザ操作によりカーソル表示460が検索エージェント410bのタイトル部分に重ねられた状態で例えば決定操作(2ボタンマウスの場合、例えば左クリック操作)がなされたものとする。この場合、カーソル表示460がタイトル部分に重ねられた検索エージェント410bが連携元の検索エージェントとなり、他の検索エージェント410aは、連携先の検索エージェントの候補とされる。図8の例では、検索エージェント410aに斜線を付して、当該検索エージェント410aが連携先の検索エージェントの候補であることが示されている。
次に、ユーザ操作により、決定操作を維持したままカーソル表示460を移動させることで、カーソル表示460の移動に伴い検索エージェント410bが移動される(ドラッグ操作)。図9に例示されるように、検索エージェント410bの少なくとも一部が連携先の検索エージェント410aに重なった時点で、決定操作が解除される(ドロップ操作)と、検索エージェント410aおよび410bの位置関係が固定される。端末装置10は、上層に表示される検索エージェント410bを連携元、下層に表示される検索エージェント410aを連携先に、それぞれ設定する。
図10は、図9の状態に対して、検索キーワード入力欄420にキーワードが入力された例を示す。図10の例では、矢印Bで示されるように、デフォルトタグ部422に表示されるタグ43020、43021、…から1つが選択されて検索キーワード入力欄420に入力されている。端末装置10は、矢印Cで示されるように、検索キーワード入力欄420に入力されたタグのタグ情報を、連携元の検索エージェント410bに渡す。
検索エージェント410bは、渡されたタグ情報に含まれるキーワードに基づき検索を実行し、検索対象から検索結果を受け取る。検索エージェント410bは、受け取った検索結果に応じて、上述した結果一覧表示部440bと、提案タグ表示部450bとを表示させる。端末装置10は、この提案タグ表示部450bに表示された各提案タグ451b1、451b2、…の各タグ情報を、矢印Dで示されるように、連携先の検索エージェント410aに渡す。
検索エージェント410aは、渡された各タグ情報に含まれるキーワードに基づき検索エージェント410bと同様にして検索を実行し、検索結果の概要の一覧を結果一覧表示部440aに表示させる。それと共に、検索エージェント410aは、提案タグ表示部450bと同様にして、提案タグ表示部450aに、検索結果に基づく提案タグを表示させる。なお、図10の例では、検索エージェント410bに係る各表示が提案タグ表示部450aにオーバーラップされ、提案タグ表示部450aに表示される提案タグが隠されている。
ここで、連携先の検索エージェント410aは、連携元の検索エージェント410bによる検索結果が得られてから、検索処理が開始される。そのため、検索エージェント410aの検索結果は、検索エージェント410bの検索結果が得られてからある程度の時間を経過してから、検索画面400に表示されることになる。実施形態では、このような場合でも、検索結果を得られた順に検索画面400に表示し、検索処理の経過をユーザに提示するようにしている。
(タグ評価)
次に、実施形態に係るタグの評価について、図11〜図13を用いて説明する。なお、図11〜図13において、上述した図4と共通する部分には同一の符号を付して、詳細な説明を省略する。実施形態において、デフォルトタグ部422に表示される各タグ43020、43021、…、および、デフォルトタグ部422から検索キーワード入力欄420に入力された各タグ43010および43011は、タグ情報として、キーワードに加えて、整数の値を示すポイントPを含む。
図11は、上述した図4に対応し、検索キーワード入力欄420に入力された各タグ43010および43011に基づき、検索エージェント410bが検索結果を得た状態を示している。この状態において、検索キーワード入力欄420に入力されたタグ43010と対応する、デフォルトタグ部422に表示される例えばタグ43023を操作する。
端末装置10は、この操作に応じて、操作されたタグ43023のタグ情報に含まれるポイントPの値を増減する。ポイントPの値は、ユーザの、当該ポイントPに対応するタグによるキーワードに対する興味度を示していると考えることができる。例えば、2ボタンのマウスを用いた場合において、端末装置10は、左ボタンの1回のクリック操作に対してポイントPを1だけ加点し、右ボタンの1回のクリック操作に対してポイントPを1だけ減点する。ポイントPの加点、減点は、それぞれ他の操作に割り当ててもよい。
先ず、ポイントPを加点させた場合の処理について説明する。図11の例では、タグ43023に対して、ポイントPを加点させる操作が例えば5回行われ、ポイント表示部431に示されるように、ポイントPの値が「5」とされている。
ここで、端末装置10は、タグ43023に対する操作に応じて、タグ43023の表示を変化させることができる。例えば、図11に例示されるように、ポイントPの値が大きくなるに連れ、タグ43023の表示色を段階的に濃くすることが考えられる。また、ポイント表示部431は、省略することができる。
端末装置10は、操作されたタグ43023のポイントPを監視し、ポイントPが閾値以上または0以下であるか否かを判定する。一例として、ポイントPに対する閾値が「5」であるものとする。ここで、タグ43023がさらに操作され、図12(a)に示すように、ポイントPの値が「6」となり、閾値を超えたものとする。
端末装置10は、ポイントPの値が閾値を超えたと判定すると、操作されたタグ43023のタグ情報に含まれるキーワードに対応する他の検索エージェントを取得する。例えば、端末装置10は、当該キーワードに対応する他の検索エージェントを、サーバ20に問い合わせ、サーバ20から当該他の検索エージェントを取得することができる。端末装置10は、他の検索エージェントが取得されると、図12(b)に例示されるように、取得した他の検索エージェントの登録を促す画像470を表示させる。図12(b)の例では、画像470が検索画面400にオーバーラップして表示されるように示しているが、これはこの例に限定されない。
端末装置10は、画像470の表示に応じて、取得した他の検索エージェントを登録する旨のユーザ操作がなされると、当該他の検索エージェントを登録し、エージェント表示部402に追加して表示させる。図13は、実施形態に係る、既に登録されている検索エージェント410aおよび410bに対して、当該他の検索エージェントとしての検索エージェント410cが追加して表示された例を示している。
このように、タグに対する興味度を設定し、興味度が所定以上になった場合に、当該タグに関連する他の検索エージェントを追加登録することで、より広範な検索結果を得ることが可能となる。
次に、実施形態に係る、ポイントPを減点させた場合の処理について、図14を用いて説明する。図14は、上述した図12(a)からキーワード表示部404の部分を抜き出した図である。図14において、図12(a)と共通する部分には同一の符号を付して、詳細な説明を省略する。図14(a)は、図12(a)に示したキーワード表示部404に対応し、この時点で、デフォルトタグ部422には、タグ43020〜43025の6個のタグが表示されている。また、図14(a)の例では、ポイント表示部431内に数値で示されるように、タグ43024のポイントPの値が「5」とされている。
図14(a)の状態において、タグ43024に対して、ポイントPを減点させる操作が例えば1回行われると、ポイントPの値が「5」から1だけ減じられて「4」とされる。これに伴い、図14(b)に例示されるように、ポイント表示部431の表示が「4」とされ、タグ43024の表示がポイントPの値に応じて変化される(この例では、1段階分、薄い色とされる)。
タグ43023に対して、さらにポイントPを減点させる操作が繰り返され、タグ43023のポイントPの値が「0」以下になったものとする。この場合、図14(c)に例示されるように、ポイントPの値が「0」以下になったタグ43024がデフォルトタグ部422から消去される。したがって、デフォルトタグ部422には、5個のタグ43020〜43023および43025が表示される。
次に、実施形態に係るタグの追加処理について図15を用いて説明する。図15において、図14と共通する部分には同一の符号を付して、詳細な説明を省略する。図15(a)は、上述した図14(c)に対応する図である。
実施形態では、ユーザ操作に応じて、デフォルトタグ部422にタグを追加することができる。図15(a)に例示されるように、ユーザ操作によりデフォルトタグ部422の空欄部分を指定すると、文字列の入力を促すカーソル表示480が当該空欄部分に表示される。このカーソル表示480に従い例えばキーボードに対するユーザ操作により、図15(b)に例示されるように、文字列481が入力される。ユーザ操作により、入力された文字列481の確定操作がなされると、図15(c)に例示されるように、当該文字列481に基づき、新たなタグ43026がデフォルトタグ部422に追加される。このタグ43026は、タグ情報に、確定された文字列481を含む。
(実施形態に係る構成)
次に、実施形態に係るハードウェア構成および機能について説明する。図16は、実施形態に適用可能な端末装置10のハードウェア構成の例を示す。端末装置10は、CPU1000と、ROM(Read Only Memory)1001と、RAM(Random Access Memory)1002と、グラフィクスI/F1003と、ストレージ1005と、入力デバイス1006と、入出力I/F1007と、通信I/F1008とを含み、これら各部がバス1010により互いに通信可能に接続される。このように、端末装置10は、一般的なコンピュータと同等の構成で実現できる。
ストレージ1005は、ハードディスクドライブや、フラッシュメモリといった不揮発性メモリであって、CPU1000を動作させるためのプログラムや、各種のデータが記憶される。ROM1001は、例えば端末装置10を起動させるために用いるプログラムおよびデータが予め記憶される。CPU1000は、ストレージ1005およびROM1001に記憶されるプログラムに従い、RAM1002をワークメモリとして用いて、この端末装置10の全体の動作を制御する。
グラフィクスI/F1003は、CPU1000によりプログラムに従い生成された表示情報を表示信号に変換してディスプレイ1004に供給する。ディスプレイ1004は、例えばLCD(Liquid Crystal Display)を表示デバイスとして用い、グラフィクスI/F1003から供給された表示信号に従った画面を表示する。入力デバイス1006は、例えばキーボードと、マウスなどのポインティングデバイスとを含み、ユーザ操作に応じた信号を出力する。
入出力I/F1007は、外部機器に対するインタフェースであって、例えばUSB(Universal Serial Bus)を適用することができる。通信I/F1008は、ネットワーク40を介した通信を制御する。
なお、端末装置10は、デスクトップ型やノート型のコンピュータであってもよいし、表示デバイスと入力デバイスとが一体的に形成されたタッチパネルを備え、携帯が容易に構成されたタブレット型コンピュータやスマートフォンなどであってもよい。さらに、端末装置10は、プリンタ機能、スキャナ機能、FAX機能など複数の機能を1台の筐体で実現するMFP(Multi Function Printer)といった、他種の機器に含まれるコンピュータ部分であってもよい。
図17は、実施形態に適用可能なサーバ20のハードウェア構成の例を示す。サーバ20は、CPU2000と、ROM2001と、RAM2002と、ストレージ2003と、入出力I/F2004と、通信I/F2005とを含み、これら各部がバス2010により互いに通信可能に接続される。このように、サーバ20は、一般的なコンピュータと同等の構成で実現できる。
ストレージ2003は、ハードディスクドライブや、フラッシュメモリといった不揮発性メモリであって、CPU2000を動作させるためのプログラムや、各種のデータが記憶される。ROM2001は、例えばサーバ20を起動させるために用いるプログラムおよびデータが予め記憶される。CPU2000は、ストレージ2003およびROM2001に記憶されるプログラムに従い、RAM2002をワークメモリとして用いて、このサーバ20の全体の動作を制御する。
入出力I/F2004は、外部機器に対するインタフェースであって、例えばUSBを適用することができる。通信I/F2005は、ネットワーク40を介した通信を制御する。
なお、サーバ20は、1台の装置から構成してもよいし、互いに接続された複数の装置により構成してもよい。
図18は、実施形態に係る端末装置10の機能を説明するための一例の機能ブロック図である。端末装置10は、通信部100と、入力部101と、表示制御部102と、デフォルトタグ記憶部103と、検索制御部104と、ユーザ認証部105と、エージェント情報記憶部106と、エージェント記憶部107とを含む。
これら通信部100、入力部101、表示制御部102、デフォルトタグ記憶部103、検索制御部104、ユーザ認証部105、エージェント情報記憶部106およびエージェント記憶部107は、CPU1000上で動作する情報処理プログラムにより実現される。より詳細には、これら各部は、CPU1000上で動作するブラウザ11に読み込まれ、ブラウザ11上で動作する。
これに限らず、通信部100、入力部101、表示制御部102、デフォルトタグ記憶部103、検索制御部104、ユーザ認証部105、エージェント情報記憶部106およびエージェント記憶部107のうち一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
通信部100は、通信I/F1008によりネットワーク40を介した通信を制御する。入力部101は、入力デバイス1006に対するユーザ操作により入力された情報を受け付ける。表示制御部102は、ディスプレイ1004に表示させるための表示情報を生成する。例えば、表示制御部102は、上述した検索画面400を表示させるための表示情報を生成する。表示制御部102は、各検索エージェント410aおよび410bや、各検索エージェント410aおよび410bの結果一覧表示部440aおよび440b、ならびに、提案タグ表示部450aおよび450bを表示させるための表示情報を生成する。
デフォルトタグ記憶部103は、デフォルトタグ部422に表示させるための各タグ43020、43021、…のタグ情報を、シーン毎に管理し、例えば端末装置10のストレージ1005に記憶する。デフォルトタグ記憶部103は、各タグ情報を、例えばブラウザ11のクッキー(HTTP cookie)として記憶する。
検索制御部104は、各検索エージェント410aおよび410bの動作を制御する。図19は、実施形態に係る検索制御部104の機能を説明するための一例の機能ブロック図である。検索制御部104は、図19に例示されるように、エージェント処理部1041と、連携処理部1042とを含む。
エージェント処理部1041は、後述する、検索エージェント410aおよび410bにそれぞれ対応する各エージェントI/Fの記述に従い検索処理を実行する。例えば、エージェント処理部1041は、検索エージェント410aに入力されたキーワードを、当該検索エージェント410aに対応するエージェントI/Fの記述に従い解釈し、例えば検索エンジン31に送信する。また、エージェント処理部1041は、検索エンジン31から検索結果が返されると、対応するエージェントI/Fの記述に従い検索結果の概要の一覧を生成すると共に、検索結果を解析して提案タグのタグ情報を生成する。
エージェント処理部1041は、複数のエージェントI/Fに対する処理を並列的に実行することができる。例えば検索エージェント410aは、1つのエージェントI/Fと、当該エージェントI/Fに対するエージェント処理部1041の処理とにより構成されると考えることができる。
連携処理部1042は、検索エージェント410aおよび410bの連携に係る処理を行う。例えば、連携処理部1042は、エージェント表示部402に表示される検索エージェント410aおよび410bの画像の位置関係に基づき、検索エージェント410aおよび410bの何れが連携先であり、何れが連携元であるかを判定する。また、連携処理部1042は、連携元の例えば検索エージェント410bから、連携先の例えば検索エージェント410aに対する提案タグのタグ情報の受け渡しを行う。
ユーザ認証部105は、ユーザの認証処理を行う。例えば、ユーザ認証部105は、図2で示したログイン画面300を表示させ、入力領域301および302にそれぞれ入力されたユーザIDおよびパスワードを、ボタン303の操作に応じてサーバ20に送信する。また、ユーザ認証部105は、送信したユーザIDおよびパスワードに応じてサーバ20から送信された認証結果を受け付ける。
エージェント情報記憶部106は、実施形態に係る情報処理プログラムが終了される際に、検索画面400の終了直前の状態を、端末装置10のストレージ1005に記憶する。エージェント情報記憶部106は、例えば、検索画面400の終了直前における各検索エージェント410aおよび410bについて、対応するエージェントI/Fを示す情報、表示位置、有効および無効を示す情報、結果一覧表示部440aおよび440b、ならびに、提案タグ表示部450aおよび450bそれぞれの表示の有無およびその内容、キーワード表示部404の表示内容などを記憶する。
エージェント情報記憶部106は、検索画面400の状態を、例えばブラウザ11のクッキーとして記憶する。エージェント情報記憶部106は、次に情報処理プログラムが起動された際に、記憶した検索画面400の状態を読み出して、情報処理プログラムの前回の終了時の直前の検索画面400の状態を復元することができる。エージェント記憶部107は、登録済みの検索エージェント410aおよび410bにそれぞれ対応するエージェントI/Fとエージェントのメタ情報とを、例えばストレージ1005に記憶する。
上述した情報処理プログラムに含まれる通信部100、入力部101、表示制御部102、デフォルトタグ記憶部103、検索制御部104、ユーザ認証部105、エージェント情報記憶部106およびエージェント記憶部107は、CPU1000上で動作する情報処理プログラムによって実現される。この情報処理プログラムは、例えば、端末装置10がサーバ20に接続することにより、サーバ20により提供される。
端末装置10において、ブラウザ11を用いてサーバ20にアクセスすることで、サーバ20上に記憶された実施形態に係る情報処理プログラムがブラウザ11に読み込まれ、ブラウザ11に読み込まれた情報処理プログラムにより、端末装置10上に、通信部100、入力部101、表示制御部102、デフォルトタグ記憶部103、検索制御部104、ユーザ認証部105、エージェント情報記憶部106およびエージェント記憶部107が形成される。
情報処理プログラムは、例えば、上述した各部(通信部100、入力部101、表示制御部102、デフォルトタグ記憶部103、検索制御部104、ユーザ認証部105、エージェント情報記憶部106およびエージェント記憶部107)を含むモジュール構成となっており、実際のハードウェアとしては、CPU1000が、例えばサーバ20からダウンロードされRAM1002に記憶された情報処理プログラムを読み出して実行することにより上記各部が主記憶装置(例えばRAM1002)上の所定領域にロードされ、各部が主記憶装置上に生成されるようになっている。
これに限らず、情報処理プログラムは、インストール可能な形式または実行可能な形式のファイルでCD(Compact Disk)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供してもよい。この場合、記録媒体に記録された情報処理プログラムは、例えば入出力I/F1007に接続された外部のドライブ装置を介して端末装置10に供給される。これに限らず、記録媒体に記録された情報処理プログラムを、他の情報処理装置上に一旦記憶させ、この他の情報処理装置から通信I/F1008や入出力I/F1007を介した通信により、端末装置10に供給してもよい。
さらに、情報処理プログラムは、例えばストレージ1005に予め記憶させて提供されてもよいし、ネットワーク40に接続されたコンピュータ上に格納し、通信I/F1008によりネットワーク40経由でダウンロードさせることにより提供するように構成することができる。また、この情報処理プログラムを、ネットワーク40経由で提供または配布するように構成してもよい。
図20は、実施形態に係るサーバ20の機能を説明するための一例の機能ブロック図である。サーバ20は、通信部200と、ユーザDB201と、履歴DB202と、履歴解析部203と、エージェントDB204と、プログラム記憶部205とを含む。
これら通信部200、ユーザDB201、履歴DB202、履歴解析部203、エージェントDB204およびプログラム記憶部205は、CPU2000上で動作するプログラムにより実現される。これに限らず、これら通信部200、ユーザDB201、履歴DB202、履歴解析部203、エージェントDB204およびプログラム記憶部205を、互いに協働して動作するハードウェア回路により構成してもよい。
通信部200は、通信I/F2005によりネットワーク40を介した通信を制御する。ユーザDB201は、実施形態に係る情報処理プログラムを利用するユーザのユーザ情報を管理する。ユーザDB201は、ユーザ情報として、例えば、ユーザの名前と、ユーザを識別するためのユーザIDとを管理する。ユーザDB201は、さらに、ユーザの属性情報を管理してもよい。ユーザの属性情報は、例えばユーザが所属する部署や、そのユーザの任意のプロファイルである。ユーザDB201は、ユーザ情報を、例えばストレージ2003に記憶する。
履歴DB202は、検索エージェント(エージェントI/F)の情報と、当該検索エージェントに基づき生成された提案タグとを関連付けたログ情報を、検索エージェントの利用履歴として管理する。履歴DB202は、ログ情報を、例えばストレージ2003に記憶する。履歴解析部203は、履歴DB202に管理されるログ情報を解析して、例えばタグ情報に対応する検索エージェントの提案を行う。
エージェントDB204は、検索エージェント(エージェントI/F)の管理を行う。エージェントDB204は、エージェントI/Fを例えばストレージ2003に記憶し、管理する。エージェントDB204は、端末装置10からの要求に応じて、記憶したエージェントI/Fを読み出して端末装置10に送信する。また、エージェントDB204は、外部からサーバ20に供給されたエージェントI/Fの登録および管理も行う。
プログラム記憶部205は、実施形態に係る情報処理プログラムの記憶および読み出しを行う。プログラム記憶部205は、情報処理プログラムを、例えばストレージ2003に記憶する。プログラム記憶部205は、端末装置10からの要求に応じて、情報処理プログラムを読み出す。
サーバ20による各機能を実現するためのプログラムは、インストール可能な形式また実行可能な形式のファイルでCD、フレキシブルディスク、DVDなどのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、プログラムを、インターネットなどのネットワーク40に接続されたコンピュータ上に格納し、当該ネットワーク40を介してダウンロードさせることにより提供してもよい。また、当該プログラムをインターネットなどのネットワーク40を経由して提供または配布するように構成してもよい。
プログラムは、上述した各部(通信部200、ユーザDB201、履歴DB202、履歴解析部203、エージェントDB204およびプログラム記憶部205)を含むモジュール構成となっている。実際のハードウェアとしては、CPU2000がストレージ2003などの記憶媒体から当該プログラムを読み出して実行することにより、上述した各部がRAM2002などの主記憶装置上にロードされ、通信部200、ユーザDB201、履歴DB202、履歴解析部203、エージェントDB204およびプログラム記憶部205が主記憶装置上に生成されるようになっている。
(実施形態に適用可能なデータ構造)
次に、実施形態に適用可能な各データ構造の例について説明する。図21は、実施形態に係るエージェントI/Fの構成を概略的に示す。エージェントI/Fは、メタ情報と、エージェントI/Fの本体である入力定義および出力定義とを含む。
メタ情報は、「ID」、「名称」、「サムネイル画像」、「連携エージェントID」、「センサ」、「トリガ」および「処理URL(Uniform Resource Locator)」の各項目を含む。
項目「ID」は、エージェントI/Fを識別するための識別情報を含む。項目「名称」は、エージェントI/Fに付けられた名前を含む。項目「サムネイル画像」は、エージェントI/Fに関連付けられるサムネイル画像を含む。項目「連携エージェントID」は、当該エージェントI/Fと連携すべき他のエージェントI/FのIDである。なお、「名称」、「サムネイル画像」および「連携エージェントID」の各項目は、内容を省略することができる。
項目「センサ」は、エージェントI/Fに入力されたキーワードを解釈するための規則であるセンサを含む(第1の条件)。センサは、例えば正規表現を用いて表現される。一例として、正規表現により表現されるセンサ"(0-9){9,}"は、9桁以上の数字列を示す。この場合、エージェントI/Fは、入力されたキーワードのうち、9桁以上の数字列からなるキーワードを選択して検索を行う。
項目「トリガ」は、当該エージェントI/Fを呼び出す際のトリガとなるキーワードを含む。トリガは、例えば正規表現を用いて記述される。一例として、正規表現により表現されるトリガ"在庫あり"は、例えば、デフォルトタグ部422にキーワード「在庫あり」が表示されており、このキーワード「在庫あり」のポイントPの値が閾値以上になった場合に、このエージェントI/Fが呼び出される。
項目「処理URL」は、このエージェントI/Fが検索対象とするURLを含む。例えば、処理URLは、このエージェントI/Fがある検索エンジン31を検索対象としている場合、当該検索エンジン31において検索の窓口となるURLが記述される。
エージェントI/F本体において、入力定義は、項目「タグ情報」を含む。項目「タグ情報」は、検索キーワード入力欄420に表示される各タグ43010、43011、…の各タグ情報が反映される。すなわち、入力定義は、複数のキーワードおよび付加情報を定義することができる。
エージェントI/F本体において、出力定義は、「結果リスト」、「結果詳細」および「提案タグ」の各項目を含む。項目「結果リスト」は、検索エージェント410bを例にとって、結果一覧表示部440bに検索結果を表示させるための情報配列の項目を含む。項目「結果詳細」は、ホバー表示442により表示させるための情報を定義する。項目「提案タグ」は、検索エージェント410bを例にとって、提案タグ表示部450bに表示させるための提案タグを検索結果から生成するための規則を含む(第2の条件)。提案タグは、他のエージェントとの連携を可能とするものであって、複数を定義することができる。
図22は、実施形態に係るエージェントI/Fに含まれる各データの具体例を示す。図22の各項目は、上述した図21の各項目にそれぞれ対応している。
例(1)は、インターネットを介して商品の注文を受け付けるネットショップの在庫確認に対応したエージェントI/Fのデータの例を示す。項目「ID」、「名称」、「サムネイル画像」、「連携エージェントID」および「処理URL」は、それぞれ適当な値が設定される。また、項目「タグ情報」は、例えばキーワード表示部404に対するユーザ操作に応じて1以上のタグが設定される。これらの項目は、後述する他の例でも同様である。
項目「センサ」は、この例では、値が正規表現において任意の文字列を示す値「".*"」が設定されている。これは、入力されたキーワードをそのまま検索対象に渡すことを意味する。項目「トリガ」は、正規表現により値「"在庫.*"」が設定されている。この場合、冒頭に文字列「在庫」を含む文字列(「在庫あり」、「在庫アリ」、「在庫なし」…など)によるキーワードをタグ情報に含むタグのポイントPが閾値以上になった場合に、このエージェントI/Fが呼び出されることを示す。
項目「結果リスト」は、値「品名」、「商品画像」および「販売価格」が設定され、検索結果からこれら値「品名」、「商品画像」および「販売価格」に対応する部分を抽出して、例えば結果一覧表示部440b(検索エージェント410bの場合)の各項目として表示されることが示される。項目「結果詳細」は、値「商品の詳細説明」とされ、検索結果から商品の詳細説明部分を抽出して表示させることが示される。また、項目「提案タグ」は、値「販売業者名」が設定され、検索結果から販売業者名を示す部分を抽出して提案タグとして表示されることが示される。
例(2)は、ネットワークを介して会議を行う会議システムの情報管理に対応したエージェントI/Fのデータの例を示す。項目「センサ」は、上述の例(1)と同様に値「".*"」が設定され、入力されたキーワードをそのまま検索対象に渡すことが示される。項目「トリガ」は、値が設定されておらず、ポイントPの判定結果に応じたこのエージェントI/Fの呼び出しが行われないことを示す。
項目「結果リスト」は、値「名前」、「ID」および「建物名」が設定され、会議の名前、IDおよび会議が開催される建物の名前が例えば結果一覧表示部440b(検索エージェント410bの場合)の各項目として表示されることが示される。項目「結果詳細」は、値「機材の詳細説明」とされ、検索結果から会議システムにおいて使用する機材の詳細説明部分を抽出して表示させることが示される。また、項目「提案タグ」は、値「建物名」が設定され、検索結果から建物名を示す部分を抽出して提案タグとして表示されることが示される。
例(3)は、例えば個人のスケジュール管理に対応したエージェントI/Fのデータの例を示す。項目「センサ」は、正規表現により値「"\d{1,2}[/\.月]\d{1,2}日?"」が設定され、日付を表す値がキーワードとして入力された場合に、そのキーワードを検索対象に渡すことを意味する。項目「トリガ」は、値が設定されておらず、ポイントPの判定結果に応じたこのエージェントI/Fの呼び出しが行われないことを示す。
項目「結果リスト」は、値「日付」、「予定名」および「場所」が設定され、日付、予定名および予定が実行される場所の名前が例えば結果一覧表示部440b(検索エージェント410bの場合)の各項目として表示されることが示される。項目「結果詳細」は、値「予定の詳細」とされ、検索結果から予定の詳細が記述された部分を抽出して表示させることが示される。また、項目「提案タグ」は、値「会議名」が設定され、検索結果から会議名を示す部分を抽出して提案タグとして表示されることが示される。
図23および図24を用いて、実施形態に係るエージェントI/Fのより具体的な例について説明する。なお、図23および図24において、特に記載の無い限り、各行の先頭の数字は説明のための行番号を示し、続くコロン(:)でデータ本体を示すコードと区別されている。また、図23および図24に例示されるコードは、データ記述言語として一般的に用いられるJSON(JavaScript(登録商標) Object Notation)の記法を模した疑似コードである。
図23は、実施形態に係るエージェントI/Fにおけるメタ情報の例を示す。図23において、第1行目("id")および第2行目("name")は、それぞれ図21の項目「ID」および「名称」に対応する。第3行目の("status")は、このメタ情報に対応するエージェントI/Fが有効および無効の何れに設定されているかを示す。第4行目("sensor")および第5行目("trigger")は、それぞれ図21の項目「センサ」および「トリガ」に対応する。第6行目("colname1")〜第8行目("colname3")は、図21の項目「結果リスト」の各項目に対応する。第9行目(confs)は、図21の項目「結果詳細」に対応し、項目「結果詳細」において表示される情報の形式を規定する。第10行目("nextAgents")は、図21の項目「連携エージェントID」に対応し、第11行目("connectFrom")は、図21の項目「処理URL」に対応する。
図24は、実施形態に係るエージェントI/Fの本体の例を示す。図24において、第1行目および第2行目は、図21の項目「タグ情報」に対応し、検索対象において検索を行う際の条件が定義される。この条件には、検索のキーワードが含まれる。第5行目および第6行目は、図21の項目「提案タグ」に対応し、提案タグに関する定義がなされる。例えば、検索結果のどの列の情報を、どのように用いるのか(第2の条件)が、第5行目および第6行目に定義される。
第8行目〜第12行目は、検索結果の表示方法が定義される。このうち、第9行目〜第11行目は、図21の項目「結果リスト」に対応し、結果一覧表示部440bに検索結果を表示させるための情報配列の各項目の表示形式が定義される。また、第12行目は、図21の項目「結果詳細」に対応し、ホバー表示442により表示させるための情報の表示形式が定義される。
図25は、実施形態に係るタグ情報の例を示す。タグ情報は、図25に例示されるように、タグIDと、キーワード文字列と、ポイントPと、エージェント情報と、ユーザ情報とを含む。なお、タグ情報の構成は、キーワード表示部404に表示される各タグ(タグ43010、43011、…、および、43020、43021、…)と、提案タグ表示部450b(検索エージェント410bの場合)に表示される各提案タグ(提案タグ451b1、451b2、…)とで共通とすることができる。
図25において、タグIDは、タグを識別する識別情報である。キーワード文字列は、このタグによる検索の際のキーワードとして用いる文字列である。このキーワード文字列がタグに表示される。ポイントPは、タグに対する評価を示す値であって、上述したように、タグに対する操作に応じて加点および減点される。
エージェント情報は、このタグを生成したエージェントI/Fを示す情報である。例えば、このタグが提案タグまたは提案タグに由来するタグである場合、エージェント情報は、提案タグを生成したエージェントI/FのIDとなる。さらに、このタグが検索エージェントの連携により生成された提案タグまたは提案タグに由来するタグである場合、エージェント情報は、連携に係る複数のエージェントI/FのIDを含む。
ユーザ情報は、このタグに対して、ポイントPを増加される操作を行ったユーザの情報である。ユーザ情報は、例えばログイン時に入力されたユーザID(図2参照)を用いることができる。また、このユーザIDが示すユーザの属性情報を、サーバ20のユーザDB201から検索してユーザ情報に含めてもよい。ユーザの属性情報としては、ユーザの個人プロファイルや、ユーザが所属する部署や組織の情報を用いることが考えられる。
(実施形態に係る処理の詳細)
次に、図26〜図32を用いて、実施形態に係る処理の詳細について説明する。図26は、実施形態に係る端末装置10、より詳細には、検索制御部104の処理を示す一例のフローチャートである。ステップS100で、検索制御部104は、ログイン画面300(図2参照)によりユーザがログインしたか否かを判定する。検索制御部104は、ログインしていないと判定した場合(ステップS100、「無し」)、処理をステップS100に戻す。一方、検索制御部104は、ログインしたと判定した場合(ステップS100、「有り」)、処理をステップS101に移行させる。
ステップS101で、検索制御部104は、エージェント情報記憶部106が記憶した情報に基づき検索画面400の前回の状態を復元する。ここでは、図3に示したように、エージェント表示部402に検索エージェント410aおよび410bが表示され、検索キーワード入力欄420には何も入力されていない状態が復元されたものとする。
次のステップS102で、検索制御部104は、暗黙情報を取得する。暗黙情報は、ユーザにより明示的に入力されない情報である。暗黙情報は、例えば、ステップS100においてログインを行ったユーザに関する情報であって、ユーザIDやユーザが所属する部署などの情報、さらに、ユーザの個人プロファイルを適用することができる。検索制御部104は、例えばサーバ20に対して、ログイン時に入力されたユーザIDに基づきユーザに関する情報を要求し、この要求に応じてサーバ20から返された情報を、暗黙情報として記憶する。
次のステップS103で、検索制御部104は、ユーザ操作に応じたタグ情報(キーワード)の入力の有無を判定する。検索制御部104は、入力が無いと判定した場合(ステップS103、「無し」)、処理をステップS103に戻す。一方、検索制御部104は、タグ情報の入力があったと判定した場合(ステップS103、「有り」)、処理をステップS104に移行させる。
ステップS104で、検索制御部104は、入力されたタグ情報を、稼働中の検索エージェントに渡す。例えば、検索制御部104は、入力されたタグ情報を、稼働中の検索エージェントのエージェントI/Fに入力する。検索制御部104は、複数の検索エージェントが稼働中の場合には、これら複数の検索エージェントそれぞれにタグの入力を行う。
次のステップS105で、検索制御部104は、各検索エージェントでの処理を行う。そして、処理がステップS103に戻され、次のタグ情報の入力が待機される。
図27は、実施形態に係る、検索エージェントが連携している場合の検索処理を示す一例のフローチャートである。図27のフローチャートによる処理に先立って、図8および図9を用いて説明したようにして、連携元の検索エージェントと、連携先の検索エージェントとが設定される。その後、検索キーワード入力欄420にタグが入力され、入力されたタグのタグ情報が、連携元の検索エージェントに渡される。
ステップS110で、検索制御部104は、連携元の検索エージェントによる検索結果を待機する。検索制御部104は、連携元の検索エージェントからの検索結果が無いと判定した場合(ステップS110、「無し」)、処理をステップS110に戻す。一方、検索制御部104は、連携元の検索エージェントからの検索結果があったと判定した場合(ステップS110、「有り」)、処理をステップS111に移行する。
ステップS111で、検索制御部104は、連携元の検索エージェントから、検索結果に基づき結果リストと提案タグのタグ情報とを取得する。次のステップS112で、検索制御部104は、取得した結果リストおよび提案タグのタグ情報を表示制御部102により表示させる。
次のステップS113で、検索制御部104は、連携元の検索エージェントに連携する他の検索エージェントすなわち連携先の検索エージェントが有るか否かを判定する。無いと判定した場合(ステップS113、「無し」)、検索制御部104は、図27のフローチャートによる一連の処理を終了させる。
一方、検索制御部104は、連携する検索エージェントが有ると判定した場合(ステップS113、「有り」)、処理をステップS114に移行させる。ステップS114で、検索制御部104は、ステップS111で連携元の検索エージェントから取得した提案タグのタグ情報を、連携先の検索エージェントに渡す。より具体的には、提案タグのタグ情報を、連携先の検索エージェントのエージェントI/Fに入力する。そして、検索制御部104は、図27のフローチャートによる一連の処理を終了させる。
図28は、実施形態に係る検索エージェントの処理を示す一例のフローチャートである。なお、検索エージェントの処理は、例えば、エージェントI/Fに従い検索制御部104により実行される処理である。ステップS120で、検索エージェントは、エージェントI/Fに対するタグ情報の入力の有無を判定する。タグ情報の入力がなかったと判定した場合(ステップS120、「無し」)、検索エージェントは、処理をステップS120に戻す。一方、検索エージェントは、タグ情報の入力があったと判定した場合(ステップS120、「有り」)、処理をステップS121に移行させる。
ステップS121で、検索エージェントは、入力されたタグ情報をセンサに従い解釈する。センサに従った解釈は、例えば、検索エージェントは、入力されたタグ情報を、エージェントI/Fのメタ情報に含まれる項目「センサ」の値に従いフィルタリングすることで行う。次のステップS122で、検索エージェントは、ステップS121で解釈された結果のタグ情報を、検索のキーワードとして、当該エージェントI/Fのメタ情報に含まれる項目「処理URL」に指定されるURLに送信する。このとき、検索エージェントは、エージェントI/F本体に記述される、検索を行う際の条件を示す情報(図24、1行目および2行目参照)も、当該URLに送信される。
次のステップS123で、検索エージェントは、ステップS122で送信したキーワードに対する検索結果を受信したか否かを判定する。受信していないと判定した場合(ステップS123、「無し」)、検索エージェントは、処理をステップS123に戻す。一方、検索エージェントは、検索結果を受信したと判定した場合(ステップS123、「有り」)、処理をステップS124に移行させる。
ステップS124で、検索エージェントは、ステップS123で受信した検索結果に基づき結果リストおよび結果詳細を出力する。このとき、検索エージェントは、エージェントI/Fに記述される表示形式(図24、8行目〜12行目参照)に従い検索結果を整形して、結果リストおよび結果詳細として出力する。
次のステップS125で、検索エージェントは、ステップS123で受信した検索結果に基づき提案タグのタグ情報を生成する。例えば、検索エージェントは、エージェントI/Fに記述される第2の条件(図24、5行目および6行目参照)に従って、検索結果に基づいた提案タグのタグ情報を生成する。検索エージェントは、提案タグのタグ情報を生成すると、次のステップS126で、生成した提案タグのタグ情報を出力する。出力された提案タグのタグ情報は、例えば、上述した図27のステップS111により、検索制御部104に取得される。
検索エージェントは、ステップS126で提案タグのタグ情報を出力すると、処理をステップS120に戻し、次のタグ情報の入力を待機する。
なお、提案タグのタグ情報を生成するための第2の条件は、検索エージェントの用途や特性(例えば第1の条件)に応じて様々に考えられる。例えば、検索結果に含まれる特徴語を抽出して提案タグのタグ情報として用いることができる。特徴語は、検索制御部104やサーバ20が予め辞書として持っていてもよいし、所定のアルゴリズムを用いて検索結果から抽出してもよい。
また、提案タグのタグ情報として、検索結果からネガティブ語やポジティブ語を抽出して用いてもよい。これらネガティブ語やポジティブ語は、検索制御部104やサーバ20に予め辞書として持たせておく。ネガティブ語やポジティブ語を提案タグとして用いることで、ユーザは、所期のキーワードに対して否定的な検索結果と肯定的な検索結果とのうち所望の検索結果を容易に得ることができる。
さらに、提案タグのタグ情報として、検索エージェントの用途に応じて予め設定した分類名を用いることもできる。さらにまた、互いに類似する語を論理和により結合して提案タグのタグ情報として用いることもできる。
図29は、実施形態に係るタグの評価の処理を示す一例のフローチャートである。ステップS130で、検索制御部104は、何れかの提案タグが指定されたか否かを判定する。
ここでいう指定は、例えばカーソル表示を提案タグの表示の上に移動させる動作をいう。例えば、図30(a)の例では、検索エージェント410aに対応する提案タグ表示部450aに表示される各提案タグ451a1、451a2、…のうち、カーソル表示460が重ねられた提案タグ451a2が指定されていることが示されている。また、この例では、指定された提案タグ451a2が強調表示されている。
提案タグが指定されていないと判定した場合(ステップS130、「No」)、検索制御部104は、処理をステップS130に戻す。一方、検索制御部104は、提案タグが指定されたと判定した場合(ステップS130、「Yes」)、処理をステップS131に移行させる。ステップS131で、検索制御部104は、ステップS130で指定された提案タグのタグ情報を表示させる。図30(b)は、指定された提案タグ451a2のタグ情報が、提案タグ451a2の近傍にホバー表示490として表示された様子を示す。
次に、検索制御部104は、ステップS130で指定されたと判定した提案タグに対する操作の判定を行う。検索制御部104は、指定された提案タグに対して操作されていないと判定した場合(ステップS132、「無し」)、処理をステップS130に戻す。
一方、検索制御部104は、指定された提案タグに対してポイントPを加点する操作が行われたと判定した場合(ステップS132、「加点操作」)、処理をステップS133に移行させる。ステップS133で、検索制御部104は、操作された提案タグのタグ情報を検索キーワード入力欄420に入力させる。そして、次のステップS134で、検索制御部104は、操作に応じて当該提案タグのポイントPに加点する。
また、検索制御部104は、指定された提案タグに対してポイントPを減点する操作が行われたと判定した場合(ステップS132、「減点操作」)、処理をステップS135に移行させる。ステップS135で、検索制御部104は、操作に応じて当該提案タグのポイントPを減点する。
ステップS134またはステップS135の処理が完了すると、検索制御部104は、処理をステップS136に移行させる。ステップS136で、検索制御部104は、操作された提案タグのポイントPに対する判定を行う。
検索制御部104は、ポイントPの値が予め定められた閾値以上であると判定すると(ステップS136、「P≧閾値」)、処理をステップS137に移行させる。ステップS137で、検索制御部104は、図12(a)および図12(b)を用いた説明と同様にして、操作された提案タグのタグ情報に含まれるキーワードに対応する他の検索エージェントを取得する。そして、検索制御部104は、図12(b)を用いて説明したように、取得した他の検索エージェントの登録を促す画像470を表示させ、この図29のフローチャートによる一連の処理を終了させる。
一方、検索制御部104は、ステップS136で、ポイントPの値が0以下であると判定した場合(ステップS136、「P≦0」)、処理をステップS138に移行させる。ステップS138で、検索制御部104は、操作された提案タグを削除し、この図29のフローチャートによる一連の処理を終了させる。
なお、検索制御部104は、ステップS136で、ポイントPの値が上述の何れでもない場合、すなわち、「0<P<閾値」であると判定した場合(ステップS136、「0<P<閾値」)、この図29のフローチャートによる一連の処理を終了させる。
(タグ情報の履歴管理)
次に、実施形態に係る、タグ情報の履歴管理について説明する。実施形態では、例えば図8〜図10を用いて説明した、検索エージェントの連携処理における提案タグのタグ情報の生成の履歴を、履歴DB202により管理することができる。
一例として、図10を参照し、連携先の検索エージェント410aにより生成された提案タグに対して、ポイントPを加点する操作が行われた場合について考える。この場合、履歴DB202は、当該提案タグのタグ情報に対して、当該提案タグの生成に係る連携先の検索エージェント410aと、連携元の検索エージェント410bと、ポイントPの値とを関連付けて、提案タグの検索エージェント410aおよび410bの組み合わせに対する利用履歴として管理する。例えば、検索制御部104は、この履歴DB202に管理される利用履歴に基づき、稼働中の検索エージェントに対する別の検索エージェントの追加を、ユーザに促すことができる。
図31は、実施形態に係る履歴DB202が管理する利用履歴の一例を示す。利用履歴は、「タグID」、「エージェント」および「ポイントP」の各項目を含む。項目「タグID」は、連携処理において生成された提案タグのIDである。項目「エージェント」は、タグIDが示す提案タグの生成に係る連携先および連携元の各検索エージェントのIDである。項目「ポイントP」は、項目「エージェント」に示される連携先および連携元の検索エージェントの組み合わせに対する、提案タグのポイントPである。
図32は、実施形態に係る、利用履歴を用いた検索制御部104の処理を示す一例のフローチャートである。この図32のフローチャートは、上述した図26のフローチャートに対応するもので、図32において、図26のフローチャートと共通する処理には同一の符号を付して、詳細な説明を省略する。
ステップS100〜ステップS103の処理は、図26のフローチャートを用いて説明した処理と同様である。すなわち、ステップS100で、検索制御部104は、ログイン画面300(図2参照)によりユーザがログインしたか否かを判定し、ログインしたと判定した場合、処理をステップS101に移行させる。ステップS101で、検索制御部104は、検索画面400の前回の状態を復元し、次のステップS102で、検索制御部104は、暗黙情報を取得する。
次のステップS103で、検索制御部104は、ユーザ操作に応じたタグ情報の入力の有無を判定する。検索制御部104は、タグ情報の入力があったと判定した場合、処理をステップS150に移行させる。
ステップS150で、検索制御部104は、履歴DB202により、ステップS103で入力されたタグ情報と、当該タグ情報が入力された検索エージェントを示す情報とに基づき利用履歴の検索を行う。次のステップS151で、検索制御部104は、ステップS150の利用履歴の検索により取得された検索エージェントの各組み合わせに、ポイントPの値が閾値以上である組み合わせが有るか否かを判定する。検索制御部104は、無いと判定した場合(ステップS151、「無し」)、処理をステップS104に移行させる。
一方、検索制御部104は、ステップS151で、ポイントPの値が閾値以上である組み合わせが有ると判定した場合(ステップS151、「有り」)、処理をステップS152に移行させる。ステップS152で、検索制御部104は、ステップS151でポイントPの値が閾値以上であると判定された組み合わせの検索エージェントを例えばサーバ20のエージェントDB204から取得し、図12(b)を用いて説明したように、取得した検索エージェントの追加起動を促す画像470を表示させる。そして、処理がステップS104に移行される。
一例として、図31を参照し、タグ「α」のタグ情報が検索エージェント「A」に入力された場合、タグ「α」に対応し、且つ、検索エージェント「A」を含む検索エージェントの組み合わせ「A+B」および「A+C」が検索結果として取得されたものとする(ステップS150)。例えば閾値が「4」であり、取得された組み合わせ「A+B」および「A+C」のポイントPの値がそれぞれ「5」および「2」である場合、組み合わせ「A+B」が、ポイントPの値が閾値以上の組み合わせであると判定される。ステップS103でタグ「α」のタグ情報が入力された検索エージェントが検索エージェント「A」であるので、検索エージェント「B」がサーバ20のエージェントDB204から取得され、登録が促される(ステップS152)。
ステップS104で、検索制御部104は、入力されたタグ情報を、稼働中の検索エージェントに渡す。検索制御部104は、ステップS152で追加起動を促された検索エージェントが起動されている場合には、その検索エージェントにもタグ情報を渡す。次のステップS105で、検索制御部104は、各検索エージェントでの処理を行う。そして、処理がステップS103に戻され、次のタグ情報の入力が待機される。
このように、タグに対する検索エージェントの組み合わせの履歴を用いて他の検索エージェントを起動させることで、ユーザは、自身が意識していない方面からの検索を、容易に実行することが可能となる。
(実施形態に適用可能なタグ情報の入力方法の他の例)
なお、上述した、図26のフローチャートにおけるステップS103では、タグ情報の入力を、実施形態に係る情報処理プログラムに従ったユーザ操作に応じて行うように説明したが、これはこの例に限定されない。タグ情報は、他の方法を用いて入力することもできる。
タグ情報の他の入力方法の第1の例として、実施形態に係る情報処理プログラムを、当該情報処理プログラムが実行される端末装置10上で動作する、他のアプリケーションプログラムと連携させ、この他のアプリケーションプログラムから取得した情報を、タグ情報として入力させる方法が考えられる。例えば、当該情報処理プログラムは、他のアプリケーションプログラムが管理する情報をストレージ1005やRAM1002から取得し、取得した情報に含まれるキーワードをタグ情報として入力することが考えられる。
以下、アプリケーションプログラムを適宜、アプリと略称する。
より具体的な例として、連携先がスケジュール管理を行うためのスケジュール管理アプリである場合について考える。この場合、実施形態に係る情報処理プログラムは、スケジュール管理アプリが管理する、ユーザのスケジュール情報(イベントの情報、予約の情報など)を取得する。当該情報処理プログラムは、スケジュール管理アプリから取得したスケジュール情報に含まれるキーワードをタグ情報として入力する。キーワードは、例えばイベントや予約の件名、日時、場所名などを用いることが考えられる。
実施形態に係る情報処理プログラムと連携させる他のアプリケーションプログラムは、ユーザが端末装置10を操作することで設定するようにできる。これに限らず、実施形態に係る情報処理プログラムに、予め連携先の他のアプリケーションプログラムを設定しておいてもよい。
実施形態に係る情報処理プログラムに連携させる他のアプリとしては、上述のスケジュール管理アプリに限らず、メール管理アプリ、情報検索アプリ、地図アプリ、画像管理アプリ、通話アプリ、チャットアプリ、カメラアプリ、健康管理アプリ、予約アプリ、通販アプリなど様々な種類のアプリが考えられる。勿論、当該情報処理プログラムに連携させる連携先のアプリは、ここに列挙した以外の種類のアプリであってもよい。
また、実施形態に係る情報処理プログラムが、連携する他のアプリから取得する情報は、当該他のアプリの種類や、当該他のアプリの機能に応じて様々に考えられる。例えば、当該情報処理プログラムが連携する他のアプリから取得する情報としては、上述したスケジュール情報の他に、検索履歴情報、メール情報、画像情報、ユーザの個人情報、荷物の追跡情報、通話またはチャット履歴情報、端末装置10の位置情報などが考えられる。勿論、当該情報処理プログラムが連携する他のアプリから取得する情報は、ここに列挙した以外の種類の情報であってもよい。
なお、上述では、実施形態に係る情報処理プログラムと他アプリとの連携を前提に説明したが、これはこの例に限定されない。すなわち、当該情報処理プログラムは、他アプリとの連携に限られず、例えばストレージ1005やRAM1002に記憶されている情報に含まれるキーワードを、タグ情報として入力することもできる。
タグ情報の他の入力方法の第2の例として、ネットワークを介してサーバから取得した情報をタグ情報として入力する方法が考えられる。なお、ネットワークは、上述したネットワーク40でもよいし、インターネットであってもよい。また、サーバは、上述したサーバ20でもよいし、ネットワークがインターネットの場合にはWebサーバであってもよい。
この第2の例では、実施形態に係る情報処理プログラムにおいて、予め、所定のサーバのアドレス情報を、タグ情報の取得先として関連付けて記憶しておく。こうすることで、当該情報処理プログラムは、タグ情報の入力の際に、このアドレス情報に基づいてサーバへアクセスし、キーワードを含む情報を取得することができる。キーワードを含む情報の種類などは、上述の第1の例で説明した各情報と同様である。
タグ情報の入力を行う方法のさらに他の例として、タグ情報の入力を、音声入力により行うことも可能である。例えば、端末装置10に対して、音声を集音してアナログ方式の音声信号として出力するマイクロフォンを接続する。また、端末装置10の構成に、マイクロフォンから出力されたアナログ方式の音声信号をディジタル方式の音声データに変換する音声I/Fを追加する。
例えばCPU1000は、ユーザによりマイクロフォンに入力された音声に基づく音声データに対して、既知の音声認識技術を用いて音声認識処理を実行する。検索制御部104は、この音声認識処理により特定されたキーワードを、タグ情報として入力する。
また、上述のステップS100では、ユーザによるログインを判定し、ログインしたと判定された場合に、ステップS101以降の処理を実行しているが、これはこの例に限定されない。例えば、ユーザによる明示的なログインを判定せずに、実施形態に係る情報処理プログラムが起動されたことに応じて、ステップS101以降の処理が開始されるようにしてもよい。
より具体的な例として、上述したように、実施形態に係る情報処理プログラムが予めストレージ1005に記憶され、CPU1000がストレージ1005からこの情報処理プログラムを読み出して当該情報処理プログラムを起動させる場合が該当する。このような例の1つとして、当該情報処理プログラムが、例えばスマートフォンやタブレット型コンピュータにインストールされている1つのアプリの場合が考えられ、この場合であっても、上述と同様にして、ステップS101以降の処理を実行することが可能である。
さらに、上述したように、端末装置10は、入力部101がタッチパネルにより構成されていてもよい。例えば、スマートフォンなどの画面(タッチパネル)上で、所定のアイコンをタップすることで、実施形態に係る情報処理プログラムが起動される。
情報処理プログラムは、起動されると、上述したように、当該スマートフォンにインストールされる、連携が設定された他のアプリから自動でタグ情報が入力されてもよい。また、当該情報処理プログラムは、起動されるとネットワークを介した通信を行い、ネットワーク上のサーバから自動でタグ情報が入力されてもよい。勿論、当該情報処理プログラムは、ユーザ操作による明示的なタグ情報の入力を待機してもよい。
(実施形態の第1の変形例)
次に、実施形態の第1の変形例について説明する。上述した実施形態では、検索エージェントの検索結果を、例えば図4の結果一覧表示部440bのように、2次元的に表示していた。この実施形態の第1の変形例では、検索結果の一覧を、各検索結果に仮想的な奥行き情報を持たせて3次元的に表示させる。
より具体的には、例えば結果一覧表示部440bに表示される各検索結果の概要に対して、画面の平面上の座標値である値xおよび値yと、画面の仮想的な奥行き方向の座標値である値zとを与え、各検索結果の概要を、座標(x,y,x)に示される位置に表示させる。各検索結果の概要は、例えば検索結果に対応するサムネイル画像といった画像情報を用いて、検索結果画像として表示させると好ましい。
ここで、値zは、奥行き方向の位置を仮想的に示すものであって、実際の表示としては、例えば、値zがより深い奥行きを示す場合、その検索結果の概要の表示サイズを、値zに応じて縮小させて表示させることが考えられる。以下では、値zが大きな値となるに連れ、より深い奥行きを表すものとする。
検索結果の概要を3次元的に表示させる表示方法は、幾つかが考えられる。図33〜図36を用いて、実施形態の第1の変形例に係る表示方法の例について説明する。
図33は、実施形態の第1の変形例に係る、各検索結果の概要をテーブルとして表示させる第1の例を示す。検索結果表示領域510aは、検索画面400内に設けてもよいし、検索画面400とは異なる表示としてもよい。図33の例では、各検索結果の概要による検索結果画像500が検索結果表示領域510a内にマトリクス状に配置されて表示される。この場合、各検索結果画像500は、奥行き方向の値zを省略できる。
図34は、各検索結果の概要をテーブルとして表示させる第2の例を示す。この第2の例では、検索結果表示領域510bにおいて、各検索結果画像501aが、値zを最も小さい値zとされて最も手前側に表示され、各検索結果画像501cが、値zを最も大きい値zとされて最も深い奥行きに表示されている。また、各検索結果画像501bは、値zが最大の値zと最小の値zとの中間の値とされて、各検索結果画像501aと各検索結果画像501cとの中間の奥行き位置に表示されている。
この例の場合、より上位の(より多くヒットした)検索結果の概要による検索結果画像に小さな値zを与え、より下位の検索結果の概要による検索結果画像に大きな値zを与えることが考えられる。こうすることで、ユーザは、より上位の検索結果を容易に参照できる。また、より下位の検索結果についても、容易に認識でき、参照も容易である。
図35は、実施形態の第1の変形例に係る、各検索結果の概要を仮想的な球面上に配置して表示させる例を示す。この例でも、図34と同様に、検索結果表示領域510cにおいて、より上位の各検索結果画像502aが値zを小さくされて、より手前側(球面の前面の表面)に表示される。また、より下位の検索結果画像502cが値zを大きくされて、より深い奥行き位置(球面の背面の裏面)に表示される。さらに、中位の検索結果画像502bは、球面表面または裏面における、検索結果画像502aおよび502cの中間程度の位置に表示される。
この例は、これに限らず、各検索結果画像502a、502bおよび502cを、検索結果の順位に関わらず球面上に配置し、球面を回転自在としてもよい。これにより、ユーザは、地球儀を回転させるような動作で検索結果画像を探索することができ、検索作業に遊びの要素を取り入れることが可能である。
図36は、実施形態の第1の変形例に係る、各検索結果の概要を仮想的な螺旋または円筒上に配置して表示させる例を示す。この例でも、図35と同様に、検索結果表示領域510dにおいて、より上位の各検索結果画像503aが値zを小さくされて、より手前側に表示され、より下位の各検索結果画像503cが値zを大きくされて、より深い奥行き位置に表示される。さらに、中位の検索結果画像503bは、螺旋または円筒上における、検索結果画像503aおよび503cの中間程度の位置に表示される。
この例でも、図35の場合と同様に、各検索結果画像503a、503bおよび503cを、検索結果の順位に関わらず螺旋または円筒上に配置し、螺旋または円筒を回転自在としてもよい。
(実施形態の第2の変形例)
次に、実施形態の第2の変形例について説明する。上述した実施形態では、検索画面400に各検索エージェント410aおよび410bを表示させて検索を行っていた。これに対して、実施形態の第2の変形例では、検索画面に検索エージェントを表示させない。検索画面には、検索キーワード入力欄と、検索結果表示部と、結果一覧表示部と、提案タグ表示部とを表示させる。
図37は、実施形態の第2の変形例に係る検索画面の例を示す。図37(a)は、各検索エージェントによる提案タグを、検索エージェントを区別しないで表示した検索画面600aの例である。また、図37(b)は、各検索エージェントによる提案タグを、検索エージェント毎に纏めて表示した検索画面600bの例である。
図37(a)において、検索画面600aは、検索キーワード入力欄601と、提案タグ表示部602と、検索結果表示部603と、結果一覧表示部604とを含む。検索エージェントは、稼働し例えば図28のフローチャートのステップS120で説明したようにタグ(キーワード)の入力を待機しているが、検索画面600aにおいて画像としては表示されない。
検索キーワード入力欄601は、例えば図3などに示した検索キーワード入力欄420に対応し、ユーザ操作に応じて検索に用いるキーワード610、610、…が入力される。検索画面600aに、図3などのデフォルトタグ部422と同様の、キーワードを含むタグ情報が関連付けられたタグが表示される領域をさらに設けてもよい。
提案タグ表示部602は、図4の提案タグ表示部450bなどに対応し、稼働中の検索エージェントにより検索結果に基づき生成された各タグ情報による提案タグ620、620、…(提案タグ620a、620bおよび620cを含む)が表示される。提案タグ620、620、…を指定することで、図29のフローチャートにおけるステップS132およびステップS133の処理と同様にして、指定された提案タグ620に対応するキーワード610(タグ情報)が検索キーワード入力欄601に追加される。
結果一覧表示部604は、図4などの結果一覧表示部440bに対応し、検索エージェントによる検索結果の結果リストとして、検索結果の概要が一覧表示される。検索結果表示部603は、図3などの検索結果表示部403に対応し、結果一覧表示部604に一覧表示される検索結果の詳細が表示される。
図37(a)において、各提案タグ620、620、…は、各提案タグ620、620、…のタグ情報にそれぞれ設定された推薦度に応じて、提案タグ表示部602における表示位置を決めることができる。例えば、より高い推薦度がタグ情報に設定される提案タグ620aおよび620bは、検索キーワード入力欄601により近い位置に配置される。また、より低い推薦度がタグ情報に設定される提案タグ620cなどは、検索キーワード入力欄601からより離れた位置に配置される。このような配置とすることで、ユーザは、推薦度が高くより有用と考えられるタグ情報による提案タグ620aや提案タグ620bを、容易に指定することができる。
なお、推薦度としては、上述した提案タグ620毎のポイントPの値を用いることができる。この場合、ポイントPの値が大きいほど、高い推薦度とする。これに限らず、推薦度は、複数のユーザによるポイントPを総合的に用いてもよいし、システムによって予め定めた値を用いてもよい。
また、図37(a)の例では、各提案タグ620、620、…が2次元的に配置されているが、これはこの例に限定されない。例えば、図33〜図36を用いて説明したように、各提案タグ620、620、…を、奥行き方向の情報を持たせて3次元的に配置してもよい。さらに、検索画面600aを用意せずに、一般的な検索エンジン31の検索画面を用いてもよい。この場合、例えば、提案タグ620は、推薦度が高いものから所定数を選択して、検索エンジン31の検索窓などにキーワード候補として入力させることが考えられる。
図37(b)の検索画面600bについて説明する。一例として、検索エージェント410aおよび410bが稼働中であり、それぞれ提案タグ620、620、…を出力した場合について考える。検索画面600bは、例えば検索エージェント410aにより出力された各タグ情報による提案タグ620、620、…を、グループ630aとして纏め、検索エージェント410bにより出力された各タグ情報による提案タグ620、620、…を、グループ630bとして纏めている。検索画面600bにおいて、推薦度の高い提案タグ620aおよび620bを検索キーワード入力欄601の近傍に配置し、推薦度の低い提案タグ620cを検索キーワード入力欄601から離れた位置に配置する点は、図37(a)と同様である。
なお、上述の実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。
10 端末装置
11 ブラウザ
20 サーバ
31 検索エンジン
32 特定DB
33 回答システム
40 ネットワーク
102 表示制御部
103 デフォルトタグ記憶部
104 検索制御部
105 ユーザ認証部
106 エージェント情報記憶部
107 エージェント記憶部
201 ユーザDB
202 履歴DB
204 エージェントDB
205 プログラム記憶部
400,600a,600b 検索画面
401 エージェント切替部
402 エージェント表示部
403,603 検索結果表示部
404 キーワード表示部
420,601 検索キーワード入力欄
422 デフォルトタグ部
43010,43011,43020,43021,43022,43023,43024,43025,43026 タグ
440a,440b,604 結果一覧表示部
442,490 ホバー表示
450a,450b,602 提案タグ表示部
451a1,451a2,451b1,451b2,451b5,620,620a,620b,620c 提案タグ
460 カーソル表示
500,501a,501b,501c,502a,502b,502c,503a,503b,503c 検索結果画像
510a,510b,510c,510d 検索結果表示領域
610 キーワード
1041 エージェント処理部
1042 連携処理部
特許第3617826号公報

Claims (19)

  1. 対応する検索部に指定された検索語による検索を実行させ、該検索部から検索結果を受け取る検索仲介部と、
    前記検索語を前記検索仲介部に入力し、条件が互いに異なる2以上の前記検索仲介部を制御する検索制御部と
    を備え、
    前記検索仲介部は、
    入力された検索語を該検索仲介部に予め定められた第1の条件に従い解釈して、解釈された該検索語により前記検索部に検索を実行させる
    情報処理装置。
  2. 前記検索仲介部に入力される前記検索語は、ユーザ操作に応じて取得される
    請求項1に記載の情報処理装置。
  3. 前記検索仲介部に入力される前記検索語は、前記情報処理装置にインストールされるアプリケーションプログラムを介して取得された情報に含まれるキーワードである
    請求項1または請求項2に記載の情報処理装置。
  4. 前記検索仲介部に入力される前記検索語は、前記情報処理装置がネットワークを介して取得した情報に含まれるキーワードである
    請求項1または請求項2に記載の情報処理装置。
  5. 前記検索仲介部に対応する画像の表示を制御する表示制御部をさらに備える請求項1乃至請求項4の何れか1項に記載の情報処理装置。
  6. 前記2以上の検索仲介部は、前記第1の条件が互いに異なる第1の検索仲介部および第2の検索仲介部を含み、
    前記検索制御部は、
    前記第1の検索仲介部の検索結果に基づき、該第1の検索仲介部に予め設定された第2の条件に従い提案語を生成する
    請求項1乃至請求項5の何れか1項に記載の情報処理装置。
  7. 前記検索制御部は、
    前記ユーザ操作に応じて生成した前記提案語を前記検索語として入力する
    請求項6に記載の情報処理装置。
  8. 前記検索制御部は、
    前記提案語を前記第2の検索仲介部に検索語として指定する
    請求項6に記載の情報処理装置。
  9. 前記検索制御部は、
    前記情報処理装置の表示画面上で前記第1の検索仲介部に対応する画像の少なくとも一部が前記第2の検索仲介部に対応する画像に重ねられた場合に、前記提案語を生成して検索語として該第2の検索仲介部に指定する
    請求項8に記載の情報処理装置。
  10. 前記検索仲介部を示す情報と該検索仲介部に入力された前記検索語とを関連付けて履歴情報として蓄積する履歴記憶部をさらに備え、
    前記検索制御部は、
    前記履歴情報に基づき、複数の前記検索仲介部から、前記入力された前記検索語に対応する前記検索仲介部を選択する
    請求項1乃至請求項5の何れか1項に記載の情報処理装置。
  11. 前記第1の条件が互いに異なる複数の前記検索仲介部を記憶する検索仲介部記憶部をさらに備え、
    前記検索制御部は、
    前記入力された前記検索語に応じて、前記検索仲介部記憶部から、前記表示制御部により対応する画像が表示されていない前記検索仲介部を取得し、取得した該検索仲介部に対応する画像を前記表示制御部により表示させる
    請求項5に記載の情報処理装置。
  12. 前記検索制御部は、
    前記入力された前記検索語のうち同一の前記検索語を計数し、計数した値が閾値以上の場合に、前記検索仲介部記憶部に記憶される前記複数の検索仲介部のうち、前記検索仲介部に予め設定された第3の条件に該検索語が対応する前記検索仲介部を取得する
    請求項11に記載の情報処理装置。
  13. 前記検索制御部は、
    前記検索仲介部による検索の経過を画面に表示させる
    請求項1乃至請求項12の何れか1項に記載の情報処理装置。
  14. 前記検索語を記憶する検索語記憶部をさらに備え、
    前記検索制御部は、
    前記検索語記憶部から取得した前記検索語を前記検索仲介部に入力する
    請求項1乃至請求項13の何れか1項に記載の情報処理装置。
  15. 前記検索制御部は、
    前記提案語に2以上の次元で表される位置情報を与えることによって、前記提案語を前記位置情報に従い表示させる
    請求項2に記載の情報処理装置。
  16. 前記検索制御部は、
    前記提案語に指定された条件に基づき推薦度を設定し、設定した推薦度に応じた前記位置情報を与える
    請求項15に記載の情報処理装置。
  17. 対応する検索部に指定された検索語による検索を実行させ、該検索部から検索結果を受け取る検索仲介ステップと、
    前記検索語を前記検索仲介ステップに入力し、条件が互いに異なる2以上の前記検索仲介ステップを制御する検索制御ステップと
    を有し、
    前記検索仲介ステップは、
    入力された検索語を該検索仲介ステップに予め定められた第1の条件に従い解釈して、解釈された該検索語により前記検索部に検索を実行させる
    情報処理方法。
  18. 情報処理装置が搭載するコンピュータに情報処理方法を実行させるための情報処理プログラムであって、
    前記情報処理方法は、
    対応する検索部に指定された検索語による検索を実行させ、該検索部から検索結果を受け取る検索仲介ステップと、
    前記検索語を前記検索仲介ステップに入力し、条件が互いに異なる2以上の前記検索仲介ステップを制御する検索制御ステップと
    を有し、
    前記検索仲介ステップは、
    入力された検索語を該検索仲介ステップに予め定められた第1の条件に従い解釈して、解釈された該検索語により前記検索部に検索を実行させる
    情報処理プログラム。
  19. 端末装置と情報処理装置とを含む情報処理システムであって、
    対応する検索部に指定された検索語による検索を実行させ、該検索部から検索結果を受け取る検索仲介部と、
    前記検索語を前記検索仲介部に入力し、条件が互いに異なる2以上の前記検索仲介部を制御する検索制御部と
    を備え、
    前記検索仲介部は、
    入力された検索語を該検索仲介部に予め定められた第1の条件に従い解釈して、解釈された該検索語により前記検索部に検索を実行させる
    情報処理システム。
JP2016116081A 2015-12-28 2016-06-10 情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システム Pending JP2017120613A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015257234 2015-12-28
JP2015257234 2015-12-28

Publications (1)

Publication Number Publication Date
JP2017120613A true JP2017120613A (ja) 2017-07-06

Family

ID=59272236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016116081A Pending JP2017120613A (ja) 2015-12-28 2016-06-10 情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システム

Country Status (1)

Country Link
JP (1) JP2017120613A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030118A (ja) * 2002-03-29 2003-01-31 Seiko Epson Corp 情報取得システムおよび方法
JP2003233618A (ja) * 2002-02-07 2003-08-22 Fujitsu Ltd 横断検索方法,及び、横断検索プログラム
JP2005316590A (ja) * 2004-04-27 2005-11-10 Konica Minolta Holdings Inc 情報検索装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003233618A (ja) * 2002-02-07 2003-08-22 Fujitsu Ltd 横断検索方法,及び、横断検索プログラム
JP2003030118A (ja) * 2002-03-29 2003-01-31 Seiko Epson Corp 情報取得システムおよび方法
JP2005316590A (ja) * 2004-04-27 2005-11-10 Konica Minolta Holdings Inc 情報検索装置

Similar Documents

Publication Publication Date Title
US10628504B2 (en) System of providing suggestions based on accessible and contextual information
EP3022639B1 (en) Object based contextual menu controls
CN110494852B (zh) 智能匹配自动完成***
US10528572B2 (en) Recommending a content curator
US20230385355A1 (en) Intelligent, adaptive electronic procurement systems
TW459186B (en) A system, method and article of manufacture for advanced mobile communication and computing
CN107066465B (zh) 信息呈现***
US9785987B2 (en) User interface for information presentation system
EP2624153A1 (en) Electronic profile development, storage, use and systems for taking action based thereon
US20150212695A1 (en) Suggested action feedback
WO2012154843A1 (en) Identifying applications of interest based on application market log data
WO2011146544A1 (en) System and method for monitoring changes in databases and websites
EP3639162A1 (en) Information retrieval using natural language dialogue
US10268762B1 (en) Color based search application interface and corresponding query control functions
WO2013181652A2 (en) Systems and methods for providing personalized content browsing experience
JP2022110057A (ja) ビジュアルサーチのためのデジタル補足関連付けおよび検索
US8782099B2 (en) Graphical objects bonding society system and method of operation for a game
WO2012023540A1 (ja) 情報提供装置、情報提供方法、プログラム、ならびに、情報記録媒体
JP2009223656A (ja) 仮想空間提供装置、仮想空間提供システム、仮想空間提供方法及びコンピュータプログラム
JP7326296B2 (ja) ソーシャルグラフ情報を使用した適応検索
WO2012023541A1 (ja) 情報提供装置、情報提供方法、プログラム、ならびに、情報記録媒体
KR20190108624A (ko) 향상된 온라인 리서치를 위한 시스템 및 방법
US20220335102A1 (en) Intelligent selection and presentation of people highlights on a computing device
CA3193098A1 (en) Machine learning methods to determine a likelihood for an event to occur through sentiment analysis of digital conversations
KR102165029B1 (ko) 질의의 문맥 수정

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200317

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200923