構造化文書間整合管理装置及びプログラム
【課題】整合管理する箇所を事前に登録しなくても、構造化文書間の整合性を管理する。
【解決手段】構造化文書間整合管理装置10は、構造化文書記憶部11に記憶された構造化文書から、類似する内容が記述された要素のパスと類似する内容と類似度とを類似要素組として抽出する類似要素組抽出部31と、比較する類似要素組の組の構造的距離や支持度及び確信度に基づいて、相関関係を有する条件部類似要素組q1と結論部類似要素組q2とが記述された相関ルール情報を生成する相関ルール情報生成部32と、相関ルール情報に基づいて整合箇所指定パスが記述された整合管理ルール情報を生成する整合管理ルール情報生成部33とを備える。
【解決手段】構造化文書間整合管理装置10は、構造化文書記憶部11に記憶された構造化文書から、類似する内容が記述された要素のパスと類似する内容と類似度とを類似要素組として抽出する類似要素組抽出部31と、比較する類似要素組の組の構造的距離や支持度及び確信度に基づいて、相関関係を有する条件部類似要素組q1と結論部類似要素組q2とが記述された相関ルール情報を生成する相関ルール情報生成部32と、相関ルール情報に基づいて整合箇所指定パスが記述された整合管理ルール情報を生成する整合管理ルール情報生成部33とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、整合管理する箇所を事前に登録しなくても、複数の構造化文書間の整合性を管理し得る構造化文書間整合管理装置及びプログラムに関する。
【背景技術】
【0002】
近年、計算機の高性能化や記憶媒体の大容量化、計算機ネットワークの普及などに伴い、電子化された大量の文書を計算機システムに記憶管理して利用することが可能である。電子化された文書とは、例えば、帳票、企画書、設計書、報告書といった業務文書や、社員名簿、組織表といったデータを含むもの、マニュアル、規程、議事録、ウェブページなどを指す。これらの電子化された文書は、その内容や目的に応じて、相互に関連しあうことも少なくない。そのため、文書間の整合性を管理できた方がよい場合がある。例えば、ある文書に対する変更内容を、関連する他の文書へ反映させることができれば、文書の有効活用が促進でき、文書の管理や改廃の作業も効率化できる。
【0003】
しかしながら、文書を作成する際に、他の文書との関連が考慮されることは少なく、文書間の整合性を保持すべき箇所の関連が明示的に記述されるわけではない。
【0004】
一方、近年では、電子化された文書はXMLに代表される構造化文書として管理されることが多い。構造化文書には、テキストデータに構造を持たせているので、XMLDBに代表されるようにDB(データベース)に格納される1データとしての側面がある。
【0005】
しかしながら、構造化文書は作成時にデータとして利用するという明確な意図を持ち、体系的に文書構造の定義を行わない限り、作成される文書の構造の定義は作成者によって異なることが多く、その整合性を管理することは困難である。
【0006】
このような事情のもと、複数の文書間の内容の整合性を取るために、他の文書内で使用される共通部分を共有文書をとしてまとめ、他の文書(派生文書)は共有文書から必要な部分を取り込むことで整合性を管理する方法がある(例えば、特許文献1参照)。この方法では、整合性をとるべき各文書間の整合関係を整合管理ルール情報として記述することで、共有文書内のどの箇所を派生文書のどの箇所に取り込むかを指定する。
【0007】
また、文書間に派生関係はなくても、任意の文書間に対して整合管理ルール情報を記述することもできる(例えば、特許文献2,3参照)。このシステムでは整合管理ルール情報に記述された整合関係について、文書間の整合性をチェックすることで、任意の文書間の整合性を管理する。
【0008】
なお、整合管理ルール情報の登録または修正方法としては特許文献1、特許文献3において、ユーザがエディタもしくはシステム上の画面を利用して登録する方法が開示されている。また構造化文書が対象ではないが、一つの基準文書と他の文書との比較を行い、差異情報を利用して整合管理ルール情報を生成する日本語文章推敲支援システムもある(例えば、特許文献4参照)。このシステムでは、文書を比較する際、文書の表層表現を利用する。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開平11−353312号公報
【特許文献2】特開平11−338861号公報
【特許文献3】特開2003−281118号公報
【特許文献4】特開平4−326461号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、上述の方法では以下の問題がある。
【0011】
特許文献1に記載された技術は、派生関係により整合性を管理する方法であり、共有文書から生成される文書や、整合性のとるべき整合箇所を事前に登録しておく必要がある。すなわち、整合箇所の修正の際に、共有文書を修正することで整合性をとるものであるので、派生文書を直接編集する場合には文書間の整合性がなくなるという問題がある。
【0012】
特許文献2、特許文献3に記載された技術は、任意の文書間に対して整合管理ルール情報を作成する方法であり、対象となる文書数が膨大になると、作成すべき整合管理ルール情報も膨大になり、ユーザが整合管理ルール情報を記述し管理するのに多大な時間と労力とを要するという問題がある。なお、特許文献1の技術についても同様の問題がある。
【0013】
特許文献4に記載された技術は、文書間の差異抽出により整合管理ルール情報を生成するが、文書の表層表現による比較のため、文書作成者による表記ゆれや誤入力などにより、整合性をとるべき箇所を正確に抽出することはできず、整合管理ルール情報の漏れが生じるという問題がある。一方、本来整合性をとるべき箇所ではないものを整合性をとるべき箇所として抽出してしまい、ユーザの意図しない箇所にまで修正を行う危険性もある。
【0014】
本発明は上記実情に鑑みてなされたものであり、整合管理する箇所を事前に登録しなくても、複数の構造化文書間の整合性を管理し得る構造化文書間整合管理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明は上記課題を解決するために、構造化文書間の整合性を管理する構造化文書間整合管理装置であって、予め定義された要素に従って構造化された構造化文書を記憶する構造化文書記憶手段と、前記構造化文書記憶手段に記憶された構造化文書について、2つの要素毎に比較し、比較される2つの要素間の内容の類似度を算出し、前記類似度に基づいて、類似する内容を有する要素の組を抽出し、抽出された要素の組におけるそれぞれの要素についてパスを抽出し、前記抽出したパスと前記類似する内容と前記類似度とを類似要素組として抽出する類似要素組抽出手段と、前記類似要素組抽出手段により抽出された全ての類似要素組のパスを一般化し、パスを一般化した2組の類似要素組に対し、各要素間の構造的距離に基づいて相関関係を有する類似要素組の組の候補を設定し、相関関係を有する類似要素組の組の候補から、支持度及び確信度に基づいて、相関関係を有する条件部類似要素組と結論部類似要素組とが記述された相関ルール情報を生成する相関ルール情報生成手段と、前記類似要素組抽出手段により抽出された全ての類似要素組のうち、前記相関ルール情報に記述された条件部類似要素組の各要素と、一般化したパスが一致する類似要素組を読み出し、この読み出した類似要素組の内容を、前記結論部類似要素組の各要素における前記条件部類似要素組との対応箇所に、類似度に応じて書き込んで整合箇所指定パスを生成し、前記整合箇所指定パスを含む構造化文書を前記構造化文書記憶手段から読み出し、該読み出した全ての構造化文書と前記整合箇所指定パスとが関連付けて記述された整合管理ルール情報を生成する整合管理ルール情報生成手段と、を備えた構造化文書間整合管理装置を提供する。
【0016】
<作用>
従って、本発明は以上のような手段を講じたことにより、構造化文書記憶手段に記憶された構造化文書から、類似する内容が記述された要素のパスと類似する内容と類似度とを類似要素組として抽出し、比較する類似要素組の組の構造的距離や支持度及び確信度に基づいて、相関関係を有する条件部類似要素組と結論部類似要素組とが記述された相関ルール情報を生成し、相関ルール情報に基づいて整合箇所指定パスが記述された整合管理ルール情報を生成するので、整合管理ルール情報から不整合箇所を特定することで、整合管理する箇所を事前に登録しなくても、複数の構造化文書間の整合性を管理し得る構造化文書間整合管理装置を提供することができる。
【発明の効果】
【0017】
本発明によれば、整合管理する箇所を事前に登録しなくても、構造化文書間の整合性を管理することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の第1の実施形態に係る構造化文書間整合管理装置10の構成を示す模式図である。
【図2】同実施形態における構造化文書の一例を示す図である。
【図3】同実施形態における「類似要素組」の一例を示す図である。
【図4】同実施形態における「相関ルール情報」の一例を示す図である。
【図5】同実施形態における「整合管理ルール情報」の一例を示す図である。
【図6】同実施形態に係る文書管理データ表示部42による提示画面の一例を示す模式図である。
【図7】同実施形態に係る不整合パターンの一例を示す図である。
【図8】同実施形態に係る類似要素組抽出部31の動作を説明するためのフローチャートである。
【図9】同実施形態に係る相関ルール情報生成部32の動作を説明するためのフローチャートである。
【図10】同実施形態における確信度の算出する際の手順を説明するためのフローチャートである。
【図11】同実施形態に係る整合管理ルール情報生成部33の動作を説明するためのフローチャートである。
【図12】同実施形態に係る不整合検出部41の動作を説明するためのフローチャートである。
【図13】同実施形態に係る不整合検出部41の動作を説明するためのフローチャートである。
【図14】同実施形態における不整合箇所の画面表示の一例を示す模式図である。
【図15】同実施形態における整合管理ルール情報の一例を示す図である。
【図16】同実施形態における不整合箇所の画面表示の一例を示す模式図である。
【図17】同実施形態における整合管理ルール情報の一例を示す図である。
【図18】同実施形態における不整合箇所の画面表示の一例を示す模式図である。
【図19】同実施形態における不整合箇所の画面表示の一例を示す模式図である。
【図20】同実施形態における整合管理ルール情報の一例を示す図である。
【発明を実施するための形態】
【0019】
以下、図面を参照して本発明の実施形態を説明する。
【0020】
<第1の実施形態>
(構造化文書間整合管理装置の構成)
図1は本発明の第1の実施形態に係る構造化文書間整合管理装置10の構成を示す模式図である。
【0021】
構造化文書間整合管理装置10は、構造化文書間の整合性を管理するものであって、構造化文書記憶部21・相関ルール情報記憶部22・整合管理ルール情報記憶部23・文書管理ルール情報生成部30・整合管理部40を備えている。
【0022】
なお、構造化文書間整合管理装置10は、ハードウェア構成、またはハードウェア構成とソフトウェア構成との組合せにより実現可能である。後者の場合、ソフトウェア構成は、予めコンピュータ読み取り可能な記憶媒体またはネットワークから得られた「構造化文書間整合管理プログラム」がコンピュータにインストールされることにより、構造化文書間整合管理装置10としての各機能が実現される。
【0023】
構造化文書記憶部21は、予め定義された要素に従って構造化された複数の構造化文書を記憶する記憶装置である。例えば、構造化文書記憶部21は、図2に示すような構造化文書を記憶している。ここで、文書Aはある会社の従業員名簿の例を示しており、文書B・C・Eは社員からの報告書の例を示しており、文書Dはある社員の週報の例を示している。
【0024】
相関ルール情報記憶部22は、構造化文書記憶部21に記憶された構造化文書集合について要素間の整合性をスキーマレベルで管理するための「相関ルール情報」を記憶する記憶装置である。相関ルール情報の生成手順については後述する。
【0025】
整合管理ルール情報記憶部23は、構造化文書の要素間の整合性をインスタンスレベルで管理するための「整合管理ルール情報」を記憶する記憶装置である。整合管理ルール情報の生成手順については後述する。
【0026】
文書管理ルール情報生成部30は、類似要素組抽出部31・相関ルール情報生成部32・整合管理ルール情報生成部33から構成される。
【0027】
類似要素組抽出部31は、構造化文書記憶部21に記憶された構造化文書集合を読み出し、内容が類似する要素を、例えば図3に示すような「類似要素組」として抽出する。具体的には、類似要素組抽出部31は、構造化文書記憶部21に記憶された構造化文書に対し、2つの構造化文書毎に比較する。それから、類似要素組抽出部31は、比較される2つの構造化文書毎に要素間の内容の類似度に基づいて、類似する内容を有する要素の組を抽出する。なお、比較される2つの構造化文書は同一文書であってもよい。この場合、同じ文書内に類似する要素が存在することになる。ただし、同一文書内の要素を比較する場合、完全一致する要素の比較は除くことが好ましい。また、類似要素組抽出部31は、抽出された要素の組におけるそれぞれの要素についてパスを抽出する。そして、類似要素組抽出部31は、抽出したパスと類似する内容と類似度とを類似要素組として抽出する。
【0028】
なお、類似要素組抽出部31は、要素の内容が文字列である場合、両者の編集距離に基づいて類似度を求めたり、要素の内容が自然言語の文章(テキスト)である場合、両者の単語ベクトルの値から類似度を求めたりする。また、類似要素組抽出部31は、要素の内容が金額や日時等の数値データである場合、その数値的な近さによって類似度を求めてもよい。これらの要素の内容の種類を判定するためには、構造化文書がXML文書である場合には、例えばDTDやXMLSchemaによる文書型指定によって定義される要素種類を利用することができる。
【0029】
相関ルール情報生成部32は、類似要素組抽出部31によって抽出された類似要素組から「相関ルール情報」を生成するものである。まず、相関ルール情報生成部32は、類似要素組抽出部31により抽出された全ての類似要素組のパスを一般化する。そして、相関ルール情報生成部32は、パスを一般化した2組の類似要素組に対し、各要素間の構造的距離に基づいて相関関係を有する類似要素組の組の候補を設定する。また、相関ルール情報生成部32は、相関関係を有する類似要素組の組の候補から、支持度及び確信度に基づいて、相関関係を有する条件部類似要素組と結論部類似要素組とが記述された相関ルール情報を生成する。
【0030】
相関ルール情報生成部32により生成される相関ルール情報は例えば図4のように示される。すなわち、相関ルール情報には、類似要素組の組(q1、q2)と、それぞれ類似要素組の要素間(q1のe11とq2のe21、q1のe12とq2のe22)の構造的距離と、相関関係の“確信度”と、整合の要否とが含まれる。ここで、類似要素組の組(q1、q2)のうち、q1を条件部類似要素組、q2を結論部類似要素組と呼ぶ。条件部類似要素組q1の第1要素e11と第2要素e12との内容が一致もしくは類似している場合、結論部類似要素組q2の第1要素e21と第2要素e22との内容の整合性がとられる。
【0031】
なお、「構造的距離」とは、家系図における親等と同様の数え方で表わされる数値である。たとえば、「personList/person/name」のパスで示される要素nameと「personList/person/contact/tel」のパスで示される要素telとは、personを共通の祖先要素とし、構造的距離が3(家系図とみなすと3親等)と表わされる。ただし、要素間の構造的距離は、この定義に限るものではない。例えば、要素間の構造的距離は、兄弟要素、子孫要素、祖先要素というように明示的に表しても良いし、単純に隣接する要素間に含まれる文字列長で表わしても良い。また、「確信度」は相関ルールの信頼性を示す値であり、確信度が高いほど信頼性の高い情報であることを表す。確信度の算出方法については後述する。「整合の要否」の項目は、後述する整合管理ルール情報生成部33において、該相関ルール情報から整合管理ルール情報を生成するか否かの設定を保持する。これにより結果的に、該相関ルール情報に関する要素に対する整合管理の要否をスキーマレベルで設定する。
【0032】
整合管理ルール情報生成部33は、相関ルール情報記憶部22に記憶された相関ルール情報から、「整合管理ルール情報」を生成するものである。具体的には、整合管理ルール情報生成部33は、類似要素組抽出部31により抽出された全ての類似要素組のうち、相関ルール情報に記述された条件部類似要素組q1の各要素e11・e12と一般化したパスが一致する類似要素組を読み出す。ただし、「整合の要否」の項目に整合が不要であることを示すフラグ(たとえば“否”)が設定された相関ルール情報は、整合管理ルール情報の生成の対象外となる。そして、整合管理ルール情報生成部33は、この読み出した類似要素組の内容を、結論部類似要素組q2の各要素e21・e22における条件部類似要素組との対応箇所に、類似度に応じて書き込んで「整合箇所指定パス」を生成する。それから、整合箇所指定パスによって指定される要素を含む構造化文書を構造化文書記憶部21から読み出し、その読み出した全ての構造化文書と整合箇所指定パスとが関連付けて記述された整合管理ルール情報を生成する。
【0033】
整合管理ルール情報生成部33により生成される整合管理ルール情報は例えば図5のように示される。整合管理ルール情報には、1つのレコードに対して整合性を取るべき要素集合が含まれる。また整合管理ルール情報には、文書管理データ入力部43のユーザ操作により設定される修正条件情報が含まれる。この修正条件情報には、それぞれの要素に対して整合管理の対象とするかの否かを示す「整合の要否」の項目や、整合管理をどのように維持するかを示す「方針」の項目、修正内容の履歴を示す「修正履歴」の項目がある。なお、「方針」の項目には、後述する、整合管理の対象とする複数の構造化文書のうち基準となるマスタ文書の選択方針等が書き込まれる。
【0034】
整合管理部40は、不整合検出部41・文書管理データ表示部42・文書管理データ入力部43・ルール情報修正部44・文書修正部45・不整合パターン読出部46・不整合パターン記憶部47を備えている。
【0035】
不整合検出部41は、整合管理ルール情報記憶部23に記憶された全ての整合管理ルール情報を読み出し、整合管理ルール情報に記述された全ての構造化文書に対する整合箇所指定パスにより指定される要素の内容に不整合箇所があるか否かを検出するものである。
【0036】
文書管理データ表示部42は、不整合検出部41により整合管理ルール情報に記述された複数の要素間の内容に不整合箇所が検出された場合、該不整合箇所の内容を構造化文書毎に表示するものである。また、文書管理データ表示部42は、後述する修正条件情報に対応する修正方法や、検出された不整合要素について相関ルール情報及び整合管理ルール情報の修正の確認を提示する。
【0037】
詳しくは、文書管理データ表示部42は、図6に示すように、検出された不整合について、どの文書においてどのような不整合があり、不整合に対する修正候補の提示、今後の整合管理の方針と相関ルール情報と整合管理ルール情報との修正の確認のための提示画面を表示する。たとえば図6の例では、提示画面の左側61で「文書B」において不整合が検出されたことを表示し、さらに不整合のパターンが「データ更新」によるものだということをユーザに提示する。さらに文書管理データ表示部42は、不整合のパターンに応じて、実施すべき修正方法(図6の例では「関連文書の一括修正」)とともに、修正する際の修正候補の提示画面を表示する。前記の提示内容に併せて、今後の整合管理の方針と、相関ルール情報および整合管理ルール情報の修正の有無についての確認画面を表示する。提示画面の右側62には、検出された不整合に該当する整合管理ルール情報に登録されている要素を含む構造化文書(関連文書)を表示する。関連文書の提示の際には不整合に該当する関連箇所を強調表示する。前記の修正候補の提示おいては、関連箇所の内容が修正候補として提示される。
【0038】
文書管理データ入力部43は、文書管理するためのデータの入力を受け付けるものであり、文書管理データ表示部42により表示された不整合箇所の内容の修正を受け付ける。また、文書管理データ入力部43は、修正条件情報の変更も受け付ける。例えば、文書管理データ入力部43は、「方針」情報として、整合性を管理する構造化文書のうち、基準となるマスタ文書の指定を受け付ける。
【0039】
補足すると、文書管理データ入力部43は、関連箇所の内容以外の内容に修正するために、文書管理データ入力部43からデータの直接入力を可能とする。前記の「今後の整合管理の方針」は、提示されている不整合に該当する整合管理ルール情報に対する次回の不整合検出の際に、どのように修正するかの方針を選択できる項目である。たとえば、「更新日時優先」が選択された場合は、検出された不整合の関連箇所について、更新日時の最も新しいファイルに含まれる要素の内容にシステムが自動的に修正するという方針である。「マスタ文書指定」は、提示されている関連文書からマスタ文書をユーザが指定することで、提示されている不整合に該当する整合管理ルール情報に対する次回の不整合検出の際に指定されたマスタ文書の関連箇所の内容を正しい内容として不整合箇所の内容をシステムが自動的に修正するという方針である。「都度確認」は提示されている不整合に該当する整合管理ルール情報に対する次回の不整合検出の際にも同様の提示を行い、不整合箇所の修正およびルールの修正の有無の確認を行なうという方針である。これらの「今後の整合管理の方針」でユーザによって選択された方針は、整合管理ルール情報に含まれる。
【0040】
また、文書管理データ入力部43は、「相関ルール、整合管理ルールの修正」の項目において、ユーザに提示されている不整合に該当する相関ルール情報もしくは整合管理ルール情報あるいは両方を、以降の整合管理に関して非適用とするか否かの設定を可能とする。たとえば、「該当の相関ルールを非適用とする」は提示されている不整合に該当する相関ルール情報を非適用とすることで、整合管理ルール情報を生成する際に、この相関ルール情報を対象外にする項目である。つまり、相関ルール情報を非適用とすることは、構造化文書記憶部11に記憶されている構造化文書についてスキーマレベルで非適用とすることであり、同じ文書構造で表わされる要素を一括で対象外とすることである。さらに、文書管理データ入力部43は、「該当文書のみ整合管理の対象外とする」の項目の設定も可能とする。この項目は提示されている不整合の関連箇所に対して、整合管理の対象外とする項目である。つまり、「該当文書のみ整合管理の対象外とする」の項目を選択すると、インスタンスレベルで構造化文書を管理することになる。
【0041】
ルール情報修正部44は、文書管理データ入力部43から入力される入力情報に応じて、相関ルール情報及び整合管理ルール情報の内容を修正するものである。ルール情報修正部44は、文書管理データ入力部43の「相関ルール、整合管理ルールの修正」の項目で、ユーザが「該当の相関ルールを非適用とする」の項目を選択した場合、文書管理データ表示部において、その時点で対象となっている相関ルール情報の「整合の要否」に整合管理が不要であること示すフラグ(たとえば“否”)を設定する。同様に、ルール情報修正部44は、文書管理データ入力部43でユーザが「該当文書のみ整合管理の対象外とする」の項目を選択した場合は、その時点で対象となっている整合管理ルール情報の「整合の要否」に整合管理が不要であることを示すフラグを設定する。ルール情報修正部44は、文書管理データ入力部43の「今後の整合管理の方針」の項目で、ユーザが「更新日時優先」、「マスタ文書指定」、「都度確認」のいずれかの項目を選択した場合は、その時点で対象となっている整合管理ルール情報の「方針」の項目に、ユーザによって選択された項目の内容を方針として設定する。ここで、ユーザが「マスタ文書指定」の項目を選択した場合は、ユーザによって指定されるマスタ文書のファイルパスも保持する。
【0042】
文書修正部45は、文書管理データ入力部43の「現データ」や「修正候補」からの選択、もしくは、直接入力から与えられる修正内容に従って、その時点で対象となっている不整合箇所の要素内容を修正する。さらに、文書修正部45はここでの修正内容を、その時点で対象となっている整合管理ルール情報の「修正履歴」の項目に蓄積する。換言すると、文書修正部45は、文書管理データ入力部43により不整合箇所の内容の修正を受け付けた場合、構造化文書記憶部21に記憶された構造化文書の内容を修正する。
【0043】
不整合パターン読出部46は、不整合検出部41により不整合箇所が検出された場合、不整合箇所の関連文書の更新日時情報と、該整合管理ルール情報に含まれる修正条件情報の方針と修正履歴を所得し、修正条件情報として保持する。更新日時情報はコンピュータなどにおけるファイルシステムから取得できる情報である。不整合パターン読出部46は、不整合パターン記憶部47から修正条件情報とマッチする判定条件を持つ不整合パターンの不整合の種類と提示内容を読み出す。
【0044】
不整合パターン記憶部47は、修正条件情報に対応して、構造化文書間での不整合の種類と、該不整合の種類に応じた修正方法とが示された「不整合パターン」を記憶する記憶装置である。ここで、修正条件情報に対応する判定条件が定義される。そこで、この判定条件毎に可能性のある不整合パターンと提示内容とが図7に示すような不整合パターンとして予め定義される。たとえば、不整合箇所が検出された整合管理ルール情報において、修正条件情報にマスタ文書が指定されておらず、かつ、不整合箇所を含む文書の更新日時が関連文書の中で最新でない場合(図7中の“h1−1”の例)は、前記不整合は“入力ミスの可能性がある”と判定され、「同じ内容の多いデータで修正」が修正方法として読み出されることになる。
【0045】
(構造化文書間整合管理装置の動作)
次に本実施形態に係る構造化文書間整合管理装置10の動作を説明する。構造化文書間整合管理装置10では、(A)構造化文書から類似要素組を抽出し、(B)類似要素組から相関ルール情報を生成し、(C)相関ルール情報から整合管理ルール情報を生成する。そして、(D)この整合管理ルール情報に基づいて構造化文書集合の中の不整合箇所を検出し、(E)不整合箇所を画面に表示して、ユーザの操作により、構造化文書間の整合性の管理を可能とする。以下、詳細に説明する。
【0046】
(A)類似要素組の抽出
図8は本実施形態に係る類似要素組抽出部31の動作を説明するためのフローチャートである。
【0047】
始めに、類似要素組抽出部31は、構造化文書記憶部21に記憶された構造化文書のうち、対象文書d1を読み出す。そして、類似要素組抽出部31は、対象文書d1に含まれる要素e1を読み出す(S101)。
【0048】
次に、類似要素組抽出部31は、構造化文書記憶部21に記憶された構造化文書のうち、比較文書d2を読み出す。なお、比較文書d2として、対象文書d1と同一の構造化文書が読み出されるとしてもよい。そして、類似要素組抽出部31は、比較文書d2に含まれる要素e2(e1≠e2)を読み出す(S102)。
【0049】
それから、類似要素組抽出部31は、要素e1と要素e2との類似度simを算出し(S103)、類似度simが類似しきい値minSimより大きいか否かを判定する(S104)。
【0050】
類似度simが類似しきい値minSimより大きければ(S104−Yes)、類似要素組抽出部31は、要素e1と要素e2との内容が類似しているとみなし、それぞれの要素について対応するパスを読み出す(S105)。そして、要素e1及び要素e2の内容を、対応するパスとともに類似要素組pとしてメモリに記憶する(S106)。
【0051】
この後、類似要素組抽出部31は、比較文書d2の全ての要素に対してステップS102〜S106の処理を行なう(S107−No,S108)。
【0052】
さらに、類似要素組抽出部31は、対象文書d1の全ての要素に対してステップS101〜S108の処理を行なう(S109−No,S110)。
【0053】
そして、対象文書d1の全ての要素に対して処理が行なわれると、2つの構造化文書d1,d2から類似要素組が抽出されることになる。
【0054】
また、類似要素組抽出部31は、他の全ての構造化文書を比較文書d2として同様の処理を実行し、他の全ての構造化文書を対象文書d1に順次設定して同様の処理を行なう。これにより、構造化文書記憶部21に記憶された全ての構造化文書から類似要素組が抽出される。
【0055】
なお、類似しきい値minSimは、対象文書d1の要素e1と比較文書d2の要素e2とが類似するか否かを判定するための設定値であり、ユーザが事前に設定する。
【0056】
(B)相関ルール情報の生成
図9は本実施形態に係る相関ルール情報生成部32の動作を説明するためのフローチャートである。
【0057】
まず、相関ルール情報生成部32は、類似要素組抽出部31により抽出された全ての類似要素組のパスを一般化する。たとえば、図3の類似要素組p1を例にとると、相関ルール情報生成部32は、p1の要素e1のパスにおいて、“person[1]”にある“[1]”のような位置指定を取り除いて、「personList/person/name」に一般化する。
【0058】
そして、相関ルール情報生成部32は、パスを一般化した類似要素組から条件部類似要素組q1を設定し、その第1要素e11と第2要素e12とを読み出す(S201)。
【0059】
次に、相関ルール情報生成部32は、パスを一般化した類似要素組から条件部類似要素組q1と対応させて結論部類似要素組q2を設定し、その第1要素e21と第2要素e22とを読み出す(S202)。
【0060】
続いて、相関ルール情報生成部32は、条件部類似要素組q1の第1要素e11と結論部類似要素組q2の第1要素e21との第1構造的距離dis1を算出する(S203)。また、相関ルール情報生成部32は、条件部類似要素組q1の第2要素e12と結論部類似要素組q2の第2要素e22との第2構造的距離dis2を算出する(S204)。
【0061】
そして、相関ルール情報生成部32は、第1構造的距離dis1と第2構造的距離dis2とがともに0(ゼロ)より大きく、かつ、距離しきい値maxDisより小さい場合(S205−Yes)、条件部類似要素組q1と結論部類似要素組q2との組を相関関係を有する類似要素組の組の候補としてメモリに記憶する(S206)。なお、距離しきい値minDisは、相関関係を有するとみなされる構造的範囲に対応する値であり、ユーザが事前に設定する。
【0062】
この後、相関ルール情報生成部32は、類似要素組抽出部31により抽出された全ての類似要素組に対して、相関関係を有する類似要素組の組の候補となるか否かを求める(S207〜S210)。
【0063】
たとえば、図3に示す類似要素組データの場合、距離しきい値maxDisが4とすると、(p1、p4)、(p2、p5)、(p3、p5)、(p7、p8)が相関関係を有する候補として取得される。さらに、その順序を考慮すると、逆順にした(p4、p1)、(p5、p2)、(p5、p3)、(p8、p7)の類似要素組の組も、相関関係を有する候補として取得される。この結果、相関関係を有する候補の集合Sr={(p1、p4)、(p2、p5)、(p3、p5)、(p7、p8)、(p4、p1)、(p5、p2)、(p5、p3)、(p8、p7)}が得られる。
【0064】
相関ルール情報生成部32は、相関関係を有する候補を求めたら、その相関関係を有する類似要素組の組の候補を読み出して(S211)、後述する図10の手順により確信度conを算出する(S212)。
【0065】
相関ルール情報生成部32は、確信度conを算出した場合、相関関係を有する類似要素組の組の候補の中から、確信度しきい値minConよりも大きい確信度を有するものを、相関関係を有する類似要素組の組とみなして相関ルール情報記憶部22に記憶する(S213−Yes,S214)。ここで、確信度しきい値minConは、相関関係を有する類似要素組の組の候補が相関ルール情報であるか否かを判定するための設定値であり、ユーザが事前に与える設定値である。
【0066】
そして、相関ルール情報生成部32は、相関関係を有する類似要素組の組の全ての候補に対してステップS211〜S214の処理を行なう(S215・S216)。これにより、図4に示すような相関関係を有する類似要素組の組と、構造的距離dis1・dis2と、確信度conとが記述された相関ルール情報rrが生成されて相関ルール情報記憶部22に記憶される。
【0067】
なお、上記ステップS212における確信度conの算出は以下の手順で行なう。図10は確信度の算出する際の手順を説明するためのフローチャートである。
【0068】
確信度を算出する際には、まず、相関ルール情報の候補である条件部類似要素組q1の第1要素e11と第2要素e12とに対し、一般化されたパスがそれぞれマッチする類似要素組の集合Smを抽出する(S221)。たとえば、相関ルール情報生成部32は、図3の例では、類似要素組のパスを一般化した場合、要素e1のパスが「personList/person/name」にマッチし、かつ要素e2のパス「報告書/報告者/氏名」にマッチする類似要素組の集合Sm={p1、p6、p7}を抽出する。
【0069】
次に、相関ルール情報生成部32は、相関ルール情報の候補の集合Srについて、Smの要素のいずれかを条件部類似要素組q1として有する相関ルール情報の候補となる類似要素組の組の集合Ssを取得する(S222)。前記の例では、Ss={(p1、p4)、(p7、p8)}となる。
【0070】
次に、相関ルール情報生成部32は、対象構造化文書について、条件部類似要素組q1の第1要素e11の一般化されたパスにマッチする要素の数Naを求める(S223)。同様に対象構造化文書について、条件部類似要素組q1の第2要素e12の一般化されたパスにマッチする要素の数Nbを求める(S224)。前記の例では、相関ルール情報生成部32は、条件部類似要素組q1の第1要素e11の一般化されたパス「personList/person/name」にマッチする要素は、図2の要素y211、y213、y215であるので、Na=3と求める。同様に、条件部類似要素組q1の第2要素e12の一般化されたパス「報告書/報告者/氏名」 にマッチする要素は図2の要素y221、y311、y331であるので、Nb=3と求める。
【0071】
続いて、相関ルール情報生成部32は、条件部類似要素組q1の第1要素e11と第2要素e12とについて、連結可能数N=Na×Nbを求める(S225)。前記の例では、連結可能数N=3×3=9となる。
【0072】
そして、相関ルール情報生成部32は、相関関係を有する類似要素組の組の候補の支持度sup=n(Sm)/Nを求める(S226)。ここで、n(S)は集合Sに含まれる要素数を返す関数とする。前記の例では、支持度sup=3/9=1/3となる。なお、支持度とは、対象構造化文書集合における該当相関ルール情報の一般性を示す値であり、支持度が高いほど一般性が高いことを表わす。
【0073】
次に、相関ルール情報生成部32は、相関関係を有する候補の支持度supが支持度しきい値minSupよりも大きい場合、確信度con=n(Ss)/n(Sm)の式から、その値を算出する(S227−Yes,S228)。たとえば、相関関係を有する類似要素組の組の候補が(p1、p4)であるときは、確信度con=2/3となる。なお、支持度しきい値minSupは事前にユーザが与える設定値である。また、支持度supが支持度しきい値minSup以下の場合は、相関ルール情報生成部32は確信度を求める処理を行なわない。
【0074】
なお、本実施形態では、支持度および確信度の算出において、n(Sm)とn(Ss)とを、単純に集合に含まれる要素数としたが、類似度を利用してもよい。たとえば、次式でn(Sm)とn(Ss)とを求めることができる。
【0075】
【数1】
【0076】
上式において、sim(s)とは集合Sに含まれる要素における類似度を返す変数である。sが類似要素組pの場合、つまりn(Sm)を求める場合、図3における「内容の類似度」の値(以下、simp(p)と表わす)がsim(s)である。また、sが相関関係を有する類似要素組の組の候補(pa,pb)の場合、類似要素組paとpbとの「内容の類似度」の積がsim(s)となり、sim(s)=simp(pa)×simp(pb)となる。相関関係を有する類似要素組の組の候補を(p1、p4)とすると、n(Sm)=1.0+1.0+0.8=2.8となり、n(Ss)=(1.0×1.0)+(0.8×1.0)=1.8となる。そして、支持度sup=2.8/9.0となり確信度con=1.8/2.8となる。
【0077】
(C)整合管理ルール情報の生成
図11は本実施形態に係る整合管理ルール情報生成部33の動作を説明するためのフローチャートである。
【0078】
整合管理ルール情報生成部33は、相関ルール情報記憶部22に記憶された相関ルール情報rrを読み出す(S301)。
【0079】
次に、相関ルール情報rrの「整合の要否」に、整合管理を行うことを示すフラグ(図4では“要”)が設定されていれば(S302−Yes)、ステップS303〜S309の処理を行う。
【0080】
整合管理ルール情報生成部33は、類似要素組抽出部31によって抽出された類似要素組の中で要素e1と要素e2との一般化したパスが、ステップS301で読み出した相関ルール情報rrに記述された条件部類似要素組q1の第1要素e11と第2要素e12とにマッチする類似要素組を取得する(S303)。例えば、図3の類似要素組データと図4の相関ルール情報とを例にすると、整合管理ルール情報生成部33は、類似要素組データの中で要素e1および要素e2のパスが、相関ルール情報rr1の条件部類似要素組q1の第1要素e11である「personList/person/name」と、第2要素e12である「報告書/報告者/氏名」にマッチする類似要素組として図3のp1とp6とを取得する。
【0081】
続いて、整合管理ルール情報生成部33は、条件部類似要素組q1に対応する結論部類似要素組q2の第1要素e21と第2要素e22とを相関ルール情報記憶部22から読み出す(S304)。そして、整合管理ルール情報生成部33は、ステップS303で取得した類似要素組の各要素e1・e2のパスと「内容」とを、ステップS304で読み出した結論部類似要素組q2の第1要素e21と第2要素e22とのそれぞれの要素についてのパスに類似度に応じて組み込み、整合性を取るべき整合箇所を指定する整合箇所指定パスpathを生成する(S305)。
【0082】
具体的に前記の例で示すと、整合管理ルール情報生成部33は、取得した類似要素組p1について、まず、相関ルール情報rr1の結論部類似要素組q2の第1要素e21である「personList/person/contact/tel」(これをpath Aとする)に対して、p1の要素e1のパスからファイルパスを表す要素「文書A!」を取り除いて一般化したパス「personList/person/name」(これをpath Bとする)を取得する。
【0083】
そして、整合管理ルール情報生成部33は、path Aに対して、path Aとpath Bとの共通部分「personList/person」の直後に、p1の要素の内容である「東芝太郎」という条件を加えたpath Bの残りの部分「name」を挿入し、整合箇所指定パスpathとして「personList/person[name/text()="東芝太郎"]/contact/tel」を生成する。
【0084】
ただし、整合管理ルール情報生成部33は、前記の例のp1のように類似要素組の「内容の類似度」が1.0(要素e1と要素e2との内容が完全一致)の場合は前記のようなpathで良いが、p3のように「内容の類似度」が1.0より小さい(要素e1と要素e2との内容が不一致)場合は、pathを「personList/person[name/text()="東芝太郎"|name/text()="東芝 太郎"]/contact/tel」のように要素e1と要素e2との「内容」を条件として論理和で繋げた表現とする。要するに、整合管理ルール情報生成部33は、類似度に応じて整合箇所指定パスを生成する。
【0085】
この後、整合管理ルール情報生成部33は、構造化文書を構造化文書記憶部21から読み出し、整合箇所指定パスpathとマッチする要素eを取得する(S306)。前記の例では、図2に示す対象構造化文書集合について、整合箇所指定パスである「personList/person[name/text()="東芝太郎"]/contact/tel」とマッチする要素y212、y222が取得される。
【0086】
そして、整合管理ルール情報生成部33は、取得した要素eを構造化文書と関連付けて記述した整合管理ルール情報cr1を生成して整合管理ルール情報記憶部23に記憶する(S307)。
【0087】
この後、整合管理ルール情報生成部33は、条件部類似要素組q1の第1要素e11及び第2要素e12と一致する類似要素組を求め、上述のステップS303〜S307と同様の処理を行なう(S308−No,S309)。さらに、整合管理ルール情報生成部33は、相関ルール情報記憶部22に記憶された全ての相関ルール情報に対して、同様の処理を行ない、整合管理ルール情報crを求める(S310,S311)。
【0088】
(D)不整合箇所の検出
図12は本実施形態に係る不整合検出部41の動作を説明するためのフローチャートである。
【0089】
不整合検出部41は、整合管理ルール情報記憶部23から整合管理ルール情報crを読み出す(S401)。そして、整合管理ルール情報crにおいて、「整合の要否」に整合管理を行うことを示すフラグ(図では“要”)が設定されている整合箇所指定パスで示される整合管理対象要素集合esを、構造化文書記憶部21から読み出す(S402)。さらに、整合管理対象要素集合esに含まれる要素間について、要素内容を比較することで不整合のチェックを行う(S403)。
【0090】
不整合検出部41により不整合が検出された場合、文書管理データ表示部42が、不整合箇所の要素内容を構造化文書毎に表示する(S404−Yes,S405)。また、不整合パターン読出部46は、不整合箇所の関連文書の更新日時情報と、該整合管理ルール情報に含まれる修正条件情報の方針と修正履歴を所得し、修正条件情報として保持する。そして、不整合パターン記憶部47から修正情報判定情報とマッチする判定条件を持つ不整合パターンの不整合の種類と提示内容を読み出す(S406)。
【0091】
次に、文書管理データ表示部42は、不整合パターン読出部46が読み出した不整合の種類と提示内容を表示する(S407)。具体的には、文書管理データ表示部42は、不整合パターンに応じて、不整合に関連する文書の提示と、不整合の種類の提示、不整合に対する修正方法の提示、修正内容の候補の提示、今後の整合管理の方法の確認のための提示、相関ルール情報および整合管理ルール情報の修正を確認するための提示とがされた画面を表示する。
【0092】
これに応じて、文書管理データ表示部42に表示された提示画面上で、文書管理データ入力部43を介して、文書の修正内容と、今後の整合管理の方針、相関ルール情報および整合管理ルール情報の修正内容との入力が可能となる。文書管理データ入力部43において「現データ」や「修正候補」の選択、もしくは、直接入力のユーザ操作によって修正内容が入力された場合は、文書修正部45は整合化理対象要素集合esに含まれる要素の内容を、入力された修正内容に従って修正する。さらに、文書修正部45はここでの修正内容を、その時点で対象となっている整合管理ルール情報の「修正履歴」の項目に蓄積する(S408−Yes,S409)。
【0093】
この後、整合管理ルール情報crを全て読み出すまで、上述のステップS401〜S409の処理が行なわれる(S410−No,S411)。
【0094】
なお、図13に示すように、ユーザにより相関ルール情報の修正内容が提示画面に入力された場合は、ルール情報修正部44が、ユーザによる相関ルール情報の修正内容に従い、相関ルール情報記憶部22に記憶されている該当相関ルール情報を修正する(S501−Yes,S502)。具体的には、文書管理データ入力部43の「相関ルール、整合管理ルールの修正」の項目で、ユーザが「該当の相関ルールを非適用とする」の項目を選択した場合、文書管理データ表示部において、その時点で対象となっている相関ルール情報の「整合の要否」に整合管理が不要であること示すフラグ(たとえば“否”)を設定する。
【0095】
同様に、提示画面においてユーザにより整合管理ルール情報の修正内容が入力された場合、ルール情報修正部44が、整合管理ルール情報の修正内容に従い、整合管理ルール情報記憶部23に記憶されている整合管理ルール情報を修正する(S503−Yes,S504)。具体的には、文書管理データ入力部43でユーザが「該当文書のみ整合管理の対象外とする」の項目を選択した場合は、その時点で対象となっている整合管理ルール情報の「整合の要否」に整合管理が不要であることを示すフラグを設定する。また、文書管理データ入力部43の「今後の整合管理の方針」の項目で、ユーザが「更新日時優先」、「マスタ文書指定」、「都度確認」のいずれかの項目を選択した場合は、その時点で対象となっている整合管理ルール情報の「方針」の項目に、ユーザによって選択された項目の内容を方針として設定する。ここで、ユーザが「マスタ文書指定」の項目を選択した場合は、ユーザによって指定されるマスタ文書のファイルパスも保持する。
【0096】
(E)不整合箇所の画面表示
構造化文書記憶部21に記憶された構造化文書間で不整合箇所が検出されると、その不整合箇所が文書管理データ表示部42の画面に表示される。これに対し、ユーザによる文書管理データ入力部43の操作により、構造化文書間の整合性の管理が可能となる。
【0097】
具体的には、文書管理データ表示部42には図14・16・18・19に示すような提示画面が表示される。ここでは、図2の文書A、文書B、文書C、文書D、文書Eを含む構造化文書集合を対象文書として整合管理を行なう例を示す。ただし、この例では文書Aから文書Eに加えて、図6の62に文書の一部を示すような、文書Dと同じ文書構造を持つ文書Fと、文書Bと同じ文書構造を持つ文書Gとを、対象構造化文書集合に含んでいるものとする。
【0098】
今回の例では、整合管理ルール情報に従い不整合の検出が行われると、文書Aの要素y211と、文書Bの要素y222と、文書Dの要素y322とのうち、文書Bの要素y222において不整合が検出される。
【0099】
不整合が検出されると、不整合パターン読出部46によって不整合のパターンが判定され、その判定に応じた修正方法と関連文書が、図14に示すように、文書管理データ表示部42に表示される。ただし、初期の提示画面では、チェックボックスはいずれもチェックされていない状態である。図14の例では、「文書B」において不整合が検出され、「データ更新」による不整合の可能性があることが提示される。さらに修正方法として、「関連文書の一括修正」が提示される。
【0100】
ここで、ユーザが、図14に示すとおり、修正候補として「604−555−1234」を選択し、「該当の相関ルール情報を非適用とする」のチェックボックスを選択して相関ルール情報rr2を非適用とし、「OK」ボタンb1をクリックしたとする。そうすると、ユーザの入力を受けてルール情報修正部23よって、相関ルール情報記憶部22に記憶されている前記不整合箇所に該当する相関ルール情報が図15のように修正される。具体的には相関ルール情報中の「整合の要否」の項目に整合が不要であることを示すフラグが書き込まれる。
【0101】
次に、図14の提示画面においてユーザが選択した修正候補の内容によって、不整合箇所が修正される。これによって、関連箇所である文書Aの<tel>要素、文書Bの<連絡先>要素、文書Dの<電話>要素、文書Fの<連絡先>要素、文書Gの<電話>要素の内容が「604−555−1234」となり、対象構造化文書の要素間の整合性が維持される。
【0102】
この後、ユーザが文書Bの<連絡先>要素の内容を「604−555−6666」に編集したとする。そうすると、図16に示す画面がユーザに提示される。ここで、図14の提示画面におけるユーザ操作によって相関ルール情報rr2が非適用とされたために、相関ルール情報rr2に係る文書は非対象となる。そのため、図14の関連文書の提示に対して、文書Dと文書Gは関連文書として提示されなくなる。
【0103】
ところで、今回検出された不整合はユーザによる編集作業によって生じた不整合であり、この不整合の発生文書Bは更新日時が他の関連文書に比べて最新である。また、修正履歴に保持されているデータは「604−555−1234」であり、前記「604−555−6666」ではない。そのため、図7の不整合パターンの“h1−2”に該当し、図16の提示画面のとおり、「文書B」において不整合が検出されたことと、「データ更新」による不整合の可能性があることと、修正方法としての「関連文書の一括修正」が提示される。
【0104】
このような図16の提示画面において、ユーザが、文書の修正内容として「604−555−1234」を選択し、今後の整合管理の方針として「マスタ文書指定」を選択し、そのマスタ文書を文書Aとし、「該当文書のみ整合管理の対象外とする」を選択し、文書Fの<連絡先>要素に対する「整合の要否」の項目を否として、整合管理の対象外としたとする。
【0105】
そうすると、ルール情報修正部44によって、整合管理ルール情報記憶部23に記憶されている前記不整合箇所に該当する整合管理ルール情報が図17に示すように修正される。該当整合管理ルール情報の修正履歴としては図14おけるユーザによる修正内容「604−555−6666」に加え、今回図16における修正内容「604−555−1234」が保持される。この例では、修正履歴は上の行にあるほど、新しい修正内容であることを示す。また、文書修正部45によって、関連箇所の要素の内容が「604−555−1234」に修正される。
【0106】
この後、ユーザが文書Aの<tel>要素の内容を「604−555−9999」に編集したとする。そうすると、図18に示す画面がユーザに提示される。また、図16の提示画面におけるユーザ操作によって文書Fの<連絡先>要素に係る整合管理ルール情報は整合管理の対象外とされたために、この要素は整合管理の非対象となる。そのため、図16の関連文書の提示に対して、文書Fは関連文書として提示されなくなる。
【0107】
ここで、ユーザの編集作業によって不整合が生じた文書Aは、図16の提示画面においてユーザによってマスタ文書として指定されている。そのため、図7の不整合のパターンとしては“h2”に該当するので、図18の提示画面においてマスタ文書である文書Aが更新されたことが提示され、修正方法として「マスタ文書の内容で関連箇所を修正」が提示される。
【0108】
このような図18の提示画面において、ユーザが「OK」ボタンb2をクリックしたとする。そうすると、文書修正部24によって前記不整合箇所の関連箇所の内容がマスタ文書として指定されている文書Aの内容「604−555−9999」に修正される。また、図18の提示画面におけるユーザ入力で「今後の整合管理の方針」と「相関ルール情報、整合管理ルール情報の修正」の項目は選択されていないので、ルール情報修正部44においては、前記修正内容を該当整合管理ルール情報の「修正履歴」の項目に追加する処理のみが行われる。
【0109】
さらにこの後、ユーザが、文書Bの<連絡先>要素の内容を以前の修正内容である「604−555−1234」に編集したとする。そうすると、図19に示す画面がユーザに提示される。ここで検出された不整合箇所の内容「604−555−1234」は、該当整合管理ルール情報の修正履歴に存在し、かつ最新の内容ではないので、図7の不整合パターンの“h5”に該当する。そのため、図19に示すように、「文書B」において不整合が検出されたことと、その不整合パターンが「古いデータの入力」もしくは「データ更新」である可能性があることと、その修正方法としての「最新データに修正」もしくは「該当データで関連文書を修正」とが提示される。
【0110】
そして、図19の提示画面に示されるとおりのデータが入力された状態で、ユーザが「OK」ボタンb3をクリックしたとする。そうすると、図20に示すように、文書修正部45によって前記不整合箇所の関連箇所の内容が、不整合箇所に該当する整合管理ルール情報の「修正履歴」の項目に格納されている最新の内容「604−555−9999」に修正される。
【0111】
また、図16の提示画面におけるユーザ入力で「今後の整合管理の方針」と「相関ルール情報、整合管理ルール情報の修正」の項目は選択されておらず、さらに文書の修正内容もすでに該当整合管理ルール情報の「修正履歴」の項目に登録されている内容であるため、ルール情報修正部44により、相関ルール情報及び整合管理ルール情報の修正は行われない。
【0112】
(構造化文書間整合管理装置の効果)
以上説明したように、本実施形態に係る構造化文書間整合管理装置10によれば、構造化文書記憶部11に記憶された構造化文書から、類似する内容が記述された要素のパスと類似する内容と類似度とを類似要素組として抽出する類似要素組抽出部31と、比較する類似要素組の組の構造的距離や支持度及び確信度に基づいて、相関関係を有する条件部類似要素組q1と結論部類似要素組q2とが記述された相関ルール情報を生成する相関ルール情報生成部32と、相関ルール情報に基づいて整合箇所指定パスが記述された整合管理ルール情報を生成する整合管理ルール情報生成部33とを備えているので、整合管理ルール情報から不整合箇所を特定することで、整合管理する箇所を事前に登録しなくても、複数の構造化文書間の整合性を管理することができる。
【0113】
補足すると、構造化文書間整合管理装置10は、対象構造化文書集合の要素間の相関関係を表す相関ルールをスキーマレベルで自動抽出し、整合性を管理するための整合管理ルール情報を自動生成する。それゆえ、相関ルール情報により対象構造化文書集合に対してスキーマレベルでの整合管理を行え、整合管理ルール情報により対象構造化文書集合に対して要素レベルでの整合管理が行えるため、網羅的でかつ柔軟に文書間の整合管理を行うことができる。また、ユーザが事前に手作業で構造化文書間の整合性を維持するための整合管理ルール情報を作成するためのコストをなくすとともに、ユーザが手作業でルールを作成する際に生じていた記述ミスや記述漏れを削減することができる。
【0114】
また、構造化文書間整合管理装置10は、整合管理ルール情報に記述された全ての構造化文書に対する整合箇所指定パスにより指定される要素の内容に不整合箇所があるか否かを検出する不整合検出部41と、不整合箇所の内容を構造化文書毎に表示する文書管理データ表示部42と、不整合箇所の内容の修正を受け付ける文書管理データ入力部43と、文書管理データ入力部43により不整合箇所の内容の修正を受け付けた場合、構造化文書記憶部に記憶された構造化文書の内容を修正する文書修正部45とを備えているので、整合管理ルール情報に対して、対象構造化文書集合に含まれる不整合箇所を漏れなく検出することができる。
【0115】
また、構造化文書間整合管理装置10は、修正条件情報に対応して、構造化文書間での不整合の種類と、該不整合の種類に応じた修正方法とが示された不整合パターンを記憶する不整合パターン記憶部47と、不整合検出部41により不整合箇所が検出された場合、修正条件情報に対応する修正方法を不整合パターン記憶部から読み出す不整合パターン読出部46とを備えているので、不整合のパターンに応じた修正候補の提示により、ユーザが適切な修正をすることができるように支援することができる。
【0116】
換言すれば、ユーザは検出された不整合の箇所と不整合の種類を確認でき、さらに、画面に提示される不整合の種類に対する適切な修正内容と修正方法の候補に対する選択操作や入力操作により、ユーザは不整合に対する修正を漏れなく、正しく、少労力で実現することができる。
【0117】
その上、ユーザによる文書の修正内容の履歴や、修正方針の選択情報、相関ルール情報や整合管理ルール情報の修正を、次の整合管理に利用することで、少労力で漏れなく、正しく、ユーザの意図にあった構造化文書間の整合管理を行うことができる。
【0118】
<その他>
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【0119】
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0120】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【0121】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
【0122】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0123】
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0124】
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【0125】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【符号の説明】
【0126】
10・・・構造化文書間整合管理装置、21・・・構造化文書記憶部、22・・・相関ルール情報記憶部、23・・・整合管理ルール情報記憶部、30・・・文書管理ルール情報生成部、31・・・類似要素組抽出部、32・・・相関ルール情報生成部、33・・・整合管理ルール情報生成部、40・・・整合管理部、41・・・不整合検出部、42・・・文書管理データ表示部、43・・・文書管理データ入力部、44・・・ルール情報修正部、45・・・文書修正部、46・・・不整合パターン読出部、47・・・不整合パターン記憶部。
【技術分野】
【0001】
本発明は、整合管理する箇所を事前に登録しなくても、複数の構造化文書間の整合性を管理し得る構造化文書間整合管理装置及びプログラムに関する。
【背景技術】
【0002】
近年、計算機の高性能化や記憶媒体の大容量化、計算機ネットワークの普及などに伴い、電子化された大量の文書を計算機システムに記憶管理して利用することが可能である。電子化された文書とは、例えば、帳票、企画書、設計書、報告書といった業務文書や、社員名簿、組織表といったデータを含むもの、マニュアル、規程、議事録、ウェブページなどを指す。これらの電子化された文書は、その内容や目的に応じて、相互に関連しあうことも少なくない。そのため、文書間の整合性を管理できた方がよい場合がある。例えば、ある文書に対する変更内容を、関連する他の文書へ反映させることができれば、文書の有効活用が促進でき、文書の管理や改廃の作業も効率化できる。
【0003】
しかしながら、文書を作成する際に、他の文書との関連が考慮されることは少なく、文書間の整合性を保持すべき箇所の関連が明示的に記述されるわけではない。
【0004】
一方、近年では、電子化された文書はXMLに代表される構造化文書として管理されることが多い。構造化文書には、テキストデータに構造を持たせているので、XMLDBに代表されるようにDB(データベース)に格納される1データとしての側面がある。
【0005】
しかしながら、構造化文書は作成時にデータとして利用するという明確な意図を持ち、体系的に文書構造の定義を行わない限り、作成される文書の構造の定義は作成者によって異なることが多く、その整合性を管理することは困難である。
【0006】
このような事情のもと、複数の文書間の内容の整合性を取るために、他の文書内で使用される共通部分を共有文書をとしてまとめ、他の文書(派生文書)は共有文書から必要な部分を取り込むことで整合性を管理する方法がある(例えば、特許文献1参照)。この方法では、整合性をとるべき各文書間の整合関係を整合管理ルール情報として記述することで、共有文書内のどの箇所を派生文書のどの箇所に取り込むかを指定する。
【0007】
また、文書間に派生関係はなくても、任意の文書間に対して整合管理ルール情報を記述することもできる(例えば、特許文献2,3参照)。このシステムでは整合管理ルール情報に記述された整合関係について、文書間の整合性をチェックすることで、任意の文書間の整合性を管理する。
【0008】
なお、整合管理ルール情報の登録または修正方法としては特許文献1、特許文献3において、ユーザがエディタもしくはシステム上の画面を利用して登録する方法が開示されている。また構造化文書が対象ではないが、一つの基準文書と他の文書との比較を行い、差異情報を利用して整合管理ルール情報を生成する日本語文章推敲支援システムもある(例えば、特許文献4参照)。このシステムでは、文書を比較する際、文書の表層表現を利用する。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開平11−353312号公報
【特許文献2】特開平11−338861号公報
【特許文献3】特開2003−281118号公報
【特許文献4】特開平4−326461号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、上述の方法では以下の問題がある。
【0011】
特許文献1に記載された技術は、派生関係により整合性を管理する方法であり、共有文書から生成される文書や、整合性のとるべき整合箇所を事前に登録しておく必要がある。すなわち、整合箇所の修正の際に、共有文書を修正することで整合性をとるものであるので、派生文書を直接編集する場合には文書間の整合性がなくなるという問題がある。
【0012】
特許文献2、特許文献3に記載された技術は、任意の文書間に対して整合管理ルール情報を作成する方法であり、対象となる文書数が膨大になると、作成すべき整合管理ルール情報も膨大になり、ユーザが整合管理ルール情報を記述し管理するのに多大な時間と労力とを要するという問題がある。なお、特許文献1の技術についても同様の問題がある。
【0013】
特許文献4に記載された技術は、文書間の差異抽出により整合管理ルール情報を生成するが、文書の表層表現による比較のため、文書作成者による表記ゆれや誤入力などにより、整合性をとるべき箇所を正確に抽出することはできず、整合管理ルール情報の漏れが生じるという問題がある。一方、本来整合性をとるべき箇所ではないものを整合性をとるべき箇所として抽出してしまい、ユーザの意図しない箇所にまで修正を行う危険性もある。
【0014】
本発明は上記実情に鑑みてなされたものであり、整合管理する箇所を事前に登録しなくても、複数の構造化文書間の整合性を管理し得る構造化文書間整合管理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明は上記課題を解決するために、構造化文書間の整合性を管理する構造化文書間整合管理装置であって、予め定義された要素に従って構造化された構造化文書を記憶する構造化文書記憶手段と、前記構造化文書記憶手段に記憶された構造化文書について、2つの要素毎に比較し、比較される2つの要素間の内容の類似度を算出し、前記類似度に基づいて、類似する内容を有する要素の組を抽出し、抽出された要素の組におけるそれぞれの要素についてパスを抽出し、前記抽出したパスと前記類似する内容と前記類似度とを類似要素組として抽出する類似要素組抽出手段と、前記類似要素組抽出手段により抽出された全ての類似要素組のパスを一般化し、パスを一般化した2組の類似要素組に対し、各要素間の構造的距離に基づいて相関関係を有する類似要素組の組の候補を設定し、相関関係を有する類似要素組の組の候補から、支持度及び確信度に基づいて、相関関係を有する条件部類似要素組と結論部類似要素組とが記述された相関ルール情報を生成する相関ルール情報生成手段と、前記類似要素組抽出手段により抽出された全ての類似要素組のうち、前記相関ルール情報に記述された条件部類似要素組の各要素と、一般化したパスが一致する類似要素組を読み出し、この読み出した類似要素組の内容を、前記結論部類似要素組の各要素における前記条件部類似要素組との対応箇所に、類似度に応じて書き込んで整合箇所指定パスを生成し、前記整合箇所指定パスを含む構造化文書を前記構造化文書記憶手段から読み出し、該読み出した全ての構造化文書と前記整合箇所指定パスとが関連付けて記述された整合管理ルール情報を生成する整合管理ルール情報生成手段と、を備えた構造化文書間整合管理装置を提供する。
【0016】
<作用>
従って、本発明は以上のような手段を講じたことにより、構造化文書記憶手段に記憶された構造化文書から、類似する内容が記述された要素のパスと類似する内容と類似度とを類似要素組として抽出し、比較する類似要素組の組の構造的距離や支持度及び確信度に基づいて、相関関係を有する条件部類似要素組と結論部類似要素組とが記述された相関ルール情報を生成し、相関ルール情報に基づいて整合箇所指定パスが記述された整合管理ルール情報を生成するので、整合管理ルール情報から不整合箇所を特定することで、整合管理する箇所を事前に登録しなくても、複数の構造化文書間の整合性を管理し得る構造化文書間整合管理装置を提供することができる。
【発明の効果】
【0017】
本発明によれば、整合管理する箇所を事前に登録しなくても、構造化文書間の整合性を管理することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の第1の実施形態に係る構造化文書間整合管理装置10の構成を示す模式図である。
【図2】同実施形態における構造化文書の一例を示す図である。
【図3】同実施形態における「類似要素組」の一例を示す図である。
【図4】同実施形態における「相関ルール情報」の一例を示す図である。
【図5】同実施形態における「整合管理ルール情報」の一例を示す図である。
【図6】同実施形態に係る文書管理データ表示部42による提示画面の一例を示す模式図である。
【図7】同実施形態に係る不整合パターンの一例を示す図である。
【図8】同実施形態に係る類似要素組抽出部31の動作を説明するためのフローチャートである。
【図9】同実施形態に係る相関ルール情報生成部32の動作を説明するためのフローチャートである。
【図10】同実施形態における確信度の算出する際の手順を説明するためのフローチャートである。
【図11】同実施形態に係る整合管理ルール情報生成部33の動作を説明するためのフローチャートである。
【図12】同実施形態に係る不整合検出部41の動作を説明するためのフローチャートである。
【図13】同実施形態に係る不整合検出部41の動作を説明するためのフローチャートである。
【図14】同実施形態における不整合箇所の画面表示の一例を示す模式図である。
【図15】同実施形態における整合管理ルール情報の一例を示す図である。
【図16】同実施形態における不整合箇所の画面表示の一例を示す模式図である。
【図17】同実施形態における整合管理ルール情報の一例を示す図である。
【図18】同実施形態における不整合箇所の画面表示の一例を示す模式図である。
【図19】同実施形態における不整合箇所の画面表示の一例を示す模式図である。
【図20】同実施形態における整合管理ルール情報の一例を示す図である。
【発明を実施するための形態】
【0019】
以下、図面を参照して本発明の実施形態を説明する。
【0020】
<第1の実施形態>
(構造化文書間整合管理装置の構成)
図1は本発明の第1の実施形態に係る構造化文書間整合管理装置10の構成を示す模式図である。
【0021】
構造化文書間整合管理装置10は、構造化文書間の整合性を管理するものであって、構造化文書記憶部21・相関ルール情報記憶部22・整合管理ルール情報記憶部23・文書管理ルール情報生成部30・整合管理部40を備えている。
【0022】
なお、構造化文書間整合管理装置10は、ハードウェア構成、またはハードウェア構成とソフトウェア構成との組合せにより実現可能である。後者の場合、ソフトウェア構成は、予めコンピュータ読み取り可能な記憶媒体またはネットワークから得られた「構造化文書間整合管理プログラム」がコンピュータにインストールされることにより、構造化文書間整合管理装置10としての各機能が実現される。
【0023】
構造化文書記憶部21は、予め定義された要素に従って構造化された複数の構造化文書を記憶する記憶装置である。例えば、構造化文書記憶部21は、図2に示すような構造化文書を記憶している。ここで、文書Aはある会社の従業員名簿の例を示しており、文書B・C・Eは社員からの報告書の例を示しており、文書Dはある社員の週報の例を示している。
【0024】
相関ルール情報記憶部22は、構造化文書記憶部21に記憶された構造化文書集合について要素間の整合性をスキーマレベルで管理するための「相関ルール情報」を記憶する記憶装置である。相関ルール情報の生成手順については後述する。
【0025】
整合管理ルール情報記憶部23は、構造化文書の要素間の整合性をインスタンスレベルで管理するための「整合管理ルール情報」を記憶する記憶装置である。整合管理ルール情報の生成手順については後述する。
【0026】
文書管理ルール情報生成部30は、類似要素組抽出部31・相関ルール情報生成部32・整合管理ルール情報生成部33から構成される。
【0027】
類似要素組抽出部31は、構造化文書記憶部21に記憶された構造化文書集合を読み出し、内容が類似する要素を、例えば図3に示すような「類似要素組」として抽出する。具体的には、類似要素組抽出部31は、構造化文書記憶部21に記憶された構造化文書に対し、2つの構造化文書毎に比較する。それから、類似要素組抽出部31は、比較される2つの構造化文書毎に要素間の内容の類似度に基づいて、類似する内容を有する要素の組を抽出する。なお、比較される2つの構造化文書は同一文書であってもよい。この場合、同じ文書内に類似する要素が存在することになる。ただし、同一文書内の要素を比較する場合、完全一致する要素の比較は除くことが好ましい。また、類似要素組抽出部31は、抽出された要素の組におけるそれぞれの要素についてパスを抽出する。そして、類似要素組抽出部31は、抽出したパスと類似する内容と類似度とを類似要素組として抽出する。
【0028】
なお、類似要素組抽出部31は、要素の内容が文字列である場合、両者の編集距離に基づいて類似度を求めたり、要素の内容が自然言語の文章(テキスト)である場合、両者の単語ベクトルの値から類似度を求めたりする。また、類似要素組抽出部31は、要素の内容が金額や日時等の数値データである場合、その数値的な近さによって類似度を求めてもよい。これらの要素の内容の種類を判定するためには、構造化文書がXML文書である場合には、例えばDTDやXMLSchemaによる文書型指定によって定義される要素種類を利用することができる。
【0029】
相関ルール情報生成部32は、類似要素組抽出部31によって抽出された類似要素組から「相関ルール情報」を生成するものである。まず、相関ルール情報生成部32は、類似要素組抽出部31により抽出された全ての類似要素組のパスを一般化する。そして、相関ルール情報生成部32は、パスを一般化した2組の類似要素組に対し、各要素間の構造的距離に基づいて相関関係を有する類似要素組の組の候補を設定する。また、相関ルール情報生成部32は、相関関係を有する類似要素組の組の候補から、支持度及び確信度に基づいて、相関関係を有する条件部類似要素組と結論部類似要素組とが記述された相関ルール情報を生成する。
【0030】
相関ルール情報生成部32により生成される相関ルール情報は例えば図4のように示される。すなわち、相関ルール情報には、類似要素組の組(q1、q2)と、それぞれ類似要素組の要素間(q1のe11とq2のe21、q1のe12とq2のe22)の構造的距離と、相関関係の“確信度”と、整合の要否とが含まれる。ここで、類似要素組の組(q1、q2)のうち、q1を条件部類似要素組、q2を結論部類似要素組と呼ぶ。条件部類似要素組q1の第1要素e11と第2要素e12との内容が一致もしくは類似している場合、結論部類似要素組q2の第1要素e21と第2要素e22との内容の整合性がとられる。
【0031】
なお、「構造的距離」とは、家系図における親等と同様の数え方で表わされる数値である。たとえば、「personList/person/name」のパスで示される要素nameと「personList/person/contact/tel」のパスで示される要素telとは、personを共通の祖先要素とし、構造的距離が3(家系図とみなすと3親等)と表わされる。ただし、要素間の構造的距離は、この定義に限るものではない。例えば、要素間の構造的距離は、兄弟要素、子孫要素、祖先要素というように明示的に表しても良いし、単純に隣接する要素間に含まれる文字列長で表わしても良い。また、「確信度」は相関ルールの信頼性を示す値であり、確信度が高いほど信頼性の高い情報であることを表す。確信度の算出方法については後述する。「整合の要否」の項目は、後述する整合管理ルール情報生成部33において、該相関ルール情報から整合管理ルール情報を生成するか否かの設定を保持する。これにより結果的に、該相関ルール情報に関する要素に対する整合管理の要否をスキーマレベルで設定する。
【0032】
整合管理ルール情報生成部33は、相関ルール情報記憶部22に記憶された相関ルール情報から、「整合管理ルール情報」を生成するものである。具体的には、整合管理ルール情報生成部33は、類似要素組抽出部31により抽出された全ての類似要素組のうち、相関ルール情報に記述された条件部類似要素組q1の各要素e11・e12と一般化したパスが一致する類似要素組を読み出す。ただし、「整合の要否」の項目に整合が不要であることを示すフラグ(たとえば“否”)が設定された相関ルール情報は、整合管理ルール情報の生成の対象外となる。そして、整合管理ルール情報生成部33は、この読み出した類似要素組の内容を、結論部類似要素組q2の各要素e21・e22における条件部類似要素組との対応箇所に、類似度に応じて書き込んで「整合箇所指定パス」を生成する。それから、整合箇所指定パスによって指定される要素を含む構造化文書を構造化文書記憶部21から読み出し、その読み出した全ての構造化文書と整合箇所指定パスとが関連付けて記述された整合管理ルール情報を生成する。
【0033】
整合管理ルール情報生成部33により生成される整合管理ルール情報は例えば図5のように示される。整合管理ルール情報には、1つのレコードに対して整合性を取るべき要素集合が含まれる。また整合管理ルール情報には、文書管理データ入力部43のユーザ操作により設定される修正条件情報が含まれる。この修正条件情報には、それぞれの要素に対して整合管理の対象とするかの否かを示す「整合の要否」の項目や、整合管理をどのように維持するかを示す「方針」の項目、修正内容の履歴を示す「修正履歴」の項目がある。なお、「方針」の項目には、後述する、整合管理の対象とする複数の構造化文書のうち基準となるマスタ文書の選択方針等が書き込まれる。
【0034】
整合管理部40は、不整合検出部41・文書管理データ表示部42・文書管理データ入力部43・ルール情報修正部44・文書修正部45・不整合パターン読出部46・不整合パターン記憶部47を備えている。
【0035】
不整合検出部41は、整合管理ルール情報記憶部23に記憶された全ての整合管理ルール情報を読み出し、整合管理ルール情報に記述された全ての構造化文書に対する整合箇所指定パスにより指定される要素の内容に不整合箇所があるか否かを検出するものである。
【0036】
文書管理データ表示部42は、不整合検出部41により整合管理ルール情報に記述された複数の要素間の内容に不整合箇所が検出された場合、該不整合箇所の内容を構造化文書毎に表示するものである。また、文書管理データ表示部42は、後述する修正条件情報に対応する修正方法や、検出された不整合要素について相関ルール情報及び整合管理ルール情報の修正の確認を提示する。
【0037】
詳しくは、文書管理データ表示部42は、図6に示すように、検出された不整合について、どの文書においてどのような不整合があり、不整合に対する修正候補の提示、今後の整合管理の方針と相関ルール情報と整合管理ルール情報との修正の確認のための提示画面を表示する。たとえば図6の例では、提示画面の左側61で「文書B」において不整合が検出されたことを表示し、さらに不整合のパターンが「データ更新」によるものだということをユーザに提示する。さらに文書管理データ表示部42は、不整合のパターンに応じて、実施すべき修正方法(図6の例では「関連文書の一括修正」)とともに、修正する際の修正候補の提示画面を表示する。前記の提示内容に併せて、今後の整合管理の方針と、相関ルール情報および整合管理ルール情報の修正の有無についての確認画面を表示する。提示画面の右側62には、検出された不整合に該当する整合管理ルール情報に登録されている要素を含む構造化文書(関連文書)を表示する。関連文書の提示の際には不整合に該当する関連箇所を強調表示する。前記の修正候補の提示おいては、関連箇所の内容が修正候補として提示される。
【0038】
文書管理データ入力部43は、文書管理するためのデータの入力を受け付けるものであり、文書管理データ表示部42により表示された不整合箇所の内容の修正を受け付ける。また、文書管理データ入力部43は、修正条件情報の変更も受け付ける。例えば、文書管理データ入力部43は、「方針」情報として、整合性を管理する構造化文書のうち、基準となるマスタ文書の指定を受け付ける。
【0039】
補足すると、文書管理データ入力部43は、関連箇所の内容以外の内容に修正するために、文書管理データ入力部43からデータの直接入力を可能とする。前記の「今後の整合管理の方針」は、提示されている不整合に該当する整合管理ルール情報に対する次回の不整合検出の際に、どのように修正するかの方針を選択できる項目である。たとえば、「更新日時優先」が選択された場合は、検出された不整合の関連箇所について、更新日時の最も新しいファイルに含まれる要素の内容にシステムが自動的に修正するという方針である。「マスタ文書指定」は、提示されている関連文書からマスタ文書をユーザが指定することで、提示されている不整合に該当する整合管理ルール情報に対する次回の不整合検出の際に指定されたマスタ文書の関連箇所の内容を正しい内容として不整合箇所の内容をシステムが自動的に修正するという方針である。「都度確認」は提示されている不整合に該当する整合管理ルール情報に対する次回の不整合検出の際にも同様の提示を行い、不整合箇所の修正およびルールの修正の有無の確認を行なうという方針である。これらの「今後の整合管理の方針」でユーザによって選択された方針は、整合管理ルール情報に含まれる。
【0040】
また、文書管理データ入力部43は、「相関ルール、整合管理ルールの修正」の項目において、ユーザに提示されている不整合に該当する相関ルール情報もしくは整合管理ルール情報あるいは両方を、以降の整合管理に関して非適用とするか否かの設定を可能とする。たとえば、「該当の相関ルールを非適用とする」は提示されている不整合に該当する相関ルール情報を非適用とすることで、整合管理ルール情報を生成する際に、この相関ルール情報を対象外にする項目である。つまり、相関ルール情報を非適用とすることは、構造化文書記憶部11に記憶されている構造化文書についてスキーマレベルで非適用とすることであり、同じ文書構造で表わされる要素を一括で対象外とすることである。さらに、文書管理データ入力部43は、「該当文書のみ整合管理の対象外とする」の項目の設定も可能とする。この項目は提示されている不整合の関連箇所に対して、整合管理の対象外とする項目である。つまり、「該当文書のみ整合管理の対象外とする」の項目を選択すると、インスタンスレベルで構造化文書を管理することになる。
【0041】
ルール情報修正部44は、文書管理データ入力部43から入力される入力情報に応じて、相関ルール情報及び整合管理ルール情報の内容を修正するものである。ルール情報修正部44は、文書管理データ入力部43の「相関ルール、整合管理ルールの修正」の項目で、ユーザが「該当の相関ルールを非適用とする」の項目を選択した場合、文書管理データ表示部において、その時点で対象となっている相関ルール情報の「整合の要否」に整合管理が不要であること示すフラグ(たとえば“否”)を設定する。同様に、ルール情報修正部44は、文書管理データ入力部43でユーザが「該当文書のみ整合管理の対象外とする」の項目を選択した場合は、その時点で対象となっている整合管理ルール情報の「整合の要否」に整合管理が不要であることを示すフラグを設定する。ルール情報修正部44は、文書管理データ入力部43の「今後の整合管理の方針」の項目で、ユーザが「更新日時優先」、「マスタ文書指定」、「都度確認」のいずれかの項目を選択した場合は、その時点で対象となっている整合管理ルール情報の「方針」の項目に、ユーザによって選択された項目の内容を方針として設定する。ここで、ユーザが「マスタ文書指定」の項目を選択した場合は、ユーザによって指定されるマスタ文書のファイルパスも保持する。
【0042】
文書修正部45は、文書管理データ入力部43の「現データ」や「修正候補」からの選択、もしくは、直接入力から与えられる修正内容に従って、その時点で対象となっている不整合箇所の要素内容を修正する。さらに、文書修正部45はここでの修正内容を、その時点で対象となっている整合管理ルール情報の「修正履歴」の項目に蓄積する。換言すると、文書修正部45は、文書管理データ入力部43により不整合箇所の内容の修正を受け付けた場合、構造化文書記憶部21に記憶された構造化文書の内容を修正する。
【0043】
不整合パターン読出部46は、不整合検出部41により不整合箇所が検出された場合、不整合箇所の関連文書の更新日時情報と、該整合管理ルール情報に含まれる修正条件情報の方針と修正履歴を所得し、修正条件情報として保持する。更新日時情報はコンピュータなどにおけるファイルシステムから取得できる情報である。不整合パターン読出部46は、不整合パターン記憶部47から修正条件情報とマッチする判定条件を持つ不整合パターンの不整合の種類と提示内容を読み出す。
【0044】
不整合パターン記憶部47は、修正条件情報に対応して、構造化文書間での不整合の種類と、該不整合の種類に応じた修正方法とが示された「不整合パターン」を記憶する記憶装置である。ここで、修正条件情報に対応する判定条件が定義される。そこで、この判定条件毎に可能性のある不整合パターンと提示内容とが図7に示すような不整合パターンとして予め定義される。たとえば、不整合箇所が検出された整合管理ルール情報において、修正条件情報にマスタ文書が指定されておらず、かつ、不整合箇所を含む文書の更新日時が関連文書の中で最新でない場合(図7中の“h1−1”の例)は、前記不整合は“入力ミスの可能性がある”と判定され、「同じ内容の多いデータで修正」が修正方法として読み出されることになる。
【0045】
(構造化文書間整合管理装置の動作)
次に本実施形態に係る構造化文書間整合管理装置10の動作を説明する。構造化文書間整合管理装置10では、(A)構造化文書から類似要素組を抽出し、(B)類似要素組から相関ルール情報を生成し、(C)相関ルール情報から整合管理ルール情報を生成する。そして、(D)この整合管理ルール情報に基づいて構造化文書集合の中の不整合箇所を検出し、(E)不整合箇所を画面に表示して、ユーザの操作により、構造化文書間の整合性の管理を可能とする。以下、詳細に説明する。
【0046】
(A)類似要素組の抽出
図8は本実施形態に係る類似要素組抽出部31の動作を説明するためのフローチャートである。
【0047】
始めに、類似要素組抽出部31は、構造化文書記憶部21に記憶された構造化文書のうち、対象文書d1を読み出す。そして、類似要素組抽出部31は、対象文書d1に含まれる要素e1を読み出す(S101)。
【0048】
次に、類似要素組抽出部31は、構造化文書記憶部21に記憶された構造化文書のうち、比較文書d2を読み出す。なお、比較文書d2として、対象文書d1と同一の構造化文書が読み出されるとしてもよい。そして、類似要素組抽出部31は、比較文書d2に含まれる要素e2(e1≠e2)を読み出す(S102)。
【0049】
それから、類似要素組抽出部31は、要素e1と要素e2との類似度simを算出し(S103)、類似度simが類似しきい値minSimより大きいか否かを判定する(S104)。
【0050】
類似度simが類似しきい値minSimより大きければ(S104−Yes)、類似要素組抽出部31は、要素e1と要素e2との内容が類似しているとみなし、それぞれの要素について対応するパスを読み出す(S105)。そして、要素e1及び要素e2の内容を、対応するパスとともに類似要素組pとしてメモリに記憶する(S106)。
【0051】
この後、類似要素組抽出部31は、比較文書d2の全ての要素に対してステップS102〜S106の処理を行なう(S107−No,S108)。
【0052】
さらに、類似要素組抽出部31は、対象文書d1の全ての要素に対してステップS101〜S108の処理を行なう(S109−No,S110)。
【0053】
そして、対象文書d1の全ての要素に対して処理が行なわれると、2つの構造化文書d1,d2から類似要素組が抽出されることになる。
【0054】
また、類似要素組抽出部31は、他の全ての構造化文書を比較文書d2として同様の処理を実行し、他の全ての構造化文書を対象文書d1に順次設定して同様の処理を行なう。これにより、構造化文書記憶部21に記憶された全ての構造化文書から類似要素組が抽出される。
【0055】
なお、類似しきい値minSimは、対象文書d1の要素e1と比較文書d2の要素e2とが類似するか否かを判定するための設定値であり、ユーザが事前に設定する。
【0056】
(B)相関ルール情報の生成
図9は本実施形態に係る相関ルール情報生成部32の動作を説明するためのフローチャートである。
【0057】
まず、相関ルール情報生成部32は、類似要素組抽出部31により抽出された全ての類似要素組のパスを一般化する。たとえば、図3の類似要素組p1を例にとると、相関ルール情報生成部32は、p1の要素e1のパスにおいて、“person[1]”にある“[1]”のような位置指定を取り除いて、「personList/person/name」に一般化する。
【0058】
そして、相関ルール情報生成部32は、パスを一般化した類似要素組から条件部類似要素組q1を設定し、その第1要素e11と第2要素e12とを読み出す(S201)。
【0059】
次に、相関ルール情報生成部32は、パスを一般化した類似要素組から条件部類似要素組q1と対応させて結論部類似要素組q2を設定し、その第1要素e21と第2要素e22とを読み出す(S202)。
【0060】
続いて、相関ルール情報生成部32は、条件部類似要素組q1の第1要素e11と結論部類似要素組q2の第1要素e21との第1構造的距離dis1を算出する(S203)。また、相関ルール情報生成部32は、条件部類似要素組q1の第2要素e12と結論部類似要素組q2の第2要素e22との第2構造的距離dis2を算出する(S204)。
【0061】
そして、相関ルール情報生成部32は、第1構造的距離dis1と第2構造的距離dis2とがともに0(ゼロ)より大きく、かつ、距離しきい値maxDisより小さい場合(S205−Yes)、条件部類似要素組q1と結論部類似要素組q2との組を相関関係を有する類似要素組の組の候補としてメモリに記憶する(S206)。なお、距離しきい値minDisは、相関関係を有するとみなされる構造的範囲に対応する値であり、ユーザが事前に設定する。
【0062】
この後、相関ルール情報生成部32は、類似要素組抽出部31により抽出された全ての類似要素組に対して、相関関係を有する類似要素組の組の候補となるか否かを求める(S207〜S210)。
【0063】
たとえば、図3に示す類似要素組データの場合、距離しきい値maxDisが4とすると、(p1、p4)、(p2、p5)、(p3、p5)、(p7、p8)が相関関係を有する候補として取得される。さらに、その順序を考慮すると、逆順にした(p4、p1)、(p5、p2)、(p5、p3)、(p8、p7)の類似要素組の組も、相関関係を有する候補として取得される。この結果、相関関係を有する候補の集合Sr={(p1、p4)、(p2、p5)、(p3、p5)、(p7、p8)、(p4、p1)、(p5、p2)、(p5、p3)、(p8、p7)}が得られる。
【0064】
相関ルール情報生成部32は、相関関係を有する候補を求めたら、その相関関係を有する類似要素組の組の候補を読み出して(S211)、後述する図10の手順により確信度conを算出する(S212)。
【0065】
相関ルール情報生成部32は、確信度conを算出した場合、相関関係を有する類似要素組の組の候補の中から、確信度しきい値minConよりも大きい確信度を有するものを、相関関係を有する類似要素組の組とみなして相関ルール情報記憶部22に記憶する(S213−Yes,S214)。ここで、確信度しきい値minConは、相関関係を有する類似要素組の組の候補が相関ルール情報であるか否かを判定するための設定値であり、ユーザが事前に与える設定値である。
【0066】
そして、相関ルール情報生成部32は、相関関係を有する類似要素組の組の全ての候補に対してステップS211〜S214の処理を行なう(S215・S216)。これにより、図4に示すような相関関係を有する類似要素組の組と、構造的距離dis1・dis2と、確信度conとが記述された相関ルール情報rrが生成されて相関ルール情報記憶部22に記憶される。
【0067】
なお、上記ステップS212における確信度conの算出は以下の手順で行なう。図10は確信度の算出する際の手順を説明するためのフローチャートである。
【0068】
確信度を算出する際には、まず、相関ルール情報の候補である条件部類似要素組q1の第1要素e11と第2要素e12とに対し、一般化されたパスがそれぞれマッチする類似要素組の集合Smを抽出する(S221)。たとえば、相関ルール情報生成部32は、図3の例では、類似要素組のパスを一般化した場合、要素e1のパスが「personList/person/name」にマッチし、かつ要素e2のパス「報告書/報告者/氏名」にマッチする類似要素組の集合Sm={p1、p6、p7}を抽出する。
【0069】
次に、相関ルール情報生成部32は、相関ルール情報の候補の集合Srについて、Smの要素のいずれかを条件部類似要素組q1として有する相関ルール情報の候補となる類似要素組の組の集合Ssを取得する(S222)。前記の例では、Ss={(p1、p4)、(p7、p8)}となる。
【0070】
次に、相関ルール情報生成部32は、対象構造化文書について、条件部類似要素組q1の第1要素e11の一般化されたパスにマッチする要素の数Naを求める(S223)。同様に対象構造化文書について、条件部類似要素組q1の第2要素e12の一般化されたパスにマッチする要素の数Nbを求める(S224)。前記の例では、相関ルール情報生成部32は、条件部類似要素組q1の第1要素e11の一般化されたパス「personList/person/name」にマッチする要素は、図2の要素y211、y213、y215であるので、Na=3と求める。同様に、条件部類似要素組q1の第2要素e12の一般化されたパス「報告書/報告者/氏名」 にマッチする要素は図2の要素y221、y311、y331であるので、Nb=3と求める。
【0071】
続いて、相関ルール情報生成部32は、条件部類似要素組q1の第1要素e11と第2要素e12とについて、連結可能数N=Na×Nbを求める(S225)。前記の例では、連結可能数N=3×3=9となる。
【0072】
そして、相関ルール情報生成部32は、相関関係を有する類似要素組の組の候補の支持度sup=n(Sm)/Nを求める(S226)。ここで、n(S)は集合Sに含まれる要素数を返す関数とする。前記の例では、支持度sup=3/9=1/3となる。なお、支持度とは、対象構造化文書集合における該当相関ルール情報の一般性を示す値であり、支持度が高いほど一般性が高いことを表わす。
【0073】
次に、相関ルール情報生成部32は、相関関係を有する候補の支持度supが支持度しきい値minSupよりも大きい場合、確信度con=n(Ss)/n(Sm)の式から、その値を算出する(S227−Yes,S228)。たとえば、相関関係を有する類似要素組の組の候補が(p1、p4)であるときは、確信度con=2/3となる。なお、支持度しきい値minSupは事前にユーザが与える設定値である。また、支持度supが支持度しきい値minSup以下の場合は、相関ルール情報生成部32は確信度を求める処理を行なわない。
【0074】
なお、本実施形態では、支持度および確信度の算出において、n(Sm)とn(Ss)とを、単純に集合に含まれる要素数としたが、類似度を利用してもよい。たとえば、次式でn(Sm)とn(Ss)とを求めることができる。
【0075】
【数1】
【0076】
上式において、sim(s)とは集合Sに含まれる要素における類似度を返す変数である。sが類似要素組pの場合、つまりn(Sm)を求める場合、図3における「内容の類似度」の値(以下、simp(p)と表わす)がsim(s)である。また、sが相関関係を有する類似要素組の組の候補(pa,pb)の場合、類似要素組paとpbとの「内容の類似度」の積がsim(s)となり、sim(s)=simp(pa)×simp(pb)となる。相関関係を有する類似要素組の組の候補を(p1、p4)とすると、n(Sm)=1.0+1.0+0.8=2.8となり、n(Ss)=(1.0×1.0)+(0.8×1.0)=1.8となる。そして、支持度sup=2.8/9.0となり確信度con=1.8/2.8となる。
【0077】
(C)整合管理ルール情報の生成
図11は本実施形態に係る整合管理ルール情報生成部33の動作を説明するためのフローチャートである。
【0078】
整合管理ルール情報生成部33は、相関ルール情報記憶部22に記憶された相関ルール情報rrを読み出す(S301)。
【0079】
次に、相関ルール情報rrの「整合の要否」に、整合管理を行うことを示すフラグ(図4では“要”)が設定されていれば(S302−Yes)、ステップS303〜S309の処理を行う。
【0080】
整合管理ルール情報生成部33は、類似要素組抽出部31によって抽出された類似要素組の中で要素e1と要素e2との一般化したパスが、ステップS301で読み出した相関ルール情報rrに記述された条件部類似要素組q1の第1要素e11と第2要素e12とにマッチする類似要素組を取得する(S303)。例えば、図3の類似要素組データと図4の相関ルール情報とを例にすると、整合管理ルール情報生成部33は、類似要素組データの中で要素e1および要素e2のパスが、相関ルール情報rr1の条件部類似要素組q1の第1要素e11である「personList/person/name」と、第2要素e12である「報告書/報告者/氏名」にマッチする類似要素組として図3のp1とp6とを取得する。
【0081】
続いて、整合管理ルール情報生成部33は、条件部類似要素組q1に対応する結論部類似要素組q2の第1要素e21と第2要素e22とを相関ルール情報記憶部22から読み出す(S304)。そして、整合管理ルール情報生成部33は、ステップS303で取得した類似要素組の各要素e1・e2のパスと「内容」とを、ステップS304で読み出した結論部類似要素組q2の第1要素e21と第2要素e22とのそれぞれの要素についてのパスに類似度に応じて組み込み、整合性を取るべき整合箇所を指定する整合箇所指定パスpathを生成する(S305)。
【0082】
具体的に前記の例で示すと、整合管理ルール情報生成部33は、取得した類似要素組p1について、まず、相関ルール情報rr1の結論部類似要素組q2の第1要素e21である「personList/person/contact/tel」(これをpath Aとする)に対して、p1の要素e1のパスからファイルパスを表す要素「文書A!」を取り除いて一般化したパス「personList/person/name」(これをpath Bとする)を取得する。
【0083】
そして、整合管理ルール情報生成部33は、path Aに対して、path Aとpath Bとの共通部分「personList/person」の直後に、p1の要素の内容である「東芝太郎」という条件を加えたpath Bの残りの部分「name」を挿入し、整合箇所指定パスpathとして「personList/person[name/text()="東芝太郎"]/contact/tel」を生成する。
【0084】
ただし、整合管理ルール情報生成部33は、前記の例のp1のように類似要素組の「内容の類似度」が1.0(要素e1と要素e2との内容が完全一致)の場合は前記のようなpathで良いが、p3のように「内容の類似度」が1.0より小さい(要素e1と要素e2との内容が不一致)場合は、pathを「personList/person[name/text()="東芝太郎"|name/text()="東芝 太郎"]/contact/tel」のように要素e1と要素e2との「内容」を条件として論理和で繋げた表現とする。要するに、整合管理ルール情報生成部33は、類似度に応じて整合箇所指定パスを生成する。
【0085】
この後、整合管理ルール情報生成部33は、構造化文書を構造化文書記憶部21から読み出し、整合箇所指定パスpathとマッチする要素eを取得する(S306)。前記の例では、図2に示す対象構造化文書集合について、整合箇所指定パスである「personList/person[name/text()="東芝太郎"]/contact/tel」とマッチする要素y212、y222が取得される。
【0086】
そして、整合管理ルール情報生成部33は、取得した要素eを構造化文書と関連付けて記述した整合管理ルール情報cr1を生成して整合管理ルール情報記憶部23に記憶する(S307)。
【0087】
この後、整合管理ルール情報生成部33は、条件部類似要素組q1の第1要素e11及び第2要素e12と一致する類似要素組を求め、上述のステップS303〜S307と同様の処理を行なう(S308−No,S309)。さらに、整合管理ルール情報生成部33は、相関ルール情報記憶部22に記憶された全ての相関ルール情報に対して、同様の処理を行ない、整合管理ルール情報crを求める(S310,S311)。
【0088】
(D)不整合箇所の検出
図12は本実施形態に係る不整合検出部41の動作を説明するためのフローチャートである。
【0089】
不整合検出部41は、整合管理ルール情報記憶部23から整合管理ルール情報crを読み出す(S401)。そして、整合管理ルール情報crにおいて、「整合の要否」に整合管理を行うことを示すフラグ(図では“要”)が設定されている整合箇所指定パスで示される整合管理対象要素集合esを、構造化文書記憶部21から読み出す(S402)。さらに、整合管理対象要素集合esに含まれる要素間について、要素内容を比較することで不整合のチェックを行う(S403)。
【0090】
不整合検出部41により不整合が検出された場合、文書管理データ表示部42が、不整合箇所の要素内容を構造化文書毎に表示する(S404−Yes,S405)。また、不整合パターン読出部46は、不整合箇所の関連文書の更新日時情報と、該整合管理ルール情報に含まれる修正条件情報の方針と修正履歴を所得し、修正条件情報として保持する。そして、不整合パターン記憶部47から修正情報判定情報とマッチする判定条件を持つ不整合パターンの不整合の種類と提示内容を読み出す(S406)。
【0091】
次に、文書管理データ表示部42は、不整合パターン読出部46が読み出した不整合の種類と提示内容を表示する(S407)。具体的には、文書管理データ表示部42は、不整合パターンに応じて、不整合に関連する文書の提示と、不整合の種類の提示、不整合に対する修正方法の提示、修正内容の候補の提示、今後の整合管理の方法の確認のための提示、相関ルール情報および整合管理ルール情報の修正を確認するための提示とがされた画面を表示する。
【0092】
これに応じて、文書管理データ表示部42に表示された提示画面上で、文書管理データ入力部43を介して、文書の修正内容と、今後の整合管理の方針、相関ルール情報および整合管理ルール情報の修正内容との入力が可能となる。文書管理データ入力部43において「現データ」や「修正候補」の選択、もしくは、直接入力のユーザ操作によって修正内容が入力された場合は、文書修正部45は整合化理対象要素集合esに含まれる要素の内容を、入力された修正内容に従って修正する。さらに、文書修正部45はここでの修正内容を、その時点で対象となっている整合管理ルール情報の「修正履歴」の項目に蓄積する(S408−Yes,S409)。
【0093】
この後、整合管理ルール情報crを全て読み出すまで、上述のステップS401〜S409の処理が行なわれる(S410−No,S411)。
【0094】
なお、図13に示すように、ユーザにより相関ルール情報の修正内容が提示画面に入力された場合は、ルール情報修正部44が、ユーザによる相関ルール情報の修正内容に従い、相関ルール情報記憶部22に記憶されている該当相関ルール情報を修正する(S501−Yes,S502)。具体的には、文書管理データ入力部43の「相関ルール、整合管理ルールの修正」の項目で、ユーザが「該当の相関ルールを非適用とする」の項目を選択した場合、文書管理データ表示部において、その時点で対象となっている相関ルール情報の「整合の要否」に整合管理が不要であること示すフラグ(たとえば“否”)を設定する。
【0095】
同様に、提示画面においてユーザにより整合管理ルール情報の修正内容が入力された場合、ルール情報修正部44が、整合管理ルール情報の修正内容に従い、整合管理ルール情報記憶部23に記憶されている整合管理ルール情報を修正する(S503−Yes,S504)。具体的には、文書管理データ入力部43でユーザが「該当文書のみ整合管理の対象外とする」の項目を選択した場合は、その時点で対象となっている整合管理ルール情報の「整合の要否」に整合管理が不要であることを示すフラグを設定する。また、文書管理データ入力部43の「今後の整合管理の方針」の項目で、ユーザが「更新日時優先」、「マスタ文書指定」、「都度確認」のいずれかの項目を選択した場合は、その時点で対象となっている整合管理ルール情報の「方針」の項目に、ユーザによって選択された項目の内容を方針として設定する。ここで、ユーザが「マスタ文書指定」の項目を選択した場合は、ユーザによって指定されるマスタ文書のファイルパスも保持する。
【0096】
(E)不整合箇所の画面表示
構造化文書記憶部21に記憶された構造化文書間で不整合箇所が検出されると、その不整合箇所が文書管理データ表示部42の画面に表示される。これに対し、ユーザによる文書管理データ入力部43の操作により、構造化文書間の整合性の管理が可能となる。
【0097】
具体的には、文書管理データ表示部42には図14・16・18・19に示すような提示画面が表示される。ここでは、図2の文書A、文書B、文書C、文書D、文書Eを含む構造化文書集合を対象文書として整合管理を行なう例を示す。ただし、この例では文書Aから文書Eに加えて、図6の62に文書の一部を示すような、文書Dと同じ文書構造を持つ文書Fと、文書Bと同じ文書構造を持つ文書Gとを、対象構造化文書集合に含んでいるものとする。
【0098】
今回の例では、整合管理ルール情報に従い不整合の検出が行われると、文書Aの要素y211と、文書Bの要素y222と、文書Dの要素y322とのうち、文書Bの要素y222において不整合が検出される。
【0099】
不整合が検出されると、不整合パターン読出部46によって不整合のパターンが判定され、その判定に応じた修正方法と関連文書が、図14に示すように、文書管理データ表示部42に表示される。ただし、初期の提示画面では、チェックボックスはいずれもチェックされていない状態である。図14の例では、「文書B」において不整合が検出され、「データ更新」による不整合の可能性があることが提示される。さらに修正方法として、「関連文書の一括修正」が提示される。
【0100】
ここで、ユーザが、図14に示すとおり、修正候補として「604−555−1234」を選択し、「該当の相関ルール情報を非適用とする」のチェックボックスを選択して相関ルール情報rr2を非適用とし、「OK」ボタンb1をクリックしたとする。そうすると、ユーザの入力を受けてルール情報修正部23よって、相関ルール情報記憶部22に記憶されている前記不整合箇所に該当する相関ルール情報が図15のように修正される。具体的には相関ルール情報中の「整合の要否」の項目に整合が不要であることを示すフラグが書き込まれる。
【0101】
次に、図14の提示画面においてユーザが選択した修正候補の内容によって、不整合箇所が修正される。これによって、関連箇所である文書Aの<tel>要素、文書Bの<連絡先>要素、文書Dの<電話>要素、文書Fの<連絡先>要素、文書Gの<電話>要素の内容が「604−555−1234」となり、対象構造化文書の要素間の整合性が維持される。
【0102】
この後、ユーザが文書Bの<連絡先>要素の内容を「604−555−6666」に編集したとする。そうすると、図16に示す画面がユーザに提示される。ここで、図14の提示画面におけるユーザ操作によって相関ルール情報rr2が非適用とされたために、相関ルール情報rr2に係る文書は非対象となる。そのため、図14の関連文書の提示に対して、文書Dと文書Gは関連文書として提示されなくなる。
【0103】
ところで、今回検出された不整合はユーザによる編集作業によって生じた不整合であり、この不整合の発生文書Bは更新日時が他の関連文書に比べて最新である。また、修正履歴に保持されているデータは「604−555−1234」であり、前記「604−555−6666」ではない。そのため、図7の不整合パターンの“h1−2”に該当し、図16の提示画面のとおり、「文書B」において不整合が検出されたことと、「データ更新」による不整合の可能性があることと、修正方法としての「関連文書の一括修正」が提示される。
【0104】
このような図16の提示画面において、ユーザが、文書の修正内容として「604−555−1234」を選択し、今後の整合管理の方針として「マスタ文書指定」を選択し、そのマスタ文書を文書Aとし、「該当文書のみ整合管理の対象外とする」を選択し、文書Fの<連絡先>要素に対する「整合の要否」の項目を否として、整合管理の対象外としたとする。
【0105】
そうすると、ルール情報修正部44によって、整合管理ルール情報記憶部23に記憶されている前記不整合箇所に該当する整合管理ルール情報が図17に示すように修正される。該当整合管理ルール情報の修正履歴としては図14おけるユーザによる修正内容「604−555−6666」に加え、今回図16における修正内容「604−555−1234」が保持される。この例では、修正履歴は上の行にあるほど、新しい修正内容であることを示す。また、文書修正部45によって、関連箇所の要素の内容が「604−555−1234」に修正される。
【0106】
この後、ユーザが文書Aの<tel>要素の内容を「604−555−9999」に編集したとする。そうすると、図18に示す画面がユーザに提示される。また、図16の提示画面におけるユーザ操作によって文書Fの<連絡先>要素に係る整合管理ルール情報は整合管理の対象外とされたために、この要素は整合管理の非対象となる。そのため、図16の関連文書の提示に対して、文書Fは関連文書として提示されなくなる。
【0107】
ここで、ユーザの編集作業によって不整合が生じた文書Aは、図16の提示画面においてユーザによってマスタ文書として指定されている。そのため、図7の不整合のパターンとしては“h2”に該当するので、図18の提示画面においてマスタ文書である文書Aが更新されたことが提示され、修正方法として「マスタ文書の内容で関連箇所を修正」が提示される。
【0108】
このような図18の提示画面において、ユーザが「OK」ボタンb2をクリックしたとする。そうすると、文書修正部24によって前記不整合箇所の関連箇所の内容がマスタ文書として指定されている文書Aの内容「604−555−9999」に修正される。また、図18の提示画面におけるユーザ入力で「今後の整合管理の方針」と「相関ルール情報、整合管理ルール情報の修正」の項目は選択されていないので、ルール情報修正部44においては、前記修正内容を該当整合管理ルール情報の「修正履歴」の項目に追加する処理のみが行われる。
【0109】
さらにこの後、ユーザが、文書Bの<連絡先>要素の内容を以前の修正内容である「604−555−1234」に編集したとする。そうすると、図19に示す画面がユーザに提示される。ここで検出された不整合箇所の内容「604−555−1234」は、該当整合管理ルール情報の修正履歴に存在し、かつ最新の内容ではないので、図7の不整合パターンの“h5”に該当する。そのため、図19に示すように、「文書B」において不整合が検出されたことと、その不整合パターンが「古いデータの入力」もしくは「データ更新」である可能性があることと、その修正方法としての「最新データに修正」もしくは「該当データで関連文書を修正」とが提示される。
【0110】
そして、図19の提示画面に示されるとおりのデータが入力された状態で、ユーザが「OK」ボタンb3をクリックしたとする。そうすると、図20に示すように、文書修正部45によって前記不整合箇所の関連箇所の内容が、不整合箇所に該当する整合管理ルール情報の「修正履歴」の項目に格納されている最新の内容「604−555−9999」に修正される。
【0111】
また、図16の提示画面におけるユーザ入力で「今後の整合管理の方針」と「相関ルール情報、整合管理ルール情報の修正」の項目は選択されておらず、さらに文書の修正内容もすでに該当整合管理ルール情報の「修正履歴」の項目に登録されている内容であるため、ルール情報修正部44により、相関ルール情報及び整合管理ルール情報の修正は行われない。
【0112】
(構造化文書間整合管理装置の効果)
以上説明したように、本実施形態に係る構造化文書間整合管理装置10によれば、構造化文書記憶部11に記憶された構造化文書から、類似する内容が記述された要素のパスと類似する内容と類似度とを類似要素組として抽出する類似要素組抽出部31と、比較する類似要素組の組の構造的距離や支持度及び確信度に基づいて、相関関係を有する条件部類似要素組q1と結論部類似要素組q2とが記述された相関ルール情報を生成する相関ルール情報生成部32と、相関ルール情報に基づいて整合箇所指定パスが記述された整合管理ルール情報を生成する整合管理ルール情報生成部33とを備えているので、整合管理ルール情報から不整合箇所を特定することで、整合管理する箇所を事前に登録しなくても、複数の構造化文書間の整合性を管理することができる。
【0113】
補足すると、構造化文書間整合管理装置10は、対象構造化文書集合の要素間の相関関係を表す相関ルールをスキーマレベルで自動抽出し、整合性を管理するための整合管理ルール情報を自動生成する。それゆえ、相関ルール情報により対象構造化文書集合に対してスキーマレベルでの整合管理を行え、整合管理ルール情報により対象構造化文書集合に対して要素レベルでの整合管理が行えるため、網羅的でかつ柔軟に文書間の整合管理を行うことができる。また、ユーザが事前に手作業で構造化文書間の整合性を維持するための整合管理ルール情報を作成するためのコストをなくすとともに、ユーザが手作業でルールを作成する際に生じていた記述ミスや記述漏れを削減することができる。
【0114】
また、構造化文書間整合管理装置10は、整合管理ルール情報に記述された全ての構造化文書に対する整合箇所指定パスにより指定される要素の内容に不整合箇所があるか否かを検出する不整合検出部41と、不整合箇所の内容を構造化文書毎に表示する文書管理データ表示部42と、不整合箇所の内容の修正を受け付ける文書管理データ入力部43と、文書管理データ入力部43により不整合箇所の内容の修正を受け付けた場合、構造化文書記憶部に記憶された構造化文書の内容を修正する文書修正部45とを備えているので、整合管理ルール情報に対して、対象構造化文書集合に含まれる不整合箇所を漏れなく検出することができる。
【0115】
また、構造化文書間整合管理装置10は、修正条件情報に対応して、構造化文書間での不整合の種類と、該不整合の種類に応じた修正方法とが示された不整合パターンを記憶する不整合パターン記憶部47と、不整合検出部41により不整合箇所が検出された場合、修正条件情報に対応する修正方法を不整合パターン記憶部から読み出す不整合パターン読出部46とを備えているので、不整合のパターンに応じた修正候補の提示により、ユーザが適切な修正をすることができるように支援することができる。
【0116】
換言すれば、ユーザは検出された不整合の箇所と不整合の種類を確認でき、さらに、画面に提示される不整合の種類に対する適切な修正内容と修正方法の候補に対する選択操作や入力操作により、ユーザは不整合に対する修正を漏れなく、正しく、少労力で実現することができる。
【0117】
その上、ユーザによる文書の修正内容の履歴や、修正方針の選択情報、相関ルール情報や整合管理ルール情報の修正を、次の整合管理に利用することで、少労力で漏れなく、正しく、ユーザの意図にあった構造化文書間の整合管理を行うことができる。
【0118】
<その他>
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【0119】
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0120】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【0121】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
【0122】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0123】
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0124】
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【0125】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【符号の説明】
【0126】
10・・・構造化文書間整合管理装置、21・・・構造化文書記憶部、22・・・相関ルール情報記憶部、23・・・整合管理ルール情報記憶部、30・・・文書管理ルール情報生成部、31・・・類似要素組抽出部、32・・・相関ルール情報生成部、33・・・整合管理ルール情報生成部、40・・・整合管理部、41・・・不整合検出部、42・・・文書管理データ表示部、43・・・文書管理データ入力部、44・・・ルール情報修正部、45・・・文書修正部、46・・・不整合パターン読出部、47・・・不整合パターン記憶部。
【特許請求の範囲】
【請求項1】
構造化文書間の整合性を管理する構造化文書間整合管理装置であって、
予め定義された要素に従って構造化された構造化文書を記憶する構造化文書記憶手段と、
前記構造化文書記憶手段に記憶された構造化文書について、2つの要素毎に比較し、
比較される2つの要素間の内容の類似度を算出し、
前記類似度に基づいて、類似する内容を有する要素の組を抽出し、
抽出された要素の組におけるそれぞれの要素についてパスを抽出し、
前記抽出したパスと前記類似する内容と前記類似度とを類似要素組として抽出する類似要素組抽出手段と、
前記類似要素組抽出手段により抽出された全ての類似要素組のパスを一般化し、
パスを一般化した2組の類似要素組に対し、各要素間の構造的距離に基づいて相関関係を有する類似要素組の組の候補を設定し、
相関関係を有する類似要素組の組の候補から、支持度及び確信度に基づいて、相関関係を有する条件部類似要素組と結論部類似要素組とが記述された相関ルール情報を生成する相関ルール情報生成手段と、
前記類似要素組抽出手段により抽出された全ての類似要素組のうち、前記相関ルール情報に記述された条件部類似要素組の各要素と、一般化したパスが一致する類似要素組を読み出し、
この読み出した類似要素組の内容を、前記結論部類似要素組の各要素における前記条件部類似要素組との対応箇所に、類似度に応じて書き込んで整合箇所指定パスを生成し、
前記整合箇所指定パスを含む構造化文書を前記構造化文書記憶手段から読み出し、該読み出した全ての構造化文書と前記整合箇所指定パスとが関連付けて記述された整合管理ルール情報を生成する整合管理ルール情報生成手段と、
を備えたことを特徴とする構造化文書間整合管理装置。
【請求項2】
請求項1に記載の構造化文書間整合管理装置において、
前記整合管理ルール情報に記述された全ての構造化文書に対する整合箇所指定パスにより指定される要素の内容に不整合箇所があるか否かを検出する不整合検出手段と、
前記不整合検出手段により前記整合管理ルール情報に記述された構造化文書間の複数の要素の内容に不整合箇所が検出された場合、該不整合箇所の内容を構造化文書毎に表示する不整合箇所表示手段と、
前記不整合箇所の内容の修正を受け付ける修正受付手段と、
前記修正受付手段により前記不整合箇所の内容の修正を受け付けた場合、前記構造化文書記憶手段に記憶された構造化文書の内容を修正する文書修正手段と、
を備えたことを特徴とする構造化文書間整合管理装置。
【請求項3】
請求項2に記載の構造化文書間整合管理装置において、
前記整合管理ルール情報に対して修正条件情報を記述する手段と、
前記修正条件情報に対応して、前記構造化文書間での不整合の種類と、該不整合の種類に応じた修正方法とが示された不整合パターンを記憶する不整合パターン記憶手段と、
前記不整合検出手段により不整合箇所が検出された場合、前記修正条件情報に対応する修正方法を前記不整合パターン記憶手段から読み出して表示する修正方法表示手段と、
を備えたことを特徴とする構造化文書間整合管理装置。
【請求項4】
構造化文書間の整合性を管理する構造化文書間整合管理装置に用いられる構造化文書間整合管理プログラムであって、
前記構造化文書間整合管理装置のコンピュータを、
予め定義された要素に従って構造化された複数の構造化文書を記憶する構造化文書記憶手段、
前記構造化文書記憶手段に記憶された構造化文書について、2つの要素毎に比較し、
比較される2つの要素間の内容の類似度を算出し、
前記類似度に基づいて、類似する内容を有する要素の組を抽出し、
抽出された要素の組におけるそれぞれの要素のパスを抽出し、
前記抽出したパスと前記類似する内容と前記類似度とを類似要素組として抽出する類似要素組抽出手段、
前記類似要素組抽出手段により抽出された全ての類似要素組のパスを一般化し、
パスを一般化した2組の類似要素組に対し、各要素間の構造的距離に基づいて相関関係を有する類似要素組の組の候補を設定し、
相関関係を有する類似要素組の組の候補から、支持度及び確信度に基づいて、相関関係を有する条件部類似要素組と結論部類似要素組とが記述された相関ルール情報を生成する相関ルール情報生成手段、
前記類似要素組抽出手段により抽出された全ての類似要素組のうち、前記相関ルール情報に記述された条件部類似要素組の各要素と、一般化したパスが一致する類似要素組を読み出し、
この読み出した類似要素組の内容を、前記結論部類似要素組の各要素における前記条件部類似要素組との対応箇所に、類似度に応じて書き込んで整合箇所指定パスを生成し、
前記整合箇所指定パスを含む構造化文書を前記構造化文書記憶手段から読み出し、該読み出した全ての構造化文書と前記整合箇所指定パスとが関連付けて記述された整合管理ルール情報を生成する整合管理ルール情報生成手段、
として実現させる構造化文書間整合管理プログラム。
【請求項5】
請求項4に記載の構造化文書間整合管理プログラムにおいて、
前記コンピュータを、
前記整合管理ルール情報に記述された全ての構造化文書に対する整合箇所指定パスにより指定される要素の内容に不整合箇所があるか否かを検出する不整合検出手段、
前記不整合検出手段により前記整合管理ルール情報に記述された構造化文書間の複数の要素の内容に不整合箇所が検出された場合、該不整合箇所の内容を構造化文書毎に表示する不整合箇所表示手段、
前記不整合箇所の内容の修正を受け付ける修正受付手段、
前記修正受付手段により前記不整合箇所の内容の修正を受け付けた場合、前記構造化文書記憶手段に記憶された構造化文書の内容を修正する文書修正手段、
としてさらに実現させる構造化文書間整合管理プログラム。
【請求項6】
請求項5に記載の構造化文書間整合管理プログラムにおいて、
前記コンピュータを、
前記整合管理ルール情報に対して修正条件情報を記述する手段、
前記修正条件情報に対応して、前記構造化文書間での不整合の種類と、該不整合の種類に応じた修正方法とが示された不整合パターンを記憶する不整合パターン記憶手段、
前記不整合検出手段により不整合箇所が検出された場合、前記修正条件情報に対応する修正方法を前記不整合パターン記憶手段から読み出して表示する修正方法表示手段、
としてさらに実現させる構造化文書間整合管理プログラム。
【請求項1】
構造化文書間の整合性を管理する構造化文書間整合管理装置であって、
予め定義された要素に従って構造化された構造化文書を記憶する構造化文書記憶手段と、
前記構造化文書記憶手段に記憶された構造化文書について、2つの要素毎に比較し、
比較される2つの要素間の内容の類似度を算出し、
前記類似度に基づいて、類似する内容を有する要素の組を抽出し、
抽出された要素の組におけるそれぞれの要素についてパスを抽出し、
前記抽出したパスと前記類似する内容と前記類似度とを類似要素組として抽出する類似要素組抽出手段と、
前記類似要素組抽出手段により抽出された全ての類似要素組のパスを一般化し、
パスを一般化した2組の類似要素組に対し、各要素間の構造的距離に基づいて相関関係を有する類似要素組の組の候補を設定し、
相関関係を有する類似要素組の組の候補から、支持度及び確信度に基づいて、相関関係を有する条件部類似要素組と結論部類似要素組とが記述された相関ルール情報を生成する相関ルール情報生成手段と、
前記類似要素組抽出手段により抽出された全ての類似要素組のうち、前記相関ルール情報に記述された条件部類似要素組の各要素と、一般化したパスが一致する類似要素組を読み出し、
この読み出した類似要素組の内容を、前記結論部類似要素組の各要素における前記条件部類似要素組との対応箇所に、類似度に応じて書き込んで整合箇所指定パスを生成し、
前記整合箇所指定パスを含む構造化文書を前記構造化文書記憶手段から読み出し、該読み出した全ての構造化文書と前記整合箇所指定パスとが関連付けて記述された整合管理ルール情報を生成する整合管理ルール情報生成手段と、
を備えたことを特徴とする構造化文書間整合管理装置。
【請求項2】
請求項1に記載の構造化文書間整合管理装置において、
前記整合管理ルール情報に記述された全ての構造化文書に対する整合箇所指定パスにより指定される要素の内容に不整合箇所があるか否かを検出する不整合検出手段と、
前記不整合検出手段により前記整合管理ルール情報に記述された構造化文書間の複数の要素の内容に不整合箇所が検出された場合、該不整合箇所の内容を構造化文書毎に表示する不整合箇所表示手段と、
前記不整合箇所の内容の修正を受け付ける修正受付手段と、
前記修正受付手段により前記不整合箇所の内容の修正を受け付けた場合、前記構造化文書記憶手段に記憶された構造化文書の内容を修正する文書修正手段と、
を備えたことを特徴とする構造化文書間整合管理装置。
【請求項3】
請求項2に記載の構造化文書間整合管理装置において、
前記整合管理ルール情報に対して修正条件情報を記述する手段と、
前記修正条件情報に対応して、前記構造化文書間での不整合の種類と、該不整合の種類に応じた修正方法とが示された不整合パターンを記憶する不整合パターン記憶手段と、
前記不整合検出手段により不整合箇所が検出された場合、前記修正条件情報に対応する修正方法を前記不整合パターン記憶手段から読み出して表示する修正方法表示手段と、
を備えたことを特徴とする構造化文書間整合管理装置。
【請求項4】
構造化文書間の整合性を管理する構造化文書間整合管理装置に用いられる構造化文書間整合管理プログラムであって、
前記構造化文書間整合管理装置のコンピュータを、
予め定義された要素に従って構造化された複数の構造化文書を記憶する構造化文書記憶手段、
前記構造化文書記憶手段に記憶された構造化文書について、2つの要素毎に比較し、
比較される2つの要素間の内容の類似度を算出し、
前記類似度に基づいて、類似する内容を有する要素の組を抽出し、
抽出された要素の組におけるそれぞれの要素のパスを抽出し、
前記抽出したパスと前記類似する内容と前記類似度とを類似要素組として抽出する類似要素組抽出手段、
前記類似要素組抽出手段により抽出された全ての類似要素組のパスを一般化し、
パスを一般化した2組の類似要素組に対し、各要素間の構造的距離に基づいて相関関係を有する類似要素組の組の候補を設定し、
相関関係を有する類似要素組の組の候補から、支持度及び確信度に基づいて、相関関係を有する条件部類似要素組と結論部類似要素組とが記述された相関ルール情報を生成する相関ルール情報生成手段、
前記類似要素組抽出手段により抽出された全ての類似要素組のうち、前記相関ルール情報に記述された条件部類似要素組の各要素と、一般化したパスが一致する類似要素組を読み出し、
この読み出した類似要素組の内容を、前記結論部類似要素組の各要素における前記条件部類似要素組との対応箇所に、類似度に応じて書き込んで整合箇所指定パスを生成し、
前記整合箇所指定パスを含む構造化文書を前記構造化文書記憶手段から読み出し、該読み出した全ての構造化文書と前記整合箇所指定パスとが関連付けて記述された整合管理ルール情報を生成する整合管理ルール情報生成手段、
として実現させる構造化文書間整合管理プログラム。
【請求項5】
請求項4に記載の構造化文書間整合管理プログラムにおいて、
前記コンピュータを、
前記整合管理ルール情報に記述された全ての構造化文書に対する整合箇所指定パスにより指定される要素の内容に不整合箇所があるか否かを検出する不整合検出手段、
前記不整合検出手段により前記整合管理ルール情報に記述された構造化文書間の複数の要素の内容に不整合箇所が検出された場合、該不整合箇所の内容を構造化文書毎に表示する不整合箇所表示手段、
前記不整合箇所の内容の修正を受け付ける修正受付手段、
前記修正受付手段により前記不整合箇所の内容の修正を受け付けた場合、前記構造化文書記憶手段に記憶された構造化文書の内容を修正する文書修正手段、
としてさらに実現させる構造化文書間整合管理プログラム。
【請求項6】
請求項5に記載の構造化文書間整合管理プログラムにおいて、
前記コンピュータを、
前記整合管理ルール情報に対して修正条件情報を記述する手段、
前記修正条件情報に対応して、前記構造化文書間での不整合の種類と、該不整合の種類に応じた修正方法とが示された不整合パターンを記憶する不整合パターン記憶手段、
前記不整合検出手段により不整合箇所が検出された場合、前記修正条件情報に対応する修正方法を前記不整合パターン記憶手段から読み出して表示する修正方法表示手段、
としてさらに実現させる構造化文書間整合管理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2010−182183(P2010−182183A)
【公開日】平成22年8月19日(2010.8.19)
【国際特許分類】
【出願番号】特願2009−26379(P2009−26379)
【出願日】平成21年2月6日(2009.2.6)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】
【公開日】平成22年8月19日(2010.8.19)
【国際特許分類】
【出願日】平成21年2月6日(2009.2.6)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】
[ Back to top ]