(57)【要約】【課題】文書内容の具体性を考慮した検索を可能とする。【解決手段】具体語判別情報１４９には、固有名や専門用語など、具体的な文書に出てきやすい語句、乃至そのような語句（具体語と呼ぶ）を識別するための規則が含まれる。全文検索部１０４が検索した文書ごとに、具体度計算部１０８が具体語判別情報１４９を参照して当該文書から具体語を検出し、文書中でのその具体語の数又は含有率を具体度として計算する。そして、スコア計算部１０６は、各文書の検索スコアを、それら各文書の具体度を加味して計算する。検索結果出力部１１０は、検索スコアの順に文書をソートしたリストを検索結果として出力する。【選択図】図３
2005338992.tif 000002
【特許請求の範囲】
【請求項１】
検索対象の文書群の中から検索条件を満足する文書を検索し、検索した各文書の検索スコアを計算し、それら各文書を検索スコアに従って順位付けする文書検索装置であって、
文書の具体性の判断指標とする用語である具体語を判別するための判別情報を記憶した具体語判別情報記憶手段と、
検索対象の文書ごとに、該文書中での前記具体語判別情報記憶手段に登録された用語の数を求め、求めた数に基づき該文書の具体度を求める具体度計算手段と、
検索した各文書の検索スコアを、前記具体度計算手段が計算した各文書の具体度に基づき計算するスコア計算手段と、
を備える文書検索装置。
【請求項２】
前記具体語判別情報記憶手段には固有名が登録されることを特徴とする請求項１記載の文書検索装置。
【請求項３】
前記具体語判別情報記憶手段には専門用語が登録されることを特徴とする請求項１記載の文書検索装置。
【請求項４】
前記具体語判別情報記憶手段には、登録された各用語に対し、それぞれ該用語が属するカテゴリの情報が対応づけて登録され、
前記具体度計算手段は、検索の対象とする各文書についてカテゴリ別に具体度を計算し、
前記スコア計算手段は、検索条件の１項目としてカテゴリの指定を受けた場合には、検索した各文書の当該カテゴリについての具体度に基づきそれら各文書の検索スコアを計算する、
ことを特徴とする請求項１〜３のいずれか１項に記載の文書検索装置。
【請求項５】
コンピュータシステムを、検索対象の文書群の中から検索条件を満足する文書を検索し、検索した各文書の検索スコアを計算し、それら各文書を検索スコアに従って順位付けする文書検索装置として機能させるためのプログラムであって、該コンピュータシステムを、
文書の具体性の判断指標とする用語である具体語を判別するための判別情報を記憶した具体語判別情報記憶手段、
検索対象の文書ごとに、該文書中での前記具体語判別情報記憶手段に登録された用語の数を求め、求めた数に基づき該文書の具体度を求める具体度計算手段、
検索した各文書の検索スコアを、前記具体度計算手段が計算した該文書の具体度に基づき計算するスコア計算手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は文書検索に関し、特に検索結果の順位付けのための技術に関する。
【背景技術】
【０００２】
文書検索の代表的な手法としてキーワード検索があり、自然文検索や概念検索などと呼ばれる手法もこのキーワード検索の一種である。キーワード検索の場合、一般には、キーワードを多く含む文書ほど検索条件に対する適合度（検索スコア）が高くなり、高い順位に示される。また、ウェブページのキーワード検索では、キーワード数の他に、ページに対するリンクの数を考慮して検索スコアを計算する方式が成功を収めている。
【０００３】
ところが、キーワードやリンクの数を指標とするだけでは、適切な文書を検索できない場合も考えられる。
【０００４】
そこで特許文献１に示される技術では、検索された各文書の検索スコアを求める際に、検索条件から求められるキーワードのうち、固有名（固有名詞）に対する重みを大きくして計算している。固有名は、一般名詞や動詞など他の品詞の単語に比べて概念が明確であり、ユーザの意図や文書の特徴をよく示していると考えられるので、この従来方式によれば、ユーザの意図に適合した文書を検索結果の上位にランクできる可能性を高めることができると考えられる。
【０００５】
【特許文献１】特開２００３−０１６１０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１の方式が有効に機能するためには、キーワード群の中に固有名が含まれている必要がある。特許文献１の実施例のように、検索条件として種文書を指定し、それに類似した別の文書を検索するような使い方では、種文書中に固有名が含まれている可能性は少なくないので、その方式は有効に機能しうると考えられるが、個々のキーワードをユーザが明示的に指定する方式の場合、ユーザが自分の欲する文書に現れるべき固有名を思い浮かべることができない場合も少なくないと考えられる。キーワード群に固有名が含まれない場合、特許文献１の方式は、一般的な従来技術と何ら変わるところがない。
【０００７】
例えば、「色」と「記憶」に関して、誰かが何かを言っている様な文書や、誰かがどこかの出版社から本を出しているといった情報を得たい場合、単に「色」と「記憶」で検索した場合、単にそれらが含まれる詩や歌等が検索される場合がある。ある大学の先生が色と記憶に関する本をある出版社から発売したといった内容の文書と、色と記憶を含む歌が書かれている文書とでは、両方がユーザの検索意図にマッチするとは考えにくい。ところが、従来の手法で「色」と「記憶」をキーワードとして検索を行った場合には、それら両方の文書がキーワード出現数やリンク数などといった同じ尺度で評価され、順位付けされることになる。
【０００８】
このように、キーワードとして一般名詞しか思い浮かばないような状況では、特許文献１も含め、従来の手法ではユーザの目的に適した検索結果が得られるとは言えなかった。
【０００９】
ユーザは、例えばビジネスで利用するための実用文書のように具体性の高い文書を検索したい場合もあれば、逆に文芸的な文書のように具体性の低い文書を検索したい場合もある。そのような検索目的に応じた検索結果を提示できる検索装置が望ましい。
【課題を解決するための手段】
【００１０】
本発明に係る装置は、検索対象の文書群の中から検索条件を満足する文書を検索し、検索した各文書の検索スコアを計算し、それら各文書を検索スコアに従って順位付けする文書検索装置であって、文書の具体性の判断指標とする用語である具体語を判別するための判別情報を記憶した具体語判別情報記憶手段と、検索対象の文書ごとに、該文書中での前記具体語判別情報記憶手段に登録された用語の数を求め、求めた数に基づき該文書の具体度を求める具体度計算手段と、検索した各文書の検索スコアを、前記具体度計算手段が計算した各文書の具体度に基づき計算するスコア計算手段と、を備える。
【００１１】
この構成では、具体度計算手段が文書中の具体語を具体語判別情報記憶手段の情報に基づき求め、求めた具体語からその文書の具体度を計算し、スコア計算手段が各文書の検索スコアをその具体度に基づき計算する。したがって、検索された文書群について文書の具体性を考慮した順位付けを行うことができる。
【００１２】
本発明の好適な態様では、前記具体語判別情報記憶手段には固有名が登録される。固有名は具体的な事物を示し具体性が高いといえるので、この態様では、固有名を具体語として文書中から抽出し、具体度を計算する。
【００１３】
本発明の別の好適な態様では、前記具体語判別情報記憶手段には専門用語が登録される。専門用語、特に科学技術分野の専門用語は、専門分野についての具体的な内容を示す文書に用いられ、具体性が高いといえるので、この態様では、固有名を具体語として文書中から抽出し、具体度を計算する。
【００１４】
本発明の好適な態様では、前記具体語判別情報記憶手段には、登録された各用語に対し、それぞれ該用語が属するカテゴリの情報が対応づけて登録され、前記具体度計算手段は、検索の対象とする各文書についてカテゴリ別に具体度を計算し、前記スコア計算手段は、検索条件の１項目としてカテゴリの指定を受けた場合には、検索した各文書の当該カテゴリについての具体度に基づきそれら各文書の検索スコアを計算する。
【００１５】
この態様では、具体語として取り扱う用語にカテゴリの情報を併せて登録したので、文書の具体度をカテゴリごとに計算することができる。そして、ユーザが注目するカテゴリを検索条件として指定することで、そのカテゴリについての各文書の具体度を検索結果に反映させることができる。
【発明の効果】
【００１６】
本発明によれば、文書中に含まれる具体語の数に基づきその文書の具体度を求め、文書の検索スコア（検索条件に対する適合度）をその具体度に基づき求めるので、文書の具体性を反映した検索結果を提供することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して、本発明を実施するための最良の形態（以下「実施形態」と呼ぶ）について説明する。
【００１８】
図１は、本発明に係る検索サーバのハードウエア構成の例を示す図である。図に示すように、この検索サーバ１０は、ＣＰＵ（中央演算装置）１１、ＲＡＭ（ランダム・アクセス・メモリ）、ハードディスクドライブ等の不揮発性記憶装置１４、及びＬＡＮ（ローカル・エリア・ネットワーク）やインターネットなどのネットワーク２０と接続するネットワーク・インタフェース（Ｉ／Ｆ）１６がバス１８に接続された、一般的なコンピュータシステムを基礎として構成することができる。
【００１９】
不揮発性記憶装置１４には、検索用プログラム１４２や具体度計算プログラム１４７がインストールされている。
【００２０】
検索用プログラム１４２は、文書検索のためのプログラムであり、キーワード検索等の検索処理や検索結果のスコア（検索条件に対する適合度）の計算のための処理を記述したプログラムである。
【００２１】
文書ＤＢ（データベース）１４４には、検索の対象となる文書の文書データが登録されている。なお、この代わりに、文書ＤＢ１４４は、ネットワーク上に散在する各文書の実体データにアクセスするのに用いることができるＵＲＬ(Uniform Resource Locator)等の情報を登録したデータベースであってもよい。
【００２２】
インデックステーブル１４６は、全文検索等の検索処理で用いられるインデックスデータを登録したテーブルであり、キーワードとなりうる語句ごとに、文書ＤＢ１４４中の検索対象の各文書がその語句を含んでいるかどうかの情報を登録したテーブルである。また、このように文書における語句の有無だけでなく、文書に語句が出現する頻度に基づきその文書に対するその語句の関連性の強さを数値化し、その数値をインデックステーブル１４６に登録しておくこともできる。いずれの場合も、インデックステーブル１４６は周知のものなので、これ以上の説明は省略する。
【００２３】
ＣＰＵ１１が検索用プログラム１４２を実行することにより、検索サーバ１０は、検索処理を実行する装置として機能する。そして、この検索処理では、ユーザから指定された検索条件を満足する文書をインデックステーブル１４６の情報を利用して求める。
【００２４】
検索サーバ１０は、例えばウェブサイトの１機能として実現することができる。この場合、検索サーバ１０は、ユーザがクライアント装置３０（典型的にはウェブ・ブラウザ）に入力した検索条件を、ネットワーク２０を介して取得し、この検索条件に適合する文書のリストの情報を検索要求元のクライアント装置３０に返す。ここで、検索条件は、例えば１以上のキーワードからなる論理式として指定することができる。また、概念検索の場合、自然文を検索条件として入力することができ、検索サーバ１０ではその自然文に含まれる語句を抽出し、それら語句を含む文書を検索する。
【００２５】
検索処理では各文書がそれぞれどの程度検索条件に適合しているのかを示す度合い（検索スコア）として計算し、検索スコアの高い順或いは低い順（いずれの順序でソートするかはユーザが指定可能）に各文書をソートし、この結果得られる文書のリストを検索結果として提示する。
【００２６】
この検索スコアの計算の際、本実施形態では各文書の具体度を加味した計算を行う。この具体度を計算するためのプログラムが、具体度計算プログラム１４７である。
【００２７】
具体度は、文書が具体的な内容を示している度合いを示す指標値である。本実施形態では、固有名や日付、通貨、専門用語など、具体的な文書に出てきやすい語句（以下「具体語」と呼ぶ）が文書中に含まれる数を、その文書の具体度として用いる。また、別の例として、具体語の含有率（すなわち文書中の全単語数に対する具体語の比率）を具体度として用いることもできる。
【００２８】
ここで、どのような語句が具体語であるかを判別する基準となる情報は、具体語判別情報１４９として不揮発性記憶装置１４に記憶される。具体語判別情報１４９には、固有名や専門用語についてはその語自体が登録される。また、日付については文字列が日付かどうかを判別するためのルールが、通貨については通貨単位を示す語（円や￥など）が、それぞれ具体語判別情報１４９として登録される。
【００２９】
ここで、具体語判別情報１４９には、各具体語のカテゴリを判別するための情報を含めることもできる。ここでいうカテゴリは意味上のカテゴリであり、例えば固有名の場合には、組織名（社名など）、人名、地名、製品名などのカテゴリ分けができる。また、専門用語の場合は、用語の属する各専門分野の分類でカテゴリ分けすることができる。各語のカテゴリの情報も含んだ具体語判別情報１４９のデータ内容の例を図２に示す。
【００３０】
具体度計算プログラム１４７は、この具体語判別情報１４９を参照して文書中から具体語を検出する。文書中に具体語判別情報１４９に登録されている語があればそれは具体語と判定され、また日付などのように具体語の判別ルールを満足する語句があればそれも具体語と判定される。そして、このように文書中から検出した具体語の数から具体度を計算する。
【００３１】
具体度計算プログラム１４７で計算された文書の具体度の値は、検索用プログラム１４２に渡される。検索用プログラム１４２はその具体度を用いてその文書の検索スコアを計算し、各文書を検索スコアの昇順或いは降順にソートしたリストを作成する。このリストの情報が検索結果としてクライアント装置３０に提供される。
【００３２】
次に図３を参照して、本実施形態の検索サーバ１０の機能構成について説明する。本実施形態の検索サーバ１０は、機能的には、検索条件受付部１０２，全文検索部１０４，スコア計算部１０６及び検索結果出力部１１０を備えており、これらはスコア計算部１０６の一部である具体度計算部１０８を除き、検索用プログラム１４２をＣＰＵ１１で実行することにより実現される。具体度計算部１０８は、具体度計算プログラム１４７をＣＰＵ１１で実行することにより計算される。
【００３３】
検索条件受付部１０２は、ユーザから検索条件を受け付ける機能モジュールである。検索サーバ１０をウェブサイトの一部として構成した場合、検索条件を入力するためのウェブページがウェブサイトからユーザのクライアント装置３０に提供され、そのウェブページ中の入力欄に対してユーザが入力した検索条件が、検索条件受付部１０２に取得される。検索条件は、例えば１以上のキーワードからなる論理式の形で指定できるし、自然文を検索条件として指定することもできる。後者の場合、検索条件受付部１０２は、入力された自然文を単語に分解し、それら単語をキーワードと認識する。
【００３４】
全文検索部１０４は、検索の対象である文書群に対し、検索条件受付部１０２で受け付けた検索条件で全文検索を行う。この全文検索部１０４は、インデックステーブル１４６の情報を参照して全文検索を実行し、検索条件を満足する文書を求め、その文書の情報を後段のスコア計算部１０６に渡す。なお全文検索の処理自体は周知なので、これ以上の説明は書略する。
【００３５】
スコア計算部１０６は、全文検索部１０４で検索された各文書の検索スコアを計算する。本実施形態では、このスコア計算において、検索された各文書の具体度を具体度計算部１０８により求め、それら具体度に基づき各文書の検索スコアを計算する。具体度計算部１０８は、検索された文書ごとに、その文書に含まれる具体語を具体度判別情報１４９を参照して検出し、検出した具体語の数を計数する。図示の例では、このようにして求めた文書中の具体語の数を具体度とし、その具体度をそのまま検索スコアとしている。
【００３６】
図示例は、検索条件としてキーワード「色」と「記憶」のＡＮＤ条件（論理積）が指定された場合を示している。そして、この検索条件を満足するものとして、全文検索部１０４が検索した文書が次の３つであったとする。
【００３７】
文書１：ＣＣＣ出版は「記憶色と再現色」という本を出版した。
文書２：彼の記憶はうすれ、秋色へと変わり、もう二度とはもどれない。
文書３：ＡＡＡ大学のＢＢＢ教授は色の記憶に関する論文を発表した。
【００３８】
この場合、文書１には具体語として「ＣＣＣ出版」（組織名）という固有名が１個、文書３には具体語として「ＡＡＡ大学」（組織名）及び「ＢＢＢ」（人名）という固有名が合計２個、含まれる。また、文書２には具体語が含まれない。したがって、具体語の数を検索スコアとする場合、文書１のスコア「１」，文書２はスコア「０」，文書３はスコア「２」となる。スコア計算部１０６は、検索された文書の識別情報と、これら各文書の検索スコアの値を検索結果出力部１１０に渡す。
【００３９】
検索結果出力部１１０は、受け取った情報に基づき、検索結果の文書リストを作成し、検索要求元のクライアント装置３０に提供する。このとき、検索した各文書を検索スコアに基づき、その文書リストにおける各文書の順位が決定される。この検索結果の文書リストは、ウェブページの形で提供される。この場合、リストに示される検索結果の各文書の表示（文書名などの表示）には、その文書の実体データのＵＲＬ(Uniform Resource Locator)が関連づけられる。
【００４０】
一般的には、検索スコアの高い順のリストを検索結果とすればよい。実用文を検索する場合はこのような取り扱いでよい。図示例では、このスコアの高い順に、１位が文書３、２位が文書１、３位が文書２という検索結果のリストが提供される。
【００４１】
しかし、逆に文芸文などを検索する場合には、具体度の低い文書を検索する必要がある。そこで、検索条件の１つとして検索結果を具体性の高い順に表示するか低い順に表示するかをユーザに指定できるようにすることも好適である。この場合において、具体度をそのまま検索スコアとして用いる場合は、検索された文書群を具体度が低い順にソートしたリストがクライアント装置３０に提供される。
【００４２】
以上に説明した構成及び処理動作はあくまで一例であり、本発明の範囲内で様々な変形が可能である。
【００４３】
例えば以上の例では、検索結果として検索された文書の識別情報（やこれに付随するリンク）のリストをクライアント装置３０に提供したが、この代わりに、検索スコアに基づく順位が最上位の文書を求め、その文書データ自体をクライアント装置３０に提供し、表示させるようにしてもよい。
【００４４】
また以上の例では、文書中に含まれる具体語の数を具体度としたが、この他に、文書中の具体度の含有率（或いは密度）を具体度とすることも好適である。含有率は、例えば、文書中の具体語の数をその文書の総単語数で割ることにより求めればよい。含有率を具体度とすれば、具体度を文書の長短に依らない指標とすることができる。
【００４５】
また、以上の例では、具体度をそのまま検索スコアとして用いたが、これも一例に過ぎない。この他に、文書がキーワードを含有する数や文書に対するリンクの数などによって求められる従来方式の検索スコアと、本実施形態の具体度を組み合わせることで、総合的な検索スコアを求め、この総合的な検索スコアの順に検索された文書を配列するようにすることも好適である。組合せの仕方としては、両者を重み付け加算する方法や、両者を乗算する方法など、様々な方法が可能である。また、この場合、キーワード出現数などの他の指標によるスコアが高く、かつ具体性の低い文書を検索する場合には、具体語の数が少ないほど大きくなる非具体度を定義し（例えば具体度の逆数を非具体度とするなど）、この非具体度と、キーワード出現数等に基づくスコアとから、総合的な検索スコアを求めればよい。
【００４６】
また、以上の例では、どのカテゴリに属する具体語も一律に扱い、文書中でのその総数に基づき具体度（又は非具体度）を求めたが、これも一例に過ぎない。例えば、ユーザが着目したいカテゴリが既知な場合、ユーザが検索条件の一つとしてカテゴリを指定できるようにし、そのカテゴリについての具体度を求め、これから検索スコアを求めるようにすることもできる。例えば、人名が多く現れる文書を知りたい場合はカテゴリとして人名を、情報処理分野の用語が多く現れる文書を知りたい場合はカテゴリとして情報処理を指定すればよい。
【００４７】
また以上の例では、検索条件に基づき検索された各文書について、その具体度を動的に計算したが、この代わりに、文書ＤＢ１４４に登録される各文書の具体度（カテゴリ分けをする場合は、カテゴリごとの具体度も）を予め計算し、データベース化しておき、検索時にはこのデータベースから各文書の具体度を求めるようにすることも可能である。文書の具体度の計算・登録は、例えば文書を文書ＤＢ１４４に登録する際に行えばよい。
【図面の簡単な説明】
【００４８】
【図１】本発明に係る検索サーバのハードウエア構成の例を示す図である。
【図２】固有名情報の一例を示す図である。
【図３】検索サーバの機能構成と処理内容を説明するための図である。
【符号の説明】
【００４９】
１０  検索サーバ、１１  ＣＰＵ、１２  ＲＡＭ、１４  不揮発性記憶装置、１６  ネットワークＩ／Ｆ（インタフェース）、１８  バス、２０  ネットワーク、３０  クライアント装置、１０２  検索条件受付部、１０４  全文検索部、１０６  スコア計算部、１０８  具体度計算部、１１０  検索結果出力部、１４２  検索用プログラム、１４４  文書ＤＢ、１４６  インデックステーブル、１４７  具体度計算プログラム、１４９  具体語判別情報。
【図１】
2005338992.tif 000003
【図２】
2005338992.tif 000004
【図３】
2005338992.tif 000005