(57)【特許請求の範囲】
【請求項１】
種文書に類似する文書を登録文書から検索する類似文書検索方法であって、
前記登録文書の登録文書数および、前記登録文書の言語種別毎の言語別登録文書数を格納しており、
単語抽出手段が、前記種文書から単語を抽出し、
単語重み算出手段が、前記単語が使用されている文書数を前記登録文書から取得し、該取得した文書数と前記言語別登録文書数とから、前記単語の重要度を算出し、
特徴語選択手段が、前記重要度が所定の条件を満たす前記単語を選択し、
統合重み算出手段が、前記選択した単語が使用されている文書数を前記登録文書から取得し、該取得した文書数と前記登録文書数とから、前記選択した単語の重要度を算出し、
類似度算出手段が、該算出された重要度を用いて前記種文書と前記登録文書との類似度を算出することを特徴とする類似文書検索方法。
【請求項２】
前記重要度は、前記単語が使用されている文書が前記登録文書のなかに存在する度合いに基づき算出されることを特徴とする請求項１に記載の類似文書検索方法。
【請求項３】
前記類似度は、前記重要度と、前記種文書内に前記単語が出現する頻度と、前記登録文書内に前記単語が出現する頻度とから求められることを特徴とする請求項１または２に記載の類似文書検索方法。
【請求項４】
前記所定の条件は、前記単語の重要度が所定の値を超えるものであることを特徴とする請求項１乃至３のいずれか１項に記載の類似文書検索方法。
【請求項５】
前記所定の条件は、前記重要度の降順に所定の個数の前記単語を抽出することを特徴とする請求項１乃至３のいずれか１項に記載の類似文書検索方法。
【請求項６】
検索結果出力手段が、前記類似度が所定の条件を満たす前記登録文書を出力することを特徴とする請求項１乃至５のいずれか１項に記載の類似文書検索方法。
【請求項７】
検索結果出力手段が、前記類似度の降順に前記登録文書を出力することを特徴とする請求項１乃至６のいずれか１項に記載の類似文書検索方法。
【請求項８】
種文書に類似する文書を登録文書から検索する類似文書検索システムであって、
前記登録文書の登録文書数および、前記登録文書の言語種別毎の言語別登録文書数を格納する記憶手段と、
前記種文書から単語を抽出する単語抽出手段と、
前記単語が使用されている文書数を前記登録文書から取得し、該取得した文書数と前記言語別登録文書数とから、前記単語の重要度を算出する単語重み算出手段と、
前記重要度が所定の条件を満たす前記単語を選択する特徴語選択手段と、
前記選択した単語が使用されている文書数を前記登録文書から取得し、該取得した文書数と前記登録文書数とから、前記選択した単語の重要度を算出する統合重み算出手段と、
該算出された重要度を用いて前記種文書と前記登録文書との類似度を算出する類似度算出手段と、
を有することを特徴とする類似文書検索システム。
【請求項９】
前記重要度は、前記単語が使用されている文書が前記登録文書のなかに存在する度合いに基づき算出されることを特徴とする請求項８に記載の類似文書検索システム。
【請求項１０】
前記類似度は、前記重要度と、前記種文書内に前記単語が出現する頻度と、前記登録文書内に前記単語が出現する頻度とから求められることを特徴とする請求項８または９に記載の類似文書検索システム。
【請求項１１】
前記所定の条件は、前記重要度が所定の値を超えるものであることを特徴とする請求項８乃至１０のいずれか１項に記載の類似文書検索システム。
【請求項１２】
前記所定の条件は、前記重要度の降順に所定の個数の前記単語を抽出することを特徴とする請求項８乃至１０のいずれか１項に記載の類似文書検索システム。
【請求項１３】
前記類似度が所定の条件を満たす前記登録文書を出力する検索結果出力手段を有することを特徴とする請求項８乃至１２のいずれか１項に記載の類似文書検索システム。
【請求項１４】
前記類似度の降順に前記登録文書を出力する検索結果出力手段を有することを特徴とする請求項８乃至１３のいずれか１項に記載の類似文書検索システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ユーザが指定した文書に記述されている内容と類似する内容を含む文書を、文書データベースの中から検索する方法に関する。
【０００２】
【従来の技術】
近年、組織内での業務の効率化や、業務の質を向上させるために、組織内の個人の知識を共有し、再利用することを目的とする知識管理システムへの要求が高まってきている。特に企業内で活用する知識管理システムに対しては、有識者の経験やノウハウなどを文書化し、知識として共有、活用することへの要望が高まっている。
【０００３】
また、インターネットの普及に伴い、世界各国で文書化された有識者の経験やノウハウも容易に入手することができるようになってきており、組織内の知識と同様に共有し、活用したいという要望が高まってきている。
【０００４】
このような背景の下、組織内で蓄えられた大量の知識の中から、ユーザが所望するものを簡単に、かつ適切に取得する高精度な検索機能が重要になってきている。
【０００５】
このような要求に応える技術として、ユーザが自分の所望する内容を含んだ文書（以下、種文書と呼ぶ）を例示し、その文書と内容の類似するものを検索する類似文書検索技術が注目されている。
【０００６】
類似文書検索の方法としては、例えば、全文検索用インデクスを用いた類似文書検索方法（以下、従来技術１と呼ぶ）がある。
【０００７】
従来技術１の処理手順を図２を用いて説明する。まず、ステップ２００において、入力されたコマンドが登録処理か検索処理かを判定し、登録処理と判定された場合にはステップ２１０〜ステップ２１１を実行し、検索処理と判定された場合にはステップ２２０〜ステップ２２２を実行する。
【０００８】
文書の登録処理であるステップ２１０では、文書データベースでの統計情報を計数し、格納する。そして、ステップ２１１において各登録文書に対して、全文検索用インデクスを作成する。
【０００９】
また、類似文書の検索時には、まずステップ２２０を実行し、検索条件として指定された種文書に対する種文書特徴ベクトルを作成する。
【００１０】
そして、全ての登録文書に対してステップ２２２を繰返し実行する（ステップ２２１）。ステップ２２２では、種文書に対する各登録文書の類似度を算出する。以上が、従来技術１の概要である。
【００１１】
以下、従来技術１の処理手順について図３を用いて具体的に説明する。従来技術１では、まずステップ２００において、要求されている処理が文書の登録処理であるか検索処理かを判定する。そして、文書の登録処理と判定された場合には、ステップ２１０〜２１１を実行し、類似文書の検索処理と判定された場合にはステップ３１０〜３１３を実行する。
【００１２】
文書の登録処理であるステップ２１０では、文書データベースへの登録文書数が統計情報として計数される。本図に示した例では、登録文書３０１「ＬＡＮの構築と運用・保守に必要な機器を…」および３０２「情報システムの構築や保守を手がける…」が登録対象文書として指定された場合を表しており、文書データベースに対して２件の文書が登録されるため、統計情報３０９として「登録文書数：2」と格納される。
【００１３】
次にステップ２１１で、登録対象となる文書に対する全文検索用インデクスが作成される。本図に示した例では、登録文書３０１および３０２に対する検索用インデクス３０３が作成されることを示している。ここで、検索用インデクス３０３を「単語［出現文書数］(文書番号，出現回数)」と表記した。例えば、検索用インデクス３０３内の「システム［1］(2,1)」は、単語“システム”の出現文書数は１であり、文書２の中に１回出現していることを表している。
【００１４】
また、類似文書の検索処理ではステップ３１０〜３１３が実行される。以下、検索条件として種文書３０４「情報システムの保守を担当する。」が入力された場合を例に説明する。まず、ステップ３１０において種文書から単語が抽出され、種文書内での出現回数との組にしたリスト（以下、単語リストと呼ぶ）が出力される。本図に示した例では、種文書３０４「情報システムの保守を担当する。」から、単語リスト３０５「（"情報", 1）（"システム", 1）（"保守", 1）（"担当", 1）」が出力される。ここで、（"情報", 1）は、単語“情報”が種文書中に１回出現していることを表している。
【００１５】
次に、ステップ３１１において、上記ステップ３１０で出力された単語リストに含まれる各単語の重みが、登録時に作成された統計情報および検索用インデクスを参照して算出され、単語重みリストとして出力される。本図に示した例では、統計情報３０９を参照することで取得された登録文書数と検索用インデクス３０３を参照することで取得された各単語の出現文書数から数１を用いて重みが算出され、単語重みリスト３０６「"情報"（2.00）"システム"（2.00）"保守"（1.00）"担当"（0.00）」が出力される。ここで、"情報"（2.00）は、単語“情報”の重みは２．００であることを表しており、また、単語“担当”は登録文書中に出現しないため、その重みは０．００と算出される。
【数１】
0003918531.tif 000002
ここで、Ｎは登録文書数を表し、ｎは各単語の出現文書数を表す。次に、ステップ３１２において、上記ステップ３１１で作成された単語重みリストの中から、重みが所定の条件を満たす単語が種文書の特徴を表す単語（以下、特徴語と呼ぶ）として選択され、特徴語リストとして出力される。本図に示した例では、重みが１．０を超える単語が特徴語として出力されるものとした。したがって、単語重みリスト３０６に含まれる単語の重みが１．０を超える“情報”および“システム”が特徴語として抽出され、特徴語リスト３０７に格納される。
【００１６】
そして、ステップ３１３において、各登録文書の種文書に対する類似度が算出される。本図に示した例では、類似度の算出式として数２を用いた。本式は、単語の重みと種文書および各登録文書のそれぞれにおける出現回数の積和を類似度として算出するものである。この結果、文書１の類似度は数３に示すように１．００と算出され、文書２の類似度は数４に示すように５．００と算出される。これらは、類似度算出結果３０８として出力される。
【数２】
0003918531.tif 000003
【数３】
0003918531.tif 000004
【数４】
0003918531.tif 000005
この結果、文書１よりも文書２の方が、種文書に対して内容が類似している文書として検索される。以上が、従来技術１の処理手順である。以上説明したように従来技術１では、種文書と登録文書の間に共通して出現する各単語の統計情報と出現回数情報を用いることにより、検索条件として指定された種文書に内容が類似する文書を検索することができる。
【００１７】
【発明が解決しようとする課題】
しかし、従来技術１では、全体が日本語や英語などの単一の言語で記述された文書（以下、単一言語文書と呼ぶ）や一文書中に日本語や英語などで記述された文あるいは段落等が複数の言語にまたがって混在している文書（以下、複数言語混在文書と呼ぶ）が蓄積された文書データベースを対象に、類似文書検索を行なう場合には、以下のような問題点がある。
【００１８】
すなわち、従来技術１では文書データベースに蓄積される全ての登録文書を対象として一様に収集した統計情報を使用するため、種文書から抽出された単語の重要度が正しく算出されない場合がある。特に、記述する言語の種類によって蓄積される文書の登録件数に偏りがある場合には、この問題は顕著に表れる。
【００１９】
以下、日本語や英語の単一言語文書あるいは複数言語混在文書が蓄積された文書データベースに対して類似文書検索を行なった場合の問題点を、図４を用いて説明する。
【００２０】
図４は、文書４０１「本稿では、目的の文書を検索することを…」等の単一言語文書や文書４０２「本稿では、入力された文書に対する… This paper shows how to search documents ...」等の複数言語混在文書が蓄積され、統計情報４０９として「登録文書数：14000」および検索用インデクス４０３が作成された文書データベースに対して、検索条件として種文書４０４「about connecting to a network, ...」が指定された場合の例である。なお、検索用インデクス４０３は、前述の検索用インデクス３０３と同一形式で表記した。すなわち、検索用インデクス４０３は「単語［出現文書数］(文書番号，出現回数)」と表記されており、例えば「documents[801](4,1)」は、単語“documents”の出現文書数は801であり、文書４の中には１回出現していることを表している。
【００２１】
まず、ステップ３１０が実行され、種文書４０４から単語が抽出される。ここで、英文からの単語抽出方法については、スペース(空白)やカンマ、ピリオドなどを区切り文字として抽出されるアルファベットの連続文字列を単語として抽出する。この結果として、種文書から抽出された単語および該単語の種文書における出現回数との組である単語リスト４０５が出力される。次に、ステップ３１１が実行され、文書データベースへの文書蓄積時に作成された検索用インデクス４０３および統計情報４０９が参照され、上記ステップ３１０で作成された単語リスト４０５内の各単語の重みが算出される。この結果として単語重みリスト４０６が出力される。
【００２２】
そして、ステップ３１２において、上記ステップ３１１で作成された単語重みリスト４０６の中から、重みが所定の条件を満たす単語が特徴語として選択され、特徴語リスト４０７として出力される。本図で示した例では、重みが２．０を超える単語が特徴語として出力されるものとした。したがって、種文書から抽出された全ての単語"about", "connecting", "to", "a", "network"が特徴語として選択され、特徴語リスト４０７に格納される。そして、ステップ３１３において、各登録文書の種文書に対する類似度が算出される。この結果、特徴語リスト４０７内の単語を含まない文書３の類似度は０．０と算出され、単語“to”が共通する文書４の類似度は数５に示されるように３．１８と算出される。これらは、類似度算出結果４０８として出力される。
【数５】
0003918531.tif 000006
この結果、種文書の内容と関係のない文書４に対しても類似度が付与されてしまうことになる。この結果、ノイズを含む検索結果が得られる。本発明では、このような問題に対し、登録文書が複数の言語で記述される場合でも、検索ノイズの少ない高精度な類似文書検索方法を提供することを課題とする。
【００２３】
【課題を解決するための手段】
上記課題を解決するための、本発明に示す類似文書検索方法は、統計情報計数ステップ２１０の代わりに、図５のＰＡＤ図に示すように、文書の登録時に登録文書の記述言語を識別し、記述言語別の統計情報を計数する記述言語別統計情報計数ステップ５１０を有することを特徴とする。
【００２４】
以下、本発明による類似文書検索の処理手順を図６を用いて具体的に説明する。まず、本発明の文書登録処理について説明する。本発明の言語別統計情報計数ステップ５１０では、登録対象となる文書に対して言語別に統計情報を計数する。例えば、本図に示した登録文書４０１「本稿では、目的の文書を検索することを…」は日本語文書と判定され、登録文書４０２「本稿では、入力された文書に対する… This paper shows how to search documents ...」は日本語文書および英語文書と判定される。そして、本判定結果を集計した「日本語文書２、英語文書１」が言語別統計情報６０９に追加される。この結果、言語別統計情報６０９として「登録文書数  日本語文書：13020、英語文書：3180」が格納される。そして、ステップ２１１において、全文検索用インデクスを作成する。以上が、本発明における文書登録の処理手順である。
【００２５】
次に、本発明を適用した類似文書検索システムにおける類似文書検索処理手順について、検索条件として種文書４０４「about connecting to a network, ...」が入力された場合の例を用いて説明する。まず、ステップ３１０において、従来技術１と同様に種文書４０４から単語が抽出され、単語リスト４０５が生成される。次に、ステップ３１１において、単語リスト４０５に含まれる各単語について、文書データベースへの文書蓄積時に作成された言語別統計情報６０９を参照し、各単語の記述言語に対応する登録文書数を取得すると共に、検索用インデクス４０３を参照することで該単語の出現文書数を取得する。そして、これらの情報を用いて該単語の重みが算出され、単語重みリスト６０６として出力される。
【００２６】
本図に示した例では、例えば、単語リスト４０５に含まれる単語“about”の記述言語は英語であることから、英語登録文書数として3180を言語別統計情報６０９から取得する。また、検索用インデクス４０３を参照することで出現文書数3013を取得する。これらの値を数６に代入することで、単語“about”の重みは1.08と算出され、単語重みリスト６０６に格納される。
【数６】
0003918531.tif 000007
ここで、Ｎは登録文書数を表し、ｎは各単語の出現文書数を表す。そして、ステップ３１２において重みが所定の条件を満たす単語が特徴語として抽出され、続くステップ３１３で類似度算出に使用される。本図に示した例では、前述の図３と同様に重みが２．０を超える単語を特徴語として抽出する。このため単語“connecting”および“network”が特徴語として抽出され、類似度算出に使用される。この結果、文書３および文書４の類似度は０．００と算出される。
【００２７】
すなわち、本発明によれば、種文書の記述に関係のない文書４が検索結果として出力されない。以上が、本発明における類似文書検索処理手順である。
【００２８】
以上説明したように、本発明では言語別に登録文書の統計情報を計数し、類似文書検索時の重み算出に使用することにより、各言語の特性に応じた特徴語を抽出できるようになる。この結果、検索ノイズのない高精度な類似文書検索結果を得ることができるようになる。
【００２９】
【発明の実施の形態】
以下、本発明の第一の実施例について図１を用いて説明する。本発明を適用した類似文書検索システムの第一例は、ディスプレイ１００、キーボード１０１、中央演算処理装置（ＣＰＵ）１０２、磁気ディスク装置１０３、フロッピディスクドライブ（ＦＤＤ）１０４、主メモリ１０５、これらを結ぶバス１０６および他の機器と本システムを接続するネットワーク１０７から構成される。
【００３０】
磁気ディスク装置１０３は二次記憶装置の一つであり、言語別統計情報ファイル１７０および検索用インデクス１７１が格納される。ＦＤＤ１０４を介してフロッピディスク１０８に格納されている登録対象として指定された文書（以下、登録対象文書と呼ぶ）が、主メモリ１０５あるいは磁気ディスク装置１０３へ読み込まれる。主メモリ１０５には、システム制御プログラム１１０、登録制御プログラム１１１、検索制御プログラム１１２、登録文書取得プログラム１２０、言語別統計情報収集登録プログラム１２１、検索用インデクス作成登録プログラム１２２、検索条件解析プログラム１３０、特徴語抽出プログラム１３１、類似度算出プログラム１３２、検索結果出力プログラム１３３、単語抽出プログラム１５０、単語重み算出プログラム１５１、特徴語選択プログラム１５２、検索用インデクス読込プログラム１６０および特徴語別類似度算出プログラム１６１が格納されると共にワークエリア１４０が確保される。
【００３１】
特徴語抽出プログラム１３１は、単語抽出プログラム１５０、単語重み算出プログラム１５１および特徴語選択プログラム１５２を呼び出す構成を取る。類似度算出プログラム１３２は、検索用インデクス読込プログラム１６０および特徴語別類似度算出プログラム１６１を呼び出す構成を取る。登録制御プログラム１１１および検索制御プログラム１１２は、ユーザによるキーボード１０１からの指示に応じてシステム制御プログラム１１０によって起動される。登録制御プログラム１１１は、登録文書取得プログラム１２０、言語別統計情報収集登録プログラム１２１および検索用インデクス作成登録プログラム１２２の制御を行なう。
【００３２】
検索制御プログラムは検索条件解析プログラム１３０、特徴語抽出プログラム１３１、類似度算出プログラム１３２および検索結果出力プログラム１３３の制御を行なう。なお本実施例では、キーボード１０１から入力されたコマンドにより、登録制御プログラム１１１や検索制御プログラム１１２が起動されるものとしたが、他の入力装置あるいはネットワーク１０７を介して入力されたコマンドあるいはイベントにより起動されるものであってもかまわない。
【００３３】
また、これらのプログラムを磁気ディスク装置１０３、フロッピディスク１０８、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ等の記憶媒体（図１には示していない）に格納し、駆動装置を介して主メモリ１０５に読み込み、ＣＰＵ１０２によって実行することが可能である。また、これらのプログラムをネットワーク１０７を介して主メモリ１０５に読みこみ、ＣＰＵ１０２によって実行することも可能である。
【００３４】
さらに、本実施例では言語別統計情報ファイル１７０および検索用インデクス１７１を磁気ディスク装置１０３に格納されるものとしたが、フロッピディスク１０８、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ等の記憶媒体（図１には示していない）に格納し、駆動装置を介して主メモリ１０５に読み込み利用することも可能である。また、これらのファイルをネットワーク１０７を介して、他のシステムに接続された記憶媒体（図１には示していない）に格納されるものとしてもよいし、あるいはネットワーク１０７に直接接続された記憶媒体に格納されるものとしても構わない。さらに、本実施例では登録対象文書をフロッピディスク１０８に格納されるものとしたが、磁気ディスク装置１０３、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ等の記憶媒体（図１には示していない）に格納し、駆動装置を介して主メモリ１０５に読み込み利用することも可能である。
【００３５】
また、登録対象文書をネットワーク１０７を介して、他のシステムに接続された記憶媒体（図１には示していない）に格納されるものとしてもよいし、あるいはネットワーク１０７に直接接続された記憶媒体に格納されるものとしても構わない。
【００３６】
以下、本実施例における類似文書検索システムの処理手順について説明する。まず、システム制御プログラム１１０の処理手順について図７のＰＡＤ図を用いて説明する。システム制御プログラム１１０は、まずステップ７００で、キーボード１０１から入力されたコマンドを解析する。
【００３７】
そしてステップ７０１で、この結果が登録実行のコマンドであると解析された場合には、ステップ７０２で登録制御プログラム１１１を起動して、文書の登録を行なう。またステップ７０１で、検索実行のコマンドであると解析された場合には、ステップ７０３で検索制御プログラム１１２を起動して、類似文書の検索を行なう。以上が、システム制御プログラム１１０の処理手順である。
【００３８】
次に、図７に示したステップ７０２でシステム制御プログラム１１０により起動される登録制御プログラム１１１の処理手順について、図８のＰＡＤ図を用いて説明する。登録制御プログラム１１１は、まずステップ８００において登録文書取得プログラム１２０を起動し、登録対象文書を読み込み、ワークエリア１４０に格納する。次に、ステップ８０１において言語別統計情報収集登録プログラム１２１を起動し、前記ステップ８００においてワークエリア１４０に格納された登録対象文書に関する統計情報を、該登録対象文書の記述言語別に収集する。そして、言語別統計情報ファイル１７０として磁気ディスク装置１０３に格納する。
【００３９】
ここで、登録対象文書の記述言語の識別方法としては、該登録文書を記述する文字の文字コードが属する言語分野により判断するものとしてもよいし、該登録文書の属性情報としてユーザにより指定されるものとしてもよいし、あるいはＳＧＭＬやＸＭＬなどのタグ属性として該登録文書内に記述されるものとしてもよい。また、登録文書を記述する文字の文字コードが属する言語分野により判定する場合、ある言語の文字が所定の文字数以上含まれるものを該言語の文書と判定するものとしてもよいし、該登録文書に含まれる文字コードの言語種別比を算出し、該言語種別比が所定の値を超えている場合に該言語の文書と判定するものとしてもよいし、あるいは、ある言語の文字が所定の文字数以上連続して出現するものを該言語の文書と判定するものとしてもよい。
【００４０】
次に、ステップ８０２において検索用インデクス作成登録プログラム１２２を起動し、前記ステップ８００においてワークエリア１４０に格納された登録対象文書に対する検索用インデクスを作成する。そして、検索用インデクス１７１として、磁気ディスク装置１０３に格納する。以上が、登録制御プログラム１１１の処理手順である。
【００４１】
次に、図７に示したステップ７０３でシステム制御プログラム１１０により起動される検索制御プログラム１１２の処理手順について、図９のＰＡＤ図を用いて説明する。検索制御プログラム１１２は、まずステップ９００において検索条件解析プログラム１３０を起動し、検索条件で指定された種文書を読み込み、ワークエリア１４０に格納する。そして、ステップ９０１において特徴語抽出プログラム１３１を起動し、上記ステップ９００でワークエリア１４０に格納された種文書から特徴語を抽出する。
【００４２】
次に、ステップ９０２において類似度算出プログラム１３２を起動し、文書データベースに登録された文書（以下、登録文書と呼ぶ）の種文書に対する類似度を算出する。そして、ステップ９０３において検索結果出力プログラム１３３を起動し、上記ステップ９０２で算出された各登録文書の種文書に対する類似度を出力する。以上が、検索制御プログラム１１２の処理手順である。
【００４３】
次に、図９で示したステップ９０１で検索制御プログラム１１２により起動される特徴語抽出プログラム１３１の処理手順について、図１０に示すＰＡＤ図を用いて説明する。特徴語抽出プログラム１３１は、まずステップ１０００において単語抽出プログラム１５０を起動し、種文書から単語を抽出すると共に、各単語の出現回数を計数し、ワークエリア１４０に格納する。
【００４４】
次に、ステップ１００１において単語重み算出プログラム１５１を起動し、言語別統計情報ファイル１７０および検索用インデクス１７１を参照することにより、上記ステップ１０００でワークエリア１４０に格納された全ての単語の重みを算出し、ワークエリア１４０に格納する。そして、ステップ１００２において特徴語選択プログラム１５２を起動し、上記ステップ１００１においてワークエリア１４０に格納された単語の重みが、検索条件で指定された所定の値を超えるものを特徴語として選択し、ワークエリア１４０に格納する。ここで、特徴語として選択するための単語の重み値条件を検索条件で指定されるものとしたが、検索条件で指定されるのではなく、システム設定ファイル（図１には示していない）に記述されるものとしてもよいし、環境変数により指定されるものとしてもよい。以上が、特徴語抽出プログラム１３１の処理手順である。
【００４５】
次に、図９に示したステップ９０２で検索制御プログラム１１２により起動される類似度算出プログラム１３２の処理手順について、図１１に示すＰＡＤ図を用いて説明する。類似度算出プログラム１３２では、図９に示したステップ９０１において特徴語抽出プログラム１３１により種文書から抽出された全ての特徴語に対し、それぞれステップ１１０１〜１１０３を繰り返し実行する（ステップ１１００）。まずステップ１１０１において、検索用インデクス読込プログラム１６０を起動し、上記ステップ１１００で選択された特徴語に対する検索用インデクス１７１を読み込み、各登録文書における出現情報を取得する。
【００４６】
次に、ステップ１１０２において、特徴語別類似度算出プログラム１６１を起動し、上記ステップ１１００で選択された特徴語による種文書に対する各登録文書の類似度（以下、特徴語別類似度と呼ぶ）を算出する。そして、ステップ１１０３において、上記ステップ１１０２で算出された各登録文書の特徴語別類似度を、各登録文書全体の類似度に加算し、ワークエリア１４０に格納する。以上が、類似度算出プログラム１３２の処理手順である。
【００４７】
以下、本発明の第一の実施例における類似文書検索システムの具体的な処理手順を図１２〜図１５を用いて説明する。まず、本発明の第一の実施例における類似文書検索システムへの文書の登録処理について、図１２を用いて説明する。図１２では、文書３「本稿では、目的の文書を検索することを…」および文書４「本稿では、入力された文書に対する…  This paper shows how to search documents ...」が文書データベースに登録される場合の処理の流れを示す。
【００４８】
まず、登録文書取得処理１２０が実行され、文書３および文書４が読み込まれ、ワークエリア１４０に格納される。次に、登録対象の文書３および文書４に対して言語別統計情報を収集する。本図に示した例では、文書３の記述言語は日本語であり、また文書４の記述言語は日本語および英語の両方であることから、統計情報１２０３として「追加文書数  日本語文書：2  英語文書：1」が作成される。そして、本処理で作成された統計情報１２０３（日本語文書、英語文書の追加文書数）は既登録文書の統計情報１２０２へ加算され、新しい統計情報６０９が出力される。そして、これが言語別統計情報ファイル１７０として格納される。
【００４９】
次に、検索用インデクス作成処理１２２が実行され、ワークエリア１４０上の登録対象の文書３および文書４に対して検索用インデクスを作成する。そして、これが検索用インデクスファイル１７１として格納される。以上が、本実施例に示した類似文書検索システムにおける文書の登録処理である。
【００５０】
次に、本発明の第一の実施例における類似文書検索システムの類似文書の検索処理について、図１３を用いて説明する。図１３では、種文書４０４「about connecting to a network, ...」が入力された場合の例である。まず、検索条件解析処理１３０が実行され、検索条件で指定された種文書が取得され、ワークエリア１４０に格納される。
【００５１】
そして、特徴語抽出処理１３１が実行され、前記文書の登録処理で作成された言語別統計情報ファイル１７０および検索用インデクス１７１を参照することでワークエリア１４０に格納された種文書１３０１から特徴語が抽出され、特徴語リスト６０７としてワークエリア１４０に格納される。次に、類似度算出処理１３２が実行され、前記文書の登録処理で作成された検索用インデクス１７１が読み込まれ、種文書に対する各登録文書の類似度が算出される。この結果、類似度算出結果６０８が出力される。以上が、本発明の第一の実施例における類似文書検索システムの類似文書の検索処理手順である。
【００５２】
次に、図１３に示した類似文書検索処理手順における特徴語抽出処理１３１の処理手順について、図１４を用いて説明する。図１４では、ワークエリア１４０上に格納された種文書１３０１「about connecting to a network, ...」が入力された場合の例である。まず、単語抽出処理１５０が実行され、ワークエリア１４０に格納された種文書１３０１から単語が抽出され、単語リスト１４０１「("about", 1)("connecting", 1)("to", 1)...」としてワークエリア１４０に格納される。ここで、("about",1)は単語「about」が種文書内に１回出現することを表している。単語の抽出方法として、空白やカンマなどの区切り文字により抽出される一連の文字列を単語として抽出するものとする。
【００５３】
そして単語重み算出処理１５１が実行され、前記文書の登録処理で作成された言語別統計情報ファイル１７０および検索用インデクス１７１を参照することにより、単語リスト１４０１に格納された各単語の重みを算出する。そして、単語重みリスト１４０２としてワークエリア１４０に格納する。ここで、「"about"(1.08)」は単語「about」の重みが１．０８であることを表している。本図に示した例では、前述の数６を用いて該単語の重みを算出するが、他の重み算出式を用いてもよい。
【００５４】
ここで、参照される言語別統計情報ファイル１７０の言語種別としては、単語抽出処理１５０で抽出された各単語の文字コードにより識別するものとしたが、種文書２１００に含まれる文字コードの言語種別比の値により識別するものとしてもよいし、ある言語の文字コードの連続出現数により識別するものとしてもよいし、検索条件、システム設定ファイル（図１には示していない）、あるいは環境変数などにより指定されるものとしてもよい。これにより、例えば、日本語で記述された文書内に出現する組織名や製品名などのアルファベット文字列を日本語として取り扱うことができる。
【００５５】
次に、特徴語選択処理１５２が実行され、上記単語重み算出処理１５１でワークエリア１４０に格納された単語重みリスト１４０２が読み込まれ、各単語の重みが所定の条件を満たすものを特徴語として抽出し、特徴語リスト６０７としてワークエリア１４０に格納される。本図に示した例では、特徴語の抽出条件を「重みが２．０を超える単語」としており、単語重みリスト１４０２の中から「"connecting"(2.64)」および「"network"(3.63)」が特徴語として抽出され、特徴語リスト６０７に格納されている。
【００５６】
以上が、本発明の第一の実施例における類似文書検索システムの特徴語抽出処理手順である。なお、図１４に示した特徴語選択処理１５２では、特徴語の抽出条件を「重みが２．０」を超えるものとしたが、「重みの降順に所定の個数を選択する」としてもよいし、これらを組み合わせて使用してもよい。あるいは、言語別に異なる条件を設定できるものとしてもよい。
【００５７】
次に、図１３に示した類似文書検索処理手順における類似度算出処理１３２の処理手順について、図１５を用いて説明する。図１５は、ワークエリア上に格納された特徴語リスト６０７「"connecting"(2.64)  "network"(3.63)」が入力された場合の例である。まず、検索用インデクス参照処理１６０が実行され、特徴語リスト６０７内の単語"connecting"が選択され、該単語に関する検索用インデクス１５０１がワークエリア１４０上に格納される。
【００５８】
次に、特徴語別類似度算出処理１６１が実行され、単語"connecting"に関する検索用インデクス１５０１が読み込まれ、該単語による種文書に対する各登録文書の類似度が算出され、特徴語別類似度１５０２としてワークエリア１４０に格納される。ここで特徴語別の類似度算出式として、前述の数２を用いるものとする。そして、登録文書別類似度算出処理１１０２が実行され、文書別の類似度が算出される。本図に示した例では、単語"connecting"による特徴語別類似度１５０２は１単語目の処理であることから、特徴語別類似度１５０２は文書別類似度１５０３として出力される。
【００５９】
次に、特徴語リスト６０７の二つ目の単語"network"に関して、上記検索用インデクス参照処理１６０〜登録文書別類時度算出処理１１０２が実行される。この結果として、文書別類似度１５１３がワークエリア１４０に格納される。以上が、本発明の第一の実施例における類似文書検索システムの類似度算出処理手順である。
【００６０】
以上が、本発明の第一の実施形態である。以上説明したように、本発明の第一の実施形態によれば、記述言語別に登録文書の文書数を計数した統計情報を使用することにより、種文書から抽出された単語の重要度を正しく算出することができるようになる。この結果、重要度の高い単語を特徴語として抽出することができるようになり、検索ノイズのない高精度な類似文書検索を実現することができる。なお、本実施例では、登録対象文書や種文書を文書として説明したが、文章あるいは文字列であっても構わない。また、本実施例では、特徴語別の類似度算出式として数２を用いたが、他の算出式を用いてもよい。また、本実施例では、単語の抽出処理として空白やカンマなどの区切り文字により抽出される一連の文字列を抽出するものとしたが、形態素解析を用いて構文解析を行なうことで単語を抽出する方法を用いてもよいし、「特開平１１−３３８８８３」に開示されるようにｎ文字の連続文字列（以下、ｎ−ｇｒａｍと呼ぶ）の境界確率を用いて抽出された文字列を単語として用いるものとしてもよいし、その他の方法を用いるものとしてもよい。これにより、種文書が英語でない場合でも同様に類似文書を検索できるのは明らかであろう。
【００６１】
また、本実施例では、文書データベースで蓄積される文書の種類として英語文書と日本語文書の例を用いて説明したが、３種類以上の文書が蓄積される場合でも同様に類似文書を検索できるのは明らかであろう。また、本実施例では、検索用インデクスの種類には特に言及しなかったが、登録対象文書から抽出された単語単位にインデクスを作成するものとしてもよいし、登録対象文書からｎ−ｇｒａｍを抽出し、抽出されたｎ−ｇｒａｍ単位にインデクスを作成するものとしてもよい。
【００６２】
次に、本発明の第二の実施例について説明する。本発明を適用した類似文書検索システムの第二の実施例は、種文書に対する登録文書の類似度を算出する際に、言語別の統計情報の代わりに文書データベース全体の統計情報を利用するものである。例えば、この統計情報として言語別の登録文書数の代わりに文書データベース全体の登録文書数を用いる。すなわち本実施例では、言語別統計情報を用いて抽出された特徴語に対し、文書データベース全体の統計情報を用いて算出された重みを付与し、これを類似度算出に用いる。これにより、種文書が複数の言語で記述されている場合でも、記述言語の種類による文書登録件数の偏りに関わらず、高精度な類似文書検索を実現することができるようになる。
【００６３】
本実施例は、図１に示した第一の実施例とほぼ同様の構成を取るが、登録制御プログラム１１１の構成と特徴語抽出プログラム１３１の構成が異なる。図１６に示すように登録制御プログラム１１１に統合統計情報収集登録プログラム１６００が加わると共に、図１７に示すように特徴語抽出プログラム１３１に統合重み算出プログラム１７００が加わる。以下、第一の実施例とは異なる登録制御プログラム１１１ａの処理手順を図１８を用いて説明する。第一の実施例における登録制御プログラム１１１の処理手順（図８）と異なるのは、ステップ８００とステップ８０１の間にステップ１８００が加わり、文書データベース全体での統計情報を保持することである。
【００６４】
ステップ１８００では、統合統計情報収集登録プログラム１６００を起動し、ステップ８００でワークエリア１４０に格納された登録対象文書に関する統計情報を収集し、統合統計情報ファイル１６０１に格納する。以上が、第二の実施例における登録制御プログラム１１１ａの処理手順である。
【００６５】
次に、第一の実施例とは異なる特徴語抽出プログラム１３１ａの処理手順を図１９を用いて説明する。第一の実施例における特徴語抽出プログラム１３１の処理手順（図１０）と異なるのは、ステップ１００２の後にステップ１９００が加わり、文書データベース全体の統計情報を用いて各特徴語の重みを算出することである。ステップ１９００では、統合重み算出プログラム１７００を起動し、各特徴語に対する統合重みを算出する。以上が、第二の実施例における特徴語抽出プログラム１３１ａの処理手順である。
【００６６】
以下、第二の実施例における類似文書検索システムへの文書の登録処理について、図２０を用いて説明する。図２０では、第一の実施例における文書の登録処理（図１２）と同様に、文書３「本稿では、目的の文書を検索することを…」および文書４「本稿では、入力された文書に対する…  This paper shows how to search documents ...」が文書データベースに登録される場合の処理の流れを示す。ここで、図１２と異なるのは、登録文書取得処理１２０が実行された後に、統合統計情報収集登録処理１６００が実行されることである。
【００６７】
統合統計情報収集登録処理１６００では、登録対象の文書３および文書４に対して統計情報を収集する。本図に示した例では、統合統計情報２０００として「登録文書数：2」が収集される。そして、本処理で作成された統合統計情報２０００（登録文書数）は既登録文書の統計情報２００１へ加味され、新しい統計情報２００２が出力される。そして、これが統合統計情報ファイル１６０１として格納される。以上が、第二の実施例に示した類似文書検索システムにおける文書の登録処理手順の概要である。
【００６８】
次に、第二の実施例における類似文書検索システムの特徴語抽出処理１３１ａの処理手順について、図２１を用いて説明する。図２１では、ワークエリア１４０上に格納された種文書２１００「本稿では、入力された文書に対する…  This paper shows how to search documents ...」が入力された場合の例である。まず、単語抽出処理１５０が実行され、ワークエリア１４０に格納された種文書２１００から単語が抽出され、これが単語リスト２１０１「("本稿", 1)("入力", 1)("文書", 1)...」としてワークエリア１４０に格納される。ここで、単語の抽出方法として、種文書の文字列の文字コードが英語コードの場合には空白やカンマなどの区切り文字により抽出される一連の文字列を単語として抽出するものとし、日本語コードの場合には単語辞書（図１には示していない）に掲載された単語を抽出するものとする。
【００６９】
そして単語重み算出処理１５１が実行され、文書の登録処理で作成された言語別統計情報ファイル１７０および検索用インデクス１７１を参照することにより、単語リスト２１０１に格納された各単語の重みを算出する。そして、単語重みリスト２１０２としてワークエリア１４０に格納する。次に、特徴語選択処理１５２が実行され、上記単語重み算出処理１５１でワークエリア１４０に格納された単語重みリスト２１０２が読み込まれ、各単語の重みが所定の条件を満たすものを特徴語として抽出し、特徴語リスト２１０３としてワークエリア１４０に格納される。本図に示した例では、特徴語の抽出条件を「重みが２．０を超える単語」としており、単語重みリスト２１０２の中から「"入力"(2.58)」、「"search"(3.04)」および「"documents"(2.99)」が特徴語として抽出され、特徴語リスト２１０３に格納されている。
【００７０】
そして、統合重み算出処理１７００が実行され、上記特徴語選択処理１５２でワークエリア１４０に格納された特徴語リスト２１０３に格納された全ての単語に対して、単語リスト２１０１および統計情報２００２を参照し、前述の数６を用いて統合重みを算出する。そして、重み統合特徴語リスト２１０４としてワークエリア１４０に格納する。本図に示した例では、数７に示すように単語"入力"の統合重みとして「"入力"(2.69)」が算出される。同様に、「"search"(5.22)」および「"documents"(5.13)」が統合重みとして算出され、重み統合特徴語リスト２１０４に格納される。
【数７】
0003918531.tif 000008
すなわち、単語"入力"に比べ単語"search"や"documents"は文書データベース内で重要な単語であると判断され、重みが高く付与されることになる。なお、統合重みの算出には、前述の数６を用いて該単語の重みを算出するが、他の重み算出式を用いてもよい。以上が、第二の実施例に示した類似文書検索システムにおける特徴語抽出処理手順の概要である。
【００７１】
次に、図１に示した類似度算出プログラム１３２において、前述の統合重み算出処理で算出された統合重みを各特徴語の重みとみなし、各登録文書の種文書に対する類似度を算出する。統合重みを用いることにより、種文書２１００に記述された内容に関して、文書データベース内で近い内容が記述される文書を優先的に出力することができるようになり、ユーザは検索結果を上位から順番に閲覧することで、目的の文書を検索できるようになる。以上が、本発明の第二の実施形態である。
【００７２】
以上説明したように、本発明の第二の実施形態によれば、言語別統計情報を用いて抽出された特徴語に対し、文書データベース全体の統計情報を用いて算出された重みを付与し、これを類似度算出に用いる。これにより、種文書が複数の言語で記述されている場合でも、記述言語の種類による文書登録件数の偏りに関わらず、高精度な類似文書検索を実現することができるようになる。
【００７３】
【発明の効果】
以上説明したように、本発明では、言語の種別に応じた統計情報を用いることにより、種文書の記述言語を考慮して単語の重みを算出することができるようになる。この結果、各言語で重要度の高い単語を特徴語として抽出して類似文書検索を行うことができる。
【図面の簡単な説明】
【図１】本発明の第一の実施例における類似文書検索システムの全体構成を示す図である。
【図２】従来技術１の処理手順を説明するＰＡＤ図である。
【図３】従来技術１の処理手順の概要を説明する図である。
【図４】従来技術１の問題点を説明する図である。
【図５】本発明の原理を説明するＰＡＤ図である。
【図６】本発明の処理手順の概要を説明する図である。
【図７】本発明の第一の実施例におけるシステム制御プログラム１１０の処理手順を説明するＰＡＤ図である。
【図８】本発明の第一の実施例における登録制御プログラム１１１の処理手順を説明するＰＡＤ図である。
【図９】本発明の第一の実施例における検索制御プログラム１１２の処理手順を説明するＰＡＤ図である。
【図１０】本発明の第一の実施例における特徴語抽出プログラム１３１の処理手順を説明するＰＡＤ図である。
【図１１】本発明の第一の実施例における類似度算出プログラム１３２の処理手順を説明するＰＡＤ図である。
【図１２】本発明の第一の実施例における文書登録処理の概要を説明する図である。
【図１３】本発明の第一の実施例における類似文書検索処理の概要を説明する図である。
【図１４】本発明の第一の実施例における特徴語抽出処理の概要を説明する図である。
【図１５】本発明の第一の実施例における類似度算出処理の概要を説明する図である。
【図１６】本発明の第二の実施例における登録制御プログラム１１１ａの構成を示す図である。
【図１７】本発明の第二の実施例における特徴語抽出プログラム１３１ａの構成を示す図である。
【図１８】本発明の第二の実施例における登録制御プログラム１１１ａの処理手順を説明するＰＡＤ図である。
【図１９】本発明の第二の実施例における類似度算出プログラム１３２ａの処理手順を説明するＰＡＤ図である。
【図２０】本発明の第二の実施例における文書登録処理の概要を説明する図である。
【図２１】本発明の第二の実施例における特徴語抽出処理の概要を説明する図である。
【符号の説明】
１００  ディスプレイ
１０１  キーボード
１０２  中央演算処理装置（ＣＰＵ）
１０３  磁気ディスク装置
１０４  フロッピディスクドライブ（ＦＤＤ）
１０５  主メモリ
１０６  バス
１０７  ネットワーク
１０８  フロッピディスク
１１０  システム制御プログラム
１１１  登録制御プログラム
１１２  検索制御プログラム
１２０  登録文書取得プログラム
１２１  言語別統計情報収集登録プログラム
１２２  検索用インデクス作成登録プログラム
１３０  検索条件解析プログラム
１３１  特徴語抽出プログラム
１３２  類似度算出プログラム
１３３  検索結果出力プログラム
１４０  ワークエリア
１５０  単語抽出プログラム
１５１  単語重み算出プログラム
１５２  特徴語選択プログラム
１６０  検索用インデクス読込プログラム
１６１  特徴語別類似度算出プログラム
１７０  言語別統計情報ファイル
１７１  検索用インデクス
１６００  統合統計情報収集登録プログラム
１６０１  統合統計情報ファイル
１７００  統合重み算出プログラム
【図１】
0003918531.tif 000009
【図２】
0003918531.tif 000010
【図３】
0003918531.tif 000011
【図４】
0003918531.tif 000012
【図５】
0003918531.tif 000013
【図６】
0003918531.tif 000014
【図７】
0003918531.tif 000015
【図８】
0003918531.tif 000016
【図９】
0003918531.tif 000017
【図１０】
0003918531.tif 000018
【図１１】
0003918531.tif 000019
【図１２】
0003918531.tif 000020
【図１３】
0003918531.tif 000021
【図１４】
0003918531.tif 000022
【図１５】
0003918531.tif 000023
【図１６】
0003918531.tif 000024
【図１７】
0003918531.tif 000025
【図１８】
0003918531.tif 000026
【図１９】
0003918531.tif 000027
【図２０】
0003918531.tif 000028
【図２１】
0003918531.tif 000029