(57)【要約】【課題】構造化文書の詳細化作業におけるユーザの負担を軽減し、かつ目標文書型制約を満たす妥当な構造化文書出力が得られるようにする【解決手段】任意の構造を有する入力文書を解析して木構造を含む文書構造を得る。この入力文書について、所定の知識辞書を参照して該入力文書中に出現する表層表現を抽出する。抽出された表層表現に所定の構造詳細化規則を適用して前記文書構造を詳細化する。この詳細化された文書構造を所定の目標文書型制約と比較検証し修正する。【選択図】    図１
2004178011.tif 000002
【特許請求の範囲】
【請求項１】
任意の構造を有する入力文書を解析して木構造を含む文書構造を得る入力文書解析手段と、
前記入力文書について、所定の知識辞書を参照して該入力文書中に出現する表層表現を抽出する情報抽出手段と、
前記情報抽出手段により抽出された表層表現に所定の構造詳細化規則を適用して前記文書構造を詳細化する構造詳細化手段と、
前記構造詳細化手段により詳細化された文書構造を所定の目標文書型制約と比較検証し修正するための手段と、
を具備することを特徴とする文書変換装置。
【請求項２】
前記構造詳細化規則を生成する構造詳細化規則生成手段と、
生成された前記構造詳細化規則および前記目標文書型制約を表示し、該目標文書型制約を満たすように該構造詳細化規則を訂正するための手段と
をさらに具備することを特徴とする請求項１に記載の文書変換装置。
【請求項３】
所定の要素変換規則にしたがい、前記入力文書に出現する要素名を前記目標文書型制約において定義される要素名に変換する手段をさらに具備することを特徴とする請求項１又は２に記載の文書変換装置。
【請求項４】
前記要素変換規則を生成する要素変換規則生成手段と、
生成された前記要素変換規則を適用した要素変換例を表示し、該要素変換規則を訂正するための手段と
をさらに具備することを特徴とする請求項３に記載の文書変換装置。
【請求項５】
変換文書例の文書構造を解析して前記目標文書型制約を生成する例文書解析手段をさらに具備することを特徴とする請求項１乃至４のいずれかに記載の文書変換装置。
【請求項６】
前記入力文書の文書変換に用いられた前記目標文書型制約を解析した他の入力文書の文書変換に用いられる他の目標文書型制約を生成する文書型解析手段をさらに具備することを特徴とする請求項１乃至５のいずれかに記載の文書変換装置。
【請求項７】
前記構造詳細化手段は、前記構造詳細化規則に従って前記入力文書にタグを付与することを特徴とする請求項１乃至６に記載の文書変換装置。
【請求項８】
前記詳細化規則は、前記表層表現と、前記タグの名前と、該タグを挿入する前記入力文書中の位置を表す構造変換規則とを含むことを特徴とする請求項７に記載の文書変換装置。
【請求項９】
前記構造変換規則は、前記タグを付与する範囲を規定する始点および終点のリストを含むことを特徴とする請求項８に記載の文書変換装置。
【請求項１０】
任意の構造を有する入力文書を解析して木構造を含む文書構造を得る入力文書解析ステップと、
前記入力文書について、所定の知識辞書を参照して該入力文書中に出現する表層表現を抽出する情報抽出ステップと、
前記情報抽出ステップにより抽出された表層表現に所定の構造詳細化規則を適用して前記文書構造を詳細化する構造詳細化ステップと、
前記構造詳細化ステップにより詳細化された文書構造を所定の目標文書型制約と比較検証し修正するためのステップと、
を具備することを特徴とする文書変換方法。
【請求項１１】
前記構造詳細化規則を生成する構造詳細化規則生成ステップと、
生成された前記構造詳細化規則および前記目標文書型制約を表示し、該目標文書型制約を満たすように該構造詳細化規則を訂正するステップと
をさらに具備することを特徴とする請求項１０に記載の文書変換方法。
【請求項１２】
所定の要素変換規則にしたがい、前記入力文書に出現する要素名を前記目標文書型制約において定義される要素名に変換するステップをさらに具備することを特徴とする請求項１０又は１１に記載の文書変換方法。
【請求項１３】
前記要素変換規則を生成する要素変換規則生成ステップと、
生成された前記要素変換規則を適用した要素変換例を表示し、該要素変換規則を訂正するステップと
をさらに具備することを特徴とする請求項１２に記載の文書変換方法。
【請求項１４】
変換文書例の文書構造を解析して前記目標文書型制約を生成する例文書解析ステップをさらに具備することを特徴とする請求項１０乃至１３のいずれかに記載の文書変換方法。
【請求項１５】
前記入力文書の文書変換に用いられた前記目標文書型制約を解析した他の入力文書の文書変換に用いられる他の目標文書型制約を生成する文書型解析ステップをさらに具備することを特徴とする請求項１０乃至１４のいずれかに記載の文書変換方法。
【請求項１６】
前記構造詳細化ステップにおいて、前記構造詳細化規則に従って前記入力文書にタグを付与することを特徴とする請求項１０乃至１５に記載の文書変換方法。
【請求項１７】
前記詳細化規則は、前記表層表現と、前記タグの名前と、該タグを挿入する前記入力文書中の位置を表す構造変換規則とを含むことを特徴とする請求項１６に記載の文書変換方法。
【請求項１８】
前記構造変換規則は、前記タグを付与する範囲を規定する始点および終点のリストを含むことを特徴とする請求項１７に記載の文書変換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は入力文書からその文書構造が詳細化された構造化文書を得ることのできる文書変換装置及び方法に関する。
【０００２】
【従来の技術】
近年、計算機技術の発展とそれに伴う計算機ネットワークの爆発的な普及により、大量の電子化文書が蓄積されている。こうした大量の電子化文書をより有効に活用するために、例えば薬学分野や遺伝子工学分野といった特定の分野で統一化されたタグ規格や、あるいは電子商取引や電子政府といった応用分野でのデータ交換を目的としたタグ規格を策定し、それらのタグを電子化文書に付加しようという試みが行われている。こうしたタグを付与することで、計算機はそのタグを手掛かりとして文書の内容を機械的に処理することが可能となるため、蓄積された電子化文書からの検索や抽出、あるいは変換や再利用といった二次的利用をとりまく環境が大きく改善されると考えられている。
【０００３】
電子化文書になんらかの形式でタグ付与を行うこと、すなわち文書構造の定義を定めることは大変重要であり、その論理構造の記述言語としてＩＳＯのＳｔａｎｄａｒｄ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＳＧＭＬ）やＷ３ＣによるｅＸｔｅｎｔｉｏｎ  ＭａｒｋｕｐＬａｎｇｕａｇｅ（ＸＭＬ）などが存在する。構造化文書の定義と同様、実際に構造化文書を作成する際に、文書にタグを付与するための文書編集ツールも非常に重要である。こうしたツールは、自動、手動もしくは半自動のものに分類して考えられるが、従来、ユーザが自ら文書編集を行ってタグ付けを手動により明示的に与えるもの、変換したい構造間の関係を写像として記述しておき、半自動で構造を付与することができるもの、あるいは文書の内容そのものを機械的に解析しその情報を元に新たな構造をもった文書を自動作成するものなどが存在する。
【０００４】
専らユーザが手動で構造化文書の作成を行うよう構成されたものとして、例えばＸＭＬエディタと呼ばれる文書作成ソフトウェア「Ｍｉｃｒｏｓｏｆｔ  ＸＭＬ  Ｎｏｔｅｐａｄ」（Ｍｉｃｒｏｓｏｆｔ社（商標））がある。また、予めユーザがスクリプト等により変換規則を記述しておき、既存の文書を半自動変換する文書書式変換方法が公知である（下記特許文献１参照。）。
【０００５】
【特許文献１】
特開２００１−２２７４０公報
【０００６】
【発明が解決しようとする課題】
しかしながら、上述のような従来技術においては、変換後の文書の持つ構造化の粒度が変換前の入力文書の構造化の粒度と大きく異なることは無かった。すなわち、入力文書を特定のルールにしたがって変換を行うものや、あるいは事前に用意したテンプレートに対し、変換前文書から適宜抜き出した情報を埋め込むことで新たな構造化文書を作成する形式では、その変換後文書の構造の複雑さは定められたものとなっているために、入力文書にとって未知で複雑な構造を十分に記述することはできなかった。
【０００７】
本発明はかかる事情を考慮してなされたものであり、構造化文書の詳細化作業におけるユーザの負担を軽減し、かつ目標文書型制約を満たす妥当な構造化文書出力が得られる文書変換装置および文書変換方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明に係る文書変換装置は、任意の構造を有する入力文書を解析して木構造を含む文書構造を得る入力文書解析手段と、前記入力文書について、所定の知識辞書を参照して該入力文書中に出現する表層表現を抽出する情報抽出手段と、前記情報抽出手段により抽出された表層表現に所定の構造詳細化規則を適用して前記文書構造を詳細化する構造詳細化手段と、前記構造詳細化手段により詳細化された文書構造を所定の目標文書型制約と比較検証し修正するための手段と、を具備することを特徴とする。
【０００９】
かかる本発明の文書変換装置によれば、入力文書に対する知識辞書を用いた情報抽出により、入力時の構造とは異なる新たな構造を付与して該入力文書の構造を詳細化することができる。また、詳細化した文書の構造を検証し、必要に応じてユーザ等による修正が可能なため、所定の目標文書型制約を満たす妥当な出力文書を得ることができる。
【００１０】
なお、構造詳細化手段は、入力文書に出現する要素名と目標文書型制約において定義される要素名とを対応付ける要素変換規則にしたがい、入力文書に出現する要素名を目標文書型制約において定義される要素名に変換する手段を含んでもよい。さらに、この要素変換規則を自動作成する要素変換規則生成手段をさらに具備してもよい。また、要素変換規則生成手段は、自動生成された変換規則に対し、ユーザからの間接的または直接的な指定に応じて、規則に対する修正、新規作成、削除等の操作を行えることが望ましい。
【００１１】
また、構造詳細化手段が用いる構造詳細化規則を生成する構造詳細化規則生成手段をさらに備えても良い。この構造詳細化規則生成手段は、自動生成された変換規則に対し、ユーザからの間接的または直接的な指定に応じて、規則の修正・新規作成・削除等の操作が可能であることが望ましい。
【００１２】
また、目標文書と同じ構造を有する例文書を解析して目標文書型制約を得る例文書解析手段を具備してもよい。
【００１３】
また、既に出力された文書型定義を解析して目標文書型制約（スキーマ）を得るスキーマ解析手段を具備してもよい。
【００１４】
入力文書に依存した変換規則を詳細に記述する従来のものと比べ、本発明によれば入力として出力目的の文書型制約を満たしていない任意の文書を受理した場合に、変換規則作成時のユーザ負担を大幅に軽減することができる。また、目標文書型制約を利用することにより、文書型制約に沿った妥当な構造情報を持つ文書を出力することができる。
【００１５】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態を説明する。
【００１６】
図１は本発明の一実施形態に係る構造化文書変換システムの概略構成を示すブロック図である。
【００１７】
本実施形態の構造化文書変換システムは、入力文書解析部１、情報抽出部２、構造詳細化実行部６、構造検証・構造最適化部１４、構造化文書出力部１５を有する。また、知識辞書３を生成する知識辞書生成部４、要素変換規則７を生成する要素変換規則生成部１０、構造変換規則９を用いて構造詳細化規則８を生成する構造詳細化規則生成部１１を有する。また、要素変換規則７および構造詳細化規則８に対する訂正情報をユーザが入力できるようにするための訂正情報入力部１２、要素変換規則７およびこれを用いた要素変換結果や構造詳細化規則８およびこれを用いた入力文書木の構造詳細化結果を出力する変換例出力部１３を有する。また、文書型定義（スキーマ）を解析するスキーマ解析部１６、変換文書例を解析する例文書解析部１８を有する。
【００１８】
かかる構成の本実施形態の構造化文書変換システムは例えばＣＰＵ、メモリ、磁気ディスク装置等のハードウェアを備えた汎用のコンピュータを用い、同コンピュータ上で動作するアプリケーションプログラムとして実現することができる。この場合、同コンピュータには、アプリケーションプログラムの実行環境を提供するとともに、各種ハードウェアを制御するためのオペレーティングシステムも導入される。
【００１９】
なお、本明細書において、構造化文書変換システムが変換処理を行った結果、出力される文書を「目標文書」という。また、目標文書が保持すべき文書構造（要素間の出現制約条件など）を目標文書型制約という。
【００２０】
本実施形態の構造化文書変換システムは、入力としてプレーンテキスト、ＲＴＦ（Ｒｉｃｈ  Ｔｅｘｔ  Ｆｏｒｍａｔ）、ＨＴＭＬ形式やＸＭＬ形式などの電子化文書２０を受け付け、例えばＸＭＬ仕様に則って構造を詳細化した構造化文書２１を出力するものである。図２は入力文書２０の具体例を示す。また、図３は最終的に出力された構造化文書２１の具体例を示す。
【００２１】
本実施形態の構造化文書変換システムによる文書変換の概略処理手順を説明する。
【００２２】
まず、入力文書解析部１は入力文書２０を解析し、図４に示すような内部処理に適したデータ構造である木構造を求める。これを以下、「入力文書木」という。次に、情報抽出部２は、入力文書２０から構造詳細化に有用なキーワードを自動抽出する。自動抽出されたキーワードを元に、構造詳細化実行部６は入力文書２０の構造を詳細化する。この詳細化とは、例えば抽出されたキーワードを囲むようにタグ付けを行ったり、キーワードから相対的な位置を指定することにより任意の箇所をタグ付けする操作をいう。上記情報抽出部２による抽出処理では、ユーザの意図しない箇所に出現しているキーワードが抽出されることがあり得る。この場合、詳細化された構造は必ずしも目標文書の構造制約に沿ったものであるとは限らない。そこで、構造詳細化実行部６による構造詳細化の結果について、構造の検証ならびに構造の最適化（修正を含む）を構造検証・最適化部１４で行うものとなっている。最終的には、構造化文書出力部１５が入力文書木をＸＭＬ文書に変換し、出力文書（構造化文書）２１が作成される。
【００２３】
かかる処理手順を実現するために、構造化文書変換システムに事前に備えておくべき情報として、知識辞書３、要素変換規則７、構造詳細化規則８、構造変換規則９の４つの情報がある。これらを事前に生成するために、構造化文書変換システムにサンプル文書を与えるようにする。サンプル文書は、例えば、処理対象である大量の文書のなかでこれを代表するものとして任意に選定される文書である。また、このようなサンプル文書を構造化文書変換システムに与えて入力文書解析部１で解析を行った結果を「サンプル文書木」という。
【００２４】
知識辞書３は、情報抽出部２がキーワード抽出を行う際に、その対象となるキーワードを事前に定義しておくものである。図５はその具体例を示す。知識辞書生成部４はこのような知識辞書３を後述する処理手順にしたがって生成する。
【００２５】
要素変換規則７は、入力文書木に出現する要素名と、目標文書型制約に出現する要素名との対応規則を記述したものである。図６はその具体例を示す。要素変換規則生成部１０は、このような要素変換規則７を後述する処理手順にしたがって生成する。なお、要素変換規則７の生成時には、訂正情報入力部１２によりユーザから修正指示を受けることができる。また、生成された要素変換規則７や該要素変換規則７によって入力文書木の要素名を書き換えた出力結果をユーザに提示するために変換例出力部１３により表示することができる。
【００２６】
構造詳細化規則８は、どのキーワードが出現した場合に、どのようにタグ付けを行うかの対応規則を記述したものである。図７はその具体例を示す。図７に示すように、例文が「（例）必要な情報を見つけ出すための、適切な検索が行えること」であり、キーワードが例えば”（例）”であるときの詳細化例１〜４は、次のとおりである。すなわち、詳細化例１は「＜ｅｘａｍｐｌｅｓ＞＜ｅｘａｍｐｌｅ＞（例）必要な情報を見つけ出すための、適切な検索がおこなえること＜／ｅｘａｍｐｌｅ＞＜／ｅｘａｍｐｌｅｓ＞」であり、詳細化例２は「＜ｔａｇ２＞（例）＜／ｔａｇ２＞必要な情報を見つけ出すための、適切な検索がおこなえること」であり、詳細化例３は「＜ｔａｇ３＞（例）必要＜／ｔａｇ３＞な情報を見つけ出すための、適切な検索がおこなえること」であり、詳細化例４は「＜ｔａｇ４＞（例）必要な情報を見つけ出すための＜／ｔａｇ４＞、適切な検索がおこなえること」である。
【００２７】
図７のような構造詳細化規則８は、構造詳細化規則生成部１１にて生成される。なお、構造詳細化規則８を生成した際には訂正情報入力部１２によりユーザからの修正指示を受けることができる。また、変換例出力部１３によれば、生成された構造詳細化規則８やその構造詳細化規則８にしたがって構造が詳細化された入力文書木の出力結果をユーザに対して出力することができる。
【００２８】
構造変換規則９は、構造詳細化規則８の一部として用いられるものであり、タグ付け範囲の始点および終点を定義する。図８および図９は構造変換規則９の具体例を示す。構造変換規則９と組み合わせることで、任意の領域に対するタグ付けを可能とする構造詳細化規則８を生成できる。
【００２９】
最終的な出力文書２１は予め与えられた構造の制約を満たすことが必要がある。この構造の制約は、スキーマ解析部１６により文書型定義１７を読み込んだり、例文書解析部１８にて変換文書例１９を読み込むことで生成される。生成された構造の制約を「目標文書型制約」という。目標文書型制約は、要素間の出現制約の内容及びこれに関連する情報を木構造の形態で保持する。図１０は目標文書型制約の具体例を示す。目標文書型制約の詳細については後述する。
【００３０】
次に、本実施形態の構造化文書変換システムを構成する各部のより詳細な仕組みとその働きを具体例に基づいて説明する。
【００３１】
＜入力文書解析部１＞
まず、本実施形態の構造化文書変換システムに与えられた入力文書２０は入力文書解析部１に読み込まれる。図２は入力文書２０の一例を示す。入力文書解析部１は、この入力文書２０を解析し、木構造の形式でメモリ等に格納する。解析には既存のＸＭＬパーサを用いることができる。また、解析結果は例えば、ＸＭＬ文書を木構造にモデル化する公知の形式であるＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）オブジェクトとして格納することができる。これにより要素間の関係情報並びに要素で指定されている内容などが木構造の形式で保持される。
【００３２】
なお、本実施形態で用いられる入力文書２０は図２に示したように、＜ｈｅａｄ＞と＜ｂｏｄｙ＞の区別、あるいは＜ｕｌ＞＜ｌｉ＞タグによる箇条書き項目程度の粗い構造化が行われているような例えばｘｈｔｍｌ文書とするが、入力文書２０の形式としてはｘｈｔｍｌのみに限定されず、ＲＴＦ（Ｒｉｃｈ  Ｔｅｘｔ  Ｆｏｒｍａｔ）文書をはじめとして、任意の文書形式とすることができる。入力文書２０に対し、入力文書木を生成するデータ変換を行うことにより同等の処理が可能である。また、入力文書２０の形式としてはプレーンテキストを含む。プレーンテキストとした場合、その形式としてはルートノードのみを有する入力文書木とみなすことにより、これを扱うことができる。
【００３３】
入力文書解析部１の出力結果例すなわち入力文書木は例えば図４に示したようなものである。この入力文書木に対し、情報抽出部２は知識辞書３を用いて情報抽出をする。まず、この情報抽出で用いられる知識辞書３について説明する。
【００３４】
図５は知識辞書３の構造の一例を示す図である。この例では、知識辞書３は３階層で定義されている。最下層には、文書中に実際に出現するものとマッチするキーワードが記述されており、これを表層表現という。
【００３５】
中間層には、表層表現の任意の上位概念を定義したキー概念が定義されている。最上位層には、キー概念を任意に分類しておくための概念クラス名が定義されている。
【００３６】
なお、知識辞書３は文書変換処理に先だって事前に作成されている必要がある。知識辞書３をＸＭＬ形式で記述した具体例を図１１に示す。図１１によると、「港区」、「新宿区」、「危険事項」の各表層表現がれぞれＸＭＬ形式で記述されており、例えば表層表現「港区」の概念クラスは「概念Ｂ」、キー概念は「東京都」である。知識辞書３をこうしたＸＭＬ形式で記述しておくことにより、既存の（ＸＭＬ）パーサを利用して知識辞書３の木構造を得ることができる。このように知識辞書３の格納形式を入力文書木と同じデータ構造とすれば、いずれに対する処理も木構造への操作として行うことができ、実装上好ましい。
【００３７】
＜情報抽出部２＞
作成された知識辞書３を参照し情報抽出部２は入力文書木に対し情報抽出を行う。以下、その処理手順を図１２のフローチャートを参照して詳細に説明する。
【００３８】
ステップＳ１：入力文書木を読込む。
【００３９】
ステップＳ２：初期探索ノードをルートと設定する。
【００４０】
ステップＳ３：深さ優先でノードを一つ探索し、ノードにＤＯＭオブジェクトとして格納されている要素名ならびに内容を取得する。
ステップＳ４：ノードに格納されていた内容がテキストでなければステップＳ２の直後に戻る。
ステップＳ５：改行コードの終端までを一行として読み込みを行う。
【００４１】
ステップＳ６：読み込んだ行がテキスト行の終端であればステップＳ２の直後に戻る。
ステップＳ７：読み込んだ行に対して形態素解析を行う。
【００４２】
ステップＳ８：知識辞書３中の全ての表層表現との比較を行い、知識辞書３に記述されている表層表現と適合する箇所を検出する。テキスト中に表層表現と適合する箇所がなければステップＳ５に戻る。
【００４３】
ステップＳ９：解析中の行に表層表現が出現していれば、照合結果の出力を行う。出力結果例を図１３に示す。該当する表層表現、解析文中における表層表現の行頭からの出現位置を出力した後、ステップＳ５に戻る。
【００４４】
図１３に示す出力結果例において、”ｂｏｄｙ”の記述から始まる行が例えば入力文書２０中で現在解析を行っているテキストの内容である。”＃ｍｏｒｐｈ”の記述から始まる行は、解析中の行に形態素解析を施した結果を表すものである。また”＃ａｎａｌｙｚｅ”から始まる行は、知識辞書３中の「危険事項」という表層表現がこの行に出現しており、その出現位置は行頭から数えて０バイト目から８バイト目であることを表す。こうして得られた情報抽出処理結果は、入力文書木と共に次の構造詳細化実行部６へ送られる。
【００４５】
ここで、構造詳細化実行部６における処理手順を説明する前に、構造詳細化に必要となる規則を生成する規則生成部について説明する。
【００４６】
＜要素変換規則生成部１０＞
要素変換規則生成部１０は、サンプル文書中に出現する要素名を目標文書型制約に出現する要素名に変換するための規則を生成する。構造化文書変換システムの入力としてサンプル文書木と目標文書型制約を与え、訂正情報入力部１２を介してユーザからの指示を受理する。
【００４７】
図６に示した要素変換規則７の具体例において、「変換前要素名」に記載されているものは、文書構造のもっとも上位の要素（ルートノード）を”／”として、要素名を木構造で表現した場合の各ルートからの位置関係をパス表現で記述したものである。例えば、表現”／ｈｔｍｌ”は、要素名”ｈｔｍｌ”がルートノードの下に位置するものであり、表現”／ｄｉｖ［ｃｌａｓｓ＝”ｈ１”］／ｈ１”はｃｌａｓｓプロパティの値として”ｈ１”をもつ要素名”ｄｉｖ”の子ノードに、要素名”ｈ１”が存在することを示している。同様の記述が目標文書型制約に出現する要素名にも適用される。例えば”／ｄｏｃｕｍｅｎｔ／ｃｈａｐｔｅｒ／ｔｉｔｌｅ”であれば、要素名”ｄｏｃｕｍｅｎｔ”の子ノードにｃｈａｐｔｅｒが存在して、さらにその子ノードである要素名”ｔｉｔｌｅ”を意味する。図６の「対応操作」の列には、与えられた各要素名に対してどのような対応操作が行われるかを記述する。対応操作は事前に定めておき、ここでの”ＣＯＤＥ  ０”とは、単に与えられた変換前と変換後の要素名の置き換えを行う操作とする。
【００４８】
図６の要素変換規則７にしたがい変換操作を行った結果、例えば、要素名”ｈ１”のタグが、”ｃｈａｐｔｅｒ”に置き換えられる。具体的には、”＜ｈ１＞タイトル＜／ｈ１＞”が”＜ｃｈａｐｔｅｒ＞タイトル＜／ｃｈａｐｔｅｒ＞”に変換される。
【００４９】
このように入力文書２０と目標文書型制約との要素間の対応づけを記述しておくものが要素変換規則７である。
【００５０】
次に、図１４のフローチャートを参照して要素変換規則生成部における処理手順を説明する。
【００５１】
ステップＳ１：サンプル文書木と目標文書型制約を読み込む。
【００５２】
ステップＳ２：サンプル文書木と目標文書型制約のルートノードに相当する要素を対応付け、初期変換規則として設定する。
【００５３】
ステップＳ３：訂正情報入力部１２により、ユーザからサンプル文書木と目標文書型制約との間の新たな要素名の対応付け指定を受け取り、要素名変換規則として保持する。
【００５４】
ステップＳ４：サンプル文書を複製し、その複製に対し要素名変換規則を適用して要素名の書き換え（変換）を行う。以下、この要素名の書き換えを行った文書を「要素名変換文書」という。要素名変換文書を変換例出力部１３にて表示する。図１５は、この場合に用いられ、訂正情報入力部１２に設けられたＧＵＩの具体例を示す。表示内容としては、サンプル文書、サンプル文書木、サンプル文書に要素変換規則７を適用して得られた要素名変換文書、目標文書型制約、要素変換規則７である。
【００５５】
対応付けを行いたい要素名に対して、ユーザはサンプル文書やサンプル文書木から要素名をポインタで指定したり、テキストフィールドに直接要素名を記述することで要素名を構造化文書変換システムに指示する。目標文書型制約でも同様に要素名の指定を行う。こうしたサンプル文書と目標文書型制約との要素名の対応付けは、要素変換規則７として表示される。このようなＧＵＩを備えた訂正情報入力部１２と変換例出力部１３を通じて、任意の要素変換規則７の生成が可能となる。
【００５６】
ステップＳ５：ユーザから新たに要素名の対応付けの指示があればステップＳ３に戻る。
【００５７】
ステップＳ６：要素変換規則７により新たに変換した要素が、目標文書の文書型制約を満たしているか否かを検証する。検証処理については後述する。
【００５８】
ステップＳ７：文書型制約を満たしていれば作成した要素名変換規則を出力し処理を終える。制約を満たしていない場合には、ステップＳ４に戻る。
【００５９】
作成された要素変換規則７はそのまま保持され、構造詳細化実行部６における構造詳細化の際に利用される。
【００６０】
＜構造詳細化規則生成部１１＞
情報抽出の結果を利用して入力文書木の構造詳細化を行うためには構造詳細化規則８が必要である。この構造詳細化規則８を生成する構造詳細化規則生成部１１について説明する。
【００６１】
構造詳細化規則生成部１１への入力は、情報抽出の結果、サンプル文書木、目標文書型制約、訂正情報入力部１２を介した構造詳細化規則８に対するユーザからの生成または修正指示である。
【００６２】
構造詳細化規則８を生成する具体的な処理手順を図１６のフローチャートを参照して説明する。
【００６３】
ステップＳ１：まず、サンプル文書木と目標文書型制約を読み込む。初期設定として、サンプル文書木と目標文書型制約のルートノード同士を対応付ける。
【００６４】
ステップＳ２：サンプル文書を複製する。その複製に対し、情報抽出されたキーワードの反転表示を行う。以下、この文書を「構造詳細化文書」という。
【００６５】
ステップＳ３：訂正情報入力部１２からユーザの指示を受理する。このＧＵＩの具体例を図１７に示す。以下、この図をもとにユーザによる規則修正の具体例を説明する。図１７の「入力文書」の枠内に記されているのが入力文書２０である。「構造詳細化文書」の枠内には、情報抽出されたキーワードが、反転表示や下線表示などにより本文中の他の箇所と明確に差異が識別できるような形式で表示が行われているものとする。「構造変換規則」の枠内には、ユーザから与えられた指示により自動生成された、入力文書２０から出力文書２１への変換規則が表示される。ユーザが新規の規則を生成するために訂正情報入力部１２に与える情報は、新たに付加を行うタグの要素名、その要素名のタグで囲まれる領域を指定するための「始点ＩＤ（識別子）」と「終点ＩＤ（識別子）」、そしてどのキーワードが出現した場合にどの構造詳細化規則８を起動するかを区別する手がかり語である。「手がかり語」とは、ある特定の規則を起動するためのトリガとなるキーワードであって、情報抽出の結果得られた表層表現、もしくは任意の要素名であるとする。すなわち、要素名、タグ付け範囲の始点ＩＤ、終点ＩＤ、手がかり語を提示することで構造詳細化規則生成部１１において、図７の上に示すような規則の生成が行われる。
【００６６】
ステップＳ４：目標文書型制約により出力文書２１中での出現が必須であると定義されている要素名のうち、構造詳細化規則８における対応づけが未定義であり、構造詳細化文書の表示中で出現が確認できない要素名があればステップＳ６に移行する。
【００６７】
ステップＳ５：構造詳細化規則８が目標文書型制約を満たしているかどうかの検証を行う。この検証については後述する。目標文書型制約を満たしているならば構造詳細化規則８を出力して、処理を終了する。
【００６８】
ステップＳ６：構造詳細化規則８が目標文書型制約を満たしていない場合は、規則修正に役立つ情報を構造化文書変換システムが自動生成しユーザへ提示する。この提示例を図３０に示す。ここで言及している規則修正に役立つ情報とは、目標文書型制約中で出現が必須であると定義されている要素でありながら、構造詳細化規則８における対応付けが未定義である要素名を提示することを意味する。このような表示を行った後、再びステップＳ３へ戻りユーザからの訂正情報を受理する。
【００６９】
以上の手順を経て、構造詳細化規則８が生成される。ここで生成された構造詳細化規則８を利用することにより、構造詳細化実行部６は入力文書２０に対する任意箇所へのタグ付けを行う。
【００７０】
＜構造詳細化規則＞
ここで、構造詳細化規則８の具体例を図７、図１８、図１９の上部に示す。構造詳細化規則８は、ここでは、特定の規則を起動するための識別子となる「ｋｅｙｗｏｒｄ」、新規のタグ付け名である「要素名」、タグ付け範囲を指定するための「始点ＩＤ」、「終点ＩＤ」から構成されている。「ｋｅｙｗｏｒｄ」として指定が可能なものは、入力文書２０中に出現し、かつ情報抽出の結果として知識辞書３中の表層表現とのマッチングが確認されている語、または文書構造を定義する任意の要素名である。すなわち、情報抽出で得られた語、あるいは特定の要素名の出現に応じて、構造詳細化規則８が起動され、任意の領域に対するタグの付与が可能となる。「要素名」には、新たに付加される要素名の記述を与える。「始点ＩＤ」、「終点ＩＤ」は、これを用いてタグ付け範囲の指定を行うが、タグ付けの位置指定情報と対応ＩＤとの詳細な定義は構造変換規則９に記述されている。構造詳細化規則８では、これらのＩＤを指定することによりタグ付け範囲の指定を行う。
【００７１】
また、構造詳細化規則８も知識辞書３と同様ＸＭＬ形式での記述が可能である。図２０は、図７で用いた構造詳細化規則８をＸＭＬ形式で記述した具体例を示すものである。ここでは、「ｋｅｙｗｏｒｄ」を＜ｋｅｙｗｏｒｄ＞タグとし、要素名を＜ｔａｇｎａｍｅ＞、始点ＩＤを＜ｓｔａｒｔｐｏｉｎｔ＞、終点ＩＤを＜ｅｎｄｐｏｉｎｔ＞として記述している。このように構造詳細化規則８をＸＭＬ文書形式で表現することにより、入力文書木や構造詳細化結果木と同様に、内部処理を木構造の操作として取扱うことが可能となる。
【００７２】
＜構造変換規則９＞
ここで、始点ＩＤ、終点ＩＤとそのタグ付け位置指定情報を記述するために用いられる構造変換規則９について説明する。
【００７３】
構造変換規則９の具体例を図８、図９に示す。これら構造変換規則９とは、構造詳細化規則８中で利用されることを目的として、タグの付与する始点と終点の位置指定を簡略化するために、ｋｅｙｗｏｒｄの出現位置からみて相対的な位置の指定手段を列挙したリストである。例えば始点ＩＤが”ａ０”であれば、ｋｅｙｗｏｒｄの直前から新たな要素名によるタグ付けが開始されることを意味する。また終点ＩＤが”ｆ０”であれば、ｋｅｙｗｏｒｄから数えてｎ回目に出現するタグの直前に指定した要素名のタグ終端を挿入することを意味する。同様に、各ＩＤに対応付けて、始点および終点を指定可能な手段を予め列挙しておく。こうした典型的な指定手段だけではタグ付けの指定が困難である場合であっても、本規則ではｋｅｙｗｏｒｄからの相対的な位置指定にはｎ字前、ｎ字後の指定が可能であることから、どの領域にでもタグ付けが可能となっている。
【００７４】
こうして生成された構造詳細化規則８、並びに事前作成されていた要素変換規則７を元に、続く構造詳細化実行部６において、入力文書木の構造詳細化が行われる。
【００７５】
＜構造詳細化実行部６＞
図２１は、構造詳細化実行部６において実行される構造詳細化の処理手順を示すフローチャートである。
【００７６】
ステップＳ１：入力文書木、要素変換規則７を読み込み、要素変換実行処理を行う。この要素変換実行処理では、要素変換規則７によって入力文書２０と目標文書の要素名の対応付けを行う。その詳細な手順を図２２に示す。要素変換実行処理では、入力文書木をルートから下方に向かって探索し、要素名変換規則中に記載の要素名が入力文書木中に出現していれば、その要素名に対し要素変換規則７に基づいた要素名の書き換えを行う。以下、図２２のフローチャートを参照して要素変換実行処理を詳細に説明する。
【００７７】
ステップＳ１−１：探索初期ノードをルートノードに設定する
ステップＳ１−２：深さ優先探索によって未処理のノードを検索する
ステップＳ１−３：現在参照中のノードに存在する要素名と、要素名変換規則とを比較し、要素名変換規則中に現在参照中ノードの要素名に対する変換規則が記載されていれば、その規則に従って要素名の書き換えを行い、確定ノードとする。
【００７８】
ステップＳ１−４：現在参照中の要素名に対して、要素名変換規則に変換規則が記載されていないならば、未確定ノードとして次のノードへ移動するとともにステップＳ１−２に移行する。
【００７９】
ステップＳ１−５：全てのノードに対する処理を終えたならば、要素変換を行った入力文書木（これを「要素変換後入力文書木」という）を出力する。こうして得られた要素変換後入力文書木に対して、以下のように引き続き構造詳細化処理を行う。
【００８０】
図２１の構造詳細化の処理手順の説明に戻る。
【００８１】
ステップＳ２：入力文書、要素変換後入力文書木、構造変換規則９を読込む
ステップＳ３：構造詳細化規則８を一つ読込むとともに、構造変換規則を読み込む
ステップＳ４：構造詳細化規則８の記述に基づき、構造の詳細化を行う。以下、詳細化の実行例として図７、図１８、図１９を参照して説明する。
【００８２】
図７の第一の例として、「”（例）”  ＜ｅｘａｍｐｌｅｓ＞＜ｅｘａｍｐｌｅ＞  ａ１，ａ０  ａ１，ａ０」という構造詳細化規則８を読込んだとする。この規則のｋｅｙｗｏｒｄは情報抽出の結果”（例）”である。そのため入力文書木中で情報抽出の結果”（例）”が抽出された箇所に対して、始点ＩＤならびに終点ＩＤを読み込み、該当箇所に既定の要素名を用いたタグ付けを行う。挿入するタグ名は＜ｅｘａｍｐｌｅｓ＞と＜ｅｘａｍｐｌｅ＞の二種である。まず、はじめのｅｘａｍｐｌｅｓタグは始点ＩＤ、終点ＩＤがそれぞれａ１、ａ１と対応付けられている。これは、構造変換規則９によると「該当語の直前。但し該当語の直前に要素が掛かっている場合はその要素の最も外側」との記載がある。ここでの該当語とはｋｅｙｗｏｒｄと同義である。したがって、この規則に従い、「（例）必要な情報を見つけ出すための、適切な検索が行えること」の行頭には＜ｅｘａｍｐｌｅｓ＞タグが挿入され、行末には＜／ｅｘａｍｐｌｅｓ＞タグが挿入される。次に、＜ｅｘａｍｐｌｅ＞タグの挿入であるが、該タグを挿入する始点ＩＤはａ０、終点ＩＤはａ０であると対応付けられている。ここで、始点ａ０のタグ挿入位置は「該当語の直前」、終点ＩＤがａ０の場合のタグ挿入位置は「該当語の直後」となっている。そのため、この文に対するタグの付与結果は「＜ｅｘａｍｐｌｅｓ＞＜ｅｘａｍｐｌｅ＞（例）必要な情報を見つけ出すための、適切な検索が行えること＜／ｅｘａｍｐｌｅ＞＜／ｅｘａｍｐｌｅｓ＞」となる。
【００８３】
また、図７の詳細化例２に示すように、ｋｅｙｗｏｒｄは同様に”（例）”、要素名を＜ｔａｇ２＞、始点ＩＤをａ０、終点ＩＤをａ０という構造詳細化規則８が読込まれた場合には、構造詳細化例として「＜ｔａｇ２＞（例）＜／ｔａｇ２＞必要な情報を見つけ出すための、適切な検索がおこなえること」という具合にタグが挿入される。また図７の詳細化例３に示すように、ｋｅｙｗｏｒｄは同様に”（例）”、要素名を＜ｔａｇ３＞、始点ＩＤをａ０、終点ＩＤをｂ１、すなわちｋｅｙｗｏｒｄの出現位置後から数えて品詞名がはじめて変化する箇所にタグを挿入するという構造詳細化規則８が読込まれた場合には、構造詳細化結果として「＜ｔａｇ３＞（例）必要＜／ｔａｇ３＞な情報を見つけ出すための、適切な検索がおこなえること」という具合にタグが挿入された結果が得られる。同様に、図１８の例では、ｋｅｙｗｏｒｄを”危険事項”とし、新規挿入の要素名を＜ｄａｎｇｅｒ＞＜ｐａｒａ＞＜ｐａｒａ＞＜ｐａｒａ＞とし、始点ＩＤをそれぞれａ１、ａ０、−ｅ１、−ｅ２とし、終点ＩＤをそれぞれａ１、ｅ１、ｅ２、ｅ３としている。この場合、例文に対する詳細化結果は図１８の下部に示すとおりである。始点ＩＤの−ｅ１とは該当語から行末方向に下って１つ目に出現する改行の直後に新規要素名を挿入し、−ｅ２は該当語から行末方向に下って２つ目に出現する改行の直後に新規要素名を挿入する意味である。図１９の例も上記と同様である。
【００８４】
図２１の構造詳細化の処理手順の説明に戻る。
【００８５】
ステップＳ５：以上の処理を全ての構造詳細化規則８について行う。全ての構造詳細化規則８に対し処理を終えたならば、構造詳細化を行った入力文書木の結果（これを「構造詳細化木」という）を出力し、処理を終了する。
【００８６】
ステップＳ６：未処理の構造詳細化規則８が存在するならば、処理をステップＳ３に戻し、新たな構造詳細化規則８の読み込みを行う。
【００８７】
以上の手順により、要素変換規則７による要素名変換後入力文書木、さらにそれを構造詳細化規則８に基づき構造の詳細化を行った構造詳細化結果木を生成することができる。この構造詳細化結果木は、後段の構造検証・構造最適化部１４への入力として用いられる。
【００８８】
＜スキーマ解析部１６＞
スキーマ解析部１６では、例えば目標文書の文書型定義（ＤＴＤ）のような文書型定義１７から、図１０に示すような目標文書型制約を取り出すのが目的である。この目標文書型制約は、構造検証・構造最適化部１４、要素変換規則生成部１０、構造詳細化規則生成部１１で用いられる。
【００８９】
スキーマ解析部１６における処理手順の一例を図２３のフローチャートを参照して説明する。図２４はこの実行例において入力されるＤＴＤの具体例を示すものである。
【００９０】
ステップＳ１：ＤＴＤから宣言を一つ読み込む。
【００９１】
ステップＳ２：読み込んだ宣言が要素型宣言であれば、要素名を新たなノードとし、他のノードとの関連付けを行う。ここでの関連付けとは、現在参照している要素名の出現が必須かあるいは任意回または指定回数必要であるか等の識別を行うこと、あるいは他のノード中に現在参照している要素名の出現があればその他ノードとの親子関係を結ぶこと、もしくは参照中のノードが他ノードの中のどこにも出現していない場合にはルートノードと親子関係を結ぶことを指す。こうした関連付けは、現在参照している要素型宣言に記述されている内容モデルに基づいて行われる。ここでスキーマ解析部１６での出力結果を図１０に示す。要素名”ｄｏｃｕｍｅｎｔ”は、”ｔｉｔｌｅ”要素を子ノードにもつ。このため”ｄｏｃｕｍｅｎｔ”及び”ｔｉｔｌｅ”間に関連付けが形成される。この場合、要素”ｔｉｔｌｅ”の出現回数は確定しているため、図１０中では便宜的にこの関連付けを実線で記している。同様に親子ノード間の関係が確定のものは実線にてノードを接続し、子ノードの出現が任意の場合は点線で接続している。例えば、”ｄｏｃｕｍｅｎｔ／ｂｏｄｙ／ｃｈａｐｔｅｒ”の子ノードとして要素名”ｄａｎｇｅｒ”の出現があるが、この子ノードとして存在する可能性がある”ｐａｒａ”は繰り返し回数が任意であるため、図１０ではこの関係を点線で記述している。また要素間の繰り返し、または出現回数制約となる情報は、そのまま付記情報として繰り返し情報を示す記号を保持しておく。例えば”ｄｏｃｕｍｅｎｔ／ｂｏｄｙ”以下の”ｃｈａｐｔｅｒ”という要素名は”ｂｏｄｙ”以下に１回以上の出現が許されるが、この情報を記号”＋”を併記または別記しておくことにより保持する。
【００９２】
図２３のフローチャートの説明に戻る。
【００９３】
ステップＳ３：読み込んだ宣言が属性リスト宣言であった場合には、要素名と属性名、及びその型情報を抽出し保持する。該当する要素名に対し、補助情報として属性名、及びその属性に関する情報をノードに持たせておく。図２４の属性定義においては、要素名ｄａｎｇｅｒが属性名ａｔｔｒｉｂｕｔｅを任意に持ち、その内容がテキストであることが記されている。この属性値を該当する（ここではｄａｎｇｅｒ）要素に保持しておく。
【００９４】
ステップＳ４：未処理の宣言が残っていれば、ステップＳ１に戻る。
【００９５】
ステップＳ５：生成された木構造の目標文書型制約を出力し、処理を終える。
【００９６】
以上のように、目標文書の文書型定義１７を入力として、図１０に示すような目標文書型制約を生成することが可能となる。
【００９７】
＜例文書解析部１８＞
次に、目標文書型制約を作成するために、例文書（変換文書例１９）が与えられた場合の処理に関して、図２５のフローチャートに沿って説明する。出力は目標文書型制約である。
【００９８】
ステップＳ１：まず、初期設定として、参照をはじめるノードをルートノードとし、参照中の木構造の深さを０とする。
【００９９】
ステップＳ２：改行コードまでを１行として例文書（ここでの入力文書）を読み込む。
【０１００】
ステップＳ３：現在解析中の行で、開始タグの出現が確認された場合には探索中のノード深さを１増加させ、新たにノードを作成する。新規作成したノードに対し要素名、属性名とその型情報を割り当てる。さらに、新規作成したノードを子ノードとして、親ノードと関係を持たせると共にステップＳ２に戻る。
【０１０１】
ステップＳ４：終了タグが出現した場合には、ノード深さを現在保持している値から１つ減少させ、参照中のノードを親ノードへ戻すとともにステップＳ２に戻る。
【０１０２】
ステップＳ５：入力となる文書例中の全ての行に対して処理を終えた場合、処理手順を終了する。
【０１０３】
以上の例文書に対する処理手順により図１０のような目標文書型制約が得られる。こうして得られた目標文書型制約は構造検証・構造最適化部１４で用いることができる。
【０１０４】
構造検証・構造最適化部１４は、構造詳細化結果木、目標文書型制約、およびユーザからの訂正情報を用い、最終的に目標文書型制約に基づいた文書を出力する。
【０１０５】
図２６のフローチャートを参照して構造検証・構造最適化部１４の処理手順を説明する。
【０１０６】
ステップＳ１：構造詳細化結果木と目標文書型制約を読み込む。
【０１０７】
ステップＳ２：探索を開始するノードを構造詳細化結果木のルートノードに設定する。
【０１０８】
ステップＳ３：構造詳細化結果木を深さ優先で探索し、要素名とその内容を取得する。
【０１０９】
ステップＳ４：取得した要素名を目標文書型制約と照合し、出現制約を満たしているかを検証する。制約を満たしていれば処理をステップＳ３へ戻し新たな要素名について検証を行う。
【０１１０】
ステップＳ５：取得した要素名の出現が目標文書型制約に基づいていなければ要素の削除、再挿入処理を行う。処理具体例を図２７に示す。図２７上の入力には三種類の要素が出現している。＜ＡｄｄｒｅｓｓＩｔｅｍ＞とその親要素である＜Ａｄｄｒｅｓｓ＞、さらにその親要素である＜ｂｏｄｙ＞については、＜Ａｄｄｒｅｓｓ＞タグは文書中に一度しか出現が認められない制約が目標文書型制約により定められているために、この構造詳細化出力結果は誤っているものとする。これを検証し修正するためには要素の追加・削除手順として、図２８に示す手順にしたがって処理を行う。この処理の詳細は後述する。
【０１１１】
ステップＳ６：参照中の要素名が目標文書型制約を満たしていない場合には、構造化文書変換システムからユーザへ要素の出現が目標文書型制約と反する要素名であることを示す情報を提示する。この提示情報および提示形式の具体例を図２９を例に説明する。目標文書型制約において出現が必須であるにもかかわらず、構造詳細化結果木においてその要素名が未使用であったり、要素の出現位置が誤っている要素名を、強調表示等で提示する方法がある。これは図２９に示すように出力文書型制約において、構造詳細化結果木で既に利用が確認された要素名と、未使用な要素名、およびその要素の出現場所が不適切なものとを視覚的に識別が容易な形式として表示する。例えば、強調、網掛け、色の異なる書式、フォントサイズ変更、点滅表示など、種々の表示制御機能を利用して要素名の出力を行うものである。図２９は”ＳＥＣＴＩＯＮ”以下の”ＴＩＴＬＥ”以下の要素名の出現が、構造詳細化結果木中で不適切である例を示している。
【０１１２】
ステップＳ７：訂正情報入力部１２によって構造詳細化結果木に対するユーザからの訂正情報があればこれを反映して構造詳細化規則８を生成する。すなわち、ユーザが訂正情報を与えた場合には、新たな始点ＩＤ、終点ＩＤ、修正後要素名、情報抽出の結果、入力文書木中に照合した表層表現もしくは任意の要素名を用いて、新たに変換規則を生成する。ここで、ユーザがタグ付けを効果的かつ適切に訂正できるように、構造化文書変換システム側から不適切または未使用のタグ付けを示すためには、例えば次のような方法が利用できる。
【０１１３】
図３０に示すように、変換規則を用いて入力文書２０の変換を行った後、解析処理を行ったページ、行、ファイルなどの任意の領域を一つの単位として、タグ付けで使用した要素頻度の傾向を提示する。例えばタグが殆どつかないページを修正対象候補としてユーザに提示し、修正を促すことが可能である。
【０１１４】
また、これとは異なる提示方法として、図３１に示すように、変換規則の修正を行う際に、その修正による変換結果の違いが生ずる箇所を事前に強調、網掛けなど本文とは異なる書体を用いた表示で提示したり、変更が及ぶ箇所を例えば行番号と併せて変更前と変更後の具体例をユーザに提示することも可能である。
【０１１５】
図２６のフローチャートの説明に戻る。
【０１１６】
ステップＳ８：ステップＳ７での処理結果を構造詳細化規則８として登録しておく。処理をステップＳ３に戻し、新たな要素名に対して検証を行う。
【０１１７】
ステップＳ９：構造詳細化結果木中の全てのノードに対して検証・修正が終了したならば、その結果である木構造（「最適化木」という）を出力し、処理を終える。
【０１１８】
ここで、上記ステップＳ５を詳細に説明する。出現が誤っている要素に対し、その出現を検証し修正するには例えば図２８のフローチャートに示すような処理手順にしたがってこれを行うことができる。
【０１１９】
たとえば、＜ｂｏｄｙ＞要素が読込まれた場合に、要素出現の不整合を検証し修正する場合を例にあげて説明する。
【０１２０】
ステップＳ５１：深さ優先探索にて＜ｂｏｄｙ＞タグを読み込み込んだ後、＜ｂｏｄｙ＞タグに関する内容モデルを取得する。
【０１２１】
ステップＳ５２：  ＜ｂｏｄｙ＞タグ以下に存在する要素それぞれについて、内容モデルに記載されている出現制約を満たしているかを確認し、出現制約を満たしていれば元の処理に復帰する。
【０１２２】
ステップＳ５３：同名要素が複数存在する場合には、同要素名が最後に出現する終端タグを保持し、それ以外の同要素ノードは削除し元の処理に復帰する。
【０１２３】
また、上記の例とは異なる具体例を図２７の下部に示す。この例は、目標文書型制約に欠けている要素の付加を行う場合である。目標文書型には＜ｄｏｃｕｍｅｎｔ＞の子ノードに＜ｂｏｄｙ＞と＜ｉｎｄｅｘｅｓ＞タグが存在することが明記してあるが、構造検証・構造最適化部１４に入力された構造詳細化結果木には＜ｉｎｄｅｘｅｓ＞タグの存在が欠けている。この場合、＜ｂｏｄｙ＞タグの終端後、＜ｉｎｄｅｘｅｓ＞タグの読み込み無しに＜ｄｏｃｕｍｅｎｔ＞タグが終端してしまうことから、目標文書型制約に基づき＜ｉｎｄｅｘｅｓ＞タグの挿入を行う。要素削除手順と同様に図２８を例に＜ｉｎｄｅｘｅｓ＞タグの挿入を行う。
【０１２４】
ステップＳ５１：＜ｄｏｃｕｍｅｎｔ＞要素を読込んだ後、＜ｄｏｃｕｍｅｎｔ＞要素に定義されている内容モデルを取得する。
【０１２５】
ステップＳ５２：出現状況が目標文書制約を満たしていない為、修正処理を行う。
【０１２６】
ステップＳ５４：内容モデルに記述されているが、子ノードに出現が確認されない要素＜ｉｎｄｅｘｅｓ＞タグを＜／ｂｏｄｙ＞の直後に挿入し、元の処理に復帰する。
【０１２７】
以上の手順によれば、目標文書型制約に基づく要素の削除、挿入処理が可能となる。この手順により目標文書型制約における要素出現制約が保持されることになる。
【０１２８】
＜構造化文書出力部１５＞
構造化文書出力部１５は、最適化木に基づく構造化文書を例えばＸＭＬの形式で出力する。このため構造化文書出力部１５は、公知であるＤＯＭのアプリケーションインターフェース（ＡＰＩ）を介して木構造形式のデータにアクセスし、これによりタグ情報及びその内容を得てＸＭＬ文書の形式に纏める。
【０１２９】
以上説明した本発明の実施形態に係る構造化文書変換システムによれば、出力すべき構造制約を満たすよう正確に、かつユーザの負担を極力抑えて入力文書をより詳細に構造化された文書に変換できる。かかる文書変換においては、文書の意味内容を抽出することができ、意味内容に応じた文書構造の詳細化を行うことができる。
【０１３０】
本発明に係る構造化文書変換システムの応用例の一つに、紙の文書を光学的にスキャンして電子的な文書データを得るＯＣＲ（ｏｐｔｉｃａｌ  ｃｈａｒａｃｔｅｒ  ｒｅａｄｅｒ）システムがある。本発明によれば、ＯＣＲシステムで解析を施した結果を想定するような、レイアウト解析や論理構造解析が施された文書を入力とし、変換規則記述に要するユーザの負担を最小限に抑えた上で、出力すべき文書型定義に基づいて正確に、構造化文書の出力を行うことがＯＣＲシステムにおいて可能となる。
【０１３１】
また、出力文書型の制約情報として目標文書の具体例そのものを与えておくこともできることから、特定の分野の文書構造に依らない文書変換規則の定義や修正を容易に行うことが可能になる。
【０１３２】
さらに、上述したような本発明に係る構造詳細化手法によれば、文書の意味を考慮した構造の詳細化が半自動で可能となり、蓄積された大量の電子化文書に意味構造をもたせることができる。その結果、従来では困難であった構造情報を利用した検索や情報抽出をはじめとして、任意箇所の表示や編集といった文書の二次的利用が可能となる。また、特定の文書型定義に基づいた文書への変換が可能となるために、特定の文書型定義での利用に特化されたアプリケーションに対して、構造が異なる既存文書を入力として与えることも可能となる。
【０１３３】
なお、本発明は上述した実施形態に限定されず種々変形して実施可能である。
【０１３４】
【発明の効果】
以上説明したように、本発明によれば、構造化文書の詳細化作業におけるユーザの負担を軽減し、かつ目標文書型制約を満たす妥当な構造化文書出力を得ることのできる文書変換装置および文書変換方法を提供できる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る構造化文書変換システムの概略構成を示すブロック図
【図２】入力文書の具体例を示す図
【図３】出力文書の具体例を示す図
【図４】入力文書木の具体例を示す図
【図５】知識辞書の内部構造の具体例を示す図
【図６】要素変換規則の具体例を示す図
【図７】構造詳細化規則の具体例とその適用事例を示す図
【図８】構造変換規則の具体例を示す図
【図９】構造変換規則の他の具体例を示す図
【図１０】スキーマ解析部の処理の結果得られる目標文書型制約の具体例を示す図
【図１１】知識辞書３をＸＭＬ形式で記述した具体例を示す図
【図１２】情報抽出の処理手順を示すフローチャート
【図１３】知識辞書による情報抽出結果の具体例を示す図
【図１４】要素変換規則生成の処理手順を示すフローチャート
【図１５】訂正情報入力部に設けられたＧＵＩの具体例を示す図
【図１６】構造詳細化規則を生成する処理手順を示すフローチャート
【図１７】訂正情報入力部に設けられたＧＵＩの他の具体例を示す図
【図１８】構造詳細化規則の具体例とその適用事例を示す図
【図１９】構造詳細化規則の他の具体例とその適用事例を示す図
【図２０】構造詳細化規則をＸＭＬ形式で記述した具体例を示す図
【図２１】構造詳細化の処理手順を示すフローチャート
【図２２】要素変換実行処理の手順を示すフローチャート
【図２３】スキーマ解析部における処理手順を示すフローチャート
【図２４】スキーマ解析部における入力（ＤＴＤ）の具体例を示す図
【図２５】目標文書型制約を作成する処理手順を示すフローチャート
【図２６】構造検証・構造最適化部の処理手順を示すフローチャート
【図２７】構造検証・構造最適化部に対する入出力例を示す図
【図２８】要素の削除・挿入処理手順を示すフローチャート
【図２９】不適切なタグ付け結果をユーザに提示するためのインターフェースの一例を示す図
【図３０】不適切なタグ付け結果をユーザに提示するためのインターフェースの他の例を示す図
【図３１】不適切なタグ付け結果をユーザに提示するためのインターフェースの他の例を示す図
【図３２】入力文書の他の具体例を示す図
【符号の説明】
１…入力文書解析部
２…情報抽出部
３…知識辞書
４…知識辞書生成部
６…構造詳細化実行部
７…要素変換規則
８…構造詳細化規則
９…構造変換規則
１０…要素変換規則生成部
１１…構造詳細化規則生成部
１２…訂正情報入力部
１３…変換例出力部
１４…構造検証・構造最適化部
１５…構造化文書出力部
１６…スキーマ解析部
１７…文書型定義
１８…例文書解析部
１９…変換文書例
【図１】
2004178011.tif 000003
【図２】
2004178011.tif 000004
【図３】
2004178011.tif 000005
【図４】
2004178011.tif 000006
【図５】
2004178011.tif 000007
【図６】
2004178011.tif 000008
【図７】
2004178011.tif 000009
【図８】
2004178011.tif 000010
【図９】
2004178011.tif 000011
【図１０】
2004178011.tif 000012
【図１１】
2004178011.tif 000013
【図１２】
2004178011.tif 000014
【図１３】
2004178011.tif 000015
【図１４】
2004178011.tif 000016
【図１５】
2004178011.tif 000017
【図１６】
2004178011.tif 000018
【図１７】
2004178011.tif 000019
【図１８】
2004178011.tif 000020
【図１９】
2004178011.tif 000021
【図２０】
2004178011.tif 000022
【図２１】
2004178011.tif 000023
【図２２】
2004178011.tif 000024
【図２３】
2004178011.tif 000025
【図２４】
2004178011.tif 000026
【図２５】
2004178011.tif 000027
【図２６】
2004178011.tif 000028
【図２７】
2004178011.tif 000029
【図２８】
2004178011.tif 000030
【図２９】
2004178011.tif 000031
【図３０】
2004178011.tif 000032
【図３１】
2004178011.tif 000033
【図３２】
2004178011.tif 000034