(57)【要約】【課題】テキストを入力として大量のテキスト文書を検索する精度を向上させる。また、検索結果から所望の文書を特定する作業の労力を軽減する。【解決手段】入力テキストを構成する複数の部分文字列から抽出されるキーワードによって検索した結果の上位文書の和集合を生成し、入力テキスト全体から抽出されたキーワードによる検索結果との積集合を生成する。また、利用者から指定された文書に対して入力テキスト全体による検索順位よりも部分文字列による検索順位が高いものを特定し、その検索に使われた部分文字列またはキーワード情報を利用者に表示する。【選択図】図１
2005301856.tif 000002
【特許請求の範囲】
【請求項１】
利用者によって入力されたテキスト、検索対象となる文書、各文書から予め抽出した重み付きキーワードを記憶する記憶装置と、前記記憶装置にアクセス可能な中央処理装置とを備えた計算機による、文書検索方法において、
前記中央処理装置が、前記記憶装置内の前記入力されたテキストを解析してキーワードを抽出するステップと、前記中央処理装置が、前記抽出されたキーワードの各々に対して重要度に相当する重みを付与するステップと、前記中央処理装置が、前記重み付きキーワードと、前記記憶装置内の前記予め抽出した重み付きキーワードとを比較して、前記記憶装置内の前記文書毎に類似度を算出するステップと、前記中央処理装置が、前記類似度の高い文書を検索結果として出力するステップと、前記中央処理装置が、前記記憶装置内の前記入力されたテキストを複数の部分文字列に分割するステップと、前記中央処理装置が、前記分割された部分文字列の各々から部分文字列キーワードを抽出するステップと、前記中央処理装置が、前記抽出された部分文字列キーワードの各々に対して重要度に相当する重みを付与するステップと、前記中央処理装置が、前記部分文字列から抽出された重み付き部分文字列キーワードと、前記記憶装置内の前記予め抽出した重み付きキーワードとを比較して、前記記憶装置内の前記文書毎に部分文字列類似度を算出するステップと、前記中央処理装置が、前記部分文字列類似度の高い文書を部分検索結果として抽出するステップと、前記中央処理装置が、前記部分文字列の各々について抽出された前記部分検索結果の上位に含まれる文書の和集合を生成するステップと、前記中央処理装置が、前記入力されたテキスト全体に対する前記検索結果の中から、前記和集合に含まれる文書を抽出するステップと、前記中央処理装置が、前記抽出された文書を検索結果として出力するステップを持つことを特徴とする文書検索方法。
【請求項２】
利用者によって入力されたテキスト、検索対象となる文書、各文書から予め抽出した重み付きキーワードを記憶する記憶装置と、前記記憶装置にアクセス可能な中央処理装置とを備えた計算機による、文書検索方法において、
前記中央処理装置が、前記記憶装置内の前記入力されたテキストを解析してキーワードを抽出するステップと、前記中央処理装置が、前記抽出されたキーワードの各々に対して重要度に相当する重みを付与するステップと、前記中央処理装置が、前記重み付きキーワードと、前記記憶装置内の前記予め抽出した重み付きキーワードとを比較して、前記記憶装置内の前記文書毎に類似度を算出するステップと、前記中央処理装置が、前記類似度の高い文書を検索結果として出力するステップと、前記中央処理装置が、前記抽出された重み付きキーワードの中から二つ以上のキーワードからなる重み付きキーワードの組を抽出するステップと、前記中央処理装置が、前記抽出された重み付きキーワードの組と前記記憶装置内の前記予め抽出した重み付きキーワードとを比較して、前記記憶装置内の前記文書毎に類似度を算出するステップと、前記中央処理装置が、前記類似度の高い文書を部分検索結果として抽出するステップと、前記中央処理装置が、前記重み付きキーワードの組の各々について抽出された前記部分検索結果の上位に含まれる文書の和集合を生成するステップと、前記中央処理装置が、前記入力されたテキスト全体に対する前記検索結果の中から、前記和集合に含まれる文書を抽出するステップと、前記中央処理装置が、前記抽出された文書を検索結果として出力するステップを持つことを特徴とする文書検索方法。
【請求項３】
請求項２記載の文書検索方法において、前記二つ以上のキーワードからなる重み付きキーワードの組が、前記入力テキストにおけるキーワードの出現順に選択されたことを特徴とする文書検索方法。
【請求項４】
請求項１から請求項３のいずれかに記載の文書検索方法において、前記入力テキストを部分文字列に分割するステップは、前記中央処理装置が、前記入力テキストを段落あるいは文あるいは節あるいは句のどれか一つの単位毎に分割し、あるいは、前記入力テキスト中に特定の記述表現が出現したかによって前記部分文字列の境界を特定して分割することを特徴とする文書検索方法。
【請求項５】
請求項１から請求項３のいずれかに記載の文書検索方法において、前記抽出された部分文字列キーワードの各々に対して重要度に相当する重みを付与するステップにおいて、前記中央処理装置が、前記部分文字列キーワードの重みとして、前記入力テキスト全体に対する当該キーワードの重みを付与することを特徴とする文書検索方法。
【請求項６】
請求項１から請求項５のいずれかに記載の文書検索方法において、前記計算機の入力装置が、前記類似度の高い文書の和集合を生成する際に、前記類似度の高い文書をそれぞれ何件集めて和集合を生成するかの設定、前記重み付き出現順キーワードにおいて連続する二つ以上のキーワードの組を抽出する際に、連続するいくつのキーワードを抽出するかの設定、および、前記重み付きキーワードの組を抽出する際に、何種類のキーワードを抽出するかの設定の一つを利用者から受け付けることを特徴とする文書検索方法。
【請求項７】
利用者によって入力されたテキスト、検索対象となる文書、各文書から予め抽出した重み付きキーワードを記憶する記憶装置にアクセス可能な中央処理装置に各ステップを実行させるためのプログラムにおいて、
前記記憶装置内の前記入力されたテキストを解析してキーワードを抽出するステップと、前記抽出されたキーワードの各々に対して重要度に相当する重みを付与するステップと、前記重み付きキーワードと、前記記憶装置内の前記予め抽出した重み付きキーワードとを比較して文書毎に類似度を算出するステップと、前記入力されたテキストを複数の部分文字列に分割するステップと、前記分割された部分文字列の各々から部分文字列キーワードを抽出するステップと、前記抽出された部分文字列キーワードの各々に対して重要度に相当する重みを付与するステップと、前記部分文字列から抽出された重み付き部分文字列キーワードと前記記憶装置内の前記予め抽出した重み付きキーワードとを比較して前記記憶装置内の前記文書毎に部分文字列類似度を算出するステップと、前記部分文字列類似度の高い文書を部分検索結果として抽出するステップと、前記部分文字列の各々について抽出された前記部分検索結果の上位に含まれる文書の和集合を生成するステップと、前記入力されたテキスト全体に対する前記検索結果の中から、前記和集合に含まれる文書を抽出するステップと、前記抽出された文書を検索結果として出力するステップを、前記中央処理装置に実行させるための文書検索プログラム。
【請求項８】
利用者によって入力されたテキスト、検索対象となる文書、各文書から予め抽出した重み付きキーワードを記憶する記憶装置にアクセス可能な中央処理装置に各ステップを実行させるためのプログラムにおいて、
前記記憶装置内の前記入力されたテキストを解析してキーワードを抽出するステップと、前記抽出されたキーワードの各々に対して重要度に相当する重みを付与するステップと、前記重み付きキーワードと、前記記憶装置内の前記予め抽出した重み付きキーワードとを比較して文書毎に類似度を算出するステップと、前記抽出された重み付きキーワードの中から二つ以上のキーワードからなる重み付きキーワードの組を抽出するステップと、前記抽出された重み付きキーワードの組と前記記憶装置内の前記予め抽出した重み付きキーワードとを比較して文書毎に類似度を算出するステップと、前記類似度の高い文書を部分検索結果として抽出するステップと、前記重み付きキーワードの組の各々について抽出された前記部分検索結果の上位に含まれる文書の和集合を生成するステップと、前記入力されたテキスト全体に対する前記検索結果の中から、前記和集合に含まれる文書を抽出するステップと、前記抽出された文書を検索結果として出力するステップを、前記中央処理装置に実行させるための文書検索プログラム。
【請求項９】
請求項８記載の文書検索プログラムにおいて、前記二つ以上のキーワードからなる重み付きキーワードの組が、前記入力テキストにおけるキーワードの出現順に選択されたことを特徴とする文書検索プログラム。
【請求項１０】
システムバスに接続された入出力手段、中央処理装置、メモリのワークエリアおよびメモリの格納エリアが接続された計算機を備える文書検索装置において、前記メモリの格納エリアには入力テキストを格納する入力テキスト、各単語に関する属性データが登録されている単語辞書、単語の品詞間の接続コストや文法ルール等が定義されている文法辞書、キーワード候補から除外すべき語を定義する不要語辞書、入力テキストから取得された単語を格納する単語テーブル、該単語テーブルに格納された単語の内キーワード候補から除外すべき語に該当しない語を格納するキーワードテーブル、検索対象となる文書を格納する文書データ、該文書データの検索のための文書データインデックス、検索結果を格納する検索結果データ、利用者が与える検索に関する各種の設定を格納するパラメータ設定データと検索のためのプログラム、各文書から予め抽出した重み付きキーワードを備える文書検索装置であって、検索のためのプログラムは、利用者によって入力されたテキストを解析してキーワードを抽出するとともに、前記抽出されたキーワードの各々に対して重要度に相当する重みを付与するステップと、前記重み付きキーワードと、前記メモリ内の前記予め抽出した重み付きキーワードとを比較して前記メモリ内の文書毎に類似度を算出するステップと、前記入力されたテキストを複数の部分文字列に分割するステップと、前記分割された部分文字列の各々から部分文字列キーワードを抽出するステップと、前記抽出された部分文字列キーワードの各々に対して重要度に相当する重みを付与するステップと、前記部分文字列から抽出された重み付き部分文字列キーワードと前記メモリ内の前記予め抽出した重み付きキーワードとを比較して前記メモリ内の文書毎に部分文字列類似度を算出するステップと、前記部分文字列類似度の高い文書を部分検索結果として抽出するステップと、前記部分文字列の各々について抽出された前記部分検索結果の上位に含まれる文書の和集合を生成するステップと、前記入力されたテキスト全体に対する前記検索結果の中から、前記和集合に含まれる文書を抽出するステップと、前記抽出された文書を検索結果として出力するステップを、前記中央処理装置に実行させることを特徴とする文書検索装置。
【請求項１１】
システムバスに接続された入出力手段、中央処理装置、メモリのワークエリアおよびメモリの格納エリアが接続された計算機を備える文書検索装置において、前記メモリの格納エリアには入力テキストを格納する入力テキスト、各単語に関する属性データが登録されている単語辞書、単語の品詞間の接続コストや文法ルール等が定義されている文法辞書、キーワード候補から除外すべき語を定義する不要語辞書、入力テキストから取得された単語を格納する単語テーブル、該単語テーブルに格納された単語の内キーワード候補から除外すべき語に該当しない語を格納するキーワードテーブル、検索対象となる文書を格納する文書データ、該文書データの検索のための文書データインデックス、検索結果を格納する検索結果データ、利用者が与える検索に関する各種の設定を格納するパラメータ設定データと検索のためのプログラム、各文書から予め抽出した重み付きキーワードを備える文書検索装置であって、検索のためのプログラムは、利用者によって入力されたテキストを解析してキーワードを抽出するとともに、前記抽出されたキーワードの各々に対して重要度に相当する重みを付与するステップと、前記重み付きキーワードと、前記メモリ内の前記予め抽出した重み付きキーワードとを比較して前記メモリ内の文書毎に類似度を算出するステップと、前記抽出された重み付きキーワードの中から二つ以上のキーワードからなる重み付きキーワードの組を抽出するステップと、前記抽出された重み付きキーワードの組と前記メモリ内の前記予め抽出した重み付きキーワードとを比較して前記メモリ内の文書毎に類似度を算出するステップと、前記類似度の高い文書を部分検索結果として抽出するステップと、前記重み付きキーワードの組の各々について抽出された前記部分検索結果の上位に含まれる文書の和集合を生成するステップと、前記入力されたテキスト全体に対する前記検索結果の中から、前記和集合に含まれる文書を抽出するステップと、前記抽出された文書を検索結果として出力するステップを、前記中央処理装置に実行させることを特徴とする文書検索装置。
【請求項１２】
請求項１１記載の文書検索装置において、前記二つ以上のキーワードからなる重み付きキーワードの組が、前記入力テキストにおけるキーワードの出現順に選択されたことを特徴とする文書検索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキストデータを含む文書を検索する文書検索方法、文書検索プログラムおよびこれを実行する文書検索装置に関する。
【背景技術】
【０００２】
テキストデータを含む大量の文書群から所望の文書を検索する手法として、テキスト（文章またはキーワード集合）を検索条件として入力し、この入力テキストの内容に類似する文書を検索するものがある。すなわち、入力されたテキストから抽出される一つ以上の重み付きキーワードで構成されるキーワードベクトルと、検索対象文書群を構成する各文書から予め抽出された一つ以上の重み付きキーワードで構成されるキーワードベクトルとの間の内積または余弦を算出することにより、入力テキストと検索対象文書との間の内容の類似度を定量化し、類似度の高い文書を検索結果として出力する手法である。
【０００３】
上記手法において、入力テキストまたは検索対象文書からキーワードを抽出する際には、単語の字種（ひらがな／カタカナ／漢字／アルファベット／特殊記号等）や、単語辞書に定義される単語情報（見出し，品詞等）を手掛かりとする。また、明らかにキーワードとして不適切な単語は、不要語として除去される。
【０００４】
また、上記手法において、キーワードに重みを付与する際には、「ＴＦ・ＩＤＦ法」と呼ばれる手法を使うのが一般的である。すなわち、あるテキスト内でのあるキーワードの出現頻度（ＴＦ）と、検索対象文書群におけるそのキーワードの出現文書数の逆数（ＩＤＦ）という二つの値を用いてキーワードに付与する重みを算出する手法である。広く市販されている文書検索システムでは、これらの値をそのまま使うのではなく、対数関数（ｌｏｇ）等を施して値を補正するのが一般的である。また、出現頻度（ＴＦ）はテキストが長いほど大きくなるため、出現頻度（ＴＦ）の値をテキスト長等で補正する場合が多い。
【０００５】
さらに、上記手法において、例えば、非特許文献１に開示されているように、キーワードを抽出する際に入力テキストまたは検索対象文書の構造的特性を利用する手法が知られている。例えば、検索対象文書が特許明細書である場合、キーワードを抽出する範囲を「特許請求の範囲」や「要約」等に限定するという手法である。
【０００６】
また、抽出されたキーワードに重みを付与する際にも、非特許文献２に開示されているように、そのキーワードが文書のどこに出現したかによってその重みの値を変えるという手法が知られている。例えば、検索対象文書が特許明細書である場合、「発明の名称」に出現するキーワードの重みの値を高くし、請求項の末尾（「〜を特徴とする」という表現以降）に出現する名詞句に含まれるキーワードの重みを高くするという手法である。
【０００７】
さらに、例えば、特開平１１−０８５７８６号公報に開示されるように、検索結果を基礎に、さらに検索を展開する手法も知られている。
【０００８】
【特許文献１】特開平１１−０８５７８６号公報
【０００９】
【非特許文献１】水野恵雄：「類似文献自動検索システムについて」，特許庁技術懇話会会誌，No.223，pp.9-15，2002.5.15
【非特許文献２】間瀬久雄他：「特許テーマ分類方式の提案とその評価実験」，情報処理学会論文誌，第３９巻第７号，pp.2207-2216，1998年7月
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記従来技術では、利用者によって入力されたテキストに含まれるキーワードを全て使って検索する。この場合、所望の文書に関連の深い重要キーワードと関連のないノイズキーワードが混在していることが多い。その結果、重要キーワードに比べてノイズキーワードが類似度計算に与える影響が多いと、重要キーワードが含まれているにも関わらず、所望の文書が検索結果の上位に出力されず、検索漏れが生じてしまう（課題１）。
【００１１】
また、上記従来技術では、文書検索結果の中から利用者の所望する文書だけを見つけるのに多大な時間がかかっている（課題２）
本発明は、重要キーワードが含まれているにも関わらず、ノイズキーワードの存在によって検索漏れが生じてしまうという問題を解決し、検索漏れの少ない、従来手法よりも高い検索精度を実現する文書検索方法、文書検索プログラムおよびこれを実行する文書検索装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明では上記課題１を解決すべく、利用者によって入力されたテキストからのキーワードの抽出、抽出されたキーワードに対する重要度に相当する重みの付与、検索対象文書群の各文書から重み付きキーワードに対応する文書を検索結果として出力する文書検索方法において、前記入力されたテキストを複数の部分文字列に分割し、この分割された部分文字列の各々から抽出された部分文字列キーワードに着目して検索した検索結果と、前記入力されたテキスト全体のキーワードに着目して検索した検索結果とを利用して検索を実行する。
【００１３】
また、本発明は上記課題２を解決すべく、検索結果として出力された文書集合の中から利用者によって選択指定された文書のみを検索対象として実行された、前記入力されたテキスト全体のキーワードに着目した検索結果と、上記部分文字列キーワードに着目した検索結果とを利用して、部分文字列キーワードに着目した検索による検索結果の順位の方が高い部分検索結果を特定し、使用されたキーワードまたは部分文字列を特定し、これらを他と異なる態様とした形で利用者に表示する。また、利用者が選択した部分文字列またはキーワードの組に着目した検索結果と、前記入力されたテキスト全体のキーワードに着目した検索結果とを利用して、利用者が選択した部分文字列またはキーワードの組に着目した検索による検索結果の順位の方が高い部分検索結果を特定し、使用された部分文字列またはキーワードの組による検索結果の順位の方が高い文書を特定し、前記特定された文書を利用者に表示する。
【発明の効果】
【００１４】
本発明によれば、重要キーワードが含まれているにも関わらず、ノイズキーワードの存在によって検索漏れが生じてしまうことが少なくなり、検索漏れが少なくなる。また、検索結果から所望の文書を容易に見つけることが可能となる。
【発明を実施するための最良の形態】
【００１５】
本発明の実施の形態を以下、図面を用いて詳細に説明する。なお、これにより本発明が限定されるものではない。
【００１６】
本実施形態では、大量の特許公開公報テキスト群を検索して、利用者から入力された請求項テキストの内容に類似する文書（入力された請求項に記載された発明内容を無効化する文書）を取得する特許検索システムについて述べる。本システムは、利用者から入力されるテキストデータおよび検索対象となる特許公開公報テキスト群に出現するキーワードに着目し、前述の「ＴＦ・ＩＤＦ法」を用いて入力テキストの内容に類似する文書を検索する。なお、本実施形態では日本語テキストを対象としているが、英語等のテキストでも適用可能である。
【００１７】
図１は本実施形態の概要を示す図である。本システムでは、テキストを入力として、そのテキストの内容に類似する文書検索結果リストを出力する。従来方法では、入力テキスト１０１全体から重み付きキーワード１０２を抽出し、検索実行１０３を行って、検索結果１０４を出力するものであった。本実施形態では、入力テキスト１０１を部分文字列１０１ａ、１０１ｂ、１０１ｃ、１０１ｄに分割し、それぞれの部分文字列から部分文字列キーワード１０２ａ、１０２ｂ、１０２ｃ、１０２ｄを抽出し、部分文字列キーワードに基づいてそれぞれ検索実行１０３を行い、部分検索結果１０４ａ、１０４ｂ、１０４ｃ、１０４ｄを得る。そして、これらの部分検索結果の上位Ｎ件（ここではＮ＝１００）をマージして部分検索結果和集合１０５を生成する。最後に、入力テキスト全体に対する検索結果（全体検索結果１０４）を部分検索結果和集合１０５でフイルタリングして、全体検索結果１０４の中から、部分検索結果和集合１０５に含まれる文書を、その順序を変えずに抽出し、これから上位Ｍ件（ここではＭ＝２００）を最終検索結果１０６として出力する。本実施形態では「最終」出力結果としているが、最終検索結果１０６に表れる文書群を検索対象として別の検索手法の入力とし、さらに検索を続けても良い。
【００１８】
図１で使用している文書ＩＤに書かれた番号は、全体検索結果１０４での順位と等しい。すなわち、Ｄｏｃ１００なる文書は、全体検索結果において１００位にランクされた文書であることを示している。ここで、部分検索結果１０４ａに着目すると、文書Ｄｏｃ１６４は、入力テキスト全体での検索結果は１６４位であるが、部分文字列１０１ａでの検索結果は３位であることが分かる。この結果、部分検索結果和集合１０５でフイルタリングした結果は１２０位となり、テキスト全体での検索では順位が低いが、部分文字列による検索では高い順位となる文書を、検索結果の表示では、順位を上げて提示することができる。その結果、利用者の注意をより引き付けることができるから、検索の漏れを少なくできる。
【００１９】
図２Ａは、本実施形態で述べるシステムを利用者の操作、各種データおよびデータの処理に関するプログラムを関連付けて表示したブロック図である。
【００２０】
利用者は本システムの入出力部１を介して、検索条件としてのテキストデータ、例えば、請求項テキストを入力する。入力されたテキストは入力テキスト２に格納保持される。ここでは、テキストはキーボードから利用者が入力しても良いし、マウス等を使ってのテキストデータのドラッグ＆ドロップやコピー，音声やペン，ＯＣＲ等による入力でも構わない。また、他のプログラムから自動的にテキストデータが渡されるような形態でも構わない。
【００２１】
検索条件となる請求項テキストデータを入力した後に、利用者が検索実行を指示すると、キーワード抽出プログラム３によってキーワードが抽出され、各キーワードに重みが付与される。以下、キーワード抽出プログラム３について説明する。
【００２２】
まず、部分文字列生成３１では、入力テキスト２を構文的・意味的・表現された文字あるいは記号的にまとまった単位に分割する。本実施形態では、境界条件として予め指定された文字列を用いてテキストを分割する。これらの境界条件は、パラメータ設定データ１７（図７参照）において、部分文字列抽出照合文字列１７２として格納される。図７では、境界条件として、読点、句点、コンマ、セミコロンといった記号文字、改行コード（￥ｎ）、「ことを特徴とする」といった特定文字列などが定義されている。もちろん、この方法以外に、テキストの冒頭から予め定義された文字数または単語数毎に強制的に分割しても良いし、検索の前処理として利用者が入出力部１を介して手作業で部分文字列の境界を指定しても良いし、テキストを形態素解析および構文解析して、テキストを段落（改行とインデントから容易に特定できる）や文（句点毎に区切る）、節や句を特定し、テキストをこれらの単位で分割しても良い。上記の内のいくつかの方法では、入力テキスト２に対して形態素解析３２を行う必要があるため、この場合、部分文字列生成３１と形態素解析３２の処理の順序は逆になるが、実施上問題になることでは無い。
【００２３】
次に、形態素解析３２では、各単語に関する属性データが登録されている単語辞書４および、単語の品詞間の接続コストや文法ルール等が定義されている文法辞書５を参照して入力テキスト２および部分文字列の各々を単語単位に分割し、各単語に対する見出し，標準形，品詞データを単語辞書４から取得し、単語テーブル８に単語の出現順に格納する。形態素解析３２については文書処理分野では広く使われている公知技術であるため、その処理アルゴリズムの詳細についてはこれ以上言及しない。
【００２４】
次に、不要語除去３３では、形態素解析３２によって分割された単語の各々が不要語辞書６に登録されている不要語であるか否かを判別し、不要語辞書６に登録されている単語を不要語としてキーワード候補から除外する。本実施形態では、不要語辞書６は１レコードに不要語文字列１語を保持したデータ構造を持ち、検索対象文書の分野や内容，文書構造に依存した不要語（特許公開公報の場合、「発明」「請求項」「特徴」等）と、検索対象文書の分野や内容に依存しない、一般に高頻度で使われる不要語（「こと」「もの」「いる」等）が登録されている。形態素解析３２で得られた各単語が不要語か否かの判別結果は単語テーブル８に不要語フラグ（値が１なら不要語）として格納される。なお、本実施形態では、不要語辞書６を、単語辞書４とは別なものとしているが、単語が不要語であるか否かの情報を単語辞書４の中に埋め込んで定義しても良い。
【００２５】
次に、キーワード特定３４では、単語テーブル８に格納されたキーワード候補（不要語フラグの値が０である単語）について、予め定義された品詞を持つ単語をキーワードとして認定する。本実施形態では、キーワードを規定する品詞の情報はパラメータ設定データ１７（図７のキーワード品詞リスト１７１）に列挙されるが、処理プログラムの中にキーワードとなり得る品詞情報を埋め込んでも良い。形態素解析３２で得られた各単語がキーワードであるか否かの判別結果は単語テーブル８にキーワードフラグ（値が１ならキーワード）として格納される。
【００２６】
次に、キーワード重み付与３５では、抽出されたキーワードについて、入力テキスト内での出現頻度（ＴＦ）および文書データ１３に格納された検索対象文書群での出現文書数の逆数（ＩＤＦ）を用いて、キーワードの重要度に相当する重みを算出してキーワードに付与する。本実施形態においては、式（１）によって重みを算出する。
【００２７】
【数１】
2005301856.tif 000003
【００２８】
ここでＤＦは文書データ１３に格納された検索対象文書群でのキーワード出現文書数、Ｎは文書データ１３に格納されている検索対象文書の総数である。
【００２９】
キーワード重み付与３５では、単語テーブル８に格納されたキーワード毎にその出現頻度をカウントし、文書データインデクスデータ１４に予め格納されている各キーワード毎の出現文書数（ＤＦ）を取得して、上記計算式によってキーワードの重みを算出する。各キーワードの標準形および出現頻度，出現文書数，重みの値は、キーワードテーブル９に格納される。
【００３０】
キーワード抽出プログラム３でキーワードおよびその重みが決定されると、次に、検索実行プログラム１０において、キーワードテーブル９に格納された重み付きキーワードを用いて文書データ１３を検索する。本システムでは、インデクス生成プログラム１５によって、文書データ１３に格納される各文書から重み付きキーワードを予め抽出しておき、文書インデクスデータ１４に格納される。また、各キーワードの出現文書数も計算され、文書インデクスデータ１４に格納される。キーワードテーブル９に格納された重み付きキーワードで構成されるキーワードベクトル（重みの値がベクトルの成分となる）と、文書インデクスデータ１４に格納された重み付きキーワードで構成されるキーワードベクトルとがなす角度の余弦を計算し、その文書の類似度（値の範囲は、−１から１の間となる）とする。類似度の算出方法についてはさまざまな手法が提案されているが、本発明は類似度の算出方法を特に制限するものではないので、これ以上詳細には言及しない。
【００３１】
検索実行プログラム１０で検索された結果は、文書ＩＤと類似度が対になって、類似度の降順にソートされて検索結果格納テーブル１１に格納される。
【００３２】
次に、部分検索結果和集合生成プログラム７では、検索結果に格納された部分文字列検索結果それぞれの上位から、パラメータ設定データ１７に利用者によって予め定義された件数の文書を抽出し、重複する文書ＩＤを纏めてユニーク化することにより、部分検索結果和集合１６を生成する。
【００３３】
次に、検索結果生成表示プログラム１２では、検索結果格納テーブル１１に格納された入力テキスト全体に対する全体検索結果と、部分検索結果和集合生成プログラム７で生成された部分検索結果和集合１６との積集合を生成し、全体検索結果における順位付けを保った形で最終検索結果を生成し、入出力部１を介して利用者に検索文書ＩＤと類似度スコアを表示する。
【００３４】
図２Ａで説明した本実施形態で述べるシステムは、電子計算機で構成されるものである。図２Ｂは、図２Ａで説明した本実施形態で述べるシステムを電子計算機の構成として表示したブロック図であり、同じものには同じ参照符号を付した。２００はシステムバスである。システムバス２００には、入力手段としてのキーボード１１、マウス１２が接続され、出力手段としての印刷手段１３、表示手段１４が接続される。さらに、システムバス２００には、中央処理装置（ＣＰＵ）２０１、メモリのワークエリア２０３、メモリの格納エリア２０４が接続される。ここでは、さらに、システムバス２００にネットワーク２０７が接続され、この他端にクライアントコンピュータ２０５が接続される例を示した。図のシステム構成をサーバとして、ネットワーク２０７を介して接続されたクライアント２０５により、図２Ａで説明した各種の処理が実行される。
【００３５】
図２Ａで説明した各種の処理が、格納エリア２０４に格納された必要なプログラムおよびデータをワークエリア２０３に読み出して、ＣＰＵ２０１により実行される。
【００３６】
図３は、入力テキスト２の構成の一例を示す図である。本実施形態では、図３の入力テキスト２が入力されたとして説明をする。入力テキスト２は、任意の文章を入力とする。途中に改行が入っていても構わない。
【００３７】
図４は、入力テキスト２に対応した単語テーブル８の構成例を示す図である。単語テーブル８は、その単語の出現する部分文字列ＩＤ８０１、単語見出し８０２、標準形８０３、品詞８０４、不要語か否かを識別する不要語フラグ８０５（１であれば不要語）、キーワードか否かを識別するキーワードフラグ８０６（１であればキーワード）からなり、入力テキスト２における単語出現順に格納されている。ここで、部分文字列ＩＤ８０１は、部分文字列抽出照合文字列１７２（図７参照）で区分される単位ごとに、０以上の整数値をとり、入力テキスト２における出現順に値が大きくなっている。
【００３８】
図５は、キーワードテーブル９の構成の一例を示す図である。キーワードテーブル９は、キーワード抽出プログラム３の出力となる。キーワードテーブル９は、そのキーワードの出現する部分文字列ＩＤ９０１、キーワード文字列となる標準形９０２、キーワードの出現頻度に等しいＴＦ９０３、このキーワードの出現文書数の逆数をもとに算出されたＩＤＦ９０４、ＴＦ９０３およびＩＤＦ９０４から算出される重み９０５からなる。ここで、重み９０５の値は、前述した式（１）によって算出される。ここで、部分文字列ＩＤ９０１は０以上の整数値をとり、入力テキスト２における出現順に値が大きくなっている。値が０である単語は、入力テキスト２全体から抽出されたキーワードを表している。なお、部分文字列（部分文字列ＩＤが１以上）から抽出されたキーワードの重みは、図５では当該部分文字列内におけるＴＦをもとに算出されているが、入力テキスト全体におけるＴＦをもとに算出しても良い。すなわち、当該キーワードの入力テキスト全体におけるＴＦの値（部分文字列ＩＤ９０１が０である当該キーワードのＴＦ９０３の値）を用いても良い。また、部分文字列（部分文字列ＩＤが１以上）から抽出されたキーワードの重みを算出する際に用いるＴＦ９０３の値をすべて１に固定して重みを算出しても良いし、重み９０５の値をすべて同一値に固定しても良い。
【００３９】
図６は、検索結果格納テーブル１１の構成の一例を示す図である。検索結果格納テーブル１１は、検索に用いたキーワードが抽出された部分文字列ＩＤ１１０１、検索結果順位１１０２、検索文書ＩＤ１１０３、類似度１１０４からなる。検索順位１１０２は、類似度１１０４の値の高いものから順に付与される。ここで、部分文字列ＩＤ１１０１は単語テーブル８およびキーワードテーブル９における部分文字列の値と一致している。図６では、全体検索結果として類似度の高い上位１０００件の文書が格納されており、部分文字列検索結果として類似度の高い上位１００件の文書がそれぞれ格納されている。これらの件数の設定は、パラメータ設定データ１７（図７）の全体検索結果最大文書件数１７４、和集合生成適用文書件数１７３に設定されており、利用者が自由に設定できる。
【００４０】
図７は、パラメータ設定データ１７の構成の一例を示す図である。本データは本システムが検索を行うにあたり、必要となる各種パラメータの値を格納しており、利用者またはシステム管理者によって値の設定が可能である。パラメータ設定データ１７に格納されているパラメータには以下のものがある。
（１）キーワード品詞リスト１７１：
キーワードとして抽出される品詞が、普通名詞、サ変名詞、動詞、形容詞、接尾語のみであることを示している。
（２）部分文字列抽出照合文字列１７２：
入力テキストを構文的・意味的・表現された文字あるいは記号的にまとまった部分文字列に分割する際の境界条件を定義する。
（３）和集合生成適用文書件数１７３：
部分文字列検索結果から部分検索結果和集合を生成する際に用いる各部分文字列検索結果上位の文書件数を表す。
（４）全体検索結果最大文書件数１７４：
入力テキスト全体での検索結果として出力する検索文書の最大件数を表す。
（５）最終検索結果出力文書件数１７５：
最終検索結果として出力する文書件数を表す。
（６）キーワード連続数１７６：
キーワードの組を生成するために連続するいくつのキーワードを取り出すかを表す。
（７）キーワード組１７７：
いくつのキーワードの組を生成するかを表す。
【００４１】
図８Ａおよび図８Ｂは、キーワード抽出プログラム３の処理フローの詳細の前半部および後半部を示した図であり、図８ＡのＡから図８ＢのＡに移る。
【００４２】
部分文字列生成３１では、入力テキスト２に格納された入力テキストを読み込む（ステップ３１０１）。次に、ループカウンタＮを０に初期化する（ステップ３１０２）。次に、Ｎの値が入力テキストの長さよりも小さいか否かを判別し（ステップ３１０３）、小さくない場合、ステップ３１０７にスキップする。小さい場合、入力テキストの冒頭からＮバイト目から始まる文字列が、パラメータ設定データ１７の部分文字列抽出照合文字列１７２に定義された文字列のいずれか一つと一致するか否かを照合し（ステップ３１０４）、一致する場合、入力テキストにおける、当該一致した部分文字列抽出照合文字列の直後を部分文字列の境界として認定する（ステップ３１０５）。一致しない場合、ステップ３１０６にスキップする。次に、カウンタＮの値を１増加し（ステップ３１０６）、ステップ３１０３に戻る。次に、入力テキストを、境界と認定された部分で分割し、部分文字列データをワークエリアに一時格納する（ステップ３１０７）。
【００４３】
次に、形態素解析３２では、まず、ワークエリアに一時格納された部分文字列データを読み込む（ステップ３２０１）。次に、単語テーブル８を初期化する（ステップ３２０２）。次に、形態素解析されていない部分文字列があるか否かを判別し（ステップ３２０３）、有る場合、形態素解析を実行し（ステップ３２０４）、部分文字列ＩＤ、単語見出し、単語見出しの標準形、品詞情報を単語テーブル８に入力テキストにおける単語の出現順に格納する（ステップ３２０５）。形態素解析されていない部分文字列が無い場合、不要語除去３３の処理に移る。
【００４４】
次に、不要語除去３３では、まず、単語テーブル８に不要語除去処理が未処理である単語があるか否かを判別し（ステップ３３０１）、未処理の単語が無い場合、キーワード特定３４の処理に移る。未処理の単語が有る場合、当該単語が不要語辞書６に登録されているかどうかを照合し（ステップ３３０２）、登録されている場合、単語テーブル８における当該単語の不要語フラグ８０５の値を１にする（ステップ３３０３）。登録されていない場合、ステップ３３０１に戻る。
【００４５】
次に、キーワード特定３４では、まず、単語テーブル８にキーワード特定処理が未処理である単語があるか否かを判別し（ステップ３４０１）、未処理の単語が無い場合、ループを抜けてステップ３４０４にスキップする。未処理の単語が有る場合、当該単語の品詞がパラメータ設定データ１７のキーワード品詞リスト１７１にあるか否かを判別し（ステップ３４０２）、キーワード品詞リスト１７１に有る場合、単語テーブル８のキーワードフラグ８０６の値を１にし（ステップ３４０３）、ステップ３４０１に戻る。キーワード品詞リスト１７１に無い場合、ステップ３４０１に戻る。次に、キーワードデータをキーワードテーブル９に格納する処理が未処理である単語が単語テーブル８にあるか否かを判別し（ステップ３４０４）、未処理の単語が無い場合、ステップ３４０９にスキップする。
【００４６】
未処理の単語が有る場合、単語テーブル８における当該単語のキーワードフラグ８０６の値が１であるか否かを判別し（ステップ３４０５）、１でない場合、ステップ３４０４に戻る。１である場合、さらに、当該単語の標準形８０３がキーワードテーブル９における同一の部分文字列ＩＤを持つ標準形９０２に既に格納されているか否かをチェックし（ステップ３４０６）、既に格納されている場合、当該単語のＴＦ９０３の値を１増加させる（ステップ３４０７）。まだ格納されていない場合、単語テーブル８における当該単語の標準形８０３をキーワードテーブル９の標準形９０２に追加し、ＴＦ９０３の値を１にし、文書インデクスデータ１４から当該単語のＩＤＦ値を取得してＩＤＦ９０４に格納する（ステップ３４０８）。次に、キーワードテーブル９に格納された部分文字列ＩＤが１以上のキーワード毎に当該キーワードのＴＦ９０３の値を合計することにより、入力テキスト全体におけるキーワードのＴＦ９０３の値を算出する（ステップ３４０９）。そして、部分文字列ＩＤの値を０とし、キーワードの標準形９０２、ステップ３４０９で算出されたＴＦ９０３の値、当該キーワードのＩＤＦ値をキーワードテーブル９に格納し、キーワードテーブル９へのデータ格納を終了する（ステップ３４１０）。
【００４７】
次に、キーワード重み付与３５では、キーワードテーブル９に重み付与処理が未処理であるキーワードがあるか否かをチェックし（ステップ３４１１）、有る場合、キーワードテーブル９のＴＦ９０３に自然対数を施した値にＩＤＦ９０４の値を掛け合わせた値を重み９０５に格納し（ステップ３４１２）、ステップ３４１１に戻る。未処理キーワードが無い場合、処理を終了する。
【００４８】
図９は、部分検索結果和集合生成プログラム７における部分検索結果和集合１６を生成する処理フローを示す図である。まず変数Ｎの値を１に初期化する（ステップ７０１）。次に、変数Ｎの値が部分文字列の総数以下であるか否かを判別し（ステップ７０２）、総数以下である場合、検索結果格納テーブル１１における部分文字列ＩＤ１１０１の値がＮである検索結果集合の上位から、パラメータ設定データ１７の和集合生成適用文書件数１７３に定義された件数だけ、検索文書ＩＤ１１０３を取り出し、ワーキングエリアに格納する（ステップ７０３）。次に、変数Ｎの値を１増加させ（ステップ７０４）、ステップ７０２に戻る。ステップ７０２で総数以下で無い場合、ループを抜けてステップ７０５に移る。
【００４９】
次に、ワーキングエリアに格納されたすべての検索文書ＩＤをすべてマージしたリストを生成する（ステップ７０５）。次に、本リストをソートし、さらに重複する検索文書ＩＤを統合してユニーク化する（ステップ７０６）。そして、ソートされ、ユニークされた検索文書ＩＤを部分検索結果和集合１６にすべて格納して、処理を終了する。
【００５０】
図１０は、検索結果を利用者に表示する際の画面例の一例である。
【００５１】
本画面１００は、図２Ｂの表示手段１４の表示画面の例であり、大きく、入力テキスト表示エリア１２０、キーワード一覧表示エリア１４０、検索結果一覧表示エリア１６０からなる。
【００５２】
入力テキスト表示エリア１２０には、利用者が検索条件となる請求項テキストを入出力部1を介して入力すると、一旦、入力されたテキストデータが表示される。この段階で、必要に応じて内容を修正することができる。次いで、検索ボタン１２１を押下することにより、検索結果を得ることができ、この結果は検索結果一覧表示エリア１６０にリストの形で表示される。また、解析ボタン１２２を押下することにより、キーワード抽出プログラム３によって抽出されたキーワード群をキーワード一覧表示エリア１４０に表示することができる。また、分割ボタン１２３を押下することにより、入力テキスト表示エリア１２０のデータをステップ３１０７でワークエリアに格納された部分文字列の表示に切り替える。図１０の表示は、分割ボタン１２３を押下した結果を示している。
【００５３】
また、キーワード一覧表示エリア１４０については、項目を選択してソートボタン１４２を押下することにより、キーワード群を選択された項目でソートすることができる。さらに、編集ボタン１４１を押下することにより、ソートボタン１４２の押下によって得られた結果に対応した表示内容に修正することができ、再検索ボタン１４３を押下することにより、上記修正内容に応じたキーワードで再検索することができる。ここでは、キーワード一覧表示エリア１４０は、検索結果一覧１６０とともに表示しているが、解析ボタン１２２を検索前に押下することによって、キーワード一覧１４０を表示し、その内容を修正してから検索を行って、その結果を検索結果一覧１６０に表示することも可能である。
【００５４】
検索結果一覧表示エリア１６０では、検索実行プログラム１０で検索された結果が表示される。表示内容のソート（ソートボタン１６１）や表示スクロール（前頁ボタン１６２、次頁ボタン１６３）、個別の文書内容の表示（内容表示ボタン１６４）ができる。
【００５５】
検索を終了する時は、終了ボタン１８０を押し下げれば良い。
【００５６】
本画面において、利用者が検索結果一覧表示エリア１６０に表示されている任意の文書を指定する（本エリア最左端のチェックボックスをチェックする）と、当該文書の記載内容が入力テキストのどの部分文字列と関係が深いのかを特定し、入力テキスト表示エリアにおいて、当該関係の深い部分文字列を他と異なる態様（ここでは左端に記号「◎」が付いている）で表示する。もちろん、当該部分文字列の色やフォント、大きさ、背景色などを変えて表示しても良い。これにより、利用者は、検索結果一覧表示エリア１６０で指定した文書の検索のレベルを決めた部分文字列あるいはキーワードを容易に知ることができる。
【００５７】
以下、部分文字列あるいはキーワードと文書との関係の深さを特定する二つの方法について述べる。
【００５８】
第一の方法は、利用者が選択した文書が、各部分検索結果において何位にランクされているかをそれぞれ求め、その順位が最も高い検索結果に対応する部分文字列を関係が深いものとみなすものである。部分検索結果は検索結果格納テーブル１１に文書ＩＤとともに格納されているので、特定の文書がそれぞれ何位にランクされているかを特定する処理は容易に実現できる。また、部分文字列が決まれば、それに含まれるキーワードはキーワードテーブル９から容易に抽出できる。
【００５９】
例えば、図１０の入力テキストを構成する五つの部分文字列による文書Ｄｏｃ１の順位がそれぞれ、１５０位、１位、３位、５位、２位である場合、２番目の部分文字列の検索順位が最も高いので、入力テキスト表示エリア１２０において２番目の部分文字列の左端に記号「◎」を付ける。また、この部分文字列に含まれるキーワードは、「キーワード」と「抽出」なので、キーワード一覧表示エリア１４０においてこれらのキーワード表示行の左端に記号「◎」を付ける。
【００６０】
第二の方法は、利用者が選択した文書について、入力テキストから抽出された重み付き全体キーワードによる検索順位と、部分文字列による部分検索結果の順位とを比較し、部分文字列による部分検索結果の順位の方が高い場合、その部分検索結果に対応する部分文字列を関係が深いものとみなすものである。ここで、単に「順位が高い」だけでなく、順位が「どのくらい高い」かという閾値を設けても良い。すなわち、例えば、全体キーワードによる検索順位が５０位で、ある部分文字列による検索順位が２０位であり、順位が「どのくらい高い」かの閾値が「順位差が２０位以上」である場合、順位が５０位から２０位まで３０位分高くなっているので、当該部分文字列は関係が深いものとする、としても良い。閾値の設定は、順位差でなく、順位の値の絶対的な値（２０位以内）または相対的な値（５０％以内）というような設定の仕方でも良い。
【００６１】
図１１は、検索結果を利用者に出力表示する画面の他の一例を示す図である。図１０と違う点は、利用者が指定する内容の違いである。すなわち、図１０では利用者は検索結果一覧表示エリア１６０の任意の文書を指定したが、図１１では入力テキストに表示された任意の部分文字列を指定する。このとき、キーワード一覧表示エリア１４０には、当該選択された部分文字列に含まれるキーワードの左端に記号「◎」が付加される。また、検索結果一覧表示エリア１６０には、当該部分文字列に関係の深い文書の左端に記号「◎」が付加される。もちろん、当該関係の深い文書情報の色やフォント、大きさ、背景色などを変えて表示しても良い。
【００６２】
以下、当該部分文字列と関係が深い文書を特定する二つの方法について述べる。
【００６３】
第一の方法は、当該指定された部分文字列による検索結果をそのまま表示するものである。これは、検索結果格納テーブル１１に格納された当該部分文字列による検索結果をそのまま表示すれば良い。
【００６４】
第二の方法は、利用者が選択した部分文字列について、入力テキストから抽出された重み付き全体キーワードによる検索順位と、当該部分文字列による部分検索結果の順位とを比較し、当該部分文字列による部分検索結果の順位の方が高い文書を、当該部分文字列と関係が深いものとみなすものである。ここで、単に「順位が高い」だけでなく、順位が「どのくらい高い」かという閾値を設けても良い。すなわち、例えば、当該部分文字列に関して、ある文書の全体キーワードによる検索順位が５０位で、当該部分文字列による検索順位が２０位であり、順位が「どのくらい高い」かの閾値が「順位差が２０位以上」である場合、順位が５０位から２０位まで３０位分高くなっているので、当該部分文字列は関係が深いものとする、としても良い。閾値の設定は、順位差でなく、順位の値の絶対的な値（２０位以内）または相対的な値（５０％以内）というような設定の仕方でも良い。
【００６５】
上記該当する文書を他と異なる態様で表示する際に、該当する文書を検索結果一覧表示エリア１６０の冒頭部分に移動させてまとめて表示しても良いし、該当する文書のみを検索結果一覧表示エリア１６０に表示しても良い。
【００６６】
次に、上記実施形態の変形例について述べる。
【００６７】
（１）分類データの利用
上記実施形態では、入力テキストを部分文字列に分割し、部分文字列毎に行なった検索結果の上位をマージして部分検索結果集合を生成し、入力テキスト全体の検索結果との積集合を生成することによって、検索精度を向上させるものであった。ここで、部分文字列を単位として検索する場合、入力となるキーワードの中にノイズとなる語が少なくなる反面、キーワード数が減少することもあり、部分文字列がどの分野に関する記述であるかに関する情報が欠落することが多い。その結果、全く違う分野に関する文書が検索結果の上位に現れてしまう。そこで、入力テキスト全体からその記述に対応する分野を特定し、その分野に関連する文書だけを部分文字列検索結果とすることにより、全く違う分野の文書を除外する。
【００６８】
分野を特定する方法として最も良く使われるのは、文書毎に分類コードまたは統制語（シソーラス語）を付与するものである。本実施形態で扱う特許公開公報には、種々の分類コードが付与されているので、容易に実現可能である。また、入力テキストの内容がどの分野に関する（どの分類に属する）ものかを特定する方法としては、予め分類毎にキーワードを定義しておき、入力テキスト内のキーワードとの類似性を算出して関連の深い分類を特定する方法や、入力テキストを用いて検索実行プログラム１０で検索を行い、その検索結果の上位の文書にどの分類が多く付与されているかを統計分析することによって、関連の深い分類を特定する方法が有効である。
【００６９】
図１において、検索実行１０３を行う前に、上記方法によって入力テキスト１０１に関連する分類コードを認定しておく。各部分文字列に対して検索を実行して得られた部分検索結果に含まれる文書について、上記認定された分類コードが付与されているかを判別し、付与されていない文書については、部分検索結果から除外する。その他の処理については同一である。分類コードは、上記検索による他に、例えば、入力テキストの表示エリア１２０に入力窓を設けて、利用者が入力するものとしても良い。
（２）請求項末尾の発明対象記述部分の利用
本変形例は、入力テキストが請求項テキストである場合に有効である。上述した分類データを利用した検索の代わりに、入力された請求項における末尾の名詞句（「〜を特徴とする」と言った固有表現の直後に記載される名詞句、以下「発明対象記述部分」と呼ぶ）の情報を使う。この発明対象記述部分は、分類コード同様、分野を限定する手掛かりとして有効である。そこで、単に入力テキストを部分文字列に分割してそれぞれ検索するのではなく、この発明対象記述部分に出現するキーワードを、各部分文字列から抽出されるキーワードに追加して検索することにより、全く違う分野の検索結果が出力されるのを防止する。図１において、発明対象記述部分に相当するのは、部分文字列４の文字列であり、この部分文字列から抽出されるキーワードはＫＷ２、ＫＷ３、ＫＷ８である。そこで、これらのキーワードを各部分文字列から抽出されたキーワード１０２ａ、１０２ｂ、１０２ｃに追加して、検索を実行する。
【００７０】
なお、本変形例と、上述した分類を利用する方法を両方適用しても良い。
（３）入力テキスト内の連続するキーワードの利用
本実施形態では、入力テキストを部分文字列に分割し、各部分文字列からキーワードを抽出したが、本変形例では、まず最初に入力テキストからキーワードを抽出して入力テキスト内での出現順に並べたリストを生成し、当該リストにおいて連続する複数個のキーワードからなる「キーワードの組」を取り出し、これを重み付き部分文字列キーワードの代わりに用いる。本変形例のメリットは、入力テキストを部分文字列に分割する処理が不要となることにある。
【００７１】
図１２は、入力テキスト内の連続するキーワードの利用による実施形態の概要を図１に対応した形で示した図である。図１と図１２で異なるのは、重み付き部分文字列キーワードの抽出の仕方である。すなわち、まず、入力テキスト１０１を解析して出現順キーワードリスト１０００を生成する。単語テーブル８（図４参照）においてキーワードフラグ８０６の値が１である単語の標準形８０３を順に抽出することによって実現可能である。次に、本リスト１０００を最初からスキャンし、連続する３つのキーワードを取り出してキーワードの組を生成する。この「３つ」という値の設定は、パラメータ設定データ１７のキーワード連続数１７６に定義され、利用者またはシステム管理者によって設定可能である。次に、キーワードへ重みを付与するが、その際、ＴＦの値を１として重みを算出する。ここで、ＴＦの値を１として算出された重みを使う代わりに、入力テキスト全体のＴＦを用いて重みを算出しても良い。すなわち、図１２において、重み付き部分文字列キーワード１０２ａ〜１０２ｄにおける重みの値は、重み付き全体キーワード１０２における重みの値と一致する。
（４）入力テキスト内の任意のキーワードの利用
入力テキスト内の連続するキーワードを利用する代わりに、入力テキスト全体から抽出されたキーワードから任意のＮ個のキーワードを取り出し、このキーワードの組で検索を行うものである。入力テキストの内容を特徴付ける重要キーワードは必ずしも連続して出現するとは限らず、入力テキストに分散して現れることもある。本変形例は、そのような場合において重要なキーワードの組を生成するのに有効である。
【００７２】
図１３は、入力テキスト全体から抽出されたキーワードから任意のＮ個のキーワードの利用による実施形態の概要を図１に対応した形で示した図である。図１２と図１３で異なるのは、図１２がキーワードの出現順序を考慮しているのに対して、図１３では、それを考慮していない点である。すなわち、入力テキスト１０１から重み付き全体キーワード１０２を抽出し、この中から任意の３種類のキーワードを取り出す。この「３種類」という値は、パラメータ設定データ１７の「キーワードの組１７７」として定義され、利用者またはシステム管理者が自由に設定できる。重み付けは、ＴＦの値を１として算出しても良いし、重み付き全体キーワード１０２の重みの値を継承しても良い。
（５）検索回数を一度だけにする
上述した実施形態では、部分文字列の数が増えるほど、または、キーワードの組の数が増えるほど検索実行プログラム１０において実行される検索回数が多くなる。その結果、検索の性能が低下してしまう。本変形例では、検索回数を１回だけとすることにより、検索性能を向上させる。
【００７３】
検索は、図１における重み付き全体キーワード１０２を使って１回だけ行なわれる。これにより、検索結果文書が出力されるが、各検索結果文書には類似度スコアが付いている。本変形例では、文書毎に類似度を出す際に、重み付き全体キーワード１０２に含まれる各キーワードが類似度算出スコアに占める割合（相対値でも絶対値でも良い）を抽出する。例えば、類似度が、入力テキストから抽出されたキーワードベクトルと検索対象文書から抽出されたキーワードベクトルとの内積によって算出される場合、類似度スコアは、キーワードベクトルの各ベクトル成分の積の合計となるので、各キーワードのベクトル成分の積の値がそのキーワードが類似度スコアに占める寄与度を表すことになる。
【００７４】
このように、類似度スコアのほかに、この「キーワード別類似度」が得られると、部分文字列キーワードで検索して検索結果文書を得る代わりに、部分文字列キーワードとして使われたキーワード各々に対して、上記キーワード別類似度を抽出し、その総和を文書の類似度とみなす。これによって、何度の検索をすることなく、各部分文字列キーワードの検索結果文書を得ることができる。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施形態の概要を示す図である。
【図２Ａ】本発明の実施形態で述べるシステムを利用者の操作、各種データおよびデータの処理に関するプログラムを関連付けて表示したブロック図である。
【図２Ｂ】図２Ａで説明した本実施形態で述べるシステムを電子計算機の構成として表示したブロック図である。
【図３】本発明の実施形態の入力テキスト２の構成の一例を示す図である。
【図４】本発明の実施形態の入力テキスト２に対応した単語テーブル８の構成の一例を示す図である。
【図５】本発明の実施形態のキーワードテーブル９の構成の一例を示す図である。
【図６】本発明の実施形態の検索結果格納テーブル１１の構成の一例を示す図である。
【図７】本発明の実施形態のパラメータ設定データ１７の構成の一例を示す図である。
【図８Ａ】本発明の実施形態のキーワード抽出プログラム３の処理フローの前半を示す図である。
【図８Ｂ】本発明の実施形態のキーワード抽出プログラム３の処理フローの後半を示す図である。
【図９】本発明の実施形態の部分検索和集合生成プログラム７の処理フローを示す図である。
【図１０】本発明の実施形態における検索結果出力画面の一例を示す図である。
【図１１】本発明の実施形態における検索結果出力画面の他の例を示す図である。
【図１２】入力テキスト内の連続するキーワードの利用による本発明の実施形態の概要を図１に対応した形で示した図である。
【図１３】入力テキスト全体から抽出されたキーワードから任意のＮ個のキーワードの利用による本発明の実施形態の概要を図１に対応した形で示した図である。
【符号の説明】
【００７６】
１…入出力部、１１…キーボード、１２…マウス、１３…印刷手段、１４…表示手段、２…入力テキスト、３…キーワード抽出プログラム、４…単語辞書、５…文法辞書、６…不要語辞書、７…部分検索結果和集合生成プログラム、８…単語テーブル、９…キーワードテーブル、１０…検索実行プログラム、１１…検索結果データ、１２…検索結果表示プログラム、１３…文書データ、１４…文書インデクスデータ、１５…インデクス生成プログラム、１６…部分検索結果和集合、１７…パラメータ設定データ、１００…表示画面、１２０…入力テキスト表示エリア、１２１…検索ボタン、１２２…解析ボタン、１２３…リセットボタン、１４０…キーワード一覧表示エリア、１４１…編集ボタン、１４２…ソートボタン、１４３…再検索ボタン、１６０…検索結果一覧表示エリア、１６１…ソートボタン、１６２…前頁ボタン、１６３…次頁ボタン、１６４…内容表示ボタン、１８０…終了ボタン、２００…システムバス、２０１…ＣＰＵ、２０３…メモリのワークエリア、２０４…メモリの格納エリア、２０５…クライアント、２０７…ネットワーク。
【図１】
2005301856.tif 000004
【図２Ａ】
2005301856.tif 000005
【図２Ｂ】
2005301856.tif 000006
【図３】
2005301856.tif 000007
【図４】
2005301856.tif 000008
【図５】
2005301856.tif 000009
【図６】
2005301856.tif 000010
【図７】
2005301856.tif 000011
【図８Ａ】
2005301856.tif 000012
【図８Ｂ】
2005301856.tif 000013
【図９】
2005301856.tif 000014
【図１０】
2005301856.tif 000015
【図１１】
2005301856.tif 000016
【図１２】
2005301856.tif 000017
【図１３】
2005301856.tif 000018