JP3843574B2 - 文書変換規則生成装置、文書変換規則生成方法及び文書変換規則生成プログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents
文書変換規則生成装置、文書変換規則生成方法及び文書変換規則生成プログラムを記録したコンピュータ読み取り可能な記録媒体 Download PDFInfo
- Publication number
- JP3843574B2 JP3843574B2 JP01270298A JP1270298A JP3843574B2 JP 3843574 B2 JP3843574 B2 JP 3843574B2 JP 01270298 A JP01270298 A JP 01270298A JP 1270298 A JP1270298 A JP 1270298A JP 3843574 B2 JP3843574 B2 JP 3843574B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- conversion
- type
- document type
- rule
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は文書変換規則生成装置、文書変換規則生成方法及び文書変換規則生成プログラムを記録したコンピュータ読み取り可能な記録媒体に関し、特にある文書型に沿って作成された構造化文書を、別の文書型に沿った文書に変換するための変換規則を生成する文書変換規則生成装置、文書変換規則生成方法及びそのような処理をコンピュータに行わせるための文書変換規則生成プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】
構造化文書とは、文書の章や段落などの論理的な構成要素に対応して、文書データを木構造に階層化した論理構造を持つ文書である。構造化文書としては、例えばSGML(Standard Generalized Markup Language; IS08879) がある。このSGMLは、構造化文書に関する国際規格である。
【0003】
図29は、構造化文書の表現の一例を示す図である。図29のように、構造化文書は、文書の論理的な構成要素に対応して、木構造で表現できる。四角で囲んだ枠がそれぞれ文書の構成要素を示しており、木構造の葉の部分には、その構成要素が含むテキストがある。
【0004】
一般に、構造化文書は、その文書中に出現可能な構成要素の種類、各構成要素の出現順序、構成要素間の包含関係などを規定する規則に従って作成される。この規則を文書型と呼ぶ。
【0005】
図30は、図29で示した構造化文書の文書型を示す図である。図中、四角の枠で囲ったものは、文書型に含まれる要素型を表し、要素間を結ぶ枝には、下位の要素の文書における出現形態を規定する構造生成子が記述されている。生成規則の意味は、次の通りである。
「SEQ」:下位の要素が左から右の順で出現する。
「REP」:下位の要素が1回以上繰り返し出現する。
「CHO」:下位の要素のいずれか1つが出現する。
「OPT」:下位の要素が出現してもしなくてもよい。
「OPTREP」:下位の要素が0回以上繰り返し出現する。
【0006】
例えば図30において、最上位の要素型(ルート要素型)は「報告書」である。「報告書」は、その下位に、「前付け」「本体」「後付け」という要素型を持つ。「報告書」の下位の要素型に対する構造生成子「SEQ 」によって、「報告書」の下位の各要素は文書中にこの順番で出現しなければならないことが規定される。
【0007】
「前付け」の下位の要素型である「日付」には、構造生成子「OPT 」が指定されており、「日付」は出現してもしなくてもよいことを示している。「本体」の下位の要素型は「章」であり、構造生成子「REP 」によって、文書中で「章」が「本体」の下位に1回以上繰り返し出現してよいと言うことを規定している。「章内容」の下位の要素型は「段落」と「節」である。ただし、構造生成子「CHO 」は、下位の構成要素のうちいずれか1つだけが文書中に現われてよいということを規定している。すなわち、文書中で、「章内容」の下位には、「段落」の1回以上の繰り返しか、または、「節」の1回以上の繰り返しか、どちらか一方しか出現できない。
【0008】
図30に示した文書型の定義をSGMLで表現すると次のようになる。
図31は、文書型のSGMLによる表現形式を示す図である。図30に示した構造生成子とSGMLにおける構造生成子の対応は、以下の通りである。
「!ELEMENT」:続く文字列が要素型の定義であることを示す。
「#PCDATA」:要素の内容が文字列であることを示す。
「,」:要素が記述された順に出現する。(SEQ)
「|」:要素のいずれか1つが出現する。(CHO)
「*」:要素が0回以上繰り返し出現する。(OPTREP)
「+」:要素が1回以上繰り返し出現する。(OPT)
「?」:要素が高々1回出現する。(OPT)
ここで、各要素型の構造を規定するための要素型と構造生成子の組を、その要素型の内容モデルと呼ぶ。すなわち、「報告書」という要素型の内容モデルは、SGMLの表現を借りれば、図31に示すように「(前付け,本体,後付け)」で表現され、「前付け」という要素型の内容モデルは、「(表題,著者,日付?,概要)」で表現される。
【0009】
さて、構造化文書の処理においては、ある文書型に従う文書を、別の文書型に従う文書に変換する処理が非常に重要である。
例えば、今まで利用していた文書型が、業務の進展に伴って、必要な構造を定義できていないとわかったとき、その文書型を改訂して新たな文書型を作成する。このとき、以前の文書型に沿って作成していた文書群を、改訂後の文書型の文書に変換する必要が生じる。
【0010】
また、文書の交換性を高めるために、SGML文書に関して、各業界で標準の文書型を定めている場合が多く、そのような標準の文書型の文書が必要になる場合がある。ところが、業界標準の文書型は多くの場合、様々な企業や団体からの要求を満たす必要があるため、1つの文書型に多くの要素を詰め込んで定義する傾向がある。したがって、利用者ごとに必要な要素とそうでない要素が混在しており、個別の業務に関する文書の作成には不便である。また、業界標準の文書型をそのまま利用して文書を作成しようとしたとき、文書作成者の所属する組織に特有の情報を、業界標準の文書型では表現できない場合がある。これらの理由から、各利用者が文書作成の環境に適した文書型を独自に定義する場合がほとんどであり、そのような独自の文書型の文書を業界標準の文書型の文書に変換する必要が生じる。
【0011】
そこで、上記のように構造化文書の変換を行う際には、個々の文書ごとに変換のためのプログラムを作成するのではなく、変換前の文書が従っている文書型と、変換後の文書が従うべき文書型との間で、要素型間の対応に基づく変換規則を作成することが広く行われている。文書型どうしの間で変換規則を作成し、この変換規則に基づいて変換処理を行うことによって、ある文書型に従う大量の文書群を、別の文書型に従う文書へと一括して変換することが可能になる。
【0012】
前述のように、文書型の改訂に伴って文書変換を行う場合、および、業界標準の文書型と各利用者が定義した文書型の間で文書変換を行う場合は、変換の際に要素の出現順序が変更されることは望ましくない。また、変換元の文書に存在した文字内容が、変換後の文書から失われることがあってはいけない。
【0013】
しかしながら、従来の文書変換規則の作成方法では、上述の要求を満たすには、要素の出現順序を考慮して注意深く変換規則を記述する必要があり作業が煩雑化するという問題があった。また、従来の文書変換規則の作成方法では、作成された変換規則に沿って文書変換が実行されたとき、変換元の文書の文字内容が変換後の文書に全て反映されることを保証できないという問題があった。
【0014】
これに対し、特開平8−171565号公報に記載の「文書構造変換装置」では、変換元の文書構造の要素を変換先の文書構造の要素に置き換えるための変換規則が示された変換テーブルを予め用意しておく。そして、その変換テーブルの規則に沿って、入力された文書の各要素を変換することで、入力された文書の文字内容が変換後の文書に全て反映されることを保証している。さらに、変換処理の際には、要素の出現順に沿って変換対象となる要素を選択することで、変換元の要素の出現順を保ったまま文書構造を変換している。そのため、要素の出現順序について考慮せずに文書構造の変換規則を記述しても、要素の出現順序の変わらない文書構造の変換ができることになる。
【0015】
【発明が解決しようとする課題】
しかし、特開平8−171565号公報に記載の文書構造変換装置では、変換規則を人手により作成する必要がある。文書型どうしの間で変換規則を作成するためには、変換元の文書型と変換先の文書型の両方について、文書型に含まれる要素型とその意味を把握し、2つの文書型の間で意味的に同じとみなせる要素型を探してその対応を記述しなければならない。この作業は、規則の記述者にとっては相変わらず大きな負担となっている。
【0016】
本発明はこのような点に鑑みてなされたものであり、2つの文書型が与えられたときに、文書型どうしの間で規定しうる変換規則の自動生成が可能な文書型変換装置及び文書変換規則生成方法を提供することを目的とする。
【0017】
また、本発明の他の目的は、2つの文書型が与えられたときに、文書型どうしの間で規定しうる変換規則の自動生成をコンピュータに行わせるための文書型変換プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することである。
【0018】
【課題を解決するための手段】
本発明では上記課題を解決するために、文書の論理的な構成要素に対応して文書データを木構造に階層化した論理構造を持つ文書である構造化文書の、該構造化文書中に出現可能な構成要素の種類を示す要素型と要素型の各々について該要素型および該要素型の構成要素の下位の構成要素の前記構造化文書における出現形態を規定する構造生成子の組みである該要素型の内容モデルとを含む、文書型について、変換元の前記文書型である変換元文書型を保持する変換元文書型保持手段と、変換先の前記文書型である変換先文書型を保持する変換先文書型保持手段と、前記要素型と前記構造生成子とから生成し得る複数の構造パターンの2つ組である複数の構造パターン対応条件それぞれに対応付けて、構造パターン対応条件を別の構造パターン対応条件の論理式へ展開するための展開規則、もしくは構造パターン対応条件に対する真偽値のいずれか一方を保持する展開規則保持手段と、前記変換元文書型保持手段に保持されている変換元文書型から、前記要素型および前記内容モデルの情報を取り出す変換元文書型アクセス手段と、前記変換先文書型保持手段に保持されている変換先文書型から、前記要素型および前記内容モデルの情報を取り出す変換先文書型アクセス手段と、前記変換元文書型アクセス手段が取り出した前記要素型もしくは内容モデルと、前記変換先文書型アクセス手段が取り出した前記要素型もしくは内容モデルとから生成される構造パターン対応条件を、前記展開規則保持手段内の対応する展開規則に従って展開すると共に、前記展開規則保持手段内の真偽値に基づいて各構造パターン対応条件に真偽値を設定し、真偽値が真である構造パターン対応条件により作成可能な変換規則を生成する展開規則処理手段と、を有することを特徴とする文書変換規則生成装置が提供される。
【0019】
このような文書型変換規則生成装置によれば、変換元文書型と変換先文書型との要素型及び内容モデルが変換元文書型アクセス手段と変換先文書型アクセス手段により取り出され、構造パターン対応条件が得られる。すると、展開規則処理手段により、構造パターン対応条件が、展開規則保持手段に保持されている展開規則により展開されるとともに、真偽値が設定される。そして、真偽値が真である構造パターン対応条件により作成可能な変換規則が生成される。
【0020】
また、上記課題を解決するために、文書の論理的な構成要素に対応して文書データを木構造に階層化した論理構造を持つ文書である構造化文書の、該構造化文書中に出現可能な構成要素の種類を示す要素型と要素型の各々について該要素型および該要素型の構成要素の下位の構成要素の前記構造化文書における出現形態を規定する構造生成子の組みである該要素型の内容モデルとを含む、文書型について、変換元の前記文書型である変換元文書型を保持する変換元文書型保持手段、変換先の前記文書型である変換先文書型を保持する変換先文書型保持手段、前記要素型と前記構造生成子とから生成し得る複数の構造パターンの2つ組である複数の構造パターン対応条件それぞれに対応付けて、構造パターン対応条件を別の構造パターン対応条件の論理式へ展開するための展開規則、もしくは構造パターン対応条件に対する真偽値のいずれか一方を保持する展開規則保持手段、前記変換元文書型保持手段に保持されている変換元文書型から、前記要素型および前記内容モデルの情報を取り出す変換元文書型アクセス手段、前記変換先文書型保持手段に保持されている変換先文書型から、前記要素型および前記内容モデルの情報を取り出す変換先文書型アクセス手段、前記変換元文書型アクセス手段が取り出した前記要素型もしくは内容モデルと、前記変換先文書型アクセス手段が取り出した前記要素型もしくは内容モデルとから生成される構造パターン対応条件を、前記展開規則保持手段内の対応する展開規則に従って展開すると共に、前記展開規則保持手段内の真偽値に基づいて各構造パターン対応条件に真偽値を設定し、真偽値が真である構造パターン対応条件により作成可能な変換規則を生成する展開規則処理手段、としてコンピュータを機能させることを特徴とする文書変換規則生成プログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
【0021】
この記録媒体に記録された文書変換規則生成プログラムをコンピュータで実行すれば、上記本発明の文書変換規則生成装置をコンピュータによって実現することができる。
【0022】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の第1の実施の形態における原理構成を示す図である。本発明に基づく文書変換規則生成装置の第1の実施の形態は、入力手段1、変換元文書型保持手段2、変換先文書型保持手段3、変換元文書型アクセス手段4、変換先文書型アクセス手段5、展開規則保持手段6、展開規則処理手段7、変換規則候補保持手段8、変換規則順位付け手段9、及び出力手段10から構成されている。
【0023】
入力手段1は、変換の対象となる2つの文書型を入力するための機能を有している。ユーザは、この入力手段1を用いて、任意の文書型を入力できる。
変換元文書型保持手段2は、変換元の文書型が含む要素型とその内容モデルの定義を保持する。
【0024】
変換先文書型保持手段3は、変換先の文書型が含む要素型とその内容モデルの定義を保持する。
変換元文書型アクセス手段4は、変換元文書型保持手段2に保持される要素型とその内容モデルの定義から、必要な要素型もしくはその内容モデルを取り出し、展開規則処理手段7に提供する。
【0025】
変換先文書型アクセス手段5は、変換先文書型保持手段3に保持される要素型とその内容モデルの定義から、必要な要素型もしくはその内容モデルを取り出し、展開規則処理手段7に提供する。
【0026】
展開規則保持手段6は、要素型と構造生成子から生成される構造パターンの2つ組(これを構造パターン対応条件と呼ぶ)に対して、展開の方法を記述した展開規則もしくは真偽値を保持する。なお、構造パターンと展開規則との詳細は後述する。
【0027】
展開規則処理手段7は、変換元文書型アクセス手段4から、変換元文書型の要素型もしくは内容モデルを受け取り、変換先文書型アクセス手段5から、変換先文書型の要素型もしくは内容モデルを受け取り、構造パターン対応条件を生成する。構造パターン対応条件を生成したら、生成された構造パターン対応条件に合致する展開規則を展開規則保持手段6から取り出し、取り出された展開規則に従って処理を実行し、変換規則の候補を生成する。
【0028】
変換規則候補保持手段8は、展開規則処理手段7において生成された複数の変換規則の候補を保持する。
変換規則順位付け手段9は、変換規則候補保持手段8に保持された複数の変換規則の候補に対して、与えられた基準に従って変換規則に順位付けを行う。
【0029】
出力手段10は、変換規則順位付け手段9にて順位付けされた変換規則の候補を、順位の高いものからオンラインの画面上に表示するか、もしくは、ファイルとして出力する。
【0030】
ここで、構造パターンについて説明する。構造パターンとは、要素型と構造生成子から生成しうるパターンを表したものである。
図2は、構造パターンの例を示す図である。この実施の形態では、図2に示すように7種類の構造パターンが用いられている。
【0031】
構造パターン「T」は、終端要素型を示す。構造パターン「N」は、中間要素型を示す。構造パターン「X?」は、構造パターンXがあってもなくてもよいことを示す。構造パターン「X+」は、構造パターンXが1回以上繰り返すこと示す。構造パターン「X*」は、構造パターンXの0回以上の繰り返しを示す。構造パターン(X1,... Xn)は、n個の構造パターンX1,... Xnがこの順序で出現することを示す。構造パターン(X1|... |Xn)は、n個の構造パターンX1,... Xnのどれか1つだけが出現することを示す。
【0032】
ここで、終端要素型とは、要素型の内容として要素型を含まないものを表す。中間要素型とは、要素型の内容として要素型を含むものを表す。例えば、「段落」という要素型の内容として文字列しか許されない場合は、「段落」は終端要素型である。また、「章」という要素型が内容として「節」「見出し」などの要素型を含むとすると、「章」は中間要素型である。なお、図2では、構造生成子はSGMLに沿った表現を用いている。
【0033】
任意の文書型の、要素型およびその内容モデルは、図2に示した7種類の構造パターンのいずれかに一致する。
構造パターン対応条件は、2つの構造パターンが対応しうるかどうかを表現するもので、構造パターンXとYの対応条件を、[X,Y]で表現する。
【0034】
展開規則は、ひとつの構造パターン対応条件が与えられたときに、これを別の構造パターン対応条件もしくは構造パターン対応条件の論理式に展開するか、真偽値を与えるかを決定する規則を記述したものである。
【0035】
図3は、展開規則保持手段6に保持される展開規則の例を示す図である。図3において、各行は構造パターン対応条件の第1項を、各列は構造パターン対応条件の第2項を表す。ある構造パターン対応条件が与えられたとき、その第1項が当てはまる行、第2項が当てはまる列の内容が、その構造パターン対応条件の展開先となる。以後の説明では、例えば第2行目の第C列の内容を「(2,C)の内容」などと表記する。図3において、「#N」は、中間要素型Nの内容モデルを表す。内容モデルは、図3に示した構造パターンのいずれかに一致するので、「#N」も構造パターンの別の表現とみなしてよい。なお、図3の中の「∧」は論理積を示し、「∨」は論理和を示している。
【0036】
構造パターン対応条件の展開先としては、論理式の場合と真偽値の場合とがある。図3の例では、(1,A)の内容が真偽値の「TRUE」である。また、(5,A)、(6,A)、(7,A)、の内容が真偽値の「FALSE」である。
【0037】
なお、図3において、(7,F)の内容は、構造パターン対応条件の第1項(X1,... ,Xn)における要素数n、および第2項(Y1,... ,Ym)における要素数mに依存して展開先の条件が変化する。このときの展開先の計算方法を、以下に説明する。
【0038】
図4は、展開先を計算するためのアルゴリズムを説明するフローチャートである。なお、この処理を実行するのは、展開規則処理手段7である。
ここで、例えば、構造パターン対応条件が[(X1,X2),(Y1,Y2,Y3)]の場合(図3でn=2、m=3の場合)に、条件がどのように展開されるか、図4に示したフローチャートに沿って説明する。
【0039】
まず、nとmのうち小さい方を変数zに設定する(ステップS101)。n=2、m=3の場合、z =2である。次に、変数iに1をセットする(ステップS102)。(X1,..,Xn)をi個に分割し、それぞれをX(1),... ,X(i)とする。この例では、i=1およびn=2より、X(1)=(X1,X2)がセットされる(ステップS103)。(Y1,... ,Ym)からi個の要素を選択し、それぞれをY(1),..,Y(i)とする。この例では、i=1より、(Y1,Y2,Y3)から1個選択して、まずY(1)=Y1がセットされる(ステップS104)。変数jに1をセットする(ステップS105)。構造パターン対応条件[X(j),Y(j)]を生成する。この例では、構造パターン対応条件[X(1),Y(1)]すなわち[(X1,X2),Y1]が生成される(ステップS106)。j=iかどうかを判断し、正しければステップS111へ、そうでなければステップS108へ進む(ステップS107)。ここでは、j=i=1なので、ステップS111へ進む。(Y1,... ,Ym)からi個選択する組み合わせが他にあるかどうかを判断する(S111)。ここでは、(Y1,Y2,Y3)から別の1個を選択し、Y(1)=Y2をセットする(ステップS112)。変数jに1をセットし(ステップS105)、構造パターン対応条件[X(1),Y(1)]すなわち[(X1,X2),Y2]が生成される(ステップS106)。同様に、Y(1)=Y3をセットし、構造パターン対応条件[(X1,X2),Y3]が生成される。
【0040】
(Y1,Y2,Y3)から1個選択する組合せは他にないので、ステップS113で条件の論理和を計算し、[(X1,X2),Y1]∨[(X1,X2),Y2]∨[(X1,X2),Y3]を得る(ステップS113)。(X1,X2)を1個に分割する方法は他にないので(ステップS114)、条件の論理和を計算する(ステップS115)。この時点では、他に論理和を計算する対象がないので、ステップS116に進み、i=2をセットする(ステップS117)。i=2、z=2なので、i>zではない(ステップS118)。そこでステップS103に戻る。
【0041】
i=2およびn=2より、X(1)=X1、X(2)=X2がセットされる(ステップS103)。i=2より、(Y1,Y2,Y3)から2個選択して、まずY(1)=Y1、Y(2)=Y2がセットされる(ステップS104)。変数jに1をセットする(ステップS105)。構造パターン対応条件[X(1),Y(1)]すなわち[X1,Y1]が生成される(ステップS106)。ステップS107で、j≠iなので、ステップS108へ進む。変数jに2をセットし(ステップS109)、構造パターン対応条件[X(2),Y(2)]すなわち[X2,Y2]が生成される(ステップS109)。条件の論理積を計算し、[X1,Y1]∧[X2,Y2]を得る(ステップS110)。j=i=2なので、ステップS111へ進む。
【0042】
(Y1,Y2,Y3)から別の2個を選択し、Y(1)=Y1、Y(2)=Y3をセットする(ステップS112)。変数jに1をセットし(ステップS105)、構造パターン対応条件[X(1),Y(1)]すなわち[X1,Y1]が生成される(ステップS106)。ステップS107で、j≠iなので、ステップS108へ進む。変数jに2をセットし(ステップS109)、構造パターン対応条件[X(2),Y(2)]すなわち[X2,Y3]が生成される(ステップS109)。条件の論理積を計算し、[X1,Y1]∧[X2,Y3]を得る(ステップS110)。j=i=2なので、ステップS111へ進む。
【0043】
(Y1,Y2,Y3)から別の2個を選択し、Y(1)=Y2、Y(2)=Y3をセットする(ステップS112)。変数jに1をセットし(ステップS105)、構造パターン対応条件[X(1),Y(1)]すなわち[X1,Y2]が生成される(ステップS106)。ステップS107で、j≠iなので、ステップS108へ進む。変数jに2をセットし(ステップS109)、構造パターン対応条件[X(2),Y(2)]すなわち[X2,Y3]が生成される(ステップS109)。条件の論理積を計算し、[X1,Y2]∧[X2,Y3]を得る(ステップS110)。j=i=2なので、ステップS111へ進む。
【0044】
(Y1,Y2,Y3)から2個を選択する組合せは他にないので、ステップS113で条件の論理和を計算し、([X1,Y1]∧[X2,Y2])∨([X1,Y1∧[X2,Y3])∨([X1,Y2]∧[X2,Y3])を得る(ステップS113)。(X1,X2)を2個に分割する方法は他にないので(ステップS114)、条件の論理和を計算し(ステップS115)し、[(X1,X2),Y1]∨[(X1,X2),Y2]∨[(X1,X2),Y3]∨([X1,Y1]∧[X2,Y2])∨([X1,Y1]∧[X2,Y3])∨([X1,Y2]∧[X2,Y3])を得る。変数iに3をセットする(ステップS117)。i=3、z=2なので、i>zであり(ステップS118)、処理を終了する。最終的に、展開先として、[(X1,X2),Y1]∨[(X1,X2),Y2]∨[(X1,X2),Y3]∨([X1,Y1]∧[X2,Y2])∨([X1,Y1]∧[X2,Y3])∨([X1,Y2]∧[X2,Y3])を得る。
【0045】
次に、本発明に基づく文書変換規則生成装置の第1の実施の形態における変換規則の生成の処理の手順を、具体的な例に沿って説明する。
図5は、変換元文書型の例を示す図である。図6は、変換先文書型の例を示す図である。これらは、それぞれ変換元の文書型の要素型とその内容モデルの定義、変換先の文書型の要素型とその内容モデルの定義を示している。
【0046】
図5および図6では、文書型はともにSGMLに沿った表現で示してある。
以下、本発明の第1の実施の形態では図5に示した文書型の文書を、図6に示した文書型の文書に変換するための変換規則を生成するものとする。また、展開規則保持手段6には、図3に示す展開規則が保持されているものとする。
【0047】
図7は、本発明の第1の実施の形態における変換規則の生成手順の流れを示すフローチャートである。
まず、ユーザから、入力手段1により図5に示した文書型(ここでは「文書型A」と呼ぶ)が変換元文書型として入力され、変換元文書型保持手段2に保持される(図7のステップS21)。次に、ユーザから、入力手段1により、図6に示した文書型(ここでは文書型Dと呼ぶ)が変換先文書型として入力される。入力された文書型は、変換先文書型保持手段3に保持される(ステップS22)。
【0048】
次に、変換元文書型アクセス手段4により、変換元文書型のルートの要素型として「A」が取り出される。(ステップS23)。また、変換先文書型アクセス手段5により、変換先文書型のルートの要素型として「D」が取り出される(ステップS24)。
【0049】
展開規則処理手段7は、ステップS23において変換元文書型アクセス手段4が取り出したルート要素型「A」、およびステップS24において変換先文書型アクセス手段5が取り出したルート要素型「D」から、初期の構造パターン対応条件[A,D]を生成する。さらに、展開規則保持手段6に保持された展開規則から、生成された構造パターン対応条件に合致する展開規則を取り出し、構造パターン対応条件の論理木を生成する(ステップS25)。この処理の詳細については後述する。
【0050】
次に、展開規則処理手段7は、ステップS25で生成された構造パターン対応条件の論理木から、1つ以上の変換規則の候補を生成し、変換規則候補保持手段8に保持する(ステップS26)。この処理の詳細については後述する。
【0051】
変換規則順位付け手段9は、ステップS26で展開規則処理手段7によって生成され、変換規則候補保持手段8に保持された1つ以上の変換規則の候補を、与えられた基準に従って順位付ける(ステップS27)。どのような基準に従って順位付けを行うかは後述する。
【0052】
最後に、出力手段10は、ステップS27で順位付けられた1つ以上の変換規則の候補を、順位の高い順にオンラインの画面上に表示するか、もしくはファイルに出力する(ステップS28)。
【0053】
次に、図7のフローチャートのステップS25にあたる構造パターン対応条件論理木の生成の処理について、順を追って説明する。
構造パターン対応条件論理木は、各ノードに対して真偽値(TRUEもしくはFALSE )を割り当てた木であり、ノードの種類として条件ノードとANDノードの2種類を持つ。
【0054】
条件ノードにはひとつの構造パターン対応条件が対応する。条件ノードの真偽値は、対応する構造パターン対応条件が変換規則の候補を生成しうるかどうかを表している。すなわち、条件ノードの真偽値がTRUEであれば、そのノードに対応する構造パターン対応条件に基づいて変換規則の候補が生成可能である。この条件ノードは、対応する構造パターン対応条件に合致する展開規則が存在するとき、その展開先の論理式のOR条件を構成する各項を子ノードとして持つ。
【0055】
ANDノードは、複数の構造パターン対応条件の論理積を表現するための特別なノードであり、その真偽値は、ANDノードの全ての子ノードの真偽値の論理積である。このANDノードは、論理積を構成する複数の構造パターン対応条件を子ノードとして持つ。
【0056】
図8は、論理木の構造の例を示す図である。この例は、構造パターン対応条件が[(X1|... |Xn),(Y1,... ,Ym)]の形式であるとき、図3に示した展開規則の(4,F)の内容から構成された論理木である。
【0057】
図9は、第1の実施の形態における構造パターン対応条件論理木の生成処理の手順を示すフローチャートである。
まず、展開規則処理手段7は、図7のステップS23で取り出された要素型「A」とステップS24で取り出された要素型「D」とを要素とする構造パターン対応条件[A,D]のノードを生成する(ステップS31)。この構造パターン対応条件に合致する展開規則を、展開規則保持手段6から取り出し、規則に沿って条件を展開する(ステップS32)。次に、ステップS32で取り出された展開規則の展開先を調べる(ステップS33)。展開先が、単一の構造パターン対応条件もしくは構造パターン対応条件の論理式であればステップS34へ進む。展開先が真偽値であれば、ステップS31で生成された条件ノードに、得られた真偽値を設定する(ステップS47)。
【0058】
ここで図5および図6に示した文書型の例では、図3より(2,B)の規則が合致することがわかり、[A,D]は[#A,#D]へ展開される。(2,B)の規則の展開先は論理式であるのでステップS34へ進む。
【0059】
次に、図9のステップS34以下の処理について、順を追って説明する。
まず論理式から項を1つ取り出す(ステップS34)。今、項は[#A,#D]のみである。次に、項が積項であるかどうかがチェックされる(ステップS35)。
【0060】
ここで、「積項」とは、構造パターン対応条件X1、X2、... Xnがあるとき、「X1∧... ∧Xn」の形で表現される条件である。
ステップS35でチェックされた項が積項であればステップS36へ進む。今、項は[#A,#D]のみなので、積項ではないと判断され、ステップS41へ進む。項の中に内容モデルが含まれるかどうかをチェックする(ステップS41)。内容モデルがあれば、変換元文書型アクセス手段4もしくは変換先文書型アクセス手段5により内容モデルを取り出して展開する(ステップS42)。ステップS34で取り出された項は、要素型Aおよび要素型Dの内容モデル(すなわち#Aおよび#D)を含むので(ステップS41)、変換元文書型アクセス手段4および変換先文書型アクセス手段5により、要素型Aの内容モデル「(B,C)」および要素型Dの内容モデル「(E,(F|G))」を取り出す。
【0061】
次に、構造パターン対応条件論理木の生成の処理を再帰的に実行する(ステップS43)。ステップS43で、構造パターン対応条件[(B,C),(E,(F|G))]に対して、論理木を生成する。図9に示すフローチャートの先頭に戻って、条件ノードを生成し(ステップS31)、合致する展開規則を取り出し、規則に沿って条件を展開する(ステップS32)。図3より(7,F)の規則が合致することがわかり、条件は図4に示すアルゴリズムに従って、[(B,C),E]∨[(B,C),(F|G)]∨([B,E]∧[C,(F|G)])へ展開される。(7,F)の規則の展開先を調べると(ステップS33)、展開先は論理式となる。したがってステップS34へ進む。
【0062】
展開先の論理式から項を1つ取り出す(ステップS34)。ここで最初の項として、[(B,C),E]を取り出す。この項は積項ではないので、ステップS35からステップS41へ進む。要素型B、C、Eは終端要素型なので、内容モデルを含まない。したがって、ステップS41からステップS43へ進む。ここで再び構造パターン対応条件[(B,C),E]に対して、ステップS43で論理木が生成される。
【0063】
再度図9のステップS31から処理を開始する。構造パターン対応条件[(B,C),E]に対応する条件ノードが生成される(ステップS31)。条件に合致する展開規則を取り出し、規則に沿って条件を展開する(ステップS32)。図3より(7,A)の規則が合致することがわかり、展開先を調べると、真偽値「FALSE 」である。したがってステップS47へ進み、[(B,C),E]の条件ノードにFALSE を設定し、論理木の生成を終了する。
【0064】
ステップS43から処理が戻り、全ての項について処理が終了したかどうかをチェックし(ステップS44)、次の項[(B,C),(F|G)]を取り出す(ステップS34)。
【0065】
以下同様に、論理木の生成の処理を再帰的に呼び出す。次の項[B,E]∧[C,(F|G)]は積項であるので、ステップS35からステップS36へ進み、ANDノードを生成する(ステップS36)。積項から1つの項[B,E]を取り出し(ステップS37)、ステップS38で論理木を生成する。次の項[C,(F|G)]についても同様に論理木を生成する。ステップS38で、構造パターン対応条件論理木の生成の処理が終了すると、積項を構成する各項の全てについて処理が終了したかどうかをチェックし、処理の行われていない項があれば、ステップS37へ戻る。全ての項について処理が終了したら、ステップS36で生成されたANDノードに真偽値を設定する(ステップS40)。その際、ステップS38においてANDノードの下位のノードのそれぞれに真偽値が設定されているので、下位のノードの真偽値の論理演算を行ってANDノードに設定する。論理演算は、ANDノードの全ての子ノードの真偽値の論理積である。この例では、ANDノードにTRUEが設定される。
【0066】
ステップS44で全ての項について処理が終了したかどうかをチェックし、処理の行われていない項があれば、ステップS34へ戻る。全ての項について処理が終了したら、下位ノードに設定されている真偽値の論理演算を行う(ステップS45)。論理演算としては、下位ノードの真偽値のOR条件をとる。すなわち、下位ノードの中に真偽値が「TRUE」のノードが1つでも存在すれば、演算結果は「TRUE」となる。演算結果をステップS31で生成した条件ノードの真偽値として設定する(ステップS46)。
【0067】
以上の処理で、全ての条件ノードに対して真偽値が設定されると、結果は以下のような木構造で表現することができる。
図10は、構造パターン対応条件の論理木の例を示す図である。この例では、ルートのノードに「TRUE」が設定されているため、文書型「A」から文書型「D」への変換規則の候補が生成可能である。このような論理木に基づいて、変換規則候補が生成される。
【0068】
次に、図7のフローチャートのステップS26で変換規則の候補を生成する処理について図5および図6に示した文書型の例を用いて説明する。
図11は、本発明の第1の実施の形態における変換規則候補生成の処理の手順を示すフローチャートである。
【0069】
まず図7のフローチャートのステップS25で生成された構造パターン対応条件の論理木(図10に示す)から、真偽値がFALSE であるノードを全てカットする(図11のステップS51)。
【0070】
図12は、真偽値がFALSE であるノードがカットされた論理木を示す図である。これは、図10に示す論理木の真偽値がFALSE であるノードをカットしたものである。
【0071】
次に、ステップS51で生成された論理木を、積和形式に変換する(ステップS52)。ここで、論理木の積和形式は、どのANDノードの下位にもOR条件が出現しない形式である。例えば、図12に示した論理木では、ANDノード101の下位の条件ノード102の子ノードである条件ノード103と条件ノード104がOR条件で接続されているので、図12に示した論理木は積和形式ではない。積和形式でない論理木を積和形式に変換する処理は、一般の論理式を積和形式に変換する処理と同様である。すなわち、2値変数x,y,zに対してx∧(y∨z)=(x∧y)∨(x∧z)のような演算と同様に処理できる。
【0072】
図13は、図12に示した論理木を積和形式に変換した論理木を示す図である。
最後に、ステップS52で生成された積和形式の論理木をORの部分で分割する(ステップS53)。分割された論理木の1つ1つが変換規則の候補に対応する。
【0073】
図14は、図13に示した論理木をORの部分で分割してできた論理木の集合を示した図である。左側の論理木は、ノード201〜206で構成されている。右側の論理木は、ノード211〜216で構成されている。
【0074】
展開規則処理手段7は、ステップS53で生成された複数の論理木を変換規則の候補として変換規則候補保持手段8に保存する(ステップS54)。
次に、図11のフローチャートのステップS54にあたる変換規則の候補の保存の処理について、順を追って説明する。
【0075】
図15は、本発明の第1の実施の形態における変換規則の候補の保存の処理の手順を示すフローチャートである。
まず、図11のステップS53で分割された論理木の1つを取り出す(ステップS61)。ここでは、図14の左側の論理木を取り出すものとする。
【0076】
次に、図14の左側の論理木からリーフノード204を取り出す(ステップS62)。リーフノードは常に変換元の要素型を第1項とし、変換先の要素型を第2項とする構造パターン対応条件のノードであるので、それぞれの要素型を変換規則候補保持手段8に記録する(ステップS63)。ここでは、リーフノード204の構造パターン対応条件に含まれる要素型BおよびEを記録する。次に、親ノードをたどって(ステップS64)、もし親ノードが存在すれば(ステップS65)、ステップS66へ進み、そのノードの構造パターン対応条件に要素型が含まれるかどうかをチェックする(ステップS66)。今、ノード204の親ノードをたどると、ANDノード203が存在することが確認される。もし要素型が含まれれば、その要素型を変換規則候補保持手段8に記録し(ステップS67)、なければ何も記録せずにステップS64に戻る。今、ANDノードは要素型を含まないので、ステップS66からステップS64へ戻る。さらに親ノードをたどると(ステップS64)、ノード202が存在するが(ステップS65)、要素型を含まないので、ステップS66からステップS64へ戻る。
【0077】
さらに親ノードをたどると(ステップS64)、ノード201が存在する(ステップS65)。ノード201には要素型AとDが存在するので、ステップS63で要素型を記録する。ノード201には親ノードが存在しないので、ステップS64、ステップS65を経てステップS68へ進み、全てのリーフノードについて処理したかどうかを調べる。図14の左側の論理木にはリーフノード206が存在するので、ステップS62へ戻って、同様に処理を行う。
【0078】
リーフノード206に対する処理が終了すると、これ以上リーフノードが存在しないので、ステップS68からステップS69へ進み、ここまでに記録された要素型の対応を変換規則の候補として、変換規則候補保持手段8に保存する。
【0079】
ステップS70から、図14の右側の論理木に対応する変換規則の候補を保存するために、ステップS61へ戻って同様に処理を行う。
図14に示した2つの論理木に対する処理が終了すると、2つの変換規則の候補が変換規則候補保持手段8に保存される。
【0080】
図16は、変換規則候補保持手段に保存される変換規則の候補の例を示す図である。図16に示した変換規則は、変換元の文書型の要素型のパスと、変換先の文書型の要素型のパスとの対応によって示されている。
【0081】
ここで、パスとは、文書型のルート要素型から、終端要素型に至るまでに存在する全ての要素型(ルート要素型を含む)の並びである。例えば、終端要素型をXとし、その親の要素型がB、Bの親の要素型がルート要素型Aであれば、要素型Xに対するパスは(A B X)となる。
【0082】
また、ルート要素型がA、Aの内容モデルが(B,C)、要素型Cの内容モデルが(D|C)、要素型Dが終端要素型であるとき、ルート要素型Aから要素型Cを介して要素型Dに至るパスは、(A C D)、(A C C D)、(AC C C D)、... 、のようにバリエーションが無限に存在する。このような場合、(A C+ D)でこれらのバリエーションを一括して表現する。ここでC+は、パス上で要素型C が1回以上繰り返すことを表す。
【0083】
このように要素型間の対応をパスの対応として規定することによって、変換元の同一の要素型が異なるパスに存在する場合には、それぞれ変換先の要素型の異なる要素型へ対応させることが可能になる。
【0084】
次に、図7のフローチャートのステップS27で変換規則の順位付けを行う処理について図5および図6に示した文書型の例を用いて説明する。
第1の実施の形態においては、変換規則に順位を付けるための基準として、変換先の文書型に含まれる1つの終端要素型と対応付けられる、変換元の文書型に含まれる終端要素型の種類の数を基準とする。すなわち、変換元の終端要素型Aが変換先の終端要素型Xに対応付けられ、変換元の終端要素型Bも終端要素型Xに対応付けられるとき、終端要素型Xに対応付けられる変換元の終端要素型は2種類となる。このような対応付けでは、変換元の文書型でAとBという要素型の区別が存在したものが、変換によって区別がなくなることになる。これは変換の結果としてあまり望ましくないので、この場合には変換規則としての順位を下げるようにする。本実施の形態では、変換先のそれぞれの終端要素型に対し、変換元の終端要素型が何種類対応付けられているかを数え上げ、これらの積が小さいほど順位が上になるようにする。
【0085】
ここで、図5および図6に示した文書型の間に生成された図16に示した変換規則の候補に数値をスコアとして設定した結果を以下に示す。
図17は、順位付けのためのスコアを計算した変換規則の候補を示す図である。図17に示すように、2つの候補の順位は同等である。したがって、図5および図6に示した文書型の例では、2つの変換規則の候補は同等に利用可能であると判断できる。なお、変換規則の候補の優先順位に差異が生じる場合については、第2の実施例にて説明する。
【0086】
以上説明したように、本発明に基づく文書変換規則生成装置は、ある文書型に沿って作成された構造化文書を別の文書型に沿った文書に変換するための変換規則の複数の候補を、人手を介することなく自動生成することができるため、変換規則の作成効率が向上する。また、複数の変換規則の候補に順位付けすることが出来るため、ユーザは必要に応じて最適な変換規則を容易に得ることができる。
【0087】
次に、本発明に基づく文書変換規則生成装置の第2の実施の形態について説明する。第2の実施の形態は、要素型が再帰的に定義されている場合でも、変換規則の候補が生成できるようにしたものである。
【0088】
図18は、本発明に基づく文書変換規則生成装置の第2の実施の形態における原理構成を示す図である。本発明に基づく文書変換規則生成装置の第2の実施の形態は、入力手段11、変換元文書型保持手段12、変換先文書型保持手段13、変換元文書型アクセス手段14、変換先文書型アクセス手段15、展開規則保持手段16、展開規則処理手段17、変換規則候補保持手段18、変換規則順位付け手段19、出力手段20、及び構造パターン対応条件記憶手段21から構成されている。第2の実施の形態における構造パターン対応条件記憶手段21、展開規則処理手段17以外の構成要素は、図1に示した第1の実施の形態における同名の構成要素と同じ機能を有しているため、説明を省略する。
【0089】
構造パターン対応条件記憶手段21は、展開規則処理手段17が展開した構造パターン対応条件を順次記憶し、記憶された構造パターン対応条件に対応する論理木の生成の処理が終了すると同時に、最も最近に記憶された構造パターン対応条件を記憶手段から破棄する。すなわち、構造パターン対応条件記憶手段21は、構造パターン対応条件のスタックとして作用する。
【0090】
展開規則処理手段17は、第1の実施の形態における展開規則処理手段7が有している機能に加え、次のような機能を有している。すなわち、構造パターン対応条件を展開した後、構造パターン対応条件記憶手段21に問合せを行い、展開した構造パターン対応条件と同一のものが既にあれば、それ以上の展開を中止する。
【0091】
次に、本発明に基づく文書変換規則生成装置の第2の実施の形態における変換規則の生成の処理の手順を、具体的な例に沿って説明する。
図19は、変換元の文書型の例を示す図である。図20は、変換先の文書型の例を示す図である。図19および図20は、第2の実施の形態における変換規則の生成手順を説明するための具体的な例として、それぞれ変換元の文書型の要素型とその内容モデルの定義、変換先の文書型の要素型とその内容モデルの定義を示した図である。図19および図20では、文書型をSGMLに沿った表現で示してある。図19において、変換元の文書型doc は、要素型sectが、内容モデルとして自分自身を含む再帰的な定義になっている。
【0092】
以下、本発明の第2の実施の形態では、図19に示した文書型の文書を、図20に示した文書型の文書に変換するための変換規則を生成するものとする。また、展開規則保持手段16には、図3に示す展開規則が保持されているものとする。
【0093】
第2の実施の形態における、変換規則の生成の処理手順の中核部分は、図7に示した第1の実施の形態における処理手順と同一であるので、詳しい説明を省略する。
【0094】
次に、本発明の第2の実施の形態において、図7のフローチャートのステップS25にあたる構造パターン対応条件論理木の生成の処理について、具体的な例に沿って説明する。
【0095】
図21は、本発明の第2の実施の形態における構造パターン対応条件論理木の生成の処理の手順を示すフローチャートである。図21に示すフローチャートは、図9に示した本発明の第1の実施の形態における構造パターン対応条件論理木の生成の処理の手順とほぼ同一である。そこで、図9に示したフローチャートと同一の処理工程に対しては同一のステップ番号を付すものとし、図9において新たに付加された工程にだけ新しいステップ番号を付す。すなわち、図21において、ステップS81、ステップS82、ステップS83、およびステップS84の4つの工程が新たに付加されている。
【0096】
第2の実施の形態における構造パターン対応条件論理木の生成は、まず、展開規則処理手段17が、図7のステップS23で取り出された要素型とステップS24で取り出された要素型を要素とする構造パターン対応条件のノードを生成する(ステップS31)。次に、対象となる構造パターン対応条件が、構造パターン対応条件記憶手段21に既に記憶されているかどうかをチェックする(ステップS81)。対象となる構造パターン対応条件が、構造パターン対応条件記憶手段21に既に記憶されている場合には、ステップS84へ進み、ステップS31で生成された条件ノードの真偽値をTRUEとして設定する(ステップS84)。ステップS81で、対象となる構造パターン対応条件が構造パターン対応条件記憶手段21に記憶されていない場合には、新たな構造パターン対応条件として構造パターン対応条件記憶手段21に記憶する(ステップS82)。
【0097】
ステップS82以後のステップS32からステップS47に至る処理は、第1の実施の形態において説明した処理手順と同一であるので、詳しい説明を省略する。
【0098】
第2の実施の形態においては、ステップS46もしくはステップS47において、条件ノードに真偽値を設定したら、構造パターン対応条件記憶手段21に記憶されている最新の構造パターン対応条件を破棄する(ステップS83)。
【0099】
このように、対象となる構造パターン対応条件が構造パターン対応条件記憶手段11に既に記憶されているかどうかをチェックすることによって、要素型が再帰的に定義されている文書型の場合でも、論理木を生成する処理が停止することが保証される。
【0100】
図22は、図19および図20に示した文書型について、図21に示した処理手順に従って生成された構造パターン対応条件論理木を示す図である。なお、図22において、△で示した部分は、共通する部分木をまとめて表記するために導入した記号である。また、各ノードの真偽値は、図22においてFALSE と記したもの以外は全てTRUEであるとする。
【0101】
図22において、ノード302は、ノード301と同じ構造パターン対応条件が出現したために展開が停止したノードである。
本発明の第2の実施の形態において、図7のフローチャートのステップS26で変換規則の候補を生成する処理については、図11に示した、本発明の第1の実施の形態における変換規則の候補の生成の処理手順と同じである。したがって、ここでは詳しい説明を省略する。ただし、図11のフローチャートのステップS54にあたる変換規則の候補の保存の処理については、本発明の第1の実施の形態における処理とは手順が異なるので、次に説明する。
【0102】
図23は、本発明の第2の実施の形態における変換規則の候補の保存の処理の手順を示すフローチャートである。
まず、図11のフローチャートのステップS53で分割された論理木の1つを取り出す(ステップS201)。ここでは次のような論理木を取り出したと仮定して、以後の処理の手順を説明する。
【0103】
図24は、ステップS201で取り出される論理木の例を示す図である。図24に示す論理木は、図22に示す論理木を、図11に示すフローチャートのステップS51からステップS53に従って、積和形式に変換し、OR演算子の部分で分割して生成した論理木の集合中の1つである。
【0104】
図24に示した論理木から、リーフノード401を取り出す(ステップS202)。リーフノード401が再帰的な条件であるかどうかチェックする(ステップS203)。リーフノード401は再帰的な条件ではないので、構造パターン対応条件に含まれる要素型doctitleおよびtitle を記録する(ステップS210)。ステップS212、ステップS213、ステップS214で順次親ノードをたどって、構造パターン対応条件に出現する要素型を記録する。これにより、リーフノード401に対応して、変換元のパス(doc doctitle)と変換先のパス(doc2 title) の対応が決定される。
【0105】
同様に、リーフノード403およびリーフノード405について、親ノードを順次たどって、構造パターン対応条件に出現する要素型を記録する。これにより、変換元のパス(doc sect title)と変換先のパス(doc2 section head)、および変換元のパス(doc sect p)と変換先のパス(doc2 section para)の対応が決定される。図25は、再帰的な条件が出現するまでの処理で生成される変換元のパスと変換先のパスの対応を示す図である。
【0106】
次に、ステップS202でリーフノード404を取り出す。リーフノード404は、条件ノード402と同じ構造パターン対応条件である。すなわち、リーフノード404は再帰的な条件である。したがって、ステップS203からステップS204へ進む。リーフノード404の構造パターン対応条件の第1項である要素型sectを記録する(ステップS204)。リーフノード404から親ノードをたどって、構造パターン対応条件の第1項に要素型が出現するまで、ステップS205とステップS206の処理を繰り返す。
【0107】
条件ノード402に到達した時点で、構造パターン対応条件の第1項に要素型sectを含むので、ステップS207へ進む。リーフノード404の構造パターン対応条件の第1項の要素型と同じかどうかをチェックする(ステップS207)。今、要素型sectは、リーフノード404の構造パターン対応条件の第1項と同じなので、ステップS209へ進む。
【0108】
ステップS209で、条件ノード402からリーフノード404へ至る要素型のパス(sect sect) を記録する。次に、図25に示した変換元のパスの中で、要素型sectが再帰的に出現しうるので、sectをステップS209で記録したパス(sect sect) の再帰的表現である(sect+) で置換する(ステップS216)。その結果、再帰的表現を含んだ変換規則の候補が生成される。図26は、再帰的表現を含む変換規則の候補を示す図である。
【0109】
次に、生成された変換規則の候補を変換規則候補保持手段8に保存する(ステップS217)。
図22に示した論理木を積和形式に変換し、OR演算子の部分で分割してできた他の全ての論理木について、同様に処理を行う(ステップS218)。
【0110】
以上で、図19に示した文書型を変換元とし、図20に示した文書型を変換先とする、変換規則の候補の生成の処理が終了する。
次に、生成された変換規則の候補を順位付けする処理については、本発明の第1の実施の形態において説明した手順と同様に行う。
【0111】
図27は、図19に示す文書型を変換元とし、図20に示す文書型を変換先とした変換規則の全ての候補を示す図である。また、図28は、図27に示した変換規則の各候補にスコアを付与したものを示す図である。図28より、候補番号10および11が最もスコアが低いので、優先順位が高くなることがわかる。
【0112】
このように、本発明における第2の実施の形態では、要素型が再帰的に定義されている場合でも、変換規則の候補が生成できる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、文書変換規則生成装置が有すべき機能の処理内容は、コンピュータで読み取り可能な記録媒体に記録されたプログラムに記述されており、このプログラムをコンピュータで実行することにより、上記処理がコンピュータで実現される。コンピュータで読み取り可能な記録媒体としては、磁気記録装置や半導体メモリ等がある。市場を流通させる場合には、CD−ROM(Compact Disk Read Only Memory)やフロッピーディスク等の可搬型記録媒体にプログラムを格納して流通させたり、ネットワークを介して接続されたコンピュータの記憶装置に格納しておき、ネットワークを通じて他のコンピュータに転送することもできる。コンピュータで実行する際には、コンピュータ内のハードディスク装置等にプログラムを格納しておき、メインメモリにロードして実行する。
【0113】
【発明の効果】
以上説明したように本発明に係る文書変換規則生成装置では、構造パターン対応条件の展開規則と真偽値とを予め設定しておき、その展開規則に従って変換元文書型と変換先文書型とから得られる構造パターン対応条件を展開するとともに、それらに真偽値を設定し、真偽値が真である構造パターン対応条件が生成可能な変換規則を作成するようにしたため、ある文書型に沿って作成された構造化文書を別の文書型に沿った文書に変換するための変換規則を、人手を介することなく自動生成することができ、変換規則の作成効率が向上する。
【0114】
また、本発明にかかる文書変換規則生成プログラムを記録したコンピュータ読み取り可能な記録媒体では、格納されたプログラムをコンピュータに実行させれば、構造パターン対応条件の展開規則と真偽値とを予め設定しておき、その展開規則に従って変換元文書型と変換先文書型とから得られる構造パターン対応条件を展開するとともに、それらに真偽値を設定し、真偽値が真である構造パターン対応条件が生成可能な変換規則を作成するような処理をコンピュータに行わせることが可能となる。その結果、コンピュータを用いて、ある文書型に沿って作成された構造化文書を別の文書型に沿った文書に変換するための変換規則を、人手を介することなく自動生成することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態における原理構成を示す図である。
【図2】構造パターンの例を示す図である。
【図3】展開規則保持手段に保持される展開規則の例を示す図である。
【図4】展開先を計算するためのアルゴリズムを説明するフローチャートである。
【図5】変換元文書型の例を示す図である。
【図6】変換先文書型の例を示す図である。
【図7】本発明の第1の実施の形態における変換規則の生成手順の流れを示すフローチャートである。
【図8】論理木の構造の例を示す図である。
【図9】第1の実施の形態における構造パターン対応条件論理木の生成処理の手順を示すフローチャートである。
【図10】構造パターン対応条件の論理木の例を示す図である。
【図11】本発明の第1の実施の形態における変換規則候補生成の処理の手順を示すフローチャートである。
【図12】真偽値がFALSE であるノードがカットされた論理木を示す図である。
【図13】図12に示した論理木を積和形式に変換した論理木を示す図である。
【図14】図13に示した論理木をORの部分で分割してできた論理木の集合を示した図である。
【図15】本発明の第1の実施の形態における変換規則の候補の保存の処理の手順を示すフローチャートである。
【図16】変換規則候補保持手段に保存される変換規則の候補の例を示す図である。
【図17】順位付けのためのスコアを計算した変換規則の候補を示す図である。
【図18】本発明に基づく文書変換規則生成装置の第2の実施の形態における原理構成を示す図である。
【図19】変換元の文書型の例を示す図である。
【図20】変換先の文書型の例を示す図である。
【図21】本発明の第2の実施の形態における構造パターン対応条件論理木の生成の処理の手順を示すフローチャートである。
【図22】図19および図20に示した文書型について、図21に示した処理手順に従って生成された構造パターン対応条件論理木を示す図である。
【図23】本発明の第2の実施の形態における変換規則の候補の保存の処理の手順を示すフローチャートである。
【図24】ステップS201で取り出される論理木の例を示す図である。
【図25】再帰的な条件が出現するまでの処理で生成される変換元のパスと変換先のパスの対応を示す図である。
【図26】再帰的表現を含む変換規則の候補を示す図である。
【図27】図19に示す文書型を変換元とし、図20に示す文書型を変換先とした変換規則の全ての候補を示す図である。
【図28】図27に示した変換規則の各候補にスコアを付与したものを示す図である。
【図29】構造化文書の表現の一例を示す図である。
【図30】図29で示した構造化文書の文書型を示す図である。
【図31】文書型のSGMLによる表現形式を示す図である。
【符号の説明】
1 入力手段
2 変換元文書型保持手段
3 変換先文書型保持手段
4 変換元文書型アクセス手段
5 変換先文書型アクセス手段
6 展開規則保持手段
7 展開規則処理手段
8 変換規則候補保持手段
9 変換規則順位付け手段
10 出力手段
Claims (7)
- 文書の論理的な構成要素に対応して文書データを木構造に階層化した論理構造を持つ文書である構造化文書の、該構造化文書中に出現可能な構成要素の種類を示す要素型と要素型の各々について該要素型および該要素型の構成要素の下位の構成要素の前記構造化文書における出現形態を規定する構造生成子の組みである該要素型の内容モデルとを含む、文書型について、変換元の前記文書型である変換元文書型を保持する変換元文書型保持手段と、
変換先の前記文書型である変換先文書型を保持する変換先文書型保持手段と、
前記要素型と前記構造生成子とから生成し得る複数の構造パターンの2つ組である複数の構造パターン対応条件それぞれに対応付けて、構造パターン対応条件を別の構造パターン対応条件の論理式へ展開するための展開規則、もしくは構造パターン対応条件に対する真偽値のいずれか一方を保持する展開規則保持手段と、
前記変換元文書型保持手段に保持されている変換元文書型から、前記要素型および前記内容モデルの情報を取り出す変換元文書型アクセス手段と、
前記変換先文書型保持手段に保持されている変換先文書型から、前記要素型および前記内容モデルの情報を取り出す変換先文書型アクセス手段と、
前記変換元文書型アクセス手段が取り出した前記要素型もしくは内容モデルと、前記変換先文書型アクセス手段が取り出した前記要素型もしくは内容モデルとから生成される構造パターン対応条件を、前記展開規則保持手段内の対応する展開規則に従って展開すると共に、前記展開規則保持手段内の真偽値に基づいて各構造パターン対応条件に真偽値を設定し、真偽値が真である構造パターン対応条件により作成可能な変換規則を生成する展開規則処理手段と、
を有することを特徴とする文書変換規則生成装置。 - 前記展開規則処理手段において生成された複数の変換規則の候補を保持する変換規則候補保持手段と、
前記変換規則候補保持手段において保持された変換規則の候補に対して順位付けを行う変換規則順位付け手段と、
をさらに有することを特徴とする請求項1記載の文書変換規則生成装置。 - 前記変換規則順位付け手段によって順位付けられた変換規則を、順位にしたがって出力する出力手段をさらに有することを特徴とする請求項2記載の文書変換規則生成装置。
- 前記変換規則順位付け手段は、変換先文書型に含まれる各要素型に対応する変換元文書型の要素型の数が少なくなるような変換規則ほど、高い順位付けとすることを特徴とする請求項2記載の文書変換規則生成装置。
- 前記展開規則処理手段において展開しようとする前記構造パターン対応条件を順次記憶する、構造パターン対応条件記憶手段をさらに有し、
前記展開規則処理手段は、前記構造パターン対応条件を展開する際に、前記構造パターン対応条件記憶手段に同一の構造パターン対応条件が既に記憶されているかどうかをチェックし、既に記憶されている場合には、展開処置を行わないことを特徴とする請求項1記載の文書変換規則生成装置。 - 文書の論理的な構成要素に対応して文書データを木構造に階層化した論理構造を持つ文書である構造化文書の、該構造化文書中に出現可能な構成要素の種類を示す要素型と要素型の各々について該要素型および該要素型の構成要素の下位の構成要素の前記構造化文書における出現形態を規定する構造生成子の組みである該要素型の内容モデルとを含む、文書型について、変換元の前記文書型である変換元文書型を保持する変換元文書型保持手段、
変換先の前記文書型である変換先文書型を保持する変換先文書型保持手段、
前記要素型と前記構造生成子とから生成し得る複数の構造パターンの2つ組である複数の構造パターン対応条件それぞれに対応付けて、構造パターン対応条件を別の構造パターン対応条件の論理式へ展開するための展開規則、もしくは構造パターン対応条件に対する真偽値のいずれか一方を保持する展開規則保持手段、
前記変換元文書型保持手段に保持されている変換元文書型から、前記要素型および前記内容モデルの情報を取り出す変換元文書型アクセス手段、
前記変換先文書型保持手段に保持されている変換先文書型から、前記要素型および前記内容モデルの情報を取り出す変換先文書型アクセス手段、
前記変換元文書型アクセス手段が取り出した前記要素型もしくは内容モデルと、前記変換先文書型アクセス手段が取り出した前記要素型もしくは内容モデルとから生成される構造パターン対応条件を、前記展開規則保持手段内の対応する展開規則に従って展開すると共に、前記展開規則保持手段内の真偽値に基づいて各構造パターン対応条件に真偽値を設定し、真偽値が真である構造パターン対応条件により作成可能な変換規則を生成する展開規則処理手段、
としてコンピュータを機能させることを特徴とする文書変換規則生成プログラムを記録したコンピュータ読み取り可能な記録媒体。 - 変換元文書型保持手段が、文書の論理的な構成要素に対応して文書データを木構造に階層化した論理構造を持つ文書である構造化文書の、該構造化文書中に出現可能な構成要素の種類を示す要素型と要素型の各々について該要素型および該要素型の構成要素の下位の構成要素の前記構造化文書における出現形態を規定する構造生成子の組みである該要素型の内容モデルとを含む、文書型について、変換元の前記文書型である変換元文書型を保持し、
変換先文書型保持手段が、変換先の前記文書型である変換先文書型を保持し、
展開規則保持手段が、前記要素型と前記構造生成子とから生成し得る複数の構造パターンの2つ組である複数の構造パターン対応条件それぞれに対応付けて、構造パターン対応条件を別の構造パターン対応条件の論理式へ展開するための展開規則、もしくは構造パターン対応条件に対する真偽値のいずれか一方を保持し、
変換元文書型アクセス手段が、前記変換元文書型保持手段に保持されている変換元文書型から、前記要素型および前記内容モデルの情報を取り出し、
変換先文書型アクセス手段が、前記変換先文書型保持手段に保持されている変換先文書型から、前記要素型および前記内容モデルの情報を取り出し、
展開規則処理手段が、前記変換元文書型アクセス手段が取り出した前記要素型もしくは内容モデルと、前記変換先文書型アクセス手段が取り出した前記要素型もしくは内容モデルとから生成される構造パターン対応条件を、前記展開規則保持手段内の対応する展開規則に従って展開すると共に、前記展開規則保持手段内の真偽値に基づいて各構造パターン対応条件に真偽値を設定し、真偽値が真である構造パターン対応条件により作成可能な変換規則を生成する、
ことを特徴とする文書変換規則生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01270298A JP3843574B2 (ja) | 1998-01-26 | 1998-01-26 | 文書変換規則生成装置、文書変換規則生成方法及び文書変換規則生成プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01270298A JP3843574B2 (ja) | 1998-01-26 | 1998-01-26 | 文書変換規則生成装置、文書変換規則生成方法及び文書変換規則生成プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11212961A JPH11212961A (ja) | 1999-08-06 |
JP3843574B2 true JP3843574B2 (ja) | 2006-11-08 |
Family
ID=11812746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01270298A Expired - Fee Related JP3843574B2 (ja) | 1998-01-26 | 1998-01-26 | 文書変換規則生成装置、文書変換規則生成方法及び文書変換規則生成プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3843574B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003150586A (ja) | 2001-11-12 | 2003-05-23 | Ntt Docomo Inc | 文書変換システム、文書変換方法及び文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US11922325B2 (en) | 2020-06-09 | 2024-03-05 | Legislate Technologies Limited | System and method for automated document generation and search |
-
1998
- 1998-01-26 JP JP01270298A patent/JP3843574B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11212961A (ja) | 1999-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4886693B2 (ja) | 情報処理方法、情報処理装置および情報処理プログラム | |
CA2230333C (en) | Structured-text cataloging method, structured-text searching method, and portable medium used in the methods | |
JP3842577B2 (ja) | 構造化文書検索方法および構造化文書検索装置およびプログラム | |
JP4657432B2 (ja) | 階層構造の構造化文書を変換する装置 | |
JP4091726B2 (ja) | 構造化文書の表示規則の生成方法、システムおよびプログラムが記録された媒体ならびに構造化文書およびその文書型定義の変更方法、システムおよびプログラムが記録された媒体 | |
JP4141556B2 (ja) | 構造化文書管理方法及びその実施装置並びにその処理プログラムを記録した媒体 | |
JP4365162B2 (ja) | 構造化文書のデータを検索する装置および方法 | |
JP7163143B2 (ja) | 質問応答データ生成装置および質問応答データ生成方法 | |
JPS61220027A (ja) | 文書ファイリングシステム及び情報記憶検索システム | |
JPH0830620A (ja) | 構造検索装置 | |
US20010014899A1 (en) | Structural documentation system | |
JP5215046B2 (ja) | 文書分類装置 | |
JP2007047974A (ja) | 情報抽出装置および情報抽出方法 | |
JP3843574B2 (ja) | 文書変換規則生成装置、文書変換規則生成方法及び文書変換規則生成プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US20070150519A1 (en) | Organiser for complex categorisations | |
KR101835994B1 (ko) | 키워드 맵을 이용한 전자책 검색 서비스 제공 방법 및 장치 | |
JP4266584B2 (ja) | テキストデータ群生成装置、テキストデータ群生成方法、プログラムおよび記録媒体 | |
Bench-Capon et al. | Some computational properties of a model for electronic documents | |
JP2001331490A (ja) | 構造化文書格納装置、構造化文書検索装置、構造化文書格納検索装置及びプログラム並びにプログラム記録媒体 | |
JPH04278634A (ja) | 木生成システム及び方法 | |
Zhang et al. | Odaies: ontology-driven adaptive Web information extraction system | |
JP3578045B2 (ja) | 全文検索方法及び装置及び全文検索プログラムを格納した記憶媒体 | |
WO2023223424A1 (ja) | ドキュメント生成装置、プログラム及びドキュメント生成方法 | |
WO1991012580A1 (en) | Method and apparatus for graphical interrogation of a database | |
WO2024050636A1 (en) | Tokenization of data for use in ai applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050411 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060221 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060424 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060516 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060704 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060725 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060807 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100825 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100825 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110825 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120825 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |