(57)【特許請求の範囲】
【請求項１】
複数の文を有するテキストファイルから、文を分割することなく、文字数Ｎの文字列とその頻度情報とでなるＮ−ｇｒａｍデータを作成するＮ−ｇｒａｍデータ処理手段と、作成されたＮ−ｇｒａｍデータを格納するＮ−ｇｒａｍデータ記憶手段とを有する自然言語統計データベース装置において、
入力テキストファイルの先頭と末尾にＮ−１文字の特殊文字を付加すると共に、テキストファイル中の文と文との間にＮ−１文字の特殊文字を付加して上記Ｎ−ｇｒａｍデータ処理手段に与える特殊文字付加手段と、
テキストファイルを複数に分割する、上記特殊文字付加手段の前段又は後段に設けられたファイル分割手段と、
上記Ｎ−ｇｒａｍデータ処理手段によって得られた分割テキストファイル毎のＮ−ｇｒａｍデータを統合して上記Ｎ−ｇｒａｍデータ記憶手段に格納するデータ統合手段と、
入力テキストファイル中の文と文との切れ目を挟む所定文字数の文間文字列を分離する文間文字列分離手段と、
分離された文間文字列からＮ−ｇｒａｍデータを作成する文間Ｎ−ｇｒａｍデータ作成手段と、
この文間Ｎ−ｇｒａｍデータ作成手段によって作成されたＮ−ｇｒａｍデータを、上記データ統合手段によるＮ−ｇｒａｍデータに統合して上記Ｎ−ｇｒａｍデータ記憶手段に格納する第２のデータ統合手段とを有し、
上記Ｎ−ｇｒａｍデータ処理手段が分割したテキストファイル毎にＮ−ｇｒａｍデータを作成するものであり、
上記Ｎ−ｇｒａｍデータ記憶手段には、上記データ統合手段から出力された特殊文字を含む文頭、文末に係るＮ−ｇｒａｍデータと、上記文間Ｎ−ｇｒａｍデータ作成手段から出力された特殊文字を含まない文頭、文末に係るＮ−ｇｒａｍデータとが格納される
ことを特徴とする自然言語統計データベース装置。
【請求項２】
外部からの文頭又は文末のＮ−ｇｒａｍデータの要求に対し、その要求が、上記Ｎ−ｇｒａｍデータ記憶手段に格納されている特殊文字を含むＮ−ｇｒａｍデータの形式でない場合に、要求に係る文頭又は文末を規定する部分を特殊文字に変換して上記Ｎ−ｇｒａｍデータ記憶手段をアクセスする特殊文字変換手段をさらに有することを特徴とする請求項１に記載の自然言語統計データベース装置。
【請求項３】
上記特殊文字付加手段に、付加する特殊文字を指定する特殊文字指定手段をさらに有することを特徴とする請求項１又は２に記載の自然言語統計データベース装置。
【請求項４】
上記Ｎ−ｇｒａｍデータ記憶手段に格納されている、Ｎ番目の文字が特殊文字であって、Ｎ−１番目の文字が同一の複数のＮ−ｇｒａｍデータの頻度情報の相対的関係から、文区切り用のＮ−ｇｒａｍデータとして妥当性が弱いものを検出して出力する文区切り妥当性判定手段をさらに有することを特徴とする請求項１〜３のいずれかに記載の自然言語統計データベース装置。
【請求項５】
上記特殊文字付加手段は、開き括弧の直後にもＮ−１文字の特殊文字を付加するものであることを特徴とする請求項１〜４のいずれかに記載の自然言語統計データベース装置。
【請求項６】
テキストファイルの各文に、１組の括弧で挟まれた文字列があった場合に、括弧を含めその文字列を除去する括弧内文字列除去手段を、上記Ｎ−ｇｒａｍデータ処理手段より前のいずれかの位置にさらに有することを請求項１〜４のいずれかに記載の自然言語統計データベース装置。
【請求項７】
上記括弧内文字列除去手段により除去された文字列の括弧を除外した括弧内文字列からＮ−ｇｒａｍデータを作成する括弧内Ｎ−ｇｒａｍデータ作成手段と、
この括弧内Ｎ−ｇｒａｍデータ作成手段によって作成されたＮ−ｇｒａｍデータを、上記第２のデータ統合手段によるＮ−ｇｒａｍデータに統合して上記Ｎ−ｇｒａｍデータ記憶手段に格納する第３のデータ統合手段と
をさらに有することを特徴とする請求項６に記載の自然言語統計データベース装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一連の文章から文字列に関する統計データ（Ｎ−ｇｒａｍデータ）を抽出して格納する自然言語統計データベース装置に関し、例えば、統計データを利用して文の形態素を自動的に解析する形態素解析装置が利用し得るものである。
【０００２】
【従来の技術】
文献１『長尾眞、森信介著、「大規模日本語テキストのｎグラム統計の作り方と語句の自動抽出」、情報処理学会研究報告自然言語処理９６−１、１９９３年７月』
文献２『特開平７−２７１７９２号公報』
文献３『特願平９−６８３００号明細書及び図面（公開されていないが文献と呼ぶ）』
日本語文などの自然言語文を処理する自然言語処理装置（例えば、機械翻訳装置や質疑応答装置やコンピュータ援用の教育装置等）においては、自然言語文に対して、最初に形態素解析を行う。近年、形態素辞書を使用せず、その代わりに、形態素境界や各形態素の品詞情報を保持したタグ付きコーパス（大量のテキストデータ）から学習した統計データに基づく形態素解析装置が研究され始めている（例えば、上記文献２及び文献３）。
【０００３】
このような統計データの一つに、Ｎ個の文字の順次でなる文字列の出現頻度を示すＮ−ｇｒａｍ統計（場合によっては、Ｎ−ｇｒａｍデータと呼ぶ）があり、大量のテキストデータが与えられたときに、Ｎ−ｇｒａｍデータを計算する手法が研究されている（例えば、上記文献１）
上記文献１のＮ−ｇｒａｍデータの計算手法は、テキスト全体を一つの文字列と見なし、各文字を先頭としてテキスト最後尾の文字を末尾とする部分文字列を想定し、これをソートすることで、隣接する部分文字列の一致する文字数をカウントしたデータからＮ−ｇｒａｍ統計を得るという方法であり、高速処理を意図したものである。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記文献１のＮ−ｇｒａｍデータの計算手法は、テキストの途中に存在する文頭や文末に対する考慮がなされておらず、文頭や文末に係るＮ−ｇｒａｍデータも他の位置のＮ−ｇｒａｍデータと同様に形成するものである。そのため、文頭や文末に係るＮ−ｇｒａｍデータの種類数が多くなり、文頭や文末に係るＮ−ｇｒａｍデータの各々の頻度が少なく、このようにして形成されたＮ−ｇｒａｍデータを形態素解析への統計モデルとして適用した場合には、形態素解析結果の精度を低くする。
【０００５】
例えば、（１）「…した。今日…」と、（２）「…する。今日…」というテキストの３−ｇｒａｍデータを調べたときに、（１）のテキスト部分からは「た。今」が取り出され、（２）のテキスト部分からは「る。今」が取り出されるので、３−ｇｒａｍデータのテーブルでは全く別の見出しであることになってしまい、出現頻度が変わってくる。
【０００６】
実際には、「今」は文頭から始まっているのであるから、前文の末尾とは文字列としてのつながりはないので、『（文頭）＋今』という見出しが（１）のテキスト部分からも（２）のテキスト部分からも取り出されるのが好ましい。
【０００７】
つまり、上記文献１のＮ−ｇｒａｍデータの計算手法では、計算を簡単にする手段としてテキスト全体を一つの文字列と見なしたときに、もともと文頭や文末であったことの情報が減じていることになる。
【０００８】
また、上記文献１のＮ−ｇｒａｍデータの計算手法では、テキストが非常に大きいときはテキストを分割してソートし、最後にソート済み部分文字列を比較しながらデータをマージする方法を取っているが、Ｎ−ｇｒａｍデータだけが必要な場合（形態素解析への適用時など）、部分文字列データそのものをマージする方法には無駄が多いということができる。
【０００９】
そのため、大量のテキストデータから精度の高いＮ−ｇｒａｍデータを効率良く抽出して格納する自然言語統計データベース装置が求められている。
【００１０】
【課題を解決するための手段】
かかる課題を解決するため、本発明は、複数の文を有するテキストファイルから、文を分割することなく、文字数Ｎの文字列とその頻度情報とでなるＮ−ｇｒａｍデータを作成するＮ−ｇｒａｍデータ処理手段と、作成されたＮ−ｇｒａｍデータを格納するＮ−ｇｒａｍデータ記憶手段とを有する自然言語統計データベース装置において、（１）入力テキストファイルの先頭と末尾にＮ−１文字の特殊文字を付加すると共に、テキストファイル中の文と文との間にＮ−１文字の特殊文字を付加して上記Ｎ−ｇｒａｍデータ処理手段に与える特殊文字付加手段と、（２）テキストファイルを複数に分割する、上記特殊文字付加手段の前段又は後段に設けられたファイル分割手段と、（３）上記Ｎ−ｇｒａｍデータ処理手段によって得られた分割テキストファイル毎のＮ−ｇｒａｍデータを統合して上記Ｎ−ｇｒａｍデータ記憶手段に格納するデータ統合手段と、（４）入力テキストファイル中の文と文との切れ目を挟む所定文字数の文間文字列を分離する文間文字列分離手段と、（５）分離された文間文字列からＮ−ｇｒａｍデータを作成する文間Ｎ−ｇｒａｍデータ作成手段と、（６）この文間Ｎ−ｇｒａｍデータ作成手段によって作成されたＮ−ｇｒａｍデータを、上記データ統合手段によるＮ−ｇｒａｍデータに統合して上記Ｎ−ｇｒａｍデータ記憶手段に格納する第２のデータ統合手段とを有し、（７）上記Ｎ−ｇｒａｍデータ処理手段が分割したテキストファイル毎にＮ−ｇｒａｍデータを作成するものであり、（８）上記Ｎ−ｇｒａｍデータ記憶手段には、上記データ統合手段から出力された特殊文字を含む文頭、文末に係るＮ−ｇｒａｍデータと、上記文間Ｎ−ｇｒａｍデータ作成手段から出力された特殊文字を含まない文頭、文末に係るＮ−ｇｒａｍデータとが格納されることを特徴とする。
【００１１】
【発明の実施の形態】
（Ａ）第１の実施形態
以下、本発明による自然言語統計データベース装置の第１の実施形態を図面を参照しながら詳述する。
【００１２】
この第１の実施形態の自然言語統計データベース装置は、大量のテキストデータからＮ−ｇｒａｍデータを抽出して格納するまでに特徴を有し、格納した後のＮ−ｇｒａｍデータの用途（例えば形態素解析）は問わないものであり、格納した後のＮ−ｇｒａｍデータの取り出し方法には特徴がないものである。
【００１３】
（Ａ−１）第１の実施形態の構成
第１の実施形態の自然言語統計データベース装置は、ワークステーションやパソコンなどの情報処理装置上で実現されるものであるが、機能的には、図１に示す機能ブロック図で表すことができる。
【００１４】
図１において、第１の実施形態の自然言語統計データベース装置は、ファイル分割部１、特殊文字付加部２、文結合部３、Ｎ−ｇｒａｍデータ処理部４、データ統合部５及びＮ−ｇｒａｍデータテーブル６からなる。
【００１５】
なお、以降の説明では、入力されるテキストは１行１文であるものとする。テキストファイルのフォーマットがそのようになっていない場合には、文区切り文字（句点など）が存在する位置を文の終りと見なして処理を行うものとする。ここで、処理に供するテキストファイルは、ハードディスク装置などの大容量の記憶装置に記憶されているものである。また、Ｎ−ｇｒａｍデータの文字数Ｎの値は、当該装置の起動時に指定されるようになされている。
【００１６】
ファイル分割部１は、テキストファイルを受けとり、ファイルサイズが閾値サイズより大きい場合のみ適当なサイズに分割し、特殊文字付加部２に分割したテキストファイルを一つずつ送るものである。ファイル分割部１は、ファイルサイズが閾値サイズ以下の場合には、入力されたテキストファイルを特殊文字付加部２にそのまま送るものである。ファイル分割部１は、分割を行った場合には、分割したことと、分割した数の情報をデータ統合部５に送る。
【００１７】
特殊文字付加部２は、ファイル分割部１から受け取ったテキストファイルを、各文に分離しながら各文の先頭に特殊文字を付加し、１文ずつ文結合部３に送るものである。付加する文字の数は、求めたいＮ−ｇｒａｍの文字数であるＮから１引いた値である。また、特殊文字付加部２は、テキストファイルの最後の文には末尾にも特殊文字を付加する。付加する特殊文字としては、通常の文章で出現することがほとんど考えられない文字を適用する。例えば、文字「＃」を適用する。
【００１８】
文結合部３は、特殊文字付加部２から特殊文字を付加された文を受け取って最後の文がくるまで結合し、結合結果の文字列をＮ−ｇｒａｍデータ処理部４に送るものである。
【００１９】
Ｎ−ｇｒａｍデータ処理部４は、例えば、上記文献１に記載されている手法によって、Ｎ−ｇｒａｍデータを求め、結果をデータ統合部５に送るものである。すなわち、結合結果の文字列（Ｍ文字とする）を構成する各文字を先頭として、テキスト最後尾の文字を末尾とする計Ｍ−Ｎ＋１個の部分文字列を想定し、これらをソートし、隣接する部分文字列の先頭側のＮ文字が一致する文字数をカウントしたデータからＮ−ｇｒａｍデータを得る。
【００２０】
Ｎ−ｇｒａｍデータの例（Ｎが３の場合）を図５に示す。Ｎ−ｇｒａｍデータは文字数Ｎの文字列を見出しとし、出現頻度を値に持つデータである。
【００２１】
データ統合部５は、ファイル分割部１からファイル入力時に分割した旨の情報がきている場合には、Ｎ−ｇｒａｍデータ処理部４から送られてくるデータを分割されたファイル数だけ受け取って、見出しの一致するデータの出現頻度値を加算して一つのデータに統合してＮ−ｇｒａｍデータテーブル６に格納するものである。一方、データ統合部５は、ファイル分割部１からファイル入力時に分割した旨の情報が与えられていない場合には、Ｎ−ｇｒａｍデータ処理部４から送られてくるデータをそのままＮ−ｇｒａｍデータテーブル６に格納するものである。
【００２２】
Ｎ−ｇｒａｍデータテーブル６は、図５に例示するように、Ｎ−ｇｒａｍデータを格納するものである。
【００２３】
（Ａ−２）第１の実施形態の動作
次に、ファイル分割部１からＮ−ｇｒａｍデータ処理部４までの動作を図２のフローチャートを参照しながら説明する。
【００２４】
まず、対象となるテキストファイルのデータを分割するかどうかを判断する（ステップ２０１）。ファイル分割部１は、分割可否判断に供する予め定められている閾値サイズ（又は文字数）を保持しており、対象となるファイルサイズとこの閾値サイズとの比較により、分割の可否を判断する。
【００２５】
対象となるファイルサイズが閾値サイズを超えた場合に分割を行う（ステップ２０２）。分割を行う場合、分割されたファイルサイズがほぼ均等になるように分割する。また、分割後の各ファイルのサイズが、上記閾値サイズを超えないように分割数を調節する。さらに、分割は行の途中で行わない。すなわち、文の途中で分割されることはない。
【００２６】
ステップ２０２において分割した場合には、データ統合部５に対して分割数のデータを送付し、分割されたファイルの最初の部分（テキスト）を送付対象としてセットし、ステップ２０３に進む。分割が行われない場合にはそのままステップ２０３に進む。
【００２７】
ステップ２０３において、実際に対象テキスト（分割されていない場合はファイル全体が対象テキストとなる）を特殊文字付加部２に送付する。
【００２８】
次に、ステップ２０４において、テキストの各文を対象として特殊文字を付加し、結合して一つの文字列にする。この処理の詳細については後述する。
【００２９】
その後、ステップ２０４において生成された文字列を用いて、Ｎ−ｇｒａｍデータをカウントし、結果をデータ統合部５に送付する（ステップ２０５）。Ｎ−ｇｒａｍデータのカウントにあたっては、上記文献１に記載されている手法を用いるものとするので、ここでの説明は省略する。
【００３０】
そして、入力テキストファイルが分割されていて、次のテキストがまだ存在しているかどうかをチェックする（ステップ２０６）。次のテキストが残っていた場合には、ステップ２０７で次のテキストを対象テキストにセットし、上述したステップ２０３に戻る。次のテキストがもうない（今処理をしたテキストが最後であった）場合には、一連の処理を終了する。
【００３１】
以下、ステップ２０４の動作の詳細について図３のフローチャートを参照しながら説明する。すなわち、特殊文字付加部２と文結合部３の動作について説明する。
【００３２】
まず、ファイル分割部１から送られてきたテキストから、最初の文（最初の行）を処理対象にセットし、文を結合するための文字列メモリを確保する（ステップ３０１）。
【００３３】
次に、対象文の文頭にＮ−１個の特殊文字を付加し、文字列メモリの末尾に追加する（ステップ３０２）。上述したように、Ｎの値はシステム起動時に指定されるものとする。
【００３４】
その後、現在の対象文が処理すべき最後の文かどうか（他に処理する文が残っていないか）をチェックする（ステップ３０３）。最後の文ではなかった場合には、次の文を対象にセットして（ステップ３０５）、上述したステップ３０２に戻る。一方、最後の文であった場合には、文字列メモリの末尾に特殊文字をＮ−１個だけ追加し（ステップ３０４）、一連の処理を終了する。これによってテキストの一番末尾も正しくＮ−ｇｒａｍデータがとれるようになる。
【００３５】
ステップ３０２に移行したときの対象文を「今日は…」とし、特殊文字を「＃」、Ｎ＝３とすると、処理結果は「＃＃今日は…」となる。文を結合して一つの文字列にしてしまっても、このようにすることによって、文頭から「今日は…」で始まるような文からは、全て「＃＃今」の３−ｇｒａｍデータが得られることになる。また、文は結合されていくので、前文の文末に次の文の先頭のＮ−１個の特殊文字が連結することになり、結果的に各文の文末にも特殊文字を付加したことになる。
【００３６】
次に、データ統合部５の動作について、図４のフローチャートを参照しながら説明する。
【００３７】
まず、入力テキストファイルが分割されたかどうかの情報が、ファイル分割部１から送られてきているかどうかを確認する（ステップ４０１）。
【００３８】
分割されたという情報がきていなければ、入力ファイルは分割されておらずデータを統合する必要はないので、Ｎ−ｇｒａｍデータを受け付けたら（ステップ４０６）、ステップ４０５で、当該データをそのままＮ−ｇｒａｍデータテーブル６に出力格納して処理を終了する。
【００３９】
これに対して、分割されたという情報がきていれば、Ｎ−ｇｒａｍデータを受け付け（ステップ４０２）、その各見出しに対して、既に保持しているＮ−ｇｒａｍデータの見出しに同じものがあれば、既存データの頻度値に、新規データの頻度値を加算し、既に保持しているＮ−ｇｒａｍデータの見出しに同じものがなければ、見出しと値のペアを追加する（ステップ４０３）。
【００４０】
次に、ファイル分割部１から受け取った分割数の情報と同一回数、Ｎ−ｇｒａｍデータを受け付けたかどうか（つまり入力ファイル全体の処理結果を受け取ったかどうか）を確認する（ステップ４０４）。
【００４１】
分割数の分だけ受け取った場合には、統合されたＮ−ｇｒａｍデータをＮ−ｇｒａｍデータテーブル６に出力格納して処理を終了する（ステップ４０５）。一方、まだ分割数まで受け取っていない場合には、上述したステップ４０２に戻ってデータを受け付ける。
【００４２】
（Ａ−３）第１の実施形態の効果
以上のように、第１の実施形態によれば、多数の文を有するテキストファイル（文字列）をからＮ−ｇｒａｍデータを求めるにつき、各文に文頭又は文末に係る特殊文字を付加した後に、各文を結合し直した後に、Ｎ−ｇｒａｍデータを求めるようにしたので、文末、文頭近傍のＮ文字のカウントが正しく行うことができ、精度の高い統計データ（Ｎ−ｇｒａｍデータ）を得ることができる。
【００４３】
また、第１の実施形態によれば、分割されたテキストファイルのそれぞれから求めた複数のＮ−ｇｒａｍデータを受け取り、同一見出しのデータの値を加算し、それ以外のものはテーブルに追加するようにしたので、文字列をソートしたものを統合するより速くＮ−ｇｒａｍデータが得ることができ、統計データを効率良く得ることができる。
【００４４】
（Ａ−４）第１の実施形態の変形実施形態
上記第１の実施形態では、ファイル分割部１による処理の後で、テキストファイルに対して文区切り処理するものを示したが、ファイル分割部１による処理の前に入力テキストファイルに対して文区切り処理する形態であっても良い。
【００４５】
また、特殊文字付加部２、文結合部３、Ｎ−ｇｒａｍデータ処理部４の全て、あるいはＮ−ｇｒａｍデータ処理部４のみを、複数設けて、分割されたテキストの各々を同時に並行処理する形態であっても良い。
【００４６】
さらに、第１の実施形態では、特殊文字を付加された文字列の結合を、文字列メモリを利用して行うものを示したが、実際にはポインタによって位置を指す方法で実現しても良い。
【００４７】
また、第１の実施形態では、Ｎ−ｇｒａｍデータが見出しと頻度でなるものを示したが、頻度を確率情報に変換したものであっても良い。一般には、Ｎ−ｇｒａｍデータの場合、先頭のＮ−１文字が同じ複数の見出しの確率の総和が１になるように確率情報化される。
【００４８】
さらに、第１の実施形態では、Ｎ−ｇｒａｍデータテーブル６に、起動時に指定されたＮに係るＮ−ｇｒａｍデータに格納するものであったが、様々なＮの値に対するデータを全て一つのテーブルとして保持するようにしても良い。
【００４９】
（Ｂ）第２の実施形態
以下、本発明による自然言語統計データベース装置の第２の実施形態を図面を参照しながら詳述する。
【００５０】
この第２の実施形態の自然言語統計データベース装置は、第１の実施形態と同様な特徴に加えて、格納した後のＮ−ｇｒａｍデータの取り出し方法にも特徴を有するものである。
【００５１】
（Ｂ−１）第２の実施形態の構成
図６は、第２の実施形態の自然言語統計データベース装置の構成を示す機能ブロック図であり、図１との同一、対応部分には同一符号を付して示している。
【００５２】
図６において、第２の実施形態の自然言語統計データベース装置は、第１の実施形態と同様なファイル分割部１、特殊文字付加部２、文結合部３、Ｎ−ｇｒａｍデータ処理部４、データ統合部５及びＮ−ｇｒａｍデータテーブル６に加えて、特殊文字変換部７を有する。
【００５３】
ファイル分割部１、特殊文字付加部２、文結合部３、Ｎ−ｇｒａｍデータ処理部４、データ統合部５及びＮ−ｇｒａｍデータテーブル６は、第１の実施形態と同じであるので、その説明は省略する。
【００５４】
特殊文字変換部７は、例えば形態素解析装置などのＮ−ｇｒａｍデータを適用する応用装置から、ある見出しに対するデータの参照要求があったとき、文頭、文末などの指定があれば、当該装置の特殊文字に合わせて要求された見出しを変換して、Ｎ−ｇｒａｍデータテーブル６内のデータとマッチングをとり、その頻度値を、応用装置に返すものである。
【００５５】
（Ｂ−２）第２の実施形態の動作
動作上、第２の実施形態が第１の実施形態と異なるのは特殊文字変換部７の動作だけであるので、以下では、特殊文字変換部７の動作を図７のフローチャートを参照しながら説明する。
【００５６】
まず、応用装置からデータ参照要求を受け付け（ステップ７０１）、要求された見出しの中に、「文頭」又は「文末」の指定があるかどうかをチェックする（ステップ７０２）。
【００５７】
指定がない場合は、ステップ７０４で、Ｎ−ｇｒａｍデータテーブル６から、見出しのマッチするものの頻度値を取得し（ステップ７０４）、応用装置に値を送って（ステップ７０５）、一連の処理を終了する。
【００５８】
一方、指定があった場合、そのままではＮ−ｇｒａｍデータテーブル６の見出しとマッチしないので、「文頭」、「文末」の指定を特殊文字に変換する（ステップ７０３）。その後、ステップ７０４で、Ｎ−ｇｒａｍデータテーブル６から、見出しのマッチするものの頻度値を取得し（ステップ７０４）、応用装置に値を送って（ステップ７０５）、一連の処理を終了する。
【００５９】
ここで、ステップ７０３の変換時に生成される特殊文字の数は、以下の式で決定される。
【００６０】
生成特殊文字数＝Ｎ−（「文頭」、「文末」以外の指定文字数）
例えば、Ｎ＝３で、要求が『文頭＋「今」』に対するものであった場合、「文頭」、「文末」以外の指定文字数は１なので、生成される特殊文字の数は２になる。よって２個の特殊文字が「今」の前に付加されることになる。特殊文字が「＃」であったとすると、要求見出しは、『＃＃今』に変換される。
【００６１】
（Ｂ−３）第２の実施形態の効果
第２の実施形態によっても、第１の実施形態と同様な効果を奏することができる。さらに、第２の実施形態によれば、応用装置からのデータ参照要求の見出しの中の「文頭」、「文末」指定を、データテーブル６に合わせた特殊文字に変換するようにしたので、応用装置は特殊文字の種類を意識しなくて良く、当該自然言語統計データベース装置の応用性が高くなる。
【００６２】
（Ｂ−４）第２の実施形態の変形実施形態
上記第１の実施形態についての変形実施形態は、第２の実施形態の変形実施形態ともなり得る。
【００６３】
なお、Ｎ−ｇｒａｍデータテーブル６が様々なＮについてのＮ−ｇｒａｍデータを格納しているものである場合、応用装置から「文頭」、「文末」について、何文字の特殊文字を生成すればよいかが、知らされるようにすれば良い。
【００６４】
上記第２の実施形態では、「文頭」、「文末」という符号が応用装置から与えられるものを示したが、当該自然言語統計データベース装置とは異なる特殊文字で「文頭」、「文末」を表す見出しが与えられるものであっても良い。この場合、その特殊文字を、当該自然言語統計データベース装置での特殊文字に変換してデータテーブル６を参照するようにすれば良く、変換文字数を考慮する処理は不要となる。
【００６５】
（Ｃ）第３の実施形態
以下、本発明による自然言語統計データベース装置の第３の実施形態を図面を参照しながら詳述する。
【００６６】
第３の実施形態の自然言語統計データベース装置も、機能ブロック図で表すと、第１の実施形態に係る図１で表すことができる。
【００６７】
しかし、第３の実施形態の自然言語統計データベース装置は、特殊文字付加部２及び文結合部３の機能が第１の実施形態のものと多少異なっている。
【００６８】
すなわち、第３の実施形態の特殊文字付加部２及び文結合部３はそれぞれ、基本的には、文頭又は文末に特殊文字を付加する機能、特殊文字を付加された文を結合する機能を担うものであるが、この第３の実施形態の場合、括弧種類は問わないが、文の途中に表れる開き括弧の直後にも特殊文字を付加し、そのような開き括弧の直後に付加された特殊文字をも有する文を結合する機能をも担っている。
【００６９】
この第３の実施形態は、開き括弧の直後の文字部分は、文頭と同様に取り扱って良いという点に鑑みてなされている。
【００７０】
上述から明らかなように、第３の実施形態の自然言語統計データベース装置は、動作上も、特殊文字付加部２及び文結合部３による特殊文字の付加及び文結合動作（図２のステップ２０４参照）が第１の実施形態とは異なっている。
【００７１】
そこで、以下では、第３の実施形態の特殊文字付加部２及び文結合部３の動作を、図８のフローチャートを参照しながら説明する。なお、図８は、第１の実施形態に係る図３に置き換えられるものであり、図３との同一、対応ステップには同一符号を付して示している。
【００７２】
まず、ファイル分割部１から送られてきたテキストから、最初の文（最初の行）を処理対象にセットし、文を結合するための文字列メモリを確保する（ステップ３０１）。
【００７３】
次に、対象文の文頭にＮ−１個の特殊文字を付加した後（ステップ８０１）、これから文字列メモリに格納しようとする文字列部分の中に開き括弧があるか否かを確認する（ステップ８０２）。開き括弧がある場合には、開き括弧までを文字列メモリの末尾に追加し（ステップ８０３）、上述したステップ８０１に戻る。このときのステップ８０１においては、開き括弧の直後に特殊文字が付加されることになる。
【００７４】
このようなステップ８０１〜８０３でなる処理ループは、処理対象の文に含まれている開き括弧の個数に応じて繰り返され、開き括弧の直後に特殊文字が付加される。
【００７５】
処理対象の文に１個も開き括弧がない場合や、ステップ８０１〜８０３でなる処理ループを繰り返したことにより、これから文字列メモリに格納しようとする文字列部分の中に開き括弧がなくなった場合には、ステップ８０２で否定結果が得られ、この場合には、処理対象の文の未だ文字列メモリに格納されていない文字列を文字列メモリの末尾に追加する（ステップ８０４）。
【００７６】
その後、現在の対象文が処理すべき最後の文かどうか（他に処理する文が残っていないか）をチェックする（ステップ３０３）。最後の文ではなかった場合には、次の文を対象にセットして（ステップ３０５）、上述したステップ８０１に戻る。一方、最後の文であった場合には、文字列メモリの末尾に特殊文字をＮ−１個だけ追加し（ステップ３０４）、一連の処理を終了する。
【００７７】
この第３の実施形態においても、第１の実施形態と同様な効果を奏することができる。これに加えて、文頭と同様に取り扱うことができる開き括弧の直後にも、特殊文字を付加してＮ−ｇｒａｍデータを作成するようにしたので、データ精度の一段の向上を期待できる。
【００７８】
なお、この第３の実施形態についても、第１の実施形態について説明した変形実施形態のうち、適用可能なものを適用できることは勿論である。
【００７９】
また、この第３の実施形態の特徴的な技術思想（開き括弧直後に特殊文字を挿入する）と、第２の実施形態の特徴的な技術思想（応用装置は「文頭」、「文末」などという形で見出しを指定できる）とを組み合わせることもできる。
【００８０】
（Ｄ）第４の実施形態
以下、本発明による自然言語統計データベース装置の第４の実施形態を図面を参照しながら簡単に説明する。
【００８１】
図９は、第４の実施形態の自然言語統計データベース装置の構成を示す機能ブロック図であり、上述した図１との同一、対応部分には同一符号を付して示している。
【００８２】
図９及び図１の比較から明らかなように、この第４の実施形態は、第１の実施形態の構成に加えて、特殊文字指定部１２を有するものであり、この特殊文字指定部１２以外の構成要素は第１の実施形態と同様に機能するものである（正確に言えば、特殊文字付加部２も多少異なる）。
【００８３】
特殊文字指定部１２は、外部から、特殊文字付加部２が付加動作する特殊文字の種類を取り込み、それを特殊文字付加部２に指定するものである。外部がユーザである場合には、例えば、複数の特殊文字候補をメニュー表示させてその中から選択させることで指定を受け付けたり、コード番号の入力などで特殊文字を受け付けたりする。また、外部が、Ｎ−ｇｒａｍデータテーブル６を利用する応用装置である場合には、例えば、コード番号として受け付けたりする。
【００８４】
この第４の実施形態の特殊文字付加部２は、文頭や文末などに、特殊文字指定部１２が指定した文字種の特殊文字を付加する。
【００８５】
この第４の実施形態においても、第１の実施形態と同様な効果を奏することができる。これに加えて、特殊文字の文字種を指定できるので、各種の応用装置に対応し易いという効果をも奏する。
【００８６】
なお、この第４の実施形態についても、第１〜第３の実施形態について説明した変形実施形態のうち、適用可能なものを適用できることは勿論である。
【００８７】
（Ｅ）第５の実施形態
以下、本発明による自然言語統計データベース装置の第５の実施形態を図面を参照しながら詳述する。
【００８８】
この第５の実施形態の自然言語統計データベース装置は、第１の実施形態と同様な特徴に加えて、相前後する文にまたがる文字列のＮ−ｇｒａｍデータも作成可能としたという特徴を有するものである。
【００８９】
（Ｅ−１）第５の実施形態の構成
図１０は、第５の実施形態の自然言語統計データベース装置の構成を示す機能ブロック図であり、上述した図１との同一、対応部分には同一符号を付して示している。
【００９０】
図１０及び図１の比較から明らかなように、この第５の実施形態は、第１の実施形態の構成に加えて、文間Ｎ−ｇｒａｍカウント部８を有するものであり、この文間Ｎ−ｇｒａｍカウント部８以外の構成要素は第１の実施形態と同様に機能するものである（正確に言えば、特殊文字付加部２及びデータ統合部５も多少異なる）。
【００９１】
この第５の実施形態の特殊文字付加部２も、基本的には、文頭又は文末に特殊文字を付加する機能を有するものであるが、さらに、相前後する文にまたがる文字列、言い換えると、前の文の文末の所定文字数（Ｎ−１文字）でなる文字列と、その次の文の文頭の所定文字数（Ｎ−１文字）でなる文字列とを文間Ｎ−ｇｒａｍカウント部８に与える機能をも担っているものである。
【００９２】
文間Ｎ−ｇｒａｍカウント部８は、特殊文字付加部２から与えられた相前後する文にまたがる文字列から、Ｎ−ｇｒａｍデータ（頻度情報を含む）を作成するものである。この文間Ｎ−ｇｒａｍカウント部８によるＮ−ｇｒａｍデータの作成は、対象とする文字列が短いので、上記文献１に記載の手法による必要はなく、例えば、文字列からＮ文字部分の切り出し、同一見出しのカウント方法を適用すれば良い。
【００９３】
この第５の実施形態のデータ統合部５は、Ｎ−ｇｒａｍデータ処理部４からの分割ファイル間のＮ−ｇｒａｍデータの統合だけでなく、文間Ｎ−ｇｒａｍカウント部８からのＮ−ｇｒａｍデータの統合も行い、統合後のＮ−ｇｒａｍデータをＮ−ｇｒａｍデータテーブル６に格納するものである。
【００９４】
（Ｅ−２）第５の実施形態の動作
上述のように、第５の実施形態は、相前後する文にまたがる文字列のＮ−ｇｒａｍデータも作成可能としたことに特徴を有するものであり、この特徴との関係で、特殊文字付加部２（及び文結合部３）の動作、及び、データ統合部５の動作が第１の実施形態とは異なっている。
【００９５】
ここで、データ統合部５の動作はデータを統合するだけであるので、その説明は省略し、以下では、特殊文字付加部２（及び文結合部３）の動作と、第１の実施形態では存在していない文間Ｎ−ｇｒａｍカウント部８の動作を順に説明する。
【００９６】
まず、第５の実施形態における特殊文字付加部２及び文結合部３による特殊文字の付加及び文結合動作（図２のステップ２０４参照）を、図１１のフローチャートを参照しながら説明する。
【００９７】
まず、ファイル分割部１から送られてきたテキストから、最初の文（最初の行）を処理対象にセットし、文を結合するための文字列メモリを確保する（ステップ３０１）。
【００９８】
次に、対象文の文頭にＮ−１個の特殊文字を付加し、文字列メモリの末尾に追加する（ステップ３０２）。その後、現在の対象文が処理すべき最後の文かどうか（他に処理する文が残っていないか）をチェックする（ステップ３０３）。
【００９９】
最後の文でなかった場合には、文末のＮ−１文字をコピーして文間Ｎ−ｇｒａｍカウント部８に送付した後（ステップ１１０１）、次の文を対象にセットし（ステップ３０５）、さらに、セットした文の文頭のＮ−１文字をコピーして文間Ｎ−ｇｒａｍカウント部８に送付して上述したステップ３０２に戻る（ステップ１１０２）。
【０１００】
一方、最後の文であった場合には、文字列メモリの末尾に特殊文字をＮ−１個だけ追加し（ステップ３０４）、文間Ｎ−ｇｒａｍカウント部８にテキスト最後であることを通知して（ステップ１１０３）、一連の処理を終了する。
【０１０１】
次に、文間Ｎ−ｇｒａｍカウント部８の動作を、図１２のフローチャートを参照しながら説明する。
【０１０２】
まず、特殊文字付加部２から、テキスト最後の通知が与えられたか否かを判定する（ステップ１２０１）。
【０１０３】
テキスト最後の通知が与えられていなければ、特殊文字付加部２から、文末のＮ−１文字と文頭のＮ−１文字とを受け取り（ステップ１２０２）、これらの２種類の文字列を結合した後、結合文字列からＮ文字の部分文字列を、その先頭側から１文字ずつずらしながら切り出し（Ｎ−１組の文字列が切り出される）、切り出した文字列（Ｎ−ｇｒａｍ；見出し）をそれぞれカウントする（ステップ１２０３）。その後、各見出しに対して、既に内部保持しているＮ−ｇｒａｍデータの見出しに同じものがあれば、既存データの頻度値に、新規データの頻度値を加算し、既に保持しているＮ−ｇｒａｍデータの見出しに同じものがなければ、見出しと頻度値のペアを追加する（ステップ１２０４）。そして、上述したステップ１２０１に戻る。
【０１０４】
ステップ１２０１の判定において、特殊文字付加部２から、テキスト最後の通知が与えられたという結果を得ると、内部保持しているＮ−ｇｒａｍデータをデータ統合部５に送付して一連の動作を終了する。
【０１０５】
（Ｅ−３）第５の実施形態の効果
この第５の実施形態においても、第１の実施形態と同様な効果を奏することができる。これに加えて、入力テキストファイルにおける文間においては、特殊文字を含む文頭や文末用のＮ−ｇｒａｍデータだけでなく、特殊文字を含まない文末から文頭に至るＮ−ｇｒａｍデータも作成することができ、多様なＮ−ｇｒａｍデータも作成、格納することができる。その結果、応用装置の自由度を高めることができる。
【０１０６】
（Ｅ−４）第５の実施形態の変形実施形態
なお、この第５の実施形態についても、第１〜第４の実施形態について説明した変形実施形態のうち、適用可能なものを適用できることは勿論である。
【０１０７】
また、第２〜第４の実施形態の特徴とこの第５の実施形態の特徴とを共に有するように自然言語統計データベース装置を構成しても良い。
【０１０８】
（Ｆ）第６の実施形態
以下、本発明による自然言語統計データベース装置の第６の実施形態を図面を参照しながら詳述する。
【０１０９】
この第６の実施形態の自然言語統計データベース装置は、第１の実施形態と同様な特徴に加えて、括弧内文字列を除去してからＮ−ｇｒａｍデータを作成可能としたという特徴を有するものである。
【０１１０】
（Ｆ−１）第６の実施形態の構成
図１３は、第６の実施形態の自然言語統計データベース装置の構成を示す機能ブロック図であり、上述した図１との同一、対応部分には同一符号を付して示している。
【０１１１】
図１３及び図１の比較から明らかなように、この第６の実施形態は、第１の実施形態の構成に加えて、括弧内文字列除去部９をファイル分割部１及び特殊文字付加部２間に有するものであり、この括弧内文字列除去部９以外の構成要素は第１の実施形態と同様に機能するものである。
【０１１２】
括弧内文字列除去部９は、ファイル分割部１からのテキストファイルの各文に、１組の括弧（開き括弧及び閉じ括弧）で挟まれた文字列があった場合に、その文字列を除去するものである。
【０１１３】
括弧の前の文字列又は括弧の後の文字列は、括弧内の文字列とは意味などが関連する単語や句の関係にはあるが、括弧の前後の文字の出現の関連性は明確に存在するとは言い難い。そこで、この第６の実施形態では、Ｎ−ｇｒａｍデータの作成には括弧及び括弧内の文字列は使用しないこととし、括弧内文字列除去部９を設けたものである。
【０１１４】
（Ｆ−２）第６の実施形態の動作
以下、この第６の実施形態で新たに設けられた括弧内文字列除去部９の動作を説明する。
【０１１５】
なお、この第６の実施形態の場合、括弧内文字列除去部９、特殊文字付加部２及び文結合部３は、融合した形で形成されているので、括弧内文字列除去部９、特殊文字付加部２及び文結合部３の動作を、図１４のフローチャートを参照しながら説明する。また、図１４は、括弧内にさらに括弧がある入れ子構造は存在しないことを前提としている。さらに、図１４は、第１の実施形態に係る図３に置き換えられるものであり、図３との同一、対応ステップには同一符号を付して示している。
【０１１６】
まず、ファイル分割部１から送られてきたテキストから、最初の文（最初の行）を処理対象にセットし、文を結合するための文字列メモリを確保する（ステップ３０１）。
【０１１７】
次に、対象文の文頭にＮ−１個の特殊文字を付加した後（ステップ１４０１）、これから文字列メモリに格納しようとする文字列部分の中に開き括弧があるか否かを確認する（ステップ１４０２）。開き括弧がある場合には、開き括弧直前までの文字列を文字列メモリの末尾に追加し（ステップ１４０３）、これ以降の文字列に閉じ括弧があるか否かを確認する（ステップ１４０４）。閉じ括弧があれば、開き括弧から閉じ括弧の間を読み飛ばして（ステップ１４０５）上述したステップ１４０２に戻る。
【０１１８】
上述したステップ１４０２において、開き括弧が存在しないという結果を得た場合や、上述したステップ１４０４において、閉じ括弧が存在しないという結果を得た場合には、処理対象の文の未だ文字列メモリに格納されていない文字列（読み飛ばされたものを除く）を文字列メモリの末尾に追加する（ステップ１４０６）。
【０１１９】
その後、現在の対象文が処理すべき最後の文かどうか（他に処理する文が残っていないか）をチェックする（ステップ３０３）。最後の文ではなかった場合には、次の文を処理対象にセットして（ステップ３０５）、上述したステップ１４０１に戻る。一方、最後の文であった場合には、文字列メモリの末尾に特殊文字をＮ−１個だけ追加し（ステップ３０４）、一連の処理を終了する。
【０１２０】
（Ｆ−３）第６の実施形態の効果
この第６の実施形態によっても、第１の実施形態と同様な効果を奏することができる。これに加えて、入力テキストファイルにおける括弧の影響を除いたＮ−ｇｒａｍデータも作成することができるという効果を奏する。
【０１２１】
（Ｆ−４）第６の実施形態の変形実施形態
なお、この第６の実施形態についても、第１、第２、第４、第５の実施形態について説明した変形実施形態のうち、適用可能なものを適用できることは勿論である。
【０１２２】
また、第１、第２、第４、第５の実施形態の特徴とこの第６の実施形態の特徴とを共に有するように自然言語統計データベース装置を構成しても良い。
【０１２３】
（Ｇ）第７の実施形態
以下、本発明による自然言語統計データベース装置の第７の実施形態を図面を参照しながら簡単に説明する。
【０１２４】
図１５は、第７の実施形態の自然言語統計データベース装置の構成を示す機能ブロック図であり、上述した図１３との同一、対応部分には同一符号を付して示している。
【０１２５】
図１５及び図１３の比較から明らかなように、この第７の実施形態は、第６の実施形態の構成に加えて、括弧内Ｎ−ｇｒａｍカウント部１０を有するものであり、この括弧内Ｎ−ｇｒａｍカウント部１０と、括弧内文字列除去部９以外の構成要素は第１の実施形態と同様に機能するものである。
【０１２６】
第７の実施形態の括弧内文字列除去部９は、１文に含まれている１組の括弧で挟まれた文字列（括弧を含む）を除去して特殊文字付加部２に与えると共に、除去した文字列のうち、括弧を除いた文字列を括弧内Ｎ−ｇｒａｍカウント部１０に与えるものである。
【０１２７】
括弧内Ｎ−ｇｒａｍカウント部１０は、括弧内文字列除去部９から与えられた文字列に対して、第５の実施形態の文間Ｎ−ｇｒａｍカウント部８と同様にして、Ｎ−ｇｒａｍデータを作成してデータ統合部５に与えるものである。
【０１２８】
図１６は、この第７の実施形態における括弧内文字列除去部９、特殊文字付加部２及び文結合部３の動作を示すフローチャートであり、上述した第６の実施形態に係る図１４のフローチャートとの同一ステップには同一符号を付して示している。
【０１２９】
図１４と異なる点は、ステップ１４０５の処理に代えて、ステップ１６０１の処理を実行している点であり、その他は、図１４と同一である。ステップ１６０１の処理は、開き括弧から閉じ括弧の間を読み飛ばしながら、括弧以外の文字列を括弧内Ｎ−ｇｒａｍカウント部１０に送付処理である。すなわち、第６の実施形態では、１組の括弧内の文字列を単に除去するものであったが、この第７の実施形態は、括弧内Ｎ−ｇｒａｍカウント部１０に除去した文字列を送付し、これにより、括弧内文字列に対するＮ−ｇｒａｍデータの作成を実行できるようにしている。
【０１３０】
この第７の実施形態によっても、第１の実施形態と同様な効果を奏することができる。これに加えて、入力テキストファイルにおける括弧の影響を除いたＮ−ｇｒａｍデータを作成することができ、しかも、括弧内文字列を１文と見なして得たＮ−ｇｒａｍデータも作成することができる。
【０１３１】
なお、この第７の実施形態についても、第１〜第５の実施形態について説明した変形実施形態のうち、適用可能なものを適用できることは勿論である。
【０１３２】
また、第１〜第５の実施形態の特徴とこの第７の実施形態の特徴とを共に有するように自然言語統計データベース装置を構成しても良い。
【０１３３】
（Ｈ）第８の実施形態
以下、本発明による自然言語統計データベース装置の第８の実施形態を図面を参照しながら詳述する。
【０１３４】
この第８の実施形態の自然言語統計データベース装置は、第１の実施形態と同様な特徴に加えて、文区切りに係るＮ−ｇｒａｍデータの中から、文区切り面から妥当でないものを検出して文区切り記号の前の文字列をユーザに提示するという特徴を有するものである。
【０１３５】
（Ｈ−１）第８の実施形態の構成
図１７は、第８の実施形態の自然言語統計データベース装置の構成を示す機能ブロック図であり、上述した図１との同一、対応部分には同一符号を付して示している。
【０１３６】
図１７及び図１の比較から明らかなように、この第８の実施形態は、第１の実施形態の構成に加えて、文区切り妥当性判定部１１を有するものであり、この文区切り妥当性判定部１１以外の構成要素は第１の実施形態と同様に機能するものである。なお、この第８の実施形態の場合、データ統合部５は、Ｎ−ｇｒａｍデータテーブル６に対するＮ−ｇｒａｍデータの格納が完了したときに、文区切り妥当性判定部１１の処理を起動するようになされている。
【０１３７】
文区切り妥当性判定部１１は、Ｎ−ｇｒａｍデータテーブル６に格納されているＮ−ｇｒａｍデータの中から文区切りに係るＮ−ｇｒａｍデータを検出し、さらに、その中から、文区切り面から妥当でないものを検出して文区切り記号の前の文字列をユーザに提示するものである。
【０１３８】
図示はしていないが、Ｎ−ｇｒａｍデータテーブル６に対する編集手段を設ければ、ユーザは提示された文字列を確認し、必要ならば、その文字列に係るＮ−ｇｒａｍデータを削除することができる。一般に、データテーブルに対する編集手段は各種のものが適用されており、そのような編集手段をＮ−ｇｒａｍデータテーブル６に対する編集手段として適用すれば良い。
【０１３９】
（Ｈ−２）第８の実施形態の動作
文区切り妥当性判定部１１での動作以外は、第１の実施形態と同様であるので、その説明は省略し、以下では、文区切り妥当性判定部１１の動作を図１８のフローチャートを参照しながら説明する。なお、図１８は、Ｎが３の場合の表現で記載している。
【０１４０】
まず、Ｎ−ｇｒａｍデータテーブル６から、Ｎ番目の文字種が特殊文字である全てのＮ−ｇｒａｍデータ（頻度値を含む）を取得する（ステップ１８０１）。すなわち、任意の文字を「？」で表し、Ｎが３であると、「？？＃」に係るＮ−ｇｒａｍデータを取得する。
【０１４１】
この処理で取得されるＮ−ｇｒａｍデータの大半は、Ｎ−１番目の文字種も特殊文字「＃」か、Ｎ−１番目の文字種が「。」や「．」などの文区切り文字である。これは、テキストファイルを１文１行にする際に、文区切り文字を検出して１文と判断することが多く、各文に対して、上述したような特殊文字を付加してＮ−ｇｒａｍデータを作成しているためである。
【０１４２】
その後、取得したＮ−ｇｒａｍデータについて、Ｎ−１番目の文字種が同じＮ−ｇｒａｍデータの頻度値（又は確率）を比較する（ステップ１８０２）。ここで、比較は、頻度値がある程度以上のものだけで行うようにしても良い。すなわち、頻度値が余りに少ないものは、Ｎ−１番目の文字種が「。」や「．」などの文区切り文字でないことが多いためである。
【０１４３】
このような比較の結果、相対的に頻度値（又は確率）が小さいＮ−ｇｒａｍデータがあるか否かを判断する（ステップ１８０３）。このようなＮ−ｇｒａｍデータがなければ、一連の処理を直ちに終了する。一方、相対的に頻度値（又は確率）が小さいＮ−ｇｒａｍデータがあれば、そのＮ−ｇｒａｍデータから特殊文字を除いた文字列（又はＮ−ｇｒａｍデータそのもの）をユーザに提示して（ステップ１８０４）、一連の処理を終了する。特殊文字の意味をユーザが理解していることは少ないので、Ｎ−ｇｒａｍデータから特殊文字を除いた文字列をユーザに提示することが好ましい。
【０１４４】
例えば、項目や段落の見出しに見出し番号（例えば、「１．１．１」）が含まれているようなテキストファイルであれば、Ｎ−ｇｒａｍデータ中に、「１．＃」というＮ−ｇｒａｍデータも出現するが、これは文末用（文区切り用）のＮ−ｇｒａｍデータとしては妥当でないが、文区切り文字を含んでいる。これの相対的な出現頻度は少なく、「１．」をユーザに提示して、このＮ−ｇｒａｍデータの取り扱い（削除や残存）をユーザに決定させることが好ましい。
【０１４５】
（Ｈ−３）第８の実施形態の効果
この第８の実施形態によっても、第１の実施形態と同様な効果を奏することができる。これに加えて、文区切り文字を含みながら、文区切り用のＮ−ｇｒａｍデータとして妥当出ないと思われるものをユーザに提示するようにしたので、その取り扱いをユーザが決定することができるという効果を奏する。
【０１４６】
（Ｈ−４）第８の実施形態の変形実施形態
なお、この第８の実施形態についても、第１〜第７の実施形態について説明した変形実施形態のうち、適用可能なものを適用できることは勿論である。
【０１４７】
また、第２〜第７の実施形態の特徴とこの第８の実施形態の特徴とを共に有するように自然言語統計データベース装置を構成しても良い。
【０１４８】
（Ｉ）他の実施形態
本発明の自然言語統計データベース装置は、その用途はいかなるものであっても良く、種々の自然言語処理装置に適用できるものである。また、種々の自然言語処理装置は、本発明の自然言語統計データベース装置で形成されたＮ−ｇｒａｍデータテーブル（第２の実施形態の場合は特殊文字変換部を含む）だけを取り込んで利用するものであっても良い。
【０１４９】
また、本発明の自然言語統計データベース装置に係る自然言語も日本語に限定されるものではなく、他の言語の入力文を対象としたものであっても良い。
【０１５０】
さらに、Ｎ−ｇｒａｍデータ処理部としては、複数の文を結合したテキストファイルから、文を分割処理することなくＮ−ｇｒａｍデータを作成できるものであれば、上記文献１に記載の手法に従うものに限定されるものではない。
【０１５１】
さらにまた、上記各実施形態では、Ｎ−ｇｒａｍデータが単なる文字列と頻度情報とでなるものであったが、文字列部分が、品詞情報などをタグとして付加されている拡張文字の文字列であっても良い。特許請求の範囲での「文字」の用語は、「拡張文字」を含む概念とする。
【０１５２】
【発明の効果】
以上のように、本発明によれば、複数の文を有するテキストファイルから、文を分割することなく、Ｎ個の文字列とその頻度情報とでなるＮ−ｇｒａｍデータを作成するＮ−ｇｒａｍデータ処理手段と、作成されたＮ−ｇｒａｍデータを格納するＮ−ｇｒａｍデータ記憶手段とを有する自然言語統計データベース装置において、入力テキストファイルの先頭と末尾にＮ−１文字の特殊文字を付加すると共に、テキストファイル中の文と文との間にＮ−１文字の特殊文字を付加してＮ−ｇｒａｍデータ処理手段に与える特殊文字付加手段を有するので、大量のテキストデータから精度の高いＮ−ｇｒａｍデータを効率良く抽出して格納することができる。
【図面の簡単な説明】
【図１】第１の実施形態の機能的構成を示すブロック図である。
【図２】第１の実施形態のファイル分割部〜Ｎ−ｇｒａｍデータ処理部の動作を示すフローチャートである。
【図３】第１の実施形態の特殊文字付加部及び文結合部の動作を示すフローチャートである。
【図４】第１の実施形態のデータ統合部の動作を示すフローチャートである。
【図５】第１の実施形態のＮ−ｇｒａｍデータ例を示す説明図である。
【図６】第２の実施形態の機能的構成を示すブロック図である。
【図７】第２の実施形態の特殊文字変換部の動作を示すフローチャートである。
【図８】第３の実施形態の特殊文字付加部及び文結合部の動作を示すフローチャートである。
【図９】第４の実施形態の機能的構成を示すブロック図である。
【図１０】第５の実施形態の機能的構成を示すブロック図である。
【図１１】第５の実施形態の特殊文字付加部及び文結合部の動作を示すフローチャートである。
【図１２】第５の実施形態の文間Ｎ−ｇｒａｍカウント部の動作を示すフローチャートである。
【図１３】第６の実施形態の機能的構成を示すブロック図である。
【図１４】第６の実施形態の括弧内文字列除去部〜文結合部の動作を示すフローチャートである。
【図１５】第７の実施形態の機能的構成を示すブロック図である。
【図１６】第７の実施形態の括弧内文字列除去部〜文結合部の動作を示すフローチャートである。
【図１７】第８の実施形態の機能的構成を示すブロック図である。
【図１８】第８の実施形態の文区切り妥当性判定部１１の動作を示すフローチャートである。
【符号の説明】
１…ファイル分割部、２…特殊文字付加部、３…文結合部、４…Ｎ−ｇｒａｍデータ処理部、５…データ統合部、６…Ｎ−ｇｒａｍデータテーブル、７…特殊文字変換部、８…文間Ｎ−ｇｒａｍカウント部、９…括弧内文字列除去部、１０…括弧内Ｎ−ｇｒａｍカウント部、１１…文区切り妥当性判定部、１２…特殊文字指定部。
【図１】
0004007661.tif 000002
【図２】
0004007661.tif 000003
【図３】
0004007661.tif 000004
【図４】
0004007661.tif 000005
【図５】
0004007661.tif 000006
【図６】
0004007661.tif 000007
【図７】
0004007661.tif 000008
【図８】
0004007661.tif 000009
【図９】
0004007661.tif 000010
【図１０】
0004007661.tif 000011
【図１１】
0004007661.tif 000012
【図１２】
0004007661.tif 000013
【図１３】
0004007661.tif 000014
【図１４】
0004007661.tif 000015
【図１５】
0004007661.tif 000016
【図１６】
0004007661.tif 000017
【図１７】
0004007661.tif 000018
【図１８】
0004007661.tif 000019