IPA


開発成果一覧へ





2005年度上期 未踏ソフトウェア創造事業  採択案件評価書


 



1.担当PM

   長尾 確 (名古屋大学 情報メディア教育センター 教授)



2.採択者氏名


開発代表者

栗原 一貴 (東京大学大学院 情報理工学系研究科 コンピュータ科学専攻 博士課程)

共同開発者

なし



3.プロジェクト管理組織


  株式会社 リオ



4.委託金支払額


  5,992,610



5.テーマ名


  Tablet PCを本気で普及させるためのソフトウェア開発



6.関連Webサイト


  http://www-ui.is.s.u-tokyo.ac.jp/~qurihara/ 、 http://bunkin.net/




7.テーマ概要


 
タブレットPCをはじめとして、ペンコンピュータは未だに十分に普及していない。原因は「普通コンピュータを買ってやりたいと思うことがあまりにもやりにくい」ことにあると思われる。「普通コンピュータを買ってやりたいと思うこと」とは、Webブラウジング、メール読み書き、ワープロや表計算による作業などが一般的であることには異論は無いであろう。これらに共通するのは、テキスト情報の入出力インタフェースの問題である。現状としてタブレットPCの手書き認識や音声認識を使って悪戦苦闘しながらテキストを入力してまで、Webブラウジングやメールをする人はあまりいないと思われる。タブレットPCのインタフェースを、従来のデスクトップコンピュータのインタフェースに帰着させることで利用しようとする従来の方針では、タブレットPCの未来は明るくないだろう。そこで、本プロジェクトにより、手書き文字の編集と検索の基礎技術、およびペンの特徴を活かしたユーザインタフェースを開発し、タブレットPC等のペンコンピュータを本気で普及させるために不可欠な環境の構築を図る。



8.採択理由


 
タブレットPCは、絵やパターンなどの感性的な情報伝達に適しており、一方、正確に認識された文字情報は検索等において非常に有効である。音声や文字認識の不備を補い、かつ、感性的な情報を直接的に伝達しようという発想は、タブレットPCを十分に利用価値の高い道具として定着させるために非常に大きな貢献をするだろう。提案しているソフトウェアの新規性や実用性を高く評価して採択とする。



9.開発目標


 本プロジェクトでは、以下の3点を目標として開発を行う。
  1. ペンや音声で入力した情報をテキストとして一意に確定することなく、直接検索に用いるWeb検索システム
  2. タブレットPCに最適化された手書きメーラ、手書きテキストエディタ
  3. タブレットPCの使い勝手を向上させる新しいデスクトップ環境の構築




10.進捗概要


 以下の主要な開発成果が得られた。
  ● 手書き文字の検索・編集のための確率付きテキストフレームワーク
    「文金(ぶんきん)」
  ● 手書きWeb検索、デスクトップ検索アプリケーション「GOEMOSO」
  ● 手書き文字を効率良く入力するための「予測付手書き文字入力法」
  ● 「手書きBlog」「手書きメーラ」アプリケーション
  ● ペンベースデスクトップ環境「koto-buki」



11.成果


 ●成果1.ペンや音声で入力した情報をテキストとして一意に確定することなく、直接検索に用いるWeb検索システム
 現在タブレットPCを使ってWeb検索をする場合を考えてみる(音声認識を利用する場合も同様のシナリオが描ける)。ユーザはテキスト入力パネルに文字を書き、文字認識を行う。認識間違いがあった場合は修正しなければならないことがわずらわしい。しかしそもそもWebのキーワード検索とは、キーワードに対してヒットすると「思われる」文章をランク付けして提示するものであり、そもそもそこに確率的あいまい性を含んでいるのである。あいまい性を含む検索に対して、わざわざテキストを修正し確定しなくてはならない作業は冗長である。なぜなら文字認識の過程においては複数の認識候補の文字が確率つきで出力されているはずであり、それらを用いればそれ相応の検索が行えるはずだからである。(図1を参照)
 これらを踏まえて、確率的な重ね合わせで表現されたテキストの形式である「確率付きテキスト」を用いて(図2を参照。ある認識技術によって一通りの認識結果を出すのではなく、組み合わせ数が現実的な範囲内であいまい性を保持したままテキストを取り扱うことができる。)、通常のテキストや確率付テキストを検索するシステムを構築した。具体的には、確率付テキストフレームワーク「文金(ぶんきん)」および、文金を用いて開発したWeb、デスクトップ検索アプリケーションである。

 

