入力装置から入力されたメールの本文データを改行ごとに読み込み各行文字列の文字の数に基づき各行ごとにデータ長を判定するとともにデータ長の最大値とその最大値以外で出現頻度が高いデータ長の値との差分を行結合判定閾値として算出する行結合判定閾値算出部と、前記メールの本文データを行ごとに読み出し読み出した行のデータ長が最大値の予め定めた範囲でありその行のデータ長と次の行のデータ長との差が前記行結合判定閾値の予め定めた範囲であるときは読み出した行及びその次の行に行結合の指標である繰り返し情報を付与する結合行判定部と、前記メールの本文データを行ごとに読み出し読み出した行の前記結合行判定部で付与された繰り返し情報で行間の結合が指示されているときは行を結合して結合文字列を出力装置に出力するデータ整形部とを備えた文書解析装置。文書解析プログラムを記憶した記憶装置と、メールの本文データを入力する入力装置と、前記記憶装置に記憶された前記文書解析プログラムを演算実行する演算制御装置と、前記演算制御装置の演算結果を出力する出力装置とを備えた文書解析装置に用いられる文書解析プログラムにおいて、入力装置から入力されたメールの本文データを改行ごとに読み込み各行文字列の文字の数に基づき各行ごとにデータ長を判定するとともにデータ長の最大値とその最大値以外で出現頻度が高いデータ長の値との差分を行結合判定閾値として算出する手順と、前記メールの本文データを行ごとに読み出し読み出した行のデータ長が最大値の予め定めた範囲でありその行のデータ長と次の行のデータ長との差が前記行結合判定閾値の予め定めた範囲であるときは読み出した行及びその次の行に行結合の指標である繰り返し情報を付与する手順と、前記メールの本文データを行ごとに読み出し読み出した行の前記結合行判定部で付与された繰り返し情報で行間の結合が指示されているときは行を結合して結合文字列を出力装置に出力する手順とを実行させるための文書解析プログラム。入力装置から入力されたメールの本文データを改行ごとに読み込み各行文字列の文字の数に基づき各行ごとにデータ長を判定するとともにデータ長の最大値とその最大値以外で出現頻度が高いデータ長の値との差分を行結合判定閾値として算出し、前記メールの本文データを行ごとに読み出し読み出した行のデータ長が最大値の予め定めた範囲でありその行のデータ長と次の行のデータ長との差が前記行結合判定閾値の予め定めた範囲であるときは読み出した行及びその次の行に行結合の指標である繰り返し情報を付与し、前記メールの本文データを行ごとに読み出し読み出した行の前記付与された繰り返し情報で行間の結合が指示されているときは行を結合して結合文字列を出力装置に出力する文書解析方法。しかしながら、特許文献1のものでは、行頭に引用記号を検出した後のデータを検査し、2回目以降の引用記号を検出した場合は削除する。そして、改行データを検出した場合は、改行データの次の文字、すなわち行頭文字が、スペース、開き括弧、疑問符、数字、中黒、のいずれでもない場合は、自動的に挿入された改行と判断して改行を削除する。また、改行データの一つ前の文字が、句読点、閉じ括弧のいずれでもない場合は、自動的に挿入された改行と判断して改行を削除する。一方、自動的に挿入された改行ではないと判断した場合は、引用の終端を意味するコードを付与し、画面に表示する場合に、現在の画面幅に合わせた位置で改行を行う。そして、引用部分に相当する文の場合は改行コードに続いて引用記号を付与することで、メール文書の可読性を向上させるというものである。従って、引用の階層が異なる場合でも、同じ階層のデータとして認識されてしまうという問題がある。また、下記に示すようなメールの本文データA1では、数字で始まるため2の前の自動的に挿入された改行が削除されないという問題が発生する。[メールの本文データA1]本発明の目的は、複数回のメールのやり取りが行われ引用階層が乱れた場合でも、自動改行データが挿入された場合の規則性を判定することにより、より正確な文の単位が認識できるようにメールの本文データを整形できる文書解析装置、文書解析プログラム及び文書解析方法を提供することである。本発明に係わる文書解析装置は、入力装置から入力されたメールの本文データを改行ごとに読み込み各行文字列の文字の数に基づき各行ごとにデータ長を判定するとともにデータ長の最大値とその最大値以外で出現頻度が高いデータ長の値との差分を行結合判定閾値として算出する行結合判定閾値算出部と、前記メールの本文データを行ごとに読み出し読み出した行のデータ長が最大値の予め定めた範囲でありその行のデータ長と次の行のデータ長との差が前記行結合判定閾値の予め定めた範囲であるときは読み出した行及びその次の行に行結合の指標である繰り返し情報を付与する結合行判定部と、前記メールの本文データを行ごとに読み出し読み出した行の前記結合行判定部で付与された繰り返し情報で行間の結合が指示されているときは行を結合して結合文字列を出力装置に出力するデータ整形部とを備える。本発明によれば、複数回のメールのやり取りが行われ引用階層が乱れた場合でも、自動改行データが挿入された場合の規則性を判定することにより、より正確な文の単位が認識できるようにメールの本文データを整形できる。図1は本発明の実施の形態に係わる文書解析装置11の機能ブロック図であり、図2は本発明の実施の形態に係る文書解析装置のハードウエア構成を示すブロック構成図である。図2において、文書解析装置11は、例えば一般的なコンピュータに文書解析プログラムなどのソフトウェアプログラムがインストールされ、そのソフトウェアプログラムが演算制御装置12のプロセッサ13において実行されることにより実現される。演算制御装置12は文書解析に関する各種演算を行うものであり、演算制御装置12はプロセッサ13とメモリ14とを有し、メモリ14には翻訳に関する文書解析プログラム15が記憶され、プロセッサ13により処理が実行される際には作業エリア16が用いられる。演算制御装置12の演算結果等は出力装置17である表示装置18に表示出力され、また、通信制御装置19を介して通信ネットワークに出力される。入力装置20は演算制御装置12に情報を入力するものであり、例えば、マウス21、キーボード22、ディスクドライブ23、通信制御装置19から構成され、例えば、マウス21やキーボード22は表示装置18を介して演算制御装置12に各種指令を入力し、キーボード22、ディスクドライブ23、通信制御装置19はメールの本文データを入力する。すなわち、ディスクドライブ23はメールの本文データを記憶媒体に入出力するものであり、通信制御装置19は文書解析装置11をインターネットやLANなどの通信ネットワークに接続するものである。通信制御装置19はLANカードやモデムなどの装置であり、通信制御装置19を介して通信ネットワークと送受信したデータは入力信号又は出力信号として演算制御装置12に送受信される。さらに、演算制御装置12の演算結果やメールツールのプログラム等を記憶するハードディスクドライブHDD24が設けられている。図1は本発明の実施の形態に係わる文書解析装置11の機能ブロック図である。図2に示す演算制御装置12内の各機能ブロックは、上述の文書解析プログラム15を構成する各プログラムに対応する。すなわち、プロセッサ13が文書解析プログラム15を構成する各プログラムを実行することで、演算制御装置12は、各機能ブロックとして機能することとなる。また、記憶装置25のブロックは、演算制御装置12内のメモリ14及びハードディスクドライブ24の記憶領域に対応する。入力処理部26は、外部との入力のインターフェースを行うものであり、インターネットなどの通信制御装置19やキーボード23などの入力装置20を通じてメールの本文データやコマンドを受け取るものである。出力処理部27は、外部との出力のインターフェースを行うものであり、インターネットなどの通信制御装置19や表示装置18などの出力装置17を通じてメールの本文データを出力するものである。制御部28は装置全体の制御を行うものであり、入力処理部26から送られたメールの本文データを記憶装置25のデータ一時記憶部29に記憶したり、文書階層判定部30、同一階層判定部31、文書整形部32、文認識処理部33を制御したり、これらの演算結果を記憶したデータ一時記憶部29の内容を出力処理部27に送り出力装置17に出力したりする。文書階層判定部30は、入力処理部26を介して入手されたメールの本文データの階層を判定するものである。すなわち、メールの本文データの各行文字列の文字の数に基づき各行ごとにデータ長を判定するとともに、各行文字列の引用記号の数に基づいて各行ごとに引用階層を判定する。そして、各行ごとの文字列、データ長及び引用階層を記憶装置25のデータ一時記憶部29に記憶する。同一階層判定部31は、隣接する行の引用階層が同一階層かどうかを判定するものである。この判定の仕方については後述する。文書整形部32は、同一階層判定部31で同一階層と判定された行の文字列を結合して結合文字列とし、その引用階層を表す引用記号を結合文字列に付与して新たな行として記憶装置25のデータ一時記憶部29に記憶するものである。文認識処理部33は、文書整形部32により新たに付与された行を含むメールの本文データの隣接する同一階層の行を結合し、結合文字列内の句点の位置で一文と判定し、その一文ごとの文の先頭にその引用階層の引用記号を付した文字列を作成し、記憶装置25のデータ一時記憶部29に記憶するものである。次に、本発明の実施の形態に係わる文書解析装置11の実施例1の動作について説明する。図3は、本発明の実施の形態に係わる文書解析装置11の実施例1の動作を示すフローチャートである。入力装置20から演算処理装置12にメールの本文データが入力されると、制御部28は入力処理部26を起動し、入力処理部26はメールの本文データの改行毎にデータを読み込むS201。いま、下記のようなメールの本文データA2が読み込まれたとする。[メールの本文データA2]このメールの本文データA2は、以下に示すメールの本文データA3がメールツールの設定により全角20文字の位置で自動的に改行され、1度目の返信時にはい。が挿入され、さらに2度の転送が行われたものである。[メールの本文データA3]メールの本文データA2及びメールの本文データA3から分かるように、メールの本文データA2は、本来同一行であった文字が自動改行により異なる行になった上、引用階層も異なった状態になってしまったものである。入力処理部26により読み込まれたメールの本文データA2は記憶装置25のデータ一時記憶部29に記憶される。表1は、記憶装置25のデータ一時記憶部29に記憶されたメールの本文データA2のテーブルの一例を示している。表1に示すように、配列番号はメールの本文データの各行毎のデータに付された番号であり、データは本文データの各行毎の文字列である。長さは本文データの各行毎のデータの長さ文字列の数であり、引用階層はメールの返信の回数を示す階層である。表1では、メールの本文データA2を読み込んだままデータを記憶しているので、長さ及び引用階層は空白となっている。メールの本文データA2が改行毎に読み込まれ、記憶装置25のデータ一時記憶部29に表1のように記憶されると、制御部28は文書階層判定部30が起動され、文書階層判定が行われるS202。図4は、文書階層判定部30の文書階層判定の処理内容を示すフローチャートである。文書階層判定部30での文書階層判定は、メールの本文データの階層を判定するものである。まず、文書階層判定部30は、行データ指定変数iに初期値1をセットしS301、記憶装置25のデータ一時記憶部29に記憶されているメールの本文データA2の配列番号がi番目のデータSiを取得するS302。iが1であるときは、データS1としてメールツールの設定が、メール送信時が取得される。次に、引用階層を示す変数L、データSiの各要素を指定する変数N、引用記号配列の位置を示す変数Mに初期値1をセットするS303。引用階層を示す変数Lはメールの返信の回数を示す変数であり、データSiの各要素を指定する変数NはデータSiの要素文字列の位置を指定する変数であり、引用記号配列の位置を示す変数Mは引用記号を指定するための変数である。表2に引用記号配列のテーブルの一例を示す。引用記号配列の位置を示す変数Mが1であるときは、引用記号としてが取得され、引用記号配列の位置を示す変数Mが2であるときは、引用記号としてが取得される。次に、引用記号配列の位置を示す変数Mが指示する位置の引用記号CMを取得する304。そして、変数Nから始まるデータSiの文字は引用記号CMと一致したかどうかを判定しS305、一致しない場合は、引用記号CMは最後のデータか判定しS306、引用記号CMが最後のデータではない場合はM=M1を行いS307、ステップS304に戻る。これにより、ステップS304では、引用記号CMとしてが取得されることになる。このようにして、データSiの先頭からデータSiの文字が表2に示される引用記号配列に格納されている各引用記号と一致するかどうかを判定していくことになる。いま、i、L、N、Mがいずれも1であるとする。iが1である1行目のデータS1はメールツールの設定が、メール送信時である。ステップS304の判定においては、変数Mは1であるので、引用記号CMはであり、変数N=1が示す位置のデータSiS1が示す文字はである。従って、ステップS305での判定では、変数N=1から始まるデータSiS1の文字は引用記号CM=と一致するので、ステップS308に進む。ステップS308では、データSiの判定開始位置を示す変数Nに、一致した引用記号CMの長さを加える。これにより、変数Nを次の判定開始位置に更新する。また、引用階層を示す変数Lに1を加えてL1とし、変数Lを次の引用階層に更新する。なお、引用記号配列の位置を示す変数MはM=1のままとする。変数Mの更新はステップS307で行われるからである。また、データSiのN番目の位置がスペースである場合には、変数Nに1を加えてN1とし、変数Nを次の判定開始位置に更新する。そして、ステップS304の処理に戻り、ステップS305においてデータSiの変数Nの位置の文字が引用記号CMと一致しなくなるまで、ステップS304、S305、S308を繰り返し行う。ステップS305においてデータSiの変数Nの位置の文字が引用記号CMと一致しなくなるとステップS306に移行し、引用記号CMが最後のデータになるまで、ステップS304、S305、S308を繰り返し行う。ステップS306の判定で、引用記号CMが最後のデータになったと判定されると、ステップS309に進む。ステップS309では、メールツールによっては引用記号CMとともにスペースが挿入される場合があるため、スペースに対する評価を行う。SiデータのN番目がN≠1、かつN番目の文字はスペース、かつN-1番目の文字はスペースではないかどうかを判定し、そうである場合には、スペースは引用記号として扱いS308に進む。ステップS309の条件を満たさない場合は、引用階層を示す変数LとともにデータSi、データSiの長さをデータ一時記憶部29に記憶するS310。これにより、表3に示すように、メールの本文データの1行目のデータS1については、データS1の長さは40、引用階層は4が記憶される。データS1の長さは半角文字数で示され、引用階層は引用記号CMの数とスペースとの合計で示されている。次に、データSiは最後の行かどうかを判定しS311、最後の行でないときは、行データ指定変数iに1を加算してS312、ステップS302に戻る。これにより、2行目以降に対しても同様の処理を行い、最後の行に達すると処理を終了する。このとき、記憶装置25のデータ一時記憶部29に記憶されたメールの本文データA2のテーブルは、表4に示すように、各行のSiに対して、データS1の長さ及び引用階層が記憶される。このようにして、文書階層判定部30によりメールの本文データの階層が判定されると、同一階層判定部31は、隣接する行の引用階層が同一階層かどうかを判定する。同一階層判定部31は、図3のステップS203において、記憶装置25のデータ一時記憶部29に記憶された表4に示すメールの本文データA2のテーブルより、メールの本文データA2のデータSiのうち引用階層の最大値n及びデータ長の最大値MAXを取得しデータ一時記憶部29に記憶する。また、行データ指定変数iに1をセットし、ループ変数Jに1をセットするS203。続いて、同一階層判定部31は、表4に示すメールの本文データA2より、i番目のデータSiと引用階層Liを取得する。そして、取得したデータSiの長さがデータ長最大値MAXの近似範囲にあるデータ長近似最大行かどうかを判定する。すなわち、同一階層判定部31は、データSiの長さ>MAX-補正値であるかどうかを判断するS205。ここで、補正値はデータ長最大値MAXの±2を近似値として判断する。この補正値はユーザにより設定できるようにしてもよい。補正値を設定するのは、例えば、引用階層の一部にスペースが挿入されたり、英語の場合には単語間にスペースが入るので、その影響を考慮するためである。ステップS205の判定で、データSiの長さがデータ長近似最大行であると判定されたときは、同一階層判定部31は、次の行であるi1行目のデータSi1が取得できるかどうかを判定しS206、データSi1が取得できるとときは、次の行であるi1行目のデータSi1と引用階層Li1とを取得するS207。そして、同一階層判定部31は、データ長近似最大行であるデータSiの引用階層LiがデータSi1の引用階層Li1よりも大きく、かつ、データSiとデータSi1との引用記号部分を取り除いた長さを加えた値が、データ長最大値MAXの近似値かを判定する。すなわち、Li>Li1かつ引用記号を取り除いたSiとSi1の長さがMAX近似値内かどうかを判定するS208。ステップS208の条件を満たした場合には、同一階層判定部31は、データ長近似最大行とその次の行との実際の階層は同一階層の文字列であると判定する。これは、データSi1はもともとデータSiの一部であったが自動改行により改行が挿入されたデータと判定できるからである。次に、文書整形部32は、Si1の引用記号を取り除きSiに結合する。すなわち、データSi1の先頭からの引用記号を取り除き、データSiのデータの最後に結合する。この場合の引用記号には、引用記号に付加される引用記号に続く最初のスペースも含まれる。そして、文書整形部32は、データSi1が最後のデータであるかどうかを判定しS210、最後のデータでない場合には、i=i2としS211、ステップS204に戻る。文書整形部32は、データSiが最後のデータである場合はJ=J1としS212、ループ変数Jが引用階層の最大値nと等しいかどうかを判断する。すなわち、J=nかどうかを判断しS213、J=nでないときはi=1としS214、ステップS204に戻り、ステップS204~S214の処理を繰り返し行う。なお、ステップS205の判定でデータSiの長さがデータ長近似最大行でないと判定されたとき、ステップ208の判定でステップS208の条件を満たさなかった場合はステップS210に進む。また、ステップS206の判定でSi1が取得できなかったときはステップS212に進む。ここで、1回目のステップS204~S214の処理が完了した時点では、表4に示すメールの本文データA2の配列番号1、2、配列番号4、5、配列番号7、8がそれぞれ結合され、表5に示すようなメールの本文データとなる。さらに、ループ変数Jが引用階層の最大値nと等しくなるまで、S204~S214の処理を繰り返すことにより、表6に示すようなメールの本文データとなり、自動改行により乱れた引用階層が整形される。このように、文書整形部32は同一階層と判定されたデータ長近似最大行とその次の行の文字列とを結合して結合文字列とし、データ長近似最大行の引用階層を表す引用記号を結合文字列に付与して新たな行として、記憶装置25のデータ一時記憶部29に記憶する。続いて、表6に示す引用階層が整形されたメールの本文データに対して文認識処理が行われるS215。図5は、文認識処理部33の文認識処理の処理内容を示すフローチャートである。文認識処理部33での文認識処理は、文書整形部32により新たに付与された行を含むメールの本文データの隣接する同一階層の行を結合し、文の文字列とするものである。表6に示す文書整形されたメールの本文データの各行からデータSiを取り出すために、図5に示すように、まず、行データ指定変数iに初期値1をセットするS401。続いてi番目のデータSiを取得し、取得したデータSiの引用記号を取り除いてデータ一時記憶部29の文認識処理記憶領域に格納する。すなわち、データSiから引用記号を取り除いてデータ一時記憶部に格納するS402。そして、取り除いた引用記号の引用階層Liをデータ一時記憶部29に記憶する。この取り除いた引用記号の引用階層Liはデータ一時記憶部29の引用階層記憶領域に記憶しておくことになる。次に、i番目の位置から引用階層が異なるデータが出現するまで処理を繰り返すためのループカウンタの役割を行う変数pに初期値1をセットするS404。続いてデータSipの引用記号の引用階層は取得できたかどうかを判定しS405、データSipの引用記号の引用階層が取得できなかったときは処理を終了する。一方、データSipの引用記号の引用階層が取得できたときは、データSiの引用階層LiとデータSipの引用階層とが同じかどうかを判定するS406。引用階層が同じである場合は、データSipの引用記号の文字列を削除し、データSipの末尾に改行コードを付与してデータ一時記憶部29に記憶するS407。これらのデータは、データ一時記憶部29の文認識処理記憶領域に追加して記憶されることになる。そして、次のデータを取得するために変数pをp=p1としS408、ステップS405に戻る。ステップS406の判定で、引用階層が異なるデータSiが出現した場合は、文認識処理記憶領域のデータを基に文の判定処理を行うS409。この場合、文認識処理記憶領域のデータは、表7に示すように、引用階層が同じデータが格納されたメール本文データとなっている。ステップS409での文判定処理では、例えば、。などの句点を文末と判断して、メールツールの設定が...になっている。を切り出す。続いて、全から次に出現する。までを一文とする。続いて以上を一文とする。最後まで達したら、文毎の先頭に引用記号を挿入するS410。すなわち、データ一時記憶部29の引用階層記憶領域に一時的に記憶した引用記号の文字列を各々の文の先頭に付加すると、表8に示すようなメールの本文データとなる。そして、データSiは最後のデータかどうかを判定しS411、最後のデータまで達していない場合は、変数iをp分進めるべくi=ipとしS412、ステップS402に戻り、データSipからS402~S411の処理を繰り返し行う。これにより、表9に示すように、はい。が文認識処理の対象となり、はい。が文の単位として取得される。そして、はい。に一時的に記憶した引用記号の文字列を挿入すると、表10に示すようなメールの本文データが得られる。本発明の実施の形態の実施例1によれば、メールツールの設定により自動的に改行が行われ、メールの書き手が同じで階層が異なるデータとなった場合であっても、自動的に挿入された改行により乱れた階層を整形して、同一階層内で文の認識処理を行うので、文の認識精度を向上させることができる。このように、改行により乱れた階層を整形して文の認識精度を向上できるので、翻訳対象となるメールの本文データの翻訳精度も向上できる。例えば、翻訳装置では正しい翻訳結果を得るためには、翻訳対象となる文の単位を正確に認識する必要があるが、その要請にも応えることができる。次に、本発明の実施の形態に係わる文書解析装置11の実施例2の動作について説明する。図6は、本発明の実施の形態に係わる文書解析装置11の実施例2の動作を示すフローチャートである。この実施例2は、図3に示すフローチャートのステップS208の条件が満たされないと判定された場合に、引用階層LiがデータSi1の長さより大きいかどうかを判定するステップS208aを追加して設けたものである。これにより、同一階層判定部31は、ステップS208の条件を満たさないとき、すなわち、データ長近似最大行の引用階層Liが次の行の引用階層Li1より大きく、かつ結合文字列の長さがデータ長の最大値の近似範囲内ではないときは、データ長近似最大行の引用階層Liと次の行の文字列とを比較し、データ長近似最大行の引用階層が次の行の文字列より大きいときは、データ長近似最大行とその次の行との実際の階層は同一階層の文字列であると判定するようにしたものである。いま、メール本文データとして、次に示すメール本文データA4を用いて説明する。[メール本文データA4]メール本文データA4は、11文字目で明示的に改行を入れたデータが複数回のメールのやりとりにより、メールツールの設定により20文字で自動的に折り返され、本来同一の階層のデータが異なる階層になったものである。メール本文データA4は、図6のステップS208までの処理で表11に示すメール本文データとなる。表11のメール本文データに対して、図6のステップS208において、1番目のデータS1の引用記号を取り除いたメールツールの設定と2番目のデータS2のがとを結合したデータの長さは20となる。従って、ステップS208では、データ長最大値MAXである39の近似値と判定されず、1番目のデータS1と2番目のデータS2とは結合しないと判定される。そこで、実施例2では、図6のステップS208で結合しないと判定された場合に、2番目のデータS2の長さと1番目のデータS1の引用階層L1とを比較し、2番目のデータS2の長さが1番目のデータS1の引用階層L1より小さい場合は、同一階層のデータであると判定するS208a。そして、文書整形部32は、ステップS208aの判定に基づきデータSiとデータSi1とを結合することになる。この、図6のフローチャートにおいて、1回目のステップS204~S214の処理で、表12に示すメール本文データとなる。そして、2回目のステップS204~S214の処理で表13に示すメール本文データとなる。2回目のS204~S214の処理で表13に示すメール本文データのようにデータの階層が同じとなるため、図6のステップS213において、変数Jが引用階層の最大値nに達するか、または処理結果が前回と同じである場合は、文書整形部32の処理を終了し、文認識処理に移行するS215。以上の説明では、同一階層判定部31は、ステップS208の条件を満たさないときは、データ長近似最大行の引用階層Liと次の行の文字列とを比較し、データ長近似最大行の引用階層が次の行の文字列より大きいときは、データ長近似最大行とその次の行との実際の階層は同一階層の文字列であると判定するようにしたが、データ長近似最大行の引用階層と予め定めた引用階層閾値とを比較し、データ長近似最大行の引用階層が予め定めた引用階層閾値以上であるときは、データ長近似最大行とその次の行との実際の階層は同一階層の文字列であると判定するようにしてもよい。また、データ長近似最大行の次の行の文字列と予め定めた文字数とを比較し、データ長近似最大行の次の行の文字列が予め定めた文字数以下であるときは、データ長近似最大行とその次の行との実際の階層は同一階層の文字列であると判定するようにしてもよい。本発明の実施の形態の実施例2によれば、実施例1の効果に加え、引用階層が深い場合であっても、自動的に挿入された改行により乱れた階層を整形できる。次に、本発明の実施の形態に係わる文書解析装置11の他の一例を説明する。図7は本発明の実施の形態に係わる文書解析装置11の他の一例の機能ブロック図である。文書解析装置11のハードウエア構成は、図2に示した構成と同じである。入力処理部26は、外部との入力のインターフェースを行うものであり、インターネットなどの通信制御装置19やキーボード23などの入力装置20を通じてメールの本文データやコマンドを受け取るものである。出力処理部27は、外部との出力のインターフェースを行うものであり、インターネットなどの通信制御装置19や表示装置18などの出力装置17を通じてメールの本文データを出力するものである。制御部28は装置全体の制御を行うものであり、入力処理部26から送られたメールの本文データを記憶装置25のデータ一時記憶部29に記憶したり、行結合判定閾値算出部34、結合行判定部35、データ整形部36を制御したり、これらの演算結果を記憶したデータ一時記憶部29の内容を出力処理部27に送り出力装置17に出力したりする。行結合判定閾値算出部34は、記憶装置35に記憶されたメールの本文データを行ごとに読み出して各行文字列の文字の数に基づき、各行ごとにデータ長を判定して記憶装置に記憶するとともに記憶装置に記憶されたデータ長の最大値とその最大値以外で出現頻度が高いデータ長の値との差分を行結合判定閾値として算出する。結合行判定部35は、記憶装置25に記憶されたメールの本文データを行ごとに読み出し、読み出した行のデータ長が最大値の近似範囲であり、その行のデータ長と次の行のデータ長との差が行結合判定閾値算出部34で算出された行結合判定閾値の近似範囲であるときは、読み出した行及びその次の行に行結合の指標である繰り返し情報を付与して記憶装置25に記憶するものである。データ整形部36は、記憶装置25に記憶されたメールの本文データを行ごとに読み出し、読み出した行の結合行判定部35で付与された繰り返し情報で行間の結合が指示されているときは、行を結合して結合文字列を記憶部25に記憶するものである。次に、図7に示した本発明の実施の形態の文書解析装置の他の一例の動作について説明する。図8は本発明の実施の形態の文書解析装置の他の一例の動作を示すフローチャートである。いま、入力処理部26より、次に示すメールの本文データA5が入力されたとする。メールの本文データA5メールの本文データA5は、以下に示すメールの本文データA6がメールツールの設定により、全角20文字の位置で改行されたものである。メールの本文データA6入力装置20から演算処理装置12にメールの本文データA5が入力されると、制御部28は入力処理部26を起動し、入力処理部26はメールの本文データA5の改行毎に記憶部25のデータ一時記憶部29にデータを読み込むS801。表14はデータ一時記憶部29の入力データ記憶領域に記憶されたメールの本文データA5を示している。次に、制御部28は行結合判定閾値算出部34を起動する。行結合判定閾値算出部34は、記憶装置35のデータ一時記憶部29の入力データ記憶領域に記憶されたメールの本文データA5を行ごとに読み出して各行文字列の文字の数に基づき各行ごとに各行のデータ長を判定しS802、記憶装置35のデータ一時記憶部29に記憶し、記憶装置25のデータ一時記憶部29に記憶したデータ長の最大値とその最大値以外で出現頻度が高いデータ長の値との差分を行結合判定閾値として算出するS803。すなわち、行結合判定閾値算出部34は、表14のメールの本文データA5に対して、改行毎にデータを読み込み各行のデータ長さを調べ、その結果を表15に示すようなメールの本文データとして記憶装置25のデータ一時記憶部29に記憶する。そして、表15のメールの本文データより、データ長最大値と、その最大値以外で出現頻度が高いデータ長とを検出し、データ長最大値から出現頻度が高いデータ長を引いた値を行結合判定閾値とする。ここで、表15のメールの本文データでは、データ長最大値が40、出現頻度が高いデータ長が10であるので、ステップS803で算出される行結合判定閾値は30となる。次に、行結合判定部35は、行データ指定変数iに初期値1をセットしS804、繰り返し情報を示す変数Qに初期値1をセットするS805。行データ指定変数iは表15のメールの本文データから各行のデータSiを取得するための変数iであり、変数Qは行結合を判定するための変数である。そして、行結合判定部35は、表15のメールの本文データからデータSiの文字列及びデータSiの長さを取得するS806。これにより、データSiの文字列としてメールツールの設定が、メール送信時に2が取得され、データSiの長さとして40が取得される。これらのデータが取得できたかどうかを判定しS807、データが取得できない場合は、繰り返し情報の変数Qに0をセットしS808、行結合判定部35は表16のメールの本文データの繰り返し情報には0を記憶し処理を終了する。行結合判定部35は、データSiの文字列及びデータSiの長さが取得できたときは、データSiの長さがデータ長最大値MAXの近似範囲であるかどうかを判定するS809。近似範囲はデータ長最大値MAXから補正値を引いた値を最大値の近似範囲判定値とする。MAX-補正値<|データSiの長さ|<MAXとする。ここでは、補正値を例えば2とするが利用者が任意の値を設定できるようにしてもよい。データSiの長さがデータ長最大値MAXの近似範囲でないときは、行結合判定部35は、データSiの行が繰り返しの対象にはならないと判断し、繰り返し情報の変数Qに0をセットしS810、変数iに1を加えてi=i1としS811、ステップS805の処理に戻る。この場合、表16のメールの本文データの繰り返し情報には0が記憶される。ステップS809の判定で、データSiの長さがデータ長最大値MAXの近似範囲である場合は、次のデータSi1の文字列とデータSi1の長さとを取得するS812。これにより、データSi1の文字列として0文字で自、データSi1の長さとして10が取得される。データが取得できない場合は、これらのデータが取得できたかどうかを判定しS813、繰り返し情報の変数Qに0をセットしS808、行結合判定部35は表16のメールの本文データの繰り返し情報には0を記憶し処理を終了する。行結合判定部35は、データSi1の文字列及びデータSi1の長さが取得できたときは、データSiの長さとデータSi1の長さとの差分を算出するS814。続いて、その差分が行結合判定閾値と近似範囲であるかどうかを判定するS815。ここでは、差分は30であるので、行結合判定閾値と近似範囲であるため、表16のメールの本文データのデータSiとデータSi1との繰り返し情報に変数Qの値Q=1をセットし、Q=Q1とするS816。一方、ステップS815の判定で、差分が行結合判定閾値と近似範囲ではない場合には、繰り返し情報の変数Qに0をセットしS817、行結合判定部35は表16のメールの本文データの繰り返し情報には0を記憶する。そして、データSi1が最後のデータかどうかを判定しS818、データSi1が最後のデータである場合は、行結合判定部35は処理を終了し、次のデータ整形処理に移行するS819。一方、最後のデータではない場合は、変数iに2を加えてi=i2としS820、ステップS806に戻る。続いて、表16に示す繰り返し情報が付与されたメールの本文データに対してデータ整形処理が行われるS819。図9は、データ整形部36のデータ整形の処理内容を示すフローチャートである。データ整形部36でのデータ整形処理は、読み出した行に付与された繰り返し情報で行間の結合が指示されているときは、行を結合して結合文字列を作成しデータを整形するものである。まず、表16に示す繰り返し情報が付与されたメールの本文データにアクセスするための行データ指定変数iに1をセットするとともに、繰り返し状態変数Kに0をセットするS901。続いて、表16に示すメールの本文データよりデータSiの文字列とデータSiの繰り返し情報とを取得するS902。これらのデータが取得できたかどうかを判定しS903、データが取得できない場合は、データ整形部36は処理を終了する。データSiの文字列とデータSiの繰り返し情報とが取得できた場合は、繰り返し情報が0か否かを判定するS904。繰り返し情報が0の場合は、次の行とは結合しないため、データSiに改行を付与して整形し、その整形結果したデータSiを記憶するS905。この場合、データSiは記憶装置25のデータ一時記憶部29の整形結果記憶領域に記憶される。そして、変数iに1を加算しi=i1としてS906、ステップS902に戻る。繰り返し情報が0以外の場合は、データSiの次のデータSi1の文字列とデータSi1の繰り返し情報とを取得するS907。これらのデータが取得できたかどうかを判定しS908、データが取得できない場合は、データ整形部36は処理を終了する。データSi1の文字列とデータSi1の繰り返し情報とが取得できた場合には、データSi1の次のデータSi2の繰り返し情報を取得するS909。データSi2の繰り返し情報が取得できたかどうかを判定しS910、データSi2の繰り返し情報が取得できた場合は0か否かを判定するS911。ステップS910の判定でSi2の繰り返し情報が取得できない場合、または、ステップS911の判定でデータSi2の繰り返し情報が0の場合は、変数Kは1がどうかを判定するS912。ステップS912の判定で変数Kの値が1である場合は、データSiの文字列とデータSi1の文字列とを結合して末尾に改行を付与し、記憶装置25のデータ一時記憶部29の整形結果記憶領域に記憶する。すなわち、SiとSi1とを結合して記憶するS913。繰り返し変数Kが1以外の場合は、データSiとデータSi1の末尾にそれぞれ改行を付与し、記憶装置25のデータ一時記憶部29の整形結果記憶領域に記憶する。すなわち、SiとSi1とそれぞれ記憶するS914。そして、繰り返し状態が解除されるため、変数Kに0をリセットするS915。一方、ステップS911の判定で、データSi2の繰り返し情報が0以外の場合は、データSiとデータSi1とデータSi2とデータSi3とが一定の規則で連続する行と判断できる。そこで、データSiの文字列とデータSi1の文字列とを結合して末尾に改行を付与し、記憶装置25のデータ一時記憶部29の整形結果記憶領域に記憶する。すなわち、SiとSi1とを結合して記憶するS916。そして、繰り返し状態にあるため、変数Kに1をセットするS917。データSi1は最後のデータであるかどうかを判定しS918、最後のデータである場合は処理を終了し、最後のデータではない場合は、変数iに2を加算しi=i2としてS919、S902に戻る。ステップS901~ステップS919の処理が終了した時点で、記憶装置25のデータ一時記憶部29の整形結果記憶領域に記憶された表17に示すようなメールの本文データが得られる。表17に示すように、文字列が整形されている。このように、メールツールの設定により自動的に改行が行われ、文の途中で改行されて、長い文、短い文、長い文、短い文のような状態となったとしても、文のデータ整形処理を行うことにより文を整形できる。本発明の実施の形態によれば、自動的に挿入された改行により乱れた階層を整形した後に、同一階層内で文の認識処理を行うので、文の認識精度を向上させることができる。