以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(第1の実施の形態)
本発明の第1の実施の形態としての整合チェック箇所推定装置1の機能ブロック構成を図1に示す。図1において、整合チェック箇所推定装置1は、事前知識記憶部11と、主副集合推定部12と、チェック箇所推定部13とを備える。
ここで、整合チェック箇所推定装置1のハードウェア構成例を図2に示す。図2において、整合チェック箇所推定装置1は、CPU(Central Processing Unit)1001と、RAM(Random Access Memory)1002と、ROM(Read Only Memory)1003と、ハードディスク等の記憶装置1004とによって構成可能である。この場合、事前知識記憶部11は、記憶装置1004によって構成される。また、主副集合推定部12およびチェック箇所推定部13は、ROM1003および記憶装置1004に記憶されたコンピュータ・プログラムおよび各種データをRAM1002に読み込んで実行するCPU1001によって構成される。なお、整合チェック箇所推定装置1およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
事前知識記憶部11は、事前知識を記憶する。事前知識とは、分析対象のドキュメントにおける見出しの特徴を表す情報である。事前知識記憶部11は、ユーザによってキーボードなどの入力装置を介して入力される事前知識を記憶してもよい。あるいは、事前知識記憶部11は、あらかじめ事前知識を記憶していてもよい。あるいは、事前知識記憶部11は、その他の様態で取得された事前知識を記憶してもよい。
主副集合推定部12は、事前知識に基づいて、分析対象の各ドキュメントにおいて、それぞれ1つ以上の見出しを抽出する。
また、主副集合推定部12は、各ドキュメントにおいて、抽出した各見出しに対応する情報の集合を、主集合または副集合として推定する。分析対象の各ドキュメントは、ユーザによってキーボードなどの入力装置を介して入力されるものであってもよい。あるいは、分析対象の各ドキュメントは、あらかじめ記憶装置1004に記憶されているものであってもよい。また、分析対象の各ドキュメントは、あらかじめ記憶装置1004に記憶されている複数のドキュメントのうち、入力装置を介して入力される情報により指定されるものであってもよい。あるいは、分析対象の各ドキュメントは、その他の様態で取得されるものであってもよい。
ここで、各見出しに対応する情報の集合について説明する。例えば、ドキュメントにおいて、表の列の見出しが抽出されているとする。この場合、その表においてその見出しに対応する列の各欄の内容は、その見出しに対応する情報である。また、そのような情報の集合、すなわち、その列全体は、その見出しに対応する情報の集合である。また、例えば、ドキュメントにおいて、段落の見出しが抽出されているとする。この場合、その段落に含まれる各文は、その見出しに対応する情報である。また、そのような情報の集合、すなわち、その段落全体は、各見出しに対応する情報の集合である。
また、主集合とは、ドキュメントにおいて整合チェック対象となる主要な情報が含まれる箇所である。また、副集合とは、主集合に含まれる情報に付随する副次的な情報が含まれる箇所である。
例えば、主副集合推定部12は、各見出しに対応する情報の集合における要素の重複度合に基づいて、該当する集合が、主集合であるか副集合であるかを推定してもよい。要素の重複度合としては、例えば、N/Mによって算出される値が適用可能である。ここで、Mは、集合における重複を含む要素数を表す。また、Nは、集合における重複を含まない要素数を表す。また、“/”は除算を表す。この場合、N/Mは、重複する要素が少ないほど大きい値となる。重複する要素が少ない集合は、主要な整合チェック箇所となる可能性が高い。そこで、この場合、主副集合推定部12は、要素の重複度合N/Mが所定条件を満たす集合を主集合に推定し、それ以外の集合を副集合に推定してもよい。また、この場合の所定条件とは、閾値以上であることであってもよい。
チェック箇所推定部13は、分析対象の各ドキュメントにおける主集合および副集合に基づいて、分析対象のドキュメント間での整合チェック箇所を推定する。整合チェック箇所とは、分析対象のそれぞれのドキュメントにおいて、他の分析対象のドキュメントとの間で整合性をチェックする箇所である。
ここで、主集合は、各ドキュメントにおける主要な箇所であるため、全て整合チェック箇所として適切であると考えられる。また、システム・ソフトウェア開発などにおいて整合チェックが必要となるドキュメントでは、多くの関連者によって分かり易いように、対応する見出し名が一致している場合が多い。したがって、各ドキュメントの副集合のうち対応する他のドキュメントに対して見出しが共通する集合は、整合チェック箇所として適切であると考えられる。
そこで、例えば、チェック箇所推定部13は、各ドキュメントにおける主集合を、整合チェック箇所として推定してもよい。また、チェック箇所推定部13は、各ドキュメントにおける副集合のうち、他のドキュメントの主集合または副集合に対して見出しが所定の共通条件を満たす副集合を、整合チェック箇所として推定してもよい。なお、所定の共通条件とは、見出しの文字列が同一であること、あるいは、類似することであってもよい。その他、所定の共通条件とは、見出しが共通しているとみなすことができるその他の条件であってもよい。
以上のように構成された整合チェック箇所推定装置1の動作について、図3を参照して説明する。
図3において、まず、主副集合推定部12は、分析対象の各ドキュメントにおいて、事前知識に基づいて1つ以上の見出しを抽出する。そして、主副集合推定部12は、抽出した各見出しに対応する情報の集合を、主集合または副集合に推定する(ステップS1)。
前述のように、主副集合推定部12は、各見出しに対応する情報の集合における要素の重複度合N/Mに基づいて、主集合または副集合の推定を行ってもよい。
次に、チェック箇所推定部13は、各ドキュメントにおける主集合および副集合に基づいて、各ドキュメントにおける整合チェック箇所を推定する(ステップS2)。
前述のように、チェック箇所推定部13は、各ドキュメントの主集合を、整合チェック箇所として推定してもよい。加えて、チェック箇所推定部13は、各ドキュメントの副集合のうち他のドキュメントの主集合または副集合に対して見出しが共通条件を満たす副集合を、整合チェック箇所として推定してもよい。
また、このステップにおいて、チェック箇所推定部13は、推定した各ドキュメントの整合チェック箇所を、ディスプレイ装置や印刷装置などの出力装置や、ネットワークを介して接続された他の装置等に出力してもよい。また、チェック箇所推定部13は、推定した各ドキュメントの整合チェック箇所を、整合チェック箇所を用いた処理を行う他の装置に対して出力してもよい。また、チェック箇所推定部13は、推定した整合チェック箇所を、記憶装置1004に記憶しておき、ユーザからのリクエストなどに応じて出力してもよい。また、チェック箇所推定部13は、推定した整合チェック箇所を、その他の様態で出力してもよい。
以上で、整合チェック箇所推定装置1は、動作を終了する。
次に、本発明の第1の実施の形態の効果について述べる。
本発明の第1の実施の形態としての整合チェック箇所推定装置は、ドキュメント間における整合チェック箇所を精度よく推定することができる。
その理由について説明する。本実施の形態では、主副集合推定部が、分析対象の各ドキュメントにおいて、事前知識に基づいてそれぞれ1つ以上の見出しを抽出し、各見出しに対応する情報の集合を、主集合および副集合に推定する。そして、チェック箇所推定部が、各ドキュメントの主集合および副集合に基づいて、ドキュメント間での整合チェック箇所を推定するからである。
このように、本実施の形態は、見出しの特徴を示す事前知識に基づいて各ドキュメントを分析することにより、整合チェック対象となる可能性が高い部分的な箇所を出力することができる。したがって、本実施の形態によって出力される整合チェック箇所を利用して自動チェックを行う装置または手動チェックを行うチェック者は、各ドキュメント全体を構成するすべての単位(行等)を対象にしてドキュメント間の整合チェックを行う必要がない。本実施の形態の出力を利用する装置またはチェック者は、本実施の形態により提示される整合チェック箇所間で整合チェックを行えばよい。したがって、本実施の形態は、整合チェックの分析精度を向上させることができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
なお、本発明の第2の実施の形態以降では、本発明における分析対象の各ドキュメントとして、参照元ドキュメントおよび参照先ドキュメントの2つのドキュメント間での整合チェック箇所を推定する例について説明する。以降、参照元ドキュメントを、参照元とも記載する。また、参照先ドキュメントを、参照先とも記載する。
まず、本発明の第2の実施の形態としての整合チェック箇所推定装置2の構成を図4に示す。図4において、整合チェック箇所推定装置2は、本発明の第1の実施の形態としての整合チェック箇所推定装置1に対して、事前知識記憶部11に替えて事前知識記憶部21と、主副集合推定部12に替えて主副集合推定部22とを備える点が異なる。ここで、整合チェック箇所推定装置2およびその各機能ブロックは、図2を参照して説明した本発明の第1の実施の形態としての整合チェック箇所推定装置1と同一のハードウェア要素によって構成可能である。なお、整合チェック箇所推定装置2およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
事前知識記憶部21は、主集合特徴と、副集合特徴と、不要集合特徴とを含む事前知識を記憶する。
ここで、主集合特徴は、主要な見出しの特徴を表す。主要な見出しは、単独で整合チェックの対象となりやすい。例えば、表における列見出しのうち、「機能ID」や「画面名称」といったような特定の単語を含むものを主要な見出しとみなすことができるとする。この場合、主集合特徴は、そのような特定の単語を含む正規表現等で表されていてもよい。
また、副集合特徴は、主要な見出しに付随する見出しの特徴を表す。このような付随的な見出しは、単独では整合チェックの対象となりにくく、主要な見出しに付随して整合チェックされる対象となりやすい。例えば、表における列見出しのうち、「桁数」や「説明」といったような特定の単語を含むものを、主要な見出しに付随する見出しとみなすことができるとする。この場合、副集合特徴は、そのような特定の単語を含む正規表現等で表されていてもよい。
また、不要集合特徴は、整合チェックで不要となる見出しの特徴を表す。例えば、表における列見出しのうち、「項」といったような特定の単語を含むものを不要な見出しとみなすことができるとする。この場合、不要集合特徴は、そのような特定の単語を含む正規表現等で表されていてもよい。
なお、これらの主集合特徴、副集合特徴、不要集合特徴などの事前知識は、正規表現に限らず、書式、アウトラインレベル、その他の情報、または、それらの組み合わせ等によって表されていてもよい。例えば、事前知識は、文字列そのもので表されていてもよい。また、事前知識の内容は、「背景色がX色」といったような、見出しに設定されている書式の特徴で表されていてもよい。また、事前知識の内容は、「アウトラインレベルがX」などといったような、階層構造が設定された文章において見出しに設定されている階層の深さによって表されていてもよい。その他、事前知識の内容は、見出しの特徴を表すものであれば、他の表現であってもよい。
また、参照元ドキュメントまたは参照先ドキュメントに表が含まれることが想定される場合、これらの事前知識は、表の見出しの特徴を表す情報であってもよい。なお、表の見出しとは、列見出しであってもよいし、行見出しであってもよい。また、参照元ドキュメントまたは参照先ドキュメントに段落からなる文章が含まれることが想定される場合、これらの事前知識は、段落の見出しの特徴を表す情報であってもよい。
なお、事前知識記憶部21は、本発明の第1の実施の形態と同様に、上述した各種の事前知識として、入力装置を介して入力されたものを記憶してもよいし、あらかじめ記憶していてもよい。また、事前知識記憶部21は、その他の様態で取得された各種の事前知識を記憶してもよい。
主副集合推定部22は、主集合特徴と、副集合特徴と、不要集合特徴とを含む事前知識に基づいて、参照元ドキュメントおよび参照先ドキュメントにおいて、それぞれ1つ以上の見出しを抽出する。そして、主副集合推定部22は、これらの事前知識に基づいて、抽出した見出しに対応する情報の集合が、主集合であるか副集合であるかを推定する。
例えば、参照元ドキュメントまたは参照先ドキュメントに表が含まれることがわかっており、これらの事前知識が表の列見出しの特徴を表している場合を想定する。この場合、主副集合推定部22は、列見出しの特徴である事前知識の少なくともいずれかに合致する文字列を含む見出し行を検索してもよい。そして、主副集合推定部22は、検索した見出し行における表の各欄に含まれる情報を、見出しとして抽出してもよい。そして、この場合、主副集合推定部22は、表において、抽出した見出しの列を、その見出しに対応する情報の集合とみなせばよい。この場合、その列における各欄に含まれる情報は、その集合の要素とみなされる。
また、例えば、参照元ドキュメントまたは参照先ドキュメントに、段落からなる文章が含まれることがわかっており、これらの事前知識が段落の見出しの特徴を表している場合を想定する。この場合、主副集合推定部22は、段落の見出しの特徴である事前知識に合致する情報を、見出しとして抽出すればよい。そして、この場合、主副集合推定部22は、その見出しに続く段落を、その見出しに対応する情報の集合とみなせばよい。この場合、その段落を構成する各文が、その集合の要素とみなされる。
また、主副集合推定部22は、抽出した各見出しに対応する情報の集合が、主集合であるか副集合であるかを推定する処理を、要素の重複度合と、主集合特徴と、副集合特徴と、不要集合特徴とに基づいて行う。また、このとき、例えば、主副集合推定部22は、抽出した見出しに対応する情報の集合に含まれる要素の数に応じて異なる条件を用いてもよい。
例えば、主副集合推定部22は、抽出した見出しのうち、不要集合特徴に合致しないものについて、その見出しに対応する情報の集合に含まれる要素数を求める。そして、要素数が所定条件を満たさない(例えば、閾値以下である)場合、主副集合推定部22は、要素の重複度合によらずに、見出しが主集合特徴に合致するか否かに基づいて、対応する情報の集合が主集合であるか副集合であるかを推定してもよい。また、要素数が所定条件を満たす(例えば、閾値より大きい)場合、主副集合推定部22は、見出しが副集合特徴に合致すれば、要素の重複度合によらずに、対応する情報の集合が副集合であると推定してもよい。また、要素数が所定条件を満たす場合で、見出しが副集合特徴に合致しない場合、主副集合推定部22は、要素の重複度合に基づいて、対応する情報の集合が主集合であるか副集合であるかを推定してもよい。
チェック箇所推定部13は、本発明の第1の実施の形態で説明したように構成される。つまり、本実施の形態では、チェック箇所推定部13は、参照元および参照先の主集合については全て整合チェック箇所とみなす。また、チェック箇所推定部13は、参照元および参照先の副集合のうち、他方のドキュメントにおける主集合または副集合に対して見出しが所定の共通条件を満たす副集合を、整合チェック箇所とみなす。
以上のように構成された整合チェック箇所推定装置2の動作を、図面を参照して説明する。
まず、整合チェック箇所推定装置2の動作の概略を、図5に示す。
図5において、まず、主副集合推定部22は、参照元ドキュメントにおいて、事前知識に基づいて、1つ以上の見出しを抽出する。そして、主副集合推定部22は、抽出した各見出しに対応する情報の集合を、主集合または副集合として推定する(ステップA1)。このステップの詳細については後述する。
次に、主副集合推定部22は、参照先ドキュメントにおいて、事前知識に基づいて、1つ以上の見出しを抽出する。そして、主副集合推定部22は、抽出した各見出しに対応する情報の集合を、主集合または副集合として推定する(ステップA2)。このステップの詳細については後述する。
次に、チェック箇所推定部13は、参照元の主集合と、参照元の副集合のうち参照先の主集合または副集合に対して見出しが所定の共通条件を満たす副集合とを、整合チェック箇所として推定する(ステップA3)。
次に、チェック箇所推定部13は、参照先の主集合と、参照先の副集合のうち参照元の主集合または副集合に対して見出しが所定の共通条件を満たす副集合とを、整合チェック箇所として推定する(ステップA4)。
以上で、整合チェック箇所推定装置2の動作の概略の説明を終了する。
次に、ステップA1およびステップA2において主集合および副集合を推定する動作の詳細を図6に示す。なお、ステップA1またはステップA2における動作は、対象のドキュメントが参照元ドキュメントであるか参照先ドキュメントであるかが異なるだけで同一である。
図6では、まず、主副集合推定部22は、事前知識に基づいて、対象ドキュメントから1つ以上の見出しを抽出する(ステップA5)。
例えば、対象ドキュメントに表が含まれる場合を想定する。このとき、事前知識が列見出しの特徴を表す正規表現であるとする。この場合、主副集合推定部22は、対象ドキュメントを先頭行から順に調べ、事前知識である正規表現のいずれかに合致する文字列を含む行を、見出し行とみなしてもよい。また、事前知識が列見出しの特徴を表す文字列であるとする。この場合、主副集合推定部22は、対象ドキュメントを先頭行から順に調べ、事前知識である文字列と類似する文字列を含む行を、見出し行とみなしてもよい。また、事前知識が列見出しに設定された「背景色がX色」などの書式であるとする。この場合、主副集合推定部22は、対象ドキュメントを先頭行から順に調べ、事前知識である書式が設定された欄を含む行を、見出し行とみなしてもよい。そして、主副集合推定部22は、検索した見出し行における表の各欄に含まれる情報を、見出しと抽出してもよい。
また、例えば、対象ドキュメントに段落からなる文章が含まれる場合を想定する。このとき、事前知識が段落の見出しの特徴(正規表現、書式、アウトラインレベル等)を表すとする。この場合、主副集合推定部22は、対象ドキュメントを先頭行から順に調べ、事前知識である段落の見出しの特徴のいずれかに合致する行を見出しとして抽出してもよい。
次に、主副集合推定部22は、ステップA5で抽出した見出しのうち、ステップA7以降の処理を行っていない未処理の見出しがあるか否かを判断する(ステップA6)。なお、ある対象ドキュメントについて最初にこのステップが実行される時点では、ステップA5で抽出された全ての見出しが未処理であると設定されているものとする。
ここで、未処理の見出しがなければ、主副集合推定部22は、主副集合推定動作を終了する。
一方、未処理の見出しがあれば、主副集合推定部22は、未処理の見出しのうちの1つを選択する(ステップA7)。
次に、主副集合推定部22は、選択した見出しが、不要集合特徴に合致するか否かを判断する(ステップA8)。
例えば、不要集合特徴が正規表現の場合、不要集合特徴に合致するとは、選択した見出しの文字列が正規表現にマッチすることであってもよい。また、例えば、不要集合特徴が文字列の場合、不要集合特徴に合致するとは、選択した見出しの文字列が不要集合特徴に類似することであってもよい。また、例えば、不要集合特徴が「空欄である」等という条件である場合、不要集合特徴に合致するとは、選択した見出しが空欄である等の条件を満たすことであってもよい。
ここで、選択した見出しが不要集合特徴に合致する場合、主副集合推定部22は、選択した見出しを処理済みと設定し(ステップA18)、ステップA6からの処理を繰り返す。
一方、選択した見出しが不要集合特徴に合致しない場合、主副集合推定部22は、選択した見出しに対応する情報の集合に含まれる要素を抽出する(ステップA9)。
例えば、対象ドキュメントに、列見出しを含む表が含まれる場合を想定する。この場合、主副集合推定部22は、その列見出しの列の各欄に含まれる情報を要素として抽出する。また、対象ドキュメントに段落からなる文章が含まれる場合を想定する。この場合、主副集合推定部22は、その見出しに続く段落に含まれる各文を要素として抽出する。
次に、主副集合推定部22は、選択した見出しに対応する情報の集合の要素数をMに代入する(ステップA10)。
なお、要素数Mは、空欄を含む要素の数でもよいし、空欄を除いた要素の数であってもよい。また、要素数Mは、選択した見出しの列の要素数であってもよいし、選択した見出しを含む表全体のうちで、空欄以外の欄のある行数であってもよい。
次に、主副集合推定部22は、要素数Mを、閾値Nthresと比較する(ステップA11)。
なお、Nthresは、ユーザによってキーボードなどの入力装置を介して指定された値であってもよい。また、Nthresは、あらかじめ記憶装置1004に記憶されている値であってもよい。また、Nthresは、その他の様態で取得された値であってもよい。例えば、Nthresは、1などの値であってもよい。
ここで、要素数Mが閾値Nthresより大きい場合、主副集合推定部22は、選択した見出しが副集合特徴に合致するか否かを判断する(ステップA12)。
ここで、選択した見出しが副集合特徴に合致する場合、主副集合推定部22は、選択した見出しに対応する情報の集合を、副集合であると推定する(ステップA17)。これにより、要素数Mが閾値Nthresより大きく、見出しが副集合特徴に合致する集合は、要素の重複度合によらずに副集合として推定される。
一方、選択した見出しが副集合特徴に合致しない場合、主副集合推定部22は、選択した見出しに対応する情報の集合について、重複を除いた要素数をNに代入する(ステップA13)。
なお、重複を除いた要素数Nは、空欄を含む数でもよいし、空欄を除いた数でもよい。
次に、主副集合推定部22は、重複ありの要素数Mに対する重複なしの要素数Nの割合(重複度合N/M)を、閾値Rthresと比較する(ステップA14)。
なお、Rthresは、ユーザによってキーボードなどの入力装置を介して指定された値であってもよい。また、Rthresは、あらかじめ記憶装置1004に記憶されている値であってもよい。また、Rthresは、その他の様態で取得された値であってもよい。例えば、Rthresは、0.5や0.7などの値であってもよい。
また、対象ドキュメントが複数のファイルや複数のシートによって構成される場合、主副集合推定部22は、各ファイルや各シートのそれぞれにおいて、全てN/M≧Rthresが満たされるか否かを判断してもよい。あるいは、このような場合、主副集合推定部22は、各ファイルや各シートにおけるN’の合計N、および、各ファイルや各シートにおけるM’の合計Mをもとめ、トータルとしてN/M≧Rthresとなるかどうかを調べてもよい。
ここで、重複度合N/Mが閾値Rthres以上である場合、主副集合推定部22は、選択した見出しに対応する情報の集合を、主集合として推定する(ステップA16)。
一方、重複度合N/Mが閾値Rthresより小さい場合、主副集合推定部22は、選択した見出しに対応する情報の集合を、副集合として推定する(ステップA17)。
これにより、要素数Mが閾値Nthresより大きく、見出しが副集合特徴に合致しない集合は、要素の重複度合に基づいて、主集合であるか副集合であるかが推定される。
また、ステップA11において、要素数Mが閾値Nthres以下であると判断された場合、主副集合推定部22は、選択した見出しが主集合特徴に合致するか否かを判断する(ステップA15)。
ここで、選択した見出しが主集合特徴に合致する場合、主副集合推定部22は、選択した見出しに対応する情報の集合を、主集合として推定する(ステップA16)。
一方、選択した見出しが主集合特徴に合致しない場合、主副集合推定部22は、選択した見出しに対応する情報の集合を、副集合として推定する(ステップA17)。
これにより、要素数Mが閾値Nthres以下である集合については、要素の重複度合によらずに、事前知識である主集合特徴に基づいて、主集合であるか副集合であるかが推定される。
ステップA16またはステップA17において主集合または副集合であると推定した後、主副集合推定部22は、選択した見出しを処理済みと設定し(ステップA18)、ステップA6からの処理を繰り返す。
以上で、主副集合推定部22によるステップA1およびステップA2における動作の説明を終了する。
次に、整合チェック箇所推定装置2の動作について、2つの具体例(具体例1および具体例2)を示す。
<具体例1>
まず、この具体例1において用いられる事前知識を図7に示す。図7において、「種類」の列は、事前知識が主集合特徴、副集合特徴、不要集合特徴のいずれかであるかを表す。また、「内容」の列は、事前知識の内容を表す。ここでは、事前知識の内容は、正規表現で表されている。例えば、「^」は文字列の先頭を示す正規表現であり、「$」は文字列の末尾を示す正規表現である。
また、図8に、具体例1において用いられる参照元ドキュメント8aおよび参照先ドキュメント8bを示す。これらの参照元ドキュメント8aおよび参照先ドキュメント8bには表が含まれ、整合チェック箇所は、列単位で推定されることになる。また、これらの参照元ドキュメント8aおよび参照先ドキュメント8bでは、1行目が表の列見出し行であり、2行目以降が具体的な内容となっている。また、この例では、参照元ドキュメント8aにおける「画面ID」の列および「画面名」の列と、参照先ドキュメント8bにおける「画面ID」の列および「画面名」の列とがそれぞれ対応している。このため、これらの列が、整合チェックすべき箇所である。
このような参照元ドキュメント8aおよび参照元ドキュメント8bを対象として、図7に示した事前知識を用いて、整合チェック箇所推定装置2が整合チェック箇所を推定する動作について説明する。
まず、主副集合推定部22は、参照元ドキュメント8aにおいて、主集合として、「画面ID」の列および「画面名」の列と、副集合として「機能ID」の列とを推定する(図5のステップA1)。これらの列が主集合または副集合として推定される動作の詳細については後述する。
次に、主副集合推定部22は、参照先ドキュメント8bにおいて、主集合の列はないと推定し、副集合として「画面ID」の列、「画面名」の列、および、「説明」の列を推定する(ステップA2)。これらの列が副集合として推定される動作の詳細については後述する。
次に、チェック箇所推定部13は、参照元の整合チェック箇所として、「画面ID」の列および「画面名」の列を、以下のようにして推定する(ステップA3)。
ここでは、チェック箇所推定部13は、参照元の主集合である「画面ID」の列および「画面名」の列の全てを、整合チェック箇所と推定する。また、チェック箇所推定部13は、参照元の副集合「機能ID」の列について、参照先の主集合または副集合と見出しが共通するか否かを判断する。ここでは、参照先の主集合はなく、副集合「画面ID」の列、「画面名」の列、および、「説明」の列のいずれも、見出しが「機能ID」ではない。そこで、チェック箇所推定部13は、参照元の副集合「機能ID」の列については、整合チェック箇所として推定しない。
次に、チェック箇所推定部13は、参照先の整合チェック箇所として、「画面ID」の列および「画面名」の列を、以下のようにして推定する(ステップA4)。
ここでは、参照先ドキュメント8bにおいて、主集合は推定されていない。そこで、チェック箇所推定部13は、参照先の副集合「画面ID」の列、「画面名」の列、および、「説明」の列について、参照元の主集合または副集合と見出しが共通するか否かを判断する。ここでは、「画面ID」および「画面名」が、参照元の主集合の見出しと共通する。そこで、チェック箇所推定部13は、これらの副集合のうち、「画面ID」の列および「画面名」の列を、整合チェック箇所と推定する。
このようにして、整合チェック箇所推定装置2は、参照元ドキュメント8aおよび参照先ドキュメント8bにおいて、整合チェックすべき箇所を整合チェック箇所として推定できたことになる。
次に、参照元ドキュメント8aにおける主集合および副集合の推定動作(ステップA1)の詳細について説明する。なお、ここでは、要素数Mの閾値Nthresは1であり、重複度合N/Mの閾値Rthresは0.5であるものとする。
ここでは、まず、主副集合推定部22は、参照元ドキュメント8aを先頭行から順に調べ、1行1列目の「機能ID」が、図7の事前知識にある正規表現「^機能ID$」に合致すると判断する。そこで、主副集合推定部22は、参照元ドキュメント8aの1行目を列見出し行とみなし、列見出し行に含まれる見出し「機能ID」、「画面ID」、「画面名」を抽出する(図6のステップA5)。
次に、主副集合推定部22は、参照元ドキュメント8aの1行目の列見出し行のうち、「機能ID」を選択する(ステップA6でYes、ステップA7)。
次に、主副集合推定部22は、選択した見出し「機能ID」が不要集合特徴「^項$」に合致しないと判断する(ステップA8でNo)。
次に、主副集合推定部22は、選択した見出し「機能ID」の列の要素として、「ZTA00」、「ZTA00」、「ZTA00」を抽出する(ステップA9)。
次に、主副集合推定部22は、選択した見出し「機能ID」の列の要素数3をMに代入する(ステップA10)。なお、具体例1では、要素数Mとして、空欄を含む要素の数を適用するものとする。
次に、主副集合推定部22は、M(=3)>Nthres(=1)であると判断し(ステップA11でYes)、選択した見出し「機能ID」が図7の副集合特徴のいずれにも合致しないと判断する(ステップA12でNo)。
ここで、参照元ドキュメント8aの「機能ID」の列において、3つの要素「ZTA00」、「ZTA00」、「ZTA00」は全て重複しているため、重複を除いた要素数は1である。そこで、主副集合推定部22は、「機能ID」の列の重複無し要素数1をNに代入する(ステップA13)。
次に、主副集合推定部22は、重複度合N/M(=1/3)がRthres(=0.5)未満であると判断する(ステップA14でNo)。
したがって、主副集合推定部22は、見出し「機能ID」の列を副集合として推定する(ステップA17)。
そして、主副集合推定部22は、見出し「機能ID」を処理済みと設定し(ステップA18)、ステップA6からの処理を繰り返す。
次に、主副集合推定部22は、参照元ドキュメント8aの1行目の列見出し行のうち、まだ処理済みでない「画面ID」を選択する(ステップA6でYes、ステップA7)。
次に、主副集合推定部22は、選択した見出し「画面ID」が不要集合特徴「^項$」に合致しないと判断する(ステップA8でNo)。
次に、主副集合推定部22は、選択した見出し「画面ID」の列の要素として、「SZTA001」、「SZTA002」、「SZTA003」を抽出する(ステップA9)。
次に、主副集合推定部22は、選択した見出し「画面ID」の列の要素数3をMに代入する(ステップA10)。
次に、主副集合推定部22は、M(=3)>Nthres(=1)であると判断し(ステップA11でYes)、選択した見出し「画面ID」が図7の副集合特徴のいずれにも合致しないと判断する(ステップA12でNo)。
ここで、参照元ドキュメント8aの「画面ID」の列において、3つの要素「SZTA001」、「SZTA002」、「SZTA003」はいずれも重複していないため、重複を除いても要素数は3である。そこで、主副集合推定部22は、「画面ID」の列の重複無し要素数3をNに代入する(ステップA13)。
次に、チェック箇所推定部13は、重複度合N/M(=3/3)がRthres(=0.5)以上であると判断する(ステップA14でYes)。
したがって、主副集合推定部22は、見出し「画面ID」の列を主集合として推定する(ステップA16)。
そして、主副集合推定部22は、見出し「画面ID」を処理済と設定し(ステップA18)、ステップA6からの処理を繰り返す。
次に、主副集合推定部22は、見出し「画面名」を選択し(ステップA7)、見出し「画面ID」を選択したときと略同様の処理を繰り返す。これにより、主副集合推定部22は、見出し「画面名」の列を主集合として推定する(ステップA16)。
このようにして、主副集合推定部22は、参照元ドキュメント8aにおいて、主集合として「画面ID」の列および「画面名」の列と、副集合として見出し「機能ID」の列とを推定する。
以上で、具体例1におけるステップA1の動作の説明を終了する。
次に、参照先ドキュメント8bにおける主集合および副集合の推定動作(ステップA2)の詳細について説明する。
ここでは、まず、主副集合推定部22は、参照先ドキュメント8bを先頭行から順に調べ、1行1列目の「画面ID」が、図7の事前知識にある正規表現「^画面ID$」に合致すると判断する。そこで、主副集合推定部22は、参照先ドキュメント8bの1行目を列見出し行とみなし、列見出し行に含まれる見出し「画面ID」、「画面名」、「説明」を抽出する(ステップA5)。
次に、主副集合推定部22は、参照先ドキュメント8bの1行目の列見出し行のうち、「画面ID」を選択する(ステップA6でYes、ステップA7)。
次に、主副集合推定部22は、選択した見出し「画面ID」が不要集合特徴「^項$」に合致しないと判断する(ステップA8でNo)。
次に、主副集合推定部22は、選択した見出し「画面ID」の列の要素として、「SZTA002」、空欄、空欄、「SZTA003」、空欄、空欄を抽出する(ステップA9)。
次に、主副集合推定部22は、選択した見出し「画面ID」の列の要素数6をMに代入する(ステップA10)。
次に、主副集合推定部22は、M(=6)>Nthres(=1)であると判断し(ステップA11でYes)、選択した見出し「画面ID」が図7の副集合特徴のいずれにも合致しないと判断する(ステップA12でNo)。
ここで、参照先ドキュメント8bの「画面ID」の列において、空欄を除いた要素は、「SZTA002」、「SZTA003」の2つであり、これらは重複していない。そこで、主副集合推定部22は、「画面ID」の列の重複無し要素数として2をNに代入する(ステップA13)。
次に、主副集合推定部22は、重複度合N/M(=2/6)がRthres(=0.5)未満であると判断する(ステップA14でNo)。
したがって、主副集合推定部22は、見出し「画面ID」の列を副集合として推定する(ステップA17)。
そして、主副集合推定部22は、見出し「画面ID」を処理済みと設定し(ステップA18)、ステップA6からの処理を繰り返す。
次に、主副集合推定部22は、まだ処理済みでない見出し「画面名」を選択し(ステップA7)、見出し「画面ID」を選択したときと略同様の処理を繰り返す。これにより、主副集合推定部22は、見出し「画面名」の列を副集合として推定する。
次に、主副集合推定部22は、まだ処理済みでない見出し「説明」を選択する(ステップA7)。
次に、主副集合推定部22は、選択した見出し「説明」が不要集合特徴「^項$」に合致しないと判断する(ステップA8でNo)。
次に、主副集合推定部22は、選択した見出し「説明」の列の要素として、「成果物・・・改版する。」、空欄、空欄、「成果物・・・を行う。」、空欄、空欄を抽出する(ステップA9)。なお、主副集合推定部22は、表の欄に貼り付けられたイメージ図を、空欄とみなしてもよいし、図に含まれるテキストを抽出してもよい。ここでは、イメージ図の欄を空欄とみなしたものとする。
次に、主副集合推定部22は、選択した見出しの要素数6をMに代入する(ステップA10)。
次に、チェック箇所推定部13は、主副集合推定部22は、M(=6)>Nthres(=1)であると判断し(ステップA11でYes)、選択した見出し「説明」が図7の副集合特徴「^説明$」に合致すると判断する(ステップA12でYes)。
したがって、主副集合推定部22は、見出し「説明」の列を副集合として推定する(ステップA17)。
このようにして、主副集合推定部22は、参照先ドキュメント8bにおいて、主集合となる見出しがなく、副集合として「画面ID」の列、「画面名」の列、「説明」の列を推定する。
以上で、ステップA2の動作の説明を終了し、具体例1の説明を終了する。
<具体例2>
次に、具体例2について説明する。具体例2において、具体例1と同様に、参照元ドキュメントおよび参照先ドキュメントには表が含まれ、整合チェック箇所は、列単位で推定されるものとする。また、要素数Mとして、空欄を含む要素の数を適用するものとする。また、重複無し要素数Nとして、空欄を除いた重複のない要素の数を適用するものとする。また、要素数Mの閾値Nthresは1であり、重複度合N/Mの閾値Rthresは0.5であるものとする。
また、具体例2において用いられる事前知識は、具体例1と同様に図7に示したものである。
また、図9に、具体例2において用いられる参照元ドキュメント9aおよび参照先ドキュメント9bを示す。この参照元ドキュメント9aでは、1行目が表の列見出し行であり、2行目以降が具体的な内容となっている。また、この参照先ドキュメント9bでは、1行目および2行目が表全体に関する情報を示し、3行目が空欄の行である。また、この参照先ドキュメント9bでは、4行目が表の列見出し行であり、5行目以降が具体的な内容となっている。また、この例では、参照元ドキュメント9aにおける「機能名」の列と、この参照先ドキュメント9bにおける「エンティティ候補」の列とが対応している。このため、これらの列が、整合チェックすべき箇所である。
このような参照元ドキュメント9aおよび参照先ドキュメント9bを対象として、図7に示した事前知識を用いて、整合チェック箇所推定装置2が整合チェック箇所を推定する動作について説明する。
まず、主副集合推定部22は、参照元ドキュメント9aにおいて、主集合として、「機能名」の列と、副集合として「A」、「B」、・・・、「J」の各列とを推定する(図5のステップA1)。これらの列が主集合または副集合として推定される動作の詳細については後述する。
次に、主副集合推定部22は、参照先ドキュメント9bにおいて、主集合として「エンティティ候補」の列と、副集合として「種別」の列および「説明」の列とを推定する(ステップA2)。これらの列が主集合または副集合として推定される動作の詳細については後述する。
次に、チェック箇所推定部13は、参照元の整合チェック箇所として、「機能名」の列を、以下のようにして推定する(ステップA3)。
ここでは、チェック箇所推定部13は、参照元の主集合である「機能名」の列を、整合チェック箇所と推定する。また、チェック箇所推定部13は、参照元の副集合「A」、「B」、・・・、「J」の各列について、参照先の主集合または副集合と見出しが共通するか否かを判断する。ここでは、参照先の主集合および副集合のいずれも、見出しが「A」、「B」、・・・、「J」であるものはない。そこで、チェック箇所推定部13は、参照元の副集合の各列については、整合チェック箇所として推定しない。
次に、チェック箇所推定部13は、参照先の整合チェック箇所として、「エンティティ候補」の列を、以下のようにして推定する(ステップA4)。
ここでは、チェック箇所推定部13は、参照先の主集合である「エンティティ候補」の列を、整合チェック箇所と推定する。また、チェック箇所推定部13は、参照先の副集合「種別」の列および「説明」の列について、参照元の主集合または副集合と見出しが共通するか否かを判断する。ここでは、参照元の主集合および副集合のいずれも、見出しが「種別」または「説明」であるものはない。そこで、チェック箇所推定部13は、参照先の副集合「種別」の列および「説明」の列については、整合チェック箇所として推定しない。
このようにして、整合チェック箇所推定装置2は、参照元ドキュメント9aおよび参照先ドキュメント9bにおいて、整合チェックすべき箇所を整合チェック箇所として推定できたことになる。
次に、参照元ドキュメント9aにおける主集合および副集合の推定動作(ステップA1)の詳細について説明する。
ここでは、まず、主副集合推定部22は、参照元ドキュメント9aを先頭行から順に調べ、1行1列目の「機能名」が、図7の事前知識にある正規表現「^機能名$」に合致すると判断する。そこで、主副集合推定部22は、参照元ドキュメント9aの1行目を列見出し行とみなし、列見出し行に含まれる見出し「機能名」、「A」、「B」、・・・、「J」を抽出する(ステップA5)。
次に、主副集合推定部22は、参照元ドキュメント9aの1行目の列見出し行のうち、「機能名」を選択する(ステップA6でYes、ステップA7)。
次に、主副集合推定部22は、選択した見出し「機能名」が不要集合特徴「^項$」に合致しないと判断する(ステップA8でNo)。
次に、主副集合推定部22は、選択した見出し「機能名」の列の要素として、「発注計画確認」、「発注計画保留」、・・・、「見積依頼の作成」を抽出する(ステップA9)。
次に、主副集合推定部22は、選択した見出し「機能名」の列の要素数5をMに代入する(ステップA10)。
次に、主副集合推定部22は、M(=5)>Nthres(=1)であると判断し(ステップA11でYes)、選択した見出し「機能名」が図7の副集合特徴のいずれにも合致しないと判断する(ステップA12でNo)。
ここで、参照元ドキュメント9aの「機能名」の列において、5つの要素「発注計画確認」、「発注計画保留」、・・・、「見積依頼の作成」はいずれも重複していないため、重複を除いても要素数は5である。そこで、主副集合推定部22は、「機能名」の列の重複無し要素数5をNに代入する(ステップA13)。
次に、主副集合推定部22は、重複度合N/M(=5/5)がRthres(=0.5)以上であると判断する(ステップA14でYes)。
したがって、主副集合推定部22は、見出し「機能名」の列を主集合として推定する(ステップA16)。
そして、主副集合推定部22は、見出し「機能名」を処理済みと設定し(ステップA18)、ステップA6からの処理を繰り返す。
次に、主副集合推定部22は、参照元ドキュメント9aの1行目の列見出し行のうち、まだ処理済みでない「A」を選択する(ステップA6でYes、ステップA7)。
次に、主副集合推定部22は、選択した見出し「A」が不要集合特徴「^項$」に合致しないと判断する(ステップA8でNo)。
次に、主副集合推定部22は、選択した見出し「A」の列の要素として、「〇」、空欄、「〇」、「〇」、空欄を抽出する(ステップA9)。
次に、主副集合推定部22は、選択した見出し「画面ID」の列の要素数5をMに代入する(ステップA10)。
次に、主副集合推定部22は、M(=5)>Nthres(=1)であると判断し(ステップA11でYes)、選択した見出し「A」が図7の副集合特徴のいずれにも合致しないと判断する(ステップA12でNo)。
ここで、参照元ドキュメント9aの「A」の列において、空欄を除いた要素「〇」、「〇」、「〇」は重複しているため、重複を除いた要素数は1である。そこで、主副集合推定部22は、「A」の列の重複無し要素数1をNに代入する(ステップA13)。
次に、チェック箇所推定部13は、重複度合N/M(=1/5)がRthres(=0.5)未満であると判断する(ステップA14でNo)。
したがって、主副集合推定部22は、見出し「A」の列を副集合として推定する(ステップA17)。
そして、主副集合推定部22は、見出し「A」を処理済と設定し(ステップA18)、ステップA6からの処理を繰り返す。
以降、主副集合推定部22は、見出し「B」、「C」、・・・、「J」を順次選択し(ステップA7)、見出し「A」を選択したときと略同様の処理を繰り返す。これにより、主副集合推定部22は、見出し「B」、「C」、・・・、「J」の各列を副集合として推定する。
このようにして、主副集合推定部22は、参照元ドキュメント9aにおいて、主集合として「機能名」の列と、副集合として「A」、「B」、・・・、「J」の各列とを推定する。
以上で、具体例2におけるステップA1の動作の説明を終了する。
次に、参照先ドキュメント9bにおける主集合および副集合の推定動作(ステップA2)の詳細について説明する。
ここでは、まず、主副集合推定部22は、参照先ドキュメント9bを先頭行から順に調べ、4行1列目の「項」が、図7の事前知識にある正規表現「^項$」に合致すると判断する。そこで、主副集合推定部22は、参照先ドキュメント9bの4行目を列見出し行とみなし、列見出し行に含まれる見出し「項」、「種別」、「エンティティ候補」、「説明」を抽出する(ステップA5)。
次に、主副集合推定部22は、参照先ドキュメント9bの4行目の列見出しのうち、「項」を選択する(ステップA6でYes、ステップA7)。
次に、主副集合推定部22は、選択した見出し「項」が不要集合特徴「^項$」に合致すると判断する(ステップA8でYes)。
そこで、主副集合推定部22は、見出し「項」を処理済と設定し(ステップA18)、ステップA6からの処理を繰り返す。
次に、主副集合推定部22は、参照先ドキュメント9bの4行目の列見出しのうち、まだ処理済みでない「種別」を選択する(ステップA6でYes、ステップA7)。
次に、主副集合推定部22は、選択した見出し「種別」が不要集合特徴「^項$」に合致しないと判断する(ステップA8でNo)。
次に、主副集合推定部22は、選択した見出し「種別」の列の要素として、「イベント系」、「イベント系」、「イベント系」を抽出する(ステップA9)。
次に、主副集合推定部22は、選択した見出し「種別」の列の要素数3をMに代入する(ステップA10)。
次に、主副集合推定部22は、M(=3)>Nthres(=1)であると判断し(ステップA11でYes)、選択した見出し「種別」が図7の副集合特徴のいずれにも合致しないと判断する(ステップA12でNo)。
ここで、参照先ドキュメント9bの「種別」の列において、3つの要素「イベント系」、「イベント系」、「イベント系」は全て重複しているため、重複を除いた要素数は1である。そこで、主副集合推定部22は、「種別」の列の重複無し要素数1をNに代入する(ステップA13)。
次に、主副集合推定部22は、重複度合N/M(=1/3)がRthres(=0.5)未満であると判断する(ステップA14でNo)。
したがって、主副集合推定部22は、見出し「種別」の列を副集合として推定する(ステップA17)。
そして、主副集合推定部22は、見出し「種別」を処理済みと設定し(ステップA18)、ステップA6からの処理を繰り返す。
次に、主副集合推定部22は、参照先ドキュメント9bの4行目の列見出し行のうち、まだ処理済みでない「エンティティ候補」を選択する(ステップA6でYes、ステップA7)。
次に、主副集合推定部22は、選択した見出し「エンティティ候補」が不要集合特徴「^項$」に合致しないと判断する(ステップA8でNo)。
次に、主副集合推定部22は、選択した見出し「エンティティ候補」の列の要素として、「受注」、「発注計画」、「プロジェクト」を抽出する(ステップA9)。
次に、主副集合推定部22は、選択した見出し「エンティティ候補」の列の要素数3をMに代入する(ステップA10)。
次に、主副集合推定部22は、M(=3)>Nthres(=1)であると判断し(ステップA11でYes)、選択した見出し「エンティティ候補」が図7の副集合特徴のいずれにも合致しないと判断する(ステップA12でNo)。
ここで、参照先ドキュメント9bの「エンティティ候補」の列において、3つの要素「受注」、「発注計画」、「プロジェクト」はいずれも重複していないため、重複を除いても要素数は3である。そこで、主副集合推定部22は、「エンティティ候補」の列の重複無し要素数3をNに代入する(ステップA13)。
次に、チェック箇所推定部13は、重複度合N/M(=3/3)がRthres(=0.5)以上であると判断する(ステップA14でYes)。
したがって、主副集合推定部22は、見出し「エンティティ候補」の列を主集合として推定する(ステップA16)。
そして、主副集合推定部22は、見出し「エンティティ候補」を処理済と設定し(ステップA18)、ステップA6からの処理を繰り返す。
次に、主副集合推定部22は、まだ処理済みでない見出し「説明」を選択する(ステップA7)。
次に、主副集合推定部22は、選択した見出し「説明」が不要集合特徴「^項$」に合致しないと判断する(ステップA8でNo)。
次に、主副集合推定部22は、選択した見出し「説明」の列の要素として、「得意様毎の・・・」、「オーダーされた・・・」、「プロジェクト情報・・・」を抽出する(ステップA9)。
次に、主副集合推定部22は、選択した見出し「説明」の要素数3をMに代入する(ステップA10)。
次に、チェック箇所推定部13は、主副集合推定部22は、M(=3)>Nthres(=1)であると判断し(ステップA11でYes)、選択した見出し「説明」が図7の副集合特徴「^説明$」に合致すると判断する(ステップA12でYes)。
したがって、主副集合推定部22は、見出し「説明」の列を副集合として推定する(ステップA17)。
このようにして、主副集合推定部22は、参照先ドキュメント9bにおいて、主集合として「エンティティ候補」の列と、副集合として見出し「種別」の列、「説明」の列とを推定する。
以上で、ステップA2の動作の説明を終了し、具体例2の説明を終了する。
これらの具体例1および具体例2に示したように、整合チェック箇所推定装置2は、事前知識のいずれかに合致する見出しを1つでも含む行を見出し行としてみなしている。ここで、システム・ソフトウェア開発等におけるドキュメントでは、多くの関連者にとって分かり易いよう、「画面名」などのように、異なる案件でも同一(類似)の見出しが用いられることが多い。ただし、案件特有の見出しもある。このような場合であっても、整合チェック箇所推定装置2は、一般的な見出しの特徴を事前知識として準備しておくことで、そのような一般的な見出しの特徴を含む見出し行に含まれる案件特有の見出しも検出することができる。
また、これらの具体例1および具体例2に示したように、整合チェック箇所推定装置2は、主集合と副集合とを区別して、整合チェック箇所を推定している。ここで、システム・ソフトウェア開発等におけるドキュメントでは、「画面一覧」などの一覧表を作成して必要項目を洗い出してから、洗い出した個々の必要項目に対して「画面レイアウト」など属性を副次的に定義して詳細化する場合が多い。そのような場合に対応して、整合チェック箇所推定装置2は、必要項目である主集合と副次的な箇所である副集合とを区別して、整合チェック箇所を推定することができる。
なお、上述した本実施の形態および各具体例では、参照元ドキュメントおよび参照先ドキュメントには表が含まれ、整合チェック箇所が列単位となる例を中心に説明した。
この他、整合チェック箇所が行単位となる場合にも、本実施の形態は適用可能である。この場合、主副集合推定部22は、事前知識の少なくともいずれかに合致する文字列を含む表の列を見出し列として選択し、見出し列に含まれる各欄を見出しとして抽出してもよい。そして、整合チェック箇所推定装置2は、抽出した見出しを含む行を、その見出しに対応する情報の集合とみなし、その行に含まれる各欄の情報を、集合の要素とみなしてもよい。そして、整合チェック箇所推定装置2は、上述した本実施の形態と略同様に動作して、整合チェック箇所を推定することができる。
この他、参照元ドキュメントおよび参照先ドキュメントに段落からなる文章が含まれ、整合チェック箇所が段落単位となる場合についても、本実施の形態は適用可能である。
この場合、例えば、図10に示すような事前知識があらかじめ用意されていてもよい。図10では、主集合特徴は、見出しに相当する段落のタイトルに設定されるアウトラインレベルで表されている。また、不要集合特徴は、正規表現で表されている。そして、主副集合推定部22は、主集合特徴「アウトラインレベル=X」に合致する段落のタイトルを見出しとして抽出すればよい。また、主副集合推定部22は、抽出した見出しのうち、不要集合特徴に合致する見出しに対応する段落を、整合チェック箇所から除外する。
また、例えば、図11に示すような事前知識があらかじめ用意されていてもよい。図11では、主集合特徴は、見出しに相当する段落のタイトルに設定される複数の特徴の組み合わせで表されている。この場合、主副集合推定部22は、主集合特徴「アウトラインレベル=X かつ 文字列が“機能要件”と類似」に基づいて、アウトラインレベルがXに設定された段落のタイトルのうち、「機能要件」に類似するタイトルを見出しとして抽出すればよい。
そして、整合チェック箇所推定装置2は、抽出した見出しに続く段落を、その見出しに対応する情報の集合とみなし、段落に含まれる各文を、集合の要素とみなしてもよい。そして、整合チェック箇所推定装置2は、上述した本実施の形態と略同様に動作して、整合チェック箇所を推定することができる。
次に、本発明の第2の実施の形態の効果について述べる。
本発明の第2の実施の形態としての整合チェック箇所推定装置は、ドキュメント間における整合チェック箇所を、さらに精度よく推定することができる。
その理由について説明する。本実施の形態では、主副集合推定部が、参照元ドキュメントおよび参照先ドキュメントにおいて、事前知識の少なくとも1つに合致する情報を含む行を見出し行とみなし、その見出し行から1つ以上の見出しを抽出する。そして、主副集合推定部が、抽出した各見出しに対応する情報の集合を、その要素数と、要素の重複度合と、事前知識に含まれる主集合特徴、副集合特徴、および、不要集合特徴とに基づいて、主集合および副集合に推定するからである。また、チェック箇所推定部が、参照元の主集合と、参照元の副集合のうち参照先と見出しが共通条件を満たすものと、参照先の主集合と、参照先の副集合のうち参照元と見出しが共通条件を満たすものとを、整合チェック箇所として推定するからである。
このように、本実施の形態は、多くの関連者にとって分かり易いよう用いられる一般的な見出しの特徴を事前知識として準備しておく。これにより、本実施の形態は、そのような一般的な見出しの特徴を含む見出し行に含まれる、案件特有の見出しも抽出することができる。その結果、本実施の形態は、整合チェックすることが望ましい箇所の見出しをより精度よく検出することになる。
また、このように、本実施の形態は、ドキュメントにおいて主要な情報が記述されていると推定された箇所(主集合)については、すべて整合チェック箇所と推定する。また、本実施の形態は、主要な情報が記述された箇所(主集合)に対して付随する情報の箇所(副集合)については、対応するドキュメントにおいて共通条件を満たす見出しがあるものを、整合チェック箇所と推定する。つまり、本実施の形態は、主要な情報である主集合と、副次的な情報である副集合とを区別して、整合チェック箇所を推定することで、より精度よく整合チェック箇所を推定することになる。
(第3の実施の形態)
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
まず、本発明の第3の実施の形態としての整合チェック箇所推定装置3の構成を図12に示す。図12において、整合チェック箇所推定装置3は、本発明の第2の実施の形態としての整合チェック箇所推定装置2に対して、チェック箇所推定部13に替えてチェック箇所推定部33を備える点が異なる。ここで、整合チェック箇所推定装置3およびその各機能ブロックは、図2を参照して説明した本発明の第2の実施の形態としての整合チェック箇所推定装置2と同一のハードウェア要素によって構成可能である。なお、整合チェック箇所推定装置3およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
チェック箇所推定部33は、本発明の第2の実施の形態におけるチェック箇所推定部13と略同様に構成されることにより、本発明の第2の実施の形態においては整合チェック箇所として推定した主集合または副集合を、整合チェック箇所の候補の集合とする。
そして、チェック箇所推定部33は、参照元ドキュメントにおける各候補および参照先ドキュメントにおける各候補の間で、互いの要素数の関係が所定条件を満たす候補の組み合わせを、整合チェック箇所の組み合わせとして推定する。なお、互いの要素数の関係が所定条件を満たすとは、例えば、要素数の比が閾値以下であることであってもよい。この場合、参照元の候補の要素数をnとし、参照先の候補の要素数をmとして、n/mまたはm/nのいずれかが閾値以下となることを所定条件としてもよい。
ここで、参照元ドキュメントおよび参照先ドキュメントの間で、このような整合チェック箇所の組み合わせを推定する理由について説明する。整合チェックが有効となるのは、箇所の多くが整合している場合である。箇所のほとんどが整合していない場合、不整合というアラームが多く検出され、整合チェックの有効性が薄れる。もし、参照元の整合チェック箇所と参照先の整合チェック箇所とで要素数が大きく異なる場合、箇所の多くが整合せず、整合チェックの有効性が薄れることになる。このように、要素数が大きく異ならない整合チェック箇所の候補の組み合わせは、互いに整合をチェックする整合チェック箇所の組み合わせとして適しているからである。
また、チェック箇所推定部33は、参照元ドキュメントまたは参照先ドキュメントにおいて、互いの要素数の関係が所定条件を満たす1つ以上の整合チェック箇所を、関連性のある整合チェック箇所として推定する。なお、互いの要素数の関係が所定条件を満たすとは、上述と同様に、例えば、要素数の比が閾値以下であることであってもよい。
ここで、参照元ドキュメントまたは参照先ドキュメントにおいて、このような関連性のある1つ以上の整合チェック箇所を推定する理由について説明する。参照元ドキュメントまたは参照先ドキュメントにおいて、要素数が大きく異ならない複数の整合チェック箇所の候補は、互いに関連性のある箇所である可能性が高い。このような互いに関連性のある箇所としては、例えば1つの表における複数の列等がある。この場合、それらの列は、同一の表に記述される関連性のある情報を含んでいるからである。また、参照元ドキュメントまたは参照先ドキュメントにおいて、要素数が大きく異なる複数の整合チェック箇所の候補は、互いに関連性のない箇所である可能性が高い。このような互いに関連性のない箇所としては、例えば異なる表に含まれる列等がある。この場合、それらの列は、互いに関連性のない情報を含んでいる可能性が高い。そこで、一方のドキュメントにおいて要素数が大きく異ならない複数の箇所を互いに関連性のある整合チェック箇所として提示することにより、他方のドキュメントとの間で整合チェックする箇所のグループを提示することが可能となる。
以上のように構成された整合チェック箇所推定装置3の動作について、図13を参照して説明する。なお、以下では、要素数の関係を判定するための所定条件として、要素数の比が閾値以下であることを用いるものとする。
図13では、まず、主副集合推定部22は、本発明の第2の実施の形態と同様にステップA1を実行することにより、参照元の主集合および副集合を推定する。
次に、主副集合推定部22は、本発明の第2の実施の形態と同様にステップA2を実行することにより、参照先の主集合および副集合を推定する。
次に、チェック箇所推定部33は、参照元の主集合と、参照元の副集合のうち参照先の主集合および副集合に対して見出しが共通条件を満たす副集合とを、整合チェック箇所の候補として推定する(ステップA21)。
次に、チェック箇所推定部33は、参照先の主集合と、参照先の副集合のうち参照元の主集合または副集合に対して見出しが共通条件を満たす副集合とを、整合チェック箇所の候補として推定する(ステップA22)。
次に、チェック箇所推定部33は、参照元の整合チェック箇所の候補のうち、ステップA24以降の処理を行っていない未処理の候補があるか否かを判断する(ステップA23)。なお、ある参照元ドキュメントについて最初にこのステップが実行される時点では、ステップA21で推定された全ての候補が未処理であると設定されているものとする。
ここで、未処理の候補がなければ、チェック箇所推定部33は、動作を終了する。
一方、未処理の候補があれば、チェック箇所推定部33は、参照元ドキュメントにおける未処理の候補のうちの1つを選択する(ステップA24)。
次に、チェック箇所推定部33は、参照元ドキュメントにおいて、ステップA24で選択した候補と、この候補の要素数との比が閾値以下の要素数を持つ参照元の他の候補とを、関連性のある整合チェック箇所として推定する(ステップA25)。
なお、要素数の比の閾値は、ユーザによってキーボードなどの入力装置を介して入力された値であってもよいし、記憶装置1004にあらかじめ記憶されている値であってもよい。また、要素数の比の閾値は、それ以外の様態で取得された値であってもよい。例えば、要素数の比の閾値は、10等の値であってもよい。
次に、チェック箇所推定部33は、選択した参照元の候補の要素数に対して、要素数の比が閾値以下の参照先の各候補を、選択した参照元の候補に対応する整合チェック箇所として推定する(ステップA26)。
なお、要素数の比の閾値は、ユーザによってキーボードなどの入力装置を介して入力された値であってもよいし、記憶装置1004にあらかじめ記憶されている値であってもよい。また、要素数の比の閾値は、それ以外の様態で取得される値であってもよい。また、このステップで用いられる要素数の比の閾値は、ステップA25で用いられる閾値と同一であってもよい。
これにより、ステップA25で推定された参照元における1つ以上の整合チェック箇所と、ステップA26で推定された参照先における1つ以上の整合チェック箇所とが、互いに整合しているかをチェックする組み合わせとして対応付けられる。
次に、チェック箇所推定部33は、ステップA24で選択した候補を処理済と設定し(ステップA27)、ステップA23からの処理を繰り返す。
なお、このようにして、参照元の各候補に対してステップA25〜A26を実行することにより、チェック箇所推定部33は、前回の処理で既に推定した整合チェック箇所と同一の整合チェック箇所を再度推定する場合がある。その場合、チェック箇所推定部33は、重複を除いてもよい。つまり、このような場合、チェック箇所推定部33は、既に推定済みの整合チェック箇所を推定しないようにしてもよい。あるいは、チェック箇所推定部33は、ステップA25で推定した1つ以上の参照元の整合チェック箇所を、ステップA27において全て処理済みと設定してもよい。
また、このようにして、参照元の各候補に対してステップA25〜A26を実行することにより、チェック箇所推定部33は、参照元ドキュメントと参照先ドキュメントとの間で、2グループ以上の整合チェック箇所の組み合わせを推定することもある。例えば、チェック箇所推定部33が、参照元ドキュメントにおける集合A1およびA2と、参照先ドキュメントにおける集合B1およびB2とを、互いに整合しているかをチェックすべき整合チェック箇所の組み合わせとして推定したとする。この場合、さらに、チェック箇所推定部33は、同じ参照元ドキュメントにおける集合X1およびX2と、参照先ドキュメントにおける集合Y1およびY2とを、互いに整合チェックすべき整合チェック箇所の組み合わせとして推定する場合もある。
以上で、整合チェック箇所推定装置3の動作の説明を終了する。
次に、本発明の第3の実施の形態の効果について述べる。
本発明の第3の実施の形態としての整合チェック箇所推定装置は、ドキュメント間における整合チェック箇所として、互いに整合チェックするのに適した組み合わせを、精度よく推定することができる。
その理由について説明する。本実施の形態では、チェック箇所推定部が、参照元ドキュメントの主集合および副集合、ならびに、参照先ドキュメントの主集合および副集合から、それぞれ整合チェック箇所の候補を推定する。そして、チェック箇所推定部が、参照元ドキュメントにおける各候補および参照先ドキュメントにおける各候補の間で、互いの要素数の関係が所定条件を満たす組み合わせを、互いに整合チェックする整合チェック箇所の組み合わせとして推定するからである。また、このとき、チェック箇所推定部は、参照元ドキュメントまたは参照先ドキュメントにおいて、これらの候補のうち、互いの要素数の関係が所定条件を満たす1つ以上の候補を、関連性のある整合チェック箇所として推定するからである。
これにより、本実施の形態は、参照元ドキュメントおよび参照先ドキュメント間で要素数が大きく異なるため有効でない箇所を除いた上で、整合チェック箇所として適した組み合わせを推定することができる。
(第4の実施の形態)
次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。本実施の形態では、本発明の整合チェック箇所推定装置によって推定される整合チェック箇所を用いて整合チェックを自動で行う整合チェックシステムについて説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第3の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
まず、本発明の第4の実施の形態としての整合チェックシステム4の構成を図14に示す。図14において、整合チェックシステム4は、整合チェック箇所推定装置3と、整合性判定部44とを備える。ここで、整合チェックシステム4は、図2を参照して説明した本発明の第3の実施の形態としての整合チェック箇所推定装置3と同一のコンピュータ装置によって構成可能である。この場合、整合性判定部44は、ROM1003および記憶装置1004に記憶されたコンピュータ・プログラムおよび各種データをRAM1002に読み込んで実行するCPU1001によって構成される。なお、整合チェックシステム4およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
整合チェック箇所推定装置3は、本発明の第3の実施の形態において説明したように、参照元ドキュメントにおける1つ以上の整合性チェック箇所と、参照先ドキュメントにおける1つ以上の整合性チェック箇所との組み合わせを推定する。例えば、整合チェック箇所推定装置3は、記憶装置1004に、推定した整合チェック箇所の組み合わせを表す情報を出力してもよい。
整合性判定部44は、整合チェック箇所推定装置3によって推定された整合チェック箇所を用いて、参照元ドキュメントおよび参照先ドキュメント間で、整合チェック箇所間の整合性を判定する。
具体的には、整合性判定部44は、整合チェック箇所推定装置3によって推定された参照元の整合チェック箇所を、参照元ドキュメントから抽出する。また、整合性判定部44は、参照元の整合チェック箇所に対応する箇所として組み合わせられた参照先の整合チェック箇所を、参照先ドキュメントから抽出する。
ここで、参照元の整合性チェック箇所が、複数の関連性のある整合チェック箇所からなる場合について説明する。この場合、整合性判定部44は、それらの整合チェック箇所において対応する各要素を連結して参照元の整合チェック箇所の要素とする。同様に、参照先の整合性チェック箇所が、複数の関連性のある整合チェック箇所からなる場合について説明する。この場合、整合性判定部44は、それらの整合チェック箇所において対応する各要素を連結して参照先の整合チェック箇所の要素とする。例えば、関連性のある整合チェック箇所として、同一の表に含まれる複数の列が推定されているとする。この場合、整合性判定部44は、該当する複数の列において同一行に含まれる要素を連結してもよい。
そして、整合性判定部44は、参照元の整合チェック箇所に含まれる各要素と、参照先の整合チェック箇所に含まれる各要素との間でそれぞれ関連性を表す情報を算出する。そして、整合性判定部44は、関連性を表す情報が所定条件を満たす場合に、参照元の整合チェック箇所における該当する要素と、参照先の整合チェック箇所における該当する要素とが整合すると判定する。また、整合性判定部44は、参照元の整合チェック箇所の要素に対して整合する参照先の要素がない場合、参照先における記述漏れとして検出してもよい。同様に、整合性判定部44は、参照先の整合チェック箇所の要素に対して整合する参照元の要素がない場合、参照元における記述漏れとして検出してもよい。
整合性の判定において用いる関連性を表す情報としては、たとえば、コルモゴロフ複雑性に基づいて抽出した文字列間の類似度を用いてもよい。この場合、整合性判定部44は、概算した類似度が閾値以上であるならば、整合すると判定してもよい。
以上のように構成された整合チェックシステム4の動作について、図15を参照して説明する。
図15では、まず、整合チェック箇所推定装置3は、参照元ドキュメントおよび参照先ドキュメント間で、整合チェック箇所の組み合わせを推定する(ステップA28)。
このステップの動作は、本発明の第3の実施の形態において図13を参照して説明した動作と同様である。このとき、チェック箇所推定装置3は、推定した整合チェック箇所およびその組み合わせを表す情報を、記憶装置1004に記憶してもよい。また、整合チェックシステム4は、推定された整合チェック箇所およびその組み合わせを、ユーザによって修正可能に出力し、入力装置を介して入力された情報に基づく修正処理を行ってから記憶装置1004に記憶するようにしてもよい。
次に、整合性判定部44は、参照元ドキュメントから、ステップA28で推定された参照元の整合チェック箇所を抽出する。また、整合性判定部44は、この参照元の整合チェック箇所に対応する箇所としてステップA28で組み合わせられた参照先の整合チェック箇所を、参照先ドキュメントから抽出する(ステップA29)。
このとき、もし、参照元または参照先において、複数の関連性のある整合チェック箇所が推定されている場合、整合性判定部44は、それらの箇所において対応する各要素を連結して整合チェック箇所の要素とする。
次に、整合性判定部44は、ステップA29で抽出した参照元の整合チェック箇所における各要素と、参照先の整合チェック箇所における各要素との間で、関連性を表す情報を算出する(ステップA30)。
なお、整合性判定部44は、このステップにおける各要素間の計算結果を、ディスプレイ装置や印刷装置などの出力装置に出力してもよい。また、整合性判定部44は、計算結果を、記憶装置1004に記憶しておいてユーザからのリクエストなどに応じて出力してもよい。また、整合性判定部44は、計算結果を、その他の様態で出力してもよい。
次に、整合性判定部44は、ステップA30で計算した関連性に基づいて、参照元および参照先の整合チェック箇所の整合性を判定する(ステップA31)。
例えば、前述のように、整合性判定部44は、関連性を表す情報が閾値以上の参照元および参照先間の要素のペアを、互いに整合していると判定して出力してもよい。また、整合性判定部44は、参照先に整合する要素が検出されなかった参照元の要素を、参照先における記述漏れと判定して出力してもよい。同様に、整合性判定部44は、参照元に整合する要素が検出されなかった参照先の要素を、参照元における記述漏れと判定して出力してもよい。なお、出力先は、ディスプレイ装置や印刷装置等であってもよいし、記憶装置1004であってもよい。記憶装置1004に出力した場合、整合性判定部44は、ユーザからのリクエストに応じて、記憶装置1004に出力しておいた判定結果を出力してもよい。また、出力先は、ネットワークを介して接続された他の装置などでもよい。
また、整合性の判定に用いられる閾値は、キーボード等の入力装置を介して入力されたものであってもよいし、記憶装置1004にあらかじめ記憶されているものであってもよい。また、閾値は、それ以外の様態で取得されたものであってもよい。
以上で、整合チェックシステム4は動作を終了する。
次に、整合チェックシステム4の動作を具体例で示す。
まず、ステップA28〜A29の動作について、具体例を説明する。
例えば、図8に示した参照元ドキュメント8aおよび参照先ドキュメント8bを想定する。
この場合、ステップA28において、整合チェック箇所推定装置3は、参照元での関連性のある整合チェック箇所として「画面ID」および「画面名」を推定し、これらに対応する参照先の整合チェック箇所として「画面ID」および「画面名」を推定したとする。そして、整合チェック箇所推定装置3は、これらの整合チェック箇所の組み合わせを、記憶装置1004に出力する。
ここで、記憶装置1004に出力される整合チェック箇所の組み合わせを表す情報の一例を、図16に示す。図16において、「参照元箇所」は、参照元の整合チェック箇所の見出しの文字列を表す。また、「参照先箇所」は、参照先の整合チェック箇所の見出しの文字列を表す。また、同一の行に示された参照元箇所および参照先箇所は、互いに整合チェックするよう推定された組み合わせである。
なお、これらの参照元箇所および参照先箇所は、整合チェック箇所の見出しの文字列に限らず、その他の情報で表されていてもよい。例えば、参照元ドキュメントまたは参照先ドキュメントがスプレッドシートファイルである場合、参照元箇所および参照先箇所は、整合チェック箇所を特定可能なシート名やセルの位置情報などで表されていてもよい。また、参照元ドキュメントまたは参照先ドキュメントが文書ファイルである場合、参照元箇所および参照先箇所は、整合チェック箇所を特定可能なページ番号や行番号、章番号などで表されていてもよい。
次に、ステップA29において、整合性判定部44は、参照元ドキュメント8aから、図16の「参照元箇所」に基づいて、参照元の整合チェック箇所「SZTA001、成果物登録」、「SZTA002、成果物改版」、「SZTA003、成果物メンテナンス」を抽出する。また、整合性判定部44は、参照先ドキュメントから、図16の「参照先箇所」に基づいて、参照先の整合チェック箇所「SZTA002、成果物改版」、「SZTA003、成果物メンテナンス」を抽出する。このように、整合性判定部44は、一方のドキュメントにおいて関連性のある複数の整合チェック箇所「画面ID」および「画面名」の各列において、同一行に含まれる要素を連結した情報を抽出する。
また、例えば、図9に示した参照元ドキュメント9aおよび参照先ドキュメント9bを想定する。
この場合、ステップA28において、整合チェック箇所推定装置3は、参照元の整合チェック箇所として「機能名」を推定し、対応する参照先の整合チェック箇所として「エンティティ候補」を推定したとする。そして、整合チェック箇所推定装置3は、これらの整合チェック箇所の組み合わせを、図17に示すように、記憶装置1004に出力する。
次に、ステップA29において、整合性判定部44は、参照元ドキュメント9aから、図17の「参照元箇所」に基づいて、整合チェック箇所「発注計画確認」、「発注計画保留」、・・・、「見積依頼の作成」を抽出する。また、整合性判定部44は、参照先ドキュメント9bから、図17の「参照先箇所」に基づいて、整合チェック箇所「受注」、「発注計画」、「プロジェクト」を抽出する。
次に、ステップA30の動作について具体例を説明する。
ここでは、関連性を表す情報を、コルモゴロフ複雑性に基づいて概算する例について説明する。この場合、対象を圧縮するアルゴリズムをあらかじめ定めておくと、対象iと対象jとの間の類似度s(i,j)は、次式(1)または次式(2)によって算出可能である。
s(i,j)=1−C(ij)/{C(i)+C(j)}・・・(1)
s(i,j)=1−[C(ij)−min{C(i),C(j)}]/max{C(i),C(j)}・・・(2)
なお、式(1)および(2)において、C(i)は対象iを圧縮した場合のサイズを表し、C(j)は、対象jを圧縮した場合のサイズを表す。また、C(ij)は、対象iおよび対象jを連結させた新たな対象を圧縮した場合のサイズを表す。
また、ここで指定される圧縮アルゴリズムとしては、たとえば、zip、gzip(GNU ZIP)などが採用可能である。このような圧縮アルゴリズムは、文字列を、文字そのものを示す記号あるいはその文字以前に出現した部分文字列を表す情報(一致長、一致位置のペア)に符号化する。また、このような符号化では、文字列に出現する記号の個数に応じて、個数の多い記号ほど短い符号が割り当てられる。したがって、したがって、コルモゴロフ複雑性の概算により、助詞も含めて単語順を考慮した対象i、j間の類似度が計算可能である。
そこで、ステップA30において、この具体例では、整合性判定部44は、上記式(1)または(2)における対象iおよび対象jに、参照元および参照先の整合チェック箇所における各要素を適用し、これらの要素間の類似度を算出する。
例えば、図8に示した参照元ドキュメント8aおよび参照先ドキュメント8bを対象としている場合について説明する。この場合、参照元ドキュメント8aの整合チェック箇所が「SZTA001、成果物登録」、「SZTA002、成果物改版」、「SZTA003、成果物メンテナンス」である。また、参照先ドキュメント8bの整合チェック箇所が「SZTA002、成果物改版」、「SZTA003、成果物メンテナンス」である。この場合、参照元の整合チェック箇所に3つの要素が含まれ、参照先の整合チェック箇所に2つの要素が含まれる。そこで、この場合、整合性判定部44は、参照元の3つの各要素に対して参照先の2つの要素の合計6通りの要素のペアについて、それぞれ関連性を表す情報を計算する。具体的には、整合性判定部44は、対象iに参照元の「SZTA001、成果物登録」を適用し、対象jに参照先の「SZTA002、成果物改版」を適用して要素間の類似度を算出する。同様に、整合性判定部44は、残りの5通りの要素のペアについても、それぞれ類似度を算出する。
また、例えば、図9に示した参照元ドキュメント9aおよび参照先ドキュメント9bを対象としている場合について説明する。この場合、参照元ドキュメント9aの整合チェック箇所が「発注計画確認」、「発注計画保留」、・・・、「見積依頼の作成」である。また、参照先ドキュメント9bの整合チェック箇所が「受注」、「発注計画」、「プロジェクト」である。この場合、参照元の整合チェック箇所に5つの要素が含まれ、参照先の整合チェック箇所に3つの要素が含まれる。そこで、この場合、整合性判定部44は、参照元の5つの各要素に対して参照先の3つの要素の合計15通りの要素のペアについて、それぞれ関連性を表す情報を計算する。具体的には、整合性判定部44は、対象iに参照元の「発注計画確認」を適用し、対象jに参照先の「受注」を適用して要素間の類似度を算出する。同様に、整合性判定部44は、残りの14通りの要素のペアについても、それぞれ類似度を算出する。
次に、ステップA31では、整合性判定部44は、ステップA30で算出した要素のペアの類似度が、それぞれ閾値以上であるか否かを判定する。閾値は、例えば、0.3、0.35、0.55などの値であってもよい。
例えば、図8に示した参照元ドキュメント8aおよび参照先ドキュメント8bを対象とする場合について説明する。この場合、整合性判定部44は、参照元の要素「SZTA002、成果物改版」に対しては、参照先の要素「SZTA002、成果物改版」が整合していると判定したものとする。また、整合性判定部44は、参照元の要素「SZTA003、成果物メンテナンス」に対しては、参照先の要素「SZTA003、成果物メンテナンス」が整合していると判定したものとする。一方で、整合性判定部44は、参照元の要素「SZTA001、成果物登録」に対しては、参照先で類似度が閾値以上となる要素がないため、整合しない(記述漏れ)と判定する。
また、例えば、図9に示した参照元ドキュメント9aおよび参照先ドキュメント9bを対象とする場合について説明する。この場合、整合性判定部44は、参照元の「発注計画確認」、「発注計画保留」等に対しては、参照先の「発注計画」が整合していると判定する。一方で、整合性判定部44は、参照元の「見積依頼の作成」に対しては、参照先で類似度が閾値以上となる要素がないため、整合しない(記述漏れ)と判定する。
以上で、具体例の説明を終了する。
次に、本発明の第4の実施の形態の効果について述べる。
本発明の第4の実施の形態としての整合チェックシステムは、分析対象の各ドキュメントにおいて推定した整合チェック箇所を用いて、ドキュメント間の整合チェックをより精度よく行うことができる。
その理由について説明する。本実施の形態では、整合チェック箇所推定装置が、参照元ドキュメントおよび参照先ドキュメントにおいて互いに整合性をチェックする整合チェック箇所の組み合わせを推定する。そして、整合性判定部が、参照元の整合チェック箇所に含まれる各要素と、参照先の整合チェック箇所に含まれる各要素との間で、関連性を表す情報が所定条件を満たすペアを整合していると判定するからである。また、整合性判定部が、参照元または参照先の一方の整合チェック箇所に含まれる要素のうち、関連性を表す情報が所定条件を満たす要素が他方の整合チェック箇所にない場合に、他方において該要素が記述漏れであると判定するからである。
これにより、本実施の形態は、参照元ドキュメントを構成する全ての単位(行等)と、参照先ドキュメントを構成するすべての単位との間で関連性を計算する必要がない。したがって、本実施の形態は、より効率的に参照元ドキュメントおよび参照先ドキュメント間の整合性を判定することができる。
なお、本発明の第2から第4の実施の形態において、本発明における分析対象のドキュメントが、参照元ドキュメントおよび参照先ドキュメントから構成される例を中心に説明した。この他、各実施の形態は、参照元ドキュメントおよび参照先ドキュメントの2つを分析対象とする場合に限らず、3つ以上のドキュメントを分析対象とする場合にも適用可能である。その場合、各実施の形態の構成および動作は、参照元ドキュメントを各ドキュメントと読み替え、参照先ドキュメントを、他のドキュメントと読み替えることにより同様に説明される。
また、上述した本発明の各実施の形態において、整合チェック箇所推定装置が、整合チェック箇所を、表の列単位で推定する例を中心に説明したが、その他の単位で推定してもよい。例えば、各実施の形態は、整合チェック箇所を、表における行の単位で推定してもよい。また、参照元ドキュメントと参照先ドキュメントとにそれぞれ複数の表が含まれる場合、各実施の形態は、それぞれの表において列単位または行単位などで整合チェック箇所を推定してもよい。また、参照元ドキュメントと参照先ドキュメントとが段落によって構成される文章である場合、各実施の形態は、整合チェック箇所を、段落単位で推定してもよい。
また、上述した本発明の各実施の形態において、整合チェック箇所推定装置および整合チェックシステムの各機能ブロックが、記憶装置またはROMに記憶されたコンピュータ・プログラムを実行するCPUによって実現される例を中心に説明した。これに限らず、各機能ブロックの一部、全部、または、それらの組み合わせが専用のハードウェアにより実現されていてもよい。
また、上述した本発明の各実施の形態において、整合チェック箇所装置および整合チェックシステムの機能ブロックは、複数の装置に分散されて実現されてもよい。
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した整合チェック箇所装置および整合チェックシステムの動作を、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置(記憶媒体)に格納してもよい。そして、係るコンピュータ・プログラムを当該CPUが読み出して実行するようにしてもよい。このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
また、上述した各実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
見出しの特徴を表す事前知識を記憶する事前知識記憶部と、
前記事前知識に基づいて、分析対象の各ドキュメントにおいて、それぞれ1つ以上の見出しを抽出し、抽出した各見出しに対応する情報の集合を、主要な集合(主集合)または前記主集合に付随する副次的な情報が含まれる副集合として推定する主副集合推定部と、
前記各ドキュメントにおける主集合および副集合に基づいて、前記各ドキュメントにおいて他の前記ドキュメントとの間で整合性をチェックする箇所(整合チェック箇所)を推定するチェック箇所推定部と、
を備えた整合チェック箇所推定装置。
(付記2)
前記主副集合推定部は、前記集合に含まれる要素の重複度合に基づいて、前記主集合または前記副集合を推定することを特徴とする付記1に記載の整合チェック箇所推定装置。
(付記3)
前記主副集合推定部は、前記集合に含まれる要素の重複度合として、前記集合における重複を含む要素数に対する重複を含まない要素数の割合を用いることを特徴とする付記2に記載の整合チェック箇所推定装置。
(付記4)
前記チェック箇所推定部は、前記各ドキュメントにおける主集合と、前記各ドキュメントにおける副集合のうち他の前記ドキュメントにおける主集合または副集合に対して見出しが所定の共通条件を満たす副集合とを、前記整合チェック箇所として推定することを特徴とする付記1から付記3のいずれか1つに記載の整合チェック箇所推定装置。
(付記5)
前記事前知識記憶部は、整合チェックが不要な見出しの特徴を表す不要集合特徴を前記事前知識に含めて記憶し、
前記主副集合推定部は、前記不要集合特徴に合致する見出しに対応する情報を含む不要集合を除外して、前記主集合または前記副集合を推定することを特徴とする付記1から付記4のいずれか1つに記載の整合チェック箇所推定装置。
(付記6)
前記事前知識記憶部は、主要な見出しに付随する見出しの特徴を表す副集合特徴を前記事前知識に含めて記憶し、
前記主副集合推定部は、前記副集合特徴に合致する見出しに対応する情報の集合を、前記副集合として推定することを特徴とする付記1から付記5のいずれか1つに記載の整合チェック箇所推定装置。
(付記7)
前記主副集合推定部は、前記副集合特徴に合致する見出しに対応する情報の集合を、要素の重複度合によらずに、前記副集合として推定することを特徴とする付記6に記載の整合チェック箇所推定装置。
(付記8)
前記主副集合推定部は、前記副集合特徴に合致しない見出しに対応する情報の集合を、要素の重複度合に基づいて、前記主集合または前記副集合として推定することを特徴とする付記6または付記7に記載の整合チェック箇所推定装置。
(付記9)
前記事前知識記憶部は、主要な見出しの特徴を表す主集合特徴を前記事前知識に含めて記憶し、
前記主副集合推定部は、前記主集合特徴に合致する見出しに対応する情報の集合を、前記主集合として推定することを特徴とする付記1から付記8のいずれか1つに記載の整合チェック箇所推定装置。
(付記10)
前記主副集合推定部は、前記主集合または前記副集合を推定するために用いる条件として、前記集合の要素数に応じた条件を用いることを特徴とする付記1から付記9のいずれか1つに記載の整合チェック箇所推定装置。
(付記11)
前記主副集合推定部は、前記集合の要素数が所定条件を満たさない場合、前記重複度合によらずに前記主集合特徴に基づいて、前記主集合または前記副集合を推定することを特徴とする付記10に記載の整合チェック箇所推定装置。
(付記12)
前記主副集合推定部は、前記集合の要素数が所定条件を満たす場合、前記副集合特徴および前記重複度合に基づいて、前記主集合または前記副集合を推定することを特徴とする付記10または付記11に記載の整合チェック箇所推定装置。
(付記13)
前記チェック箇所推定部は、前記各ドキュメントにおける主集合および副集合に基づいて、前記各ドキュメントにおいて前記整合チェック箇所の候補となる集合を推定し、前記各ドキュメントにおける候補と他の前記ドキュメントにおける候補との間で、互いの要素数の関係が所定条件を満たす組み合わせを、整合チェック箇所の組み合わせとして推定することを特徴とする付記1から付記12のいずれか1つに記載の整合チェック箇所推定装置。
(付記14)
前記チェック箇所推定部は、前記各ドキュメントにおいて、前記候補のうち互いの要素数の関係が所定条件を満たす1つ以上の候補を、関連性のある整合チェック箇所として推定することを特徴とする付記1から付記13のいずれか1つに記載の整合チェック箇所推定装置。
(付記15)
前記ドキュメントに表が含まれるとき、
前記事前知識記憶部は、表の列見出しの特徴を表す前記事前知識を記憶し、
前記主副集合推定部は、前記列見出しの特徴に合致する文字列を含む行における前記表の各欄に含まれる情報を見出しとして抽出し、抽出した各見出しの列を前記見出しに対応する情報の集合とし、前記列における各欄に含まれる情報を前記集合の要素として、前記主集合および前記副集合の推定を行うことを特徴とする付記1から付記14のいずれか1つに記載の整合チェック箇所推定装置。
(付記16)
前記ドキュメントに段落からなる文章が含まれるとき、
前記事前知識記憶部は、段落の見出しの特徴を表す前記事前知識を記憶し、
前記主副集合推定部は、前記段落の見出しの特徴に合致する情報を前記見出しとして抽出し、抽出した各見出しに対応する段落を前記見出しに対応する情報の集合とし、前記段落に含まれる各文を前記集合の要素として、前記主集合および前記副集合の推定を行うことを特徴とする付記1から付記15のいずれか1つに記載の整合チェック箇所推定装置。
(付記17)
付記1から付記16のいずれか1つに記載の整合チェック箇所推定装置と、
前記整合チェック箇所推定装置によって推定された前記整合チェック箇所を用いて、前記ドキュメント間の整合性を判定する整合性判定部と、
を備えた整合チェックシステム。
(付記18)
前記整合性判定部は、前記各ドキュメントにおける整合チェック箇所に含まれる各要素と、他の前記ドキュメントにおける整合チェック箇所に含まれる各要素との間の関連性を表す情報を算出し、関連性を表す情報が所定条件を満たす要素のペアを整合していると判定することを特徴とする付記17に記載の整合チェックシステム。
(付記19)
前記整合性判定部は、前記各ドキュメントにおける整合チェック箇所に含まれる要素のうち、他の前記ドキュメントの整合チェック箇所に、関連性を表す情報が所定条件を満たす要素がない要素を、該他のドキュメントにおける記述漏れと判定することを特徴とする付記18に記載の整合チェックシステム。
(付記20)
前記整合性判定部は、前記ドキュメントにおいて関連性のある複数の整合チェック箇所が推定されている場合、それらの整合チェック箇所に含まれる対応する各要素を連結した情報を、他のドキュメントとの間で整合をチェックする対象の要素とすることを特徴とする付記17から付記19のいずれか1つに記載の整合チェックシステム。
(付記21)
見出しの特徴を表す事前知識に基づいて、分析対象の各ドキュメントにおいて、それぞれ1つ以上の見出しを抽出し、
抽出した各見出しに対応する情報の集合を、主要な集合(主集合)または前記主集合に付随する副次的な情報が含まれる副集合として推定し、
前記各ドキュメントにおける主集合および副集合に基づいて、前記各ドキュメントにおいて他の前記ドキュメントとの間で整合性をチェックする箇所(整合チェック箇所)を推定する整合チェック箇所推定方法。
(付記22)
見出しの特徴を表す事前知識に基づいて、分析対象の各ドキュメントにおいて、それぞれ1つ以上の見出しを抽出し、抽出した各見出しに対応する情報の集合を、主要な集合(主集合)または前記主集合に付随する副次的な情報が含まれる副集合として推定する主副集合推定ステップと、
前記各ドキュメントにおける主集合および副集合に基づいて、前記各ドキュメントにおいて他の前記ドキュメントとの間で整合性をチェックする箇所(整合チェック箇所)を推定するチェック箇所推定ステップと、
をコンピュータ装置に実行させるコンピュータ・プログラム。
(付記23)
付記21に記載の整合チェック箇所推定方法によって推定された整合チェック箇所を用いて、ドキュメント間の整合性を判定する整合性判定方法。
(付記24)
付記22に記載のコンピュータ・プログラムの実行によって推定される整合チェック箇所を用いて、ドキュメント間の整合性を判定する整合性判定ステップをコンピュータ装置に実行させるコンピュータ・プログラム。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
この出願は、2014年3月28日に出願された日本出願特願2014−67521を基礎とする優先権を主張し、その開示の全てをここに取り込む。