なめらかなユーザインタフェース

なめらかなユーザインタフェース

増井俊之, 水口 充, George Borden, 柏木 宏一

ユーザインタフェース, 情報視覚化, 情報検索, なめらかインタフェース, 動的検索, 地図情報システム, WING, ピテカン辞書

第37回冬のプログラミングシンポジウム予稿集, pp. 13-23. 情報処理学会, January 1996.


概要

近年のワークステーションやパーソナルコンピュータ上では、 画面上の表示物を実際の物体と同じようにマウスなどで 操作する「直接操作」インタフェースや、 検索条件を変更すると即座に検索結果が変化する 「動的検索」インタフェースが注目を集めている。 また、高速グラフィクスハードウェアにより 3次元視覚化やズーミングを利用した 各種のインタラクション手法が研究されている。 これらに共通した特徴は、連続的な操作入力に対し 連続的/リアルタイムの直感的な反応が得られることであり、 このようなインタフェースを「なめらかなユーザインタフェース」と 定義する。 本稿ではなめらかなユーザインタフェースを実現するための 各種の手法及び実際に構築されたシステムを紹介し、 将来のユーザインタフェースについて議論する。

1. WIMPを越えて

  Mac OS, Windows, X Window, NEXTSTEP等に代表される パーソナルコンピュータ(PC)やワークステーション(WS)の グラフィカルユーザインタフェース(GUI)のほとんどは、 いわゆるWIMP (Window/Icon/Menu/Pointing device) インタフェースにもとづいている。 WIMPインタフェースの歴史は古く、 初期のWSにおいて採用されていたものと ほぼ同じ手法や装置が現在のPCやWSでも使われている。

WIMPインタフェースは ビットマップディスプレイを活用するために 登場したものであるが、 使いやすさのみを追及して発明されたものではなく、 貧弱な計算/描画速度と 使いやすさとの折衷として開発されたものであるため、 数々の制約を持っている。 例えば、 ウィンドウやその表示を任意に拡大/縮小することができないため 頻繁にアイコン化/ウィンドウ化を繰り返さなければならなかったり、 多くの項目からひとつを選択するのに 深い階層メニューを使わなければならなかったり、 以前の状態に戻ることが簡単にできなかったり、 直感的に意味をつかみにくいアイコンを多用しなければ ならなかったりすることが多い。

プロセッサ速度や描画速度が向上して 各種の新しい入出力装置が開発されている現在、 WIMPインタフェースの制約にとらわれない 新しいインタフェース手法が可能になってきている。 WIMPインタフェースの限界については広く認識されつつあり、 これを越える各種の新しいインタラクション 手法が提案されているが、 我々はWIMPを越えた インタラクション方式として 「なめらかなユーザインタフェース」という考え方を提唱している。

2. なめらかなユーザインタフェース

 

2.1. なめらかなユーザインタフェースの定義

  「なめらかなユーザインタフェース」とは、 直接操作/動的検索/視覚化のような 各種のインタラクション技術を統合したものである。 我々は以下のような性質をもつインタラクション手法を 「なめらかなユーザインタフェース」と定義する。
連続性
ユーザの操作に対し システムがリアルタイムに連続的に反応する。 ユーザが小さな操作を行なったときは システムの状態も大きく変化しない。 アイコンをクリックすると突然ウィンドウが出現したり、 メニュー操作により突然項目が出現したり消えたりするような インタフェースは非連続的であるため なめらかではない。 また処理の実行を指令するキーやボタンを持つインタフェースは、 その前後の状態が連続的でないため なめらかではない。
可逆性
ユーザが逆の操作を行なったとき システムが前の状態に戻る。 ウィンドウやアイコンなどのドラッグ操作は 可逆的であることが多いが、 ウィンドウを開く操作と閉じる操作が 異なるインタフェースは非可逆的であるため なめらかではない。
直接性
ファイルを指定する場合やヘルプ機能を使う場合、 キーボードから文字列を入力するのが一般的であるが、 このような指定は間接的でありなめらかではない。
直感性
多数の機能のあるアプリケーションでは、 何を意味するのか簡単には判別できない アイコンが多用されていることがあるが、 このようなものは直感的でないためなめらかではない。
上記の各条件は独立したものではない。 例えば連続的であれば可逆的にしやすいし、 直接的であれば直感的であることが多いと考えられる。

連続性はなめらかなユーザインタフェースにおいて最も重要な性質である。 ユーザが操作を行なったときにシステムがすぐに反応すれば ユーザは操作の効果について理解しやすいし、 実生活上の作業においては 人間の操作に対し対象が即座に反応することがほとんどなので 直感的である。

システムが連続的に動作可能なときは 可逆的にすることも容易であることが多い。 WIMPインタフェースにおいても、 スライダの操作やアイコンのドラッグ操作などは 連続的かつ可逆的であるためわかりやすいといえる。

Shneidermanは、 検索条件を変化させたときに 実時間で検索結果も変化するような検索システムを 「動的検索(Dynamic Query)システム」と呼んで [16]動的検索は検索をなめらかに連続的に行なうための手法であると 考えることができる。

[10]として重要さが知られている。 Shneidermanは、GUIにおいてアフォーダンスを向上させるために 「直接操作」(Dynamic Manipulation) [15] 日常的に使う機械はなめらかなユーザインタフェースを持っているものが多い *1。 例えば水量を蛇口で調整するような場合、 システム(水道)はユーザの操作(ノブの回転)に対し リアルタイムに連続的に反応するし、 逆の操作を行なえば簡単にもとの状態に戻る。 ノブを回すという操作は ネジと同様に一般的であるため比較的直感的である。

*1 電気機器を除くほとんどの装置はなめらかなユーザインタフェースを持っているので、 なめらかでないインタフェースの起源は電気スイッチなのかもしれない。

2.2. なめらかなユーザインタフェースの効用

なめらかなユーザインタフェースの採用により 各種の操作を直感的に行なうことができるようになるだけでなく、 WIMPインタフェースにおける 無駄な機能の多くが不用になるという効用もある。
重なりあうウィンドウ
ウィンドウはもともと沢山の情報を ひとつの画面に表示するための苦肉の策として 考えられたものであるから、 3次元視覚化手法などにより 沢山のデータをわかりやすく表示することができれば ウィンドウやその操作メニューは不用になる。
ファイルやディレクトリ
データを保存するための単位として ファイルやディレクトリが使われることが多いが、 ディスク装置を使っていることを意識しなければ ならないことが多く面倒である。 例えばファイルを修正するときは一般に「セーブ」操作が 必要になるが、 このような作業はデータの修正作業とは本質的に関係がない。 また、多くのファイルを管理するために階層構造の ディレクトリ構造が使われることが多いが、 どこに格納したかわからなくなることが多いし、 適切な名前付けが必要であったり、 多くの面倒な操作がつきまとう。 データをなめらかに格納/分類/検索することができれば、 ユーザがこのような作業にわずらわされる必要はなくなる。
アイコン
アイコンはファイルやアプリケーションを特定するために 使用されることが多いが、 項目を選択するための直感的な手段が他にあれば その多くは不用になるはずである。
メニュー
メニューは項目を大きなリストから選択するのによく使われているが、 リストから項目を選択する手法としてはもっと直感的手法が 存在するため、メニューは必ずしも最適ではない。

2.3. なめらかなユーザインタフェースの実現

2.1節で述べたようなインタフェースを実現するには、具体的には以下のような手法を採用すればよい。
処理の高速化と実時間実行
高速計算/表示アルゴリズムを使用し、 条件変化に対応してリアルタイムに処理実行や表示の更新が 行なわれるようにする。
情報視覚化の工夫
表示の更新を高速に行なうため、 3次元表示を用いて自分に近いところのみ表示するようにしたり、 [4][18]のような手法を用いて重要な部分のみ表示を行なうようにする。
入力手法/操作手法の工夫
移動やズーミングのような連続的で直感的な操作方法を採用し、 そのための入力装置を工夫する。
モードの除去
なるべく状態切換の必要がない仕様とする。

2.4. なめらかなユーザインタフェースと情報検索

低価格な大容量記憶装置やインターネットなどの普及により 大規模なマルチメディアデータを手軽に扱えるようになってきた現在、 必要な情報を簡単に検索する手法の開発が 大きな課題となっているが、 なめらかなユーザインタフェースは大量の情報検索において特に効果を発揮すると考えられる。

大規模データの検索には キーワードを用いたテキスト検索手法が従来一般的であり、 研究や実用システムの数も多いが、 検索に使用されるキーワードが データ中に含まれているとは限らないし、 適切なキーワードを選びにくい場合も多いため、 本質的に高い精度(precision)と再現率(recall)を得ることはむずかしい。 また、文書以外のデータに対して検索キーワードを指定するのは直感的でないし、 {キーワード入力→検索実行指示→検索結果リスト表示}という サイクルが実時間で行なわれないため連続的でなく、 なめらかな操作感が得られない。 このような従来のキーワード検索を越えて マルチメディアデータを直感的に効果的に検索するための 各種の新しい情報検索手法が提案されている。

新しい検索手法として、 情報の効果的視覚化を利用するものが近年特に注目を集めている。 データを3次元的に表現して遠くの情報を小さく表示することにより 多くの情報を一度に提示する手法 [12]データ全体を縮小表示しながら 重要な部分のみ局所的に大きく表示する手法 [6][13][14]、 重要な情報を効果的に選択表示する手法 [5]視覚化された情報を対話的に拡大表示することにより [11]などが提案されている。

情報の効果的な視覚化手法により、 大量の情報を眺めるようにして必要な情報を探すことが可能になるが、 人間は日常もっと効果的な方法で検索を行なっている。 例えば人が図書館で本を探す場合、 目的の本が含まれる分類の書架で探すこともできるし、 本の題名や著者名から索引カードで探すこともできる。 また正確な題名や著者を覚えていなくても 関連する書架を見渡して思い出すこともあるし、 目的の本が見つからなくても 関連した本を探し出すことは難しくない。 大きさや色を頼りに本を探すことも可能である。 このように、日常の検索活動においては、 場所の情報/名前やキーワードの情報/概念の情報/形や色の情報 といった各種の情報を組みあわせることにより 効果的な検索が可能となっている。 これを考慮すると、 情報の視覚化に加え、 キーワード検索/ハイパーテキスト/情報の分類といった 各種の異なる検索手法をうまく組み合わせることで、 より強力な情報検索システムを構築することができると考えられる。

我々は以下のような手法を 「なめらかなユーザインタフェース」で統合することにより マルチメディア情報を効率的に検索することができると考えている。

大量の情報の視覚化
3次元視覚化などの 効果的な手法を用いて情報を視覚化することにより、 直接的な検索や関連情報からの検索を可能にするとともに、 情報空間全体の把握を容易にすることができる。
情報の表示を連続的に変化
検索条件を変更すると検索結果の表示が直ちに更新される 動的検索の手法により、 曖昧な手掛かりでの検索からより詳細な検索を 試行錯誤的に行なうことが容易となるし、 条件と情報の関係を直感的に理解しやすくなる。 また、連続的に表示の拡大/縮小を行なうことにより 全体と詳細の関係を把握しやすくなる。
効果的なキーワード検索
検索キーワードを視覚化することにより キーボードを使わずにキーワード検索を行なうことができる。
効果的な分類検索
複雑な分類構造を効果的に視覚化することにより、 必要とする分類を簡単に探すことができる。
曖昧検索
多少あやふやな条件を与えた場合でも ある程度の検索を実行する。
なめらかインタフェースによる検索システムの実現例として、 3章において、地図の3次元表示を活用した奈良観光ガイドシステム WING (Whole Interactive Nara Guide)*24章において、曖昧検索とズーミングを利用した ``ピテカン英和辞書*3''を紹介する。

*2 aka ``WIMP Interface No Good'' ``Weird Idiosyncratic Neurotic Gizmo''
*3 サルでも「ピテカントロプス」をひける辞書

3. 奈良観光ガイドWING

  地図情報検索システムWING [19]奈良近辺の名所/地形/道路/建造物 などの情報をなめらかな操作で検索するシステムである。 図1にWINGの全体の画面を示す。WINGの画面は4つのウィンドウから構成されており、 左上を地図ウィンドウ、右上をガイドウィンドウ、 左下を分類ウィンドウ、右下を索引ウィンドウと呼ぶ。 以下にこれらについて詳細に説明する。   Figure 1. WINGシステム

3.1. 地図ウィンドウ

地図ウィンドウでは奈良近辺の地図が3次元的に表示される*4。 ユーザがマウス操作で視点を連続的に移動させることにより、 地図の表示を連続的に変更することができる。 上空から見下ろすように視点を操作すると 普通の地図のような表示になり(図2)、低い位置から見渡すように視点を操作すると 地上を歩いているような表示になる (図3)。このようにして地図全体の把握や 特定の地点からの地形の確認を行なうことができる。

*4 国土地理院発行の「数値地図」および「数値地形図」を使用

  Figure 2. 上空から見下ろした地図

  Figure 3. 地上から見渡した地図

地図ウィンドウの中央部の地図上には おおよその注目範囲を示す円が描かれている。 円の中心に近い位置のデータは ユーザの関心度が高いと判断され、 関心度に比例した大きさの立方体で表示される。 関心度は注視点からの距離の他、 関連する項目データの表示状態から 算出される。 視点と地図の距離および注視点と対象との距離によって 関心度を計算することにより、 視点を低くすると狭い範囲の情報を、 高くすると広い範囲の情報を見ることができる。 また関連情報の関心度も考慮しているので、 注視点の近くにある、 現在着目している項目に関連する情報を探し出すことができる。

