JPH1021227A - 文書構造変換装置および文書構造変換方法 - Google Patents

文書構造変換装置および文書構造変換方法

Info

Publication number
JPH1021227A
JPH1021227A JP8173923A JP17392396A JPH1021227A JP H1021227 A JPH1021227 A JP H1021227A JP 8173923 A JP8173923 A JP 8173923A JP 17392396 A JP17392396 A JP 17392396A JP H1021227 A JPH1021227 A JP H1021227A
Authority
JP
Japan
Prior art keywords
document
node
class
conversion
document class
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
Application number
JP8173923A
Other languages
English (en)
Inventor
Kazuya Chiba
和也 千葉
Hitoki Kiyoujima
仁樹 京嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP8173923A priority Critical patent/JPH1021227A/ja
Publication of JPH1021227A publication Critical patent/JPH1021227A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Abstract

(57)【要約】 【課題】 文書構造の変換を行う際、不足する構造の補
完を最小限かつ理解しやすい記述で行う。 【解決手段】 変換規則記憶手段4は、第1の文書構造
1を中間構造3に変換する際に利用する規則を変換規則
として記憶している。文書クラス管理手段5は、少なく
とも第1及び第2の文書クラスの定義情報を管理してい
る。中間構造作成手段6は、入力された第1の文書クラ
スに従った第1の文書構造1を第1の文書クラスの定義
情報と変換規則とに基づいて中間構造3に変換する。補
完指定記憶手段7は、中間構造3と第2の文書構造2を
比較した場合に不足しているノードや部分木に関する情
報を補完指定として記憶している。補完手段8が、第2
の文書クラスの定義情報と補完指定とに基づいて中間構
造に不足しているノードや部分木を補い、第2の文書構
造を作成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、文書構造を変換す
る文書構造変換装置および文書構造変換方法に関し、特
に所定の文書クラスの構造制約を満たした文書構造を、
別の文書クラスの構造制約を満たした文書構造に変換す
る文書構造変換装置および文書構造変換方法に関する。
【0002】
【従来の技術】構成要素として章、節、項などに代表さ
れる論理的な構造を持つ文書を構造化文書と呼ぶが、こ
の文書の構造の統一を図ることで、文書の共有や変換が
容易になることが知られている。SGML(Standard Ge
neralized Markup Language)や、ODA(Office Docume
nt Architecture)などの国際規格の普及もあり、構造化
文書は電子的な文書の主流となりつつある。
【0003】構造化文書は通常、文書の構造および構成
要素を定義した文書クラスと呼ばれる分類に従って構造
化されている。ODAでは共通論理構造が文書クラスに
該当し、SGMLではDTD(Data Type Definition)が
文書クラスの役割を担っている。なお、これ以降の説明
で文書と言った場合には、すべて構造化文書を示す。
【0004】文書の持つ構造が文書クラスの制約に従っ
ていることには、重要な意味がある。例えば、複数の文
書をレイアウトするための規則は、文書の構造や、その
構成要素が特定の文書クラスの制約を満たしていること
を前提に決められることが多い。そのため、ある文書の
構造が文書クラスの制約から逸脱している場合には、正
しいレイアウトでの出力ができない。
【0005】また、報告書群からの抄録リスト作成のよ
うな、多くの文書を処理するためのプログラムには、対
象となる文書が特定の文書クラスに従って作成されてい
ることを利用したものが多い。このようなプログラムを
利用する際、所定の文書クラスに従わない文書の存在
は、プログラム実行の障害となり得る。
【0006】さらに、大量の文書を対象にしたデータベ
ースでは文書クラスをスキーマとして利用することが多
い。そのため、スキーマから逸脱したデータの存在はデ
ータベースの信頼性を大きく損なうこととなる。
【0007】つまり、文書クラスAに従った文書構造を
持つ文書を対象としたプログラムを使用する際、その文
書構造がどんなに似通っていようとも、別の文書クラス
Bに従った文書構造を持つ文書への適用は難しい。この
ような場合に、文書クラスBに従った文書構造を文書ク
ラスAに従った文書構造に変換する必要性が生じる。
【0008】上記の問題を解決するために、任意の文書
構造を別の文書構造に変換する技術が、いくつか存在し
ている。文書の構造はすべて木構造で表わせるものとし
て、以下に説明を行う。
【0009】まず、Fred Cole 、Heather Brown 著のEd
iting Structured Documents-Problem and Solutions
(Electronic Publishing,vol.5,No.4,pp.209-216)に記
載されている、「fall back class 」の概念を応用する
ことにより文書構造の変換が可能である。これは、文書
クラスBで規定されたノードのタイプが、文書クラスA
で規定されたノードのタイプのうち、どのタイプに変換
されるかを規則として定義しておくものである。変換を
実行する際にはあらかじめ定義されている規則に基づい
て、文書クラスBに従った文書構造に含まれる各ノード
を、文書クラスAに従った文書構造に含まれるノードに
逐一変換する。
【0010】また、特開平7−28817号公報には、
文書クラスBを構成するタイプと文書クラスAを構成す
るタイプとの1対1の対応関係を、ユーザが定義する方
法が開示されている。定義した対応関係を利用すること
で文書構造の変換を行う。
【0011】しかし、これらの技術では、文書構造の変
換を行う場合に所望の文書クラスの構造制約上必要とさ
れるノードや部分木を補うことが困難である。つまり、
変換によって得られた文書構造には変換前の文書構造中
に存在していたノードと対応するノードしか含まれない
ため、ノードの不足が度々発生してしまう。ノードの不
足は文書クラスの制約を満たさない原因になることが多
く、この点で上記二つの方法が実用に堪えないことは容
易に予想できる。
【0012】また、特開平4−263358号公報に
は、各文書クラスを文脈自由文法で表して、二つの文書
クラス間の対応関係を二つの文法の間の関係として記述
しておく方法が開示されている。文書クラスBに従った
文書構造を文書クラスAに従った文書構造に変換する場
合には、元となる文書構造を構文解析して、文書構造の
変換を行う。
【0013】この方法では、変換前の文書構造中に存在
しないノードであっても、変換時に生成、接続すること
が可能である。
【0014】
【発明が解決しようとする課題】しかし、この方法で文
書構造の変換を行う場合、ユーザは変換前後の文書クラ
スおよびその対応関係を、文法の形で逐一記述する必要
がある。文法による記述は変換による変化の全くない部
分も含め文書クラス全体について必要であり、これは文
書クラスの規模が大きい場合には非常に繁雑な作業とな
る。また、変換対象となった文書構造中のノードの内容
によって変換先を変えるような指示は不可能であり、そ
のために所望の構造変換が記述できない場合もあった。
【0015】本発明はこのような点に鑑みてなされたも
のであり、第1の文書クラスに従った第1の文書構造に
対し、第2の文書クラスの構造制約と比較した際に不足
しているノードや部分木を補完する文脈自由文法を作
成、適用して、第2の文書クラスに従った第2の文書構
造に変換することができる文書構造変換装置を提供する
ことを目的とする。
【0016】また、本発明の他の目的は、ユーザが第1
の文書クラスの構造制約に含まれたノードと、第2の文
書クラスの構造制約に含まれたノードとの関係を直感的
に理解できる文書構造変換装置を提供することである。
【0017】更に、本発明の別の目的は、任意に変換規
則および補完指定を入力でき、競合が発生していれば、
その内容を知ることのできる文書構造変換装置を提供す
ることである。
【0018】
【課題を解決するための手段】本発明では上記課題を解
決するために、あらかじめ定義された複数の文書クラス
に基づき、第1の文書クラスに従った第1の文書構造を
第2の文書クラスに従った第2の文書構造に変換する文
書構造変換装置において、前記第1の文書クラスの定義
に含まれているノードタイプが、前記第2の文書クラス
の定義に含まれているどのノードタイプに変換されるの
かを規定した変換規則を記憶する変換規則記憶手段と、
前記第2の文書クラスの定義に含まれているノードタイ
プの中で、補完が必要なノードタイプを示す補完指定を
記憶する補完指定記憶手段と、前記第1の文書構造を前
記変換規則に従って変換し、中間構造を作成する中間構
造作成手段と、前記第2の文書クラスの定義と前記補完
指定とに基づいて、補完が必要なノードを所定の位置に
追加するための文脈自由文法を作成し、前記文脈自由文
法に基づき前記中間構造の構文解析を行い、前記中間構
造に不足しているノードを補った前記第2の文書構造を
生成する補完手段とを有することを特徴とする文書構造
変換装置が提供される。
【0019】この文書構造変換装置では、変換規則記憶
手段が、第1の文書クラスの定義に含まれているノード
タイプのそれぞれが第2の文書クラスの定義に含まれて
いるどのノードタイプに変換されるのかを規定した変換
規則を記憶する。また、補完指定記憶手段が、第2の文
書クラスの定義に含まれているノードタイプの中で補完
が必要なノードタイプを示す補完指定を記憶する。この
文書構造変換装置に第1の文書クラスに従った第1の文
書構造を入力すると、まず中間構造作成手段が、入力さ
れた文書構造を変換規則に従って変換し、中間構造を作
成する。次に補完手段が、第2の文書クラスの定義と補
完指定とに基づいて補完が必要なノードを所定の位置に
追加するための文脈自由文法を作成し、作成した文脈自
由文法に基づいて中間構造の構文解析を行い、中間構造
に不足しているノードを補った第2の文書構造を生成す
る。
【0020】また、本発明では、前記変換規則記憶手段
は、前記第2の文書クラスの定義に含まれるノードタイ
プに対し、他のノードとの関係を示す文脈情報を付加し
た新たなノードタイプを一つ以上設け、前記第1の文書
クラスの定義に含まれているノードタイプが、前記新た
なノードタイプに変換される旨の規定をも含むことを特
徴とする文書構造変換装置が提供される。
【0021】この文書構造変換装置では、第2の文書ク
ラスの定義に含まれるノードタイプに対応して、同じく
第2の文書クラスの定義に含まれる他のノードとの関係
を示す文脈情報を付加した新たなノードタイプを一つ以
上設ける。そして、変換規則記憶手段は変換規則として
第1の文書クラスの定義に含まれているノードタイプが
新たなノードタイプに変換される旨の規定を含む。
【0022】更に、本発明では、前記変換規則および前
記補完指定を入力する変換情報入力手段と、前記文脈自
由文法に発生する競合を調べる変換情報検査手段と、前
記競合の内容を表示する表示手段と、を更に有すること
を特徴とする請求項1記載の文書構造変換装置が提供さ
れる。
【0023】この文書構造変換装置では、変換情報入力
手段を介して変換規則および補完指定を入力できる。変
換情報検査手段が文脈自由文法に発生する競合を調べ、
競合が発生した場合には表示手段が競合の内容を表示す
る。
【0024】また、本発明では、構造化文書の文書構造
を変換する文書構造変換方法において、第1の文書クラ
スの定義に含まれるノードタイプを第2の文書クラスの
定義に含まれるどのノードタイプへ変換するのかが規定
された変換規則に従って、前記第1の文書クラスに従っ
た第1の文書構造を変換することにより、中間構造を作
成し、前記第2の文書クラスの定義と、前記第2の文書
クラスの定義に含まれているノードタイプの中で補完が
必要なノードタイプが指定された補完指定と、に基づい
て補完が必要なノードを所定の位置に追加するための文
脈自由文法を作成し、前記文脈自由文法に基づいて前記
中間構造を解析し、ノードの不足が確認された場合に必
要なノードを補って、第2の文書構造を作成することを
特徴とする文書構造変換方法が提供される。
【0025】この文書構造変換方法では、第1の文書ク
ラスおよび第2の文書クラスの定義は管理されている。
また、第1の文書クラスの定義に含まれるノードタイプ
を第2の文書クラスの定義に含まれるどのノードタイプ
へ変換するのかが、変換規則として記憶されている。更
に、第2の文書クラスの定義に含まれているノードタイ
プの中で補完が必要なノードタイプの指定が、補完指定
として管理されている。この文書構造変換方法ではま
ず、第1の文書構造に変換規則を適用して、中間構造を
作成する。次に、第2の文書クラスの定義と補完指定と
に基づいて、文脈自由文法を作成する。最後に、作成し
た文脈自由文法に基づいて中間構造を解析し、ノードの
不足が確認された場合には必要なノードを補って、第2
の文書構造を作成する。
【0026】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて説明する。図1は本発明の文書構造変換装置
の原理図である。
【0027】本発明では第1の文書構造1を、中間構造
3を経て、第2の文書構造2に変換する。ここで、第1
の文書構造1は第1の文書クラスの規定を満たしてい
る。また、第2の文書構造2は第2の文書クラスの規定
を満たしている。なお中間構造3は、第1の文書構造の
構成ノードタイプを、対応する第2の文書構造の構成ノ
ードタイプに置き換えたもので、第2の文書構造と比較
すると、ノードや部分木が不足している可能性がある。
【0028】本発明の文書構造変換装置は、第1の文書
構造1を中間構造3に変換する際に利用する規則を変換
規則として記憶する変換規則記憶手段4と、少なくとも
第1および第2の文書クラスの定義情報を管理する文書
クラス管理手段5と、入力された第1の文書構造1を第
1の文書クラスの定義情報と変換規則とに基づいて中間
構造3に変換する中間構造作成手段6と、中間構造3と
第2の文書構造2を比較した場合に不足しているノード
や部分木に関する情報を補完指定として記憶する補完指
定記憶手段7と、第2の文書クラスの定義情報と補完指
定とに基づいて中間構造に不足しているノードや部分木
を補い、第2の文書構造を作成する補完手段8とから構
成されている。
【0029】次に、本発明の第1の実施の形態の詳しい
構成を説明する。図2は文書構造変換装置の第1の実施
の形態の構成を示すブロック図である。なお、図1に示
す構成と図2に示す構成との対応関係は、図2の説明を
行った後に述べる。
【0030】本発明の文書構造変換装置20は、変換の
対象である文書データの入出力を行う文書データu/i
11と、変換に必要な情報の入力を行う変換情報u/i
12とを介してユーザとのデータの授受を行う。なお、
変換情報とは、変換前の文書の構造を制約する第1の文
書クラス名(入力文書クラス名)と、変換後の文書の構
造を制約する第2の文書クラス名(出力文書クラス名)
とである。
【0031】ここで文書構造変換装置20は、変換した
い第1の文書データの入力を受け付ける文書パーサ21
と、この文書構造変換装置20で扱うことのできるすべ
ての文書クラスの定義情報を管理する文書クラス管理部
22と、変換規則を管理する変換規則管理部23と、補
完指定を管理する補完指定管理部24と、規則要素の適
用を決定する規則要素決定部25と、中間構造を作成す
る中間構造作成部26と、補完を行う補完処理部27
と、作成された文書構造を第2の文書データにして出力
する文書ジェネレータ28と、から構成されている。
【0032】文書パーサ21には、文書データu/i1
1を介して第1の文書データが入力される。また、文書
クラス管理部22から第1の文書データの構造を規定し
ている入力文書クラスの定義情報が供給される。受け付
けた文書データを供給された定義情報に基づいて解析
し、解析結果を規則要素決定部25と中間構造作成部2
6とへ入力する。
【0033】文書クラス管理部22は本発明の文書構造
変換装置20で取り扱い可能な文書クラスの定義情報を
すべて管理しており、変換情報u/i11から入力され
た入力文書クラス名と出力文書クラス名とに基づいて定
義情報を供給する。すなわち、文書パーサ21へ入力文
書クラスの定義情報を、補完処理部27へ出力文書クラ
スの定義情報を、それぞれ供給する。
【0034】変換規則管理部23は、本発明の文書構造
変換装置20で取り扱い可能なすべての文書クラスに対
し、他の文書クラスに変換する際の規則である変換規則
を管理している。入力された入力文書クラス名と出力文
書クラス名とに基づいて利用する変換規則を選択し、規
則要素決定部25へ入力する。
【0035】補完指定管理部24は、本発明の文書構造
変換装置20で取り扱い可能なすべての文書クラスに対
し、他の文書クラスに変換する際に必要な補完の指定を
管理している。入力された入力文書クラス名と出力文書
クラス名とに基づいて利用する補完指定を選択し、補完
処理部27へ入力する。
【0036】規則要素決定部25は、文書パーサ21か
ら入力された解析結果に基づいて、変換規則管理部23
から入力された変換規則をどのように利用するか決定す
る。すなわち、解析結果のどの部分にどの規則要素を適
用するかを構造や内容等の条件と照らし合わせた上で決
定し、中間構造作成部26へ入力する。
【0037】中間構造作成部26は、文書パーサ21か
ら入力された解析結果と規則要素決定部25から入力さ
れた規則要素とに基づいて、出力文書クラスの構造制約
に近い構造である中間構造を作成する。作成した中間構
造は、補完処理部27へ入力する。
【0038】補完処理部27は、文書クラス管理部22
から出力文書クラスの定義情報の供給を受け、補完指定
管理部24から補完指定の入力を受け、中間構造作成部
26から中間構造の入力を受ける。出力文書クラスの定
義情報と補完指定とに基づいて中間構造に補完処理を施
し、出力文書クラスの構造制約に従った構造を完成さ
せ、文書ジェネレータ28へ入力する。
【0039】文書ジェネレータ28は、入力された文書
構造を文書データの形式に整える。そして、できあがっ
た文書データを、文書データu/i11を介して文書構
造を変換された第2の文書データとして出力する。
【0040】なお、図1の変換規則記憶手段4は図2の
変換規則管理部23に対応している。以下同様に、文書
クラス管理手段5は文書クラス管理部22に、中間構造
作成手段6は中間構造作成部26に、補完指定記憶手段
7は補完指定管理部24に、補完手段8は補完処理部2
7に、それぞれ対応する。
【0041】次に、この文書構造変換装置20を用いて
第1の文書構造を持つ文書データ1を第2の文書構造を
持つ文書データ2に変換する手順を説明する。ここで、
第1の文書構造を持つ文書データ1と第2の文書構造を
持つ文書データ2とは、同じ内容を持っているが、別々
の構造を持つ構造化文書である。
【0042】図3は文書構造変換の手順を示すフローチ
ャートである。以下、図中のステップ番号に沿って説明
を行う。 [S1]文書パーサ21は文書データu/i11を介し
て、入力データ、すなわち第1の文書構造を持つ文書デ
ータ1を受け付ける。また、文書クラス管理部22と変
換規則管理部23と補完指定管理部24とは、変換情報
u/i12を介して変換情報を受け付ける。変換情報と
は第1の文書構造を持つ文書データ1を第2の文書構造
を持つ文書データ2に変換するための情報で、入力文書
クラス名と出力文書クラス名とである。 [S2] 文書クラス管理部22は、受け付けた変換情
報に基づいて入力文書クラスの定義情報を文書パーサ2
1に供給する。文書パーサ21はこの定義情報に基づい
て、入力された第1の文書構造を持つ文書データ1を解
析し、その文書構造を抽出する。抽出された文書構造は
規則要素決定部25および中間構造作成部26へ入力さ
れる。 [S3]変換規則管理部23は受け付けた変換情報に基
づいて利用する変換規則を決定し、規則要素決定部25
へ供給する。規則要素決定部25は、文書パーサ21か
ら入力された文書構造と変換規則管理部23から供給さ
れた変換規則とから規則要素を決定する。決定した規則
要素は中間構造作成部26へ供給する。 [S4]中間構造作成部26は、供給された規則要素に
基づいてステップS2で抽出された第1の文書構造を持
つ文書データ1の文書構造を変換し、中間構造を作成す
る。この作成の手順に関しては後に詳しく説明する。 [S5]補完指定管理部24は変換情報に基づいて利用
する補完指定を決定し、補完処理部27に供給する。 [S6]文書クラス管理部22は、受け付けた変換情報
に基づいて、出力文書スラスの定義情報を補完処理部2
7に供給する。補完処理部27は供給された出力文書ク
ラスの定義情報と補完指定とに基づいて中間構造に補完
処理を施す。この補完処理の手順については、後に詳し
く説明する。補完処理が終了し、出力文書クラスに従っ
た構造となった第2の文書構造は、文書ジェネレータ2
8へ入力される。 [S7]文書ジェネレータ28は入力された第2の文書
構造から文書データ2を作成し、文書データu/i11
を介して出力、処理を終了する。
【0043】ここで、文書クラスおよびその定義情報に
ついて説明する。文書クラス管理部22では、一つの文
書クラスをその文書クラスの名称と、その文書クラスの
定義情報とのペアで記憶している。なお、文書クラス管
理部22には複数の文書クラスが記憶されるが、個々の
文書クラスの名称は、この文書構造変換装置20内で一
意である。
【0044】文書クラスの定義情報は、文書構造を構成
するノードのタイプ定義と定義されたノードの接続関係
を規定する構造制約とから構成される。特定の文書クラ
スの定義情報を満たした文書構造を、その文書クラスの
文書構造と呼ぶ。また、その文書クラスの文書構造を持
つ文書データを、その文書クラスの文書データと呼ぶ。
【0045】文書構造を構成する要素(ノード)のタイ
プ定義は、次の二つの要素からなっている。すなわち、
ノードのタイプを識別するための文字列であるタイプ名
と、ノードの持つ内容の種類を示す内容型指定とであ
る。ここでこの内容型指定は、「内容を持たない」か、
「文字列型の内容を持つ」か、「幾何図形型の内容を持
つ」かの3種類の内の一つである。なお本発明では下位
構造を持つノードはすべて内容を持たないものとする。
【0046】また、タイプ名が「A」であるタイプのこ
とを「Aタイプ」と呼び、「Aタイプのノード」のこと
を「Aノード」と呼ぶ。定義されたノードの接続関係を
規定する構造制約は、次に示す構造制約子と上記ノード
のタイプ定義とから作られる木構造とによって定義され
る。構造制約子にはSEQ、REP、CHO、OPTの
4種類があり、それぞれ次のような意味を持つ。
【0047】構造制約子SEQは、その下位に複数の構
造をとり、規定された構造が規定された順序で出現する
ことを示す。構造制約子REPは、その下位に単一の構
造をとり、規定された構造が1回以上繰り返し出現する
ことを示す。
【0048】構造制約子CHOは、その下位に複数の構
造をとり、規定された構造の内のどれかが出現すること
を示す。構造制約子OPTは、その下位に単一の構造を
とり、規定された構造が1回出現するか、あるいは出現
しないかであることを示す。
【0049】次に図3のステップS4で述べた中間構造
作成について説明するが、その前に中間構造作成に利用
する変換規則について説明を行う。変換規則管理部23
には文書構造作成装置20で認識可能な文書クラスすべ
てに関する変換規則が、入力文書クラス名および出力文
書クラス名とセットで記憶されている。そして変換情報
u/i12を介して入力文書クラス名および出力文書ク
ラス名を受け付けると、該当する二つの文書クラス名か
らセットになっている変換規則を呼び出して中間構造作
成部26へ供給する。
【0050】ここで変換規則は、規則要素のリストから
構成されている。規則要素とは入力文書クラスの定義に
含まれるタイプのタイプ名(入力タイプ名)と、出力文
書クラスの定義に含まれるタイプのタイプ名(出力タイ
プ名)と、後述する適用条件とをセットにしたものであ
る。個々の規則要素は、入力タイプ名で指定されたタイ
プのノード(入力ノード)が適用条件を満たす場合に、
出力タイプ名で指定されたタイプのノード(出力ノー
ド)に変換されることを示している。この時入力ノード
に付随している内容は、そのまま出力ノードの内容とな
る。
【0051】なお適用条件とは規則要素が適用される入
力文書構造中のノードについての条件である。適用条件
には、ノードが持つ内容についての条件や、該当するノ
ードの周りのノード(親、祖父、兄弟ノード等)につい
ての条件が規定される。適用条件を規定しない場合に
は、入力ノードを無条件で出力ノードに変換する。
【0052】本発明では出力タイプ名として、出力文書
クラスの定義に含まれるタイプ名の他に、文脈付きタイ
プ名も使用することができる。文脈付きタイプ名とは、
文脈付きタイプを識別するための文字列である。
【0053】ここで、文脈付きタイプとは出力文書クラ
スの定義に含まれるタイプに代わる性質を持つもので、
次の3種類が利用できる。以下、T、Sを出力文書クラ
スの定義に含まれる任意のタイプ名とする。
【0054】文脈付きタイプ{1}Tは、Tというタイ
プ名で連続して現れる兄弟ノードのうち、最初のノード
のタイプを示す。但しタイプTは、入力文書クラスの構
造制約において構造制約子REPを直上に持つ。
【0055】文脈付きタイプ{E}Tは、Tというタイ
プ名で連続して現れる兄弟ノードのうち、最初以外のノ
ードのタイプを示す。但しタイプTは、入力文書クラス
の構造制約において構造制約子REPを直上に持つ。
【0056】文脈付きタイプ(S)Tは、Sというタイ
プ名のノードを親に持つ、Tというタイプ名のノードの
タイプを示す。文脈付きタイプのノードは文書構造変換
の途中にだけ現れる中間的な存在ではあるが、通常のタ
イプのノード同様、タイプ名と内容型指定とを持つ。な
お、文脈付きタイプ{1}T、{E}T、(S)Tの内
容型指定は、タイプTの内容型指定と同じになる。
【0057】図4は、中間構造作成の手順を示したフロ
ーチャートである。この処理は図3のステップS4にあ
たり、変換規則の供給を受けた中間構造作成部26にお
いて実行される。以下、図中のステップ番号に沿って説
明を行う。
【0058】この中間構造作成処理では、入力される文
書構造中のノードの一つを currentノード、作成される
中間構造中のノード(中間ノード)の一つを親ノードと
して処理を進める。処理を開始する時点では、 current
ノードは入力文書構造のルートノードとする。また、そ
の時、親ノードは未定とする。 [S21]中間構造作成部26は、 currentノードのタ
イプ名を規則要素決定部25へ入力する。規則要素決定
部25は、この入力に応じて、 currentノードのタイプ
名が入力タイプ名にあたり、なおかつ適用条件を満たす
ような規則要素を検索する。規則要素が検索できれば、
その規則要素をcurrent 規則要素として中間構造作成部
27へ供給し、ステップS22へ進む。また、検索でき
なければ、エラーメッセージを出力し、文書構造変換処
理を終了する。 [S22]中間構造作成部26は、供給されたcurrent
規則要素から出力タイプ名を抽出し、得られた出力タイ
プ名に基づいて中間ノードを作成する。 currentノード
に内容が付随していた場合は、その内容をコピーして、
作成した中間ノードの内容とする。この処理は、出力タ
イプ名が文脈付きタイプ名であっても同様に行われる。
つまり、その文脈付きタイプ名を持つ中間ノードを作成
し、内容をコピーする。 [S23] currentノードがルートノードか否か判断す
る。ルートノードならばステップS25へ、ルートノー
ドでないならばステップS24へ進む。 [S24] currentノードがルートノードでないという
ことは、この処理は既に中間ノードを作成しており、親
ノードを持っているということである。よって、この親
ノードにステップS22で作成した中間ノードを末子と
して連結する。 [S25]ステップS22で作成した中間ノードを、新
しい親ノードとする。 [S26] currentノードが子供を持つか否か判断す
る。子供を持つならばステップS27へ進み、子供を持
たないならばこのフローチャートを終了する。 [S27] currentノードの長子を新しい currentノー
ドとする。 [S28]新しい親ノードと新しい currentノードとが
決定したので、この二つに基づいて、改めて中間構造作
成処理を実行する。つまり、この時点で決定している親
ノードと currentノードとに基づいて、フローチャート
のステップS21から終了に至るまでの処理を行う。処
理が終了したならば、次のステップS29へ進む。 [S29] currentノードが弟を持つか否か判断する。
弟を持つならばステップS30へ進み、弟を持たないな
らばこのフローチャートを終了する。 [S30] currentノードの直後の弟を新しい current
ノードとし、再度ステップS28へ進む。
【0059】中間構造を希望の文書クラスに従った文書
構造にするために、本発明では補完処理を行う。ここで
言う補完処理とは、中間構造に不足しているノードや部
分木を補う処理のことである。補完処理にあたり必要と
なる補完指定について、次に説明を行う。
【0060】補完指定管理部24には、文書構造変換装
置20で認識可能な文書クラスすべてに関する補完指定
が、入力文書クラス名および出力文書クラス名とセット
で記憶されている。従って、ユーザから変換情報u/i
12を介して入力文書クラス名、出力文書クラス名の入
力を受けた補完指定管理部24は、該当する二つの文書
クラス名からセットになっている補完指定を呼び出し、
補完処理部27へ供給する。
【0061】補完指定自体は、出力文書クラスの定義に
含まれるタイプのうち、補完が必要となるタイプのタイ
プ名(補完タイプ名)のリストである。なお、出力文書
クラスのルートノードにあたるタイプや、内容を持つタ
イプに補完の指定をすることはできない。
【0062】図5は、補完処理の手順を示したフローチ
ャートである。この処理は図3のステップS6にあた
り、補完指定と、出力文書クラスの定義情報と、変換規
則とを供給された補完処理部27において実行される。
以下、図中のステップ番号に沿って説明を行う。
【0063】なお、この補完処理では、出力文書クラス
の構造定義中のタイプの一つを補完ルートタイプとして
処理を進める。補完ルートタイプとなるのは、出力文書
クラスの定義情報と補完指定とを照らし合わせた場合
に、そのノードのタイプが補完指定されておらず、なお
かつそのノードの子ノードに補完指定されているタイプ
が存在し得るようなタイプである。 [S41]出力文書クラスの定義情報と補完指定とか
ら、補完ルートタイプを調べ、リストを作成する。 [S42]リストの最初の補完ルートタイプについて、
補完文法および構文解析器を作成する。この処理の手順
については、後に詳しく述べる。処理の終了した補完ル
ートタイプを、リストから削除する。 [S43]リストが空になったか否か判断する。空にな
っていればステップS44へ、空になっていなければ再
度ステップS42へ、進む。 [S44]中間構造中に現れる補完ルートタイプのノー
ドすべてに対して、ステップS42で作成した構文解析
器を用いた構文解析を行い、構文解析木を得る。構文解
析が成功すれば、ステップS45に進む。また、構文解
析が失敗したならば、エラーメッセージを出力して、こ
の処理を終了する。 [S45]得られた構文解析木から、木構造を抽出す
る。この抽出は、構文解析木中の構造制約子に対応する
記号やεを消していくことによって行われる。 [S46]抽出された構造に基づいて、補完ルートノー
ドをルートとする木構造を生成し、中間構造中の所定の
位置に挿入する。 [S47]文脈付きタイプのノードについて、そのタイ
プ名を文脈を取り除いたタイプ名に変更して、この処理
を終了する。
【0064】次に、補完ルートタイプについて、補完文
法および構文解析器を作成する手順について説明する。
図6は、補完文法および構文解析器を作成する手順を示
したフローチャートである。この処理は図5に示したフ
ローチャートのステップS42にあたり、補完処理部2
7で実行される。以下、図中のステップ番号に沿って説
明を行う。[S51]出力文書クラスの構造制約のう
ち、現在の補完ルートタイプから下位方向にたどってい
き、初めて補完指定のないタイプが現れるまでの部分の
すべてを切り出す。[S52]切り出した部分文書クラ
スのリーフになっているタイプをすべて調べ、変換規則
の中で文脈付きタイプとして指定されているタイプがあ
れば、その部分の部分文書クラスを展開する。
【0065】この時、変換規則の中で{1}T、{E}
Tの文脈付きタイプが存在するタイプTについては、こ
のタイプの上位のREPを、SEQ({1}T,OPT
REP({E}T))で置き換える。ここでOPTRE
Pは新たな構造制約子であり、単一の下位構造をとり、
その下位構造で規定された構造が、0回以上繰り返し出
現することを示す。
【0066】またこのとき、変換規則の中で(S1)
T、(S2)T、・・・、(Sn)Tの文脈付きタイプ
が存在するタイプTについては、このタイプの位置に
(S1)T、(S2)T、・・・、(Sn)Tのn個の
(文脈付き)タイプを設け、それぞれタイプS1、S
2、・・・、Snの下位構造として繋ぐ。 [S53]現在の部分文書クラス中に、同一の構造制約
子が二つ以上出現した場合は、区別するために、構造制
約子名の末尾に通し番号をふる。 [S54]部分文書クラスから、文脈自由文法(補完文
法)を作成する。この処理については、後に詳しく説明
する。 [S55]ステップS54で求めた補完文法から、構文
解析器を作成する。本発明では作成方法が公知となって
いるLR構文解析器を作成し、この処理を終了する。こ
の処理については後に説明する。
【0067】次に、部分文書クラスから文脈自由文法
(補完文法)を作成する処理について詳しく説明する。
この処理は図6に示したフローチャートのステップS5
4にあたり、補完処理部27において実行される。
【0068】なお、この処理においては、タイプ名、文
脈付きタイプ名、構造制約子をすべて記号とみなす。生
成される文法では、開始記号が補完ルートタイプであ
り、終端記号が補完指定のないタイプである。また、非
終端記号には補完指定のあるタイプおよび構造制約子が
該当する。
【0069】処理1:補完ルートタイプAについては、
その下位構造をBと表わすならば、生成規則A→Bを作
成する。 処理2:補完指定のあるタイプAについては、その下位
構造をBと表わすならば、生成規則A→Bを作成する。
【0070】処理3:構造制約子SEQnについては、
その下位構造を(B1、B2、・・・、Bn)と表わす
ならば、生成規則SEQn→B1B2・・・Bnを作成
する。
【0071】処理4:構造制約子CHOnについては、
その下位構造を(B1、B2、・・・、Bn)と表わす
ならば、生成規則CHOn→B1、CHOn→B2、・
・・、CHOn→Bnを作成する。
【0072】処理5:構造制約子REPnについては、
その下位構造をBで表わすならば、生成規則REPn→
B REPn、REPn→Bを作成する。 処理6:構造制約子OPTnについては、その下位構造
をBで表わすならば、生成規則OPTn→B、OPTn
→ε(εは空記号を示す)を作成する。
【0073】処理7:構造制約子OPTREPnについ
ては、その下位構造をBと表わすならば、生成規則OP
TREPn→B OPTREPn、OPTREPn→ε
を作成する。
【0074】以上の処理1〜処理7で作成された生成規
則の集合が、文脈自由文法(補完文法)である。次に、
作成された文脈自由文法から構文解析器を作成する処理
について説明する。この処理は図6に示したフローチャ
ートのステップS55にあたり、補完処理部27におい
て実行される。
【0075】構文解析器とは、終端記号の列を入力する
と構文解析木を出力する機能を持ったもので、文脈自由
文法から作成される構文解析表と呼ばれる表に基づいて
実現される。
【0076】ここで、簡単な構文解析表の例をあげる。
図7は、構文解析表を作成する基礎となる文脈自由文法
の例を示す図である。また、図8は、構文解析表の例を
示す図である。
【0077】構文解析表101は、図7に示した文脈自
由文法100を公知の構文解析器生成系にかけて作成し
たもので、構文解析の動作を示すaction表と、状態の遷
移を示すgoto表との二つの部分から構成されている。
【0078】図9は、構文解析器の例を示す図である。
構文解析器110は図8に示した構文解析表101と、
スタック102と、ドライバ103とから構成されてい
る。そして、入力される文脈自由文法から構文解析木を
作成する。
【0079】ここで、スタック102には入力される文
脈自由文法100aの記号列と状態(LR状態)とが格
納される。また、スタック102の底には、底を示す特
別な記号$が格納されている。
【0080】ドライバ103は、構文解析表101を参
照してその動作を決める。入力される文脈自由文法の列
100aの最後には、入力の右端を示す特別な記号$が
格納されている。
【0081】ここで具体例をあげて、本発明により文書
構造の変換を行う様子を説明する。本発明の文書変換装
置20の文書クラス管理部22が、文書クラス「銀行検
査報告」と、文書クラス「Inspection Report 」とを含
む複数の文書クラスを記憶しているとする。
【0082】図10は、文書クラス「銀行検査報告」の
定義情報のうち、ノードのタイプ定義を示す図である。
文書クラス「銀行検査報告」のノードのタイプ定義31
aによると、この文書クラスは、内容を持たない「検査
報告」ノードと「前書き」ノードと、文字列型の内容を
持つ「大臣所感」ノードと「次官所感」ノードと、内容
を持たない「本文」ノードと、文字列型の内容を持つ
「段落」ノードとを持っている。
【0083】また、図11は、文書クラス「銀行検査報
告」の定義情報のうち、定義されたノードの接続関係を
規定する構造制約を示す図である。文書クラス「銀行検
査報告」の構造制約31bによると、この文書クラス
は、「検査報告」ノードの下に、「前書き」ノードと
「本文」ノードとを一つずつ持つ。「前書き」ノードは
下位構造として、「大臣所感」ノードもしくは「次官所
感」ノードを持つ。また、「本文」ノードは、一つ以上
繰り返し出現する「段落」ノードを持つ。
【0084】図12は、文書クラス「Inspection Repor
t 」の定義情報のうち、ノードのタイプ定義を示す図で
ある。文書クラス「Inspection Report 」のノードのタ
イプ定義39aによると、この文書クラスは、内容を持
たない「Report」ノードと「Front 」ノードと「Minist
er」ノードと「Vice-Minister 」ノードと、文字列型の
内容を持つ「Comment 」ノードと、内容を持たない「Bo
dy」ノードと「Bank」ノードと、文字列型の内容を持つ
「Paragraph 」ノードとを持っている。
【0085】また、図13は、文書クラス「Inspection
Report 」の定義情報のうち、定義されたノードの接続
関係を規定する構造制約を示す図である。文書クラス
「Inspection Report 」の構造制約39bによると、こ
の文書クラスは、「Report」ノードの下に、「Front 」
ノードと「Body」ノードとを一つずつ持つ。「Front 」
ノードは下位構造として、「Minister」ノードもしくは
「Vice-Minister 」ノードを持つ。「Minister」ノード
および「Vice-Minister 」ノードは、それぞれ子ノード
として「Comment 」ノードを持つ。また、「Body」ノー
ドは、一つ以上繰り返し出現する「Bank」ノードを持
ち、その「Bank」ノードは更に、一つ以上繰り返し出現
する「Paragraph 」ノードを持つ。
【0086】文書クラス「銀行検査報告」を以上のよう
に定義、記憶している文書構造変換装置20に、実際に
文書クラス「銀行検査報告」の文書データを入力した場
合、どのように解析されるのかを次に説明する。
【0087】ここで解析処理を行うのは文書構造変換装
置20内の文書パーサ21であり、文書クラス管理部2
2から、入力文書クラス「銀行検査報告」の定義情報が
供給されている。なお、この解析処理は図3に示した文
書構造変換処理の手順を示すフローチャートのステップ
S2にあたる。
【0088】図14は、「銀行検査報告」の文書データ
を定義情報に基づいて解析し、文書構造を抽出した結果
の例を示す図である。文書構造解析結果41において、
ノードは楕円で表わしてあり、楕円の中の文字列はその
ノードのタイプ名を表わす。また、ノードの内容はノー
ドの直下に矩形で表わしてあり、文字列型の内容を持つ
ノードには文字列が、幾何図形型の内容を持つノードに
は幾何図形が、そのノードの内容として付随している。
【0089】この例では、変換前の文書構造は「検査報
告1」ノードをルートとする木構造である。「前書き
1」ノードには「大臣所感1」ノードが接続されてい
る。このノードの内容は「住専処理にあたって発生する
損失を... 」である。また、「本文1」ノードには、
「段落1」ノードと、「段落2」ノードと、「段落3」
ノードと、「段落4」ノードと、「段落5」ノードとが
接続されている。
【0090】図示された「段落1」ノードの内容は「=
うめ銀行= 住専処理に伴う債権放棄額は... 」であ
り、「段落2」ノードの内容は「超低金利を背景にこの
九月決算の... 」である。更に、「段落3」ノードの内
容は「=日本短期信用金庫=債権放棄見込み額は三千三
百九十二億円で... 」であり、「段落4」ノードの内容
は「今年度中に処理しなければならない焦げ付きは...
」であり、「段落5」ノードの内容は「積立金等の自
己資本を取り崩さざるを得なく... 」であることが判
る。
【0091】次に、入力文書クラスが「銀行検査報
告」、出力文書クラスが「Inspection Report 」に対応
する変換規則を、具体的にあげてみる。図15は、入力
文書クラス名「銀行検査報告」、出力文書クラス名「In
spection Report 」に対応する変換規則の例を示す図で
ある。この変換規則32は, 入力文書クラス名「銀行検
査報告」および出力文書クラス名「Inspection Repor
t」とセットで変換規則管理部23で管理され、両文書
クラス名の入力に伴って中間構造作成部26へ供給され
る。なお、変換規則は上部に記述された規則要素から順
に処理される。
【0092】この変換規則32によれば、文書クラス
「銀行検査報告」の文書データを文書クラス「Inspecti
on Report 」の文書データに変換する場合、入力ノード
「検査報告」は無条件で、出力ノード「Report」に変換
される。
【0093】以下同様に、入力ノード「前書き」は無条
件で出力ノード「Front 」に、入力ノード「本文」は無
条件で出力ノード「Body」に変換される。また、入力ノ
ード「段落」のうち、内容として「=*銀行=」(*は
任意の文字列を意味する)を含むものは出力ノード
「{1}Paragraph 」に、入力ノード「段落」のうち、
出力ノード「{1}Paragraph 」に変換されなかったも
のは出力ノード「{E}Paragraph 」に変換される。更
に、入力ノード「大臣所感」は無条件で出力ノード
「(Minister)Comment 」に、入力ノード「次官所感」
は無条件で出力ノード「(Vice-Minister )Comment 」
に変換される。なお、この変換規則32に記載されてい
る「段落」を入力タイプ名として持つ二つの規則要素
は、逆の順番で配置されていた場合、意味をなさないこ
とに注意する。次に、図14に示した「銀行検査報告」
の文書構造を、図15に示した変換規則32に基づい
て、文書クラス「Inspection Report 」にほぼ従った中
間構造に変換した例を示す。
【0094】図16は、「銀行検査報告」の文書構造
を、文書クラス「Inspection Report」にほぼ従った文
書構造に変換した中間構造の例を示す図である。中間構
造42は、図14に示した「銀行検査報告」の文書構造
41のノードに対応するノードをすべて持っており、な
おかつ文書クラス「Inspection Report 」にほぼ従った
文書構造となっている。
【0095】しかし、中間構造42は、図13に示した
構造制約39bを完全には満たしていない。「Front 」
ノード以下の部分を見ても、「Minister」ノードも「Vi
ce-Minister 」ノードも「Comment 」ノードもなく、構
造制約39bには規定されていない「(Minister)Comm
ent 」ノードがあるのみである。これでは中間構造42
は、文書クラス「Inspection Report 」に従った文書構
造であるとは言えない。
【0096】次に、入力文書クラスが「銀行検査報
告」、出力文書クラスが「Inspection Report 」に対応
する補完指定を、具体的にあげてみる。図17は、入力
文書クラス名「銀行検査報告」、出力文書クラス名「In
spection Report 」の補完指定の例を示す図である。補
完指定33は入力文書クラス名「銀行検査報告」および
出力文書クラス名「Inspection Report 」とセットで補
完指定管理部24に記憶されており、両文書クラス名の
入力に伴って補完処理部27へ供給される。
【0097】この補完指定33によれば、文書クラス
「銀行検査報告」の文書構造を文書クラス「Inspection
Report 」の文書構造にほぼ従う中間構造に変換した
後、「Minister」ノードと、「Vice- Minister」ノード
と、「Bank」ノードとを補完する必要がある。
【0098】まず、図16に示した中間構造の例に補完
処理を施すことを考える。この中間構造42中の補完ル
ートタイプを調べると、「Front 」と「Body」とがあげ
られる。「Front 」ノードは、補完指定33において補
完指定されておらず、また出力文書クラス「Inspection
Report 」の構造制約39bから明らかなように、補完
指定のされているタイプ「Minister」および「Vice-Min
ister 」を子ノードに持っており、補完ルートタイプの
条件を満たす。また同様に、「Body 」ノードも補完指
定されていないタイプであり、補完指定されているタイ
プ「Bank 」を子ノードとして持つ。
【0099】図6に示したフローチャートに従って処理
を進めると、次は部分文書クラスの切り出しを行うこと
になる。図18、19はそれぞれ、補完ルートタイプ
「Front 」と、補完ルートタイプ「Body」とに属する部
分文書クラスを切り出した図である。
【0100】次に、図6に示したフローチャートのステ
ップS52にあたる、文脈付きタイプの展開を行う。図
18に示す部分文書クラス34cにおいて補完ルートタ
イプのノード「Front 」の下位に存在している「Minist
er」ノードと「Vice-Minister 」ノードは、変換規則3
2から判るように、中間構造では文脈付きタイプ「(Mi
nister)Comment 」と「(Vice-Minister )Comment 」
とに変換されている筈である。また、図19に示す部分
文書クラス34dにおいて補完ルートタイプ「Body」の
下位に存在している「Paragraph 」ノードは、中間構造
では文脈付きタイプ「{1}Paragraph 」もしくは
「{E}Paragraph 」ノードに変換されている筈であ
る。図20、21はそれぞれ、補完ルートタイプ「Fron
t 」と、補完ルートタイプ「Body」とに属する部分文書
クラスを展開した様子を示す図である。
【0101】補完ルートタイプのノード「Front 」は展
開によって、次のような下位構造を持つ。すなわち、子
ノードとして「Minister」ノードと「Vice-Minister 」
ノードとのいずれか一方を持つ。そして、子ノードとし
て「Minister」ノードを持っている場合には「(Minist
er)Comment 」ノードを、「Vice- Minister」ノードを
持っている場合には「(Vice-Minister )Comment 」ノ
ードを、孫ノードとして持つ。
【0102】また、補完ルートタイプのノード「Body」
は展開によって、次のような下位構造を持つ。すなわ
ち、子ノードとして1回以上くり返し出現する「Bank」
ノードを持ち、その「Bank」ノードの下位には「{1}
Paragraph 」ノードと、存在すれば「{E}Paragraph
」ノードの一つ以上の並びとを、順に持つ。
【0103】図22は、「銀行検査報告」の文書構造
を、「Inspection Report 」の文書構造に変換するため
の補完文法の例を示す図である。図において(A)は、
補完ルートタイプ「Front 」に関して作成された補完文
法を示す図であり、(B)は、補完ルートタイプ「Bod
y」に関して作成された補完文法を示す図である。
【0104】図6のステップS55に示すように、本実
施例の補完処理では、ここで作成した補完文法36c、
36dに従って補完ルートタイプのそれぞれに対する構
文解析器を作成する。それにはまず、作成した構文解析
器を、補完の対象となっている中間構造に適用し、構文
解析を行う。なお、この処理は図5に示したステップS
44にあたる。
【0105】ここでは、補完ルートタイプ「Front 」
と、補完ルートタイプ「Body」とに対して、構文解析を
行うとする。なお、ここで用いる構文解析器は、図22
(A)および(B)に示した補完文法36c、36dに
従って各々作成されたものである。
【0106】図23は補完ルートタイプ「Body」に対す
る構文解析木の例を示す図である。構造解析木37dは
図16における「Body1 」の子ノードの列に、図22
(B)に示した補完文法36dを適用して作成されたも
のである。この構造解析木37dには、構造制約子やε
が混在している。次に、ここまでの処理で得られた構文
解析木から、木構造を抽出する。この処理は図5のステ
ップS45にあたり、構文解析木から構造制約子やεを
消すことで実行される。
【0107】図24は指定された木構造の例を示す図で
ある。この木構造38dは、図23に示した構文解析木
37dから抽出されたものである。構文解析木37dに
存在していた構造制約子SEQ、REP、OPTRE
P、およびεを取り除くことによって、この木構造が得
られる。
【0108】次に、抽出された木構造に基づいて補完ル
ートタイプのノードをルートとするノードの木構造を作
成し、中間構造に挿入する。この処理は図5のステップ
S46にあたり、不足していたノードや部分木を補完す
ることになる。
【0109】図25は、不足ノードを補完された中間構
造を示す図である。この中間構造43は、図16に示し
た中間構造42のノード「Body1 」の位置に、木構造3
8dに基づいたノードの木構造を挿入したものである。
【0110】次に、文脈付きタイプのノードを、文脈の
ついていないタイプのノードに変換する。この処理は図
5に示したステップS47にあたり、補完処理の最後の
処理となる。図26は、文書クラス「Inspection Repor
t 」の構造制約を満たした文書構造の例を示す図であ
る。文書構造44は、図14に示した文書クラス「銀行
検査結果」の文書構造41を、文書クラス「Inspection
Report 」の文書構造に変換した結果である。
【0111】ここで得られた文書構造44は、文書構造
変換装置20内の文書ジェネレータ28によって文書デ
ータの形式に整えられ、文書データu/i11を介して
出力される。
【0112】このように、あらかじめ必要な文書クラス
の定義情報、変換規則および補完指定を文書構造変換装
置の各々の管理部に管理させておくことで、文書構造の
変換が可能となる。
【0113】次に、本発明の文書構造変換装置の第2の
実施の形態を説明する。ここまでの説明では、変換規則
および補完指定としてあらかじめ記憶されているものを
利用した例をあげたが、本発明では、この二つをユーザ
が入力することも可能である。
【0114】しかしこの場合、ユーザの作成した変換規
則および補完指定と、文書クラスの定義情報との間には
整合性が取れている必要がある。このため、第2の実施
の形態として、第1の実施の形態に更に変換情報の検査
を行う機能を付け加えた文書構造変換装置を提供する。
【0115】図27は、本発明の文書構造変換装置の第
2の実施の形態の構成を示すブロック図である。本実施
の形態の文書構造変換装置50は、変換の対象である文
書データの入出力を行う文書データu/i61と、変換
に必要な情報の入力を行う変換情報u/i62とを介し
てユーザとのデータの授受を行う。なお、本実施の形態
で言う変換情報とは、変換前の文書の構造を制約する第
1の文書クラス名(入力文書クラス名)と、変換後の文
書の構造を制約する第2の文書クラス名(出力文書クラ
ス名)と、文書の構造を変換する変換規則と、文書を補
完する補完指定とである。
【0116】ここで文書構造変換装置50は、文書パー
サ51と、文書クラス管理部52と、変換規則管理部5
3と、補完指定管理部54と、規則要素決定部55と、
中間構造作成部56と、補完処理部57と、文書ジェネ
レータ58と、変換情報検査部59とから構成されてい
る。
【0117】文書パーサ51は、第1の実施の形態の文
書パーサ21同様、受け付けた文書データを入力文書ク
ラスの定義情報に基づいて解析し、解析結果を規則要素
決定部55と、中間構造作成部56とへ、入力する。
【0118】文書クラス管理部52は、文書構造変換装
置50で取り扱い可能な文書クラスの定義情報をすべて
管理している。そして、変換情報検査部59からの入力
文書クラス名および出力文書クラス名の通知を受ける
と、それぞれの定義情報を変換情報検査部59に供給す
る。また、入力文書クラスの定義情報を文書パーサ51
に、出力文書クラスの定義情報を補完処理部57に、供
給する。
【0119】変換規則管理部53は、変換情報検査部5
9から入力された変換規則を、規則要素決定部55へ入
力する。補完指定管理部54は、変換情報検査部59か
ら入力された補完指定を、補完処理部57へ入力する。
【0120】規則要素決定部55は、第1の実施の形態
の規則要素決定部25同様、入力された変換規則をどの
ように利用するか決定し、中間構造作成部56へ入力す
る。中間構造作成部56は、第1の実施の形態の中間構
造作成部26同様、中間構造を作成し、作成した中間構
造を補完処理部57へ入力する。
【0121】補完処理部57は、第1の実施の形態の補
完処理部27同様、入力された中間構造に補完処理を施
し、出力文書クラスの構造制約に従った構造を完成させ
て、文書ジェネレータ58へ入力する。
【0122】文書ジェネレータ58は、入力された文書
構造を文書データの形式に整え、文書データu/i61
を介して変換された文書として提供する。変換情報検査
部59は、変換情報u/i62を介してユーザから入力
された変換情報に整合性が取れているか否か検査を行
う。すなわち、まず、入力文書クラス名および出力文書
クラス名を文書クラス管理部52に通知する。供給され
たそれぞれの定義情報に基づいて、ユーザが入力した変
換規則および補完指定の検査を行い、整合性が取れてい
ればその変換規則を変換規則管理部53に、その補完指
定を補完指定管理部54に、格納する。
【0123】このような文書構造変換装置を用いた文書
構造の変換の際、変換情報の検査を行う手順について、
次に説明を行う。図28は、変換情報の検査の手順を示
すフローチャートである。この検査は、変換情報検査部
59で行われる。以下、ステップに沿って説明を行う。 [S61]変換規則、補完指定がユーザから入力された
か否か判断する。どちらか一方だけでもユーザから入力
されていればステップS62へ進む。また、ユーザから
の入力がなく、記憶されている変換規則、補完指定を利
用する場合、この処理は終了する。 [S62]出力文書クラスの定義情報と補完指定とか
ら、補完ルートタイプを調べ、リストを作成する。この
処理は図5に示したステップS41の処理と同一のもの
である。 [S63]リストの最初の補完ルートタイプについて、
補完文法および構文解析器を作成し、処理の済んだ補完
ルートタイプをリストから削除する。この処理は、図5
に示したステップS42の処理と同一のものである。 [S64]ステップS63の処理が、エラー終了である
か否か判断する。エラー終了であれば競合が発生してい
ることを表示して、この検査を終了する。また、正常終
了であればステップS65へ、進む。 [S65]リストが空であるか否か判断する。空であれ
ば、ユーザの入力した変換情報に競合は発生していない
ということなので、この検査を終了する。また、空でな
ければ、再度ステップS63へ進む。
【0124】出力文書クラスの定義情報と補完指定とか
ら作成される補完文法がLR文法になっているか否かを
判断することは、ユーザには困難である。しかし、変換
情報検査部59で検査を行うことによって、LR文法に
なっているか否かを簡単に判断でき、不必要な記述を避
けることが可能である。
【0125】図29は、出力文書クラスの別の例の構造
制約を示す図である。ある入力文書データを構造71b
に変換するにあたって、「Important 」ノードと、「Ot
her」ノードとが不足しているとする。この場合、補完
指定には「Important 」ノードと、「Other 」ノードと
が記載される。
【0126】ここで変換規則に単純に個々のノードのタ
イプの対応関係を記載して変換情報の検査を行うと、競
合は起こらない。これはLR構文解析を利用しているた
めである。
【0127】つまり、LL構文解析を用いた場合には、
変換規則に「(「Important )Title 」ノードと、「(
Other)Title 」ノードとを分けて記載する必要があり、
ユーザの負担が大きくなる。
【0128】図30は、入力文書クラス名「銀行検査報
告」、出力文書クラス名「Inspection Report 」に対応
する変換規則の別の例を示す図である。この変換規則8
2によると、文書クラス「銀行検査報告」の文書データ
を文書クラス「Inspection Report 」の文書データに変
換する場合、入力ノード「検査報告」は無条件で、出力
ノード「Report」に変換される。
【0129】以下同様に、入力ノード「前書き」は無条
件で出力ノード「Front 」に、入力ノード「本文」は無
条件で出力ノード「Body」に変換される。また、入力ノ
ード「段落」は無条件で出力ノード「Paragraph 」に、
「大臣所感」は無条件で出力ノード「Comment 」に、入
力ノード「次官所感」は無条件で出力ノード「Comment
」に変換される。
【0130】ユーザが変換規則82を変換情報の一部と
して入力すると、変換情報検査部59がその検査を行
う。図31(A)は、このとき作成される補完ルートタ
イプ「Front 」に対する補完文法を示す図である。ま
た、図31(B)は、このとき作成される補完ルートタ
イプ「Body」に対する補完文法を示す図である。
【0131】ここで補完文法86cと補完文法86dと
に基づいて構文解析器の作成を行うと、競合が発見さ
れ、エラーメッセージを出力して処理を終了することに
なる。補完文法86cから見つかる競合は、還元−還元
競合である。つまり、規則「Minister→ Comment」によ
る還元と、規則「Vice-Minister → Comment」による還
元とが、競合している。そこで、この二つの規則を変換
情報u/i62を介してユーザに示し、競合を知らせ
る。この際、グラフィカルインタフェースを用いて、図
13に示した文書クラス「Inspection Report 」の構造
制約を示し、競合の起こった部分にあたるノード間の線
を強調するなどして表示してもよい。
【0132】また、補完文法86dから見つかる競合
は、シフト−還元競合である。つまり、ノード「Paragr
aph 」を読むときに、スタックにその記号を移動する
(シフトする)ことと、規則「Bank→REP2」による
還元とが、競合する。そこで、この規則を変換情報u/
i62を介してユーザに示し、競合を知らせる。この
際、グラフィカルインタフェースを用いてもよい。
【0133】なお、この実施の形態では文脈付きタイプ
としては3種類のタイプを利用できるとしたが、他の形
態の文脈付きタイプを設定、利用することもできる。例
えば、文脈付きタイプ{1}Tを利用する代わりに、次
のようなものが考えられる。
【0134】文脈付きタイプ{L}Tは、Tというタイ
プ名で連続して現れる兄弟ノードのうち、最後のノード
を示す。ただしタイプTは、文書クラスの構造制約にお
いて、構造制約子REPを直上に持つ。
【0135】文脈付きタイプ{L}Tを設定した場合、
図6に示すステップS52の文脈付きタイプの展開を行
う際、文脈付きタイプ{E}T、{L}Tが存在するタ
イプTについては、このタイプの上位の構造制約子RE
Pを、SEQ(OPTREP({E}T、{L}T)で
置き換えることになる。
【0136】このように、変換の対象である文書データ
の内容の特徴を捉えた変換規則を利用することで、希望
する文書構造を得ることが可能となる。
【0137】
【発明の効果】以上説明したように、本発明の文書構造
変換装置によって、第1の文書クラスに従った第1の文
書構造に対し、第2の文書クラスの構造制約と比較した
際に不足しているノードや部分木を補完する文脈自由文
法を自動的に作成、適用して、第2の文書クラスに従っ
た第2の文書構造に変換することができる。
【0138】また、変換規則として文脈付きノードを含
んだため、第1の文書クラスから第2の文書クラスへの
ノードの変換が複雑な場合でも、第1の文書構造中のノ
ードと第2の文書構造中のノードとの関係が直感的に理
解できる。
【0139】更に、ユーザが任意に変換規則および補完
指定を入力でき、競合が発生していれば、その内容をユ
ーザに知らせるので、正しい変換情報の作成が容易であ
る。また、その際の記述は最小限で済む。
【図面の簡単な説明】
【図1】本発明の文書構造変換装置の原理図である。
【図2】文書構造変換装置の第1の実施の形態の構成を
示すブロック図である。
【図3】文書構造変換の手順を示すフローチャートであ
る。
【図4】中間構造作成の手順を示したフローチャートで
ある。
【図5】補完処理の手順を示したフローチャートであ
る。
【図6】補完文法および構文解析器を作成する手順を示
したフローチャートである。
【図7】構文解析表を作成する基礎となる文法の例を示
す図である。
【図8】構文解析表の例を示す図である。
【図9】構文解析器の例を示す図である。
【図10】文書クラス「銀行検査報告」の定義情報のう
ち、ノードのタイプ定義を示す図である。
【図11】文書クラス「銀行検査報告」の定義情報のう
ち、定義されたノードの接続関係を規定する構造制約を
示す図である。
【図12】文書クラス「Inspection Report 」の定義情
報のうち、ノードのタイプ定義を示す図である。
【図13】文書クラス「Inspection Report 」の定義情
報のうち、定義されたノードの接続関係を規定する構造
制約を示す図である。
【図14】「銀行検査報告」の文書データを定義情報に
基づいて解析し、文書構造を抽出した結果の例を示す図
である。
【図15】入力文書クラス名「銀行検査報告」、出力文
書クラス名「Inspection Report」に対応する変換規則
の例を示す図である。
【図16】「銀行検査報告」の文書構造を、文書クラス
「Inspection Report 」にほぼ従った文書構造に変換し
た中間構造の例を示す図である。
【図17】入力文書クラス名「銀行検査報告」、出力文
書クラス名「Inspection Report」の補完指定を示す図
である。
【図18】補完ルートタイプ「Front 」に属する部分文
書クラスを示す図である。
【図19】補完ルートタイプ「Body」に属する部分文書
クラスを示す図である。
【図20】補完ルートタイプ「Front 」に属する部分文
書クラスを展開した様子を示す図である。
【図21】補完ルートタイプ「Body」に属する部分文書
クラスを展開した様子を示す図である。
【図22】「銀行検査報告」の文書構造を、「Inspecti
on Report 」の文書構造に変換するための補完文法の例
を示す図である。図において(A)は、補完ルートタイ
プ「Front 」に関して作成された補完文法を示す図であ
り、(B)は、補完ルートタイプ「Body」に関して作成
された補完文法を示す図である。
【図23】補完ルートタイプ「Body」に対する構文解析
木の例を示す図である。
【図24】補完ルートタイプ「Body」に対する木構造の
例を示す図である。
【図25】不足ノードを補完された中間構造を示す図で
ある。
【図26】文書クラス「Inspection Report 」の構造制
約を満たした文書構造の例を示す図である。
【図27】文書構造変換装置の第2の実施の形態の構成
を示すブロック図である。
【図28】変換情報の検査の手順を示すフローチャート
である。
【図29】出力文書クラスの別の例の構造制約を示す図
である。
【図30】入力文書クラス名「銀行検査報告」、出力文
書クラス名「Inspection Report」に対応する変換規則
の別の例を示す図である。
【図31】(A)は、補完ルートタイプ「Front 」に対
する補完文法を示す図である。また、(B)は、補完ル
ートタイプ「Body」に対する補完文法を示す図である。
【符号の説明】
1 第1の文書構造 2 第2の文書構造 3 中間構造 4 変換規則記憶手段 5 文書クラス管理手段 6 中間構造作成手段 7 補完指定記憶手段 8 補完手段

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 あらかじめ定義された複数の文書クラス
    に基づき、第1の文書クラスに従った第1の文書構造を
    第2の文書クラスに従った第2の文書構造に変換する文
    書構造変換装置において、 前記第1の文書クラスの定義に含まれているノードタイ
    プが、前記第2の文書クラスの定義に含まれているどの
    ノードタイプに変換されるのかを規定した変換規則を記
    憶する変換規則記憶手段と、 前記第2の文書クラスの定義に含まれているノードタイ
    プの中で、補完が必要なノードタイプを示す補完指定を
    記憶する補完指定記憶手段と、 前記第1の文書構造を前記変換規則に従って変換し、中
    間構造を作成する中間構造作成手段と、 前記第2の文書クラスの定義と前記補完指定とに基づい
    て、補完が必要なノードを所定の位置に追加するための
    文脈自由文法を作成し、前記文脈自由文法に基づき前記
    中間構造の構文解析を行い、前記中間構造に不足してい
    るノードを補った前記第2の文書構造を生成する補完手
    段と、 を有することを特徴とする文書構造変換装置。
  2. 【請求項2】 前記変換規則記憶手段は、前記第2の文
    書クラスの定義に含まれるノードタイプに対し、他のノ
    ードとの関係を示す文脈情報を付加した新たなノードタ
    イプを一つ以上設け、前記第1の文書クラスの定義に含
    まれているノードタイプが、前記新たなノードタイプに
    変換される旨の規定をも含む、 ことを特徴とする請求項1記載の文書構造変換装置。
  3. 【請求項3】 前記変換規則および前記補完指定を入力
    する変換情報入力手段と、 前記文脈自由文法に発生する競合を調べる変換情報検査
    手段と、 前記競合の内容を表示する表示手段と、 を更に有することを特徴とする請求項1記載の文書構造
    変換装置。
  4. 【請求項4】 構造化文書の文書構造を変換する文書構
    造変換方法において、 第1の文書クラスの定義に含まれるノードタイプを第2
    の文書クラスの定義に含まれるどのノードタイプへ変換
    するのかが規定された変換規則に従って、前記第1の文
    書クラスに従った第1の文書構造を変換することによ
    り、中間構造を作成し、 前記第2の文書クラスの定義と、前記第2の文書クラス
    の定義に含まれているノードタイプの中で補完が必要な
    ノードタイプが指定された補完指定と、に基づいて補完
    が必要なノードを所定の位置に追加するための文脈自由
    文法を作成し、 前記文脈自由文法に基づいて前記中間構造を解析し、ノ
    ードの不足が確認された場合に必要なノードを補って、
    第2の文書構造を作成する、 ことを特徴とする文書構造変換方法。
JP8173923A 1996-07-03 1996-07-03 文書構造変換装置および文書構造変換方法 Pending JPH1021227A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8173923A JPH1021227A (ja) 1996-07-03 1996-07-03 文書構造変換装置および文書構造変換方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8173923A JPH1021227A (ja) 1996-07-03 1996-07-03 文書構造変換装置および文書構造変換方法

Publications (1)

Publication Number Publication Date
JPH1021227A true JPH1021227A (ja) 1998-01-23

Family

ID=15969589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8173923A Pending JPH1021227A (ja) 1996-07-03 1996-07-03 文書構造変換装置および文書構造変換方法

Country Status (1)

Country Link
JP (1) JPH1021227A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277660A (ja) * 2005-03-30 2006-10-12 Fujitsu Ltd 変換規則作成プログラム及び変換規則評価プログラム
KR100733054B1 (ko) 2005-07-27 2007-06-27 주식회사 유텍 구조화 문서의 동기화를 이용한 문서변환 시스템 및문서변환 방법
JP2010170287A (ja) * 2009-01-22 2010-08-05 Hitachi Ltd データ抽出システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277660A (ja) * 2005-03-30 2006-10-12 Fujitsu Ltd 変換規則作成プログラム及び変換規則評価プログラム
KR100733054B1 (ko) 2005-07-27 2007-06-27 주식회사 유텍 구조화 문서의 동기화를 이용한 문서변환 시스템 및문서변환 방법
JP2010170287A (ja) * 2009-01-22 2010-08-05 Hitachi Ltd データ抽出システム

Similar Documents

Publication Publication Date Title
US7197510B2 (en) Method, system and program for generating structure pattern candidates
Lämmel et al. Semi‐automatic grammar recovery
US7069501B2 (en) Structured document processing system and structured document processing method
US7210096B2 (en) Methods and apparatus for constructing semantic models for document authoring
EP1818835A1 (en) Document processing device, and document processing method
EP1835434A1 (en) Data processing device and data processing method
Collard et al. Supporting document and data views of source code
EP1901179A1 (en) Document processing device, and document processing method
EP1818836A1 (en) Data processing device and data processing method
US7143103B1 (en) Method and apparatus for monitoring and maintaining the consistency of distributed documents
US20090132906A1 (en) Document processing device and document processing method
EP1821176A1 (en) Data processing device and data processing method
US20090021767A1 (en) Document processing device
CN111913739B (zh) 一种服务接口原语定义方法和系统
US20070258100A1 (en) Document Processing Device and Document Processing Method
EP1821219A1 (en) Document processing device and document processing method
US5926823A (en) Document generic logical information editing apparatus
JP2009205190A (ja) ソフトウェア自動構成装置
US20100169333A1 (en) Document processor
EP1811399A1 (en) Data processing device and data processing method
US20070028164A1 (en) Computer readable storage medium and document processing method
EP1830274A1 (en) Server device and name space issuing method
US20090235156A1 (en) Document processing device and document processing method
US20080208790A1 (en) Document Processing Device, and Document Processing Method
US20080250311A1 (en) Document Processing Device, and Document Processing Method