(57)【要約】【課題】文字種の多い文書データからＮ−gram方式によりシグネチャーを摘出する際に、フォルスドロップの増加を抑制して、検索の高速化を図るようにする。【解決手段】Ｎ−gram方式を用いて文書データを切り出してシグネチャーを摘出する場合に、切り出す文字種を同一のもののみとしたため、切り出された文字列の種類を従来と比較すると大幅に少なくすることができる。このように、文字列の種類が十分に少なくなれば、シグネチャーの長さ（ビット数）をその種類に一致させることも可能である。そのようなシグネチャーを作ると検索文字列がＮ文字の場合、走査すべきビットマップは、一つのビットスライスだけでよくなり、しかも、フォルスドロップは全く発生しない。【選択図】        図１
2006179018.tif 000002
【特許請求の範囲】
【請求項１】
２進数によるビットパターンのシグネチャーを利用して、検索文字列を含む文書データを検索する文書検索装置において、
シグネチャーを摘出するシグネチャー摘出処理部と、
文字種が同一である隣接する２以上の文字数Ｎの文字列に応じてシグネチャーで値を１とすべきビットの位置を決めるＮ−gram方式を用いて前記文書データをＮ文字の文字列であるブロックに分割し、前記各ブロックを構成する文字列から前記シグネチャー摘出処理部を利用してシグネチャーを摘出してブロックシグネチャーとしてシグネチャーファイルに格納する文書登録処理部と、
前記検索文字列から所定の文字数の部分文字列を抽出し、前記部分文字列から前記シグネチャー摘出処理部を利用して検索文字列のシグネチャーを摘出し、当該検索文字列のシグネチャーに基づいて前記シグネチャーファイルに格納されている前記ブロックシグネチャーを検索する文書検索処理部と、
を備えることを特徴とする文書検索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書検索装置に係り、さらに詳しくは、シグネチャーファイルを利用して指定された文字列を含む文書を検索する文書検索装置に関する。
【背景技術】
【０００２】
従来より、英文や日本文などの複数の文字種を扱って文書の作成・編集などを行うものとしてワードプロセッサや、ワープロソフトを使ったパーソナルコンピュータなどがあり、これらの装置に入力された文書データ中の部分文字列を検索するものとして文書検索装置が用いられている。
【０００３】
この種の文書検索装置としては、例えば、特開平７−２４４６７１号公報に記載された文書検索装置があり、ある文字列から一定の方法で摘出される２進数によるビットパターンのシグネチャーを用いることによって文書検索が行われていた。このシグネチャーの２進数のビットパターンにおいて「１」がセットされるビットの位置は、文字列を構成する文字や単語を数値化し、その値を０からビット位置の最大値までの値にハッシングすることにより得ている。例えば、文字列として「コピー」があったとすると、「コ」、「ピ」、「ー」を文字コードを用いて「５」、「７」、「１２」と数値化できたとすると、その数値がビット位置を示し、ビットが「５」と「７」と「１２」番目の位置に「１」が立つことになり、「００００１０１００００１」のようになる。この０と１のパターンがビットマップ（ビットパターン）と称され、このビットマップによって構成されるものがシグネチャーである。
【０００４】
シグネチャーの摘出方法については、非特許文献１に記載されている。この非特許文献１によれば、文書データを構成する単語ごとにワードシグネチャーと称されるシグネチャーを作り、それらをスーパーインポーズしたものを文書データのシグネチャーとするものである。ここで、スーパーインポーズとは、複数のシグネチャーにおいて同じ位置のビットの値の論理和をとり、各論理和の値の列を新たなシグネチャーとして摘出する操作のことである。
【０００５】
また、単語を構成する部分文字列の検索もできるようにするために、文書データに重複部分を持たせながら一定の文字数の文字列に分割して、上記したワードシグネチャーと同様に各文字列のシグネチャーをスーパーインポーズする方法がある。
【０００６】
また、より長い文書データを文やパラグラフなどの論理的なブロックに分割して、各ブロックから摘出される複数のシグネチャーを１つの文書に対応させる方法もある。ここで、ブロックから摘出されたシグネチャーは、ブロックシグネチャーと呼ばれている。
【０００７】
検索文字列を含む文書を検索するためにシグネチャーを利用する場合は、異なる文字列から同じビットパターンのシグネチャーが摘出される可能性があるので、検索結果として検索文字列を含まない文書を検出することがある。この文書は、フォルスドロップと呼ばれる。一方、検索文字列が含まれる文書は、アクチュアルドロップと呼ばれる。
【０００８】
従来の文書検索装置において、シグネチャーは文書ごとに摘出され、各シグネチャーはシグネチャーファイルと呼ばれるファイルに一括して格納される。シグネチャーファイルは、シグネチャーの格納方法によって２つに大別される。１つは、単にシグネチャーを順に並べて格納する方法である。この方法によるファイル構成は、シーケンシャル構成と呼ばれる。もう１つは、シグネチャーの各ビットをビット位置ごとに別々のビットマップに格納する方法である。この方法によるファイル構成は、ビットスライス構成と呼ばれる。ビットスライス構成によるシグネチャーファイルは、非特許文献２に記載されている。
【０００９】
また、シーケンシャル構成のシグネチャーのビットマップを圧縮する方法は、非特許文献３に記載されているように、ランレングスコーティングなどを利用する方法がある。
【００１０】
従来の文書検索装置では、シグネチャーを摘出するための方法として、隣接するＮ文字（Ｎは２以上の整数）の文字列に応じてシグネチャーで値を１とすべきビットの位置を決めるＮ−gram方式が用いられていた。例えば、３−gram方式では、"リコーの高性能カメラ"という文字列を下記のような部分文字列に分解して、シグネチャーの摘出を行っていた。
リコー／コーの／ーの高／の高性／高性能／性能カ／能カメ／カメラ
【００１１】
【非特許文献１】「Access Method of Text 」（Christos Faloutsos,Computing Surveys,Vol.17，No.1,March 1985,pp49〜74）
【非特許文献２】「Partial-Match Retrieval via Method of Superimposed Codes」（Charles S. Roberts, Proceedings of the IEEE. Vol.67,No.12,December,1979,pp1624〜1979）
【非特許文献３】「Description and Performance Analysis of Signature File Methods for Office Filing」（Christos Faloutsos,ACM Transaction Office Information Systems,Vol.5,No.3,July 1987,pp.237〜257 ）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、このような従来の文書検索装置にあっては、単純に隣接するＮ文字で部分文字列を切り出すと、上記例では"ーの高"のような検索文字列に指定されることの少ない文字列に対してもシグネチャーのビットが割り当てられることから、シグネチャーで１であるビットが多くなるため、フォルスドロップの発生する確率が高くなり、検索にも時間がかかるという不都合があった。
【００１３】
本発明は、上記に鑑みてなされたものであって、文字種の多い文書データからＮ−gram方式によりシグネチャーを摘出する際に、フォルスドロップの増加を抑制して、検索の高速化を図ることができる文書検索装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、２進数によるビットパターンのシグネチャーを利用して、検索文字列を含む文書データを検索する文書検索装置において、シグネチャーを摘出するシグネチャー摘出処理部と、文字種が同一である隣接する２以上の文字数Ｎの文字列に応じてシグネチャーで値を１とすべきビットの位置を決めるＮ−gram方式を用いて前記文書データをＮ文字の文字列であるブロックに分割し、前記各ブロックを構成する文字列から前記シグネチャー摘出処理部を利用してシグネチャーを摘出してブロックシグネチャーとしてシグネチャーファイルに格納する文書登録処理部と、前記検索文字列から所定の文字数の部分文字列を抽出し、前記部分文字列から前記シグネチャー摘出処理部を利用して検索文字列のシグネチャーを摘出し、当該検索文字列のシグネチャーに基づいて前記シグネチャーファイルに格納されている前記ブロックシグネチャーを検索する文書検索処理部と、を備えることを特徴とする。
【００１５】
ここで、「文字種」とは、漢字・ひらがな・カタカナなどをそれぞれ示す。また、英文や日本文も「文字種」である。
【発明の効果】
【００１６】
請求項１にかかる発明によれば、文書データの隣接するＮ文字の文字列に応じてシグネチャーを摘出する際に、隣接するＮ文字の各文字列を同一の文字種としたため、切り出されたＮ文字の文字列の種類を従来方式よりも少なくすることができるので、文字種の多い文書データからＮ−gram方式によりシグネチャーを摘出する際に、フォルスドロップの増加を抑制して、検索の高速化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態１〜実施の形態４を図面に基づいて説明する。
【００１８】
まず、各実施の形態の説明に入る前に、各実施の形態に共通する文書検索装置の概略構成について説明する。図１は、本実施の形態に係る文書検索装置の概略構成を示すブロック図である。図１において、文書検索装置は、入力部１、処理部２、文字列入力処理部３、レコード識別子計算処理部４、文書検索処理部５、文書出力処理部６、格納位置計算処理部７、文書登録処理部８、シグネチャー摘出処理部９、出力部１０、データ部１１、シグネチャーファイル１２、レコードファイル１３などにより構成されている。
【００１９】
対象とする検索文字列および登録文書の文書データの文字コードは、ＡＳＣＩＩ（American Standard Code Information Interchange）のように、各文字のバイト数が一律１バイトの文字コードでも、ＥＵＣ（Extended Unix Interchange ）のように１バイト、２バイト、３バイトの文字が混在する文字コードでもよい。なお、文字列入力処理部で用いられる内部処理用の文字コードは、変換される文字コード（例えば、ＥＵＣ）と同じである必要はない。また、本発明においては、ＥＵＣを用いた場合について説明する。
【００２０】
図１に示されるように、入力部１から入力された検索文字列および登録文書の文書データは、処理部２の文字列入力処理部３で入力用の文字コードからＥＵＣに変換される。また、検索時にアクチュアルドロップである文書データは、文書出力処理部６でＥＵＣから出力用の文字コードへ変換される。したがって、検索文字列および登録文書の文書データは、処理部２内では、常にＥＵＣの文字列として処理され、文書データは、常にＥＵＣの文字列としてデータ部１１のレコードファイル１３に格納される。
【００２１】
上記したように、本実施の形態の文書検索装置は、文書を登録および検索する機能を有し、入力部１と処理部２とデータ部１１と出力部１０の４つの部分から構成されている。また、前記処理部２は、文字列入力処理部３とシグネチャー摘出処理部９と文書検索処理部５とレコード識別子計算処理部４と文書出力処理部６と文書登録処理部８と格納位置計算処理部７とを備えるとともに、図示を省略したが、後述するカーソル移動処理部と条件式清算部と条件式見込み計算部とをさらに備えている。
【００２２】
また、前記データ部１１は、シグネチャーファイル１２とレコードファイル１３とを備えている。文書の登録に際しては、入力部１で登録する文書データの入力を受けつけ、入力された文書データは文字列入力処理部３で所定の文字コードに変換された後、文書登録処理部８に渡される。その文書登録処理部８は、第１に、データ部１１のレコードファイル１３に文書データを格納する。第２に、格納位置計算処理部７を利用して、文書データを格納したレコードの識別子からシグネチャーの格納位置を計算する。第３に、文書データを一定の文字数のブロックに分割して、シグネチャー摘出処理部９を利用して各ブロックからブロックシグネチャーを摘出する。ただし、隣接するブロック同士は、一定の文字数の重複部分を有する。第４に、ブロックシグネチャーをデータ部１１のシグネチャーファイル１２における所定の格納位置に格納する。
【００２３】
また、文書の検索動作に関しては、まず、入力部１で検索文字列を受け付け、入力された検索文字列は文字列入力処理部３で所定の文字コードに変換された後、文書検索処理部５に渡される。その文書検索処理部５は、第１に、検索文字列から制限された文字数以内の部分文字列を抽出し、シグネチャー摘出処理部９を利用して、部分文字列からシグネチャーを摘出し、そのシグネチャーを検索文字列のシグネチャーとする。ここで、制限された文字数とは、登録された文書データを構成するブロック同士の重複部分の文字数のことである。第２に、検索用のシグネチャーで「１」がセットされているビットを調べ、データ部１１のシグネチャーファイルにおいて、先に調べたビットに対応するビットスライスされたビットマップを参照し、検索文字列が含まれると判断されるブロックから摘出されたブロックシグネチャーの格納位置を求める。
【００２４】
第３に、レコード識別子計算処理部４を利用して、ブロックシグネチャーの格納位置からレコード識別子の値を求める。第４に、データ部１１のレコードファイル１３において、レコード識別子に対応するレコードを参照して文書データを求める。第５に、求めた文書データを文書出力処理部６に渡す。その文書出力処理部６は、渡された文書データに本当に検索文字列が含まれるかどうかを調べ、フォルスドロップを除去し、アクチュアルドロップを所定の文字コードに変換したのち、文書データを出力部１０に渡す。その出力部１０は、渡された文書データを出力する。
【００２５】
（実施の形態１）
本実施の形態１では、文書検索装置の処理部２を用いて前方一致、後方一致を条件とした文字列を検索する際に、前方一致、後方一致を条件とした下記の検索文字列ｐ１、ｐ２と検索対象の文字列ｔ１、ｔ２、ｔ３としている。
ｐ１＝"高速"
ｐ２＝"プリンター"
ｔ１＝"高速プリンター"
ｔ２＝"首都高速道路"
ｔ３＝"プリンター出力"
【００２６】
これらの文字列において、先頭か末尾かを区別するための仮想的な文字を、ここでは、「＾」（文字列の先頭を示す文字）と「＄」（文字列の末尾を示す文字）とし、下記に示すような文字列に変換してからシグネチャーを摘出するようにする。
ｐ１'＝"＾高速"
ｐ２'＝"プリンター＄"
ｔ１'＝"＾高速プリンター＄"
ｔ２'＝"＾首都高速道路＄"
ｔ３'＝"＾プリンター出力＄"
【００２７】
このように、本実施の形態１では、文字列における先頭か末尾かを区別するための仮想的な文字を含めてシグネチャーを摘出するようにしたため、上記の検索文字列ｐ１'やｐ２'を条件とした検索結果は、何れの場合もｔ１'の「高速プリンター」のみを検索することができる。このことは、従来例のように、ｐ１の条件ではｔ１、ｔ２が検索結果となり、ｐ２の条件ではｔ１、ｔ３が検索結果となる場合と較べると、フォルスドロップの発生率を大幅に低減することが可能となり、その結果として検索性能と検索速度を向上することができる。
【００２８】
（実施の形態２）
本実施の形態２では、文書検索装置の処理部２を用いて文書データを一つ以上の部分文字列（ブロック）に分割し、各ブロックに応じたシグネチャーを摘出する際に、各ブロックの文字数が一定となるように分割するものである。これを図２で説明すると、図２（ａ）には、文書データを一定の文字数で分割した比較例が示され、図２（ｂ）には、各ブロックの文字数が適切な文字数以下であって、かつ、各ブロックの文字数が均一となるように分割した本実施の形態２の例を示したものである。図２（ａ）のように、分割するブロックの文字数を予め一定に定めて分割すると、文書データごとに末尾のブロック（図中のブロック４）の文字数が、末尾以外のブロック（図中のブロック１，２，３）の文字数以下となる。このような状況では、シグネチャーのビット数に対して、適切なブロックの文字数をＬとし、ブロック１，２，３の文字数をＬ１とし、ブロック４の文字数をＬ２とすると、それらの大小関係が下記の不等号の関係になる場合がある。
Ｌ２≦Ｌ≦Ｌ１
【００２９】
上記不等号の関係にある場合は、ブロックシグネチャーにおいて、ブロック４にとっては必要数以上のビットが割り当てられることになる一方で、ブロック１，２，３にとっては、ビット数が不足することになるため、フォルスドロップの増加を招いていた。
【００３０】
これに対して、本実施の形態２では、図２（ｂ）に示されるように、各ブロックの文字数がＬ以下となるように、各ブロックの文字数を均一化して文書データを分割し、シグネチャーを摘出するようにしたので、上記不都合を解消することが可能となり、フォルスドロップを低減することができる。
【００３１】
（実施の形態３）
本実施の形態３では、文書検索装置の処理部２を用いて、日本語のように漢字・ひらがな・カタカナのように文字種の多い文書データから上記したＮ−gram方式を用いてシグネチャーを摘出する際に、任意に隣接するＮ文字（Ｎは２以上の整数）で切り出すのではなく、文字種が同一である任意に隣接するＮ文字を切り出してシグネチャーを摘出するようにしたものである。このようにすることで、先に示した例題の"リコーの高性能カメラ"という文字列は、
リコー／高性能／カメラ
のように切り出すことが可能となり、先の切り出し例である
リコー／コーの／ーの高／の高性／高性能／性能カ／能カメ／カメラ
と比較すると、（コーの／ーの高／の高性）および（性能カ／能カメ）のような余分な切り出しに対してシグネチャーのビットを割り当てる必要がなくなるため、フォルスドロップの発生する確率を大幅に低減させることができる。
【００３２】
このように、本実施の形態３によれば、Ｎ−gram方式を用いて文書データを切り出してシグネチャーを摘出する場合に、切り出す文字種を同一のもののみとしたため、切り出された文字列の種類を従来と比較すると大幅に少なくすることができる。このように、文字列の種類が十分に少なくなれば、シグネチャーの長さ（ビット数）をその種類に一致させることも可能である。そのようなシグネチャーを作ると検索文字列がＮ文字の場合、走査すべきビットマップは、一つのビットスライスだけでよくなり、しかも、フォルスドロップは全く発生しない。
【００３３】
なお、この実施の形態３に係る文書検索装置において、検索文字列が"プリンター"の場合に３−gram方式を用いれば、
プリン／リンタ／ンター
のようになり、検索文字列とはなりにくい文字列からシグネチャーが提出されることになるが、このような場合は、上記３−gram方式だけを用いるのではなく、４−gram方式や５−gram方式といった他の方式と併用することにより、上記の場合と同様に好適な効果を得ることができる。
【００３４】
（実施の形態４）
本実施の形態４では、文書検索装置の処理部２を用いて、"高速ｏｒプリンター"のように、論理演算子ＡＮＤやＯＲでつながれた複数の検索文字列を含む条件式を用いて検索する場合であっても、検索の高速化が図れるようにしたものである。すなわち、第１に、条件式に含まれる全ての検索文字列（パターン）からシグネチャーを摘出し、第２に、摘出した各シグネチャーの値が１であるビットに応じたビットスライスされたビットマップを走査する複数のカーソルを用意し、第３に、それらのカーソルを条件式の内容にしたがって並行して動かしながら走査することにより、シグネチャーファイル１２を１回走査しただけで、検索結果を求めることが可能となる。しかも、カーソルは常に順方向に走査させるので、ＭＨ（Modified Huffman）法等により圧縮されたビットマップに対しても対応できるという利点がある。
【００３５】
図３は、上記した検索文字列のパターンとカーソルとビットスライスされたビットマップとの関係を示した図である。ここで、カーソルは、ビットスライスされたビットマップに対して１対１に対応している。つまり、条件式に含まれる検索文字列から摘出されたシグネチャーのうち、あるビット位置の値が１であるものが複数あってもカーソルは一つしか用意しない。そうすることにより、条件式に含まれる検索文字列が増えたとしても、ビットスライスされたビットマップの走査を１回で済ませることができる。
【００３６】
そして、カーソルは、各検索文字列（パターン）に関連づけられている。また、カーソルは、パターンごとに検索効率の良い順に並べられる。この検索効率の良い順とは、ここではカーソルに応じてビットスライスされたビットマップで値が１であるビットの数が少ない順のことである。これにより、検索効率を向上させることができる。
【００３７】
また、各検索文字列において、先頭のカーソルがプライマリーカーソルと称され、検索時にはプライマリーカーソルのうち、指示するビットマップの位置が最も小さいものを選び出し、そのカーソルで値が「１」であるビットを探してゆく。
【００３８】
そして、プライマリーカーソルの移動後、各プライマリーカーソルが指示している位置でシグネチャーが見つかったと仮定した場合、それらのシグネチャーの摘出元である文書データが条件式を満たすか否かを判定する。
【００３９】
また、条件式は、事前に連言標準形に変換しておく。連言標準形とは、リテラルが連言（積）の選言（和）となっている論理式の形式を表す。ここでリテラルは、ひとつの検索文字列に対応づけられる。例えば、条件式"（高速 OR 高精細）AND プリンター"は、"（高速 AND  プリンター） OR （高精細 AND  プリンター）"という連言標準形に変換される。このように、条件式を連言標準形にしておくことにより、連言のいずれかの真偽によって、条件式全体の真偽を判定することができる。
【００４０】
また、ある検索文字列に応じたプライマリーカーソルがビットスライスされたビットマップの末尾に達したときに、そのプライマリーカーソルに応じた検索文字列をリテラルとする連言を除去することにより、条件式を簡略化することができる。つまり、検索文字列"高性能"のシグネチャーが見つからないことが判明したら、それ以降は、条件式を"高速ＡＮＤプリンター"として検索すればよい。
【００４１】
各プライマリーカーソルが指示している位置で、それぞれに応じたシグネチャーが見つかったと仮定し、それらのシグネチャーの摘出元である文書データが条件式を満たすと判断されるときには、検索文字列ごとにプライマリーカーソル以降のカーソルについて、ビット位置の値が「１」であるか否かを確認し、条件式を満足するか否かを判定する。
【００４２】
以上述べたように、カーソル移動を繰り返しながら、検索結果を求めてゆく。その詳細については、フローチャートの図４〜図７に示したものである。これらの各フローチャートは、カーソル移動処理部（図４、図５）、条件式清算部（図６）、条件式見込み計算部（図７）のフローチャートであり、カーソル移動処理部から条件式清算部と条件式見込み計算部とを呼び出す形になっている。そして、それらの各図中では、条件式を構成する検索文字列をパターンと言い表しており、それらの各パターンは、属性値として、position, checked ，match を持っている。position, checked の初期値は、「０」であり、「０」はビットスライスされたビットマップの仮想的な先頭位置を表している。また、match の初期値は、ＦＡＬＳＥである。
【００４３】
図４のステップ４５の関数searchについては、引数で指定されたカーソルを次の値が「１」であるビットに進め、そのビット位置を返す。但し、つぎの値が「１」であるビットが見つからない場合は、負の値を返す。これにより、ステップ４６においてｈが正か負かにより、ステップ４７かステップ５３に行くかが判断される。
【００４４】
そして、これらのフローチャートでは、検索結果やその候補となる文書データがｔで表わされているが、ｔが不定なときは、その値をnullとする（ステップ４９）。また、ｔの属性値としては、start と endがあり、ｔに応じたシグネチャーの格納位置の先頭と末尾を表している。
【００４５】
また、図５のステップ６８では、ｔに応じたシグネチャーの集合を同族のシグネチャーと表現している。
【００４６】
以上述べたように、実施の形態４の文書検索装置の処理部２では、複数の検索文字列が含まれる条件式に基づいて文字列を検索する際に、条件式に含まれる全ての検索文字列のシグネチャーを摘出し、各シグネチャーの値が１であるビットに応じてビットスライスされたビットマップを走査するカーソルを用意し、そのカーソルを条件式の内容に従って並行に走査させながら検索するようにしたため、条件式に含まれる検索文字列が増えても、シグネチャーファイルを一回走査するだけで検索結果を求めることが可能となり、検索の高速化を図ることができる。
【００４７】
なお、本実施の形態に係る文書検索装置は、文書検索を行う場合について説明したが、これに限定されるものではなく、より一般的な検索装置に対しても適用することが可能である。例えば、性別、血液型、出身県を区別するためのビットをシグネチャーに割り当てて、
"性別＝男  AND 血液型＝AB AND（出身県＝埼玉 OR 出身県＝山梨）"
のようにすれば、この条件式の内容の検索を高速で処理することも可能になる。
【図面の簡単な説明】
【００４８】
【図１】本実施の形態に係る文書検索装置の概略構成を示すブロック図である。
【図２】実施の形態２において文書データを分割してブロックシグネチャーを摘出する際の文書データの分割状態を示す図である。
【図３】実施の形態４に係る検索文字列のパターンとカーソルとビットスライスされたビットマップとの関係を示す図である。
【図４】実施の形態４に係るカーソル移動処理部のフローチャートである。
【図５】実施の形態４に係るカーソル移動処理部のフローチャートである。
【図６】実施の形態４に係る条件式清算部のフローチャートである。
【図７】実施の形態４に係る条件式見込み計算部のフローチャートである。
【符号の説明】
【００４９】
５    文書検索処理部
８    文書登録処理部
９    シグネチャー摘出処理部
１２  シグネチャーファイル
【図１】
2006179018.tif 000003
【図２】
2006179018.tif 000004
【図３】
2006179018.tif 000005
【図４】
2006179018.tif 000006
【図５】
2006179018.tif 000007
【図６】
2006179018.tif 000008
【図７】
2006179018.tif 000009