立方体で示された項目データに関連する情報は 図1右上のガイドウィンドウに表示される。立方体の色はガイドウィンドウでの表示項目の色に対応しており、 ユーザはガイドウィンドウを見ながら視点を操作して 必要な項目を探し出すこともできる。 地図ウィンドウとガイドウィンドウは連動しているので、 フライトシミュレータのように 視点を移動させながらガイドウィンドウを見ることで 奈良に関する知識を得ることもできる。

3.2. ガイドウィンドウ

右上のガイドウィンドウでは 地図ウィンドウでの表示に対応する 項目名/解説文/画像が表示される。 これらの情報は関心度でソートされ上から順に表示される。 ガイドウィンドウで表示されている項目をマウスでクリックすると、 選択した項目の場所を注視するように 地図ウィンドウでの視点が徐々に移動する。 視点の移動の過程を表示するので、 現在着目している場所と選択した項目との位置関係や それらの間にある項目を知ることもできる。

3.3. 分類ウィンドウ

WINGで扱うデータは階層的に分類されている。 例えば、「東大寺」は「寺院」クラスに属しており、 「寺院」クラスは「旅行/観光」クラスに属している。 階層構造の最上位には「ルート」クラスがあり、 その下位クラスとして7つの分類クラスがある。 最初の状態では これらが図4のように表示されている。

  Figure 4. 分類ウィンドウ

分類ウィンドウは [11]マウスを使って拡大/縮小表示することにより 大きな階層構造を簡単な操作で直感的に扱えるようになっている。 ひとつの分類クラスを拡大表示していくと それに属する下位分類クラスが表示され、 上位分類クラスは徐々に表示が消えていく。 例えば「旅行/観光」クラスを拡大していくと 表示は図5のようになり下位分類クラスが表示される。 この中には「寺院」クラスがあり(図6)、「寺院」クラスを更に拡大していくと「寺院」クラスに属する データ項目が表示され、 この中から「東大寺」をみつけることができる (図7)。 項目に対応する表示をマウスでクリックすると、 ガイドウィンドウでの項目の選択と同様に、 地図ウィンドウでの視点が移動していく。 分類クラスに対応する表示をクリックするとその分類クラスが選択され、 その分類に属する項目だけがフィルタリングされ 地図ウィンドウやガイドウィンドウで表示される。 選択されている分類クラスをもう一度クリックすると選択は解除される。

  Figure 5. 「旅行/観光」クラスを拡大

  Figure 6. 「寺院」クラスが現れる

  Figure 7. 「寺院」クラスを拡大

3.4. 索引ウィンドウ

  索引ウィンドウは項目のリストを 辞書順に表示したものであり、 ユーザはその中から名前を頼りに検索を行なうことができる。 項目の数は多いので、 リストから高速に目的の項目を探す手法が必要になる。

多数の項目のリスト中から一つの項目を選択するための インタフェース手法は各種提案されている。 項目数がそれほど多くないときは スクロールバーが使われることが多く、 また何万個もの項目を含むリストから 一つの項目を選択するのに スライダが使われることもある [8]いずれにおいても、 項目の数が非常に多いときは 項目の選択に微妙な操作が要求されるため 操作が難しいという欠点がある。

WINGでは 索引の項目リストに対しても拡大/縮小操作を 可能とすることにより、 大きなリスト中の項目を高速に選択できるようにしている。 実際には、リストの拡大率をs、 sの整数部分をn、 小数部分をf (= s - n)とすると、 項目リストのうち 2^n個目毎の項目をf間隔で表示している。 ユーザがsの値を連続的に変更することにより、 sが大きい時はリスト全体が粗く、 sを小さくするとリストの一部分が詳細に表示されるので、 地図ウィンドウや分類ウィンドウと同じように、 リストの全体から一部分までを連続的に拡大/縮小する 感覚で項目の検索を行なうことができる。

また、項目リストとしては 項目名の部分文字列も整列に使用した 「置換索引」を使用している。 例えば「ホテルフジタ」は リスト中の「ほてる」の位置にも現れるし、 「ふじた」の位置にも現れる。 このような置換索引により項目名の一部分からでも 検索することが可能となり、 grepコマンドと似た感覚の 検索を行なうことができる。

WINGの索引ウィンドウでの検索の例を以下に示す。 索引ウィンドウの表示は最初は 図8のようになっている。この状態では索引リスト全体の中から256個毎の項目が表示されている。 それぞれの項目は途中の文字で五十音順に並べられている (図中の白い文字で示されている部分文字列で並べられている)。 実際のWINGシステムの索引ウィンドウでは、 拡大率や項目のリスト中での位置により背景色を変えることにより、 索引リストのどの辺りをどの程度の間隔で表示されているかが ある程度わかるようになっている。

  Figure 8. 索引ウィンドウ初期状態

