(57)【要約】【課題】  マーク付けのされていない文書に対して、論理構造を示すマークを自動的に付けることができる装置を提供する。【解決手段】  入力文書を格納する文書入力部１、マーク付けのためのルールを記述するマーク付けルール部２、前記入力文書に対して前記ルールを適用して、前記ルールに適合した文字列については所定のパターンに変換して出力し、適合しない文字列は元の文字列を出力することにより、前記入力文書に対するマーク付け処理を行うためのマーク付け部３、及び前記マーク付け部から出力されたマーク付き文書を格納するマーク付き文書出力部６により文書の自動マーク付け装置を構成する。【選択図】      図１
2006048720.tif 000002
【特許請求の範囲】
【請求項１】
マーク付けのための複数行からなる変換元文字列パターンと、該変換元文字列パターンに対する変換部分及び複写部分とからなる変換先文字列パターンとを対応付けた、表名で識別される変換表を複数記憶するマーク付けルール記憶手段と、
入力文書から文字を順次読み込んで、前記マーク付けルール記憶手段に記憶した変換表について、他の変換表の開始又は終了を適合条件とする適合条件情報が含まれる場合には該他の変換表の適合状況により適合可否を判定した後、変換元文字列パターンの全行が一致した場合に、前記変換表の適合を判定する適合ルール検索手段と、
該適合ルール検索手段で適合を判定した変換表に従い、前記入力文書の該当部分に対し変換先文字列パターンを適用する文字列変換手段と、
を備えることを特徴とする文書自動マーク付け装置。
【請求項２】
入力文書から文字を順次読み込んで、マーク付けのための複数行からなる変換元文字列パターンと、該変換元文字列パターンに対する変換部分及び複写部分とからなる変換先文字列パターンとを対応付けた、表名で識別される変換表を複数記憶するマーク付けルール記憶手段に記憶した変換表について、他の変換表の開始又は終了を適合条件とする適合条件情報が含まれる場合には該他の変換表の適合状況により適合可否を判定した後、変換元文字列パターンの全行が一致した場合に、該変換表の適合を判定する適合ルール検索ステップと、
前記適合ルール検索ステップで適合を判定した変換表に従い、前記入力文書の該当部分に対し変換先文字列パターンを適用する文字列変換ステップと、
をコンピュータが実行することを特徴とする文書自動マーク付け方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マーク付けのされていないプレーンな文書に対して、論理構造を示すマークを自動的に付けることによって、プレーンな文書を構造化文書に変換する文書自動マーク付け装置及び方法に関するものである。
【背景技術】
【０００２】
現在、文書を構造化文書として作成することによって、レイアウトなどの編集の自動化、電子媒体書籍の自動作成、ドキュメントデータベースの作成など、文書の二次的な加工を柔軟に行えるようにすることが普及しつつある。
この構造化文書の実現方法の一つに、文書に論理構造を示すマークを付ける方法がある。これを「マーク付け」又は「マークアップ」という。JIS X 8879及びJIS X 4151で定められた「ＳＧＭＬ」（Standard Generalized Markup Language: 標準一般化マーク付け言語）もこの方法の一つである。
【０００３】
従来、マーク付けを行うためには、文書作成装置を用いて手作業でマークアップするか、または、構造化文書作成のための専用の構造エディタを使って、文書を作成しながらマークアップをする必要があった。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の方法には次の問題があった。
１．手作業で一つずつマークを付けるのは面倒であり、また、マーク付けの規則を覚える必要がある。
２．専用の構造エディタを使うには、そのためのハード／ソフトを準備する必要がある。また、今まで使っていた文書作成装置とは違う入力操作を覚える必要がある。
【０００５】
これに対して本発明は、マーク付けのされていない文書に対して、論理構造を示すマークを自動的に付けることができる装置を提供することを目的とするものである。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明は、マーク付けのための複数行からなる変換元文字列パターンと、該変換元文字列パターンに対する変換部分及び複写部分とからなる変換先文字列パターンとを対応付けた、表名で識別される変換表を複数記憶するマーク付けルール記憶手段と、入力文書から文字を順次読み込んで、前記マーク付けルール記憶手段に記憶した変換表について、他の変換表の開始又は終了を適合条件とする適合条件情報が含まれる場合には該他の変換表の適合状況により適合可否を判定した後、変換元文字列パターンの全行が一致した場合に、前記変換表の適合を判定する適合ルール検索手段と、該適合ルール検索手段で適合を判定した変換表に従い、前記入力文書の該当部分に対し変換先文字列パターンを適用する文字列変換手段とにより文書の自動マーク付け装置を構成する。これによって、マーク付けがされていない文書から自動的にマーク付き文書を得ることができる。
【０００７】
また、本発明は、入力文書から文字を順次読み込んで、マーク付けのための複数行からなる変換元文字列パターンと、該変換元文字列パターンに対する変換部分及び複写部分とからなる変換先文字列パターンとを対応付けた、表名で識別される変換表を複数記憶するマーク付けルール記憶手段に記憶した変換表について、他の変換表の開始又は終了を適合条件とする適合条件情報が含まれる場合には該他の変換表の適合状況により適合可否を判定した後、変換元文字列パターンの全行が一致した場合に、該変換表の適合を判定する適合ルール検索ステップと、前記適合ルール検索ステップで適合を判定した変換表に従い、前記入力文書の該当部分に対し変換先文字列パターンを適用する文字列変換ステップと、をコンピュータが実行することにより文書自動マーク付け方法を構成する。
【発明の効果】
【０００８】
本発明によれば、マーク付けのされていない文書に対して、論理構造を示すマークを自動的に付けることができる装置及び方法を提供することができる。したがって、既存の文書作成装置で文書を作成し、その後、本発明の文書自動マーク付け装置及び方法で一挙にマーク付けをすることができる。また、今までに蓄積された大量の文書の文書データを、簡単に構造化文書に転用することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施例について図を用いて説明をする。
【実施例】
【００１０】
本発明の実施例について図を用いて説明する。
図１は、文書マーク付け装置の構成を示す。文書入力部１は、例えば直接アクセス記憶装置により構成されるもので、図２に示すプレーンな文書１１（以下、この文書を「入力文書」という。）が格納されているものとする。マーク付けルール部２は、例えば直接アクセス記憶装置により構成されるもので、図３に示すマーク付けルールが記述されているものとする。
【００１１】
マーク付け部３は、入力文書に対してマーク付けの処理を行うもので、例えば、ＣＰＵ及びメモリなどから構成される。マーク付け部３は、適合ルール検索部４と文字列変換部５とから成る。
適合ルール検索部４は、入力文書からマーク付けルール部２に記述されたルールに適合する文字列を検索し、その検索結果を文字列変換部５に出力する。文字列変換部５は、適合ルール検索部４からの出力に応じて、入力文書を所定のパターンに変換して、マーク付き文書出力部６に出力する。
【００１２】
マーク付き文書出力部６は、例えば直接アクセス記憶装置により構成され、マーク付き文書を格納するものである。
次に、図１の各部分の詳細について説明する。
図２は、文書入力部１に格納された変換前のマーク付けの無い入力文書１１と、マーク付き文書出力部６に格納された変換後のマーク付けがされた文書１４を示す。入力文書１１の章の表示１２と節の表示１３が、本装置によりマーク付け処理されて、章のマーク１５と節のマーク１６が付けられる。
【００１３】
図３は、マーク付けルール部２の詳細を示す。
マーク付けルール部２に記述されるマーク付けルール２１は、テキストファイルにより構成され、複数の変換表２２，２３……からなる。また、表中の「｛」は変換表の開始を表し、「｝」は変換表の終了を表す。図示の例では、変換表２２は文書中の章の部分を変換するためのものであり、変換表２３は文書中の付録の部分を変換するためのものである。
【００１４】
章の変換表２２について具体的に説明をすると、変換表２２は複数の行からなり、各行において、左に変換元パターンを、右に変換先パターンを記述している。変換元パターンと変換先パターンは、「”」で囲んで記述している。なお、パターンの中に「”」という文字を記述したい場合は、「￥”」と記述する。
図の例で説明すると、第１行は「第」という文字列（文字列には１文字を含むこととする。）を「＜章  ｉｄ＝”章」という文字列に変換することを示している。
【００１５】
変換元パターンの第２行に「：Ｄ」と記述しているのは、数字を表している。このように、「：」が付いている記述を「組み込み文字」といい、「：Ａ」は英数字を、「：Ｂ」は空白類を、「：Ｃ」は英字を表す。また、「＋」は、直前の文字の１個以上の繰り返しを表す。例えば、第３行の「：Ｂ＋」という記述は、「：Ｂ」（つまり空白類）の１個以上の繰り返しを表す。同様に、「＊」は直前の文字の０個以上の繰り返しを表す。また、第４行の「．」は任意の文字を表す。ただし、「．」を表したい場合は、「￥．」と記述する。第５行の「￥ｎ」は改行文字を表す。
【００１６】
変換表２２の右側の第２行及び第４行は、変換先パターンが「＝」になっている。これは、変換元パターンをそのまま複写することを表している。
次に、図４のフローチャートを用いてマーク付け処理について説明する。なお、図中のステップＳ１１〜１５までは、適合ルール検索部４における動作であり、ステップＳ１６〜２０までは、文字列変換部５における動作である。
【００１７】
まず、入力文書の先頭に文字ポインタを位置づけ（ステップＳ１１）、マーク付けルール２１の先頭に表ポインタを位置づける（ステップＳ１２）。
ステップＳ１３〜１５において、各文字ごとに、文字ポインタから始まる文字列が各変換表２２，２３…の変換元パターンに適合するかどうかを判定する。つまり、ステップＳ１３で、文字ポインタから始まる文字列が表ポインタが指す変換表に適合するか否かが判定され適合すればステップＳ１６へ進む。適合しなければ、ステップＳ１４〜１５により次の変換表に進み、ステップＳ１３で同様な判定がされる。もし、適合する変換表が無ければ、ステップＳ１５のＮからステップＳ１９へ進む。なお、ステップＳ１３の詳細な処理については後述する。
【００１８】
ステップＳ１３で、文字ポインタから始まる文字列が表ポインタが指す変換表に適合すると判定された場合、ステップＳ１６において、適合した範囲の文字列を、変換表に従って変換をして、マーク付き文書部６に出力する。なお、ステップＳ１６の処理の詳細についても後述する。そして、ステップＳ１７で文字ポインタを適合した範囲の次の位置へ文字ポインタを動かし、ステップＳ１８へ進む。
【００１９】
ステップＳ１５において、文字ポインタから始まる文字が変換表に適合しないと判定された場合は、ステップＳ１９へ進み、文字ポインタが指示する文字をそのままマーク付き文書出力部６に出力する。そして、ステップＳ２０で文字ポインタを一つ後ろに動かし、ステップＳ１８へ進む。
ステップＳ１８において、入力文書中にまだ処理していない文字がある場合、ステップＳ１２へ戻り、以後同様の処理が行われる。全ての文字についての処理が終わり、処理していない文字が無くなった場合は、ステップＳ１８のＮから出てマーク付け処理を終了する。
【００２０】
ここで、図５を用いて、図２に示した入力文書１１の章の表示１２が、変換表２２により、マーク付き文書１４の章のマーク１５に変換される処理について説明をする。
始めに、図４のステップＳ１３においては、文字ポインタから始まる文字列が変換表の第１行から第５行までの変換元パターンと一致するかどうかを判定する。
【００２１】
１）変換表の第１行の変換元パターンが「第」と一致する。
２）変換表の第２行の変換元パターンが「１」と一致する。
３）変換表の第３行の変換元パターンが「章  」と一致する。
４）変換表の第４行の変換元パターンが「概要」と一致する。
５）変換表の第５行の変換元パターンが「↓」（改行記号）と一致する。
【００２２】
このように変換表の最後まで一致すると、文字ポインタから始まる文字列が「適合した」とみなして、次にステップＳ１６の変換及び出力を行う。
１）「第」を「＜章  ｉｄ＝”章」に変換して、マーク付き文書出力部６に出力する。
２）「１」はそのまま出力する。
【００２３】
３）「章  」を「”＞＜表題＞」に変換して出力する。
４）「概要」はそのまま出力する。
５）「↓」（改行記号）を「＜／表題＞」に変換して出力する。
以上の動作によって、図２に示すようなマーク付き文書が得られる。
次に、前述の図４のフローチャートにおけるステップＳ１３及びステップＳ１６の詳細な動作について以下に説明する。また、以下に説明される動作においては、同時に、本発明の自動マーク付け装置における新たな機能及びその動作についても説明される。
【００２４】
始めに、今回初めて説明される新たな機能について説明する。
図６及び図７は、マーク付けルールの変形例を示す。図６には、通常の章に対する変換表３２と、その章に付随する節に対する変換表３４と、付録に対する変換表３３と、付録に付随する節に対する変換表３５が示されている。さらに、図７には、パターンの移動を行わせるための変換表３６が示されている。
【００２５】
ここで、図６に示す各変換表３２，３３においては、第１行の前に、それぞれ表名が設定されている。変換表３２には「章開始」が、変換表３３には「付録開始」が設定される。また、変換表３４には「開始表名」及び「終了表名」が、変換表３５には「開始表名」が設定されている。
節の変換表３４は、「章開始」の変換表３２が適合された後、その適合を開始するが、「付録開始」の変換表３３が適合されたら、その適合を終了するものであり、付録の節の変換表３５は、「付録開始」の変換表３３が適合された後、その適合を開始するものである。このマーク付けルールを適用して以下に説明する処理動作が行われることにより、章の後には章の節が続き、付録の後には付録の節が続くマーク付けが行われることとなり、章の後に付録の節が続いたり、付録の後に章の付録が続くことがなくなる。
【００２６】
図７の変換表３６は、パターンの移動に用いられる。例えば、索引のように、マーク付けの無い文書中では表記が読みより先に記載されるが、マーク付き文書においては、索引としての機能上、読みのパターンを表記のパターンより前に記載したいということがある。変換表３６はこのようなパターンの移動を行うときに使用されるものである。
【００２７】
図８及び図９は、図４のステップＳ１３の詳細を示す。なお、以下の説明において、ステップＳ１１〜２０は、図４のフローチャートにおけるステップを表す。これらのステップについては、図４に関する説明を参照されたい。
ステップＳ３１では、表ポインタが指示する変換表に開始表名が設定されているか否かが判定され、ステップＳ３２では、開始表名が指す変換表は既に適合済みであるか否かが判定され、ステップＳ３３では、終了表名が設定されているか否かが判定され、ステップＳ３４では、終了表名が指す変換表は既に適合済みか否かかが判定される。
【００２８】
ここで、図６の章と付録の変換表３２，３３は、開始表名及び終了表名が共に設定されていない例であるから、これらの変換表の場合には、ステップＳ３５へ進む。
章の節の変換表３４は、開始表名及び終了表名が共に設定されている例であるから、この変換表３４の場合には、開始表である章の変換表３２が適合済みであり、終了表である付録の変換表３３が未だ適合されてない場合にステップＳ３５へ進む。一方、開始表である変換表３２が適合されていないか、又は終了表である変換表３３が適合されている場合には、ステップＳ４０へ進み、不適合と判定される。以後は図４のステップＳ１４へ進み、次の表の選択が行われる。
【００２９】
また、付録の節の変換表３５は、開始表である付録の変換表３３が適合済みであれば、ステップＳ３５へ進み、適合済みでなければ、ステップＳ４０へ進み不適合と判定される。
ステップＳ３５〜４５では、当該変換表と入力文書中の文字ポインタから始まる文字列が当該変換表のルールに適合するか否かの判定がされる。
【００３０】
ステップＳ３５で行ポインタを変換表の先頭の行に位置づけ、ステップＳ３６で入力文書の比較ポインタを文字ポインタと同じ位置に動かす。
ステップＳ３７で、適合範囲格納テーブルが一つ拡張されて、ステップＳ３８へ進む。この適合範囲格納テーブルは、図１０に示す構造を有しており、適合が判定されている文字列の適合位置と、その長さが変換表の各行ごとに記録されるもので、処理の進行に伴って順次拡張していくものである。
【００３１】
ステップＳ３８では、行ポインタが指す行の変換元パターンが、比較ポインタから始まる入力文書の文字列と適合するか否かが判定される。適合しなければ、ステップＳ３９で図１０の適合範囲格納テーブルが解放されて、ステップＳ４０へ進み、不適合と判定され、図４のステップＳ４へ進む。適合すれば、ステップＳ４１へ進む。
【００３２】
ステップＳ４１では、適合範囲格納テーブルの「適合位置」に比較ポインタの位置を入れて、ステップＳ４２では、適合範囲格納テーブルの「適合長」に適合した長さを入れる。
ステップＳ４３では、比較ポインタを適合した範囲の次の位置へ動かす。図１０の第１行の例では、適合位置の３１０から、適合長６だけ離れた位置３１６へ比較ポインタを動かす。ステップＳ４４では、行ポインタを一つ後ろへ動かす。前記の例では、第２行に動かす。
【００３３】
ステップＳ４５では、当該変換表に行が残っているか否かが判定され、残っていれば、ステップＳ３７へ戻る。以後、この処理を繰り返すことにより、変換表における全ての行の変換元パターンが、比較ポインタから始まる文字列と適合するか否かが判定される。もし、途中で一致しなくなると、ステップＳ３８からステップＳ３９，Ｓ４０へ進み、不適合と判定される。また、全ての行の変換元パターンが一致すれば、ステップＳ４６において適合と判定され、図４のステップＳ１７へ進む。
【００３４】
以上の処理において、入力文書の文字列が図６の変換表と適合した場合は、前の説明と同じ変換が行われるので、重複する説明は省略する。ここでは、文字列が図７の変換表と適合した場合についての説明を行う。
始めに変換表３６について説明すると、第１行の「△」は索引の開始記号、第５行の「→」は読みの開始記号、第７行の「←▽」は読みの終了記号と索引の終了記号を表す。
【００３５】
また、入力文書中に図１１に示すような索引「△装置→そうち←▽」が記載されていた場合、この文字列については、以上説明した図８、図９の処理により、次の変換が終了している。
１）「△」は「＜索引  読み＝”」に変換される。
２）続いて変換先パターンに、無条件に「＜＜ラベルＡ」が挿入される。
【００３６】
３）同じく変換先パターンに、無条件に「”＞」が挿入される。
４）「装置」はそのまま無変換とされる。
５）「→」は削除される。
６）「そうち」は「＞＞ラベルＡ」に変換される。
７）「←▽」は「＜／索引＞」に変換される。
【００３７】
次に、図４のステップＳ１６の詳細について、図１２のフローチャートを用いて説明する。この処理は、ある変換表に適合した範囲の入力文書の文字列を、その変換表に従って変換先パターンに変換してマーク付き文書部６に出力するものである。さらに、この処理においては、図７の変換表３６を用いた変換先パターンの入替えも行われる。
【００３８】
ステップＳ５１で、行ポインタを適合した変換表の先頭の行に位置づける（以下、この行ポインタが指す行を省略して「現在行」という。）。
次に、ステップＳ５２において、現在行の変換先パターンが変換された型のもの（””で囲まれたもの"...."）であるか否かが判定され、変換型であれば、ステップＳ５３で、現在行の変換先パターンの文字列"...."をマーク付き文書部６に出力する。変換型でなければ、ステップＳ５４へ進む。
【００３９】
ステップＳ５４において、現在行の変換先パターンが複写の型（＝）であるか否かが判定され、複写型であれば、ステップＳ５５で、現在行の適合範囲格納テーブルが示す入力文書の範囲をマーク付き文書部６に出力する。複写型でなければ、ステップＳ５６へ進む。
ステップＳ５６では、移動先の型（＜＜）か否かが判定される。移動先型であれば、ステップＳ５７で、同じ移動ラベル（図７の例では、ラベルＡ）を持つ移動元（＞＞）の行を検出して、適合範囲格納テーブルにおいてその行の示す入力文書の範囲（図７の例では「そうち」）をマーク付き文書部６に出力する。含まなければ、ステップＳ５８へ進む。
【００４０】
ステップＳ５８では、行ポインタを一つ後ろに動かし、ステップＳ５９で変換表に行が残っているか否かが判定される。残っていれば、ステップＳ５２へ戻り、以上説明したステップが繰り返される。当該変換表について全ての行についての変換が終了すれば、ステップＳ６０へ進んで適合範囲格納テーブルを解放して、図４のステップＳ８へ進む。
【００４１】
以上の図１２の処理において、入力文書の文字列が図６の変換表に適合した場合は、前の説明と同じようなマーク付き文書出力部６への出力が行われるので、重複する説明は省略する。
ここでは、文字列が図７の変換表に適合した場合について説明を行う。なお、図７を用いた変換については、図８、図９の説明において既に説明したように変換が終了している。
【００４２】
１）変換された「＜索引  読み＝”」を出力する。
２）挿入された「＜＜ラベルＡ」に対応する移動元「＞＞ラベルＡ」を検出し、現在行の適合範囲格納テーブルが示す入力文書の範囲の「そうち」を出力する。
３）挿入された「”＞」を出力する。
【００４３】
４）「＝」に対して現在行の適合範囲格納テーブルが示す入力文書の範囲の「装置」を出力する。
５）第５，６行は無視される。
６）変換された「＜／索引＞」を出力する。
以上の結果、図１１に示すように、読みの「そうち」が表記の「装置」の前に移動させられる。
【００４４】
以上説明した実施例においては、章と節からなる文書のマーク付け処理について説明してきた。本発明の自動マーク付け装置は、このような章と節からなる文書のマーク付け処理の変換のみならず、その他の論理構造の文書に対しても適用可能である。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施例の文書マーク付け装置の構成を示す文書図。
【図２】図１の装置において使用される入力文書とマーク付き文書を示す図。
【図３】図１におけるマーク付けルール部の詳細を示す図。
【図４】図１の装置の処理を説明するためのフローチャート。
【図５】図１の装置による処理の結果を示す図。
【図６】図３のマーク付けルールの変形例を示す図（その１）。
【図７】図３のマーク付けルールの変形例を示す図（その２）。
【図８】図４のステップＳ１３の詳細を説明するためのフローチャート（その１）。
【図９】図４のステップＳ１３の詳細を説明するためのフローチャート（その２）。
【図１０】図８、図９のフローチャートで使用される適合範囲格納テーブルを示す図。
【図１１】図７の変換表を用いた場合の処理結果を示す図。
【図１２】図４のステップＳ１６の詳細を説明するためのフローチャート。
【符号の説明】
【００４６】
１    文書入力部
２    マーク付けルール部
３    マーク付け部
４    適合ルール検索部
５    文字列変換部
６    マーク付き文書出力部
１１    入力文書
１２    章の表示
１３    節の表示
１４    マーク付き文書
１５    章のマーク
１６    節のマーク
２１    マーク付けルール
２２，２３，３２〜３６    変換表
【図１】
2006048720.tif 000003
【図２】
2006048720.tif 000004
【図３】
2006048720.tif 000005
【図４】
2006048720.tif 000006
【図５】
2006048720.tif 000007
【図６】
2006048720.tif 000008
【図７】
2006048720.tif 000009
【図８】
2006048720.tif 000010
【図９】
2006048720.tif 000011
【図１０】
2006048720.tif 000012
【図１１】
2006048720.tif 000013
【図１２】
2006048720.tif 000014