(57)【要約】【課題】多様な組版体裁を含む電子化文書を自動的に所定の構造化文書へ変換する。【解決手段】電子化文書１０について所定のスキーマの文書構造の要素に対応する構造スタイルを予め設定した構造スタイル定義を読み込み、電子化文書１０に対して適用する予め設定された基本解析ルールを読み込み、電子化文書１０の文字列のみから基本解析ルールに基づいて段落を抽出し（３２）、抽出した段落について文書構造上の前記要素を決定し、段落内の文字位置と構成文字種から前記基本解析ルールに基づいて当該段落内の文書構造上の階層レベルを判定し（３４）、前記判定した階層レベルに応じた文書構造上の前記要素を決定し（３７）、前記決定した段落の要素と、前記決定した段落内の要素について、前記構造スタイル定義に設定された構造スタイルを体裁スタイルに代えてそれぞれ適用する（４４）。【選択図】図１
2007164705.tif 000002
【特許請求の範囲】
【請求項１】
電子化文書を読み込んで、前記電子化文書中の体裁スタイルを所定の構造スタイルに変換する電子化文書の変換方法であって、
前記電子化文書を読み込む手順と、
前記電子化文書について所定のスキーマの文書構造の要素に対応する構造スタイルを予め設定した構造スタイル定義を読み込む手順と、
前記電子化文書に対して適用する予め設定された基本解析ルールを読み込む手順と、
前記読み込んだ電子化文書の文字列のみから前記基本解析ルールに基づいて段落を抽出し、抽出した段落について文書構造上の前記要素を決定する手順と、
前記段落内の文字位置と構成文字種から前記基本解析ルールに基づいて当該段落内の文書構造上の階層レベルを判定し、前記判定した階層レベルに応じた文書構造上の前記要素を決定する手順と、
前記決定した段落の要素と、前記決定した段落内の要素について、前記構造スタイル定義に設定された構造スタイルを体裁スタイルに代えてそれぞれ適用する手順と、
を含むことを特徴とする電子化文書の変換方法。
【請求項２】
前記基本解析ルールは、前記電子化文書または電子化文書内の段落あるいは段落群について予め設定され、文書単位または段落単位あるいは段落群単位で適用することを特徴とする請求項１に記載の電子化文書の変換方法。
【請求項３】
前記基本解析ルールは、予め設定した階層レベルに関する例外ルールを含み、
前記階層レベルに応じた文書構造上の前記要素を決定する手順は、
前記予め設定した階層レベルのときには、前記例外ルールに基づいて文書構造上の前記要素を決定することを特徴とする請求項１に記載の電子化文書の変換方法。
【請求項４】
前記例外ルールは、構造スタイルを適用した文書を読み込んで、前記基本解析ルールと一致しない内容を当該例外ルールとして抽出したことを特徴とする請求項３に記載の電子化文書の変換方法。
【請求項５】
前記階層レベルに応じた文書構造上の前記要素を決定する手順は、
当該段落および当該段落の前に位置する段落内の文字位置と構成文字種に基づいて当該段落の文書構造上の階層レベル判定を行い、前記文書構造上の要素を決定することを特徴とする請求項１に記載の電子化文書の変換方法。
【請求項６】
前記構造スタイルを適用した電子化文書を表示する手順をさらに含み、
前記構造スタイルを体裁スタイルに代えてそれぞれ適用する手順は、
前記文書構造を可視的な体裁に還元する体裁情報を含むように構造スタイルを設定することを特徴とする請求項１に記載の電子化文書の変換方法。
【請求項７】
電子化文書を読み込んで、前記電子化文書中の体裁スタイルを所定の構造スタイルに変換する処理を計算機に実行させるプログラムであって、
前記電子化文書を読み込む処理と、
前記電子化文書について所定のスキーマの文書構造の要素に対応する構造スタイルを予め設定した構造スタイル定義を読み込む処理と、
前記電子化文書に対して適用する予め設定された基本解析ルールを読み込む処理と、
前記読み込んだ電子化文書の文字列のみから前記基本解析ルールに基づいて段落を抽出し、抽出した段落について文書構造上の前記要素を決定する処理と、
前記段落内の文字位置と構成文字種から前記基本解析ルールに基づいて当該段落内の文書構造上の階層レベルを判定し、前記判定した階層レベルに応じた文書構造上の前記要素を決定する処理と、
前記決定した段落の要素と、前記決定した段落内の要素について、前記構造スタイル定義に設定された構造スタイルを体裁スタイルに代えてそれぞれ適用する処理と、
を計算機に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子化文書の表現形式を変換する技術の改良に関し、特に組版体裁や体裁スタイルを含む電子化文書の変換方法に関する。
【背景技術】
【０００２】
近年、インターネットの普及に伴い、官公庁や企業などの組織ではＳＧＭＬ（Standard Generalized Mark-up Language）やＸＭＬ（eXtensible Markup Language）等の構造化文書によって電子的な文書管理が行われるようになっている（例えば、電子的医薬品等副作用・感染症症例報告、http://www.info.pmda.go.jp./info/pi_index.html）。そして、ＳＧＭＬやＸＭＬで記述された電子化文書はデータベースに格納されて、インターネット等を介して公衆に提供されている。周知のようにＳＧＭＬでは、文書の階層的な論理構造に着目し、文書の内容を構成する各要素に対し、その要素の論理構造上の意味を表すタグを付加することにより文書を構造化している。そして、タグ付け規則を統一することにより同種文書の論理構造の一貫性を保ち、文書の検索や再利用の効率向上を図っている。
【０００３】
ＳＧＭＬやＸＭＬ及び電子化文書を作成するには、所定の文書構造（ＤＴＤ(Document Type Definition, 文書型定義) やスキーマ記述言語もしくはスキーマ言語）を意識して電子化文書データを作成する必要がある。
【０００４】
一般的に電子化文書を作成する場合には、ＤＴＰ（Desk Top Publishing）ソフトウェアや組版編集ソフトウェアを用いて電子化文書を作成するが、これらのソフトウェアでは印刷やＰＤＦ出力を目的としているため、文書の段落や文字に適用して組版体裁を指示するスタイル設定機能（以下、体裁スタイルという）を利用している。
【０００５】
この体裁スタイルはＸＭＬやＳＧＭＬでは不要で削除されるべき情報であるため、これらの体裁スタイルを用いて文書構造を特定する。即ち、既存電子化文書をＸＭＬやＳＧＭＬデータへ変換するために、既存電子化文書に適用されている体裁スタイルの替わりにＸＭＬやＳＧＭＬの文書構造を特定するためのスタイル（以下、構造スタイルという）を適用する。
【０００６】
また、既存の電子化文書をＳＧＭＬやＸＭＬに変換する手法としては、スタイル設定が必要な文字列を含んだ文書要素を抽出し、文字列を含む文書要素に対応するスタイルタグの一覧を表示して、ユーザに選択させる手法が知られている（例えば、特許文献１）。また、入力した電子化文書を他の表現形式の電子化文書に変換する変換定義文の記述内容に従って他の表現形式に変換する手法が知られている（例えば、特許文献２）。
【特許文献１】特開２０００−３３９３０７号
【特許文献２】特開２００１−３５７０３０号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来例では、変換元となる電子化文書の作成過程で、上記ソフトウェアで作成した既存文書は印刷やＰＤＦ出力を目的とするため、適用されている体裁スタイルは組版体裁に係わるものであって、ＸＭＬやＳＧＭＬの文書構造を表現するための構造タグとは何の対応関係はなく、単純な付替え作業ができる訳ではない。
【０００８】
さらに既存の電子化文書には、字下げ字上げや改行など体裁を整える指令や、体裁を整えるための空白文字などが挿入されているが、ＸＭＬやＳＧＭＬでは不要な雑音情報となるため削除しなければならない。
【０００９】
こうした作業を手作業で行うことは、所定の文書構造を意識してＸＭＬやＳＧＭＬデータ用の元データを作成するのと大差ない作業となり、既存文書から変換生成することによる効率改善は望めない、という問題がある。
【００１０】
また、手作業時の際に本来必要な情報を誤って削除するなどの可能性が生じるため、データの再校正が必要になるなど、新たな作業が発生する、という問題が生じる。
【００１１】
さらに、上記特許文献１、２によれば、固定的なルールによって電子化文書の解析を行い、構造スタイルを適用するものではあるが、多種多様な体裁スタイルの電子化文書に対応するものではない。つまり、上述の電子的医薬品等副作用・感染症症例報告、有価証券報告書、あるいは医療薬品医療機器添付文書などでは、多数の組織が情報を提供しており、表示すべき項目は規定されてはいるものの、各項目内では各メーカが任意の文書構造を適用することが可能となっている。
【００１２】
ところが記載内容の構成が固定的でも、多様性を吸収するために冗長な構成として定義され、その構成要素を選択的に記載するものや、構造／構成下の階層レベルが多層に定義され、記述の意味的内容によって階層レベルを決定しなければならない構造化文書の場合は、上記特許文献１、２を用いても、既存の文書から構造化文書への変換生成を一意に行うことや、単純なルールで変換することができないという問題がある。
【００１３】
例えば、上記電子的医薬品等副作用・感染症症例報告や医療薬品医療機器添付文書では、入力となる文書の印刷用組版体裁はメーカによって様々であり、さらに、同一のメーカによっても機器や薬品の種類が異なれば組版体裁が異なる場合もあるため、上記特許文献１、２をそのまま適用しても目的とする構造化文書が得られないという問題があった。
【００１４】
そこで本発明は、上記問題点に鑑みてなされたもので、多様な組版体裁を含む電子化文書を自動的に所定の構造化文書へ変換することを目的とする。
【課題を解決するための手段】
【００１５】
本発明は、電子化文書を読み込んで、前記電子化文書中の体裁スタイルを所定の構造スタイルに変換する電子化文書の変換方法であって、前記電子化文書を読み込み、前記電子化文書について所定のスキーマの文書構造の要素に対応する構造スタイルを予め設定した構造スタイル定義を読み込み、前記電子化文書に対して適用する予め設定された基本解析ルールを読み込み、前記読み込んだ電子化文書の文字列のみから前記基本解析ルールに基づいて段落を抽出し、抽出した段落について文書構造上の前記要素を決定し、前記段落内の文字位置と構成文字種から前記基本解析ルールに基づいて当該段落内の文書構造上の階層レベルを判定し、前記判定した階層レベルに応じた文書構造上の前記要素を決定し、前記決定した段落の要素と、前記決定した段落内の要素について、前記構造スタイル定義に設定された構造スタイルを体裁スタイルに代えてそれぞれ適用する。
【発明の効果】
【００１６】
したがって、本発明によれば、読み込まれた電子化文書は基本解析ルールにより複数の段落に分割され、各段落内の階層構造を決定する。そして、段落内の階層レベルに応じた構造スタイルを体裁スタイルに代わって各段落毎に設定することで、目的とする構造化文書を自動的に得ることが可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の一実施形態を添付図面に基づいて説明する。
【００１８】
図１は、本発明を適用する計算機の構成を示すブロック図である。
【００１９】
計算機１は、ＣＰＵなどで構成されるコントローラ２と、コントローラ２により読み書きされるメモリ３と、Ｉ／Ｏデバイスの制御を行うインターフェース部４と、インターフェース部４に接続されて入力文書である電子化文書１０と、所定の表現形式で構成された出力文書である構造化文書２０を格納するディスク装置５と、オペレータの操作をインターフェース部４へ入力するキーボード６及びマウス７と、インターフェース部４に接続されてメッセージやデータの表示を行うディスプレイ装置８とを備える。
【００２０】
入力文書としての電子化文書１０は、上述したＤＴＰ（Desk Top Publishing）ソフトウェアや組版編集ソフトウェアを用いて作成した体裁スタイルを含んだ文書データや、スキャナなどから読み込んだ画像データをＯＣＲによりテキストデータとした文書で構成される。
【００２１】
また、出力文書としての構造化文書２０は、後述のように入力された電子化文書１０を解析して、上述したＸＭＬやＳＧＭＬの文書構造を特定するための構造スタイルを適用した文書データを示す。
【００２２】
メモリ３には、電子化文書１０を読み込んで、予め設定した表現形式の構造化文書２０に変換する電子化文書変換プログラム３０がロードされ、オペレータの指示に基づいて実行される。
【００２３】
また、メモリ３には、必要に応じて入力となる電子化文書１０を作成・編集する文書作成・編集プログラム５０が必要に応じてロードされ、オペレータの指示に基づいて実行される。なお、文書作成・編集プログラム５０は、ＤＴＰ（Desk Top Publishing）ソフトウェアや組版編集ソフトウェアなどで構成される。
【００２４】
以下、電子化文書変換プログラム３０の概要について説明する。
【００２５】
まず、電子化文書変換処理プログラム３０を起動して、文書読み込み部３１により予め設定された電子化文書１０又は計算機１のオペレータが指定した電子化文書１０を読み込む。
【００２６】
また、変換プログラム３０は、オペレータの指示に基づいて、読み込んだ電子化文書１０を所定の構造スタイルを備えた書式へ変換するため、適用構造スタイル解析部３７が目的とする構造化文書に対応した構造スタイル定義を読み込んで構造スタイル記憶部４０の構造スタイル定義格納部４１に格納する。なお、構造スタイル定義は、変換目的の構造化文書２０を得るために、ＸＭＬやＳＧＭＬなどのスキーマの文書構造の要素を記述した構造スタイルを予め定義したものである。
【００２７】
次に、ブロック抽出部３２（見出し解析部３３）は、読み込んだ電子化文書１０の文書構造上の要素（見出し部）を、スタイル設定ルール記憶部３６に格納された見出し解析用のルール（体裁スタイル、組版体裁、文言や文字）に基づいて後述するように解析し、１つの見出しから次の見出しまでの文書群（段落）を、１ブロックとして抽出する。なお、１ブロックは、見出し部を階層レベルの最上位の段落として、１つ以上の段落を含むものである。
【００２８】
抽出された１ブロックの文書群は、ブロック内段落解析部３４によってさらに後述する解析ルール２のように段落内の文字列パターンを解析する。
【００２９】
適用構造スタイル解析部３７は、ブロック内段落解析部３４の解析結果に基づいて、段落の階層レベルを判定し、文書構造上の要素を決定し、構造スタイル定義を適用していく。
【００３０】
このため、後述するように、前段落と現在の対象段落の先頭文字種が一致するかを比較して階層レベルを判定する段落先頭識別子一致判定部３８と、前段落と現在の対象段落の文字列パターンが一致するかを比較して階層レベルを判定する文字列パターン一致判定部３９とを備え、これら判定部３８、３９は構造スタイル記憶部４０を参照する。構造スタイル記憶部４０には、上記読み込んだ構造スタイル定義を格納する構造スタイル定義格納部４１と、段落毎の文字列パターンと適用した構造スタイルを記録したスタイル設定テーブル４２０を格納する適用済スタイル記憶部４２と、ブロック内の段落を構成する先頭文字種に適用した階層レベルを記憶する適用済階層レベル記憶部４３を備えている。
【００３１】
なお、文書構造上の要素とは、「篇、節、章」、「条、項」等の項目と、各項目内の内容を示し、スタイル設定ルール記憶部３６に格納される基本的な解析ルールに予め設定されたものである。なお、スタイル設定ルール記憶部３６には、図２で示すように、ブロックの抽出とブロック内の解析に用いる解析テーブル（解析ルール１、２、３及び例外解析ルールを搭載）３６０とスタイル設定ルール３６１１が格納される。なお、解析テーブル３６０には、後述する登録テーブル３７０が含まれる。
【００３２】
そして、構造スタイル適用部４４は、上記ブロック内段落解析部３４で解析した階層レベルと文書構造上の要素に対して、構造スタイル定義格納部４１に格納された構造スタイル定義を適用し、構造化文書を生成する。
【００３３】
なお、構造スタイル定義記憶部４１に格納する構造スタイル定義と、ブロック内段落解析部３４のスタイル設定ルール記憶部３６に記憶する解析ルール及びスタイル設定ルールは、上記オペレータの指示によりそれぞれ読み込まれるものである。また、構造スタイル定義記憶部４１に格納する構造スタイル定義と、ブロック内段落解析部３４のスタイル設定ルール記憶部３６に記憶する解析ルール及びスタイル設定ルールを１つのファイルで記述しておき、このファイルを読み込んだときに文書変換プログラム３０が、構造スタイル定義と解析ルールに分離して各記憶部へ格納するようにしてもよい。
【００３４】
以下、本実施形態では、構造化文書をＳＧＭＬの文書とした場合を例示し、適用構造スタイル解析部３７では、入力された電子化文書１０の文書構造上の要素毎にＳＧＭＬのタグを付加する例を示す。
【００３５】
また、ブロック内段落解析部３４は、段落内の基本的な解析ルール１、２と例外ルールをスタイル設定ルール記憶部３６に予め格納しておき、後述するようにブロック内の文書群に対して基本的な解析ルール１、２（以下、基本解析ルール）と例外ルールの何れを適用するかを判定する。
【００３６】
＜見出し解析部：解析ルール１＞
以下では、図３に示す電子化文書１０を文書変換プログラム３０の入力文書とし、この電子化文書１０を所定の構造化文書２０に変換する例を示す。図３は、文書作成・編集プログラム５０上でこの電子化文書１０を表示した場合の出力イメージを示し、図４はＤＴＤ（Document Type Definition）の一部を示したものである。なお、電子化文書１０は、文書作成・編集プログラム５０で生成または編集されたものである。
【００３７】
以下の例では、文書変換プログラム３０の見出し解析部３３において、変換対象となる電子化文書１０の体裁スタイル、組版体裁、段落を構成する文言や文字などの解析過程において、段落を構成する文字列のみから文書構造上の該当要素を決定する解析ルール１を示す。
【００３８】
図３に示した電子化文書１０上の「＜使用注意＞」や「＜重要な基本的注意＞」は図４のＤＴＤ上で、
<!ELEMENT Use-cautions - - ( variablelabel?、 (%detailandlows )* ) >
<!ELEMENT Important-precautions - - ( variablelabel?、 (%detailandlows )* ) >
と定義した要素に対応する。
【００３９】
この例では、入力された電子化文書１０上で「＜使用注意＞」や「＜重要な基本的注意＞」がどの様な組版体裁で表現されていようとも、また、「『使用注意』」など表記が括弧類を伴うなどで体裁が異なっていたとしても、「使用注意」という文言の前後一文字を削除した残りの段落を構成する文字列は「使用注意」や「重要な基本的注意」であり、他の文言を含まないことに着目することで、ＤＴＤ上の該当要素を一意に決定することができる。
【００４０】
即ち、これは記載内容の構成が固定的なことを利用した解析ルールである。こうした解析ルールで文書構成上の該当要素を決定できる段落を、以後見出し部と呼称する。
【００４１】
この見出し部を決定する解析ルールとしては、段落を構成する文字列の解析時に、解析対象としない文字列、文字種などを定義し、例えば、前述の例では「＜＞」が見出し解析部３３で認識対象から排除すべき文字及び文字種となる。
【００４２】
入力された電子化文書１０を目的の構造化文書２０へ変換するために、電子化文書１０が有する体裁スタイルに替えて構造スタイルを適用する具体的内容の一例を以下に説明する。
【００４３】
図５は、文書構造上の要素とスタイル名の対応関係を示す構造スタイル定義４１０の一例を示す。図５において、要素名４１１には要素タグとして「Use-cautions」、「mportant-precautions」に対応させたい構造スタイル名４１２を「使用注意」「重要な基本的注意」と定義する。
【００４４】
次に特定文言を検索し、この場合では、特定の文言として「使用注意」、「重要な基本的注意」など予め設定された文言を検出したら、検出した文書構造部分に所定の構造スタイルを自動的に適用する。なお、電子化文書１０が、テキストスタイルや段落スタイルという概念を持つ文書作成手段（文書作成編集プログラム５０）で作成された場合には、段落スタイルとして適用することができる。
【００４５】
構造スタイル定義４１０では、「使用注意」、「重要な基本的注意」といった要素を見出し部として扱い、見出し部の下位の階層レベルに「項目」と「内容」を定義する。さらに、「項目」と「内容」の下位の階層レベルには、階層レベル＝Ｌ１〜Ｌ３の階層レベルに分けられて、各階層レベル毎に要素名「low1subitem」〜「low3subitem」が設定され、それぞれ「項目（item）」と「内容（detail）」が設定される。
【００４６】
そして、解析ルール１に基づいて、構造スタイル定義４１０のスタイル名４１２を判定し、構造スタイルを適用する。こうして電子化文書１０に構造スタイルを適用した結果をＳＧＭＬ形式で出力し、ディスク装置５に格納する。なお、電子化文書１０をＳＧＭＬ形式で出力しない場合には、タグ付きテキスト形式で出力し、所定のツールや所定の変換プログラムでＸＭＬ／ＳＧＭＬ形式等の構造化文書２０に変換することができる。
【００４７】
この時、「＜」、「＞」などを含む段落に構造スタイル「使用注意」「重要な基本的注意」を適用してあるので、段落に含まれる文言に替えてこれらのスタイル名自体を使用することで、ＸＭＬやＳＧＭＬでは不要な雑音情報である「＜」や「＞」を削除することができ、ＤＴＤで要求される適切な文言への変換が実行である。
【００４８】
上記の見出し解析部３３における解析ルール１により構造スタイルを適用した見出し部から、次の見出し部の直前の段落までを、先行する見出し部に属する段落群とし、これをブロックと呼称する。
【００４９】
上記見出し解析部３３及びブロック抽出部３２により、後述の図１３に示すＳ１が実行されて見出し部に構造スタイルが適用される。この結果、図３に示した入力文書である電子化文書１０は、「使用注意」及び「重要な基本的注意」が見出し部として抽出され、図５に示した構造スタイル定義のうち、要素名４１１＝「Use-cautions」に対応するスタイル名４１２＝「使用注意」と、要素名４１１＝「important−precautions」に対応するスタイル名４１２＝「重要な基本的注意」が適用されて、設定された構造スタイル名と、構造化文書２０の見出し部は図６のようになる。また、後述するように、各見出し部以下の段落は、文書変換プログラム３０により階層構造毎に項目または内容といった文書構造上の要素が適用され、構造化文書２０における各段落とそこに適用した構造スタイルは図６のようになる。
【００５０】
こうして電子化文書１０から生成したＸＭＬ／ＳＧＭＬ形式で記述された構造化文書２０では、ＸＭＬ／ＳＧＭＬ形式で記述された「構造スタイル」名とＤＴＤに定義された各要素が対応する関係となり、「構造スタイル」名をＤＴＤに規定された所定のＸＭＬ／ＳＧＭＬ要素タグ記述に変換することにより、図７に示した所望のＸＭＬ／ＳＧＭＬ文書が生成できる。
【００５１】
なお、この変換を行うツールあるいはプログラムは本発明に関係なく、一般的な変換ツールあるいはプログラムとして適宜構成すれば良い。
【００５２】
＜ブロック内段落解析部、適用構造スタイル解析部３７：解析ルール２＞
次に、図１に示したブロック内段落解析部３４の処理について以下に説明する。このブロック内段落解析部３４と適用構造スタイル解析部３７の処理は、図１３に示すＳ２〜Ｓ２０の処理に相当するものであり、このロジックを解析ルール２とする。
【００５３】
ブロック内段落解析部３４では、ブロック抽出部３２で抽出した文書群について、段落内の文字位置と構成文字種に着目し、予め設定した解析ルール２に基づいて当該段落の文書構造上の階層レベル判定を行い文書構造上の該当要素を決定する。
【００５４】
ブロック抽出部３２で解析ルール１により抽出したブロック内の段落は、その記述内容をブロック内段落解析部３４が解析することにより、「項目」か「内容」のいずれかに分類する。ブロック内段落解析部３４は、ブロック内の段落の記述内容とその記述体裁の関係に着目して、次のように解析を行う。
【００５５】
なお、本実施形態では、ブロック内の「項目」は、抽出されたブロック内で階層的な段落を構成する要素として定義される。そして、「内容」は、「項目」に従属する文書の内容を示す要素として定義される。
【００５６】
まず、入力文書である電子化文書１０の一般的な「項目」と「内容」の関係は、次のように表すことができ、「項目」を記述する場合の体裁は、以下のような特徴を有する。
（Ａ）複数の項目を列挙する場合は、特定文字を段落先頭に配置し、
（１）複数項目の順序を規定する場合は、順序を示す文字（アラビア数字、アルファベ        ット、イロハなど、以下これを順序詞と呼称）を配置、
（２）項目を併記する場合は、各項目を明示するための文字（中黒、アスタリスク、米
印、注、★などの任意図形文字、以下これを項目明示詞と呼称）を配置、
（３）特定文字を括弧付きとするか、ピリオド付きとするかなどは任意
次に句読点類を含まない文字列（以下これを文と呼称）が続き、段落末尾に、
（４）段落先頭が順序詞の場合は段落末尾に特定文字を配置しない、
（５）段落先頭が項目明示詞の場合は段落末尾に特定文字を配置しないか、句読点類
（句点、ピリオド、コロン、セミコロンなど）を配置する構成となることが特徴である。
【００５７】
次に、「内容」を記述する場合の体裁は、
（Ｂ）文のみで構成
（Ｃ）段落末尾に文の終了を表す句点、ピリオドを配置した文で構成
（Ｄ）複数内容を列挙する場合は、順序詞を段落先頭に配置し、次に文が続き、段落末尾      に文の終了を表す句点、ピリオドを配置した構成
となることが特徴である。
【００５８】
以下、ブロック内段落解析部３４が注目する段落が項目か内容かを識別するための順序詞、項目明示詞や句読点類を段落識別子と呼称する。これら段落識別子は構造スタイル定義の一部として予め設定する。
【００５９】
ブロック内段落解析部３４は、上記段落識別子の特性を利用して段落内の文字列パターンの解析を行う。
【００６０】
図８はある文書の段落内を解析して予め設定した段落識別子を登録した解析テーブル３６０の一例を示したものである。解析テーブル３６０は、段落内を解析した結果を登録する登録テーブル３７０と、スタイル設定ルールと文字列パターンの対応関係を格納した基本ルール指定３６１とから構成される。
【００６１】
なお、解析テーブル３６０の内、基本ルール指定３６１の内容については予め対象文書を解析して設定しておくものであるが、登録テーブル３７０の内容については、予め対象文書を解析して登録しておく方法と、解析しながら登録する方法が可能である。
【００６２】
以下では、解析しながら文字識別子、識別対象文字列を登録していく方法で処理の説明を行うものとする。
【００６３】
まず、登録テーブル３７０は、ブロック内の段落内を解析した結果として、先頭文字種と行末（文末）文字種を登録する文字列識別子定義３７１と、対象段落内で抽出した文字種（文字識別子）毎に具体的な文字列を登録する文字識別子設定３７２の２つの格納テーブルが設定されている。
【００６４】
文字列識別子定義３７１は、一文の先頭を識別する文字種を登録した先頭文字識別子３７１１と、一文の行末（文末）を識別する文字種を登録する行末文字識別子３７１２から構成される。図８の例では、先頭文字識別子３７１１には、段落内を解析した結果、識別した先頭文字種として「１」（順序詞の意味）、「・」、「注」（項目明示詞の意味）の文字種が設定され、行末文字識別子３７１２には「。」（句点）の文字種が登録された例を示している。
【００６５】
文字識別子設定３７２には、文字列識別子定義３７１で設定した識別子が文字識別子３７２１に出現順で格納され、各文字識別子３７２１の各識別子ごとに段落内から抽出した文字が登録される。文字識別子以外の文字列は、具体的な文字列ではなく、単に「ＴＥＸＴ」として登録する。
【００６６】
先頭文字識別子３７１１としての文字種「１」は順序詞であり、図８では、段落内で抽出した順序詞として「１．」、「（１）」、「１）」、「丸付数字」が識別対象文字列３７２２に登録された例を示している。
【００６７】
同様に、先頭文字識別子３７１１としての「・」には、項目明示詞としての「・」、「○」、「◇」、「△」等が識別対象文字列３７２２に登録された例を示している。同様に、先頭文字識別子３７１１としての「注」には、項目明示詞としての「（注）」、「注）」、「※」が登録された例を示す。
【００６８】
基本ルール指定部３６１には、ブロック内段落の階層と、「項目」及び「内容」の種別からなるスタイル設定ルール３６１１に対応する文字列パターン３６１２が設定される。このスタイル設定ルール３６１１と文字列パターンの対応関係は、予め設定されたものである。
【００６９】
ここで、スタイル設定ルール３６１１は、図９で示すように予め設定されるもので、段落内の階層と「項目」または「内容」を識別するスタイル設定ルール名３６１２と、スタイル設定ルール名３６１２毎に定義を格納したスタイル設定ルール内容３６１３から構成される。図中「＋０」は同一階層（階層レベル＝＋０）の段落と見なす識別子で、「＋１」は現在の段落に従属する段落を示し、階層レベル＝＋１となる。スタイル設定ルール名３６１１は「＋０内容」であれば、現段落内の内容を示し、「＋１項目」であれば現在の段落に従属する段落の「項目」であることを示し、「＋１内容」であれば、現段落に従属する項目の内容を示す。
【００７０】
図８の基本ルール指定３６１には、同一段落内の内容を示す「＋０内容」の文字列パターン３６１２として、句点無しの文章を示す文字識別子「文」と、句点を行末文字に備えた文章を示す、文字識別子「文」と文字識別子「。」の「文。」を設定する。現在の段落に従属する段落の項目は、「＋１項目」の文字列パターンとして、順序詞＋文を示す「１文」と、項目明示詞＋文＋句点を示す「・文。」と、項目明示詞＋文を示す「・文」が設定される。そして、現在の段落に従属する段落の内容は、「＋１内容」の文字列パターンとして、順序詞＋文章＋句点を示す「１文。」が設定される。また、現在の段落の内容には「＋０内容」の文字列パターンとして、項目明示詞の「注」＋文＋句点を示す「注文。」が設定される。
【００７１】
これらのスタイル設定ルール名３６１１と文字列パターン３６１２の関係は、文書毎あるいはブロック毎に適宜設定することができる。
【００７２】
＜段落の項目／内容の識別と階層レベル判定処理＞
次に、上記解析テーブル３６０とスタイル設定ルール３６１１を用いてブロック内段落解析部３４と適用構造スタイル解析部３７で行われる段落の項目または内容を識別し、段落の階層レベルを判定する処理について以下に説明する。
【００７３】
この処理の概要は、ブロック抽出部３２で抽出されたブロックを区切る見出し部に続く段落群を、その段落を構成する段落識別子により識別した後、その段落の階層レベルを判定する。
【００７４】
まず、現在着目している段落が順序詞または項目明示詞付きか否かで処理が異なる。順序詞または項目明示詞付きの場合は、上記体裁（Ａ）の順序詞、項目明示詞と、上記体裁（Ｄ）の順序詞、項目明示詞を別々に、出現順にその文字種を登録テーブル３７０に登録する。なお、順序詞または項目明示詞を識別しても、既に登録テーブル３７０に登録されたものである場合は登録しない。
【００７５】
登録テーブル３７０への登録は以下の登録条件（登録ルール）により行う。
【００７６】
Ａ：同じ順序詞の場合、アラビア数字であっても、「１」、「１．」、「（１）」、「丸付数字」などは全て異なる文字種と判断し、登録テーブル３７０の識別対象文字列３７２２に登録する。
【００７７】
Ｂ：当該段落の順序詞・項目明示詞が初出の場合は順序詞または項目明示詞を識別対象文字列３７２２に登録する。
【００７８】
Ｃ：この登録が登録テーブル３７０上で初めてのものであれば、この順序詞または項目明示詞が順序詞・項目明示詞群の最上位の階層レベルに位置するよう識別対象文字列３７２２に文字列を登録する。
【００７９】
Ｄ：既に別の順序詞または項目明示詞が登録されている場合には、その順序詞・項目明示詞から一階層下位の階層レベルの識別対象文字列３７２２に登録する。
【００８０】
Ｅ：当該段落の順序詞または項目明示詞が既出の場合は、一致する順序詞または項目明示詞の階層レベルを取得し、該当する階層レベルに現在の段落の階層とした適用マークを付し、他の階層レベルに適用マークが付されている場合はこれを取り消す処理と、一致する順序詞または項目明示詞の階層レベルを取得すると同時に当該順序詞・項目明示詞より下の順序詞・項目明示詞の登録を消去する処理を行う。なお、適用マークに代わって、適用済階層レベル記憶部４３に記憶するようにしても良い。
【００８１】
ここで、前者の処理（他の階層レベルに適用マークが付されている場合はこれを取り消す処理）では、順序詞・項目明示詞が登録順に規則正しく繰り返されること、あるいは登録順と階層レベルが正確に対応していることを期待するものである。
【００８２】
一方、後者の処理（当該順序詞・項目明示詞より下位の順序詞・項目明示詞の登録を消去する処理）は、より上位の階層の順序詞・項目明示詞の出現は、該当段落より下位の順序や項目の定義を再定義したい動機であると理解し対応しようとするものである。
【００８３】
上記のうちどちらの処理とするかは適宜選択して採用することが可能である。以下の説明では後者の処理を採用するものとする。
【００８４】
次に、ブロック内段落解析部３４は、登録テーブル３７０に対して以下の処理のうちの何れかを行う。
・処理対象ブロックの処理中のみ保持し、当該ブロックの処理を終えた時点でクリアする。
・対象文書処理中は保持し、同じ構造スタイルの見出し部には同じ登録内容を適用する。
・ライブラリとして保持し、同じＤＴＤを使用する文書群に対して有効とし、同じ構造スタイルの見出し部には同じ登録内容を適用する。
【００８５】
上記いずれの処理によるかは、既存文書群において順序詞・項目明示詞を使用する場合、どの程度の統一性を持って作成されたかに依存し、予め決定しておくか、適宜選択可能とすることができる。統一性が高い場合は文書群に対して同一の登録テーブル３７０を共通に使用可能であり、恣意性が高い場合は処理対象のブロックにのみ使用可能である。
【００８６】
以下の説明では処理対象ブロックの処理中のみ登録テーブル３７０を保持するものとする。
【００８７】
次に階層レベルの判定ルール（ロジック）を説明する。この処理は図１３のＳ５の処理に相当する。
・階層レベルを、直前の段落と同じ階層レベルとする場合は「＋０」と表記し、
・直前の段落の階層レベルから一階層下位の階層レベルとする場合は「＋１」と表記し、
・直前の段落の階層レベルからｎ階層上位の階層レベルとする場合は「−ｎ」と表記する。
【００８８】
（１） 項目／内容の識別結果の如何によらず体裁（Ａ）または（Ｄ）の時、順序詞・項目明示詞の登録テーブル３７０への登録可否および階層レベルを判定する。
【００８９】
この登録が登録テーブル３７０上への初めての登録の場合は階層レベルが得られないので、下記（２）以下の判定ルールにより階層レベルを決定する。
【００９０】
既に登録された順序詞・項目明示詞が存在するが、登録しようとする順序詞・項目明示詞は初出の場合は＋１
既に登録された順序詞・項目明示詞が存在し、その最下位のものと一致する順序詞・項目明示詞の場合は＋０
既に登録された順序詞・項目明示詞が存在し、そのｎ階層上位のものと一致する順序詞・項目明示詞の場合は−ｎ
この時、該当階層レベルより下位の既登録の順序詞・項目明示詞は消去する。
【００９１】
上記判定ルールで階層レベルを決定できた場合は下記（２）〜（５）の判定ルールはスキップする。
【００９２】
（２）識別結果「項目」で体裁（Ａ）の場合は階層レベルを＋１
（３）識別結果「内容」で体裁（Ｂ）の場合は階層レベルを＋０。但し、直前        段落が内容の時は、直前段落と当該段落の文字列パターンを比較し、異なる場合        は階層レベルを＋１
（４）識別結果「内容」で体裁（Ｃ）の場合は階層レベルを＋０。但し、直前        段落が内容の時は、直前段落と当該段落の文字列パターンを比較し、異なる場合は階層レベルを＋１
（５）識別結果「内容」で体裁（Ｄ）の場合は階層レベルを＋１
以上の手順により、階層レベルが判定できれば、直前段落に適用した構造スタイルから一意に当該段落に付与すべき構造スタイルを決定することができる。
【００９３】
抽出したブロック単位で考えれば、ブロック先頭の構造スタイルが決定されているので以下のブロックを構成する段落群は先頭から順次構造スタイルを決定することができる。
【００９４】
＜２．段落の項目／内容の識別と階層レベル判定処理の実装例＞
上記の解析の実装例を以下に説明する。
【００９５】
図８に示すように対象文書を解析した結果として得られた段落識別子を先頭識別子３７１１と末尾識別子３７１２に分け、それぞれとして出現可能性のある順序詞、項目明示詞や句読点類の具体的文字コード識別対象文字列３７２２を登録する。
【００９６】
さらに、段落識別設定として文とこれら段落識別子の出現可能性のある組み合わせを列挙し、スタイル設定ルール３６１１としてその組み合わせを検出した場合の項目／内容識別結果と階層レベル判定を対応付ける。この情報を予め所謂ＤＢ（以下これを基本解析ルールＤＢ（図示省略）と呼称）として保持することができ、解析ルールを自動的または選択的に適用することが可能となる。
【００９７】
勿論、こうした解析ルールは文書の種類によって異なり、それぞれ対象とする文書を解析し、解析ルールとして抽出しておくものである。また、文書によって、段落内の文字位置、構成文字種の何に着目すれば解析ルールとして抽出できるかは異なる。
【００９８】
さらに、同一文書内であっても、特定のブロックや段落によってルールが異なることもあり得、文書群、文書、ブロック、段落といった単位で異なる適用範囲のルールとなり得る。いずれにしても、本発明は段落内の文字位置と構成文字種に着目し、項目か内容を識別し階層レベルの判定を行い文書構造上の該当要素を決定するものである。
【００９９】
図１１は、図１０に示す電子化文書１０’を解析した結果、基本解析ルールを文字列パターンと文字列とに対応するスタイル名（図５参照）との関係として示したスタイル設定テーブル４２０である。なお、図１０において「ＴＥＸＴ」は任意の文章を示す。
【０１００】
図１０は、第１行目が＜ＸＸＸＸ＞であるので、上記ブロック抽出部３２の解析ルール１によって見出し部として識別され、次の見出し部までの１行目から９行目までが１ブロックとして抽出された例を示す。
【０１０１】
次に、ブロック内段落解析部３４は、上述した段落の項目または内容を識別する処理を実施する。まず、上記登録条件に基づいてブロック内の各段落から段落識別子を抽出し、登録テーブル３７０へ登録する。
【０１０２】
これら抽出された段落識別子は、図１２に示すように、登録テーブル３７０の識別対象文字列３７２２に出現順で登録される。また、先頭文字識別子３７１１と行末文字識別子３７１２には、抽出した段落識別子に対応する文字種が出現順で登録される。
【０１０３】
ここで、登録テーブル３７０は、ひとつの文字識別子３７２１に対応する識別対象文字列３７２２には、複数の文字列を格納することができる。
【０１０４】
図１０のブロックの場合、２行目から解析ルール２による解析を行い、２行目では行末文字識別子として句点「。」を抽出し、３行目では順序詞「１．」を、５行目では項目明示詞「注）」、６行目では順序詞「１）」、８行目では項目明示詞「○」を抽出する。また、各行では内容を構成する文字列「ＴＥＸＴ」が抽出される。これらの抽出した段落識別子は、図１２で示すように、登録テーブル３７０の識別対象文字列３７２２へ出現順に登録される。また、図８の先頭文字識別子３７１１には、順序詞「１」、項目明示詞「注」と「・」が出現順で登録され、行末文字識別子３７１２には、句点「。」が登録される。
【０１０５】
次に、適用構造スタイル解析部３７では、登録テーブル３７０の段落識別子と電子化文書１０’の着目ブロックについて階層構造を決定し、適用するスタイル名を判定する。まず、見出し部の次の２行目の文字列パターンを判定する。２行目（第２段落）は、段落先頭から段落識別子の判定を行い、先頭の段落識別子は存在せず、文字列「ＴＥＸＴ」と句点「。」の構成であり、登録テーブル３７０の文字識別子３７２１の最上位には文字列「文」があるので、この２行目の文字列パターンは、解析テーブル３６０のスタイル設定ルール３６１１の文字列パターンに設定された「文。」と一致することが分かる。この文字列パターン「文。」は、基本ルール指定３６１に定義されたスタイル設定ルールの「＋０内容」に相当することが判定でき、第２行目は見出し部の内容を示す文字列パターンであると判定する。
【０１０６】
このとき、構造スタイル記憶部４０の適用済階層レベル記憶部４３に最上位の階層レベル（Ｌ０）を文字列に適用したことを記録する。そして、最上位の階層レベルの「内容」の段落であるので、図５の構造スタイル定義４１０から最上位の階層レベルの「内容」を選択して、当該段落にスタイル名＝「内容」を適用する。そして、図１１で示す適用済スタイル記憶部４２に設定されたスタイル設定テーブル４２０の最上位の「内容」をブロック内の最初の段落に適用したことを記録する（図中灰色部）。なお、図１１のスタイル設定テーブル４２０は、ブロック内の段落４２２毎に適用したスタイル名４２１と、文字列パターン４２３を記録するもので、本例では理解を容易にするため各段落の実際の文字列を設けているが、必須ではない。
【０１０７】
次に、３行目（第３段落）の文字列パターンを判定する。３行目は、順序詞「１．」と文字列「ＴＥＸＴ」の構成であり、文字列パターンは「１文」となる。文字列パターン「１文」は解析テーブル３６０に定義されたスタイル設定ルール３６１１の「＋１項目」に相当することが判定できる。したがって第３行目の階層レベルは＋１となり、ブロック内で第２位の階層レベルとなり、階層レベルがＬ１となる「項目」と決定する。
【０１０８】
このとき、構造スタイル記憶部４０の適用済階層レベル記憶部４３に第２位の階層レベル（Ｌ１）を文字列パターン「１文」に適用したことを記録する。そして、第２位の階層レベルの「項目」の段落であるので、図５の構造スタイル定義４１０から第２位の階層レベルの「項目」を選択し、当該段落にスタイル名＝「Ｌ１項目」を適用する。また、図１１で示すスタイル設定テーブル４２０には、第２位の「Ｌ１項目」をブロック内の２番目の段落に適用したことを記録する（図中灰色部）。
【０１０９】
以下、同様に各行（各段落）毎に登録テーブル３７０の解析結果と、解析ルール指定３６１の定義に基づいて文字列パターンを判定し、得られた文字列パターンと解析テーブル３６０のスタイル設定ルール３６１１の文字列パターンとを比較して、文字列パターンが一致するスタイル設定ルールを解析テーブル３６０が取得し、各段落の階層レベルを直前御段落に基づいて決定する。そして、決定した階層レベルに対応するスタイル名を当該段落に適用し、また、スタイル設定テーブル４２１に適用したスタイル名を記録していくのである。
【０１１０】
＜処理フローの説明＞
上記の文書変換プログラム３０で実行される処理の一例を図１３のフローチャートに示す。図１３のフローチャートは、見出し部を抽出する度に繰り返して実行される処理である。
【０１１１】
図１３において、Ｓ１では電子化文書１０を読み込んで、最初の見出し部を後述のように抽出し、見出し部に対応する構造スタイルを設定する（見出し解析部３３）。
【０１１２】
Ｓ２では、ブロックの開始であるので、見出し部からの階層の深さを示す変数である階層レベルＬを０にリセットし、ブロック内で適用する項目のモードを示す変数である項目モードＭを０にリセットする。なお、項目モードＭは、Ｍ＝０が項目であることを示し、Ｍ＝１が内容であることを示している。
【０１１３】
Ｓ３では、Ｓ１で抽出した見出しから次の見出しまでの１ブロックを段落毎に読み込んで、対象段落の文字列パターンを上述したように解析し、登録テーブル３７０に段落識別子を登録する（文字列パターン解析部３５）。
【０１１４】
Ｓ４では、読み込んだ文字列が見出し部を含んでいるかを判定する。見出し部であれば、次のブロックであるので、処理を終了する。一方、見出し部でなければ、Ｓ５の処理に進んで、ブロック内段落解析部３４と適用構造スタイル解析部３７の処理を行う。
【０１１５】
Ｓ５では、基本解析ルールに基づいて、Ｓ３で解析した文字列パターンについて、スタイル設定ルールを決定する。
【０１１６】
そして、Ｓ６以降の処理は、決定したスタイル設定ルールに応じて次の処理が異なり、スタイル設定ルールが「＋０内容」の場合にはＳ７に進み、「＋１項目」の場合にはＳ１１へ進み、「＋１内容」の場合にはＳ１６に進む。
【０１１７】
同一段落内の内容を示す「＋０内容」の場合、Ｓ７ではスタイル設定テーブル４２０の文字列パターンを参照して、現在対象としている文字列パターンと、前段落の文字列パターンが一致しているか否かを判定する（文字列パターン一致判定部３９）。前段落と同一の文字列パターンであれば、段落内の階層レベルが同一の内容を示す文字列パターンであるので、Ｓ１０へ進んで前段落と同一の構造スタイルを当該段落に適用する。一方、文字列パターンが前段落と一致しない場合Ｓ８に進む。
【０１１８】
Ｓ８では、前段落が「項目」であったか否かを項目モードＭの値に基づいて判定する。項目モードＭ＝０であれば前段落が「項目」であるので、Ｓ９に進んで階層レベルＬに１を加算（Ｌ＝Ｌ＋１）して段落内の階層レベルを１つ上げた後にＳ１０へ進む。一方、項目モードＭ＝１の場合には、前段落が「内容」であるのでそのままＳ１０に進む。
【０１１９】
Ｓ１０では前段落の構造スタイル定義を現在の対象段落に適用する。さらに前段落が項目か内容の何れであるかを示す項目モードＭを０にセットする。つまり前段落が「項目」であると設定する。これは、前段落が同一段落内の「内容」であっても、同一段落内の内容同士の場合、階層レベルの上下関係はないので、次の段落の判定に前段落が「項目」であったことを次の段落へ引き継ぐ。そして再びＳ３に戻って同様の処理を繰り返す。
【０１２０】
次に、Ｓ６の判定で、スタイル設定ルールが「＋１項目」の場合、Ｓ１１に進んで現在対象としている段落の先頭文字種が、前段落の先頭文字種と一致するか否かを判定する（段落先頭識別子一致判定部３８）。
【０１２１】
Ｓ１１では、前段落と同一の先頭文字種であれば、現在の対象段落の「項目」と判定してＳ１５に進む。一方、先頭文字種が前段落と異なる場合にはＳ１２へ進む。
【０１２２】
Ｓ１２では、適用済階層レベル記憶部４３を参照して、対象段落の先頭文字種が、同一ブロック内で既に発生した先頭文字種と一致するか否かを判定する。現在の対象段落の先頭文字種が既に抽出された先頭文字種と一致した場合には、Ｓ１４に進んで一致した先頭文字種の階層レベルと同一の階層レベルをセットする。一方、一致する先頭文字種がない場合には、Ｓ１３で階層レベルＬに１を加算（Ｌ＝Ｌ＋１）して段落内の階層レベルを１つ上げた後にＳ１５へ進む。
【０１２３】
Ｓ１５では対象段落の構造スタイル定義を、現在の階層レベルＬの「項目」に決定し、該当するスタイル名に対応する構造スタイル定義を構造スタイル定義４１０から読み込んで当該段落に適用する。さらに前段落が項目か内容の何れであるかを示す項目モードＭを１にセットして「項目」であることを設定する。そして、再びＳ３に戻って同様の処理を繰り返す。
【０１２４】
次に、Ｓ６の判定で、スタイル設定ルールが「＋１内容」の場合、Ｓ１６に進んで現在対象としている段落の先頭文字種が、前段落の先頭文字種と一致するか否かを判定する（段落先頭識別子一致判定部３８）。
【０１２５】
Ｓ１６では、前段落と同一の先頭文字種であれば、現在の対象段落の「内容」と判定してＳ２０に進む。一方、先頭文字種が前段落と異なる場合にはＳ１７へ進む。
【０１２６】
Ｓ１７では、適用済階層レベル記憶部４３を参照して、対象段落の先頭文字種が、同一ブロック内で既に発生した先頭文字種と一致するか否かを判定する。現在の対象段落の先頭文字種が既に抽出された先頭文字種と一致した場合には、Ｓ１９に進んで一致した先頭文字種の階層レベルと同一の階層レベルをセットする。一方、一致する先頭文字種がない場合には、Ｓ１８で階層レベルＬに１を加算（Ｌ＝Ｌ＋１）して段落内の階層レベルを１つ上げた後にＳ２０へ進む。
【０１２７】
Ｓ２０では対象段落の構造スタイル定義を、現在の階層レベルＬの「内容」に決定し、該当するスタイル名に対応する構造スタイル定義を構造スタイル定義４１０から読み込んで当該段落に適用する。さらに前段落が項目か内容の何れであるかを示す項目モードＭを０にセットして「内容」であることを設定する。そして、再びＳ３に戻って同様の処理を繰り返す。
【０１２８】
以上の処理により、解析ルール１によって電子化文書１０は、複数のブロックに分割され、解析ルール２により各ブロック内の段落を解析し、段落内の階層構造を決定する。そして、項目と内容の判別を行って階層レベルに応じた構造スタイルを各段落毎に設定することで、目的とする構造化文書２０を自動的に得ることが可能となる。
【０１２９】
つまり、本発明では、解析テーブル３６０の基本ルール指定部３６１でスタイル設定ルール３６１１と文字列パターン３６１２の関係を定義しておくだけで、多種多様な文書を構造化文書に変換することができる。例えば、前記従来例で述べたように、印刷用組版体裁がメーカによって様々な電子化文書１０を構造化文書２０へ変換する場合でも、段落識別子を解析し、登録テーブル３７０で階層レベルを解析することにより、基本ルール指定３６１で定義された解析ルールに基づいて、構造スタイルを自動的に適用できるのである。
【０１３０】
例えば、前記従来例のように固定的なルールによって構造化文書２０へ変換する場合では、最初にどの文字列を、どの階層レベルに対応させるか、という定義行う必要があり、一例として、項目について「１．」を階層レベルＬ＝１、「（１）」を階層レベルＬ＝２、「１）」を階層レベルＬ＝３、「・」を階層レベルＬ＝４と定義する。
【０１３１】
この従来例では、図１４で示すように、項目が定義通りの文書では、定義に従って階層レベルを設定することができる。ところが、図１５で示すように、項目の出現順が異なる場合では、前記従来例の場合、出現順に係わらず定義通りの階層レベルを割り当てるため、体裁解析では階層レベルＬ＝２となる「１）文」が、定義に沿って階層レベルＬ＝３と判定される。このため、前記従来例では構造化文書２０を自動的に生成することはできず、人手による修正が必要となる。
【０１３２】
さらに、図１６のように、項目の文字列として定義されていない項目「[1]」については、前記従来例では階層レベルの判定を行うことができず、項目の文字列を新たに設定し直す必要がある。
【０１３３】
これに対して、本発明では、項目や内容の先頭文字列を決定しておくのではなく、先頭文字種（先頭文字識別子）と行末文字種（行末文字識別子）として段落内から抽出する登録条件（Ａ〜Ｅ）を決めておき、各段落内を解析して文字種毎に出現順で登録テーブル３７０へ記憶し、抽出した段落識別子と文字列のパターンから文字列パターンを決定する。そして、決定した文字列パターンと一致する基本ルール指定３６１のスタイル設定ルール３６１１を検索し、該当するスタイル設定ルール３６１１に対応する要素を適用する。
【０１３４】
これにより、本発明では、図１４〜図１６の何れの体裁スタイルの文書（電子化文書１０）についても、段落内で解析した文字種の位置と文字列の組み合わせを、予め設定したスタイル設定ルール３６１１に対応付けることで、項目の出現順に階層レベルを決定して、体裁スタイルに対応した構造スタイルを自動的に適用することができるのである。
【０１３５】
＜例外ルール＞
上記解析ルール２の階層レベル判定は同じ文書群内の文書であっても、全ての文書に対して妥当とは言えない場合が生じる。これは構造スタイルが文書の論理的な構造や構成のみでなく、意味的な構造や構成にも由来して定義可能なことと関連し、執筆者の意図や記述の意味的内容によって、項目／内容の識別や階層レベル判定を基本解析ルールとは異ならせたいことがあり得るためである。そこで基本解析ルールに対して例外ルールが必要となる。
【０１３６】
例えば、図１７の対象文書（電子化文書１０）に対して、上記基本解析ルールを用いた場合に適用する構造スタイルは図１８となる。ここで望む構造化文書２０の結果は図１９に示すもので、「使用注意」ブロックの第一段落「使用注意(次の・・・)」は内容ではなく、一階層下のＬ１項目としたい。第二段落から第五段落まではＬ１項目となるが、これはＬ１内容としたい。「重要な基本的注意」ブロックの第一から第三段落はＬ１項目となるが、これはＬ１内容としたい。
【０１３７】
こうした項目／内容の識別や階層レベル判定は例外ルールを作成して対応する必要が生じる。ただし、こうした例外ルールは当該文書の「使用注意」、「重要な基本的注意」のブロックに対してのみ有効で、他の文書、他のブロックは基本解析ルールを用いても何ら問題はない。
【０１３８】
従って、この様な事例は対象文書単位や対象ブロック単位に、基本解析ルールを適用するか、例外ルールを適用するかを選択的に設定可能とすることで解決できる。
【０１３９】
＜例外ルールの実装例＞
まず、図２０のように抽出したブロック毎に個々の解析ルールを適用可能とするために、各解析ルールにユニークな名称を与える。例えば、文書内のブロックが８個の場合、各ブロックに対応する基本解析ルールの名称をＢ１〜Ｂ８と命名する。そして基本解析ルールＢ２に対する例外ルールをＢ２１（図２１の（Ａ））、例外ルールが複数存在する場合には図２１（Ｂ）のようにＢ２２、Ｂ２３、・・・と命名する。
【０１４０】
次に、図２２に示す様に対象文書単位にどのブロックにどの例外ルールを採用するかをテーブル上で設定する。このテーブル上の設定内容をページルールと呼称する。そして、ページルールにもユニークな名称を与える。なお、ページルールを格納するテーブルは、例えば、スタイル設定ルール記憶部３６に格納しても良いし、基本解析ルールＤＢに格納してもよい。
【０１４１】
よって、図２３の通り対象文書毎に適用ページルールを選択・決定することで、基本解析ルールと複数の例外ルールを適宜使い分けて、所望の構造スタイルを自動的に適用することができる。
【０１４２】
上記のように複数のページルールを適用する例としては、次のような例があげられる。
【０１４３】
＜応用例１＞
構造スタイルを手操作で適用した文書を読み込み、既存の階層レベル判定解析ルールと比較し、不一致内容を抽出する方法への応用が可能である。
【０１４４】
例外ルールは、前述の様に基本解析ルールによる構造スタイルの適用結果と、適用が望まれる構造スタイルを比較することによって抽出するが、この比較作業を容易にしようとするものである。
【０１４５】
例外ルール抽出方法
文書変換プログラム３０を、文書作成編集プログラム５０のアドインソフトウェアとして組み込んだ場合について、説明する。この例では、文書作成編集プログラム５０が、本発明の文書変換プログラム３０を内包する形となる。
【０１４６】
文書作成手段で対象文書（電子化文書１０）を開き、体裁スタイルに替えて構造スタイルを適用する操作を手操作で実行する。こうして作成した文書を、予め基本解析ルールを登録してある文書作成手段（文書作成編集プログラム５０）で開き、基本解析ルールを適用する。ここでこの文書作成手段には、例えばプラグインソフトなどで、ブロック下の各段落に適用されている構造スタイルと、基本解析ルールにより適用が決定された構造スタイルが、同じ場合は何もすることなく、異なる場合は当該段落を特定色に変更するなど、当該段落を明示できるように変更する機能を組み込んでおくものとする。
【０１４７】
これにより基本解析ルールを適用できない段落、表示色が異なる段落を目視・抽出し、この段落に適用されている構造スタイルを解析することで、この例外ルールを対応させる基本解析ルールと、項目／内容の別、階層レベルを知ることができ、これを例外ルールとして基本解析ルールＤＢへ登録する。
【０１４８】
＜応用例２＞
また、他の応用例としては以下のようなものが挙げられる。
【０１４９】
構造スタイルを手操作で適用した文書を読み込み、既存の階層レベル判定解析ルールと比較し、不一致内容を抽出し、例外ルールとして自動登録する方法への応用が可能である。
【０１５０】
例外ルール自動生成・登録方法
まず、対象文書に対する構造スタイル適用を基本解析ルールによってのみ実行する。その結果を文書作成手段（文書作成編集プログラム５０）でディスプレイ装置８に表示・確認し、適用された構造スタイルでは不都合な箇所を抽出し、所望の構造スタイルを手操作で適用する。ここで新たに適用した構造スタイルの項目／内容の別と階層レベルを例外ルールとすれば良いことになる。
【０１５１】
文書作成手段が校正履歴機能を持っている場合は、この校正履歴から旧適用スタイルと新適用スタイルを取得し、例外ルールを対応させる基本解析ルールと、項目／内容の別と階層レベルを知ることができ、自動的に例外ルール生成ができる。校正履歴機能がない場合は、上記情報を分析し、手操作で基本解析ルールＤＢに例外ルールとして登録する。
【０１５２】
＜解析ルール３＞
上記解析ルール１、２及び例外解析ルールに加えて、文書作成手段上で対象文書の体裁スタイル、組版体裁、段落を構成する文言や文字などの解析過程において、当該段落および当該段落の前に位置する段落内の文字位置と構成文字種に着目し、当該段落の文書構造上の階層レベル判定を行い文書構造上の該当要素を決定する解析ルールについて、以下に説明する。なお、この場合も、文書変換プログラム３０を、文書作成編集プログラム５０のアドインソフトウェアとして組み込んだものとして説明する。
【０１５３】
まず、上記基本解析ルールを用い、且つ当該段落および当該段落の前に位置する段落内の文字位置と構成文字種に着目し、当該段落の項目／内容の識別結果と階層レベル判定をテーブル化する。
【０１５４】
階層レベル判定のテーブルは、図２４で示すように、前段落と当該段落の二次元表（ルールテーブル）とし、その交差位置に当該段落の項目／内容識別結果と階層レベル判定を掲載してある。このテーブルで「SAME」は当該段落の項目／内容識別結果と階層レベルを前段落の階層レベルと同じにすることを意味する。
【０１５５】
例えば、前段落が「見出し」、当該段落が「文。」の文字列パターンと識別できた場合、図２４の該当交差位置には「＋０内容」と定義されており、「文。」は「＋０内容」と判定することを示している。これは当然のことながら、先に説明した図８の解析テーブル３６０から得られる結果と同じ結果となる。
【０１５６】
一方、基本ルールでは、前段落が「見出し」、当該段落が「文」の時には「＋０内容」と判定すると定義してあるが、これを「＋１項目」と判定する例外ルールを登録したい。
あるいは、基本ルールでは、前段落が「見出し」、当該段落が「・文。」の時には「＋１項目」と判定すると定義してあるが、これを「＋１内容」と判定する例外ルールを登録したいなど、例外ルールへの対応も要求される。
【０１５７】
図２５、図２６は上記「例外ルール」として説明したような例外への対応を示したもので、例外ルールを適用するための変更箇所を網掛けで示して図２５のように複数の例外ルールへも対応できる。いずれも特定のブロックに関する例外ルールへの対応例である。
【０１５８】
先の「例外ルール」方式では、ブロック内で発生した文と段落識別子の全ての文字列パターンに対して例外ルールを自由に設定できるが、同一ブロック内では同一文字列パターンに対して、一つの例外ルールのみを適用するという特徴がある。
【０１５９】
一方、解析ルール３では、前段落に依存するという限定があるが、同一ブロック内であっても、同一文字列パターン対して異なる例外ルールが設定できるという特徴がある。また、同一文字列パターンであるが、前段落の文字列パターンによってルールの変更ができるという利点もある。
【０１６０】
＜応用例３＞
ここでは、電子化文書１０に構造スタイルを自動的に適用した構造化文書２０へ変換した結果を、ユーザの計算機上で表示するものである。
【０１６１】
１．文書作成手段上で構造スタイルを自動適用した結果、文書構造が可視化できるように、構造を可視的な体裁に還元する体裁情報（文字サイズ、文字色、書体など）含むように構造スタイルを定義する。
【０１６２】
２．文書作成手段上で、手操作で構造スタイルを適用する作業、構造スタイル適用結果を目視確認する作業、解析ルールの抽出作業などを行う場合、文書構造が明示されていれば作業の助けとなる。
【０１６３】
以上のような２つの観点から、ＸＭＬやＳＧＭＬ、或いはＤＴＤそのものを扱うツール類では文書構造を明示する目的で、表示画面を分割して木構造と対応するテキストを並べて表示したり、テキストをクリックすると要素名や属性値を表示したりするように工夫されていることは周知の通りである。
【０１６４】
しかし、こうした従来の方法では文書構造とテキストの対応関係を視覚的に直結して認識することはできず、対応関係を思考上で形成しなければならない。
【０１６５】
一方、本発明における構造スタイルの適用は、これをタグ形式で出力する際に、その構造スタイル名を利用することに目的がある。
【０１６６】
従って、対象とする段落に所定の構造スタイルを適用した結果として、当該段落が文書作成手段上でどの様な組版体裁で表示されるようにスタイルの内容を定義するかは、ＸＭＬやＳＧＭＬデータを変換生成すること自体には関与しない。スタイル内容は自由に定義することが可能である。
【０１６７】
そこで、文書作成手段上で構造スタイル適用結果を目視確認する便宜から、各要素や各階層関係などに対応して、組版体裁情報（文字サイズ、文字色、書体など）を決めておけば、構造スタイル適用後には、文書構造を可視的な組版体裁として表現でき、文書構造を可視化することができる。
【０１６８】
図２７は、前記図３の電子化文書１０に構造スタイルを適用した結果を文書作成手段（文書作成編集プログラム５０）でディスプレイ装置８に表示した場合の従来例を示す。
【０１６９】
オペレータなどは、この画面を見ただけでは、即座に文書構造を認識することはできず、それぞれ図中左欄に示す各段落に適用した構造スタイルと対比しながら見る必要がある。これでは自動生成結果の確認作業や解析ルールの抽出作業には極めて不便である。
【０１７０】
これに対して、本発明による構造化文書２０の表示は図２８のようになる。図２８は、前記図３の電子化文書１０に構造スタイルを適用した結果（構造化文書２０）を文書作成手段（文書作成編集プログラム５０）でディスプレイ装置８に表示した本発明の一例を示す。
【０１７１】
各段落に適用する構造スタイルとして要素別にフォント、文字サイズ、文字色、インデント量などを違えて設定しておくことにより、それぞれ左欄に示す各段落に適用した構造スタイルと対比しながら見ることなく、画面上の文書自体を見ることによって文書構造を認識することが可能となる。
【０１７２】
文書構造を可視的な組版体裁として認識できるため、自動生成結果の確認作業や解析ルールの抽出作業において生産性を向上させることができる。文書変換プログラム３０のＸＭＬ／ＳＧＭＬ自動変換生成においては、文書作成手段のスタイル設定機能による「スタイル名」のみ利用し、スタイル設定機能による組版体裁はＸＭＬ／ＳＧＭＬ自動変換生成自体には関与しない。このスタイル設定機能による組版体裁を、文書構造を可視化する手段として利用するのである。
【０１７３】
ここで留意すべきは、印刷やＰＤＦ出力を目的とする場合に与える組版体裁指定と、文書構造を可視化するための組版体裁指定は全く異なり、従来例では、文書構造の可視化を目的に組版体裁指定を与える作業は、ＤＴＤを正確に理解した者が手操作で実施しなければならない。
【０１７４】
これに対して本発明では、文書構造を可視化するための組版体裁指定が、構造スタイルの自動適用時に同時に行われるという特徴があり、人手による作業をなくして、効率よく構造スタイルを可視化することが可能となる。
【０１７５】
なお、ディスプレイ装置８で表示する際には、図２８のようにすることなく、構造スタイルを可視化したテキストのみを表示するだけでも、構造スタイルとテキストの対応関係は視覚的に直結して表現される。これにより、図２７に示した従来例のように、構造スタイルと文書構造の対応関係を思考する必要がなく、前述のような文書作成手段上での諸作業を効率よく行うことが可能となる。
【０１７６】
なお、上記実施形態において、入力した電子化文書１０を所定のタグを付した構造化文書２０に変換する文書変換プログラム３０は、文書変換プログラム３０と並列的にメモリ上に格納しても良いし、上述のように文書変換プログラム３０を文書作成編集プログラム５０のアドインソフトウェアとして実行するようにしてもよい。 あるいは、文書変換プログラム３０を他のサーバ上で実行し、クライアントから受信した電子化文書１０を、所定の解析ルールにより構造化文書２０へ変換しても良い。
【０１７７】
また、上記実施形態では文書作成編集プログラム５０で出力した電子化文書１０を入力文書とする一例を示したが、ＯＣＲにより認識した電子化文書を入力することもできる。
【０１７８】
また、図７に示した構造スタイルを得るために図５に示した構造スタイルと、図９のスタイル設定ルールを設定した例を示したが、変換する文書の構造スタイルに応じて、構造スタイルやスタイル設定ルールは適宜変更することができる。
【産業上の利用可能性】
【０１７９】
以上のように、本発明によれば、多様な組版体裁を含む電子化文書を自動的に所定の構造化文書へ変換する組版装置や、文書変換プログラムに適用することができる。
【図面の簡単な説明】
【０１８０】
【図１】本発明の実施形態を示す計算機のシステム構成を示すブロック図。
【図２】同じくスタイル設定ルール記憶部の構成を示すブロック図。
【図３】電子化文書の一例を示す説明図。
【図４】電子化文書の構造を示す説明図。
【図５】文書構造上の要素とスタイル名の対応関係を示す構造スタイル定義４１０の説明図。
【図６】文書変換プログラムで変換した構造化文書の一例を示し、適用した設定スタイル名と文書内容の関係を示す説明図。
【図７】文書変換プログラムで変換した構造化文書を所定のＸＭＬ／ＳＧＭＬ文書に変換した一例を示す説明図。
【図８】段落内を解析して段落識別子を登録した解析テーブルの一例を示す説明図。
【図９】スタイル設定ルールの一例を示す説明図。
【図１０】文書変換プログラムで変換する電子化文書の項目の一例を示す説明図。
【図１１】スタイル設定テーブルの一例を示す説明図で、段落毎の設定スタイル名と文字列パターンの関係を示す。
【図１２】解析後の登録テーブルの内容を示す説明図。
【図１３】解析処理の一例を示すフローチャート。
【図１４】本発明と従来例の対比を示し、項目に対して設定した階層レベルの関係を示す。
【図１５】本発明と従来例の他の対比を示し、項目に対して設定した階層レベルの関係を示す。
【図１６】本発明と従来例のさらに他の対比を示し、項目に対して設定した階層レベルの関係を示す。
【図１７】例外ルールを適用する電子化文書の一例を示し、段落内容と文字列パターンの関係を示す説明図。
【図１８】図１７の電子化文書に対して基本解析ルールを適用した場合の設定スタイル名の一例を示す説明図。
【図１９】図１７の電子化文書に対して、目的とする設定スタイル名と文書内容の関係を示す説明図。
【図２０】文書内のブロック毎に適用するブロックルールの一例を示す説明図。
【図２１】ブロック毎の例外ルールの一例を示す説明図で、（Ａ）は基本解析ルールＢ２の例外ルール、（Ｂ）は同じく基本解析ルールＢ２の他の例外ルール、（Ｃ）は基本解析ルールＢ５の例外ルールを示す。
【図２２】ブロックに適用する例外ルールを設定したテーブルの説明図。
【図２３】対象文書毎に適用ページルールを設定したテーブルの一例を示す説明図。
【図２４】二次元ルールテーブルの一例を示す説明図。
【図２５】二次元ルールテーブルの一例を示し、例外ルールを適用したブロックの説明図。
【図２６】二次元ルールテーブルの一例を示し、他の例外ルールを適用したブロックの説明図。
【図２７】図３の電子化文書に構造スタイルを適用した結果を従来例により表示した場合の画面イメージ。
【図２８】図３の電子化文書に構造スタイルを適用した結果を本発明により表示した場合の画面イメージ。
【符号の説明】
【０１８１】
１  計算機
２  コントローラ
３  メモリ
４  インターフェース部
５  ディスク装置
８  ディスプレイ装置
３０  文書変換プログラム
３１  文書読み込み部
３２  ブロック抽出部
３４  ブロック内段落解析部
３７  適用スタイル解析部
【図１】
2007164705.tif 000003
【図２】
2007164705.tif 000004
【図３】
2007164705.tif 000005
【図４】
2007164705.tif 000006
【図５】
2007164705.tif 000007
【図６】
2007164705.tif 000008
【図７】
2007164705.tif 000009
【図８】
2007164705.tif 000010
【図９】
2007164705.tif 000011
【図１２】
2007164705.tif 000012
【図１３】
2007164705.tif 000013
【図１４】
2007164705.tif 000014
【図１５】
2007164705.tif 000015
【図１６】
2007164705.tif 000016
【図１７】
2007164705.tif 000017
【図２４】
2007164705.tif 000018
【図２７】
2007164705.tif 000019
【図２８】
2007164705.tif 000020
【図１０】
2007164705.tif 000021
【図１１】
2007164705.tif 000022
【図１８】
2007164705.tif 000023
【図１９】
2007164705.tif 000024
【図２０】
2007164705.tif 000025
【図２１】
2007164705.tif 000026
【図２２】
2007164705.tif 000027
【図２３】
2007164705.tif 000028
【図２５】
2007164705.tif 000029
【図２６】
2007164705.tif 000030