(57)【特許請求の範囲】
【請求項１】
複数の文書グループのそれぞれが備える複数の文書データのうちから、所望の検索文字列を含む文書データを抽出する抽出ステップと、
前記抽出された文書データのそれぞれに、所定の設定規則に基づいて、出力優先度を設定する設定ステップと、
前記複数の文書グループのそれぞれが、前記出力優先度が設定された文書データのうち所定の出力条件を満たす文書データを備えるか否かを、順に判定する判定ステップと、
前記判定した文書グループが前記所定の出力条件を満たす文書データを備える場合、当該文書データのうち所定の個数を出力する出力ステップと、
を備えることを特徴とする、コンピュータが実行する検索方法。
【請求項２】
前記所定の出力条件を満たす文書データとは、前記出力ステップにおいて未だ出力されていない文書データのうち、前記設定された出力優先度が最大である文書データである、
ことを特徴とする請求項１に記載のコンピュータが実行する検索方法。
【請求項３】
前記複数の文書グループは所定の順序で並べられ、
前記判定ステップでは、前記複数の文書グループのそれぞれが、前記出力優先度が設定された文書データのうち所定の出力条件を満たす文書データを備えるか否かを、前記所定の順序で巡回的に判定する、
ことを特徴とする請求項１または２に記載のコンピュータが実行する検索方法。
【請求項４】
前記複数の文書グループのそれぞれが備える複数の文書データのぞれぞれは、見出し語と対応する説明文とから構成され、
前記設定ステップでは、前記抽出された文書データのうち、見出し語に前記検索文字列を含む文書データの出力優先度を、当該見出し語と当該検索文字列との文字数の差分に基づいて設定する、
ことを特徴とする請求項１から３のいずれか１項に記載のコンピュータが実行する検索方法。
【請求項５】
前記設定ステップでは、見出し語と前記検索文字列との文字数の差分が等しい文書データを、当該見出し語の先頭文字と前記検索文字列との間の文字数が小さい順に、さらに出力優先度を設定する、
ことを特徴とする請求項４に記載のコンピュータが実行する検索方法。
【請求項６】
前記設定ステップでは、前記抽出された文書データのうち、見出し語に前記検索文字列を含まない文書データの出力優先度を、見出し語に前記検索文字列を含む文書データの出力優先度よりも、低く設定する、
ことを特徴とする請求項４または５に記載のコンピュータが実行する検索方法。
【請求項７】
前記抽出ステップでは、前記複数の文書グループのそれぞれが備える複数の文書データのうちから、前記検索文字列を見出し語に含む文書データを抽出し、当該抽出された文書データの個数が所定の最大数に満たない場合に、前記検索文字列を説明文に含む文書データをさらに抽出する、
ことを特徴とする請求項４から６のいずれか１項に記載のコンピュータが実行する検索方法。
【請求項８】
複数の文書グループのそれぞれが備える複数の文書データのうちから、所望の検索文字列を含む文書データを抽出する抽出手段と、
前記抽出された文書データのそれぞれに、所定の設定規則に基づいて、出力優先度を設定する設定手段と、
前記複数の文書グループのそれぞれが、前記出力優先度が設定された文書データのうち所定の出力条件を満たす文書データを備えるか否かを、順に判定する判定手段と、
前記判定した文書グループが前記所定の出力条件を満たす文書データを備える場合、当該文書データのうち所定の個数を出力する出力手段と、
を備えることを特徴とする検索装置。
【請求項９】
コンピュータを、
複数の文書グループのそれぞれが備える複数の文書データのうちから、所望の検索文字列を含む文書データを抽出する抽出手段、
前記抽出された文書データのそれぞれに、所定の設定規則に基づいて、出力優先度を設定する設定手段、
前記複数の文書グループのそれぞれが、前記出力優先度が設定された文書データのうち所定の出力条件を満たす文書データを備えるか否かを、順に判定する判定手段、
前記判定した文書グループが前記所定の出力条件を満たす文書データを備える場合、当該文書データのうち所定の個数を出力する出力手段、
として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の文書グループからの検索結果を効果的に提示するのに好適な検索方法、検索装置、ならびに、コンピュータプログラムに関する。
【背景技術】
【０００２】
従来から、国語辞書や英和辞書、和英辞書、英英辞書等の各種辞書のデータベース（辞書ＤＢ）を内蔵した電子辞書装置（以下、単に「電子辞書」という）が知られている。辞書ＤＢとは、見出し語と当該見出し語を説明解説する説明情報（文字データや画像データ、動画データ、音声データ等）が対応付けられた情報を集合させ、コンピュータを用いて検索処理することができるように体系的に構成させたものである。
【０００３】
また、電子辞書には、検索の利便性を高めるために様々な機能が備えられている。とくに、複数の辞書についてのＤＢを内蔵した電子辞書では、複数の辞書を同時に検索することでユーザに辞書を選択する手間を省くようにするなど、使い勝手をよくするための工夫がされているものが多い。
【０００４】
例えば特許文献１には、複数の辞書情報が内蔵された電子辞書において、ユーザのレベルに応じて辞書に優先度をつけ、当該優先度の順序で検索結果の一覧を表示する技術が開示されている。これによれば、ユーザは、例えば中学／高校／大学などといった自身のレベルに応じた辞書についての検索結果を優先的に得ることができ、電子辞書の使い勝手を向上させることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１０６８８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
辞書ＤＢを複数内蔵した装置のように、複数の文書グループを備える検索装置は、複数の文書グループを同時に検索するように利便性を高めているものが多い。しかし、複数の文書グループを検索したにもかかわらず、検索結果が全ての文書グループから満遍なく出力されずに一部の文書グループに偏って出力される等、複数の文書グループからの検索結果が効果的にユーザに提示されない場合があった。
【０００７】
具体的に複数の辞書ＤＢを内蔵した電子辞書装置を例として説明すると、日本語の検索語で検索した場合、当該日本語の検索語は英英辞書よりも国語辞書の説明情報中に含まれることが多いため、実際には英英辞書の検索を行なっていても、ユーザに提示される検索結果は国語辞書からのものがほとんどを占めることになりやすく、逆に英語の検索語で検索すると、ユーザに提示される検索結果は英英辞書からのものがほとんどを占めることが起こりやすかった。
【０００８】
本発明は、以上のような課題を解決するためのものであり、複数の文書グループからの検索結果を効果的に提示するのに好適な検索方法、検索装置、ならびに、コンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明に係るコンピュータが実行する検索方法は、
複数の文書グループのそれぞれが備える複数の文書データのうちから、所望の検索文字列を含む文書データを抽出する抽出ステップと、
前記抽出された文書データのそれぞれに、所定の設定規則に基づいて、出力優先度を設定する設定ステップと、
前記複数の文書グループのそれぞれが、前記出力優先度が設定された文書データのうち所定の出力条件を満たす文書データを備えるか否かを、順に判定する判定ステップと、
前記判定した文書グループが前記所定の出力条件を満たす文書データを備える場合、当該文書データのうち所定の個数を出力する出力ステップと、
を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数の文書グループからの検索結果を効果的に提示するのに好適な検索方法、検索装置、ならびに、コンピュータプログラムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る検索装置の概要構成を示す図である。
【図２】本発明の実施形態に係る検索装置の物理構成を示す図である。
【図３】（ａ）、（ｂ）ともに、本発明の実施形態に係る複数の文書グループおよび文書データの構成を示す図である。
【図４】本発明の実施形態に係る検索装置の処理の流れを示すフローチャートである。
【図５】本発明の実施形態において、文書データにスコアが設定され、並べ替えられる様子を示す図である。
【図６】本発明の実施形態に係る検索装置において、出力処理の流れを示すフローチャートである。
【図７】本発明の実施形態において、複数の文書グループから巡回的に出力される様子を示す図である。
【図８】本発明に係る検索装置の構成概要について、別の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は説明のためのものであり、本発明の範囲を制限するものではない。したがって、当業者であれば下記の各構成要素を均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。また、以下の説明では、本発明の理解を容易にするため、重要でない公知の技術的事項の説明を適宜省略する。
【００１３】
本実施形態では、検索装置が実現される情報処理装置として、電子辞書等の機能を備える小型の情報処理装置を想定して説明する。すなわち、本実施形態に係る検索装置は、電子辞書を構成する複数の文書データのうちから、所望の検索語を含む文書データを検索する装置である。
【００１４】
このような検索装置１は、図１に示されるような構成をとり、制御部１００と、記憶部１１０と、入力部１２０と、表示部１３０と、を備える。一方、当該検索装置１は、物理的には図２に示されるように構成され、ＣＰＵ（Central Processing Unit）１５１と、ＲＯＭ（Read Only Memory）１５２と、ＲＡＭ（Random Access Memory）１５３と、キーボード１５４と、モニタ１５５と、を備える。以下、図１および図２を参照して、検索装置１の構成要素の説明をする。
【００１５】
制御部１００は、検索装置１全体の動作を制御し、各構成要素と接続され、制御信号やデータをやりとりする。すなわち、制御部１００は、記憶部１１０、入力部１２０、表示部１３０と接続され、これら各部の機能を活用しながら、検索処理を実行する。
【００１６】
ここで制御部１００は、抽出部１０１と、設定部１０２と、判定部１０３と、出力部１０４と、を備える。これらの各部は、詳細には後述するように、記憶部１１０に記憶されている複数の文書グループ３００ａ〜３００ｎのうちから、所望の検索語を含む文書データを特定し、所定の出力優先度を対応付けて出力する処理を実行する。
【００１７】
このような制御部１００（抽出部１０１、設定部１０２、判定部１０３、出力部１０４）は、例えばＣＰＵ１５１によって構成される。ここでＣＰＵ１５１は、命令やデータを転送するための伝送経路であるシステムバスにより各構成要素と相互に接続され、ＲＯＭ１５２に記録されている検索装置１全体の動作制御に必要なコンピュータプログラムや各種データに従って動作する。そしてＣＰＵ１５１は、ＲＯＭ１５２から読み出したコンピュータプログラムやデータ、その他処理の進行に必要なデータを、ＲＡＭ１５３に一時的に記憶しながら、各種動作を制御する。このようにＣＰＵ１５１がＲＯＭ１５２やＲＡＭ１５３と協働することで、制御部１００は、検索装置１全体の動作を制御する。
【００１８】
記憶部１１０は、例えば検索装置１内に備えられたＲＯＭ１５２のような読出し専用の記憶媒体によって構成され、制御部１００が検索処理に必要な各種データを記憶する。具体的にここでは、検索対象とされる複数の文書グループ３００ａ〜３００ｎがあらかじめ記憶される。
【００１９】
ここで、記憶部１１０にあらかじめ記憶される文書グループ３００ａ〜３００ｎは、それぞれ異なる種類の辞書に相当する。具体的には図３（ａ）に示されるように、文書グループ３００ａは国語辞典、文書グループ３００ｂは英和辞典、そして文書グループ３００ｎは百科事典といったように、それぞれ互いに独立した辞書である。すなわち、検索装置１は、このような複数種類の辞書を備えており、当該複数種類の辞書を検索対象として検索を行う。
【００２０】
また、これら文書グループ３００ａ〜３００ｎは、それぞれ辞書の構成単位として、文書データ３０１を複数備える。具体的には図３（ｂ）に示されるように、例えば国語辞典に相当する文書グループ３００ａは、複数の文書データ３０１ａ〜３０１ｃ等によって構成され、さらに、当該文書データ３０１ａ〜３０１ｃ等はそれぞれ、「見出し語」と「説明文」とから構成される。ここで「見出し語」とは、当該辞書の見出しとなる１つの語句であり、１つの文書データ３０１に対して１つの見出し語が対応付けられる。そして、「見出し語」には当該見出し語を説明する「説明文」が対応付けられ、これらを合わせて１つの文書データ３０１を構成する。文書グループ３００ａ〜３００ｎはそれぞれ、このような文書データ３０１が「見出し語」の数だけ存在し、全体で１つの文書グループ３００を構成する。
【００２１】
図１および図２に戻って、入力部１２０は、例えばキーボード１５４のような入力装置によって構成され、ユーザからの入力を受け付ける。具体的にここでは、ユーザからの検索語を受け付ける。受け付けられた検索語は、制御部１００の抽出部１０１へと供給され、当該検索語を含む文書データ３０１を抽出する処理に用いられる。
【００２２】
表示部１３０は、例えばモニタ１５５のような表示装置によって構成され、制御部１００が処理を行った結果をユーザへ提示する。具体的にここでは、ユーザが入力した検索語を含む文書データ３０１を、後述する所定の出力優先度に基づいてモニタ１５５に表示することで、当該ユーザへと提示する。これにより、ユーザは、自身が入力した検索語を含む文書データ３０１を出力結果として取得し、種々に利用することができるようになる。
【００２３】
なお、入力部１２０と表示部１３０は、タッチパネル等のような入力装置と表示装置が組み合わされた装置によって構成されてもよい。この場合には、タッチパネルに内蔵されたタッチセンサ等からなる位置入力装置が入力部１２０を、液晶ディスプレイ等からなる表示装置が表示部１３０を、それぞれ構成する。
【００２４】
以上のように構成される検索装置１は、制御部１００の制御のもと、検索処理を行う。具体的には、図４のフローチャートに示される手順で処理を実行する。
【００２５】
本処理は、ユーザから入力された検索語を、検索装置１の入力部１２０が受け付けることを契機として、開始される。すなわち、キーボード１５４を用いて、ユーザが所望の検索語を入力し、検索する旨を指示することで、本処理が開始する。
【００２６】
処理が開始されると、まず検索装置１の抽出部１０１が、最初の文書グループ３００を指定する（ステップＳ４０１）。ここで、最初の文書グループ３００とは、検索装置１が記憶部１１０に備える複数の文書グループ３００ａ〜３００ｎのうち、あらかじめ定められた順序で並べられた最初の文書グループ３００をいう。すなわち、複数の文書グループ３００ａ〜３００ｎは、あらかじめ所定の順序が定められて記憶部１１０に記憶されており、当該所定の順序に基づいて、ここから述べる抽出処理や出力処理等が行われる。以下では便宜上、文書グループ３００ａ、文書グループ３００ｂ、・・・文書グループ３００ｎという順序があらかじめ定められているとして、説明する。
【００２７】
最初の文書グループ３００ａが指定されると、抽出部１０１が、当該指定された文書グループ３００ａ内で、入力された検索語が見出し語に含まれる文書データ３０１を抽出する（ステップＳ４０２）。すなわち、抽出部１０１は、入力された検索語の文字列（検索文字列）と、文書グループ３００ａが備える複数の文書データ３０１ａ〜３０１ｃ等の見出し語の文字列とを比較し、検索文字列に一致する文字列が見出し語に含まれる文書データ３０１を抽出する。
【００２８】
例えば、ユーザが「携帯」という検索語を入力した場合、見出し語が「携帯」という語句そのものである文書データ３０１や、あるいは「携帯電話」や「常時携帯」というように検索文字列を含む文書データ３０１が抽出される。このように見出し語に入力された検索語が含まれる文書データ３０１が、例えば１０００個の文書データ３０１を備える文書グループ３００ａ内に１０個あった場合、当該１０個の文書データ３０１が抽出される。
【００２９】
なお、このとき行われる検索の詳細な方法は、公知の検索技術のいずれに基づくものであってもよい。すなわち、抽出部１０１は、例えば複数の文書データ３０１ａ〜３０１ｃ等の見出し語の文字列を順次走査して検索文字列を探し出す逐次型の検索（ｇｒｅｐ型の検索）を行ってもよいし、あるいは検索処理の高速化のためあらかじめ索引ファイルを用意しておく索引型（インデックス型）の検索を行ってもよい。
【００３０】
このようにして検索語が見出し語に含まれる文書データ３０１を抽出すると、次に設定部１０２が、抽出された文書データ３０１に、見出し語と検索語との文字数の差分に相当するスコアを設定する（ステップＳ４０３）。ここで「スコア」とは、後述する出力処理における出力優先度を示す指標であり、１つの文書データ３０１に対して１つの値が設定される。すなわち、ここで設定されるスコアに基づいた優先度で、後に文書データ３０１が出力される処理が行われる。
【００３１】
このとき設定部１０２は、見出し語と検索語との文字数の差分を取得し、スコアの値として設定する。すなわち、見出し語と検索語との文字数の差分が大きいと、スコアは大きな値となり、差分が小さいと、スコアは小さな値となる。見出し語と検索語との文字数の差分が小さいということは、見出し語と検索語との一致の度合いが大きいということであり、ユーザの意図する文書データ３０１である可能性が高いことが想定される。そのため、差分（スコア）が小さい文書データ３０１ほど優先して出力されるよう、出力優先度は高いものとなる。
【００３２】
具体的に図５に示される例を参照して説明すると、ユーザが「携帯」という検索語を入力した場合に抽出された「携帯」「携帯電話」「常時携帯」という見出し語の文書データ３０１のそれぞれに対して、見出し語が「携帯」という語句そのものである文書データ３０１には、文字数の差分がない（０文字）ため、スコアが「０」と設定される。一方、見出し語が「携帯電話」や「常時携帯」というような文書データ３０１には、文字数の差分が２文字であるため、スコアが「２」と設定される。
【００３３】
図４のフローチャートに戻って、このようにスコアが設定されると、さらに検索装置１の制御部１００が、抽出された文書データ３０１を、スコアの小さい順に並べ替える（ステップＳ４０４）。すなわち、出力優先度が高い順に、文書データ３０１を並べ替える。例えば、スコアが「０」である「携帯」という見出し語の文書データ３０１は、スコアが「２」である「携帯電話」や「常時携帯」という見出し語の文書データ３０１よりも先の位置に並べられる。
【００３４】
このとき制御部１００は、スコアが同じ文書データ３０１を、検索語が先頭から近い順にさらに並べ替える（ステップＳ４０５）。すなわち、スコア順に並べ替えられた文書データ３０１に対して、さらに等しいスコアを有する文書データ３０１の間でも並べ替えを行う。このときの並べ替えの基準として、制御部１００は、見出し語内の検索語の位置に着目し、先頭により近いものを優先する。検索語が先頭により近いものの方が、ユーザが意図する文書データ３０１である可能性が高いと想定されるからである。
【００３５】
具体的に図５に示される例を参照して説明すると、スコアが同じ「２」である「携帯電話」と「常時携帯」という見出し語を有する２つの文書データ３０１については、「携帯電話」という見出し語の方が、「常時携帯」という見出し語よりも、検索語「携帯」の文字列が先の位置に含まれているため、先の位置に並べられる。その結果、ユーザが「携帯」という検索語を入力した場合に抽出された「携帯」「携帯電話」「常時携帯」という見出し語を有する３つの文書データ３０１については、スコアが「０」で最も小さい「携帯」という見出し語の文書データ３０１が１番目に、スコアが「２」の「携帯電話」という見出し語の文書データ３０１が２番目に、スコアが同じく「２」であるが検索語が先頭にない「常時携帯」という見出し語の文書データ３０１が３番目に並べられることになる。
【００３６】
なお、スコアも検索語の位置も同じ場合は、文書グループ３００内での見出し語の５０音順やアルファベット順等、その他の要素に基づいて、並べ替えられる。
【００３７】
図４のフローチャートに戻って、このように指定された文書グループ３００ａから抽出された文書データ３０１のそれぞれが、スコアが設定されて並べ替えられると、当該文書データ３０１をＲＡＭ１５３に一時的に保持しつつ、次に検索装置１の制御部１００は、未処理の文書グループ３００があるか否かを判定する（ステップＳ４０６）。
【００３８】
未処理の文書グループ３００がある場合（ステップＳ４０６；ＹＥＳ）、次の文書グループ３００が指定され（ステップＳ４０７）、処理はステップＳ４０２へと戻る。すなわち、文書グループ３００ａの処理の後であれば、次の文書グループ３００ｂが指定され、当該指定された文書グループ３００ｂに対して、上記ステップＳ４０２〜Ｓ４０５での文書データ３０１の抽出、スコアの設定、並べ替えの各処理が行われる。これらの処理がすべての文書グループ３００ａ〜３００ｎのそれぞれについて行われ、入力された検索語を含む文書データ３０１が、スコアの小さい順に並べられることになる。
【００３９】
その後、未処理の文書グループ３００がなくなると（ステップＳ４０６；ＮＯ）、設定されたスコア、すなわち出力優先度に基づいて、文書データ３０１を出力する処理（ステップＳ４０８）へ移行する。この出力処理については、フローチャートを図６に改めて、詳細に説明する。
【００４０】
出力処理が開始されると、検索装置１の判定部１０３が、文書データ３０１を出力する判定基準となる出力スコアＳを「０」に初期化し、そして、最初の文書グループ３００を指定する（ステップＳ６０１）。ここで、最初の文書グループ３００とは、上述した所定の順序で記憶された最初の文書グループ３００をいう。具体的には図７の例のように、国語辞典の文書グループ３００ａ、英和辞典の文書グループ３００ｂ、百科事典の文書グループ３００ｃ、という３つの文書グループ３００ａ〜３００ｃがこの順序で記憶されている場合には、当該ステップＳ６０１では、国語辞典の文書グループ３００ａが指定されることになる。
【００４１】
なお、図７の例では、各文書グループ３００ａ〜３００ｃは、上述したステップＳ４０２〜Ｓ４０５までの処理を経た状態にあるものとする。すなわち、各文書グループ３００ａ〜３００ｃが備える文書データ３０１のうち、入力された検索語を含む文書データ３０１が抽出され、それらにスコアが設定され、さらにスコアが小さい順に並べ替えられている状態にある。ここからの出力処理の説明では、図６のフローチャートと図７の具体例との双方を参照しながら説明する。
【００４２】
最初の文書グループ３００ａが指定されると、判定部１０３は、指定された文書グループ３００ａ内でスコアがＳで未出力の文書データ３０１があるか否かを判定し（ステップＳ６０２）、ある場合に（ステップＳ６０２；ＹＥＳ）、出力部１０４が、該当する文書データ３０１を１個出力する（ステップＳ６０３）。ここでは出力スコアＳの値は「０」に初期化されているので、文書グループ３００ａ内にスコアが「０」の文書データ３０１があるか否かが判定され、ある場合にそのうちの１個が出力される。ここで、スコアが「０」（出力優先度が最大）の文書データ３０１を全て出力せず、１個のみ出力するとした理由は、１度に多くの文書データ３０１を出力すると、複数の文書グループ３００ａ〜３００ｃからなるべく偏りのない順序で文書データ３０１を出力することができなくなるからである。そのため検索装置１は、１度に出力する個数としてあらかじめ所定の個数（ここでは１個）を定めて記憶部１１０等に記憶しておき、出力部１０４が、指定された文書グループ３００ごとに所定の個数ずつ文書データ３０１を出力するようにする。
【００４３】
具体的に図７では、文書グループ３００ａ内には、スコアが「０」に設定された文書データ３０１として、「ａ１」という見出し語の文書データ３０１が１個存在する。そのため、ここで出力部１０４は、当該「ａ１」の文書データ３０１を、検索装置１の表示部１３０によりモニタ１５５に表示する等により、ユーザへと出力する。
【００４４】
図６のフローチャートに戻って、次に判定部１０３が、すべての文書グループ３００ａ〜３００ｃ内でスコアがＳで未出力の文書データ３０１があるか否かを判定する（ステップＳ６０４）。すなわち、出力された「ａ１」と同じスコアが「０」の文書データ３０１が、他の文書グループ３００内も含めてまだあるか否かが判定される。
【００４５】
ある場合には（ステップＳ６０４；ＹＥＳ）、次の文書グループ３００ｂが指定され（ステップＳ６０５）、処理はステップＳ６０２へと戻る。そして、判定部１０３が、当該指定された文書グループ３００ｂ内に、該当する文書データ３０１があるか否かを判定し、あった場合には、ステップＳ６０３にて出力部１０４が、該当する文書データ３０１を１個出力する。
【００４６】
具体的に図７では、出力された「ａ１」の文書データ３０１とスコアが同じく「０」である「ｂ１」という文書データ３０１が、指定された英和辞典の文書グループ３００ｂ内に存在するため、出力部１０４は、「ａ１」に引き続いて「ｂ１」の文書データ３０１を出力することになる。
【００４７】
「ｂ１」の文書データ３０１を出力すると、もはやすべての文書グループ３００ａ〜３００ｃ内に、スコアが「０」で未出力の文書データ３０１はなくなる。そのため、図６のフローチャートでは、スコアが「０」で未出力の文書データ３０１はないと判定され（ステップＳ６０４；ＮＯ）、次に、出力スコアの値を「１」に増やして、すなわち未出力の文書データ３０１のうちで出力優先度が最大の文書データ３０１に着目して、処理を行う。
【００４８】
そのためにまず、判定部１０３が、すべての文書グループ３００ａ〜３００ｃ内で未出力の文書データ３０１があるか否かを判定する（ステップＳ６０６）。ここでは、まだスコアが「０」の文書データ３０１しか出力されておらず、スコアが「１」以上の文書データ３０１が未出力であるため、あると判定される（ステップＳ６０６；ＹＥＳ）。このとき、出力スコアＳの値をＳ＋１にインクリメント、すなわち「０」であったものを「１」に設定し（ステップＳ６０７）、さらに次の文書グループ３００ｃを指定した上で（ステップＳ６０５）、再びステップＳ６０２の処理を行う。
【００４９】
ここで、図７に示されるように、指定された百科事典の文書グループ３００ｃが有する文書データ３０１は、スコアが「２」以上のものばかりである。そのため、図６のステップＳ６０２にて判定部１０３は、指定された文書グループ３００ｃ内にスコアが「１」に設定された文書データ３０１がないと判定し（ステップＳ６０２；ＮＯ）、ここではステップＳ６０３を通らず、いずれの文書データ３０１も出力されない。そして、そのまま処理は再びステップＳ６０４、Ｓ６０５へと移行して、次の文書グループ３００ａが指定されて、ステップＳ６０２へと戻ることになる。
【００５０】
ここで、それまで指定されていた文書グループ３００ｃは、所定の順序で記憶された最後であるため、ステップＳ６０５では、次に指定されるものとして、所定の順序の最初にまで巡回的に戻り、国語辞典の文書グループ３００ａが指定されることになる。そして、当該最初の文書グループ３００ａである国語辞典内において、再びスコアが「１」に設定された未出力の文書データ３０１があるか否かが判定される（ステップＳ６０２）。具体的に、当該最初の文書グループ３００ａには、スコアが「１」に設定された未出力の文書データ３０１が「ａ２」と「ａ３」の２つ存在する。そのため、ここではあると判定され、ステップＳ６０３の文書データ３０１の出力処理が実行される。
【００５１】
このとき出力部１０４は、当該２つの文書データ３０１（「ａ２」と「ａ３」）のうち、所定の個数、すなわちここでは１個の文書データ３０１を出力する。すなわち、出力部１０４は当該２個の文書データ３０１を同時には出力せず、より先頭に並べられた「ａ２」の文書データ３０１を１個出力するのみ行い、次の英和辞典の文書グループ３００ｂの処理へと移行する。これにより、複数の文書グループ３００ａ〜３００ｃのそれぞれから１個ずつの文書データ３０１を出力していくことで、複数の文書グループ３００ａ〜３００ｃのうちからなるべく満遍のない出力を実現する。
【００５２】
以上のような処理を繰り返し、検索装置１の出力部１０４は、文書グループ３００ａ〜３００ｃを巡回的に指定しながら、スコアの小さい文書データ３０１から順に、１個ずつ出力していく。その結果、図７のような３個の文書グループ３００ａ〜３００ｃからは、「ａ１」、「ｂ１」、「ａ２」、「ｂ２」、「ａ３」、「ｂ３」、「ｃ１」、「ｂ４」、「ｃ２」、「ａ４」、「ｃ３」、「ｃ４」、「ｃ５」、「ａ５」、「ｂ５」・・・という順に、文書データ３０１が出力されることになる。
【００５３】
以上のような構成により、本実施形態の検索装置１は、複数の文書グループ３００ａ〜３００ｎのうちから所望の検索語を含む文書データ３０１の検索において、文書データ３０１に検索語と見出し語との文字数の差分に基づく出力優先度を設定し、当該出力優先度の高い順に、複数の文書グループ３００ａ〜３００ｎを巡回させながら文書データ３０１を１個ずつ出力する。
【００５４】
その結果、検索語を含む文書データ３０１が、複数の文書グループ３００ａ〜３００ｎから満遍なく出力されることになり、ユーザは、明示的にいずれかの文書グループ３００を指定して検索せずとも、意図に沿う可能性の高い文書データ３０１を、複数の文書グループ３００ａ〜３００ｎのそれぞれから確認し、また複数の文書グループ３００ａ〜３００ｎ間で比較等しながら、見つけ出すことができる。
【００５５】
なお、上記実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【００５６】
例えば、上記実施形態では、検索装置１は、ＲＯＭ１５２のような記憶部１１０内に文書グループ３００ａ〜３００ｎを記憶した。しかしこれに限られず、検索装置１は、ハードディスク等の大容量記憶装置やＤＶＤ−ＲＯＭドライブを備え、文書グループ３００ａ〜３００ｎがハードディスクやＤＶＤ−ＲＯＭ等に記憶されるようにしてもよい。あるいは、検索装置１は、ネットワークに接続され、文書グループ３００ａ〜３００ｎがネットワーク上に存在するようにしてもよい。
【００５７】
また、上記実施形態では、検索装置１は、ユーザが検索語を入力する入力部１２０や検索結果を表示する表示部１３０は、制御部１００や記憶部１１０と同一の装置内に存在した。しかしこれに限られず、入力部１２０と表示部１３０は、検索装置１の外部にあってもよい。すなわち、例えば図８に示すように、検索装置１は入力部１２０と表示部１３０を備えず、これらを備える端末装置２とネットワーク１５０を介して接続されるようにし、オンライン型の電子辞書のような情報機器として構成するようにしてもよい。
【００５８】
このとき、検索装置１と端末装置２は、それぞれが備える通信部１４０ａ，１４０ｂにより、ネットワーク１５０を介して互いにデータを通信しあう。すなわち、端末装置２のユーザが入力した検索語は、検索装置１へと送信され、制御部１００により検索処理が実行される。その後、検索結果としての文書データの情報が、それぞれに設定された出力の順序を対応付けられた上で、再び端末装置２へと送信され、表示部１３０を介してユーザへと表示される。このような構成をとることで、検索装置１内の文書グループ３００ａ〜３００ｎ等を一括して管理して複数のユーザに利用できるようになり、またユーザ側の端末装置２は、文書グループ３００ａ〜３００ｎ等を保持する必要がないため、データサイズを抑えることができるといった利点がある。
【００５９】
また、上記実施形態では、検索装置１として電子辞書のような小型の情報処理装置を想定して説明した。しかしこれに限られず、検索装置１は、ビジネス用・家庭用の一般的なコンピュータ装置や、携帯電話等の他の情報機器であってもよい。すなわち、検索装置１は、例えば一般的なコンピュータ装置において、ハードディスク等の大容量記憶装置やＤＶＤ−ＲＯＭ等に用意された文書グループ３００ａ〜３００ｎのうちから所望の検索語を含む文書データ３０１を検索するものであってもよいし、携帯電話において、ネットワーク１５０上に用意された文書グループ３００ａ〜３００ｎのうちから所望の検索語を含む文書データ３０１を検索するものであってもよい。
【００６０】
また、上記実施形態では、検索装置１は、検索語を「見出し語」の中に含む文書データ３０１を抽出（いわゆる「見出し語検索」）し、設定された出力優先度に基づく所定の規則に従って、当該抽出された文書データ３０１を出力した。しかしこれに限られず、文書データ３０１中の「説明文」に、検索語を含むものも抽出（いわゆる「全文検索」）するようにしてもよい。すなわち、検索対象を「見出し語」と「説明文」との両方に広げ、いずれか一方にでも検索語が含まれる文書データ３０１を、ユーザへ出力するようにしてもよい。
【００６１】
この場合、「全文検索」により抽出された文書データ３０１については、「見出し語検索」により抽出された文書データ３０１に比べて、出力優先度を低く（スコアを大きく）設定するようにしてもよい。これによって、ユーザが「見出し語検索」と「全文検索」とを明示的に指定して検索せずとも、ユーザの検索意図に沿う文書データ３０１である可能性が高い「見出し語検索」により抽出された文書データ３０１が優先して出力され、その後で、「説明文」に検索語を含む文書データ３０１が出力されることになり、ユーザは、意図にあった検索結果をより簡便に得ることができるようになる。
【００６２】
この場合さらに、あらかじめ出力される文書データ３０１の個数に最大値を決めておき、「見出し語」に検索語を含む文書データ３０１が当該最大値に満たない場合に、残りの数だけ「説明文」に検索語を含む文書データ３０１を抽出するようにしてもよい。一般的に、「説明文」も検索対象に含めると検索対象が大きく広がることになるため、ここでは出力個数に満たない場合にだけ検索対象を「説明文」にも広げるようにすることで、処理全体の負荷の抑制へとつなげることができる。
【００６３】
また、上記実施形態では、単一の検索語がユーザから受け付けられた場合を想定して、説明した。しかしこれに限られず、検索装置１は、複数の検索語を受け付け、それらの論理積や論理和等の各種演算処理を施したものについての検索を行い、所定の規則で設定された出力優先度に基づいて、ユーザへと出力するものであってもよい。この場合、検索結果として抽出された文書データ３０１に設定される出力優先度は、そこに含まれる複数の検索語の出現位置や出現頻度、あるいは複数の検索語間の出現位置の間隔といった、種々の出現態様によって設定されうる。
【００６４】
また、上記実施形態では、文書グループ３００ａ〜３００ｎが備える複数の文書データ３０１ａ〜３０１ｃ等は、「見出し語」と「説明文」とから構成された。しかしこれらに限られず、様々な要素から構成されてもよい。例えば、「見出し語」を説明するための図や表を有するものであってもよい。あるいは、このような「見出し語」と「説明文」とから構成される辞書の構成単位に限られず、検索装置１は、種々の電子データを検索するものであってもよい。例えば、一般的なコンピュータ装置において、ハードディスク等の大容量記憶装置に記憶された電子ファイルのうちから、所望の検索文字列を含む電子ファイルを検索するものであってもよい。あるいは、ネットワークと接続され、ネットワーク上に存在するウェブページを検索するものであってもよい。
【００６５】
また、上記実施形態では、文書グループ３００ａ〜３００ｎは、あらかじめ所定の順序が定められ、当該所定の順序に基づいて、検索装置１の処理が行われた。ここで、所定の順序は、あらかじめ定められた１つの順序から設定変更が不可能なものとは限らず、種々に設定されるものであってもよい。例えば、文書グループ３００ごとに使用頻度を記憶しておき、当該使用頻度の高い順に所定の順序を定めるものであってもよい。あるいは、ユーザが自身で順序を決められるようにしてもよい。これによって、ユーザの意図にあう可能性の高い文書グループ３００の検索結果から順に出力されるようになり、検索装置１の使い勝手の向上につながる。
【００６６】
あるいは、記憶部１１０に記憶されたすべての文書グループ３００ａ〜３００ｎを検索対象とすることに限られず、ユーザが自身で検索対象の文書グループ３００を選択できるようにし、当該選択された文書グループ３００のうちから、所定の順序に基づいて、検索処理が行われるようにしてもよい。これにより、よりユーザの意図にあう検索結果の出力が行われやすくなる。
【００６７】
また、上記実施形態では、複数の文書グループ３００ａ〜３００ｎが備える文書データ３０１のうち出力優先度の高いものを１個ずつ、巡回的に出力した。しかし１個ずつ出力することに限られず、２個ずつでも３個ずつでも、あるいはその他の個数ずつ巡回的に出力するようにしてもよい。すなわち、出力部１０４が１度当たりに出力する文書データ３０１の個数として定められた所定の個数は、１個に限られず、いくつの個数であってもよい。一般的に、所定の個数を１個や２個のように比較的少ない個数とすると、全ての文書グループ３００から満遍のない文書データ３０１の出力が可能となる。逆に、所定の個数を増大させると、各文書グループ３００からの文書データ３０１の出力はある程度まとまった個数ずつになる。あるいは、このような１度当たりに出力する文書データ３０１の個数を、ユーザが自身で指定できるようにしてもよい。これにより、複数の文書グループ３００ａ〜３００ｎから満遍なく出力する度合いを、柔軟に設計することができる。
【００６８】
なお、本発明に係る機能を実現するための構成を予め備えた検索装置として提供できることはもとより、プログラムの適用により、既存のパーソナルコンピュータや情報端末機器等を、本発明に係る検索装置として機能させることもできる。すなわち、上記実施形態で例示した検索装置１による各機能構成を実現させるための検索プログラムを、既存のパーソナルコンピュータや情報端末機器等を制御するＣＰＵ等が実行できるように適用することで、本発明に係る検索装置１として機能させることができる。また、本発明に係る検索方法は、検索装置１を用いて実施できる。
【００６９】
また、このようなプログラムの適用方法は任意であり、例えば、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、メモリカードなどのコンピュータ読み取り可能な記憶媒体に格納して適用できる他、例えば、インターネットなどの通信媒体を介して適用することもできる。
【００７０】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００７１】
（付記１）
複数の文書グループのそれぞれが備える複数の文書データのうちから、所望の検索文字列を含む文書データを抽出する抽出ステップと、
前記抽出された文書データのそれぞれに、所定の設定規則に基づいて、出力優先度を設定する設定ステップと、
前記複数の文書グループのそれぞれが、前記出力優先度が設定された文書データのうち所定の出力条件を満たす文書データを備えるか否かを、順に判定する判定ステップと、
前記判定した文書グループが前記所定の出力条件を満たす文書データを備える場合、当該文書データのうち所定の個数を出力する出力ステップと、
を備えることを特徴とする検索方法。
【００７２】
（付記２）
前記所定の出力条件を満たす文書データとは、前記出力ステップにおいて未だ出力されていない文書データのうち、前記設定された出力優先度が最大である文書データである、
ことを特徴とする付記１に記載の検索方法。
【００７３】
（付記３）
前記複数の文書グループは所定の順序で並べられ、
前記判定ステップでは、前記複数の文書グループのそれぞれが、前記出力優先度が設定された文書データのうち所定の出力条件を満たす文書データを備えるか否かを、前記所定の順序で巡回的に判定する、
ことを特徴とする付記１または２に記載の検索方法。
【００７４】
（付記４）
前記複数の文書グループのそれぞれが備える複数の文書データのぞれぞれは、見出し語と対応する説明文とから構成され、
前記設定ステップでは、前記抽出された文書データのうち、見出し語に前記検索文字列を含む文書データの出力優先度を、当該見出し語と当該検索文字列との文字数の差分に基づいて設定する、
ことを特徴とする付記１から３のいずれか１つに記載の検索方法。
【００７５】
（付記５）
前記設定ステップでは、見出し語と前記検索文字列との文字数の差分が等しい文書データを、当該見出し語の先頭文字と前記検索文字列との間の文字数が小さい順に、さらに出力優先度を設定する、
ことを特徴とする付記４に記載の検索方法。
【００７６】
（付記６）
前記設定ステップでは、前記抽出された文書データのうち、見出し語に前記検索文字列を含まない文書データの出力優先度を、見出し語に前記検索文字列を含む文書データの出力優先度よりも、低く設定する、
ことを特徴とする付記４または５に記載の検索方法。
【００７７】
（付記７）
前記抽出ステップでは、前記複数の文書グループのそれぞれが備える複数の文書データのうちから、前記検索文字列を見出し語に含む文書データを抽出し、当該抽出された文書データの個数が所定の最大数に満たない場合に、前記検索文字列を説明文に含む文書データをさらに抽出する、
ことを特徴とする付記４から６のいずれか１つに記載の検索方法。
【００７８】
（付記８）
複数の文書グループのそれぞれが備える複数の文書データのうちから、所望の検索文字列を含む文書データを抽出する抽出手段と、
前記抽出された文書データのそれぞれに、所定の設定規則に基づいて、出力優先度を設定する設定手段と、
前記複数の文書グループのそれぞれが、前記出力優先度が設定された文書データのうち所定の出力条件を満たす文書データを備えるか否かを、順に判定する判定手段と、
前記判定した文書グループが前記所定の出力条件を満たす文書データを備える場合、当該文書データのうち所定の個数を出力する出力手段と、
を備えることを特徴とする検索装置。
【００７９】
（付記９）
コンピュータを、
複数の文書グループのそれぞれが備える複数の文書データのうちから、所望の検索文字列を含む文書データを抽出する抽出手段、
前記抽出された文書データのそれぞれに、所定の設定規則に基づいて、出力優先度を設定する設定手段、
前記複数の文書グループのそれぞれが、前記出力優先度が設定された文書データのうち所定の出力条件を満たす文書データを備えるか否かを、順に判定する判定手段、
前記判定した文書グループが前記所定の出力条件を満たす文書データを備える場合、当該文書データのうち所定の個数を出力する出力手段、
として機能させることを特徴とするコンピュータプログラム。
【符号の説明】
【００８０】
１…検索装置、２…端末装置、１００…制御部、１０１…抽出部、１０２…設定部、１０３…判定部、１０４…出力部、１１０…記憶部、１２０…入力部、１３０…表示部、１４０ａ，１４０ｂ…通信部、１５０…ネットワーク、１５１…ＣＰＵ、１５２…ＲＯＭ、１５３…ＲＡＭ、１５４…キーボード、１５５…モニタ、３００ａ，３００ｂ，３００ｃ，３００ｎ…文書グループ、３０１ａ，３０１ｂ，３０１ｃ…文書データ
【図１】
0005699744.tif 000002
【図２】
0005699744.tif 000003
【図３】
0005699744.tif 000004
【図４】
0005699744.tif 000005
【図５】
0005699744.tif 000006
【図６】
0005699744.tif 000007
【図７】
0005699744.tif 000008
【図８】
0005699744.tif 000009