図1 文金の基本コンセプト

 

図2 「アメリカ合衆国」と書いたとき生成される確率付テキストの例

 

 ・手書き文字の検索・編集のための確率付きテキストフレームワーク「文金(ぶんきん)」
 確率付きテキストはConfusion Networkというグラフ構造で表現される。Confusion Networkを生成、検索、編集するための基礎ライブラリRMCP.dll、およびこれを用いて手書き文字情報から確率付テキストを生成し、Web検索およびデスクトップ検索を行うライブラリAmbientQuery.dllをC#.NETを用いて開発した。まず確率付きテキストの仕様とデータ表現について説明し、その後、確率付きテキストを扱うための関数群について説明する。


 ・確率付テキストの仕様(文字列形式):
 確率付きテキストは、図2に示すようにある区画に対するテキストとその確率、および競合候補を接続したものである。区画の区切りを大括弧[ ]で表し、小括弧( )内に確率を書き、競合候補テキストを接続することで確率つきテキストは表現できる。以下は、「あい」と手書きし確率付テキストを生成した場合の文字列形式表現例である。


confusionnet:[あ(0.8)お(0.2)][り(0.7)い(0.3)]


 この例では、「あ」に対して文字認識エンジンが80%の確率、競合候補として「お」である確率も20%出力している。また「り」に対して70%、競合候補として「い」である可能性も30%と出力している。従来の文字認識ではこのような場合、最も確率が高い組み合わせである「あり」のみを出力していたために正しい認識結果である「あい」が失われてしまっていた。確率付きテキストでは、より多くの認識結果の可能性をコンパクトに表現することができ、このような正しい認識結果の喪失を軽減することが可能である。手書きされた生データ(画像もしくはストロークデータ)と確率付きテキストとを組にして扱うことで、人間には目で見て何が書いてあるか理解でき、計算機にとっても何が書いてあるかを確率的に広く取り扱うことが可能となる。
 以下の図3に、「肉ラーメンたべたい」と書いた場合に出力された確率付きテキストの文字列形式表現例を示す(都合により、確率はすべて25%となっている)。

 

図3 「肉ラーメンたべたい」と書いた場合の確率付テキストの文字列形式表現例

 

 ・確率付テキストの仕様(XML形式):
 Web上での確率付テキストの流通を考えた場合、上記の文字列形式表現よりもさらに構造化されたXML形式の表現が望まれる。そこで確率付テキストのXML形式表現も設計した。

 1. <confusionnet></confusionnet>で囲まれた部分が一つの確率付テキストを表す。nchunks属性は確率付テキストの区画の数、nmaxnodes属性は1区画の競合候補の最大数を表す。
 2. <chunk></chunk>で囲まれた部分が一つの区画を表す。
 3. <node></node>で囲まれた部分が一つの競合候補を表す。
 4. <entry></entry>で囲まれた部分が一つの競合候補テキスト、続いて<score></score>で囲まれた部分がその競合候補の確率を表す。
 以下に「台風」と書いた場合の確率付テキストのXML形式表現例を示す。

 

  <confusionnet nchunks="2" nmaxnodes="4">
   <chunk>
         <node><entry>台</entry><score>0.7</score></node>
         <node><entry>舌</entry><score>0.2</score></node>
         <node><entry>占</entry><score>0.1</score></node>
         <node><entry>旨</entry><score>0.1</score></node>
   </chunk>
   <chunk>
         <node><entry>風</entry><score>0.25</score></node>
         <node><entry>聞</entry><score>0.25</score></node>
         <node><entry>閤</entry><score>0.25</score></node>
         <node><entry>関</entry><score>0.25</score></node>
   </chunk>
  </confusionnet>

 

 ・確率付テキストの仕様(Doublet String形式):
 現在良く用いられているGoogleなどのWeb検索エンジンは、テキストを形態素解析により単語単位に分解し管理している。そのため図3のような、1文字単位に記述された確率付きテキストはGoogleでは検索されない。一つの対策は、後述するように確率付きテキストからキーワードとなる単語を抽出して付与する方法である。もう一つの手段は、RAST(付録の章を参照)のようなN-gram式の検索エンジンを導入することである。N-gram式の検索エンジンは、文字列を単語単位ではなく、隣接文字の出現確率で管理する。その最小単位が隣接2文字の出現確率である。 そこで確率付きテキストを、可能な隣接2文字に分解することで、検索エンジンによる処理を可能としたものがDoublet String形式である。例えば、先述した「台風」に対する確率付テキストをDoublet String形式で表現すると、以下のようになる:

 

