(57)【要約】【課題】ユーザが表の記載内容が適切な内容であるか否かを容易に検証することが可能な情報処理装置、制御方法、及びプログラムを提供する。【解決手段】表に対して解析を行った結果、表の項目に関しての表記や位置情報などをリスト構造として出力し、このリスト構造から所定位置の項目の表記を取得して、この表記からバージョンにかかる情報を取得する。そして、このバージョンにおけるＭｅｄＤＲＡテーブルの階層化された項目に関する情報を取得し、この情報と表の項目に表記された情報とを比較して、表の項目に表記された内容が適切か否かを判定する。【選択図】図１０
2018055576.tif 000002
【特許請求の範囲】
【請求項１】
表の分析処理を行う情報処理装置であって、
分析対象となる表を構成する項目に関する情報を抽出する抽出手段と、
階層に分けられた項目に関する情報をバージョンに対応して記憶する記憶手段と、
前記抽出手段によって抽出される表を構成する項目に関する情報から取得されるバージョンに係る情報を用いて、前記記憶手段から階層に分けられた項目に関する情報を取得する取得手段と、
前記抽出手段によって抽出した表を構成する項目が、前記取得手段によって取得した項目と一致するか否かを判定する判定手段と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記抽出手段は、前記表を解析することによってそれぞれの項目に関する表記内容及び表における位置をリスト構造として抽出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記取得手段は、前記抽出手段によって抽出される表を構成する項目に関する情報を前記リスト構造の所定の位置からバージョンに係る情報を取得することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
表の分析処理を行う情報処理装置の制御方法であって、
前記情報処理装置は、
分析対象となる表を構成する項目に関する情報を抽出する抽出ステップと、
前記抽出ステップによって抽出される表を構成する項目に関する情報から取得されるバージョンに係る情報を用いて、階層に分けられた項目に関する情報をバージョンに対応して記憶する記憶手段から階層に分けられた項目に関する情報を取得する取得ステップと、
前記抽出ステップによって抽出した表を構成する項目が、前記取得ステップによって取得した項目と一致するか否かを判定する判定ステップと、
を実行することを特徴とする情報処理装置の制御方法。
【請求項５】
表の分析処理を行う情報処理装置で読み取り実行可能なプログラムであって、
前記情報処理装置を、
分析対象となる表を構成する項目に関する情報を抽出する抽出手段と、
前記抽出手段によって抽出される表を構成する項目に関する情報から取得されるバージョンに係る情報を用いて、階層に分けられた項目に関する情報をバージョンに対応して記憶する記憶手段から階層に分けられた項目に関する情報を取得する取得手段と、
前記抽出手段によって抽出した表を構成する項目が、前記取得手段によって取得した項目と一致するか否かを判定する判定手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書の分析処理において文書から情報を抽出するための分析技術及び異なる書式で記述された情報の比較技術に関するものであり、特に電子化された表データに関し、テーブルへ登録された情報と表に記載された情報との整合性を検証する技術及びその管理技術に関する。
【背景技術】
【０００２】
様々な組織で日々膨大な量の文書が作成されており、これらの文書の内容が正しいかどうかの検証作業について、多くの人的コストをかけて実施しているのが現状である。
【０００３】
例えば、実験データや統計処理されたデータを表として記載し、その説明文を記述する場合、表の項目名等が、標準化されている用語等と食い違いがないかどうか等を目視で検査を行っている現状がある。
【０００４】
特に申請文書のような文書に関しては、高度で且つ精密な検証作業が求められており、このような検証作業を効率的に実施したり、人的コストを削減したりすることは重要な課題である。
【０００５】
一方で、ウェブにある大量の文書から必要な知識を獲得しようとする技術もある。例えば、非特許文献１では、ウェブ上にあるＨＴＭＬ形式の表を解析して知識を獲得し、ユーザが自然文で質問できる質問応答システムに応用しようとする研究報告について記載されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】P. Pasupat, P. Liang: “Compositional Semantic Parsing on Semi-Structured Tables”, Association for Computational Linguistics, 2015.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、この研究報告では簡単な表を用いて説明しているが、実際には、例えば、大きな表が複数に分割されたり、あるいは形式の指定がないため作成者によって自由な形式で記述されたり等、表として記載する項目が複雑であればあるほど、その解析が困難になる。
【０００８】
また、前述したように、申請文書には、表が掲載されることも多く、この表の各項目に対して適切な記載がなされているか否かを検証する必要性があるが、非特許文献１に記載の技術では、解析対象となる表に関して記載すべき項目が適切な記載となっているか否かを検証することにまでは、記載や示唆はされていない。
【０００９】
本発明は、上記の課題を解決するためになされたものであり、ユーザが表の記載内容が適切な内容であるか否かを容易に検証することが可能な情報処理装置、制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するための本発明は、表の分析処理を行う情報処理装置であって、分析対象となる表を構成する項目に関する情報を抽出する抽出手段と、階層に分けられた項目に関する情報をバージョンに対応して記憶する記憶手段と、前記抽出手段によって抽出される表を構成する項目に関する情報から取得されるバージョンに係る情報を用いて、前記記憶手段から階層に分けられた項目に関する情報を取得する取得手段と、前記抽出手段によって抽出した表を構成する項目が、前記取得手段によって取得した項目と一致するか否かを判定する判定手段と、を備えたことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ユーザが表の記載内容が適切な内容であるか否かを容易に検証することができる、といった効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】文書分析装置の構成例を示す構成図である。
【図２】文書分析装置のハードウェアの構成を示す構成図である。
【図３】文書分析処理を示すフローチャートである。
【図４】表抽出処理を示すフローチャートである。
【図５】表解析の処理を示すフローチャートである。
【図６】行解析の処理を示すフローチャートである。
【図７】セル解析の処理を示すフローチャートである。
【図８】分析対象とする表の一例を示す図である。
【図９】表項目リストの構成を示す構成図である。
【図１０】表・ＭｅｄＤＲＡ検証の処理を示すフローチャートである。
【図１１】表記に対して形態素解析を行った例を示す図である。
【図１２】表記の整合性チェックの処理を示すフローチャートである。
【図１３】ＭｅｄＤＲＡの階層構造を表す図である。
【図１４】ＭｅｄＤＲＡが変更された例を説明するための図である。
【図１５】表記誤り一覧画面の構成を示す構成図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施の形態の一例について説明する。
【００１４】
図１は、本発明の実施形態における文書分析装置(情報処理装置)の構成を示す図である。
【００１５】
文書分析装置１００は、解析部１０１と、解析データ１０２と、照合部１０３と、照合データ１０４と、表示部１０５と、を備える。なお、解析データ１０２及び照合データ１０４は後述する外部メモリ２１１等の記憶装置に記憶されている。
【００１６】
文書分析装置１００は、テキスト文書１０６が解析部１０１に入力されて解析がなされると表データが抽出されて解析データ１０２に記憶されるとともに、解析部１０１が標準化された用語等の情報を記憶するＭｅｄＤＲＡテーブル１０７からＤＢデータを抽出して解析データ１０２に記憶する。
【００１７】
そして、照合部１０３は、解析部１０１における解析結果を受けて、解析データ１０２から表データ及びＤＢデータを取り出して照合処理を実施し、照合データ１０４に照合結果を記録する。
【００１８】
表示部１０５は、照合データ１０４から照合結果を取り出し、解析データ１０２に記録された解析結果と合わせて利用者に照合結果を表示する。これら一連の文書分析手法については、詳しく後述する。
【００１９】
次に、図１の文書分析装置１００のハードウェア構成について、図２を用いて説明する。
【００２０】
図中、ＣＰＵ２０１は、システムバス２０４に接続される後述の各デバイスやコントローラを統括的に制御する。
【００２１】
また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、文書分析装置１００に後述する各種の処理を実行させるために必要な各種プログラムやデータ等が記憶されている。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００２２】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０２にロードして、プログラムを実行することで後述する各種処理を実現するものである。
【００２３】
また、入力コントローラ（入力Ｃ）２０５は、入力装置２０９からの入力を制御する。入力装置２０９は、例えばメカニカルキーボードやソフトウェアキーボード、タッチパネル等で構成される。
【００２４】
ビデオコントローラ（ＶＣ）２０６は、表示装置２１０への表示を制御する。表示装置２１０は、例えば液晶ディスプレイ等で構成される。
【００２５】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やソリッドステートディスク（ＳＳＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ２１１へのアクセスを制御する。
【００２６】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２７】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、表示装置２１０上での表示を可能としている。
【００２８】
以上が、文書分析装置１００のハードウェア構成の説明であるが、後述する各種の処理を実行可能であれば、必ずしも図２に記載のハードウェア構成を有していなくとも構わないことは言うまでもない。
【００２９】
次に、文書分析装置１００における文書分析処理について、詳しく説明する。
【００３０】
図３は、文書分析処理のフローチャートを示す図である。文書分析処理では、何らかの論理的構造を持つ文書ファイルを分析対象としており、例えばＯｐｅｎＸＭＬで記述された文書である。
【００３１】
まず、ステップＳ３０１では、ページ番号を初期化する。ページ番号は後述するページ情報の管理属性のひとつとして利用する。
【００３２】
続くステップＳ３０２で表抽出処理を行う。処理の詳細な流れについては、図４のフローチャートに示す。
【００３３】
図４に表抽出処理のフローチャートを示す。表抽出処理では、文書ファイルから表部分を取り出す処理となる。
【００３４】
ステップＳ４０１において、分析対象の文書から本文を構成する要素を保持している本文要素を指定する。具体的には、例えばＯｐｅｎＸＭＬの場合、「＜ｗ：ｂｏｄｙ＞」タグを指定する。
【００３５】
本文要素は複数の子要素から構成されているので、ステップＳ４０２からステップＳ４０７において、本文要素に含まれるすべての子要素を検査して表を取り出す。
【００３６】
ステップＳ４０３において、当該子要素が表属性を持つかを検査する。具体的には、例えばＯｐｅｎＸＭＬの場合、「＜ｗ：ｔｂｌ＞」タグであるかを検査する。
【００３７】
表属性を持つ場合（ステップＳ４０３において「Ｙ」のとき）、ステップＳ４０４に進み、表解析を実施する。表解析については図５に示すフローチャートを用いて後述する。
【００３８】
表属性を持たない場合（ステップＳ４０３において「Ｎ」のとき）、ステップＳ４０７に進み、次の子要素について抽出処理を実施する。すべての子要素を検査すると、表抽出処理を終了する。
【００３９】
ステップＳ４０４における表解析について説明する。図５に表解析のフローチャートを示す。
【００４０】
ステップＳ５０１において、行番号の初期化を行う。続くステップＳ５０２からステップＳ５０６において、すべての行に含まれる子要素の解析処理を実施する。
【００４１】
ステップＳ５０３に進み、取得した子要素が行を表す要素かどうかを検査する。具体的には、例えばＯｐｅｎＸＭＬの場合、「＜ｗ：ｔｒ＞」タグであるかを検査する。
【００４２】
行要素でない場合（ステップＳ５０３で「いいえ」の場合）ステップＳ５０５に進む。行要素である場合（ステップＳ５０３で「はい」の場合）、ステップＳ５０４に進み、行解析処理を実施する。
【００４３】
図６に行解析処理のフローチャートを示す。行解析処理は、行要素に含まれるセル要素の解析処理を実施する。
【００４４】
まず、ステップＳ６０１において列番号を初期化する。続くステップＳ６０２からステップＳ６０６において、行に含まれるすべての子要素の解析処理を実施する。
【００４５】
ステップＳ６０３に進み、抽出した子要素がセル要素かどうかを検査する。具体的には、例えばＯｐｅｎＸＭＬの場合、「＜ｗ：ｔｃ＞」タグであるかを検査する。
【００４６】
セル要素でない場合（ステップＳ６０３で「いいえ」の場合）、ステップＳ６０５に進む。セル要素である場合（ステップＳ６０３で「はい」の場合）、ステップＳ６０４に進み、セル解析処理を実施する。
【００４７】
図７にセル解析処理のフローチャートを示す。セル解析処理は、セル要素に含まれる子要素の解析処理を実施する。
【００４８】
まず、ステップＳ７０１において文字列を初期化する。この文字列は表のセルに含まれる文字列を登録するためのものである。
【００４９】
続くステップＳ７０２からステップＳ７１３にかけて、すべての子要素について解析処理を実施する。
【００５０】
ステップＳ７０３に進み、抽出した子要素が文章要素であるかどうかを検査する。具体的には、例えばＯｐｅｎＸＭＬの場合、「＜ｗ：ｔ＞」タグであるかを検査する。
【００５１】
文章要素でない場合（ステップＳ７０３で「Ｎ」の場合）、ステップＳ７０７に進む。文章要素である場合（ステップＳ７０３で「Ｙ」の場合）、ステップＳ７０４に進む。
【００５２】
ステップＳ７０４では、当該セルにおいて字下げがなされているかどうかを検査する。字下げの判定基準としては、字下げタグを持つ或いは字下げ要素を持つ（具体的には、例えばＯｐｅｎＸＭＬの場合、「＜ｗ：ｉｎｄ＞」タグを持つ）或いは文字列の先頭にタブ文字や空白文字等が挿入されている等で判断する。
【００５３】
字下げされている場合（ステップＳ７０４で「Ｙ」の場合）、ステップＳ７０５に進み、字下げ属性を当該セル情報に設定する。字下げされていない場合（ステップＳ７０４で「Ｎ」の場合）、ステップＳ７０５をスキップしてステップＳ７０６に進む。
【００５４】
ステップＳ７０６ではステップＳ７０１で初期化した文字列の登録先に当該セルが持つ文字列を追加する。文字列は追加されるため、文字列の登録先に何らかのデータが存在するのであれば、新しい文字列を既存文字列に追記する方式となる。
【００５５】
続いてステップＳ７０７に進み、属性情報を持つ子要素かどうかを検査する。属性情報からは当該セルの連結情報を得る。連結情報とは、複数のセルを行方向や列方向に連結して大きなセルにする情報のことを示す。
【００５６】
ステップＳ７０７において当該セルが属性情報を持たない場合（ステップＳ７０７で「Ｎ」の場合）、ステップＳ７１３に進み、次の子要素の処理に移る。当該セルが属性情報を持つ場合（ステップＳ７０７で「Ｙ」の場合）、ステップＳ７０８に進み、行連結の属性情報かどうかを検査する。
【００５７】
行連結の開始属性である場合（ステップＳ７０８で「Ｙ」の場合）、ステップＳ７１０に進み、行連結の開始属性を当該セルに登録する。行連結の開始属性でない場合（ステップＳ７０８で「Ｎ」の場合）、行連結中である継続セルであるため、当該セルに継続セル属性を登録する。
【００５８】
続いてステップＳ７１１に進み、列方向の連結属性であるかどうかを検査する。列連結属性である場合（ステップＳ７１１で「Ｙ」の場合）、ステップＳ７１２に進み、当該セルに列連結数を登録する。列連結属性でない場合（ステップＳ７１１で「Ｎ」の場合）、ステップＳ７１２をスキップする。
【００５９】
続いて、ステップＳ７１３に進み、すべての子要素の処理が終わっていなければ、ステップＳ７０３に戻って同様にセル解析処理を継続する。
【００６０】
すべての子要素の処理が終了していれば、ステップＳ７１４に進み、ステップＳ７０６で追記した文字列全体を当該セルの文字列として登録する。
【００６１】
続くステップＳ７１５では、図５で算出している行番号と図６で算出している列番号を当該セルに登録し、セル解析処理を終了する。
【００６２】
図６に戻って、ステップＳ６０５において、次の行列番号登録のための列番号を算出する。このときステップＳ６０４で列連結属性によって列連結数が当該セルに登録されている場合は、その数値を加算し、そうでない場合は１を加算することによって列番号を算出する。
【００６３】
ステップＳ６０６に進み、すべての列の処理を完了していれば、行解析処理を終了する。未処理の列データがある場合はステップＳ６０３に進み、同様の解析処理を継続する。
【００６４】
図５に戻って、ステップＳ５０５に進み、次の行列番号登録のための行番号を算出する。続いてステップＳ５０６に進み、すべての行処理を完了していればステップＳ５０７に進み、そうでなければステップＳ５０３に戻って同様に解析処理を継続する。
【００６５】
ステップＳ５０７において、行連結の処理を実施する。行連結の処理は、前述した図７のステップＳ７０９及びステップＳ７１０で登録した行連結の属性を用いて算出する。算出した行連結数を当該セルの行連結数に登録する。
【００６６】
続くステップＳ５０８において、解析を完了した表に対して表ＩＤ登録処理を実施する。表ＩＤとは任意に割り振られたＩＤ番号であり、一意に表を識別するために用いる。表ＩＤの一例としては、固定長の昇順の数字で表現されるものである。ステップＳ５０８の表ＩＤ登録処理を実施して表解析処理を終了する。
【００６７】
図５における表解析処理の一例を、図８及び図９に示す。図８は表の一例であり、この表に対して図５の表解析処理を実施して得られる解析データを図９に示す。
【００６８】
図９の各要素は、「表記」「列番号」「行番号」「インデント（字下げ）」「列連結数」「行連結数」の順に組み合わせたものであり、前記組み合わせをリスト構造に格納することで表全体を表現することができる。
【００６９】
例えば、図８においてセル８０５は、図９の組み合わせ９０１になる。組み合わせ９０１は、表記が「パターン２」、列番号が「３」、行番号「０」、インデント「０」、列連結数「２」、行連結数「１」を意味する。
【００７０】
また、図８のセル８０２から８０４までは、「表記」を表しているが、これらの領域がＭｅｄＤＲＡテーブル１０７のＤＢデータとの整合性を検証する領域である。
【００７１】
図４に戻って、ステップＳ４０５では、表登録処理を行う。表登録処理は、前記リスト化された構造を管理する処理である。
【００７２】
そして、ステップＳ４０６に進み、本文要素のすべての子要素について解析処理が済んでいれば表抽出処理を終了する。
【００７３】
まだ解析処理が済んでいない子要素があればステップＳ４０２に戻り、表抽出処理を継続する。
【００７４】
図３に戻って、ステップＳ３０３において、表連結処理を実施する。表連結処理は紙面の都合で大きな表が複数に分割されている状態のものを、論理的に再接続する処理である。
【００７５】
表連結処理では、図４のステップＳ４０５において、表登録する際に表題として登録したものを使う。
【００７６】
具体的には、表題内に記述されている表番号が同じものを再接続可能とする。補助的な再接続検証として、表題名称が同じ或いは含む場合も再接続対象としてもよい。
【００７７】
一例を上げると、「表１：事例」と「表１：事例（続き）」の場合は、表番号が一致し且つ表題を含む場合であるので、再接続対象となる。
【００７８】
なお、再接続検証の絶対条件として、表構造が同じもの即ちヘッダ情報が同じものでなければならない。
【００７９】
また、前述した表番号は表題内から正規表現等を用いることで容易に抽出することができるため、ステップＳ３０３の表連結処理中に随時抽出・接続判定することも可能であるし、或いは図４のステップＳ４０５の表登録の際に表題の登録と共に予め表番号を抽出・登録しておいてもよい。
【００８０】
ステップＳ３０４では、表・ＭｅｄＤＲＡ検証処理を実施する。表・ＭｅｄＤＲＡ検証処理とは、図４のステップＳ４０５で登録したリスト化（表項目リスト）した表について、ＭｅｄＤＲＡテーブル１０７に記憶したＤＢデータから、該当する「表記」のレコードを検索する。
【００８１】
図１０に表・ＭｅｄＤＲＡ検証処理のフローチャートを示す。
【００８２】
ステップＳ１００１では、表の最下列からＭｅｄＤＲＡのバージョン情報を取得する。本ステップでは、図４のステップＳ４０５において登録した表項目リストのうち、最下列の「表記」を取得する。
【００８３】
例えば、図９において、最下列であるということは、最も大きな値をもつ「列」、つまり「６」の「表記」である「すべての試験には環境Ｃを用いている 有害事象の用語はMedDRA version 10.0に従う」を取得する。
【００８４】
通常、図８に示すように、ＭｅｄＤＲＡのバージョンについては、表の最下列に記載することが通例であることから、セル８０６の記載から抜き出している。
【００８５】
尚、表の何れの位置にＭｅｄＤＲＡのバージョンを記載するかは、任意であり、その位置に合わせてセルから「表記」を取得しても良い。
【００８６】
この取得した「表記」からＭｅｄＤＲＡのバージョンに関する情報をまずは抽出する。例えば、この「表記」に対して形態素解析を行うことによって、図１１に示す解析結果を得ることができ、品詞が数値の形態素（図の例では、「10.0」）をバージョン情報として抽出する。
【００８７】
あるいは、この「表記」から「version」や「バージョン」等のバージョンに関する情報を特定して、その後続に位置する形態素をバージョン情報として抽出する。
【００８８】
ステップＳ１００２では、行番号を初期化するため、最も大きな行番号を取得する。
【００８９】
ステップＳ１００３からステップＳ１００７までの処理を、表項目リストの全ての行に対して処理を行うまで繰り返す。
【００９０】
ステップＳ１００４では、表項目リストから取得した表項目データが、「表記」に値がセットされ、「列」に０の値がセットされているか否かを判定し、セットされていると判定した場合は、ステップＳ１００５へ処理を進め、セットされていると判定しない場合は、ステップＳ１００６へ処理を進める。
【００９１】
ステップＳ１００５では、表の「表記」とＭｅｄＤＲＡテーブル１０７のＤＢデータとの整合性チェックを行うが、詳細は、図１２を用いて説明する。
【００９２】
ステップＳ１１０１では、ステップＳ１００１で取得したバージン情報を用いてＭｅｄＤＲＡテーブル１０７に問い合わせる。
【００９３】
ステップＳ１１０２では、表項目データが、ＳＯＣの項目であるか否かを判定し、ＳＯＣの項目であると判定した場合は、ステップＳ１１０３へ処理を進め、ＳＯＣであると判定しない場合は、ステップＳ１１０４へ処理を進める。
【００９４】
ステップＳ１１０３では、表項目データをワークエリアに保持しておき、処理を終了する。
【００９５】
ステップＳ１１０４では、表項目データが、ＰＴの項目、あるいは、ＰＴの項目であり、かつ表項目データの「インデント」が１であるか否かを判定し、何れの条件を満たす場合は、ステップＳ１１０５へ処理を進め、何れの条件を満たさない場合は、処理を終了する。
【００９６】
ここで、ＳＯＣとＰＴについて説明する。図１３には、ＭｅｄＤＲＡの階層構造を表している。ＭｅｄＤＲＡは、医薬品規制調和国際会議（ＩＣＨ）の専門家ワーキンググループ（ＥＷＧ)で開発され、ＩＣＨとして合意された、英語をベースとした医学用語集であり、欧米での医薬品規制において広く利用されている。
【００９７】
「ＩＣＨ国際医薬用語集日本語版（ＭｅｄＤＲＡ／Ｊ）」は英語版のＭｅｄＤＲＡに日本語を付加した用語集で、日本国内でも医薬品規制の場で広く利用されている。
【００９８】
ＭｅｄＤＲＡでは、症状、徴候、疾患、診断、適応症などを５階層に分けており、それぞれが親子関係を持っている。
【００９９】
図１３に示すように、上位層から下位層の順に、ＳＯＣ、ＨＬＧＴ、ＨＬＴ、ＰＴ、ＬＬＴが定義されている。
【０１００】
これらの親子関係は、適宜、見直しがなされており、見直しがなされるたびにバージョンを識別するための番号等が発行される。
【０１０１】
また、ＭｅｄＤＲＡは、データ構造（ＭｅｄＤＲＡテーブル１０７）が公開され、データの利用権限を持つものに対しては、データそのものが利用でき、システムとして利用できることになっている。
【０１０２】
これらのデータは、バージョンに応じて親子関係が示される症状等に関する情報を備えている。
【０１０３】
親子関係の例として、ＳＯＣ、ＰＴ、ＬＬＴの各層における項目の例をあげると、ＳＯＣの項目が、感染症および寄生虫症であれば、その下位層であるＰＴの項目は、気管支炎があげられ、更に、その下位層にあたるＬＬＴとしては、急性気管支炎、急性気管支炎および急性細気管支炎、急性気管支炎のインフルエンザ菌による二次感染、急性気管支炎のヘモフィルスによる二次感染等があげられる。
【０１０４】
図１４は、ＭｅｄＤＲＡの変更例であり、バージョン9.1からバージョン10.0に変わったときの内容を例示している。
【０１０５】
ここでは、バージョン9.1では、急性気管支炎(Bronchitis acute)は、ＰＴの項目であったが、バージョン10.0では、下位の下層語ＬＬＴに分類されることとなったことを表している。
【０１０６】
従って、ＭｅｄＤＲＡ10.0を利用した表を記載する場合、急性気管支炎はＰＴの項目として記載してはならないという制限が生まれたことを表している。
【０１０７】
また、図８に示す表において、セル８０２から８０４に記載された内容は、ＳＯＣの項目またはＰＴの項目で記載される運用が、通常なされることを想定しており、このように記載された場合は、ＭｅｄＤＲＡの該当する version10.0の制限に従わなければならないという表を記載するための制限を持つことになる。
【０１０８】
ステップＳ１１０５では、このＰＴの上位であるＳＯＣをＭｅｄＤＲＡテーブル１０７から取得し、ステップＳ１１０６では、ワークエリアに保持しているＳＯＣとステップＳ１１０５で取得したＳＯＣとを比較して、一致すれば、処理を終了し、一致しなければ、「表記」が誤りであると判定し、ステップＳ１１０７では、ＰＴの上位であるＳＯＣでないとしてエラーを表記誤り一覧画面１２００（図１５）へ表示して処理を終了する。
【０１０９】
表記誤り一覧画面１２００は、表を解析した結果、表の項目に記載された表記について、誤りがあったものを一覧表示するものであり、何れの表記に誤りがあったかを示すキーワード部分と、誤った理由を説明する部分とから構成されている。
【０１１０】
本実施形態では、表には、ＰＴ１の上位層としてＳＯＣ１が記載されているが、ＭｅｄＤＲＡのversion10.0においては、このような親子関係が存在しないことからその旨が表示される。
【０１１１】
本実施形態では、ＳＯＣとＰＴが記載された表について説明を行ったが、このような運用に限らず、何れの階層の項目を用いてセルに記載しても問題は無いことを明記しておく。
【０１１２】
ステップＳ１００６では、現在処理している表項目リストの行番号を記憶しておき、ステップＳ１００３では、この記憶した行番号と、ステップＳ１００２で初期化した行番号とを比較し、さらに、表項目リストの処理が完了した場合、本処理を終了する。
【０１１３】
尚、ステップＳ１００２の行番号初期化処理を行うことなく、全ての表項目リストを処理した後、本処理を終了しても良い。
【０１１４】
以上、本発明によれば、ユーザが文書と当該文書に関係する表との関係性を容易に検証することができる。
【０１１５】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様を取ることが可能であり、具体的には、複数の機器から構成するシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１１６】
なお、上述した各種データの構成及び表示の構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な内容で構成されることは言うまでもない。
【０１１７】
また、本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を該システム或いは装置に読み出すことによって、そのシステム或いは装置が、本発明の効果を享受することが可能となる。
【０１１８】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステム或いは装置が、本発明の効果を享受することが可能となる。
【符号の説明】
【０１１９】
１００  文書分析装置
１０１  解析部
１０２  解析データ
１０３  照合部
１０４  照合データ
１０５  表示部
１０６  文書
１０７  ＭｅｄＤＲＡテーブル
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  システムバス
２０５  入力コントローラ
２０６  ビデオコントローラ
２０７  メモリコントローラ
２０８  通信Ｉ／Ｆ（インターフェース）コントローラ
２０９  入力装置
２１０  表示装置
２１１  外部メモリ
【図１】
2018055576.tif 000003
【図２】
2018055576.tif 000004
【図３】
2018055576.tif 000005
【図４】
2018055576.tif 000006
【図５】
2018055576.tif 000007
【図６】
2018055576.tif 000008
【図７】
2018055576.tif 000009
【図８】
2018055576.tif 000010
【図９】
2018055576.tif 000011
【図１０】
2018055576.tif 000012
【図１１】
2018055576.tif 000013
【図１２】
2018055576.tif 000014
【図１３】
2018055576.tif 000015
【図１４】
2018055576.tif 000016
【図１５】
2018055576.tif 000017