JP2007164705A - 電子化文書の変換方法及びプログラム - Google Patents
電子化文書の変換方法及びプログラム Download PDFInfo
- Publication number
- JP2007164705A JP2007164705A JP2005363603A JP2005363603A JP2007164705A JP 2007164705 A JP2007164705 A JP 2007164705A JP 2005363603 A JP2005363603 A JP 2005363603A JP 2005363603 A JP2005363603 A JP 2005363603A JP 2007164705 A JP2007164705 A JP 2007164705A
- Authority
- JP
- Japan
- Prior art keywords
- document
- paragraph
- style
- rule
- structural style
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Document Processing Apparatus (AREA)
Abstract
【課題】多様な組版体裁を含む電子化文書を自動的に所定の構造化文書へ変換する。
【解決手段】電子化文書10について所定のスキーマの文書構造の要素に対応する構造スタイルを予め設定した構造スタイル定義を読み込み、電子化文書10に対して適用する予め設定された基本解析ルールを読み込み、電子化文書10の文字列のみから基本解析ルールに基づいて段落を抽出し(32)、抽出した段落について文書構造上の前記要素を決定し、段落内の文字位置と構成文字種から前記基本解析ルールに基づいて当該段落内の文書構造上の階層レベルを判定し(34)、前記判定した階層レベルに応じた文書構造上の前記要素を決定し(37)、前記決定した段落の要素と、前記決定した段落内の要素について、前記構造スタイル定義に設定された構造スタイルを体裁スタイルに代えてそれぞれ適用する(44)。
【選択図】図1
【解決手段】電子化文書10について所定のスキーマの文書構造の要素に対応する構造スタイルを予め設定した構造スタイル定義を読み込み、電子化文書10に対して適用する予め設定された基本解析ルールを読み込み、電子化文書10の文字列のみから基本解析ルールに基づいて段落を抽出し(32)、抽出した段落について文書構造上の前記要素を決定し、段落内の文字位置と構成文字種から前記基本解析ルールに基づいて当該段落内の文書構造上の階層レベルを判定し(34)、前記判定した階層レベルに応じた文書構造上の前記要素を決定し(37)、前記決定した段落の要素と、前記決定した段落内の要素について、前記構造スタイル定義に設定された構造スタイルを体裁スタイルに代えてそれぞれ適用する(44)。
【選択図】図1
Description
本発明は、電子化文書の表現形式を変換する技術の改良に関し、特に組版体裁や体裁スタイルを含む電子化文書の変換方法に関する。
近年、インターネットの普及に伴い、官公庁や企業などの組織ではSGML(Standard Generalized Mark-up Language)やXML(eXtensible Markup Language)等の構造化文書によって電子的な文書管理が行われるようになっている(例えば、電子的医薬品等副作用・感染症症例報告、http://www.info.pmda.go.jp./info/pi_index.html)。そして、SGMLやXMLで記述された電子化文書はデータベースに格納されて、インターネット等を介して公衆に提供されている。周知のようにSGMLでは、文書の階層的な論理構造に着目し、文書の内容を構成する各要素に対し、その要素の論理構造上の意味を表すタグを付加することにより文書を構造化している。そして、タグ付け規則を統一することにより同種文書の論理構造の一貫性を保ち、文書の検索や再利用の効率向上を図っている。
SGMLやXML及び電子化文書を作成するには、所定の文書構造(DTD(Document Type Definition, 文書型定義) やスキーマ記述言語もしくはスキーマ言語)を意識して電子化文書データを作成する必要がある。
一般的に電子化文書を作成する場合には、DTP(Desk Top Publishing)ソフトウェアや組版編集ソフトウェアを用いて電子化文書を作成するが、これらのソフトウェアでは印刷やPDF出力を目的としているため、文書の段落や文字に適用して組版体裁を指示するスタイル設定機能(以下、体裁スタイルという)を利用している。
この体裁スタイルはXMLやSGMLでは不要で削除されるべき情報であるため、これらの体裁スタイルを用いて文書構造を特定する。即ち、既存電子化文書をXMLやSGMLデータへ変換するために、既存電子化文書に適用されている体裁スタイルの替わりにXMLやSGMLの文書構造を特定するためのスタイル(以下、構造スタイルという)を適用する。
また、既存の電子化文書をSGMLやXMLに変換する手法としては、スタイル設定が必要な文字列を含んだ文書要素を抽出し、文字列を含む文書要素に対応するスタイルタグの一覧を表示して、ユーザに選択させる手法が知られている(例えば、特許文献1)。また、入力した電子化文書を他の表現形式の電子化文書に変換する変換定義文の記述内容に従って他の表現形式に変換する手法が知られている(例えば、特許文献2)。
特開2000−339307号
特開2001−357030号
しかしながら、上記従来例では、変換元となる電子化文書の作成過程で、上記ソフトウェアで作成した既存文書は印刷やPDF出力を目的とするため、適用されている体裁スタイルは組版体裁に係わるものであって、XMLやSGMLの文書構造を表現するための構造タグとは何の対応関係はなく、単純な付替え作業ができる訳ではない。
さらに既存の電子化文書には、字下げ字上げや改行など体裁を整える指令や、体裁を整えるための空白文字などが挿入されているが、XMLやSGMLでは不要な雑音情報となるため削除しなければならない。
こうした作業を手作業で行うことは、所定の文書構造を意識してXMLやSGMLデータ用の元データを作成するのと大差ない作業となり、既存文書から変換生成することによる効率改善は望めない、という問題がある。
また、手作業時の際に本来必要な情報を誤って削除するなどの可能性が生じるため、データの再校正が必要になるなど、新たな作業が発生する、という問題が生じる。
さらに、上記特許文献1、2によれば、固定的なルールによって電子化文書の解析を行い、構造スタイルを適用するものではあるが、多種多様な体裁スタイルの電子化文書に対応するものではない。つまり、上述の電子的医薬品等副作用・感染症症例報告、有価証券報告書、あるいは医療薬品医療機器添付文書などでは、多数の組織が情報を提供しており、表示すべき項目は規定されてはいるものの、各項目内では各メーカが任意の文書構造を適用することが可能となっている。
ところが記載内容の構成が固定的でも、多様性を吸収するために冗長な構成として定義され、その構成要素を選択的に記載するものや、構造/構成下の階層レベルが多層に定義され、記述の意味的内容によって階層レベルを決定しなければならない構造化文書の場合は、上記特許文献1、2を用いても、既存の文書から構造化文書への変換生成を一意に行うことや、単純なルールで変換することができないという問題がある。
例えば、上記電子的医薬品等副作用・感染症症例報告や医療薬品医療機器添付文書では、入力となる文書の印刷用組版体裁はメーカによって様々であり、さらに、同一のメーカによっても機器や薬品の種類が異なれば組版体裁が異なる場合もあるため、上記特許文献1、2をそのまま適用しても目的とする構造化文書が得られないという問題があった。
そこで本発明は、上記問題点に鑑みてなされたもので、多様な組版体裁を含む電子化文書を自動的に所定の構造化文書へ変換することを目的とする。
本発明は、電子化文書を読み込んで、前記電子化文書中の体裁スタイルを所定の構造スタイルに変換する電子化文書の変換方法であって、前記電子化文書を読み込み、前記電子化文書について所定のスキーマの文書構造の要素に対応する構造スタイルを予め設定した構造スタイル定義を読み込み、前記電子化文書に対して適用する予め設定された基本解析ルールを読み込み、前記読み込んだ電子化文書の文字列のみから前記基本解析ルールに基づいて段落を抽出し、抽出した段落について文書構造上の前記要素を決定し、前記段落内の文字位置と構成文字種から前記基本解析ルールに基づいて当該段落内の文書構造上の階層レベルを判定し、前記判定した階層レベルに応じた文書構造上の前記要素を決定し、前記決定した段落の要素と、前記決定した段落内の要素について、前記構造スタイル定義に設定された構造スタイルを体裁スタイルに代えてそれぞれ適用する。
したがって、本発明によれば、読み込まれた電子化文書は基本解析ルールにより複数の段落に分割され、各段落内の階層構造を決定する。そして、段落内の階層レベルに応じた構造スタイルを体裁スタイルに代わって各段落毎に設定することで、目的とする構造化文書を自動的に得ることが可能となる。
以下、本発明の一実施形態を添付図面に基づいて説明する。
図1は、本発明を適用する計算機の構成を示すブロック図である。
計算機1は、CPUなどで構成されるコントローラ2と、コントローラ2により読み書きされるメモリ3と、I/Oデバイスの制御を行うインターフェース部4と、インターフェース部4に接続されて入力文書である電子化文書10と、所定の表現形式で構成された出力文書である構造化文書20を格納するディスク装置5と、オペレータの操作をインターフェース部4へ入力するキーボード6及びマウス7と、インターフェース部4に接続されてメッセージやデータの表示を行うディスプレイ装置8とを備える。
入力文書としての電子化文書10は、上述したDTP(Desk Top Publishing)ソフトウェアや組版編集ソフトウェアを用いて作成した体裁スタイルを含んだ文書データや、スキャナなどから読み込んだ画像データをOCRによりテキストデータとした文書で構成される。
また、出力文書としての構造化文書20は、後述のように入力された電子化文書10を解析して、上述したXMLやSGMLの文書構造を特定するための構造スタイルを適用した文書データを示す。
メモリ3には、電子化文書10を読み込んで、予め設定した表現形式の構造化文書20に変換する電子化文書変換プログラム30がロードされ、オペレータの指示に基づいて実行される。
また、メモリ3には、必要に応じて入力となる電子化文書10を作成・編集する文書作成・編集プログラム50が必要に応じてロードされ、オペレータの指示に基づいて実行される。なお、文書作成・編集プログラム50は、DTP(Desk Top Publishing)ソフトウェアや組版編集ソフトウェアなどで構成される。
以下、電子化文書変換プログラム30の概要について説明する。
まず、電子化文書変換処理プログラム30を起動して、文書読み込み部31により予め設定された電子化文書10又は計算機1のオペレータが指定した電子化文書10を読み込む。
また、変換プログラム30は、オペレータの指示に基づいて、読み込んだ電子化文書10を所定の構造スタイルを備えた書式へ変換するため、適用構造スタイル解析部37が目的とする構造化文書に対応した構造スタイル定義を読み込んで構造スタイル記憶部40の構造スタイル定義格納部41に格納する。なお、構造スタイル定義は、変換目的の構造化文書20を得るために、XMLやSGMLなどのスキーマの文書構造の要素を記述した構造スタイルを予め定義したものである。
次に、ブロック抽出部32(見出し解析部33)は、読み込んだ電子化文書10の文書構造上の要素(見出し部)を、スタイル設定ルール記憶部36に格納された見出し解析用のルール(体裁スタイル、組版体裁、文言や文字)に基づいて後述するように解析し、1つの見出しから次の見出しまでの文書群(段落)を、1ブロックとして抽出する。なお、1ブロックは、見出し部を階層レベルの最上位の段落として、1つ以上の段落を含むものである。
抽出された1ブロックの文書群は、ブロック内段落解析部34によってさらに後述する解析ルール2のように段落内の文字列パターンを解析する。
適用構造スタイル解析部37は、ブロック内段落解析部34の解析結果に基づいて、段落の階層レベルを判定し、文書構造上の要素を決定し、構造スタイル定義を適用していく。
このため、後述するように、前段落と現在の対象段落の先頭文字種が一致するかを比較して階層レベルを判定する段落先頭識別子一致判定部38と、前段落と現在の対象段落の文字列パターンが一致するかを比較して階層レベルを判定する文字列パターン一致判定部39とを備え、これら判定部38、39は構造スタイル記憶部40を参照する。構造スタイル記憶部40には、上記読み込んだ構造スタイル定義を格納する構造スタイル定義格納部41と、段落毎の文字列パターンと適用した構造スタイルを記録したスタイル設定テーブル420を格納する適用済スタイル記憶部42と、ブロック内の段落を構成する先頭文字種に適用した階層レベルを記憶する適用済階層レベル記憶部43を備えている。
なお、文書構造上の要素とは、「篇、節、章」、「条、項」等の項目と、各項目内の内容を示し、スタイル設定ルール記憶部36に格納される基本的な解析ルールに予め設定されたものである。なお、スタイル設定ルール記憶部36には、図2で示すように、ブロックの抽出とブロック内の解析に用いる解析テーブル(解析ルール1、2、3及び例外解析ルールを搭載)360とスタイル設定ルール3611が格納される。なお、解析テーブル360には、後述する登録テーブル370が含まれる。
そして、構造スタイル適用部44は、上記ブロック内段落解析部34で解析した階層レベルと文書構造上の要素に対して、構造スタイル定義格納部41に格納された構造スタイル定義を適用し、構造化文書を生成する。
なお、構造スタイル定義記憶部41に格納する構造スタイル定義と、ブロック内段落解析部34のスタイル設定ルール記憶部36に記憶する解析ルール及びスタイル設定ルールは、上記オペレータの指示によりそれぞれ読み込まれるものである。また、構造スタイル定義記憶部41に格納する構造スタイル定義と、ブロック内段落解析部34のスタイル設定ルール記憶部36に記憶する解析ルール及びスタイル設定ルールを1つのファイルで記述しておき、このファイルを読み込んだときに文書変換プログラム30が、構造スタイル定義と解析ルールに分離して各記憶部へ格納するようにしてもよい。
以下、本実施形態では、構造化文書をSGMLの文書とした場合を例示し、適用構造スタイル解析部37では、入力された電子化文書10の文書構造上の要素毎にSGMLのタグを付加する例を示す。
また、ブロック内段落解析部34は、段落内の基本的な解析ルール1、2と例外ルールをスタイル設定ルール記憶部36に予め格納しておき、後述するようにブロック内の文書群に対して基本的な解析ルール1、2(以下、基本解析ルール)と例外ルールの何れを適用するかを判定する。
<見出し解析部:解析ルール1>
以下では、図3に示す電子化文書10を文書変換プログラム30の入力文書とし、この電子化文書10を所定の構造化文書20に変換する例を示す。図3は、文書作成・編集プログラム50上でこの電子化文書10を表示した場合の出力イメージを示し、図4はDTD(Document Type Definition)の一部を示したものである。なお、電子化文書10は、文書作成・編集プログラム50で生成または編集されたものである。
以下では、図3に示す電子化文書10を文書変換プログラム30の入力文書とし、この電子化文書10を所定の構造化文書20に変換する例を示す。図3は、文書作成・編集プログラム50上でこの電子化文書10を表示した場合の出力イメージを示し、図4はDTD(Document Type Definition)の一部を示したものである。なお、電子化文書10は、文書作成・編集プログラム50で生成または編集されたものである。
以下の例では、文書変換プログラム30の見出し解析部33において、変換対象となる電子化文書10の体裁スタイル、組版体裁、段落を構成する文言や文字などの解析過程において、段落を構成する文字列のみから文書構造上の該当要素を決定する解析ルール1を示す。
図3に示した電子化文書10上の「<使用注意>」や「<重要な基本的注意>」は図4のDTD上で、
<!ELEMENT Use-cautions - - ( variablelabel?、 (%detailandlows )* ) >
<!ELEMENT Important-precautions - - ( variablelabel?、 (%detailandlows )* ) >
と定義した要素に対応する。
<!ELEMENT Use-cautions - - ( variablelabel?、 (%detailandlows )* ) >
<!ELEMENT Important-precautions - - ( variablelabel?、 (%detailandlows )* ) >
と定義した要素に対応する。
この例では、入力された電子化文書10上で「<使用注意>」や「<重要な基本的注意>」がどの様な組版体裁で表現されていようとも、また、「『使用注意』」など表記が括弧類を伴うなどで体裁が異なっていたとしても、「使用注意」という文言の前後一文字を削除した残りの段落を構成する文字列は「使用注意」や「重要な基本的注意」であり、他の文言を含まないことに着目することで、DTD上の該当要素を一意に決定することができる。
即ち、これは記載内容の構成が固定的なことを利用した解析ルールである。こうした解析ルールで文書構成上の該当要素を決定できる段落を、以後見出し部と呼称する。
この見出し部を決定する解析ルールとしては、段落を構成する文字列の解析時に、解析対象としない文字列、文字種などを定義し、例えば、前述の例では「<>」が見出し解析部33で認識対象から排除すべき文字及び文字種となる。
入力された電子化文書10を目的の構造化文書20へ変換するために、電子化文書10が有する体裁スタイルに替えて構造スタイルを適用する具体的内容の一例を以下に説明する。
図5は、文書構造上の要素とスタイル名の対応関係を示す構造スタイル定義410の一例を示す。図5において、要素名411には要素タグとして「Use-cautions」、「mportant-precautions」に対応させたい構造スタイル名412を「使用注意」「重要な基本的注意」と定義する。
次に特定文言を検索し、この場合では、特定の文言として「使用注意」、「重要な基本的注意」など予め設定された文言を検出したら、検出した文書構造部分に所定の構造スタイルを自動的に適用する。なお、電子化文書10が、テキストスタイルや段落スタイルという概念を持つ文書作成手段(文書作成編集プログラム50)で作成された場合には、段落スタイルとして適用することができる。
構造スタイル定義410では、「使用注意」、「重要な基本的注意」といった要素を見出し部として扱い、見出し部の下位の階層レベルに「項目」と「内容」を定義する。さらに、「項目」と「内容」の下位の階層レベルには、階層レベル=L1〜L3の階層レベルに分けられて、各階層レベル毎に要素名「low1subitem」〜「low3subitem」が設定され、それぞれ「項目(item)」と「内容(detail)」が設定される。
そして、解析ルール1に基づいて、構造スタイル定義410のスタイル名412を判定し、構造スタイルを適用する。こうして電子化文書10に構造スタイルを適用した結果をSGML形式で出力し、ディスク装置5に格納する。なお、電子化文書10をSGML形式で出力しない場合には、タグ付きテキスト形式で出力し、所定のツールや所定の変換プログラムでXML/SGML形式等の構造化文書20に変換することができる。
この時、「<」、「>」などを含む段落に構造スタイル「使用注意」「重要な基本的注意」を適用してあるので、段落に含まれる文言に替えてこれらのスタイル名自体を使用することで、XMLやSGMLでは不要な雑音情報である「<」や「>」を削除することができ、DTDで要求される適切な文言への変換が実行である。
上記の見出し解析部33における解析ルール1により構造スタイルを適用した見出し部から、次の見出し部の直前の段落までを、先行する見出し部に属する段落群とし、これをブロックと呼称する。
上記見出し解析部33及びブロック抽出部32により、後述の図13に示すS1が実行されて見出し部に構造スタイルが適用される。この結果、図3に示した入力文書である電子化文書10は、「使用注意」及び「重要な基本的注意」が見出し部として抽出され、図5に示した構造スタイル定義のうち、要素名411=「Use-cautions」に対応するスタイル名412=「使用注意」と、要素名411=「important−precautions」に対応するスタイル名412=「重要な基本的注意」が適用されて、設定された構造スタイル名と、構造化文書20の見出し部は図6のようになる。また、後述するように、各見出し部以下の段落は、文書変換プログラム30により階層構造毎に項目または内容といった文書構造上の要素が適用され、構造化文書20における各段落とそこに適用した構造スタイルは図6のようになる。
こうして電子化文書10から生成したXML/SGML形式で記述された構造化文書20では、XML/SGML形式で記述された「構造スタイル」名とDTDに定義された各要素が対応する関係となり、「構造スタイル」名をDTDに規定された所定のXML/SGML要素タグ記述に変換することにより、図7に示した所望のXML/SGML文書が生成できる。
なお、この変換を行うツールあるいはプログラムは本発明に関係なく、一般的な変換ツールあるいはプログラムとして適宜構成すれば良い。
<ブロック内段落解析部、適用構造スタイル解析部37:解析ルール2>
次に、図1に示したブロック内段落解析部34の処理について以下に説明する。このブロック内段落解析部34と適用構造スタイル解析部37の処理は、図13に示すS2〜S20の処理に相当するものであり、このロジックを解析ルール2とする。
次に、図1に示したブロック内段落解析部34の処理について以下に説明する。このブロック内段落解析部34と適用構造スタイル解析部37の処理は、図13に示すS2〜S20の処理に相当するものであり、このロジックを解析ルール2とする。
ブロック内段落解析部34では、ブロック抽出部32で抽出した文書群について、段落内の文字位置と構成文字種に着目し、予め設定した解析ルール2に基づいて当該段落の文書構造上の階層レベル判定を行い文書構造上の該当要素を決定する。
ブロック抽出部32で解析ルール1により抽出したブロック内の段落は、その記述内容をブロック内段落解析部34が解析することにより、「項目」か「内容」のいずれかに分類する。ブロック内段落解析部34は、ブロック内の段落の記述内容とその記述体裁の関係に着目して、次のように解析を行う。
なお、本実施形態では、ブロック内の「項目」は、抽出されたブロック内で階層的な段落を構成する要素として定義される。そして、「内容」は、「項目」に従属する文書の内容を示す要素として定義される。
まず、入力文書である電子化文書10の一般的な「項目」と「内容」の関係は、次のように表すことができ、「項目」を記述する場合の体裁は、以下のような特徴を有する。
(A)複数の項目を列挙する場合は、特定文字を段落先頭に配置し、
(1)複数項目の順序を規定する場合は、順序を示す文字(アラビア数字、アルファベ ット、イロハなど、以下これを順序詞と呼称)を配置、
(2)項目を併記する場合は、各項目を明示するための文字(中黒、アスタリスク、米
印、注、★などの任意図形文字、以下これを項目明示詞と呼称)を配置、
(3)特定文字を括弧付きとするか、ピリオド付きとするかなどは任意
次に句読点類を含まない文字列(以下これを文と呼称)が続き、段落末尾に、
(4)段落先頭が順序詞の場合は段落末尾に特定文字を配置しない、
(5)段落先頭が項目明示詞の場合は段落末尾に特定文字を配置しないか、句読点類
(句点、ピリオド、コロン、セミコロンなど)を配置する構成となることが特徴である。
(A)複数の項目を列挙する場合は、特定文字を段落先頭に配置し、
(1)複数項目の順序を規定する場合は、順序を示す文字(アラビア数字、アルファベ ット、イロハなど、以下これを順序詞と呼称)を配置、
(2)項目を併記する場合は、各項目を明示するための文字(中黒、アスタリスク、米
印、注、★などの任意図形文字、以下これを項目明示詞と呼称)を配置、
(3)特定文字を括弧付きとするか、ピリオド付きとするかなどは任意
次に句読点類を含まない文字列(以下これを文と呼称)が続き、段落末尾に、
(4)段落先頭が順序詞の場合は段落末尾に特定文字を配置しない、
(5)段落先頭が項目明示詞の場合は段落末尾に特定文字を配置しないか、句読点類
(句点、ピリオド、コロン、セミコロンなど)を配置する構成となることが特徴である。
次に、「内容」を記述する場合の体裁は、
(B)文のみで構成
(C)段落末尾に文の終了を表す句点、ピリオドを配置した文で構成
(D)複数内容を列挙する場合は、順序詞を段落先頭に配置し、次に文が続き、段落末尾 に文の終了を表す句点、ピリオドを配置した構成
となることが特徴である。
(B)文のみで構成
(C)段落末尾に文の終了を表す句点、ピリオドを配置した文で構成
(D)複数内容を列挙する場合は、順序詞を段落先頭に配置し、次に文が続き、段落末尾 に文の終了を表す句点、ピリオドを配置した構成
となることが特徴である。
以下、ブロック内段落解析部34が注目する段落が項目か内容かを識別するための順序詞、項目明示詞や句読点類を段落識別子と呼称する。これら段落識別子は構造スタイル定義の一部として予め設定する。
ブロック内段落解析部34は、上記段落識別子の特性を利用して段落内の文字列パターンの解析を行う。
図8はある文書の段落内を解析して予め設定した段落識別子を登録した解析テーブル360の一例を示したものである。解析テーブル360は、段落内を解析した結果を登録する登録テーブル370と、スタイル設定ルールと文字列パターンの対応関係を格納した基本ルール指定361とから構成される。
なお、解析テーブル360の内、基本ルール指定361の内容については予め対象文書を解析して設定しておくものであるが、登録テーブル370の内容については、予め対象文書を解析して登録しておく方法と、解析しながら登録する方法が可能である。
以下では、解析しながら文字識別子、識別対象文字列を登録していく方法で処理の説明を行うものとする。
まず、登録テーブル370は、ブロック内の段落内を解析した結果として、先頭文字種と行末(文末)文字種を登録する文字列識別子定義371と、対象段落内で抽出した文字種(文字識別子)毎に具体的な文字列を登録する文字識別子設定372の2つの格納テーブルが設定されている。
文字列識別子定義371は、一文の先頭を識別する文字種を登録した先頭文字識別子3711と、一文の行末(文末)を識別する文字種を登録する行末文字識別子3712から構成される。図8の例では、先頭文字識別子3711には、段落内を解析した結果、識別した先頭文字種として「1」(順序詞の意味)、「・」、「注」(項目明示詞の意味)の文字種が設定され、行末文字識別子3712には「。」(句点)の文字種が登録された例を示している。
文字識別子設定372には、文字列識別子定義371で設定した識別子が文字識別子3721に出現順で格納され、各文字識別子3721の各識別子ごとに段落内から抽出した文字が登録される。文字識別子以外の文字列は、具体的な文字列ではなく、単に「TEXT」として登録する。
先頭文字識別子3711としての文字種「1」は順序詞であり、図8では、段落内で抽出した順序詞として「1.」、「(1)」、「1)」、「丸付数字」が識別対象文字列3722に登録された例を示している。
同様に、先頭文字識別子3711としての「・」には、項目明示詞としての「・」、「○」、「◇」、「△」等が識別対象文字列3722に登録された例を示している。同様に、先頭文字識別子3711としての「注」には、項目明示詞としての「(注)」、「注)」、「※」が登録された例を示す。
基本ルール指定部361には、ブロック内段落の階層と、「項目」及び「内容」の種別からなるスタイル設定ルール3611に対応する文字列パターン3612が設定される。このスタイル設定ルール3611と文字列パターンの対応関係は、予め設定されたものである。
ここで、スタイル設定ルール3611は、図9で示すように予め設定されるもので、段落内の階層と「項目」または「内容」を識別するスタイル設定ルール名3612と、スタイル設定ルール名3612毎に定義を格納したスタイル設定ルール内容3613から構成される。図中「+0」は同一階層(階層レベル=+0)の段落と見なす識別子で、「+1」は現在の段落に従属する段落を示し、階層レベル=+1となる。スタイル設定ルール名3611は「+0内容」であれば、現段落内の内容を示し、「+1項目」であれば現在の段落に従属する段落の「項目」であることを示し、「+1内容」であれば、現段落に従属する項目の内容を示す。
図8の基本ルール指定361には、同一段落内の内容を示す「+0内容」の文字列パターン3612として、句点無しの文章を示す文字識別子「文」と、句点を行末文字に備えた文章を示す、文字識別子「文」と文字識別子「。」の「文。」を設定する。現在の段落に従属する段落の項目は、「+1項目」の文字列パターンとして、順序詞+文を示す「1文」と、項目明示詞+文+句点を示す「・文。」と、項目明示詞+文を示す「・文」が設定される。そして、現在の段落に従属する段落の内容は、「+1内容」の文字列パターンとして、順序詞+文章+句点を示す「1文。」が設定される。また、現在の段落の内容には「+0内容」の文字列パターンとして、項目明示詞の「注」+文+句点を示す「注文。」が設定される。
これらのスタイル設定ルール名3611と文字列パターン3612の関係は、文書毎あるいはブロック毎に適宜設定することができる。
<段落の項目/内容の識別と階層レベル判定処理>
次に、上記解析テーブル360とスタイル設定ルール3611を用いてブロック内段落解析部34と適用構造スタイル解析部37で行われる段落の項目または内容を識別し、段落の階層レベルを判定する処理について以下に説明する。
次に、上記解析テーブル360とスタイル設定ルール3611を用いてブロック内段落解析部34と適用構造スタイル解析部37で行われる段落の項目または内容を識別し、段落の階層レベルを判定する処理について以下に説明する。
この処理の概要は、ブロック抽出部32で抽出されたブロックを区切る見出し部に続く段落群を、その段落を構成する段落識別子により識別した後、その段落の階層レベルを判定する。
まず、現在着目している段落が順序詞または項目明示詞付きか否かで処理が異なる。順序詞または項目明示詞付きの場合は、上記体裁(A)の順序詞、項目明示詞と、上記体裁(D)の順序詞、項目明示詞を別々に、出現順にその文字種を登録テーブル370に登録する。なお、順序詞または項目明示詞を識別しても、既に登録テーブル370に登録されたものである場合は登録しない。
登録テーブル370への登録は以下の登録条件(登録ルール)により行う。
A:同じ順序詞の場合、アラビア数字であっても、「1」、「1.」、「(1)」、「丸付数字」などは全て異なる文字種と判断し、登録テーブル370の識別対象文字列3722に登録する。
B:当該段落の順序詞・項目明示詞が初出の場合は順序詞または項目明示詞を識別対象文字列3722に登録する。
C:この登録が登録テーブル370上で初めてのものであれば、この順序詞または項目明示詞が順序詞・項目明示詞群の最上位の階層レベルに位置するよう識別対象文字列3722に文字列を登録する。
D:既に別の順序詞または項目明示詞が登録されている場合には、その順序詞・項目明示詞から一階層下位の階層レベルの識別対象文字列3722に登録する。
E:当該段落の順序詞または項目明示詞が既出の場合は、一致する順序詞または項目明示詞の階層レベルを取得し、該当する階層レベルに現在の段落の階層とした適用マークを付し、他の階層レベルに適用マークが付されている場合はこれを取り消す処理と、一致する順序詞または項目明示詞の階層レベルを取得すると同時に当該順序詞・項目明示詞より下の順序詞・項目明示詞の登録を消去する処理を行う。なお、適用マークに代わって、適用済階層レベル記憶部43に記憶するようにしても良い。
ここで、前者の処理(他の階層レベルに適用マークが付されている場合はこれを取り消す処理)では、順序詞・項目明示詞が登録順に規則正しく繰り返されること、あるいは登録順と階層レベルが正確に対応していることを期待するものである。
一方、後者の処理(当該順序詞・項目明示詞より下位の順序詞・項目明示詞の登録を消去する処理)は、より上位の階層の順序詞・項目明示詞の出現は、該当段落より下位の順序や項目の定義を再定義したい動機であると理解し対応しようとするものである。
上記のうちどちらの処理とするかは適宜選択して採用することが可能である。以下の説明では後者の処理を採用するものとする。
次に、ブロック内段落解析部34は、登録テーブル370に対して以下の処理のうちの何れかを行う。
・処理対象ブロックの処理中のみ保持し、当該ブロックの処理を終えた時点でクリアする。
・対象文書処理中は保持し、同じ構造スタイルの見出し部には同じ登録内容を適用する。
・ライブラリとして保持し、同じDTDを使用する文書群に対して有効とし、同じ構造スタイルの見出し部には同じ登録内容を適用する。
・処理対象ブロックの処理中のみ保持し、当該ブロックの処理を終えた時点でクリアする。
・対象文書処理中は保持し、同じ構造スタイルの見出し部には同じ登録内容を適用する。
・ライブラリとして保持し、同じDTDを使用する文書群に対して有効とし、同じ構造スタイルの見出し部には同じ登録内容を適用する。
上記いずれの処理によるかは、既存文書群において順序詞・項目明示詞を使用する場合、どの程度の統一性を持って作成されたかに依存し、予め決定しておくか、適宜選択可能とすることができる。統一性が高い場合は文書群に対して同一の登録テーブル370を共通に使用可能であり、恣意性が高い場合は処理対象のブロックにのみ使用可能である。
以下の説明では処理対象ブロックの処理中のみ登録テーブル370を保持するものとする。
次に階層レベルの判定ルール(ロジック)を説明する。この処理は図13のS5の処理に相当する。
・階層レベルを、直前の段落と同じ階層レベルとする場合は「+0」と表記し、
・直前の段落の階層レベルから一階層下位の階層レベルとする場合は「+1」と表記し、
・直前の段落の階層レベルからn階層上位の階層レベルとする場合は「−n」と表記する。
・階層レベルを、直前の段落と同じ階層レベルとする場合は「+0」と表記し、
・直前の段落の階層レベルから一階層下位の階層レベルとする場合は「+1」と表記し、
・直前の段落の階層レベルからn階層上位の階層レベルとする場合は「−n」と表記する。
(1) 項目/内容の識別結果の如何によらず体裁(A)または(D)の時、順序詞・項目明示詞の登録テーブル370への登録可否および階層レベルを判定する。
この登録が登録テーブル370上への初めての登録の場合は階層レベルが得られないので、下記(2)以下の判定ルールにより階層レベルを決定する。
既に登録された順序詞・項目明示詞が存在するが、登録しようとする順序詞・項目明示詞は初出の場合は+1
既に登録された順序詞・項目明示詞が存在し、その最下位のものと一致する順序詞・項目明示詞の場合は+0
既に登録された順序詞・項目明示詞が存在し、そのn階層上位のものと一致する順序詞・項目明示詞の場合は−n
この時、該当階層レベルより下位の既登録の順序詞・項目明示詞は消去する。
既に登録された順序詞・項目明示詞が存在し、その最下位のものと一致する順序詞・項目明示詞の場合は+0
既に登録された順序詞・項目明示詞が存在し、そのn階層上位のものと一致する順序詞・項目明示詞の場合は−n
この時、該当階層レベルより下位の既登録の順序詞・項目明示詞は消去する。
上記判定ルールで階層レベルを決定できた場合は下記(2)〜(5)の判定ルールはスキップする。
(2)識別結果「項目」で体裁(A)の場合は階層レベルを+1
(3)識別結果「内容」で体裁(B)の場合は階層レベルを+0。但し、直前 段落が内容の時は、直前段落と当該段落の文字列パターンを比較し、異なる場合 は階層レベルを+1
(4)識別結果「内容」で体裁(C)の場合は階層レベルを+0。但し、直前 段落が内容の時は、直前段落と当該段落の文字列パターンを比較し、異なる場合は階層レベルを+1
(5)識別結果「内容」で体裁(D)の場合は階層レベルを+1
以上の手順により、階層レベルが判定できれば、直前段落に適用した構造スタイルから一意に当該段落に付与すべき構造スタイルを決定することができる。
(3)識別結果「内容」で体裁(B)の場合は階層レベルを+0。但し、直前 段落が内容の時は、直前段落と当該段落の文字列パターンを比較し、異なる場合 は階層レベルを+1
(4)識別結果「内容」で体裁(C)の場合は階層レベルを+0。但し、直前 段落が内容の時は、直前段落と当該段落の文字列パターンを比較し、異なる場合は階層レベルを+1
(5)識別結果「内容」で体裁(D)の場合は階層レベルを+1
以上の手順により、階層レベルが判定できれば、直前段落に適用した構造スタイルから一意に当該段落に付与すべき構造スタイルを決定することができる。
抽出したブロック単位で考えれば、ブロック先頭の構造スタイルが決定されているので以下のブロックを構成する段落群は先頭から順次構造スタイルを決定することができる。
<2.段落の項目/内容の識別と階層レベル判定処理の実装例>
上記の解析の実装例を以下に説明する。
上記の解析の実装例を以下に説明する。
図8に示すように対象文書を解析した結果として得られた段落識別子を先頭識別子3711と末尾識別子3712に分け、それぞれとして出現可能性のある順序詞、項目明示詞や句読点類の具体的文字コード識別対象文字列3722を登録する。
さらに、段落識別設定として文とこれら段落識別子の出現可能性のある組み合わせを列挙し、スタイル設定ルール3611としてその組み合わせを検出した場合の項目/内容識別結果と階層レベル判定を対応付ける。この情報を予め所謂DB(以下これを基本解析ルールDB(図示省略)と呼称)として保持することができ、解析ルールを自動的または選択的に適用することが可能となる。
勿論、こうした解析ルールは文書の種類によって異なり、それぞれ対象とする文書を解析し、解析ルールとして抽出しておくものである。また、文書によって、段落内の文字位置、構成文字種の何に着目すれば解析ルールとして抽出できるかは異なる。
さらに、同一文書内であっても、特定のブロックや段落によってルールが異なることもあり得、文書群、文書、ブロック、段落といった単位で異なる適用範囲のルールとなり得る。いずれにしても、本発明は段落内の文字位置と構成文字種に着目し、項目か内容を識別し階層レベルの判定を行い文書構造上の該当要素を決定するものである。
図11は、図10に示す電子化文書10’を解析した結果、基本解析ルールを文字列パターンと文字列とに対応するスタイル名(図5参照)との関係として示したスタイル設定テーブル420である。なお、図10において「TEXT」は任意の文章を示す。
図10は、第1行目が<XXXX>であるので、上記ブロック抽出部32の解析ルール1によって見出し部として識別され、次の見出し部までの1行目から9行目までが1ブロックとして抽出された例を示す。
次に、ブロック内段落解析部34は、上述した段落の項目または内容を識別する処理を実施する。まず、上記登録条件に基づいてブロック内の各段落から段落識別子を抽出し、登録テーブル370へ登録する。
これら抽出された段落識別子は、図12に示すように、登録テーブル370の識別対象文字列3722に出現順で登録される。また、先頭文字識別子3711と行末文字識別子3712には、抽出した段落識別子に対応する文字種が出現順で登録される。
ここで、登録テーブル370は、ひとつの文字識別子3721に対応する識別対象文字列3722には、複数の文字列を格納することができる。
図10のブロックの場合、2行目から解析ルール2による解析を行い、2行目では行末文字識別子として句点「。」を抽出し、3行目では順序詞「1.」を、5行目では項目明示詞「注)」、6行目では順序詞「1)」、8行目では項目明示詞「○」を抽出する。また、各行では内容を構成する文字列「TEXT」が抽出される。これらの抽出した段落識別子は、図12で示すように、登録テーブル370の識別対象文字列3722へ出現順に登録される。また、図8の先頭文字識別子3711には、順序詞「1」、項目明示詞「注」と「・」が出現順で登録され、行末文字識別子3712には、句点「。」が登録される。
次に、適用構造スタイル解析部37では、登録テーブル370の段落識別子と電子化文書10’の着目ブロックについて階層構造を決定し、適用するスタイル名を判定する。まず、見出し部の次の2行目の文字列パターンを判定する。2行目(第2段落)は、段落先頭から段落識別子の判定を行い、先頭の段落識別子は存在せず、文字列「TEXT」と句点「。」の構成であり、登録テーブル370の文字識別子3721の最上位には文字列「文」があるので、この2行目の文字列パターンは、解析テーブル360のスタイル設定ルール3611の文字列パターンに設定された「文。」と一致することが分かる。この文字列パターン「文。」は、基本ルール指定361に定義されたスタイル設定ルールの「+0内容」に相当することが判定でき、第2行目は見出し部の内容を示す文字列パターンであると判定する。
このとき、構造スタイル記憶部40の適用済階層レベル記憶部43に最上位の階層レベル(L0)を文字列に適用したことを記録する。そして、最上位の階層レベルの「内容」の段落であるので、図5の構造スタイル定義410から最上位の階層レベルの「内容」を選択して、当該段落にスタイル名=「内容」を適用する。そして、図11で示す適用済スタイル記憶部42に設定されたスタイル設定テーブル420の最上位の「内容」をブロック内の最初の段落に適用したことを記録する(図中灰色部)。なお、図11のスタイル設定テーブル420は、ブロック内の段落422毎に適用したスタイル名421と、文字列パターン423を記録するもので、本例では理解を容易にするため各段落の実際の文字列を設けているが、必須ではない。
次に、3行目(第3段落)の文字列パターンを判定する。3行目は、順序詞「1.」と文字列「TEXT」の構成であり、文字列パターンは「1文」となる。文字列パターン「1文」は解析テーブル360に定義されたスタイル設定ルール3611の「+1項目」に相当することが判定できる。したがって第3行目の階層レベルは+1となり、ブロック内で第2位の階層レベルとなり、階層レベルがL1となる「項目」と決定する。
このとき、構造スタイル記憶部40の適用済階層レベル記憶部43に第2位の階層レベル(L1)を文字列パターン「1文」に適用したことを記録する。そして、第2位の階層レベルの「項目」の段落であるので、図5の構造スタイル定義410から第2位の階層レベルの「項目」を選択し、当該段落にスタイル名=「L1項目」を適用する。また、図11で示すスタイル設定テーブル420には、第2位の「L1項目」をブロック内の2番目の段落に適用したことを記録する(図中灰色部)。
以下、同様に各行(各段落)毎に登録テーブル370の解析結果と、解析ルール指定361の定義に基づいて文字列パターンを判定し、得られた文字列パターンと解析テーブル360のスタイル設定ルール3611の文字列パターンとを比較して、文字列パターンが一致するスタイル設定ルールを解析テーブル360が取得し、各段落の階層レベルを直前御段落に基づいて決定する。そして、決定した階層レベルに対応するスタイル名を当該段落に適用し、また、スタイル設定テーブル421に適用したスタイル名を記録していくのである。
<処理フローの説明>
上記の文書変換プログラム30で実行される処理の一例を図13のフローチャートに示す。図13のフローチャートは、見出し部を抽出する度に繰り返して実行される処理である。
上記の文書変換プログラム30で実行される処理の一例を図13のフローチャートに示す。図13のフローチャートは、見出し部を抽出する度に繰り返して実行される処理である。
図13において、S1では電子化文書10を読み込んで、最初の見出し部を後述のように抽出し、見出し部に対応する構造スタイルを設定する(見出し解析部33)。
S2では、ブロックの開始であるので、見出し部からの階層の深さを示す変数である階層レベルLを0にリセットし、ブロック内で適用する項目のモードを示す変数である項目モードMを0にリセットする。なお、項目モードMは、M=0が項目であることを示し、M=1が内容であることを示している。
S3では、S1で抽出した見出しから次の見出しまでの1ブロックを段落毎に読み込んで、対象段落の文字列パターンを上述したように解析し、登録テーブル370に段落識別子を登録する(文字列パターン解析部35)。
S4では、読み込んだ文字列が見出し部を含んでいるかを判定する。見出し部であれば、次のブロックであるので、処理を終了する。一方、見出し部でなければ、S5の処理に進んで、ブロック内段落解析部34と適用構造スタイル解析部37の処理を行う。
S5では、基本解析ルールに基づいて、S3で解析した文字列パターンについて、スタイル設定ルールを決定する。
そして、S6以降の処理は、決定したスタイル設定ルールに応じて次の処理が異なり、スタイル設定ルールが「+0内容」の場合にはS7に進み、「+1項目」の場合にはS11へ進み、「+1内容」の場合にはS16に進む。
同一段落内の内容を示す「+0内容」の場合、S7ではスタイル設定テーブル420の文字列パターンを参照して、現在対象としている文字列パターンと、前段落の文字列パターンが一致しているか否かを判定する(文字列パターン一致判定部39)。前段落と同一の文字列パターンであれば、段落内の階層レベルが同一の内容を示す文字列パターンであるので、S10へ進んで前段落と同一の構造スタイルを当該段落に適用する。一方、文字列パターンが前段落と一致しない場合S8に進む。
S8では、前段落が「項目」であったか否かを項目モードMの値に基づいて判定する。項目モードM=0であれば前段落が「項目」であるので、S9に進んで階層レベルLに1を加算(L=L+1)して段落内の階層レベルを1つ上げた後にS10へ進む。一方、項目モードM=1の場合には、前段落が「内容」であるのでそのままS10に進む。
S10では前段落の構造スタイル定義を現在の対象段落に適用する。さらに前段落が項目か内容の何れであるかを示す項目モードMを0にセットする。つまり前段落が「項目」であると設定する。これは、前段落が同一段落内の「内容」であっても、同一段落内の内容同士の場合、階層レベルの上下関係はないので、次の段落の判定に前段落が「項目」であったことを次の段落へ引き継ぐ。そして再びS3に戻って同様の処理を繰り返す。
次に、S6の判定で、スタイル設定ルールが「+1項目」の場合、S11に進んで現在対象としている段落の先頭文字種が、前段落の先頭文字種と一致するか否かを判定する(段落先頭識別子一致判定部38)。
S11では、前段落と同一の先頭文字種であれば、現在の対象段落の「項目」と判定してS15に進む。一方、先頭文字種が前段落と異なる場合にはS12へ進む。
S12では、適用済階層レベル記憶部43を参照して、対象段落の先頭文字種が、同一ブロック内で既に発生した先頭文字種と一致するか否かを判定する。現在の対象段落の先頭文字種が既に抽出された先頭文字種と一致した場合には、S14に進んで一致した先頭文字種の階層レベルと同一の階層レベルをセットする。一方、一致する先頭文字種がない場合には、S13で階層レベルLに1を加算(L=L+1)して段落内の階層レベルを1つ上げた後にS15へ進む。
S15では対象段落の構造スタイル定義を、現在の階層レベルLの「項目」に決定し、該当するスタイル名に対応する構造スタイル定義を構造スタイル定義410から読み込んで当該段落に適用する。さらに前段落が項目か内容の何れであるかを示す項目モードMを1にセットして「項目」であることを設定する。そして、再びS3に戻って同様の処理を繰り返す。
次に、S6の判定で、スタイル設定ルールが「+1内容」の場合、S16に進んで現在対象としている段落の先頭文字種が、前段落の先頭文字種と一致するか否かを判定する(段落先頭識別子一致判定部38)。
S16では、前段落と同一の先頭文字種であれば、現在の対象段落の「内容」と判定してS20に進む。一方、先頭文字種が前段落と異なる場合にはS17へ進む。
S17では、適用済階層レベル記憶部43を参照して、対象段落の先頭文字種が、同一ブロック内で既に発生した先頭文字種と一致するか否かを判定する。現在の対象段落の先頭文字種が既に抽出された先頭文字種と一致した場合には、S19に進んで一致した先頭文字種の階層レベルと同一の階層レベルをセットする。一方、一致する先頭文字種がない場合には、S18で階層レベルLに1を加算(L=L+1)して段落内の階層レベルを1つ上げた後にS20へ進む。
S20では対象段落の構造スタイル定義を、現在の階層レベルLの「内容」に決定し、該当するスタイル名に対応する構造スタイル定義を構造スタイル定義410から読み込んで当該段落に適用する。さらに前段落が項目か内容の何れであるかを示す項目モードMを0にセットして「内容」であることを設定する。そして、再びS3に戻って同様の処理を繰り返す。
以上の処理により、解析ルール1によって電子化文書10は、複数のブロックに分割され、解析ルール2により各ブロック内の段落を解析し、段落内の階層構造を決定する。そして、項目と内容の判別を行って階層レベルに応じた構造スタイルを各段落毎に設定することで、目的とする構造化文書20を自動的に得ることが可能となる。
つまり、本発明では、解析テーブル360の基本ルール指定部361でスタイル設定ルール3611と文字列パターン3612の関係を定義しておくだけで、多種多様な文書を構造化文書に変換することができる。例えば、前記従来例で述べたように、印刷用組版体裁がメーカによって様々な電子化文書10を構造化文書20へ変換する場合でも、段落識別子を解析し、登録テーブル370で階層レベルを解析することにより、基本ルール指定361で定義された解析ルールに基づいて、構造スタイルを自動的に適用できるのである。
例えば、前記従来例のように固定的なルールによって構造化文書20へ変換する場合では、最初にどの文字列を、どの階層レベルに対応させるか、という定義行う必要があり、一例として、項目について「1.」を階層レベルL=1、「(1)」を階層レベルL=2、「1)」を階層レベルL=3、「・」を階層レベルL=4と定義する。
この従来例では、図14で示すように、項目が定義通りの文書では、定義に従って階層レベルを設定することができる。ところが、図15で示すように、項目の出現順が異なる場合では、前記従来例の場合、出現順に係わらず定義通りの階層レベルを割り当てるため、体裁解析では階層レベルL=2となる「1)文」が、定義に沿って階層レベルL=3と判定される。このため、前記従来例では構造化文書20を自動的に生成することはできず、人手による修正が必要となる。
さらに、図16のように、項目の文字列として定義されていない項目「[1]」については、前記従来例では階層レベルの判定を行うことができず、項目の文字列を新たに設定し直す必要がある。
これに対して、本発明では、項目や内容の先頭文字列を決定しておくのではなく、先頭文字種(先頭文字識別子)と行末文字種(行末文字識別子)として段落内から抽出する登録条件(A〜E)を決めておき、各段落内を解析して文字種毎に出現順で登録テーブル370へ記憶し、抽出した段落識別子と文字列のパターンから文字列パターンを決定する。そして、決定した文字列パターンと一致する基本ルール指定361のスタイル設定ルール3611を検索し、該当するスタイル設定ルール3611に対応する要素を適用する。
これにより、本発明では、図14〜図16の何れの体裁スタイルの文書(電子化文書10)についても、段落内で解析した文字種の位置と文字列の組み合わせを、予め設定したスタイル設定ルール3611に対応付けることで、項目の出現順に階層レベルを決定して、体裁スタイルに対応した構造スタイルを自動的に適用することができるのである。
<例外ルール>
上記解析ルール2の階層レベル判定は同じ文書群内の文書であっても、全ての文書に対して妥当とは言えない場合が生じる。これは構造スタイルが文書の論理的な構造や構成のみでなく、意味的な構造や構成にも由来して定義可能なことと関連し、執筆者の意図や記述の意味的内容によって、項目/内容の識別や階層レベル判定を基本解析ルールとは異ならせたいことがあり得るためである。そこで基本解析ルールに対して例外ルールが必要となる。
上記解析ルール2の階層レベル判定は同じ文書群内の文書であっても、全ての文書に対して妥当とは言えない場合が生じる。これは構造スタイルが文書の論理的な構造や構成のみでなく、意味的な構造や構成にも由来して定義可能なことと関連し、執筆者の意図や記述の意味的内容によって、項目/内容の識別や階層レベル判定を基本解析ルールとは異ならせたいことがあり得るためである。そこで基本解析ルールに対して例外ルールが必要となる。
例えば、図17の対象文書(電子化文書10)に対して、上記基本解析ルールを用いた場合に適用する構造スタイルは図18となる。ここで望む構造化文書20の結果は図19に示すもので、「使用注意」ブロックの第一段落「使用注意(次の・・・)」は内容ではなく、一階層下のL1項目としたい。第二段落から第五段落まではL1項目となるが、これはL1内容としたい。「重要な基本的注意」ブロックの第一から第三段落はL1項目となるが、これはL1内容としたい。
こうした項目/内容の識別や階層レベル判定は例外ルールを作成して対応する必要が生じる。ただし、こうした例外ルールは当該文書の「使用注意」、「重要な基本的注意」のブロックに対してのみ有効で、他の文書、他のブロックは基本解析ルールを用いても何ら問題はない。
従って、この様な事例は対象文書単位や対象ブロック単位に、基本解析ルールを適用するか、例外ルールを適用するかを選択的に設定可能とすることで解決できる。
<例外ルールの実装例>
まず、図20のように抽出したブロック毎に個々の解析ルールを適用可能とするために、各解析ルールにユニークな名称を与える。例えば、文書内のブロックが8個の場合、各ブロックに対応する基本解析ルールの名称をB1〜B8と命名する。そして基本解析ルールB2に対する例外ルールをB21(図21の(A))、例外ルールが複数存在する場合には図21(B)のようにB22、B23、・・・と命名する。
まず、図20のように抽出したブロック毎に個々の解析ルールを適用可能とするために、各解析ルールにユニークな名称を与える。例えば、文書内のブロックが8個の場合、各ブロックに対応する基本解析ルールの名称をB1〜B8と命名する。そして基本解析ルールB2に対する例外ルールをB21(図21の(A))、例外ルールが複数存在する場合には図21(B)のようにB22、B23、・・・と命名する。
次に、図22に示す様に対象文書単位にどのブロックにどの例外ルールを採用するかをテーブル上で設定する。このテーブル上の設定内容をページルールと呼称する。そして、ページルールにもユニークな名称を与える。なお、ページルールを格納するテーブルは、例えば、スタイル設定ルール記憶部36に格納しても良いし、基本解析ルールDBに格納してもよい。
よって、図23の通り対象文書毎に適用ページルールを選択・決定することで、基本解析ルールと複数の例外ルールを適宜使い分けて、所望の構造スタイルを自動的に適用することができる。
上記のように複数のページルールを適用する例としては、次のような例があげられる。
<応用例1>
構造スタイルを手操作で適用した文書を読み込み、既存の階層レベル判定解析ルールと比較し、不一致内容を抽出する方法への応用が可能である。
構造スタイルを手操作で適用した文書を読み込み、既存の階層レベル判定解析ルールと比較し、不一致内容を抽出する方法への応用が可能である。
例外ルールは、前述の様に基本解析ルールによる構造スタイルの適用結果と、適用が望まれる構造スタイルを比較することによって抽出するが、この比較作業を容易にしようとするものである。
例外ルール抽出方法
文書変換プログラム30を、文書作成編集プログラム50のアドインソフトウェアとして組み込んだ場合について、説明する。この例では、文書作成編集プログラム50が、本発明の文書変換プログラム30を内包する形となる。
文書変換プログラム30を、文書作成編集プログラム50のアドインソフトウェアとして組み込んだ場合について、説明する。この例では、文書作成編集プログラム50が、本発明の文書変換プログラム30を内包する形となる。
文書作成手段で対象文書(電子化文書10)を開き、体裁スタイルに替えて構造スタイルを適用する操作を手操作で実行する。こうして作成した文書を、予め基本解析ルールを登録してある文書作成手段(文書作成編集プログラム50)で開き、基本解析ルールを適用する。ここでこの文書作成手段には、例えばプラグインソフトなどで、ブロック下の各段落に適用されている構造スタイルと、基本解析ルールにより適用が決定された構造スタイルが、同じ場合は何もすることなく、異なる場合は当該段落を特定色に変更するなど、当該段落を明示できるように変更する機能を組み込んでおくものとする。
これにより基本解析ルールを適用できない段落、表示色が異なる段落を目視・抽出し、この段落に適用されている構造スタイルを解析することで、この例外ルールを対応させる基本解析ルールと、項目/内容の別、階層レベルを知ることができ、これを例外ルールとして基本解析ルールDBへ登録する。
<応用例2>
また、他の応用例としては以下のようなものが挙げられる。
また、他の応用例としては以下のようなものが挙げられる。
構造スタイルを手操作で適用した文書を読み込み、既存の階層レベル判定解析ルールと比較し、不一致内容を抽出し、例外ルールとして自動登録する方法への応用が可能である。
例外ルール自動生成・登録方法
まず、対象文書に対する構造スタイル適用を基本解析ルールによってのみ実行する。その結果を文書作成手段(文書作成編集プログラム50)でディスプレイ装置8に表示・確認し、適用された構造スタイルでは不都合な箇所を抽出し、所望の構造スタイルを手操作で適用する。ここで新たに適用した構造スタイルの項目/内容の別と階層レベルを例外ルールとすれば良いことになる。
まず、対象文書に対する構造スタイル適用を基本解析ルールによってのみ実行する。その結果を文書作成手段(文書作成編集プログラム50)でディスプレイ装置8に表示・確認し、適用された構造スタイルでは不都合な箇所を抽出し、所望の構造スタイルを手操作で適用する。ここで新たに適用した構造スタイルの項目/内容の別と階層レベルを例外ルールとすれば良いことになる。
文書作成手段が校正履歴機能を持っている場合は、この校正履歴から旧適用スタイルと新適用スタイルを取得し、例外ルールを対応させる基本解析ルールと、項目/内容の別と階層レベルを知ることができ、自動的に例外ルール生成ができる。校正履歴機能がない場合は、上記情報を分析し、手操作で基本解析ルールDBに例外ルールとして登録する。
<解析ルール3>
上記解析ルール1、2及び例外解析ルールに加えて、文書作成手段上で対象文書の体裁スタイル、組版体裁、段落を構成する文言や文字などの解析過程において、当該段落および当該段落の前に位置する段落内の文字位置と構成文字種に着目し、当該段落の文書構造上の階層レベル判定を行い文書構造上の該当要素を決定する解析ルールについて、以下に説明する。なお、この場合も、文書変換プログラム30を、文書作成編集プログラム50のアドインソフトウェアとして組み込んだものとして説明する。
上記解析ルール1、2及び例外解析ルールに加えて、文書作成手段上で対象文書の体裁スタイル、組版体裁、段落を構成する文言や文字などの解析過程において、当該段落および当該段落の前に位置する段落内の文字位置と構成文字種に着目し、当該段落の文書構造上の階層レベル判定を行い文書構造上の該当要素を決定する解析ルールについて、以下に説明する。なお、この場合も、文書変換プログラム30を、文書作成編集プログラム50のアドインソフトウェアとして組み込んだものとして説明する。
まず、上記基本解析ルールを用い、且つ当該段落および当該段落の前に位置する段落内の文字位置と構成文字種に着目し、当該段落の項目/内容の識別結果と階層レベル判定をテーブル化する。
階層レベル判定のテーブルは、図24で示すように、前段落と当該段落の二次元表(ルールテーブル)とし、その交差位置に当該段落の項目/内容識別結果と階層レベル判定を掲載してある。このテーブルで「SAME」は当該段落の項目/内容識別結果と階層レベルを前段落の階層レベルと同じにすることを意味する。
例えば、前段落が「見出し」、当該段落が「文。」の文字列パターンと識別できた場合、図24の該当交差位置には「+0内容」と定義されており、「文。」は「+0内容」と判定することを示している。これは当然のことながら、先に説明した図8の解析テーブル360から得られる結果と同じ結果となる。
一方、基本ルールでは、前段落が「見出し」、当該段落が「文」の時には「+0内容」と判定すると定義してあるが、これを「+1項目」と判定する例外ルールを登録したい。
あるいは、基本ルールでは、前段落が「見出し」、当該段落が「・文。」の時には「+1項目」と判定すると定義してあるが、これを「+1内容」と判定する例外ルールを登録したいなど、例外ルールへの対応も要求される。
あるいは、基本ルールでは、前段落が「見出し」、当該段落が「・文。」の時には「+1項目」と判定すると定義してあるが、これを「+1内容」と判定する例外ルールを登録したいなど、例外ルールへの対応も要求される。
図25、図26は上記「例外ルール」として説明したような例外への対応を示したもので、例外ルールを適用するための変更箇所を網掛けで示して図25のように複数の例外ルールへも対応できる。いずれも特定のブロックに関する例外ルールへの対応例である。
先の「例外ルール」方式では、ブロック内で発生した文と段落識別子の全ての文字列パターンに対して例外ルールを自由に設定できるが、同一ブロック内では同一文字列パターンに対して、一つの例外ルールのみを適用するという特徴がある。
一方、解析ルール3では、前段落に依存するという限定があるが、同一ブロック内であっても、同一文字列パターン対して異なる例外ルールが設定できるという特徴がある。また、同一文字列パターンであるが、前段落の文字列パターンによってルールの変更ができるという利点もある。
<応用例3>
ここでは、電子化文書10に構造スタイルを自動的に適用した構造化文書20へ変換した結果を、ユーザの計算機上で表示するものである。
ここでは、電子化文書10に構造スタイルを自動的に適用した構造化文書20へ変換した結果を、ユーザの計算機上で表示するものである。
1.文書作成手段上で構造スタイルを自動適用した結果、文書構造が可視化できるように、構造を可視的な体裁に還元する体裁情報(文字サイズ、文字色、書体など)含むように構造スタイルを定義する。
2.文書作成手段上で、手操作で構造スタイルを適用する作業、構造スタイル適用結果を目視確認する作業、解析ルールの抽出作業などを行う場合、文書構造が明示されていれば作業の助けとなる。
以上のような2つの観点から、XMLやSGML、或いはDTDそのものを扱うツール類では文書構造を明示する目的で、表示画面を分割して木構造と対応するテキストを並べて表示したり、テキストをクリックすると要素名や属性値を表示したりするように工夫されていることは周知の通りである。
しかし、こうした従来の方法では文書構造とテキストの対応関係を視覚的に直結して認識することはできず、対応関係を思考上で形成しなければならない。
一方、本発明における構造スタイルの適用は、これをタグ形式で出力する際に、その構造スタイル名を利用することに目的がある。
従って、対象とする段落に所定の構造スタイルを適用した結果として、当該段落が文書作成手段上でどの様な組版体裁で表示されるようにスタイルの内容を定義するかは、XMLやSGMLデータを変換生成すること自体には関与しない。スタイル内容は自由に定義することが可能である。
そこで、文書作成手段上で構造スタイル適用結果を目視確認する便宜から、各要素や各階層関係などに対応して、組版体裁情報(文字サイズ、文字色、書体など)を決めておけば、構造スタイル適用後には、文書構造を可視的な組版体裁として表現でき、文書構造を可視化することができる。
図27は、前記図3の電子化文書10に構造スタイルを適用した結果を文書作成手段(文書作成編集プログラム50)でディスプレイ装置8に表示した場合の従来例を示す。
オペレータなどは、この画面を見ただけでは、即座に文書構造を認識することはできず、それぞれ図中左欄に示す各段落に適用した構造スタイルと対比しながら見る必要がある。これでは自動生成結果の確認作業や解析ルールの抽出作業には極めて不便である。
これに対して、本発明による構造化文書20の表示は図28のようになる。図28は、前記図3の電子化文書10に構造スタイルを適用した結果(構造化文書20)を文書作成手段(文書作成編集プログラム50)でディスプレイ装置8に表示した本発明の一例を示す。
各段落に適用する構造スタイルとして要素別にフォント、文字サイズ、文字色、インデント量などを違えて設定しておくことにより、それぞれ左欄に示す各段落に適用した構造スタイルと対比しながら見ることなく、画面上の文書自体を見ることによって文書構造を認識することが可能となる。
文書構造を可視的な組版体裁として認識できるため、自動生成結果の確認作業や解析ルールの抽出作業において生産性を向上させることができる。文書変換プログラム30のXML/SGML自動変換生成においては、文書作成手段のスタイル設定機能による「スタイル名」のみ利用し、スタイル設定機能による組版体裁はXML/SGML自動変換生成自体には関与しない。このスタイル設定機能による組版体裁を、文書構造を可視化する手段として利用するのである。
ここで留意すべきは、印刷やPDF出力を目的とする場合に与える組版体裁指定と、文書構造を可視化するための組版体裁指定は全く異なり、従来例では、文書構造の可視化を目的に組版体裁指定を与える作業は、DTDを正確に理解した者が手操作で実施しなければならない。
これに対して本発明では、文書構造を可視化するための組版体裁指定が、構造スタイルの自動適用時に同時に行われるという特徴があり、人手による作業をなくして、効率よく構造スタイルを可視化することが可能となる。
なお、ディスプレイ装置8で表示する際には、図28のようにすることなく、構造スタイルを可視化したテキストのみを表示するだけでも、構造スタイルとテキストの対応関係は視覚的に直結して表現される。これにより、図27に示した従来例のように、構造スタイルと文書構造の対応関係を思考する必要がなく、前述のような文書作成手段上での諸作業を効率よく行うことが可能となる。
なお、上記実施形態において、入力した電子化文書10を所定のタグを付した構造化文書20に変換する文書変換プログラム30は、文書変換プログラム30と並列的にメモリ上に格納しても良いし、上述のように文書変換プログラム30を文書作成編集プログラム50のアドインソフトウェアとして実行するようにしてもよい。 あるいは、文書変換プログラム30を他のサーバ上で実行し、クライアントから受信した電子化文書10を、所定の解析ルールにより構造化文書20へ変換しても良い。
また、上記実施形態では文書作成編集プログラム50で出力した電子化文書10を入力文書とする一例を示したが、OCRにより認識した電子化文書を入力することもできる。
また、図7に示した構造スタイルを得るために図5に示した構造スタイルと、図9のスタイル設定ルールを設定した例を示したが、変換する文書の構造スタイルに応じて、構造スタイルやスタイル設定ルールは適宜変更することができる。
以上のように、本発明によれば、多様な組版体裁を含む電子化文書を自動的に所定の構造化文書へ変換する組版装置や、文書変換プログラムに適用することができる。
1 計算機
2 コントローラ
3 メモリ
4 インターフェース部
5 ディスク装置
8 ディスプレイ装置
30 文書変換プログラム
31 文書読み込み部
32 ブロック抽出部
34 ブロック内段落解析部
37 適用スタイル解析部
2 コントローラ
3 メモリ
4 インターフェース部
5 ディスク装置
8 ディスプレイ装置
30 文書変換プログラム
31 文書読み込み部
32 ブロック抽出部
34 ブロック内段落解析部
37 適用スタイル解析部
Claims (7)
- 電子化文書を読み込んで、前記電子化文書中の体裁スタイルを所定の構造スタイルに変換する電子化文書の変換方法であって、
前記電子化文書を読み込む手順と、
前記電子化文書について所定のスキーマの文書構造の要素に対応する構造スタイルを予め設定した構造スタイル定義を読み込む手順と、
前記電子化文書に対して適用する予め設定された基本解析ルールを読み込む手順と、
前記読み込んだ電子化文書の文字列のみから前記基本解析ルールに基づいて段落を抽出し、抽出した段落について文書構造上の前記要素を決定する手順と、
前記段落内の文字位置と構成文字種から前記基本解析ルールに基づいて当該段落内の文書構造上の階層レベルを判定し、前記判定した階層レベルに応じた文書構造上の前記要素を決定する手順と、
前記決定した段落の要素と、前記決定した段落内の要素について、前記構造スタイル定義に設定された構造スタイルを体裁スタイルに代えてそれぞれ適用する手順と、
を含むことを特徴とする電子化文書の変換方法。 - 前記基本解析ルールは、前記電子化文書または電子化文書内の段落あるいは段落群について予め設定され、文書単位または段落単位あるいは段落群単位で適用することを特徴とする請求項1に記載の電子化文書の変換方法。
- 前記基本解析ルールは、予め設定した階層レベルに関する例外ルールを含み、
前記階層レベルに応じた文書構造上の前記要素を決定する手順は、
前記予め設定した階層レベルのときには、前記例外ルールに基づいて文書構造上の前記要素を決定することを特徴とする請求項1に記載の電子化文書の変換方法。 - 前記例外ルールは、構造スタイルを適用した文書を読み込んで、前記基本解析ルールと一致しない内容を当該例外ルールとして抽出したことを特徴とする請求項3に記載の電子化文書の変換方法。
- 前記階層レベルに応じた文書構造上の前記要素を決定する手順は、
当該段落および当該段落の前に位置する段落内の文字位置と構成文字種に基づいて当該段落の文書構造上の階層レベル判定を行い、前記文書構造上の要素を決定することを特徴とする請求項1に記載の電子化文書の変換方法。 - 前記構造スタイルを適用した電子化文書を表示する手順をさらに含み、
前記構造スタイルを体裁スタイルに代えてそれぞれ適用する手順は、
前記文書構造を可視的な体裁に還元する体裁情報を含むように構造スタイルを設定することを特徴とする請求項1に記載の電子化文書の変換方法。 - 電子化文書を読み込んで、前記電子化文書中の体裁スタイルを所定の構造スタイルに変換する処理を計算機に実行させるプログラムであって、
前記電子化文書を読み込む処理と、
前記電子化文書について所定のスキーマの文書構造の要素に対応する構造スタイルを予め設定した構造スタイル定義を読み込む処理と、
前記電子化文書に対して適用する予め設定された基本解析ルールを読み込む処理と、
前記読み込んだ電子化文書の文字列のみから前記基本解析ルールに基づいて段落を抽出し、抽出した段落について文書構造上の前記要素を決定する処理と、
前記段落内の文字位置と構成文字種から前記基本解析ルールに基づいて当該段落内の文書構造上の階層レベルを判定し、前記判定した階層レベルに応じた文書構造上の前記要素を決定する処理と、
前記決定した段落の要素と、前記決定した段落内の要素について、前記構造スタイル定義に設定された構造スタイルを体裁スタイルに代えてそれぞれ適用する処理と、
を計算機に実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005363603A JP2007164705A (ja) | 2005-12-16 | 2005-12-16 | 電子化文書の変換方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005363603A JP2007164705A (ja) | 2005-12-16 | 2005-12-16 | 電子化文書の変換方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007164705A true JP2007164705A (ja) | 2007-06-28 |
Family
ID=38247497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005363603A Pending JP2007164705A (ja) | 2005-12-16 | 2005-12-16 | 電子化文書の変換方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007164705A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011150646A (ja) * | 2010-01-25 | 2011-08-04 | Fujifilm Corp | 配信サーバ及びその制御方法、並びに文書ファイル閲覧システム |
JP2013206261A (ja) * | 2012-03-29 | 2013-10-07 | Toshiba Corp | 構造化データ生成装置、データ処理装置、構造化データ生成方法、及び構造化データ生成プログラム |
CN110110195A (zh) * | 2019-05-07 | 2019-08-09 | 宜人恒业科技发展(北京)有限公司 | 一种杂质清除方法及装置 |
CN110427614A (zh) * | 2019-07-16 | 2019-11-08 | 深圳追一科技有限公司 | 段落层级的构建方法、装置、电子设备及存储介质 |
CN111460083A (zh) * | 2020-03-31 | 2020-07-28 | 北京百度网讯科技有限公司 | 文档标题树的构建方法、装置、电子设备及存储介质 |
JP2021508128A (ja) * | 2017-09-13 | 2021-02-25 | ガジェット ソフトウェア,インコーポレイテッド | タッチスクリーン及びハンズフリーモバイルデバイス向けのマルチメディアオブジェクトへのデジタルコンテンツの細分化 |
CN112559318A (zh) * | 2020-11-02 | 2021-03-26 | 浙江诺诺网络科技有限公司 | 一种测试用例生成方法、装置及电子设备和存储介质 |
-
2005
- 2005-12-16 JP JP2005363603A patent/JP2007164705A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011150646A (ja) * | 2010-01-25 | 2011-08-04 | Fujifilm Corp | 配信サーバ及びその制御方法、並びに文書ファイル閲覧システム |
JP2013206261A (ja) * | 2012-03-29 | 2013-10-07 | Toshiba Corp | 構造化データ生成装置、データ処理装置、構造化データ生成方法、及び構造化データ生成プログラム |
JP2021508128A (ja) * | 2017-09-13 | 2021-02-25 | ガジェット ソフトウェア,インコーポレイテッド | タッチスクリーン及びハンズフリーモバイルデバイス向けのマルチメディアオブジェクトへのデジタルコンテンツの細分化 |
CN110110195A (zh) * | 2019-05-07 | 2019-08-09 | 宜人恒业科技发展(北京)有限公司 | 一种杂质清除方法及装置 |
CN110427614A (zh) * | 2019-07-16 | 2019-11-08 | 深圳追一科技有限公司 | 段落层级的构建方法、装置、电子设备及存储介质 |
CN110427614B (zh) * | 2019-07-16 | 2023-08-08 | 深圳追一科技有限公司 | 段落层级的构建方法、装置、电子设备及存储介质 |
CN111460083A (zh) * | 2020-03-31 | 2020-07-28 | 北京百度网讯科技有限公司 | 文档标题树的构建方法、装置、电子设备及存储介质 |
CN112559318A (zh) * | 2020-11-02 | 2021-03-26 | 浙江诺诺网络科技有限公司 | 一种测试用例生成方法、装置及电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7823061B2 (en) | System and method for text segmentation and display | |
US20040181746A1 (en) | Method and expert system for document conversion | |
JP2007034813A (ja) | 複数自然言語のソフトウェア説明書生成システム | |
US20120076415A1 (en) | Computer aided validation of patent disclosures | |
JP2006525609A (ja) | コンテンツを複数のフォーマットで出力するための仕様を規定するシステムおよび方法 | |
US20130246436A1 (en) | System and method for document indexing and drawing annotation | |
US20070067336A1 (en) | Electronic publishing system and method for managing publishing requirements in a neutral format | |
US7716574B2 (en) | Methods and systems for providing direct style sheet editing | |
KR102457962B1 (ko) | 논문의 메타데이터 추출 방법 및 장치 | |
US6405189B1 (en) | Method and apparatus for amplifying design information into software products | |
JP4666996B2 (ja) | 電子ファイリングシステム、電子ファイリング方法 | |
JP2007164705A (ja) | 電子化文書の変換方法及びプログラム | |
JP3711636B2 (ja) | 情報検索装置および方法 | |
Dürst et al. | Unicode in XML and other Markup Languages | |
JPH08221417A (ja) | 構造化文書の新旧対照編集装置 | |
JP2020161019A (ja) | 大規模電子文書の版管理方法とその版管理システム | |
Serbaeva et al. | READ for Solving Manuscript Riddles: A Preliminary Study of the Manuscripts of the 3rd ṣaṭka of the Jayadrathayāmala | |
JP7083473B2 (ja) | 入力支援装置 | |
Bleeker et al. | The challenges of automated collation of manuscripts | |
JP2003132078A (ja) | データベース構築装置、データベース構築方法、データベース構築プログラム、記録媒体 | |
JP2002169692A (ja) | 仕様書作成プログラム及び仕様書作成プログラムを格納したコンピュータ可読媒体 | |
JP2762934B2 (ja) | テスト項目設計支援システム | |
JP4474670B2 (ja) | 文書整形装置および文書整形方法 | |
JP4508264B2 (ja) | データベース構築装置、データベース構築方法、データベース構築プログラム、記録媒体 | |
KR100709379B1 (ko) | 메타파일을 이용한 문서양식 제작방법 |