台風 舌風 占風 旨風 台聞 舌聞 占聞 旨聞 台閤 舌閤 占閤 旨閤 台関 舌関 占関 旨関

 

 将来的には確率付きテキストを直接管理する検索エンジンの開発が望まれるが、それまでの暫定策として現状の検索技術を応用できるDoublet String形式は有効であると考えられる。

 

 ・Microsoft.Ink形式とQInk形式手書きデータの仕様:
 Microsoft Tablet PC Platform SDKは、Microsoft Tablet PC APIという手書き文字を扱うための機能群を提供している。その中にはInkというクラスがあり、手書きされたデータを格納している。本プロジェクトではこのクラスを主に用いている。このInkクラスの提供するシリアライズ機能により、文字列化された手書きデータ文字列をMicrosoft。Ink形式と呼ぶことにする。
 一方QInk形式は、Microsoft Tablet PC Platform SDKをインストールしていないマシン上で手書き情報を取り扱うために本プロジェクトで設計された簡易データ構造である。単純な文字列のため、言語やプラットフォームに依存せず手書き文字を扱うことができる。後述するWeb serviceでは、Microsoft.Ink形式と併せてQInk形式のデータを扱えるインタフェースを提供する。
 QInk形式では、2次元平面上の座標を(X座標.Y座標)のようにピリオドでつなぎ、この座標情報をカンマでつなぐことで座標列を表現する。アスタリスクを置くことで、1画1画の区切りを表現す。以下はデータ例の一つである。


