説明

テストデータの作成装置

【課題】文書ファイルの検索システムの検証のために用いられるテストデータを、安価に且つ柔軟に、大量に作成する。
【解決手段】テストデータ作成装置は、所謂モンテカルロ法を基づいて、複数の単語を含む多数の文書ファイルに相当するテストデータ、つまり単語頻度及び文書頻度を含むデータを大量に作成する処理を行う。模擬的な文書1〜1000と、模擬的な単語a、単語b、単語cが設定され、各々の単語について、単語頻度の合計値がテーブル61の領域61Aに設定される。この単語頻度の合計値をベースとして、擬似乱数を用いてモンテカルロ法により、各単語についての各々の文書における単語頻度と、各単語の文書頻度とが求められる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データベースに格納された文書ファイルの検索システムの検証用に用いられ、複数の単語を含む多数の文書ファイルに相当するテストデータを作成するためのテストデータ作成装置に関する。
【背景技術】
【0002】
例えばインターネットのようなワールドワイドな通信ネットワーク若しくは企業内の社内ネットワークのようなローカル通信ネットワーク上において、多数の文書ファイルを蓄積する文書データベースに対して端末機からクエリを入力して検索処理を実行させ、所望の文書ファイルを抽出することを可能とする検索システムが汎用されている。当該検索システムでは、端末機から入力されたクエリを解析して作成される検索インデックスと、蓄積された文書ファイルの各々について予め作成された文書インデックスとを、所定の検索アルゴリズムを用いて照合させて、類似度の高い文書ファイルをヒット文書として抽出する手法が取られている。
【0003】
このような検索システムにおいては、検索エンジンが、ユーザが欲する情報を含む文書ファイルを的確に抽出できる検索アルゴリズムを具備していることが望ましい。精度の高い文書検索の実現には、的確な検索アルゴリズムが不可欠である。検索アルゴリズムの設定には試行錯誤が必要であり、模擬的な文書ファイル群を対象として模擬検索を行って検索アルゴリズムを検証し、その検証結果に基づいて検索アルゴリズムのパラメータをチューニングする必要がある。なお、検索エンジンの文書検索の精度を向上させる従来技術として、例えば特許文献1、特許文献2に開示されたものがある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−216646号公報
【特許文献2】特開2004−272492号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
検索アルゴリズムの検証においては、多種多様な文書ファイル群を対象として行う必要があり、実際に作成された大量の文書ファイルデータをテストデータとして準備することが望ましい。このようなテストデータは、例えば、インターネットのプロバイダが運営する掲示板へ書き込まれた文書データを購入する、或いは、自社内ネットワーク内のデータベースに格納されている文書データを大量に複製することで入手可能である。
【0006】
しかしながら、プロバイダ等から文書データを購入するには多額のコストを要する。また、文書データを購入しても、著作権等の制約が賦課され、文書データの改変が自在に行えない場合があり、検索アルゴリズムのパラメータチューニングに支障を来す場合がある。さらに、社内ローカルの文書データを用いた場合、文書ファイル内の単語分布が特殊なものが高い比率で混在する傾向があり、テストデータとして用いることが適当でないことがある。
【0007】
本発明の目的は、文書ファイルの検索システム(検索アルゴリズム)の検証のために用いられるテストデータを、安価に且つ柔軟に、大量に作成することが出来るテストデータの作成装置を提供することにある。
【課題を解決するための手段】
【0008】
本発明のテストデータの作成装置は、文書検索システムの検証用に用いられ、複数の単語を含む多数の文書ファイルに相当するテストデータを作成するための装置であって、模擬的な文書ファイルを設定するための主アドレスをA1〜Am個設定すると共に、模擬的な単語を割り入れるための副アドレスを各々の主アドレスに関連付けてB1〜Bn個ずつ設定することで、Am×Bn個の数列化された単語アドレスを生成するアドレス発生手段と、1の模擬的な単語Xが、A1〜Am個の模擬的な文書ファイルに出現する合計個数Cxを設定するパラメータ設定手段と、Am×Bnに相当する数値範囲において、前記合計個数Cxに相当する数の乱数を発生し、前記乱数に対応する前記単語アドレスを前記単語Xに割り当てる乱数発生手段と、前記単語Xが割り当てられた単語アドレスの各々が、前記主アドレスA1〜Amのいずれに属するかを特定することで、前記主アドレスA1〜Am毎に前記単語Xの存在数を求める単語頻度導出手段と、前記主アドレスA1〜Amのうち、前記単語Xが少なくとも一つ属すると特定された主アドレスの数を求める文書頻度導出手段と、を含む(請求項1)。
【0009】
上記構成によれば、モンテカルロ法により、実際の文書ファイルの文書特性に即したテストデータを大量に作成することができる。すなわち、パラメータ設定手段が設定した単語Xの合計個数Cxに相当する乱数を発生させて、Am×Bn個の数列化された単語アドレスを前記乱数で占有させることで、A1〜Am個の模擬的な文書ファイルに単語Xが分散して含まれている状態をデータ上で創設することができる。そして、このデータに基づいて、単語頻度及び文書頻度に相当するデータが単語頻度導出手段及び文書頻度導出手段により求められる。なお、単語頻度及び文書頻度が得られれば、模擬的な文書ファイル及び単語に各々重み付けを行い文書インデックスが作成できることから、検索アルゴリズムの検証及びチューニング等を行うことができる。
【0010】
上記構成において、前記パラメータ設定手段は、前記模擬的な文書ファイルの平均単語数を設定し、前記アドレス発生手段は、前記副アドレスの個数を、前記平均単語数と同数設定することが望ましい(請求項2)。
【0011】
この構成によれば、平均単語数が設定され、その平均単語数と副アドレスの個数とが同一とされるので、検索対象として想定する文書ファイルの実情にマッチしたテストデータを作成することができる。
【0012】
上記構成において、前記乱数は、コンピュータが発生する擬似乱数であることが望ましい(請求項3)。
【0013】
コンピュータが発生する擬似乱数は、完全な乱数ではなく独立性が完全に保たれておらず、何らかの規則性若しくは周期性が残存する。一方、実際の文書に登場する単語も、完全に独立しているのではなく、文脈に影響される。従って、擬似乱数の非独立性は、種々のシミュレーションにおいて欠点と認識されているが、本発明においては逆に擬似乱数の特性が有効に作用し、実際の文書ファイルデータを模擬するには好ましいものとなる。
【発明の効果】
【0014】
本発明によれば、文書ファイルの検索システム(検索アルゴリズム)の検証のために用いられるテストデータを、著作権や個人情報保護の観点に煩わされることなく、安価に且つ柔軟に、大量に作成することが出来る。従って、文書検索のための、より優れた検索アルゴリズムの開発を促進することができる。
【図面の簡単な説明】
【0015】
【図1】文書検索システムを構成するネットワークシステムのハードウェア構成を概略的に示す構成図である。
【図2】ネットワークシステムによる文書検索処理の概要を示す模式的なフローチャートである。
【図3】本発明の実施形態に係るテストデータ作成装置を示す機能ブロック図である。
【図4】文書頻度及び単語頻度の実例を示す表形式の図である。
【図5】モンテカルロ法によるテストデータの作成手順を示す表形式の図である。
【図6】モンテカルロ法によるテストデータの作成手順を示す表形式の図である。
【図7】擬似乱数の割り当て処理を説明するための模式図である。
【図8】モンテカルロ法によるテストデータの作成手順を示す表形式の図である。
【図9】テストデータ作成装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、図面に基づいて、本発明の実施形態につき詳細に説明する。本発明に係るテストデータの作成装置は、ネットワークシステム上で展開されている文書検索システムの検証用に用いられ、複数の単語を含む多数の文書ファイルに相当するテストデータを作成する装置である。当該テストデータの作成装置の説明に先立ち、文書検索システムの一例について説明する。
【0017】
図1は、文書検索システムを構成するネットワークシステムSのハードウェア構成を概略的に示す構成図である。このネットワークシステムSは、例えば企業等における社内ネットワークのようなローカルな通信ネットワークシステム(勿論、インターネットのようなワールドワイドな通信ネットワークでもよい)であって、このような通信ネットワーク上において利用可能な文書データベース(DB)10と、文書インデックスデータベース(DB)11と、検索エンジン20と、データ処理装置30と、ユーザが利用する端末装置40とが、ローカルネットLNを介してデータ通信可能に接続されてなる。
【0018】
文書データベース10は、各種の社内文書ファイルが蓄積されるデータベースであり、社内共有文書、社内書式文書、社内規則文書、会議議事録、各種報告書、各種資料、統計データ、作業日誌、安全作業票、事故処理票、仕様書等の各種の文書ファイルが記憶されている。これらの文書ファイルを、ユーザIDを具備するユーザは、端末装置40(端末機41、42、43、44、45、・・・)からアクセスして検索、閲覧することができる。さらに、端末装置40を通して、新たな文書ファイルを文書データベース10に登録することができる。
【0019】
文書インデックスデータベース11は、文書データベース10に対して文書ファイルの検索処理を実行する際に用いられる文書インデックスを記憶する。文書インデックスは、文書ファイル単位で、各文書ファイルの文書データから抽出された単語と、各単語に与えられる単語重み値及び各文書ファイル単位で与えられる文書重み値とからなる。これら重み値は、検索精度を向上させるために設定されるものであって、例えば単語重み値は、周知の手法に従い、例えばその単語の出現頻度他に基づき設定される。
【0020】
検索エンジン20は、所定のパラメータを有する検索アルゴリズムが搭載され、文書データベース10に対し、文書インデックスデータベース11に記憶されている文書インデックスを利用して、端末装置40から与えられた検索条件に対応する文書ファイルの検索処理を行う。また、検索エンジン20は、ユーザが端末装置40から入力する検索条件をベースとして、検索インデックスを作成する。さらに検索エンジン20は、前記検索アルゴリズムを用いて、前記文書インデックスと前記検索インデックスとの照合処理を行い、合致度合いの高い文書ファイルを文書データベース10から抽出する。
【0021】
データ処理装置30は、文書データベース10に記憶されている文書ファイル毎にキーワードや属性(メタデータ)を抽出して、文書インデックスを構成する単語リストを作成する。また、データ処理装置30は、各々の文書ファイルについて抽出された単語に対する重み値を算出する処理を行う。
【0022】
端末装置40は、社員等の多数のユーザに保有されるパーソナルコンピュータや携帯電話機、携帯情報端末機等の通信端末機41、42、43、44、45・・・である。端末装置4は、ローカルネットLNを介して文書データベース10にアクセス可能とされている。各ユーザは、各自の通信端末機41〜45を介して、自身が作成した文書ファイルを文書データベース10に新たに投稿(登録)する、若しくは既存文書を更新して記憶させる、或いは文書ファイルを文書データベース10から削除する、検索エンジン20に検索クエリを与えて検索処理を実行させる、または、検索エンジン20を介して文書データベース10中の文書ファイルにアクセスして閲覧することが可能である。
【0023】
図2は、ネットワークシステムSの、文書データベース10に対する文書検索処理の概要を示す模式的なフローチャートである。検索エンジン20は、端末装置40から与えられた検索条件(キーワードや質問文書)について、形態素解析等を含む文書解析処理を行う(ステップS1)。次いで検索エンジン20は、上記の文書解析処理で得られた単語をベースにして検索インデックスを作成する(ステップS2)。そして、当該検索インデックスを用いて、大量の文書データを含む文書データベース10に対して文書の検索処理を行う(ステップS3)。
【0024】
一方、文書データベース10の側においても、データ処理装置30による定期的な処理で、メタデータの抽出のための文書解析(ステップS01)、及び文書インデックスの作成(ステップS02)が行われている。検索元のステップS3における検索処理では、前記検索インデックスと検索先の文書インデックスとを使用し、所定の検索アルゴリズムを適用して検索条件に対して類似度が高い文書ファイルを文書データベース10から抽出する。ステップS3の検索処理で得られた結果は、検索条件を入力したユーザの端末装置4に出力される(ステップS4)。
【0025】
以上が、一般的な文書検索システムの一例である。このような文書検索システムにおいて、精度の良い検索が行えるか否かは、検索エンジン20に具備されている検索アルゴリズムの出来具合に大きく依存する。検索アルゴリズムの設定には試行錯誤が必要であり、様々な文書ファイル群を対象として模擬検索を行って検索アルゴリズムを検証し、その検証結果に基づいて検索アルゴリズムのパラメータをチューニングすることが望ましい。その一方で、上記検証用の文書ファイル群(テストデータ)を入手し且つ利用するには、費用面及び著作権の観点から困難性が伴う。本実施形態のテストデータ作成装置は、上記の不具合に鑑みて、検索アルゴリズムの検証用のテストデータを、安価且つ柔軟に作成するものである。以下、このようなテストデータ作成装置の一例について説明する。
【0026】
図3は、本実施形態に係るテストデータ作成装置50を示す機能ブロック図である。テストデータ作成装置50は、処理部51、操作部52、プリンタ53及びモニタ54を備えている。このテストデータ作成装置50は、例えば、プリンタが付設されたパーソナルコンピュータにて構成することができる。
【0027】
処理部51は、各種の演算処理を実行可能なCPU(中央演算処理装置)を備えたコンピュータ装置からなり、所謂モンテカルロ法を基づいて、複数の単語を含む多数の文書ファイルに相当するテストデータを大量に作成する処理を行う。操作部52は、例えばキーボードであり、ユーザから、処理部51に対する各種の設定情報やコマンドの入力を受け付ける。プリンタ53は、処理部51によるテストデータの作成結果や文書インデックス等を出力する。モニタ54は、処理部51による処理結果やデータ入力画面等を表示する。
【0028】
図4は、検索アルゴリズムの検証用に用いることができる文書ファイル群の文書頻度及び単語頻度のテーブル60の実例を示す表形式の図である。ここでは、文書1、文書2、文書3・・・文書1000までの1000個の文書ファイルが実際に存在しており、単語a、単語b及び単語cについて、それぞれ単語頻度(tf)、文書頻度(df)が求められている例を示している。なお、1文書あたりの平均文字数(t)は300である。
【0029】
ここでは、「文書1」には3個の「単語a」が、「文書2」には1個ずつの「単語a」及び「単語b」が、「文書3」には1個ずつの「単語a」、「単語b」及び「単語c」が、また「文書1000」には、2個の「単語b」と1個の「単語c」が各々含まれている例を示している。
【0030】
テーブル60の「単語頻度(tf)」の欄は、これら単語a、単語b及び単語cが文書1、文書2、文書3・・・文書1000にそれぞれ出現する数を示している。上述の通り、「文書1」には「単語a」が3個含まれているので、「単語a」の「文書1」における単語頻度=3となる。一方、「文書1」には「単語b」及び「単語c」が含まれていないので、これらについては単語頻度=0となる。テーブル60の最左列の「合計:F」の欄は、各々の単語についての単語頻度の、1000個の文書ファイル分の合計値を示している。例えば「単語a」は、文書1、文書2、文書3・・・文書1000の中に、合計1115回出現していることになる。
【0031】
テーブル60の「文書頻度(df)」の欄は、単語a、単語b及び単語cがそれぞれ出現する文書数を示している。例えば単語aの文書頻度=611であり、これは1000個の文書ファイルのうち611個の文書ファイルに、「単語a」が出現していることを意味する。かかる数値は、単語頻度の欄の「単語a」の行において、「0」以外の数値が入力されている個数に相当する。本事例では、文書頻度が取りうる最大値は、文書ファイル総数Nの1000である。
【0032】
このように、単語頻度(tf)と文書頻度(df)とが求められれば、文書インデックスを作成することが可能となり、検索アルゴリズムの検証用のテストデータとして用いることができる。つまり、単語頻度(tf)及び文書頻度(df)と文書ファイル総数Nとから、次式に基づき単語毎の重み付け(重み値Wの算出)を行うことができる。
重み値W=tf×log(N/df)
【0033】
図3に戻って、処理部51は、上記のようなテーブル60を、実際の文書ファイルに依拠することなく、模擬的に作成する機能を有する。概略的には、テーブル60の「合計:F」の欄の数値をパラメータとして、モンテカルロ法(Monte Carlo method)により、単語頻度と文書頻度とを求める。
【0034】
処理部51は、前記CPUにおいて所定のデータ処理を行うべくプログラミングされたソフトウェアが実行されることで、アドレス発生部511(アドレス発生手段)、パラメータ設定部512(パラメータ設定手段)、乱数発生部513(乱数発生手段)、単語頻度導出部514(単語頻度導出手段)、文書頻度導出部515(文書頻度導出手段)、文書インデックス作成部516、模擬検索処理部517及びメモリ部518を機能的に具備する。
【0035】
アドレス発生部511は、模擬的な文書ファイルを設定するための主アドレスをA1〜Am個設定すると共に、模擬的な単語を割り入れるための副アドレスを各々の主アドレスに関連付けてB1〜Bn個ずつ設定することで、Am×Bn個の数列化された単語アドレスを生成する。図7に基づき後述するが、例えば図4のテーブル60と同等のテーブルを作成する場合、アドレス発生部511は、1000個分の文書ファイルに相当する主アドレスA〜A1000と、これら主アドレスA〜A1000に関連付けて、平均文字(単語)数=300個に相当する副アドレスB〜B300個を設定することで、1000×300=300000個の数列化された単語アドレス(1番地〜300000番地)を生成する。
【0036】
パラメータ設定部512は、1の模擬的な単語Xが、A1〜Am個の模擬的な文書ファイルに出現する合計個数Cx、模擬的な文書ファイルの数及びその平均文字(単語)数を設定する。すなわち、図4のテーブル60における「合計:F」の欄の数値(合計個数Cx)を初期設定すると共に、文書ファイル1〜1000の平均単語数に相当する値を、パラメータとして設定する。この設定は、操作部52を通して、ユーザから与えられる。なお、アドレス発生部511は、副アドレスB1〜Bnの個数を、パラメータ設定部512により設定された平均単語数と同数設定する。
【0037】
図5は、テストデータの作成手順を示す表形式の図であり、作成途上のテストデータテーブル61を示している。このテーブル61は、今後作成される模擬的な文書ファイル群についてのものであるが、理解を容易とするために、図4のテーブル60と同じフレームとしている。図5のテーブル61においては、単語頻度(tf)及び文書頻度(df)のデータが存在しない状態である。
【0038】
パラメータ設定部512は、テーブル61の領域61Aの部分、つまり「合計:F」の欄の数値を、操作部52からの入力指示に応じて設定する。ここでは、図4のテーブル60と同じ値である、単語a=1115、単語b=798、単語c=606の数値が入力されている例を示している。領域61Aの設定値は、例えば「1000」、「800」等の区切りの良い数字としても良い。この領域61Aの「合計」の設定値から、モンテカルロ法に基づいて、テーブル61の領域61Bの部分、つまり単語頻度(tf)及び文書頻度(df)の各部分の数値が、逆展開により求められるものである。
【0039】
乱数発生部513は、Am×Bnに相当する数値範囲(上掲の例では1〜300000)において、合計個数Cxに相当する数(テーブル61の単語aならば、1115)の乱数を発生し、前記乱数に対応する単語アドレスを1の模擬的な単語X(例えば単語a)に割り当てる処理を行う。なお、乱数発生部513が発生する乱数は、コンピュータが発生する擬似乱数である。
【0040】
図7は、乱数発生部513による擬似乱数の割り当て処理を説明するための模式図である。ここでは、アドレス発生部511により、文書1〜文書1000の文書ファイルの主アドレスと、各文書ファイルあたり300の副アドレスとが設定され、その結果として、1番地〜300000番地の単語アドレスが設定されている例を示している。この場合、模擬的な「単語a」を対象とするならば、乱数発生部513は、1〜300000の数値の範囲で、「単語a」についての設定値=1115個の乱数を発生し、その乱数に相当する番地を「単語a」のために割り当てる。図7では、乱数=11、26・・・299984が発生され、文書1に属する「11番地」及び「26番地」と、文書1000に属する「299984番地」とが、「単語a」のために割り当てられている例を示している。
【0041】
単語頻度導出部514は、1の単語Xが割り当てられた単語アドレスの各々が、前記主アドレスA1〜Amのいずれに属するかを特定することで、主アドレスA1〜Am毎に単語Xの存在数を求める。図7の例によれば、文書1に属する1〜300番地のうち、乱数発生部513での処理により、「11番地」と「26番地」とが「単語a」に割り当てられている。従って、文書1おける「単語a」の単語頻度は「2」となる。このように、単語頻度導出部514は、乱数発生部513が発生した乱数に対応する番地が、どの文書に属するかを特定することで、模擬的な文書1〜1000について、それぞれの単語頻度を導出する。
【0042】
図8は、テストデータの作成手順を示す表形式の図であって、単語頻度導出部514により単語頻度が求められた状態のテストデータテーブル62を示している。すなわち、当該テーブル62の領域62Aには、「単語a」についての単語頻度が入力されている。「単語b」及び「単語c」についても、単語頻度導出部514により同様にして単語頻度が求められ、テーブル62に入力される。
【0043】
文書頻度導出部515は、前記主アドレスA1〜Amのうち、1の単語Xが少なくとも一つ属すると特定された主アドレスの数を求める処理を行う。図8において文書1〜文書3を例に取れば、文書1の単語頻度=2、文書2の単語頻度=0、文書3の単語頻度=1である。この場合、「文書2」はカウントされず、この3つの文書に限れば単語aの文書頻度=2となる。このように文書頻度導出部515は、単語頻度の欄の「単語a」の行(領域62A)において、「0」以外の数値が入力されている個数をカウントすることで、単語aの文書頻度を導出する。ここでは、単語aの文書頻度=621が求められ、領域62Bに入力されている例を示している。他の単語についても同様にして、文書頻度が導出される。その結果、図4のテーブル60と同様な、模擬的な各単語についての単語頻度及び文書頻度が与えられたテーブルが作成されるものである。
【0044】
文書インデックス作成部516は、単語頻度導出部514及び文書頻度導出部515の処理により作成される模擬的な単語頻度及び文書頻度を備えたテーブルに基づいて、その模擬的な単語の各々に上記の重み値Wを算出する式を用いて重み付けを行う。そして、当該重み値Wを用いて、文書インデックスを作成する。
【0045】
模擬検索処理部517は、文書インデックス作成部516により作成される文書インデックスと、操作部52から与えられるクエリに基づく検索インデックスとを使用し、供試検索アルゴリズムを適用して模擬的な検索処理を行い、クエリに対して類似度が高い文書ファイルを抽出する。この模擬的な検索結果はモニタ54に表示され、或いはプリンタ53でプリントされ、検索アルゴリズムの検証に供されることになる。
【0046】
メモリ部518は、各種の設定値や演算処理データを記憶するもので、例えば、模擬的な単語頻度及び文書頻度を備えたテーブル、文書インデックス、検索アルゴリズム、及び模擬的な検索結果等が格納される。
【0047】
このような構成を備えるテストデータ作成装置50によれば、モンテカルロ法により、実際の文書ファイルの文書特性に即したテストデータを大量に作成することができる。すなわち、乱数発生部513が、例えば単語aが文書1〜文書1000に出現する合計個数に相当する乱数を発生させて、アドレス発生部511が生成した1〜300000の単語アドレスを前記乱数で占有させることで、1000個の模擬的な文書ファイルに単語aが分散して含まれている状態をデータ上で創設することができる。そして、このデータに基づいて、単語頻度及び文書頻度に相当するデータが、単語頻度導出部514及び文書頻度導出部515により求められる。これにより、模擬的な文書ファイル及び単語に各々重み付けを行い文書インデックスが作成できることから、検索アルゴリズムの検証及びチューニング等を行うことができる。
【0048】
また、乱数発生部513が発生する前記乱数は、上述の通り、コンピュータが発生する擬似乱数である。この擬似乱数を用いることの利点について説明する。コンピュータが発生する擬似乱数は、完全な乱数ではなく独立性が完全に保たれていない。擬似乱数は、以前に出現した数値に依存するもので、例えば、数値「3」の後に出現する数値「7」と、数値「5」の後に出現する数値「7」とは、出現確率が異なる。この点で、ポアソン分布のような理論値とは一線を画する。このような擬似乱数の非独立性は、乱数を用いたシミュレーションにおいて欠点と一般に認識されている。
【0049】
しかしながら、文書ファイルに相当するテストデータの作成においては、擬似乱数の非独立性の特性が有効に作用し、実際の文書ファイルを模擬するには好ましいものとなる。すなわち、実際の文書の記述に鑑みると、1つの文章中に出現する単語は、その前に出現する単語乃至は文脈に影響されることが多い。例えば、「思う」という単語は、「私」という単語を含む文書に出現する確率が、「私」という単語を含まない文書に出現する確率よりも高い。このように、ある単語に引っ張られて他の単語が出現するという特性が文書には存在することから、完全な乱数を用いるよりも、独立性において完全ではない擬似乱数を用いる方が、むしろ親和性が良好となる。従って、乱数発生部513が発生する乱数は、擬似乱数であることが望ましい。
【0050】
続いて、以上説明した本実施形態に係るテストデータ作成装置50の動作を、図9に示すフローチャートに基づいて説明する。先ず、パラメータ設定部512により、模擬的に作成する文書ファイルの数と平均単語数とが設定される(ステップS11)。次いで、アドレス発生部511により、文書ファイルに対応する主アドレスがA1〜Am個、模擬的な単語を割り入れるための副アドレスがB1〜Bn個ずつ設定され、さらにAm×Bn個の数列化された単語アドレスが生成される(ステップS12)。
【0051】
その後、パラメータ設定部512により、模擬的に設定するp個の単語について、それぞれの単語頻度の合計値についてのパラメータ(図5のテーブル61の領域61Aの数値)が設定される(ステップS13)。続いて、単語カウンタX=1と設定される(ステップS14)。この単語カウンタは、模擬的に設定するp個の単語に付与されるナンバリングに対応するもので、図5の例では3個の単語が設定されることから、この場合の単語カウンタのmax=3である。
【0052】
そして、乱数発生部513により、Am×Bnに相当する数値範囲において、1番目の単語について設定されている単語頻度の合計値の数値に相当する数の乱数が発生される(ステップS15)。図5〜図7の例では、模擬的な単語aについて、1115個の乱数が発生されている例を示している。この乱数に基づいて、1番目の単語について、単語頻度導出部514により単語頻度が導出される(ステップS16)。さらに、求められた単語頻度をベースとして、文書頻度導出部515により1番目の単語の文書頻度が導出される(ステップS17)。
【0053】
その後、単語カウンタX=pであるか否かが確認される(ステップS18)。X=pではない場合(ステップS18でNO)、単語カウンタが1つインクリメントされ(ステップS19)、ステップS15に戻って、2番目の単語について同様な処理が繰り返される。
【0054】
一方、X=pである場合(ステップS18でYES)、処理部51は、1のテストデータ群の作成を完了する(ステップS20)。一連の処理により得られた単語頻度及び文書頻度を含むテーブル形式のデータは、メモリ部518に格納され(ステップS21)、処理を終える。かかるテーブル形式のデータは、文書インデックス作成部516による文書インデックスの作成の際に活用される。
【0055】
以上説明した、テストデータ作成装置50によれば、文書ファイルの検索システム(検索アルゴリズム)の検証のために用いられるテストデータを、パラメータ設定部512に適宜名パラメータを設定するだけで、容易に作成することができる。すなわち、前記テストデータを、著作権や個人情報保護の観点に煩わされることなく、安価に且つ柔軟に、大量に作成することが出来る。従って、文書検索のための、より優れた検索アルゴリズムの開発を促進することができる。
【符号の説明】
【0056】
S ネットワークシステム
10 文書データベース
11 文書インデックスデータベース
20 検索エンジン
30 データ処理装置
40 端末装置
50 テストデータ作成装置
51 処理部
511 アドレス発生部(アドレス発生手段)
512 パラメータ設定部(パラメータ設定手段)
513 乱数発生部(乱数発生手段)
514 単語頻度導出部(単語頻度導出手段)
515 文書頻度導出部(文書頻度導出手段)
516 文書インデックス作成部
517 模擬検索処理部
518 メモリ部
52 操作部
53 プリンタ
54 モニタ

