(57)【要約】【課題】文書中の表構造あるいは表に類似した構造の部分を適切に抽出し、かつその抽出された表構造あるいは表に類似した構造の部分を構造化文書として利用できる出力文書を生成することができる文書処理装置を提供する。【解決手段】文書処理装置１は、属性付与情報を定義した知識辞書部７と、出力制約情報を定義した変換ルール部９と、特定された変換対象箇所に出現する文字列に対して、予め決められた文字列の有無を判断し、知識辞書部の属性付与情報に基づいて前記予め決められた文字列に対応する属性情報を付与する属性付与部３と、属性付与部によって付与された属性情報の中から、出力制約情報に定義された予め決められた属性情報の出現の規則性を決定し、出力制約情報の変換写像を生成する変換写像生成部４と、生成された変換写像の情報を、出力制約情報に合致した形式で出力文書を生成し出力する出力文書生成部５とを有する。【選択図】図１
2006053612.tif 000002
【特許請求の範囲】
【請求項１】
予め決められた文字列に対して属性情報を付与するための属性付与情報を定義した知識辞書部と、
入力文書の変換対象箇所に対して変換を行って出力文書を出力するための出力制約情報を定義した変換ルール部と、
特定された前記変換対象箇所に出現する文字列に対して、前記予め決められた文字列の有無を判断し、前記知識辞書部の前記属性付与情報に基づいて前記予め決められた文字列に対応する前記属性情報を付与する属性付与部と、
前記属性付与部によって付与された前記属性情報の中から、前記出力制約情報に定義された予め決められた属性情報の出現の規則性を決定し、この決定された前記出現の規則性に基づいて、前記出力制約情報の変換写像を生成する変換写像生成部と、
前記変換写像の情報を、前記出力制約情報に合致した形式で出力文書を生成し出力する出力文書生成部とを有することを特徴とする文書処理装置。
【請求項２】
さらに、前記入力文書の前記変換対象箇所を特性する変換対象箇所特定部を有し、該変換対象箇所特定部によって前記変換対象箇所が特定されることを特徴とする請求項１に記載の文書処理装置。
【請求項３】
前記変換対象箇所は、表形式構造の文字列を含み、
前記変換写像生成部は、前記予め決められた属性情報の繰り返し出現する回数を前記表形式のセル内容の繰り返し出現回数とし、該繰り返し出現回数に応じて、前記変換対象箇所に出現する文字列の中から前記予め決められた文字列が前記セル内容を示すと判定し、前記変換写像を生成することを特徴とする請求項１又は請求項２に記載の文書処理装置。
【請求項４】
前記出力文書生成部は、前記セル内容が空要素であるときは、前記セル内容を含む前記出力文書の出力は行わないことを特徴とする請求項３に記載の文書処理装置。
【請求項５】
前記属性付与部は、前記変換対象箇所に出現する文字列に対して形態素解析を行う形態素解析部を含み、該形態素解析部による解析結果を用いて前記属性情報の付与を行うことを特徴とする請求項１から請求項４のいずれか１項に記載の文書処理装置。
【請求項６】
予め決められた文字列に対して属性情報を付与するための属性付与情報を定義し、
入力文書の変換対象箇所に対して変換を行って出力文書を出力するための出力制約情報を定義し、
特定された前記変換対象箇所に出現する文字要素に対して、前記予め決められた文字列の有無を判断し、前記属性付与情報に基づいて前記予め決められた文字列に対応する前記属性情報を付与し、
付与された前記属性情報の中から、前記出力制約情報に定義された予め決められた属性情報の出現の規則性を決定し、決定された前記規則性に基づいて、前記出力制約情報の変換写像を生成し、
生成された前記変換写像の情報を、前記出力制約情報に合致した形式で出力文書を生成し出力することを特徴とする文書処理方法。
【請求項７】
コンピュータが文書変換を行うためのプログラムであって、
予め決められた文字列に対して属性情報を付与するための属性付与情報を定義する機能と、
入力文書の変換対象箇所に対して変換を行って出力文書を出力するための出力制約情報を定義する機能と、
特定された前記変換対象箇所に出現する文字要素に対して、前記予め決められた文字列の有無を判断し、前記属性付与情報に基づいて前記予め決められた文字列に対応する前記属性情報を付与する機能と、
付与された前記属性情報の中から、前記出力制約情報に定義された予め決められた属性情報の出現の規則性を決定し、決定された前記規則性に基づいて、前記出力制約情報の変換写像を生成する機能と、
生成された前記変換写像の情報を、前記出力制約情報に合致した形式で出力文書を生成し出力する機能とを前記コンピュータに実現させる文書変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書変換装置及び方法、文書変換プログラムに関し、特に、文書中の表構造あるいは表に類似した構造の部分を抽出して構造化文書に変換して出力する文書変換装置及び方法、文書変換プログラムに関する。
【背景技術】
【０００２】
近年、文書の構造化が注目されている。電子テキスト文書にタグを付与して構造化文書を作成する場合には、入力文書毎に記載内容を人が検討し、入力文書と出力文書の構造間の対応付け、いわゆる変換写像を人手によって変換スクリプトや変換プログラムとして記述したり、変換の手掛かりとなるマーキング記号を人が付与し、この後スクリプトによる一括変換を行なうことで実現していた。
【０００３】
一方、文書には、いわゆる表形式の部分が含まれることがある。そのような表形式の部分を構造化する技術として、特開２００１−３２５２８４公報に記載のものがある。この技術によれば、表構造の各要素を認識等することができる。
【特許文献１】特開２００１−３２５２８４公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上述した特許文献１に記載の技術の場合、表形式の部分を明確に指定して文書処理装置に入力しなければならないのであるが、家電マニュアルや医薬品添付文書のように閲覧性を優先した文書は、表構造あるいは表に類似した構造の記述の仕方が多様であるため、上記技術を利用して、閲覧性を優先した文書から内容を正しく取り出し、構造化文書を作成することが困難だった。
【０００５】
そこで、本発明は、文書中の表構造あるいは表に類似した構造の部分を適切に抽出し、かつこの抽出された表構造あるいは表に類似した構造の部分を構造化文書として利用できる出力文書を生成することができる文書処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の文書処理装置は、予め決められた文字列に対して属性情報を付与するための属性付与情報を定義した知識辞書部と、入力文書の変換対象箇所に対して変換を行って出力文書を出力するための出力制約情報を定義した変換ルール部と、特定された前記変換対象箇所に出現する文字列に対して、前記予め決められた文字列の有無を判断し、前記知識辞書部の前記属性付与情報に基づいて前記予め決められた文字列に対応する前記属性情報を付与する属性付与部と、前記属性付与部によって付与された前記属性情報の中から、前記出力制約情報に定義された予め決められた属性情報の出現の規則性を決定し、この決定された前記出現の規則性に基づいて、前記出力制約情報の変換写像を生成する変換写像生成部と、前記変換写像の情報を、前記出力制約情報に合致した形式で出力文書を生成し出力する出力文書生成部とを有する。
【発明の効果】
【０００７】
本発明の文書処理装置によれば、文書中の表構造あるいは表に類似した構造の部分を適切に抽出し、かつこの抽出された表構造あるいは表に類似した構造の部分を構造化文書として利用できる出力文書を生成することができる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照して本発明の実施の形態を説明する。
【０００９】
図１は、本実施の形態である文書構造化処理装置の構成を示す機能ブロック図である。文書構造化処理装置１は、変換対象箇所特定部２と、属性解析部３と、変換写像生成部４と、変換実行部５と、知識辞書解析部６と、知識辞書部７と、変換ルール解析部８と、変換ルール部９とを含む。文書構造化処理装置１は、例えば、各種プログラムと各種データが記憶可能な記憶装置を有するコンピュータ装置である。各部のプログラム及び必要なデータは、コンピュータの記憶装置に記憶されている。
【００１０】
本明細書における各「部」は、実施の形態の各機能に対応する概念的なもので、必ずしも特定のハードウエアやソフトウエア・ルーチンに１対１には対応しない。従って、本明細書では、以下、実施の形態の各機能を有する仮想的回路ブロック（部）を想定して実施の形態を説明する。また、本実施の形態における各手順の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、あるいは実行毎に異なった順序で実行してもよい。
【００１１】
なお、文書構造化処理装置１は、例えば汎用のコンピュータ装置を基本ハードウエアとして用いることができる。そして、変換対象箇所特定部２、属性解析部３、変換写像生成部４、変換実行部５、知識辞書解析部６及び変換ルール解析部８は、上記コンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このときに文書構造化装置１は、上記のプログラムをコンピュータ装置に予めインストールされてもよいし、ＣＤ−ＲＯＭ等のようなリムーバブルな記憶媒体に記録して、あるいはネットワークを介して上記のプログラムを配布し、このプログラムをコンピュータ装置に適宜インストールして実現されても良い。知識辞書部７と変換ルール部９は、上記コンピュータ装置に内蔵されたメモリやハードディスク装置等の記憶デバイス、上記コンピュータに外付けされたメモリやハードディスク装置等の記憶デバイス、さらにはフロッピー（登録商標）ディスク等のようなリムーバブルな記憶媒体等を適宜利用して実現することができる。
【００１２】
文書構造化処理装置１において、変換対象箇所特定部２には、入力文書のデータが入力される。入力文書は、例えば、図２に示すように、文書中に表構造あるいは表に類似した構造の部分を含む文書である。図２は、入力文書の例を示す図である。表構造あるいは表に類似した構造は、行と列からなり、表の要素であるセル内容の情報を含む。
【００１３】
以下、本明細書において、表構造あるいは表に類似した構造の部分を単に表形式の部分と記す。また、以下の説明では、各セル内容には、文字列の情報が含まれているものを例として示す。
【００１４】
変換対象箇所特定部２は、入力文書を受理し、入力文書の中から構造化処理を行う対象箇所あるいは対象領域を特定する。図２に示すように、入力文書には、表形式の部分と、表形式でない部分が含まれる。例えば、図２に示す紙等に印刷された入力文書をＯＣＲ（光学的文字読取装置）で読み込み変換した結果、文字列データすなわちテキストデータとして、図３に示すように変換される。図３は、テキストデータに変換された入力文書の例を示す図である。なお、ＯＣＲソフトウエアによっては、図３に示す形式以外の形式の文字列データに変換されるものもあるが、ここでは、入力文書は図３の形式でテキストデータに変換されたものとして、以下説明する。なお、入力文書はＯＣＲソフトウエアの出力に限るものではなく、テキストデータとして事前に人手により作成したものや、例えばブラウザに表示されている表形式を含むデータをcut&pasteによりテキストデータとして格納されたものでも良い。
【００１５】
このような入力文書の形式が持つべき必要な条件とは、テキストデータとして一元的に枚挙されたデータにおいて、表の各要素に対応する(空白も含む)各テキスト内容が、改行やタブその他セパレータ記号などによって明示的に区別できるものであって、さらに表構造中の要素は行方向でも列方向でも良いが、ある一定の順序に従って枚挙されているものを想定している。
【００１６】
属性解析部３では、まず前段の変換対象箇所特定部２で特定された変換対象箇所からテキスト要素を抽出する。なお、ここでのテキスト要素とは、図３に示したようなベタテキストの場合であれば、行単位で区切られた場合の各行を指す。また、既に入力がタグ付き文書、例えば粗い粒度のタグが付いたＨＴＭＬ(Hyper Text Markup Language)形式の文書であれば、タグで囲まれた個々の文字列を示すものとする。
【００１７】
知識辞書部７は、属性解析部３において属性情報を付与するために照合すべきキーワード等を事前に登録している。知識辞書解析部６は、予め決められた文字列等のキーワードの語彙の意味と、そのキーワードに対して付与すべき属性情報を定義している。知識辞書部７は、図１の点線に示すように知識辞書解析部６を介して、あるいは知識辞書解析部６と変換ルール解析部８を介して属性解析部３へキーワードと属性情報を供給する。
【００１８】
属性解析部３では、知識辞書部７を参照してテキスト要素毎に、属性情報としての属性値を付与する。この付与された属性値は、属性解析結果として、対応する元のテキスト要素と共に、変換写像生成部４へ出力される。属性解析部３の処理内容については後述する。
【００１９】
変換ルール部９は、構造化された文書を出力するための出力制約情報を定義している。
【００２０】
変換ルール部９の内容である入力文書と出力文書構造との対応付けは、ユーザが望む形式に沿った構造化文書を得るために、ユーザによって定義される。  
変換ルール部９の内容は、ユーザが望む形式に沿った構造化文書を得るために、ユーザによって定義される。
【００２１】
出力制約情報は、変換ルール解析部８を介して変換写像生成部４へ供給される。なお、本実施の形態では、変換ルール部９は、属性付与を行う抽出対象の属性情報を含むので、変換ルール部９の情報は、変換ルール解析部８を介して属性解析部３へも供給されている。
【００２２】
変換写像生成部４は、前段の属性解析部３において付与された各テキスト要素の属性値の中から、予め決められた属性値の出現の規則性などに基づいて、変換写像を生成する。変換写像生成部４の処理内容については後述する。
【００２３】
変換実行部５は、前段までの処理で得られた変換写像生成の結果を利用して、ここまでの処理で得られたテキスト要素を、変換ルールに予め定義された所定の変換後構造へと埋め込み、所望の構造化文書、例えばＸＭＬ（Extensible Markup Language）のデータを得る出力文書生成部である。変換実行部５の処理内容については後述する。
【００２４】
まず、文書構造化処理装置１における処理の全体の流れについて説明する。図４は、文書構造化処理装置１における入力文書に対して行われる構造化処理の全体の流れの例を示すフローチャートである。
【００２５】
例えば、表構造部分を含む文書に対して構造化処理を行いたいユーザは、文書構造化処理装置１に文書を入力する。この入力文書は、電子的テキストデータを含む文書データであれば、その電子データであるが、元々の文書が紙文書であれば、ＯＣＲソフトウエアによってイメージデータからテキストデータへ変換された電子データである。
【００２６】
入力されたデータに対して、変換対象箇所の特定が行われる（ステップ（以下Ｓと略す）1）。Ｓ１の処理は、変換対象箇所特定部２において実行される。変換対象箇所特定部２では、入力文書中、例えば表層表現である「副作用」などの部分構造の開始となる語を事前にコンピュータの記憶装置の所定の記憶領域に登録しておき、入力文書内の章や節に相当する領域をそれらの語と語の間に位置する領域として対象箇所の特定を行なう。ここでは入力文書の全体の中から、図３における入力文書の「4.副作用」というキーワード以降の部分が抽出対象として得られているものとする。
【００２７】
なお、入力文書の中のどの領域あるいは範囲を変換対象箇所とするかは、特定の章等を指定したり、マニュアルで人が指定してもよい。
【００２８】
この変換対象箇所特定部２の処理によって、ユーザが入力した入力文書中において、変換対象となる箇所あるいは領域（以下、変換対象箇所と記す）だけが特定すなわち抽出される。
【００２９】
そして、属性解析部３において、変換対象箇所特定部２により抽出された変換対象箇所のデータから、テキスト要素の抽出が行われ（Ｓ２）、この抽出された各テキスト要素に対する属性値すなわちクラスの付与が行われる（Ｓ３）。
【００３０】
最後に、変換写像生成部４において、クラス出現の規則性を抽出し（Ｓ４）、変換写像の決定を行う（Ｓ５）。最後に、変換実行部５が、予め決められた変換後構造にテキスト要素を埋め込む変換処理を実行する（Ｓ６）。
【００３１】
次に、各部の処理を詳細に説明する。  
属性解析部３は、上述したように、変換対象箇所のデータからテキスト要素の抽出（Ｓ２）を行い、さらに、属性の付与（Ｓ３）を行う。この属性解析部３におけるこれらの処理について、図５を用いて更に詳細に説明する。
【００３２】
図５は、属性解析部３の処理の流れの例を示すフローチャートである。  
図５に示すように、まず変換ルールの読み込みが行われる（Ｓ１１）。図６は、変換ルールの記述例を示す。図６に変換ルールにおいて、＜抽出対象＞タグで囲まれた部分１０１が、属性解析部３において抽出され付与される属性が記述された抽出対象属性記述部である。すなわち、どのような属性を選択して属性の付与を行なうかの指定が、この変換ルールの読み込みによって行なわれる。なお、変換ルールにおいて、抽出対象の指定が存在しない場合には、デフォルトとして予め決められている属性を選択して解析を行なう。図６には、「ラベル」、「項目名」、「セル内容」及び「コメント行」の４つの属性が、解析を行なう抽出対象として記述されている。
【００３３】
なお以下、各テキスト要素に対する属性のことをクラス分けもしくはクラス分類あるいは単にクラス等と呼称する。
【００３４】
Ｓ１１の次に、変換対象箇所となる、前段の変換対象箇所で文書中から特定された部分はタグ付き文書か否かの判定が行なわれる（Ｓ１２）。この変換対象箇所がタグ付き文書として解析可能であれば（Ｓ１２のＹＥＳ）、この変換対象箇所を例えば木構造として展開する（Ｓ１３）。続いて、木構造の深さ優先でテキスト要素の抽出を行ない、この際、各テキスト要素の親タグ名や、この時点で抽出しているテキスト要素が文書全体を表す木構造の根を開始地点としてどれほどの深さにあるかといった値も、テキスト要素から抽出された属性値として格納しておく（Ｓ１４）。
【００３５】
一方、変換対象箇所に構造が無くいわゆるベタテキストとなっている場合には、Ｓ１２でＮＯとなり、一行毎に読み込み、各行をそれぞれ１つのテキスト要素として格納する（Ｓ１５）。ここまでの処理により、変換対象箇所の部分がタグ付き文書とベタテキストのいずれの形式の文書であっても、テキスト要素が文書中での出現順序と共に格納された状態となる。
【００３６】
具体的には、図３に示す入力文書のテキストデータから図７に示すようなテキスト要素リストが作成される。図７は、テキスト要素リストの例を示す図である。図７に示すように、テキスト要素毎に、出現順序に対応する識別子、すなわちテキスト識別子（以下、テキスト要素ＩＤと記す）が付与される。すなわち、図３の入力文書に対して、図５のＳ１２からＳ１５までの処理を実行すると、図７に示すようなテキスト要素リストが生成される。なお、テキスト要素ＩＤは、入力文書における各テキスト要素の出現の順序を表しているので、後述するように、変換写像生成部４において、予め決められた特定の属性値がどのような順番で出願しているのか、或いは特定の属性値の組がどのように連続的に出現しているのか、を判定することに利用できる。
【００３７】
この結果を受け、続く属性付与処理（Ｓ１６）では、各テキスト要素について、予め決められた文字列長を有するか、あるいは予め決められた文字種別、予め決められた文字列が含まれるかをチェックし、各行の属性値、すなわち各テキスト要素の属性値を決定し、各テキスト要素に対して属性値の付与を行う。なお、上述したように、予め決められた文字列等のキーワードと対応する属性情報は、例えば図８に示すように知識辞書部７に予め定義され記憶されている。
【００３８】
図８は、知識辞書部７に定義された項目名とラベルを抽出するための情報例を説明するための図である。すなわち、図８に示すように、「；」の右側に記載されている文字列と、この文字列に対応する属性情報が「；」の左側に記載されており、リスト形式で知識辞書部７に登録されている。
【００３９】
属性付与処理Ｓ１６における処理について説明する。図９は、属性付与処理Ｓ１６の流れの例を示すフローチャートである。まず初めに、変換ルール中の記述から、抽出対象属性記述部１０１の情報を読み込む（Ｓ２１）。これは、図６中の＜抽出対象＞タグによって囲まれた領域内に記述された各要素、図６の例では「ラベル」、「項目名」、「セル内容」及び「コメント行」の要素を読み込むことに相当する。
【００４０】
次に、処理対象の行（テキスト要素）を一行分読み込む（Ｓ２２）。そして、Ｓ２１で読み込んだ抽出対象属性記述部１０１の情報から抽出対象の属性であるか否かを判定し（Ｓ２３，Ｓ２５，Ｓ２７，Ｓ２９）、抽出対象として指示されている属性であれば、図８に示した知識辞書部７で指定されている当該属性情報に係わる文字列がＳ２２で読み込んだ行のテキスト要素中に含まれているか否かを判定する（Ｓ２４，Ｓ２６，Ｓ２８，Ｓ３０）。
【００４１】
まず、言葉の定義を行なう。ここでの「項目名」とは、一般的に表に出現する要素を示す語であって、この具体的として図２の例を用いた場合には“過敏症”、“出血傾向”、“血液”などの１列目に出現する要素を示すものとする。また知識辞書中の“ｉｔｅｍ”とは、ある分野の文書において「項目名」に対応する語や表現に対し予め付与しておく識別子とする。
【００４２】
具体的な処理例を以下に示す。Ｓ２２で読み込んだ処理対象行のテキスト要素中に、項目名に対応した文字列（図８の“ｉｔｅｍ”に対応する文字列）が出現しているか否かを判断する（Ｓ２３）。図６の例では、項目名の抽出が記述（指示）されているので、Ｓ２３でＹＥＳとなって、図８に示した辞書リストを参照し、属性情報“ｉｔｅｍ”に対応する文字列、例えば「過敏症」、「血液」等が現在の処理対象の行（テキスト要素）の文中に含まれていれば、この処理対象の行（テキスト要素）に対して“項目名”の属性値を付与する（Ｓ２４）。
【００４３】
同様にして、Ｓ２２で読み込んだ処理対象行のテキスト要素中に、ラベル名に対応した文字列（図８の“ｌａｂｅｌ”に対応する文字列）が出現しているか否かを判断する（Ｓ２５）。図６の例では、ラベル名の抽出が記述（指示）されているので、Ｓ２５でＹＥＳとなって、図８に示した辞書リストを参照し、属性情報“ｌａｂｅｌ”に対応する文字列、例えば「０．１〜５％未満」、「頻度不明」等が現在の処理対象の行（テキスト要素）の文中に含まれていれば、この処理対象の行（テキスト要素）に対して“ラベル”の属性値を付与する（Ｓ２６）。
【００４４】
同様にして、Ｓ２２で読み込んだ処理対象行のテキスト要素がセル内容であるか否かを判断する（Ｓ２７）。なお、セル内容とは、表の要素中、ラベルや項目名などではなく、データの内容が記載された要素を指す。図６の例では、セル内容の抽出が記述（指示）されているので、Ｓ２７でＹＥＳとなって、処理対象の行（テキスト要素）が予め定められた文字列長の閾値（例えば２０文字）を越えていないか、またキーワード等の特定の文字列、例えば「貧血」等が現在の処理対象の行（テキスト要素）の文中に含まれていれば、この処理対象の行をセル内容と判定し、この処理対象の行（テキスト要素）に対して“セル内容”の属性値を付与する（Ｓ２８）。
【００４５】
さらにまた、Ｓ２２で読み込んだ処理対象行のテキスト要素がコメント行であるか否かを判断する（Ｓ２９）。図６の例では、コメント行の抽出が記述（指示）されているので、Ｓ２９でＹＥＳとなって、処理対象の行（テキスト要素）が予め定められた文字列長の閾値（例えば２０文字）を越えているか、あるいはキーワード等の特定の文字列、例えば「注１」等が現在の処理対象の行（テキスト要素）の文中に含まれていれば、この処理対象の行をコメント行と判定し、この処理対象の行に対して“コメント行”の属性値を与える（Ｓ３０）。
【００４６】
なお、この場合参照している辞書例において、処理対象の行（テキスト要素）中に出現する文字列として正規表現を含めたものを記載しておき、処理対象の行に対し属性値付与のための判定処理を行なう。
【００４７】
Ｓ２９またはＳ３０の次に、変換対象箇所内の全ての行について、上述した処理を行ったか否かが判断される（Ｓ３１）。Ｓ３１で全ての行について処理が終わっていなければ（Ｓ３１のＮＯ）、処理はＳ２２へ戻る。Ｓ３１で全ての行について処理が終わっていれば（Ｓ３１のＹＥＳ）、最終的に属性が付与されなかった行について、一時的に“その他”の仮属性を付与し、各行のテキスト要素とそれに対応するテキストＩＤのほか、本属性解析部３で付与された属性値のデータを後段の処理へ渡す（Ｓ３２）。
【００４８】
以上のように、属性解析部３は、前記知識辞書部７の情報を用いて、変換対象箇所に出現する文字列の中に、予め決められた文字列があるか否かを判断し、行（テキスト要素）に属性値を付与する。属性解析部３は、この処理結果を各行（テキスト要素）に対する属性値としてコンピュータ内の記憶装置に格納する。
【００４９】
以上のようにして、変換対象箇所特定部２によって抽出された変換対象箇所のデータに対して、属性解析部３によって、テキスト要素の抽出およびこの抽出された各テキスト要素に対する属性値の付与が行われると、この解析結果データはコンピュータ内の記憶装置に記憶される。
【００５０】
なお、このテキスト要素に属性値を付与するときの属性値の取得にあたっては、図１において点線で示した形態素解析部１０を用いてテキスト要素に対して形態素解析を行い、この形態素解析結果とこの形態素解析結果に対して付与すべき属性値との関係を形態素解析ルールとして予め用意しておき、形態素解析結果を利用してある特定の品詞の組み合わせがテキスト要素の中に出現するか否かに基づいて属性値の付与を行うようにしてもよい。
【００５１】
以上のような処理を変換対象箇所内の全てのテキスト要素に対して行った後で処理を終了し、最終的に得られた解析結果を続く変換写像生成部４に供給する。
【００５２】
次に、変換写像生成部４における処理について説明する。
【００５３】
まず、上述した図４のクラス出現の規則性取得（Ｓ５）の処理について説明する。具体的には、各テキスト要素に対応付けられたクラス分け（属性付与）の結果をテキスト要素の出現順に見ていき、類似するクラスに分類されたテキスト要素がどのような規則性をもって出現しているか判定を行なう。ここではクラス分けの結果、図１０に示すようにテキスト要素ＩＤの３，４，５および１９，２０，２１の属性が“ラベル”として分類づけられたとする。図１０は、付与された属性値とテキスト要素ＩＤの具体例を示す図である。
【００５４】
この例によると、文書中で最初に出現した“ラベル”のテキスト要素ＩＤは、ＩＤ３であり、ここからＩＤ５まで連続していることが分かる。“ラベル”が連続して３要素続いていることから、この後続のテキスト要素には、この３要素に対応する３つの“セル内容”が繰り返して出現しているものと仮定し、繰り返しの構造を抽出する。
【００５５】
この結果、ＩＤ６以降のテキスト要素はそれぞれ、［［項目名］，［セル内容］］の様に分割されるため、そのテキスト要素ＩＤの具体例を示すと、［［６］，［７，８，９］］、［［１０］，［１１，１２，１３］］、［［１４］，［１５，１６，１７］］、［［１８］，［１９，２０，２１］］・・・となる。この繰り返し構造は、「コメント行」の出現や、異なる「ラベル」とされたテキスト要素の出現など異なるクラス分けが為されたテキスト要素が出現するか、あるいは変換対象箇所が終端するまで、同様の繰り返し構造が続くと仮定し、テキスト要素に“セル内容”の属性値を付与する。この例の終端箇所を判定するために、クラス分けの結果である属性値が付与された図１０を見てみると“ラベル”と判定されたのは、ＩＤ３−５の他、ＩＤ１９−２１のテキスト要素がある。
【００５６】
このため、ラベルのＩＤ３−５に基づく繰り返し構造の抽出対象箇所は、ＩＤ１９以降のテキスト要素を除き、この直前までに正しく繰り返し構造を取得した構造（［［１４］，［１５，１６，１７］］）をこの抽出処理対象の終端と仮定する。
【００５７】
続いて、次に抽出すべき繰り返し構造として“ラベル”にクラス分けされたテキスト要素を探す。図１０の例に拠れば、ＩＤ１９−２１のテキスト要素に”ラベル”に該当するテキスト要素が出現していることが分かる。そのため、ＩＤ１９−２１に後続するテキスト要素には先の繰り返し構造を抽出した場合と同じく、３要素に対応する３つのセル内容の繰り返し構造が出現していると仮定し、繰り返しの構造を抽出する。この場合の抽出処理の終端であるが、ＩＤ３８−３９に属性値として「コメント要素」が付与されたテキスト要素が存在しているため、ＩＤ３８以降のテキスト要素は抽出対象外とする。このため、ＩＤ１９−２１に基づく組み合わせは最終的に［［２２］［２３，２４，２５］］、［［２６］，［２７，２８，２９］］、［［３０］，［３１，３２，３３］］、［［３４］，［３５，３６，３７］］となる。
【００５８】
これ以降のテキスト要素に対しては、“ラベル”に該当する要素が存在しないため、“ラベル”の抽出処理は終了する。
【００５９】
以上のように、変換写像生成部４は、テキスト要素の出現がどのような繰り返しとなっているのかを属性から推測し、この結果を出力制約に当てはめて出力しているので、入力文書に対して、情報の抽出が容易にできない場合や情報抽出結果が不適切な場合でも、表形式の部分の構造化を可能としている。
【００６０】
最後に“セル内容”に該当するテキスト要素の抽出が行われる。これは例えば、変換対象箇所の全テキスト要素から、これまでの処理でクラスが確定している要素を取り除くことによって求めることができる。例えば、「セル内容」＝（全テキスト要素）−「ラベル」−「項目名」−「コメント行」−（ラベル出現以前のテキスト要素）という定義式により決定される。この定義式に基づいて得られたテキスト要素が“セル内容”とされる。図１０で「セル内容」と記載した部分がこの結果を示し、この結果には“セル内容”のテキスト要素ＩＤの情報が示されている。
【００６１】
以上のように、変換写像生成部４は、属性解析部３によって付与された属性情報（例では、“項目名”、“ラベル”、“セル内容”、“コメント行”）の中から、出力制約情報に定義された予め決められた属性情報（例えば“ラベル”）について、出現の規則性を確定し、この確定された出現の規則性に基づいて出力制約情報の変換写像を生成する。変換写像生成部４は、その変換写像の情報を後段の変換実行部５へ供給する。
【００６２】
なお、図１に点線で示すように、コンピュータに接続されたモニタ等の出力部１１や、キーボード等の入力部１２を用いて、変換写像生成部４において生成された変換写像を、ユーザが確認し検証可能とするためにユーザへ変換写像を提示したり、この提示された変換写像に対しユーザによる写像の修正や編集を可能とするためのユーザ入力を受理したりするようにしてもよい。
【００６３】
次に、図１１のフローチャートを参照しながら、出力文書生成部としての変換実行部５の処理手順を説明する。図１１は、変換実行部５の処理の流れの一例を示すフローチャートである。まず、前段までに生成された変換写像を含む属性解析結果と変換ルールとを読み込む（Ｓ３１）。このとき事前に用意された変換ルールからは図６に示す各種出力制約情報１０２，１０３を読み込む。
【００６４】
図６に例として挙げられた出力制約情報では、“<構造例>”タグで囲まれた内部に変換後の構造が指定されている。まず、“<構造例 例=“1”>”で囲まれた１０２の要素内部を見ると、その内部にはそれぞれ４つのタグ<serialno>、<item>、<frequency>及び<description>を有し、さらにそれぞれがその子ノードとしてテキストノード（各値はそれぞれ“$count”、“「項目名」”、“「ラベル」”、“「セル内容」”）を有している。
【００６５】
このようにテキストノード中にクラス分類の結果が含まれている場合には、テキストノードで用いられているクラス分類の結果と、属性解析結果のクラス分類表記に同一のものがあるかどうかの検証が行われる。テキストノード中にクラス分類表記を含まない場合には、変換ルール中に記載された変換後構造を、新たな構造として既存構造と置き換える。検証の結果、テキストノードのクラス分類結果と、属性解析結果に含まれるクラス分類結果とが同じであれば、このテキストノードは属性解析結果中の対応するテキスト要素で置き換えられる。なお、変換ルール中のテキストノードで“$count”の表記が存在する場合には、この構造が参照されるごとに増加する数値で置き換えられるものとする。この処理は、対応する属性解析結果中のテキスト要素で未処理のものがある限り、続けられる。
【００６６】
まず、“<構造例>”タグの“例”属性に記載された値を読み込む（Ｓ３２）。そして、“例”属性が“１”であるか否かが判断される（Ｓ３３）。図６の場合は、出力制約情報１０２の“<構造例>”タグの“例”属性として“１”が設定されているため、Ｓ３３でＹＥＳとなり、Ｓ３４の処理へ進む。Ｓ３４では、構造例タグ中に出現する最終のテキスト属性「セル内容」が文書中に出現する度に、出力文書を繰り返し出力させるものとする。言い換えると、出力文書の出力回数は、テキスト属性「セル内容」が文書中に出現する回数となる。この場合、出力文書とは出力文書の構造の情報であり、変換実行部５から出力される出力文書は、構造化文書に変換できる形式の文書である。
【００６７】
この際、繰り返し出力の回数となる「セル内容」の出現回数と、「項目名」や「ラベル」の出現回数とは一致しないが、出力文書構造を出力する場合、この変換の定義として「項目名」は、直前に利用した内容を繰り返し適用するものとする。また「ラベル」は３組の繰り返しとなっていることが分かっているため、「セル内容」の（空要素も含めた）内容に対し、３つ組の各要素を順に掛けあわせて、すなわちセル内容毎に他の属性値をセットにして変換後構造の出力構造とする。
【００６８】
例えば、図７において、ＩＤ６のテキスト要素は、項目名であり、この直前のＩＤ３からＩＤ５のテキスト要素は連続したラベルを有しているので、表形式の横方向は、ＩＤ３、ＩＤ４及びＩＤ５のテキスト要素がもつ３つのラベルが対応し、表形式の縦方向は、ＩＤ６のテキスト要素が持つ項目名が対応すると仮定される。そして、ＩＤ７の属性とテキスト内容は、セル内容“発疹、痛痒感等”であるため、図１２に示すように、構造例１の出力制約情報１０２に合致した形式で、次の出力文書を生成し出力する。図１２は、変換対象箇所に対する最終的な出力文書構造の具体例を示す図である。
【００６９】
なお、前段の属性解析部で付与された属性によっては、変換ルール中に指定のない場合がある（この例では「その他」属性が付与されたテキスト要素が該当する）。このように変換ルールの中に対応する属性の指定がない場合には、これに対応するテキスト要素は、最終的な出力文書には出現することができないため、結果として除去されることになる。
【００７０】
<serialno>1</serialno>
<item>過敏症</item>
<frequency>0.1〜5％未満</frequency>
<description>発疹、痛痒感等</description>            ・・・出力（１）
次に、ＩＤ８、ＩＤ９及びＩＤ１１は、セル内容は空要素であるため、構造例１の出力制約情報１０２に合致した形式で、次の出力文書を生成した後、棄却され出力されない。
【００７１】
次に、ＩＤ１２はセル内容“皮下出血、血尿等”であるため、構造例１の出力制約情報１０２に合致した形式で、次の出力文書を生成し出力する。
【００７２】
<serialno>2</serialno>
<item>出血傾向</item>
<frequency>0.1％未満</frequency>
<description>皮下出血、血尿等</description>            ・・・出力（２）
同様にして、ＩＤ１３は空要素であるため、構造例１の出力制約情報１０２に合致した形式で、次の出力文書を生成した後、棄却され出力されない。
【００７３】
同様にして、ＩＤ１５はセル内容“貧血等”であるため、構造例１の出力制約情報１０２に合致した形式で、次の出力文書を生成し出力する。
【００７４】
<serialno>3</serialno>
<item>血液</item>
<frequency>0.1〜5％未満</frequency>
<description>貧血等</description>                     ・・・出力（３）
同様にして、ＩＤ１６及びＩＤ１７は空要素であるため、構造例１の出力制約情報１０２に合致した形式で、次の出力文書を生成した後、棄却され出力されない。
【００７５】
以上のようにして、ラベルＩＤ３−５に基づいて上記の３つの出力が得られる。同様に、ラベルＩＤ１９−２１に基づいて、次のような出力が得られる。
【００７６】
<serialno>4</serialno>
<item>消化器</item>
<frequency>0.1〜5％未満</frequency>
<description>悪心、胃部不快感、下痢</description>      ・・・出力（４）
<serialno>5</serialno>
<item>消化器</item>
<frequency>0.1％未満</frequency>
<description>嘔吐、食欲不振、便秘、口内炎等</description>  ・・・出力（５）
<serialno>6</serialno>
<item>肝臓</item>
<frequency>0.1〜5％未満</frequency>
<description>肝機能障害</description>                ・・・出力（６）
<serialno>7</serialno>
<item>肝臓</item>
<frequency>頻度不明</frequency>
<description>黄疸</description>                      ・・・出力（７）
<serialno>8</serialno>
<item>腎臓</item>
<frequency>0.1％未満</frequency>
<description>BUN-クレアチンの上昇</description>    ・・・出力（８）
<serialno>9</serialno>
<item>その他</item>
<frequency>0.1〜5％未満</frequency>
<description>CK(CPK)の上昇</description>          ・・・出力（９）
<serialno>10</serialno>
<item>その他</item>
<frequency>0.1％未満</frequency>
<description>頭痛・頭重感等</description>          ・・・出力（１０）
<serialno>11</serialno>
<item>その他</item>
<frequency>頻度不明</frequency>
<description>女性化乳房</description>              ・・・出力（１１）
以上のように、出力制約情報１０２の“<構造例>”タグの“例”属性として“１”が設定された出力制約情報について、この出力制約情報に合致した形式で出力文書が生成される。この処理は、入力文書中にセル内容が出現している箇所に対し、繰り返し適用される。その結果、出力制約情報に合致した形式で出力文書を出力する。
【００７７】
次に、“例”属性が“２”であるか否かが判断される（Ｓ３５）。図６の場合は、出力制約情報１０３の“<構造例>”タグの“例”属性として“２”が設定されているため、Ｓ３５でＹＥＳとなり、Ｓ３６の処理へ進む。
【００７８】
Ｓ３６では、“<構造例 例=“2”>”で囲まれた内部要素１０３を見ると、この内部には２つのタグ<serialno>及び<注意事項>を有し、さらにそれぞれがその子要素としてテキストノード（各値はそれぞれ“$count”、“「コメント行」”）を有している。
【００７９】
従って、出力制約情報１０３の“<構造例>”タグの“例”属性として“２”が設定された出力制約情報について、その出力制約情報に合致した形式で出力文書が生成される。具体的には、構造例に記載された末尾のテキスト属性、すなわちコメント行が入力文書中に出現する限り、その構造例のテンプレートとしての出力制約情報を適用して、テキスト要素を用いて出力制約情報に合致した形式で出力文書を出力する。出力文書の例は、図１３に示す。
【００８０】
以下同様に、変換ルールに定義された次の“例”属性について、変換実行部５は、変換処理を行っていき、最後の“<構造例>”タグの“例”属性として“ｎ”に対して変換処理を行うと（Ｓ３７，Ｓ３８）、変換後構造の文書によって既存の構造の文書を置き換えて出力文書とする（Ｓ３９）。
【００８１】
結果として、図１２に示す出力文書が生成される。図１２に示す出力文書は、テキストノードにクラス分類の表記がある箇所が、テキスト要素に置き換えて出力された形式のものである。また、テキスト要素の置き換えには、変換写像生成部４によって付与されたクラス分類（属性値）が参照される。
【００８２】
以上のように、本実施の形態によれば、入力文書の形式にバリエーションが生じている場合でも、ユーザは従来のように入力文書毎のルールを作成する必要がなく、文書変換に掛かるコストを低減できる。
【００８３】
また、例えば、ＯＣＲソフトウエアで読み込んだ表形式部分は、カンマで区切られているのか、一行で出力される等、ＯＣＲソフトウエアによって出力形態が異なっている。このように入力文書の形式にバリエーションがあっても、本実施の形態の文書処理装置によれば、適切にＸＭＬ等の構造化文書を出力することができる。
【００８４】
さらに、本実施の形態の文書処理装置によれば、既存の様々なテキスト文書を半自動で応用規格に基づいた構造化文書（ＸＭＬ文書）へ変換できるため、表形式の部分の情報の再利用や検索が容易に実現できる。
【００８５】
以上のように、本実施の形態によれば、入力文書中から表形式の所定の範囲を適切に特定して抽出し、かつ、その抽出範囲に対し所望の出力文書を作成することが出来る。さらに、同一タグ名の出現回数や順序、出現位置といった細かな制約が考慮されるので、複雑な変換が可能となる。
【００８６】
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
【図面の簡単な説明】
【００８７】
【図１】本発明の実施の形態に係る文書構造化処理装置の構成図を示すブロック図である。
【図２】本発明の実施の形態に係る入力文書の例を示す図である。
【図３】本発明の実施の形態に係るテキストデータに変換された入力文書の例を示す図である。
【図４】本発明の実施の形態に係る構造化処理の全体の流れの例を示すフローチャートである。
【図５】本発明の実施の形態に係る属性解析部の処理の流れの例を示すフローチャートである。
【図６】変換ルールの記述例を示す。
【図７】テキスト要素リストの例を示す図である。
【図８】知識辞書部に定義された項目名とラベルを抽出するための情報例を説明するための図である。
【図９】属性付与処理の流れの例を示すフローチャートである。
【図１０】付与された属性値とテキストIDの具体例を示す図である。
【図１１】変換実行部の処理の流れの例を示すフローチャートである。
【図１２】変換対象箇所に対する最終的な出力文書構造の具体例を示した図である。
【図１３】変換対象箇所に対する最終的な出力文書構造の他の具体例を示した図である。
【符号の説明】
【００８８】
１…文書構造化処理装置、２…変換対象箇所特定部、３…属性解析部、４…変換写像生成部、５…変換実行部、６…知識辞書部、７…知識辞書部、８…変換ルール解析部、９…変換ルール部、１０…形態素解析部。
【００８９】
代理人    弁理士    伊  藤    進
【図１】
2006053612.tif 000003
【図２】
2006053612.tif 000004
【図３】
2006053612.tif 000005
【図４】
2006053612.tif 000006
【図５】
2006053612.tif 000007
【図６】
2006053612.tif 000008
【図７】
2006053612.tif 000009
【図８】
2006053612.tif 000010
【図９】
2006053612.tif 000011
【図１０】
2006053612.tif 000012
【図１１】
2006053612.tif 000013
【図１２】
2006053612.tif 000014
【図１３】
2006053612.tif 000015