8から「ホテルフジタ」を探す場合、「ほ」は「の」と「ま」の間にあるので その間をマウスでポインティングし拡大表示の操作を行なう。 その様子を図9〜図12に示す。

  Figure 9. 索引ウィンドウの拡大

表示をわずかに拡大させた状態が図9である。図8に比べそれぞれの項目の表示間隔が広がっている。更に拡大を続け、 それぞれの項目の表示間隔が十分広くなると その間の項目が表示されるようになる(図10)。この状態ではリスト全体の中から128個ごとの項目が表示されている。

  Figure 10. 索引ウィンドウの拡大

このような操作を続けて 図11、図12のようにリストを拡大表示することにより目的とする項目を探し出すことができる。

  Figure 11. 索引ウィンドウの拡大

  Figure 12. 索引ウィンドウの拡大

12で分かるように「ホテル」という文字列を含む項目は同じ位置に並んでいるので、 例えば「ホテルフジタ」を「フジタホテル」と間違えて覚えている場合や 「フジタ」という名前すら忘れてしまった場合でも、 索引ウィンドウのリストを見ることで 正確な名称を思い出して必要な項目を探し出すことができる可能性がある。

ガイドウィンドウや分類ウィンドウの場合と同様に、 索引ウィンドウで表示されている項目をマウスでクリックすると 地図ウィンドウの視点が移動して選択した項目が 地図ウィンドウの中央に位置するようになる。

WINGでは約600個の項目データから生成された 約5700個の項目の置換索引を使用しており、 数秒程度で必要な項目を探し出すことができる。 1万件の映画タイトルから 検索を行なう実験を行なったところ、 平均10秒程度で検索を行なうことができ、 [1][8]でのスライダによる検索よりも高速であった。

3.5. WINGの使用例

WINGでは従来のシステムでは難しかったような 情報の検索を行なうことができる。 奈良観光を例にWINGでの検索の方法を示す。 例えば次のような状況で「正倉院展」を見に行こうとしたとする。 このような漠然とした知識しかない状況でも 以下のようにしてWINGを使って観光計画を立てることができる。

博物館を探す

博物館が奈良公園の中にあることを知っており、 奈良公園の大体の位置も知っていれば、 地図ウィンドウを操作して奈良公園近辺を見て探すことができる。 更に、博物館は「文化」の分類に含まれていると予想されるので 分類ウィンドウで「文化」の分類を選択しておけば 地図ウィンドウやガイドウィンドウに表示される項目をフィルタリングできるので 更に容易に博物館を見つけることができるし、 「文化」の分類をさらに拡大して探すこともできる。 また、索引ウィンドウで「はくぶつかん」で探せば 正式名称が「奈良国立博物館」であることが分かり、 それをマウスでクリックして地図上の位置を知ることもできる。

博物館の近くの寺や神社を探す

次に東大寺を分類ウィンドウや索引ウィンドウを使って探して マウスでクリックすると地図ウィンドウでの視点が 現在着目している博物館から東大寺へ移動していくので、 博物館と東大寺の位置関係を把握することができる。 また、地図ウィンドウで視点を遠ざけたり動き回るように操作することで 博物館の近くに春日大社や興福寺などがあることも分かる。

昼食をとる場所を探す

分類ウィンドウで「食事」を選択すると 食事のできる場所のみが表示されるようになる。 地図ウィンドウで博物館を注視したまま、 視点を遠ざけるように操作すると 博物館を中心として近い順に食事のできる場所が表示されてくる。

このように、 WINGを使用すると曖昧な手掛かりからでも必要な情報を得ることができる。 また、検索の過程が見えるので 探している場所の近辺にある項目を知ることもできるし、 地図ウィンドウを操作することで ガイドブックを見るようにして奈良の情報を得ることもできる。

4. ピテカン辞書

WINGの索引ウィンドウで使われている ズーミングを用いた辞書検索手法は 自然言語辞書の検索に応用することができる。 3万語程度の辞書に適用した場合、 平均8秒程度で単語の検索を行なうことができるが、 キーボードが使える環境ではキーボードを用いた方が 高速に検索を行なえる場合が多い。 「ピテカン辞書」は、 キーボードによる検索とズーミングによる検索を融合した なめらかな辞書検索システムである。

4.1. ピテカン辞書使用例

ピテカン辞書とその検索の様子を図13に示す。

  Figure 13. ズーミングによるピテカン辞書検索

(a) 全単語のうち8単語のみ表示 (4096単語毎)

(b) sa〜sh表示 (64単語毎)

(c) sha〜shi表示 (8単語毎)

(d) 全単語表示