【特許請求の範囲】
【請求項1】
文書検索システムの検証用に用いられ、複数の単語を含む多数の文書ファイルに相当するテストデータを作成するための装置であって、
模擬的な文書ファイルを設定するための主アドレスをA1〜Am個設定すると共に、模擬的な単語を割り入れるための副アドレスを各々の主アドレスに関連付けてB1〜Bn個ずつ設定することで、Am×Bn個の数列化された単語アドレスを生成するアドレス発生手段と、
1の模擬的な単語Xが、A1〜Am個の模擬的な文書ファイルに出現する合計個数Cxを設定するパラメータ設定手段と、
Am×Bnに相当する数値範囲において、前記合計個数Cxに相当する数の乱数を発生し、前記乱数に対応する前記単語アドレスを前記単語Xに割り当てる乱数発生手段と、
前記単語Xが割り当てられた単語アドレスの各々が、前記主アドレスA1〜Amのいずれに属するかを特定することで、前記主アドレスA1〜Am毎に前記単語Xの存在数を求める単語頻度導出手段と、
前記主アドレスA1〜Amのうち、前記単語Xが少なくとも一つ属すると特定された主アドレスの数を求める文書頻度導出手段と、
を含むテストデータの作成装置。
【請求項2】
前記パラメータ設定手段は、前記模擬的な文書ファイルの平均単語数を設定し、
前記アドレス発生手段は、前記副アドレスの個数を、前記平均単語数と同数設定することを特徴とする請求項1に記載のテストデータの作成装置。
【請求項3】
前記乱数は、コンピュータが発生する擬似乱数であることを特徴とする請求項1又は2に記載のテストデータの作成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate