(57)【要約】【課題】文書のレイアウト属性情報や単語辞書の付加入力を用いずに、多種多量の文書を様式毎に分類すること。【解決手段】分析装置は、プログラムを実行するプロセッサと、前記プログラムおよびスプレッドシート形式の文書群を記憶する記憶デバイスと、を有する。プロセッサは、記憶デバイスから文書群を取得する取得処理と、取得処理によって取得された文書群内の文書間における各文書内のセルに含まれる文字列と、文字列を含むセルの位置と、の共通性に基づいて、文書群内の文書を、様式が共通する１以上の共通様式グループに分類する分類処理と、分類処理による分類結果を出力する出力処理と、を実行することを特徴とする。【選択図】図１
2018037017.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを実行するプロセッサと、前記プログラムおよびスプレッドシート形式の文書群を記憶する記憶デバイスと、を有する分析装置であって、
前記プロセッサは、
前記記憶デバイスから前記文書群を取得する取得処理と、
前記取得処理によって取得された文書群内の文書間における各文書内のセルに含まれる文字列と、前記文字列を含むセルの位置と、の共通性に基づいて、前記文書群内の文書を、様式が共通する１以上の共通様式グループに分類する分類処理と、
前記分類処理による分類結果を出力する出力処理と、
を実行することを特徴とする分析装置。
【請求項２】
請求項１に記載の分析装置であって、
前記分類処理では、前記プロセッサは、前記文書群内の文書を、前記各文書内のセル群のうち前記文字列を含むセルである有値セルおよび前記文字列を含まない無値セルの配置が同一または類似する１以上の類似配置グループに分類し、前記類似配置グループに属する文書群間における各文書内の前記有値セルに含まれる文字列と、前記有値セルの位置と、の共通性に基づいて、前記類似配置グループに属する文書群を、前記１以上の共通様式グループに分類することを特徴とする分析装置。
【請求項３】
請求項１に記載の分析装置であって、
前記プロセッサは、前記共通様式グループに属する文書群内の２以上の文書間で、前記文字列を含むセルの位置および前記文字列が共通であるという共通性に基づいて、前記文字列が項目の名称を表す項目名セルを特定する特定処理を実行し、
前記出力処理では、前記プロセッサは、前記共通様式グループに属する文書群において前記特定処理によって特定された項目名セルを示す情報を出力することを特徴とすることを特徴とする分析装置。
【請求項４】
請求項３に記載の分析装置であって、
前記特定処理では、前記プロセッサは、前記共通様式グループに属する文書群内の２以上の文書間で、前記文字列を含むセルの位置は共通であるが前記文字列が異なるという前記文字列の可変性に基づいて、前記文字列が前記項目の値を表す項目値セルを特定し、
前記出力処理では、前記プロセッサは、前記共通様式グループに属する文書群において前記特定処理によって特定された項目値セルを示す情報を出力することを特徴とすることを特徴とする分析装置。
【請求項５】
請求項４に記載の分析装置であって、
前記特定処理では、前記プロセッサは、特定の項目名セルと当該特定の項目名セルから行方向または列方向に並ぶ一連の項目値セルとの組み合わせであるテーブル領域を用いて、前記２以上の文書間で、前記文字列を含むセルの位置および前記文字列が共通するセルを共通セルとし、前記文字列を含むセルの位置は共通であるが前記文字列が異なるセルを可変セルとし、前記特定の項目名セルと同一行または列に存在する第１共通セルから前記テーブル領域と同一方向に並ぶ一連のセルに第２共通セルが含まれている場合、前記第２共通セルを前記項目値セルとして特定することを特徴とする分析装置。
【請求項６】
請求項４に記載の分析装置であって、
前記プロセッサは、前記共通様式グループに属する文書内での前記項目名セルと前記項目値セルとの位置関係に基づいて、前記項目名セルと前記項目値セルとを関連付ける関連付け処理を実行し、
前記出力処理では、前記プロセッサは、前記関連付け処理による関連付け結果を出力することを特徴とすることを特徴とする分析装置。
【請求項７】
請求項４に記載の分析装置であって、
前記プロセッサは、前記共通様式グループに属する文書内での前記項目名セルと前記項目値セルとの位置関係に基づいて、前記項目名セルと当該項目名セルから行方向または列方向に並ぶ一連の項目値セルとを関連付けてテーブルとする関連付け処理を実行し、
前記出力処理では、前記プロセッサは、前記関連付け処理による関連付け結果を出力することを特徴とすることを特徴とする分析装置。
【請求項８】
請求項４に記載の分析装置であって、
前記プロセッサは、前記共通様式グループに属する全文書で位置および項目名が共通する項目名セルを、前記文書の様式を判定する判定条件として特定する条件特定処理を実行し、
前記出力処理では、前記プロセッサは、前記条件特定処理による特定結果を出力することを特徴とする分析装置。
【請求項９】
請求項８に記載の分析装置であって、
前記条件特定処理では、前記プロセッサは、他の共通様式グループに属する文書で位置および項目名が共通する項目名セルを前記判定条件から除外することを特徴とする分析装置。
【請求項１０】
請求項３に記載の分析装置であって、
前記出力処理では、前記プロセッサは、表示画面を制御して、前記文書と前記項目名セルを示す情報とを重畳表示することを特徴とする分析装置。
【請求項１１】
プログラムを実行するプロセッサと、前記プログラムおよびスプレッドシート形式の文書群を記憶する記憶デバイスと、を有する分析装置による分析方法であって、
前記プロセッサは、
前記記憶デバイスから前記文書群を取得する取得処理と、
前記取得処理によって取得された文書群内の文書間における各文書内のセルに含まれる文字列と、前記文字列を含むセルの位置と、の共通性に基づいて、前記文書群内の文書を、様式が共通する１以上の共通様式グループに分類する分類処理と、
前記分類処理による分類結果を出力する出力処理と、
を実行することを特徴とする分析方法。
【請求項１２】
スプレッドシート形式の文書群を記憶する記憶デバイスにアクセス可能なプロセッサに、
前記記憶デバイスから前記文書群を取得する取得処理と、
前記取得処理によって取得された文書群内の文書間における各文書内のセルに含まれる文字列と、前記文字列を含むセルの位置と、の共通性に基づいて、前記文書群内の文書を、様式が共通する１以上の共通様式グループに分類する分類処理と、
前記分類処理による分類結果を出力する出力処理と、
を実行させることを特徴とする分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を分析する分析装置、分析方法、および分析プログラムに関する。
【背景技術】
【０００２】
システム開発では、システムの要件を記した仕様書やシステム構成要素の設計情報を記した設計書などの文書が作成される。システム開発文書は、多量の仕様や設計項目を表に列挙する目的で、表計算ソフト等を用いたスプレッドシート形式で作成されることが多い。
【０００３】
システム開発文書の品質チェックや、システム開発文書に記載された情報を活用したプログラム自動生成などの機械的な処理を行うために、スプレッドシート形式のシステム開発文書の記載内容を構造化された情報に変換してデータベースで一元管理する方式がある。
【０００４】
特許文献１は、文書の様式毎に用意した様式定義情報に基づいて、様式が異なる複数の文書を構造化された情報に変換する文書変換装置を開示する。特許文献２は、書式付き文書の内容的特徴と体裁的特徴を用いてシステム開発文書を様式毎に分類する情報分類方式を開示する。特許文献３は、予め用意した項目名や項目値の単語辞書を用いて、多種様式の帳票に記載された項目情報を機械的に認識する帳票認識装置を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−２５７８５２号公報
【特許文献２】特開２０００−２６８０４０号公報
【特許文献３】特開２０１１−２４８６０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の文書変換装置は、様式毎に予め用意した様式定義情報を基に文書変換を行うが、特許文献１は、様式定義情報の準備手段を開示していない。したがって、管理対象のシステム開発文書の数と種類が膨大な場合、人手での様式定義情報の作成は、多大な工数を必要とする。
【０００７】
また、特許文献２の情報分類方式は、ＣＳＶ（Ｃｏｍｍａ‐Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ）形式をはじめとする書式や罫線のレイアウト属性情報を持たないスプレッドシート形式文書の分類に向かない。具体的には、たとえば、特許文献２は、「内容的特徴の抽出では、たとえば、前述のＴＦ／ＩＤＦ法などを用いてテキスト文書中に出現する単語の種類や出現頻度から重みを加えた単語の頻度ベクトルを生成させ、これを上記カテゴリの内容的特徴とする。一方、体裁的特徴の抽出では、たとえば、前述の頁内の属性領域の位置的な重なりを求める手法を用いて頁内の共通属性領域情報を生成させ、これを上記カテゴリの体裁的特徴とする。」ことを開示する。
【０００８】
また、システム開発では、システムの入力設定ファイルやバッチ出力される帳票ファイル、アプリケーションのログファイルのような文書が、レイアウト属性情報を持たないスプレッドシート形式文書として作成、または出力されることが多い。したがって、特許文献２の情報分類方式は、レイアウト属性情報を持たない文書では体裁的特徴を抽出することができず、文書中に出現する単語は類似するが様式が異なる文書を区別することができない。
【０００９】
また、特許文献３の帳票認識装置は、文書の数と種類が膨大な場合、様式定義情報と同様に、人手での単語辞書作成に多大な工数を必要とする。
【００１０】
本発明は、上述のような事情に鑑みてなされたものであり、文書のレイアウト属性情報や単語辞書等の付加入力を用いずに、多種多量のシステム開発文書を様式毎に分類し、各様式の様式定義情報を機械的に生成することを目的とする。
【課題を解決するための手段】
【００１１】
本願において開示される発明の一側面となる分析装置、分析方法、および分析プログラムは、文書群を取得する取得処理と、前記取得処理によって取得された文書群内の文書間における各文書内のセルに含まれる文字列と、前記文字列を含むセルの位置と、の共通性に基づいて、前記文書群内の文書を、様式が共通する１以上の共通様式グループに分類する分類処理と、前記分類処理による分類結果を出力する出力処理と、を実行することを特徴とする。
【発明の効果】
【００１２】
本発明の代表的な実施の形態によれば、文書のレイアウト属性情報や単語辞書等の付加入力を用いずに、多種多量の文書を様式毎に分類することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】図１は、様式分析例を示す説明図である。
【図２】図２は、分析装置のハードウェア構成例を示すブロック図である。
【図３】図３は、文書の一例を示す説明図である。
【図４】図４は、様式定義情報の一例を示す説明図である。
【図５】図５は、分析装置の機能的構成例を示すブロック図である。
【図６】図６は、セル配置特徴量の生成例を示す説明図である。
【図７】図７は、共通様式グループの生成例を示す説明図である。
【図８】図８は、セルの共通性および可変性の分析例を示す説明図である。
【図９】図９は、偽項目名セルの特定例を示す説明図である。
【図１０】図１０は、様式判定条件要素候補の一例を示す説明図である。
【図１１】図１１は、様式判定条件の特定例を示す説明図である。
【図１２】図１２は、様式定義情報の確認および修正の一例を示す説明図である。
【図１３】図１３は、分析装置による分析処理手順例を示すフローチャートである。
【図１４】図１４は、図１３に示した文書分類処理（ステップＳ１３０２）の詳細な処理手順例を示すフローチャートである。
【図１５】図１５は、図１３に示したセル特定処理（ステップＳ１３０４）の詳細な処理手順例を示すフローチャートである。
【図１６】図１６は、図１３に示した条件特定処理（ステップＳ１３０６）の詳細な処理手順例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
＜様式分析例＞
本例で対象となる文書は、上述したように、たとえば、システムの入力設定ファイルやバッチ出力される帳票ファイル、アプリケーションのログファイルのような、レイアウト属性情報を持つスプレッドシート形式文書のほか、ＣＳＶ形式をはじめとする書式や罫線のレイアウト属性情報を持たないスプレッドシート形式文書を含む。
【００１５】
図１は、様式分析例を示す説明図である。分析装置は、文書群ｄｓを、文書ｄ内のセルの配置が類似するグループに分類する（類似セル配置分類）。具体的には、たとえば、分析装置は、文書ｄを、文書ｄ内のセルにおける値の有無で抽象化することにより、セル配置特徴量を求める。たとえば、分析装置は、値があるセルに「１」、値がないセルに「０」を割り当てたベクトル（有値セル行列Ｍ）を生成する。
【００１６】
また、数字で表現される行番号については、分析装置は、当該行のセルに値があれば「１」、なければ「０」を割り当てたベクトル（有値セル行ベクトルＬ）を生成する。大文字アルファベットで表現される列番号についても、分析装置は、当該列のセルに値があれば「１」、なければ「０」を割り当てたベクトル（有値セル列ベクトルＣ）を生成する。セル配置特徴量は、有値セル行列と有値セル行ベクトルと有値セル列ベクトルとを含む特徴量である。
【００１７】
そして、分析装置は、有値セル行列、有値セル行ベクトル、および有値セル列ベクトルの類似性により文書群ｄｓをクラスタリングして文書群ｄｓを、類似配置グループＡ，Ｂ，…，Ｚに分類する。これにより、セルの配置が類似する文書をグループ化することができる。また、文書をセルの値の有無でベクトル化することにより、ＣＳＶ形式をはじめとする書式や罫線のレイアウト属性情報を持たないスプレッドシート形式文書についても分類することができる。
【００１８】
つぎに、分析装置は、類似セル配置分類で分類された類似配置グループＡ，Ｂ，…，Ｚ内の文書ｄを、様式が共通するグループ（共通様式グループ）に分類する（共通様式分類）。具体的には、たとえば、分析装置は、類似配置グループＡ，Ｂ，…，Ｚ内の文書ｄ間において、同一位置および同一の値を有するセル（共通セル）を特定する。具体的には、たとえば、文書ｄ１〜ｄ４は、グループＡに属する文書群ｄｓである。分析装置は、文書ｄ１，ｄ２の１行Ａ列のセル（画面名）を共通セルとして特定する。分析装置は、文書ｄ３，ｄ４の１行Ａ列のセル（業務名）を共通セルとして特定する。分析装置は、文書ｄ１〜ｄ４の３行Ａ列のセル（項番）を共通セルとして特定する。分析装置は、文書ｄ１，ｄ２の３行Ｂ列のセル（項目名）を共通セルとして特定する。分析装置は、文書ｄ３，ｄ４の３行Ｂ列のセル（画面名）を共通セルとして特定する。
【００１９】
すなわち、文書ｄ１，ｄ２は、１行Ａ列のセル（画面名）、３行Ａ列のセル（項番）、および３行Ｂ列のセル（項目名）を共通セルとする共通様式グループＡ１に分類される。文書ｄ３，ｄ４は、１行Ａ列のセル（業務名）、３行Ａ列のセル（項番）、および３行Ｂ列のセル（画面名）を共通セルとする共通様式グループＡ２に分類される。このように、セルの配置が類似する文書ｄを、文書ｄ間の様式の共通性でさらにグループ化することができる。また、これにより、セル内文字列の単語辞書を用いることなく分類することができる。
【００２０】
＜分析装置のハードウェア構成例＞
図２は、分析装置のハードウェア構成例を示すブロック図である。分析装置２００は、プロセッサ２０１と、記憶デバイス２０２と、入力デバイス２０３と、出力デバイス２０４と、通信インターフェース（通信ＩＦ２０５）と、を有する。プロセッサ２０１、記憶デバイス２０２、入力デバイス２０３、出力デバイス２０４、および通信ＩＦ２０５は、バスにより接続される。プロセッサ２０１は、分析装置２００を制御する。記憶デバイス２０２は、プロセッサ２０１の作業エリアとなる。また、記憶デバイス２０２は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス２０２としては、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、フラッシュメモリがある。入力デバイス２０３は、データを入力する。入力デバイス２０３としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス２０４は、データを出力する。出力デバイス２０４としては、たとえば、ディスプレイ、プリンタがある。通信ＩＦ２０５は、ネットワークと接続し、データを送受信する。
【００２１】
＜文書ｄの一例＞
図３は、文書ｄの一例を示す説明図である。文書ｄは、たとえば、スプレッドシート形式で作成されたシステム開発文書である。文書ｄは、セル群を有する。セルは、行列番号の位置情報と当該位置情報に関連付けられる文字列とから成る構成要素である。文書ｄは、たとえば、表計算用のソフトウェアで作成されたファイルや、カンマや空白等の区切り文字で要素を区切ったＣＳＶファイルやテキストファイルを含む。
【００２２】
なお、文書ｄは、複数のセルが結合した結合セルを含む場合がある。本実施例では、結合セルを構成する複数のセルのうち、左上に位置するセルのみ文字列を有し、それ以外のセルは文字列を持たないものとする。たとえば、セル３０１は、１〜２行Ａ〜Ｃ行にわたる６つのセルが結合した結合セルであるが、「画面仕様書」という文字列は、１行Ａ列のセルのみ有し、他の５つのセルは文字列を持たない。なお、その他の対応方法として、たとえば、結合セルを構成するすべてのセルに結合セルの文字列を持たせる方法もあるが、以降は、左上に位置するセルのみ文字列を有するとする前提で説明する。
【００２３】
文書ｄは、項目名セルと、項目値セルと、非項目セルと、を有する。項目名セルと項目値セルとの組み合わせは、「項目」を構成する。項目名セルは、項目の名称を表す文字列を有するセルである。セル３０２，３０４，３０６，３０８，３１０，３１１，３１２は、項目名セルである。項目値セルは、項目の値を表す文字列を有するセルである。セル３０３，３０５，３０７，３０９，３１３〜３２１は、項目値セルである。非項目セルは、文字列を有するが、項目名セルおよび項目値セルのどちらにも分類されないセルである。セル３０１は、非項目セルである。
【００２４】
項目は、単一項目またはテーブルに分類される。単一項目は、一つの項目名セルに対して一つの項目値セルが関連付けられた項目である。たとえば、項目名セルであるセル３０６（画面名）とその右に連結されている項目値セルであるセル３０７（画面１）との組み合わせとなる項目３３０は、単一項目に該当する。
【００２５】
テーブルは、一つの項目名セルに対して複数の項目値セルが関連付けられた項目である。たとえば、項目名セルであるセル３１１（画面項目名）とその下に連結されている項目値セルであるセル３１４（画面項目１），３１７（画面項目２），３２０（画面項目３）との組み合わせとなる項目は、テーブル３４０に該当する。
【００２６】
＜様式定義情報の一例＞
図４は、様式定義情報の一例を示す説明図である。様式定義情報４００は、分析装置２００の出力情報である。様式定義情報４００は、文書ｄの様式一つに対して一つ生成する。様式定義情報４００は、様式名称４１０と、様式判定条件４２０と、項目定義情報４３０と、を有する。
【００２７】
様式名称４１０は、様式を識別する一意の名称であり、異なる様式間で重複しない。様式名称４１０には、たとえば、様式定義情報４００の生成順に数字が割り当てられる。また、様式名称４１０には、ユーザからの入力した名称が割り当てられる。また、様式名称４１０には、自動的に文書ラベルが割り付けられる。
【００２８】
様式判定条件４２０は、文書ｄの様式を判定するための条件であり、一つ以上の様式判定条件要素４２１を有し、異なる様式間で重複しない。様式判定条件要素４２１は、同一様式のすべての文書ｄの間で共通の位置情報と文字列とを有するセル（以下、完全共通セル）の位置情報（列と行）と文字列（値）とをエントリとして有する。たとえば、様式判定条件要素４２１は、１行Ａ列に位置する「画面仕様書」という文字列を有するセルを表している。
【００２９】
項目定義情報４３０は、項目定義４３１を一つ以上有する。項目定義４３１は、文書ｄが有する項目を定義する情報である。項目定義４３１は、項目名セルの文字列と、項目値セルの位置情報（列と行）と、項目種類と、を有する。たとえば、項目定義４３１は、「作成者」という文字列を持つ項目名セルと１行Ｇ列に位置する項目値セルから成る単一項目を定義する。また、項目がテーブルである場合の項目値セルの位置情報は、項目名セルに最も近い先頭の項目値セルの位置情報となる。たとえば、テーブル３４０の場合、＃６のエントリに示すように、項目名が「画面項目名」、項目値の位置情報が８行Ｃ列、項目種類が「テーブル」となる。
【００３０】
文書ｄが、様式判定条件４２０を構成するすべての様式判定条件要素４２１の条件を満たす場合、文書ｄは様式定義情報４００と関連付けられる。これにより、様式定義情報４００の項目定義情報４３０に基づいて、文書ｄの有する項目を機械的に認識できる。
【００３１】
＜分析装置２００の機能的構成例＞
図５は、分析装置２００の機能的構成例を示すブロック図である。分析装置２００は、分類部５０１と、セル特定部５０２と、関連付け処理部５０３と、条件特定部５０４と、出力部５０５と、修正部５０６と、を有する。各構成は、図２に示した記憶デバイスに記憶されたプログラムをプロセッサに実行させることにより実現される。また、分析装置２００は、分析装置２００内または分析装置２００外の文書ＤＢ５００にアクセス可能である。ＤＢ５００は、文書群ｄｓや様式定義情報４００を記憶する。文書群ｄｓに含まれる文書の一例が図３に示した文書である。ＤＢ５００は、具体的には、たとえば、図２に示した記憶デバイスにより実現される。
【００３２】
分類部５０１は、複数の文書間におけるセルの位置情報と文字列の類似性を分析し、文書群ｄｓを複数のグループに分類する。分類部５０１は、セル配置特徴量分析によるクラスタリングと、共通セル特徴量分析によるクラスタリングという２つの機能を有する。
【００３３】
セル配置特徴量分析によるクラスタリングについて説明する。分類部５０１は、セル配置特徴量分析によるクラスタリングにより、文書のセル配置特徴量を分析する。図１で説明したように、セル配置特徴量は、文書内のセル群のうち文字列を有するセル（以下、有値セル）の文書内の位置情報に関する特徴量である。分類部５０１は、セル配置特徴量を、ＤＢ５００に格納する。ここで、セル配置特徴量の生成例について図６を用いて説明する。
【００３４】
図６は、セル配置特徴量の生成例を示す説明図である。セル配置特徴量６００は、有値セル行列Ｍと、有値セル列ベクトルＣと、有値セル行ベクトルＬと、を含む特徴量である。
【００３５】
有値セル行列Ｍは、セル配置特徴量分析によるクラスタリングにより、文書ｄ内のすべてまたは一部のセルを、セル内の文字列の有無によって抽象化したデータである。行列を構成する要素は、たとえば、有値セルを数字の「１」で表し、文字列を持たないセル（以下、無値セル）を数字の「０」で表す。たとえば、非項目セルであるセル３０１において、１行Ａ列のセルのみが文字列「画面仕様書」を持つ有値セルであり、他の五つのセルは無値セルである。分類部５０１は、セル配置特徴量分析によるクラスタリングにより、非項目セルであるセル３０１を、有値セル行列Ｍの要素群６１１に変換する。
【００３６】
有値セル列ベクトルＣは、セル配置特徴量分析によるクラスタリングにより、文書ｄのすべてまたは一部の列を、当該列内の有値セルの有無によって抽象化したデータである。列ベクトルを構成する要素は、たとえば、有値セルを含む列を数字の「１」で表し、有値セルを含まない列を数字の「０」で表す。たとえば、文書ｄのＧ列は有値セル行列Ｍの左から７番目の列６１２に相当する。列６１２は有値セル３０３，３０５を有する。分類部５０１は、セル配置特徴量分析によるクラスタリングにより、有値セル列ベクトルＣの要素６２１を「１」に設定する。また、列６１３は有値セルを持たない。分類部５０１は、セル配置特徴量分析によるクラスタリングにより、有値セル列ベクトルＣの要素６２２を「０」に設定する。
【００３７】
有値セル行ベクトルＬは、セル配置特徴量分析によるクラスタリングにより、文書ｄのすべてまたは一部の行を、当該行内の有値セルの有無によって抽象化したデータである。行ベクトルを構成する要素は、たとえば、有値セルを含む行を数字の「１」で表し、有値セルを持たない行を数字の「０」で表す。たとえば、文書ｄの第５行は有値セル行列Ｍの上から５番目の行６１４に相当する。行６１４は有値セル３０８，３０９を有する。分類部５０１は、セル配置特徴量分析によるクラスタリングにより有値セル行ベクトルＬの要素６３１を「１」に設定する。また、行６１５は有値セルを持たない。分類部５０１は、セル配置特徴量分析によるクラスタリングにより、有値セル行ベクトルＬの要素６３２を「０」に設定する。
【００３８】
図５に戻り、分類部５０１は、セル配置特徴量分析によるクラスタリングにより、文書ｄ間のセル配置特徴量の類似性に基づいて文書群ｄｓをクラスタリングし、セル配置特徴量が類似する文書集合である類似配置グループを一つ以上生成する。具体的には、たとえば、分類部５０１は、文書ｄ間のセル配置特徴量の距離を算出する。より具体的には、たとえば、分類部５０１は、文書ｄ間の有値セル列ベクトルＣ（有値セル行ベクトルＬでもよい）のＪａｃｃａｒｄ距離やコサイン距離を算出する。分類部５０１は、たとえば、算出距離がしきい値以上であれば、両文書ｄは類似すると判定する。しきい値は、ユーザが入力デバイス２０３から任意に設定すればよい。また、分類部５０１は、文書群ｄｓをクラスタリングする場合、ウォード法による凝集型階層的クラスタリングを用いてもよい。
【００３９】
また、分類部５０１は、セル配置特徴量分析によるクラスタリングをした場合、類似配置グループを一意に特定するグループＩＤを当該類似配置グループに所属する文書に付与する。より具体的には、たとえば、分類部５０１は、文書を特定する文書ＩＤと、当該文書が所属する類似配置グループのグループＩＤとを関連付ける。分類部５０１は、文書ＩＤとグループＩＤとを関連付けた情報をＤＢ５００に格納する。
【００４０】
共通セル特徴量分析によるクラスタリングについて説明する。共通セル特徴量分析によるクラスタリングは、セル配置特徴量分析によるクラスタリングにより生成された類似配置グループに対して、グループ一つ毎に各文書の共通セル特徴量を分析する。共通セル特徴量は、同じ類似配置グループに属する文書間で、位置情報および文字列が一致するセル（以下、類似配置グループ内共通セル）に関する特徴量である。
【００４１】
共通セル特徴量は、たとえば、各文書における類似配置グループ内共通セルの有無を表す数値「１，０」を要素としたベクトルで表現される。分類部５０１は、共通セル特徴量分析によるクラスタリングにより、すべての類似配置グループのすべての文書の共通セル特徴量を分析する。分類部５０１は、各文書の共通セル特徴量を、ＤＢ５００に格納する。
【００４２】
分類部５０１は、共通セル特徴量分析によるクラスタリングにより、すべての類似配置グループを対象に、文書間の共通セル特徴量の類似性に基づいて文書を更にクラスタリングし、共通セル特徴量が類似する文書の集合となる共通様式グループを一つ以上生成する。ここで、共通様式グループの生成例について図７を用いて説明する。
【００４３】
図７は、共通様式グループの生成例を示す説明図である。文書ｄ１１〜ｄ１４では、セル配置特徴量である有値セル列ベクトルＣは共通して（１，０，１，０，０）となり、有値セル行ベクトルＬは共通して（１，０，１，１，１）となる。文書ｄ１１〜ｄ１４では、有値セル列ベクトルＣおよび有値セル行ベクトルＬが完全一致であれば、有値セル行列Ｍも完全一致である。したがって、文書ｄ１１〜ｄ１４は類似する文書群ｄｓであり、分類部５０１は、セル配置特徴量分析によるクラスタリングにより、文書ｄ１１〜ｄ１４が属する類似配置グループ７００を設定する。
【００４４】
つぎに、分類部５０１は、類似配置グループ７００において、共通セル特徴量分析によるクラスタリングにより、類似配置グループ内共通セルを分析する。具体的には、たとえば、分類部５０１は、文書ｄ１１〜ｄ１４間において、３行Ａ列に位置するセル「タグ」を、類似配置グループ内共通セルとして特定する。分類部５０１は、文書ｄ１１，ｄ１２間において、１行Ａ列に位置するセル「画面名」および３行Ｃ列に位置するセル「項目名」を、類似配置グループ内共通セルとして特定する。分類部５０１は、文書ｄ１３，ｄ１４間において、１行Ａ列に位置するセル「業務名」および３行Ｃ列に位置するセル「画面名」を、類似配置グループ内共通セルとして特定する。
【００４５】
図７を用いて、類似配置グループ７００における共通セル特徴量について説明する。たとえば、共通セル特徴量を、各類似配置グループ内共通セルの有無を表す数値「１，０」を要素としたベクトルで表現する。類似配置グループ内共通セルの順序を、３行Ａ列（タグ）、１行Ａ列（画面名）、３行Ｃ列（項目名）、１行Ａ列（業務名）、３行Ｃ列（画面名）とする（カッコ内はセル内の文字列）。この場合、文書ｄ１１，ｄ１２の共通セル特徴量は、（１，１，１，０，０）となる。同様に、文書ｄ１３，ｄ１４の共通セル特徴量は、は（１，０，０，１，１）となる。
【００４６】
分類部５０１は、具体的には、たとえば、セル配置特徴量分析によるクラスタリングと同様、文書ｄ間の共通セル特徴量の距離を算出する。より具体的には、たとえば、分類部５０１は、文書ｄ間の共通セル特徴量のＪａｃｃａｒｄ距離やコサイン距離を算出する。分類部５０１は、たとえば、算出距離がしきい値以上であれば、両文書ｄは類似すると判定する。しきい値は、ユーザが入力デバイス２０３から任意に設定すればよい。また、分類部５０１は、文書群ｄｓをクラスタリングする場合、ウォード法による凝集型階層的クラスタリングを用いてもよい。
【００４７】
本例では、文書ｄ１１，ｄ１２の共通セル特徴量は完全一致であるため、算出距離はしきい値以上となる。したがって、文書ｄ１１，ｄ１２は、同一の共通様式グループに属する。文書ｄ１３，ｄ１４の共通セル特徴量は完全一致であるため、算出距離はしきい値以上となる。したがって、文書ｄ１３，ｄ１４は、同一の共通様式グループに属する。なお、文書ｄ１１，ｄ１３の共通セル特徴量、文書ｄ１１，ｄ１４の共通セル特徴量、文書ｄ１２，ｄ１３の共通セル特徴量、文書ｄ１２，ｄ１４の共通セル特徴量は、いずれも非類似とする。文書ｄ１１〜ｄ１４を対象に共通セル特徴量分析によるクラスタリングを適用することで、分類部５０１は、類似配置グループ７００を、文書ｄ１１，ｄ１２が属する共通様式グループ７０５と、文書ｄ１３，ｄ１４が属する共通様式グループ７０６とに分割する。
【００４８】
また、分類部５０１は、共通セル特徴量分析によるクラスタリングをした場合、共通様式グループを一意に特定するグループＩＤを当該共通様式グループに所属する文書に付与する。より具体的には、たとえば、分類部５０１は、文書を特定する文書ＩＤと、当該文書が所属する共通様式グループのグループＩＤとを関連付ける。分類部５０１は、文書ＩＤとグループＩＤとを関連付けた情報をＤＢ５００に格納する。
【００４９】
セル特定部５０２は、共通様式グループ毎に、セルの共通性および可変性を分析することにより、項目名セルおよび項目値セルを特定する。具体的には、たとえば、セル特定部５０２は、同じ共通様式グループに属するすべての文書ｄ間で位置情報および文字列が一致するセル（以下、共通様式グループ内共通セル）を特定する。共通様式グループ内共通セルは、項目名セルの候補となる。また、セル特定部５０２は、位置情報は一致するが文字列が異なるセルを、共通様式グループ内可変セルとして特定する。共通様式グループ内可変セルは、項目値セルの候補となる。
【００５０】
なお、共通様式グループ内共通セルは、すべての文書ｄ間でなく、一定のしきい値以上の割合である一部の文書間で位置情報と文字列が一致するセルとしてもよい。当該しきい値は、任意に設定される。また、セル特定部５０２は、類似配置グループ内共通セル特定時の情報を流用して、共通様式グループ内共通セルを特定してもよい。また、共通様式グループ内においてしきい値以上の割合の文書で無値セルとなるセルは、共通様式グループ内共通セルや共通様式グループ内可変セルとして扱わないこととしてもよい。その際のしきい値は、任意に設定される。
【００５１】
図８は、セルの共通性および可変性の分析例を示す説明図である。共通様式グループ８００は、文書ｄ２１，ｄ２２，ｄ２３を含む。背景色が有色の有値セルは、共通様式グループ内共通セルを表し、背景色が無色の有値セルは、共通様式グループ内可変セルを表す。たとえば、各文書ｄ２１，ｄ２２，ｄ２３の１行Ａ列に位置するセル８０１〜８０３は、同一文字列「画面名」を有するため、共通様式グループ内共通セルである。１行Ｃ列に位置するセル８０４〜８０６は、それぞれ異なる文字列「画面１」，「画面２」，「画面３」を有するため、共通様式グループ内可変セルである。
【００５２】
セル特定部５０２は、共通様式グループ内共通セルを項目名セルとして特定し、共通様式グループ内可変セルを項目値セルとして特定する。ただし、セル８１１，８１２のように共通様式グループ内共通セルであっても実際には項目値セルである「偽項目名セル」が存在する。したがって、セル特定部５０２は、事前に偽項目名セルを特定する。
【００５３】
たとえば、セル列８１１は項目名セル８２１「項番」と対応する項目値セルであるが、「項番」に対応する文字列が番号になるという性質上、文書ｄ２１，ｄ２２，ｄ２３間で共通の文字列「１」，「２」を有する。したがって、セル群８１１は、偽項目名セルとなる。また、セル８１２は、項目名セル８２２「ＴＹＰＥ」と対応する項目値セルであるが、文書ｄ２１，ｄ２２，ｄ２３間で共通の文字列「Ｌａｂｅｌ」を偶然に有する。したがって、セル８１２は、偽項目名セルとなる。このように、セル特定部５０２は、テーブルが項目名セルから始まり、当該項目名セルの直下に項目値セルが連続する性質を利用することにより、テーブルに含まれる偽項目名セルを特定する（テーブル領域特定処理）。
【００５４】
図９は、偽項目名セルの特定例を示す説明図である。文書ｄ３０は、共通様式グループの共通様式グループ内共通セルと共通様式グループ内可変セルの配置情報を可視化したスプレッドシートである。セル特定部５０２は、偽項目名セルを特定するために、以下の手順によりテーブル領域特定処理を実行する。
【００５５】
具体的には、たとえば、セル特定部５０２は、文書ｄ３０内の共通様式グループ内共通セル群の各々について、当該共通様式グループ内共通セルの直下に連続する共通様式グループ内可変セルを特定する。そして、セル特定部５０２は、共通様式グループ内共通セルから始まりその直下に連続する共通様式グループ内可変セルが最も多い最長カラム９０１を特定する。
【００５６】
つぎに、セル特定部５０２は、最長カラム９０１の先頭の共通様式グループ内共通セルと同一行にある他の共通様式グループ内共通セル９０２を項目名セルとして特定する。セル特定部５０２は、共通様式グループ内共通セル９０２直下のセルにおいて、最長カラム９０１の共通様式グループ内可変セルと同数の当該セルを項目値セルとして特定する。その際、共通様式グループ内共通セル９０２直下のセルにおいて、共通様式グループ内共通セル９０３が出現した場合、当該セルを偽項目名セルとして特定する。その場合、共通様式グループ内共通セル９０３は項目値セルかつ偽項目名セルとなる。
【００５７】
項目名セルおよび項目値セルとして特定されたセル群をテーブル領域と称す。セル特定部５０２は、テーブル領域に含まれずに残った共通様式グループ内共通セルを項目名セルとして特定する。同様に、セル特定部５０２は、テーブル領域に含まれずに残った共通様式グループ内可変セルを項目値セルとして特定する。
【００５８】
セル特定部５０２は、項目名セルとして特定された共通様式グループ内共通セル９０２のセルＩＤに項目名セルの識別情報を関連付け、項目値セルとして特定された共通様式グループ内可変セルのセルＩＤに項目値セルの識別情報を関連付け、偽項目名セルとして特定された共通様式グループ内共通セル９０３のセルＩＤに偽項目名セルの識別情報を関連付ける。セル特定部５０２は、セルＩＤと識別情報とを関連付けた情報をＤＢ５００に格納する。
【００５９】
関連付け処理部５０３は、項目名セルと項目値セルとの位置関係により項目名セルと項目値セルとを関連付ける。関連付け処理部５０３は、さらに、項目名セルと項目値セルとのセルサイズにより項目名セルと項目値セルとを関連付けてもよい。関連付け処理部５０３は、具体的には、たとえば、特許文献３のペナルティルールを用いて、関連付け処理の対象となる項目名セルおよび項目値セルについて、ペナルティ値を付与する。
【００６０】
たとえば、図３のセル３０２とセル３０３のように、項目値セル３０３は、対応する項目名セル３０２よりも右側に存在する。したがって、関連付け処理の対象となる項目名セルおよび項目値セルについて、項目名セルが項目値セルの左側に存在する場合に、関連付け処理部５０３は、関連付け処理の対象にペナルティ値を付与する。
【００６１】
また、図３のセル３１０とセル３１３のように、項目値セル３１３は、対応する項目名セル３１２よりも下側に存在する。したがって、関連付け処理の対象となる項目名セルおよび項目値セルについて、項目名セルが項目値セルの上側に存在する場合に、関連付け処理部５０３は、関連付け処理の対象にペナルティ値を付与する。
【００６２】
また、項目値セルは、対応する項目名セルに近接する。したがって、関連付け処理の対象となる項目名セルおよび項目値セルについて、項目名セルと項目値セルとの距離の長さに比例して、関連付け処理部５０３は、関連付け処理の対象にペナルティ値を付与する。また、距離が長くても、関連付け処理の対象である項目名セルと項目値セルとの間に、当該項目名セルに関連付けされた他の項目値セルが存在する場合、関連付け処理部５０３は、テーブル候補となるため、関連付け処理の対象にペナルティ値を付与しない。
【００６３】
そして、たとえば、ペナルティ値の総和がしきい値以下であれば、関連付け処理部５０３は、関連付け処理の対象となる項目名セルおよび項目値セルを関連付ける。また、項目名セルに項目値セルが一つだけ関連付けされた場合、当該項目名セルと項目値セルの組み合わせは、単一項目となる。また、項目名セルに複数の項目値セルが関連付けされた場合、当該項目名セルと項目値セルの組み合わせは、テーブルとなる。
【００６４】
関連付け処理部５０３は、関連付けた項目名セルおよび項目値セルの組について、様式定義情報４００の項目定義情報４３０のエントリを作成する。具体的には、たとえば、関連付け処理部５０３は、項目名セルの文字列を項目名フィールドに格納し、項目値セルの位置情報（列番号および行番号）を項目値：列フィールドおよび項目値：行フィールドに格納し、項目種類（単一項目またはテーブル）を項目種類フィールドに格納する。
【００６５】
なお、関連付け処理部５０３は、項目値セルが１つも関連付けされなかった項目名セルを、非項目セルとして特定し、当該非項目セルのセルＩＤと、非項目セルであることを示すＩＤと、共通様式グループのグループＩＤと、を関連付けて、ＤＢ５００に格納する。
【００６６】
条件特定部５０４は、文書の様式を判定する様式判定条件４２０を特定する。条件特定部５０４は、共通様式グループ毎に、同じ共通様式グループに属するすべての文書ｄ間で位置情報と文字列が一致する完全共通セルを、様式判定条件要素候補として特定する。条件特定部５０４は、様式判定条件要素候補のセルＩＤを、共通様式グループのグループＩＤに関連付けて、ＤＢ５００に格納する。なお、完全共通セルを分析する際、条件特定部５０４は、類似配置グループ内共通セルや共通様式グループ内共通セルを特定したときに関連付けた情報を流用してもよい。
【００６７】
図１０は、様式判定条件要素候補の一例を示す説明図である。共通様式グループ１０００は、文書ｄ４１〜ｄ４３を有する。条件特定部５０４は、文書ｄ４１〜ｄ４３が共通して有する完全共通セル「１行Ａ列：画面名」、「３行Ａ列：タグ」、「３行Ｃ列：項目名」を、共通様式グループ１０００の様式判定条件要素候補として特定する。また、条件特定部５０４は、様式判定条件要素候補を用いて共通様式グループ間で一意となる様式判定条件を特定する。
【００６８】
図１１は、様式判定条件の特定例を示す説明図である。文書ｄ４１、ｄ５１〜ｄ５３はそれぞれ異なる共通様式グループに属する文書ｄである。前述の通り、文書ｄ４１の属する共通様式グループ１０００の様式判定条件要素候補は、「１行Ａ列：画面名」、「３行Ａ列：タグ」、「３行Ｃ列：項目名」であるが、「３行Ａ列：タグ」は文書ｄ５１，ｄ５２に含まれる要素であり、「３行Ｃ列：項目名」は文書ｄ５２，ｄ５３に含まれる要素である。
【００６９】
そのため、共通様式グループ間で一意となる様式判定条件として最適な様式判定条件要素候補は、文書ｄ５１〜ｄ５３が有さない「１行Ａ列：画面名」となる。なお、この例では一つの様式判定条件要素候補で様式判定条件を構成したが、複数の様式判定条件要素候補の組合せにより、様式判定条件を構成してもよい。
【００７０】
たとえば、文書ｄ５１の１行Ａ列のセルの文字列が「画面名」であったとしたら、「１行Ａ列：画面名」だけでは共通様式グループ１０００の様式判定条件に成り得ない。一方、文書ｄ４１，ｄ５２，ｄ５３の「３行Ａ列：タグ」または「３行Ｃ列：項目名」との組合せは、共通様式グループ１０００の様式判定条件を構成する。
【００７１】
また、条件特定部５０４は、様式判定条件を構成する最小限の様式判定条件要素候補を、様式定義情報４００の様式判定条件４２０のエントリとして追加する。そして、条件特定部５０４は、当該エントリを共通様式グループのグループＩＤに関連付けてＤＢ５００に格納する。なお、条件特定部５０４は、すべての様式判定条件要素候補を様式定義情報４００の様式判定条件４２０のエントリとして追加してもよい。
【００７２】
出力部５０５は、共通様式グループ毎に、ＤＢ５００から様式定義情報４００と共通様式グループに属する文書ｄとを、それぞれ読み込む。出力部５０５は、ユーザが様式定義情報の正確さを確認できるよう、読み込んだ様式定義情報４００および文書ｄを、出力デバイス２０４の一例である表示デバイスの表示画面に表示する。また、出力部５０５は、通信ＩＦ２０５から外部装置に様式定義情報４００および文書ｄを出力してもよい。
【００７３】
修正部５０６は、表示画面に表示された内容に対するユーザからの修正命令を入力デバイス２０３から受け付ける。
【００７４】
図１２は、様式定義情報の確認および修正の一例を示す説明図である。様式定義情報確認画面１２１０は、修正前の様式定義情報４００を文書ｄに反映している画面例である。様式定義情報確認画面１２２０は、修正後の様式定義情報４００を文書ｄに反映している画面例である。凡例１２３０は、様式定義情報確認画面１２１０，１２２０における様式定義情報の可視化方法の一例を示す。
【００７５】
たとえば、様式定義情報確認画面１２１０において、１行Ａ列のセル３０１（画面仕様書）は非項目セル、１行Ｅ列のセル３０２（作成者）は項目名セル、１行Ｇ列のセル３０３（作成者Ａ）は項目値セルである。また、１行Ｅ列のセル３０２（作成者）および１行Ｇ列のセル３０３（作成者Ａ）は、対応する項目名セルおよび項目値セルとして関連付けられている。
【００７６】
様式定義情報確認画面１２１０では、２行Ｅ列のセル３０４（承認者）および２行Ｇ列のセル３０５（承認者Ａ）は非項目セルである。実際の文書ｄと様式定義情報４００との重ね合わせにより、ユーザは、当該様式定義情報４００に誤りがあることを容易に特定することができる。したがって、入力デバイス２０３から修正部５０６に修正命令を送ることで、修正部５０６は、様式定義情報４００を修正する。
【００７７】
様式定義情報確認画面１２２０では、ユーザからの修正命令を反映し、２行Ｅ列のセル３０４（承認者）および２行Ｇ列のセル３０５（承認者Ａ）は、関連付けされた項目名セルおよび項目値セルとして修正されている。同様にして、３行Ｃ列のセル（注意書き）や４行Ａ列のセル３０６（画面名）も修正されている。
【００７８】
また、分析装置２００では、様式定義情報４００を記載するファイルの形式を限定しない。様式定義情報４００のファイル形式として、たとえば、ユーザが直接修正しやすいようにスプレッドシート形式で出力してもよく、特許文献１のように様式定義情報４００を活用可能な入力形式に合わせて出力してもよい。
【００７９】
＜分析装置２００による分析処理手順例＞
図１３は、分析装置２００による分析処理手順例を示すフローチャートである。まず、分析装置２００は、ＤＢ５００から文書群ｄｓを読み込む（ステップＳ１３０１）。つぎに、分析装置２００は、分類部５０１により、読み込んだ文書群ｄｓを分類する文書分類処理を実行する（ステップＳ１３０２）。文書分類処理（ステップＳ１３０２）により、図１および図７に示したように、文書群ｄｓが、１以上の共通様式グループに分類される。文書分類処理（ステップＳ１３０２）の詳細については、図１４で後述する。
【００８０】
そして、分析装置２００は、出力部５０５により、文書分類処理（ステップＳ１３０２）の分類結果である様式分類情報を出力する（ステップＳ１３０３）。これにより、ユーザは、様式分類情報を確認することができる。
【００８１】
つぎに、分析装置２００は、セル特定部５０２により、セル特定処理を実行する（ステップＳ１３０４）。セル特定処理（ステップＳ１３０４）により、図８および図９に示したように、各共通様式グループにおける文書ｄ内のセルを、項目名セル、項目値セル、および偽項目名セルとして特定することができる。
【００８２】
つぎに、分析装置２００は、関連付け処理部５０３により、項目名セルと項目値セルとを関連付ける（ステップＳ１３０５）。これにより、単一項目とテーブルとが得られる。
【００８３】
つぎに、分析装置２００は、条件特定部５０４により、条件特定処理を実行する（ステップＳ１３０６）。条件特定処理（ステップＳ１３０６）により、図１０および図１１に示したように、様式判定条件４２０が特定される。
【００８４】
そして、分析装置２００は、出力部５０５により、様式定義情報を出力する（ステップＳ１３０７）。修正内容が入力デバイス２０３から受け付けられた場合（ステップＳ１３０８：Ｙｅｓ）、分析装置２００は、修正部５０６により、図１２に示したように、修正内容どおりに文書を修正し（ステップＳ１３０９）、ステップＳ１３０８に戻る。修正内容が入力デバイス２０３から受け付けられない場合（ステップＳ１３０８：Ｎｏ）、分析装置２００は、分析処理を終了する。
【００８５】
＜文書分類処理（ステップＳ１３０２）＞
図１４は、図１３に示した文書分類処理（ステップＳ１３０２）の詳細な処理手順例を示すフローチャートである。分析装置２００は、図１および図６に示したように、文書毎にセル配置特徴量を分析する（ステップＳ１４０１）。つぎに、分析装置２００は、図１に示したように、文書間のセル配置特徴量の類似性に基づき文書をクラスタリングし、類似配置グループを一つ以上生成する（ステップＳ１４０２）。
【００８６】
つぎに、分析装置２００は、類似配置グループ群のうち分析対象となる類似配置グループに属するすべての文書ｄをＤＢ５００から取得する（ステップＳ１４０３）。分析装置２００は、分析対象の類似配置グループ内の文書ｄ間の共通セル特徴量を分析する（ステップＳ１４０４）。分析装置２００は、分析された文書ｄ間の共通セル特徴量の類似性に基づき文書をクラスタリングし、分析対象の共通様式グループを一つ以上形成する（ステップＳ１４０５）。
【００８７】
そして、分析装置２００は、未分析の類似配置グループが存在するか否かを判断する（ステップＳ１４０６）。未分析の類似配置グループが存在する場合（ステップＳ１４０６：Ｙｅｓ）、ステップＳ１４０３に戻る。一方、未分析の類似配置グループがない場合（ステップＳ１４０６：Ｎｏ）、分析装置２００は、文書分類処理（ステップＳ１４０６）を終了し、ステップＳ１３０３に移行する。
【００８８】
＜セル特定処理（ステップＳ１３０４）＞
図１５は、図１３に示したセル特定処理（ステップＳ１３０４）の詳細な処理手順例を示すフローチャートである。分析装置２００は、共通様式グループ群のうち分析対象となる共通様式グループに属するすべての文書をＤＢ５００から取得する（ステップＳ１５０１）。つぎに、分析装置２００は、セルの共通性および可変性を分析し、共通様式グループ内共通セルと共通様式グループ内可変セルを特定する（ステップＳ１５０２）。
【００８９】
つぎに、分析装置２００は、テーブル領域特定処理により、テーブルに含まれる項目名セルおよび、偽項目名セルも含む項目値セルをテーブル領域として特定する（ステップＳ１５０３）。分析装置２００は、ステップＳ１５０３で特定されたテーブル領域に含まれなかった共通様式グループ内共通セルを項目名セルとして、共通様式グループ内可変セルを項目値セルとして特定する（ステップＳ１５０４）。
【００９０】
そして、分析装置２００は、未分析の共通様式グループが存在するか否かを判断する（ステップＳ１５０５）。未分析の共通様式グループが存在する場合（ステップＳ１５０５：Ｙｅｓ）、ステップＳ１５０１に戻る。一方、未分析の共通様式グループがない場合（ステップＳ１５０５：Ｎｏ）、分析装置２００は、セル特定処理（ステップＳ１３０４）を終了し、ステップＳ１３０５に移行する。
【００９１】
＜条件特定処理（ステップＳ１３０６）＞
図１６は、図１３に示した条件特定処理（ステップＳ１３０６）の詳細な処理手順例を示すフローチャートである。分析装置２００は、共通様式グループ群のうち分析対象となる共通様式グループに属するすべての文書をＤＢ５００から取得する（ステップＳ１６０１）。つぎに、分析装置２００は、文書間の完全共通セルを分析し、様式判定条件要素候補を特定する（ステップＳ１６０２）。
【００９２】
つぎに、分析装置２００は、未分析の共通様式グループが存在するか否かを判断する（ステップＳ１６０３）。未分析の共通様式グループが存在する場合（ステップＳ１６０３：Ｙｅｓ）、ステップＳ１６０１に戻る。一方、未分析の共通様式グループがない場合（ステップＳ１６０３：Ｎｏ）、分析装置２００は、各共通様式グループの様式判定条件要素候補をＤＢ５００から取得し、それらを組み合わせることで共通様式グループ毎に一意となる様式判定条件を特定する（ステップＳ１６０４）。分析装置２００は、条件特定処理（ステップＳ１３０６）を終了し、ステップＳ１３０７に移行する。
【００９３】
なお、上述した実施例において、分析装置２００は、様式定義情報４００を参照して、共通様式グループごとに文書ｄのひな形を生成してもよい。これにより、ユーザは、あらたに文書ｄを作成する場合、ひな形を適用することができ、文書作成処理の効率化を図ることができる。
【００９４】
このように、本実施例の分析装置２００は、スプレッドシート形式の文書群ｄｓ内の文書ｄ間における各文書内のセルに含まれる文字列と、文字列を含むセルの位置と、の共通性に基づいて、文書群ｄｓ内の文書ｄを様式が共通する１以上の共通様式グループに分類し、分類結果を出力する。これにより、文書ｄのレイアウト属性情報や単語辞書等の付加入力を用いずに、多種多量の文書を様式毎に分類することができる。
【００９５】
また、分析装置２００は、さらに、文書群ｄｓ内の文書ｄを、各文書ｄ内のセル群のうち文字列を含むセルである有値セルおよび文字列を含まない無値セルの配置が同一または類似する１以上の類似配置グループに分類してもよい。これにより、類似配置グループに属する文書群内の文書ｄ間における各文書内の有値セルに含まれる文字列と、有値セルの位置と、の共通性に基づいて、類似配置グループに属する文書群内の文書ｄを１以上の共通様式グループに分類することになる。したがって、文書群ｄｓ内の文書ｄの分類の効率化を図ることができる。
【００９６】
また、分析装置２００は、共通様式グループに属する文書群ｄｓ内の２以上の文書間で、文字列を含むセルの位置および文字列が共通であるという共通性に基づいて、文字列が項目の名称を表す項目名セルを特定し、特定された項目名セルを示す情報を出力する。これにより、罫線、セル背景色、セル幅といったレイアウト属性情報を用いることなく、共通様式グループに属する文書群にどのような項目名セルが含まれているかを把握することができる。
【００９７】
また、分析装置２００は、共通様式グループに属する文書群ｄｓ内の２以上の文書ｄ間で、文字列を含むセルの位置は共通であるが文字列が異なるという文字列の可変性に基づいて、文字列が前記項目の値を表す項目値セルを特定し、特定された項目値セルを示す情報を出力する。これにより、罫線、セル背景色、セル幅といったレイアウト属性情報を用いることなく、共通様式グループに属する文書群にどのような項目値セルが含まれているかを把握することができる。
【００９８】
また、分析装置２００は、特定の項目名セルと当該特定の項目名セルから行方向または列方向に並ぶ一連の項目値セルとの組み合わせであるテーブル領域を用いる。そして、分析装置２００は、２以上の文書ｄ間で、文字列を含むセルの位置および文字列が共通するセルを共通セルとし、文字列を含むセルの位置は共通であるが前記文字列が異なるセルを可変セルとする。そして、分析装置２００は、特定の項目名セルと同一行または列に存在する第１共通セルからテーブル領域と同一方向に並ぶ一連のセルに第２共通セルが含まれている場合、第２共通セルを項目値セルとして特定する。第２共通セルは偽項目名セルであるため、偽項目名セルを項目値セルとして特定することにより、項目名セルおよび項目値セルの特定精度の向上を図ることができる。
【００９９】
また、分析装置２００は、共通様式グループに属する文書ｄ内での項目名セルと項目値セルとの位置関係に基づいて、項目名セルと項目値セルとを関連付け、関連付け結果を出力する。これにより、共通様式グループに属する文書において、項目名セルと項目値セルとが関連付けされた単一項目を生成することができる。
【０１００】
また、分析装置２００は、共通様式グループに属する文書ｄ内での項目名セルと項目値セルとの位置関係に基づいて、項目名セルと当該項目名セルから行方向または列方向に並ぶ一連の項目値セルとを関連付けてテーブルとする関連付け処理を実行し、関連付け結果を出力する。これにより、共通様式グループに属する文書ｄにおいて、項目名セルと複数の連続する項目値セルとが関連付けされたテーブルを生成することができる。
【０１０１】
また、分析装置２００は、共通様式グループに属する全文書ｄで位置および項目名が共通する項目名セルを、文書ｄの様式を判定する判定条件として特定し、特定結果を出力する。これにより、判定条件に合致する文書の様式を特定することができる。
【０１０２】
また、分析装置２００は、他の共通様式グループに属する文書ｄで位置および項目名が共通する項目名セルを判定条件から除外する。これにより、共通様式グループごとの様式を一意に決定することができる。
【０１０３】
また、分析装置２００は、表示画面を制御して、文書ｄと、項目名セル、項目値セル、および関連付けを示す情報とを、重畳表示する。これにより、ユーザは、様式定義の正しさを確認することができる。
【０１０４】
以上のように、本実施例によれば、文書ｄのレイアウト属性情報や単語辞書等の付加入力を用いずに、多種多量のシステム開発文書を様式毎に分類し、各様式の様式定義情報を機械的に生成できる。これにより、システム開発文書のような文書ｄを変換してデータベースで一元管理する方式の導入効率が上がる。また、上記方式を導入しない場合でも、未整理の多量のシステム開発文書のような文書ｄを様式毎に整理することで、システム保守担当者のシステム仕様理解を支援できる。
【０１０５】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
【０１０６】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【０１０７】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）カード、ＳＤカード、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）の記録媒体に格納することができる。
【０１０８】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【０１０９】
２００  分析装置
４００  様式定義情報
５０１  分類部
５０２  セル特定部
５０３  関連付け処理部
５０４  条件特定部
５０５  出力部
５０６  修正部
【図１】
2018037017.tif 000003
【図２】
2018037017.tif 000004
【図３】
2018037017.tif 000005
【図４】
2018037017.tif 000006
【図５】
2018037017.tif 000007
【図６】
2018037017.tif 000008
【図７】
2018037017.tif 000009
【図８】
2018037017.tif 000010
【図９】
2018037017.tif 000011
【図１０】
2018037017.tif 000012
【図１１】
2018037017.tif 000013
【図１２】
2018037017.tif 000014
【図１３】
2018037017.tif 000015
【図１４】
2018037017.tif 000016
【図１５】
2018037017.tif 000017
【図１６】
2018037017.tif 000018