(57)【要約】【課題】文書ファイルの検索システムの検証のために用いられるテストデータを、安価に且つ柔軟に、大量に作成する。【解決手段】テストデータ作成装置は、所謂モンテカルロ法を基づいて、複数の単語を含む多数の文書ファイルに相当するテストデータ、つまり単語頻度及び文書頻度を含むデータを大量に作成する処理を行う。模擬的な文書１〜１０００と、模擬的な単語ａ、単語ｂ、単語ｃが設定され、各々の単語について、単語頻度の合計値がテーブル６１の領域６１Ａに設定される。この単語頻度の合計値をベースとして、擬似乱数を用いてモンテカルロ法により、各単語についての各々の文書における単語頻度と、各単語の文書頻度とが求められる。【選択図】図５
2012083832.tif 000002
【特許請求の範囲】
【請求項１】
文書検索システムの検証用に用いられ、複数の単語を含む多数の文書ファイルに相当するテストデータを作成するための装置であって、
模擬的な文書ファイルを設定するための主アドレスをＡ１〜Ａｍ個設定すると共に、模擬的な単語を割り入れるための副アドレスを各々の主アドレスに関連付けてＢ１〜Ｂｎ個ずつ設定することで、Ａｍ×Ｂｎ個の数列化された単語アドレスを生成するアドレス発生手段と、
１の模擬的な単語Ｘが、Ａ１〜Ａｍ個の模擬的な文書ファイルに出現する合計個数Ｃｘを設定するパラメータ設定手段と、
Ａｍ×Ｂｎに相当する数値範囲において、前記合計個数Ｃｘに相当する数の乱数を発生し、前記乱数に対応する前記単語アドレスを前記単語Ｘに割り当てる乱数発生手段と、
前記単語Ｘが割り当てられた単語アドレスの各々が、前記主アドレスＡ１〜Ａｍのいずれに属するかを特定することで、前記主アドレスＡ１〜Ａｍ毎に前記単語Ｘの存在数を求める単語頻度導出手段と、
前記主アドレスＡ１〜Ａｍのうち、前記単語Ｘが少なくとも一つ属すると特定された主アドレスの数を求める文書頻度導出手段と、
を含むテストデータの作成装置。
【請求項２】
前記パラメータ設定手段は、前記模擬的な文書ファイルの平均単語数を設定し、
前記アドレス発生手段は、前記副アドレスの個数を、前記平均単語数と同数設定することを特徴とする請求項１に記載のテストデータの作成装置。
【請求項３】
前記乱数は、コンピュータが発生する擬似乱数であることを特徴とする請求項１又は２に記載のテストデータの作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースに格納された文書ファイルの検索システムの検証用に用いられ、複数の単語を含む多数の文書ファイルに相当するテストデータを作成するためのテストデータ作成装置に関する。
【背景技術】
【０００２】
例えばインターネットのようなワールドワイドな通信ネットワーク若しくは企業内の社内ネットワークのようなローカル通信ネットワーク上において、多数の文書ファイルを蓄積する文書データベースに対して端末機からクエリを入力して検索処理を実行させ、所望の文書ファイルを抽出することを可能とする検索システムが汎用されている。当該検索システムでは、端末機から入力されたクエリを解析して作成される検索インデックスと、蓄積された文書ファイルの各々について予め作成された文書インデックスとを、所定の検索アルゴリズムを用いて照合させて、類似度の高い文書ファイルをヒット文書として抽出する手法が取られている。
【０００３】
このような検索システムにおいては、検索エンジンが、ユーザが欲する情報を含む文書ファイルを的確に抽出できる検索アルゴリズムを具備していることが望ましい。精度の高い文書検索の実現には、的確な検索アルゴリズムが不可欠である。検索アルゴリズムの設定には試行錯誤が必要であり、模擬的な文書ファイル群を対象として模擬検索を行って検索アルゴリズムを検証し、その検証結果に基づいて検索アルゴリズムのパラメータをチューニングする必要がある。なお、検索エンジンの文書検索の精度を向上させる従来技術として、例えば特許文献１、特許文献２に開示されたものがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２１６６４６号公報
【特許文献２】特開２００４−２７２４９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
検索アルゴリズムの検証においては、多種多様な文書ファイル群を対象として行う必要があり、実際に作成された大量の文書ファイルデータをテストデータとして準備することが望ましい。このようなテストデータは、例えば、インターネットのプロバイダが運営する掲示板へ書き込まれた文書データを購入する、或いは、自社内ネットワーク内のデータベースに格納されている文書データを大量に複製することで入手可能である。
【０００６】
しかしながら、プロバイダ等から文書データを購入するには多額のコストを要する。また、文書データを購入しても、著作権等の制約が賦課され、文書データの改変が自在に行えない場合があり、検索アルゴリズムのパラメータチューニングに支障を来す場合がある。さらに、社内ローカルの文書データを用いた場合、文書ファイル内の単語分布が特殊なものが高い比率で混在する傾向があり、テストデータとして用いることが適当でないことがある。
【０００７】
本発明の目的は、文書ファイルの検索システム（検索アルゴリズム）の検証のために用いられるテストデータを、安価に且つ柔軟に、大量に作成することが出来るテストデータの作成装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明のテストデータの作成装置は、文書検索システムの検証用に用いられ、複数の単語を含む多数の文書ファイルに相当するテストデータを作成するための装置であって、模擬的な文書ファイルを設定するための主アドレスをＡ１〜Ａｍ個設定すると共に、模擬的な単語を割り入れるための副アドレスを各々の主アドレスに関連付けてＢ１〜Ｂｎ個ずつ設定することで、Ａｍ×Ｂｎ個の数列化された単語アドレスを生成するアドレス発生手段と、１の模擬的な単語Ｘが、Ａ１〜Ａｍ個の模擬的な文書ファイルに出現する合計個数Ｃｘを設定するパラメータ設定手段と、Ａｍ×Ｂｎに相当する数値範囲において、前記合計個数Ｃｘに相当する数の乱数を発生し、前記乱数に対応する前記単語アドレスを前記単語Ｘに割り当てる乱数発生手段と、前記単語Ｘが割り当てられた単語アドレスの各々が、前記主アドレスＡ１〜Ａｍのいずれに属するかを特定することで、前記主アドレスＡ１〜Ａｍ毎に前記単語Ｘの存在数を求める単語頻度導出手段と、前記主アドレスＡ１〜Ａｍのうち、前記単語Ｘが少なくとも一つ属すると特定された主アドレスの数を求める文書頻度導出手段と、を含む（請求項１）。
【０００９】
上記構成によれば、モンテカルロ法により、実際の文書ファイルの文書特性に即したテストデータを大量に作成することができる。すなわち、パラメータ設定手段が設定した単語Ｘの合計個数Ｃｘに相当する乱数を発生させて、Ａｍ×Ｂｎ個の数列化された単語アドレスを前記乱数で占有させることで、Ａ１〜Ａｍ個の模擬的な文書ファイルに単語Ｘが分散して含まれている状態をデータ上で創設することができる。そして、このデータに基づいて、単語頻度及び文書頻度に相当するデータが単語頻度導出手段及び文書頻度導出手段により求められる。なお、単語頻度及び文書頻度が得られれば、模擬的な文書ファイル及び単語に各々重み付けを行い文書インデックスが作成できることから、検索アルゴリズムの検証及びチューニング等を行うことができる。
【００１０】
上記構成において、前記パラメータ設定手段は、前記模擬的な文書ファイルの平均単語数を設定し、前記アドレス発生手段は、前記副アドレスの個数を、前記平均単語数と同数設定することが望ましい（請求項２）。
【００１１】
この構成によれば、平均単語数が設定され、その平均単語数と副アドレスの個数とが同一とされるので、検索対象として想定する文書ファイルの実情にマッチしたテストデータを作成することができる。
【００１２】
上記構成において、前記乱数は、コンピュータが発生する擬似乱数であることが望ましい（請求項３）。
【００１３】
コンピュータが発生する擬似乱数は、完全な乱数ではなく独立性が完全に保たれておらず、何らかの規則性若しくは周期性が残存する。一方、実際の文書に登場する単語も、完全に独立しているのではなく、文脈に影響される。従って、擬似乱数の非独立性は、種々のシミュレーションにおいて欠点と認識されているが、本発明においては逆に擬似乱数の特性が有効に作用し、実際の文書ファイルデータを模擬するには好ましいものとなる。
【発明の効果】
【００１４】
本発明によれば、文書ファイルの検索システム（検索アルゴリズム）の検証のために用いられるテストデータを、著作権や個人情報保護の観点に煩わされることなく、安価に且つ柔軟に、大量に作成することが出来る。従って、文書検索のための、より優れた検索アルゴリズムの開発を促進することができる。
【図面の簡単な説明】
【００１５】
【図１】文書検索システムを構成するネットワークシステムのハードウェア構成を概略的に示す構成図である。
【図２】ネットワークシステムによる文書検索処理の概要を示す模式的なフローチャートである。
【図３】本発明の実施形態に係るテストデータ作成装置を示す機能ブロック図である。
【図４】文書頻度及び単語頻度の実例を示す表形式の図である。
【図５】モンテカルロ法によるテストデータの作成手順を示す表形式の図である。
【図６】モンテカルロ法によるテストデータの作成手順を示す表形式の図である。
【図７】擬似乱数の割り当て処理を説明するための模式図である。
【図８】モンテカルロ法によるテストデータの作成手順を示す表形式の図である。
【図９】テストデータ作成装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面に基づいて、本発明の実施形態につき詳細に説明する。本発明に係るテストデータの作成装置は、ネットワークシステム上で展開されている文書検索システムの検証用に用いられ、複数の単語を含む多数の文書ファイルに相当するテストデータを作成する装置である。当該テストデータの作成装置の説明に先立ち、文書検索システムの一例について説明する。
【００１７】
図１は、文書検索システムを構成するネットワークシステムＳのハードウェア構成を概略的に示す構成図である。このネットワークシステムＳは、例えば企業等における社内ネットワークのようなローカルな通信ネットワークシステム（勿論、インターネットのようなワールドワイドな通信ネットワークでもよい）であって、このような通信ネットワーク上において利用可能な文書データベース（ＤＢ）１０と、文書インデックスデータベース（ＤＢ）１１と、検索エンジン２０と、データ処理装置３０と、ユーザが利用する端末装置４０とが、ローカルネットＬＮを介してデータ通信可能に接続されてなる。
【００１８】
文書データベース１０は、各種の社内文書ファイルが蓄積されるデータベースであり、社内共有文書、社内書式文書、社内規則文書、会議議事録、各種報告書、各種資料、統計データ、作業日誌、安全作業票、事故処理票、仕様書等の各種の文書ファイルが記憶されている。これらの文書ファイルを、ユーザＩＤを具備するユーザは、端末装置４０（端末機４１、４２、４３、４４、４５、・・・）からアクセスして検索、閲覧することができる。さらに、端末装置４０を通して、新たな文書ファイルを文書データベース１０に登録することができる。
【００１９】
文書インデックスデータベース１１は、文書データベース１０に対して文書ファイルの検索処理を実行する際に用いられる文書インデックスを記憶する。文書インデックスは、文書ファイル単位で、各文書ファイルの文書データから抽出された単語と、各単語に与えられる単語重み値及び各文書ファイル単位で与えられる文書重み値とからなる。これら重み値は、検索精度を向上させるために設定されるものであって、例えば単語重み値は、周知の手法に従い、例えばその単語の出現頻度他に基づき設定される。
【００２０】
検索エンジン２０は、所定のパラメータを有する検索アルゴリズムが搭載され、文書データベース１０に対し、文書インデックスデータベース１１に記憶されている文書インデックスを利用して、端末装置４０から与えられた検索条件に対応する文書ファイルの検索処理を行う。また、検索エンジン２０は、ユーザが端末装置４０から入力する検索条件をベースとして、検索インデックスを作成する。さらに検索エンジン２０は、前記検索アルゴリズムを用いて、前記文書インデックスと前記検索インデックスとの照合処理を行い、合致度合いの高い文書ファイルを文書データベース１０から抽出する。
【００２１】
データ処理装置３０は、文書データベース１０に記憶されている文書ファイル毎にキーワードや属性（メタデータ）を抽出して、文書インデックスを構成する単語リストを作成する。また、データ処理装置３０は、各々の文書ファイルについて抽出された単語に対する重み値を算出する処理を行う。
【００２２】
端末装置４０は、社員等の多数のユーザに保有されるパーソナルコンピュータや携帯電話機、携帯情報端末機等の通信端末機４１、４２、４３、４４、４５・・・である。端末装置４は、ローカルネットＬＮを介して文書データベース１０にアクセス可能とされている。各ユーザは、各自の通信端末機４１〜４５を介して、自身が作成した文書ファイルを文書データベース１０に新たに投稿（登録）する、若しくは既存文書を更新して記憶させる、或いは文書ファイルを文書データベース１０から削除する、検索エンジン２０に検索クエリを与えて検索処理を実行させる、または、検索エンジン２０を介して文書データベース１０中の文書ファイルにアクセスして閲覧することが可能である。
【００２３】
図２は、ネットワークシステムＳの、文書データベース１０に対する文書検索処理の概要を示す模式的なフローチャートである。検索エンジン２０は、端末装置４０から与えられた検索条件（キーワードや質問文書）について、形態素解析等を含む文書解析処理を行う（ステップＳ１）。次いで検索エンジン２０は、上記の文書解析処理で得られた単語をベースにして検索インデックスを作成する（ステップＳ２）。そして、当該検索インデックスを用いて、大量の文書データを含む文書データベース１０に対して文書の検索処理を行う（ステップＳ３）。
【００２４】
一方、文書データベース１０の側においても、データ処理装置３０による定期的な処理で、メタデータの抽出のための文書解析（ステップＳ０１）、及び文書インデックスの作成（ステップＳ０２）が行われている。検索元のステップＳ３における検索処理では、前記検索インデックスと検索先の文書インデックスとを使用し、所定の検索アルゴリズムを適用して検索条件に対して類似度が高い文書ファイルを文書データベース１０から抽出する。ステップＳ３の検索処理で得られた結果は、検索条件を入力したユーザの端末装置４に出力される（ステップＳ４）。
【００２５】
以上が、一般的な文書検索システムの一例である。このような文書検索システムにおいて、精度の良い検索が行えるか否かは、検索エンジン２０に具備されている検索アルゴリズムの出来具合に大きく依存する。検索アルゴリズムの設定には試行錯誤が必要であり、様々な文書ファイル群を対象として模擬検索を行って検索アルゴリズムを検証し、その検証結果に基づいて検索アルゴリズムのパラメータをチューニングすることが望ましい。その一方で、上記検証用の文書ファイル群（テストデータ）を入手し且つ利用するには、費用面及び著作権の観点から困難性が伴う。本実施形態のテストデータ作成装置は、上記の不具合に鑑みて、検索アルゴリズムの検証用のテストデータを、安価且つ柔軟に作成するものである。以下、このようなテストデータ作成装置の一例について説明する。
【００２６】
図３は、本実施形態に係るテストデータ作成装置５０を示す機能ブロック図である。テストデータ作成装置５０は、処理部５１、操作部５２、プリンタ５３及びモニタ５４を備えている。このテストデータ作成装置５０は、例えば、プリンタが付設されたパーソナルコンピュータにて構成することができる。
【００２７】
処理部５１は、各種の演算処理を実行可能なＣＰＵ（中央演算処理装置）を備えたコンピュータ装置からなり、所謂モンテカルロ法を基づいて、複数の単語を含む多数の文書ファイルに相当するテストデータを大量に作成する処理を行う。操作部５２は、例えばキーボードであり、ユーザから、処理部５１に対する各種の設定情報やコマンドの入力を受け付ける。プリンタ５３は、処理部５１によるテストデータの作成結果や文書インデックス等を出力する。モニタ５４は、処理部５１による処理結果やデータ入力画面等を表示する。
【００２８】
図４は、検索アルゴリズムの検証用に用いることができる文書ファイル群の文書頻度及び単語頻度のテーブル６０の実例を示す表形式の図である。ここでは、文書１、文書２、文書３・・・文書１０００までの１０００個の文書ファイルが実際に存在しており、単語ａ、単語ｂ及び単語ｃについて、それぞれ単語頻度（ｔｆ）、文書頻度（ｄｆ）が求められている例を示している。なお、１文書あたりの平均文字数（ｔ）は３００である。
【００２９】
ここでは、「文書１」には３個の「単語ａ」が、「文書２」には１個ずつの「単語ａ」及び「単語ｂ」が、「文書３」には１個ずつの「単語ａ」、「単語ｂ」及び「単語ｃ」が、また「文書１０００」には、２個の「単語ｂ」と１個の「単語ｃ」が各々含まれている例を示している。
【００３０】
テーブル６０の「単語頻度（ｔｆ）」の欄は、これら単語ａ、単語ｂ及び単語ｃが文書１、文書２、文書３・・・文書１０００にそれぞれ出現する数を示している。上述の通り、「文書１」には「単語ａ」が３個含まれているので、「単語ａ」の「文書１」における単語頻度＝３となる。一方、「文書１」には「単語ｂ」及び「単語ｃ」が含まれていないので、これらについては単語頻度＝０となる。テーブル６０の最左列の「合計：Ｆ」の欄は、各々の単語についての単語頻度の、１０００個の文書ファイル分の合計値を示している。例えば「単語ａ」は、文書１、文書２、文書３・・・文書１０００の中に、合計１１１５回出現していることになる。
【００３１】
テーブル６０の「文書頻度（ｄｆ）」の欄は、単語ａ、単語ｂ及び単語ｃがそれぞれ出現する文書数を示している。例えば単語ａの文書頻度＝６１１であり、これは１０００個の文書ファイルのうち６１１個の文書ファイルに、「単語ａ」が出現していることを意味する。かかる数値は、単語頻度の欄の「単語ａ」の行において、「０」以外の数値が入力されている個数に相当する。本事例では、文書頻度が取りうる最大値は、文書ファイル総数Ｎの１０００である。
【００３２】
このように、単語頻度（ｔｆ）と文書頻度（ｄｆ）とが求められれば、文書インデックスを作成することが可能となり、検索アルゴリズムの検証用のテストデータとして用いることができる。つまり、単語頻度（ｔｆ）及び文書頻度（ｄｆ）と文書ファイル総数Ｎとから、次式に基づき単語毎の重み付け（重み値Ｗの算出）を行うことができる。
重み値Ｗ＝ｔｆ×ｌｏｇ（Ｎ／ｄｆ）
【００３３】
図３に戻って、処理部５１は、上記のようなテーブル６０を、実際の文書ファイルに依拠することなく、模擬的に作成する機能を有する。概略的には、テーブル６０の「合計：Ｆ」の欄の数値をパラメータとして、モンテカルロ法（Monte Carlo method）により、単語頻度と文書頻度とを求める。
【００３４】
処理部５１は、前記ＣＰＵにおいて所定のデータ処理を行うべくプログラミングされたソフトウェアが実行されることで、アドレス発生部５１１（アドレス発生手段）、パラメータ設定部５１２（パラメータ設定手段）、乱数発生部５１３（乱数発生手段）、単語頻度導出部５１４（単語頻度導出手段）、文書頻度導出部５１５（文書頻度導出手段）、文書インデックス作成部５１６、模擬検索処理部５１７及びメモリ部５１８を機能的に具備する。
【００３５】
アドレス発生部５１１は、模擬的な文書ファイルを設定するための主アドレスをＡ１〜Ａｍ個設定すると共に、模擬的な単語を割り入れるための副アドレスを各々の主アドレスに関連付けてＢ１〜Ｂｎ個ずつ設定することで、Ａｍ×Ｂｎ個の数列化された単語アドレスを生成する。図７に基づき後述するが、例えば図４のテーブル６０と同等のテーブルを作成する場合、アドレス発生部５１１は、１０００個分の文書ファイルに相当する主アドレスＡ１〜Ａ１０００と、これら主アドレスＡ１〜Ａ１０００に関連付けて、平均文字（単語）数＝３００個に相当する副アドレスＢ１〜Ｂ３００個を設定することで、１０００×３００＝３０００００個の数列化された単語アドレス（１番地〜３０００００番地）を生成する。
【００３６】
パラメータ設定部５１２は、１の模擬的な単語Ｘが、Ａ１〜Ａｍ個の模擬的な文書ファイルに出現する合計個数Ｃｘ、模擬的な文書ファイルの数及びその平均文字（単語）数を設定する。すなわち、図４のテーブル６０における「合計：Ｆ」の欄の数値（合計個数Ｃｘ）を初期設定すると共に、文書ファイル１〜１０００の平均単語数に相当する値を、パラメータとして設定する。この設定は、操作部５２を通して、ユーザから与えられる。なお、アドレス発生部５１１は、副アドレスＢ１〜Ｂｎの個数を、パラメータ設定部５１２により設定された平均単語数と同数設定する。
【００３７】
図５は、テストデータの作成手順を示す表形式の図であり、作成途上のテストデータテーブル６１を示している。このテーブル６１は、今後作成される模擬的な文書ファイル群についてのものであるが、理解を容易とするために、図４のテーブル６０と同じフレームとしている。図５のテーブル６１においては、単語頻度（ｔｆ）及び文書頻度（ｄｆ）のデータが存在しない状態である。
【００３８】
パラメータ設定部５１２は、テーブル６１の領域６１Ａの部分、つまり「合計：Ｆ」の欄の数値を、操作部５２からの入力指示に応じて設定する。ここでは、図４のテーブル６０と同じ値である、単語ａ＝１１１５、単語ｂ＝７９８、単語ｃ＝６０６の数値が入力されている例を示している。領域６１Ａの設定値は、例えば「１０００」、「８００」等の区切りの良い数字としても良い。この領域６１Ａの「合計」の設定値から、モンテカルロ法に基づいて、テーブル６１の領域６１Ｂの部分、つまり単語頻度（ｔｆ）及び文書頻度（ｄｆ）の各部分の数値が、逆展開により求められるものである。
【００３９】
乱数発生部５１３は、Ａｍ×Ｂｎに相当する数値範囲（上掲の例では１〜３０００００）において、合計個数Ｃｘに相当する数（テーブル６１の単語ａならば、１１１５）の乱数を発生し、前記乱数に対応する単語アドレスを１の模擬的な単語Ｘ（例えば単語ａ）に割り当てる処理を行う。なお、乱数発生部５１３が発生する乱数は、コンピュータが発生する擬似乱数である。
【００４０】
図７は、乱数発生部５１３による擬似乱数の割り当て処理を説明するための模式図である。ここでは、アドレス発生部５１１により、文書１〜文書１０００の文書ファイルの主アドレスと、各文書ファイルあたり３００の副アドレスとが設定され、その結果として、１番地〜３０００００番地の単語アドレスが設定されている例を示している。この場合、模擬的な「単語ａ」を対象とするならば、乱数発生部５１３は、１〜３０００００の数値の範囲で、「単語ａ」についての設定値＝１１１５個の乱数を発生し、その乱数に相当する番地を「単語ａ」のために割り当てる。図７では、乱数＝１１、２６・・・２９９９８４が発生され、文書１に属する「１１番地」及び「２６番地」と、文書１０００に属する「２９９９８４番地」とが、「単語ａ」のために割り当てられている例を示している。
【００４１】
単語頻度導出部５１４は、１の単語Ｘが割り当てられた単語アドレスの各々が、前記主アドレスＡ１〜Ａｍのいずれに属するかを特定することで、主アドレスＡ１〜Ａｍ毎に単語Ｘの存在数を求める。図７の例によれば、文書１に属する１〜３００番地のうち、乱数発生部５１３での処理により、「１１番地」と「２６番地」とが「単語ａ」に割り当てられている。従って、文書１おける「単語ａ」の単語頻度は「２」となる。このように、単語頻度導出部５１４は、乱数発生部５１３が発生した乱数に対応する番地が、どの文書に属するかを特定することで、模擬的な文書１〜１０００について、それぞれの単語頻度を導出する。
【００４２】
図８は、テストデータの作成手順を示す表形式の図であって、単語頻度導出部５１４により単語頻度が求められた状態のテストデータテーブル６２を示している。すなわち、当該テーブル６２の領域６２Ａには、「単語ａ」についての単語頻度が入力されている。「単語ｂ」及び「単語ｃ」についても、単語頻度導出部５１４により同様にして単語頻度が求められ、テーブル６２に入力される。
【００４３】
文書頻度導出部５１５は、前記主アドレスＡ１〜Ａｍのうち、１の単語Ｘが少なくとも一つ属すると特定された主アドレスの数を求める処理を行う。図８において文書１〜文書３を例に取れば、文書１の単語頻度＝２、文書２の単語頻度＝０、文書３の単語頻度＝１である。この場合、「文書２」はカウントされず、この３つの文書に限れば単語ａの文書頻度＝２となる。このように文書頻度導出部５１５は、単語頻度の欄の「単語ａ」の行（領域６２Ａ）において、「０」以外の数値が入力されている個数をカウントすることで、単語ａの文書頻度を導出する。ここでは、単語ａの文書頻度＝６２１が求められ、領域６２Ｂに入力されている例を示している。他の単語についても同様にして、文書頻度が導出される。その結果、図４のテーブル６０と同様な、模擬的な各単語についての単語頻度及び文書頻度が与えられたテーブルが作成されるものである。
【００４４】
文書インデックス作成部５１６は、単語頻度導出部５１４及び文書頻度導出部５１５の処理により作成される模擬的な単語頻度及び文書頻度を備えたテーブルに基づいて、その模擬的な単語の各々に上記の重み値Ｗを算出する式を用いて重み付けを行う。そして、当該重み値Ｗを用いて、文書インデックスを作成する。
【００４５】
模擬検索処理部５１７は、文書インデックス作成部５１６により作成される文書インデックスと、操作部５２から与えられるクエリに基づく検索インデックスとを使用し、供試検索アルゴリズムを適用して模擬的な検索処理を行い、クエリに対して類似度が高い文書ファイルを抽出する。この模擬的な検索結果はモニタ５４に表示され、或いはプリンタ５３でプリントされ、検索アルゴリズムの検証に供されることになる。
【００４６】
メモリ部５１８は、各種の設定値や演算処理データを記憶するもので、例えば、模擬的な単語頻度及び文書頻度を備えたテーブル、文書インデックス、検索アルゴリズム、及び模擬的な検索結果等が格納される。
【００４７】
このような構成を備えるテストデータ作成装置５０によれば、モンテカルロ法により、実際の文書ファイルの文書特性に即したテストデータを大量に作成することができる。すなわち、乱数発生部５１３が、例えば単語ａが文書１〜文書１０００に出現する合計個数に相当する乱数を発生させて、アドレス発生部５１１が生成した１〜３０００００の単語アドレスを前記乱数で占有させることで、１０００個の模擬的な文書ファイルに単語ａが分散して含まれている状態をデータ上で創設することができる。そして、このデータに基づいて、単語頻度及び文書頻度に相当するデータが、単語頻度導出部５１４及び文書頻度導出部５１５により求められる。これにより、模擬的な文書ファイル及び単語に各々重み付けを行い文書インデックスが作成できることから、検索アルゴリズムの検証及びチューニング等を行うことができる。
【００４８】
また、乱数発生部５１３が発生する前記乱数は、上述の通り、コンピュータが発生する擬似乱数である。この擬似乱数を用いることの利点について説明する。コンピュータが発生する擬似乱数は、完全な乱数ではなく独立性が完全に保たれていない。擬似乱数は、以前に出現した数値に依存するもので、例えば、数値「３」の後に出現する数値「７」と、数値「５」の後に出現する数値「７」とは、出現確率が異なる。この点で、ポアソン分布のような理論値とは一線を画する。このような擬似乱数の非独立性は、乱数を用いたシミュレーションにおいて欠点と一般に認識されている。
【００４９】
しかしながら、文書ファイルに相当するテストデータの作成においては、擬似乱数の非独立性の特性が有効に作用し、実際の文書ファイルを模擬するには好ましいものとなる。すなわち、実際の文書の記述に鑑みると、１つの文章中に出現する単語は、その前に出現する単語乃至は文脈に影響されることが多い。例えば、「思う」という単語は、「私」という単語を含む文書に出現する確率が、「私」という単語を含まない文書に出現する確率よりも高い。このように、ある単語に引っ張られて他の単語が出現するという特性が文書には存在することから、完全な乱数を用いるよりも、独立性において完全ではない擬似乱数を用いる方が、むしろ親和性が良好となる。従って、乱数発生部５１３が発生する乱数は、擬似乱数であることが望ましい。
【００５０】
続いて、以上説明した本実施形態に係るテストデータ作成装置５０の動作を、図９に示すフローチャートに基づいて説明する。先ず、パラメータ設定部５１２により、模擬的に作成する文書ファイルの数と平均単語数とが設定される（ステップＳ１１）。次いで、アドレス発生部５１１により、文書ファイルに対応する主アドレスがＡ１〜Ａｍ個、模擬的な単語を割り入れるための副アドレスがＢ１〜Ｂｎ個ずつ設定され、さらにＡｍ×Ｂｎ個の数列化された単語アドレスが生成される（ステップＳ１２）。
【００５１】
その後、パラメータ設定部５１２により、模擬的に設定するｐ個の単語について、それぞれの単語頻度の合計値についてのパラメータ（図５のテーブル６１の領域６１Ａの数値）が設定される（ステップＳ１３）。続いて、単語カウンタＸ＝１と設定される（ステップＳ１４）。この単語カウンタは、模擬的に設定するｐ個の単語に付与されるナンバリングに対応するもので、図５の例では３個の単語が設定されることから、この場合の単語カウンタのｍａｘ＝３である。
【００５２】
そして、乱数発生部５１３により、Ａｍ×Ｂｎに相当する数値範囲において、１番目の単語について設定されている単語頻度の合計値の数値に相当する数の乱数が発生される（ステップＳ１５）。図５〜図７の例では、模擬的な単語ａについて、１１１５個の乱数が発生されている例を示している。この乱数に基づいて、１番目の単語について、単語頻度導出部５１４により単語頻度が導出される（ステップＳ１６）。さらに、求められた単語頻度をベースとして、文書頻度導出部５１５により１番目の単語の文書頻度が導出される（ステップＳ１７）。
【００５３】
その後、単語カウンタＸ＝ｐであるか否かが確認される（ステップＳ１８）。Ｘ＝ｐではない場合（ステップＳ１８でＮＯ）、単語カウンタが１つインクリメントされ（ステップＳ１９）、ステップＳ１５に戻って、２番目の単語について同様な処理が繰り返される。
【００５４】
一方、Ｘ＝ｐである場合（ステップＳ１８でＹＥＳ）、処理部５１は、１のテストデータ群の作成を完了する（ステップＳ２０）。一連の処理により得られた単語頻度及び文書頻度を含むテーブル形式のデータは、メモリ部５１８に格納され（ステップＳ２１）、処理を終える。かかるテーブル形式のデータは、文書インデックス作成部５１６による文書インデックスの作成の際に活用される。
【００５５】
以上説明した、テストデータ作成装置５０によれば、文書ファイルの検索システム（検索アルゴリズム）の検証のために用いられるテストデータを、パラメータ設定部５１２に適宜名パラメータを設定するだけで、容易に作成することができる。すなわち、前記テストデータを、著作権や個人情報保護の観点に煩わされることなく、安価に且つ柔軟に、大量に作成することが出来る。従って、文書検索のための、より優れた検索アルゴリズムの開発を促進することができる。
【符号の説明】
【００５６】
Ｓ  ネットワークシステム
１０  文書データベース
１１  文書インデックスデータベース
２０  検索エンジン
３０  データ処理装置
４０  端末装置
５０  テストデータ作成装置
５１  処理部
５１１  アドレス発生部（アドレス発生手段）
５１２  パラメータ設定部（パラメータ設定手段）
５１３  乱数発生部（乱数発生手段）
５１４  単語頻度導出部（単語頻度導出手段）
５１５  文書頻度導出部（文書頻度導出手段）
５１６  文書インデックス作成部
５１７  模擬検索処理部
５１８  メモリ部
５２  操作部
５３  プリンタ
５４  モニタ
【図１】
2012083832.tif 000003
【図２】
2012083832.tif 000004
【図３】
2012083832.tif 000005
【図４】
2012083832.tif 000006
【図５】
2012083832.tif 000007
【図６】
2012083832.tif 000008
【図７】
2012083832.tif 000009
【図８】
2012083832.tif 000010
【図９】
2012083832.tif 000011