説明

情報処理装置、情報処理方法及びプログラム

【課題】ユーザによるオブジェクトの操作から検索の意図を推定し、速やかに目的とするオブジェクトを得ることを可能にする。
【解決手段】検索判定手段でユーザがオブジェクトを検索していると判定された場合、操作に応じて、操作画面上に、検索を実施していない未検索領域と、検索に適合したオブジェクトが含まれる検索適合領域と、検索に適合しなかったオブジェクトが含まれる検索不適合領域と、を設定する設定手段と、設定手段で設定された各領域に含まれるオブジェクトからキーワードを抽出し、抽出したキーワードのうち、未検索領域に含まれるオブジェクトのキーワードで、検索適合領域に含まれるオブジェクトのキーワードほど重要度を大きくし、検索不適合領域に含まれるオブジェクトのキーワードほど重要度を小さくしたキーワードを重要度に応じて検索クエリとしてユーザに提示する提示手段と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
近年、タッチスクリーン上のハンドジェスチャにより画面上のオブジェクトを操作するインタフェースが注目されている。タッチスクリーン上の入力はマウスやキーボード等の入力デバイスを使用したインタフェースと比較してより直感的な操作が可能である。また、近年の接触検出デバイスの進歩により、タッチスクリーン上での直感的な操作を可能とする複雑なジェスチャを認識することが可能になってきている。
非特許文献1では、タッチパネルを利用して、電子文書(カード)を用いて日常的な紙文書の卓上操作のメタファ(カード分類、掴んで動かす、山に重ねる、広げる、ページをめくる)を実現している。
上記のシステムでは、ユーザが明示的に何らかの命令を行い、それに基づいた操作が行われるという形になっているが、より直感的な操作を達成するには、ユーザが電子文書を操作している挙動からユーザの意図を推定して操作を支援することが望ましい。
このような課題を解決するために、以下の2つの特許文献が提案されている。
特許文献1では、ユーザインタフェース上の入力フィールドにカーソルを置いたまま一定時間が経過すると該当入力フィールドに対するヘルプが表示される。
特許文献2では、タッチパネル上の同一領域に対して、一定時間内に複数のタッチが試みられた場合、そのコントロールのヘルプが表示される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−142593号公報
【特許文献2】特開2007−334025号公報
【非特許文献】
【0004】
【非特許文献1】渡辺他:"机上と壁面を併用する実世界指向電子作業空間(1)",第71回情報処理学会全国大会講演論文集(4),4Y−3,pp.201−202(2009.3)
【発明の概要】
【発明が解決しようとする課題】
【0005】
これらは何れもユーザが迷っているという挙動を検出して入力のヘルプを行うものであるが、入力コントロールに対する操作であり、電子文書オブジェクトに対する操作という観点は言及されていない。また、表示する情報は予め用意したヘルプテキストに留まっており、電子文書オブジェクトの内容に応じた情報を提示することができない。
【0006】
本発明はこのような問題点に鑑みなされたもので、ユーザによるオブジェクトの操作から検索の意図を推定し、速やかに目的とするオブジェクトを得ることを可能にすることを目的とする。
【課題を解決するための手段】
【0007】
そこで、本発明は、ユーザの操作による操作画面上におけるオブジェクトの移動を検出した場合、前記ユーザがオブジェクトを検索しているか否かを判定する検索判定手段と、前記検索判定手段で前記ユーザがオブジェクトを検索していると判定された場合、前記操作に応じて、前記操作画面上に、検索を実施していない未検索領域と、検索に適合したオブジェクトが含まれる検索適合領域と、検索に適合しなかったオブジェクトが含まれる検索不適合領域と、を設定する設定手段と、前記設定手段で設定された各領域に含まれるオブジェクトからキーワードを抽出し、抽出したキーワードのうち、前記未検索領域に含まれるオブジェクトのキーワードで、前記検索適合領域に含まれるオブジェクトのキーワードほど重要度を大きくし、前記検索不適合領域に含まれるオブジェクトのキーワードほど重要度を小さくしたキーワードを重要度に応じて検索クエリとして前記ユーザに提示する提示手段と、を有する。
【発明の効果】
【0008】
本発明によれば、ユーザによるオブジェクトの操作から検索の意図を推定し、速やかに目的とするオブジェクトを得ることを可能にすることができる。
【図面の簡単な説明】
【0009】
【図1】情報処理装置(コンピュータ)のハードウェア構成の一例を示す図である。
【図2】情報処理装置の外観の一例を示す図である。
【図3】操作画面を拡大した一例を示す図である。
【図4】オブジェクト検索にかかる情報処理の一例を示すフローチャートである。
【図5】図4のステップS402における検索操作検出処理の詳細を示すフローチャートである。
【図6】図5のステップS501の移動間隔、回数による判定の詳細を示すフローチャートである。
【図7】図5のステップS503の移動先状態による判定処理の概念の一例を示す図である。
【図8】図5のステップS503の移動先状態による判定処理の詳細を示すフローチャートである。
【図9】図4のステップS404検索結果種別判定処理を説明するための図である。
【図10】図4のステップS404の検索結果種別判定処理の詳細を示すフローチャートである。
【図11】表示領域上のユーザ位置を示す図である。
【図12】実施形態1における図4のステップS405の検索クエリ提示処理の詳細を示すフローチャートである。
【図13】キーワード格納テーブルの一例を示す図である。
【図14】検索クエリ提示の一例を示す図である。
【図15】メタデータを検索クエリとして提示する一例を示す図である。
【図16】複数の文書集合から検索適合領域、検索不適合領域に分類する方法を説明するための図である。
【図17】検索クエリ提示処理により提示された検索クエリを変更する操作を示す図である。
【図18】ユーザが、提示された検索条件が必要ない場合に消去する操作を示す図である。
【図19】実施形態1における図4のステップS405の検索クエリ提示処理の詳細を示すフローチャートである。
【図20】ステップS1907のユーザへの画像の提示方法の一例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面に基づいて説明する。
【0011】
<実施形態1>
図1は、情報処理装置(コンピュータ)のハードウェア構成の一例を示す図である。
情報処理装置は、マイクロプロセッサ(CPU)11と、ROM12と、RAM13と、記憶装置14と、入力装置15と、通信装置16と、を含む。
CPU11は、各構成要素を制御すると共に、本情報処理装置のための演算、論理判断等を行う。ROM12は、CPU11が実行する処理プログラム等の制御プログラムコードを記憶する読出し専用の固定メモリである。RAM13は、各構成要素から送られた各種データの一時記憶に用いられる書き込み可能なランダムアクセスメモリである。記憶装置14は、ハードディスク等の各種ディスク機器やフラッシュメモリ等から構成され、処理中のデータや画像ファイル・メタデータ等を格納する。入力装置15は、画面を接触することにより操作入力を行うタッチスクリーン等である。通信装置16は、USB等の外部入出力機器やモデム等の有線或いは無線通信機器から構成され、外部機器とのデータ交換を行う。
各構成は、アドレスバスAB、コントロールバスCB、及びデータバスDBを介して互いに接続されている。アドレスバスABは、CPU11が制御の対象とする構成要素を指定するためのアドレス信号を転送する。コントロールバスCBは、CPU11が制御の対象とする各構成要素に対してCPU11から印加されるコントロール信号を転送する。データバスDBは、各構成要素相互間のデータ転送を行う。
情報処理装置は、入力装置15からの各種の入力及び通信装置16から供給されるネットワーク経由の各種の入力に応じて作動する。入力装置15からの入力又は通信装置16からの入力が供給されると、まず、インタラプト信号がCPU11に送られ、CPU11が、記憶装置14内に記憶してある各種の制御信号を読み出し、それらの制御信号に従って各種の制御が行われる。
つまり、CPU11が、記憶装置14に記憶されたプログラム等に基づき処理を実行することによって、情報処理装置の機能及び後述するフローチャートにかかる処理が実現される。
なお、図1には図示していないが、情報処理装置は、投影を行う投影装置や、センサ等をハードウェア構成として含むものとする。
【0012】
図2は、情報処理装置の外観の一例を示す図である。
情報処理装置201は、天井202に取り付けられており、下方の机に電子オブジェクトの投影を行い、また、投影された電子オブジェクトの移動を検知するセンサを備える。
机203には、情報処理装置201により操作画面204が投影される。操作画面204には電子ドキュメントや操作部品等が表示され、利用者205及び206がそれぞれペン207、208によってこれらの操作部品が映し出された場所に接触することで画面上の操作を行う。なお、机203は、机に限らず情報処理装置201に正対する方向に平坦な面を有していれば何でもよい。また、ペン207、208は、ペンに限らず情報処理装置201の画像認識部が認識する特徴に適合した物体であれば何でもよい。また、本使用例では2名の利用者がそれぞれ1本ずつのペンを用いているが、利用者は何人でもよく、1名の利用者が複数のペンを用いてもよい。
【0013】
図3は、操作画面204を拡大した一例を示す図である。電子オブジェクト301は、情報処理装置201により投影された電子オブジェクトであり、ペン303により移動操作が可能である。電子オブジェクト301の領域がペン303によって接触されると、電子オブジェクト301が選択状態になり、ペン303をペン304の位置に移動することによって電子オブジェクト301を302の位置に移動させることができる。
【0014】
図4は、オブジェクト検索にかかる情報処理の一例を示すフローチャートである。
ステップS401において、情報処理装置201は、操作画面204に投影された電子オブジェクトが移動したことを検出する。
ステップS402において、情報処理装置201は、ステップS401で検出された電子オブジェクトの移動操作が検索操作を意図したものであることを検出する。本処理の詳細は、後述する図5において説明する。
ステップS403において、情報処理装置201は、ステップS402において移動操作が検索操作であると判定されたか否かを判定する。情報処理装置201は、検索処理であればステップS404へ進み、検索操作でなければ初期状態に戻る。
ステップS404において、情報処理装置201は、移動した電子オブジェクトが検索に適合した結果であるか適合しなかった結果であるかを判定する。本処理の詳細は、後述する図10において説明する。
ステップS405において、情報処理装置201は、ステップS404で判定された検索適合結果と検索不適合結果との情報を用いてユーザに有効な検索クエリを推奨する。本処理の詳細は、後述する図12において説明する。
【0015】
[検索操作検出処理]
図5は、図4のステップS402における検索操作検出処理の詳細を示すフローチャートである。
情報処理装置201が、電子オブジェクトを移動する操作が検索であるか否かを判定する基準は、紙文書を机上或いはキャビネット内から探す操作に近いジェスチャを検出した場合等である。より具体的な基準は以下のとおりである。
[電子オブジェクトの移動間隔(操作間隔)による判定]
A)一定間隔で電子オブジェクトを移動する操作をしていた場合に検索操作であると判定する(ページをめくっているイメージ)。
[電子オブジェクトの移動頻度による判定]
B)電子オブジェクトを繰り返し一定以上の回数移動作業を続けている場合に検索操作と判定する(ページをめくっているイメージ)。
[移動前の電子オブジェクトの状態による判定]
C)移動前の電子オブジェクトが重なっている場合に検索操作と判定する(書類の山から探しているイメージ)。
[移動後の電子オブジェクトの状態による判定]
D)移動後の電子オブジェクトが重なっている場合に検索操作と判定する(整列せず捨てているイメージ)。
[電子オブジェクトの向きによる判定]
E)操作ユーザ方向に対する移動前、移動中、移動後の電子オブジェクトの回転角度がある一定値を超えた場合に検索操作と判定する(文字が逆さであり、読まずに捨てているイメージ)。
[電子オブジェクトの移動時の加速度による判定]
F)ユーザがある一定以上の加速度で電子オブジェクトを弾いている場合に検索操作と判定する。
本実施形態では、前述の検索判定基準のうち、[電子オブジェクトの移動間隔]、[電子オブジェクトの移動頻度による判定]、[移動後の電子オブジェクトの状態による判定]、を満たす操作を検索操作と判定する。つまり、ある一定回数以上一定以下の間隔で電子オブジェクトの移動操作を繰り返しており、移動先の電子オブジェクトに重なりがある場合にその操作が検索操作であると推定する。
なお、情報処理装置201は、上述した複数の判定基準の一つのみを満たせば検索操作と判定してもよいし、上述した組み合わせ以外の他の組み合わせの判定基準を満たせば検索操作と判定してもよい。
【0016】
ステップS501において、情報処理装置201は、移動間隔及び回数による判定を行う。基準は前述の[電子オブジェクトの移動間隔]A)及び、[電子オブジェクトの移動頻度による判定]B)である。本処理の詳細については後述する図6を用いて説明する。
ステップS502において、情報処理装置201は、ステップS501で検索操作であると判定されたか否かを調べる。情報処理装置201は、検索操作と判定されていればステップS504へ。そうでなければ終了する。
ステップS503において、情報処理装置201は、移動先電子オブジェクトの状態により検索操作であると判定する。基準は前述の[移動後の電子オブジェクトの状態による判定]D)とする。本処理の詳細は後述する図8を用いて説明する。
ステップS504において、情報処理装置201は、ステップS503で検索操作であると判定されたか否かを調べる。情報処理装置201は、検索操作だと判定されればステップS505へ、そうでなければ終了する。
ステップS505において、情報処理装置201は、ステップS504で操作が検索操作だと判断された場合、図4のステップS402の検索操作検出処理において検索操作が検出されたという情報をセットする。
【0017】
図6は、図5のステップS501の移動間隔、回数による判定の詳細を示すフローチャートである。
ステップS601において、情報処理装置201は、ユーザが電子オブジェクトを連続して移動している回数を初期値0にセットする。
ステップS602において、情報処理装置201は、電子オブジェクトを移動する操作の間隔が一定期間を過ぎたかどうかを判定する。情報処理装置201は、一定期間以上経過していれば終了へ、一定期間を過ぎていないならば次のステップS603へ進む。
ステップS603において、情報処理装置201は、次の電子オブジェクト移動を検出する。電子オブジェクトの移動が検出された場合ステップS604へ、検出されなかった場合はS602に戻る。
ステップS604において、情報処理装置201は、ステップS603で新たな電子オブジェクトの移動を検出したため、移動回数をインクリメントする。
ステップS605において、情報処理装置201は、繰り返しの移動回数がある閾値より大きいか否かを判定する。ここではユーザの移動操作がある回数以上繰り返されて初めて検索操作であると判定される。情報処理装置201は、移動回数が閾値よりも大きければステップS606へ進み、大きくなければステップS602へ戻る。なお、閾値等は、例えばROM12又は記憶装置14等に記憶されているものとする。以下の閾値等も同様である。
ステップS606において、情報処理装置201は、連続してユーザが電子オブジェクトを移動させる操作を行っていることを検出する。情報処理装置201は、移動操作の間隔がある閾値より小さい場合、ステップS607へ進み、図5のステップS501の移動間隔、回数による判定において検索操作であると判定して終了する。
【0018】
図7は、図5のステップS503の移動先状態による判定処理の概念の一例を示す図である。本実施形態では、前述のD)の移動後の電子オブジェクトが重なっている場合に検索操作と判定するという基準を使用する。
図7(a)は、操作画面204に対し、時刻t1において電子オブジェクト701を、ペン703を使用して702の位置に移動したことを示している。
図7(b)は、図7(a)から連続する操作によって、701とは別のオブジェクト704を、ペン706を使って705の位置に移動したことを示している。ここで、連続する移動操作の中で以前に移動したオブジェクト702と新規に移動したオブジェクト705とに重なりができたため、情報処理装置102は、これは整列操作ではなく検索操作であると判定する。
【0019】
図8は、図5のステップS503の移動先状態による判定処理の詳細を示すフローチャートである。
本処理では、情報処理装置201は、移動先のオブジェクトに対して近傍にある複数のオブジェクトとの重なり数をカウントし、重なり数がある閾値よりも多ければ検索操作であると判定する。
ステップS801において、情報処理装置201は、重なり数を初期化する。
ステップS802において、情報処理装置201は、移動先オブジェクトのうち1つをセットする。
ステップS803において、情報処理装置201は、選択したオブジェクトと他の移動先オブジェクトとの重なりを検出する。
ステップS804において、情報処理装置201は、ステップS803で他の移動先オブジェクトとの重なりが検出されたか否かを判定する。重なりがあると判定した場合、情報処理装置201は、ステップS805へ進み、重なり数をインクリメントする。重なりがないと判定した場合、情報処理装置201は、ステップS806に進む。
ステップS806において、情報処理装置201は、移動先オブジェクトの近傍にある全てのオブジェクトについて移動オブジェクトとの重なりを調べたかどうかを判定する。調べ終わっていなければステップS807に進み、情報処理装置201は、次の移動先オブジェクトをセットしてステップS803に戻る。調べ終わったならば、情報処理装置201は、ステップS808へ進む。
ステップS808において、情報処理装置201は、集計した移動後のオブジェクトの重なり数がある閾値或いは割合より大きいか否かを判定する。重なり数がある閾値よりも大きければ、情報処理装置201は、ステップS809へ進み、この一連のオブジェクト移動操作が図5のステップS503の移動後状態による判定において検索操作であると判定する。重なり数が閾値よりも大きくなければ、情報処理装置201は、ステップS810へ進み、検索操作以外であると判定する。
以上が図4のステップS402の検索操作検出処理の詳細であり、ユーザが一定以上の回数オブジェクトを移動する操作を繰り返し、かつ、移動先のオブジェクトが整列されず重なっている場合にユーザが書類の山からある書類を探す操作を行っていると推定する。
【0020】
[検索結果種別判定処理]
図9は、図4のステップS404検索結果種別判定処理を説明するための図である。
情報処理装置201は、ユーザが操作画面204上に存在する電子オブジェクトの集合901を検索している操作を検出した場合、移動前及び/又は移動後のオブジェクト集合を、未検索領域、検索適合結果、検索不適合結果の3つの領域に分類する。分類基準は、以下のように定める。
(未検索領域)
A)移動前のオブジェクト集合
電子オブジェクトの山から継続的にオブジェクトを外部に移動している場合、移動前オブジェクトの近傍にあるオブジェクトで未だ移動操作がされていないものの集合901を未検索領域とする。
(検索適合結果領域)
A)ユーザの近傍に移動したオブジェクト集合
ユーザが入力に使うペンの情報或いはカメラによるユーザの追跡からユーザ904の位置を特定する。ユーザがオブジェクトの山(集合)901から自分の手元に持ってきた場合(903)、ユーザが検索に適合した結果として保持したと判定する。
B)A)の集合の近傍に存在するオブジェクト集合
A)の領域の中心との距離がある閾値より小さい場合にA)と同じく検索に適合した結果であると判定する。
C)整列されたオブジェクト集合
移動先のオブジェクトの向きと上下左右の位置が規則正しく整列されている場合にユーザが取得した検索結果であると判定する。
D)ユーザが予め定めた検索適合結果領域
ユーザが予め画面上で検索適合結果領域であると指定した場所、或いは検索結果フォルダのような領域に移動した場合に検索に適合した結果であると判定する。
(検索不適合結果領域)
A)移動オブジェクトが重なっている領域
移動操作により移動した複数のオブジェクトに互いに重なりがある場合(903)、検索結果として取得するつもりはなく結果を捨てたと判定する。
B)ユーザが予め定めた検索不適合結果領域
ユーザが予め画面上で検索不適合結果領域であると指定した場所、或いはオブジェクトの移動先が「ゴミ箱」のようなオブジェクトを削除する旨を表す領域であった場合に検索結果を捨てたと判定する。
C)未検索領域、検索適合領域以外の領域に含まれるオブジェクト
【0021】
図10は、図4のステップS404の検索結果種別判定処理の詳細を示すフローチャートである。ここでは、図9の説明におけるA)移動前のオブジェクト集合を未検索領域、B)ユーザの近傍に移動したオブジェクト集合を検索適合領域、H)それ以外の領域を検索不適合領域とする。
ステップS1001において、情報処理装置201は、ユーザの物理的位置を取得する。情報処理装置201は、ユーザの物理的位置を、情報処理装置201の構成の一部又は情報処理装置201と通信可能なカメラによる人物検出及び入力ペンの位置から特定する。ここで、図11は、操作画面204上のユーザ位置を示す図である。ステップS1001の処理によって、表示領域内でユーザ1105の近傍にユーザ位置1101が記録される。
ステップS1002において、情報処理装置201は、操作画面204から1つのオブジェクトを取得する。
ステップS1003は、情報処理装置201は、取得したオブジェクトが検索操作と判定された移動操作の移動後のオブジェクトか否かを判定する。移動後オブジェクトでなければ、情報処理装置201は、ステップS1004へ進み、未検索オブジェクトか否かの判定を行う。移動後オブジェクトであれば、情報処理装置201は、ステップS1005へ進む。
【0022】
ステップS1004において、情報処理装置201は、ステップS1003で判定された移動していないオブジェクトが移動オブジェクト集合の移動前位置の近傍にあるか否かを判定する。近傍にあれば、情報処理装置201は、ステップS1010へ進み、未検索オブジェクトに設定する。近傍になければ、情報処理装置201は、ステップS1011へ進む。
ステップS1005において、情報処理装置201は、移動後オブジェクトとユーザ位置との距離(d)を算出する。より具体的に説明すると、情報処理装置201は、図11の移動後オブジェクト1103の重心とユーザ位置1101の重心との距離を求める。
ステップS1006において、情報処理装置201は、ステップS1005で求めた距離がある閾値よりも小さいか否かを判定する。情報処理装置201は、小さければステップS1007へ進み、大きければステップS1009へ進み、検索不適合オブジェクトに設定する。
ステップS1007において、情報処理装置201は、移動方向がユーザ方向であったか否かを判定する。図11において、移動前のオブジェクト1102が移動後オブジェクト1103の位置に移動した場合、情報処理装置201は、1102からユーザ位置1101の重心に引いた線と、1102から移動後オブジェクト1103の重心に引いた線と、のなす角1104(θ)がある閾値より小さいか否かを判定する。小さければ、情報処理装置201は、移動方向がユーザ方向であるとしてステップS1008へ進み、検索適合オブジェクトに設定する。小さくなければ、情報処理装置201は、ステップS1009へ進み、検索不適合オブジェクトに設定する。
ステップS1011において、情報処理装置201は、全てのオブジェクトを調べたかどうかを判定する。全てのオブジェクトが調べ終わっていなければ、情報処理装置201は、ステップS1002へ戻り、次のオブジェクトを調べる。全てのオブジェクトを調べ終わっていれば、情報処理装置201は、終了する。
このようにして、情報処理装置201は、検索結果であると判定された移動操作に対して、操作画面に含まれるオブジェクト(又は操作画面)を未検索領域、検索適合領域、検索不適合領域に分類する。
【0023】
[検索クエリ提示処理]
図12は、実施形態1における図4のステップS405の検索クエリ提示処理の詳細を示すフローチャートである。
本処理において情報処理装置102は、未検索領域からキーワードを抽出し、抽出したキーワードに対し、検索適合結果に多く含まれるキーワードのスコアが高く、検索不適合結果に多く含まれるキーワードのスコアが低くなるようにキーワードのスコア付けを行う。
ステップS1201において、情報処理装置102は、検索適合結果領域からキーワードを抽出する。キーワード抽出において、情報処理装置102は、まず文書から形態素解析によって単語を切り出し、頻出語、不要語等を捨てて単語の重要度を付与する。情報処理装置102は、この重要度の高い単語を文書集合のキーワードとして取り出す。ここで、情報処理装置102は、重要度の計算には文書検索における単語の重要度付与方法として広く用いられているtf−idfを利用する。このtf−idfでは、各種カテゴリ毎に複数の代表文書(以下、単に「文書」という)を用意する。そして、これらの文書に含まれる所定数の単語につき、ある文書に出現する単語の頻度を示すtf及びある単語が全文書中のどれくらいの文書に出現するかを示すidfと呼ばれる2種類の特徴量を算出する。そして、これらの特徴量を掛け合わせた値により、各文書における単語の重みを表現する。なお、tfは、term frequencyの略である。また、idfは、inverse document frequencyの略である。
ステップS1201で抽出されたキーワードは、図13のように格納される。図13は、キーワード格納テーブルの一例を示す図である。キーワードID1301は、キーワードを一意に識別するためのキーワードIDである。文字列1302は、キーワードの文字列である。重要度1303は、tf−idfを用いたキーワードの重要度を格納する。文書ID1304は、それぞれのキーワードを含む文書集合(文書IDの集合)を格納する。このような構造を保持することにより、情報処理装置102は、キーワードから高速にそのキーワードを含む文書集合を取り出すことができる。
【0024】
ステップS1202において、情報処理装置102は、検索不適合結果領域からキーワードを抽出する。情報処理装置102は、検索不適合結果領域に対しても、検索適合結果領域と同様に図13のような構造を生成する。
ステップS1203において、情報処理装置102は、未検索領域からキーワードを抽出する。情報処理装置102は、未検索領域に対しても同様に図13のような構造を生成する。
ステップS1204において、情報処理装置102は、ステップS1203で抽出したキーワードのうち1つを取得する。
ステップS1205において、情報処理装置102は、キーワードの統合スコアを計算する。情報処理装置102は、キーワードiの統合スコアを以下の式(1)のように算出する。
統合スコア(キーワードi)= α×TF・IDF(検索適合領域)
−β×TF・IDF(検索不適合領域)
(α,βは非負の実数) ・・・式(1)
この統合スコアは、未検索領域に含まれるキーワードが検索適合領域に含まれるほど大きくなり、検索不適合領域に含まれるほど小さくなる。ここで、情報処理装置102は、未検索領域に含まれるキーワードの統合スコアを、検索適合領域及び検索不適合領域から得られるスコアのみから計算しているが、未検索領域内のTF・IDFを加えて計算してもよい。
ステップS1206において、情報処理装置102は、未検索領域に存在する全てのキーワードについて統合スコアを計算したか否かを判定する。全てのキーワードを調べていれば、情報処理装置102は、ステップS1207へ進む。調べていなければ、情報処理装置102は、ステップS1208へ進み、次のキーワードを取得してステップS1205へ戻る。
ステップS1207において、情報処理装置102は、統合スコアが上位N個のキーワードを検索クエリとして決定し、決定した検索クエリをユーザに提示する。
【0025】
図14は、検索クエリ提示の一例を示す図である。操作画面204上でユーザ1404が未検索領域1401から検索不適合領域1402及び検索適合領域1403へ電子オブジェクトを移動している。この操作が検索であると判定された時点で1405のように未検索領域から抽出された統合スコア上位のキーワードがユーザに提示される。
図14では、検索適合領域及び不適合領域の文書に含まれるキーワードをユーザに提示した例を示しているが、情報処理装置102は、文書に付与されたメタデータ等の情報をユーザに提示してもよい。
【0026】
図15は、メタデータを検索クエリとして提示する一例を示す図である。図15の例では、未検索領域1501に存在する画像をユーザ1504が検索適合領域1503と検索不適合領域1502とに移動している。情報処理装置102は、検索適合領域に格納されたオブジェクトに付与されている属性値の頻度を正のカウント、検索不適合領域に格納されたオブジェクトに付与されている属性値の頻度を負のカウントとしてランキングを付与する。ランキングが最大のものが「撮影場所=北海道」、次に頻度が大きいものが「撮影日時=2010年」であった場合、情報処理装置102は、1505のように「属性=属性値」の形式で検索クエリをユーザに提示する。
ここでは、検索適合領域及び検索不適合領域は1つの文書集合で説明をしたが、それぞれ複数の文書集合からなる領域でもよい。
【0027】
図16は、複数の文書集合から検索適合領域、検索不適合領域に分類する方法を説明するための図である。
ユーザ1606は、移動元領域1601から文書を1602、1603、1604、1605の領域に移動する。このとき、情報処理装置102は、それぞれの領域に含まれる文書集合の状態や領域間の距離によってそれぞれの領域が検索適合領域か不適合領域かを判定する。
まず、情報処理装置102は、領域1603を、図11で示す方法により、未検索領域からユーザの方向に移動しているため検索適合領域1と判定する。
次に、情報処理装置102は、領域1604の中心と検索適合領域1の中心との間の距離を求め、この距離dがある閾値よりも小さい場合には1604を検索適合領域2とする。
更に、情報処理装置102は、領域1605のように文書が整列されている場合は必要な検索結果を並べていると判断して検索適合領域3であると判定する。
情報処理装置102は、領域1602のように、検索適合領域1からの距離も遠く、含まれる文書が重なっている或いは向きに統一性がない場合にはユーザ1606が捨てた検索結果であると判断して検索不適合領域とする。
情報処理装置102は、このようにして分類された検索適合領域1、2、3及び検索不適合領域1から抽出したキーワードを利用して式(1)によりランキングを付与された検索キーワード1607をユーザに提示する。
ここで、情報処理装置102は、各検索適合領域内の検索キーワードの重みを、検索適合領域1からの距離によって決めるようにしてもよい。
【0028】
[検索条件変更・削除処理]
図17は、検索クエリ提示処理により提示された検索クエリを変更する操作を示す図である。
1700は、図15の操作画面204に表示されている検索条件1505の近傍を拡大した図である。1700には、検索クエリの属性1702と属性1702に対応する属性値からなる選択肢1703とが表示されている。
この検索条件を別の検索条件に変更したい場合、ユーザは、ペン1701によって「検索クエリ」と表示された属性部分をある一定時間以上、長押しする。すると1700には、1709に遷移し、検索クエリの候補を表示することを示す1704の周りに候補となる属性1705、1706、1707、1708が表示される。ユーザがペン1701により、表示したい属性1708「色味」を選択すると、選択した属性に対応する選択肢が表示される。
【0029】
図18は、ユーザが、提示された検索条件が必要ない場合に消去する操作を示す図である。情報処理装置102は、提示されている属性1802及び選択肢1803に対し、ペン1801による検索条件を消去するというジェスチャ1805を認識する。この例では1805のジェスチャは「×」であり、例えば、ユーザ等は、情報処理装置102に、オブジェクトを消去するジェスチャとして予め登録しておく。1805が「オブジェクトを消去する」ジェスチャであると情報処理装置102によって認識された場合、消去ボタン1804が表示される。ユーザが、ペン1801で1804を選択することにより、情報処理装置102は、属性1802及び選択肢1803を消去する。ユーザが、ペン1801で1804以外の領域を選択した場合、情報処理装置102は、ジェスチャ1805の軌跡を消去する。
【0030】
[検索処理]
ユーザが、図14の操作画面上に提示された選択肢のうち1つの項目を選択すると、情報処理装置102は、図13のデータベーステーブルにアクセスし、キーワードID1301をキーとして紐付けられている文書ID1304を取り出す。更に、情報処理装置102は、文書IDと文書ファイルのパスとを保持しているテーブルにアクセスして文書ファイルを取得し、検索結果としてユーザに提示する。例えば、ユーザが、図14で「データベース」という選択肢を選んだ場合、図13より文書ID 3、7、13、28等が検索結果として提示される。
ここでは、ユーザに検索クエリを提示したが、情報処理装置102は、検索クエリにより検索されたオブジェクトを直接、ユーザに提示してもよい。また、情報処理装置102は、検索操作を検出後、未検索領域に含まれるオブジェクトを検索適合領域、検索不適合領域に自動的に振り分けてもよい。
このようにして、電子オブジェクトの山からユーザが探しているという操作を検出し、自動的に検索クエリにより電子オブジェクトが仕分けされる。これにより、ユーザが探す操作をいつまでも続けることなく速やかに検索に移行して求める文書を得ることができる。
【0031】
<実施形態2>
実施形態2では、情報処理装置102は、画像がある領域から別の領域に移動している操作を検出し、検索適合領域に移動した画像に類似する画像をクエリとしてユーザに提示する。図4のステップS401からステップS404までの処理で実施形態1と同様に検索操作の検出及び検索結果の判別がされているとする。
[検索条件提示処理]
図19は、実施形態1における図4のステップS405の検索クエリ提示処理の詳細を示すフローチャートである。
本処理では、情報処理装置102は、未検索領域から画像特徴量を抽出し、抽出した特徴量に対し、検索適合結果に多く含まれる画像の特徴量スコアが高く、検索不適合結果に多く含まれるスコアが低くなるようにキーワードのスコア付けを行う。
ステップS1901において、情報処理装置102は、検索適合結果領域に含まれる画像の特徴量を抽出する。ここで、画像特徴量は、画像の色情報、規則性、対象物の形状等に注目したものである。情報処理装置102は、例えば特開平10−260983号で提案されている公知の特徴量を用いる。画像特徴量は、ベクトルで表現され、複数の特徴量の類似度がベクトルの内積によって求められる。
ステップS1902において、情報処理装置102は、検索不適合領域に含まれる画像の特徴量を抽出すする。
ステップS1903において、情報処理装置102は、未検索領域から1つの画像を取得する。
ステップS1904において、情報処理装置102は、ステップS1903で取得した画像の特徴量を抽出する。
ステップS1905において、情報処理装置102は、画像の統合スコアを計算する。画像iの統合スコアは以下の式(2)のように算出する。
統合スコア(画像i)= α×類似度(画像i,検索適合領域)
−β×類似度(画像i,検索不適合領域)
(α,βは非負の実数) ・・・ (2)
この統合スコアは、式(1)と同様に、未検索領域に含まれる画像特徴量が、検索適合領域の画像特徴量に近い程大きくなり、検索不適合領域の画像特徴量に近い程小さくなる。
ステップS1906において、情報処理装置102は、未検索領域に存在する全ての画像について統合スコアを計算したか否かを判定する。全ての画像を調べていれば、情報処理装置102は、ステップS1908へ進む。調べていなければ、情報処理装置102は、ステップS1907へ進み、次の画像を取得してステップS1904へ戻る。
ステップS1908において、情報処理装置102は、統合スコアが上位N個の画像をユーザに提示する。
【0032】
図20は、ステップS1907のユーザへの画像の提示方法の一例を示す図である。
操作画面204上では、ユーザ2003がペン2004を使用して画像を未検索領域2001から検索適合領域2002へ移動している。図19の処理により未検索領域内にある画像に対して統合スコアが付与され、2005のように統合スコアが大きい程、検索適合領域に近づくように整列してユーザに提示される。ユーザが2005から画像を選んで検索適合領域に移動すると、検索適合領域の画像特徴量が更新され、2005の統合スコアも再計算されて並び変えられる。2005の表示が必要ない場合、ユーザは、ペンで2005の画像を選択して未検索領域に押し戻す操作をすることにより2005は未検索領域2001内へ戻される。
このようにして、キーワードやメタデータが付与されていない画像に対しても検索操作を検出し、自動的に検索適合領域に類似する画像がユーザに提示される。これにより、ユーザが探す操作をいつまでも続けることなく速やかに検索に移行して求める画像を得ることができる。
【0033】
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【0034】
以上、上述した各実施形態によれば、ユーザによるオブジェクトの操作から検索の意図を推定し、速やかに目的とするオブジェクトを得ることを可能にすることができる。
【0035】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0036】
11 CPU
12 ROM
14 記憶装置
201 情報処理装置

