(57)【要約】【課題】  階層化されたカテゴリに分類された検索対象文書に適切な語句ごとの重要度を付与する手段を提供する。【解決手段】検索キーに関連する文書を検索する情報検索装置１において、検索対象文書データベース２は、予め木構造に階層化されたカテゴリに分類された検索対象文書を記憶する。語句カテゴリ抽出部３は、検索対象文書データベース２から検索対象文書を読み出し、形態素解析により検索対象文書から語句を抽出し、検索対象文書が属するカテゴリを抽出する。語句重要度算出部４は、最上位の階層のカテゴリから最下位の階層のカテゴリに向けてカテゴリごとに語句の出現頻度の分散を求め、分散が所定の値未満であるカテゴリの中から木構造の枝ごとに最も上位に位置するカテゴリを検出し、検出した全てのカテゴリにおける当該語句の出現頻度の平均値を求め、平均値と各カテゴリの当該語句の出現頻度に基づいて各カテゴリの当該語句の重要度を算出する。【選択図】    図１
2005235065.tif 000002
【特許請求の範囲】
【請求項１】
検索キー文書に関連する文書を検索対象文書の中から検索する情報検索装置において、
予め木構造に階層化されたカテゴリに分類された前記検索対象文書を記憶する検索対象文書記憶部と、
前記検索対象文書記憶部から検索対象文書を読み出し、所定の解析手段により前記検索対象文書に含まれる語句を抽出し、前記検索対象文書が属するカテゴリの情報を抽出する語句カテゴリ抽出部と、
最上位の階層のカテゴリから最下位の階層のカテゴリに向けて前記カテゴリごとに前記語句の出現頻度の分散を求め、前記分散が所定の値未満である前記カテゴリのうち前記木構造の枝ごとに最も上位に位置するカテゴリを検出し、検出した全てのカテゴリにおける当該語句の出現頻度の平均値を求め、前記平均値と各カテゴリにおける当該語句の出現頻度に基づいて各カテゴリの当該語句の重要度を算出する語句重要度算出部と、
を備えたことを特徴とする情報検索装置。
【請求項２】
前記語句重要度算出部は、
ある語句のあるカテゴリにおける重要度を算出する際に、最上位階層のカテゴリにおける当該語句の出現頻度の逆数を前記平均値で除した値に、算出対象の前記カテゴリにおける当該語句の出現頻度を乗じた値を重要度として求めることを特徴とする請求項１に記載の情報検索装置。
【請求項３】
前記語句重要度算出部は、
ある語句のあるカテゴリにおける重要度を算出する際に、最上位階のカテゴリにおける当該語句の出現頻度の逆数の対数を前記平均値で除した値に、算出対象の前記カテゴリにおける当該語句の前記出現頻度に乗じた値を重要度として求めることを特徴とする請求項１に記載の情報検索装置。
【請求項４】
前記語句重要度算出部は、
前記対象文書の前記出現頻度の平均値の代わりに、前記出現頻度の対数値の平均値を用い、最上位階のカテゴリにおける当該語句の出現頻度の逆数の対数を前記平均値で除した値に、算出対象の前記カテゴリにおける当該語句の前記出現頻度の対数値を乗じた値を重要度として求めることを特徴とする請求項１に記載の情報検索装置。
【請求項５】
予め木構造に階層化されたカテゴリに分類された前記検索対象文書を記憶する検索対象文書記憶部と、検索キー文書に関連する文書を検索対象文書の中から検索する情報検索装置のコンピュータを、
前記検索対象文書記憶部から検索対象文書を読み出し、所定の解析手段により前記検索対象文書に含まれる語句を抽出し、前記検索対象文書が属するカテゴリの情報を抽出する手段、
最上位の階層のカテゴリから最下位の階層のカテゴリに向けて前記カテゴリごとに前記語句の出現頻度の分散を求め、前記分散が所定の値未満である前記カテゴリのうち前記木構造の枝ごとに最も上位に位置するカテゴリを検出し、検出した全てのカテゴリにおける当該語句の出現頻度の平均値を求め、前記平均値と各カテゴリにおける当該語句の出現頻度に基づいて各カテゴリの当該語句の重要度を算出する手段、
として機能させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索キーに関連した文書を検索する情報検索装置及びそのコンピュータプログラムに関する。
【背景技術】
【０００２】
大量の文書群の中から、入力されたキーワードや文書等に関連した文書を検索する代表的な方法として、入力と検索対象文書のそれぞれを語句の重要度を要素とする特徴ベクトルで表現し、検索する方法がある。その方法では、双方のベクトルの類似度を内積や余弦等の尺度を用いて算出し、類似度が高い文書を関連性が高い文書として出力するため、語句の重要度をどのような方法によって算出するかがポイントとなる。語句の重要度を算出する方法としては、ＴＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ：単語頻度）やＩＤＦ（Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ：逆数文書頻度）等の語句の出現頻度の分布に基づく重要度を付与する方法がある。
また、検索対象文書がカテゴリに分類されている場合、検索精度を向上させることを目的に、カテゴリ情報を利用して語句の重要度を算出する技術が特許文献１及び特許文献２で提案されている。これらの技術によれば、カテゴリごとに語句の重要度を算出することができるので、その語句との関連が高いカテゴリでは高い重要度を、関連が低いカテゴリでは低い重要度を付与することができるため、情報検索の精度の向上が期待できる。
【特許文献１】特開平１１−１４３８９２号公報
【特許文献２】特開２０００−３３１０２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１及び特許文献２に示す技術では、カテゴリごとに重要度を算出するか、あるいは、全カテゴリを通じてただひとつの重要度を算出することしかできない。ここで、専門的な語句と一般的な語句の重要度の算出について考える。専門的な語句の場合、カテゴリごとに重要度を算出すれば、語句とカテゴリとの関連の高さによって異なる重要度をより適切に付与することができる。しかし、一般的な語句の場合は、分野に関わらず重要度が同じであるため、カテゴリごとに異なる重要度を付与するのは適切ではなく、検索精度が低下するなどの逆効果をもたらすおそれがあるという問題がある。
また、検索対象文書が階層的なカテゴリに分類されている場合、どの階層のカテゴリにおいて語句の重要度を算出するかが問題となる。
特許文献１及び特許文献２では階層的なカテゴリを想定していないため、重要度を付与するカテゴリはある１つの階層に固定されてしまう。そのため、ある語句に対し、その語句と関連の高いカテゴリと関連の低いカテゴリの両方を含むような上位階層のカテゴリにおいて重要度を算出すると、適切な重要度を付与することができない。一方、その語句と関連が高く、関連度合いはほとんど同程度の下位階層の複数のカテゴリにおいて、別々に重要度を算出すると、カテゴリごとに異なる重要度を付与してしまう。その結果、他のカテゴリよりもわずかに関連の高いカテゴリに属する文書に対して高い類似度が算出されてしまい、検索精度が低下してしまう問題がある。
【０００４】
本発明は、上記問題を解決すべくなされたもので、その目的は、階層的なカテゴリに分類されている検索対象文書において、階層関係を考慮してカテゴリと検索対象文書に含まれる語句の関連性を適切に示す重要度を求める情報検索装置を提供することにある。
【課題を解決するための手段】
【０００５】
上述した問題を解決するために、請求項１に記載の発明は、検索キー文書に関連する文書を検索対象文書の中から検索する情報検索装置において、予め木構造に階層化されたカテゴリに分類された前記検索対象文書を記憶する検索対象文書記憶部（検索対象文書データベース２）と、前記検索対象文書記憶部から検索対象文書を読み出し、所定の解析手段（例えば、自然言語処理の形態素解析）により前記検索対象文書に含まれる語句を抽出し、前記検索対象文書が属するカテゴリの情報を抽出する語句カテゴリ抽出部（語句カテゴリ抽出部３）と、最上位の階層のカテゴリから最下位の階層のカテゴリに向けて前記カテゴリごとに前記語句の出現頻度の分散（例えば、発明を実施するための最良の形態における不偏分散）を求め、前記分散が所定の値未満である前記カテゴリのうち前記木構造の枝ごとに最も上位に位置するカテゴリを検出し、検出した全てのカテゴリにおける当該語句の出現頻度の平均値を求め、前記平均値と各カテゴリにおける当該語句の出現頻度に基づいて各カテゴリの当該語句の重要度を算出する語句重要度算出部（語句重要度算出部４）と、を備えたことを特徴とする情報検索装置（情報検索装置１）である。
【０００６】
請求項２に記載の発明は、請求項１に記載の発明において、前記語句重要度算出部は、
ある語句のあるカテゴリにおける重要度を算出する際に、最上位階層のカテゴリにおける当該語句の出現頻度の逆数を前記平均値で除した値に、算出対象の前記カテゴリにおける当該語句の出現頻度を乗じた値を重要度として求めることを特徴とする。
【０００７】
請求項３に記載の発明は、請求項１に記載の発明において、前記語句重要度算出部は、
ある語句のあるカテゴリにおける重要度を算出する際に、最上位階のカテゴリにおける当該語句の出現頻度の逆数の対数を前記平均値で除した値に、算出対象の前記カテゴリにおける当該語句の前記出現頻度に乗じた値を重要度として求めることを特徴とする。
【０００８】
請求項４に記載の発明は、請求項１に記載の発明において、前記語句重要度算出部は、
前記対象文書の前記出現頻度の平均値の代わりに、前記出現頻度の対数値の平均値を用い、最上位階のカテゴリにおける当該語句の出現頻度の逆数の対数を前記平均値で除した値に、算出対象の前記カテゴリにおける当該語句の前記出現頻度の対数値を乗じた値を重要度として求めることを特徴とする。
【０００９】
請求項５に記載の発明は、予め木構造に階層化されたカテゴリに分類された前記検索対象文書を記憶する検索対象文書記憶部と、検索キー文書に関連する文書を検索対象文書の中から検索する情報検索装置のコンピュータを、前記検索対象文書記憶部から検索対象文書を読み出し、所定の解析手段により前記検索対象文書に含まれる語句を抽出し、前記検索対象文書が属するカテゴリの情報を抽出する手段、最上位の階層のカテゴリから最下位の階層のカテゴリに向けて前記カテゴリごとに前記語句の出現頻度の分散を求め、前記分散が所定の値未満である前記カテゴリのうち前記木構造の枝ごとに最も上位に位置するカテゴリを検出し、検出した全てのカテゴリにおける当該語句の出現頻度の平均値を求め、前記平均値と各カテゴリにおける当該語句の出現頻度に基づいて各カテゴリの当該語句の重要度を算出する手段、として機能させるコンピュータプログラムである。
【発明の効果】
【００１０】
この発明によれば、木構造の階層構造のカテゴリに分類された検索対象文書において、最上位の階層のカテゴリから最下位の階層のカテゴリに向けてカテゴリごとの検索対象文書における語句ごとの出現頻度の分散を求めている。そして、その分散が所定の値未満であるカテゴリのうち木構造の枝ごとに最も上位に位置するカテゴリを検出し、検出した全てのカテゴリの語句の出現頻度の平均値を求め、その平均値を語句ごとの重要度を求める際の重み付けにする構成となっている。そのため、当該語句との関連が高いカテゴリに高い重要度を付与することを可能にしており、入力されたキーワードや文書に対して精度の高い検索結果を提供することができる。
また、一般的な語句には全カテゴリを通して、同じ重要度が付与されるので、その語句を偶然多く含むカテゴリがあった場合でもそのカテゴリが検索結果において上位となることを防ぐことができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施形態による情報検索装置１を図面を参照して説明する。
図１は、この発明の一実施形態による情報検索装置１の構成を示す概略ブロック図である。情報検索装置１は大きく文書ベクトルデータベース構築ブロック１１（以下、データベースをＤＢと略す）と関連文書検索ブロック１２の２つのブロックから構成されている。文書ベクトル構築ブロック１１は、検索対象文書ＤＢ２、語句カテゴリ抽出部３、語句重要度算出部４、文書ベクトルＤＢ５から構成されている。関連文書検索ブロック１２は、検索キー入力部６と検索語句抽出部７と検索語句重要度算出部８とベクトル間類似度算出部９と検索結果出力部１０から構成されている。
文書ベクトルＤＢ構築ブロック１１は、関連文書の検索の前段階として、それぞれの検索対象文書から語句を抽出し、文書ごとに語句の重要度を算出することにより文書ベクトルを求める。
文書ベクトルＤＢ構築ブロック１１において、検索対象文書データベース２は、検索の対象となる文書データを記憶している。検索対象文書は予め木構造を有する階層的なカテゴリ、例えば特許文献のＩＰＣ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｐａｔｅｎｔ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎ）コードのように分類されており、各検索対象文書にはカテゴリ情報が付与されている。語句カテゴリ抽出部３は、検索対象文書を形態素解析によって単語に分割し、単語ごとの品詞を特定する。また、特定の品詞の単語やその複合語を語句として抽出する。例えば、名詞か未知語のいずれかの単語と、それらが２語連続した複合語を語句として抽出する。そして、検索対象文書に付与されているカテゴリ情報を抽出する。語句重要度算出部４は、語句カテゴリ抽出部３において抽出した語句とカテゴリ情報に基づいて、語句ごとに語句重要度算出の基準となるカテゴリの集合を求め、各カテゴリにおける語句ごとの語句重要度を算出する。そして、検索対象文章中の各語句の重要度を要素とするベクトルをその検索対象文書の文書ベクトルとして文書ベクトルＤＢ５に記憶する。
関連文書検索ブロック１２は、入力されたキーワードまたは文書から語句を抽出し、語句の重要度を算出することにより文書ベクトルを求めた後、検索対象文書それぞれの文書ベクトルとの類似度を算出し、類似度順に文書をランク付けしたものを検索結果として出力する。
関連文書検索ブロック１２において、検索キー入力部６は、入力されたキーワードまたは文書のデータを受け付ける。検索語句抽出部７は、検索キー入力部６が受信したデータを形態素解析によって単語に分割し、単語ごとの品詞を特定する。なお、入力がキーワードの場合でも、品詞を求めるために形態素解析を行う必要がある。そして、上記の語句カテゴリ抽出部３で説明した手段と同様に特定の品詞の単語やその複合語を語句として抽出する。例えば、名詞か未知語のいずれかの単語と、それらが２語連続した複合語を語句として抽出する。抽出した語句を検索語句とする。検索語句重要度算出部８は、各検索語句の重要度を算出する。算出する手段としては、例えば、入力されたキーワードまたは文書における出現頻度をその検索語句の重要度とする手段がある。各検索語句の重要度を要素とするベクトルを入力ベクトルとする。ベクトル間類似度算出部９は、文書ベクトルＤＢ５の各文書ベクトルと入力ベクトルの余弦（コサイン値）を類似度として算出する。検索結果出力部１０は、類似度の高い順に検索対象文書をランク付けし、検索結果として出力する。
【００１２】
図２は、木構造に階層化されたカテゴリに分類された検索対象文書に対して、語句ごとの重要度を求める手段を示した図である。Ａ１は全ての検索対象文書を含む最上位のカテゴリであり、以下Ｂ、Ｃ、Ｄと階層を下るにつれて分類が細かくなる。ここで、ある語句ｔがある場合に、その語句ｔのあるカテゴリの文書における出現頻度、即ちカテゴリ内で語句ｔが出現する文書数をカテゴリ内の全文書数で除した値をカテゴリ文書頻度と呼ぶこととする。最上位階層のＡから最下位階層のＤに向かって、カテゴリごとのカテゴリ文書頻度の不偏分散を算出し、不偏分散がある閾値より値より小さくなるカテゴリを求める。このカテゴリが、語句ｔとの関連が高いカテゴリのうち、最も上位階層のカテゴリとなる。
同図において、Ｄ１においては語句ｔのカテゴリ文書頻度は４０／５０であり、その１つ上の階層のＣ１のカテゴリ文書頻度は、Ｄ１とＤ２のカテゴリ文書頻度の分母を足し合わせた値を分母とし、分子を足し合わせた値を分子とすることで求めることができる。つまり、Ｃ１のカテゴリ文書頻度は７５／９０となる。この計算を最上位のＡ１まで計算するとＡ１のカテゴリ文書頻度は４０／５０、３５／４０、２０／５０、２５／６０、４／５０、３／８０、０／７０、２／４０に基づいて求められ、１２９／４４０となる。次に、Ａ１のカテゴリの不偏分散を求める。不偏分散は、各カテゴリ文書頻度の値と各カテゴリ文書頻度の平均値との差を２乗した２乗誤差の値の総和を標本数−1で割ることによって求められる。この計算により、Ａ１のカテゴリの不偏分散を求めると約０．１２であり、これは同図において定められている閾値０．０１以上である。そこで、その下位のカテゴリＢ１とＢ２における同様にカテゴリ文書頻度の不偏分散を算出する。カテゴリＢ１におけるカテゴリ文書頻度は４０／５０、３５／４０、２０／５０、２５／６０に基づいて１２０／２００として求められる。その不偏分散は約０．０６２となり、閾値０．０１以上であり、カテゴリＢ１も語句重要度を算出するカテゴリの対象とはならない。一方、カテゴリＢ２におけるカテゴリ文書頻度は４／５０、３／８０、０／７０、２／４０に基づいて９／２４０として求められる。その不偏分散は約０．００１１であり、閾値０．０１より小さいので、Ｂ２を語句重要度を算出するカテゴリとする。次に、カテゴリＢ１の下位のＣ１とＣ２について同様にカテゴリ文書頻度の不偏分散を算出すると、それぞれ約０．００２８と約０．０００１４であり、閾値０．０１より小さいのでＣ１とＣ２を語句重要度を算出するカテゴリとする。最終的に、同図における語句の重要度算出の基準となるカテゴリはＣ１、Ｃ２、Ｂ２の３つとなる。
従来技術においては、文書頻度を用いた重要度を求める際に、例えば文書全体におけるカテゴリ文書頻度の逆数、即ち同図においては最上位階層カテゴリＡ１の１２９／４４０の逆数を求めたものを重要度として用いている。本実施形態における重要度は、語句重要度を算出する対象となったカテゴリ内の文書頻度を重みとして調整した値を語句ｔの重要度としている点で異なる。同図において、文書全体におけるカテゴリ文書頻度の逆数は４４０／１２９である。一方、カテゴリＣ１、Ｃ２、Ｂ２内の文書頻度はそれぞれ７５／９０、４５／１１０、９／２４０である。従って、カテゴリＣ１における語句ｔの重要度はｗｅｉｇｈｔ（ｔ，Ｃ１）＝４４０／１２９÷（（７５／９０＋４５／１１０＋９／２４０）÷３）×７５／９０の式で求められ、約６．４６となる。従来技術における重要度は、４４０／１２９＝約３．４１となり、その値よりも大きい値が重要度として算出できることがわかる。
なお、語句の重要度算出方法に関する従来技術では、文書頻度の逆数そのものではなく、その対数値などを重要度とするものもあるので、その場合には、上記の式においても文書全体のカテゴリ文書頻度の逆数としてｌｏｇ（４４０／１２９）を用いてもよい。また、上記の式では、カテゴリ内の文書頻度そのものを重みとして語句ｔの重要度を求めている。即ち、各カテゴリの文書頻度の平均に対するカテゴリＣ１の文書頻度の割合を、全体の文書頻度の逆数に乗じている。このとき、カテゴリ文書頻度そのものではなく、カテゴリ文書頻度の対数値等を重みとして重要度を算出しても構わない。以上の手段により算出した語句重要度を用いて文書ベクトルを算出して、精度の高い文書の検索を行うことができる。
【００１３】
図３は、語句重要度を算出するためのカテゴリの集合を求める処理を示したフローチャートである。同図の処理において、重要度を求める対象となる語句は予め抽出され設定されているものとする。最初に、最上位階層のカテゴリであるカテゴリ集合Ａを設定する（ステップＳ３−１）。次に、カテゴリ集合Ａからカテゴリを１つ選択し、それをカテゴリｃとして設定する（ステップＳ３−２）。カテゴリｃにおける設定した語句のカテゴリ文書頻度の不偏分散Ｖを求める（ステップＳ３−３）。不偏分散Ｖが所定の閾値より小さい場合には、カテゴリｃを語句重要度を求めるカテゴリ集合Ｂに追加する（ステップＳ３−５）。そしてカテゴリＡが空き集合であるかを確認し、空き集合である場合には処理を終了し、空き集合でない場合にはステップＳ３−２に戻り、新たなカテゴリの分類を行う（ステップＳ３−６）。不偏分散Ｖが閾値以上である場合には、カテゴリｃが最下位階層であるかを確認する（ステップＳ３−７）。最下位階層でない場合は、カテゴリｃの１つ下位の階層のカテゴリ集合をカテゴリ集合Ａに追加し、ステップＳ３−２に戻る（ステップＳ３−８）。カテゴリｃが最下位階層の場合には、ステップＳ３−６の処理を行う。
この処理により、所定の閾値より小さい不偏分散値となるカテゴリの集合を求めることができ、上記で説明した、設定した語句に対する検索対象文書の語句重要度を求めることができる。
【００１４】
なお、本実施形態における情報検索装置は、文書検索における語句の重要度算出の手段に関するものであるが、文書検索以外にも、文書分類や文書クラスタリングなど単語の重要度用いた他のテキスト分析処理に対しても有効である。
【００１５】
また、上記実施形態においては、分散を不偏分散として求めているが、不偏分散に限らず標本分散等によっても同じ効果を得ることが可能である。
【００１６】
上述の情報検索装置は内部に、コンピュータシステムを有している。そして、上述した語句重要度を算出するためのカテゴリの集合を求める処理過程は、プログラム形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
【図面の簡単な説明】
【００１７】
【図１】本実施形態における情報検索装置を示すブロック図である。
【図２】同実施形態における語句重要度を算出する手段を示した図である。
【図３】同実施形態における語句重要度を算出するためのカテゴリの集合を求める処理を示したフローチャートである。
【符号の説明】
【００１８】
１  情報検索装置
２  検索対象文書データベース
３  語句カテゴリ抽出部
４  語句重要度算出部
５  文書ベクトルデータベース
【図１】
2005235065.tif 000003
【図２】
2005235065.tif 000004
【図３】
2005235065.tif 000005