画面は単語表示領域と検索パタン指定領域に分かれている。 図13では検索パタンが何も指定されておらず、WINGの検索ウィンドウと同じ手法により、 全単語のリストから目的の単語を検索することができる。 図13(a)のマウスカーソル位置(文字列``sharp''のすぐ右側)でマウスボタンを押し始めて マウスを右に動かしていくことにより、 WINGの索引ウィンドウと同様に(b), (c)のように 表示が拡大されて最後に(d)のように和訳が表示される。 表示状態は 現在のマウスの位置と操作開始時(マウスボタンを押しはじめた時)の マウスの位置との差により決定されるため、 (b), (c), (d)のように表示を変化させた後で マウスをまた(a)の位置に戻した場合、 表示も全く同じ状態に回復する。 [1]検索操作が可逆的であるため、間違った操作をしても その前の状態に復帰して検索をやり直すことが簡単にできるし、 マウスボタンを押しながら移動させるとき 常にカーソルの下には同じ単語が表示されているため、 直接操作感が得られる。

パタンをユーザが指定して検索を行なう場合を 図14に示す。 画面上側のテキスト入力枠でパタンを指定する。  

  Figure 14. ピテカン辞書のパタン検索

(a) ``p''を入力

(b) ``pe''まで入力

(c) ``ped''まで入力

(d) ``pede''まで入力

14(a)は、キーボードからパタンとして`` p''を入力したところである。 ピテカン辞書では 空白文字は任意の文字列(grep等の正規表現における ``.*''に相当)として 扱われるので、この場合``p''を含む全ての単語の リストの一部が表示されている。 図14(b)は、キーボードからパタンとして`` pe''まで指定したところである。 ここでは``pe''を含む全ての単語のリストの一部が表示されている。 ピテカン辞書でマウスを使って検索を行なう場合、 単語リストが右に移動した場合ほど 単語リストの拡大率が大きくなるので、 パタン検索の場合も同様に、 表示に必要な拡大率に応じて単語リストを左右に移動して 表示するようにしている。 図14(a)の状態では拡大率が小さいので単語リストは画面の左の方に表示されている。

ピテカン辞書は動的検索を採用しており、 パタンを指定したとき(キーボードで文字をタイプしたとき) パタンマッチはリアルタイムに行なわれ、即座に表示が更新される。 例えば(a)の状態において``e''をタイプした瞬間に 表示は(b)のように変化する。

`` pede''まで入力した時点で表示は 図14(d)のようになる。``pede''を含む単語は辞書中に7個しか存在しないので それら全てが和訳とともに表示されている*5

``p''を含む単語は沢山あるので 図14(a)の状態ではマッチする単語リストの一部のみが表示されているが、 この状態からマウスを使用してズーミングにより さらに検索を行なうことも可能である。

*5 ``ped''は「足」を意味する。 pedal(ペダル), tripod(三脚)等も同語源。

4.2. ピテカン辞書による曖昧検索

前述のように、 ピテカン辞書の検索パタン指定においては 空白文字は任意の文字列として扱われるので、 単語中の文字の一部だけ指定しても検索を行なうことができる。 この様子を図15に示す。図15は、「ピテカントロプス」を検索しようと考えたユーザが、 正しい綴りがわからないので、 確かに含まれていると思われる文字のみ (ここでは``p'', ``t'', ``n'', ``t'', ``s'') 入力した状態を示している。 このように、ピテカン辞書では、 検索したい単語の一部のみ指定しても目的の単語を 見つけることが可能である。

  Figure 15. ピテカン辞書の曖昧検索

また、ピテカン辞書では パタンが間違っている場合でも最もパタンに近い 単語を検索し表示する。この例を 図16に示す。図16は「ピテカントロプス」を検索しようと考えたユーザが、 誤ったパタン``pitekan''を指定したところである。 このようなパタンを含む単語は辞書に無いため、 ピテカン辞書は新たに1文字のミスマッチを許す検索を実行する。 それでもマッチする単語が存在しないため、 さらに2文字のミスマッチを許す検索を実行した結果、 図16のような3個の単語が候補として表示される。 以上の処理は自動的に瞬時に実行されるため、 ユーザは多少の綴りの間違いを気にすることなく パタンを入力することにより辞書検索を行なうことができる。

  Figure 16. 誤りを含むパタンの検索

4.3. ピテカン辞書の実装

前述のような曖昧検索を高速に行なうため、 ピテカン辞書では2種類の正規表現認識アルゴリズムを 併用している。

正規表現``ab.*ca'' (ピテカン辞書では``ab ca''と表現) を認識する状態遷移機械は 図17のように表現できる。

  Figure 17. パタン``ab.*ca''を受理する状態遷移機械

