(57)【要約】【課題】問合せの文字列に基づいてデータベースを検索し、データベースから得られる検索結果を出力する検索システムで、検索速度とヒット率とを高める。【解決手段】問合せの文字列に対する検索結果を問合せログとして更新しながら複数記録する、自然言語データベース（ＤＢ）23より高速にアクセス可能なデータキャッシュ記録部32と、このデータキャッシュ記録部32に記録される問合せログを上記ＤＢ23より優先して検索し、検索結果を取得する問合せ実行部31と、予め用意された問合せの文字列に対する検索結果を問合せログとして不揮発的に複数記録する問合せログ記録部35と、この問合せログ記録部35に記録させた複数の問合せログをデータキャッシュ記録部32に転送して記録設定させる問合せ解析部34とを有する。【選択図】      図１
2006018450.tif 000002
【特許請求の範囲】
【請求項１】
問合せの文字列に基づいてデータベースを検索し、データベースから得られる検索結果を出力する検索システムであって、
問合せの文字列に対する検索結果を検索ログとして更新しながら複数記録する、上記データベースより高速にアクセス可能なキャッシュ記録手段と、
このキャッシュ記録手段に記録される検索ログを上記データベースより優先して検索し、検索結果を取得する検索実行手段と、
この検索実行手段で得られる問合せの文字列に対する検索結果を検索ログとして不揮発的に複数記録するログ蓄積手段と、
所定のタイミングで上記ログ蓄積手段に記録させていた複数の検索ログを上記キャッシュ記録手段に転送して記録設定させる転送手段と
を有したことを特徴とする検索システム。
【請求項２】
上記ログ蓄積手段は、種類の異なるそれぞれ複数の検索ログを記録し、
上記転送手段は、現在の時刻、曜日及び日付の少なくとも１つに対応した所定のタイミングで上記ログ蓄積手段に記録させていた特定の種類の複数の検索ログを上記キャッシュ記録手段に転送して記録設定させる
ことを特徴とする請求項１記載の検索システム。
【請求項３】
データベースと、このデータベースより高速にアクセス可能で、問合せの文字列に対する検索結果を検索ログとして更新しながら複数記録するキャッシュ記録部とを有し、このキャッシュ記録部を上記データベースより優先して問合せの文字列に対する検索を実行し、検索結果を取得する検索システムのコンピュータが実行するプログラムであって、
検索の実行で得られる問合せの文字列に対する検索結果を検索ログとして不揮発的に複数記録させるログ蓄積ステップと、
所定のタイミングで上記ログ蓄積ステップで記録させた複数の検索ログを上記キャッシュ記録部に転送して記録設定させる転送ステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に複数のデータベースを並列的に検索処理して問合せの文字列に対応する文書等を検索するシステムに好適な検索システム及びプログラムに関する。
【背景技術】
【０００２】
従来、一般的に検索システムでは、頻繁に検索されるデータをより高速に読出せるようにデータキャッシュに保存し、このデータキャッシュを用いた検索を優先することで、検索速度の向上を図っている。（例えば、特許文献１）
【特許文献１】特開平１０−２４０７６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記データキャッシュは直前の検索結果に大きく影響を受け、特に一旦動作を停止するような検索サーバ装置などでは、起動直後にはデータキャッシュ記録部の内容がクリアされているためにその効果を充分に発揮することができない。
【０００４】
この点を補うべく、サーバ装置の停止する際にデータキャッシュの内容をディスク装置等に一旦保存しておき、次の起動時に保存しておいた内容をデータキャッシュに読出して復旧する方法も考えられるが、この方法でもサーバ装置を停止する直前の検索結果に大きく影響を受ける点は上記と同様であり、停止直前に実行した検索と同様の問合せに対してしか効果が出ない。
【０００５】
本発明は上記のような実情に鑑みてなされたもので、その目的とするところは、装置の運転状態等の影響を受けず、常にヒット率と検索速度を高め、効率的にデータ検索を行なうことが可能な検索システム及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
請求項１記載の発明は、問合せの文字列に基づいてデータベースを検索し、データベースから得られる検索結果を出力する検索システムであって、問合せの文字列に対する検索結果を検索ログとして更新しながら複数記録する、上記データベースより高速にアクセス可能なキャッシュ記録手段と、このキャッシュ記録手段に記録される検索ログを上記データベースより優先して検索し、検索結果を取得する検索実行手段と、この検索実行手段で得られる問合せの文字列に対する検索結果を検索ログとして不揮発的に複数記録するログ蓄積手段と、所定のタイミングで上記ログ蓄積手段に記録させていた複数の検索ログを上記キャッシュ記録手段に転送して記録設定させる転送手段とを有したことを特徴とする。
【０００７】
請求項２記載の発明は、上記請求項１記載の発明において、上記ログ蓄積手段は、種類の異なるそれぞれ複数の検索ログを記録し、上記転送手段は、現在の時刻、曜日及び日付の少なくとも１つに対応した所定のタイミングで上記ログ蓄積手段に記録させていた特定の種類の複数の検索ログを上記キャッシュ記録手段に転送して記録設定させることを特徴とする。
【０００８】
請求項３記載の発明は、データベースと、このデータベースより高速にアクセス可能で、問合せの文字列に対する検索結果を検索ログとして更新しながら複数記録するキャッシュ記録部とを有し、このキャッシュ記録部を上記データベースより優先して問合せの文字列に対する検索を実行し、検索結果を取得する検索システムのコンピュータが実行するプログラムであって、検索の実行で得られる問合せの文字列に対する検索結果を検索ログとして不揮発的に複数記録させるログ蓄積ステップと、所定のタイミングで上記ログ蓄積ステップで記録させた複数の検索ログを上記キャッシュ記録部に転送して記録設定させる転送ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【０００９】
請求項１記載の発明によれば、キャッシュ記録の内容を所定のタイミングで検索実行手段で得られる複数の検索ログに任意で書換えることができるため、問合せの頻度が高い検索ログを予め複数用意しておくことで、例えば装置の起動直後からヒット率と検索速度を高い状態で維持し、効率的にデータ検索を実行することができる。
【００１０】
請求項２記載の発明によれば、上記請求項１記載の効果に加えて、例えば特定の時間帯や曜日、日付などの時間的な要素に応じて種類の異なるそれぞれ複数の検索ログの中から任意のものを優先して順次キャッシュ記録に書換えるようにすれば、システムの運用状況に対応して、より効率的にデータ検索を実行することができる。
【００１１】
請求項３記載の発明によれば、キャッシュ記録の内容を所定のタイミングで予め用意していた複数の検索ログに任意で書換えることができるため、問合せの頻度が高い検索ログを予め複数用意しておくことで、例えば装置の起動直後からヒット率と検索速度を高い状態で維持し、効率的にデータ検索を実行させることができる。
【発明を実施するための最良の形態】
【００１２】
以下本発明を構内ＬＡＮを用いた自然言語検索システムに適用した実施の一形態について図面を参照して説明する。
【００１３】
図１は、システム全体の構成を示すものであり、構内ＬＡＮ１１を介して、多数のパーソナルコンピュータでなるクライアント機１２，１２，‥‥とサーバ機１３とがネットワーク接続されて、この自然言語検索システムが構成される。
【００１４】
サーバ機１３は、検索高速化部２１と複数の自然言語検索サーバ部２２，２２，‥‥とを有する。これら複数の自然言語検索サーバ部２２，２２，‥‥に対してそれぞれハードディスク装置でなる自然言語データベース（ＤＢ）２３，２３，‥‥が１：１に対応して接続される。
【００１５】
上記各自然言語データベース２３は、それぞれ予め設定された種類に応じた文書を多数記録したもので、例えばある自然言語データベース２３が種類「ニュース」と「統計」に関する文書を、また、ある自然言語データベース２３が種類「特許情報」と「技術情報」に関する文書を、さらに他の自然言語データベース２３が「営業情報」「業界情報」「週報」‥‥に関する文書を、というように、異なる種類の自然言語で記述された文書をそれぞれ記録してなる。
【００１６】
各自然言語検索サーバ部２２は、問合せに対する検索を実行する問合せ実行部３１とデータキャッシュ記録部３２を備える。データキャッシュ記録部３２は、ハードディスク装置でなる自然言語データベース２３に比して容量は小さいものの、書込みと読み出しのアクセス速度が充分高い半導体メモリで構成される。
【００１７】
データキャッシュ記録部３２に問合せログが記録されていない状態では、問合せ実行部３１は検索高速化部２１から送られてきた問合せで対応する自然言語データベース２３を検索し、その検索結果を検索高速化部２１へ返す。このとき、問合せ実行部３１は、同時に検索で該当したデータベース２３の名前と文書の一部分をデータキャッシュ記録部３２に蓄える。
【００１８】
検索高速化部２１は、問合せ蓄積部３３と問合せ解析部３４とで問合せログ記録部３５を共有接続するようにして構成される。これら問合せ蓄積部３３と問合せ解析部３４はいずれも、上記自然言語検索サーバ部２２，２２，‥‥の各問合せ実行部３１と接続される。問合せログ記録部３５は、例えばハードディスク装置で構成され、問合せ蓄積部３３により随時検索の結果により得られる後述する問合せログ（検索ログ）を記録する。
【００１９】
次に上記実施の形態の動作について説明する。
【００２０】
図２は、主として検索高速化部２１の問合せ蓄積部３３が実行する問合せログの作成に関する処理内容を示すものである。
【００２１】
その当初に問合せ蓄積部３３は、構内ＬＡＮ１１を介してクライアント機１２，１２，‥‥のいずれかから問合せがあるのを待機する（ステップＡ０１）。  
しかして問合せがあった時点でこれを判断し、まずその問合せを問合せログ記録部３５に問合せの合った時刻情報と共に記録した後に（ステップＡ０２）、自然言語検索サーバ部２２，２２，‥‥の各問合せ実行部３１に送出して検索を実行させる（ステップＡ０３）。
【００２２】
これを受けた各自然言語検索サーバ部２２の問合せ実行部３１は、送られてきた問合せを用いてデータキャッシュ記録部３２及び自然言語データベース２３を検索し、その結果を問合せ蓄積部３３に送り返す。
【００２３】
このとき各問合せ実行部３１は、データキャッシュ記録部３２を優先して先に検索を行ない、データキャッシュ記録部３２に該当するものがない場合に続いて自然言語データベース２３を検索するもので、該当する文書があった場合には、そのデータベースの名前（種類）、文書番号、及び文書の一部を検索高速化部２１の問合せ蓄積部３３に送り返すと共に、データキャッシュ記録部３２に記録させる。
【００２４】
自然言語検索サーバ部２２，２２，‥‥の各問合せ実行部３１からの検索結果を受けた問合せ蓄積部３３は、その検索結果を該当するクライアント機１２に送り返すと共に、検索結果からデータベースの名前（種類）、文書番号、と文書の適合の度合いを示すスコアを取出す（ステップＡ０４）。
【００２５】
次いで自然言語でなる問合せを形態素解析し、主要単語を抽出する（ステップＡ０５）。この抽出した主要単語を用いて問合せログ記録部３５を参照し、同様の問合せが過去にあったか否かを判断する（ステップＡ０６）。
【００２６】
ここで、同様の問合せが過去にもあった場合には、すでに問合せログ記録部３５に記録されているその該当した問合せログの頻度情報を「＋１」更新設定し（ステップＡ０７）、以上で問合せ蓄積部３３による一連の問合せログの作成に係る処理を終了して、次の問合せに備えるべく上記ステップＡ０１からの処理に戻る。
【００２７】
また、上記ステップＡ０６で同様の問合せが過去になかったと判断した場合には、抽出した主要な単語と上記ステップＡ０４で取り出したデータベースの名前（種類）、文書番号、スコアと、上記ステップＡ０２で記録した問合せのあった時刻情報、及び頻度情報「１」を組み合わせて新規の問合せログを作成し、問合せログ記録部３５に記録する（ステップＡ０８）。以上でこの問合せ蓄積部３３による一連の問合せログの作成に係る処理を終了し、次の問合せに備えるべく上記ステップＡ０１からの処理に戻る。
【００２８】
図３は、上記のようにして問合せログ記録部３５に記録された問合せログの内容の一例を示すものである。  
例えば「日本の総理大臣はだれですか」という問合せに対しては、種類「ニュース」の自然言語データベース２３に記録されている「文書♯１」「文書♯４」の文書がヒットし、且つそのスコアがそれぞれ「２３」「９０」であったこと、及び同様の問合せの中で最新のものが「２００３（年）／４（月）／１（日）  １３（時）：０２（分）：２０（秒）」にあったこと、及び同様の問合せが過去に通算「１８（回）」あったことがわかる。
【００２９】
次に、上記のようにして問合せログ記録部３５に記録された問合せログを用いた、主として問合せ解析部３４による転送設定の処理内容について図４を用いて説明する。
【００３０】
すなわち図４では、まず問合せ解析部３４が問合せログ記録部３５に記録された問合せログを転送するタイミングとなるのを待機する（ステップＢ０１）。
【００３１】
これは、サーバ機１３がそれまで動作が停止されていて、電源投入によりあらたに起動された場合、及び動作を継続している状態で、特に予め全自然言語検索サーバ部２２，２２，‥‥のデータキャッシュ記録部３２，３２，‥‥の内容を書換える設定を行なっていた時間となった場合にこれを判断するもので、当該タイミングとなったと判断すると、次にその時点で問合せ解析部３４が問合せログ記録部３５に記録されている全ての問合せログのデータを取出した上で（ステップＢ０２）、設定された有効期限、例えば３ヶ月を超える古いデータを一括して削除する（ステップＢ０３）。
【００３２】
次いで、時間による問合せログの種類の指定、すなわち所定の時間帯、曜日、日付等により優先的に検索するデータベースの種類の指定を行なっているか否かを判断する（ステップＢ０４）。
【００３３】
ここで、時間による種類の指定がなされていると判断した場合にのみ、上記ステップＢ０２で問合せログ記録部３５から取出し、上記ステップＢ０３での削除処理により残った問合せログのうち、指定された種類のデータベースに該当する問合せログのデータのみ、一時的にその頻度情報を一定値、例えば「＋５０」更新設定する（ステップＢ０５）。
【００３４】
その後、残る全問合せログのデータを対応する自然言語検索サーバ部２２，２２，‥‥及び自然言語データベース２３，２３，‥‥の種類毎に分類した上で（ステップＢ０６）、各データキャッシュ記録部３２，３２，‥‥の容量に合わせて分類した種類毎の問合せログのデータ、具体的には問合せと検索結果としての文書番号及びスコアとを上位のものから順次データキャッシュ記録部３２，３２，‥‥に転送して記録設定し（ステップＢ０７）、以上でこの問合せ解析部３４による一連の処理を終了して、再び次の転送タイミングとなるのを待機するべく上記ステップＢ０１からの処理に戻る。
【００３５】
このように、各自然言語検索サーバ部２２のデータキャッシュ記録部３２の内容を所定のタイミングで検索高速化部２１の問合せログ記録部３５に不揮発的に記録されている内容に基づいて書換えることができるため、問合せの頻度が高い問合せログを選択してデータキャッシュ記録部３２の内容を書換えることで、例えばサーバ機１３の起動直後からヒット率と検索速度を高い状態で維持し、効率的にデータ検索を実行することができる。
【００３６】
加えて、サーバ機１３の起動時のみならず、例えば特定の時間帯や曜日、日付などの時間的な要素に応じて種類の異なるそれぞれ複数の種類の問合せログの中から任意のものを優先的に順次キャッシュ記録に書換えるようにすれば、システムの運用状況に対応して、より効率的にデータ検索を実行することができる。
【００３７】
例えば、このサーバ機１３を運営する業務の定時中には種類「営業情報」を対象とした問合せが多く、定時後は種類「技術情報」を対象とした問合せが多い場合には、一日の定時開始時と定時終了時の２回、データキャッシュ記録部３２，３２，‥‥を記録設定し直すによって、「定時」という時間帯に対応したデータベースの種類毎の優先設定を実行し、ヒット率と検索速度を高くして効率的に検索を実行させることができる。
【００３８】
同様に、上記時間帯を曜日、あるいは日付等に変えることで、例えば金曜日には週末を控えて種類「レジャー」関連の情報の問合せが多くなるとか、毎月の２０日から２４日の間は種類「決算」関連の情報の問合せが多くなる、などといった状況にも対処することができるようになる。
【００３９】
その上、検索高速化部２１は必要に応じて問合せログ記録部３５の内容によりデータキャッシュ記録部３２の内容を書換えるだけであり、検索動作を実行する自然言語検索サーバ部２２の問合せ実行部３１を直接操作するものではないので、問合せ実行部３１によるデータキャッシュ記録部３２の制御の仕方やデータキャッシュ記録部３２の記録容量等、問合せ実行部３１の仕様に依存する必要がなく、自然言語検索サーバ部２２に対する検索高速化部２１の構築を比較的容易に実現できる。
【００４０】
なお、上記実施の形態では、複数の自然言語検索サーバ部２２，２２，‥‥とそれらに１：１で対応する自然言語データベース２３，２３，‥‥とを有するものとし、各自然言語データベース２３毎に「ニュース」と「統計」、「特許情報」と「技術情報」など種類の異なる文書を区分して記録しておくものとして説明したが、各付加して記録すれば、複数の自然言語データベース２３，２３，‥‥に種類の異なる文書が混在して記録されるものとしてもよい。
【００４１】
また、上記実施の形態では、クライアント機１２，１２，‥‥から構内ＬＡＮ１１を介して与えられる自然言語による問合せを形態素解析して主要語に分解し、自然言語で記述される表記の「揺れ」に影響されない形で問合せログを作成することができるものとした。
【００４２】
そのため、表記が微妙に異なる同じ趣旨の問合せを同じものと見なすことができ、問合せの修正精度を向上できるものであるが、形態素解析のみならず、構文解析、意味解析、文脈解析等を代わって、あるいは併用して実施することで、さらに問合せに対する正確な検索を実現できることは言うまでもない。
【００４３】
さらに、上記実施の形態は自然言語検索を行なうシステムに適用した場合について説明したが、本発明はこれに限るものではなく、一般的なキーワード検索を行なう検索システムあるいはサーバ装置に適用することも容易に可能である。
【００４４】
その他、本発明は上記実施の形態に限らず、その要旨を逸脱しない範囲内で種々変形して実施することが可能であるものとする。
【００４５】
さらに、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組合わせにより種々の発明が抽出され得る。例えば、実施の形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題の少なくとも１つが解決でき、発明の効果の欄で述べられている効果の少なくとも１つが得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施の一形態に係る検索システム全体の構成を示すブロック図。
【図２】同実施の形態に係る問合せ蓄積部による問合せログ作成時の処理内容を示すフローチャート。
【図３】同実施の形態に係る作成された問合せログの内容を例示する図。
【図４】同実施の形態に係る問合せ解析部による問合せログの転送設定の処理内容を示すフローチャート。
【符号の説明】
【００４７】
１１…構内ＬＡＮ、１２…クライアント機、１３…サーバ機、２１…検索高速化部、２２…自然言語検索サーバ部、２３…自然言語データベース、３１…問合せ実行部、３２…データキャッシュ、３３…問合せ蓄積部、３４…問合せ解析部、３５…問合せログ記録部。
【図１】
2006018450.tif 000003
【図２】
2006018450.tif 000004
【図３】
2006018450.tif 000005
【図４】
2006018450.tif 000006