【特許請求の範囲】
【請求項1】
ユーザの操作による操作画面上におけるオブジェクトの移動を検出した場合、前記ユーザがオブジェクトを検索しているか否かを判定する検索判定手段と、
前記検索判定手段で前記ユーザがオブジェクトを検索していると判定された場合、前記操作に応じて、前記操作画面上に、検索を実施していない未検索領域と、検索に適合したオブジェクトが含まれる検索適合領域と、検索に適合しなかったオブジェクトが含まれる検索不適合領域と、を設定する設定手段と、
前記設定手段で設定された各領域に含まれるオブジェクトからキーワードを抽出し、抽出したキーワードのうち、前記未検索領域に含まれるオブジェクトのキーワードで、前記検索適合領域に含まれるオブジェクトのキーワードほど重要度を大きくし、前記検索不適合領域に含まれるオブジェクトのキーワードほど重要度を小さくしたキーワードを重要度に応じて検索クエリとして前記ユーザに提示する提示手段と、
を有する情報処理装置。
【請求項2】
前記提示手段で提示された検索クエリを変更する変更手段を更に有する請求項1記載の情報処理装置。
【請求項3】
ユーザの操作による操作画面上におけるオブジェクトの移動を検出した場合、前記ユーザがオブジェクトを検索しているか否かを判定する検索判定手段と、
前記検索判定手段で前記ユーザがオブジェクトを検索していると判定された場合、前記操作に応じて、前記操作画面上に、検索を実施していない未検索領域と、検索に適合したオブジェクトが含まれる検索適合領域と、検索に適合しなかったオブジェクトが含まれる検索不適合領域と、を設定する設定手段と、
前記設定手段で設定された各領域に含まれるオブジェクトからキーワードを抽出し、抽出したキーワードのうち、前記未検索領域に含まれるオブジェクトのキーワードで、前記検索適合領域に含まれるオブジェクトのキーワードほど重要度を大きくし、前記検索不適合領域に含まれるオブジェクトのキーワードほど重要度を小さくしたキーワードを重要度に応じて検索クエリとして決定し、決定した検索クエリで前記未検索領域に含まれるオブジェクトを検索した結果を前記ユーザに提示する提示手段と、
を有する情報処理装置。
【請求項4】
ユーザの操作による操作画面上におけるオブジェクトの移動を検出した場合、前記ユーザがオブジェクトを検索しているか否かを判定する検索判定手段と、
前記検索判定手段で前記ユーザがオブジェクトを検索していると判定された場合、前記操作に応じて、前記操作画面上に、検索を実施していない未検索領域と、検索に適合したオブジェクトが含まれる検索適合領域と、検索に適合しなかったオブジェクトが含まれる検索不適合領域と、を設定する設定手段と、
前記設定手段で設定された各領域に含まれるオブジェクトから特徴量を抽出し、抽出した特徴量に基づき、前記未検索領域に含まれるオブジェクトに類似するオブジェクトを、前記検索適合領域に含まれるオブジェクト及び前記検索不適合領域に含まれるオブジェクトから求め、求めたオブジェクトを前記ユーザに提示する提示手段と、
を有する情報処理装置。
【請求項5】
前記提示手段は、前記検索適合領域に含まれるオブジェクトほど類似度を大きくし、前記検索不適合領域に含まれるオブジェクトほど類似度を小さくして前記未検索領域に含まれるオブジェクトに類似するオブジェクトを求める請求項4記載の情報処理装置。
【請求項6】
前記検索判定手段は、ユーザの操作によるオブジェクトの移動回数、又はオブジェクトの操作間隔、又はオブジェクトの移動先における他のオブジェクトとの重なり数に応じて、前記ユーザがオブジェクトを検索しているか否かを判定する請求項1乃至5何れか1項記載の情報処理装置。
【請求項7】
前記設定手段は、前記操作を行っているユーザの位置を取得し、取得したユーザの位置と、移動後のオブジェクトの位置と、からユーザと移動後のオブジェクトとの距離を算出し、算出した距離と、移動前のオブジェクトの位置と、に基づいて、前記操作画面上に、前記未検索領域と、前記検索適合領域と、前記検索不適合領域と、を設定する請求項1乃至6何れか1項記載の情報処理装置。
【請求項8】
情報処理装置が実行する情報処理方法であって、
ユーザの操作による操作画面上におけるオブジェクトの移動を検出した場合、前記ユーザがオブジェクトを検索しているか否かを判定する検索判定ステップと、
前記検索判定ステップで前記ユーザがオブジェクトを検索していると判定された場合、前記操作に応じて、前記操作画面上に、検索を実施していない未検索領域と、検索に適合したオブジェクトが含まれる検索適合領域と、検索に適合しなかったオブジェクトが含まれる検索不適合領域と、を設定する設定ステップと、
前記設定ステップで設定された各領域に含まれるオブジェクトからキーワードを抽出し、抽出したキーワードのうち、前記未検索領域に含まれるオブジェクトのキーワードで、前記検索適合領域に含まれるオブジェクトのキーワードほど重要度を大きくし、前記検索不適合領域に含まれるオブジェクトのキーワードほど重要度を小さくしたキーワードを重要度に応じて検索クエリとして前記ユーザに提示する提示ステップと、
を有する情報処理方法。
【請求項9】
情報処理装置が実行する情報処理方法であって、
ユーザの操作による操作画面上におけるオブジェクトの移動を検出した場合、前記ユーザがオブジェクトを検索しているか否かを判定する検索判定ステップと、
前記検索判定ステップで前記ユーザがオブジェクトを検索していると判定された場合、前記操作に応じて、前記操作画面上に、検索を実施していない未検索領域と、検索に適合したオブジェクトが含まれる検索適合領域と、検索に適合しなかったオブジェクトが含まれる検索不適合領域と、を設定する設定ステップと、
前記設定ステップで設定された各領域に含まれるオブジェクトからキーワードを抽出し、抽出したキーワードのうち、前記未検索領域に含まれるオブジェクトのキーワードで、前記検索適合領域に含まれるオブジェクトのキーワードほど重要度を大きくし、前記検索不適合領域に含まれるオブジェクトのキーワードほど重要度を小さくしたキーワードを重要度に応じて検索クエリとして決定し、決定した検索クエリで前記未検索領域に含まれるオブジェクトを検索した結果を前記ユーザに提示する提示ステップと、
を有する情報処理方法。
【請求項10】
情報処理装置が実行する情報処理方法であって、
ユーザの操作による操作画面上におけるオブジェクトの移動を検出した場合、前記ユーザがオブジェクトを検索しているか否かを判定する検索判定ステップと、
前記検索判定ステップで前記ユーザがオブジェクトを検索していると判定された場合、前記操作に応じて、前記操作画面上に、検索を実施していない未検索領域と、検索に適合したオブジェクトが含まれる検索適合領域と、検索に適合しなかったオブジェクトが含まれる検索不適合領域と、を設定する設定ステップと、
前記設定ステップで設定された各領域に含まれるオブジェクトから特徴量を抽出し、抽出した特徴量に基づき、前記未検索領域に含まれるオブジェクトに類似するオブジェクトを、前記検索適合領域に含まれるオブジェクト及び前記検索不適合領域に含まれるオブジェクトから求め、求めたオブジェクトを前記ユーザに提示する提示ステップと、
を有する情報処理方法。
【請求項11】
コンピュータに、
ユーザの操作による操作画面上におけるオブジェクトの移動を検出した場合、前記ユーザがオブジェクトを検索しているか否かを判定する検索判定ステップと、
前記検索判定ステップで前記ユーザがオブジェクトを検索していると判定された場合、前記操作に応じて、前記操作画面上に、検索を実施していない未検索領域と、検索に適合したオブジェクトが含まれる検索適合領域と、検索に適合しなかったオブジェクトが含まれる検索不適合領域と、を設定する設定ステップと、
前記設定ステップで設定された各領域に含まれるオブジェクトからキーワードを抽出し、抽出したキーワードのうち、前記未検索領域に含まれるオブジェクトのキーワードで、前記検索適合領域に含まれるオブジェクトのキーワードほど重要度を大きくし、前記検索不適合領域に含まれるオブジェクトのキーワードほど重要度を小さくしたキーワードを重要度に応じて検索クエリとして前記ユーザに提示する提示ステップと、
を実行させるプログラム。
【請求項12】
コンピュータに、
ユーザの操作による操作画面上におけるオブジェクトの移動を検出した場合、前記ユーザがオブジェクトを検索しているか否かを判定する検索判定ステップと、
前記検索判定ステップで前記ユーザがオブジェクトを検索していると判定された場合、前記操作に応じて、前記操作画面上に、検索を実施していない未検索領域と、検索に適合したオブジェクトが含まれる検索適合領域と、検索に適合しなかったオブジェクトが含まれる検索不適合領域と、を設定する設定ステップと、
前記設定ステップで設定された各領域に含まれるオブジェクトからキーワードを抽出し、抽出したキーワードのうち、前記未検索領域に含まれるオブジェクトのキーワードで、前記検索適合領域に含まれるオブジェクトのキーワードほど重要度を大きくし、前記検索不適合領域に含まれるオブジェクトのキーワードほど重要度を小さくしたキーワードを重要度に応じて検索クエリとして決定し、決定した検索クエリで前記未検索領域に含まれるオブジェクトを検索した結果を前記ユーザに提示する提示ステップと、
を実行させるプログラム。
【請求項13】
コンピュータに、
ユーザの操作による操作画面上におけるオブジェクトの移動を検出した場合、前記ユーザがオブジェクトを検索しているか否かを判定する検索判定ステップと、
前記検索判定ステップで前記ユーザがオブジェクトを検索していると判定された場合、前記操作に応じて、前記操作画面上に、検索を実施していない未検索領域と、検索に適合したオブジェクトが含まれる検索適合領域と、検索に適合しなかったオブジェクトが含まれる検索不適合領域と、を設定する設定ステップと、
前記設定ステップで設定された各領域に含まれるオブジェクトから特徴量を抽出し、抽出した特徴量に基づき、前記未検索領域に含まれるオブジェクトに類似するオブジェクトを、前記検索適合領域に含まれるオブジェクト及び前記検索不適合領域に含まれるオブジェクトから求め、求めたオブジェクトを前記ユーザに提示する提示ステップと、
を実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2012−59233(P2012−59233A)
【公開日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願番号】特願2010−204921(P2010−204921)
【出願日】平成22年9月13日(2010.9.13)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】