(57)【特許請求の範囲】
【請求項１】
文書データを受け付ける受付手段と、
前記受付手段により受け付けられた文書データに含まれる文字コードに基づいて文字列を取得する取得手段と、
前記取得手段により取得された文字列において、隣接する２つの文字間の距離である文字間隔を、大きさの順に並べた文字間隔リストを作成する第１の作成手段と、
前記文字間隔リストにおける各文字間隔の前後の文字間隔に対する変化量を示す変化量リストを作成する第２の作成手段と、
前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔が、前記文字間隔リストにおける文字間隔の平均値未満または前記文字間隔リストの中央に位置する文字間隔以下の場合に、当該文字間隔を第１の閾値の候補から除外し、除外された文字間隔の前記変化量リストにおける値の次に大きい値に対応する文字間隔リストの文字間隔、又は前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔が、前記文字間隔リストにおける文字間隔の平均値以上または前記文字間隔リストの中央に位置する文字間隔より大きい場合に、当該文字間隔を第１の閾値として決定する決定手段と、
前記文字列に対して、前記第１の閾値以上の文字間隔の文字間に空白の文字コードを挿入する挿入手段と、
を有する文書処理装置。
【請求項２】
文書データを受け付ける受付手段と、
前記受付手段により受け付けられた文書データに含まれる文字コードに基づいて文字列を取得する取得手段と、
前記取得手段により取得された文字列において、隣接する２つの文字間の距離である文字間隔を、大きさの順に並べた文字間隔リストを作成する第１の作成手段と、
前記文字間隔リストにおける各文字間隔の前後の文字間隔に対する変化量を示す変化量リストを作成する第２の作成手段と、
前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔を第１の閾値として決定する決定手段と、
前記文字列に対して、前記第１の閾値以上の文字間隔の文字間に空白の文字コードを挿入する挿入手段と、
前記取得手段により取得された文字列の文字間隔の標準偏差が、第１の予め定められた値以下である場合に、当該文字列には空白の文字コードを挿入する必要がないと判定する判定手段と、を有し、
前記挿入手段は、前記判定手段により空白の文字コードを挿入する必要がないと判定された文字列に対しては、空白の文字コードの挿入を行わない文書処理装置。
【請求項３】
前記判定手段は、前記取得手段により取得された文字列において、偏差が第２の予め定められた値以下の文字間隔が含まれる場合、当該文字間隔の偏差を０として当該文字列の標準偏差を再計算し、再計算後の標準偏差が、第１の予め定められた値以下であるとき、当該文字列には空白の文字コードを挿入する必要がないと判定する請求項２記載の文書処理装置。
【請求項４】
文書データを受け付ける受付手段と、
前記受付手段により受け付けられた文書データに含まれる文字コードに基づいて文字列を取得する取得手段と、
前記取得手段により取得された文字列において、隣接する２つの文字間の距離である文字間隔を、大きさの順に並べた文字間隔リストを作成する第１の作成手段と、
前記文字間隔リストにおける各文字間隔の前後の文字間隔に対する変化量を示す変化量リストを作成する第２の作成手段と、
前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔を第１の閾値として決定する決定手段と、
前記文字列に対して、前記第１の閾値以上の文字間隔の文字間に空白の文字コードを挿入する挿入手段と、
前記文書データの文字列は分かち書きの言語により構成され、
前記言語の単語を記憶する記憶手段と、
前記取得手段により取得された文字列を、前記挿入手段により挿入された空白の文字コードを境に分割する分割手段と、を有し、
前記第１の作成手段は、前記分割手段により分割された文字列が前記記憶手段に記憶された単語と一致しない場合に、当該分割された文字列の文字間隔を、大きさの順に並べた文字間隔リストを作成し、
前記第２の作成手段は、前記分割された文字列の文字間隔リストにおける各文字間隔の前後の文字間隔に対する変化量を示す変化量リストを作成し、
前記決定手段は、前記分割された文字列の変化量リストにおける最大値に対応する文字間隔リストの文字間隔を第２の閾値として決定し、
前記挿入手段は、前記分割された文字列に対して、前記決定手段により決定された第２の閾値以上の文字間隔の文字間に空白の文字コードを挿入する文書処理装置。
【請求項５】
文書データを受け付ける受付手段と、
前記受付手段により受け付けられた文書データに含まれる文字コードに基づいて文字列を取得する取得手段と、
前記取得手段により取得された文字列において、隣接する２つの文字間の距離である文字間隔を、大きさの順に並べた文字間隔リストを作成する第１の作成手段と、
前記文字間隔リストにおける各文字間隔の前後の文字間隔に対する変化量を示す変化量リストを作成する第２の作成手段と、
前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔を第１の閾値として決定する決定手段と、
前記文字列に対して、前記第１の閾値以上の文字間隔の文字間に空白の文字コードを挿入する挿入手段と、を有し、
前記第１の作成手段は、取得された文字列に既に空白の文字コードが含まれている場合に、当該空白の文字コードの数が、取得された文字列の文字間隔数の予め定められた割合以上であるとき、当該文字列に含まれる空白の文字コードを全て削除した後、前記文字間隔リストを作成する文書処理装置。
【請求項６】
受け付けた文字列の中の隣接する２つの文字間の距離である文字間隔を大きさの順に並べ替えて文字間隔リストを作成する第１の作成手段と、
前記文字間隔リストにおける各文字間隔の前後の文字間隔に対する変化量を示す変化量リストを作成する第２の作成手段と、
前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔が、前記文字間隔リストにおける文字間隔の平均値未満または前記文字間隔リストの中央に位置する文字間隔以下の場合に、当該文字間隔を第１の閾値の候補から除外し、除外された文字間隔の前記変化量リストにおける値の次に大きい値に対応する文字間隔リストの文字間隔、又は前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔が、前記文字間隔リストにおける文字間隔の平均値以上または前記文字間隔リストの中央に位置する文字間隔より大きい場合に、当該文字間隔の文字間に空白の文字コードを挿入する挿入手段と、
を有する文書処理装置。
【請求項７】
文書データを受け付けるステップと、
受け付けられた文書データに含まれる文字コードに基づいて文字列を取得するステップと、
取得された文字列において、隣接する２つの文字間の距離である文字間隔を、大きさの順に並べた文字間隔リストを作成するステップと、
前記文字間隔リストにおける各文字間隔の前後の文字間隔に対する変化量を示す変化量リストを作成するステップと、
前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔が、前記文字間隔リストにおける文字間隔の平均値未満または前記文字間隔リストの中央に位置する文字間隔以下の場合に、当該文字間隔を閾値の候補から除外し、除外された文字間隔の前記変化量リストにおける値の次に大きい値に対応する文字間隔リストの文字間隔、又は前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔が、前記文字間隔リストにおける文字間隔の平均値以上または前記文字間隔リストの中央に位置する文字間隔より大きい場合に、当該文字間隔を閾値として決定するステップと、
前記文字列に対して、前記閾値以上の文字間隔の文字間に空白の文字コードを挿入するステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書処理装置及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、互いに隣接する文字領域間の間隔の第１の分布及び文字領域の重心間距離の第２の分布をそれぞれ二分割したときに第１及び第２の分離度を判別分析により求め、第１の分離度と第２の分離度とを比較することで文字列の表記に用いられているフォントを判定して、判定されたフォントに従って単語間の空白を検出するための閾値を設定し、文字領域間の間隔または重心間の距離が閾値以上である場合、対応する二つの文字の間に単語間の空白を検出する技術が開示されている。
【０００３】
また、特許文献２には、均等割付けされた文字であるか、見出し文字列であるか、和文・欧文などの文字種判断などの結果に基づいて、空白文字を挿入するか否かの判断を行う技術が開示されている。
【０００４】
また、特許文献３には、英語表記ルールによる判断、元文書データに含まれる空白文字の有無の情報による判断、隣接する文字同士が含まれる文字列オブジェクトの同一性による判断、隣接する文字同士が含まれる文字列オブジェクトの間隔による判断を用いて隣接する文字が同じ単語に含まれるかどうかについて判断する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−０９７５６１号公報
【特許文献２】特開２００８−１７１４００号公報
【特許文献３】特開２０１２−００８９６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
単語間に空白の文字コードが挿入されていない分かち書き言語の文書データに対して、判別分析法等により単語間の位置を検出して空白の文字コードを挿入した場合、本来挿入すべきでない位置に空白の文字コードを挿入してしまう過挿入が発生するという問題点があった。
【０００７】
本発明の目的は、単語間に空白の文字コードが挿入されていない分かち書きの言語の文書データに対して、判別分析法等により単語間の位置を検出して空白の文字コードを挿入した場合と比べ、本来挿入すべきでない位置に空白の文字コードを挿入してしまう過挿入を抑制することが可能な文書処理装置及びプログラムを提供することである。
【課題を解決するための手段】
【０００８】
請求項１に係る本発明は、文書データを受け付ける受付手段と、
前記受付手段により受け付けられた文書データに含まれる文字コードに基づいて文字列を取得する取得手段と、
前記取得手段により取得された文字列において、隣接する２つの文字間の距離である文字間隔を、大きさの順に並べた文字間隔リストを作成する第１の作成手段と、
前記文字間隔リストにおける各文字間隔の前後の文字間隔に対する変化量を示す変化量リストを作成する第２の作成手段と、
前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔が、前記文字間隔リストにおける文字間隔の平均値未満または前記文字間隔リストの中央に位置する文字間隔以下の場合に、当該文字間隔を第１の閾値の候補から除外し、除外された文字間隔の前記変化量リストにおける値の次に大きい値に対応する文字間隔リストの文字間隔、又は前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔が、前記文字間隔リストにおける文字間隔の平均値以上または前記文字間隔リストの中央に位置する文字間隔より大きい場合に、当該文字間隔を第１の閾値として決定する決定手段と、
前記文字列に対して、前記第１の閾値以上の文字間隔の文字間に空白の文字コードを挿入する挿入手段と、
を有する文書処理装置である。 
【００１０】
請求項２に係る本発明は、文書データを受け付ける受付手段と、
前記受付手段により受け付けられた文書データに含まれる文字コードに基づいて文字列を取得する取得手段と、
前記取得手段により取得された文字列において、隣接する２つの文字間の距離である文字間隔を、大きさの順に並べた文字間隔リストを作成する第１の作成手段と、
前記文字間隔リストにおける各文字間隔の前後の文字間隔に対する変化量を示す変化量リストを作成する第２の作成手段と、
前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔を第１の閾値として決定する決定手段と、
前記文字列に対して、前記第１の閾値以上の文字間隔の文字間に空白の文字コードを挿入する挿入手段と、
前記取得手段により取得された文字列の文字間隔の標準偏差が、第１の予め定められた値以下である場合に、当該文字列には空白の文字コードを挿入する必要がないと判定する判定手段と、を有し、
前記挿入手段は、前記判定手段により空白の文字コードを挿入する必要がないと判定された文字列に対しては、空白の文字コードの挿入を行わない文書処理装置である。
【００１１】
請求項３に係る本発明は、前記判定手段は、前記取得手段により取得された文字列において、偏差が第２の予め定められた値以下の文字間隔が含まれる場合、当該文字間隔の偏差を０として当該文字列の標準偏差を再計算し、再計算後の標準偏差が、第１の予め定められた値以下であるとき、当該文字列には空白の文字コードを挿入する必要がないと判定する請求項２記載の文書処理装置である。 
【００１２】
請求項４に係る本発明は、文書データを受け付ける受付手段と、
前記受付手段により受け付けられた文書データに含まれる文字コードに基づいて文字列を取得する取得手段と、
前記取得手段により取得された文字列において、隣接する２つの文字間の距離である文字間隔を、大きさの順に並べた文字間隔リストを作成する第１の作成手段と、
前記文字間隔リストにおける各文字間隔の前後の文字間隔に対する変化量を示す変化量リストを作成する第２の作成手段と、
前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔を第１の閾値として決定する決定手段と、
前記文字列に対して、前記第１の閾値以上の文字間隔の文字間に空白の文字コードを挿入する挿入手段と、
前記文書データの文字列は分かち書きの言語により構成され、
前記言語の単語を記憶する記憶手段と、
前記取得手段により取得された文字列を、前記挿入手段により挿入された空白の文字コードを境に分割する分割手段と、を有し、
前記第１の作成手段は、前記分割手段により分割された文字列が前記記憶手段に記憶された単語と一致しない場合に、当該分割された文字列の文字間隔を、大きさの順に並べた文字間隔リストを作成し、
前記第２の作成手段は、前記分割された文字列の文字間隔リストにおける各文字間隔の前後の文字間隔に対する変化量を示す変化量リストを作成し、
前記決定手段は、前記分割された文字列の変化量リストにおける最大値に対応する文字間隔リストの文字間隔を第２の閾値として決定し、
前記挿入手段は、前記分割された文字列に対して、前記決定手段により決定された第２の閾値以上の文字間隔の文字間に空白の文字コードを挿入する文書処理装置である。
【００１３】
請求項５に係る本発明は、文書データを受け付ける受付手段と、
前記受付手段により受け付けられた文書データに含まれる文字コードに基づいて文字列を取得する取得手段と、
前記取得手段により取得された文字列において、隣接する２つの文字間の距離である文字間隔を、大きさの順に並べた文字間隔リストを作成する第１の作成手段と、
前記文字間隔リストにおける各文字間隔の前後の文字間隔に対する変化量を示す変化量リストを作成する第２の作成手段と、
前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔を第１の閾値として決定する決定手段と、
前記文字列に対して、前記第１の閾値以上の文字間隔の文字間に空白の文字コードを挿入する挿入手段と、を有し、
前記第１の作成手段は、取得された文字列に既に空白の文字コードが含まれている場合に、当該空白の文字コードの数が、取得された文字列の文字間隔数の予め定められた割合以上であるとき、当該文字列に含まれる空白の文字コードを全て削除した後、前記文字間隔リストを作成する文書処理装置である。
【００１４】
請求項６に係る本発明は、受け付けた文字列の中の隣接する２つの文字間の距離である文字間隔を大きさの順に並べ替えて文字間隔リストを作成する第１の作成手段と、
前記文字間隔リストにおける各文字間隔の前後の文字間隔に対する変化量を示す変化量リストを作成する第２の作成手段と、
前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔が、前記文字間隔リストにおける文字間隔の平均値未満または前記文字間隔リストの中央に位置する文字間隔以下の場合に、当該文字間隔を第１の閾値の候補から除外し、除外された文字間隔の前記変化量リストにおける値の次に大きい値に対応する文字間隔リストの文字間隔、又は前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔が、前記文字間隔リストにおける文字間隔の平均値以上または前記文字間隔リストの中央に位置する文字間隔より大きい場合に、当該文字間隔の文字間に空白の文字コードを挿入する挿入手段と、
を有する文書処理装置である。 
【００１５】
請求項７に係る本発明は、文書データを受け付けるステップと、
受け付けられた文書データに含まれる文字コードに基づいて文字列を取得するステップと、
取得された文字列において、隣接する２つの文字間の距離である文字間隔を、大きさの順に並べた文字間隔リストを作成するステップと、
前記文字間隔リストにおける各文字間隔の前後の文字間隔に対する変化量を示す変化量リストを作成するステップと、
前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔が、前記文字間隔リストにおける文字間隔の平均値未満または前記文字間隔リストの中央に位置する文字間隔以下の場合に、当該文字間隔を閾値の候補から除外し、除外された文字間隔の前記変化量リストにおける値の次に大きい値に対応する文字間隔リストの文字間隔、又は前記変化量リストにおける最大値に対応する文字間隔リストの文字間隔が、前記文字間隔リストにおける文字間隔の平均値以上または前記文字間隔リストの中央に位置する文字間隔より大きい場合に、当該文字間隔を閾値として決定するステップと、
前記文字列に対して、前記閾値以上の文字間隔の文字間に空白の文字コードを挿入するステップと、
をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１６】
請求項１又は請求項６に係る本発明によれば、単語間に空白の文字コードが挿入されていない分かち書きの言語の文書データに対して、判別分析法等により単語間の位置を検出して空白の文字コードを挿入した場合と比べ、本来挿入すべきでない位置に空白の文字コードを挿入してしまう過挿入を抑制することが可能な文書処理装置を提供することができる。また、請求項１又は請求項６に係る本発明によれば、単語間に空白の文字コードが挿入されていない文書データの単語間に空白の文字コードを挿入する際に、判別分析法等を用いて空白の文字コードの挿入位置を検出する場合と比較して、空白の文字コードの挿入位置を高い精度で検出することが可能な文書処理装置を提供することができる。
【００１８】
請求項２に係る本発明によれば、文字列の文字間隔の標準偏差に基づいて、空白の文字コードを挿入する必要がある文字列であるか否かを判定することが可能な文書処理装置を提供することができる。また、請求項２に係る本発明によれば、単語間に空白の文字コードが挿入されていない分かち書きの言語の文書データに対して、判別分析法等により単語間の位置を検出して空白の文字コードを挿入した場合と比べ、本来挿入すべきでない位置に空白の文字コードを挿入してしまう過挿入を抑制することが可能な文書処理装置を提供することができる。
【００１９】
請求項３に係る本発明によれば、文字列の標準偏差に基づいて、空白の文字コードを挿入する必要がある文字列であるか否かを判定することが可能な文書処理装置を提供することができる。
【００２０】
請求項４に係る発明によれば、分かち書きの言語で構成された文書データにおいて、文字列が単語ごとに区切られる位置に空白の文字コードを挿入することが可能な文書処理装置を提供することができる。また、請求項４に係る本発明によれば、単語間に空白の文字コードが挿入されていない分かち書きの言語の文書データに対して、判別分析法等により単語間の位置を検出して空白の文字コードを挿入した場合と比べ、本来挿入すべきでない位置に空白の文字コードを挿入してしまう過挿入を抑制することが可能な文書処理装置を提供することができる。
【００２１】
請求項５に係る本発明によれば、文字列の文字間隔数の予め定められた割合以上の空白の文字コードが既に含まれている文字列において、判別分析法等を用いて空白の挿入位置を検出する場合と比較して、空白の挿入位置を高い精度で検出することが可能な文書処理装置を提供することができる。また、請求項５に係る本発明によれば、単語間に空白の文字コードが挿入されていない分かち書きの言語の文書データに対して、判別分析法等により単語間の位置を検出して空白の文字コードを挿入した場合と比べ、本来挿入すべきでない位置に空白の文字コードを挿入してしまう過挿入を抑制することが可能な文書処理装置を提供することができる。
【００２２】
請求項７に係る本発明によれば、単語間に空白の文字コードが挿入されていない分かち書きの言語の文書データに対して、判別分析法等により単語間の位置を検出して空白の文字コードを挿入した場合と比べ、本来挿入すべきでない位置に空白の文字コードを挿入してしまう過挿入を抑制することが可能なプログラムを提供することができる。また、請求項７に係る本発明によれば、単語間に空白の文字コードが挿入されていない文書データの単語間に空白の文字コードを挿入する際に、判別分析法等を用いて空白の文字コードの挿入位置を検出する場合と比較して、空白の文字コードの挿入位置を高い精度で検出することが可能なプログラムを提供することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の第１の実施形態における文書処理システムの構成を示す図である。
【図２】本発明の第１の実施形態における文書処理サーバ３０のハードウェア構成を示すブロック図である。
【図３】本発明の第１の実施形態における文書処理サーバ３０の機能構成を示すブロック図である。
【図４】本発明の第１の実施形態における文書データ及び文字列の文字間隔の一例を示す図である。
【図５】本発明の第１の実施形態における標準偏差の算出方法の一例を示す図である。
【図６】本発明の第１の実施形態における文字間隔リスト、一次微分リスト及び空白の文字コードの挿入位置の一例を示す図である。
【図７】本発明の第１の実施形態における文字間隔リスト、一次微分リスト及び空白の文字コードの挿入位置の一例を示す図である。
【図８】本発明の第１の実施形態における文書処理サーバ３０の処理を示すフローチャートである。
【図９】本発明の第２の実施形態における文書処理サーバ３０ａの機能構成を示す図である。
【図１０】本発明の第２の実施形態における文書処理の一例を示す図である。
【図１１】本発明の第２の実施形態における文書処理サーバ３０ａの処理を示すフローチャートである。
【図１２】本発明の第３の実施形態における文書処理サーバ３０ｂの機能構成を示す図である。
【図１３】本発明の第３の実施形態における文書データ、及び判別分析法の一例を示す図である。
【図１４】本発明の第３の実施形態における文書処理の一例を示す図である。
【図１５】本発明の第３の実施形態における文書処理サーバ３０ｂの処理を示すフローチャートである。
【発明を実施するための最良の形態】
【００２４】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００２５】
［第１の実施形態］
図１は、本発明の一実施形態の文書処理システムのシステム構成を示す図である。
【００２６】
本発明の第１の実施形態の文書処理システムは、図１に示されるように、端末装置１０と、画像形成装置２０と、文書処理サーバ（文書処理装置）３０がネットワーク４０を介して相互に接続されている。端末装置１０は、文書データを生成して、ネットワーク４０経由にて生成した文書データを文書処理サーバ３０に対して送信する。文書処理サーバ３０は、端末装置１０から送信された文書データを受け付けて、文書データに対して後述する処理を行う。なお、画像形成装置２０は、印刷（プリント）機能、スキャン機能、複写（コピー）機能、ファクシミリ機能等の複数の機能を有するいわゆる複合機と呼ばれる装置である。
【００２７】
また、本実施形態における文書データは、文字コードを含むＰＤＦ（Portable Document Format）等の形式により作成され、分かち書きの言語である英語で構成されたものを対象として説明する。なお、分かち書きとは、文章を書くとき、一定の方針で語句の単位を切り、その切れ目ごとに間隔をおく書き方のこと、換言すれば、文書において語の区切りに空白を挟んで記述することである。
【００２８】
また、本実施形態における文書データは、文字コードと座標情報に基づいて文字を配置することにより、空白の文字コードを含まずに文字間の空白を表現している。
【００２９】
次に、本実施形態の文書処理システムにおける文書処理サーバ３０のハードウェア構成を図２に示す。
【００３０】
文書処理サーバ３０は、図２に示されるように、ＣＰＵ１１、メモリ１２、ハードディスクドライブ（ＨＤＤ）等の記憶装置１３、ネットワーク４０を介してデータの送信及び受信を行う通信インタフェース（ＩＦ）１４、タッチパネル又は液晶ディスプレイ並びにキーボードを含むユーザインタフェース（ＵＩ）装置１５を有する。これらの構成要素は、制御バス１６を介して互いに接続されている。
【００３１】
ＣＰＵ１１は、メモリ１２または記憶装置１３に格納された制御プログラムに基づいて所定の処理を実行して、文書処理サーバ３０の動作を制御する。なお、本実施形態では、ＣＰＵ１１は、メモリ１２または記憶装置１３内に格納された制御プログラムを読み出して実行するものとして説明したが、当該プログラムをＣＤ−ＲＯＭ等の記憶媒体に格納してＣＰＵ１１に提供することも可能である。
【００３２】
図３は、ＣＰＵ１１によりメモリ１２または記憶装置１３に格納された制御プログラムが実行されることにより実現される文書処理サーバ３０の機能構成を示す図である。
【００３３】
図３に示されるように、本実施形態における文書処理サーバ３０は、文書データ受付部３０１と、文字列取得部３０２と、標準偏差算出部３０３と、空白挿入判定部３０４と、文字間隔リスト作成部３０５と、一次微分リスト作成部３０６と、閾値決定部３０７と、空白挿入部３０８とによって構成される。
【００３４】
文書データ受付部３０１は、端末装置１０または画像形成装置２０からネットワーク４０を介して送信された文書データを受け付ける。
【００３５】
例えば、図４（Ａ）に示されるように、文字列１０１〜１０３を含む文書データを受け付ける。
【００３６】
文字列取得部３０２は、文書データ受付部３０１により受け付けられた文書データに含まれる文字コードに基づいて文字列を取得する。このとき、文字列取得部３０２は、文書データにおける各行ごとに文字列を取得する。
【００３７】
例えば、図４（Ａ）に示されるように、文字列取得部３０２は、文書データに含まれる文字列１０２の「ｔｈｉｓ  ｉｓ  ａ  ｐｅｎ」という文字列において、それぞれの文字の文字コード及び座標情報を抽出することによって、文字列１０２を取得する。
【００３８】
また、文字列取得部３０２は、前記受付手段により受け付けられた文書データに含まれる文字コードに基づいて文字列を取得する。また、文字列取得部３０２は、取得した文字列に含まれる隣接する２つの文字の距離である文字間隔を取得する。具体的には、図４（Ｂ）に示されるように、文字列取得部３０２において抽出された座標情報から各文字の外接矩形を求め、隣接する文字間において、左側の文字の外接矩形の右端のｘ座標と、右側の文字の外接矩形の左端のｘ座標との距離を、当該隣接する文字間の文字間隔とする。例えば、文字列１０２においては、文字列取得部３０２は、図４（Ｂ）に示されるように、「ｔ」の外接矩形の右端と、「ｈ」の外接矩形の左端との距離を「ｔ」と「ｈ」の文字間隔として検出する。また、文字列取得部３０２は、文字列１０２における他の文字間に対しても同様にして、図４（Ｃ）に示されるように、文字列１０２のそれぞれの文字において隣接する文字間の文字間隔を検出する。
【００３９】
標準偏差算出部３０３は、文字列取得部３０２により取得された文字列の文字間隔の標準偏差を算出する。
【００４０】
また、標準偏差算出部３０３は、文字列取得部３０２により取得された文字列の文字間隔において、偏差が設定値Ｂ（第２の予め定められた値）以下の文字間隔が含まれる場合、この文字間隔の偏差を０として当該文字列の標準偏差を再計算する。
【００４１】
例えば、図５（Ａ）に示されるように、文字列１０１の「Ｅｘａｍｐｌｅ」という文字それぞれにおいて、隣接する文字の文字間隔がそれぞれ「０、０、６、６、６、６（ピクセル）」である場合、文字列１０１の文字間隔の平均値は「４（ピクセル）」である。
【００４２】
ここで、「Ｅ」と「ｘ」の文字間隔「０（ピクセル）」及び「ｘ」と「ａ」の文字間隔は「０（ピクセル）」であり、文字列１０１の平均値は「４（ピクセル）」であるため、「Ｅ」と「ｘ」の文字間隔及び「ｘ」と「ａ」の文字間隔の偏差は「−４」である。そして、「Ｅ」と「ｘ」の文字間隔及び「ｘ」と「ａ」の文字間隔の偏差は設定値Ｂである「−２」以下であるため、標準偏差算出部３０３は、「Ｅ」と「ｘ」の文字間隔及び「ｘ」と「ａ」の文字間隔の偏差が０であるものとして扱う。具体的には、「Ｅ」と「ｘ」との文字間隔及び「ｘ」と「ａ」との文字間隔を「４（ピクセル）」に変更して、文字列１０１の文字間隔を「４、４、６、６、６、６」に変換する。
【００４３】
そして、標準偏差算出部３０３は、変換された文字列１０１の文字間隔の偏差に基づいて標準偏差を算出する。具体的には、図５（Ｂ）に示されるように、標準偏差算出部３０３は、変換された後の文字列１０１の各文字の文字間隔を、変換される前の文字列１０１の文字間隔の平均値により減算することで偏差を求め、各文字間隔の偏差の二乗の和を、文字列１０１の文字間隔数で除算して平方根を求めることによって標準偏差を算出する。これにより、分かち書き言語において単語の区切りである可能性が低い「Ｅ」と「ｘ」間及び「ｘ」と「ａ」間の偏差の影響が排除された標準偏差が算出される。
【００４４】
空白挿入判定部３０４は、標準偏差算出部３０３により算出された標準偏差に基づいて、取得された文字列が、空白の文字コードを挿入する必要があるか否かを判定する。
【００４５】
具体的には、空白挿入判定部３０４は、標準偏差算出部３０３により算出された標準偏差が、設定値Ａ（第１の予め定められた値）よりも大きい場合には、文字列に空白の文字コードを挿入する必要があると判定し、標準偏差が設定値Ａ以下である場合には、文字列に空白の文字コードを挿入する必要がないと判定する。例えば、図５（Ｂ）に示されるように、文字列１０１の標準偏差が１．６３であり、設定値Ａの２以下であるため、空白挿入判定部３０４は、文字列１０１には空白の文字コードを挿入する必要がないと判定する。
【００４６】
文字間隔リスト作成部３０５は、文字列取得部３０２により取得された文字列に空白の文字コードを挿入する必要があると空白挿入判定部３０４によって判定された場合に、当該文字列において隣接する２つの文字の距離である文字間隔を、大きさの順に並べた文字間隔リストを作成する。本実施形態においては、文字間隔リスト作成部３０５は、文字列において隣接する２つの文字の文字間隔を小さい順に並べた文字間隔リストを作成する。
【００４７】
一次微分リスト作成部３０６は、文字間隔リスト作成部３０５により作成された文字間隔リストにおける各文字間隔を一次微分することにより、一次微分リスト（変化量リスト）を作成する。ここで、一次微分リストとは、文字間隔リストにおける各文字間隔の前後の文字間隔に対する変化量を示すリストである。
【００４８】
閾値決定部３０７は、一次微分リストにおける最大値に対応する文字間隔リストの文字間隔が、文字間隔リストにおける文字間隔の平均値以上である場合に、当該文字間隔を閾値として決定する。
【００４９】
空白挿入部３０８は、取得された文字列に対して、閾値決定部３０７により決定された閾値以上の文字間隔の文字間に空白の文字コードを挿入する。また、空白挿入部３０８は、空白の文字コードを挿入する必要がないと空白挿入判定部３０４により判定された文字列に対しては、空白の文字コードを挿入する処理を行わない。さらに、空白挿入部３０８は、文字列に空白の文字コードを挿入した場合には、文字列に空白の文字コードが挿入された文書データをネットワーク４０を介して端末装置１０または画像形成装置２０に送信する。
【００５０】
以下、文字間隔リスト作成部３０５、一次微分リスト作成部３０６、閾値決定部３０７及び空白挿入部３０８における処理の具体例について、図６及び図７を参照して詳細に説明する。
【００５１】
まず、文字列１０２に対する処理について、図６を参照して詳細に説明する。
【００５２】
まず、図６（Ａ）に示されるように、文字間隔リスト作成部３０５は、文字列１０２における各文字の文字間隔「２、３、３、７、３、６、７、４、３（ピクセル）」を、左から小さい順に並べ替えて、文字間隔リスト「２、３、３、３、３、４、６、７、７（ピクセル）」を作成する。
【００５３】
そして、図６（Ｂ）に示されるように、一次微分リスト作成部３０６は、文字列１０２の文字間隔リストにおける各文字間隔を一次微分することにより一次微分リストを作成する。具体的には、一次微分リスト作成部３０６は、文字列１０２の文字間隔リスト「２、３、３、３、３、４、６、７、７（ピクセル）」において、それぞれの文字間隔ごとに、前後の文字間隔との差を算出して、これらの差を各文字間隔の前後の変化量とすることによって、一次微分リスト「１、０、０、０、１、２、１、０」を作成する。ここで、図６（Ｂ）に示されるように、一次微分リスト作成部３０６は、一次微分リストの値を、それぞれの算出元となった文字間隔リストにおける２つの文字間隔うち、右側（大きい側）の文字間隔と対応するよう作成する。
【００５４】
次に、図６（Ｂ）に示されるように、閾値決定部３０７は、文字列１０２の一次微分リストを参照して、一次微分リストにおける最大値として「２」を検出する。そして、閾値決定部３０７は、文字列１０２の文字間隔リストを参照して、一次微分リストの「２」に対応する文字間隔として「６（ピクセル）」を検出する。そして、文字列１０２の文字間隔リストの平均値は約「４．２２（ピクセル）」であるため、閾値決定部３０７は、検出された文字間隔「６（ピクセル）」を閾値として決定する。
【００５５】
そして、図６（Ｃ）に示されるように、空白挿入部３０８は、文字列１０２に対して、閾値決定部３０７により決定された閾値である「６（ピクセル）」以上の文字間隔である文字間に空白の文字コードを挿入する。具体的には、文字列１０２における「ｔｈｉｓ」の「ｓ」と「ｉｓ」の「ｉ」との間、「ｉｓ」の「ｓ」と「ａ」との間、「ａ」と「ｐｅｎ」の「ｐ」との間にそれぞれ空白の文字コードを挿入する。
【００５６】
次に、文字列１０３に対する処理について、図７を参照して詳細に説明する。
【００５７】
まず、図７（Ａ）に示されるように、文字間隔リスト作成部３０５は、文字列１０３における各文字の文字間隔「０、０、０、７、３、６、７、４、３（ピクセル）」を小さい順に並べ替えて、文字間隔リスト「０、０、０、３、３、４、６、７、７」を作成する。
【００５８】
そして、図７（Ａ）に示されるように、一次微分リスト作成部３０６は、文字列１０３の文字間隔リスト「０、０、０、３、３、４、６、７、７（ピクセル）」の一次微分リスト「０、０、３、０、１、２、１、０」を作成する。
【００５９】
次に、閾値決定部３０７は、文字列１０３の一次微分リストを参照して、一次微分リストにおける最大値として「３」を検出する。そして、閾値決定部３０７は、文字列１０３の文字間隔リストを参照して、一次微分リストの「３」と対応する文字間隔として「３（ピクセル）」を検出する。ここで、図７（Ａ）に示されるように、文字列１０３の文字間隔リストの平均値は「約３．３３（ピクセル）」であり、検出された「３（ピクセル）」は文字間隔リストの平均値未満であるため、閾値決定部３０７は、一次微分リストの「３」と、検出された文字間隔「３（ピクセル）」を閾値の候補から除外する。
【００６０】
次に、閾値決定部３０７は、図７（Ｂ）に示されるように、一次微分リストにおいて「３」の次に大きい値である「２」を検出する。次に、閾値決定部３０７は、一次微分リストの「２」に対応する文字間隔リストの文字間隔として「６（ピクセル）」を検出する。そして、検出された文字間隔「６（ピクセル）」は文字列１０３の文字間隔リストの平均値「３．３３（ピクセル）」以上であるため、閾値決定部３０７は、閾値として「６（ピクセル）」を決定する。
【００６１】
そして、図７（Ｃ）に示されるように、空白挿入部３０８は、文字列１０３に対して、閾値決定部３０７により決定された閾値である「６（ピクセル）」以上の文字間隔である文字間に空白の文字コードを挿入する。具体的には、文字列１０３における「ｔｈｉｓ」の「ｓ」と「ｉｓ」の「ｉ」との間、「ｉｓ」の「ｓ」と「ａ」との間、「ａ」と「ｐｅｎ」の「ｐ」との間にそれぞれ空白の文字コードを挿入する。
【００６２】
なお、本実施形態においては、閾値決定部３０７は、一次微分リストにおける最大値に対応する文字間隔リストの文字間隔が、文字間隔リストにおける文字間隔の平均値以上である場合に当該文字間隔を閾値として決定するものとして説明しているが、一次微分リストにおける最大値に対応する文字間隔リストの文字間隔が、文字間隔リストの中央に位置する文字間隔より大きい場合に当該文字間隔を閾値として決定するようにしてもよい。
【００６３】
次に、第１の実施形態における文書処理サーバ３０の処理を、図８のフローチャートを参照して説明する。
【００６４】
まず、文書データ受付部３０１は、端末装置１０または画像形成装置２０からネットワーク４０を介して文書データを受け付ける（ステップＳ１０１）。
【００６５】
次に、文字列取得部３０２は、受け付けた文書データの文字コード及び文字の座標情報に基づいて文字列を取得する（ステップＳ１０２）。この時、文字列取得部３０２は、取得された文字列の文字間隔を取得する。
【００６６】
また、標準偏差算出部３０３は、取得された文字列における文字間隔の標準偏差を算出する（ステップＳ１０３）。
【００６７】
そして、空白挿入判定部３０４は、算出された標準偏差が設定値Ａ以下であるか否かを判定する（ステップＳ１０４）。算出された標準偏差が設定値Ａ以下である場合には（ステップＳ１０４においてｙｅｓ）、処理を終了する。
【００６８】
また、算出された標準偏差が設定値Ａより大きい場合には（ステップＳ１０４においてｎｏ）、文字間隔リスト作成部３０５は、取得された文字列の文字間隔を小さい順に並べた文字間隔リストを作成する（ステップＳ１０５）。
【００６９】
次に、一次微分リスト作成部３０６は、作成された文字間隔リストの各文字間隔を一次微分することにより一次微分リストを作成する（ステップＳ１０６）。
【００７０】
そして、閾値決定部３０７は、一次微分リストにおける最大値に対応する文字間隔リストの文字間隔が、文字間隔リストにおける文字間隔の平均値以上である場合に当該文字間隔を閾値として決定する（ステップＳ１０７）。
【００７１】
そして、空白挿入部３０８は、決定された閾値以上の文字間隔である２つの文字間に空白の文字コードを挿入する（ステップＳ１０８）。
【００７２】
［第２の実施形態］
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。
【００７３】
第２の実施形態においては、第１の実施形態における処理が行われた後、空白挿入部３０８により空白の文字コードが挿入された文字列に対して、文書データを構成する言語の単語であるか否かを判定し、当該文字列が単語ではない場合に、再度、空白の文字コードを挿入する処理を行う。なお、第１の実施形態と同じ構成については、同一の符号を付して説明を省略する。
【００７４】
第２の実施形態における文書処理システムは、図１に示される第１の実施形態の文書処理システムにおいて、文書処理サーバ３０が文書処理サーバ３０ａに置き換えられている。なお、文書処理サーバ３０ａのハードウェア構成は、第１の実施形態と同じ構成であるため説明を省略する。
【００７５】
次に、文書処理サーバ３０ａの機能構成について、図９を参照して詳細に説明する。
【００７６】
図９に示されるように、第２の実施形態における文書処理サーバ３０ａは、第１の実施形態における文書処理サーバ３０に対して、文字列分割部３０９と、記憶部３１０と、単語判定部３１１とが追加されている。
【００７７】
文字列分割部３０９は、第１の実施形態と同様に処理によって、文字列取得部３０２により取得された文字列に対して空白の文字コードが挿入された後、この文字列を、空白挿入部３０８により挿入された空白の文字コードを境に分割する。
【００７８】
記憶部３１０は、文書データを構成する分かち書きの言語の単語を記憶する。本実施形態においては、記憶部３１０は、英単語辞書のデータを登録することにより英単語のデータを予め記憶しておく。
【００７９】
単語判定部３１１は、文字列分割部３０９により分割された文字列が記憶部３１０に記憶された単語と一致するか否かを判定する。本実施形態においては、単語判定部３１１は、文字列取得部３０２により取得された文字コードと座標情報とに基づいて、当該文字コードの並び順と、記憶部３１０に記憶された単語における文字の並び順とを比較することにより一致するか否かを判定する。また、単語判定部３１１は、文字列分割部３０９により分割された文字列が記憶部３１０に記憶された単語と一致すると判定した場合には、文字列に空白の文字コードが挿入された文書データを、ネットワーク４０を介して端末装置１０または画像形成装置２０に送信する。
【００８０】
また、文字間隔リスト作成部３０５は、文字列分割部３０９によって分割された文字列が、記憶部３１０に記憶された単語と一致しないと単語判定部３１１により判定された場合に、当該分割された文字列の文字間隔を、大きさの順に並べた文字間隔リストを作成する。
【００８１】
一次微分リスト作成部３０６は、文字列分割部３０９により分割された文字列の文字間隔リストにおける各文字間隔を一次微分することにより一次微分リストを作成する。
【００８２】
閾値決定部３０７は、文字列分割部３０９により分割された文字列の一次微分リストにおける最大値に対応する文字間隔リストの文字間隔を第２の閾値として決定する。
【００８３】
空白挿入部３０８は、文字列分割部３０９により分割された文字列に対して、閾値決定部３０７により決定された第２の閾値以上の文字間隔の文字間に空白の文字コードを挿入する
【００８４】
例えば、図１０（Ａ）に示されるような文書データにおいて、文字列取得部３０２により、「ｔｈｉｓ  ｉｓ      ａ  ｐｅｎ」という文字列１０４が取得された場合、文書処理サーバ３０は、まず、第１の実施形態と同様の処理を行う。
【００８５】
具体的には、図１０（Ｂ）に示されるように、文字間隔リスト作成部３０５は、文字列１０４の文字間隔を小さい順に並べることにより、文字間隔リスト「２、２、３、３、３、４、８、８、１８（ピクセル）」を作成する。
【００８６】
そして、一次微分リスト作成部３０６は、図１０（Ｂ）に示されるように、文字間隔リスト「２、２、３、３、３、４、８、８、１８（ピクセル）」の一次微分リスト「０、１、０、０、１、４、０、１０」を作成する。
【００８７】
そして、閾値決定部３０７は、一次微分リストにおける最大値「１０」を検出し、これに対応する文字間隔「１８（ピクセル）」を検出する。そして、文字間隔リストの平均値は「約５．６７（ピクセル）」であるため、文字間隔「１８（ピクセル）」を第１の閾値として決定する。
【００８８】
次に、空白挿入部３０８は、図１０（Ｂ）に示されるように、文字列１０４に対して、第１の閾値として決定された文字間隔「１８（ピクセル）」以上の文字間隔である「ｉｓ」の「ｓ」と「ａ」との間に空白の文字コードを挿入する。
【００８９】
次に、文字列分割部３０９は、文字列に空白の文字コードが挿入された文字列１０４を、図１０（Ｃ）に示されるように、文字列１０４ａとして「ｔｈｉｓ  ｉｓ」、及び文字列１０４ｂとして「ａ  ｐｅｎ」に分割する。そして、単語判定部３１１は、記憶部３１０に記憶された英単語辞書のデータを参照して、「ｔｈｉｓ  ｉｓ」及び「ａ  ｐｅｎ」という単語が存在するか否かを判定する。
【００９０】
そして、英単語辞書には「ｔｈｉｓ  ｉｓ」という単語及び「ａ  ｐｅｎ」という単語は存在しないため、文字間隔リスト作成部３０５は、図１０（Ｃ）に示されるように、文字列１０４ａ及び文字列１０４ｂそれぞれの文字間隔リストを作成する。
【００９１】
次に、一次微分リスト作成部３０６は、図１０（Ｃ）に示されるように、文字列１０４ａ及び文字列１０４ｂそれぞれの文字間隔リストにおける各文字間隔を一次微分することにより一次微分リストを作成する。
【００９２】
そして、閾値決定部３０７は、文字列１０４ａ及び文字列１０４ｂそれぞれの一次微分リストにおける最大値に対応する文字間隔リストの文字間隔をそれぞれの文字列の第２の閾値として決定する。
【００９３】
例えば、図１０（Ｃ）に示されるように、閾値決定部３０７は、文字列１０４ａの一次微分リストにおける最大値「５」を検出し、これに対応する文字間隔リストの文字間隔「８」を文字列１０４ａの第２の閾値として決定する。また、閾値決定部３０７は、図１０（Ｃ）に示されるように、文字列１０４ｂの一次微分リストにおける最大値「４」を検出し、これに対応する文字間隔リストの文字間隔「８」を文字列１０４ｂの第２の閾値として決定する。
【００９４】
そして、空白挿入部３０８は、文字列１０４ａ及び文字列１０４ｂに対して、閾値決定部３０７により決定された第２の閾値以上の文字間隔の文字間に空白の文字コードを挿入する。例えば、図１０（Ｃ）に示されるように、空白挿入部３０８は、文字列１０４ａにおいては、「ｔｈｉｓ」の「ｓ」と「ｉｓ」の「ｉ」との間に空白の文字コードを挿入する。また、空白挿入部３０８は、図１０（Ｃ）に示されるように、文字列１０４ｂにおいては、「ａ」と「ｐ」との間に空白の文字コードを挿入する。
【００９５】
次に、第２の実施形態における文書処理サーバ３０ａの処理を図１１のフローチャートを参照して説明する。なお、第１の実施形態と同じ処理については説明を省略する。
【００９６】
まず、文字列分割部３０９は、空白挿入部３０８により第１の閾値以上の文字間隔である文字間に空白の文字コードが挿入された文字列を、挿入された空白コードごとに分割する（ステップＳ２０１）。
【００９７】
次に、単語判定部３１１は、文字列分割部３０９により分割された文字列が、記憶部３１０に記憶された単語と一致するか否かを判定する（ステップＳ２０２）。文字列分割部３０９により分割された文字列が、記憶部３１０に記憶された単語と一致する場合（ステップＳ２０２においてｎｏ）、処理を終了する。
【００９８】
また、文字列分割部３０９により分割された文字列が、記憶部３１０に記憶された単語と一致しないと判定された場合（ステップＳ２０２においてｙｅｓ）、文字間隔リスト作成部３０５は、分割された文字列の文字間隔を小さい順に並べた文字間隔リストを作成する（ステップＳ２０３）。
【００９９】
そして、一次微分リスト作成部３０６は、ステップＳ２０３において作成された文字間隔リストの文字間隔の各文字間隔を一次微分することにより一次微分リストを作成する（ステップＳ２０４）。
【０１００】
次に、閾値決定部３０７は、ステップＳ２０４において作成された一次微分リストにおける最大値に対応する文字間隔リストの文字間隔を第２の閾値として決定する（ステップＳ２０５）。
【０１０１】
そして、空白挿入部３０８は、分割された文字列に対して、ステップＳ２０５において決定された閾値以上の文字間隔の文字間に空白の文字コードを挿入する（ステップＳ２０６）。そして、ステップＳ２０１に戻り、ステップＳ２０１〜ステップＳ２０６の処理を繰り返す。
【０１０２】
なお、第２の実施形態においては、空白の文字コードを挿入する処理を２回行うものとして説明しているが、空白挿入部３０８により文字列に対して空白の文字コードが挿入されるごとに、当該文字列が文書データを構成する言語の単語であるか否かを判定し、当該文字列が単語ではない場合には、第２の実施形態と同様の方法により空白の文字コードを挿入する処理を再帰的に繰り返すようにしてもよい。
【０１０３】
また、第２の実施形態においては、記憶部３１０に記憶される言語の単語が英語であるものとして説明したが、文書データを構成する言語が他の分かち書きの言語である場合には、当該言語の単語を記憶するようにしてもよい。また、文書データが複数の言語により構成されている場合には、記憶部３１０は、複数の言語の単語を記憶するようにしてもよい。
【０１０４】
［第３の実施形態］
次に、本発明の第３の実施形態について図面を参照して詳細に説明する。
【０１０５】
第３の実施形態においては、第１の実施形態における空白の文字コードを挿入する処理が行われる前に、既に空白の文字コードが挿入されている場合に、この空白の文字コードが過挿入であるか否かを判定する場合について説明する。なお、第３の実施形態においても、第１の実施形態と同じ構成については説明を省略する。
【０１０６】
第３の実施形態における文書処理システムは、図１に示される第１の実施形態における文書処理システムにおいて、文書処理サーバ３０が文書処理サーバ３０ｂに置き換えられている。なお、文書処理サーバ３０ｂのハードウェア構成は、第１の実施形態と同じ構成であるため説明を省略する。
【０１０７】
次に、図１２を参照して、第３の実施形態における文書処理サーバ３０ｂの機能構成を詳細に説明する。なお、第１の実施形態と同じ構成については、同じ符号を付して説明を省略する。
【０１０８】
図１２に示されるように、第３の実施形態における文書処理サーバ３０ｂは、第１の実施形態における文書処理サーバ３０に対して、判別分析部３１２と、過挿入判定部３１３が追加されている。
【０１０９】
判別分析部３１２は、文字列取得部３０２により取得された文字列に空白の文字コードを挿入する必要があると空白挿入判定部３０４により判定された場合に、判別分析法を用いて判別分析の閾値を決定する。
【０１１０】
過挿入判定部３１３は、取得された文字列に対して、空白挿入部３０８により判別分析の閾値に基づいて空白の文字コードが挿入された場合に、当該空白の文字コードの数が、取得された文字列の文字間隔数の予め定められた割合以上であるか否かを判定する。本実施形態においては、予め定められた割合を４０％として予め設定されている。
【０１１１】
また、過挿入判定部３１３は、空白の文字コードの数が、取得された文字列の文字間隔数の４０％以上である場合には、文字間隔リスト作成部３０５に対して、当該文字列に既に含まれている空白の文字コードを全て削除した後、文字間隔リストを作成するよう指示する。
【０１１２】
以下、第３の実施形態における処理の具体例を図１３、図１４を参照して詳細に説明する。
【０１１３】
例えば、文書データ受付部３０１によって、図１３（Ａ）に示されるような文書データを受け付けて、図１３（Ｂ）に示されるように、文字列取得部３０２によって文字列１０５を取得される。次に、判別分析部３１２は、図１３（Ｃ）に示されるように、文字列１０５の文字間隔のヒストグラムを作成する。
【０１１４】
そして、判別分析部３１２は、作成したヒストグラムに対して判別分析法を用いることにより、判別分析の閾値を境界として、ヒストグラムの値を２つのグループに分類する。例えば、図１３（Ｃ）に示されるように、「３（ピクセル）」を判別分析の閾値として算出し、ヒストグラムの値を「３（ピクセル）」より大きい文字間隔と、「３（ピクセル）」以下の文字間隔との２つのグループに分類する。
【０１１５】
そして、空白挿入部３０８は、判別分析部３１２により決定された判別分析の閾値より大きい文字間隔の文字間に空白の文字コードを挿入する。例えば、図１４（Ａ）に示されるように、文字列１０５において、「Ｆａｉｌｅｄ」の「ａ」と「ｉ」との間、「Ｆａｉｌｅｄ」の「ｌ」と「ｅ」との間、「Ｆａｉｌｅｄ」の「ｄ」と「ｅｘａｍｐｌｅ」の「ｅ」との間、「ｅｘａｍｐｌｅ」の「ｘ」と「ａ」との間、「ｅｘａｍｐｌｅ」の「ａ」と「ｍ」との間にそれぞれ空白の文字コードを挿入する。
【０１１６】
次に、図１４（Ｂ）に示されるように、文字列１０５の文字間隔数が１２個、判別分析の閾値より大きい文字間隔に挿入された空白の文字コード数が５個である場合、空白コードの数は、文字列１０５の文字間隔数の約４１．６７％であるため、過挿入判定部３１３は、文字列１０５に対して挿入された空白の文字コードの数が、文字列１０５の文字間隔数の予め定められた割合以上であると判定する。
【０１１７】
また、過挿入判定部３１３は、文字列に対して挿入された空白コードが、文字列１０５の文字間隔数の予め定められた割合以上であると判定した場合には、文字間隔リスト作成部３０５に対して、文字列１０５に含まれる空白の文字コードを全て削除した後、文字列１０５の文字間隔リストを作成するよう指示する。
【０１１８】
そして、文字間隔リスト作成部３０５は、文字列１０５に含まれる空白の文字コードを全て削除した後、第１の実施形態と同様に、文字列１０５の文字間隔リストを作成する。例えば、図１４（Ｃ）に示されるように、文字列１０５の文字間隔リストとして「１、１、２、２、２、２、３、４、４、４、４、６」を作成する。
【０１１９】
また、一次微分リスト作成部３０６は、第１の実施形態と同様に、文字列１０５の文字間隔リストにおける各文字間隔を一次微分することにより一次微分リストを作成する。例えば、図１４（Ｃ）に示されるように、文字列１０５の一次微分リストとして「０、１、０、０、０、１、１、０、０、０、２」を作成する。
【０１２０】
次に、閾値決定部３０７は、文字列１０５の一次微分リストにおける最大値として「２」を検出し、これに対応する文字間隔リストの「６（ピクセル）」を閾値として決定する。
【０１２１】
そして、空白挿入部３０８は、図１４（Ｄ）に示されるように、「６（ピクセル」以上の文字間隔の文字間に空白の文字コードを挿入する。具体的には、「Ｆａｉｌｅｄ」の「ｄ」と「ｅｘａｍｐｌｅ」のうち先頭の「ｅ」との間に空白の文字コードを挿入する。
【０１２２】
次に、第３の実施形態における文書処理サーバ３０ｂの処理について、図１５のフローチャートを参照して説明する。なお、第１の実施形態と同様の処理については同じ符号を付して説明を省略する。
【０１２３】
まず、文書データ受付部３０１により文書データが受け付けられ、文字列取得部３０２により取得された文字列の標準偏差が設定値Ａより大きいと空白挿入判定部３０４により判定された場合に、判別分析部３１２は、判別分析法を用いて判別分析の閾値を決定する（ステップＳ３０１）。
【０１２４】
次に、空白挿入部３０８は、ステップＳ３０１において決定された閾値より大きい文字間隔である文字間に空白の文字コードを挿入する（ステップＳ３０２）。
【０１２５】
そして、過挿入判定部３１３は、ステップＳ３０２において挿入された空白の文字コードの数が、取得された文字列の文字間隔数の４０％以上であるか否かを判定する（ステップＳ３０３）。挿入された空白の文字コードの数が、取得された文字列の４０％未満である場合（ステップＳ３０３においてｎｏ）、処理を終了する。
【０１２６】
また、ステップＳ３０２において挿入された空白の文字コードの数が、取得された文字列の文字間隔数の４０％以上である場合（ステップＳ３０３においてｙｅｓ）、過挿入判定部３１３は、文字間隔リスト作成部３０５に対して、挿入された空白の文字コードを全て削除して、文字間隔リストを作成するよう指示する（ステップＳ３０４）。
【０１２７】
そして、過挿入判定部３１３が文字間隔リストを作成するよう指示した場合には、文書処理サーバ３０ｂは、空白の文字コードが全て削除された文字列に対して、第１の実施形態と同様の処理により空白の文字コードを挿入する処理を行う（ステップＳ１０５〜ステップＳ１０８）。
【０１２８】
［変形例］
なお、第３の実施形態においては、判別分析の閾値に基づいて挿入された空白の文字コードの数が、文字列の文字間隔数の予め定められた割合以上であるか否かを判定するものとして説明した。しかし、文書データ受付部３０１において受け付けられた文書データの文字列に既に空白の文字コードが含まれている場合には、判別分析の閾値に基づく空白の文字コードの挿入処理を行わずに、取得された文字列における空白の文字コードの数が、文字列の文字間隔数の予め定められた割合以上であるか否かを判定するようにしてもよい。
【０１２９】
なお、上記の説明では、第１、第２及び第３の実施形態においてそれぞれ異なる構成を有する文書サーバ３０について説明したが、文書サーバ３０は、第１、第２及び第３の実施形態の構成を一部または全て含むようにしてもよい。
【０１３０】
また、上記第１から第３の実施形態では、文書データが英語により構成された場合を用いて説明しているが、ドイツ語、フランス語、韓国語、ベトナム語等のように、単語間の区切りに空白を挿入して記述する分かち書きの言語により文書データが構成されている場合であれば同様に本発明を適用可能である。また、一般的に日本語は分かち書きの言語ではないが、ひらがな文を分かち書きにより記述したような文書データであれば本発明を同様に適用可能である。
【０１３１】
さらに、上記第１から第３の実施形態では、文字コードと座標情報とが含まれている文書データに対して空白を挿入する場合を用いて説明しているが、書類をスキャンして読み取ったデータをＯＣＲ（optical character recognition）処理して得られた文書データに対して空白を挿入するような場合にも本発明は適用可能である。
【０１３２】
本発明の構成を採用することで文書データの適切な位置に空白の文字コードを挿入することが可能となり、その後の翻訳処理などの精度の向上に寄与する。なお、過挿入を抑制することに加え、場合によっては、本来挿入すべき位置に空白の文字コードを挿入できない未挿入を抑制することも可能である。
【符号の説明】
【０１３３】
１０    端末装置
１１    ＣＰＵ
１２    メモリ
１３    記憶装置
１４    通信ＩＦ
１５    ＵＩ装置
１６    制御バス
２０    画像形成装置
３０、３０ａ、３０ｂ    文書処理サーバ
４０    ネットワーク
１０１〜１０５    文字列
３０１    文書データ受付部
３０２    文字列取得部
３０３    標準偏差算出部
３０４    空白挿入判定部
３０５    文字間隔リスト作成部
３０６    一次微分リスト作成部
３０７    閾値決定部
３０８    空白挿入部
３０９    文字列分割部
３１０    記憶部
３１１    単語判定部
３１２    判別分析部
３１３    過挿入判定部
【図１】
0006528927.tif 000002
【図２】
0006528927.tif 000003
【図３】
0006528927.tif 000004
【図４】
0006528927.tif 000005
【図５】
0006528927.tif 000006
【図６】
0006528927.tif 000007
【図７】
0006528927.tif 000008
【図８】
0006528927.tif 000009
【図９】
0006528927.tif 000010
【図１０】
0006528927.tif 000011
【図１１】
0006528927.tif 000012
【図１２】
0006528927.tif 000013
【図１３】
0006528927.tif 000014
【図１４】
0006528927.tif 000015
【図１５】
0006528927.tif 000016