(57)【特許請求の範囲】
【請求項１】
データベースに接続される検索システムであって、
入力された検索文字列から、検索結果を絞り込むための要素の集合である検索条件を生成し、該検索条件を用いて前記データベースに含まれる情報を検索する情報検索手段と、
前記入力された検索文字列から、前記情報検索手段によって生成された検索条件に比べて前記検索結果を絞り込むための要素が削減された検索条件である、削減検索条件を生成し、該削減検索条件を用いて前記データベースに含まれる情報を検索する削減検索手段と、
前記削減検索手段によって得られた検索結果を出力する出力手段と、
を備え、
前記削減検索手段は、前記入力された検索文字列の長さに基づいて削減すべき文字または単語の数を算出し、算出された数の文字または単語を該検索文字列の後方から除き、該後方の一部が除かれた文字列から前記検索条件を生成することで、前記削減検索条件を生成する、
検索システム。
【請求項２】
前記削減検索手段は、前記入力された検索文字列の長さから所定の最小検索文字数を減算することで得られた値を、予め設定された検索回数の上限で除算することによって、前記削減すべき文字または単語の数を算出する、
請求項１に記載の検索システム。
【請求項３】
前記削減検索手段は、前記情報検索手段によって検索結果が得られなかった場合に、前記削減検索条件を生成し、該削減検索条件を用いて検索する、
請求項１または２に記載の検索システム。
【請求項４】
前記削減検索手段は、前記入力された検索文字列を分解して得られた複数の前記要素のうち一部の要素を除くことで、前記削減検索条件を生成する、
請求項３に記載の検索システム。
【請求項５】
前記削減検索手段は、前記複数の要素から所定の数の要素の組み合わせを複数抽出することで、抽出されない一部の要素が削減された複数の前記削減検索条件を生成する、
請求項４に記載の検索システム。
【請求項６】
データベースに接続される検索システムであって、
入力された検索文字列から、検索結果を絞り込むための要素の集合である検索条件を生成し、該検索条件を用いて前記データベースに含まれる情報を検索する情報検索手段と、
前記情報検索手段によって検索結果が得られなかった場合に、前記入力された検索文字列を分解して得られた複数の前記要素から所定の数の要素の組み合わせを抽出することで、前記情報検索手段によって生成された検索条件に比べて前記検索結果を絞り込むための要素が削減された検索条件である、削減検索条件を生成し、該削減検索条件を用いて前記データベースに含まれる情報を検索する第一削減検索手段と、
前記第一削減検索手段によって検索結果が得られなかった場合に、前記入力された検索文字列の長さに基づいて削減すべき文字または単語の数を算出し、算出された数の文字または単語を該検索文字列の後方から除き、該後方の一部が除かれた文字列から、前記検索条件を生成することで、前記削減検索条件を生成し、該削減検索条件を用いて前記データベースに含まれる情報を検索する第二削減検索手段と、
前記第一削減検索手段または前記第二削減検索手段によって得られた検索結果を出力する出力手段と、
を備える、検索システム。
【請求項７】
前記第二削減検索手段は、前記入力された検索文字列の長さから所定の最小検索文字数を減算することで得られた値を、予め設定された検索回数の上限で除算することによって、前記削減すべき文字または単語の数を算出する、
請求項６に記載の検索システム。
【請求項８】
データベースに接続されたコンピュータが、
入力された検索文字列から、検索結果を絞り込むための要素の集合である検索条件を生成し、該検索条件を用いて前記データベースに含まれる情報を検索する情報検索と、
前記入力された検索文字列から、前記情報検索において生成された検索条件に比べて前記検索結果を絞り込むための要素が削減された検索条件である、削減検索条件を生成し、該削減検索条件を用いて前記データベースに含まれる情報を検索する削減検索と、
前記削減検索において得られた検索結果の出力と、
を実行し、
前記削減検索では、前記入力された検索文字列の長さに基づいて削減すべき文字または単語の数が算出され、算出された数の文字または単語が該検索文字列の後方から除かれ、該後方の一部が除かれた文字列から前記検索条件が生成されることで、前記削減検索条件が生成される、
検索方法。
【請求項９】
前記削減検索では、前記入力された検索文字列の長さから所定の最小検索文字数を減算することで得られた値を、予め設定された検索回数の上限で除算することによって、前記削減すべき文字または単語の数が算出される、
請求項８に記載の検索方法。
【請求項１０】
データベースに接続されたコンピュータを、
入力された検索文字列から、検索結果を絞り込むための要素の集合である検索条件を生成し、該検索条件を用いて前記データベースに含まれる情報を検索する情報検索手段と、
前記入力された検索文字列から、前記情報検索手段によって生成された検索条件に比べて前記検索結果を絞り込むための要素が削減された検索条件である、削減検索条件を生成
し、該削減検索条件を用いて前記データベースに含まれる情報を検索する削減検索手段と、
前記削減検索手段によって得られた検索結果を出力する出力手段と、
として機能させ、
前記削減検索手段は、前記入力された検索文字列の長さに基づいて削減すべき文字または単語の数を算出し、算出された数の文字または単語を該検索文字列の後方から除き、該後方の一部が除かれた文字列から前記検索条件を生成することで、前記削減検索条件を生成する、
検索プログラム。
【請求項１１】
前記削減検索手段は、前記入力された検索文字列の長さから所定の最小検索文字数を減算することで得られた値を、予め設定された検索回数の上限で除算することによって、前記削減すべき文字または単語の数を算出する、
請求項１０に記載の検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本システムは、入力された検索文字列から検索条件を生成し、情報を検索する検索システムに関する。
【背景技術】
【０００２】
従来、必要な情報に関連する階層構造を有する検索語および階層構造を有さない検索語を選択し、これらを組み合わせて検索式を作成し、全ての組み合わせについて検索式とヒット件数を蓄積して、蓄積結果から望ましい検索式と検索結果とを出力する情報の抽出方法がある（特許文献１を参照）。
【特許文献１】特開２００２−３１２３８８号公報
【非特許文献１】ｅＢａｙ  Ｉｎｃ．、ｅＢａｙ、［ｏｎｌｉｎｅ］、ｈｔｔｐ：／／ｗｗｗ．ｅｂａｙ．ｃｏｍ／
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来、ユーザによって入力された検索文字列を用いてデータの検索を行い、一致する文字列を含む情報を抽出することで、ユーザに所望の情報を提供する検索技術が用いられている。しかし、膨大な量の情報から検索によって所望の情報を得るには、適切な検索条件による絞込みを行う必要がある。このため、従来の検索方法では、検索文字列に不要な文字列が含まれているために、検索結果が得られなかったり（ノーヒット）、得られた検索結果に所望の情報が含まれなかったりといった問題が発生する。
【０００４】
ここで、ノーヒットや不必要な絞込みの原因となった語句を特定し、この語句を除いて再度検索を行えば、適切な検索結果を得ることが出来る可能性がある。しかし、コンピュータの操作に慣れていないユーザであれば、検索語句の取捨選択を行えばよいという解決方法に思い至らないことが多い。また、操作に慣れたユーザにとっても、絞込みのために多くの文字や語句が入力されている中から、何れが不要な絞込みの原因となった語句であるかを特定するのは煩雑な作業である。このため、従来の検索では、必要な情報を求めて検索を開始しても、所望の情報が検索対象のデータベース内に存在するにも拘らず、所望の情報を索出することが出来ないことがある、という問題があった。
【０００５】
上記した問題に鑑み、ユーザに検索文字列を検討させる手間をかけることなく、適切な検索結果を得ることが可能な検索システムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
本検索システムは、上記した課題を解決するために、検索結果を絞り込むための要素が削減された検索条件を用いて情報を検索することで、ユーザに検索文字列を検討させる手間をかけることなく、適切な検索結果を得ることを可能にした。
【０００７】
詳細には、本システムは、データベースに接続される検索システムであって、入力された検索文字列から、検索結果を絞り込むための要素の集合である検索条件を生成し、該検索条件を用いて前記データベースに含まれる情報を検索する情報検索手段と、前記入力された検索文字列から、前記情報検索手段によって生成された検索条件に比べて前記検索結果を絞り込むための要素が削減された検索条件である、削減検索条件を生成し、該削減検索条件を用いて前記データベースに含まれる情報を検索する削減検索手段と、前記削減検索手段によって得られた検索結果を出力する出力手段と、を備える、検索システムである。
【０００８】
本検索システムは、入力された検索文字列から検索条件を生成し、情報を検索する検索システムである。ここで、検索システムはデータベースに接続され、データベースに含まれる情報を検索するものであるが、ここでいうデータベースとは、情報が蓄積されたものをいい、所謂データベース管理システムによって管理されたデータベースのみならず、記憶装置に何らかの情報が蓄積されたもの全般を含む。
【０００９】
本検索システムは、入力された検索文字列から検索条件を生成し、情報を検索する一般的な検索を実行し、更に、前記一般的な検索において用いられた検索条件に比べて検索結果を絞り込むための要素が削減された削減検索条件を生成し、情報を検索する。ここで、削減検索条件は、検索結果を絞り込むための要素が削減されている。このため、削減検索では一般的な検索では索出されない情報を索出することが可能となる。
【００１０】
前記削減検索手段は、前記情報検索手段によって検索結果が得られなかった場合に、前記削減検索条件を生成し、該削減検索条件を用いて検索してもよい。このようにすることで、一般的な検索で検索結果を得ることが出来なかった場合に、検索結果を絞り込むための要素が多すぎたために索出されなかった情報を索出することが可能となる。
【００１１】
また、前記削減検索手段は、前記入力された検索文字列を分解して得られた複数の前記要素のうち一部の要素を除くことで、前記削減検索条件を生成してもよい。入力された検索文字列を分解するには、例えば、予め設定された区切り文字が用いられる。入力文字列を区切り文字の前後で分解することで、複数の要素が得られる。そして、得られた複数の要素のうち、一部の要素を除くことで、一般的な検索において用いられる検索条件に比べて検索結果を絞り込むための要素が削減された、削減検索条件を生成することが可能となる。
【００１２】
また、前記削減検索手段は、前記複数の要素から所定の数の要素の組み合わせを複数抽出することで、抽出されない一部の要素が削減された複数の前記削減検索条件を生成してもよい。複数の要素から所定の数の要素の組み合わせが複数抽出され、この組み合わせの検索条件を用いて検索が行われることで、複数の検索条件のパターンについての検索結果を得ることが可能となる。このようにして得られた複数パターンの検索結果は、得られた検索結果の件数順に並び替える等して活用することが出来る。
【００１３】
また、前記削減検索手段は、検索文字列の後方の一部が除かれた文字列から、前記検索条件を生成することで、前記削減検索条件を生成してもよい。このようにすることで、検索文字列が長すぎるために検索結果が得られなかった場合などに、検索文字列の後方を削除して、前方が一致する検索結果を得ることが可能となる。また、所謂自然文検索など、入力された検索文字列を文章解析して検索を行う場合にも、検索文字列の後方を削除して、前方のみを文章解析して自然文検索することで、より広範な検索結果を得ることが可能となる。
【００１４】
また、本検索システムは、データベースに接続される検索システムであって、入力された検索文字列から、検索結果を絞り込むための要素の集合である検索条件を生成し、該検索条件を用いて前記データベースに含まれる情報を検索する情報検索手段と、前記情報検索手段によって検索結果が得られなかった場合に、前記入力された検索文字列を分解して得られた複数の前記要素から所定の数の要素の組み合わせを抽出することで、前記情報検索手段によって生成された検索条件に比べて前記検索結果を絞り込むための要素が削減された検索条件である、削減検索条件を生成し、該削減検索条件を用いて前記データベースに含まれる情報を検索する第一削減検索手段と、前記第一削減検索手段によって検索結果が得られなかった場合に、検索文字列の後方の一部が除かれた文字列から、前記検索条件
を生成することで、前記削減検索条件を生成し、該削減検索条件を用いて前記データベースに含まれる情報を検索する第二削減検索手段と、前記第一削減検索手段または前記第二削減検索手段によって得られた検索結果を出力する出力手段と、を備える、検索システムであってもよい。
【００１５】
即ち、通常の検索処理によって検索結果が得られなかった場合に、上記複数の要素から所定の数の要素の組み合わせを抽出して検索を行う検索処理（第一削減検索）が実行され、この第一削減検索によっても検索結果が得られなかった場合に、検索文字列の後方の一部を除いて検索を行う検索処理（第二削減検索）が実行される。このようにすることで、段階的により広範な検索結果が得られる検索方法を試行し、ユーザに検索方法を変更して再度検索を行わせる手間をかけることなく、ユーザに検索結果を提供することが可能となる。
【００１６】
更に、上記本装置による処理は、コンピュータが実行する方法、又はコンピュータに実行させるプログラムとしても提供することが可能である。また、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録して提供してもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【００１７】
本検索システムによって、ユーザに検索文字列を検討させる手間をかけることなく、適切な検索結果を得ることが可能な検索システムを提供することが可能となる。
【発明を実施するための最良の形態】
【００１８】
検索システムの実施の形態について、図面に基づいて説明する。図１は、本実施形態における検索システムの概略構成を示す図である。検索システム１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２等の主記憶装置、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１３等の補助記憶装置、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１４、およびネットワークデバイス１９等を有するコンピュータである。
【００１９】
本実施形態における検索システム１は、ユーザに対してパーソナルコンピュータのサポート情報を提供するＷｅｂサイトに設けられる。検索システム１は、インターネット等のネットワーク５を介してユーザ端末３からのアクセスを受け、検索インターフェースをユーザ端末３に表示させるための情報をユーザ端末３へ送信する。ここで、検索インターフェースはＷｅｂサーバによってユーザに提供される。そして、検索システム１は、ユーザ端末３より送信された検索要求およびユーザ入力検索文字列を受け付け、サポート情報が蓄積された事例データベース４を検索する。ユーザは、検索システム１より送信された検索結果がユーザ端末３において表示されることで、所望のサポート情報を得ることが出来る。
【００２０】
ＨＤＤ１３には、コンピュータを管理するためのオペレーティングシステム（以下、ＯＳ）、コンピュータが有するかまたはコンピュータに接続されたデバイスを制御するためのデバイスドライバ、およびコンピュータにおいて起動されるサービス等の各種プログラムがインストールされている。本実施形態に係るコンピュータは、ＨＤＤ１３にインストールされた各種プログラム（ＯＳ、デバイスドライバ、検索プログラム等）がＲＡＭ１３に展開され、ＣＰＵ１１によって解釈、実行されることで、検索システム１として動作する。
【００２１】
図２は、本実施形態における検索システムの機能構成の概略を示す図である。図１に示したハードウェア構成を有するコンピュータは、ＣＰＵ１１が、ＲＡＭ１２に展開された各種プログラムを解釈および実行することで、情報検索部２１と、語句削減検索部２２と、文字削減検索部２３と、出力部２４と、を備える検索システム１として機能する。但し、検索システム１によって実行される各機能は、夫々個別に、または複数の機能をまとめて、専用のハードウェアによって実現されてもよい。
【００２２】
情報検索部２１は、ユーザ端末においてユーザによって入力され、ネットワーク５を介して受信されたユーザ入力検索文字列から、検索結果を絞り込むための要素の集合である検索条件を生成し、生成された検索条件を用いて事例データベース４に含まれる情報を検索する。即ち、情報検索部２１は、従来の検索処理と概略同様の検索処理を行う。
【００２３】
語句削減検索部２２は、情報検索部２１によって検索結果が得られなかった場合に、ユーザ入力検索文字列を分解して得られた複数の語句から所定の数の語句の組み合わせを抽出することで、情報検索部２１によって生成された検索条件に比べて前記検索結果を絞り込むための要素が削減された検索条件である、語句削減検索条件を生成し、生成された語句削減検索条件を用いて事例データベース４に含まれる情報を検索する。
【００２４】
文字削減検索部２３は、語句削減検索部２２によって検索結果が得られなかった場合に、ユーザ入力検索文字列の後方の一部が除かれた文字列から、文字削減検索条件を生成し、生成された文字削減検索条件を用いて事例データベース４に含まれる情報を検索する。
【００２５】
出力部２４は、情報検索部２１、語句削減検索部２２、または文字削減検索部２３によって得られた検索結果を、ネットワークデバイス１９およびネットワーク５を介してユーザ端末３へ送信する。
【００２６】
図３は、本実施形態に係る事例データベース４の概略構成を示す図である。事例データベース４には、質問内容や回答内容、ＱＡナンバー、システムＩＤ、参照日時情報等を有する事例データが蓄積される。ここで、質問内容には、ユーザが解決したい問題や遭遇した事象等がテキスト形式で含まれ、回答内容には、質問内容に対応する解決方法や事象の説明等がテキスト形式で含まれる。即ち、ユーザは、質問内容を参照することで自分が解決したい問題や遭遇した事象を見つけ、対応する回答内容を参照することで問題を解決することができる。また、ＱＡナンバーは、ユーザに対して提供される識別情報であり、システムＩＤは、システムが事例データを管理する際に使用する識別情報である。また、参照日時情報は、システム管理者やオペレータによって事例データが作成されたり内容が更新されたりした際の日時を示す情報である。
【００２７】
図４は、本実施形態における検索処理全体の流れを示すフローチャートである。本フローチャートに示された処理は、検索システム１が、ユーザ端末３においてユーザによって入力された検索文字列であるユーザ入力検索文字列を検索指示とともに受信したことを契機として開始される。
【００２８】
なお、本実施形態における検索処理では、キーワード検索、文章検索、ＱＡナンバー検索の３種類の検索が行われる。ここで、キーワード検索とは、１または複数の検索キーワードを用いて、特に検索式が指定されない場合は所謂ＡＮＤ検索を行う検索である。通常、複数の検索キーワードは、半角スペースや全角スペース等の区切り文字で区切られて入力される。文章検索とは、ユーザによって入力され、受信された自然文を解析し（解析には、例えば形態素解析が用いられる）、解析結果に従って生成された検索条件を用いて所謂自然文検索を行うものである。また、ＱＡナンバー検索とは、検索の対象となる事例データベース４内の事例データに付された識別情報であるＱＡナンバーを検索条件として検
索するものである。
【００２９】
ステップＳ１０１では、検索方式が判定される。検索システム１は、受信されたユーザ入力検索文字列を用いて検索する際の検索方式が、キーワード検索、文章検索、およびＱＡナンバー検索のうちの何れであるかを判定する。本実施形態では、ここでキーワード検索、文章検索およびＱＡナンバー検索のうちの何れが行われるかは、ユーザによる検索方式の指定に従うものとする。即ち、Ｗｅｂサーバによってユーザに提供される検索インターフェースには、キーワード検索、文章検索およびＱＡナンバー検索のうちの何れを行うかをユーザに選択させる表示があり、ユーザの選択結果が、ユーザ入力検索文字列とともにユーザ端末３から送信され、検索システム１によって受信される。検索システム１は、受信された、ユーザの選択結果に基づいて、何れの検索方式を用いて検索を行うかを決定する。検索方式がキーワード検索または文章検索であると判定された場合、処理はステップＳ１０２へ進む。検索方式がＱＡナンバー検索であると判定された場合、処理はステップＳ１１２へ進む。
【００３０】
ステップＳ１０２からステップＳ１０７では、キーワード検索または文章検索が行われる。情報検索部２１は、キーワード検索であれば区切り文字でユーザ入力検索文字列を区切ってＡＮＤ検索を行い、文章検索であればユーザ入力検索文字列の解析を行って自然文検索を行う（ステップＳ１０２）。そして、検索結果の有無を判定し（ステップＳ１０３）、検索結果が得られた場合、検索結果をユーザ端末３へ送信し、ユーザ端末３に検索結果を表示させる（ステップＳ１０４）。なお、本実施形態において、「検索結果が得られた」とは、検索によって少なくとも１件の事例データが抽出されたことをいう。検索結果が得られなかった場合、ユーザ入力検索文字列中の入力ミスと考えられる語句を正しい語句に置き換えたり、より適切と思われる語句に置き換えたりして、レコメンド検索文字列を生成し、このレコメンド検索文字列を用いて再検索を行う（ステップＳ１０５）。そして、再検索による検索結果の有無を判定し（ステップＳ１０６）、検索結果が得られた場合、検索結果をユーザ端末３へ送信し、ユーザ端末３に検索結果を表示させる（ステップＳ１０７）。検索結果が得られなかった場合、処理はステップＳ１０８へ進む。
【００３１】
ステップＳ１０８では、本実施形態に係る削減検索処理が行われる。本実施形態において、削減検索処理とは、ユーザ入力検索文字列をそのまま用いた検索において検索結果が得られなかった場合に、ユーザ入力検索文字列の一部を削除することで、新たな検索条件を作成し、再度検索を行うことをいう。検索システム１は、受信されたユーザ入力検索文字列の一部を削除し、再度検索を行う（ステップＳ１０８）。削減検索処理の詳細は後述する。その後、本フローチャートに示された処理は終了する。
【００３２】
ステップＳ１１２からステップＳ１１４では、ＱＡナンバー検索が行われる。検索システム１は、ステップＳ１０１においてＱＡナンバー検索がユーザに選択されたと判定されたことを受けて、受信されたユーザ入力検索文字列が、予め定められたＱＡナンバーのフォーマット（本実施形態では、ＱＡナンバーに使用される数字の桁数および数値の取りうる範囲）に合致するか否かを判定する（ステップＳ１１２）。ユーザ入力検索文字列がＱＡナンバーのフォーマットに合致すると判定された場合、検索システム１は、事例データベース４から、ＱＡナンバーが合致する事例データを抽出する（ステップＳ１１３）。ＱＡナンバーが合致する事例データが索出されると、合致したＱＡナンバーに係る事例データの情報をユーザ端末３へ送信し、ユーザ端末３に事例データを表示させる（ステップＳ１１４）。ＱＡナンバーが合致する事例データが索出されなかった場合、検索結果が得られなかった旨をユーザに伝えるためのノーヒット画面情報をユーザ端末３へ送信し、ユーザ端末３にノーヒット画面を表示させる（ステップＳ１１５）。その後、本フローチャートに示された処理は終了する。
【００３３】
ステップＳ１１６およびステップＳ１１７では、キーワード検索が行われる。情報検索部２１は、ステップＳ１１２でユーザ入力検索文字列がＱＡナンバーのフォーマットに合致しない（検索文字列が不正である）と判定された場合、ユーザ入力検索文字列を用いて通常のキーワード検索を行う（ステップＳ１１６）。ここで行われるキーワード検索は、ステップＳ１０２において行われるキーワード検索と同様のものである。そして、検索結果の有無を判定し（ステップＳ１１７）、検索結果が得られた場合、検索結果をユーザ端末３へ送信し、ユーザ端末３に検索結果を表示させる（ステップＳ１１８）。検索結果が得られなかった場合、ノーヒット画面情報をユーザ端末３へ送信し、ユーザ端末３にノーヒット画面を表示させる（ステップＳ１１５）。その後、本フローチャートに示された処理は終了する。
【００３４】
図５は、本実施形態における削減検索処理の流れを示すフローチャートである。即ち、本フローチャートは、図４のステップＳ１０８の削減検索処理の内容を示すフローチャートである。削減検索処理では、ユーザ入力検索文字列から１以上の語句を削減して検索を行う語句削減検索処理、または、ユーザ入力検索文字列から１以上の文字を削減して検索を行う文字削減検索処理、の何れかが選択されて実行される。
【００３５】
ステップＳ２０１では、区切り文字の有無が判定される。検索システム１は、初めに、受信されたユーザ入力検索文字列に区切り文字が含まれるか否かを判定する（ステップＳ２０１）。本実施形態では、半角スペース、全角スペース、タブ（水平タブ）、クオーテーションマーク、ダブルクオーテーションマーク、句点、読点、改行文字（ＣａｒｒｉａｇｅＲｅｔｕｒｎおよびＬｉｎｅＦｅｅｄ）、等が区切り文字として認識されるものとする。ユーザ入力検索文字列に区切り文字が含まれると判定された場合、処理はステップＳ２０２へ進む。また、区切り文字が含まれないと判定された場合、処理はステップＳ２０４へ進む。
【００３６】
ステップＳ２０２およびステップＳ２０３では、語句削減検索処理が実行され、検索結果の有無が判定される。語句削減検索部２２は、ユーザ入力検索文字列から１以上の語句を削減し、得られた文字列を新たな検索文字列（語句削減検索条件）としてキーワード検索を行う、語句削減検索処理を実行する（ステップＳ２０２）。語句削減検索処理の詳細については後述する。そして、検索結果の有無を判定し（ステップＳ２０３）、検索結果が得られた場合、検索結果をユーザ端末３へ送信し、ユーザ端末３に検索結果を表示させる（ステップＳ２０６）。検索結果が得られなかった場合、処理はステップＳ２０４へ進む。
【００３７】
ステップＳ２０４からステップＳ２０７では、文字削減検索処理が実行され、検索結果の有無が判定される。文字削減検索部２３は、ユーザ入力検索文字列から１以上の文字を削減し、得られた文字列を新たな検索文字列（文字削減検索条件）として文章検索を行う、文字削減検索処理を実行する（ステップＳ２０４）。文字削減検索処理の詳細については後述する。そして、検索結果の有無を判定し（ステップＳ２０５）、検索結果が得られた場合、検索結果をユーザ端末３へ送信し、ユーザ端末３に検索結果を表示させる（ステップＳ２０６）。検索結果が得られなかった場合、ノーヒット画面情報をユーザ端末３へ送信し、ユーザ端末３にノーヒット画面を表示させる（ステップＳ２０７）。その後、本フローチャートに示された処理は終了する。
【００３８】
図６ａおよび図６ｂは、本実施形態における語句削減検索処理の流れを示すフローチャートである。即ち、本フローチャートは、図５のステップＳ２０２の語句削減検索処理の内容を示すフローチャートである。
【００３９】
ステップＳ３０１およびステップＳ３０２では、ユーザ入力検索文字列が区切り文字で
分解され、分解後の語数が検索上限語数よりも多いか否かが判定される。語句削減検索部２２は、ユーザ入力検索文字列を、区切り文字を境に、複数の検索語句に分解する（ステップＳ３０１）。例えば、ユーザ入力検索文字列が「ＡＡ  ＢＢ  ＣＣ  ＤＤ  ＥＥ」であった場合、スペースを境に、「ＡＡ」、「ＢＢ」、「ＣＣ」、「ＤＤ」および「ＥＥ」の各検索語句に分解する。そして、語句削減検索部２２は、分解後の検索語句の語数をカウントし、カウントされた語数が予め定められた検索上限語数より多いか否かを判定する（ステップＳ３０２）。ここで、検索上限語数は、後述する一連の検索処理における負荷の大きさと、検索システム１の処理能力、ユーザに対するレスポンス等を考慮して適宜予め設定されることが好ましい。検索語句の語数が検索上限語数よりも多いと判定された場合、処理はステップＳ３０３へ進む。検索語句の語数が検索上限語数以下であると判定された場合、処理はステップＳ３０７へ進む。
【００４０】
ステップＳ３０３からステップＳ３０６では、分解後の検索語句の一部が抽出され、キーワード検索が行われる。語句削減検索部２２は、ステップＳ３０１で分解された検索語句のうち、検索上限語数分の語句を先頭から順番に抽出する（ステップＳ３０３）。例えば、検索上限語数が４に設定されており、分解された各検索語句が「ＡＡ」、「ＢＢ」、「ＣＣ」、「ＤＤ」および「ＥＥ」であった場合、先頭から４つの語句「ＡＡ」、「ＢＢ」、「ＣＣ」および「ＤＤ」が抽出される。そして、語句削減検索部２２は、抽出された検索上限語数分の語句を検索条件として、キーワード検索を行う（ステップＳ３０４）。なお、このキーワード検索においては、上述のレコメンド検索文字列を提示する処理が行われてもよい。
【００４１】
その後、検索結果の有無が判定される（ステップＳ３０５）。検索結果が得られた場合、検索システム１（出力部２４）は検索結果をユーザ端末３へ送信し、ユーザ端末３に検索結果を表示させる（ステップＳ３０６）。この際、ユーザ端末３へ送られる情報には、この検索結果は、ユーザ入力検索文字列の全部を用いた検索では検索結果が得られなかったためにユーザ入力検索文字列の一部を用いて検索を行って得られた検索結果である旨をユーザに伝達するための情報が含まれる。また、検索結果が得られなかった場合、処理はステップＳ３０７へ進む。
【００４２】
ステップＳ３０７では、検索語句の組み合わせが作成される。語句削減検索部２２は、ステップＳ３０１で分解された検索語句の数が検索上限語数以下であるとステップＳ３０２において判定された場合には、分解された全ての検索語句の中から、「検索語句の数−１」個の検索語句を抽出する場合の組み合わせを生成する。また、語句削減検索部２２は、ステップＳ３０１で分解された検索語句の数が検索上限語数よりも多いとステップＳ３０２において判定された場合には、ステップＳ３０３で抽出された検索上限語数分の検索語句の中から、「検索語句の数−１」個の検索語句を抽出する場合の全ての組み合わせを生成する。換言すると、ステップＳ３０７では、分解された検索語句から検索に使用しない語句が削除された、検索語句の組み合わせが生成される。
【００４３】
例えば、この時点で検索語句が「ＡＡ」、「ＢＢ」、「ＣＣ」および「ＤＤ」の４つである場合、これら４つの検索語句から、３（＝４−１）つの検索語句を抽出する場合の全ての組み合わせである、「ＡＡ、ＢＢおよびＣＣ」、「ＡＡ、ＢＢおよびＤＤ」、「ＡＡ、ＣＣおよびＤＤ」、「ＢＢ、ＣＣおよびＤＤ」の４組が生成される。その後、処理はステップＳ３０８へ進む。
【００４４】
但し、ステップＳ３０７に示された処理は、この後の検索で検索結果が得られなかった場合に複数回実行される。複数回目の実行時には、検索語句の中から、「検索語句の数−実行回数」個の検索語句を抽出する場合の全ての組み合わせが生成される。例えば、１回目の実行時に抽出された「検索語句の数−１」個の検索語句の組み合わせでは検索結果が
得られなかった場合、２回目の実行時に「検索語句の数−２」個の検索語句を抽出する場合の組み合わせが生成される。上記の例に拠れば、「ＡＡおよびＢＢ」、「ＡＡおよびＣＣ」、「ＡＡおよびＤＤ」、「ＢＢおよびＣＣ」、「ＢＢおよびＤＤ」、「ＣＣおよびＤＤ」の６組が生成される。
【００４５】
ステップＳ３０８からステップＳ３１０では、キーワード検索が行われる。語句削減検索部２２は、ステップＳ３０７で生成された組み合わせのうち、何れか１の組み合わせを検索条件として、通常のキーワード検索を行う（ステップＳ３０８）。ここで行われるキーワード検索は、ステップＳ１０２において行われるキーワード検索と同様のものである。そして、検索結果の有無を判定し（ステップＳ３０９）、検索結果が得られた場合、検索結果を検索結果リストへ保存する（ステップＳ３１０）。検索結果が得られなかった場合、および検索結果が得られて検索結果リストへの保存が完了した後は、処理はステップＳ３１１へ進む。
【００４６】
図７は、本実施形態における検索結果リストの概略構成を示す図である。検索結果リストには、検索条件、ヒット件数、索出された事例データの識別情報（システムＩＤまたはＱＡナンバー）が保存される。
【００４７】
ステップＳ３１１では、全ての組み合わせについてキーワード検索が終了したか否かが判定される。語句削減検索部２２は、ステップＳ３０７で生成された全ての組み合わせについて、キーワード検索が完了したか否かを判定する。全ての組み合わせについて検索が完了していない場合、処理はステップＳ３０８へ進む。即ち、ステップＳ３０８からステップＳ３１１の処理は、ステップＳ３０７で生成された全ての組み合わせについてキーワード検索が完了するまで繰り返される。先述の例によれば、ステップＳ３０７で「ＡＡ、ＢＢおよびＣＣ」、「ＡＡ、ＢＢおよびＤＤ」、「ＡＡ、ＣＣおよびＤＤ」、「ＢＢ、ＣＣおよびＤＤ」の４組の組み合わせが生成されたため、ステップＳ３０８からステップＳ３１１の処理は、これら４組の全ての組み合わせについて検索が終了するまで、繰り返される。また、この際得られた検索結果は、ステップＳ３１０において検索結果リストへ保存される。全ての組み合わせについて検索が終了すると、処理はステップＳ３１２へ進む。
【００４８】
ステップＳ３１２では、ステップＳ３０７で生成された組み合わせのうち少なくとも１組の組み合わせにおいて、検索結果が得られたか否かが判定される。語句削減検索部２２は、検索結果リストを参照し、検索結果リストに１つ以上の検索結果が保存されているか否かを判定する。検索結果が得られたと判定された場合、処理はステップＳ３１３へ進む。検索結果が得られなかったと判定された場合、処理はステップＳ３１４へ進む。
【００４９】
ステップＳ３１３では、検索結果リストから、ヒット件数が多い検索結果が抽出される。語句削減検索部２２は、検索結果リストの検索結果を、ヒット件数順に並び替え、ヒット件数が多い検索結果を、上位から予め定められた数だけ抽出する。これは、検索結果リストに検索結果が多く保存されている場合に、ヒット件数が多い検索語句の組み合わせと検索結果とをユーザに提供するための処理である。なお、検索結果リストにヒット件数が同一の検索結果が含まれる場合には、ヒット件数が同一の検索結果は、生成された組み合わせパターン順に並び替えられる。その後、本フローチャートに示された処理は終了し、検索結果がユーザ端末３へ送信される（ステップＳ２０６を参照）。
【００５０】
図８は、本実施形態においてユーザ端末３に表示される検索結果のイメージである。ステップＳ２０６で表示される検索結果には、ユーザ入力検索文字列表示９１と、ユーザ入力検索文字列を用いた検索では検索結果が得られなかった旨の表示９２と、削減検索処理に用いられた検索条件の表示９３と、ヒット件数９４と、索出された事例データの一覧９
５と、検索結果が得られた他の検索条件９６と、が含まれる。ユーザは、ユーザ端末３を操作して索出された事例データの一覧９５内の所望の事例データを選択することで、該当する事例データの全体を閲覧することが出来る。また、検索結果が得られた他の検索条件９６を選択することで、他の検索条件による検索結果を閲覧することも可能である。この際、ユーザ端末３によって送信された閲覧要求は、図示しないＷｅｂサーバによって処理される。
【００５１】
ステップＳ３１４では、組み合わせ検索の回数が最大回数を超えたか否かが判定される。語句削減検索部２２は、一連の検索処理における組み合わせ検索が行われた回数、即ち、ステップＳ３０８の検索が行われた回数をカウントし、予め定められた最大回数を超えたか否かを判定する。この処理は、ステップＳ３０８の検索が多数回実行されることによって検索システム１の負荷が過大となりレスポンスが低下することを防止するために、予め定められた最大回数を超えた場合に語句削減検索処理を終了するための処理である。組み合わせ検索の回数が最大回数を超えていないと判定された場合、処理はステップＳ３０７へ進む。組み合わせ検索の回数が最大回数を超えたと判定された場合、本フローチャートに示された処理は終了し、ノーヒット画面情報がユーザ端末３へ送信される（ステップＳ２０７を参照）。
【００５２】
図９は、本実施形態における文字削減検索処理の流れを示すフローチャートである。本フローチャートは、図５のステップＳ２０４の文字削減検索処理の内容を示すフローチャートである。
【００５３】
ステップＳ４０１では、ユーザ入力検索文字列のトリミングが行われる。文字削減検索部２３は、ユーザ入力検索文字列の前後に空白がある場合、文字列の前後における全ての空白を削除し、以降で使用されるトリミング済検索文字列を生成する。なお、ここで空白とは、半角スペース、全角スペース、タブ、改行文字をいう。例えば、ユーザ入力検索文字列が「  ＡＡ  ＢＢ  ＣＣ  ＤＤ  ＥＥ    」であった場合、前後の空白が削除され、トリミング済検索文字列「ＡＡ  ＢＢ  ＣＣ  ＤＤ  ＥＥ」が生成される。その後、処理はステップＳ４０２へ進む。
【００５４】
ステップＳ４０２では、削除文字数が算出される。文字削減検索部２３は、ステップＳ４０１において生成されたトリミング済検索文字列の文字数をカウントし、この文字数と、最小検索文字数と、最大検索回数とに基づいて、削除文字数を算出する。ここで、最小検索文字数とは、文字削減検索処理において文章検索に用いられる検索文字列が少なくとも有することが好ましい文字数であり、最大検索回数とは、検索システム１の処理能力、ユーザに対するレスポンス等を考慮して設定された、文字削減検索処理における文章検索回数の上限である。
【００５５】
即ち、削除文字数は、「トリミング済検索文字列の文字数−最小検索文字数」を、最大検索回数で除算することによって求められる。除算結果に余りが発生する場合には、除算結果の切り上げ、または切り下げ等、実施形態に応じて適宜定められた方法で、整数値の削除文字数が算出されるようにする。なお、最小検索文字数および最大検索回数には、実施の形態に応じて最適な値が予め定められる。例えば、最小検索文字数が２、最大検索回数が３に設定されており、ステップＳ４０１においてトリミング済検索文字列「ＡＡ  ＢＢ  ＣＣ  ＤＤ  ＥＥ」が生成された場合、トリミング済検索文字列の文字数は１４であるため、削除文字数は（１４−２）÷３＝４となる。その後、処理はステップＳ４０３へ進む。  
【００５６】
ステップＳ４０３では、自然文検索で用いられる検索文字列が生成される。文字削減検索部２３は、ステップＳ４０１で生成されたトリミング済検索文字列の後方から、ステッ
プＳ４０２で算出された削除文字数分の文字を削除することで、実際に自然文検索において用いられる検索文字列を生成する。上記具体例によれば、トリミング済検索文字列は「ＡＡ  ＢＢ  ＣＣ  ＤＤ  ＥＥ」であり、削除文字数は４であるため、後方の４文字が削除され、検索文字列「ＡＡ  ＢＢ  ＣＣ  Ｄ」が生成される。その後、処理はステップＳ４０４へ進む。
【００５７】
但し、ステップＳ４０３に示された処理は、この後の検索で検索結果が得られなかった場合に複数回実行される。複数回目の実行時には、前回の実行時に生成された検索文字列から、更に削除文字数分の文字を削除する。例えば、検索文字列「ＡＡ  ＢＢ  ＣＣ  Ｄ」では検索結果が得られなかった場合、更に４文字が削除されて検索文字列「ＡＡ  ＢＢ
」が生成され、検索文字列「ＡＡ  ＢＢ  」では検索結果が得られなかった場合、更に４文字が削除されて検索文字列「ＡＡ」が生成される。
【００５８】
ステップＳ４０４では、検索文字数が最小検索文字数以上であるか否かが判定される。文字削減検索部２３は、ステップＳ４０３で生成された検索文字列の文字数と最小検索文字数（上記した例においては、２）を比較し、検索文字数が最小検索文字数以上であるか否かを判定する。検索文字数が最小検索文字数以上であると判定された場合、処理はステップＳ４０５へ進む。検索文字数が最小検索文字数以上ではない（最小検索文字数未満である）と判定された場合、本フローチャートに示された処理は終了し、ノーヒット画面情報がユーザ端末３へ送信される（ステップＳ２０７を参照）。
【００５９】
ステップＳ４０５およびステップＳ４０６では、文章検索が行われる。文字削減検索部２３は、ステップＳ４０３で生成された検索文字列を用いて文章検索（自然文検索）を行う（ステップＳ４０５）。ここで行われる文章検索は、ステップＳ１０２において行われる文章検索と同様のものである。文章検索の実行後、文字削減検索部２３は検索結果が得られたか否かを判定する（ステップＳ４０６）。検索結果が得られなかったと判定された場合、処理はステップＳ４０３へ進む。即ち、ステップＳ４０３からステップＳ４０６の処理は、検索結果が得られるまで繰り返される。検索結果が得られたと判定された場合、本フローチャートに示された処理は終了し、検索結果がユーザ端末３へ送信される（ステップＳ２０６を参照）。
【００６０】
本実施形態に拠れば、ユーザ入力検索文字列に不要な語句が含まれるか、ユーザ入力検索文字列が長すぎるために、通常の検索処理によって検索結果が得られなかった場合であっても、自動的に不要な語句の除去や長すぎる検索文字列の圧縮を行って再度検索を行うことで、ユーザに検索結果を提供することが出来る。更に、ユーザ入力検索文字列から語句を削除して複数の組み合わせについて検索を行う場合（語句削減検索処理）には、最もヒット件数の多い検索結果が出力されるために、適切な絞込みが行われた検索語句による検索結果をユーザに提供することが可能である。
【００６１】
なお、本実施形態では、ユーザ入力検索文字列の一部を削除して検索を行う削減検索処理が、通常の検索において検索結果が得られなかった場合に実行される。しかし、検索結果が得られなかった場合（ノーヒット）の他、得られた検索結果が少なすぎる場合など、通常の検索ではユーザに適切な検索結果を提供することが出来ないと判断できる場合に、上記削減検索処理が行われることとしてもよい。
【００６２】
また、本実施形態では、検索文字列の後方から、削除文字数分の文字を削除することで、実際に自然文検索において用いられる検索文字列を生成することとしたが、削除の単位は文字に代えて単語（語句）であってもよいし、削除される量は文字数に代えて単語数であってもよい。この場合、検索文字列を解析（例えば、形態素解析）等することで単語に分節、単語数をカウントし、この単語数に基づいて削除単語数が算出される。より具体的
には、「カウントされた単語数−最小検索単語数」を、最大検索回数で除算することによって求めることとしてもよい。除算結果に余りが発生する場合の処理や、最小検索単語数および最大検索回数が実施の形態に応じて適宜定められるべきことは、上記ステップＳ４０２において説明した通りである。その後、トリミング済検索文字列の後方から、算出された削除単語数分の単語が削除されることで、実際に自然文検索において用いられる検索文字列が生成される。以降の処理は、図９を用いて説明した文字削減検索処理と概略同様であるため、説明を省略する。
【図面の簡単な説明】
【００６３】
【図１】実施形態における検索システムのハードウェア構成の概略を示す図である。
【図２】実施形態における検索システムの機能構成の概略を示す図である。
【図３】実施形態に係る事例データベースの概略構成を示す図である。
【図４】実施形態における検索処理全体の流れを示すフローチャートである。
【図５】実施形態における削減検索処理の流れを示すフローチャートである。
【図６ａ】実施形態における語句削減検索処理の流れを示すフローチャートａである。
【図６ｂ】実施形態における語句削減検索処理の流れを示すフローチャートｂである。
【図７】実施形態における検索結果リストの概略構成を示す図である。
【図８】実施形態においてユーザ端末に表示される検索結果のイメージである。
【図９】実施形態における文字削減検索処理の流れを示すフローチャートである。
【符号の説明】
【００６４】
１  検索システム
３  ユーザ端末
５  ネットワーク
１１  ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）
１２  ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）
１３  ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）
１４  ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）
１９  ネットワークデバイス
２１  情報検索部
２２  語句削減検索部
２３  文字削減検索部
２４  出力部
【図１】
0004900158.tif 000002
【図２】
0004900158.tif 000003
【図３】
0004900158.tif 000004
【図４】
0004900158.tif 000005
【図５】
0004900158.tif 000006
【図６ａ】
0004900158.tif 000007
【図６ｂ】
0004900158.tif 000008
【図７】
0004900158.tif 000009
【図８】
0004900158.tif 000010
【図９】
0004900158.tif 000011