(57)【特許請求の範囲】
【請求項１】
改ページや改行位置が確定しているドキュメント内の一部領域を検索クエリとして、該領域が出現するドキュメント及び該ドキュメント内における位置を取得する検索要求に応えるための検索インデックスを作成し、検索を行う検索装置であって、
インデックス作成対象のドキュメントの入力を受け付けるドキュメント入力手段と、
ドキュメントの全体または一部領域から、文章を読む方向とそれに直交する方向を考慮した規定の形状内にある１文字以上の文字の組み合わせからなる文字ブロックを抽出する文字ブロック抽出手段と、
前記文字ブロックと該文字ブロックが出現するドキュメントにおける出現位置を関連付けてインデックス記憶手段に出力するインデックス出力手段と、
を有することを特徴とする検索装置。
【請求項２】
前記文字ブロックの中から、１文字以上の特定文字列を含むものだけを選別して以降の処理対象とする文字ブロック選別手段を更に有する
請求項１記載の検索装置。
【請求項３】
前記特定文字列は、
予め指定された分析対象のドキュメントの各領域に満遍なく出現する１文字以上の文字列とする
請求項２記載の検索装置。
【請求項４】
ドキュメントに存在する複数の文字ブロックを含む範囲をリージョンとして同一の検索結果候補として集計を行い、集計結果が一定基準を満たす検索結果候補リージョン群を検索結果として特定する検索手段を更に有する
請求項１記載の検索装置。
【請求項５】
ドキュメント内の特定位置に関連付けられたコンテンツが検索結果候補である場合に、
同一コンテンツが関連付けられた位置群を同一の検索結果候補として集計を行い、集計結果が一定基準を満たす検索結果候補群を検索結果として特定する検索手段を更に有する
請求項１記載の検索装置。
【請求項６】
前記特定文字列は、文字が撮影された画像から文字情報を抽出する光学文字認識装置が利用する認識辞書記憶手段を参照して取得する
請求項２記載の検索装置。
【請求項７】
前記特定文字列は、
予め指定された分析対象のドキュメントに所定の回数以上出現しない１文字以上の文字列とする
請求項２記載の検索装置。
【請求項８】
前記特定文字列は、
予め指定されたシンプルな形状の文字からなる１文字以上の文字列とする
請求項２記載の検索装置。
【請求項９】
あるドキュメント内の一部領域を検索クエリとして受け付ける入力手段と、
前記検索クエリから、１文字以上の組み合わせからなるクエリ文字ブロックを抽出するクエリ文字ブロック抽出手段と、
前記クエリ文字ブロックに基づいて、前記インデックス記憶手段を検索し、その検索結果を出力する検索手段と、
を更に有し、
前記検索手段は、
前記クエリ文字ブロックに基づいて、前記インデックス記憶手段を検索し、その検索結果を出力する
請求項１記載の検索装置。
【請求項１０】
前記入力手段は、
あるドキュメント内の一部領域を撮影した画像を、一般的な光学文字認識装置を用いて該画像に写っている文字列をテキストデータに変換した検索クエリを受け付ける手段を含む
請求項９記載の検索装置。
【請求項１１】
前記検索結果であるドキュメント及び該ドキュメント内における位置に関連付けられたコンテンツを、検索結果と併せて、あるいは、単独で出力する手段を更に有する
請求項９記載の検索装置。
【請求項１２】
前記クエリ文字ブロックの中から、１文字以上の特定文字列を含むものだけを選別して以降の処理対象とするクエリ文字ブロック選別手段を更に有する
請求項９記載の検索装置。
【請求項１３】
光学文字認識装置が利用する認識辞書に登録されている１文字以上の文字列を特定文字列とする
請求項１２記載の検索装置。
【請求項１４】
前記特定文字列は、
予め指定された分析対象のドキュメントの各領域に満遍なく出現する１文字以上の文字列とする
請求項１２記載の検索装置。
【請求項１５】
前記特定文字列は、
予め指定された分析対象のドキュメントに所定の回数以上出現しない１文字以上の文字列とする
請求項１２記載の検索装置。
【請求項１６】
前記特定文字列は、
予め指定されたシンプルな形状の文字からなる１文字以上の文字列とする
請求項１２記載の検索装置。
【請求項１７】
改ページや改行位置が確定しているドキュメント内の一部領域を検索クエリとして、該領域が出現するドキュメント及び該ドキュメント内における位置を取得する検索要求に応えるための検索インデックスを作成し、検索を行う装置における検索方法であって、
ドキュメント入力手段が、インデックス作成対象のドキュメントの入力を受け付けるドキュメント入力ステップと、
文字ブロック抽出手段が、ドキュメントの全体または一部領域から、文章を読む方向とそれに直交する方向を考慮した規定の形状内にある１文字以上の文字の組み合わせからなる文字ブロックを抽出する文字ブロック抽出ステップと、
インデックス出力手段が、前記文字ブロックと該文字ブロックが出現するドキュメントにおける出現位置を関連付けてインデックス記憶手段に出力するインデックス出力ステップと、
を行うことを特徴とする検索方法。
【請求項１８】
入力手段が、あるドキュメント内の一部領域を検索クエリとして受け付ける入力ステップと、
クエリ文字ブロック抽出手段が、前記検索クエリから、１文字以上の組み合わせからなるクエリ文字ブロックを抽出するクエリ文字ブロック抽出ステップと、
検索手段が、前記クエリ文字ブロックに基づいて、前記インデックス記憶手段を検索し、その検索結果を出力する検索ステップと、
を更に行う請求項１７記載の検索方法。
【請求項１９】
文字ブロック選別手段が、前記文字ブロックの中から、１文字以上の特定文字列を含むものだけを選別して以降の処理対象とする文字ブロック選別ステップを更に行う
請求項１７記載の検索方法。
【請求項２０】
前記特定文字列を、予め指定された分析対象のドキュメントの各領域に満遍なく出現する１文字以上の文字列とする
請求項１９記載の検索方法。
【請求項２１】
クエリ文字ブロック選別手段が、前記クエリ文字ブロックの中から、１文字以上の特定文字列を含むものだけを選別して以降の処理対象とするクエリ文字ブロック選別ステップを更に行う
請求項１８記載の検索方法。
【請求項２２】
請求項１乃至１６のいずれか１項に記載の検索装置を構成する各手段としてコンピュータを機能させるための検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索装置及び方法及びプログラムに係り、特に、改ページや改行位置が確定しているドキュメント内の部分領域の撮影画像を検索クエリとして、該領域が出現するドキュメント及び該ドキュメント内における位置を取得する検索要求に応えるための、ドキュメント及びドキュメント内の各位置のインデックスを作成する検索装置及び方法及びプログラムに関する。
【０００２】
特に、改ページや改行位置が確定しているドキュメント内の該領域を含む可能性があるドキュメント及びドキュメント内における位置を網羅的に取得するのではなく、位置を一意に特定したい場合に適用される検索装及び方法及びプログラムに関する。
【背景技術】
【０００３】
ドキュメントの一部領域から、該領域がどのドキュメントに含まれているか、あるいは、どのドキュメントのどの位置に含まれているか一意に特定することが必要なシーンは少なくない。
【０００４】
例えば、手元に雑誌の切り抜きがある場合、切り抜いた元の雑誌を探して、切抜きの続きを読みたいことがある。この場合、当該切抜きがどの雑誌の一部であったか一意に特定できる必要がある。
【０００５】
上記の事例は、ドキュメントの一部領域をクエリとし、膨大な量のドキュメント群の中から、該領域を含むドキュメント名、あるいはドキュメント名及びドキュメントにおける位置を問い合わせる検索システムと捉えることができる。
【０００６】
そして、ドキュメント群の中から情報を取得する検索要求に応えるシステムを構築するためには、ドキュメント群を事前に分析してインデックスを作成する必要がある。
【０００７】
例えば、日本語の場合は形態素解析等の技術を用いて、ドキュメント内の文書を単語単位に分割した後、単語をインデックスのキーとし、該単語を含むドキュメント名、あるいは、ドキュメント名及びドキュメント中において該単語が登場する位置をインデックスの値とする方式が挙げられる。
【０００８】
また、Ｎ文字（あるいはＮ単語）の連なりをインデックスのキーとし、その文字（あるいは単語）の連なりを含むドキュメント名、あるいは、ドキュメント名及びドキュメント中においてその文字（あるいは単語）の連なりが登場する位置をインデックスの値とする方式（文字のN-gram方式、単語のN-gram方式）もある。N-gram方式は幅広い場面で有用性が認められており、現在でも多くの拡張手法が提案されている。また、通常のN-gram方式に加え、状況に応じてＮの値を変動させる方式も実施されている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】「Unicodeを用いたN-gram索引の一実現方式とその評価」情報処理学会研究会報告、2000-NL-136-17,pp.135-142.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記従来の方式はどちらも、（１）インデックス識別能力低下、（２）検索ロバスト性低下の問題がある。
【００１１】
（１）インデックス識別能力低下の問題：
上記従来の技術では、分析対象のドキュメント数が増えるほど、インデックスのキーと値が１対１に定まらないケースが多く発生するという、インデックス識別能力低下の問題を抱えている。
【００１２】
例えば、「情報」といった一般的な単語がインデックスのキーとなっている場合、複数のドキュメント名がインデックスの値として該キーに関連付けられている可能性が高い。
【００１３】
N-gram法を用いると問題は多少改善するが、完全には解決しない。文章とは単語がランダムに並んでいるのではなく、文章として意味を成すように並んでいる。このため、意味を成すような文字（あるいは単語）の連なりは多くのドキュメントに含まれる傾向がある。例えば、２単語の連なりをインデックスのキーとする場合、「情報＋ラクダ」のような意味不明な連なりを含むドキュメントは滅多に存在しないが、「情報＋検索」、「情報＋処理」といった連なりを含むドキュメントは無数に存在する。つまり「情報＋検索」、「情報＋処理」等の、意味を成すような文字・単語の連なりから成るキーには、複数のドキュメント名がインデックスの値として該キーに関連付けられている可能性が高い。
【００１４】
これらの現象は、ある文字列を含むドキュメント名等を網羅的に取得する検索要求に応えるシステムを構築する場合には問題にならない。しかし、技術分野や背景技術の欄で述べたとおり、特定ドキュメントの特定位置を唯一の検索結果として取得する検索要求に応えるシステムを構築する場合には大きな問題になる。
【００１５】
（２）検索ロバスト性低下の問題：
前述の単語のN-gramの場合、Ｎの値を大きくすれば、インデックスのキーと値が１対１に定まらないケースは減少する。例えば、「情報＋検索」（Ｎ＝２），「日本語＋情報＋検索」（Ｎ＝３），「次世代＋日本語＋情報＋検索」（Ｎ＝４）とＮを大きくするほど、インデックスのキーと値が１対１に定まりやすくなる。
【００１６】
しかし、インデックスのキーをクエリとして検索する状況において、上記のようにインデックスのキーの文字数を多くする等して情報量を増やす場合、クエリに一定確率でノイズが含まれると正しい検索結果が得られないという、検索ロバスト性低下の問題が発生する。
【００１７】
例えば、紙に書かれた文字列をＯＣＲで光学文字認識を行い、該文字列をクエリとする場合、あるいは専用ディスプレイにタッチペンで書いた文字を手書き文字認識して該文字列をクエリとする場合、文字認識処理の過程で読み取りエラー（誤認識）が発生することがある。この場合、「情報検索」と書かれた短い文字列をスキャンするよりも、「次世代日本語情報検索」と書かれた長い文字列を読み込む方が読み込みエラーが発生する可能性が高く、読み込みエラーによるクエリでは正しい検索結果が得られない。
【００１８】
本発明は、上記の点に鑑みなされたもので、インデックスの識別能力低下、及び検索ロバスト性低下という問題を解決し、ドキュメント群の中から特定ドキュメントの特定位置を一意に取得する検索要求に応じることができ、また、クエリにノイズが含まれる場合においても、精度を低下させずに、検索要求に応じることができる検索装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
図１は、本発明の原理構成図である。
【００２０】
本発明（請求項１）は、改ページや改行位置が確定しているドキュメント内の一部領域を検索クエリとして、該領域が出現するドキュメント及び該ドキュメント内における位置を取得する検索要求に応えるための検索インデックスを作成し、検索を行う検索装置であって、
インデックス作成対象のドキュメントの入力を受け付けるドキュメント入力手段１０と、
ドキュメントの全体または一部領域から、文章を読む方向とそれに直交する方向を考慮した規定の形状内にある１文字以上の文字の組み合わせからなる文字ブロックを抽出する文字ブロック抽出手段１１と、
文字ブロックと該文字ブロックが出現するドキュメントにおける出現位置を関連付けてインデックス記憶手段１３に出力するインデックス出力手段１２と、を有する。
【００２１】
また、本発明（請求項２）は、請求項１の検索装置において、
文字ブロックの中から、１文字以上の特定文字列を含むものだけを選別して以降の処理対象とする文字ブロック選別手段を更に有する。
【００２２】
また、本発明（請求項３）は、請求項１の検索装置において、
特定文字列を、予め指定された分析対象のドキュメントの各領域に満遍なく出現する１文字以上の文字列とする。
【００２３】
また、本発明（請求項４）は、請求項１の検索装置において、
ドキュメントに存在する複数の文字ブロックを含む範囲をリージョンとして同一の検索結果候補として集計を行い、集計結果が一定基準を満たす検索結果候補リージョン群を検索結果として特定する検索手段を更に有する。
【００２４】
また、本発明（請求項５）は、ドキュメント内の特定位置に関連付けられたコンテンツが検索結果候補である場合に、
同一コンテンツが関連付けられた位置群を同一の検索結果候補として集計を行い、集計結果が一定基準を満たす検索結果候補群を検索結果として特定する検索手段を更に有する。
【００２５】
また、本発明（請求項６）は、請求項２の検索装置において、
特定文字列を、文字が撮影された画像から文字情報を抽出する光学文字認識装置が利用する認識辞書記憶手段を参照して取得する。
【００２６】
また、本発明（請求項７）は、請求項２の検索装置において、
特定文字列を、予め指定された分析対象のドキュメントに所定の回数以上出現しない１文字以上の文字列とする。
【００２７】
また、本発明（請求項８）は、請求項２の検索装置において、
特定文字列を、予め指定されたシンプルな形状の文字からなる１文字以上の文字列とする。
【００２８】
また、本発明（請求項９）は、請求項１の検索装置において、
あるドキュメント内の一部領域を検索クエリとして受け付ける入力手段と、
検索クエリから、１文字以上の組み合わせからなるクエリ文字ブロックを抽出するクエリ文字ブロック抽出手段と、
クエリ文字ブロックに基づいて、インデックス記憶手段を検索し、その検索結果を出力する検索手段と、
を更に有し、
検索手段は、
クエリ文字ブロックに基づいて、前記インデックス記憶手段を検索し、その検索結果を出力する。
【００２９】
また、本発明（請求項１０）は、請求項９の検索装置において、
入力手段は、
あるドキュメント内の一部領域を撮影した画像を、一般的な光学文字認識装置を用いて該画像に写っている文字列をテキストデータに変換した検索クエリを受け付ける手段を含む。
【００３０】
また、本発明（請求項１１）は、請求項９の検索装置において、
検索結果であるドキュメント及び該ドキュメント内における位置に関連付けられたコンテンツを、検索結果と併せて、あるいは、単独で出力する手段を更に有する。
【００３１】
また、本発明（請求項１２）は、請求項９の検索装置において、
クエリ文字ブロックの中から、１文字以上の特定文字列を含むものだけを選別して以降の処理対象とするクエリ文字ブロック選別手段を更に有する。
【００３２】
また、本発明（請求項１３）は、請求項１２の検索装置において、
光学文字認識装置が利用する認識辞書に登録されている１文字以上の文字列を特定文字列とする。
【００３３】
また、本発明（請求項１４）は、請求項１２の検索装置において、
特定文字列を、予め指定された分析対象のドキュメントの各領域に満遍なく出現する１文字以上の文字列とする。
【００３４】
また、本発明（請求項１５）は、請求項１２の検索装置において、
特定文字列を、予め指定された分析対象のドキュメントに所定の回数以上出現しない１文字以上の文字列とする。
【００３５】
また、本発明（請求項１６）は、請求項１２の検索装置において、
特定文字列を、予め指定されたシンプルな形状の文字からなる１文字以上の文字列とする。
【００３６】
図２は、本発明の原理を説明するための図である。
【００３７】
本発明（請求項１７）は、改ページや改行位置が確定しているドキュメント内の一部領域を検索クエリとして、該領域が出現するドキュメント及び該ドキュメント内における位置を取得する検索要求に応えるための検索インデックスを作成し、検索を行う装置における検索方法であって、
ドキュメント入力手段が、インデックス作成対象のドキュメントの入力を受け付けるドキュメント入力ステップ（ステップ１）と、
文字ブロック抽出手段が、ドキュメントの全体または一部領域から、文章を読む方向とそれに直交する方向を考慮した規定の形状内にある１文字以上の文字の組み合わせからなる文字ブロックを抽出する文字ブロック抽出ステップ（ステップ２）と、
インデックス出力手段が、文字ブロックと該文字ブロックが出現するドキュメントにおける出現位置を関連付けてインデックス記憶手段に出力するインデックス出力ステップ（ステップ３）と、を行う。
【００３８】
また、本発明（請求項１８）は、請求項１７の検索方法において、
入力手段が、あるドキュメント内の一部領域を検索クエリとして受け付ける入力ステップと、
クエリ文字ブロック抽出手段が、検索クエリから、１文字以上の組み合わせからなるクエリ文字ブロックを抽出するクエリ文字ブロック抽出ステップと、
検索手段が、クエリ文字ブロックに基づいて、インデックス記憶手段を検索し、その検索結果を出力する検索ステップと、を更に行う。
【００３９】
また、本発明（請求項１９）は、請求項１７の検索方法において、
文字ブロック選別手段が、文字ブロックの中から、１文字以上の特定文字列を含むものだけを選別して以降の処理対象とする文字ブロック選別ステップを更に行う。
【００４０】
また、本発明（請求項２０）は、請求項１９の検索方法において、
特定文字列を、予め指定された分析対象のドキュメントの各領域に満遍なく出現する１文字以上の文字列とする。
【００４１】
また、本発明（請求項２１）は、請求項１８の検索方法において、
クエリ文字ブロック選別手段が、クエリ文字ブロックの中から、１文字以上の特定文字列を含むものだけを選別して以降の処理対象とするクエリ文字ブロック選別ステップを更に行う。
【００４２】
本発明（請求項２２）は、請求項１乃至１６のいずれか１項に記載の検索装置を構成する各手段としてコンピュータを機能させるための検索プログラムである。
【発明の効果】
【００４３】
上記のように本発明によれば、ドキュメント群の中から特定ドキュメントの特定位置を一意に取得する検索要求に応じることができる。例えば、手元に書籍の一部を切り抜きしかない場合でも、その切り抜きがどの書籍のどの部分であったか突き止めることができる。
【００４４】
また、クエリにノイズが含まれる場合においても、精度を大幅に低下させずに上記検索要求に応じることができる。
【００４５】
例えば、ドキュメントの一部を写真撮影して光学文字認識処理を行ったような、ノイズが混じりやすいデータをクエリとしても精度が大幅に低下することがない。
【００４６】
また、特定文字列を含む部分のみを文字ブロックとして利用することで、検索の網羅性を大幅に低減させることなく、インデックスサイズを減らすことができる。この際、特定文字列を光学文字認識装置が内部に保有している辞書に登録されている文字列のみとすれば、さらに、光学文字認識処理の誤認識の影響を低減できる。さらに、「▼」のような通常の文章中に頻出しない（所定の回数以上出現しない）シンプルな文字を特定文字列とし、かつ、ドキュメント中のインデックス作成箇所に付与すれば、光学文字認識処理の誤認識の影響を軽減でき、かつ、クライアント部を利用するユーザに対してインデックス作成箇所の目印になる。
【図面の簡単な説明】
【００４７】
【図１】本発明の原理構成図である。
【図２】本発明の原理を説明するための図である。
【図３】本発明の第１の実施の形態におけるインデックス作成装置の構成図である。
【図４】本発明の第１の実施の形態における読み込まれたＰＤＦファイル（書名：begetable、ファイル名：vegetable3．pdf、ページ：３ページ目）の例である。
【図５】本発明の第１の実施の形態におけるインデックスを作成する処理のフローチャートである。
【図６】本発明の第１の実施の形態における入力されたドキュメントの各ページのリストのデータ構造例である。
【図７】本発明の第１の実施の形態における文字ブロックの例である。
【図８】本発明の第１の実施の形態における文字ブロック抽出ルールの例である。
【図９】本発明の第１の実施の形態における文字ブロック抽出部の処理結果である。
【図１０】本発明の第２の実施の形態におけるシステム構成図である。
【図１１】本発明の第２の実施の形態における紙媒体（書名：vegetable、ページ：３ページ目）の例である。
【図１２】本発明の第２の実施の形態におけるインデックス作成処理のフローチャートである。
【図１３】本発明の第２の実施の形態におけるリスト化されたテキストファイルの例である。
【図１４】本発明の第２の実施の形態における文字ブロック抽出の例である。
【図１５】本発明の第２の実施の形態における文字ブロック抽出ルールの例である。
【図１６】本発明の第２の実施の形態における文字ブロック抽出部の処理結果である。
【図１７】本発明の第２の実施の形態におけるコンテンツＤＢの例である。
【図１８】本発明の第２の実施の形態におけるクライアント部からサーバ部へ問い合わせる作業のフローチャートである。
【図１９】本発明の第２の実施の形態における画像ファイルの例である。
【図２０】本発明の第２の実施の形態における画像ファイルから抽出されたテキストデータの例である。
【図２１】本発明の第２の実施の形態における抽出された文字ブロックの例である。
【図２２】本発明の第２の実施の形態における文字ブロック抽出ルールの例である。
【図２３】本発明の第２の実施の形態における文字ブロック抽出部の処理結果である。
【図２４】本発明の第２の実施の形態における問い合わせ結果である。
【図２５】本発明の第２の実施の形態におけるコンテンツＤＢへの問い合わせ結果である。
【図２６】本発明の第２の実施の形態における重複数集計後のコンテンツＤＢへの問い合わせ結果である。
【図２７】本発明の第２の実施の形態におけるコンテンツ表示部のコンテンツ表示手段の例である。
【図２８】本発明の第３の実施の形態におけるシステム構成図である。
【図２９】本発明の第３の実施の形態におけるリージョンＤＢの例である。
【図３０】本発明の第３の実施の形態におけるコンテンツＤＢの例である。
【図３１】本発明の第３の実施の形態におけるテキストファイル抽出（誤認識）の例である。
【図３２】本発明の第３の実施の形態における文字ブロック抽出部の処理結果である。
【図３３】本発明の第３の実施の形態におけるインデックスＤＢへの問い合わせ結果である。
【図３４】本発明の第３の実施の形態におけるコンテンツＤＢへの問い合わせ結果である。
【図３５】本発明の第３の実施の形態における重複数集計後のコンテンツＤＢ問い合わせ結果である。
【図３６】本発明の第４の実施の形態におけるインデックス作成装置の構成図である。
【図３７】本発明の第４の実施の形態における読み取られたＰＤＦファイル（書名：yokohama、ファイル名：yokohama2．pdf、ページ：２ページ目）の例である。
【図３８】本発明の第４の実施の形態における処理のフローチャートである。
【図３９】本発明の第４の実施の形態における入力されたページのリストである。
【図４０】本発明の第４の実施の形態における抽出された文字ブロックの例である。
【図４１】本発明の第４の実施の形態における文字ブロック抽出ルールの例である。
【図４２】本発明の第４の実施の形態における文字ブロック抽出部の処理結果である。
【図４３】本発明の第４の実施の形態における文字ブロック選別部の処理結果である。
【図４４】本発明の第５の実施の形態におけるシステム構成図である。
【図４５】本発明の第５の実施の形態における光学文字認識装置内の文字列辞書の例である。
【図４６】本発明の第５の実施の形態における紙媒体（書名：yokohama、ページ：２ページ目）の例である。
【図４７】本発明の第５の実施の形態におけるサーバ部でインデックスを作成する処理のフローチャートである。
【図４８】本発明の第５の実施の形態における文字ブロック選別部の処理結果である。
【図４９】本発明の第５の実施の形態における紙媒体（書名：yokohama、ページ：２ページ目）の例である。
【図５０】本発明の第６の実施の形態におけるドキュメント内にＱＲコードが存在する例である。
【図５１】本発明の第７の実施の形態におけるインデックス作成装置の構成図である。
【図５２】本発明の第７の実施の形態におけるドキュメントの例である。
【図５３】本発明の第７の実施の形態における処理のフローチャートである。
【図５４】本発明の第７の実施の形態におけるドキュメントリストのデータ構造である。
【図５５】本発明の第７の実施の形態における文字列分割（文字の2-gram方式）の例である。
【図５６】本発明の第７の実施の形態における基本文字列抽出部の処理結果である。
【図５７】本発明の第７の実施の形態における周辺文字列抽出部の文字列の抽出例である。
【図５８】本発明の第７の実施の形態における周辺文字列抽出部の処理結果である。
【図５９】本発明の第８の実施の形態における検索システムの構成図である。
【図６０】本発明の第８の実施の形態におけるドキュメントの例である。
【図６１】本発明の第８の実施の形態におけるサーバ側の処理のフローチャートである。
【図６２】本発明の第８の実施の形態におけるテキストをデータ構造でリスト化した例である。
【図６３】本発明の第８の実施の形態における文字の2-gram方式で文字列分割した例である。
【図６４】本発明の第８の実施の形態における基本文字列抽出部の処理結果である。
【図６５】本発明の第８の実施の形態における周辺文字列の抽出例である。
【図６６】本発明の第８の実施の形態における周辺文字列抽出部の処理結果である。
【図６７】本発明の第８の実施の形態におけるコンテンツＤＢのデータ構造である。
【図６８】本発明の第８の実施の形態におけるクライアント部からサーバ部に問い合わせる処理のフローチャートである。
【図６９】本発明の第８の実施の形態におけるドキュメントページの例である。
【図７０】本発明の第８の実施の形態における作成された画像ファイルの例である。
【図７１】本発明の第８の実施の形態における画像ファイルから抽出されたテキストデータの例である。
【図７２】本発明の第８の実施の形態におけるテキストデータの例である。
【図７３】本発明の第８の実施の形態における文字の2-gram方式で基本文字列を抽出する例である。
【図７４】本発明の第８の実施の形態における基本文字列抽出部で抽出した基本文字列の例である。
【図７５】本発明の第８の実施の形態における周辺文字列の抽出方法の例である。
【図７６】本発明の第８の実施の形態における基本文字列と周辺文字列が関連付けられたデータの例である。
【図７７】本発明の第８の実施の形態における問い合わせ結果の例（その１）である。
【図７８】本発明の第８の実施の形態における問い合わせ結果の例（その２）である。
【図７９】本発明の第８の実施の形態における問い合わせ結果の例（その３）である。
【図８０】本発明の第８の実施の形態における表示データ例の例である。
【図８１】本発明の第９の実施の形態における領域抽出例である。
【図８２】本発明の第９の実施の形態において抽出された基本文字列と周辺文字列の組である。
【図８３】本発明の第９の実施の形態における誤認識データが含まれる問い合わせ結果の例である。
【図８４】本発明の第９の実施の形態における処理のフローチャートである。
【図８５】本発明の第９の実施の形態における問い合わせ結果の例である。
【図８６】本発明の第９の実施の形態における変換された問い合わせ結果の例である。
【発明を実施するための形態】
【００４８】
以下、図面と共に本発明の実施の形態を説明する。
【００４９】
なお、特に図示しないが、以下の各実施の形態における検索装置やシステムを構成する各構成要素は、それぞれ、入力されたデータ及び処理結果を格納するメモリを有するものとする。
【００５０】
［第１の実施の形態］
本実施の形態では、検索装置に含まれる検索を実行するためのインデックスを作成する部分（インデックス作成装置）にのみ言及する。
【００５１】
図３は、本発明の第１の実施の形態におけるインデックス作成装置の構成を示す。
【００５２】
同図に示すインデックス作成装置は、ドキュメント入力部１０、文字ブロック抽出部１１、インデックス出力部１２、インデックスＤＢ１３から構成される。
【００５３】
入力されるドキュメントは、文字を含むページの集合からなる紙媒体の書籍とする。本実施の形態では、この書籍の各ページをスキャナ（一般装置）で読み取り、図４に示すように、異なる閲覧環境（ＯＳ，ＰＤＦ閲覧ソフト等）においてもレイアウトが変化しない電子ファイル（ＰＤＦファイル等）に変換する。図４は、ＰＤＦファイル（書名：vegetable、ファイル名：vegetable3.pdf、ページ：３ページ目）の例である。
【００５４】
なお、図４は文章のみからなるページの例であるが、ページには図や表などの文字以外の情報が含まれていてもよい。
【００５５】
また、文字ブロック抽出部１１は、入力されたドキュメントから抽出した文字ブロックを格納するメモリ（図示せず)を有するものとする。
【００５６】
図５は、本発明の第１の実施の形態におけるインデックスを作成する処理のフローチャートである。当該処理は、インデックス作成対象となるドキュメント群を入力する入力ステップ（ステップ１１０、１２０）、各ドキュメントの各ページ内から文字ブロックを抽出する文字ブロック抽出ステップ（ステップ１３０）、検索を実行するためのインデックスを出力する出力ステップ（ステップ１４０）に大別される。
【００５７】
ステップ１１０）  ドキュメント入力部１０は、インデックス作成対象(分析対象)となるドキュメント群を受け付ける。
【００５８】
ステップ１２０）  ドキュメント入力部１０は、入力された各ページのリストを図６に示すデータ構造で文字ブロック抽出部１１のメモリ(図示せず)に格納する。リスト内の各要素は、各ページを一意に示すものとする。なお、説明の便宜上、ここでは各ページを一意に表す情報としてファイル名を用いているが、ファイルのハッシュ値等、ページを一意に識別できる情報であれば他の情報を利用してもかまわない。
【００５９】
ステップ１３０）  文字ブロック抽出部１１は、入力された各ドキュメントの各ページ内から文字ブロックを抽出する。詳しくは、ドキュメント入力部１０から渡され、メモリ（図示せず）に格納されたリストに記載されている各ページを読み込み、各ページから文字ブロック群を文字ブロック抽出ルール記憶部１４のルールに則って抽出し、各文字ブロックと各文字ブロックの抽出元ページのファイル名と当該ページにおける各文字ブロックの出現位置を関連付けてインデックス出力部１２に渡す。
【００６０】
ここで「文字ブロック」とは、ページ内に並んでいる文字列から、規定の形状で抽出した１文字以上の文字群のことである。ここでは、図７のように、規定の形状を十字型として抽出する。
【００６１】
また、文字ブロック抽出ルール記憶部１４に格納されている文字ブロック抽出ルールとは、ページからどのように文字ブロックを抽出するか規定するルールである。ここでは、図８のように、左上隅から右下隅方向へ１文字ずつずらしながら抽出することとする。
【００６２】
また、「文字ブロックの出現位置」とは、文字ブロックがページのどの位置に出現しているか、システムの目的に応じて任意の粒度で示す位置情報である。ここでは、十字型文字ブロックの上端の文字の行、列の粒度で表現することとする。
【００６３】
図９は、本発明の第１の実施の形態における文字ブロック抽出部の処理結果である。
【００６４】
同図では、文字ブロック抽出部１１の処理結果を示しており、このデータがインデックス出力部１２に渡される。なお、ここでは、文字ブロックを、文字ブロックを構成する文字を上方、左方から順番に並べて表現している。
【００６５】
ステップ１４０）  インデックス出力部１２は、検索を実行するためのインデックスをインデックスＤＢ１３に出力する。詳しくは、文字ブロック抽出部１１から渡された各文字ブロックを図９のデータ構造でインデックスＤＢ１３に格納する。これにより、文字ブロックを問い合わせキーとしてファイル名及び出現位置を問い合わせ結果として返すインデックスＤＢ１３を実現する。
【００６６】
上記のように、文字をブロック単位で扱うことにより、ドキュメント内の各位置に固有になりやすい文字列パターンを、少ない文字数で表現できるため、識別能力が高く、ロバスト性が高いインデックスを実現できる。
【００６７】
［第２の実施の形態］
本実施の形態では、サーバ部とクライアント部を設け、サーバ部においてインデックスを作成し、クライアント部からサーバ部にインデックスを問い合わせ表示する例を説明する。
【００６８】
図１０は、本発明の第２の実施の形態におけるシステム構成を示す。
【００６９】
同図に示すシステムは、大きく分けてサーバ部３００、クライアント部４００、外部装置からなる。
【００７０】
サーバ部３００は、データ入力部３１０、文字ブロック抽出部３２０、インデックス出力部３３０、インデックスＤＢ３４０，コンテンツＤＢ３５０，サーバ側データ送受信部３６０、ＤＢ問い合わせ部３７０、文字ブロック抽出ルール記憶部３２１からなる。
【００７１】
クライアント部４００は、クライアント側デバイス４１０、クライアント側データ送受信部４２０を有し、クライアント側デバイス４１０は、ドキュメント撮影部５１１、コンテンツ表示部４１２を有する。
【００７２】
外部装置としては、ドキュメント群２００を読み取るドキュメント読み取り装置１００と、光学文字認識装置１０１が設けられる。
【００７３】
ドキュメントは、文字を含むページの集合からなる紙媒体の書籍とする。本実施の形態でドキュメント読み取り装置１００に入力されるドキュメント群２００を構成している各ページ及びクライアント部４００に入力されるドキュメントページ゛２０１の例を図１１に示す。
【００７４】
ドキュメント読み取り装置１００は、サーバ部３００のデータ入力部３１０に接続されている。光学文字認識装置１０１は、サーバ部３００のデータ送受信部３６０に接続されている。
【００７５】
本実施の形態では、
（１）サーバ部３００においてインデックスを作成する作業；
（２）クライアント部４００からサーバ部３００に問い合わせる作業；
を行う。
【００７６】
（１）サーバ部３００においてインデックスを作成する作業：
当該処理は、前述の第１の実施の形態におけるインデックス作成装置に相当する。図１２は、本発明の第２の実施の形態におけるインデックス作成処理のフローチャートである。
【００７７】
以下では、インデックス作成対象となるドキュメントを入力する入力ステップ（ステップ２１０，２２０）、各ドキュメントの各ページ内から文字ブロックを抽出する文字ブロック抽出ステップ（ステップ２３０）、検索を実行するためのインデックスを出力する出力ステップ（ステップ２４０）を行う。
【００７８】
ステップ２１０）  サーバ部３００のデータ入力部３１０は、ドキュメント群２００の各ドキュメントの各ページを、ドキュメント読み取り装置１００で読み取り、データ入力部３１０に渡す。
【００７９】
ここで、ドキュメント読み取り装置１００は、紙媒体に印刷されたテキストを読み取ってテキストファイルに変換する一般装置であり、ＯＣＲ機能付きスキャナ等がこれに該当する。ここでは、各ページ中のテキストは紙媒体に印刷された状態における改ページ位置、改行位置が保持されたままテキストファイルに変換されたものとする。
【００８０】
ステップ２２０）  データ入力部２０は、ドキュメント読み取り装置１００から渡されたテキストファイル群を読み込み、図１３に示すデータ構造でリスト化して、サーバ部３００の文字ブロック抽出部３２０に渡す。なお、説明の便宜上、ここでは、各ページを一意に示す情報としてファイル名を用いているが、ファイルのハッシュ値等、ページを一意に識別できる情報であれば他の情報を利用しても構わない。
【００８１】
ステップ２３０）  サーバ部３００の文字ブロック抽出部３２０は、データ入力部３１０から渡されたリストに記載されている各ページを読み込み、各ページから文字ブロック群を文字ブロック抽出ルール記憶部３２１のルールに則って抽出し、各文字ブロックと各文字ブロックの抽出元ページのファイル名と該ページにおける該文字ブロックの出現位置を関連付けて、インデックス出力部３３０に渡す。
【００８２】
ここで、「文字ブロック」とは、ページ内に並んでいる文字列から、規定の形状で抽出した１文字以上の文字群のことである。ここでは、図１４のように規定の形状を箱型として抽出する。
【００８３】
また、文字ブロック抽出ルール記憶部３２１に格納されている「文字ブロック抽出ルール」とは、ドキュメントからどのような文字ブロックを抽出するかを規定するルールである。ここでは、図１５のように、左上隅から右下隅方向へ２文字ずつずらしながら抽出することとする。
【００８４】
また、「文字ブロックの出現位置」とは、文字ブロックがドキュメントのどの位置に出現しているか、システムの目的に応じて任意の粒度で示す位置情報である。ここでは、箱型文字ブロックの上左端の文字の行、列の粒度で表現することとする。
【００８５】
図１６は、本発明の第１の実施の形態における文字ブロック抽出部の処理結果を示す。
【００８６】
同図では、文字ブロック抽出部３２０で上記の処理を行った結果を示しており、このデータがインデックス出力部３３０に渡される。なお、ここでは、文字ブロックを構成する文字を上方、左方から順番に並べて表現している。
【００８７】
ステップ２４０）  インデックス出力部３３０は、文字ブロック抽出部３２０から渡された各文字ブロックを、図１６のデータ構造でインデックスＤＢ３４０に格納する。これにより、検索時には文字ブロックを問い合わせキーとし、ファイル名及び出現位置を問い合わせ結果として返すインデックスＤＢ３４０を実現する。
【００８８】
なお、サーバ部３００のコンテンツＤＢ３５０には、書籍出版社、あるいは、一般ユーザが作成した、各書籍内の各位置(ページ、行、列等)に関係したコンテンツ及び該コンテンツに関する情報を格納しておく。コンテンツ及び該コンテンツに関する情報をコンテンツＤＢ３４０に格納するための格納作業専用端末を用意してもよいし、格納作業用Ｗｅｂアプリケーションを用意して不特定多数のユーザがＷｅｂブラウザを通じて自由にコンテンツ及び該コンテンツに関する情報を格納できるようにしてもよい。コンテンツの例としては、観光名所案内であれば各地を訪れた旅行者の体験談、化学教科書であれば化学実験映像等が挙げられる。ここでは、サーバ部３００上のデータ格納領域にコンテンツの実体を格納し、図１７に示すデータ構造でコンテンツと各書籍内の各位置の関係を格納する。
【００８９】
（２）クライアント部４００からサーバ部３００に問い合わせる作業：
図１８は、本発明の第２の実施の形態におけるクライアント部からサーバ部へ問い合わせる作業のフローチャートである。
【００９０】
以下では、インデックス作成対象となるページの一部を入力する入力ステップ（ステップ３１０，３２０）、入力されたページの一部から文字ブロックを抽出する文字ブロック抽出ステップ（ステップ３３０）、インデックスＤＢ３４０に問い合わせを行い、入力されたページの一部に関連付けられているコンテンツを特定する問い合わせステップ（ステップ３４０，３５０，３６０）、問い合わせた結果得られたコンテンツをクライアント部４００で表示する出力ステップ（ステップ３７０）を行う。
【００９１】
ステップ３１０）  クライアント部４００のクライアント側デバイス４１０では、ドキュメント撮影部４１１において、ドキュメントページ２０１の全体、または、一部を光学的に撮影して、撮影内容を画像ファイルとして保存し、クライアント側データ送受信部４２０に渡す。クライアント側データ送受信部４２０は、ドキュメント撮影部４１１から渡された画像ファイルをネットワークを通じてサーバ部３００のデータ送受信部３６０に渡す。
【００９２】
ドキュメントページ２０１は、ドキュメント群２００に含まれる１件の書籍の１ページである。ここでは、図１１に示すページの一部分が撮影され、図１９に示す画像ファイルが作成されたとする。
【００９３】
ステップ３２０）  サーバ側データ送受信部３６０は、光学文字認識装置１０１を利用して、クライアント側データ送受信部４２０から渡された画像ファイルから図２０に示すテキストデータを抽出し、文字ブロック抽出部３２０に渡す。なお、光学文字認識装置１０１は、一般的なＯＣＲ、ソフトウェア等であり、文字が撮影された画像から文字情報を抽出し、テキストデータとしてコンピュータが利用できる形式に変換する一般装置である。
【００９４】
ステップ３３０）  文字ブロック抽出部３２０は、サーバ側データ送受信部３６０から渡されたテキストデータを読み込み、該テキストデータから文字ブロック群を文字ブロック抽出ルール記憶部３２１のルールに則って抽出し、ＤＢ問い合わせ３７０に渡す。
【００９５】
ここで、「文字ブロック」は、ステップ２２０と同じく箱型の形状で図２１のように抽出する。
【００９６】
また、「文字ブロック抽出ルール」は、図２２のように、左上隅から右下隅方向へ１文字ずつずらしながら抽出することとする。
【００９７】
図２３は、文字ブロック抽出部３２０の処理を行った結果を示しており、このデータがＤＢ問い合わせ部３７０に渡される。なお、ここでは、文字ブロックを、文字ブロックを構成する文字を上方、左方から順番に並べて表現している。
【００９８】
ステップ３４０）  ＤＢ問い合わせ部３７０は、図２３のリストを用いてインデックスＤＢ３４０に問い合わせを行う。
【００９９】
まず、ＤＢ問い合わせ部３７０は、図２３の各文字ブロックに対応するファイル名と出現位置を問い合わせ、問い合わせ結果を図２４に示す形式で取得する。
【０１００】
ステップ３５０）  次に、ＤＢ問い合わせ部３７０がコンテンツＤＢ３５０に対して図２４の問い合わせ結果を用いて問い合わせを行う。前述の通り、コンテンツＤＢ３５０には図１７に示す構造でデータが格納されている。ＤＢ問い合わせ部３７０は、図２４の各ファイル名と各出現位置の組(例えば、「vegetable3.txt」と「１行」・「３列」)を用いて、コンテンツＤＢ３５０に該ファイル名と該出現位置に対応するコンテンツ・コンテンツタイプを問い合わせ、問い合わせ結果を図２５に示す形式で取得し、コンテンツ・コンテンツタイプの重複数を集計して図２６に示す形式に変換する。
【０１０１】
ステップ３６０）  ＤＢ問い合わせ部３７０は、上述の問い合わせ結果の中で、一定条件を満たすものを検索結果としてサーバ側データ送受信部３６０に渡す。本実施の形態においては、最も重複数の多いもの（図２６では「tomato_1.mp4」・「ムービーファイル」)を検索結果としてサーバ側データ送受信部３６０に渡すこととする。
【０１０２】
サーバ側データ送受信部３６０は、ＤＢ問い合わせ部３７０から渡された検索結果をネットワークを通じてクライアント側データ送受信部４２０に渡す。
【０１０３】
ステップ３７０）  クライアント側データ送受信部４２０は、サーバ側データ送受信部３６０から渡された検索結果をコンテンツ表示部４１２に渡す。
【０１０４】
コンテンツ表示部４１２は、クライアント側データ送受信部４２０から渡された検索結果を、コンテンツ表示部４１２内部で予め設定されたコンテンツ表示手段（図２７）を用いて表示する。なお、コンテンツ表示手段として、図２７に示すように、テキストファイルについてはコンテンツ表示手段としてテキストビューアを用い、サウンドファイルにはサウントプレイヤを用い、ムービーファイルについてはムービープレイヤを用いるように設定されている。
【０１０５】
［第３の実施の形態］
前述の第２の実施の形態のステップ３１０において、撮影条件が悪く（光量不足、手振れ等)ドキュメント撮影部４１１が撮影した画像の品質が悪い場合に、ステップ３２０で光学文字認識装置１０１が撮影画像から正確に文字を抽出できない場合がある。また、現在の技術水準においても、光学文字認識精度は１００％ではないため、撮影画像の品質が良い場合でも一定確率で文字の誤認識が発生する。
【０１０６】
本実施の形態では、上記のように光学文字認識装置１０１において正しく文字認識が行われない場合について述べる。
【０１０７】
図２８は、本発明の第３の実施の形態におけるシステム構成図である。同図に示すシステムには、サーバ部３００にリージョンＤＢ３８０が追加されている。なお、処理フローは第２の実施の形態と同様である。
【０１０８】
まず、事前の準備として各書籍内に複数文字ブロックを含む任意の範囲を持つリージョンを定義する。ここでは、第２の実施の形態と同様に各書籍の各ページをテキストファイルに変換し、図２９のように各テキストファイル内に１０行程度の範囲を持つリージョンを定義し、リージョンＤＢ３８０に格納する。リージョンの範囲は、「リージョン１」と「リージョン２」のように排他になるよう定義してもよいし、「リージョン３」と「リージョン４」のように一部重複して定義してもよい。
【０１０９】
次に、図３０のように各リージョンにコンテンツを関連付けてコンテンツＤＢ３５０に格納する。コンテンツは、「cucumber.txt」のように同一コンテンツが複数のリージョンに関連付けられていてもよい。また、「tomato_1.mp4」と「tomato＿2．mp4」のように異なるコンテンツが同一リージョンに関連付けられていてもよい。
【０１１０】
例えば、ステップ３１０〜３２０において、ドキュメント撮影部４１１が図１９と同じ領域を撮影したが、画像品質が悪いため、光学文字認識装置１０１は図２０のように抽出すべきところ、図３１のように抽出したとする。同図において、下線部分は誤認識文字を示す。この状況でステップ３２０の文字ブロック抽出部３２０の処理を行うと、図３２のようなリストが得られる。同図において、下線部分は誤認識文字を示す。
【０１１１】
次に、図３２のリストを利用してステップ３５０と同様の処理（インデックスＤＢ問い合わせ）を行うと、ＤＢ問い合わせ部３７０は、問い合わせ結果を図３３で示す形式で取得する。同図において、「該当なし」とは該当する文字ブロックがインデックスＤＢ３４０に含まれていないことを示す。
【０１１２】
ここで、ＤＢ問い合わせ部３７０は、図３３のリスト（但し、ファイル名が「該当なし」のものは除く）を用いてリージョンＤＢ３８０に問い合わせ、各ブロックと該ブロックが出現するリージョンの関係情報を図３４の形式で取得し、これをリージョンごとに出現回数をカウントして図３５の形式に変換する。同図において出現回数が最多のリージョンを、クライアント部４００が撮影した範囲に含まれているリージョンであると特定する。ここでは、「リージョン５」が該当する。
【０１１３】
最後に、ＤＢ問い合わせ部３７０は、「リージョン５」に関連付けられたコンテンツ、コンテンツタイプをコンテンツＤＢ３５０に問い合わせ、以降ステップ３７０と同様の処理を行うと、コンテンツ表示部４１２にて正しいコンテンツ（cucumber.txt）が表示される。
【０１１４】
このように、内部に複数の文字ブロックを含む範囲を１つのリージョンとし、撮影画像から抽出した文字ブロック群が最も多く出現するリージョンを特定して該リージョンに関連付けられたコンテンツを検索結果とする方式により、光学文字認識の精度が悪く文字ブロックに誤認識文字が混じっている場合においても正しく検索結果を求めることができる。
【０１１５】
［第４の実施の形態］
本実施の形態では、第１の実施の形態よりもインデックスサイズを小さくし、かつ検索可能領域の網羅性を大幅に低減させないように、インデックスを作成する処理について説明する。
【０１１６】
ここでは、１つ以上の文字からなる特定文字列を含む文字ブロックのみを用いてインデックスを作成する。以下詳細な手順を示す。
【０１１７】
図３６は、本発明の第４の実施の形態におけるインデックス作成装置の構成を示す。
【０１１８】
同図に示すインデックス作成装置は、ドキュメント入力部４０、文字ブロック抽出部４１、文字ブロック選別部４２、インデックス出力部４３、インデックスＤＢ４４、文字ブロック抽出ルール記憶部４５、外部装置の特定文字列ＤＢ４６から構成される。
【０１１９】
入力されるドキュメント群の各ドキュメントは、文字を含むページの集合からなる紙媒体の書籍とする。本実施の形態では、この書籍の各ページをスキャナ（一般装置）で読み取り、図３７に示すように、異なる閲覧環境（ＯＳ，ＰＤＦ閲覧ソフト等）においてもレイアウトが変化しない電子ファイル(ＰＤＦファイル等)に変換する。
【０１２０】
なお、図３７は、文書のみからなるページの例であるが、ページには図や表などの文字以外の情報が含まれていてもよい。
【０１２１】
また、文字ブロック抽出部４１、文字ブロック選別部４２は、抽出した文字ブロックを格納するメモリ（図示せず）を有するものとする。
【０１２２】
外部装置である特定文字列ＤＢ４６には、事前に１つ以上の文字からなる特定文字列が１つ以上登録されているものとする。検索可能領域の網羅性を大幅に低減させないためには、ドキュメント中の各領域に満遍なく出現する文字列が登録されていることが望ましく、日本語ドキュメントの場合は「の」、「は」、「が」、「。」、「、」等の助詞や句読点がこれにあたる。以降、本実施の形態では、「の」の１語が特定文字列ＤＢ４６に登録されているものとして説明を行うが、その他の文字が特定文字列ＤＢ４６に登録されていても構わない。
【０１２３】
図３８は、本発明の第４の実施の形態における処理のフローチャートである。
【０１２４】
本実施の形態における処理は、インデックス作成対象となるドキュメント群を入力する入力ステップ（ステップ４１０，４２０）、各ドキュメントの各ページから特定文字列を含む文字ブロックを抽出する文字ブロック抽出ステップ（ステップ４３０）、検索を実行するためのインデックスを出力する出力ステップ（ステップ４４０）に分けられる。
【０１２５】
ステップ４１０）  ドキュメント入力部４０は、分析対象の各ドキュメントの各ページの入力を受け付ける。
【０１２６】
ステップ４２０）  ドキュメント入力部４０は、入力された各ページのリストを図３９に示すデータ構造で文字ブロック抽出部４１に渡す。リスト内の各要素は、各ページを一意に示すものとする。なお、説明の便宜上、ここでは各ページを一意に示す情報としてファイル名を用いているが、ファイルのハッシュ値等、ページを一意に識別できる情報であれば他の情報を利用しても構わない。
【０１２７】
ステップ４３０）  文字ブロック抽出部４１は、ドキュメント入力部４０から渡されたリストに記載されている各ページを読み込み、各ページから文字ブロック群を文字ブロック抽出ルール記憶部４５のルールに則って抽出し、各文字ブロックと各文字ブロックの抽出元のページにおける該文字ブロックの出現位置を関連付けて、文字ブロック選択部４２に渡す。
【０１２８】
ここで「文字ブロック」とは、ステップ１３０と同じく、十字型の形状で図４０のように抽出する。
【０１２９】
また、文字ブロック抽出ルール記憶部４５に格納されているルールは図４１のように、左上隅から右下隅方向へ１文字ずつずらしながら抽出することとする。
【０１３０】
また、「文字ブロックの出現位置」とは、文字ブロックがページのどの位置に出現しているか、システムの目的に応じて任意の粒度で示す位置情報である。ここでは、十文字型文字ブロックの上端の文字の行、列の粒度で表現することとする。
【０１３１】
図４２は、本発明の第４の実施の形態における文字ブロック抽出部の処理結果を示す。同図では、文字ブロック抽出部４１でステップ４３０の処理を行った結果を示しており、このデータが文字ブロック選別部４２に渡される。なお、ここでは、文字ブロックを、文字ブロックを構成する文字を上方、左方から順番に並べて表現している。
【０１３２】
ステップ４４０）  文字ブロック選別部４２は、文字ブロック抽出部４１から渡された各文字ブロックについて、特定文字列ＤＢ４６に問い合わせを行い、特定文字列ＤＢ４６に登録されている語（本実施の形態では「の」）を含む文字ブロックのみを選別する。
【０１３３】
図４３は、本発明の第４の実施の形態における文字ブロック選別部の処理結果を示す。同図では、文字ブロック選別部４２でステップ４４０の処理を行った結果を示しており、このデータがインデックス出力部４３に渡される。
【０１３４】
ステップ４５０）  インデックス出力部４３は、文字ブロック選別部４２から渡された各文字ブロックを、図４３のデータ構造でインデックスＤＢ４４に格納する。これにより、文字ブロックを問い合わせキーとし、ファイル名及び出現位置を問い合わせ結果として返すインデックスＤＢ４４を実現する。
【０１３５】
上記のように、「の」のような網羅的に出現する文字列を含む文字ブロックのみを用いてインデックスを作成することで、インデックスのサイズを小さくし、かつ検索可能領域の網羅性を大幅に低減させずにインデックスを作成できる。
【０１３６】
［第５の実施の形態］
本実施の形態では、第２の実施の形態よりもインデックスサイズを小さくし、かつ光学文字認識処理の誤認識の影響を軽減できるように、インデックスを作成する方法について言及する。
【０１３７】
ここでは、文字ブロックが、光学文字認識装置１０１が内部に保有している文字列辞書に登録されている文字列を含む場合のみ、該文字ブロックを用いてインデックスを作成する。以下、詳細な手順を示す。
【０１３８】
図４４は、本発明の第５の実施の形態における検索システムの構成を示す。
【０１３９】
同図に示すシステムにおいて、第２の実施の形態と同様の構成要素には同一符号を付し、その説明を省略する。
【０１４０】
なお、クライアント部４００、外部装置（特定文字列ＤＢ１０３以外）の構成・動作は第２の実施の形態と同様であるので、以降の説明では詳細を省略する。
【０１４１】
サーバ部５００は、図１０の構成に文字ブロック選別部５１０を付加した構成である。
【０１４２】
クライアント部６００は、第２の実施の形態と同様である。
【０１４３】
外部装置は、第２の実施の形態に加え、特定文字列ＤＢ１０３がある。特定文字列ＤＢ１０３には、事前に特定文字列が登録されているものとする。光学文字認識装置１０１の誤認識の影響を軽減させるためには、光学文字認識装置が精度良く認識できる文字列を含む文字ブロックのみを利用することが望ましい。一般に、ＯＣＲソフトウェア等の光学文字認識装置１０１は内部に文字列辞書を保有しており、当該文字列辞書に登録されている語はそうでない語よりも精度良く認識できる。そこで、本実施の形態では、光学文字認識装置１０１が内部に図４５のような文字列辞書を保有しており、当該辞書と同一内容が指示文字列ＤＢ１０３にも登録されているものとする。
【０１４４】
ドキュメントは、文字を含むページの集合からなる紙媒体の書籍とする。本実施の形態でドキュメント読み取り装置１０１に入力されるドキュメント群２００を構成している各ページ及びクライアント部４００に入力されるドキュメントページ２０１の例を図４６に示す。
【０１４５】
ドキュメント読み取り装置１０１は、サーバ部５００のデータ入力部５１０に接続されている。光学文字認識装置１０１は、サーバ側データ送受信部３６０に接続されている。
【０１４６】
本実施の形態では、
（１）サーバ部５００においてインデックスを作成する作業；
（２）クライアント部４００からサーバ部５００に問い合わせる作業；
を行う。
【０１４７】
（１）サーバ部５００においてインデックスを作成する作業：
図４７は、本発明の第５の実施の形態におけるサーバ部でインデックスを作成する処理のフローチャートである。以下では、インデックス作成対象となるドキュメントを入力する入力ステップ（ステップ５１０，５２０）、各ドキュメントの各ページ内から文字ブロックを抽出する文字ブロック抽出ステップ（ステップ５３０）、特定文字列ＤＢに登録されている語を含む文字ブロックを選択する文字ブロック選別ステップ（ステップ５４０）、検索を実行するためのインデックを出力する出力ステップ（ステップ５５０）を行う。
【０１４８】
ステップ５１０）  ドキュメント群２００の各ドキュメントの各ページを、ドキュメント読み取り装置１０１で読み取り、データ入力部３１０に渡す。ここで、ドキュメント読み取り装置１０１は、紙媒体に印刷されたテキストを読み取ってＰＤＦファイルに変換する一般装置であり、ＯＣＲ機能付スキャナ等がこれに該当する。ここでは、各ページ中のテキストは紙媒体に印刷された状態における改ページ位置、改行位置が保持されたままＰＤＦファイルに変換されるものとする。
【０１４９】
ステップ５２０）  データ入力部５１０は、ドキュメント読み取り装置１０１から渡されたＰＤＦファイル群を読み込み、図３９に示すデータ構造でリスト化して、サーバ部５００の文字ブロック抽出部３２０に渡す。なお、説明の便宜上、ここでは、各ページを一意に示す情報としてファイル名を用いているが、ファイルのハッシュ値等、ページを一意に識別できる情報であれば他の情報を利用しても構わない。
【０１５０】
ステップ５３０）  サーバ部５００の文字ブロック抽出部３２０は、データ入力部３１０から渡されたリストに記載されている各ページを読み込み、各ページから文字ブロック群を文字ブロック抽出ルール記憶部３２１のルールに則って抽出し、各文字ブロックと各文字ブロックの抽出元ページのファイル名と該ページにおける該文字ブロックの出現位置を関連付けて、文字ブロック選別部５１０に渡す。
【０１５１】
ここで「文字ブロック」は、ステップ１３０と同様に十字型の形状で図４０のように抽出する。
【０１５２】
また、「文字ブロック抽出ルール」は、図４１のように、左上隅から右下隅方向へ１文字ずつずらしながら抽出することとする。
【０１５３】
図４２に文字ブロック抽出部３２０の処理結果を示す。同図では、文字ブロック抽出部３２０でステップ５３０の処理を行った結果を示しており、このデータが文字ブロック選別部５１０に渡される。なお、ここでは、文字ブロックを、文字ブロックを構成する文字を上方、左方から順番に並べて表現している。
【０１５４】
ステップ５４０）  文字ブロック選別部５１０は、文字ブロック抽出部３２０から渡された各文字ブロックについて、特定文字列ＤＢ１０３に問い合わせを行い、特定文字列ＤＢ１０３に登録されている語を含む文字ブロックのみを選別する。
【０１５５】
図４８は、本発明の第５の実施の形態における文字ブロック選別部の処理結果を示す。同図では、文字ブロック選別部５１０でステップ５４０の処理を行った結果を示しており、このデータがインデックス出力部３３０に渡される。
【０１５６】
ステップ５５０）  インデックス出力部３３０は、文字ブロック選別部５１０から渡された各文字ブロックを、図４８のデータ構造でインデックスＤＢ５４に格納する。これにより、文字ブロックを問い合わせキーとし、ファイル名及び出現位置を問い合わせ結果として返すインデックスＤＢ３４０を実現する。
【０１５７】
なお、サーバ部５００のコンテンツＤＢ３５０及び、（２）クライアント部４００からサーバ部５００に問い合わせる作業は、第２の実施の形態と同様であるので、その説明を省略する。
【０１５８】
［第６の実施の形態］
本実施の形態では、第２の実施の形態よりもインデックスサイズを小さくし、かつ、光学文字認識処理の誤認識の影響を軽減し、かつ、ドキュメント中のどの位置にインデックスが作成されているかクライアント部を利用するユーザに分かりやすいように、ドキュメント及びインデックスを作成する方法について説明する。
【０１５９】
具体的には、第５の実施の形態において、特定文字列ＤＢ１０３及びドキュメントを以下のように変更する。
【０１６０】
特定文字列ＤＢ１０３には、事前に特定文字列が登録されているものとする。光学文字認識装置１０１の誤認識の影響を軽減させるためには、光学文字認識装置が精度良く認識できる文字列のみを含む文字ブロックのみを利用することが望ましい。一般に、ＯＣＲ、ソフトウェア等の光学文字認識装置は、「▼（逆三角形）」のようなシンプルな形状であり、かつ類似する文字が少ない文字ほど精度良く認識できる。ここでは、特定文字列ＤＢ１０３に「▼」が登録されているとする。なお、本実施の形態では、「▼」のみが登録されているとして以降の説明を行うが、「■」、「●」等の文字が登録されていてもよい。また、所定の出現頻度以下（例えば文書中の出現頻度が２回以下）文字を特定文字列としてもよい。
【０１６１】
ドキュメントは図４９に示すように、複数のページからなり、各ページに複数行の文字列を含む紙媒体とし、特定文字列をインデックスを作成したい書籍位置に記載して作成する。もしくは、既存のドキュメント中の各書籍位置に初めから記載されていた文字を特定文字列とみなしてもよい。ここでは、特定文字列として、「▼」を用いる。この文字は通常の文章中に頻出する文字ではないので、クライアント部４００を利用するユーザに対して、インデックス作成箇所の目印になる。また、図５０のように、ドキュメント内に複数のＱＲコード（二次元コード）が存在する場合と比べ、１文字で表現できる「▼」は、ドキュメント内で占有する面積が少なくて済む。なお、本実施の形態では、「▼」のみを特定文字列とするが、「■」「●」等を特定文字列としてもよい。
【０１６２】
以降の処理は、第５の実施の形態と同様であるので、その説明を省略する。
【０１６３】
[第７の実施の形態]
本実施の形態では、検索装置に含まれる、検索を実行するためのインデックスを作成する部分（インデックス作成装置）についてのみ言及する。
【０１６４】
図５１は、本発明の第７の実施の形態におけるインデックス作成装置の構成を示す。同図に示すインデックス作成装置は、ドキュメント入力部１０１０、基本文字列抽出部１０１１、周辺文字列抽出部１０１２、インデックス出力部１０１３、インデックスＤＢ１０１４から構成される。
【０１６５】
ドキュメントは、図５２に示すように、複数のページからなり、各ページに複数行の文字列を含み、異なる閲覧環境（ＯＳ，ＰＤＦ閲覧ソフト等）においても文章の改行位置が変化しない電子ファイル（ＰＤＦファイル等）とする。なお、図５２は文章のみからなるドキュメントの例であるが、ドキュメントには図や表などの文字以外の情報が含まれていてもよい。
【０１６６】
また、基本文字列抽出部１０１１と周辺文字列抽出部１０１２は抽出した文字列を格納するメモリ（図示せず）を有するものとする。
【０１６７】
以下に、本実施の形態における処理フローを示す。
【０１６８】
図５３は、本発明の第７の実施の形態における処理のフローチャートである。
【０１６９】
ステップ１００１）  ドキュメント入力部１０１０は、分析対象のドキュメント群の入力を受け付ける。
【０１７０】
ステップ１００２）  ドキュメント入力部１０１０は、該ドキュメント群に含まれるドキュメントのリストを図５４に示すデータ構造で基本文字列抽出部１０１１に渡す。リスト内の各要素は、各ドキュメントを一意に示すものとする。なお、説明の便宜上、ここでは各ドキュメントを一意に示す情報としてファイル名を用いているが、ファイルのハッシュ値等、ドキュメントを一意に識別できる情報であれば他の情報を利用しても構わない。
【０１７１】
ステップ１００３）  基本文字列抽出部１０１１は、ドキュメント入力部１０１０から渡されたリストに記載されている各ドキュメントを読み込み、各ドキュメントから基本文字列群を抽出し、各基本文字列の抽出元ドキュメントのファイル名と該ドキュメントにおける該基本文字列の出現位置を関連付けて、周辺文字列抽出部１０１２に渡す。ここで、「基本文字列」とは、文字列分割手法を用いて文章を特定の単位に分割したものである。例えば、形態素解析を用いて文章を単語単位に分割したもの、あるいは、N-gram法を用いて文章をＮ文字（あるいはＮ単語）の連なりに分割したものがあげられる。ここでは、図５５のように、文字の２−gram方式で分割を行うものとする。また、「基本文字列の出現位置」とは、基本文字列がドキュメントのどの位置に出現しているか、システムの目的に応じて任意の粒度で示す位置情報である。ここでは、ページ、行、列の粒度で表現することとする。
【０１７２】
図５６は、本発明の第７の実施の形態における基本文字列抽出部の処理結果を示す。同図では、基本文字列抽出部１０１１でステップ１００３の処理を行った結果を示しており、このデータが周辺文字列抽出部１０１２に渡される。
【０１７３】
ステップ１００４）  周辺文字列抽出部１０１２は、基本文字列抽出部１０１１から渡された各基本文字列をメモリ（図示せず）に格納し、当該基本文字列の周辺文字列群を抽出し、該基本文字列と該周辺文字列群を関連付けてメモリ（図示せず）に格納し、インデックス出力部１０１３に渡す。ここでは、図５７に示すように、各基本文字列の１文字目の上・左、下の各１文字を周辺文字列とする。なお、基本文字列の上・左・下だけでなく、上・左上・左・左下・下・右下・右・右上等、基本文字列の周辺に位置する他の文字列を利用しても構わない。
【０１７４】
図５８は、本発明の第１の実施の形態における周辺文字列抽出部の処理結果を示す。同図では、周辺文字列抽出部１０１２でステップ１００４の処理を行った結果を示しており、このデータがインデックス出力部１０１３に渡される。
【０１７５】
ステップ１００５）  インデックス出力部１０１３は、周辺文字列抽出部１０１２から渡された各基本文字列と周辺文字列が関連付けられたものを、図５８のデータ構造でインデックスＤＢ１０１４に格納する。これにより、基本文字列及び周辺文字列の組み合わせを問い合わせキーとし、ファイル名及び出現位置を問い合わせ結果として返すインデックスＤＢ１０１４を実現する。
【０１７６】
上記のように、ドキュメントのインデックスを作成する際に、文字・単語の前後の連なりだけでなく、ユーザがドキュメントを閲覧する際のドキュメント（印刷物、ＰＤＦファイル等）における文字の位置関係に着目し、基本文字列とその周辺文字列を関連付けてインデックスのキーとすることにより、各ドキュメントに固有になりやすい文字列パターンを、少ない文字数で表現できるため、識別能力が高く、ロバスト性が高いインデックスを実現できる。
【０１７７】
［第８の実施の形態］
図５９は、本発明の第８の実施の形態における検索システムの構成図である。
【０１７８】
同図に示すシステムは、大きく分けてサーバ部１、クライアント部３、外部装置からなる。
【０１７９】
サーバ部１は、データ入力部２０、基本文字列抽出部２１、周辺文字列抽出部２２、インデックス出力部２３、インデックスＤＢ２４，コンテンツＤＢ２５，サーバ側データ送受信部２６、ＤＢ問い合わせ部２７からなる。
【０１８０】
クライアント部３は、クライアント側デバイス３０、クライアント側デバイス３０を構成するドキュメント撮影部３１、クライアント側デバイス３０を構成するコンテンツ表示部３２、クライアント側データ送受信部３３からなる。
【０１８１】
外部装置は、ドキュメント読み取り装置１００、光学文字認識装置１０１からなる。本実施の形態でドキュメント読み取り装置１００に入力されるドキュメント群２００、クライアント部３に入力されるドキュメントページ２０１の例を図６０に示す。ドキュメントは、同図に示すように、複数のページからなり、各ページに複数行の文字列を含む紙媒体とする。
【０１８２】
ドキュメント読み取り装置１００は、サーバ部１のデータ入力部２０に接続されている。光学文字認識装置１０１はサーバ側データ送受信部２６に接続されている。
【０１８３】
本実施の形態では、
（１）サーバ部１においてインデックスを作成する作業；
（２）クライアント部３からサーバ部１に問い合わせる作業；
を行う。
【０１８４】
（１）サーバ部１においてインデックスを作成する作業：
当該処理は、前述の第７の実施の形態におけるインデックス作成装置に相当する。
【０１８５】
図６１は、本発明の第８の実施の形態におけるサーバ側の処理のフローチャートである。
【０１８６】
ステップ２００１）  ドキュメント群２００は、図６０のように、複数のページからなり、各ページに複数行の文字列を含む紙媒体の書籍群とする。各書籍には、それぞれを一意に識別できる書名が付いているものとする。なお、説明の便宜上、ここでは各ドキュメントを一意に示す情報として書名を用いているが、書籍のISBN等、ドキュメントを一意に識別できる情報であれば他の情報を利用してもよい。
【０１８７】
ドキュメント読み取り装置１００は、紙媒体に印刷されたテキストを読み取ってテキストファイルに変換する一般装置であり、ＯＣＲ機能付きスキャナ等がこれに該当する。ここでは、ドキュメント中のテキストは紙媒体に印刷された状態における改ページ位置、改行位置が保持されたままテキストファイルに変換されるものとする。
【０１８８】
ステップ２００２）  データ入力部２０は、ドキュメント読み取り装置１００から渡されたテキストファイル群を読み込み、図６２に示すデータ構造でリスト化して、サーバ１の基本文字列抽出部２１に渡す。
【０１８９】
ステップ２００３）  サーバ１の基本文字列抽出部２１は、データ入力部２０から渡されたリストに記載されている各ドキュメントを読み込み、各ドキュメントから基本文字列群を抽出し、各基本文字列の抽出元ドキュメントのテキストファイル名と該ドキュメントにおける該基本文字列の出現位置を関連付けて、周辺文字列抽出部２２に渡す。
【０１９０】
ここで、「基本文字列」とは、文字列分割手法を用いて文章を特定の単位に分割したものである。例えば、形態素解析を用いて文章を単語単位に分割したもの、あるいは、Ｎ-gram法を用いて文章をＮ文字（あるいはＮ単語）の連なりに分割したものがあげられる。ここでは、図６３のように文字の２-gram方式で分割を行うものとする。
【０１９１】
「基本文字列の出現位置」とは、基本文字列がドキュメントのどの位置に出現しているか、システムの目的に応じて任意の粒度で示す位置情報である。ここでは、ページ、行、列の粒度で表現することとする。
【０１９２】
図６４に示すのは、基本文字列抽出部２１にて上記の処理を行った結果であり、このデータが周辺文字列抽出部２２に渡される。
【０１９３】
ステップ２００４）  周辺文字列抽出部２２は、基本文字列抽出部２１から渡された基本文字列（図６４）について、該基本文字列の周辺文字列群を抽出し、該基本文字列と該周辺文字列群を関連付けて、インデックス出力部２３に渡す。ここでは、図６５に示すように、各基本文字列の１文字目の上・左・下の各１文字を周辺文字列とする。なお、基本文字列の上・左・下だけでなく、上・左上・左・左下・下・右下・右・右上等、基本文字列の周辺に位置する他の文字列を利用しても構わない。
【０１９４】
図６６は、本発明の第８の実施の形態における周辺文字列抽出部の処理結果を示す。同図に示すデータがインデックス出力部２３に渡される。
【０１９５】
ステップ２００５）  インデックス出力部２３は、周辺文字列抽出部２２から渡された各基本文字列と周辺文字列が関連付けられたものを、図６６のデータ構造でインデックスＤＢ２４に格納する。
【０１９６】
なお、サーバ１のコンテンツＤＢ２５には、書籍出版社、あるいは、一般ユーザが作成した、各書籍内の各位置（ページ、行、列等）に関係したコンテンツ及び該コンテンツに関する情報を格納しておく。コンテンツ及び該コンテンツに関する情報をコンテンツＤＢ２５に格納するために格納作業専用端末を用意してもよいし、格納作業用Ｗｅｂアプリケーションを用意して不特定多数のユーザがＷｅｂブラウザを通じて自由にコンテンツ及び該コンテンツに関する情報を格納できるようにしてもよい。コンテンツの例としては、観光名所案内であれば各地を訪れた旅行者の体験談、化学教科書であれば化学実験映像等が挙げられる。ここでは、サーバ１上のデータ格納領域にコンテンツの実体を格納し、図６７に示すデータ構造でコンテンツと各書籍内の各位置の関係を格納する。
【０１９７】
（２）クライアント部３からサーバ部１に問い合わせる作業：
図６８は、本発明の第８の実施の形態におけるクライアント部からサーバ部に問い合わせる処理のフローチャートである。
【０１９８】
ステップ３００１）  ドキュメントページ２０１は、ドキュメント群２００に含まれる１件の書籍の１ページである。クライアント側デバイス３０は、ドキュメント撮影部３１、コンテンツ表示部３２からなる。
【０１９９】
ドキュメント撮影部３１は、ドキュメントページ２０１の全体、または一部分を光学的に撮影して、撮影内容を画像ファイルとして保存し、クライアント側データ送受信部３３に渡す。ここでは、図６９に示すドキュメントページの一部分が撮影され、図７０に示す画像ファイルが作成されたとする。
【０２００】
クライアント側データ送受信部３３は、ドキュメント撮影部３１から渡された画像ファイルをネットワークを通じてサーバ部１のデータ送受信部２６に渡す。
【０２０１】
ステップ３００２）  サーバ側データ送受信部２６は、光学文字認識装置１０１を利用して、クライアント側データ送受信部３３から渡された画像ファイルから図７１に示すテキストデータを抽出し、基本文字列抽出部２１に渡す。なお、光学文字認識装置１０１は、一般的なＯＣＲソフトウェア等であり、文字が撮影されたが画像から文字情報を抽出し、テキストデータとしてコンピュータが利用できる形式に変換する一般装置である。
【０２０２】
ステップ３００３）  基本文字列抽出部２１は、サーバ側データ送受信部２６から渡されたテキストデータを読み込み、テキストデータにおける最初の行、最後の行、最初の列、最後の列を除く部分（図７２の点線で囲まれた部分）から、図７３のように文字の２-gram方式で分割を行う方式で基本文字列を抽出し、図７４に示すデータ構造で周辺文字列抽出部２２に渡す。
【０２０３】
ステップ３００４）  周辺文字列抽出部２２は、基本文字列抽出部２１から渡された各基本文字列について、該基本文字列の周辺文字列群を抽出し、該基本文字列と該周辺文字列群を関連付けて、ＤＢ問い合わせ部２７に渡す。ここでは、図７５に示すように、各基本文字列の１文字目の上・左・下の各１文字を周辺文字列とする。
【０２０４】
ステップ３００５）  ＤＢ問い合わせ部２７は、図７６に示すような周辺文字列抽出部２２から渡された基本文字列と周辺文字列が関連付けられたデータを用いて、インデックスＤＢ２４及びコンテンツＤＢ２５に問い合わせを行う。
【０２０５】
まず、ＤＢ問い合わせ部２７がインデックスＤＢ２４に対して問い合わせを行う。前述のとおり、インデックスＤＢ２４には、図６６に示す構造でデータが格納されている。
【０２０６】
ＤＢ問い合わせ部２７は、図７６の基本文字列と各周辺文字列の組（例：「北東」と「名」「ツ」「ば」）を用いて、インデックスＤＢ２４に該基本文字列と該周辺文字列の組に対応するファイル名と出現位置を問い合わせ、問い合わせ結果を図７７で示す形式で取得する。
【０２０７】
ステップ３００６）  次に、ＤＢ問い合わせ部２７がコンテンツＤＢ２５に対して、上述の問い合わせ結果（図７７）を用いて問い合わせを行う。前述のとおり、コンテンツＤＢ２５には、図６７に示すデータ構造でデータが格納されている。ＤＢ問い合わせ部２７は、図７７の各ファイル名と各出現位置の組（例：「Germany_1.txt」と「１ページ２行７列目」）を用いて、コンテンツＤＢ２５に該ファイル名と該出現位置に対応するコンテンツタイプを問い合わせ、問い合わせ結果を図７８に示す形式で取得し、コンテンツ・コンテンツタイプの組の重複を削除して図７９に示す形式に変換する。
【０２０８】
ステップ３００７）  ＤＢ問い合わせ部２７は、上述の問い合わせ結果（図７９）をサーバ側データ送受信部２６に渡す。
【０２０９】
サーバ側データ送受信部２６は、ＤＢ問い合わせ部２７から渡されたデータ（コンテンツとコンテンツタイプ）（図７９）をネットワークを通じてクライアント側データ送受信部３３に渡す。
【０２１０】
ステップ３００８）  クライアント側データ送受信部３３は、サーバ側データ送受信部２６から渡されたデータ（図７９）をコンテンツ表示部３２に渡す。
【０２１１】
コンテンツ表示部３２は、クライアント側データ送受信部３３から渡されたデータ（図７６）を、コンテンツ表示部３２内部で予め設定されたコンテンツ表示手段（図８０）を用いて表示する。
【０２１２】
［第９の実施の形態］
前述の第８の実施の形態のステップ３００１において、撮影条件が悪く（光量不足、手ぶれ等）ドキュメント撮影部３１が撮影した画像に品質が悪い場合に、ステップ３００２で光学文字認識装置１０１が撮影画像から正確に文字を抽出できない場合がある。また、現在の技術水準においても、光学文字認識の精度は１００％ではないため、撮影画像の品質が良い場合でも、一定確率で文字の誤認識が発生する。光学文字認識装置１０１において正しく文字認識が行われない場合、その誤った文字データに基づいてステップ３００５，３００６でＤＢ問い合わせ部２７がインデックスＤＢ２４及びコンテンツＤＢ２５に問い合わせを行っても、撮影したドキュメントの位置に関連付けられたコンテンツは得られない。
【０２１３】
本実施の形態では、このような画像品質が悪い状態でも正しい検索結果が得られるようにする例を説明する。
【０２１４】
例えば、ドキュメント撮影部３１が図７０に示す領域を撮影したが、画像品質が悪いため、光学文字認識装置１０１は、図７１のように抽出すべきところ、図８１のように抽出したとする。この状況でステップ３００１〜３００４を行い、図８２に示す基本文字列・周辺文字列の組が得られたとする。
【０２１５】
次に、ステップ３００５において、ＤＢ問い合わせ部２７がコンテンツＤＢ２５に対して、図８２の基本文字列と周辺文字列の組を用いて問い合わせを行う。但し、図８２の問い合わせ結果には誤認識された文字による誤ったデータが含まれているため、図３８のデータを用いてコンテンツＤＢ２５に問い合わせた結果は、図８２のように該当するデータが見つからなかったり、他のファイル名、出現位置を取得してしまったり（例えば、図８３最下行）する。
【０２１６】
この問題を第８の実施の形態におけるステップ３００６を図８４に示す処理を行うことで解決する。図８４に示すステップ４００６，４００７のようにすることで、ステップ３００１においてドキュメント撮影部３１の撮影画像の品質が悪い場合、あるいは、ステップ３００２において光学文字認識装置１０１の認識精度が悪い場合にも対応できる。
【０２１７】
図８４は、本発明の第９の実施の形態における処理のフローチャートである。
【０２１８】
以下では、図６８のステップ３００６，３００７の代わりにステップ４００６，４００７のみ示し、他のステップは図６８の処理と同様であるため、その説明を省略する。
【０２１９】
ステップ４００６）  ＤＢ問い合わせ部２７がコンテンツＤＢ２５に対して、上述の問い合わせ結果（図８３）を用いて問い合わせを行う。ＤＢ問い合わせ部２７は図８３の各ファイル名と各出現位置の組（ただし、該等データなしのものを除く）を用いて、コンテンツＤＢ２５に該ファイル名と該出現位置に対応するコンテンツとコンテンツタイプを問い合わせ、問い合わせ結果を図８５に示す形式で取得し、コンテンツ・コンテンツタイプの組の重複数を集計して図８６に示す形式に変換する。
【０２２０】
ステップ４００７）  ＤＢ問い合わせ部２７は、上述の問い合わせ結果（図８６）のうち、複数の異なるコンテンツが存在する場合は重複数が最大のもの（この例では重複数５件のNarrative_1.txt）をサーバ側データ送受信部２６に渡す。
【０２２１】
サーバ側データ送受信部２６は、ＤＢ問い合わせ部２７から渡されたデータ（図７９）をネットワークを通じてクライアント側データ送受信部３３に渡す。
【０２２２】
上記の処理を行った後、図６８のステップ３００８を行うことで、コンテンツ表示部３２にて正しいコンテンツが表示される。
【０２２３】
上記のように、第１〜第９の実施の形態により、書籍等のレイアウトが特定されたコンテンツの全体ではなく、一部の上方の文字列配置を用いて、どのコンテンツのどの部分であるかを特定することができる。また、文字を読む方向以外の方向で、文字列を組み合わせてインデックスを作成することにより、少ない文字数で検索結果の誤り率を低く抑えることが可能となる。また、コンテンツ全体ではなく、一部の情報のみを用いて特定を行うため、コンテンツの位置特定粒度（ページ単位ではなく、行単位など）小さくすることもできるため、厳密な位置を特定することができる。
【０２２４】
なお、図３，５１、に示すインデックス作成装置、図１０、４４，５９に示すサーバ部及びクライアント部の構成要素の動作をプログラムとして構築し、インデックス作成装置、サーバ部、クライアント部として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【０２２５】
また、構築されたプログラムをハードディスクや、フレキシブルディスク・ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【符号の説明】
【０２２６】
１  サーバ部
３  クライアント部
１０  ドキュメント入力手段、ドキュメント入力部
１１  文字ブロック抽出手段、文字ブロック抽出部
１２  インデックス出力手段、インデックス出力部
１３  インデックス記憶手段、インデックスＤＢ
１４  文字ブロック抽出ルール記憶部
２０  データ入力部
２１  基本文字列抽出部
２２  周辺文字列抽出部
２３  インデックス出力部
２４  インデックスＤＢ
２５  コンテンツＤＢ
２６  サーバ側データ送受信部
２７  ＤＢ問い合わせ部
３０  クライアント側デバイス
３１  ドキュメント撮影部
３２  コンテンツ表示部
３３  クライアント側データ送受信部
４０  ドキュメント入力部
４１  文字ブロック抽出部
４２  文字ブロック選別
４３  インデックス出力部
４４  インデックスＤＢ
４６  特定文字列ＤＢ
１００  ドキュメント読み取り装置
１０１  光学文字認識装置
１０３  特定文字列ＤＢ
２００  ドキュメント群
２０１  ドキュメントページ
３００  サーバ部
３１０  データ入力部
３２０  文字ブロック抽出部
３２１  文字ブロック抽出ルール記憶部
３３０  インデックス出力部
３４０  インデックスＤＢ
３５０  コンテンツＤＢ
３６０  サーバ側データ送受信部
３７０  ＤＢ問い合わせ部
４００  クライアント部
４１０  クライアント部
４１１  ドキュメント撮影部
４１２  コンテンツ表示部
４２０  クライアント側データ送受信部
５００  サーバ部
５１０  文字ブロック選別部
１０１０  ドキュメント入力部
１０１１  基本文字列抽出部
１０１２  周辺文字列中ｓｈ通部
１０１３  インデックス出力部
１０１４  インデックスＤＢ
【図１】
0005384315.tif 000002
【図２】
0005384315.tif 000003
【図３】
0005384315.tif 000004
【図４】
0005384315.tif 000005
【図５】
0005384315.tif 000006
【図６】
0005384315.tif 000007
【図７】
0005384315.tif 000008
【図８】
0005384315.tif 000009
【図９】
0005384315.tif 000010
【図１０】
0005384315.tif 000011
【図１１】
0005384315.tif 000012
【図１２】
0005384315.tif 000013
【図１３】
0005384315.tif 000014
【図１４】
0005384315.tif 000015
【図１５】
0005384315.tif 000016
【図１６】
0005384315.tif 000017
【図１７】
0005384315.tif 000018
【図１８】
0005384315.tif 000019
【図１９】
0005384315.tif 000020
【図２０】
0005384315.tif 000021
【図２１】
0005384315.tif 000022
【図２２】
0005384315.tif 000023
【図２３】
0005384315.tif 000024
【図２４】
0005384315.tif 000025
【図２５】
0005384315.tif 000026
【図２６】
0005384315.tif 000027
【図２７】
0005384315.tif 000028
【図２８】
0005384315.tif 000029
【図２９】
0005384315.tif 000030
【図３０】
0005384315.tif 000031
【図３１】
0005384315.tif 000032
【図３２】
0005384315.tif 000033
【図３３】
0005384315.tif 000034
【図３４】
0005384315.tif 000035
【図３５】
0005384315.tif 000036
【図３６】
0005384315.tif 000037
【図３７】
0005384315.tif 000038
【図３８】
0005384315.tif 000039
【図３９】
0005384315.tif 000040
【図４０】
0005384315.tif 000041
【図４１】
0005384315.tif 000042
【図４２】
0005384315.tif 000043
【図４３】
0005384315.tif 000044
【図４４】
0005384315.tif 000045
【図４５】
0005384315.tif 000046
【図４６】
0005384315.tif 000047
【図４７】
0005384315.tif 000048
【図４８】
0005384315.tif 000049
【図４９】
0005384315.tif 000050
【図５０】
0005384315.tif 000051
【図５１】
0005384315.tif 000052
【図５２】
0005384315.tif 000053
【図５３】
0005384315.tif 000054
【図５４】
0005384315.tif 000055
【図５５】
0005384315.tif 000056
【図５６】
0005384315.tif 000057
【図５７】
0005384315.tif 000058
【図５８】
0005384315.tif 000059
【図５９】
0005384315.tif 000060
【図６０】
0005384315.tif 000061
【図６１】
0005384315.tif 000062
【図６２】
0005384315.tif 000063
【図６３】
0005384315.tif 000064
【図６４】
0005384315.tif 000065
【図６５】
0005384315.tif 000066
【図６６】
0005384315.tif 000067
【図６７】
0005384315.tif 000068
【図６８】
0005384315.tif 000069
【図６９】
0005384315.tif 000070
【図７０】
0005384315.tif 000071
【図７１】
0005384315.tif 000072
【図７２】
0005384315.tif 000073
【図７３】
0005384315.tif 000074
【図７４】
0005384315.tif 000075
【図７５】
0005384315.tif 000076
【図７６】
0005384315.tif 000077
【図７７】
0005384315.tif 000078
【図７８】
0005384315.tif 000079
【図７９】
0005384315.tif 000080
【図８０】
0005384315.tif 000081
【図８１】
0005384315.tif 000082
【図８２】
0005384315.tif 000083
【図８３】
0005384315.tif 000084
【図８４】
0005384315.tif 000085
【図８５】
0005384315.tif 000086
【図８６】
0005384315.tif 000087