(57)【特許請求の範囲】
【請求項１】
座標データを含む筆跡のデータを取得する取得手段と、
前記座標データに基づいて、文字列、一画マーク、下線、囲み線のいずれか一つを含むクエリーの種類に分類し、前記クエリーの種類に応じた検索方法にしたがって文書を検索する検索手段と、
を備える文書検索装置。
【請求項２】
前記クエリーの種類が前記文字列の場合には、前記筆跡に類似する手書き文書内の筆跡を検索し、
前記クエリーの種類が一画マークの場合には、前記筆跡に類似する前記手書き文書内の行頭の筆跡を高い優先度で検索し、
前記クエリーの種類が下線の場合には、上側に筆跡が隣接している前記手書き文書内の横線を検索し、
前記クエリーの種類が囲み線の場合には、筆跡を内包する前記手書き文書内の閉曲線を検索する、請求項１記載の装置。
【請求項３】
前記種類に応じた検索方法にしたがって検索した検索結果を表示する表示手段を更に備え、
前記検索結果は、前記クエリーの種類に応じて強調表示される請求項１記載の装置。
【請求項４】
前記種類に応じた検索方法にしたがって検索した検索結果を表示する表示手段を更に備え、
前記検索結果としては、前記クエリーの種類と前記検索された検索結果を含んだ筆跡とが表示される請求項１記載の装置。
【請求項５】
取得手段が、座標データを含む筆跡のデータを取得するステップと、
検索手段が、前記座標データに基づいて、文字列、一画マーク、下線、囲み線のいずれか一つを含むクエリーの種類に分類し、前記クエリーの種類に応じた検索方法にしたがって文書を検索するステップと、を備える文書検索方法。
【請求項６】
前記クエリーの種類が前記文字列の場合には、前記筆跡に類似する手書き文書内の筆跡を検索し、
前記クエリーの種類が一画マークの場合には、前記筆跡に類似する前記手書き文書内の行頭の筆跡を高い優先度で検索し、
前記クエリーの種類が下線の場合には、上側に筆跡が隣接している前記手書き文書内の横線を検索し、
前記クエリーの種類が囲み線の場合には、筆跡を内包する前記手書き文書内の閉曲線を検索する、請求項５記載の方法。
【請求項７】
表示手段が、前記種類に応じた検索方法にしたがって検索した検索結果を表示するステップを更に備え、
前記検索結果は、前記クエリーの種類に応じて強調表示される請求項５記載の方法。
【請求項８】
表示手段が、前記種類に応じた検索方法にしたがって検索した検索結果を表示するステップを更に備え、
前記検索結果としては、前記クエリーの種類と前記検索された検索結果を含んだ筆跡とが表示される請求項５記載の方法。
【請求項９】
コンピュータを、
座標データを含む筆跡のデータを取得する取得手段、
前記座標データに基づいて、文字列、一画マーク、下線、囲み線のいずれか一つを含むクエリーの種類に分類し、前記クエリーの種類に応じた検索方法にしたがって文書を検索する検索手段、
として機能させるためのプログラム。
【請求項１０】
前記クエリーの種類が前記文字列の場合には、前記筆跡に類似する手書き文書内の筆跡を検索し、
前記クエリーの種類が一画マークの場合には、前記筆跡に類似する前記手書き文書内の行頭の筆跡を高い優先度で検索し、
前記クエリーの種類が下線の場合には、上側に筆跡が隣接している前記手書き文書内の横線を検索し、
前記クエリーの種類が囲み線の場合には、筆跡を内包する前記手書き文書内の閉曲線を検索する、請求項９記載のプログラム。
【請求項１１】
前記種類に応じた検索方法にしたがって検索した検索結果を表示する表示手段として更に機能させ、
前記検索結果は、前記クエリーの種類に応じて強調表示される請求項９記載のプログラム。
【請求項１２】
前記種類に応じた検索方法にしたがって検索した検索結果を表示する表示手段として更に機能させ、
前記検索結果としては、前記クエリーの種類と前記検索された検索結果を含んだ筆跡とが表示される請求項９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、文書検索装置、方法およびプログラムに関する。
【背景技術】
【０００２】
ユーザが入力あるいは指定した手書きのクエリーに類似またはマッチする手書き文書をデータベースから検索する文書検索装置が知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Cheng Cheng, Bilan Zhu, Masaki Nakagawa: "A Discriminative Model for On-line Handwritten Japanese Text Retrieval", International Conference on Document Analysis and Recognition, 2011
【非特許文献２】Pasitthideth LUANGVILAY, Bilan ZHU, Masaki NAKAGAWA: "An On-line Handwritten Text Search Method based on Directional Feature Matching", International Conference on Document Analysis and Recognition, 2011
【発明の概要】
【発明が解決しようとする課題】
【０００４】
クエリーの種類に応じた検索方法により的確な検索を行えることが望ましい。
【課題を解決するための手段】
【０００５】
実施形態によれば、筆跡のデータを取得する取得部と、クエリーの種類を判定する判定部と、文書を検索する検索部と、検索結果を表示する表示部と、を具備する文書検索装置が提供される。取得部は、座標データを含む筆跡のデータを取得する。判定部は、前記座標データに基づいて前記筆跡の形状を判定することによりクエリーの種類を判定する。検索部は、前記クエリーの種類に応じた検索方法にしたがって文書を検索することにより検索結果を得る。表示部は、前記検索結果を前記クエリーの種類に応じた表示方法で表示する。
【図面の簡単な説明】
【０００６】
【図１】実施形態に係る文書検索装置のブロック図。
【図２】クエリーの種類を示す図。
【図３】クエリーの入力方法を説明するための図。
【図４】筆跡の方向に応じた区別を説明するための図。
【図５】クエリー判定の処理を示すフローチャート。
【図６】形状判定の処理を示すフローチャート。
【図７】閉ループ判定の処理を示すフローチャート。
【図８】インクデータ構造を示す図。
【図９】検索結果の表示例を示す図。
【図１０】実施形態に係る文書検索装置のハードウェア構成図。
【図１１】ネットワークを介して手書き文書データを共有するシステムの一例を示す図。
【図１２】閉ループの内側に筆跡が含まれるか否かを判定する処理を説明するための図。
【図１３】横線の近傍上部に筆跡があるか否かを判定する処理を説明するための図。
【発明を実施するための形態】
【０００７】
以下、実施の形態について、図面を参照して説明する。  
本実施形態は、検索対象およびクエリーを手書きのデータとする場合の検索システムに関する。すなわち本システムは、検索対象を「手書き文書」とし、検索に用いられるクエリーを手書きした文字等を用いたクエリー（以下「手書きクエリー」と称する）とするような、言語非依存の検索システムを主に対象とする。手書きクエリーは、文字に限らず、マーク、線等、ユーザが描画したものを含む。
【０００８】
しかし、検索対象をテキスト文書としてもよい。この場合、手書きクエリーをテキストクエリーに変換して検索を行う。また、検索対象を手書き文書とし、検索に用いられるクエリーをテキストクエリーとしてもよい。この場合、テキストクエリーを手書きクエリーに変換して検索を行う。いずれのシステム例においても、以下で説明する実施形態に従って手書きクエリーの種類を判定し、手書きクエリーの種類に応じた検索方法により検索を実行し、これに応じた適切な表示方法で検索結果を表示する。
【０００９】
本実施形態では、手書きクエリーの種類の内訳を例えば「文字列」、「１画マーク」、「下線」、「囲み線」としている。手書きクエリーの種類に応じて、類似またはマッチする手書き文書内の検索対象は異なる。例えば、手書きクエリーの種類が文字列の場合には、文字列それ自体が検索対象である。１画マークの場合には、１画マークそれ自体を検索したい場合だけではない。１画マークの場合、検索対象は、当該一画マークの前後の文字列である。手書きクエリーの種類が下線や囲み線の場合、検索したいのはその下に下線が付された文字列や、囲み線で囲まれた文字列である。
【００１０】
なお、手書きクエリーの種類としては上記のみに限定されない。当業者であれば、本開示に基づき、手書きクエリーの種類を拡大し、逆に手書きクエリーの種類を削減するなどして実施の形態を変更することができる。
【００１１】
図１に示すように、実施形態に係る文書検索装置は、筆跡のデータを取得する取得部１と、クエリーの種類を判定するクエリー判定部２と、文書を検索する検索部３と、手書き文書データベース（ＤＢ）４と、検索結果を表示する検索結果表示部５を備える。
【００１２】
取得部１は、座標データを含む筆跡のデータを取得する。
【００１３】
取得部１により取得される筆跡のデータは、１画（ストローク）ごとに分離された座標の時系列データを持ち、例えば次のように表される。  
画１：(x(1,1),y(1,1)), (x(1,2),y(1,2)),…, (x(1,N(1)),y(1,N(1)))  
画２：(x(2,1),y(2,1)), (x(2,2),y(2,2)),…, (x(2,N(2)),y(2,N(2)))  
…  
ただし、N(i)は画iサンプリング時の点数である。  
なお、手書き文書ＤＢ４に格納される手書き文書についても、上記のような筆跡のデータを有する。
【００１４】
図２にクエリーの種類を凡例によって示す。上述したように、本実施形態ではクエリーの種類を文字列、１画マーク、下線、囲み線のいずれかとしている。これらは筆跡の形状によって分類される。図２において、参照数字２０で示されるのは文字列のクエリーである。これは、例えば「アイデア」という文字列を手書き入力（あるいは手書き文書中で選択）したものである。文字列の内容は「アイデア」という文字列のみならず任意であることは言うまでもない。なお、ここでいう文字列とは、一連の文字コードからなるテキストとは異なり、筆跡の形状が文字列であることを意味する。参照数字２１で示されるのは１画マークのクエリーである。これは、例えば星印を手書き入力（あるいは手書き文書中で選択）したものである。例えば、１画マークは、ユーザの注目度が他と異なる部分に区別するために付される。また、手書き文書において箇条書きをするために行頭に筆記される場合もある。参照数字２２で示されるのは下線のクエリーである。下線は、手書き文書において文字列を強調するために筆記される場合が多い。参照数字２３で示されるのは囲み線のクエリーである。囲み線は、手書き文書において下線と同様に文字列を強調したり、特定の文字列を他の文字列とは区別するために筆記される場合が多い。  
クエリー判定部２は、取得部１により取得された筆跡の座標データに基づいて当該筆跡の形状を判定することにより、上記クエリーの種類を判定する。クエリーの種類を判定する具体的な処理については後述する。
【００１５】
図３を参照してクエリーの入力方法を説明する。クエリーの入力方法としては（ｉ）直接手書き、（ｉｉ）直接手書き選択、（ｉｉｉ）間接手書き選択がある。
【００１６】
（ｉ）直接手書きは、検索入力において、クエリーとなる筆跡をユーザが入力デバイス（スタイラスペン等）を用いて手書き入力する方法である。図３において、直接手書きされたクエリーの例３０は「アイデア」という文字列であり、同クエリーの例３１は星印の１画マークであり、同クエリーの例３２は下線であり、同クエリーの例３３は囲み線である。主には、検索入力エリアを提示し、ユーザが検索入力エリアに直接入力して実行される。
【００１７】
（ｉｉ）直接手書き選択は、上記のようにクエリーそれ自体を手書き入力するのではなく、表示された手書き文書中でクエリーとすべき筆跡を直接的に選択する方法である。例えばユーザが対角線３４を描くように入力デバイスを操作することにより、対角線３４により規定される矩形内の筆跡３５（この例では「アイデア」）を直接的に選択する。あるいは、筆跡３６そのものを入力デバイスや指でタップすることにより直接的に選択する。
【００１８】
（ｉｉｉ）間接手書き選択は、表示された手書き文書中でクエリーとすべき筆跡を間接的に選択する方法である。例えば、ユーザが下線３７を描くように入力デバイスを操作することにより、下線３７に隣接する上側の筆跡３８（この例では「アイデア」）を間接的に選択する。あるいは、囲み線３９を描くように入力デバイスを操作することにより、囲み線３９の内側の筆跡４０（この例では「アイデア」）を間接的に選択する。
【００１９】
上記（ｉｉｉ）間接手書き選択において、クエリー入力のためにユーザが下線３７を描くように入力デバイスを操作することを示したが、下線３７を描いた際の筆跡の方向をクエリー判定部２が判定し、その結果に応じて下線３７の処理を異ならせてもよい。筆跡の方向は、上述した筆跡のデータの時系列における座標値の大小関係から判断することができる。例えば、図４（ａ）に示すように、下線３７を紙面左から右の方向に筆記した場合には、これをクエリー入力とするのではなく、通常の下線の筆跡（クエリーでない筆跡）とする。一方、図４（ｂ）に示すように、下線３７を紙面右から左の方向に筆記した場合には、これをクエリー入力として扱う。具体的には、図３を参照して説明したように下線３７に隣接する上側の筆跡４２（この例では「アイデア」）を間接的に選択する。なお、囲み線等の他の筆跡についても同様に筆跡の方向を判定してもよい。例えば、時計回りに筆記した囲み線を通常の筆跡とし、反時計回りに筆記した囲み線の場合には、図３を参照して説明したように間接手書き選択であるという判定をしてもよい。このように筆跡の方向判定に応じて処理を異ならせることにより、手書き検索のユーザーインタフェースを適切に構成することができる。
【００２０】
クエリーの種類を判定する具体的な処理について図５のフローチャートを参照して説明する。
【００２１】
ステップＳ１において入力筆跡の形状判定を行う。クエリー判定部２は、取得部１により取得されたクエリー入力の筆跡データに含まれる座標データに基づいて、その筆跡の形状を判定することによりクエリーの種類を文字列、一画マーク、下線、囲み線のいずれかに判定する。
【００２２】
図６は、形状判定の処理を示すフローチャートである。この形状判定の処理は、取得部１により取得された筆跡の座標データに基づいて行われる。
【００２３】
図６のステップＳ１１において、入力クエリー（入力筆跡）が１画であるか複数画であるかを判定する。「１画」の場合には、ステップＳ１２において、その１画の筆跡が閉ループを構成しているか否かを判定する。閉ループ判定の処理を、図７を参照して説明する。折れ線Ｐ１，Ｐ２，．．Ｐｎ−１，Ｐｎが閉曲線であるかを判定する。折れ線の各線分をＬｉ＝ＰｉＰｉ＋１で表す。このとき、ＬｉとＬｊ（ｉ＜ｊ）が交差しているかどうかを調べ、交差している場合、Ｐ［ｉ］，．．．Ｐ［ｊ＋１］が閉曲線を構成していると判定する。例えば、図７の例では、線分Ｌ［２］とＬ［７］が交わっていて、Ｐ［２］，．．，Ｐ［８］が閉曲線を構成している。さらに、ストロークの始点から終点までの距離を計算し、これがストロークの全長と比較して小さいならば、閉ループと判定する。図６のステップＳ１２において閉ループと判定された場合には、ステップ１５において、閉ループの内側に筆跡が含まれるか否かを判定する。
【００２４】
閉ループの内側に筆跡が含まれるか否かを判定する処理を、図１２を参照して説明する。判定対象となる筆跡の各点Ｑ［１］，Ｑ［２］，…，Ｑ［Ｍ］がすべて閉ループ曲線内にあるとき、閉ループ内に筆跡が含まれると判定する。閉ループ内に点Ｑが含まれるかどうかは、次のように判定することができる。閉ループ曲線をＰ［１］（Ｘ［１］，Ｙ［１］），Ｐ［２］（Ｘ［２］，Ｙ［２］），…，Ｐ［Ｎ−１］（Ｘ［Ｎ−１］，Ｙ［Ｎ−１］）とし、判定対象の点をＱ（Ｘ，Ｙ）とする。
【００２５】
（１）２点Ｐ［ｉ］、Ｐ［ｉ＋１］を通る直線ｆ［ｉ］（ｘ，ｙ）＝０を  
ｆ（ｘ，ｙ）＝（Ｙ［ｉ＋１］−Ｙ［ｉ］）＊（ｘ−Ｘ［ｉ］）−（Ｘ［ｉ＋１］−Ｘ［ｉ］）＊（ｙ−Ｙ［ｉ］）＝０
として計算する。ただし、ｉ＝Ｎのときは、２点Ｐ［Ｎ］、Ｐ［０］を通る直線ｆ［Ｎ］（ｘ，ｙ）＝０となる。
【００２６】
（２）Ｑ（Ｘ，Ｙ）が直線の進行方向に対してどちら側にあるかを判定する。このためｆ［ｉ］（Ｘ，Ｙ）を計算する。この値が正なら直線の進行方向に対して右側、負なら左側になる。
【００２７】
（３）上記（１）（２）をすべてのｉについて繰り返し、Ｑ（Ｘ，Ｙ）がすべての直線ｆ［ｉ］（Ｘ，Ｙ）で同じ符号を取れば、Ｑは閉ループの内側にあると判定する。
【００２８】
ステップＳ１５において閉ループと判定された場合には、クエリーの種類は「囲み線」であると判定する。
【００２９】
ステップＳ１２またはステップＳ１５において閉ループと判定されなかった場合には、ステップＳ１３において、当該１画の筆跡は横線であるかを判定する。例えば、公知の直線回帰問題を解き、折れ線を直線で当てはめる。その処理で求められる回帰誤差が閾値以内であれば直線と判定する。直線と判定できた場合、直線の傾きの絶対値が一定値以下であれば横向きと判定する。ステップＳ１３において、横線と判定された場合には、ステップ１６において、横線の近傍上部に筆跡があるか否かを判定する。
【００３０】
横線の近傍上部に筆跡があるか否かを判定する処理を、図１３を参照して説明する。
【００３１】
判定対象となる筆跡の各点Ｑ［１］，Ｑ［２］，…，Ｑ［Ｍ］がすべて線分の上部近傍にあるとき、線分の上部近傍に筆跡があると判定する。線分の上部近傍に点Ｑがあるかどうかは次のように判定することができる。線分をＰ［１］（Ｘ［１］，Ｙ［１］），Ｐ［２］（Ｘ［２］，Ｙ［２］）、ただし、Ｘ［１］＜Ｘ［２］とし、判定対象の点をＱ（Ｘ，Ｙ）とする。以下の４式を同時に満たすとき、線分の上部近傍に点Ｑがあると判定することができる。
【００３２】
Ｘ［１］＜Ｘ
Ｘ＜Ｘ［２］  
Ｙ＞（Ｙ［１］＋Ｙ［２］）／２
Ｙ＜（Ｙ［１］＋Ｙ［２］）／２＋Ｃ
ただしＣはあらかじめ定めた閾値である。
【００３３】
ステップＳ１６において横線の近傍上部に筆跡があると判定された場合には、最終的にクエリーの種類は「下線」であると判定する。
【００３４】
ステップＳ１３またはステップS１６において横線と判定されなかった場合には、ステップＳ１４において、当該１画の筆跡はマークであるかを判定する。この場合、当該１画の筆跡と、あらかじめ決められたマーク（例：「○」、「△」、「☆」、「□」）との類似度を算出する。各マークとの類似度が一定値以下ならば「１画マーク」であると判定する。なお、あらかじめ決められたマークとの類似度を算出する具体的処理については例えば特許第３５３７９４９号明細書に記載された方法を用いてもよい。
【００３５】
図６のステップＳ１４においてマークと判定されなかった場合、ならびに、ステップＳ１１において「複数画」と判定された場合には、クエリーの種類は「文字列」と判定する。
【００３６】
図５のステップＳ２では、クエリー入力の方法が「直接筆記」であるかそれとも「選択」であるかを判定する（クエリー入力の方法については図３を参照されたい）。「直接筆記」の場合には、判定されたクエリーの種類とともに、入力された筆跡のデータをそのままクエリーとして出力する。「選択」の場合には、表示中の手書き文書からクエリーとすべき領域を選択することで筆跡のデータを抽出し、判定されたクエリーの種類とともに出力する。
【００３７】
以上のように判定されたクエリーの種類および筆跡のデータは、クエリー判定部２から検索部３および検索結果表示部５に渡される。
【００３８】
次に、検索処理起動のタイミングについて説明する。本実施形態に係る検索処理は、（ｉ）直接手書き筆記、（ｉｉ）直接手書き選択、（ｉｉｉ）間接手書き選択の各場面で検索実行をすることができる。（ｉ）直接手書き筆記の場合、筆記入力後、検索ボタンをペンで選択した際に検索処理が実行される。これは、テキスト検索の際に、テキスト入力後に検索ボタンをマウスでクリックする一連の操作に似ている。検索入力エリアを提示する場合、ペンアップ時や所定時間入力がない場合に、入力された筆跡を検索すべき筆跡としてもよい。
【００３９】
（ｉｉ）直接手書き選択の場合には、クエリー筆跡が選択されたと判定した時点で以下を実行する。
【００４０】
（１）ペンアップ時に検索処理を実行する（おもに検索モード時）。
【００４１】
あるいは、
（２）ペンアップ時にコンテクストメニューやダイアログを表示して、ユーザに検索を行うか確認する。
【００４２】
（ｉｉｉ）間接手書き選択の場合には、クエリー筆跡が選択されたと判定した時点で、上記（ｉｉ）と同様の動作を行う。
【００４３】
検索部３は、クエリー判定部２により判定されたクエリーの種類に応じた検索方法にしたがって手書き文書ＤＢ４から文書を検索することにより検索結果を得る。具体的には、以下のようにクエリーの種類に応じた検索方法にしたがって検索を行う。  
（ａ）文字列：手書き文書ＤＢ４において当該文字列のクエリーに類似またはマッチする筆跡を検索する。  
（ｂ）１画マーク：手書き文書ＤＢ４において当該１画マークのクエリーに類似またはマッチする筆跡を検索する。ただし、当該１画マークが行頭から選択されたものである場合には、検索対象を行頭だけに限定するか、行頭にあるマークの優先順位を上げる等をしてもよい。  
（ｃ）下線：手書き文書ＤＢ４において、上側に筆跡が隣接している横線を検索する。  
（ｄ）囲み線：手書き文書ＤＢ４において、内側に筆跡が含まれる閉曲線を検索する。  
ここで、文字列のクエリーに類似またはマッチする筆跡を手書き文書ＤＢ４から検索する処理の具体例について説明する。検索部３は、クエリーの筆跡を表すストローク列に類似するストローク列を例えば特徴ベクトルのマッチングによって検索する。ストロークデータ（筆跡データ）のより具体的な構造の例を図８を参照して説明する。
【００４４】
「ストローク」とは、手書き入力された筆画であり、ペン等が入力面に接してから離れるまでの軌跡を表す。通常、所定のタイミングで（例えば一定周期で）軌跡上の点がサンプリングされるので、ストロークは、サンプリングされた点の系列により表現される。
【００４５】
図８（ｂ）の例において、１ストローク分（すなわち、１画分）のストローク構造は、ペンが移動した平面上の座標値の集合（点構造）で表現され、具体的には、そのストロークを形成する点の個数を示す「点総数」、「開始時刻」、「外接図形」、点総数に相当する個数の「点構造」の配列を含む構造体である。ここで、開始時刻は、そのストロークにおいてペンが入力面に接して書き出された時刻を示す。外接図形は、文書平面上においてそのストロークの軌跡に対する外接図形（好ましくは、文書平面上においてそのストロークを内包する最小面積の矩形）を示す。
【００４６】
点の構造は、入力デバイスに依存し得る。図８（ｃ）の例では、１点の構造は、その点がサンプリングされた座標値ｘ，ｙ、筆圧並びに初期点（例えば上記の「開始時刻」）からの時間差の４値を持つ構造体である。
【００４７】
なお、座標は文書平面の座標系であり、左上の隅の原点として右下の隅になるほど値が大きくなる正の値で表現しても良い。
【００４８】
また、入力デバイスが筆圧を取得できない場合或いは筆圧を取得できても以降の処理で筆圧を使用しない場合には、図８（ｃ）の筆圧を省いても良いし或いは筆圧に無効を示すデータを記述しても良い。
【００４９】
なお、図８（ｂ），（ｃ）の例において、ストローク構造における個々の点構造の領域に、座標値ｘ，ｙ等の実データを記載しても良いし、あるいは、ストローク構造のデータと点構造のデータとを別々に管理するものとして、ストローク構造における個々の点構造の領域に、対応する点構造へのリンク情報を記載しても良い。
【００５０】
クエリーの筆跡を表すストローク列に類似するストローク列を検索する際の特徴ベクトルのマッチングの具体例としては、例えば、ＤＰマッチング（ＤＰ；Dynamic Programming、動的計画法）を利用しても良い。なお、ユーザが指定するストローク列のストローク数と、ユーザが所望するストローク列のストローク数とは、必ずしも同じにはならない可能性がある。なぜならば、例えば筆記者によっては同じ文字の２画分を１画で筆記することなどがあり、同じ意味を有する文字列であっても、筆記者によって異なる画数で筆記される可能性があるからである。通常、ストロークに関するＤＰマッチングは、１ストローク対１ストロークの対応のみを扱い、２つのストローク列間の伸縮を許容した最適な対応付けを行う手法である。そこで、ここでは、例えば、１ストローク対Ｎストロークの対応も考慮したＤＰマッチングを用いることによって、筆画変動にロバストなマッチングが可能となる（例えば、“増田, 内田, 迫江, オンライン文字認識におけるDPマッチンク゛の実験的最適化, 電気関係学会九州支部連合大会, H.17. http://human.ait.kyushu-u.ac.jp/~uchida/Papers/masuda-shibu2005.pdf”を参照）。
【００５１】
例えば、マッチングの対象となるストローク列に含まれる全てのストロークを始点として、ユーザが指定するクエリーであるストローク列との対応付けを行った後、ストローク列間の類似度を算出する。そして、各始点からの類似度を算出した後、降順にソートする。全てのストロークを始点とするため、オーバーラップした結果が得られる。その後、ピーク検出を行って、オーバーラップしたストロークの範囲を統合する。
【００５２】
なお、上記の他にも、種々のマッチング方法が可能である。
【００５３】
検索結果表示部５は、検索部３により得られた検索結果をクエリーの種類に応じた表示方法で表示する。クエリーの種類ごとの結果表示方法としては、以下の２パターンの表示方法が考えられる。  
（１）検索された筆跡と、検索筆跡に近接する筆跡とを表示する。
【００５４】
（２）検索された筆跡を含む１ページ分の筆跡を表示する。
【００５５】
ただしどちらも、クエリーの種類によって次のように強調表示方法を変えることが好ましい。
（ａ）文字列：検索筆跡に近接する筆跡を含めて表示する。ただし、検索された筆跡自体は色を変えるなどして強調表示する。  
（ｂ）１画マーク：検索筆跡に近接する筆跡を含めて表示する。ただし、検索された筆跡自体とその後に続く１行分の筆跡は色を変えるなどして強調表示する。
【００５６】
（ｃ）下線：検索筆跡に近接する筆跡を含めて表示する。ただし、検索された筆跡自体とその上に近接する筆跡は色を変えるなどして強調表示する。
【００５７】
（ｄ）囲み線：検索筆跡について近接する筆跡を含めて表示する。ただし、検索された筆跡自体とその内部に含まれる筆跡は色を変えるなどして強調表示する。
【００５８】
図９に検索結果の表示例を示す。図９（ａ）は、検索結果を示すウインドウ８０において、検索筆跡（文字列）８１に近接筆跡を含めた検索結果８２を表示する例を示している。図９（ｂ）は、検索された筆跡を含むページ８３において、１画マーク８５とともに該１画マーク８５に続く筆跡を含んだ１行分の筆跡８６を表示する例を示している。
【００５９】
以下説明した実施形態によれば、手書きクエリーの種類を判定し、手書きクエリーの種類に応じた検索方法により検索を実行し、これに応じた適切な表示方法で検索結果を表示することができる。したがって、クエリーの種類に応じた検索方法により的確な検索を行えるようになる。
【００６０】
以下、本実施形態のバリエーションについて説明する。
【００６１】
本実施形態の検索部３は、文書検索装置の内部の手書き文書ＤＢ４に蓄積されている手書き文書群を検索対象としても良いし、文書検索装置がイントラネット及び／又はインターネット等のネットワークに接続可能である場合に、ネットワークを介してアクセス可能な手書き文書群を検索対象としても良いし、文書検索装置に接続されたリムーバブル・メモリ内に蓄積された手書き文書群を検索対象としても良いし、それらの任意の組み合わせであっても良い。
【００６２】
本実施形態の文書検索装置は、スタンドアローンの装置として構成することも、ネットワークを介して通信可能な複数のノードに分散した形で構成することも可能である。
【００６３】
また、本実施形態の文書検索装置は、デスクトップ型又はラップトップ型の汎用計算機、携帯型の汎用計算機、その他の携帯型の情報機器、タッチパネルを有する情報機器、スマートフォン、その他の情報処理装置など、様々なデバイスによって実現可能である。
【００６４】
図１０に、本実施形態の文書検索装置を実現するハードウェアの構成例を示す。図中、２０１はＣＰＵ、２０２は所定の入力デバイス、２０３は所定の出力デバイス、２０４はＲＡＭ、２０５はＲＯＭ、２０６は外部メモリ・インタフェース、２０７は通信インタフェースである。例えば、タッチパネルを使用する場合には、例えば液晶パネルとペンと液晶パネル上に設けられたストローク検出装置等が利用される（図中、２０８参照）。
【００６５】
また、例えば、図１の構成の一部分をクライアント上に設け、図１の構成の残りの部分をサーバ上に設けることも可能である。
【００６６】
例えば、図１１は、イントラネット及び／又はインターネット等のネットワーク３００上にサーバ３０３が存在し、各クライアント３０１，３０２がネットワーク３００を介してそれぞれサーバ３０３と通信することによって、本実施形態の文書検索装置が実現する様子を例示している。
【００６７】
なお、クライアント３０１は、無線通信を介してネットワーク３００に接続され、クライアント３０２は、有線通信を介してネットワーク３０２に接続される場合を例示している。
【００６８】
クライアント３０１，３０２は、通常、ユーザ装置である。サーバ３０３は、例えば、企業内ＬＡＮ等のＬＡＮ上に設けられたものであっても良いし、インターネット・サービス・プロバイダ等が運営するものであっても良い。また、サーバ３０３がユーザ装置であって、あるユーザが他のユーザに機能を提供するものであっても良い。
【００６９】
図１の構成を、クライアントとサーバに分散する方法として、種々の方法が考えられる。
【００７０】
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の文書検索装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、またはこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態の文書検索装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合または読み込む場合はネットワークを通じて取得または読み込んでもよい。  
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。  
また、記録媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【００７１】
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【００７２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７３】
１…取得部、２…クエリー判定部、３…検索部、４…手書き文書データベース（ＤＢ）、５…検索結果表示部。
【図１】
0005911981.tif 000002
【図２】
0005911981.tif 000003
【図３】
0005911981.tif 000004
【図４】
0005911981.tif 000005
【図５】
0005911981.tif 000006
【図６】
0005911981.tif 000007
【図７】
0005911981.tif 000008
【図８】
0005911981.tif 000009
【図９】
0005911981.tif 000010
【図１０】
0005911981.tif 000011
【図１１】
0005911981.tif 000012
【図１２】
0005911981.tif 000013
【図１３】
0005911981.tif 000014