説明

情報処理装置、情報処理方法、及びプログラム

【課題】文書データから文をより適切に抽出することを目的とする。
【解決手段】情報処理装置が、文字列データが含まれる複数のオブジェクトに係る文書データから、複数のオブジェクトの各々に含まれる文字列データと、複数のオブジェクトの各々を解析して得る解析結果情報とを抽出し、抽出した文字列データの各々を文の区切り毎に分割する処理を行い、分割する処理を行った後のデータを断片データとして抽出し、抽出した解析結果情報に基づいて抽出した断片データの各々を結合するか否かを判別し、結合すると判別した断片データの各々を結合することによって課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来、文書を作成する際には、ユーザは、レイアウトのしやすさの観点から、表計算アプリケーションを利用している。そして、企業等においては、表計算アプリケーションで作成された文書が蓄積され、企業の情報資産となっている。したがって、情報資産である文書を活用(機械翻訳、高度な検索、文書校閲等)することが重要視されている。ここで、文書を活用するには、文書から文を抽出する技術が必要となる。
近年、文書データに含まれている文章構成上不要な空白文字コード及び改行コードを適切・確実に削除して、論理的に連続する段落を生成する技術が開示されている(特許文献1を参照のこと。)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平11−191105号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の技術では、多種多様なレイアウトで記載された文書データに対しては不要な空白文字コード及び不要な改行コードを削除できないので、文書データから文を抽出することができない問題がある。
【0005】
本発明はこのような問題点に鑑みなされたもので、文書データから文をより適切に抽出することを目的とする。
【課題を解決するための手段】
【0006】
そこで、本発明は、文字列データが含まれる複数のオブジェクトに係る文書データから、前記複数のオブジェクトの各々に含まれる文字列データと、前記複数のオブジェクトの各々を解析して得る解析結果情報とを抽出する第1の抽出手段と、前記第1の抽出手段で抽出された文字列データの各々を文の区切り毎に分割する処理を行い、前記分割する処理を行った後のデータを断片データとして抽出する第2の抽出手段と、前記第1の抽出手段で抽出された解析結果情報に基づいて前記第2の抽出手段で抽出された断片データの各々を結合するか否かを判別し、結合すると判別した断片データの各々を結合する結合手段と、を有する情報処理装置。
ここで、「第1の抽出手段」は、例えば、後述するファイル解析部に対応する。「第2の抽出手段」は、例えば、後述する文字列分割部に対応する。「結合手段」は、例えば、後述する文字列結合部に対応する。
【発明の効果】
【0007】
本発明によれば、文書データから文をより適切に抽出することができる。
【図面の簡単な説明】
【0008】
【図1】情報処理装置のハードウェア構成を示す図である。
【図2】情報処理装置の機能構成を示す図である。
【図3】メイン処理に係るフローチャートを示す図である。
【図4】マーキング処理に係るフローチャートを示す図である。
【図5】結合候補抽出処理に係るフローチャートを示す図である。
【図6】文書の一例を示す図である。
【図7】ファイル解析処理後のデータ、文字列分割処理後のデータ、及び非解析表現除去処理後のデータの例を示す図である。
【図8】結合候補となり得る文字列断片情報の組み合わせの例を示す図である。
【図9】結合判定処理の例、及び出力結果の例を示す図である。
【図10】文書の一例を示す図である。
【図11】ファイル解析処理後のデータ、文字列分割処理後のデータ、及び非解析表現除去処理後のデータの例を示す図である。
【図12】結合候補となり得る文字列断片情報の組み合わせの例を示す図である。
【図13】結合判定処理の例、及び出力結果の例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について図面に基づいて説明する。
【0010】
本実施形態に係る情報処理装置は、文書情報から各種の情報を抽出し、抽出した各種の情報に基づいて文書情報に含まれる文を抽出して出力する。ここで、文書情報は、表計算アプリケーション等を介してユーザが様々な形式で文を入力して作成される。なお、入力の形式には、セルに文字列の折り返しを設定して、複数の文を1つのセルに記入する形式(例えば、図6を参照のこと。)、セルに折り返しの設定をせずに、一定の長さで改行を適宜入力して複数の文を1つのセルに記入する形式、セルに折り返しの設定をせずに、一定の長さで改行を適宜入力して1つの文を複数のセルに分割して記入する形式(例えば、図10を参照のこと。)等がある。
したがって、本実施形態では、係る入力の形式に関わらず、文書情報を解析して文の単位に情報を出力する構成について説明する。
【0011】
まず、図1を参照して、情報処理装置のハードウェア構成について説明する。図1は、情報処理装置のハードウェア構成の一例を示す図である。
情報処理装置は、CPU(Central Processing Unit)1、記憶装置2、入力装置3、及び出力装置4を含んで構成される。CPU1、記憶装置2、入力装置3、及び出力装置4は、バス5を介して通信可能に接続されている。
CPU1は、必要に応じて、記憶装置2よりプログラムを読み出して、プログラムを実行する。プログラムが実行されることで、情報処理装置における機能、及び後述するフローチャートに係る処理が実現される。
記憶装置2は、ROM(Read Only Memory)、RAM(Random Access Memory)、HD(Hard Disk)等で構成され、各種の情報を記憶する。記憶装置2(例えば、ROM)は、情報処理装置の電源投入時に最初に読み込まれるプログラム等を記憶する。また、記憶装置2(例えば、RAM)は、情報処理装置のメインメモリとして機能する。また、記憶装置2(例えば、HD)は、プログラム以外にCPU1により算出された数値データ等を記憶する。
【0012】
入力装置3は、ユーザが操作するキーボード及びマウス等で構成され、情報処理装置に各種の情報を入力する装置である。出力装置4は、利用者の用に供するディスプレイ等で構成され、各種の情報、画面等を出力する装置である。
なお、情報処理装置は、自装置(すなわち、情報処理装置)を外部記憶装置(例えば、CD−ROMドライブ)、ネットワーク等に接続するインターフェースを備えてもよい。すなわち、情報処理装置は、記憶装置2に記憶される各種の情報を、CD−ROM等の記録媒体から取得してもよいし、ネットワーク等を通じてダウンロードしてもよい。
【0013】
次に、図2を参照して、情報処理装置の機能構成について説明する。図2は、情報処理装置の機能構成の一例を示す図である。情報処理装置は、ファイル解析部11、文字列分割部12、非解析表現除去部13、及び文字列結合部14を含んで構成される。
【0014】
ファイル解析部11は、表計算アプリケーションで作成された文字列情報を含むオブジェクト(セル、シェイプ、ヘッダ、フッタ等)に係る文書情報を解析し、オブジェクト毎に、オブジェクトに含まれる文字列情報、オブジェクトの位置情報、及びオブジェクトの書式情報を抽出する(ファイル解析処理)。なお、シェイプは、三角形、四角形等の形状(図形)である。本実施形態では、シェイプにも文字が入力され得るので、オブジェクトとしてシェイプを抽出して処理の対象とする。
なお、ファイル解析部11が解析する文書情報は、表計算アプリケーションで作成された文書情報に限られるものではない。上述の通り、ファイル解析部11は、文字列情報を含むオブジェクトに係る文書情報を解析し、オブジェクト毎に、オブジェクトに含まれる文字列情報、オブジェクトの位置情報、及びオブジェクトの書式情報を抽出する機能を有するので、例えば、プレゼンテーションソフトに係るアプリケーションやワープロソフトに係るアプリケーションで作成された文書情報に対しても、同様に解析等が可能である。
また、ファイル解析部11は、文字列情報及び位置情報を含む解析結果情報21を文字列分割部12に渡す。更に、ファイル解析部11は、位置情報及び書式情報を含む解析結果情報31を文字列結合部14に渡す。
【0015】
文字列分割部12は、ファイル解析部11から解析結果情報21を受け取り、文の区切りを表すデリミタ情報(改行、句点等)を用いて文字列情報を分割する(文字列分割処理)。また、文字列分割部12は、文字列情報について分割に係る処理を行った後の分割後文字列情報、位置情報、及び分割後文字列情報がオブジェクトにおいて占める範囲を表す範囲情報を含む分割結果情報22を非解析表現除去部13に渡す。更に、文字列分割部12は、デリミタ情報及び範囲情報を含む分割結果情報32を文字列結合部14に渡す。
【0016】
非解析表現除去部13は、文字列分割部12から分割結果情報22を受け取り、箇条書き等を表す記号情報(例えば、「1.」、「(1)」、「1)」、「*」、「・」)、装飾を表す装飾表現情報(例えば、コメントを表す「#」、位置合わせのための空白)等の非解析表現情報を分割後文字列情報から除去する(非解析表現除去処理)。また、非解析表現除去部13は、非解析表現情報を分割後文字列情報から除去した文字列断片情報、位置情報、及び範囲情報を含む除去結果情報23、非解析表現情報を含む除去結果情報33を文字列結合部14に渡す。なお、除去結果情報23に含まれる範囲情報は、非解析表現情報を分割後文字列情報から除去したことを表し得るように、非解析表現情報を分割後文字列情報から除去した場合には、文字列分割部12から受け取った分割結果情報22に含まれる範囲情報を変更する。
【0017】
文字列結合部14は、ファイル解析部11、文字列分割部12、及び非解析表現除去部13から受け取った各種の情報(解析結果情報31、分割結果情報32、除去結果情報23、及び除去結果情報33)に基づいて、文字列断片情報を適宜結合する(マーキング処理及び結合処理)。
【0018】
図3は、本情報処理装置におけるメイン処理に係るフローチャートを示す図である。本情報処理装置は、文書情報から文を抽出する指示(ユーザによる入力装置3の操作)を契機として、ステップS2〜ステップS10に係る処理を行う。
まず、ファイル解析部11は、ユーザにより入力装置3を介して指定された文書情報についてファイル解析処理を行う(ステップS2)。より具体的には、ファイル解析部11は、文書情報を解析し、オブジェクト毎に、文字列情報、位置情報、及び書式情報を抽出する。
ここで、位置情報は、オブジェクトの位置を表す情報である。オブジェクトがセルである場合は、位置情報は、「F21(F列21行)」等である。また、例えば、文書情報がCSV(Comma-Separated Values)形式のファイルである場合は、ファイル解析部11は、フィールドを区切る文字(コンマ等)に基づいて位置情報を抽出する。
また、書式情報は、オブジェクトの書式を表す情報である。例えば、オブジェクトがセルである場合は、書式情報は、「表示形式(例えば、数値、通貨等の分類)、配置(例えば、左詰め、上詰め等の文字列の配置、折り返して全体を表示する等の文字列の制御)、フォント(例えば、斜体、太字等のスタイル、サイズ、下線、取り消し線等の文字飾り)、罫線、塗りつぶし」等である。
【0019】
ステップS4では、文字列分割部12は、文字列分割処理を行う。より具体的には、文字列分割部12は、予め定められたデリミタ情報(改行、句点等)を用いて、ファイル解析部11で抽出された文字列情報を文の区切りで分割し、分割後文字列情報を抽出(生成)する。文字列分割部12による分割は、文字列操作で実現することができる。なお、記憶装置2は、予め定められたデリミタ情報を記憶している。
ステップS6では、非解析表現除去部13は、非解析表現除去処理を行う。より具体的には、非解析表現除去部13は、文字列分割部12で抽出された分割後文字列情報から非解析表現情報を除去して文字列断片情報を抽出する。非解析表現除去部13による除去は、正規表現(正則表現)等を利用して実現することができる。
【0020】
ステップS8では、文字列結合部14は、マーキング処理を行う。なお、マーキング処理の詳細については、図4を参照して説明する。マーキング処理では、文字列断片情報を結合する候補(結合候補)を抽出し、抽出した結合候補の中で結合すると判断した結合候補に印をつける(マーキングする)。
ステップS10では、文字列結合部14は、結合処理を行う。より具体的には、文字列結合部14は、マーキング処理でマーキングした結合候補を結合し、結合した結果を出力装置4に出力する。例えば、最終的な結果(文単位の情報)は、出力装置4の一例であるディスプレイに表示される。また、例えば、最終的な結果は、出力装置4を介してファイルとして出力される。
【0021】
図4を参照してマーキング処理について説明する。図4は、マーキング処理に係るフローチャートを示す図である。
まず、文字列結合部14は、結合候補抽出処理を行う(ステップS22)。結合候補抽出処理では、文字列結合部14は、全ての結合候補を抽出する。なお、結合候補抽出処理の詳細については、図5を参照して説明する。
ステップS24では、文字列結合部14は、未処理の結合候補があるか否かを判別する。未処理の結合候補がある場合には、文字列結合部14は、続いて、ステップS26に係る処理を行う。他方、未処理の結合候補がない場合には、文字列結合部14は、マーキング処理を終了する。
ステップS26では、文字列結合部14は、ステップS22で抽出した未処理の結合候補から結合候補を1つ取り出す。
【0022】
ステップS28では、文字列結合部14は、ヒューリスティクスなルールによる条件に基づいて結合候補を結合するか否かを判別する。より詳細に説明すると、結合候補を結合し得ると判別した場合(ヒューリスティクスなルールによる条件に該当しない場合)には、文字列結合部14は、続いて、ステップS30に係る処理を行う。また、結合しないと判別した場合(NOの場合)には、文字列結合部14は、続いて、ステップS24に係る処理を行う。また、結合すると判別した場合(YESの場合)には、文字列結合部14は、続いて、ステップS32に係る処理を行う。ここで、ヒューリスティクスなルールは、以下に示すものであり、記憶装置2に予め記憶されている。
・前文字列断片情報が句点で終わっている場合は、結合しない
・前文字列断片情報が読点で終わっている場合は、結合する
・各文字列断片情報が英数字で構成されている場合は、結合しない
・各文字列断片情報が名詞のみで構成されている場合は、結合しない
ここで、ヒューリスティクスなルールは、上述したルールに限られるものではない。例えば、ユーザが必要に応じて、ヒューリスティクスなルールを変更(追加、修正、削除)することができる。例えば、ユーザは、出力装置4に表示された操作画面を介して、入力装置3を操作し、記憶装置2に記憶されているルールに、「・各文字列断片情報が含まれるページが異なる場合は、結合しない」を追加することができる。
なお、文字列結合部14は、各文字列断片情報が名詞のみで構成されているか否かについては、形態素解析を行って判別する。
【0023】
より詳細に説明すると、文字列結合部14は、前文字列断片情報が句点で終わっている場合、各文字列断片情報が英数字で構成されている場合、各文字列断片情報が名詞のみで構成されている場合は、結合しないと判別する。他方、文字列結合部14は、何れのルールにも該当しない場合は、結合候補を結合し得ると判別する。また、前文字列断片情報が読点で終わっている場合は、結合すると判別する。なお、前文字列断片情報は、広義には、処理の対象とした2つの文字列断片情報のうち前に位置する文字列断片情報であり、狭義には、結合候補として識別された一対の文字列断片情報のうち前に位置する文字列断片情報である。
【0024】
ステップS30では、文字列結合部14は、結合候補に係るコストに基づいて結合候補を結合するか否かを判別する。結合候補を結合すると判別した場合には、文字列結合部14は、続いて、ステップS32に係る処理を行う。他方、結合候補を結合しないと判別した場合には、文字列結合部14は、続いて、ステップS24に係る処理を行う。
より具体的には、文字列結合部14は、結合候補として識別された一対の文字列断片情報の各々について形態素解析をし、各々の文字列断片情報のコストを算出する。また、文字列結合部14は、一対の文字列断片情報を結合した仮の結合情報について形態素解析をし、結合情報のコストを算出する。そして、文字列結合部14は、各々の文字列断片情報のコストの和と結合情報のコストとを比較し、各々の文字列断片情報のコストの和の方が結合情報のコストよりも大きい場合(或いは、コストの和が結合情報のコスト以上である場合)には、一対の文字列断片情報を結合すると判別する。
本実施形態では、文字列結合部14は、文として不自然な文(文頭が助詞から始まる文、等)ほどコストが高くなる一般的な性質を利用してステップS30に係る判別をしている。故に、結合候補に係るコストに基づいて結合候補を結合するか否かを判別する方法は、これに限られるものではない。例えば、文字列結合部14は、各々の文字列断片情報のコストの和と結合情報のコストとの差が閾値を超える場合は、一対の文字列断片情報を結合すると判別してもよい。なお、形態素解析では、文字列結合部14は、文を構成する形態素の組み合わせから、動的計画法(Viterbi algorithm等)を使用して、最もコストが低くなる組み合わせを選択する。
【0025】
ここで、ステップS28に係る判別だけでは、ユーザにより定義されたルールが用いられて択一的な判別となるため、未知の結合のパターンに柔軟に対処できず、ステップS30に係る判別だけでは、画一的な判別となるため、判別の精度を高めることができない。そこで、本実施形態では、文字列結合部14は、ステップS28に係る処理とステップS30に係る処理とを併用して、結合するか否かをより正確に判別している。すなわち、ステップS28に係る判別とステップS30に係る判別とは、相補関係にある。
しかしながら、文字列結合部14がステップS28に係る判別をした後に、ステップS30に係る判別をする構成に限られるものではない。例えば、文字列結合部14は、ステップS30に係る判別をした後に、ステップS28に係る判別をしてもよい。また、例えば、文字列結合部14は、ステップS28に係る判別だけをしてもよいし、ステップS30に係る判別だけを判別してもよい。すなわち、ステップS28に係る判別及びステップS30に係る判別については、必要に応じて適宜採用することができる。よって、オブジェクトの位置情報のみに基づいて断片データの各々を結合するか否かが判別されることもあり得る。
ステップS32では、文字列結合部14は、マーキングを行い、続いて、ステップS24に係る処理を行う。
【0026】
図5を参照して結合候補抽出処理について説明する。図5は、結合候補抽出処理に係るフローチャートを示す図である。なお、各ステップにおけるより詳細な説明については、図6〜図13を参照して説明する。
まず、文字列結合部14は、前文字列断片情報を取得する(ステップS42)。より具体的には、文字列結合部14は、前文字列断片情報として未処理の文字列断片情報から最も前に位置する文字列断片情報を解析結果情報31と分割結果情報32と除去結果情報33とに基づいて取得する。
続いて、文字列結合部14は、後文字列断片情報を取得する(ステップS44)。より具体的には、文字列結合部14は、後文字列断片情報として未処理の文字列断片情報から、ステップS42で取得した前文字列断片情報よりも後に位置する文字列断片情報を解析結果情報31と分割結果情報32と除去結果情報33とに基づいて取得する。
【0027】
続いて、文字列結合部14は、前文字列断片情報と後文字列断片情報とが同一のオブジェクト内に含まれるか否かを判別する(ステップS46)。換言するならば、文字列結合部14は、前文字列断片情報の位置情報と後文字列断片情報の位置情報とが一致するか否かを判別する。前文字列断片情報と後文字列断片情報とが同一のオブジェクト内に含まれる(両者の位置情報が一致する)と判別した場合、文字列結合部14は、続いて、ステップS48に係る処理を行う。他方、前文字列断片情報と後文字列断片情報とが同一のオブジェクト内に含まれない(両者の位置情報が一致しない)と判別した場合、文字列結合部14は、続いて、ステップS56に係る処理を行う。
ステップS48では、文字列結合部14は、前文字列断片情報と後文字列断片情報とが隣接しているか否かを判別する。より具体的には、文字列結合部14は、前文字列断片情報と後文字列断片情報とが同一のセルに含まれる場合、一の文字列情報が分割されていることになるので、文字列結合部14は、前文字列断片情報と後文字列断片情報とに係る解析結果情報31と分割結果情報32と除去結果情報33とに基づいて、分割される前の位置関係を特定して、前文字列断片情報と後文字列断片情報とが隣接しているか否かを判別する。前文字列断片情報と後文字列断片情報とが隣接していると判別した場合、文字列結合部14は、続いて、ステップS50に係る処理を行う。他方、前文字列断片情報と後文字列断片情報とが隣接していないと判別した場合、文字列結合部14は、続いて、ステップS52に係る処理を行う。
【0028】
ステップS50では、文字列結合部14は、後文字列断片情報が、分割後文字列情報から非解析表現情報が非解析表現除去部13により除去された文字列断片情報であるか否かを除去結果情報23及び除去結果情報33に基づいて判別する。後文字列断片情報が分割後文字列情報から非解析表現情報が非解析表現除去部13により除去された文字列断片情報であると判別した場合、文字列結合部14は、続いて、ステップS52に係る処理を行う。他方、後文字列断片情報が、分割後文字列情報から非解析表現情報が非解析表現除去部13により除去された文字列断片情報でないと判別した場合、文字列結合部14は、続いて、ステップS64に係る処理を行う。
【0029】
ステップS52では、文字列結合部14は、現在の後文字列断片情報を処理済みとし、後文字列断片情報として未処理の文字列断片情報があるか否かを判別する。後文字列断片情報として未処理の文字列断片情報があると判別した場合、文字列結合部14は、続いて、ステップS44に係る処理を行う。他方、後文字列断片情報として未処理の文字列断片情報がないと判別した場合、文字列結合部14は、続いて、ステップS54に係る処理を行う。
ステップS54では、文字列結合部14は、現在の前文字列断片情報を処理済みとし、前文字列断片情報として未処理の文字列断片情報があるか否かを判別する。前文字列断片情報として未処理の文字列断片情報があると判別した場合、文字列結合部14は、続いて、ステップS42に係る処理を行う。他方、前文字列断片情報として未処理の文字列断片情報がないと判別した場合、文字列結合部14は、結合候補抽出処理を終了する。
【0030】
ステップS56では、文字列結合部14は、前文字列断片情報と後文字列断片情報とが隣接するオブジェクト内にあるか否かを位置情報に基づいて判別する。換言するならば、文字列結合部14は、前文字列断片情報が含まれるオブジェクトと後文字列断片情報が含まれるオブジェクトとが隣接するか否かを位置情報に基づいて判別する。前文字列断片情報と後文字列断片情報とが隣接するオブジェクト内にあると判別した場合、文字列結合部14は、続いて、ステップS58に係る処理を行う。他方、前文字列断片情報と後文字列断片情報とが隣接するオブジェクト内にないと判別した場合、文字列結合部14は、続いて、ステップS52に係る処理を行う。
ステップS58では、文字列結合部14は、前文字列断片情報がオブジェクトの末尾の文字列断片情報であるか否かを解析結果情報31と分割結果情報32と除去結果情報33とに基づいて判別する。より具体的には、文字列結合部14は、前文字列断片情報に係るオブジェクトの位置情報と同一の位置情報があるか否かにより、当該オブジェクトに含まれる全ての文字列断片情報を特定し、他の文字列断片情報が当該オブジェクトに含まれていると特定した場合、当該オブジェクトに含まれる全ての文字列断片情報の分割結果情報32と除去結果情報33とに基づいて、前文字列断片情報が当該オブジェクトの末尾にあるか否かを判別する。
前文字列断片情報がオブジェクトの末尾の文字列断片情報であると判別した場合、文字列結合部14は、続いて、ステップS60に係る処理を行う。他方、前文字列断片情報がオブジェクトの末尾の文字列断片情報でないと判別した場合、文字列結合部14は、続いて、ステップS52に係る処理を行う。
【0031】
ステップS60では、文字列結合部14は、後文字列断片情報がオブジェクトの先頭の文字列断片情報であるか否かを解析結果情報31と分割結果情報32と除去結果情報33とに基づいて判別する。より具体的には、文字列結合部14は、後文字列断片情報に係るオブジェクトの位置情報と同一の位置情報があるか否かにより、当該オブジェクトに含まれる全ての文字列断片情報を特定し、他の文字列断片情報が当該オブジェクトに含まれていると特定した場合、当該オブジェクトに含まれる全ての文字列断片情報の分割結果情報32と除去結果情報33とに基づいて、後文字列断片情報が当該オブジェクトの先頭にあるか否かを判別する。
後文字列断片情報がオブジェクトの先頭の文字列断片情報であると判別した場合、文字列結合部14は、続いて、ステップS62に係る処理を行う。他方、後文字列断片情報がオブジェクトの先頭の文字列断片情報でないと判別した場合、文字列結合部14は、続いて、ステップS52に係る処理を行う。
ステップS62では、文字列結合部14は、前文字列断片情報が含まれるオブジェクトに係る書式情報と後文字列断片情報が含まれるオブジェクトに係る書式情報とにより両オブジェクトが区別(識別)されているか否かを判別する。例えば、前文字列断片情報が含まれるオブジェクトの色が青色で、後文字列断片情報が含まれるオブジェクトの色が緑色であり、オブジェクトの色が異なる場合、文字列結合部14は、両オブジェクトが区別されていると判別する。両オブジェクトが区別されていると判別した場合、文字列結合部14は、続いて、ステップS52に係る処理を行う。他方、両オブジェクトが区別されていないと判別した場合、文字列結合部14は、続いて、ステップS64に係る処理を行う。
ステップS64では、文字列結合部14は、前文字列断片情報及び後文字列断片情報を結合候補に設定し、続いて、ステップS52に係る処理を行う。
【0032】
ここで、結合候補抽出に係る各種の判別の内容については、ファイルに予め定義され、記憶装置2に記憶されている。したがって、ユーザは、判別の方法を適宜組み合わせることができ、判別の方法を変更(追加、修正、削除)することもできる。すなわち、結合候補抽出に係る各種の判別は、これに限られるものではない。
【0033】
図6〜図9に示す第1の事例及び図10〜図13に示す第2の事例を参照して、ファイル解析部11、文字列分割部12、非解析表現除去部13、及び文字列結合部14における各動作の例を説明する。
【0034】
(第1の事例)
図6は、文書情報の例を示す図である。文書情報は、オブジェクトの一例であるセル51及びセル52を含んで構成される。セル51及びセル52の各々には、文字列情報が含まれている。また、セル51及びセル52には、書式情報の一例である罫線及びテキストの折り返しが設定されている。
図7は、図6に示した文書情報についてのファイル解析処理後のデータ、文字列分割処理後のデータ、及び非解析表現除去処理後のデータの例を示す図である。ここで、図中のAは、「個別業務システムで利用されている職員情報のうち、共通的に使用されている職員情報について保管や更新など一元管理を行う」を簡略化した表現であり、Bは、「データベースは各業務アプリケーションで共通に利用できる情報を持つこと」を簡略化した表現である。また、図中のCは、「上記、職員情報一元化を何らかの方法でシステム化したい」を簡略化した表現であり、Dは、「案としては、間にサーバをおき、中間ファイル(マスタではない)を置いて、実装する」を簡略化した表現である。
【0035】
(ファイル解析処理)
ファイル解析部11は、図6に示した文書情報を解析し、セル毎に、文字列情報、位置情報、及び書式情報を抽出する(ステップS2を参照のこと。)。
より具体的には、ファイル解析部11は、セル51に含まれる文字列情報70、セル51の位置情報「F21」、セル51の書式情報「罫線:上下左右」、セル52に含まれる文字列情報71、セル52の位置情報「F22」、及びセル52の書式情報「罫線:上下左右」を抽出する。
【0036】
(文字列分割処理)
文字列分割部12は、文の区切りを表すデリミタ情報を用いて文字列情報を分割し、分割後文字列情報等を抽出する(ステップS4を参照のこと。)。
より具体的には、文字列分割部12は、文字列情報70を「改行」毎に分割して、分割後文字列情報80と分割後文字列情報81とを抽出する。また、文字列分割部12は、文字列情報71を「改行」毎に分割して、分割後文字列情報82と分割後文字列情報83とを抽出する。
文字列分割部12は、分割後文字列情報が文字列情報において占める範囲を表す(換言するならば、オブジェクトにおける位置を表す)範囲情報及びデリミタ情報を抽出する。より具体的には、文字列分割部12は、文字列情報70については、分割後文字列情報80についての範囲情報「範囲:1〜59」、分割後文字列情報81についての範囲情報「範囲:61〜96」、及びデリミタ情報「改行」を抽出する。また、文字列分割部12は、文字列情報71については、分割後文字列情報82についての範囲情報「範囲:1〜27」、分割後文字列情報83についての範囲情報「範囲:29〜68」、及びデリミタ情報「改行」を抽出する。
【0037】
(非解析表現処理)
非解析表現除去部13は、非解析表現情報を分割後文字列情報から除去し、文字列断片情報等を抽出する(ステップS6を参照のこと。)。
より具体的には、非解析表現除去部13は、先頭にある記号情報「・」を分割後文字列情報80から除去し、文字列断片情報90を抽出する。また、非解析表現除去部13は、先頭にある記号情報「・」を分割後文字列情報81から除去し、文字列断片情報91を抽出する。また、非解析表現除去部13は、分割後文字列情報82には記号情報等が含まれていないことを確認し、分割後文字列情報82を文字列断片情報92として抽出する。また、非解析表現除去部13は、分割後文字列情報83には記号情報等が含まれていないことを確認し、分割後文字列情報83を文字列断片情報93として抽出する。
【0038】
また、非解析表現除去部13は、範囲情報及び非解析表現情報を抽出する。なお、非解析表現除去部13は、分割後文字列情報から記号情報等を除去した場合には、除去したことを表すために範囲情報を変更する。
より具体的には、非解析表現除去部13は、分割後文字列情報80から記号情報「・」を除去したので、分割後文字列情報80についての範囲情報「範囲:2〜59」及び記号情報「・」を抽出する。付言するならば、非解析表現除去部13は、記号情報「・」を抜き出した分だけ範囲情報を狭めるので、この例では、先頭に位置する記号情報「・」を除去したので、範囲情報を「範囲:1〜59」を「範囲:2〜59」に変更している。非解析表現除去部13は、分割後文字列情報81から記号情報「・」を除去したので、分割後文字列情報81についての範囲情報「範囲:62〜96」及び記号情報「・」を抽出する。非解析表現除去部13は、分割後文字列情報82については、範囲情報「範囲:1〜27」及び記号情報「(なし)」を抽出する。非解析表現除去部13は、分割後文字列情報83については、範囲情報「範囲:29〜68」及び記号情報「(なし)」を抽出する。
【0039】
図8を参照して、結合候補抽出処理の例について説明する。図8は、結合候補となり得る文字列断片情報の組み合わせの例を示す図である。
(結合候補抽出処理)
文字列結合部14は、位置情報及び範囲情報に基づいて特定する先頭の文字列断片情報から順次、結合候補があるか否かを判別する。
この例では、文字列結合部14は、初めに、先頭の文字列断片情報90について、文字列断片情報91が結合候補となるか否かを判別し、続いて、文字列断片情報92が結合候補となるか否かを判別し、続いて、文字列断片情報93が結合候補となるか否かを判別する(処理A)。次に、文字列結合部14は、文字列断片情報91について、文字列断片情報92が結合候補となるか否かを判別し、続いて、文字列断片情報93が結合候補となるか否かを判別する(処理B)。最後に、文字列結合部14は、文字列断片情報92について、文字列断片情報93が結合候補となるか否かを判別する(処理C)。
【0040】
(処理A)
まず、文字列断片情報90について文字列断片情報91が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列結合部14は、文字列断片情報90が含まれるセル51と文字列断片情報91が含まれるセル51とが同一のセルであるので、文字列断片情報90と文字列断片情報91とが隣接するか否かを判別する(ステップS48を参照のこと。)。このとき、文字列結合部14は、文字列断片情報90の範囲情報「範囲:2〜59」及びデリミタ情報「改行」と文字列断片情報91の範囲情報「範囲:62〜96」及び記号情報「・」とに基づいて、デリミタ情報「改行」が60番目の情報であり、記号情報「・」が61番目の情報であると解釈し、文字列断片情報90と文字列断片情報91とが隣接する文字列断片情報であると判別する。しかしながら、文字列断片情報90よりも後に位置する文字列断片情報91に係る分割後文字列情報81から記号情報「・」が除去されていることから、文字列結合部14は、文字列断片情報90について文字列断片情報91を結合候補ではないと判別する(ステップS50を参照のこと。)。
【0041】
次に、文字列断片情報90について文字列断片情報92が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列結合部14は、文字列断片情報90が含まれるセル51と文字列断片情報92が含まれるセル52とが隣接するセルであるので、文字列断片情報92よりも前に位置する文字列断片情報90がセル51の末尾にあるか否かを判別する(ステップS58を参照のこと。)。このとき、文字列結合部14は、セル51の位置情報に基づいて、セル51に含まれる全ての文字列断片情報を検索する。この例では、文字列断片情報90と文字列断片情報91とが検索される。そして、検索された全ての文字列断片情報の範囲情報を比較して、末尾にある文字列断片情報を特定する。この例では、文字列断片情報91の範囲情報「範囲:62〜96」が文字列断片情報90の範囲情報「範囲:2〜59」よりも後に位置することを示しているので、セル51の末尾にあるのは、文字列断片情報91である。したがって、文字列結合部14は、文字列断片情報90が末尾にないと判別し、文字列断片情報90について文字列断片情報92を結合候補ではないと判別する。
なお、文字列断片情報90について文字列断片情報93が結合候補になるか否かの判別の方法については、文字列断片情報90について文字列断片情報92が結合候補になるか否かの判別の方法と同様であるので、説明を省略する。
【0042】
(処理B)
まず、文字列断片情報91について文字列断片情報92が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列結合部14は、文字列断片情報91が含まれるセル51と文字列断片情報92が含まれるセル52とが隣接するセルであるので、セル間で書式情報が異なるか否かを判別する(ステップS62を参照のこと。)。なお、説明の便宜上、ステップS58及びステップS60に関するここでの説明については省略している。このとき、文字列結合部14は、セル51の書式情報「罫線:上下左右」とセル52の書式情報「罫線:上下左右」とに基づいて、セル51とセル52との間に意味の切れ目を示す罫線があると判別し、文字列断片情報91について文字列断片情報92を結合候補ではないと判別する。
【0043】
次に、文字列断片情報91について文字列断片情報93が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列結合部14は、文字列断片情報91が含まれるセル51と文字列断片情報93が含まれるセル52とが隣接するセルであるので、文字列断片情報91よりも後に位置する文字列断片情報93がセル52の先頭にあるか否かを判別する(ステップS60を参照のこと。)。このとき、文字列結合部14は、セル52の位置情報に基づいて、セル52に含まれる全ての文字列断片情報を検索する。この例では、文字列断片情報92と文字列断片情報93とが検索される。そして、検索された全ての文字列断片情報の範囲情報を比較して、先頭にある文字列断片情報を特定する。この例では、文字列断片情報93の範囲情報「範囲:29〜68」が文字列断片情報92の範囲情報「範囲:1〜27」よりも後に位置することを示しているので、セル52の先頭にあるのは、文字列断片情報92である。したがって、文字列結合部14は、文字列断片情報93が先頭にないと判別し、文字列断片情報91について文字列断片情報93を結合候補ではないと判別する。
【0044】
(処理C)
文字列断片情報92について文字列断片情報93が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列結合部14は、文字列断片情報92が含まれるセル52と文字列断片情報93が含まれるセル52とが同一のセルであるので、文字列断片情報92と文字列断片情報93とが隣接するか否かを判別する(ステップS48を参照のこと。)。このとき、文字列結合部14は、文字列断片情報92の範囲情報「範囲:1〜27」及びデリミタ情報「改行」と文字列断片情報91の範囲情報「範囲:29〜68」及び記号情報「(なし)」とに基づいて、デリミタ情報「改行」が28番目の情報であると解釈し、文字列断片情報92と文字列断片情報93とが隣接する文字列断片情報であると判別する。そして、文字列断片情報92よりも後に位置する文字列断片情報93に係る分割後文字列情報83から記号情報等が除去されていないことから、文字列結合部14は、文字列断片情報92について文字列断片情報93を結合候補であると判別する(ステップS50を参照のこと。)。
【0045】
図9を参照して、結合判定処理の例及び出力結果100の例について説明する。
(結合判定処理)
文字列結合部14は、結合候補として識別した一対の文字列断片情報を結合するか否かを順次判別する。より具体的には、文字列結合部14は、解析結果情報31、分割結果情報32、及び除去結果情報33に基づいて、文字列断片情報92及び文字列断片情報93がヒューリスティクスなルールによる条件に基づいて文字列断片情報92及び文字列断片情報93を結合するか否かを判別する(ステップS28を参照のこと。)。この例では、文字列断片情報93よりも前に位置する文字列断片情報92が句点で終わっているので、文字列結合部14は、結合しないと判別し、結合候補である文字列断片情報92及び文字列断片情報93を結合しないと判定する。
【0046】
(出力結果)
文字列結合部14は、結合判定処理の結果に基づいて、文字列断片情報を結合する(ステップS10を参照のこと。)。この例では、文字列結合部14は、文字列断片情報90〜文字列断片情報93の何れの組み合わせについても結合しないと判定したので、文字列断片情報90〜文字列断片情報93の各々を一文として出力装置4に出力する。
【0047】
(第2の事例)
図10は、文書情報の例を示す図である。文書情報は、オブジェクトの一例であるセル54、セル55、セル56、セル57、及びセル58を含んで構成される。セル54〜セル58の各々には、文字列情報が含まれている。なお、セル54〜セル58には、書式情報が設定されていない。
図11は、図10に示した文書情報についてのファイル解析処理後のデータ、文字列分割処理後のデータ、及び非解析表現除去処理後のデータの例を示す図である。ここで、図中のUは、「組織変更がある場合、事前に予備系側で新組織変更後の」を簡略化した表現であり、Vは、「フォルダ構成を構築ならびにテストを行うことが可能であり、」を簡略化した表現である。また、図中のWは、「組織変更実施にリンク先を切り替えるだけで、新組織構成」を簡略化した表現であり、Xは、「に対応可能」を簡略化した表現であり、Yは、「このとき、旧組織構成のフォルダならびにファイル」を簡略化した表現であり、Zは、「のアクセスも可能」を簡略化した表現である。また、V等の先頭にある四角の記号は、先頭の位置を合わせるために用いられている空白を表現している。
【0048】
(ファイル解析処理)
ファイル解析部11は、図10に示した文書情報を解析し、セル毎に、文字列情報、位置情報、及び書式情報を抽出する(ステップS2を参照のこと。)。
より具体的には、ファイル解析部11は、セル54に含まれる文字列情報74、セル54の位置情報「J22」、セル54の書式情報「(なし)」、セル55に含まれる文字列情報75、セル55の位置情報「J23」、及びセル55の書式情報「(なし)」を抽出する。更に、ファイル解析部11は、セル56に含まれる文字列情報76、セル56の位置情報「J24」、セル56の書式情報「(なし)」、セル57に含まれる文字列情報77、セル57の位置情報「J25」、セル57の書式情報「(なし)」、セル58に含まれる文字列情報78、セル58の位置情報「J26」、及びセル58の書式情報「(なし)」を抽出する。
【0049】
(文字列分割処理)
文字列分割部12は、デリミタ情報を用いて文字列情報を分割し、分割後文字列情報等を抽出する(ステップS4を参照のこと。)。
より具体的には、文字列分割部12は、文字列情報74についてデリミタ情報毎に分割を試みるが、文字列情報74にはデリミタ情報が含まれていないので、文字列情報74を分割後文字列情報84として抽出する。そして、文字列分割部12は、文字列情報74については、分割後文字列情報84についての範囲情報「範囲:1〜26」及びデリミタ情報「(なし)」を抽出する。
また、文字列分割部12は、文字列情報75についてデリミタ情報毎に分割を試みるが、文字列情報75にはデリミタ情報が含まれていないので、文字列情報75を分割後文字列情報85として抽出する。そして、文字列分割部12は、文字列情報75については、分割後文字列情報85についての範囲情報「範囲:1〜29」及びデリミタ情報「(なし)」を抽出する。
【0050】
また、文字列分割部12は、文字列情報76についてデリミタ情報毎に分割を試みるが、文字列情報76にはデリミタ情報が含まれていないので、文字列情報76を分割後文字列情報86として抽出する。そして、文字列分割部12は、文字列情報76については、分割後文字列情報86についての範囲情報「範囲:1〜27」及びデリミタ情報「(なし)」を抽出する。
また、文字列分割部12は、文字列情報77をデリミタ情報「句点」毎に分割して、分割後文字列情報87と分割後文字列情報88とを抽出する。文字列分割部12は、文字列情報77については、分割後文字列情報87についての範囲情報「範囲:1〜7」、分割後文字列情報88についての範囲情報「範囲:8〜30」、及びデリミタ情報「。」を抽出する。
また、文字列分割部12は、文字列情報78についてデリミタ情報毎に分割を試みるが、文字列情報78にはデリミタ情報が含まれていないので、文字列情報78を分割後文字列情報89として抽出する。そして、文字列分割部12は、文字列情報78については、分割後文字列情報89についての範囲情報「範囲:1〜10」及びデリミタ情報「(なし)」を抽出する。
【0051】
(非解析表現処理)
非解析表現除去部13は、非解析表現情報を分割後文字列情報から除去し、文字列断片情報等を抽出する(ステップS6を参照のこと。)。
より具体的には、非解析表現除去部13は、先頭にある記号情報「・」を分割後文字列情報84から除去し、文字列断片情報94を抽出する。また、非解析表現除去部13は、分割後文字列情報84から記号情報「・」を除去したので、文字列断片情報94についての範囲情報「範囲:2〜26」及び記号情報「・」を抽出する。
非解析表現除去部13は、先頭にある装飾表現情報「□(空白)」を分割後文字列情報85から除去し、文字列断片情報95を抽出する。また、非解析表現除去部13は、分割後文字列情報85から装飾表現情報「□(空白)」を除去したので、文字列断片情報95についての範囲情報「範囲:2〜29」及び装飾表現情報「□(空白)」を抽出する。
非解析表現除去部13は、先頭にある装飾表現情報「□(空白)」を分割後文字列情報86から除去し、文字列断片情報96を抽出する。また、非解析表現除去部13は、分割後文字列情報86から装飾表現情報「□(空白)」を除去したので、文字列断片情報96についての範囲情報「範囲:2〜27」及び装飾表現情報「□(空白)」を抽出する。
【0052】
非解析表現除去部13は、先頭にある装飾表現情報「□(空白)」を分割後文字列情報87から除去し、文字列断片情報97を抽出する。また、非解析表現除去部13は、分割後文字列情報87から装飾表現情報「□(空白)」を除去したので、文字列断片情報97についての範囲情報「範囲:2〜7」及び装飾表現情報「□(空白)」を抽出する。
非解析表現除去部13は、分割後文字列情報88には装飾表現情報等が含まれていないことを確認し、分割後文字列情報88を文字列断片情報98として抽出する。また、非解析表現除去部13は、文字列断片情報98についての範囲情報「範囲:8〜30」及び装飾表現情報「(なし)」を抽出する。
非解析表現除去部13は、先頭にある装飾表現情報「□(空白)」を分割後文字列情報89から除去し、文字列断片情報99を抽出する。また、非解析表現除去部13は、分割後文字列情報89から装飾表現情報「□(空白)」を除去したので、文字列断片情報99についての範囲情報「範囲:2〜10」及び装飾表現情報「□(空白)」を抽出する。
【0053】
図12を参照して、結合候補抽出処理の例について説明する。図12は、結合候補となり得る文字列断片情報の組み合わせの例を示す図である。
(結合候補抽出処理)
文字列結合部14は、初めに、先頭の文字列断片情報94について、文字列断片情報95が結合候補となるか否かを判別し、続いて、文字列断片情報96が結合候補となるか否かを判別し、続いて、文字列断片情報97が結合候補となるか否かを判別し、続いて、文字列断片情報98が結合候補となるか否かを判別し、続いて、文字列断片情報99が結合候補となるか否かを判別する(処理U)。
次に、文字列結合部14は、文字列断片情報95について、文字列断片情報96が結合候補となるか否かを判別し、続いて、文字列断片情報97が結合候補となるか否かを判別し、続いて、文字列断片情報98が結合候補となるか否かを判別し、続いて、文字列断片情報99が結合候補となるか否かを判別する(処理V)。
【0054】
次に、文字列結合部14は、文字列断片情報96について、文字列断片情報97が結合候補となるか否かを判別し、続いて、文字列断片情報98が結合候補となるか否かを判別し、続いて、文字列断片情報99が結合候補となるか否かを判別する(処理W)。
次に、文字列結合部14は、文字列断片情報97について、文字列断片情報98が結合候補となるか否かを判別し、続いて、文字列断片情報99が結合候補となるか否かを判別する(処理X)。
最後に、文字列結合部14は、文字列断片情報98について、文字列断片情報99が結合候補となるか否かを判別する(処理Y)。
【0055】
(処理U)
まず、文字列断片情報94について文字列断片情報95が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列断片情報94が含まれるセル54と文字列断片情報95が含まれるセル55とが隣接するセルであり、文字列断片情報95よりも前に位置する文字列断片情報94がセル54の末尾にあり、文字列断片情報94よりも後に位置する文字列断片情報95がセル55の先頭にあり、セルに書式情報が設定されていないので、文字列結合部14は、文字列断片情報94について文字列断片情報95を結合候補であると判別する(ステップS62を参照のこと。)。
次に、文字列断片情報94について文字列断片情報96が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列断片情報94が含まれるセル54と文字列断片情報96が含まれるセル56とは、同一のセルでなく隣接するセルでもないので、文字列結合部14は、文字列断片情報94について文字列断片情報96を結合候補ではないと判別する(ステップS56を参照のこと。)。
なお、文字列断片情報94について文字列断片情報97〜文字列断片情報99の各々が結合候補になるか否かを判別する方法については、文字列断片情報94について文字列断片情報96が結合候補になるか否かを判別する方法と同様であるので、説明を省略する。
【0056】
(処理V)
文字列断片情報95について文字列断片情報96が結合候補になるか否かを判別する方法については、文字列断片情報94について文字列断片情報95が結合候補になるか否かを判別する方法と同様であり、文字列結合部14は、文字列断片情報95について文字列断片情報96を結合候補であると判別する。
また、文字列断片情報95について文字列断片情報97〜文字列断片情報99の各々が結合候補になるか否かを判別する方法については、文字列断片情報94について文字列断片情報96が結合候補になるか否かを判別する方法と同様であり、文字列結合部14は、文字列断片情報95について文字列断片情報97〜文字列断片情報99の何れもが結合候補ではないと判別する。
【0057】
(処理W)
まず、文字列断片情報96について文字列断片情報97が結合候補になるか否かを判別する方法については、文字列断片情報94について文字列断片情報95が結合候補になるか否かを判別する方法と同様であり、文字列結合部14は、文字列断片情報96について文字列断片情報97を結合候補であると判別する。
次に、文字列断片情報96について文字列断片情報98が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列断片情報96が含まれるセル56と文字列断片情報98が含まれるセル57とは隣接するセルであるが、文字列断片情報96よりも後に位置する文字列断片情報98がセル57の先頭にないので、文字列結合部14は、文字列断片情報96について文字列断片情報98を結合候補ではないと判別する(ステップS60を参照のこと。)。なお、説明の便宜上、ステップS58に関するここでの説明については省略している。
また、文字列断片情報96について文字列断片情報99が結合候補になるか否かを判別する方法については、文字列断片情報94について文字列断片情報96が結合候補になるか否かを判別する方法と同様であり、文字列結合部14は、文字列断片情報96について文字列断片情報99を結合候補ではないと判別する。
【0058】
(処理X)
まず、文字列断片情報97について文字列断片情報98が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列断片情報97が含まれるセル57と文字列断片情報98が含まれるセル57とが同一のセルであるので、文字列結合部14は、文字列断片情報97の範囲情報と文字列断片情報98の範囲情報とに基づいて両文字列断片情報が隣接しているか否かを判別する。そして、文字列結合部14は、両文字列断片情報が隣接していると判別し、文字列断片情報98に分割後文字列情報88から非解析表現情報が除去されていないので、文字列断片情報97について文字列断片情報98を結合候補であると判別する(ステップS50を参照のこと。)。
次に、文字列断片情報97について文字列断片情報99が結合候補になるか否かを判別する方法についてより詳細に説明する。文字列断片情報97が含まれるセル57と文字列断片情報99が含まれるセル58とは隣接するセルであるが、文字列断片情報99よりも前に位置する文字列断片情報97がセル57の末尾にないので、文字列結合部14は、文字列断片情報97について文字列断片情報99を結合候補ではないと判別する(ステップS58を参照のこと。)。
【0059】
(処理Y)
文字列断片情報98について文字列断片情報99が結合候補になるか否かを判別する方法については、文字列断片情報94について文字列断片情報95が結合候補になるか否かを判別する方法と同様であり、文字列結合部14は、文字列断片情報98について文字列断片情報99を結合候補であると判別する。
【0060】
図13を参照して、結合判定処理の例及び出力結果101の例について説明する。
(結合判定処理)
文字列結合部14は、結合候補として識別した文字列断片情報94及び文字列断片情報95を結合するか否かを判定する(処理UV)。また、文字列結合部14は、結合候補として識別した文字列断片情報95及び文字列断片情報96を結合するか否かを判定する(処理VW)。また、文字列結合部14は、結合候補として識別した文字列断片情報96及び文字列断片情報97を結合するか否かを判定する(処理WX)。また、文字列結合部14は、結合候補として識別した文字列断片情報97及び文字列断片情報98を結合するか否かを判定する(処理XY)。また、文字列結合部14は、結合候補として識別した文字列断片情報98及び文字列断片情報99を結合するか否かを判定する(処理YZ)。
【0061】
(処理UV)
文字列結合部14は、文字列断片情報94と文字列断片情報95とがヒューリスティクスなルールによる条件に基づいて結合するか否かを判別する。この例では、文字列結合部14は、ヒューリスティクスなルールによる条件の何れにも該当しないので、文字列断片情報94及び文字列断片情報95を結合し得ると判別する。
続いて、文字列結合部14は、文字列断片情報94及び文字列断片情報95について形態素解析をして算出したコストに基づいて文字列断片情報94及び文字列断片情報95を結合するか否かを判定する。より具体的には、文字列結合部14は、文字列断片情報94について形態素解析をしてコスト「35372」を算出し、文字列断片情報95について形態素解析をしてコスト「51387」を算出し、文字列断片情報94と文字列断片情報95とを結合した仮の結合情報について形態素解析をしてコスト「86177」を算出する。そして、文字列結合部14は、文字列断片情報94に係るコストと文字列断片情報95に係るコストとの和「86759」が、仮の結合情報に係るコスト「86177」よりも大きいので、文字列断片情報94及び文字列断片情報95を結合すると判定する。
【0062】
(処理VW)
文字列結合部14は、文字列断片情報95と文字列断片情報96とがヒューリスティクスなルールによる条件に基づいて結合するか否かを判別する。この例では、文字列断片情報96よりも前に位置する文字列断片情報95が読点で終わっているので、文字列結合部14は、文字列断片情報95及び文字列断片情報96を結合すると判定する。
【0063】
(処理WX)
文字列結合部14は、文字列断片情報96と文字列断片情報97とがヒューリスティクスなルールによる条件に基づいて結合するか否かを判別する。この例では、文字列結合部14は、ヒューリスティクスなルールによる条件の何れにも該当しないので、文字列断片情報96及び文字列断片情報97を結合し得ると判別する。
続いて、文字列結合部14は、文字列断片情報96及び文字列断片情報97について形態素解析をして算出したコストに基づいて文字列断片情報96及び文字列断片情報97を結合するか否かを判定する。より具体的には、文字列結合部14は、文字列断片情報96について形態素解析をしてコスト「29173」を算出し、文字列断片情報97について形態素解析をしてコスト「10033」を算出し、文字列断片情報96と文字列断片情報97とを結合した仮の結合情報について形態素解析をしてコスト「36982」を算出する。そして、文字列結合部14は、文字列断片情報96に係るコストと文字列断片情報97に係るコストとの和「39206」が、仮の結合情報に係るコスト「36982」よりも大きいので、文字列断片情報96及び文字列断片情報97を結合すると判定する。
【0064】
(処理XY)
文字列結合部14は、文字列断片情報97及び文字列断片情報98がヒューリスティクスなルールによる条件に基づいて文字列断片情報97及び文字列断片情報98を結合するか否かを判別する。この例では、文字列断片情報98よりも前に位置する文字列断片情報97が句点で終わっているので、文字列結合部14は、文字列断片情報97及び文字列断片情報98を結合しないと判定する。
【0065】
(処理YZ)
文字列結合部14は、文字列断片情報98と文字列断片情報99とがヒューリスティクスなルールによる条件に基づいて結合するか否かを判別する。この例では、文字列結合部14は、ヒューリスティクスなルールによる条件の何れにも該当しないので、文字列断片情報98及び文字列断片情報99を結合し得ると判別する。
続いて、文字列結合部14は、文字列断片情報98及び文字列断片情報99について形態素解析をして算出したコストに基づいて文字列断片情報98及び文字列断片情報99を結合するか否かを判定する。より具体的には、文字列結合部14は、文字列断片情報98について形態素解析をしてコスト「50468」を算出し、文字列断片情報99について形態素解析をしてコスト「11662」を算出し、文字列断片情報98と文字列断片情報99とを結合した仮の結合情報について形態素解析をしてコスト「59170」を算出する。そして、文字列結合部14は、文字列断片情報98に係るコストと文字列断片情報99に係るコストとの和「62130」が、仮の結合情報に係るコスト「59170」よりも大きいので、文字列断片情報98及び文字列断片情報99を結合すると判定する。
【0066】
(出力結果)
文字列結合部14は、結合判定処理の結果に基づいて、文字列断片情報を結合する。この例では、文字列結合部14は、文字列断片情報94及び文字列断片情報95、文字列断片情報95及び文字列断片情報96、ならびに文字列断片情報96及び文字列断片情報97を夫々結合すると判定したので、文字列断片情報94〜文字列断片情報97を結合して一文として出力装置4に出力する。また、文字列結合部14は、文字列断片情報98及び文字列断片情報99を結合すると判定したので、文字列断片情報98及び文字列断片情報99を結合して一文として出力装置4に出力する。
【0067】
このように、本実施形態では、一の文を構成する複数の断片情報がユーザによって様々なオブジェクトに記述がなされている場合であっても、オブジェクトの位置情報に基づいてオブジェクトの位置関係を特定するができるので、一の文を構成する断片情報に関わり得る同一のオブジェクト及び隣接するオブジェクトを特定することで、断片情報を文の単位に結合することができるようになる。また、本実施形態では、一の文を構成する断片情報に関わり得るオブジェクトをオブジェクトの書式情報に基づいて絞り込むことができる。
更に、本実施形態では、複数の文を構成する複数の断片情報がユーザによって一のオブジェクトに記述がなされている場合であっても、断片情報に係る範囲情報及びデリミタ情報に基づいて断片情報がどの文に属するのかを判別することができる。また、本実施形態では、断片情報がどの文に属するのかを装飾情報に基づいてより正確に判別することができるようになる。
したがって、本実施形態に係る構成によれば、入力の形式が特定されていない文書情報であっても、文書情報から文をより適切に抽出することができる。
【0068】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0069】
1 CPU
2 記憶装置
3 入力装置
4 出力装置
5 バス

【特許請求の範囲】
【請求項1】
文字列データが含まれる複数のオブジェクトに係る文書データから、前記複数のオブジェクトの各々に含まれる文字列データと、前記複数のオブジェクトの各々を解析して得る解析結果情報とを抽出する第1の抽出手段と、
前記第1の抽出手段で抽出された文字列データの各々を文の区切り毎に分割する処理を行い、前記分割する処理を行った後のデータを断片データとして抽出する第2の抽出手段と、
前記第1の抽出手段で抽出された解析結果情報に基づいて前記第2の抽出手段で抽出された断片データの各々を結合するか否かを判別し、結合すると判別した断片データの各々を結合する結合手段と、
を有する情報処理装置。
【請求項2】
前記結合手段は、前記第2の抽出手段で抽出された断片データの各々から前記第1の抽出手段で抽出された解析結果情報に含まれるオブジェクトの位置情報に基づいて結合候補を識別し、結合候補であると識別した断片データを結合するか否かを判別し、結合すると判別した前記断片データの各々を結合する、
請求項1記載の情報処理装置。
【請求項3】
前記結合手段は、記憶装置に記憶されている、断片データを結合するか否かについての判定の基準が予め定められた条件情報に基づいて、前記結合候補であると識別した前記断片データを結合するか否かを判別する、
請求項2記載の情報処理装置。
【請求項4】
前記結合手段は、結合候補であると識別した断片データについて形態素解析を行い、形態素解析の結果に基づいて、前記結合候補であると識別した前記断片データを結合するか否かを判別する、
請求項2又は3記載の情報処理装置。
【請求項5】
前記結合手段は、前記結合候補であると識別した一対の断片データのうちの一方の断片データについて形態素解析をして算出されたコストと他方の断片データについて形態素解析をして算出されたコストとの和が、前記一方の断片データと前記他方の断片データとを結合したデータについて形態素解析をして算出されたコストよりも大きいと判別した場合或いは前記コスト以上であると判別した場合、前記一方の断片データと前記他方の断片データを結合する、
請求項4記載の情報処理装置。
【請求項6】
前記結合手段は、前記第2の抽出手段で抽出された断片データのうちの一の断片データが含まれるオブジェクトの位置情報と前記一の断片データとは異なる他の断片データが含まれるオブジェクトの位置情報とに基づいて、前記一の断片データが含まれるオブジェクトと前記他の断片データが含まれるオブジェクトとが同一のオブジェクトでないと判別し、かつ隣接するオブジェクトでもないと判別した場合、前記一の断片データ及び前記他の断片データについては結合候補でないと識別する、
請求項2乃至5の何れか1項記載の情報処理装置。
【請求項7】
前記第2の抽出手段は、前記分割する処理で前記第1の抽出手段で抽出された文字列データを分割した場合、分割したことを表す分割情報を抽出し、
前記結合手段は、前記第2の抽出手段で抽出された断片データのうちの一の断片データが含まれるオブジェクトの位置情報と前記一の断片データとは異なる他の断片データが含まれるオブジェクトの位置情報とに基づいて、前記一の断片データが含まれるオブジェクトと前記他の断片データが含まれるオブジェクトとが同一のオブジェクトであると判別し、前記第2の抽出手段で抽出された分割情報に基づいて、前記一の断片データと前記他の断片データとが隣接しないと判別した場合、前記一の断片データ及び前記他の断片データについては結合候補でないと識別する、
請求項2乃至6の何れか1項記載の情報処理装置。
【請求項8】
前記第2の手段で抽出された断片データの各々から、文に係る装飾を表す装飾情報を除去する除去手段を更に有し、
前記第2の抽出手段は、前記分割する処理で前記第1の抽出手段で抽出された文字列データを分割した場合、分割したことを表す分割情報を抽出し、
前記結合手段は、前記第2の抽出手段で抽出された断片データのうちの一の断片データが含まれるオブジェクトの位置情報と前記一の断片データとは異なる他の断片データが含まれるオブジェクトの位置情報とに基づいて、前記一の断片データが含まれるオブジェクトと前記他の断片データが含まれるオブジェクトとが同一のオブジェクトであると判別し、前記第2の抽出手段で抽出された分割情報に基づいて前記一の断片データ及び前記他の断片データのうち後ろに位置する断片データを特定し、後ろに位置する断片データから前記除去手段により装飾情報が除去されていると判別した場合、前記一の断片データ及び前記他の断片データについては結合候補でないと識別する、
請求項2乃至7の何れか1項記載の情報処理装置。
【請求項9】
前記第1の抽出手段は、前記複数のオブジェクトの各々の書式情報を抽出し、
前記結合手段は、前記第2の抽出手段で抽出された断片データのうちの一の断片データが含まれるオブジェクトの位置情報と前記一の断片データとは異なる他の断片データが含まれるオブジェクトの位置情報とに基づいて、前記一の断片データが含まれるオブジェクトと前記他の断片データが含まれるオブジェクトとが隣接するオブジェクトであると判別し、前記第1の抽出手段で抽出された前記一の断片データの書式情報及び前記他の断片データの書式情報に基づいて前記一の断片データが含まれるオブジェクトと前記他の断片データが含まれるオブジェクトとが区別されていると判別した場合、前記一の断片データ及び前記他の断片データについては結合候補でないと識別する、
請求項2乃至8の何れか1項記載の情報処理装置。
【請求項10】
文字列データが含まれる複数のオブジェクトに係る文書データから、前記複数のオブジェクトの各々に含まれる文字列データと、前記複数のオブジェクトの各々を解析して得る解析結果情報とを抽出する第1の抽出工程と、
前記第1の抽出工程で抽出された文字列データの各々を文の区切り毎に分割する処理を行い、前記分割する処理を行った後のデータを断片データとして抽出する第2の抽出工程と、
前記第1の抽出工程で抽出された解析結果情報に基づいて前記第2の抽出工程で抽出された断片データの各々を結合するか否かを判別し、結合すると判別した断片データの各々を結合する結合工程と、
を有する情報処理方法。
【請求項11】
コンピュータを、
文字列データが含まれる複数のオブジェクトに係る文書データから、前記複数のオブジェクトの各々に含まれる文字列データと、前記複数のオブジェクトの各々を解析して得る解析結果情報とを抽出する第1の抽出手段と、
前記第1の抽出手段で抽出された文字列データの各々を文の区切り毎に分割する処理を行い、前記分割する処理を行った後のデータを断片データとして抽出する第2の抽出手段と、
前記第1の抽出手段で抽出された解析結果情報に基づいて前記第2の抽出手段で抽出された断片データの各々を結合するか否かを判別し、結合すると判別した断片データの各々を結合する結合手段と、
して機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate