(57)【特許請求の範囲】
【請求項１】
あいまい検索において検索対象となる複数のキーワードを格納するキーワード格納部と、
前記キーワード格納部に格納されている前記複数のキーワードの各々について、当該キーワードを所定のルールに従い文節に分割した場合における文節数を算出し、算出された当該文節数又は当該文節数の分布に関するデータを文節データ格納部に格納する第１算出部と、
前記文節データ格納部に格納されているデータを用いて、文節数の小さい順に出現回数を計数した場合に前記複数のキーワードの総数に対する当該出現回数の割合が所定割合に達した文節数又は当該出現回数が所定数に達した文節数を特定し、前記あいまい検索を実行する際の検索キーワードの文節数に決定する第２算出部と、
を有する検索装置。
【請求項２】
入力キーワードを受け付けた場合、当該入力キーワードを前記所定のルールに従い複数の文節に分割し、当該入力キーワードの先頭に近い文節から順に、前記第２算出部により決定された文節数分の文節を特定し、特定された当該文節からなる検索キーワードを生成する生成部と、
前記生成部により生成された前記検索キーワードを用いてあいまい検索を実行し、当該あいまい検索により得られたキーワードをデータ格納部に格納する検索部と、
をさらに有する請求項１記載の検索装置。
【請求項３】
前記データ格納部に格納されているキーワードの各々について、当該キーワードの少なくとも一部と前記検索キーワードに含まれる文節の各々との類似度を算出し、算出された類似度の少なくとも一部を用いてスコアを算出し、当該キーワードと当該スコアとを対応付けてスコア格納部に格納する第３算出部と、
算出された前記スコアが所定の条件を満たすキーワードを前記スコア格納部から抽出し、抽出された当該キーワードを含む検索結果のデータを出力する出力部と、
をさらに有する請求項２記載の検索装置。
【請求項４】
あいまい検索において検索対象となる複数のキーワードを格納するキーワード格納部に格納されている前記複数のキーワードの各々について、当該キーワードを所定のルールに従い文節に分割した場合における文節数を算出し、算出された当該文節数又は当該文節数の分布に関するデータを文節データ格納部に格納するステップと、
前記文節データ格納部に格納されているデータを用いて、文節数の小さい順に出現回数を計数した場合に前記複数のキーワードの総数に対する当該出現回数の割合が所定割合に達した文節数又は当該出現回数が所定数に達した文節数を特定し、前記あいまい検索を実行する際の検索キーワードの文節数に決定するステップと、
を含み、コンピュータにより実行される検索方法。
【請求項５】
あいまい検索において検索対象となる複数のキーワードを格納するキーワード格納部に格納されている前記複数のキーワードの各々について、当該キーワードを所定のルールに従い文節に分割した場合における文節数を算出し、算出された当該文節数又は当該文節数の分布に関するデータを文節データ格納部に格納するステップと、
前記文節データ格納部に格納されているデータを用いて、文節数の小さい順に出現回数を計数した場合に前記複数のキーワードの総数に対する当該出現回数の割合が所定割合に達した文節数又は当該出現回数が所定数に達した文節数を特定し、前記あいまい検索を実行する際の検索キーワードの文節数に決定するステップと、
を、コンピュータに実行させるための検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、あいまい検索技術に関する。
【背景技術】
【０００２】
あいまい検索は、検索キーワードと多少異なる語句であったとしてもヒットするような検索方法であるため、入力ミスや表記ゆれに強いという利点がある。一方で、あいまい検索には、検索キーワードからいくつかの文字を取り出して結合させたような語句がヒットするなど、検索結果に無駄なものが増えるという問題がある。例えば、「電話を転送するサービスを知りたい」という文全体を検索キーワードとした場合、「電送サービス」というような意図しない語句がヒットすることがある。
【０００３】
このような問題に対しては、検索キーワードを複数の文節に分割し、文節毎にあいまい検索を行うことが知られている。しかし、このようにすると、文字数が多い語句はヒットしにくくなるという問題がある。例えば、「電話を転送するサービスを知りたい」という文を「電話を」、「転送する」、「サービスを」及び「知りたい」という文節に分割し、それぞれの文節についてあいまい検索を実行する。そうすると、探している語句である「転送電話サービス」は、文字数が比較的多いため短い文字列である文節とは合致しない部分が多くなるので、ヒットしにくい。
【０００４】
従来、あいまい検索に関して以下のような技術が存在する。具体的には、検索文字列と文書中の文字列との「似ている度合い」を、何文字連続して一致しているか及び途中にどのくらい余分な文字がはさまっているかという２つの観点から数値化する。そして、「似ている度合い」が予め指定した検索精度以上である文字列を含む文書を特定する。しかしながら、この従来技術では、上で述べたような問題に対する解決策を提示することはできない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−１４７３２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って、本技術の目的は、一側面によれば、あいまい検索の検索精度を向上させるための技術を提供することである。
【課題を解決するための手段】
【０００７】
本実施の形態に係る検索装置は、（Ａ）あいまい検索において検索対象となる複数のキーワードを格納するキーワード格納部と、（Ｂ）キーワード格納部に格納されている複数のキーワードの各々について、当該キーワードを所定のルールに従い文節に分割した場合における文節数を算出し、算出された当該文節数又は当該文節数の分布に関するデータを文節データ格納部に格納する第１算出部と、（Ｃ）文節データ格納部に格納されているデータを用いて、文節数の小さい順に出現回数を計数した場合に複数のキーワードの総数に対する当該出現回数の割合が所定割合に達した文節数又は当該出現回数が所定数に達した文節数を特定し、あいまい検索を実行する際の検索キーワードの文節数に決定する第２算出部とを有する。
【発明の効果】
【０００８】
あいまい検索の検索精度を向上させることができるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施の形態に係る検索装置の機能ブロック図を示す図である。
【図２】図２は、キーワードリスト格納部に格納されているデータの一例を示す図である。
【図３】図３は、あいまい検索を実行する前に行われる前処理の処理フローを示す図である。
【図４】図４は、文節数算出処理の処理フローを示す図である。
【図５】図５は、文節数格納部に格納されているデータの一例を示す図である。
【図６】図６は、文節数格納部に格納されているデータの一例を示す図である。
【図７】図７は、検索長算出処理の処理フローを示す図である。
【図８】図８は、あいまい検索の実行時に行われる処理の処理フローを示す図である。
【図９】図９は、区切り解析処理の処理フローを示す図である。
【図１０】図１０は、解析データ格納部に格納されているデータの一例を示す図である。
【図１１】図１１は、位置設定処理の処理フローを示す図である。
【図１２】図１２は、解析データ格納部に格納されているデータの一例を示す図である。
【図１３】図１３は、キーワード抽出処理の処理フローを示す図である。
【図１４】図１４は、対応付けデータ格納部に格納されているデータの一例を示す図である。
【図１５】図１５は、あいまい検索の過程で得られるデータの一例を示す図である。
【図１６】図１６は、スコア格納部に格納されているデータの一例を示す図である。
【図１７】図１７は、本実施の形態に係る技術の効果について説明するための図である。
【図１８】図１８は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１０】
本実施の形態に係る検索装置１の機能ブロック図を図１に示す。検索装置１は、リスト解析部１１と、キーワード抽出部１２とを含む。
【００１１】
リスト解析部１１は、設定値格納部１１１と、文節数算出部１１２１と検索長算出部１１２２とを含む算出部１１２と、文節数格納部１１３と、検索長格納部１１４と、キーワードリスト格納部１１５と、インデックス生成部１１６と、インデックス格納部１１７とを含む。
【００１２】
文節数算出部１１２１は、キーワードリスト格納部１１５に格納されているデータを用いてキーワードの擬似文節数を算出する処理等を行い、処理結果を文節数格納部１１３に格納する。検索長算出部１１２２は、設定値格納部１１１及び文節数格納部１１３に格納されているデータを用いて後で説明する検索長を算出する処理を行い、処理結果を検索長格納部１１４に格納する。インデックス生成部１１６は、キーワードリスト格納部１１５に格納されているデータを用いてあいまい検索のためのインデックスファイルを生成する処理を行い、処理結果をインデックス格納部１１７に格納する。
【００１３】
キーワード抽出部１２は、入力部１２０１と、入力データ格納部１２０２と、区切り解析部１２０３と、解析データ格納部１２０４と、位置設定部１２０５と、あいまい検索部１２０６と、キーワード候補格納部１２０７と、スコア算出部１２０８と、対応付けデータ格納部１２０９と、スコア格納部１２１０と、出力部１２１１とを含む。
【００１４】
入力部１２０１は、入力文のデータの入力を受け付け、入力データ格納部１２０２に格納する。区切り解析部１２０３は、入力データ格納部１２０２に格納されているデータを用いて入力文を後で説明する擬似文節に分割する処理を行い、処理結果を解析データ格納部１２０４に格納する。位置設定部１２０５は、検索長格納部１１４及び解析データ格納部１２０４に格納されているデータを用いて検索キーワードを生成するための処理を行い、処理結果を解析データ格納部１２０４に格納する処理を行う。あいまい検索部１２０６は、インデックス格納部１１７及び解析データ格納部１２０４に格納されているデータを用いてあいまい検索を実行し、処理結果をキーワード候補格納部１２０７に格納する。なお、あいまい検索部１２０６は、あいまい検索の実行過程で得られるデータをスコア格納部１２０８に出力することもある。スコア算出部１２０８は、キーワード候補格納部１２０７及び解析データ格納部１２０４に格納されているデータを用いて検索キーワードとキーワード候補との対応付けデータを生成して対応付けデータ格納部１２０９に格納する処理を行う。また、スコア算出部１２０８は、対応付けデータ格納部１２０９に格納されているデータを用いてスコアを算出する処理を行い、処理結果をスコア格納部１２１０に格納する。出力部１２１１は、スコア格納部１２１０に格納されているデータを表示装置に表示する処理等を行う。
【００１５】
図２に、キーワードリスト格納部１１５に格納されているデータの一例を示す。図２の例では、キーワードと、当該キーワードのデータが含まれるページ番号とが格納されている。ページ番号は、例えばマニュアル等のページ番号であり、ひとつのキーワードに対して複数のページ番号が格納される場合もある。本実施の形態では、キーワードリスト格納部１１５に格納されているキーワードがあいまい検索の検索対象となる。
【００１６】
次に、図３乃至図７を用いて、検索装置１の動作を説明する。まず、検索長を算出する処理について説明する。この処理は、キーワードリスト格納部１１５に格納されているデータの内容が変更された場合（例えばキーワードリスト格納部１１５に新たにキーワードが追加された場合や、一部のキーワードが削除された場合）等に行われる。すなわち、この処理はあいまい検索とは非同期で行われる処理であり、あいまい検索を実行する前に予め行われる前処理である。
【００１７】
まず、リスト解析部１１における文節数算出部１１２１は、文節数算出処理を実施する（図３：ステップＳ１）。文節数算出処理については、図４乃至図６を用いて説明する。まず、文節数算出部１１２１は、キーワードリスト格納部１１５から未処理のキーワードを１つ特定する（図４：ステップＳ１１）。そして、文節数算出部１１２１は、ステップＳ１１において特定されたキーワードの擬似文節数を算出し、当該キーワードと当該文節数とを対応付けて文節数格納部１１３に格納する（ステップＳ１３）。
【００１８】
ここで、擬似文節について説明する。本実施の形態では、文字種がひらがなからひらがな以外に変わる位置で区切りを設定することにより、キーワードを複数の単位に分割しており、この単位のことを「擬似文節」と呼ぶ。例えば「電話帳お預かりサービス」というキーワードであれば、「電話帳お」、「預かり」及び「サービス」という３つの擬似文節に分割する。なお、このような分割方法は、形態素解析の前処理等においても行われている一般的な方法である。
【００１９】
図５に、文節数格納部１１３に格納されているデータの一例を示す。図５の例では、キーワードと、当該キーワードの擬似文節数とが格納されている。
【００２０】
なお、文節数格納部１１３には、図５に示したようなデータではなく、図６に示したように、擬似文節数毎にキーワード数を格納するようにしてもよい。すなわち、ステップＳ１３において擬似文節数を算出した際にキーワードと擬似文節数を対応付けて格納するのではなく、当該擬似文節数に対応するキーワード数を１インクリメントするようにしてもよい。
【００２１】
図４の説明に戻り、文節数算出部１１２１は、キーワードリスト格納部１１５に未処理のキーワードが有るか判断する（ステップＳ１５）。未処理のキーワードが有ると判断された場合（ステップＳ１５：Ｙｅｓルート）、次のキーワードについて処理するため、ステップＳ１１の処理に戻る。一方、未処理のキーワードが無いと判断された場合（ステップＳ１５：Ｎｏルート）、元の処理に戻る。
【００２２】
このような処理を実施することにより、検索対象となるキーワードについて予め擬似文節数を算出することができるようになる。
【００２３】
図３の説明に戻り、検索長算出部１１２２は、検索長算出処理を実施する（ステップＳ３）。検索長算出処理については、図７を用いて説明する。まず、検索長算出部１１２２は、文節数格納部１１３（図５）に格納されているデータを擬似文節数をキーにして昇順にソートする（図７：ステップＳ２１）。なお、文節数格納部１１３に図６に示したようなデータが格納されている場合には、ステップＳ２１の処理をスキップしてもよい。
【００２４】
そして、検索長算出部１１２２は、設定値格納部１１１から検索精度分位数を読み出し、（キーワードリスト格納部１１５に格納されているキーワードの総数）＊（検索精度分位数）／１００の整数部分であるＪを算出する（ステップＳ２３）。検索精度分位数は、０〜１００までのいずれかの整数値であり、検索精度分位数が大きいほどより多くのキーワードが検索対象となる。検索精度分位数は、例えば検索装置１の処理性能（例えばプロセッサの処理性能）等に応じて決定される。
【００２５】
そして、検索長算出部１１２２は、文節数格納部１１３（図５）に格納されているキーワードのうちＪ番目のキーワードの擬似分節数を検索長ｎに決定し、検索長格納部１１４に格納する（ステップＳ２５）。なお、文節数格納部１１３に格納されているデータが図６に示すようなデータである場合には、文節数の小さい方から順にキーワード数を加算していきＪに達した際の文節数を検索長ｎとする。そして元の処理に戻る。
【００２６】
ステップＳ２３及びＳ２５の処理について具体例を挙げる。例えば、検索精度分位数が８０、キーワードリスト格納部１１５に格納されているキーワードの総数が１５０、擬似文節数が１であるキーワードの数が１１０、擬似文節数が２であるキーワードの数が３０、擬似文節数が３であるキーワードの数が１０、擬似文節数が４以上であるキーワードの数は０であるとする。この場合、１５０＊８０／１００＝１２０であるからＪ＝１２０となるので、１２０番目のキーワードの文節数（１１０＜１２０＜１１０＋３０より文節数は２）を検索長ｎとする。
【００２７】
以上のような処理を実施することにより、キーワードリスト格納部１１５に格納されているキーワードの文節数に応じて、検索長（検索キーワードの擬似文節数）を予め決定しておくことができる。
【００２８】
次に、図８乃至図１７を用いて、あいまい検索の実行時に行われる処理について説明する。なお、この処理に先立って、インデックス生成部１１６は、キーワードリスト格納部１１５に格納されているデータに対してデータの変換処理（例えばバイナリデータへの変換）や付加情報を追加する処理等を行ってインデックスファイルを生成し、インデックス格納部１１７に格納する。
【００２９】
まず、キーワード抽出部１２は、区切り解析処理を実施する（図８：ステップＳ３１）。区切り解析処理については、図９及び図１０を用いて説明する。まず、入力部１２０１は、ユーザから入力文のデータの入力を受け付け、入力データ格納部１２０２に格納する（図９：ステップＳ４１）。ここでは、「ミアボコかんたんサーチは携帯電話からのエリヤ検索のみ可能である。」というデータの入力を受け付けたものとする。
【００３０】
そして、区切り解析部１２０３は、入力データ格納部１２０２に格納されている入力文のデータを用いて、入力文の先頭文字を特定する（ステップＳ４３）。また、区切り解析部１２０３は、ステップＳ４３又は後で説明するステップＳ５３において特定された文字（以下、処理対象の文字と呼ぶ）の文字種（例えばひらがな、カタカナ、漢字等）を特定し、特定された文字種を解析データ格納部１２０４に登録する（ステップＳ４５）。
【００３１】
図１０に、解析データ格納部１２０４に格納されているデータの一例を示す。図１０の例では、入力文における文字の各々に対応付けて、文字種と、区切りフラグと、位置フラグとが格納されるようになっている。なお、ステップＳ４５の時点では、位置フラグは登録されていない。
【００３２】
図９の説明に戻り、区切り解析部１２０３は、処理対象の文字が区切り位置に該当するかを判断する（ステップＳ４７）。ステップＳ４７においては、「先頭文字である場合」、「処理対象の文字の文字種がひらがな以外であり且つその１つ前の文字の文字種がひらがなである場合」又は「所定の記号（例えば「、」又は「。」）である場合」に区切り位置に該当すると判断する。
【００３３】
そして、処理対象の文字が区切り位置に該当すると判断された場合（ステップＳ４７：Ｙｅｓルート）、区切り解析部１２０３は、処理対象の文字に対応付けて区切りフラグを解析データ格納部１２０４に登録する（ステップＳ４９）。
【００３４】
一方、処理対象の文字が区切り位置に該当しないと判断された場合（ステップＳ４７：Ｎｏルート）、区切り解析部１２０３は、処理対象の文字の次の文字が有るか判断する（ステップＳ５１）。処理対象の文字の次の文字が有ると判断された場合（ステップＳ５１：Ｙｅｓルート）、区切り解析部１２０３は、次の文字を特定し（ステップＳ５３）、ステップＳ４３の処理に戻る。一方、処理対象の文字の次の文字が無いと判断された場合（ステップＳ５１：Ｎｏルート）、区切りフラグを「文末」に対応付けて解析データ格納部１２０４に登録し、元の処理に戻る。
【００３５】
以上のような処理を実施することにより、入力文を擬似文節に分割することができるようになる。
【００３６】
図８の説明に戻り、位置設定部１２０５は、位置設定処理を実施する（ステップＳ３３）。位置設定処理については、図１１及び図１２を用いて説明する。まず、位置設定部１２０５は、変数ｉをｉ＝１に設定する（図１１：ステップＳ６１）。
【００３７】
そして、位置設定部１２０５は、入力文の先頭からｉ番目の区切り位置に該当する文字に対応付けて位置フラグを解析データ格納部１２０４に登録する（ステップＳ６３）。
【００３８】
図１２に、ステップＳ６３の処理が行われた後に解析データ格納部１２０４に格納されているデータの一例を示す。図１２の例では、図１０の例で示したようなデータに加えて、位置フラグが格納されるようになっている。本実施の形態では、このような位置フラグを設定することにより、入力文のうち検索キーワードに用いる部分を決定する。図１２の例の場合には、「ミアボコかんたんサーチは」という語句が検索キーワードとなる。
【００３９】
図１１の説明に戻り、位置設定部１２０５は、ｉを１インクリメントする（ステップＳ６５）。そして、位置設定部１２０５は、ｉ＜ｎ＋１であるか判断する（ステップＳ６７）。ここで、ｎは検索長格納部１１４に格納されている検索長である。ｉ＜ｎ＋１であると判断された場合（ステップＳ６７：Ｙｅｓルート）、次の区切り位置について処理するため、ステップＳ６３に戻る。一方、ｉ＜ｎ＋１ではないと判断された場合（ステップＳ６７：Ｎｏルート）、元の処理に戻る。
【００４０】
以上のような処理を実施することにより、予め算出された検索長（すなわち擬似文節数）を有する検索キーワードを生成することができるようになる。
【００４１】
図８の説明に戻り、キーワード抽出部１２は、キーワード抽出処理を実施する（ステップＳ３５）。キーワード抽出処理については、図１３を用いて説明する。まず、あいまい検索部１２０６は、解析データ格納部１２０５から検索キーワードを読み出す。そして、あいまい検索部１２０６は、読み出された検索キーワードを用いて、インデックス格納部１１７に格納されているデータを検索対象としてあいまい検索を実行し、実行結果として得られるキーワードをキーワード候補格納部１２０７に格納する（図１３：ステップＳ７１）。なお、ステップＳ７１において実行されるあいまい検索は従来のものと同じであるので、ここでは詳しくは述べない。
【００４２】
そして、スコア算出部１２０８は、キーワード候補格納部１２０７から未処理のキーワード候補（以下、処理対象のキーワード候補と呼ぶ）を１つ特定する（ステップＳ７３）。また、スコア算出部１２０８は、処理対象のキーワード候補に含まれる文字と検索キーワードに含まれる文字との対応付けを実行して対応付けデータを生成し、対応付けデータ格納部１２０９に格納する（ステップＳ７５）。
【００４３】
図１４に、対応付けデータ格納部１２０９に格納されているデータの一例を示す。図１４の例では、擬似文節内位置を示す数値と、検索キーワードと、キーワード候補とが格納されるようになっている。図１４は、「ミアボコかんたんサーチは」という検索キーワードに含まれる文字と「イマボコサーチ」というキーワード候補に含まれる文字との対応付けを行った例である。この例では、検索キーワードの１番目の擬似文節「ミアボコかんたん」において擬似文節の末尾から５番目及び６番目の文字がキーワード候補における「ボコ」と一致しており、検索キーワードの２番目の擬似文節「サーチは」において擬似文節の末尾から２乃至４番目の文字がキーワード候補における「サーチ」と一致している。
【００４４】
なお、ステップＳ７１におけるあいまい検索の処理において、検索キーワードに含まれる何文字目の文字とキーワード候補に含まれる何文字目の文字とが一致しているかを示すデータ（例えば図１５に示すようなデータ）が得られる場合もある。このような場合には、スコア算出部１２０８は当該データをあいまい検索部１２０６から取得し、当該データを利用して対応付けデータを生成するようにしてもよい。
【００４５】
図１３の説明に戻り、スコア算出部１２０８は、対応付けデータ格納部１２０９に格納されているデータを用いて処理対象のキーワード候補に含まれる擬似文節の各々についてスコアＳkを算出し、スコア格納部１２１０に格納する（ステップＳ７７）。ステップＳ７７においては、例えば以下のような式によりスコアを計算する。
【００４６】
【数１】
0005648455.tif 000002
【００４７】
ここで、ｋは検索キーワードにおいて何番目の擬似文節であるかを表す数値であり、ｐは擬似文節内位置を表す数値であり、Ｎkは擬似文節内位置の値のうち最大値である。また、Ｃpは、文字が一致しない場合には「０」であり、文字が一致する場合にはその前後において連続して一致する文字の数である。
【００４８】
例えば、図１４に示したデータを用いてスコアを計算する場合、１番目の擬似文節のスコアは８0＋７0＋６2＋５2＋４0＋３0＋２0＋１0＝６７であり、２番目の擬似文節のスコアは４3＋３3＋２3＋１0＝１００である。
【００４９】
図１６に、スコア格納部１２１０に格納されているデータの一例を示す。図１６の例では、キーワード候補の列と、１番目の擬似文節のスコアの列と、２番目の擬似文節のスコアの列とが含まれる。なお、図１６の例では２番目の擬似文節までしかスコアを求めていないが、検索キーワードの擬似文節の数が３以上である場合には第３番目以降の擬似文節についてもスコアを算出する。
【００５０】
図１４の説明に戻り、スコア算出部１２０８は、キーワード候補格納部１２０７に未処理のキーワード候補が有るか判断する（ステップＳ７９）。未処理のキーワード候補が有ると判断された場合（ステップＳ７９：Ｙｅｓルート）、次のキーワード候補について処理するため、ステップＳ７３の処理に戻る。
【００５１】
一方、未処理のキーワード候補が無いと判断された場合（ステップＳ７９：Ｎｏルート）、出力部１２１１は、スコア格納部１２１０に格納されているキーワード候補のうち、１番目の擬似文節のスコアが最も高いキーワード候補を抽出し、当該キーワード候補を含む表示データを表示装置に表示する（ステップＳ８１）。そして、元の処理に戻った後、処理は終了する。
【００５２】
なお、スコアが最も高いキーワード候補だけではなく、例えばスコアが所定の閾値以上であるキーワード候補を抽出するようにしてもよい。また、１番目の擬似文節のスコアではなく、２番目以降の擬似文節のスコアを比較するようにしてもよいし、複数の擬似文節のスコアを用いて全体のスコアを計算する（例えばスコアの総和を求める）ようにしてもよい。
【００５３】
図１７を用いて、本実施の形態に係る検索方法の効果について説明する。図１７の例は、ユーザが「電話を転送するサービス」というデータを入力した場合における、従来のあいまい検索（ここでは、入力されたデータをそのまま検索キーワードとする方法）による検索結果と、本実施の形態に係る検索方法による検索結果とを比較したものである。図１７における左側の表が、従来のあいまい検索による検索結果である。一方、右側の表が、本実施の形態に係る検索方法による検索結果であり、１番目の擬似文節のスコアと、２番目の擬似文節のスコアと、３番目の擬似文節のスコアとが含まれる。なお、ここでは１番目の擬似文節のスコアが高いほど順位が上であるとする。
【００５４】
図１７の例では、ユーザが得るべき正解のキーワードは「転送電話サービス」であるが、従来のあいまい検索の場合、順位が最も上であるキーワード候補は「電送サービス」である。一方、本実施の形態に係る検索方法であれば、「電送サービス」というキーワード候補は順位が３位であり、「転送電話サービス」というキーワード候補の順位が１位となる。このように、検索キーワードの擬似文節の数をキーワードリストに応じて決定することで、意図しないキーワードが得られてしまう可能性を低くすることができるようになっている。すなわち、本実施の形態に係る検索方法によれば、あいまい検索の検索精度を向上させることができるようになる。
【００５５】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明した検索装置１の機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
【００５６】
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００５７】
なお、図１に示したスタンドアローン型のシステムは、一例であって、例えばクライアントサーバ型で実施するようにしても良い。
【００５８】
また、上で述べた例では、検索精度分位数として０から１００までのいずれかの整数を与えることにより、キーワードリスト格納部１１５に格納されているキーワードのうち（検索精度分位数）％のキーワードが検索対象となるようにしている。このようにするのではなく、例えば検索精度分位数としてＪそのもの（すなわち、キーワードの絶対数）を与えることにより、検索対象となるキーワードを決定するようにしてもよい。
【００５９】
なお、上で述べた管理サーバ１４及び顧客ＰＣ６は、コンピュータ装置であって、図１８に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００６０】
なお、図１に示した各処理部は、ＣＰＵ２５０３及びプログラムの組み合わせ、すなわち、ＣＰＵ２５０３がプログラムを実行することにより実現してもよい。より具体的には、ＣＰＵ２５０３は、ＨＤＤ２５０５又はメモリ２５０１に記憶されたプログラムに従った動作を行うことで、上で述べたような処理部として機能してもよい。また、図１に示した各データ格納部は、図１８におけるメモリ２５０１やＨＤＤ２５０５等として実現してもよい。
【００６１】
以上述べた本技術の実施の形態をまとめると以下のようになる。
【００６２】
本実施の形態に係る検索装置は、（Ａ）あいまい検索において検索対象となる複数のキーワードを格納するキーワード格納部と、（Ｂ）キーワード格納部に格納されている複数のキーワードの各々について、当該キーワードを所定のルールに従い文節に分割した場合における文節数を算出し、算出された当該文節数又は当該文節数の分布に関するデータを文節データ格納部に格納する第１算出部と、（Ｃ）文節データ格納部に格納されているデータを用いて、文節数の小さい順に出現回数を計数した場合に複数のキーワードの総数に対する当該出現回数の割合が所定割合に達した文節数又は当該出現回数が所定数に達した文節数を特定し、あいまい検索を実行する際の検索キーワードの文節数に決定する第２算出部とを有する。
【００６３】
このように検索キーワードの文節数を定めれば、意図していないキーワードがヒットすることを抑制し、また文節数が多い（すなわち文字数が多い）キーワードを取りこぼしてしまうことも抑制することができるので、検索精度を向上させることができる。
【００６４】
また、上で述べた本装置が、（Ｄ）入力キーワードを受け付けた場合、当該入力キーワードを所定のルールに従い複数の文節に分割し、当該入力キーワードの先頭に近い文節から順に、第２算出部により決定された文節数分の文節を特定し、特定された当該文節を含む検索キーワードを生成する生成部と、（Ｅ）生成部により生成された検索キーワードを用いてあいまい検索を実行し、当該あいまい検索により得られたキーワードをデータ格納部に格納する検索部とをさらに有するようにしてもよい。このようにすれば、実際に高精度の検索結果を得ることができるようになる。
【００６５】
また、上で述べた本装置が、（Ｆ）データ格納部に格納されているキーワードの各々について、当該キーワードの少なくとも一部と検索キーワードに含まれる文節の各々との類似度を算出し、算出された類似度の少なくとも一部を用いてスコアを算出し、当該キーワードと当該スコアとを対応付けてスコア格納部に格納する第３算出部と、（Ｇ）算出されたスコアが所定の条件を満たすキーワードをスコア格納部から抽出し、抽出された当該キーワードを含む検索結果のデータを出力する出力部とをさらに有するようにしてもよい。このようにすれば、検索キーワードのいずれの文節における類似度を重視するか（例えば検索キーワードの先頭に近い文節における類似度を重視する等）を考慮してスコア算出することができる。これにより、入力キーワードの特性に応じた検索結果を出力することができるようになる。
【００６６】
本実施の形態に係る検索方法は、（Ｈ）あいまい検索において検索対象となる複数のキーワードを格納するキーワード格納部に格納されている複数のキーワードの各々について、当該キーワードを所定のルールに従い文節に分割した場合における文節数を算出し、算出された当該文節数又は当該文節数の分布に関するデータを文節データ格納部に格納するステップと、（Ｉ）文節データ格納部に格納されているデータを用いて、文節数の小さい順に出現回数を計数した場合に複数のキーワードの総数に対する当該出現回数の割合が所定割合に達した文節数又は当該出現回数が所定数に達した文節数を特定し、あいまい検索を実行する際の検索キーワードの文節数に決定するステップとを含む。
【００６７】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００６８】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００６９】
（付記１）
あいまい検索において検索対象となる複数のキーワードを格納するキーワード格納部と、
前記キーワード格納部に格納されている前記複数のキーワードの各々について、当該キーワードを所定のルールに従い文節に分割した場合における文節数を算出し、算出された当該文節数又は当該文節数の分布に関するデータを文節データ格納部に格納する第１算出部と、
前記文節データ格納部に格納されているデータを用いて、文節数の小さい順に出現回数を計数した場合に前記複数のキーワードの総数に対する当該出現回数の割合が所定割合に達した文節数又は当該出現回数が所定数に達した文節数を特定し、前記あいまい検索を実行する際の検索キーワードの文節数に決定する第２算出部と、
を有する検索装置。
【００７０】
（付記２）
入力キーワードを受け付けた場合、当該入力キーワードを前記所定のルールに従い複数の文節に分割し、当該入力キーワードの先頭に近い文節から順に、前記第２算出部により決定された文節数分の文節を特定し、特定された当該文節を含む検索キーワードを生成する生成部と、
前記生成部により生成された前記検索キーワードを用いてあいまい検索を実行し、当該あいまい検索により得られたキーワードをデータ格納部に格納する検索部と、
をさらに有する付記１記載の検索装置。
【００７１】
（付記３）
前記データ格納部に格納されているキーワードの各々について、当該キーワードの少なくとも一部と前記検索キーワードに含まれる文節の各々との類似度を算出し、算出された類似度の少なくとも一部を用いてスコアを算出し、当該キーワードと当該スコアとを対応付けてスコア格納部に格納する第３算出部と、
算出された前記スコアが所定の条件を満たすキーワードを前記スコア格納部から抽出し、抽出された当該キーワードを含む検索結果のデータを出力する出力部と、
をさらに有する付記２記載の検索装置。
【００７２】
（付記４）
あいまい検索において検索対象となる複数のキーワードを格納するキーワード格納部に格納されている前記複数のキーワードの各々について、当該キーワードを所定のルールに従い文節に分割した場合における文節数を算出し、算出された当該文節数又は当該文節数の分布に関するデータを文節データ格納部に格納するステップと、
前記文節データ格納部に格納されているデータを用いて、文節数の小さい順に出現回数を計数した場合に前記複数のキーワードの総数に対する当該出現回数の割合が所定割合に達した文節数又は当該出現回数が所定数に達した文節数を特定し、前記あいまい検索を実行する際の検索キーワードの文節数に決定するステップと、
を含み、コンピュータにより実行される検索方法。
【００７３】
（付記５）
あいまい検索において検索対象となる複数のキーワードを格納するキーワード格納部に格納されている前記複数のキーワードの各々について、当該キーワードを所定のルールに従い文節に分割した場合における文節数を算出し、算出された当該文節数又は当該文節数の分布に関するデータを文節データ格納部に格納するステップと、
前記文節データ格納部に格納されているデータを用いて、文節数の小さい順に出現回数を計数した場合に前記複数のキーワードの総数に対する当該出現回数の割合が所定割合に達した文節数又は当該出現回数が所定数に達した文節数を特定し、前記あいまい検索を実行する際の検索キーワードの文節数に決定するステップと、
を、コンピュータに実行させるための検索プログラム。
【符号の説明】
【００７４】
１  検索装置    １１  リスト解析部
１２  キーワード抽出部    １１１  設定値格納部
１１２  算出部    １１２１  文節数算出部
１１２２  検索長算出部    １１３  文節数格納部
１１４  検索長格納部    １１５  キーワードリスト格納部
１１６  インデックス生成部    １１７  インデックス格納部
１２０１  入力部    １２０２  入力データ格納部
１２０３  区切り解析部    １２０４  解析データ格納部
１２０５  位置設定部    １２０６  あいまい検索部
１２０７  キーワード候補格納部    １２０８  スコア算出部
１２０９  対応付けデータ格納部    １２１０  スコア格納部
１２１１  出力部
【図１】
0005648455.tif 000003
【図２】
0005648455.tif 000004
【図３】
0005648455.tif 000005
【図４】
0005648455.tif 000006
【図５】
0005648455.tif 000007
【図６】
0005648455.tif 000008
【図７】
0005648455.tif 000009
【図８】
0005648455.tif 000010
【図９】
0005648455.tif 000011
【図１０】
0005648455.tif 000012
【図１１】
0005648455.tif 000013
【図１２】
0005648455.tif 000014
【図１３】
0005648455.tif 000015
【図１４】
0005648455.tif 000016
【図１５】
0005648455.tif 000017
【図１６】
0005648455.tif 000018
【図１７】
0005648455.tif 000019
【図１８】
0005648455.tif 000020