17の状態遷移機械は、図18のように状態数を増やすことにより、 ミスマッチ(誤字/脱字/誤挿入)を許す機械に拡張することができる。 A0はミスマッチを許さない受理状態で、 A1/A2は1文字/2文字誤りを許す受理状態である。

  Figure 18. 誤字/脱字を許容する状態遷移機械

18の状態遷移機械が``abracadabra''を認識する様子を 図19に示す。``ab''まで読み込んだ状態で 2文字誤りを検出し、 ``abra''まで読み込んだ状態で 1文字誤りを検出していることがわかる。

  Figure 19. ``abracadabra''に対する状態遷移

18のような非決定性状態遷移機械を計算機上に実現するために、 ピテカン辞書では以下の 2種類のアルゴリズムを併用している。

  1. 決定性状態遷移機械に変換して状態遷移表を作成 これはUNIXのegrepコマンドで用いられている手法であり、 (状態数×入力文字種)の大きさの状態遷移表を用いて 現在の状態と入力の組から次の状態を計算する。 遷移計算は高速であるが、 非決定性機械の状態数が多くなると遷移表の作成に大きな 時間がかかり、遷移表も大きくなる。
  2. 非決定性状態遷移機械の状態をビットマップ表現し、 シフト演算により状態遷移を計算 例えば図19の上からふたつめの状態を3個のレジスタによって 01110, 11100, 11000と表現する。 次の状態は右シフト演算及びマスク演算により計算する。 パタンマッチのための前処理計算は少なくてすむが、 遷移計算はアルゴリズム1より低速である。

    シフト演算を用いてパタンマッチを行なう手法は Baeza-Yatesの``Shifter Algorithm''として [2][17]おいて一部使用されており、また ハードウェアによる実現も存在する[20]。

ピテカン辞書では、曖昧度が低い場合はアルゴリズム1, 高い場合(3個以上の誤りを許す場合)はアルゴリズム2を 使用している。

4.4. ピテカン辞書の評価

辞書のような離散的なデータの検索を連続的に 実行することはむずかしいが、 ピテカン辞書ではズーミングと 動的曖昧検索を組みあわせることにより 連続性/可逆性を実現している。 また、単語をドラッグしてリストのズーミングと移動を 行なうことにより直接性を実現している。 左右の移動によりズーミングを行なうという方式は あまり直感的とはいえないが、 おおむねなめらかな操作を実現することができたと考えている。 なめらかなユーザインタフェースの採用により検索実行ボタンなどが不要になっていることも 重要である。

5. なめらかなユーザインタフェースの将来

本稿ではなめらかなユーザインタフェースの実例をふたつ紹介したが、 今後各種のなめらかなユーザインタフェースを持つシステムが ますます増えてくると考えられる。 実生活では 現実の物体を対象とするほとんどの作業が なめらかに行なわれているにもかかわらず、 計算機上の操作では 非連続的/非可逆的ななめらかでない操作が何故か許容されており、 そのような使いにくさに鈍感な人間だけが 機械を活用できるという不思議な状況になっている。 このような状況はどんどん変化していくと考えられる。

なめらかな操作が阻害されている最も大きな原因は 計算速度や記憶容量などの資源不足であるが、 資源の問題はいずれ解決する可能性があるので、 インタフェース設計者の考え方をまず変革しておく 必要があると考える。 つまり現在のインタフェースの中でなめらかでない部分に着目し、 将来の対策について考えておくことが重要であろう。 例えば、現在最も問題のある非可逆的操作は 文書やファイルの修正/削除ではないかと考えられるが、 一度作成した文書やファイルは絶対に消さないような ファイルシステムやエディタを使うことにより、 連続的に過去の状態に復帰することが可能になるであろう。 今後さらに大容量の記憶装置が普及すると考えられるし、 人間の入力速度はたかが知れており 1年間キーボードを1秒に10回タイプし続けたとしても 入力できるのは高々300MBであるから 全操作履歴を保存しておくことにしたり、 SCCSやRCSのように差分を使ったりすることにより 「なめらかundo」が可能となるであろう。 このように、現在の計算資源ではむずかしくても 将来解決するであろう問題に対して なめらかさへの対応の検討をしておくことが重要であると考えられる。 また計算資源の問題がなかなか解決しない場合のために 各種の実装の工夫が有用であろう。

2節で述べたように、新しいハードウェアやソフトウェアを使った 各種の新しいインタラクション手法が続々と提案されているが、 新しい技術を開発しつつ 既存の技法をうまく組み合わせることにより、 よりなめらかなユーザインタフェースを実現することができるであろう。

6. 結論

