(57)【要約】【課題】文書データから文をより適切に抽出することを目的とする。【解決手段】情報処理装置が、文字列データが含まれる複数のオブジェクトに係る文書データから、複数のオブジェクトの各々に含まれる文字列データと、複数のオブジェクトの各々を解析して得る解析結果情報とを抽出し、抽出した文字列データの各々を文の区切り毎に分割する処理を行い、分割する処理を行った後のデータを断片データとして抽出し、抽出した解析結果情報に基づいて抽出した断片データの各々を結合するか否かを判別し、結合すると判別した断片データの各々を結合することによって課題を解決する。【選択図】図２
2011081516.tif 000002
【特許請求の範囲】
【請求項１】
文字列データが含まれる複数のオブジェクトに係る文書データから、前記複数のオブジェクトの各々に含まれる文字列データと、前記複数のオブジェクトの各々を解析して得る解析結果情報とを抽出する第１の抽出手段と、
前記第１の抽出手段で抽出された文字列データの各々を文の区切り毎に分割する処理を行い、前記分割する処理を行った後のデータを断片データとして抽出する第２の抽出手段と、
前記第１の抽出手段で抽出された解析結果情報に基づいて前記第２の抽出手段で抽出された断片データの各々を結合するか否かを判別し、結合すると判別した断片データの各々を結合する結合手段と、
を有する情報処理装置。
【請求項２】
前記結合手段は、前記第２の抽出手段で抽出された断片データの各々から前記第１の抽出手段で抽出された解析結果情報に含まれるオブジェクトの位置情報に基づいて結合候補を識別し、結合候補であると識別した断片データを結合するか否かを判別し、結合すると判別した前記断片データの各々を結合する、
請求項１記載の情報処理装置。
【請求項３】
前記結合手段は、記憶装置に記憶されている、断片データを結合するか否かについての判定の基準が予め定められた条件情報に基づいて、前記結合候補であると識別した前記断片データを結合するか否かを判別する、
請求項２記載の情報処理装置。
【請求項４】
前記結合手段は、結合候補であると識別した断片データについて形態素解析を行い、形態素解析の結果に基づいて、前記結合候補であると識別した前記断片データを結合するか否かを判別する、
請求項２又は３記載の情報処理装置。
【請求項５】
前記結合手段は、前記結合候補であると識別した一対の断片データのうちの一方の断片データについて形態素解析をして算出されたコストと他方の断片データについて形態素解析をして算出されたコストとの和が、前記一方の断片データと前記他方の断片データとを結合したデータについて形態素解析をして算出されたコストよりも大きいと判別した場合或いは前記コスト以上であると判別した場合、前記一方の断片データと前記他方の断片データを結合する、
請求項４記載の情報処理装置。
【請求項６】
前記結合手段は、前記第２の抽出手段で抽出された断片データのうちの一の断片データが含まれるオブジェクトの位置情報と前記一の断片データとは異なる他の断片データが含まれるオブジェクトの位置情報とに基づいて、前記一の断片データが含まれるオブジェクトと前記他の断片データが含まれるオブジェクトとが同一のオブジェクトでないと判別し、かつ隣接するオブジェクトでもないと判別した場合、前記一の断片データ及び前記他の断片データについては結合候補でないと識別する、
請求項２乃至５の何れか１項記載の情報処理装置。
【請求項７】
前記第２の抽出手段は、前記分割する処理で前記第１の抽出手段で抽出された文字列データを分割した場合、分割したことを表す分割情報を抽出し、
前記結合手段は、前記第２の抽出手段で抽出された断片データのうちの一の断片データが含まれるオブジェクトの位置情報と前記一の断片データとは異なる他の断片データが含まれるオブジェクトの位置情報とに基づいて、前記一の断片データが含まれるオブジェクトと前記他の断片データが含まれるオブジェクトとが同一のオブジェクトであると判別し、前記第２の抽出手段で抽出された分割情報に基づいて、前記一の断片データと前記他の断片データとが隣接しないと判別した場合、前記一の断片データ及び前記他の断片データについては結合候補でないと識別する、
請求項２乃至６の何れか１項記載の情報処理装置。
【請求項８】
前記第２の手段で抽出された断片データの各々から、文に係る装飾を表す装飾情報を除去する除去手段を更に有し、
前記第２の抽出手段は、前記分割する処理で前記第１の抽出手段で抽出された文字列データを分割した場合、分割したことを表す分割情報を抽出し、
前記結合手段は、前記第２の抽出手段で抽出された断片データのうちの一の断片データが含まれるオブジェクトの位置情報と前記一の断片データとは異なる他の断片データが含まれるオブジェクトの位置情報とに基づいて、前記一の断片データが含まれるオブジェクトと前記他の断片データが含まれるオブジェクトとが同一のオブジェクトであると判別し、前記第２の抽出手段で抽出された分割情報に基づいて前記一の断片データ及び前記他の断片データのうち後ろに位置する断片データを特定し、後ろに位置する断片データから前記除去手段により装飾情報が除去されていると判別した場合、前記一の断片データ及び前記他の断片データについては結合候補でないと識別する、
請求項２乃至７の何れか１項記載の情報処理装置。
【請求項９】
前記第１の抽出手段は、前記複数のオブジェクトの各々の書式情報を抽出し、
前記結合手段は、前記第２の抽出手段で抽出された断片データのうちの一の断片データが含まれるオブジェクトの位置情報と前記一の断片データとは異なる他の断片データが含まれるオブジェクトの位置情報とに基づいて、前記一の断片データが含まれるオブジェクトと前記他の断片データが含まれるオブジェクトとが隣接するオブジェクトであると判別し、前記第１の抽出手段で抽出された前記一の断片データの書式情報及び前記他の断片データの書式情報に基づいて前記一の断片データが含まれるオブジェクトと前記他の断片データが含まれるオブジェクトとが区別されていると判別した場合、前記一の断片データ及び前記他の断片データについては結合候補でないと識別する、
請求項２乃至８の何れか１項記載の情報処理装置。
【請求項１０】
文字列データが含まれる複数のオブジェクトに係る文書データから、前記複数のオブジェクトの各々に含まれる文字列データと、前記複数のオブジェクトの各々を解析して得る解析結果情報とを抽出する第１の抽出工程と、
前記第１の抽出工程で抽出された文字列データの各々を文の区切り毎に分割する処理を行い、前記分割する処理を行った後のデータを断片データとして抽出する第２の抽出工程と、
前記第１の抽出工程で抽出された解析結果情報に基づいて前記第２の抽出工程で抽出された断片データの各々を結合するか否かを判別し、結合すると判別した断片データの各々を結合する結合工程と、
を有する情報処理方法。
【請求項１１】
コンピュータを、
文字列データが含まれる複数のオブジェクトに係る文書データから、前記複数のオブジェクトの各々に含まれる文字列データと、前記複数のオブジェクトの各々を解析して得る解析結果情報とを抽出する第１の抽出手段と、
前記第１の抽出手段で抽出された文字列データの各々を文の区切り毎に分割する処理を行い、前記分割する処理を行った後のデータを断片データとして抽出する第２の抽出手段と、
前記第１の抽出手段で抽出された解析結果情報に基づいて前記第２の抽出手段で抽出された断片データの各々を結合するか否かを判別し、結合すると判別した断片データの各々を結合する結合手段と、
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、文書を作成する際には、ユーザは、レイアウトのしやすさの観点から、表計算アプリケーションを利用している。そして、企業等においては、表計算アプリケーションで作成された文書が蓄積され、企業の情報資産となっている。したがって、情報資産である文書を活用（機械翻訳、高度な検索、文書校閲等）することが重要視されている。ここで、文書を活用するには、文書から文を抽出する技術が必要となる。
近年、文書データに含まれている文章構成上不要な空白文字コード及び改行コードを適切・確実に削除して、論理的に連続する段落を生成する技術が開示されている（特許文献１を参照のこと。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−１９１１０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術では、多種多様なレイアウトで記載された文書データに対しては不要な空白文字コード及び不要な改行コードを削除できないので、文書データから文を抽出することができない問題がある。
【０００５】
本発明はこのような問題点に鑑みなされたもので、文書データから文をより適切に抽出することを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明は、文字列データが含まれる複数のオブジェクトに係る文書データから、前記複数のオブジェクトの各々に含まれる文字列データと、前記複数のオブジェクトの各々を解析して得る解析結果情報とを抽出する第１の抽出手段と、前記第１の抽出手段で抽出された文字列データの各々を文の区切り毎に分割する処理を行い、前記分割する処理を行った後のデータを断片データとして抽出する第２の抽出手段と、前記第１の抽出手段で抽出された解析結果情報に基づいて前記第２の抽出手段で抽出された断片データの各々を結合するか否かを判別し、結合すると判別した断片データの各々を結合する結合手段と、を有する情報処理装置。
ここで、「第１の抽出手段」は、例えば、後述するファイル解析部に対応する。「第２の抽出手段」は、例えば、後述する文字列分割部に対応する。「結合手段」は、例えば、後述する文字列結合部に対応する。
【発明の効果】
【０００７】
本発明によれば、文書データから文をより適切に抽出することができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置のハードウェア構成を示す図である。
【図２】情報処理装置の機能構成を示す図である。
【図３】メイン処理に係るフローチャートを示す図である。
【図４】マーキング処理に係るフローチャートを示す図である。
【図５】結合候補抽出処理に係るフローチャートを示す図である。
【図６】文書の一例を示す図である。
【図７】ファイル解析処理後のデータ、文字列分割処理後のデータ、及び非解析表現除去処理後のデータの例を示す図である。
【図８】結合候補となり得る文字列断片情報の組み合わせの例を示す図である。
【図９】結合判定処理の例、及び出力結果の例を示す図である。
【図１０】文書の一例を示す図である。
【図１１】ファイル解析処理後のデータ、文字列分割処理後のデータ、及び非解析表現除去処理後のデータの例を示す図である。
【図１２】結合候補となり得る文字列断片情報の組み合わせの例を示す図である。
【図１３】結合判定処理の例、及び出力結果の例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
本実施形態に係る情報処理装置は、文書情報から各種の情報を抽出し、抽出した各種の情報に基づいて文書情報に含まれる文を抽出して出力する。ここで、文書情報は、表計算アプリケーション等を介してユーザが様々な形式で文を入力して作成される。なお、入力の形式には、セルに文字列の折り返しを設定して、複数の文を１つのセルに記入する形式（例えば、図６を参照のこと。）、セルに折り返しの設定をせずに、一定の長さで改行を適宜入力して複数の文を１つのセルに記入する形式、セルに折り返しの設定をせずに、一定の長さで改行を適宜入力して１つの文を複数のセルに分割して記入する形式（例えば、図１０を参照のこと。）等がある。
したがって、本実施形態では、係る入力の形式に関わらず、文書情報を解析して文の単位に情報を出力する構成について説明する。
【００１１】
まず、図１を参照して、情報処理装置のハードウェア構成について説明する。図１は、情報処理装置のハードウェア構成の一例を示す図である。
情報処理装置は、ＣＰＵ（Central Processing Unit）１、記憶装置２、入力装置３、及び出力装置４を含んで構成される。ＣＰＵ１、記憶装置２、入力装置３、及び出力装置４は、バス５を介して通信可能に接続されている。
ＣＰＵ１は、必要に応じて、記憶装置２よりプログラムを読み出して、プログラムを実行する。プログラムが実行されることで、情報処理装置における機能、及び後述するフローチャートに係る処理が実現される。
記憶装置２は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＨＤ（Hard Disk）等で構成され、各種の情報を記憶する。記憶装置２（例えば、ＲＯＭ）は、情報処理装置の電源投入時に最初に読み込まれるプログラム等を記憶する。また、記憶装置２（例えば、ＲＡＭ）は、情報処理装置のメインメモリとして機能する。また、記憶装置２（例えば、ＨＤ）は、プログラム以外にＣＰＵ１により算出された数値データ等を記憶する。
【００１２】
入力装置３は、ユーザが操作するキーボード及びマウス等で構成され、情報処理装置に各種の情報を入力する装置である。出力装置４は、利用者の用に供するディスプレイ等で構成され、各種の情報、画面等を出力する装置である。
なお、情報処理装置は、自装置（すなわち、情報処理装置）を外部記憶装置（例えば、ＣＤ−ＲＯＭドライブ）、ネットワーク等に接続するインターフェースを備えてもよい。すなわち、情報処理装置は、記憶装置２に記憶される各種の情報を、ＣＤ−ＲＯＭ等の記録媒体から取得してもよいし、ネットワーク等を通じてダウンロードしてもよい。
【００１３】
次に、図２を参照して、情報処理装置の機能構成について説明する。図２は、情報処理装置の機能構成の一例を示す図である。情報処理装置は、ファイル解析部１１、文字列分割部１２、非解析表現除去部１３、及び文字列結合部１４を含んで構成される。
【００１４】
ファイル解析部１１は、表計算アプリケーションで作成された文字列情報を含むオブジェクト（セル、シェイプ、ヘッダ、フッタ等）に係る文書情報を解析し、オブジェクト毎に、オブジェクトに含まれる文字列情報、オブジェクトの位置情報、及びオブジェクトの書式情報を抽出する（ファイル解析処理）。なお、シェイプは、三角形、四角形等の形状（図形）である。本実施形態では、シェイプにも文字が入力され得るので、オブジェクトとしてシェイプを抽出して処理の対象とする。
なお、ファイル解析部１１が解析する文書情報は、表計算アプリケーションで作成された文書情報に限られるものではない。上述の通り、ファイル解析部１１は、文字列情報を含むオブジェクトに係る文書情報を解析し、オブジェクト毎に、オブジェクトに含まれる文字列情報、オブジェクトの位置情報、及びオブジェクトの書式情報を抽出する機能を有するので、例えば、プレゼンテーションソフトに係るアプリケーションやワープロソフトに係るアプリケーションで作成された文書情報に対しても、同様に解析等が可能である。
また、ファイル解析部１１は、文字列情報及び位置情報を含む解析結果情報２１を文字列分割部１２に渡す。更に、ファイル解析部１１は、位置情報及び書式情報を含む解析結果情報３１を文字列結合部１４に渡す。
【００１５】
文字列分割部１２は、ファイル解析部１１から解析結果情報２１を受け取り、文の区切りを表すデリミタ情報（改行、句点等）を用いて文字列情報を分割する（文字列分割処理）。また、文字列分割部１２は、文字列情報について分割に係る処理を行った後の分割後文字列情報、位置情報、及び分割後文字列情報がオブジェクトにおいて占める範囲を表す範囲情報を含む分割結果情報２２を非解析表現除去部１３に渡す。更に、文字列分割部１２は、デリミタ情報及び範囲情報を含む分割結果情報３２を文字列結合部１４に渡す。
【００１６】
非解析表現除去部１３は、文字列分割部１２から分割結果情報２２を受け取り、箇条書き等を表す記号情報（例えば、「１．」、「（１）」、「１）」、「＊」、「・」）、装飾を表す装飾表現情報（例えば、コメントを表す「＃」、位置合わせのための空白）等の非解析表現情報を分割後文字列情報から除去する（非解析表現除去処理）。また、非解析表現除去部１３は、非解析表現情報を分割後文字列情報から除去した文字列断片情報、位置情報、及び範囲情報を含む除去結果情報２３、非解析表現情報を含む除去結果情報３３を文字列結合部１４に渡す。なお、除去結果情報２３に含まれる範囲情報は、非解析表現情報を分割後文字列情報から除去したことを表し得るように、非解析表現情報を分割後文字列情報から除去した場合には、文字列分割部１２から受け取った分割結果情報２２に含まれる範囲情報を変更する。
【００１７】
文字列結合部１４は、ファイル解析部１１、文字列分割部１２、及び非解析表現除去部１３から受け取った各種の情報（解析結果情報３１、分割結果情報３２、除去結果情報２３、及び除去結果情報３３）に基づいて、文字列断片情報を適宜結合する（マーキング処理及び結合処理）。
【００１８】
図３は、本情報処理装置におけるメイン処理に係るフローチャートを示す図である。本情報処理装置は、文書情報から文を抽出する指示（ユーザによる入力装置３の操作）を契機として、ステップＳ２〜ステップＳ１０に係る処理を行う。
まず、ファイル解析部１１は、ユーザにより入力装置３を介して指定された文書情報についてファイル解析処理を行う（ステップＳ２）。より具体的には、ファイル解析部１１は、文書情報を解析し、オブジェクト毎に、文字列情報、位置情報、及び書式情報を抽出する。
ここで、位置情報は、オブジェクトの位置を表す情報である。オブジェクトがセルである場合は、位置情報は、「Ｆ２１（Ｆ列２１行）」等である。また、例えば、文書情報がＣＳＶ（Comma-Separated Values）形式のファイルである場合は、ファイル解析部１１は、フィールドを区切る文字（コンマ等）に基づいて位置情報を抽出する。
また、書式情報は、オブジェクトの書式を表す情報である。例えば、オブジェクトがセルである場合は、書式情報は、「表示形式（例えば、数値、通貨等の分類）、配置（例えば、左詰め、上詰め等の文字列の配置、折り返して全体を表示する等の文字列の制御）、フォント（例えば、斜体、太字等のスタイル、サイズ、下線、取り消し線等の文字飾り）、罫線、塗りつぶし」等である。
【００１９】
ステップＳ４では、文字列分割部１２は、文字列分割処理を行う。より具体的には、文字列分割部１２は、予め定められたデリミタ情報（改行、句点等）を用いて、ファイル解析部１１で抽出された文字列情報を文の区切りで分割し、分割後文字列情報を抽出（生成）する。文字列分割部１２による分割は、文字列操作で実現することができる。なお、記憶装置２は、予め定められたデリミタ情報を記憶している。
ステップＳ６では、非解析表現除去部１３は、非解析表現除去処理を行う。より具体的には、非解析表現除去部１３は、文字列分割部１２で抽出された分割後文字列情報から非解析表現情報を除去して文字列断片情報を抽出する。非解析表現除去部１３による除去は、正規表現（正則表現）等を利用して実現することができる。
【００２０】
ステップＳ８では、文字列結合部１４は、マーキング処理を行う。なお、マーキング処理の詳細については、図４を参照して説明する。マーキング処理では、文字列断片情報を結合する候補（結合候補）を抽出し、抽出した結合候補の中で結合すると判断した結合候補に印をつける（マーキングする）。
ステップＳ１０では、文字列結合部１４は、結合処理を行う。より具体的には、文字列結合部１４は、マーキング処理でマーキングした結合候補を結合し、結合した結果を出力装置４に出力する。例えば、最終的な結果（文単位の情報）は、出力装置４の一例であるディスプレイに表示される。また、例えば、最終的な結果は、出力装置４を介してファイルとして出力される。
【００２１】
図４を参照してマーキング処理について説明する。図４は、マーキング処理に係るフローチャートを示す図である。
まず、文字列結合部１４は、結合候補抽出処理を行う（ステップＳ２２）。結合候補抽出処理では、文字列結合部１４は、全ての結合候補を抽出する。なお、結合候補抽出処理の詳細については、図５を参照して説明する。
ステップＳ２４では、文字列結合部１４は、未処理の結合候補があるか否かを判別する。未処理の結合候補がある場合には、文字列結合部１４は、続いて、ステップＳ２６に係る処理を行う。他方、未処理の結合候補がない場合には、文字列結合部１４は、マーキング処理を終了する。
ステップＳ２６では、文字列結合部１４は、ステップＳ２２で抽出した未処理の結合候補から結合候補を１つ取り出す。
【００２２】
ステップＳ２８では、文字列結合部１４は、ヒューリスティクスなルールによる条件に基づいて結合候補を結合するか否かを判別する。より詳細に説明すると、結合候補を結合し得ると判別した場合（ヒューリスティクスなルールによる条件に該当しない場合）には、文字列結合部１４は、続いて、ステップＳ３０に係る処理を行う。また、結合しないと判別した場合（ＮＯの場合）には、文字列結合部１４は、続いて、ステップＳ２４に係る処理を行う。また、結合すると判別した場合（ＹＥＳの場合）には、文字列結合部１４は、続いて、ステップＳ３２に係る処理を行う。ここで、ヒューリスティクスなルールは、以下に示すものであり、記憶装置２に予め記憶されている。
・前文字列断片情報が句点で終わっている場合は、結合しない
・前文字列断片情報が読点で終わっている場合は、結合する
・各文字列断片情報が英数字で構成されている場合は、結合しない
・各文字列断片情報が名詞のみで構成されている場合は、結合しない
ここで、ヒューリスティクスなルールは、上述したルールに限られるものではない。例えば、ユーザが必要に応じて、ヒューリスティクスなルールを変更（追加、修正、削除）することができる。例えば、ユーザは、出力装置４に表示された操作画面を介して、入力装置３を操作し、記憶装置２に記憶されているルールに、「・各文字列断片情報が含まれるページが異なる場合は、結合しない」を追加することができる。
なお、文字列結合部１４は、各文字列断片情報が名詞のみで構成されているか否かについては、形態素解析を行って判別する。
【００２３】
より詳細に説明すると、文字列結合部１４は、前文字列断片情報が句点で終わっている場合、各文字列断片情報が英数字で構成されている場合、各文字列断片情報が名詞のみで構成されている場合は、結合しないと判別する。他方、文字列結合部１４は、何れのルールにも該当しない場合は、結合候補を結合し得ると判別する。また、前文字列断片情報が読点で終わっている場合は、結合すると判別する。なお、前文字列断片情報は、広義には、処理の対象とした２つの文字列断片情報のうち前に位置する文字列断片情報であり、狭義には、結合候補として識別された一対の文字列断片情報のうち前に位置する文字列断片情報である。
【００２４】
ステップＳ３０では、文字列結合部１４は、結合候補に係るコストに基づいて結合候補を結合するか否かを判別する。結合候補を結合すると判別した場合には、文字列結合部１４は、続いて、ステップＳ３２に係る処理を行う。他方、結合候補を結合しないと判別した場合には、文字列結合部１４は、続いて、ステップＳ２４に係る処理を行う。
より具体的には、文字列結合部１４は、結合候補として識別された一対の文字列断片情報の各々について形態素解析をし、各々の文字列断片情報のコストを算出する。また、文字列結合部１４は、一対の文字列断片情報を結合した仮の結合情報について形態素解析をし、結合情報のコストを算出する。そして、文字列結合部１４は、各々の文字列断片情報のコストの和と結合情報のコストとを比較し、各々の文字列断片情報のコストの和の方が結合情報のコストよりも大きい場合（或いは、コストの和が結合情報のコスト以上である場合）には、一対の文字列断片情報を結合すると判別する。
本実施形態では、文字列結合部１４は、文として不自然な文（文頭が助詞から始まる文、等）ほどコストが高くなる一般的な性質を利用してステップＳ３０に係る判別をしている。故に、結合候補に係るコストに基づいて結合候補を結合するか否かを判別する方法は、これに限られるものではない。例えば、文字列結合部１４は、各々の文字列断片情報のコストの和と結合情報のコストとの差が閾値を超える場合は、一対の文字列断片情報を結合すると判別してもよい。なお、形態素解析では、文字列結合部１４は、文を構成する形態素の組み合わせから、動的計画法（Viterbi algorithm等）を使用して、最もコストが低くなる組み合わせを選択する。
【００２５】
ここで、ステップＳ２８に係る判別だけでは、ユーザにより定義されたルールが用いられて択一的な判別となるため、未知の結合のパターンに柔軟に対処できず、ステップＳ３０に係る判別だけでは、画一的な判別となるため、判別の精度を高めることができない。そこで、本実施形態では、文字列結合部１４は、ステップＳ２８に係る処理とステップＳ３０に係る処理とを併用して、結合するか否かをより正確に判別している。すなわち、ステップＳ２８に係る判別とステップＳ３０に係る判別とは、相補関係にある。
しかしながら、文字列結合部１４がステップＳ２８に係る判別をした後に、ステップＳ３０に係る判別をする構成に限られるものではない。例えば、文字列結合部１４は、ステップＳ３０に係る判別をした後に、ステップＳ２８に係る判別をしてもよい。また、例えば、文字列結合部１４は、ステップＳ２８に係る判別だけをしてもよいし、ステップＳ３０に係る判別だけを判別してもよい。すなわち、ステップＳ２８に係る判別及びステップＳ３０に係る判別については、必要に応じて適宜採用することができる。よって、オブジェクトの位置情報のみに基づいて断片データの各々を結合するか否かが判別されることもあり得る。
ステップＳ３２では、文字列結合部１４は、マーキングを行い、続いて、ステップＳ２４に係る処理を行う。
【００２６】
図５を参照して結合候補抽出処理について説明する。図５は、結合候補抽出処理に係るフローチャートを示す図である。なお、各ステップにおけるより詳細な説明については、図６〜図１３を参照して説明する。
まず、文字列結合部１４は、前文字列断片情報を取得する（ステップＳ４２）。より具体的には、文字列結合部１４は、前文字列断片情報として未処理の文字列断片情報から最も前に位置する文字列断片情報を解析結果情報３１と分割結果情報３２と除去結果情報３３とに基づいて取得する。
続いて、文字列結合部１４は、後文字列断片情報を取得する（ステップＳ４４）。より具体的には、文字列結合部１４は、後文字列断片情報として未処理の文字列断片情報から、ステップＳ４２で取得した前文字列断片情報よりも後に位置する文字列断片情報を解析結果情報３１と分割結果情報３２と除去結果情報３３とに基づいて取得する。
【００２７】
続いて、文字列結合部１４は、前文字列断片情報と後文字列断片情報とが同一のオブジェクト内に含まれるか否かを判別する（ステップＳ４６）。換言するならば、文字列結合部１４は、前文字列断片情報の位置情報と後文字列断片情報の位置情報とが一致するか否かを判別する。前文字列断片情報と後文字列断片情報とが同一のオブジェクト内に含まれる（両者の位置情報が一致する）と判別した場合、文字列結合部１４は、続いて、ステップＳ４８に係る処理を行う。他方、前文字列断片情報と後文字列断片情報とが同一のオブジェクト内に含まれない（両者の位置情報が一致しない）と判別した場合、文字列結合部１４は、続いて、ステップＳ５６に係る処理を行う。
ステップＳ４８では、文字列結合部１４は、前文字列断片情報と後文字列断片情報とが隣接しているか否かを判別する。より具体的には、文字列結合部１４は、前文字列断片情報と後文字列断片情報とが同一のセルに含まれる場合、一の文字列情報が分割されていることになるので、文字列結合部１４は、前文字列断片情報と後文字列断片情報とに係る解析結果情報３１と分割結果情報３２と除去結果情報３３とに基づいて、分割される前の位置関係を特定して、前文字列断片情報と後文字列断片情報とが隣接しているか否かを判別する。前文字列断片情報と後文字列断片情報とが隣接していると判別した場合、文字列結合部１４は、続いて、ステップＳ５０に係る処理を行う。他方、前文字列断片情報と後文字列断片情報とが隣接していないと判別した場合、文字列結合部１４は、続いて、ステップＳ５２に係る処理を行う。
【００２８】
ステップＳ５０では、文字列結合部１４は、後文字列断片情報が、分割後文字列情報から非解析表現情報が非解析表現除去部１３により除去された文字列断片情報であるか否かを除去結果情報２３及び除去結果情報３３に基づいて判別する。後文字列断片情報が分割後文字列情報から非解析表現情報が非解析表現除去部１３により除去された文字列断片情報であると判別した場合、文字列結合部１４は、続いて、ステップＳ５２に係る処理を行う。他方、後文字列断片情報が、分割後文字列情報から非解析表現情報が非解析表現除去部１３により除去された文字列断片情報でないと判別した場合、文字列結合部１４は、続いて、ステップＳ６４に係る処理を行う。
【００２９】
ステップＳ５２では、文字列結合部１４は、現在の後文字列断片情報を処理済みとし、後文字列断片情報として未処理の文字列断片情報があるか否かを判別する。後文字列断片情報として未処理の文字列断片情報があると判別した場合、文字列結合部１４は、続いて、ステップＳ４４に係る処理を行う。他方、後文字列断片情報として未処理の文字列断片情報がないと判別した場合、文字列結合部１４は、続いて、ステップＳ５４に係る処理を行う。
ステップＳ５４では、文字列結合部１４は、現在の前文字列断片情報を処理済みとし、前文字列断片情報として未処理の文字列断片情報があるか否かを判別する。前文字列断片情報として未処理の文字列断片情報があると判別した場合、文字列結合部１４は、続いて、ステップＳ４２に係る処理を行う。他方、前文字列断片情報として未処理の文字列断片情報がないと判別した場合、文字列結合部１４は、結合候補抽出処理を終了する。
【００３０】
ステップＳ５６では、文字列結合部１４は、前文字列断片情報と後文字列断片情報とが隣接するオブジェクト内にあるか否かを位置情報に基づいて判別する。換言するならば、文字列結合部１４は、前文字列断片情報が含まれるオブジェクトと後文字列断片情報が含まれるオブジェクトとが隣接するか否かを位置情報に基づいて判別する。前文字列断片情報と後文字列断片情報とが隣接するオブジェクト内にあると判別した場合、文字列結合部１４は、続いて、ステップＳ５８に係る処理を行う。他方、前文字列断片情報と後文字列断片情報とが隣接するオブジェクト内にないと判別した場合、文字列結合部１４は、続いて、ステップＳ５２に係る処理を行う。
ステップＳ５８では、文字列結合部１４は、前文字列断片情報がオブジェクトの末尾の文字列断片情報であるか否かを解析結果情報３１と分割結果情報３２と除去結果情報３３とに基づいて判別する。より具体的には、文字列結合部１４は、前文字列断片情報に係るオブジェクトの位置情報と同一の位置情報があるか否かにより、当該オブジェクトに含まれる全ての文字列断片情報を特定し、他の文字列断片情報が当該オブジェクトに含まれていると特定した場合、当該オブジェクトに含まれる全ての文字列断片情報の分割結果情報３２と除去結果情報３３とに基づいて、前文字列断片情報が当該オブジェクトの末尾にあるか否かを判別する。
前文字列断片情報がオブジェクトの末尾の文字列断片情報であると判別した場合、文字列結合部１４は、続いて、ステップＳ６０に係る処理を行う。他方、前文字列断片情報がオブジェクトの末尾の文字列断片情報でないと判別した場合、文字列結合部１４は、続いて、ステップＳ５２に係る処理を行う。
【００３１】
ステップＳ６０では、文字列結合部１４は、後文字列断片情報がオブジェクトの先頭の文字列断片情報であるか否かを解析結果情報３１と分割結果情報３２と除去結果情報３３とに基づいて判別する。より具体的には、文字列結合部１４は、後文字列断片情報に係るオブジェクトの位置情報と同一の位置情報があるか否かにより、当該オブジェクトに含まれる全ての文字列断片情報を特定し、他の文字列断片情報が当該オブジェクトに含まれていると特定した場合、当該オブジェクトに含まれる全ての文字列断片情報の分割結果情報３２と除去結果情報３３とに基づいて、後文字列断片情報が当該オブジェクトの先頭にあるか否かを判別する。
後文字列断片情報がオブジェクトの先頭の文字列断片情報であると判別した場合、文字列結合部１４は、続いて、ステップＳ６２に係る処理を行う。他方、後文字列断片情報がオブジェクトの先頭の文字列断片情報でないと判別した場合、文字列結合部１４は、続いて、ステップＳ５２に係る処理を行う。
ステップＳ６２では、文字列結合部１４は、前文字列断片情報が含まれるオブジェクトに係る書式情報と後文字列断片情報が含まれるオブジェクトに係る書式情報とにより両オブジェクトが区別（識別）されているか否かを判別する。例えば、前文字列断片情報が含まれるオブジェクトの色が青色で、後文字列断片情報が含まれるオブジェクトの色が緑色であり、オブジェクトの色が異なる場合、文字列結合部１４は、両オブジェクトが区別されていると判別する。両オブジェクトが区別されていると判別した場合、文字列結合部１４は、続いて、ステップＳ５２に係る処理を行う。他方、両オブジェクトが区別されていないと判別した場合、文字列結合部１４は、続いて、ステップＳ６４に係る処理を行う。
ステップＳ６４では、文字列結合部１４は、前文字列断片情報及び後文字列断片情報を結合候補に設定し、続いて、ステップＳ５２に係る処理を行う。
【００３２】
ここで、結合候補抽出に係る各種の判別の内容については、ファイルに予め定義され、記憶装置２に記憶されている。したがって、ユーザは、判別の方法を適宜組み合わせることができ、判別の方法を変更（追加、修正、削除）することもできる。すなわち、結合候補抽出に係る各種の判別は、これに限られるものではない。
【００３３】
図６〜図９に示す第１の事例及び図１０〜図１３に示す第２の事例を参照して、ファイル解析部１１、文字列分割部１２、非解析表現除去部１３、及び文字列結合部１４における各動作の例を説明する。
【００３４】
（第１の事例）
図６は、文書情報の例を示す図である。文書情報は、オブジェクトの一例であるセル５１及びセル５２を含んで構成される。セル５１及びセル５２の各々には、文字列情報が含まれている。また、セル５１及びセル５２には、書式情報の一例である罫線及びテキストの折り返しが設定されている。
図７は、図６に示した文書情報についてのファイル解析処理後のデータ、文字列分割処理後のデータ、及び非解析表現除去処理後のデータの例を示す図である。ここで、図中のＡは、「個別業務システムで利用されている職員情報のうち、共通的に使用されている職員情報について保管や更新など一元管理を行う」を簡略化した表現であり、Ｂは、「データベースは各業務アプリケーションで共通に利用できる情報を持つこと」を簡略化した表現である。また、図中のＣは、「上記、職員情報一元化を何らかの方法でシステム化したい」を簡略化した表現であり、Ｄは、「案としては、間にサーバをおき、中間ファイル（マスタではない）を置いて、実装する」を簡略化した表現である。
【００３５】
（ファイル解析処理）
ファイル解析部１１は、図６に示した文書情報を解析し、セル毎に、文字列情報、位置情報、及び書式情報を抽出する（ステップＳ２を参照のこと。）。
より具体的には、ファイル解析部１１は、セル５１に含まれる文字列情報７０、セル５１の位置情報「Ｆ２１」、セル５１の書式情報「罫線：上下左右」、セル５２に含まれる文字列情報７１、セル５２の位置情報「Ｆ２２」、及びセル５２の書式情報「罫線：上下左右」を抽出する。
【００３６】
（文字列分割処理）
文字列分割部１２は、文の区切りを表すデリミタ情報を用いて文字列情報を分割し、分割後文字列情報等を抽出する（ステップＳ４を参照のこと。）。
より具体的には、文字列分割部１２は、文字列情報７０を「改行」毎に分割して、分割後文字列情報８０と分割後文字列情報８１とを抽出する。また、文字列分割部１２は、文字列情報７１を「改行」毎に分割して、分割後文字列情報８２と分割後文字列情報８３とを抽出する。
文字列分割部１２は、分割後文字列情報が文字列情報において占める範囲を表す（換言するならば、オブジェクトにおける位置を表す）範囲情報及びデリミタ情報を抽出する。より具体的には、文字列分割部１２は、文字列情報７０については、分割後文字列情報８０についての範囲情報「範囲：１〜５９」、分割後文字列情報８１についての範囲情報「範囲：６１〜９６」、及びデリミタ情報「改行」を抽出する。また、文字列分割部１２は、文字列情報７１については、分割後文字列情報８２についての範囲情報「範囲：１〜２７」、分割後文字列情報８３についての範囲情報「範囲：２９〜６８」、及びデリミタ情報「改行」を抽出する。
【００３７】
（非解析表現処理）
非解析表現除去部１３は、非解析表現情報を分割後文字列情報から除去し、文字列断片情報等を抽出する（ステップＳ６を参照のこと。）。
より具体的には、非解析表現除去部１３は、先頭にある記号情報「・」を分割後文字列情報８０から除去し、文字列断片情報９０を抽出する。また、非解析表現除去部１３は、先頭にある記号情報「・」を分割後文字列情報８１から除去し、文字列断片情報９１を抽出する。また、非解析表現除去部１３は、分割後文字列情報８２には記号情報等が含まれていないことを確認し、分割後文字列情報８２を文字列断片情報９２として抽出する。また、非解析表現除去部１３は、分割後文字列情報８３には記号情報等が含まれていないことを確認し、分割後文字列情報８３を文字列断片情報９３として抽出する。
【００３８】
また、非解析表現除去部１３は、範囲情報及び非解析表現情報を抽出する。なお、非解析表現除去部１３は、分割後文字列情報から記号情報等を除去した場合には、除去したことを表すために範囲情報を変更する。
より具体的には、非解析表現除去部１３は、分割後文字列情報８０から記号情報「・」を除去したので、分割後文字列情報８０についての範囲情報「範囲：２〜５９」及び記号情報「・」を抽出する。付言するならば、非解析表現除去部１３は、記号情報「・」を抜き出した分だけ範囲情報を狭めるので、この例では、先頭に位置する記号情報「・」を除去したので、範囲情報を「範囲：１〜５９」を「範囲：２〜５９」に変更している。非解析表現除去部１３は、分割後文字列情報８１から記号情報「・」を除去したので、分割後文字列情報８１についての範囲情報「範囲：６２〜９６」及び記号情報「・」を抽出する。非解析表現除去部１３は、分割後文字列情報８２については、範囲情報「範囲：１〜２７」及び記号情報「（なし）」を抽出する。非解析表現除去部１３は、分割後文字列情報８３については、範囲情報「範囲：２９〜６８」及び記号情報「（なし）」を抽出する。
【００３９】
図８を参照して、結合候補抽出処理の例について説明する。図８は、結合候補となり得る文字列断片情報の組み合わせの例を示す図である。
（結合候補抽出処理）
文字列結合部１４は、位置情報及び範囲情報に基づいて特定する先頭の文字列断片情報から順次、結合候補があるか否かを判別する。
この例では、文字列結合部１４は、初めに、先頭の文字列断片情報９０について、文字列断片情報９１が結合候補となるか否かを判別し、続いて、文字列断片情報９２が結合候補となるか否かを判別し、続いて、文字列断片情報９３が結合候補となるか否かを判別する（処理Ａ）。次に、文字列結合部１４は、文字列断片情報９１について、文字列断片情報９２が結合候補となるか否かを判別し、続いて、文字列断片情報９３が結合候補となるか否かを判別する（処理Ｂ）。最後に、文字列結合部１４は、文字列断片情報９２について、文字列断片情報９３が結合候補となるか否かを判別する（処理Ｃ）。
【００４０】
（処理Ａ）
まず、文字列断片情報９０について文字列断片情報９１が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列結合部１４は、文字列断片情報９０が含まれるセル５１と文字列断片情報９１が含まれるセル５１とが同一のセルであるので、文字列断片情報９０と文字列断片情報９１とが隣接するか否かを判別する（ステップＳ４８を参照のこと。）。このとき、文字列結合部１４は、文字列断片情報９０の範囲情報「範囲：２〜５９」及びデリミタ情報「改行」と文字列断片情報９１の範囲情報「範囲：６２〜９６」及び記号情報「・」とに基づいて、デリミタ情報「改行」が６０番目の情報であり、記号情報「・」が６１番目の情報であると解釈し、文字列断片情報９０と文字列断片情報９１とが隣接する文字列断片情報であると判別する。しかしながら、文字列断片情報９０よりも後に位置する文字列断片情報９１に係る分割後文字列情報８１から記号情報「・」が除去されていることから、文字列結合部１４は、文字列断片情報９０について文字列断片情報９１を結合候補ではないと判別する（ステップＳ５０を参照のこと。）。
【００４１】
次に、文字列断片情報９０について文字列断片情報９２が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列結合部１４は、文字列断片情報９０が含まれるセル５１と文字列断片情報９２が含まれるセル５２とが隣接するセルであるので、文字列断片情報９２よりも前に位置する文字列断片情報９０がセル５１の末尾にあるか否かを判別する（ステップＳ５８を参照のこと。）。このとき、文字列結合部１４は、セル５１の位置情報に基づいて、セル５１に含まれる全ての文字列断片情報を検索する。この例では、文字列断片情報９０と文字列断片情報９１とが検索される。そして、検索された全ての文字列断片情報の範囲情報を比較して、末尾にある文字列断片情報を特定する。この例では、文字列断片情報９１の範囲情報「範囲：６２〜９６」が文字列断片情報９０の範囲情報「範囲：２〜５９」よりも後に位置することを示しているので、セル５１の末尾にあるのは、文字列断片情報９１である。したがって、文字列結合部１４は、文字列断片情報９０が末尾にないと判別し、文字列断片情報９０について文字列断片情報９２を結合候補ではないと判別する。
なお、文字列断片情報９０について文字列断片情報９３が結合候補になるか否かの判別の方法については、文字列断片情報９０について文字列断片情報９２が結合候補になるか否かの判別の方法と同様であるので、説明を省略する。
【００４２】
（処理Ｂ）
まず、文字列断片情報９１について文字列断片情報９２が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列結合部１４は、文字列断片情報９１が含まれるセル５１と文字列断片情報９２が含まれるセル５２とが隣接するセルであるので、セル間で書式情報が異なるか否かを判別する（ステップＳ６２を参照のこと。）。なお、説明の便宜上、ステップＳ５８及びステップＳ６０に関するここでの説明については省略している。このとき、文字列結合部１４は、セル５１の書式情報「罫線：上下左右」とセル５２の書式情報「罫線：上下左右」とに基づいて、セル５１とセル５２との間に意味の切れ目を示す罫線があると判別し、文字列断片情報９１について文字列断片情報９２を結合候補ではないと判別する。
【００４３】
次に、文字列断片情報９１について文字列断片情報９３が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列結合部１４は、文字列断片情報９１が含まれるセル５１と文字列断片情報９３が含まれるセル５２とが隣接するセルであるので、文字列断片情報９１よりも後に位置する文字列断片情報９３がセル５２の先頭にあるか否かを判別する（ステップＳ６０を参照のこと。）。このとき、文字列結合部１４は、セル５２の位置情報に基づいて、セル５２に含まれる全ての文字列断片情報を検索する。この例では、文字列断片情報９２と文字列断片情報９３とが検索される。そして、検索された全ての文字列断片情報の範囲情報を比較して、先頭にある文字列断片情報を特定する。この例では、文字列断片情報９３の範囲情報「範囲：２９〜６８」が文字列断片情報９２の範囲情報「範囲：１〜２７」よりも後に位置することを示しているので、セル５２の先頭にあるのは、文字列断片情報９２である。したがって、文字列結合部１４は、文字列断片情報９３が先頭にないと判別し、文字列断片情報９１について文字列断片情報９３を結合候補ではないと判別する。
【００４４】
（処理Ｃ）
文字列断片情報９２について文字列断片情報９３が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列結合部１４は、文字列断片情報９２が含まれるセル５２と文字列断片情報９３が含まれるセル５２とが同一のセルであるので、文字列断片情報９２と文字列断片情報９３とが隣接するか否かを判別する（ステップＳ４８を参照のこと。）。このとき、文字列結合部１４は、文字列断片情報９２の範囲情報「範囲：１〜２７」及びデリミタ情報「改行」と文字列断片情報９１の範囲情報「範囲：２９〜６８」及び記号情報「（なし）」とに基づいて、デリミタ情報「改行」が２８番目の情報であると解釈し、文字列断片情報９２と文字列断片情報９３とが隣接する文字列断片情報であると判別する。そして、文字列断片情報９２よりも後に位置する文字列断片情報９３に係る分割後文字列情報８３から記号情報等が除去されていないことから、文字列結合部１４は、文字列断片情報９２について文字列断片情報９３を結合候補であると判別する（ステップＳ５０を参照のこと。）。
【００４５】
図９を参照して、結合判定処理の例及び出力結果１００の例について説明する。
（結合判定処理）
文字列結合部１４は、結合候補として識別した一対の文字列断片情報を結合するか否かを順次判別する。より具体的には、文字列結合部１４は、解析結果情報３１、分割結果情報３２、及び除去結果情報３３に基づいて、文字列断片情報９２及び文字列断片情報９３がヒューリスティクスなルールによる条件に基づいて文字列断片情報９２及び文字列断片情報９３を結合するか否かを判別する（ステップＳ２８を参照のこと。）。この例では、文字列断片情報９３よりも前に位置する文字列断片情報９２が句点で終わっているので、文字列結合部１４は、結合しないと判別し、結合候補である文字列断片情報９２及び文字列断片情報９３を結合しないと判定する。
【００４６】
（出力結果）
文字列結合部１４は、結合判定処理の結果に基づいて、文字列断片情報を結合する（ステップＳ１０を参照のこと。）。この例では、文字列結合部１４は、文字列断片情報９０〜文字列断片情報９３の何れの組み合わせについても結合しないと判定したので、文字列断片情報９０〜文字列断片情報９３の各々を一文として出力装置４に出力する。
【００４７】
（第２の事例）
図１０は、文書情報の例を示す図である。文書情報は、オブジェクトの一例であるセル５４、セル５５、セル５６、セル５７、及びセル５８を含んで構成される。セル５４〜セル５８の各々には、文字列情報が含まれている。なお、セル５４〜セル５８には、書式情報が設定されていない。
図１１は、図１０に示した文書情報についてのファイル解析処理後のデータ、文字列分割処理後のデータ、及び非解析表現除去処理後のデータの例を示す図である。ここで、図中のＵは、「組織変更がある場合、事前に予備系側で新組織変更後の」を簡略化した表現であり、Ｖは、「フォルダ構成を構築ならびにテストを行うことが可能であり、」を簡略化した表現である。また、図中のＷは、「組織変更実施にリンク先を切り替えるだけで、新組織構成」を簡略化した表現であり、Ｘは、「に対応可能」を簡略化した表現であり、Ｙは、「このとき、旧組織構成のフォルダならびにファイル」を簡略化した表現であり、Ｚは、「のアクセスも可能」を簡略化した表現である。また、Ｖ等の先頭にある四角の記号は、先頭の位置を合わせるために用いられている空白を表現している。
【００４８】
（ファイル解析処理）
ファイル解析部１１は、図１０に示した文書情報を解析し、セル毎に、文字列情報、位置情報、及び書式情報を抽出する（ステップＳ２を参照のこと。）。
より具体的には、ファイル解析部１１は、セル５４に含まれる文字列情報７４、セル５４の位置情報「Ｊ２２」、セル５４の書式情報「（なし）」、セル５５に含まれる文字列情報７５、セル５５の位置情報「Ｊ２３」、及びセル５５の書式情報「（なし）」を抽出する。更に、ファイル解析部１１は、セル５６に含まれる文字列情報７６、セル５６の位置情報「Ｊ２４」、セル５６の書式情報「（なし）」、セル５７に含まれる文字列情報７７、セル５７の位置情報「Ｊ２５」、セル５７の書式情報「（なし）」、セル５８に含まれる文字列情報７８、セル５８の位置情報「Ｊ２６」、及びセル５８の書式情報「（なし）」を抽出する。
【００４９】
（文字列分割処理）
文字列分割部１２は、デリミタ情報を用いて文字列情報を分割し、分割後文字列情報等を抽出する（ステップＳ４を参照のこと。）。
より具体的には、文字列分割部１２は、文字列情報７４についてデリミタ情報毎に分割を試みるが、文字列情報７４にはデリミタ情報が含まれていないので、文字列情報７４を分割後文字列情報８４として抽出する。そして、文字列分割部１２は、文字列情報７４については、分割後文字列情報８４についての範囲情報「範囲：１〜２６」及びデリミタ情報「（なし）」を抽出する。
また、文字列分割部１２は、文字列情報７５についてデリミタ情報毎に分割を試みるが、文字列情報７５にはデリミタ情報が含まれていないので、文字列情報７５を分割後文字列情報８５として抽出する。そして、文字列分割部１２は、文字列情報７５については、分割後文字列情報８５についての範囲情報「範囲：１〜２９」及びデリミタ情報「（なし）」を抽出する。
【００５０】
また、文字列分割部１２は、文字列情報７６についてデリミタ情報毎に分割を試みるが、文字列情報７６にはデリミタ情報が含まれていないので、文字列情報７６を分割後文字列情報８６として抽出する。そして、文字列分割部１２は、文字列情報７６については、分割後文字列情報８６についての範囲情報「範囲：１〜２７」及びデリミタ情報「（なし）」を抽出する。
また、文字列分割部１２は、文字列情報７７をデリミタ情報「句点」毎に分割して、分割後文字列情報８７と分割後文字列情報８８とを抽出する。文字列分割部１２は、文字列情報７７については、分割後文字列情報８７についての範囲情報「範囲：１〜７」、分割後文字列情報８８についての範囲情報「範囲：８〜３０」、及びデリミタ情報「。」を抽出する。
また、文字列分割部１２は、文字列情報７８についてデリミタ情報毎に分割を試みるが、文字列情報７８にはデリミタ情報が含まれていないので、文字列情報７８を分割後文字列情報８９として抽出する。そして、文字列分割部１２は、文字列情報７８については、分割後文字列情報８９についての範囲情報「範囲：１〜１０」及びデリミタ情報「（なし）」を抽出する。
【００５１】
（非解析表現処理）
非解析表現除去部１３は、非解析表現情報を分割後文字列情報から除去し、文字列断片情報等を抽出する（ステップＳ６を参照のこと。）。
より具体的には、非解析表現除去部１３は、先頭にある記号情報「・」を分割後文字列情報８４から除去し、文字列断片情報９４を抽出する。また、非解析表現除去部１３は、分割後文字列情報８４から記号情報「・」を除去したので、文字列断片情報９４についての範囲情報「範囲：２〜２６」及び記号情報「・」を抽出する。
非解析表現除去部１３は、先頭にある装飾表現情報「□（空白）」を分割後文字列情報８５から除去し、文字列断片情報９５を抽出する。また、非解析表現除去部１３は、分割後文字列情報８５から装飾表現情報「□（空白）」を除去したので、文字列断片情報９５についての範囲情報「範囲：２〜２９」及び装飾表現情報「□（空白）」を抽出する。
非解析表現除去部１３は、先頭にある装飾表現情報「□（空白）」を分割後文字列情報８６から除去し、文字列断片情報９６を抽出する。また、非解析表現除去部１３は、分割後文字列情報８６から装飾表現情報「□（空白）」を除去したので、文字列断片情報９６についての範囲情報「範囲：２〜２７」及び装飾表現情報「□（空白）」を抽出する。
【００５２】
非解析表現除去部１３は、先頭にある装飾表現情報「□（空白）」を分割後文字列情報８７から除去し、文字列断片情報９７を抽出する。また、非解析表現除去部１３は、分割後文字列情報８７から装飾表現情報「□（空白）」を除去したので、文字列断片情報９７についての範囲情報「範囲：２〜７」及び装飾表現情報「□（空白）」を抽出する。
非解析表現除去部１３は、分割後文字列情報８８には装飾表現情報等が含まれていないことを確認し、分割後文字列情報８８を文字列断片情報９８として抽出する。また、非解析表現除去部１３は、文字列断片情報９８についての範囲情報「範囲：８〜３０」及び装飾表現情報「（なし）」を抽出する。
非解析表現除去部１３は、先頭にある装飾表現情報「□（空白）」を分割後文字列情報８９から除去し、文字列断片情報９９を抽出する。また、非解析表現除去部１３は、分割後文字列情報８９から装飾表現情報「□（空白）」を除去したので、文字列断片情報９９についての範囲情報「範囲：２〜１０」及び装飾表現情報「□（空白）」を抽出する。
【００５３】
図１２を参照して、結合候補抽出処理の例について説明する。図１２は、結合候補となり得る文字列断片情報の組み合わせの例を示す図である。
（結合候補抽出処理）
文字列結合部１４は、初めに、先頭の文字列断片情報９４について、文字列断片情報９５が結合候補となるか否かを判別し、続いて、文字列断片情報９６が結合候補となるか否かを判別し、続いて、文字列断片情報９７が結合候補となるか否かを判別し、続いて、文字列断片情報９８が結合候補となるか否かを判別し、続いて、文字列断片情報９９が結合候補となるか否かを判別する（処理Ｕ）。
次に、文字列結合部１４は、文字列断片情報９５について、文字列断片情報９６が結合候補となるか否かを判別し、続いて、文字列断片情報９７が結合候補となるか否かを判別し、続いて、文字列断片情報９８が結合候補となるか否かを判別し、続いて、文字列断片情報９９が結合候補となるか否かを判別する（処理Ｖ）。
【００５４】
次に、文字列結合部１４は、文字列断片情報９６について、文字列断片情報９７が結合候補となるか否かを判別し、続いて、文字列断片情報９８が結合候補となるか否かを判別し、続いて、文字列断片情報９９が結合候補となるか否かを判別する（処理Ｗ）。
次に、文字列結合部１４は、文字列断片情報９７について、文字列断片情報９８が結合候補となるか否かを判別し、続いて、文字列断片情報９９が結合候補となるか否かを判別する（処理Ｘ）。
最後に、文字列結合部１４は、文字列断片情報９８について、文字列断片情報９９が結合候補となるか否かを判別する（処理Ｙ）。
【００５５】
（処理Ｕ）
まず、文字列断片情報９４について文字列断片情報９５が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列断片情報９４が含まれるセル５４と文字列断片情報９５が含まれるセル５５とが隣接するセルであり、文字列断片情報９５よりも前に位置する文字列断片情報９４がセル５４の末尾にあり、文字列断片情報９４よりも後に位置する文字列断片情報９５がセル５５の先頭にあり、セルに書式情報が設定されていないので、文字列結合部１４は、文字列断片情報９４について文字列断片情報９５を結合候補であると判別する（ステップＳ６２を参照のこと。）。
次に、文字列断片情報９４について文字列断片情報９６が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列断片情報９４が含まれるセル５４と文字列断片情報９６が含まれるセル５６とは、同一のセルでなく隣接するセルでもないので、文字列結合部１４は、文字列断片情報９４について文字列断片情報９６を結合候補ではないと判別する（ステップＳ５６を参照のこと。）。
なお、文字列断片情報９４について文字列断片情報９７〜文字列断片情報９９の各々が結合候補になるか否かを判別する方法については、文字列断片情報９４について文字列断片情報９６が結合候補になるか否かを判別する方法と同様であるので、説明を省略する。
【００５６】
（処理Ｖ）
文字列断片情報９５について文字列断片情報９６が結合候補になるか否かを判別する方法については、文字列断片情報９４について文字列断片情報９５が結合候補になるか否かを判別する方法と同様であり、文字列結合部１４は、文字列断片情報９５について文字列断片情報９６を結合候補であると判別する。
また、文字列断片情報９５について文字列断片情報９７〜文字列断片情報９９の各々が結合候補になるか否かを判別する方法については、文字列断片情報９４について文字列断片情報９６が結合候補になるか否かを判別する方法と同様であり、文字列結合部１４は、文字列断片情報９５について文字列断片情報９７〜文字列断片情報９９の何れもが結合候補ではないと判別する。
【００５７】
（処理Ｗ）
まず、文字列断片情報９６について文字列断片情報９７が結合候補になるか否かを判別する方法については、文字列断片情報９４について文字列断片情報９５が結合候補になるか否かを判別する方法と同様であり、文字列結合部１４は、文字列断片情報９６について文字列断片情報９７を結合候補であると判別する。
次に、文字列断片情報９６について文字列断片情報９８が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列断片情報９６が含まれるセル５６と文字列断片情報９８が含まれるセル５７とは隣接するセルであるが、文字列断片情報９６よりも後に位置する文字列断片情報９８がセル５７の先頭にないので、文字列結合部１４は、文字列断片情報９６について文字列断片情報９８を結合候補ではないと判別する（ステップＳ６０を参照のこと。）。なお、説明の便宜上、ステップＳ５８に関するここでの説明については省略している。
また、文字列断片情報９６について文字列断片情報９９が結合候補になるか否かを判別する方法については、文字列断片情報９４について文字列断片情報９６が結合候補になるか否かを判別する方法と同様であり、文字列結合部１４は、文字列断片情報９６について文字列断片情報９９を結合候補ではないと判別する。
【００５８】
（処理Ｘ）
まず、文字列断片情報９７について文字列断片情報９８が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列断片情報９７が含まれるセル５７と文字列断片情報９８が含まれるセル５７とが同一のセルであるので、文字列結合部１４は、文字列断片情報９７の範囲情報と文字列断片情報９８の範囲情報とに基づいて両文字列断片情報が隣接しているか否かを判別する。そして、文字列結合部１４は、両文字列断片情報が隣接していると判別し、文字列断片情報９８に分割後文字列情報８８から非解析表現情報が除去されていないので、文字列断片情報９７について文字列断片情報９８を結合候補であると判別する（ステップＳ５０を参照のこと。）。
次に、文字列断片情報９７について文字列断片情報９９が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列断片情報９７が含まれるセル５７と文字列断片情報９９が含まれるセル５８とは隣接するセルであるが、文字列断片情報９９よりも前に位置する文字列断片情報９７がセル５７の末尾にないので、文字列結合部１４は、文字列断片情報９７について文字列断片情報９９を結合候補ではないと判別する（ステップＳ５８を参照のこと。）。
【００５９】
（処理Ｙ）
文字列断片情報９８について文字列断片情報９９が結合候補になるか否かを判別する方法については、文字列断片情報９４について文字列断片情報９５が結合候補になるか否かを判別する方法と同様であり、文字列結合部１４は、文字列断片情報９８について文字列断片情報９９を結合候補であると判別する。
【００６０】
図１３を参照して、結合判定処理の例及び出力結果１０１の例について説明する。
（結合判定処理）
文字列結合部１４は、結合候補として識別した文字列断片情報９４及び文字列断片情報９５を結合するか否かを判定する（処理ＵＶ）。また、文字列結合部１４は、結合候補として識別した文字列断片情報９５及び文字列断片情報９６を結合するか否かを判定する（処理ＶＷ）。また、文字列結合部１４は、結合候補として識別した文字列断片情報９６及び文字列断片情報９７を結合するか否かを判定する（処理ＷＸ）。また、文字列結合部１４は、結合候補として識別した文字列断片情報９７及び文字列断片情報９８を結合するか否かを判定する（処理ＸＹ）。また、文字列結合部１４は、結合候補として識別した文字列断片情報９８及び文字列断片情報９９を結合するか否かを判定する（処理ＹＺ）。
【００６１】
（処理ＵＶ）
文字列結合部１４は、文字列断片情報９４と文字列断片情報９５とがヒューリスティクスなルールによる条件に基づいて結合するか否かを判別する。この例では、文字列結合部１４は、ヒューリスティクスなルールによる条件の何れにも該当しないので、文字列断片情報９４及び文字列断片情報９５を結合し得ると判別する。
続いて、文字列結合部１４は、文字列断片情報９４及び文字列断片情報９５について形態素解析をして算出したコストに基づいて文字列断片情報９４及び文字列断片情報９５を結合するか否かを判定する。より具体的には、文字列結合部１４は、文字列断片情報９４について形態素解析をしてコスト「３５３７２」を算出し、文字列断片情報９５について形態素解析をしてコスト「５１３８７」を算出し、文字列断片情報９４と文字列断片情報９５とを結合した仮の結合情報について形態素解析をしてコスト「８６１７７」を算出する。そして、文字列結合部１４は、文字列断片情報９４に係るコストと文字列断片情報９５に係るコストとの和「８６７５９」が、仮の結合情報に係るコスト「８６１７７」よりも大きいので、文字列断片情報９４及び文字列断片情報９５を結合すると判定する。
【００６２】
（処理ＶＷ）
文字列結合部１４は、文字列断片情報９５と文字列断片情報９６とがヒューリスティクスなルールによる条件に基づいて結合するか否かを判別する。この例では、文字列断片情報９６よりも前に位置する文字列断片情報９５が読点で終わっているので、文字列結合部１４は、文字列断片情報９５及び文字列断片情報９６を結合すると判定する。
【００６３】
（処理ＷＸ）
文字列結合部１４は、文字列断片情報９６と文字列断片情報９７とがヒューリスティクスなルールによる条件に基づいて結合するか否かを判別する。この例では、文字列結合部１４は、ヒューリスティクスなルールによる条件の何れにも該当しないので、文字列断片情報９６及び文字列断片情報９７を結合し得ると判別する。
続いて、文字列結合部１４は、文字列断片情報９６及び文字列断片情報９７について形態素解析をして算出したコストに基づいて文字列断片情報９６及び文字列断片情報９７を結合するか否かを判定する。より具体的には、文字列結合部１４は、文字列断片情報９６について形態素解析をしてコスト「２９１７３」を算出し、文字列断片情報９７について形態素解析をしてコスト「１００３３」を算出し、文字列断片情報９６と文字列断片情報９７とを結合した仮の結合情報について形態素解析をしてコスト「３６９８２」を算出する。そして、文字列結合部１４は、文字列断片情報９６に係るコストと文字列断片情報９７に係るコストとの和「３９２０６」が、仮の結合情報に係るコスト「３６９８２」よりも大きいので、文字列断片情報９６及び文字列断片情報９７を結合すると判定する。
【００６４】
（処理ＸＹ）
文字列結合部１４は、文字列断片情報９７及び文字列断片情報９８がヒューリスティクスなルールによる条件に基づいて文字列断片情報９７及び文字列断片情報９８を結合するか否かを判別する。この例では、文字列断片情報９８よりも前に位置する文字列断片情報９７が句点で終わっているので、文字列結合部１４は、文字列断片情報９７及び文字列断片情報９８を結合しないと判定する。
【００６５】
（処理ＹＺ）
文字列結合部１４は、文字列断片情報９８と文字列断片情報９９とがヒューリスティクスなルールによる条件に基づいて結合するか否かを判別する。この例では、文字列結合部１４は、ヒューリスティクスなルールによる条件の何れにも該当しないので、文字列断片情報９８及び文字列断片情報９９を結合し得ると判別する。
続いて、文字列結合部１４は、文字列断片情報９８及び文字列断片情報９９について形態素解析をして算出したコストに基づいて文字列断片情報９８及び文字列断片情報９９を結合するか否かを判定する。より具体的には、文字列結合部１４は、文字列断片情報９８について形態素解析をしてコスト「５０４６８」を算出し、文字列断片情報９９について形態素解析をしてコスト「１１６６２」を算出し、文字列断片情報９８と文字列断片情報９９とを結合した仮の結合情報について形態素解析をしてコスト「５９１７０」を算出する。そして、文字列結合部１４は、文字列断片情報９８に係るコストと文字列断片情報９９に係るコストとの和「６２１３０」が、仮の結合情報に係るコスト「５９１７０」よりも大きいので、文字列断片情報９８及び文字列断片情報９９を結合すると判定する。
【００６６】
（出力結果）
文字列結合部１４は、結合判定処理の結果に基づいて、文字列断片情報を結合する。この例では、文字列結合部１４は、文字列断片情報９４及び文字列断片情報９５、文字列断片情報９５及び文字列断片情報９６、ならびに文字列断片情報９６及び文字列断片情報９７を夫々結合すると判定したので、文字列断片情報９４〜文字列断片情報９７を結合して一文として出力装置４に出力する。また、文字列結合部１４は、文字列断片情報９８及び文字列断片情報９９を結合すると判定したので、文字列断片情報９８及び文字列断片情報９９を結合して一文として出力装置４に出力する。
【００６７】
このように、本実施形態では、一の文を構成する複数の断片情報がユーザによって様々なオブジェクトに記述がなされている場合であっても、オブジェクトの位置情報に基づいてオブジェクトの位置関係を特定するができるので、一の文を構成する断片情報に関わり得る同一のオブジェクト及び隣接するオブジェクトを特定することで、断片情報を文の単位に結合することができるようになる。また、本実施形態では、一の文を構成する断片情報に関わり得るオブジェクトをオブジェクトの書式情報に基づいて絞り込むことができる。
更に、本実施形態では、複数の文を構成する複数の断片情報がユーザによって一のオブジェクトに記述がなされている場合であっても、断片情報に係る範囲情報及びデリミタ情報に基づいて断片情報がどの文に属するのかを判別することができる。また、本実施形態では、断片情報がどの文に属するのかを装飾情報に基づいてより正確に判別することができるようになる。
したがって、本実施形態に係る構成によれば、入力の形式が特定されていない文書情報であっても、文書情報から文をより適切に抽出することができる。
【００６８】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００６９】
１  ＣＰＵ
２  記憶装置
３  入力装置
４  出力装置
５  バス
【図１】
2011081516.tif 000003
【図２】
2011081516.tif 000004
【図３】
2011081516.tif 000005
【図４】
2011081516.tif 000006
【図５】
2011081516.tif 000007
【図６】
2011081516.tif 000008
【図７】
2011081516.tif 000009
【図８】
2011081516.tif 000010
【図９】
2011081516.tif 000011
【図１０】
2011081516.tif 000012
【図１１】
2011081516.tif 000013
【図１２】
2011081516.tif 000014
【図１３】
2011081516.tif 000015