1.1, 3.3, *2.2, 1.4


 この例では、1画目が(X=1、Y=1)と(X=3、Y=3)を結んだストローク、2画目が(X=2、Y=2)と(X=1、Y=4)をつないだストロークで構成される手書きデータが表現される。


 ・確率付きテキストを扱う機能群:
 本プロジェクトにより開発した確率付きテキストフレームワーク「文金」ライブラリRMCP.dll、AmbientQuery.dllにより提供される機能は以下のようなものである。
  ●Microsoft.InkからConfusionNet(確率付きテキストを表現するクラス)のオブジェクトを作成
  ●QInk形式手書きデータ文字列からConfusionNetオブジェクト作成
  ●XML形式で記述された確率付テキストからConfusionNetオブジェクト作成
  ●文字列形式で記述された確率付テキストからConfusionNetオブジェクト作成
  ●ConfusionNetオブジェクトからXML形式に書き出す
  ●ConfusionNetオブジェクトから文字列形式に書き出す
  ●ConfusionNetオブジェクトから文字列を検索する
  ●ConfusionNetオブジェクトから辞書に登録されているキーワードを抽出する

 これらの機能は以後に述べる様々なアプリケーションに応用されている。第三者が文金フレームワークを用いたアプリケーションを開発する際には、次節に示すWeb serviceの仕様のみを理解すればよいため、各機能のインタフェースの詳細の記載は省く。 Web service利用に当たってはサンプルコードを用意しているので、それを用いれば応用は容易である。


 ・Web serviceの整備
 文金フレームワークを用いることで、手書きコンテンツに対し「どのような文字列が書かれているか」の概略を知ることができるようになる。これをWeb serviceとして展開することで、例えば既存のblogに「検索可能な手書き情報」を簡単に加えることができるようになる。そこで文金フレームワークのWeb service版として、bunkinwebservicesプロジェクト、およびこれを用いたサンプルアプリケーションとして、クライアントアプリケーション BunkinClientSampleとWebアプリケーションInkWebBlogBunkinを開発した。これらは主に開発者、およびWeb事業者向けの開発物である。

 

 ・bunkinwebservicesプロジェクト
 手書きデータを扱うPC上のアプリケーション、もしくはWebアプリケーションから確率付テキストを扱う際に必要な機能をWeb serviceとして実装したのがbunkinwebservicesプロジェクトである。このプロジェクトはhttp://bunkin.net/bunkinwebservices/ws.asmxで試験的に運用しているが、現時点ではパフォーマンスの問題から不特定多数のユーザからの多数のリクエストを処理することはできない。開発者、事業者が各自のサーバでこのWeb serviceを運用することを想定し、プロジェクトのソース自体も公開する。本プロジェクトで提供するサービスは以下のものである。
 1. Microsoft.Ink形式データを入力し、生成された確率付テキストをXML形式で出力する
  ●string MSInkString2CNXML(string src, string pass)
 2. Microsoft.Ink形式データを入力し、生成された確率付きテキストをDoublet String形式で出力する
  ●string MSInkString2DoubletString(string src, string pass)
 3. Microsoft。Ink形式データを入力し、生成された確率付テキストにマッチする辞書キーワードを出力する
  ●string [] MSInkString2Keywords(string src, string pass)
 4. QInk形式データを入力し、生成された確率付テキストをXML形式で出力する
  ●string QInkString2CNXML(string src, string pass)
 5. QInk形式データを入力し、生成された確率付テキストをDoublet String形式で出力する
  ●string QInkString2DoubletString(string src, string pass)
 6. QInk形式データを入力し、生成された確率付テキストにマッチする辞書キーワードを出力する
  ●string [] QInkString2Keywords(string src, string pass)

 それぞれ、第一引数としてMicrosoft.Ink形式もしくはQInk形式で表現された手書き文字データをとり、第二引数としてWeb serviceを利用するためのパスワード文字列を入力する。公開するコードでは入力形式のチェックやパスワードのチェックは行っていないため、不正利用を防ぐためのコードは利用者が追加する必要がある。3および6の辞書キーワード抽出は、現在はてなキーワード(http://d.hatena.ne.jp/hatenadiary/20040205)を利用している。出力結果は“(キーワード)、(確率)”という文字列の配列であるが、現時点での実装では確率は常に1を返す。


 ・BunkinClientSample
 BunkinClientSampleはbunkinwebservicesを用いたクライアントアプリケーションのサンプルプロジェクトである。このコードを流用することにより、通常のデスクトップアプリケーションに確率付テキストを用いた処理機能を付与することができる。このサンプルでは、ユーザが書いた手書き文字を用いてbunkinwebservicesにアクセスし、結果を出力する一連の作業を体験できる。(図4参照)
 このサンプルプロジェクトを実行するためには、Tablet PC 系のマシンが必要である。しかしQInkを生成するコードを自前で書けば、任意のマシンでbunkinwebservicesは利用できる。

 

 

図4 BunkinClientSampleのスナップショット:「ノート」と書いて、bunkinwebservicesと通信し3つの形式で結果を受信した。


 ・InkWebBlogBunkin
 InkBlogWebBunkinは、bunkinwebservicesを用いたWebアプリケーションのサンプルプロジェクトである。このコードを流用することにより、webアプリケーションに確率付テキストを用いた処理機能を付与することができる。このサンプルはblog風のアプリケーションとなっており、書き込んだ手書きblogに対しbunkinwebservicesによりキーワードを抽出・付与しつつ保存し、Googleなどの検索エンジンによる検索を可能にする応用例である。(図5参照)
 サンプルコードでは接続するbunkinwebservicesのホストがbunkin.netとなっているが、これを変更することで独自に構築したbuninwebservicesへと接続が可能である。
 このサンプルプロジェクトを実行するためには、タブレットPC 系のマシン+IIS ver.5.1以降が必要である。このサンプルWebアプリケーションは、http://bunkin.net/InkWebBlogBunkin/で試験運用している。

 

 

図5 InkWebBlogBunkinのスナップショット:「太平洋の天気」と書いて、bunkinwebservicesと通信しキーワードを抽出した。手書き画像とキーワードを併記することで、通常のWeb検索エンジンによる検索が可能となる。

 

 ●成果2.手書きWeb検索、デスクトップ検索アプリケーション「GOEMOSO」
 文金フレームワークを用いることで、手書きコンテンツに対し「どのような文字列が書かれているか」の概略を知ることができるようになる。これをドキュメント検索に応用し、「曖昧な情報検索」に「曖昧な手書き情報」をそのまま用いたものがGOEMOSOである。従来手法では、文字入力後即座に文字認識の結果の確定作業を行った後、通常の検索を行っていた(図1上段)。一方GOEMOSOでは、ユーザは文字認識の複数の可能性を吟味する作業と、求める検索結果を吟味する作業を同時に行うことができる(図1下段)。
 例えば、「テロ」という言葉についてweb検索したい場合を考える。手書きで「テロ」と書き、

 

confusionnet:[ラ(0.5)テ(0.4)モ(0.1)][ロ(0.9)(0.1)]


 という確率つきテキストが得られたとする。第二区画のロ(0.9)はラリルレロの“ロ”、(0.1)は「くち」である(赤色で区別する)。このような、見た目が似ていて異なる文字認識結果が得られることは実際の文字認識ではよくあることである。この確率付きテキストを展開すると、


ラロ ラ テロ テ モロ モ


 という6種類の文字列が得られる。これらをそれぞれWeb検索エンジンで検索する。すると、

 

テロ 6350000 hit
モロ 2910000 hit
ラロ 247000 hit
 825 hit
 563 hit
294 hit


 という検索hit数がそれぞれ得られる。Hit数でこれらをソートすると、「Web上で最も一般的な情報の順」として文字認識結果とWeb検索結果が表示されることになるため、求めていた「テロ」が最上位に来ることとなる。これがGOEMOSOの基本的な考え方である。デスクトップ検索においても、同様の考え方ができる。ただし、デスクトップ検索においては検索hit数が適切な評価基準ではない場合も多いので、最新更新日時順などの要素も考慮に入れる。
 GOEMOSOの実装として、本プロジェクトでは以下の3つのアプリケーションを実装した。
  1. タブレットPC系マシンのデスクトップで動作し、Web検索とデスクトップ検索を行える「GOEMOSO Desktop」
  2. タブレットPC系マシンのサーバ上で運用し、タブレットPC系のマシンからブラウザ経由でWeb検索を行えるWebアプリケーション「GOEMOSO Web」
  3. タブレットPC系マシンのサーバ上で運用し、任意のマシンのJavaScript動作のブラウザ経由でWeb検索を行えるWebアプリケーション「GOEMOSO.JS」

 

 ・GOEMOSO Desktop
 実行にはタブレットPC系のマシンが必要である。デスクトップ検索を実行するためには、Google Desktopをインストールしておく必要がある。実行画面のスナップショットを図6.1、2、3 に示す。

 

図6.1 GOEMOSO Desktopの画面スナップショット

 

図6.2 GOEMOSO DesktopのWeb検索結果表示画面スナップショット:

Web社会では見た目に似たことばを隠語として使い裏情報を議論する人たちが存在する。この例では、「ラーメン」に対し「ラーメソ」という隠語を用いているドキュメントの検索に成功している。このようにVisually Equivalentなことばを意識せずに検索できるのが、確率付きテキストを用いたGOEMOSOの特徴の一つである。

 

図6.3 GOEMOSO Desktopのデスクトップ検索結果表示画面スナップショット:
個人のコンピュータにはそれほど多くの情報は無いため、Hit数と最終更新日時を組み合わせてソートし表示する。

 

 ・GOEMOSO Web
 インストールにはIIS ver.5.1以降の動作するタブレットPC系マシンをサーバとする必要がある。また、利用に当たってはこのアプリケーションはインストール不要でブラウザ経由で用いることができるが、手書き文字処理系統はローカルマシンで行うため、タブレットPC系マシンが必要である。本アプリケーションはhttp://bunkin.net/goemoso/ で、試験的に運用している。実行画面のスナップショットを図7に示す。「GOEMOSO Desktop」とほぼ同等の機能だが、以下の2点が異なる。
  ● Webアプリケーションのため、デスクトップサーチは行わない。
  ●不特定多数のユーザからアクセスされる可能性があるため、膨大なクエリ発行によりサーバ負荷が集中することを防ぐため、Web検索にはGoogle Search APIを用いた。画面下部の「検索key」の欄に、Google Search API利用申請時に得られる検索用パスワードを入力する。デフォルトでは本プロジェクトで入手したパスワードが入力されているため、そのまま利用すると1日の検索件数が利用者全体で制限される。利用者自身が持つパスワードにより利用することが望まれる。(※通常のWeb検索に比べてGOEMOSO Webの動作が非常に遅いのは、Google Search APIを用いた検索が非常に時間を要することによる。)

 

図7GOEMOSO Webの画面スナップショット

 

 ・GOEMOSO.JS
 インストールにはIIS ver.5.1以降の動作するタブレットPC系マシンをサーバとする必要がある。また、利用に当たってはこのアプリケーションはインストール不要でブラウザ経由で用いることができ、JavaScriptの動作する任意のブラウザで実行可能である。例えばLinux Zaurus+OperaなどのPDA環境でも動作する。これはJavaScriptを用いてQInk形式の手書き文字情報を生成し、サーバ側で確率付きテキストの生成および検索を行うからである。本アプリケーションはhttp://bunkin.net/goemosojs/ で、試験的に運用している。実行画面のスナップショットを図8に示す。

 

 

図8 GOEMOSO.JS の画面スナップショット:JavaScriptの動作する任意のブラウザから利用可能である。



 ●成果3.タブレットPCに最適化された手書きメーラ、手書きテキストエディタ
 手書き文字入力による文章作成を行う際の一つの問題は、キーボード入力に比べて手間がかかることである。そこで予測入力機構を導入し、ユーザの負荷を軽減することを提案する。予測入力機構とは,携帯電話による文字入力などで応用されている。文字を入力し始めると、ユーザが入力したい単語列をシステムが予測し、その候補を複数表示するというものである。これらの従来手法では、すべての文字を活字テキストに変換しながら入力することに主眼を置いている。したがって、以下の二つの問題のいずれかを必然的に孕む。
  ●複雑な文字(漢字など)を入力すると文字認識がうまく行かず、人間の目には正しく文字を理解できるにもかかわらず

   何度も書き直すことになる。
  ●ローマ字アルファベットなどに入力を限定すると、ユーザの書く文字と結果の文字とがまったく別のものになる。
 そこで本プロジェクトでは、上記の問題を解決するため、手書き文字をユーザが書いたまま保存しつつ予測入力を行う「予測付手書き文字入力方法」を提案する。
 予測付手書き文字入力方法の要点は、「ユーザは常に現時点から未来に何を書くかのみを考えればよい」ということを貫徹したインタフェースであるということである。手書き文字をそのまま扱うことにより、認識誤りを訂正が必要だったり、書きたい文字と実際に書く文字・書く場所とが乖離したりといった従来の問題は発生しない。その上で確率付きテキストフレームワークを用いた予測提示により、「もし予測が当たっていたときだけそれを選択すればよい。当たっていなければそのまま無視して書き進めればよい」という環境をユーザに提供することができ、利用を強制することなく文字入力効率を高めることが可能である。図9に本手法の概要を示す。

 

図9 予測付手書き文字入力方法の概要

 


 ●成果4.「手書きBlog」「手書きメーラ」アプリケーション
 テキストエディタがあれば、そのテキストをWeb経由で送信する機能の実装により手書きメーラおよび手書きBlogアプリケーションを実現できる。予測付手書き文字入力方法により得られた「見た目」を画像データとして、内部表現の確率付きテキストを付与しつつ送信すれば、可視性と被検索可能性を併せ持つ情報の通信が可能となる。さらに手書きならではの利点として、絵画的表現と言語的表現を自由に組み合わせることが可能である。写真などの画像にコメントを添えて綴るスタイルがBlogの表現方法として確立されているが、それを一歩進めて、写真、イラスト、文字情報を自由にレイアウトしたものを取り扱うことが可能となる。本プロジェクトでは、予測付文字入力方法を用いて文字入力を行い、画像の貼り付け、レイアウトなどを自由に行った上で自分のBlogサイトに投稿したり、メールとして知人に送信することができる機能を実装した。



 ●成果5.タブレットPCの使い勝手を向上させる新しいデスクトップ環境の構築
 現在のペンコンピュータのインタフェースは、従来のキーボード+マウスを前提としたコンピュータと同様に扱うための余分な手間(手書き文字認識の訂正など)をユーザに強いるものが多い。一方コンピュータがこれほど発達した現代においても、紙にペンで書く人は絶えない。その理由を尋ねると、「思ったとおりに描けるから」「思いついたとき、すぐに書けるから」などと答える人が多い。これは、ユーザはペンというものに「思い通りの場所に、思い通りのやり方で」という期待を抱いているため、「ペンを導入することによって通常以上の余分な手間がかかる」というアプローチではうまく行かない、という教訓である。我々がペンコンピュータの普及を考える上では、ペンの持つこれらの特徴をうまく取り入れることが重要である。
 そこで本プロジェクトでは、基本的にユーザには常に「白紙」を提供し、自由な場所に思い通り書き進められる状態にする。そして、必要に応じて検索や情報発信などが行えるような「あとづけ」の機能呼び出しを可能とするような環境:ペンベースデスクトップ環境「koto-buki」の開発を行った。



12.プロジェクト評価


 このプロジェクトは、ほぼ当初の予定通り、着実に遂行されたと思われる。背景となる手法の理論的な考察もなされ、実装に関しても短期的な目標は概ね達成されたと言えるだろう。さまざまな応用を考慮して開発されたシステムは、現在のペンベースのテキスト入力の不備を補うものであるため、普及に関する努力を怠らなければ、多くの人に受け入れられるものとなる可能性がある。
 また、手書き文字入力は、日本語のような多様な文字を含む言語の使用者にとって、脳を活性化する作用があり、教育分野において大いに威力を発揮するだろう。その点に関しても、本プロジェクトの成果が期待できる。



13.今後の課題


 (1)検索精度の向上と評価
 さまざまな応用例を示すことで確率付きテキストの有効性を確認することはできたと思われるが、一方で曖昧性を扱うことによる検索精度の低下が予想される。実際にどの程度の精度を達成でき、またどの程度の精度をユーザが望んでいるかは今後評価する必要がある。
 また、速度についても改善の余地がある。確率付きテキストを扱うための計算量は比較的大きく、それに対し現時点では計算アルゴリズムの最適化などは行っていない。アプリケーションの種類によって、高速な計算を要求される場合とそうでない場合がある。例えば、手書きBlogからキーワード抽出を行う場合などは比較的計算時間に余裕があるのに対し、手書き補完入力では高速な出力が要求される。同時に扱うデータ量がアプリケーションによって大きく異なるため、異なった戦略による計算の最適化が必要となるだろう。

 (2)インタフェースの洗練
 本プロジェクトでは、文金フレームワークの有効性を示すアプリケーションを数種開発したが、技術的な可能性を実証した段階であり、インタフェースはまだ洗練が足りない。ユーザスタディを繰り返し、改善を行う必要がある。

 (3)技術の実用化と公開
 手書き情報をWebに流通させていくための基盤を整備した本プロジェクトの意義は大きいものと思われるが、その本格的な普及のために、開発した技術の実用化と公開を近い将来に実施する必要がある。


  ページトップへ   






  Copyright(c) Information-technology Promotion Agency, Japan. All rights reserved 2004