本稿では、 将来のインタフェース手法の考え方として有望な 「なめらかなユーザインタフェース」という統一的な概念を提唱し、その実現例をふたつ紹介した。 なめらかなユーザインタフェースを実現するための新しい技術を順次開発し 各種の機器に適用していく予定である。
     
  1. Christopher Ahlberg and Ben Shneiderman. AlphaSlider: A compact and rapid selector. In Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI'94), pp. 365-371. Addison-Wesley, April 1994.  
  2. Ricardo A. Baeza-Yates and Gaston H. Gonnet. A new approach to text searching. Communications of the ACM, Vol. 35, No. 10, pp. 74-82, October 1992.  
  3. Benjamin B. Bederson and James D. Hollan. Pad++: A zooming graphical interface for exploring alternate interface physics. In Proceedings of the ACM Symposium on User Interface Software and Technology (UIST'94), pp. 17-26. ACM Press, November 1994. ftp://ftp.cs.unm.edu/pub/pad++/pad-uist94.ps.gz.  
  4. G. W. Furnas. Generalized fisheye views. In Proceedings of the CHI'86 Conference on Human Factors in Computing Systems and Graphic Interfaces, pp. 16-23, Boston, May 1986. Addison-Wesley.  
  5. Hideki Koike. Fractal Views: A fractal-based method for controlling information display. ACM Transactions on Office Information Systems, Vol. 13, No. 3, pp. 305-323, 1995.  
  6. Y. K. Leung and M. D. Apperley. A review and taxonomy of distortion-oriented presentation techniques. ACM Transactions on Computer-Human Interaction, Vol. 1, No. 2, pp. 126-160, June 1994.  
  7. J. D. Mackinlay, G. G. Robertson, and S. K. Card. The perspective wall: Detail and context smoothly integrated. In Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI'91), pp. 173-179. Addison-Wesley, April 1991.  
  8. Toshiyuki Masui, Kouichi Kashiwagi, and George R. Borden. Elastic graphical interfaces for precise data manipulation. In CHI'95 Conference Companion, pp. 143-144. Addison-Wesley, May 1995.  
  9. Toshiyuki Masui, Mitsuru Minakuchi, George R. Borden IV, and Kouichi Kashiwagi. Multiple-view approach for smooth information retrieval. In Proceedings of the ACM Symposium on User Interface Software and Technology (UIST'95), pp. 199-206. ACM Press, November 1995.  
  10. Donald A. Norman. The Psychology of Everyday Things. Basic Books, New York, 1988. 邦訳: 「誰のためのデザイン?」(新曜社).  
  11. Ken Perlin and David Fox. Pad: An alternative approach to the computer interface. In ACM SIGGRAPH'93 Conference Proceedings, pp. 57-64, August 1993.  
  12. George Robertson, Jock D. Mackinlay, and Stuart K. Card. Cone Trees: Animated 3D visualizations of hierarchical information. In Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI'91), pp. 189-194. Addison-Wesley, April 1991.  
  13. Manojit Sarkar and Mark H. Brown. Graphical fisheye views. Communications of the ACM, Vol. 37, No. 12, pp. 73-83, December 1994.  
  14. Doug Schaffer, Zhengping Zuo, Saul Greenberg, Lyn Bartram, John Dill Dill, Shelli Dubs, and Mark Roseman. Navigating hierarchically clustered networks through fisheye and full-zoom methods. ACM Transactions on Information Systems, 1995.  
  15. Ben Shneiderman. Direct manipulation: A step beyound programming languages. IEEE Computer, Vol. 16, No. 8, pp. 57-69, 1983.  
  16. Ben Shneiderman. Dynamic queries for visual information seeking. IEEE Software, Vol. 11, No. 6, pp. 70-77, November 1994.  
  17. Sun Wu and Udi Manber. Agrep - a fast approximate pattern-matching tool. In Proceedings of USENIX Technical Conference, pp. 153-162, San Francisco, CA, January 1992.  
  18. 小池英樹, 石井威望. フラクタルの概念に基づく提示情報量制御手法. 情報処理学会論文誌, Vol. 33, No. 2, pp. 101-109, 1992.  
  19. 水口充, 増井俊之, ボーデンジョージ, 柏木宏一. なめらかなユーザインタフェースによる地図情報検索システム. 田中二郎(編), インタラクティブシステムとソフトウェアIII: 日本ソフトウェア科学会 WISS'95, pp. 231-240. 近代科学社, 1995.  
  20. 山田八郎, 高橋恒介, 平田雅規, 永井肇. あいまい検索が可能な文字列検索LSI. 日経エレクトロニクス, No. 422, pp. 165-181, 1987.6.1.

Up$Date: 1996/05/19 19:27:55 $

増井の論文リスト