(57)【要約】【課題】ユーザの意図しない内容の表示を防ぐことができる。【解決手段】情報検索装置１００は、記憶部１１８と、修飾テーブル生成部１０４と、文書部１３０と、検索キー入力部１１０と、条件生成部１１２と、処理部１１４と、結果部１３２とを含む。記憶部１１８は、テキストデータテーブルを記憶する。修飾テーブル生成部１０４は、修飾テーブルを、文字修飾の種類ごとに生成する。文書部１３０は、テキストデータテーブルに基づき、文書を表示する。検索キー入力部１１０は、ユーザの操作に基づいて、検索キーを検出する。条件生成部１１２は、検索に対する制約を設定する。処理部１１４は、操作部１０８が検索キーを検出すれば、検索に対する制約に従って、テキストデータテーブルの中から、検索キーを含む文字列を検索する。結果部１３２は、検索キーを含む文字列を表示する。【選択図】図１
2007193641.tif 000002
【特許請求の範囲】
【請求項１】
文書を構成する文字列のデータである文字列データと前記文字列に対する文字修飾のデータとを含む、テキストデータテーブルを記憶するための記憶手段と、
前記テキストデータテーブルが含むデータを組み合わせることにより、文字修飾の対象となる前記文字列のデータテーブルである修飾テーブルを、文字修飾の種類ごとに生成するための第１の修飾テーブル生成手段と、
前記テキストデータテーブルに基づき、文書を表示するための文書用の表示手段と、
ユーザの操作に基づいて、前記ユーザが前記文書の中から検索しようとする文字列である検索キーを検出するための第１の検出手段と、
検索に対する制約を設定するための設定手段と、
前記第１の検出手段が検索キーを検出すれば、前記検索に対する制約に従って、前記テキストデータテーブルの中から、前記検索キーを含む文字列を検索するための検索手段と、
前記検索キーを含む文字列を表示するための結果用の表示手段とを含む、情報検索装置。
【請求項２】
前記設定手段は、前記文字修飾の対象となる文字列である修飾付き文字列に対する前記検索キーの前記文書における位置と前記検索キーから前記修飾付き文字列までの距離とに応じた、検索の条件を設定するための手段を含み、
前記検索手段は、前記第１の検出手段が検索キーを検出すれば、前記検索の条件に従って、前記テキストデータテーブルの中から、前記検索キーを含む文字列を検索するための手段を含む、請求項１に記載の情報検索装置。
【請求項３】
前記検索の条件を設定するための手段は、
前記検索キーから前記修飾付き文字列までの距離が閾値以下であって、前記検索キーが前記文書において前記修飾付き文字列の前にあるか否かを判断するための手段と、
前記検索キーから前記修飾付き文字列までの距離が閾値以下であって、前記検索キーが前記修飾付き文字列の前にある場合、後方一致、完全一致、およびワイルドカード検索を検索の条件とするように、検索の条件を設定するための手段とを含む、請求項２に記載の情報検索装置。
【請求項４】
前記検索キーから前記修飾付き文字列までの距離は、前記検索キーから前記修飾付き文字列までの間に存在する文字の個数に対応する距離である、請求項３に記載の情報検索装置。
【請求項５】
前記検索キーから前記修飾付き文字列までの距離は、前記検索キーから前記修飾付き文字列までの形態素の個数に対応する距離である、請求項３に記載の情報検索装置。
【請求項６】
前記閾値はゼロである、請求項３に記載の情報検索装置。
【請求項７】
前記検索の条件を設定するための手段は、
前記検索キーから前記修飾付き文字列までの距離が閾値以下であって、前記検索キーが前記文書において前記修飾付き文字列の後にあるか否かを判断するための手段と、
前記検索キーから前記修飾付き文字列までの距離が閾値以下であって、前記検索キーが前記修飾付き文字列の後にある場合、前方一致、完全一致、およびワイルドカード検索を検索の条件とするように、検索の条件を設定するための手段とを含む、請求項２に記載の情報検索装置。
【請求項８】
前記検索の条件を設定するための手段は、
前記検索キーが前記修飾付き文字列を含むか否かを判断するための手段と、
前記検索キーが前記修飾付き文字列を含む場合、前方一致、後方一致、部分一致、および完全一致を検索の条件とするように、検索の条件を設定するための手段とをさらに含む、請求項７に記載の情報検索装置。
【請求項９】
前記設定手段は、前記文字修飾の対象となる文字列である修飾付き文字列の少なくとも一部と、前記検索キーの少なくとも一部とが一致すると、検索を禁止するような制約を設定するための手段を含み、
前記検索手段は、前記第１の検出手段が検索キーを検出すれば、前記検索を禁止するような制約がある場合を除き、前記テキストデータテーブルの中から、前記検索キーを含む文字列を検索するための手段を含む、請求項１に記載の情報検索装置。
【請求項１０】
前記検索を禁止するような制約を設定するための手段は、
前記修飾付き文字列が前記検索キーを含むか否かを判断するための手段と、
前記検索キーが前記修飾付き文字列を含むか否かを判断するための手段と、
前記修飾付き文字列が前記検索キーを含む場合、および前記検索キーが前記修飾付き文字列を含む場合のいずれかに該当すれば、検索を禁止するような制約を設定するための手段とを含む、請求項９に記載の情報検索装置。
【請求項１１】
前記情報検索装置は、前記修飾付き文字列の少なくとも一部と、前記検索キーの少なくとも一部とが一致すると、表示を禁止するような制約を設定するための手段をさらに含み、
前記結果用の表示手段は、前記表示を禁止するような制約がある場合を除き、前記検索キーを含む文字列を表示するための手段を含む、請求項１に記載の情報検索装置。
【請求項１２】
前記記憶手段は、前記テキストデータテーブルと共に、単語についての説明文を表わす説明文データをさらに含み、
前記情報検索装置は、
前記ユーザの操作に基づいて、前記ユーザが前記説明文の表示を希望している単語を検出するための第２の検出手段と、
前記説明文データのうち、前記ユーザが説明文の表示を希望する単語についての説明文である特定説明文を表わすデータについて、前記修飾テーブルのデータが表わす文字列と同じ文字列が、前記修飾テーブルのデータが表わす文字列と同じ文字修飾の対象となるように、前記特定説明文を構成する文字列についての文字修飾を表わすデータからなるデータテーブルである、説明用修飾テーブルを生成するための、第２の修飾テーブル生成手段と、
前記説明用修飾テーブルが含むデータの内容に従って、前記特定説明文を表示するための説明用の表示手段とをさらに含む、請求項１に記載の情報検索装置。
【請求項１３】
前記記憶手段は、前記テキストデータテーブルと共に、単語についての説明文を表わす説明文データをさらに含み、
前記情報検索装置は、
前記ユーザの操作に基づいて、前記ユーザが前記説明文の表示を希望している単語を検出するための第２の検出手段と、
前記ユーザが説明文の表示を希望する単語についての説明文である特定説明文のうちいずれかの部分を表わす文字列が、前記修飾テーブルのデータが表わす文字列と同じ場合、前記特定説明文の表示を禁止するような制約を設定するための手段と、
前記第２の検出手段が前記単語を検出すると、前記特定説明文の表示を禁止するような制約がある場合を除き、前記特定説明文を表示するための説明用の表示手段とをさらに含む、請求項１に記載の情報検索装置。
【請求項１４】
前記結果用の表示手段は、
前記検索キーを含む文字列のうち前記修飾テーブルのデータが表わす文字列と同じ文字列に、前記修飾テーブルのデータが表わす文字列と同じ文字修飾を表わすデータを対応付けることにより、前記検索キーを含む文字列についての文字修飾を表わすデータのデータテーブルである、表示用修飾テーブルを生成するための、第３の修飾テーブル生成手段と、
前記表示用修飾テーブルが含むデータの内容に従って、前記検索キーを含む文字列を表示するための手段とを含み、
前記情報検索装置は、前記表示用修飾テーブルを記憶するための手段をさらに含む、請求項１に記載の情報検索装置。
【請求項１５】
文書を構成する文字列のデータである文字列データと前記文字列に対する文字修飾のデータとを含む、テキストデータテーブルを記憶する記憶ステップと、
前記テキストデータテーブルが含むデータを組み合わせることにより、文字修飾の対象となる前記文字列のデータテーブルである修飾テーブルを、文字修飾の種類ごとに生成する第１の修飾テーブル生成ステップと、
前記テキストデータテーブルに基づき、文書を表示する文書用の表示ステップと、
ユーザの操作に基づいて、前記ユーザが前記文書の中から検索しようとする文字列である検索キーを検出する第１の検出ステップと、
検索に対する制約を設定する設定ステップと、
前記第１の検出ステップにおいて検出キーを検出すれば、前記検索に対する制約に従って、前記テキストデータテーブルの中から、前記検索キーを含む文字列を検索する検索ステップと、
前記検索キーを含む文字列を表示する結果用の表示ステップとを含む、情報検索方法。
【請求項１６】
文書を構成する文字列のデータである文字列データと前記文字列に対する文字修飾のデータとを含む、テキストデータテーブルを記憶する記憶ステップと、
前記テキストデータテーブルが含むデータを組み合わせることにより、文字修飾の対象となる前記文字列のデータテーブルである修飾テーブルを、文字修飾の種類ごとに生成するための第１の修飾テーブル生成ステップと、
前記テキストデータテーブルに基づき、文書を表示する文書用の表示ステップと、
ユーザの操作に基づいて、前記ユーザが前記文書の中から検索しようとする文字列である検索キーを検出する第１の検出ステップと、
検索に対する制約を設定する設定ステップと、
前記第１の検出ステップにおいて検索キーを検出すれば、前記検索に対する制約に従って、前記テキストデータテーブルの中から、前記検索キーを含む文字列を検索する検索ステップと、
前記検索キーを含む文字列を表示する結果用の表示ステップとを含む各ステップをコンピュータに実行させるための情報検索プログラム。
【請求項１７】
文書を構成する文字列のデータである文字列データと前記文字列に対する文字修飾のデータとを含む、テキストデータテーブルを記憶する記憶ステップと、
前記テキストデータテーブルが含むデータを組み合わせることにより、文字修飾の対象となる前記文字列のデータテーブルである修飾テーブルを、文字修飾の種類ごとに生成する第１の修飾テーブル生成ステップと、
前記テキストデータテーブルに基づき、文書を表示する文書用の表示ステップと、
ユーザの操作に基づいて、前記ユーザが前記文書の中から検索しようとする文字列である検索キーを検出する第１の検出ステップと、
検索に対する制約を設定する設定ステップと、
前記第１の検出ステップにおいて検出キーを検出すれば、前記検索に対する制約に従って、前記テキストデータテーブルの中から、前記検索キーを含む文字列を検索する検索ステップと、
前記検索キーを含む文字列を表示する結果用の表示ステップとを含む各ステップをコンピュータに実行させるための情報検索プログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報検索装置、情報検索方法、情報検索プログラム、および情報検索プログラムを記録したコンピュータ読取り可能な記録媒体に関し、特に、表示された電子文書の検索に適合した情報検索装置、情報検索方法、情報検索プログラム、および情報検索プログラムを記録したコンピュータ読取り可能な記録媒体に関する。
【背景技術】
【０００２】
文書を表示する機能と、その文書中に出現する単語や用語の意味を調べる機能とを兼ね備えた製品が増えてきている。
【０００３】
たとえば、電子辞書には、ジャンプ機能と呼ばれる機能が搭載されてきている。ジャンプ機能とは、検索を行う文字列を入力するための画面に戻ることなく、直接画面に表示されている文章の中から、カーソルなどを利用して、意味を調べたい文字列を選択し、検索する機能である。ＰＤＡ（Personal Digital Assistant、携帯情報端末）においても、同様の機能を備えた端末が存在する。特許文献１や特許文献２には、こうしたジャンプ機能の具体的な実現方法が開示されている。
【０００４】
特許文献１は、単語を入力するための入力キーと、入力キーにより入力した単語の内容を記憶するＲＡＭ（Random Access Memory）と、入力された単語に対応する訳の内容を記憶するＲＯＭ（Read Only Memory）と、内容を表示する表示装置を備えた電子辞書において、表示された内容の画面の中から任意の範囲を指定し、指定された日本語の文字列を見出し語として、さらに見出し語の内容が表示されることを特徴とする電子辞書を開示する。
【０００５】
特許文献１に開示された発明によると、任意の範囲の日本語の文字列からジャンプしてその訳語を表示できる。
【０００６】
特許文献２は、文章データの中から検索を行う文字列を選択する検索キーの選択装置において、文章データ中から選択された任意の文字が入力されるキー入力部と、キー入力部に入力された任意の文字を先頭文字とする文章データに含まれる文字列と、外部の記憶部に検索情報の見出し語として格納された文字列とが一致するか否かを判定する判定部と、判定部が一致すると判定した場合に、一致した文字列を検索キーとして選択する選択部とを備える選択装置を開示する。
【０００７】
特許文献２に開示された発明によると、カーソルを移動させて文字列の先頭文字を指定するだけで、検索する文字列の指定を可能とし、ユーザの操作性を大幅に向上させることができる。たとえば、図２８のように「電」をカーソルで指定するだけで、図２９のように、自動的に「電子メール」が検索文字として選択される。
【特許文献１】特開平１１−１８４８５４号公報
【特許文献２】特開２００５−１８１６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１および特許文献２に開示された発明では、隠された文字が検索結果やその説明文に表示されてしまい、ユーザにとって意図しない結果が生じる（見たくないのに表示されてしまう）という問題点がある。
【０００９】
たとえば、図３０のように、文書中にマスクで隠された部分が存在し、そのマスクの中に「家康」という文字列が存在する場合を考える。以下の説明において、「マスク」とは、文字の一部を塗りつぶして背後の文字を隠す機能を意味する。「マスク」は、参考書などで勉強をするときの、特殊なペンで文字の周囲に色を塗った後、特殊な下敷きを載せて色を塗った箇所を隠す動作を、学習装置で実現するための機能である。「マスク」に類似する機能として、文章の一部に矩形を表示し、その矩形中にキーボードやマウスを用いて文字を入力させる機能がある。以下の説明において、この機能を「テキストボックス」と称する。「テキストボックス」は、文章の一部を四角や下線に置き換え、かつ置き換えられた四角の中や下線の上などに当てはまる文字を記入させるといった、参考書などによく採用される書式を、学習装置で実現するための機能である。特許文献１および特許文献２に開示された発明において「徳川」を選択し、ジャンプ機能を用いて検索を行うと、図３１のように、マスクによって隠されている「家康」を含む検索結果が表示されてしまう。特許文献１および特許文献２に開示された発明において、図３２のように「関ヶ原」を選択し、ジャンプ機能を用いて検索を行い、検索結果である「関ヶ原の戦い」についての説明文を表示させると、図３３のように、マスクによって隠されている「家康」を含む説明文が表示されてしまう。
【００１０】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、ユーザの意図しない内容の表示を防ぐことができる情報検索装置、情報検索方法、情報検索プログラム、および情報検索プログラムを記録したコンピュータ読取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明のある局面に従うと、情報検索装置は、記憶手段と、第１の修飾テーブル生成手段と、文書用の表示手段と、第１の検出手段と、設定手段と、検索手段と、結果用の表示手段とを含む。記憶手段は、文書を構成する文字列のデータである文字列データと文字列に対する文字修飾のデータとを含む、テキストデータテーブルを記憶する。第１の修飾テーブル生成手段は、テキストデータテーブルが含むデータを組み合わせることにより、文字修飾の対象となる文字列のデータテーブルである修飾テーブルを、文字修飾の種類ごとに生成する。文書用の表示手段は、テキストデータテーブルに基づき、文書を表示する。第１の検出手段は、ユーザの操作に基づいて、ユーザが文書の中から検索しようとする文字列である検索キーを検出する。設定手段は、検索に対する制約を設定する。検索手段は、第１の検出手段が検索キーを検出すれば、検索に対する制約に従って、テキストデータテーブルの中から、検索キーを含む文字列を検索する。結果用の表示手段は、検索キーを含む文字列を表示する。
【００１２】
また、上述の設定手段は、文字修飾の対象となる文字列である修飾付き文字列に対する検索キーの文書における位置と検索キーから修飾付き文字列までの距離とに応じた、検索の条件を設定するための手段を含むことが望ましい。併せて、検索手段は、第１の検出手段が検索キーを検出すれば、検索の条件に従って、テキストデータテーブルの中から、検索キーを含む文字列を検索するための手段を含むことが望ましい。
【００１３】
もしくは、上述の検索の条件を設定するための手段は、検索キーから修飾付き文字列までの距離が閾値以下であって、検索キーが文書において修飾付き文字列の前にあるか否かを判断するための手段と、検索キーから修飾付き文字列までの距離が閾値以下であって、検索キーが修飾付き文字列の前にある場合、後方一致、完全一致、およびワイルドカード検索を検索の条件とするように、検索の条件を設定するための手段とを含むことが望ましい。
【００１４】
もしくは、上述の検索キーから修飾付き文字列までの距離は、検索キーから修飾付き文字列までの間に存在する文字の個数に対応する距離であることが望ましい。
【００１５】
もしくは、上述の検索キーから修飾付き文字列までの距離は、検索キーから修飾付き文字列までの形態素の個数に対応する距離であることが望ましい。
【００１６】
もしくは、上述の閾値はゼロであることが望ましい。
もしくは、検索の条件を設定するための手段は、検索キーから修飾付き文字列までの距離が閾値以下であって、検索キーが文書において修飾付き文字列の後にあるか否かを判断するための手段と、検索キーから修飾付き文字列までの距離が閾値以下であって、検索キーが修飾付き文字列の後にある場合、前方一致、完全一致、およびワイルドカード検索を検索の条件とするように、検索の条件を設定するための手段とを含むことが望ましい。
【００１７】
もしくは、検索の条件を設定するための手段は、検索キーが修飾付き文字列を含むか否かを判断するための手段と、検索キーが修飾付き文字列を含む場合、前方一致、後方一致、部分一致、および完全一致を検索の条件とするように、検索の条件を設定するための手段とをさらに含むことが望ましい。
【００１８】
また、上述の設定手段は、文字修飾の対象となる文字列である修飾付き文字列の少なくとも一部と、検索キーの少なくとも一部とが一致すると、検索を禁止するような制約を設定するための手段を含むことが望ましい。併せて、検索手段は、第１の検出手段が検索キーを検出すれば、検索を禁止するような制約がある場合を除き、テキストデータテーブルの中から、検索キーを含む文字列を検索するための手段を含むことが望ましい。
【００１９】
もしくは、上述の検索を禁止するような制約を設定するための手段は、修飾付き文字列が検索キーを含むか否かを判断するための手段と、検索キーが修飾付き文字列を含むか否かを判断するための手段と、修飾付き文字列が検索キーを含む場合、および検索キーが修飾付き文字列を含む場合のいずれかに該当すれば、検索を禁止するような制約を設定するための手段とを含むことが望ましい。
【００２０】
また、上述の情報検索装置は、修飾付き文字列の少なくとも一部と、検索キーの少なくとも一部とが一致すると、表示を禁止するような制約を設定するための手段をさらに含むことが望ましい。併せて、結果用の表示手段は、表示を禁止するような制約がある場合を除き、検索キーを含む文字列を表示するための手段を含むことが望ましい。
【００２１】
また、上述の記憶手段は、テキストデータテーブルと共に、単語についての説明文を表わす説明文データをさらに含むことが望ましい。併せて、情報検索装置は、第２の検出手段と、第２の修飾テーブル生成手段と、説明用の表示手段とをさらに含むことが望ましい。第２の検出手段は、ユーザの操作に基づいて、ユーザが説明文の表示を希望している単語を検出する。第２の修飾テーブル生成手段は、説明文データのうち、ユーザが説明文の表示を希望する単語についての説明文である特定説明文を表わすデータについて、修飾テーブルのデータが表わす文字列と同じ文字列が、修飾テーブルのデータが表わす文字列と同じ文字修飾の対象となるように、特定説明文を構成する文字列についての文字修飾を表わすデータからなるデータテーブルである、説明用修飾テーブルを生成する。説明用の表示手段は、説明用修飾テーブルが含むデータの内容に従って、特定説明文を表示する。
【００２２】
また、上述の記憶手段は、テキストデータテーブルと共に、単語についての説明文を表わす説明文データをさらに含むことが望ましい。併せて、情報検索装置は、第２の検出手段と、制約を設定するための手段と、説明用の表示手段とをさらに含むことが望ましい。第２の検出手段は、ユーザの操作に基づいて、ユーザが説明文の表示を希望している単語を検出する。制約を設定するための手段は、ユーザが説明文の表示を希望する単語についての説明文である特定説明文のうちいずれかの部分を表わす文字列が、修飾テーブルのデータが表わす文字列と同じ場合、特定説明文の表示を禁止するような制約を設定する。説明用の表示手段は、第２の検出手段が単語を検出すると、特定説明文の表示を禁止するような制約がある場合を除き、特定説明文を表示する。
【００２３】
また、上述の結果用の表示手段は、第３の修飾テーブル生成手段と、文字列を表示するための手段とを含むことが望ましい。第３の修飾テーブル生成手段は、検索キーを含む文字列のうち修飾テーブルのデータが表わす文字列と同じ文字列に、修飾テーブルのデータが表わす文字列と同じ文字修飾を表わすデータを対応付けることにより、検索キーを含む文字列についての文字修飾を表わすデータのデータテーブルである、表示用修飾テーブルを生成する。文字列を表示するための手段は、表示用修飾テーブルが含むデータの内容に従って、検索キーを含む文字列を表示する。併せて、情報検索装置は、表示用修飾テーブルを記憶するための手段をさらに含むことが望ましい。
【００２４】
本発明の他の局面に従うと、情報検索方法は、記憶ステップと、第１の修飾テーブル生成ステップと、文書用の表示ステップと、第１の検出ステップと、設定ステップと、検索ステップと、結果用の表示ステップとを含む。記憶ステップは、文書を構成する文字列のデータである文字列データと文字列に対する文字修飾のデータとを含む、テキストデータテーブルを記憶する。第１の修飾テーブル生成ステップは、テキストデータテーブルが含むデータを組み合わせることにより、文字修飾の対象となる文字列のデータテーブルである修飾テーブルを、文字修飾の種類ごとに生成する。文書用の表示ステップは、テキストデータテーブルに基づき、文書を表示する。第１の検出ステップは、ユーザの操作に基づいて、ユーザが文書の中から検索しようとする文字列である検索キーを検出する。設定ステップは、検索に対する制約を設定する。検索ステップは、第１の検出ステップにおいて検索キーを検出すれば、検索に対する制約に従って、テキストデータテーブルの中から、検索キーを含む文字列を検索する。結果用の表示ステップは、検索キーを含む文字列を表示する。
【００２５】
本発明の他の局面に従うと、情報検索プログラムは、記憶ステップと、第１の修飾テーブル生成ステップと、文書用の表示ステップと、第１の検出ステップと、設定ステップと、検索ステップと、結果用の表示ステップとを含む各ステップをコンピュータに実行させる。記憶ステップは、文書を構成する文字列のデータである文字列データと文字列に対する文字修飾のデータとを含む、テキストデータテーブルを記憶する。第１の修飾テーブル生成ステップは、テキストデータテーブルが含むデータを組み合わせることにより、文字修飾の対象となる文字列のデータテーブルである修飾テーブルを、文字修飾の種類ごとに生成する。文書用の表示ステップは、テキストデータテーブルに基づき、文書を表示する。第１の検出ステップは、ユーザの操作に基づいて、ユーザが文書の中から検索しようとする文字列である検索キーを検出する。設定ステップは、検索に対する制約を設定する。検索ステップは、第１の検出ステップにおいて検索キーを検出すれば、検索に対する制約に従って、テキストデータテーブルの中から、検索キーを含む文字列を検索する。結果用の表示ステップは、検索キーを含む文字列を表示する。
【００２６】
本発明の他の局面に従えば、記録媒体は、情報検索プログラムを記録したコンピュータ読取可能な記録媒体である。情報検索プログラムは、記憶ステップと、第１の修飾テーブル生成ステップと、文書用の表示ステップと、第１の検出ステップと、設定ステップと、検索ステップと、結果用の表示ステップとを含む各ステップをコンピュータに実行させる。記憶ステップは、文書を構成する文字列のデータである文字列データと文字列に対する文字修飾のデータとを含む、テキストデータテーブルを記憶する。第１の修飾テーブル生成ステップは、テキストデータテーブルが含むデータを組み合わせることにより、文字修飾の対象となる文字列のデータテーブルである修飾テーブルを、文字修飾の種類ごとに生成する。文書用の表示ステップは、テキストデータテーブルに基づき、文書を表示する。第１の検出ステップは、ユーザの操作に基づいて、ユーザが文書の中から検索しようとする文字列である検索キーを検出する。設定ステップは、検索に対する制約を設定する。検索ステップは、第１の検出ステップにおいて検索キーを検出すれば、検索に対する制約に従って、テキストデータテーブルの中から、検索キーを含む文字列を検索する。結果用の表示ステップは、検索キーを含む文字列を表示する。
【発明の効果】
【００２７】
本発明に係る情報検索装置、情報検索方法、情報検索プログラム、および情報検索プログラムを記録したコンピュータ読取り可能な記録媒体は、ユーザの意図しない内容の表示を防ぐことができる。
【発明を実施するための最良の形態】
【００２８】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同一である。したがって、それらについての詳細な説明は繰返さない。
【００２９】
＜第１の実施の形態＞
以下、本発明の第１の実施の形態に係る情報検索装置について説明する。
【００３０】
図１は、本実施の形態にかかる情報検索装置１００の制御ブロック図である。
なお、以下の説明において、情報検索装置１００の各部分について特に注釈なく「＊＊部から得る」、「＊＊部へ送る（渡す）」という表現をしている場合、データが、後述するバス１５８を介してやりとりされていることを表わす。バス１５８を介する場合、データが直接各部分同士でやりとりされる場合もあれば、後述する主記憶装置１４４、外部記憶装置１４６、あるいはネットワーク先などを間に挟んでデータがやりとりされる場合もある。ネットワーク先を間に挟む場合、データは後述する通信デバイス１５６を介してやりとりされる。
【００３１】
図１を参照して、本実施の形態にかかる情報検索装置１００は、文書データ入力部１０２と、修飾テーブル生成部１０４と、対象入力部１０６と、操作部１０８と、検索キー入力部１１０と、条件生成部１１２と、処理部１１４と、表示用修飾テーブル生成部１１６と、記憶部１１８と、作成部１２０と、表示部１２２とを含む。
【００３２】
文書データ入力部１０２は、通信デバイス１５６を介したネットワーク先などから、文書データを得る。得られたデータは、修飾テーブル生成部１０４および記憶部１１８に渡される。
【００３３】
修飾テーブル生成部１０４は、文書データ中の文字に修飾が存在すれば、その修飾情報を修飾テーブルにまとめ、記憶部１１８へ渡す。
【００３４】
対象入力部１０６は、通信デバイス１５６を介したネットワーク先などから、検索の対象となるデータを得る。得られたデータは、記憶部１１８に渡される。
【００３５】
操作部１０８は、ユーザがタブレット１５２のペン（以下単に「ペン」とする）などによって表示画面に対して行った操作、あるいはユーザがメニューなどを参照して行った操作を検出する。操作部１０８は、検出された操作を表わす情報を、ユーザからの検索の要求を含む場合は検索キー入力部１１０に、それ以外の場合は作成部１２０に渡す。
【００３６】
検索キー入力部１１０は、ユーザが文書の中から検索しようとする文字列（以下単に「検索キー」と称する）の情報を操作部１０８から得て、条件生成部１１２に渡す。検索キーは、ユーザがペンやキーボード１５０を介して入力した文字列や、ユーザが確定した文字列である。ユーザが文字列を確定しようとする場合、ユーザは、ペン、キーボード１５０、あるいはマウス１４８を用いて、ディスプレイ１４２に表示されている文書データの選択範囲を決定することにより、文字列を確定する。
【００３７】
条件生成部１１２は、検索の条件を表わすデータ（以下「検索条件」と称する）と検索キーの情報とを処理部１１４へ渡す。条件生成部１１２は、検索キーの情報、文書データ、および修飾テーブルを元に検索条件を生成する。条件生成部１１２は、検索キーの情報を検索キー入力部１１０から得る。条件生成部１１２は、文書データおよび修飾テーブルを記憶部１１８から得る。
【００３８】
処理部１１４は、検索用テーブルを表示用修飾テーブル生成部１１６および記憶部１１８へ渡す。検索用テーブルとは、検索の結果の情報を含む、データテーブルである。処理部１１４は、検索条件と検索キーとを元に検索処理を行う。
【００３９】
表示用修飾テーブル生成部１１６は、検索キーと同じ文字列が文書データ中に存在し、かつ、その文字が修飾されていれば、その修飾の内容を表わすデータを記憶部１１８へ渡す。修飾の内容を表わすデータは、検索キーと同じ文字列を含む文字列すべてについてのデータテーブル（以下「表示用修飾テーブル」と称する）として記憶部１１８へ渡される。本実施の形態の場合、表示用修飾テーブルのデータ構造は、修飾テーブルのデータ構造と同じである。表示用修飾テーブル生成部１１６は、検索キーと同じ文字列が、説明データが表わす文字列中に存在し（説明データについては後述する）、かつ、その文字が修飾されていれば、その修飾の内容を表わすデータを記憶部１１８へ渡す。修飾の内容を表わすデータは、検索キーと同じ文字列を含む文字列すべてについてのデータテーブル（以下「説明用修飾テーブル」と称する）として記憶部１１８へ渡される。本実施の形態の場合、説明用修飾テーブルのデータ構造も、修飾テーブルのデータ構造と同じである。
【００４０】
記憶部１１８は、文書データ、検索の対象となるデータ、修飾テーブル、説明用修飾テーブル、および検索の結果を表わすデータを記憶する。記憶されるデータなどは、文書データ入力部１０２、対象入力部１０６、条件生成部１１２、処理部１１４、修飾テーブル生成部１０４、表示用修飾テーブル生成部１１６から得たデータなどである。記憶部１１８は、必要に応じて、記憶されたデータなどを、条件生成部１１２、処理部１１４、作成部１２０に渡す。
【００４１】
作成部１２０は、記憶部１１８から文書データや検索の結果を表わすデータを得て、表示データを作成し、表示部１２２へ渡す。
【００４２】
表示部１２２は、作成部１２０から得た表示データを表示する。表示部１２２は、文書部１３０と、結果部１３２と、説明部１３４とを含む。文書部１３０は文書データを表示する。結果部１３２は検索の結果を表わすデータを表示する。説明部１３４は、説明文を表示する。
【００４３】
図２は、本実施の形態にかかる情報検索装置１００を具体的に実現するハードウェアの構成例を示す図である。本実施の形態の場合、図１に示す情報検索装置１００の各部分は、図２に示したコンピュータハードウェアと後述するＣＰＵ（Central Processing Unit）１４０により実行されるソフトウェアとにより実現される仮想装置である。
【００４４】
図２を参照して、情報検索装置１００を具体的に実現するコンピュータハードウェアは、ＣＰＵ１４０と、ディスプレイ１４２と、主記憶装置１４４と、外部記憶装置１４６と、マウス１４８と、キーボード１５０と、タブレット１５２と、スピーカ１５４と、通信デバイス１５６と、バス１５８とを含む。ＣＰＵ１４０と、ディスプレイ１４２と、主記憶装置１４４と、外部記憶装置１４６と、マウス１４８と、キーボード１５０と、タブレット１５２と、スピーカ１５４と、通信デバイス１５６とは、バス１５８により相互に接続されている。
【００４５】
ＣＰＵ１４０は、本実施の形態にかかる情報検索装置１００を具体的に実現するための処理手順が記述されたプログラムを実行する。ＣＰＵ１４０は、自らが実行するプログラムを、主記憶装置１４４、外部記憶装置１４６または通信デバイス１５６を介したネットワーク先などから得る。ＣＰＵ１４０は、バス１５８を通じて、ディスプレイ１４２、マウス１４８、タブレット１５２、主記憶装置１４４、外部記憶装置１４６、通信デバイス１５６、キーボード１５０、およびスピーカ１５４とデータのやりとりを行う。
【００４６】
ディスプレイ１４２は、グラフィックカードなどと組合わされた表示媒体（あるいは出力媒体）である。本実施の形態におけるディスプレイ１４２は、モニタである。グラフィックカード上にはＶＲＡＭ（Video Random Access Memory）が備えられる。ＶＲＡＭ上のデータは、表示信号に変換された後、ディスプレイ１４２に供給される。ディスプレイ１４２は供給された表示信号を画像として表示する。
【００４７】
主記憶装置１４４は、通常はＤＲＡＭ（Dynamic Random Access Memory）、フラッシュメモリなどのメモリデバイスで構成される。主記憶装置１４４は、各種のデータを記憶する装置である。
【００４８】
外部記憶装置１４６も、各種のデータを記憶する装置である。本実施の形態の場合、外部記憶装置１４６は、ハードディスクドライブ１６０と、ＰＣ（Personal Computer）カードスロット１６２とを含む。
【００４９】
マウス１４８、キーボード１５０、およびタブレット１５２は、いずれもユーザが指示を入力する装置である。マウス１４８は、自らの移動方向と移動距離とを検出する検出機器やボタンなどを含む。タブレット１５２は、ペンとペン位置を検出する検出機器とを含む。キーボード１５０は、複数のボタン（キー）を含み、押下られたキーに応じた信号を生成する。マウス１４８、タブレット１５２、およびキーボード１５０から入力されたユーザの指示は、バス１５８を介してＣＰＵ１４０に入力される。
【００５０】
スピーカ１５４は、バス１５８などを介して送られる音声データを音声信号として解釈し、音声として出力する装置である。出力される音声は、単波長の単純な音の場合もあるし、音楽や人間の音声などの複雑な音の場合もある。
【００５１】
通信デバイス１５６は、ネットワークインタフェースカードなどにより実現される。通信デバイス１５６は、無線や有線などにより接続された他のネットワーク機器とデータをやりとりする装置である。
【００５２】
本実施の形態にかかる情報検索装置１００は、上述したコンピュータハードウェアとＣＰＵ１４０により実行されるソフトウェアとにより実現される。本実施の形態の場合、操作部１０８は、ＣＰＵ１４０と、マウス１４８、タブレット１５２、およびキーボード１５０のいずれかとにより実現される。本実施の形態の場合、表示部１２２は、ディスプレイ１４２とＣＰＵ１４０と主記憶装置１４４および外部記憶装置１４６のいずれかとにより実現される。本実施の形態の場合、操作部１０８および表示部１２２以外の各装置は、ＣＰＵ１４０と主記憶装置１４４および外部記憶装置１４６のいずれかとにより実現される。一般的にこうしたソフトウェアは、ＰＣカード１７０などの記録媒体に格納されて流通し、外部記憶装置１４６のＰＣカードスロット１６２などにより記録媒体から読取られてハードディスクドライブ１６０に一旦格納される。さらに主記憶装置１４４のＤＲＡＭに読出されて、上述したＣＰＵ１４０により実行される。上述したコンピュータハードウェア自体は一般的なものである。したがって、本発明の最も本質的な部分は、ＰＣカードなどの記録媒体に記録されたソフトウェアである。
【００５３】
図３を参照して、情報検索装置１００で実行されるプログラムは、検索に関し、以下のような制御を実行する。
【００５４】
ステップ２００（以下ステップをＳと略す。）にて、文書データ入力部１０２は、文書データを取得する。文書データ入力部１０２は、取得した文書データを、記憶部１１８に渡す。
【００５５】
Ｓ２０２にて、修飾テーブル生成部１０４は、文書データ入力部１０２が得た文書データに対応する、修飾テーブルを生成する。この処理は、後述するＳ２５０〜Ｓ２６４の各処理に相当する。
【００５６】
Ｓ２０４にて、作成部１２０は、文書データ入力部１０２が取得した文書データをもとに、表示部１２２の文書部１３０が表示するための表示データを作成する。Ｓ２０６にて、文書部１３０は、作成部１２０が作成した表示データの内容を表示する。
【００５７】
Ｓ２０８にて、操作部１０８は、ユーザの操作（検索の要求を除く）があったか否かを判断する。ユーザの操作があったと判断した場合（Ｓ２０８にてＹＥＳ）、処理はＳ２１０へと移される。もしそうでないと（Ｓ２０８にてＮＯ）、処理はＳ２１２へと移される。
【００５８】
Ｓ２１０にて、情報検索装置１００の各部は、操作部１０８が検出したユーザの操作に対応する処理を行なう。情報検索装置１００の各部が実行する処理には、上述した文書データのスクロール操作や、マスクの表示の有無の切換（マスクの表示の有無の切換はマウス１４８やキーボード１５０などにより検出される）などの操作が含まれる。
【００５９】
Ｓ２１２にて、操作部１０８は、ユーザからの検索の要求があったか否かを判断する。検索の要求があったと判断した場合（Ｓ２１２にてＹＥＳ）、処理はＳ２１４へと移される。もしそうでないと（Ｓ２１２にてＮＯ）、処理はＳ２２４へと移される。
【００６０】
Ｓ２１４にて、検索キー入力部１１０、条件生成部１１２、および処理部１１４は、ユーザから検索の要求があった検索キーについて検索を実行する。この処理は後述するＳ１４００〜Ｓ１４０４の各処理に該当する。
【００６１】
Ｓ２１６にて、作成部１２０は、記憶部１１８が記憶したデータを参照することにより、検索結果がある（検索結果を表わす情報が記憶されている）か否かを判断する。検索結果があると判断した場合（Ｓ２１６にてＹＥＳ）、処理はＳ２１８へと移される。もしそうでないと（Ｓ２１６にてＮＯ）、処理はＳ２２６へと移される。Ｓ２１８にて、作成部１２０は、検索の結果の表示データを作成する。表示部１２２の結果部１３２は、作成部１２０が作成したデータに基づき、検索の結果を表示する。
【００６２】
Ｓ２２０にて、操作部１０８は、説明文の表示の要求があったか否かを判断する。説明文の表示の要求があったと判断した場合（Ｓ２２０にてＹＥＳ）、処理はＳ２２２へと移される。もしそうでないと（Ｓ２２０にてＮＯ）、処理はＳ２２４へと移される。Ｓ２２２にて、情報検索装置１００の各部は説明文を表示する。この処理は後述するＳ２２０４〜Ｓ２２１０の各処理に該当する。
【００６３】
Ｓ２２４にて、操作部１０８は、検索を終了するか否かを判断する。操作部１０８は、ディスプレイ１４２の電源を切断することがディスプレイ１４２のスイッチやディスプレイ１４２に付属するリモコン（図示せず）などを介して指示されているか否かに基づき上述の判断をする。操作部１０８は、ディスプレイ１４２の電源の切断に代え、情報検索装置１００全体の電源の切断の指示があるか否かに基づいて、上述の判断を行なってもよい。
【００６４】
Ｓ２２６にて、作成部１２０は検索結果が見つからない旨の表示データを作成する。結果部１３２は作成部１２０が作成した表示データに基づき、検索結果が見つからない旨を表示する。
【００６５】
図４を参照して、修飾テーブル生成部１０４および記憶部１１８で実行されるプログラムは、修飾テーブルの生成に関し、以下のような制御を実行する。
【００６６】
Ｓ２５０にて、修飾テーブル生成部１０４は、文書データ入力部１０２からテキストデータテーブルの一番目のデータを取得する。
【００６７】
Ｓ２５２にて、修飾テーブル生成部１０４は、自らが取得したデータに対する修飾の種類が「ノン」以外か否かを判断する。修飾の種類が「ノン」以外と判断した場合には（Ｓ２５２にてＹＥＳ）、処理はＳ２５４へと移される。もしそうでないと（Ｓ２５２にてＮＯ）、処理はＳ２６２へと移される。
【００６８】
Ｓ２５４にて、修飾テーブル生成部１０４は、記憶部１１８が記憶するデータを参照することにより、「種類」に対応する修飾テーブルがあるか否かを判断する。図４に示す処理における「種類」とは、Ｓ２５０にて修飾テーブル生成部１０４が取得したデータに対する修飾の種類のことである。「種類」に対応する修飾テーブルがあると判断した場合（Ｓ２５４にてＹＥＳ）、処理はＳ２５６へと移される。もしそうでないと（Ｓ２５４にてＮＯ）、処理はＳ２６０へと移される。
【００６９】
Ｓ２５６にて、修飾テーブル生成部１０４は、記憶部１１８から「種類」に対応する修飾テーブルを取得する。Ｓ２５８にて、修飾テーブル生成部１０４は、Ｓ２５６にて取得した修飾テーブルにテキストデータテーブルから取得したデータのデータ位置などを登録する。修飾テーブルに登録される具体的な内容は後述する。Ｓ２６０にて、修飾テーブル生成部１０４は、「種類」に対応する修飾テーブルを新規に生成する。生成された修飾テーブルは、記憶部１１８により記憶される。
【００７０】
Ｓ２６２にて、修飾テーブル生成部１０４は、テキストデータテーブルにまだ修飾の種類を識別していないデータが存在するか否かを判断する。修飾の種類を識別していないデータが存在すると判断した場合（Ｓ２６２にてＹＥＳ）、処理はＳ２６４へと移される。もしそうでないと（Ｓ２６２にてＮＯ）、処理は終了する。Ｓ２６４にて、修飾テーブル生成部１０４は、テキストデータテーブルの次のデータを取得する。
【００７１】
図５を参照して、情報検索装置１００で実行されるプログラムは、検索に関し、以下のような制御を実行する。
【００７２】
Ｓ１４００にて、検索キー入力部１１０は、操作部１０８が検出した操作に基づき、検索キーを検出する。本実施の形態の場合、検索キー入力部１１０は、文書部１３０に表示されている文書のうち、ユーザが操作部１０８を介して指定した範囲の文字列を検索キーとみなす。本実施の形態の場合、検索キー入力部１１０は、修飾された文字列が検索キーに含まれている場合、修飾された文字の代わりに、「＊」という文字が指定されたとみなす（なお、本実施の形態とは異なる実施の形態では、「＊」という文字が指定されたとみなす代わりに、別の文字が指定されたとみなしてもよい）。「＊」という文字は、ワイルドカード検索に用いられる文字である。検索キー入力部１１０は、ユーザが操作部１０８を介して指定した範囲と修飾テーブルが含むデータとを比較することにより、修飾された文字列が検索キーに含まれていることを検知する。
【００７３】
Ｓ１４０２にて、条件生成部１１２は、検索キーに基づいて検索条件を生成する。この処理は後述するＳ１４２００〜Ｓ１４２２８の各処理に該当する。
【００７４】
Ｓ１４０４にて、処理部１１４は、検索キーおよび条件生成部１１２が生成した検索条件に基づいて、テキストデータテーブルのデータから検索キーに一致する文字列を検索する。本実施の形態の場合、処理部１１４は、検索キーとテキストデータテーブルのデータとを順次比較することにより、テキストデータテーブルのデータから検索キーに一致する文字列を検索する。
【００７５】
図６を参照して、条件生成部１１２で実行されるプログラムは、検索条件の生成に関し、以下のような制御を実行する。
【００７６】
Ｓ１４２００にて、条件生成部１１２は、検索条件を初期化する。このステップにおいて、「検索条件を初期化する」とは、「前方一致」、「後方一致」、「部分一致」、「ワイルドカード検索」、および「完全一致」の５種類の検索を実施すべき旨の情報を生成することを意味する。なお、本実施の形態における「前方一致」とは、文字列のうち先頭を含む一部分が検索キーと一致する文字列を検索することをいう。本実施の形態における「後方一致」とは、文字列のうち末尾を含む一部分が検索キーと一致する文字列を検索することをいう。本実施の形態における「部分一致」とは、文字列のうちいずれかの一部分が検索キーと一致する文字列を検索することをいう。本実施の形態における「ワイルドカード検索」とは、文字列のうちいずれかの一部分が検索キーのうち「＊」で表わされる文字以外の文字列と一致する文字列を検索することをいう。本実施の形態における「完全一致」とは、文字列のすべてが検索キーと一致する文字列を検索することをいう。
【００７７】
Ｓ１４２０２にて、条件生成部１１２は、記憶部１１８が記憶するデータを参照することにより、修飾テーブルが存在するか否かを判断する。修飾テーブルが存在すると判断した場合（Ｓ１４２０２にてＹＥＳ）、処理はＳ１４２０４へと移される。もしそうでないと（Ｓ１４２０２にてＮＯ）、処理は終了する。Ｓ１４２０４にて、条件生成部１１２は、記憶部１１８から１つ目の修飾テーブルを取得する。Ｓ１４２０６にて、条件生成部１１２は、修飾テーブルから１つ目の修飾データを取得する。
【００７８】
Ｓ１４２０８にて、条件生成部１１２は、検索キー入力部１１０から検索キーを取得する。検索キーが取得されると、条件生成部１１２は、修飾付き文字列（文字修飾の対象となる文字列。このステップの場合、修飾付き文字列は、条件生成部１１２によって取得された修飾データが表わす文字列である）と検索キーとが一致するか否かを判断する。修飾付き文字列と検索キーとが一致すると判断した場合（Ｓ１４２０８にてＹＥＳ）、処理はＳ１４２０９へと移される。もしそうでないと（Ｓ１４２０８にてＮＯ）、処理はＳ１４２１０へと移される。
【００７９】
Ｓ１４２０９にて、条件生成部１１２は、検索を禁止する旨の情報に、検索条件を変更する。
【００８０】
Ｓ１４２１０にて、条件生成部１１２は、検索キーから修飾付き文字列までの距離が閾値以下であって検索キーと一致する範囲が修飾付き文字列の位置より前か否かを判断する。この「位置」は文書における修飾付き文字列の位置を意味する。「文書」は文書データが表わす文書を意味する。本実施の形態の場合、「検索キーから修飾付き文字列までの距離」とは、検索キーと一致する範囲から実際に文字列が修飾されている範囲までの間に存在する文字の個数に対応する距離を意味する。本実施の形態の場合、上述した閾値はゼロであることとする。これにより、条件生成部１１２は、検索キーと一致する範囲が修飾付き文字列の位置より前であって隣接しているか否かを判断することとなる。検索キーと一致する範囲が修飾付き文字列の位置より前であって隣接していると判断した場合には（Ｓ１４２１０にてＹＥＳ）、処理はＳ１４２１２へと移される。もしそうでないと（Ｓ１４２１０にてＮＯ）、処理はＳ１４２１４へと移される。Ｓ１４２１２にて、条件生成部１１２は、Ｓ１４２０２にて生成した検索条件より「前方一致」の検索を実施すべき旨の情報と「部分一致」の検索を実施すべき旨の情報とを削除する。
【００８１】
Ｓ１４２１４にて、条件生成部１１２は、検索キーから修飾付き文字列までの距離が閾値以下であって検索キーと一致する範囲が修飾付き文字列の位置より後ろか否かを判断する。この「位置」も文書における修飾付き文字列の位置を意味する。「文書」の意味も同様である。「検索キーから修飾付き文字列までの距離」の意味も同様である。これにより、条件生成部１１２は、検索キーと一致する範囲が修飾付き文字列の位置より後であって隣接しているか否かを判断することとなる。検索キーから修飾付き文字列までの距離が閾値以下であって検索キーと一致する範囲が修飾付き文字列の位置より後ろと判断した場合には（Ｓ１４２１４にてＹＥＳ）、処理はＳ１４２１６へと移される。もしそうでないと（Ｓ１４２１４にてＮＯ）、処理はＳ１４２１８へと移される。Ｓ１４２１６にて、条件生成部１１２は、Ｓ１４２００にて生成した検索条件から「後方一致」の検索を実施すべき旨の情報と「部分一致」の検索を実施すべき旨の情報とを削除する。これにより、条件生成部１１２は、検索キーが修飾付き文字列の後にある場合、前方一致、完全一致、およびワイルドカード検索を検索の条件とするように、検索の条件を設定することとなる。
【００８２】
Ｓ１４２１８にて、条件生成部１１２は、検索キーが修飾付き文字列を含むか否かを判断する。修飾付き文字列を含むと判断した場合（Ｓ１４２１８にてＹＥＳ）、処理はＳ１４２２０へと移される。もしそうでないと（Ｓ１４２１８にてＮＯ）、処理はＳ１４２２２へと移される。Ｓ１４２２０にて、条件生成部１１２は、Ｓ１４２００にて生成した検索条件より「ワイルドカード検索」を実施すべき旨の情報を削除する。
【００８３】
Ｓ１４２２２にて、条件生成部１１２は、まだ検索に利用されていない修飾データが存在するか否かを判断する。修飾データが存在すると判断した場合（Ｓ１４２２２にてＹＥＳ）、処理はＳ１４２２４へと移される。もしそうでないと（Ｓ１４２２２にてＮＯ）、処理はＳ１４２２６へと移される。Ｓ１４２２４にて、条件生成部１１２は、修飾テーブルから次の修飾データを取得する。
【００８４】
Ｓ１４２２６にて、条件生成部１１２は、まだ検索に利用されていない修飾テーブルが存在するか否かを判断する。修飾テーブルが存在すると判断した場合には（Ｓ１４２２６にてＹＥＳ）、処理はＳ１４２２８へと移される。もしそうでないと（Ｓ１４２２６にてＮＯ）、処理は終了する。Ｓ１４２２８にて、条件生成部１１２は、次の修飾テーブルを取得する。
【００８５】
図７を参照して、情報検索装置１００で実行されるプログラムは、説明文の表示に関し、以下のような制御を実行する。
【００８６】
Ｓ２２０４にて、表示用修飾テーブル生成部１１６は、説明用修飾テーブルを生成する。この処理は後述するＳ２４００〜Ｓ２４２２の処理に該当する。Ｓ２２０６にて、作成部１２０は、説明用修飾テーブルに従って表示データを作成する。表示データが作成されると、説明部１３４は、表示データに従って説明を表示する。
【００８７】
Ｓ２２０８にて、表示用修飾テーブル生成部１１６は、説明データをすべて表示したか否かを判断する。説明データをすべて表示した場合（Ｓ２２０８にてＹＥＳ）、処理は終了する。もしそうでないと（Ｓ２２０８にてＮＯ）、処理はＳ２２１０へと移される。Ｓ２２１０にて、表示用修飾テーブル生成部１１６は次の説明データを取得する。
【００８８】
図８を参照して、表示用修飾テーブル生成部１１６で実行されるプログラムは、修飾テーブルの生成に関し、以下のような制御を実行する。
【００８９】
Ｓ２４００にて、表示用修飾テーブル生成部１１６は、データを取得する。取得されるデータは、作成しようとする修飾テーブルにより異なる。たとえば、説明用修飾テーブルを作成する場合、取得されるデータは、記憶部１１８に記憶された説明テーブルが含む、検索キーについての説明データである。
【００９０】
Ｓ２４０２にて、表示用修飾テーブル生成部１１６は、記憶部１１８を参照することにより、修飾テーブルが存在するか否かを判断する。修飾テーブルが存在すると判断した場合（Ｓ２４０２にてＹＥＳ）、処理はＳ２４０４へと移される。もしそうでないと（Ｓ２４０２にてＮＯ）、処理は終了する。Ｓ２４０４にて、表示用修飾テーブル生成部１１６は、１つ目の修飾テーブルを取得する。
【００９１】
Ｓ２４０６にて、表示用修飾テーブル生成部１１６は、修飾テーブルの中に取得された説明データが表わす文字列と同じ文字列が存在するか否かを判断する。同じ文字列が存在すると判断した場合（Ｓ２４０６にてＹＥＳ）、処理はＳ２４０８へと移される。もしそうでないと（Ｓ２４０６にてＮＯ）、処理はＳ２４２４へと移される。Ｓ２４０８にて、表示用修飾テーブル生成部１１６は、取得された説明データが表わす文字列に対応する修飾データを取得する。
【００９２】
Ｓ２４１０にて、表示用修飾テーブル生成部１１６は、修飾データが表わす修飾の種類がマスクか否かを判断する。修飾の種類がマスクと判断した場合（Ｓ２４１０にてＹＥＳ）、処理はＳ２４１２へと移される。もしそうでないと（Ｓ２４１０にてＮＯ）、処理はＳ２４１６へと移される。
【００９３】
Ｓ２４１２にて、表示用修飾テーブル生成部１１６は、修飾データが表わす修飾の状態が「有」か否かを判断する。修飾の状態が「有」と判断した場合（Ｓ２４１２にてＹＥＳ）、処理はＳ２４１４へと移される。もしそうでないと（Ｓ２４１２にてＮＯ）、処理はＳ２４１６へと移される。Ｓ２４１４にて、表示用修飾テーブル生成部１１６は、作成中の修飾テーブルに新たな修飾データを登録する。
【００９４】
Ｓ２４１６にて、表示用修飾テーブル生成部１１６は、修飾データが表わす修飾の種類がテキストボックスか否かを判断する。修飾の種類がテキストボックスと判断した場合には（Ｓ２４１６にてＹＥＳ）、処理はＳ２４１８へと移される。もしそうでないと（Ｓ２４１６にてＮＯ）、処理はＳ２４２０へと移される。
【００９５】
Ｓ２４１８にて、表示用修飾テーブル生成部１１６は、テキストボックスの中に文字が入力されていないか否かを判断する。文字が入力されていないと判断した場合には（Ｓ２４１８にてＹＥＳ）、処理はＳ２４２０へと移される。もしそうでないと（Ｓ２４１８にてＮＯ）、処理はＳ２４１４へと移される。
【００９６】
Ｓ２４２０にて、表示用修飾テーブル生成部１１６は、まだ修飾データが存在するか否かを判断する。修飾データが存在すると判断した場合には（Ｓ２４２０にてＹＥＳ）、処理はＳ２４２２へと移される。もしそうでないと（Ｓ２４２０にてＮＯ）、処理はＳ２４２４へと移される。Ｓ２４２２にて、表示用修飾テーブル生成部１１６は、次の修飾データを取得する。
【００９７】
Ｓ２４２４にて、表示用修飾テーブル生成部１１６は、記憶部１１８を参照することにより、まだ修飾テーブルが存在するか否かを判断する。修飾テーブルが存在すると判断した場合には（Ｓ２４２４にてＹＥＳ）、処理はＳ２４２６へと移される。もしそうでないと（Ｓ２４２４にてＮＯ）、処理は終了する。
【００９８】
Ｓ２４２６にて、表示用修飾テーブル生成部１１６は、次の修飾テーブルを取得する。
以上のような構造およびフローチャートに基づく、情報検索装置１００の動作について説明する。
【００９９】
［マスクされた文字列の直前の文字列が検索キーと一致する場合］
マスクされた文字列の直前の文字列が検索キーと一致する場合の処理について説明する。
【０１００】
文書データ入力部１０２は、文書データを取得する。この場合、検索キーの内容は「徳川」とする。文書データ入力部１０２は、取得した文書データを、記憶部１１８に渡す（Ｓ２００）。記憶部１１８は文書データを記憶する。本実施の形態の場合、文書データは、テキストデータテーブルと、説明テーブルとを含む。
【０１０１】
図９は、テキストデータテーブルのデータ構造とデータの内容とを表わす図である。図９を参照して、テキストデータテーブルは、「データ位置」と、「データ種類」と、「ＸＹ位置」と、「データ」と、「修飾」と、「状態」とを含む。テキストデータテーブルは、「修飾」と「状態」とを含むことにより、「データ」が表わす文字列に対する文字修飾のデータを含むこととなる。
【０１０２】
「データ位置」はテキストデータテーブルの中で「データ」を特定するための情報である。本実施の形態の場合、「データ位置」はテキストデータテーブルの先頭から何番目のデータに該当するかを表わすこととする。
【０１０３】
「データ種類」は「データ」が文字列データか画像データかを表わす情報である。本発明において、文字列データとは、文書を構成する文字列のデータである。本実施の形態の場合、「データ」が文字列データの場合、テキストデータテーブルは、「データ種類」として値「０」を含む。「データ」が画像データの場合、テキストデータテーブルは、「データ種類」として値「１」を含む。
【０１０４】
「ＸＹ位置」は、ディスプレイ１４２の画面におけるＸ座標とＹ座標との値の組を表わす情報である。本実施の形態の場合、ディスプレイ１４２の画面のＸ座標とＹ座標とは、画面の左上を原点とする。
【０１０５】
「データ」は、文書を構成するデータである。「データの種類」の値が「０」の場合、テキストデータテーブルは、「データ」として文字列データを含む。「データの種類」の値が「１」の場合、テキストデータテーブルは、「データ」として画像データを含む。
【０１０６】
「修飾」は、「データ」が表わす文字列に対する文字修飾の種類を表わすデータである。「データ」に対しマスクが行なわれる場合、テキストデータテーブルは、「修飾」として「マスク」という文字列のデータを含む。文書部１３０が「データ」に代えてユーザが指定した文字列を表示する場合、テキストデータテーブルは、「修飾」として「テキストボックス」という文字列のデータを含む。
【０１０７】
「状態」は、「データ」が表わす文字列に対する文字修飾の状態を表わすデータである。本実施の形態の場合、テキストデータテーブルが、「修飾」として「マスク」という文字列のデータを含み、かつ「状態」として「有」という文字列のデータを含むならば、「データ」が表わす文字列に対し、マスクが付される。本実施の形態の場合、テキストデータテーブルが、「修飾」として「マスク」という文字列のデータを含み、かつ「状態」として「なし」という文字列のデータを含むならば、「データ」が表わす文字列に対し、何ら修飾が付されない。
【０１０８】
本実施の形態の場合、テキストデータテーブルが、「修飾」として「テキストボックス」という文字列のデータを含み、かつ「状態」として何らかのデータが含まれていれば、「データ」に代え、「状態」として含まれるデータが表わす文字列などが表示される。本実施の形態の場合、「データ」が画像データの場合、テキストデータテーブルは、「修飾」として「ノン」という文字列（本実施の形態において「データ」に対する修飾が何らなされないことを表わす情報）を含む。ただし、このことは、「ノン」という文字列が必須の情報であることを意味するものではない。本実施の形態以外の実施の形態においては、「データ」が画像データの場合、テキストデータテーブルは、「修飾」として特段の情報を含まなくてもよい。
【０１０９】
文書データが取得されると、修飾テーブル生成部１０４は、テキストデータテーブルの一番目のデータを取得する（Ｓ２５０）。本実施の形態の場合、取得されるデータは、「データ位置」の値が「１」のデータである。データが取得されると、修飾テーブル生成部１０４は、修飾の種類すなわちテストデータテーブルにおける「修飾」の内容が「ノン」以外か否かを判断する（Ｓ２５２）。この場合、「修飾」の内容は「マスク」なので（Ｓ２５２にてＹＥＳ）、修飾テーブル生成部１０４は、「修飾」に対応する修飾テーブルがあるか否かを判断する（Ｓ２５４）。この場合、修飾テーブルがないので（Ｓ２５４にてＮＯ）、修飾テーブル生成部１０４は、修飾の種類「マスク」に対応する修飾テーブルを新規に生成する（Ｓ２６０）。
【０１１０】
修飾テーブルが生成されると、修飾テーブル生成部１０４は、その修飾テーブルにデータ位置などを登録する（Ｓ２５８）。Ｓ２５８およびＳ２６０の処理は、修飾テーブル生成部１０４が、テキストデータテーブルが含むデータを組み合わせることにより、修飾テーブルを、文字修飾の種類ごとに生成していることを表わす。データ位置などが登録されると、修飾テーブル生成部１０４はまだ修飾の種類を識別していないデータが存在するか否かを判断する（Ｓ２６２）。この場合、そのようなデータが存在するので（Ｓ２６２にてＹＥＳ）、修飾テーブル生成部１０４は次のデータを取得する（Ｓ２６４）。データが取得されると、Ｓ２５２〜Ｓ２６４の処理が繰返される。
【０１１１】
図１０は、作成され、かつ記憶部１１８に記憶された修飾テーブルの内容を表わす図である。本実施の形態の場合、修飾テーブルは、「修飾」と「データ位置」と「データ種類」と「ＸＹ位置」と「データ」と「状態」とを含む。「修飾」〜「状態」は図９に示したテキストデータテーブルのものと同じである。「データ」が含まれているので、修飾テーブルは、文字列データを含むデータテーブルとなる。「データ」と「状態」とが含まれているので、修飾テーブルが含むデータが表わす文字列は、文字修飾の対象となる文字列となる。
【０１１２】
修飾テーブルが生成されると、作成部１２０は表示データを作成する（Ｓ２０４）。表示データが作成されると、文書部１３０は表示データの内容を表示する（Ｓ２０６）。これにより、文書部１３０は、テキストデータテーブルに基づき、文書を表示することとなる。
【０１１３】
表示データが表示されると、操作部１０８は、ユーザの操作（検索の要求を除く）があったか否かを判断する（Ｓ２０８）。この場合、検索の要求があったとすると（Ｓ２０８にてＮＯ）、操作部１０８は、検索の要求があったか否かを判断する（Ｓ２１２）。この場合、検索の要求があったと判断されるので（Ｓ２１２にてＹＥＳ）、検索キー入力部１１０は、ユーザの操作に基づいて、ユーザが文書の中から検索しようとする文字列である検索キーを検出する（Ｓ１４００）。検索キーが取得されると、条件生成部１１２は検索条件を初期化する（Ｓ１４２００）。検索条件が初期化されると、条件生成部１１２は修飾テーブルが存在するか否かを判断する（Ｓ１４２０２）。この場合、修飾テーブルが存在するので（Ｓ１４２０２にてＹＥＳ）、条件生成部１１２は１つ目の修飾テーブルを取得する（Ｓ１４２０４）。修飾テーブルが取得されると、条件生成部１１２は１つ目の修飾データを取得する（Ｓ１４２０６）。この場合、１つ目の修飾テーブルは「修飾」の内容が「マスク」のものである。１つ目の修飾データは「データ位置」の値が「１」の修飾データである。修飾データが取得されると、条件生成部１１２は、修飾付き文字列（文字修飾の対象となる文字列）と検索キーとが一致するか否かを判断する（Ｓ１４２０８）。この場合、検索キーの内容が「徳川」であって修飾付き文字列の内容が「ＡＢＣ」である。その結果、修飾付き文字列と検索キーとが一致しないので（Ｓ１４２０８にてＮＯ）、条件生成部１１２は、検索キーと一致する範囲が修飾付き文字列の位置より前であって隣接しているか否かを判断する（Ｓ１４２１０）。この場合、修飾付き文字列は、検索キー「徳川」と隣接していないので（Ｓ１４２１０にてＮＯ）、条件生成部１１２は、検索キーと一致する範囲が修飾付き文字列の位置より後であって隣接しているか否かを判断する（Ｓ１４２１４）。この場合、修飾付き文字列は、検索キー「徳川」と隣接していないので（Ｓ１４２１４にてＮＯ）、条件生成部１１２は、検索キーが修飾付き文字列を含むか否かを判断する（Ｓ１４２１８）。この場合、検索キーが修飾付き文字列を含まないので（Ｓ１４２１８にてＮＯ）、条件生成部１１２は、まだ検索に利用されていない修飾データが存在するか否かを判断する（Ｓ１４２２２）。この場合、まだ修飾データが存在するので（Ｓ１４２２２にてＹＥＳ）、条件生成部１１２は、次の修飾データを取得する（Ｓ１４２２４）。
【０１１４】
修飾データが取得されると、Ｓ１４２０８〜Ｓ１４２２４の処理が繰返される。処理が繰返された後、「データ」の内容が「家康」である修飾データが取得されると、条件生成部１１２は、検索キーと一致する範囲が修飾付き文字列の位置より前であって隣接しているか否かを判断する（Ｓ１４２１０）。これにより、条件生成部１１２は、検索キーから修飾付き文字列までの距離が閾値以下であって検索キーが文書において修飾付き文字列の前にあるか否かを判断することとなる。この「文書」は文書データが表わす文書を意味する。この場合、検索キーと一致する範囲が修飾付き文字列の位置より前であって隣接しているので（Ｓ１４２１０にてＹＥＳ）、条件生成部１１２は、検索条件より「前方一致」の検索を実施すべき旨の情報と「部分一致」の検索を実施すべき旨の情報とを実施すべき旨の情報を削除する（Ｓ１４２１２）。これにより、条件生成部１１２は、検索キーが文字修飾の対象となる文字列の前にある場合、後方一致、完全一致、およびワイルドカード検索を検索の条件とするように、検索の条件を設定することとなる。Ｓ１４２０８〜Ｓ１４２１２の処理により、条件生成部１１２は、検索に対する制約を設定することとなる。本実施の形態の場合、条件生成部１１２は、修飾付き文字列に対する検索キーの文書における位置に応じて、検索に対する制約として、検索の条件を設定することとなる。なお、「文書」は、文書データが表わす文書を意味する。
【０１１５】
情報が削除されると、Ｓ１４２２２〜Ｓ１４２２４の処理を経て、Ｓ１４２０８〜Ｓ１４２２４の処理が繰返される。その後、まだ検索に利用されていない修飾データが存在しなくなると（Ｓ１４２２２にてＮＯ）、条件生成部１１２はまだ検索に利用されていない修飾テーブルが存在するか否かを判断する（Ｓ１４２２６）。この場合、「修飾」が「テキストボックス」である修飾テーブルが存在するので（Ｓ１４２２６にてＹＥＳ）、条件生成部１１２は次の修飾テーブルを取得する（Ｓ１４２２８）。修飾テーブルが取得されると、Ｓ１４２０８〜Ｓ１４２２４の処理が繰返される。その後、再び検索に利用されていない修飾テーブルが存在するか否か判断される（Ｓ１４２２６）。この場合、そのような修飾テーブルは存在しないので（Ｓ１４２２６にてＮＯ）、処理部１１４は検索を実行する（Ｓ１４０４）。これにより、処理部１１４は、検索キー入力部１１０が検索キーを検出すれば、条件生成部１１２が設定した検索に対する制約（本実施の形態の場合、「検索に対する制約」とは検索の条件のこと）に従って、テキストデータテーブルの中から、検索キーを含む文字列を検索することとなる。
【０１１６】
検索が実行されると、作成部１２０は検索結果があるか否かを判断する（Ｓ２１６）。この場合、検索結果があるので（Ｓ２１６にてＹＥＳ）、作成部１２０は検索の結果を表わす表示データを作成する。結果部１３２は、作成部１２０が作成した表示データに基づき、検索の結果（検索キーを含む文字列）を表示する（Ｓ２１８）。検索の結果が表示されると、操作部１０８は説明文の表示の要求があったか否かを判断する（Ｓ２２０）。この場合、そのような要求はなかったとすると（Ｓ２２０にてＮＯ）、操作部１０８は検索を終了するか否かを判断する（Ｓ２２４）。この場合、検索を終了するとすると（Ｓ２２４にてＹＥＳ）、処理は終了する。図１１は、Ｓ２２８にて検索の結果が表示されたディスプレイ１４２の画面を表わす図である。テキストデータテーブルの図示されていない部分に「徳川」のみからなる文字列があるため、「徳川」が表示されている。
【０１１７】
［検索結果が見つからない場合］
検索結果が見つからない場合の処理について説明する。
【０１１８】
処理部１１４が検索を実行した後（Ｓ１４０４）、作成部１２０は検索結果があるか否かを判断する（Ｓ２１６）。この場合、検索結果がないので（Ｓ２１６にてＮＯ）、作成部１２０は検索結果が見つからない旨の表示データを作成する。結果部１３２は検索結果が見つからない旨を表示する（Ｓ２２６）。図１２は、修飾が施されていない単語に検索キーと一致する文字列が含まれなかった場合のディスプレイ１４２の画面を表わす図である。
【０１１９】
［マスクされた文字を含む文字列のみが検索キーと一致する場合］
マスクされた文字を含む文字列が検索キーと一致する場合の処理について説明する。
【０１２０】
検索キーとして「日米和親条約」のうち「和親」の部分がマスクされた文字列が指定された場合、Ｓ２００〜Ｓ１４２０６の処理を経た後、Ｓ１４２０８〜Ｓ１４２２４の処理が繰返される。その後、Ｓ１４２０８にて取得された修飾付き文字列が「日米和親条約」、「日米通商航海条約」、「日米修好通商条約」、あるいは「日米安全保障条約」などであれば、Ｓ１４２０８〜Ｓ１４２１４の処理を経て、条件生成部１１２は、検索キーが修飾付き文字列を含むか否かを判断する（Ｓ１４２１８）。検索キーが修飾付き文字列を含むと判断されるので（Ｓ１４２１８にてＹＥＳ）、条件生成部１１２は検索条件より「ワイルドカード検索」を実施すべき旨の情報を削除する（Ｓ１４２２０）。これにより、検索キーが修飾付き文字列を含む場合、条件生成部１１２は、前方一致、後方一致、部分一致、および完全一致を検索の条件とするように、検索の条件を設定することとなる。
【０１２１】
その後、Ｓ１４２２２〜Ｓ１４２２４、およびＳ１４２０８〜Ｓ１４２２８の処理が繰返された後、処理部１１４は検索を実行する（Ｓ１４０４）。検索が実行されると、作成部１２０は検索結果があるか否かを判断する（Ｓ２１６）。この場合、検索結果が見つからないこととなるので（Ｓ２１６にてＮＯ）、作成部１２０は検索結果が見つからない旨の表示データを作成する。結果部１３２は検索結果が見付からない旨を表示する（Ｓ２２６）。図１３は、検索キーとして、「日米和親条約」を選択した場合のディスプレイ１４２の画面を表わす図である。図１４は、検索キーとして「日米和親条約」を選択した結果、修飾が施された文字以外検索キーに一致する単語が見付からなかった場合のディスプレイ１４２の画面を表わす図である。図１５は、従来の情報検索装置の検索の結果を表示している場合のディスプレイの画面を表わす図である。
【０１２２】
［説明文を表示させる場合］
説明文を表示させる場合であって、文書データ中においてマスクされた文字列と同じ文字列がその説明文に含まれる場合の処理について説明する。
【０１２３】
図１６は、本実施の形態に係る説明テーブルの内容を表わす図である。本実施の形態において、「説明テーブル」とは、単語についての説明文を表わす説明文データのデータテーブルである。記憶部１１８は、テキストデータテーブルと共に、説明テーブルを記憶する。図１６の「データ」欄には、説明文データの一部が示されているが、実際の説明文データは図１６に示した説明文のみを表わすデータではない。
【０１２４】
検索キーとして「関が原」が指定された場合、Ｓ２００〜Ｓ２１８の処理を経た後、操作部１０８は、説明文の表示の要求があったか否かを判断する（Ｓ２２０）。これにより、操作部１０８は、ユーザの操作に基づいて、ユーザが説明文の表示を希望している単語を検出することとなる。この場合、操作部１０８は、説明文の表示の要求があったと判断するので（Ｓ２２０にてＹＥＳ）、表示用修飾テーブル生成部１１６は記憶部１１８に記憶された説明テーブルより、検索キーについての説明データを取得する（Ｓ２４００）。説明データが取得されると、表示用修飾テーブル生成部１１６は修飾テーブルが存在するか否かを判断する（Ｓ２４０２）。この場合、修飾テーブルが存在するとすると（Ｓ２４０２にてＹＥＳ）、表示用修飾テーブル生成部１１６は１つ目の修飾テーブルを取得する（Ｓ２４０４）。修飾テーブルが取得されると、表示用修飾テーブル生成部１１６は修飾テーブル中に取得された説明データが表わす文字列と同じ文字列が存在するか否かを判断する（Ｓ２４０６）。この場合、そのような文字列が存在するので（Ｓ２４０６にてＹＥＳ）、表示用修飾テーブル生成部１１６は取得された文字列に対応する修飾データを取得する（Ｓ２４０８）。
【０１２５】
修飾データが取得されると、表示用修飾テーブル生成部１１６は「修飾」が「マスク」か否かを判断する（Ｓ２４１０）。この場合、「修飾」が「マスク」とすると（Ｓ２４１０にてＹＥＳ）、表示用修飾テーブル生成部１１６は「状態」が「有」か否かを判断する（Ｓ２４１２）。この場合、「状態」が「有」とすると（Ｓ２４１２にてＹＥＳ）、表示用修飾テーブル生成部１１６は作成中の修飾テーブル（この場合は説明用修飾テーブル）に修飾データを登録する（Ｓ２４１４）。これにより、表示用修飾テーブル生成部１１６は、説明用修飾テーブルを生成することとなる。本実施の形態の場合、説明用修飾テーブルは、説明文データのうち、特定説明文を表わすデータについて、修飾テーブルのデータが表わす文字列と同じ文字列が、修飾テーブルのデータが表わす文字列と同じ文字修飾の対象となるように、生成される。本実施の形態において、「説明用修飾テーブル」とは、特定説明文を構成する文字列についての文字修飾のデータからなる、データテーブルのことである。「特定説明文」とは、ユーザが説明文の表示を希望する単語についての説明文のことである。本実施の形態の場合、説明用修飾テーブルの構造は修飾テーブルの構造と同じである。このため説明用修飾テーブルについての説明はここでは繰返さない。
【０１２６】
修飾データが登録されると、表示用修飾テーブル生成部１１６はまだ修飾データが存在するか否かを判断する（Ｓ２４２０）。この場合、まだ修飾データが存在するので（Ｓ２４２０にてＹＥＳ）、表示用修飾テーブル生成部１１６は次の修飾データを取得する（Ｓ２４２２）。
【０１２７】
修飾データが取得されると、Ｓ２４１０〜Ｓ２４２２の処理が繰返される。その後、修飾データが存在しなくなるので（Ｓ２４２０にてＮＯ）、表示用修飾テーブル生成部１１６はまだ修飾テーブルが存在するか否かを判断する（Ｓ２４２４）。この場合、まだ修飾テーブルが存在するので（Ｓ２４２４にてＹＥＳ）、表示用修飾テーブル生成部１１６は次の修飾テーブルを取得する（Ｓ２４２６）。修飾テーブルが取得されると、Ｓ２４０６とＳ２４０８との処理を経て、Ｓ２４１０〜Ｓ２４２２の処理が繰返される。その後、表示用修飾テーブル生成部１１６はまだ修飾テーブルが存在するか否かを判断する（Ｓ２４２４）。この場合、修飾テーブルが存在しないとすると（Ｓ２４２４にてＮＯ）、作成部１２０は説明用修飾テーブルに従って表示データを作成する。表示データが作成されると、説明部１３４は作成部１２０が作成した表示データに従って説明文を表示する（Ｓ２２０６）。これにより、説明部１３４は、説明用修飾テーブルが含むデータの内容に従って、特定説明文を表示することとなる。
【０１２８】
説明文が表示されると作成部１２０は説明データをすべて表示したか否かを判断する（Ｓ２２０８）。説明データをすべて表示したとすると（Ｓ２２０８にてＹＥＳ）、操作部１０８は検索を終了するか否かを判断する（Ｓ２２４）。図１７は、説明文の表示があった場合のディスプレイ１４２の画面を表わす図である。説明文にも文書と同様の修飾が施されている。
【０１２９】
以上のようにして、本実施の形態に係る情報検索装置は、表示されている文書の内容に応じて、検索を行なう際の条件や検索の結果の表示に制限を加えることにより、ユーザの意図しない内容の表示を防ぐことができる。ユーザの意図しない内容の表示を防ぐことができるので、学習の用途に適した情報検索装置を提供することができる。
【０１３０】
なお、テキストデータテーブルには、「ＸＹ位置」に代えて、「バイト位置」を含んでもよい。「バイト位置」とはテキストデータテーブルが表わす文書のうち「データ」が表わすデータの位置をバイト数によって表わす情報を含む。図１８は、「ＸＹ位置」に代えて「バイト位置」が含まれる場合のテキストデータテーブルの構造を表わす図である。
【０１３１】
また、情報検索装置１００の各装置同士におけるデータのやりとりは、バス１５８を介して行う以外にも、通信ケーブルや無線通信装置などデータを送受信できるものを介して行ってもよい。また、情報検索装置１００の各装置としては、ＣＰＵ１４０に限らず、ＤＳＰ（Digital Signal Processor）や処理手順が回路としてみ込まれているロジック回路などにより実現されてもよい。
【０１３２】
また、情報検索装置１００を具体的に実現するハードウェアは、マウス１４８、タブレット１５２、およびキーボード１５０に加え、マイクによる音声入力やボタンによる指示など、様々な入力装置を使用してもよい。
【０１３３】
また、スピーカ１５４は、音声信号ではなく、単なるオン、オフの制御信号だけを受信し、予め決まっている音声を出力する装置であってもよい。
【０１３４】
また、主記憶装置１４４は、ＣＰＵ１４０内部に含まれるメモリやレジスタなどであってもよい。
【０１３５】
また、外部記憶装置１４６は、他のネットワーク機器に取付けられた装置であってもよい。この段落における「他のネットワーク機器」とは、ＣＰＵ１４０とネットワークを介して有線または無線で接続された機器のことである。
【０１３６】
また、作成部１２０は、Ｓ２２０にて説明文の表示の要求があったと判断された場合、特定説明文のうちいずれかの部分を表わす文字列が、修飾テーブルのデータが表わす文字列と同じか否かを判断してもよい。「特定説明文」とは、ユーザが説明文の表示を希望する単語についての説明文である。このような判断をする場合、作成部１２０は、特定説明文のうちいずれかの部分を表わす文字列が、修飾テーブルのデータが表わす文字列と同じならば、特定説明文の表示が禁止されている旨の表示データを作成してもよい。説明文の表示データに代え、このような表示データが作成されることにより、作成部１２０は、特定説明文のうちいずれかの部分を表わす文字列が、修飾テーブルのデータが表わす文字列と同じ場合、特定説明文の表示を禁止するような制約を設定することになる。説明部１３４は、表示データが表わす情報を表示するので、操作部１０８が単語を検出すると、特定説明文の表示を禁止するような制約がある場合を除き、特定説明文を表示することとなる。
【０１３７】
また、テキストデータテーブルは、「ＸＹ位置」に代え、「文書の先頭からの相対位置」を含んでもよい。「文書の先頭からの相対位置」とは、文書データが表わす文書を１枚の紙に印刷したときの、文書を構成する各文字の位置のことである。文書を１枚の紙に印刷したときの行数や１行あたりの文字数は特に限定されない。「文書の先頭からの相対位置」の原点の定め方も特に限定されない。ただし、原点の定め方の一例には、文書を構成する文字のうち最初の文字が占める位置を原点とする定め方が含まれる。
【０１３８】
また、Ｓ１４２１０およびＳ１４２１４にて、「検索キーから修飾付き文字列までの距離」は、検索キーと一致する範囲から実際に文字列が修飾されている範囲までの間に存在する形態素の個数であってもよい。なお、「形態素」とは、言語において意味を持つ最小単位を意味する。条件生成部１１２は、形態素解析を実施することにより、形態素の個数を特定することができる。形態素解析の具体的な方法は周知であるので、ここではその詳細な説明は繰返さない。
【０１３９】
＜第２の実施の形態＞
以下、本発明の第２の実施の形態に係る情報検索装置について説明する。
【０１４０】
本実施の形態に係る情報検索装置のハードウェア構成については前述の第１の実施の形態と同じである。それらについての機能も同じである。したがって、それらについての詳細な説明はここでは繰返さない。
【０１４１】
図１９を参照して、情報検索装置１００で実行されるプログラムは、検索条件の生成に関し、以下のような制御を実行する。なお、図１９に示すフローチャートの中で、前述の図６に示した処理は同じステップ番号を付してある。それらの処理も同じである。したがって、それらについての詳細な説明はここでは繰返さない。
【０１４２】
Ｓ１４２３０にて、条件生成部１１２は、修飾付き文字列が検索キーを含むか否かを判断する。検索キーを含むと判断した場合（Ｓ１４２３０にてＹＥＳ）、処理はＳ１４２３４へと移される。もしそうでないと（Ｓ１４２３０にてＮＯ）、処理はＳ１４２３２へと移される。
【０１４３】
Ｓ１４２３２にて、条件生成部１１２は、検索キーが修飾付き文字列を含むか否かを判断する。修飾付き文字列を含むと判断した場合（Ｓ１４２３２にてＹＥＳ）、処理はＳ１４２３４へと移される。もしそうでないと（Ｓ１４２３２にてＮＯ）、処理はＳ１４２２２へと移される。Ｓ１４２３４にて、条件生成部１１２は、検索を禁止する旨の情報に、検索条件を変更する。
【０１４４】
以上のような構造およびフローチャートに基づく、情報検索装置１００の動作について説明する。
【０１４５】
検索キーとして「徳川」が選択されたこととする。Ｓ１４２０４までの処理を経て、条件生成部１１２は１つ目の修飾データを取得する（Ｓ１４２０６）。修飾データが取得されると、条件生成部１１２は、修飾付き文字列が検索キーを含むか否かを判断する（Ｓ１４２３０）。この場合、修飾付き文字列が検索キーを含まないとすると（Ｓ１４２３０にてＮＯ）、条件生成部１１２は検索キーが修飾付き文字列を含むか否かを判断する（Ｓ１４２３２）。検索キーが修飾付き文字列を含まないとすると（Ｓ１４２３２にてＮＯ）、Ｓ１４２２２〜Ｓ１４２２４の処理を経て、Ｓ１４２３０〜Ｓ１４２２４の処理が繰返される。その後、修飾付き文字列が「徳川家康」の場合、条件生成部１１２は修飾付き文字列が検索キーを含むと判断するので（Ｓ１４２３０にてＹＥＳ）、条件生成部１１２は、検索条件を検索条件の禁止を表わす旨に変更する（Ｓ１４２３４）。これにより、条件生成部１１２は、修飾付き文字列の少なくとも一部と、検索キーの少なくとも一部とが一致すると、検索を禁止するような制約を設定することとなる。本実施の形態おいて、「修飾付き文字列の少なくとも一部と、検索キーの少なくとも一部とが一致する」とは、修飾付き文字列が検索キーを含む場合、および検索キーが文字修飾の対象となる文字列を含む場合のいずれかに該当することである。
【０１４６】
検索条件が変更されると、処理部１１４は検索を実行する（Ｓ１４０４）。この場合、検索条件が検索を禁止する旨となった情報なので、処理部１１４は実際の検索を行なわない。このようにして、条件生成部１１２は、検索キー入力部１１０が検索キーを検出すれば、検索を禁止するような制約がある場合を除き、テキストデータテーブルの中から、検索キーを含む文字列を検索することとなる。実際の検索が行なわれないまま検索が終了すると、作成部１２０は検索結果があるか否かを判断する（Ｓ２１６）。この場合、検索結果がないので（Ｓ２１６にてＮＯ）、作成部１２０は検索結果が見つからない旨の表示データを作成する。結果部１３２は作成部１２０が作成した表示データに基づき、検索結果が見つからない旨を表示する（Ｓ２２６）。
【０１４７】
以上のようにして、本実施の形態に係る情報検索装置は、検索の対象となる文字がマスクされている場合に検索が許されない旨を表示する。これにより、ユーザの意図しない内容の表示を防ぐことができる。
【０１４８】
なお、Ｓ１４２３４にて、検索条件を変更することに代え、条件生成部１１２は、修飾付き文字列の少なくとも一部と、検索キーの少なくとも一部とが一致すると、表示を禁止するような制約を設定してもよい。この場合、条件生成部１１２は、表示を禁止するような制約を設定するために、検索結果の表示を禁止する旨の信号を生成する。条件生成部１１２は、検索結果の表示を禁止する旨の信号を作成部１２０に送信する。作成部１２０は、検索結果の表示を禁止する旨の信号が送信されると、検索結果の表示が禁止された旨の表示データを作成する。結果部１３２は、検索結果の表示が禁止された旨のメッセージを表示する。これにより、結果部１３２は、表示を禁止するような制約がある場合を除き、検索キーを含む文字列を表示することとなる。図２０は、検索が許されていない旨のメッセージが表示されたディスプレイ１４２の画面を表わす図である。
【０１４９】
また、検索結果が見付からない旨のメッセージに代え、マスクが含まれているため検索結果を表示しない旨のメッセージを表示してもよい。図２１は、そのような場合のディスプレイ１４２の画面を表わす図である。
【０１５０】
＜第３の実施の形態＞
以下、本発明の第３の実施の形態に係る情報検索装置について説明する。
【０１５１】
本実施の形態に係る情報検索装置のハードウェア構成については前述の第１の実施の形態と同じである。それらについての機能も同じである。したがって、それらについての詳細な説明はここでは繰返さない。
【０１５２】
図２２を参照して、情報検索装置１００で実行されるプログラムは、検索に関し、以下のような制御を実行する。なお、図２２に示すフローチャートの中で、前述の図３に示した処理は同じステップ番号を付してある。それらの処理も同じである。したがって、それらのついての詳細な説明はここでは繰返さない。
【０１５３】
Ｓ２３０にて、情報検索装置１００の各部は検索の結果を表示する。この処理は、後述するＳ２３０２〜Ｓ２３１２の各処理に該当する。
【０１５４】
図２３を参照して、情報検索装置１００の各部で実行されるプログラムは、検索結果の表示に関し、以下のような制御を実行する。
【０１５５】
Ｓ２３０２にて、表示用修飾テーブル生成部１１６は、検索の結果を記憶部１１８から取得する。Ｓ２３０４にて、表示用修飾テーブル生成部１１６は、検索の結果のうち、１つ目のデータを読出す。
【０１５６】
Ｓ２３０６にて、表示用修飾テーブル生成部１１６は、表示用修飾テーブルを生成する。この処理はＳ２４００〜Ｓ２４２６の各処理に該当する。
【０１５７】
Ｓ２３０８にて、作成部１２０は記憶部１１８に記憶された検索結果と表示用修飾テーブルとを参照することにより、テキストデータテーブルに含まれたデータと同じ文字修飾が施されるように表示データを作成する。結果部１３２は、作成部１２０が作成した表示データに基づき検索結果を表示する。
【０１５８】
Ｓ２３１０にて、表示用修飾テーブル生成部１１６はまだ検索結果があるか否かを判断する。検索結果があると判断した場合（Ｓ２３１０にてＹＥＳ）、処理はＳ２３１２へと移される。もしそうでないと（Ｓ２３１２にてＮＯ）、処理は終了する。
【０１５９】
以上の構造およびフローチャートに基づく、情報検索装置１００の動作について説明する。
【０１６０】
検索キーとして「徳川」が選択されたこととする。Ｓ２１４までの処理を経て、表示用修飾テーブル生成部１１６は検索の結果を取得する（Ｓ２３０２）。図２４は、本実施の形態において検索の対象となるデータのデータテーブルを表わす図である。検索の対象となるデータのデータテーブルは記憶部１１８に記憶される。検索の対象となるデータのデータテーブルは、「データ位置」と「読み」と「表記」と「先頭」と「最後」とを含む。「データ位置」は検索の対象となるデータにおいて各データを特定するための情報である。本実施の形態の場合、検索結果の中で何番目のデータであるかを表わす値が「データ位置」として含まれる。「読み」は処理部１１４により検索された文字列の読みを表わす情報である。本実施の形態の場合、テキストデータテーブルには、文書を構成する単語ごとに予め読みが定義されていることとする。「表記」は処理部１１４による検索の対象となった文字列を表わす情報である。「先頭」とは処理部１１４による検索の対象となった文字列の文書における位置のうち先頭を表わす値である。「最後」は処理部１１４の検索の対象となった文字列の文書における位置のうち最後を表わす値である。
【０１６１】
検索結果が取得されると、表示用修飾テーブル生成部１１６は１つ目の検索結果のデータを読出す（Ｓ２３０４）。図２５は、検索結果のデータテーブルの構造を表わす図である。検索結果のデータテーブルは、「番号」と「データ位置」と「読み」と「表記」とを含む。「番号」は検索の対象となるデータにおいて各データを特定するための情報である。その他は検索の対象となるデータのデータテーブルと同様である。
【０１６２】
検索結果が読出されると、表示用修飾テーブル生成部１１６は表示用修飾テーブルを生成する（Ｓ２３０６）。本実施の形態の場合、表示用修飾テーブル生成部１１６は、検索キーを含む文字列のうち修飾テーブルのデータが表わす文字列と同じ文字列に、修飾テーブルのデータが表わす文字列と同じ文字修飾を表わすデータを対応付けることにより、検索キーを含む文字列についての文字修飾を表わすデータのデータテーブルである、表示用修飾テーブルを生成する。
【０１６３】
図２６は、表示用修飾テーブルの内容を表わす図である。本実施の形態に係る表示用修飾テーブルの構造は第１の実施の形態に係る修飾テーブルと同様である。
【０１６４】
表示用修飾テーブルが生成されると、結果部１３２は、表示用修飾テーブルが含むデータの内容に従って、検索結果（検索キーを含む文字列）を表示する（Ｓ２３０８）。図２７は、検索結果が表示されたときのディスプレイ１４２の画面を表わす図である。検索結果にも、文書と同様の修飾が施されている。
【０１６５】
以上のようにして、本実施の形態に係る情報検索装置は、検索の結果にも文書と同様の修飾を施すことができる。これにより、ユーザの意図しない内容の表示を防ぐことができる。
【０１６６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１６７】
【図１】本発明の第１の実施の形態に係る情報検索装置の制御ブロック図である。
【図２】本発明の実施の形態に係る情報検索装置を実現するためのコンピュータハードウェアの構成例を表わす図である。
【図３】本発明の第１の実施の形態に係る検索処理の制御の手順を示すフローチャートである。
【図４】本発明の第１の実施の形態に係る修飾テーブルの生成処理の制御の手順を示すフローチャートである。
【図５】本発明の第１の実施の形態に係る検索処理の制御の手順を示すフローチャートである。
【図６】本発明の第１の実施の形態に係る検索条件の生成処理の制御の手順を示すフローチャートである。
【図７】本発明の第１の実施の形態に係る情報検索装置の説明文の表示処理の制御の手順を示すフローチャートである。
【図８】本発明の第１の実施の形態に係る修飾テーブルの生成処理の制御の手順を示すフローチャートである。
【図９】本発明の第１の実施の形態に係るテキストデータテーブルの構造と内容とを表わす図である。
【図１０】本発明の第１の実施の形態に係る修飾テーブルの内容を表わす図である。
【図１１】本発明の第１の実施の形態に係る検索の結果が表示されたディスプレイの画面を表わす図である。
【図１２】本発明の第１の実施の形態に係る情報検索装置において修飾が施されていない単語に検索キーと一致する文字列が含まれなかった場合のディスプレイの画面を表わす図である。
【図１３】本発明の第１の実施の形態に係る検索キーの選択時のディスプレイの画面を表わす図である。
【図１４】本発明の第１の実施の形態に係る情報検索装置において修飾が施された文字以外検索キーに一致する単語が見付からなかった場合のディスプレイの画面を表わす図である。
【図１５】従来例に係る情報検索装置の検索の結果を表示している場合のディスプレイの画面を表わす図である。
【図１６】本発明の第１の実施の形態に係る説明テーブルの内容を表わす図である。
【図１７】本発明の第１の実施の形態に係る説明文の表示があった場合のディスプレイの画面を表わす図である。
【図１８】本発明の第１の実施の形態の変形例におけるテキストデータテーブルの構造を表わす図である。
【図１９】本発明の第２の実施の形態の変形例に係る検索条件の生成処理の制御の手順を示すフローチャートである。
【図２０】本発明の第２の実施の形態の変形例に係る検索が許されていない旨のメッセージが表示されたディスプレイの画面を表わす図である。
【図２１】本発明の第２の実施の形態の変形例に係る検索結果を表示しない旨のメッセージが表示されたディスプレイの画面を表わす図である。
【図２２】本発明の第３の実施の形態に係る情報検索装置の検索処理の制御の手順を示すフローチャートである。
【図２３】本発明の第３の実施の形態に係る検索結果の表示処理の制御の手順を示すフローチャートである。
【図２４】本発明の第３の実施の形態に係る検索の対象となるデータのデータテーブルを表わす図である。
【図２５】本発明の第３の実施の形態に係る検索結果のデータテーブルの構造を表わす図である。
【図２６】本発明の第３の実施の形態に係る検索結果に対する表示用修飾テーブルの内容を表わす図である。
【図２７】本発明の第３の実施の形態に係る検索結果が表示された場合のディスプレイの画面を表わす図である。
【図２８】従来例において検索キーの選択を開始した時点のディスプレイの画面を表わす図である。
【図２９】従来例において検索キーの選択が終了した時点のディスプレイの画面を表わす図である。
【図３０】従来例において検索キーを指定した時点のディスプレイの画面を表わす図である。
【図３１】従来例において検索結果を表示した時点のディスプレイの画面を表わす図である。
【図３２】従来例において説明文を表示させるため文字列を指定した時点のディスプレイの画面を表わす図である。
【図３３】従来例において説明文を表示した時点のディスプレイの画面を表わす図である。
【符号の説明】
【０１６８】
１００  情報検索装置、１０２  文書データ入力部、１０４  修飾テーブル生成部、１０６  対象入力部、１０８  操作部、１１０  検索キー入力部、１１２  条件生成部、１１４  処理部、１１６  表示用修飾テーブル生成部、１１８  記憶部、１２０  作成部、１２２  表示部、１３０  文書部、１３２  結果部、１３４  説明部、１４０  ＣＰＵ、１４２  ディスプレイ、１４４  主記憶装置、１４６  外部記憶装置、１４８  マウス、１５０  キーボード、１５２  タブレット、１５４  スピーカ、１５６  通信デバイス、１５８  バス、１６０  ハードディスクドライブ、１６２  ＰＣカードスロット、１７０  ＰＣカード。
【図１】
2007193641.tif 000003
【図２】
2007193641.tif 000004
【図３】
2007193641.tif 000005
【図４】
2007193641.tif 000006
【図５】
2007193641.tif 000007
【図６】
2007193641.tif 000008
【図７】
2007193641.tif 000009
【図８】
2007193641.tif 000010
【図９】
2007193641.tif 000011
【図１０】
2007193641.tif 000012
【図１１】
2007193641.tif 000013
【図１２】
2007193641.tif 000014
【図１３】
2007193641.tif 000015
【図１４】
2007193641.tif 000016
【図１５】
2007193641.tif 000017
【図１６】
2007193641.tif 000018
【図１７】
2007193641.tif 000019
【図１８】
2007193641.tif 000020
【図１９】
2007193641.tif 000021
【図２０】
2007193641.tif 000022
【図２１】
2007193641.tif 000023
【図２２】
2007193641.tif 000024
【図２３】
2007193641.tif 000025
【図２４】
2007193641.tif 000026
【図２５】
2007193641.tif 000027
【図２６】
2007193641.tif 000028
【図２７】
2007193641.tif 000029
【図２８】
2007193641.tif 000030
【図２９】
2007193641.tif 000031
【図３０】
2007193641.tif 000032
【図３１】
2007193641.tif 000033
【図３２】
2007193641.tif 000034
【図３３】
2007193641.tif 000035