(57)【特許請求の範囲】
【請求項１】
共通的な意味を示す１つ以上の概念語句を要素とする概念に対し、意味的に異なる概念を列挙した概念集合と、該概念集合の特徴を示す種類とを記憶する概念情報記憶部と、
データに対し、該データを開始文字から順に走査しながら、走査位置以降の文字列が、前記概念情報記憶部に記憶された概念語句に該当するか否かを判断しつつ、前記データに含まれる複合語句を変換する複合語句変換部と、
を備え、
前記概念情報記憶部は、概念集合の種類に事態性名詞を含み、
前記複合語句変換部は、走査位置から開始される前記データの文字列が事態性名詞の概念語句であり、かつ、前記文字列の直後の文字列が事態性名詞以外の概念語句あるいは事態性名詞以外の名詞であるならば、前記データから当該走査位置の概念語句を削除し当該概念語句の直後の前記データの文字列に走査位置を移動し、それ以外ならば、前記データの走査位置を１つ後に移動することを繰返して、前記データを走査しながら前記複合語句を変換することを特徴とする整合性判定システム。
【請求項２】
２つのデータであるデータペアの間の整合性を、前記複合語句変換部で変換された２つのデータの間の類似度を計算し、該類似度に基づいて、判定する整合性判定部を更に備えることを特徴とする請求項１に記載の整合性判定システム。
【請求項３】
前記複合語句変換部で変換された２つのデータに対し、当該２つのデータがある概念集合において異なる概念の概念語句を含み、かつ、当該概念集合において同一の概念の概念語句を含まない概念不一致があるかないかを判定する概念分析部と、
前記概念分析部において分析した概念分析結果と、前記複合語句変換部で変換される前のデータのペアを用いて計算した類似度とに基づいて、前記データペアの整合性を判定する整合性判定部と、
を更に備えることを特徴とする請求項１または請求項２に記載の整合性判定システム。
【請求項４】
前記整合性判定部は、コルモゴロフ複雑性の概算を用いて類似度を計算することを特徴とする請求項２または請求項３に記載の整合性判定システム。
【請求項５】
前記整合性判定部は、前記概念分析部において概念不一致と判定されたデータペアに対しては、（１）類似度を予め定めた低い値とする、（２）前記複合語句変換部で変換される前のデータのペアの類似度から予め定めた値を減算する、（３）前記複合語句変換部で変換される前のデータのペアの類似度に予め定めた値を乗算する、のいずれかの方法で類似度を計算することを特徴とする請求項３または請求項４に記載の整合性判定システム。
【請求項６】
前記整合性判定部は、予め定めた値以上の類似度となるデータ間を整合と判定することを特徴とする請求項２乃至５のいずれか１つに記載の整合性判定システム。
【請求項７】
コンピュータが、共通的な意味を示す１つ以上の概念語句を要素とする概念に対し、意味的に異なる概念を列挙した概念集合と、該概念集合の特徴を示す、事態性名詞を含む、種類とを概念情報記憶部に記憶する概念情報記憶ステップと、
前記コンピュータの複合語句変換部が、データに対し、該データを開始文字から順に走査しながら、走査位置以降の文字列が、前記概念情報記憶部に記憶された概念語句に該当するか否かを判断しつつ、前記データに含まれる複合語句を変換する複合語句変換ステップと、
を備え、
前記複合語句変換ステップでは、前記複合語句変換部が、走査位置から開始される前記データの文字列が事態性名詞の概念語句であり、かつ、前記文字列の直後の文字列が事態性名詞以外の概念語句あるいは事態性名詞以外の名詞であるならば、前記データから当該走査位置の概念語句を削除し当該概念語句の直後の前記データの文字列に走査位置を移動し、それ以外ならば、前記データの走査位置を１つ後に移動することを繰返して、前記データを走査しながら前記複合語句を変換することを特徴とする整合性判定方法。
【請求項８】
共通的な意味を示す１つ以上の概念語句を要素とする概念に対し、意味的に異なる概念を列挙した概念集合と、該概念集合の特徴を示す、事態性名詞を含む、種類とを概念情報記憶部に記憶する概念情報記憶処理と、
データに対し、該データを開始文字から順に走査しながら、走査位置以降の文字列が、前記概念情報記憶部に記憶された概念語句に該当するか否かを判断しつつ、前記データに含まれる複合語句を変換する複合語句変換処理と、
をコンピュータに実行させるための整合性判定プログラムであって、
前記複合語句変換処理では、前記コンピュータに、走査位置から開始される前記データの文字列が事態性名詞の概念語句であり、かつ、前記文字列の直後の文字列が事態性名詞以外の概念語句あるいは事態性名詞以外の名詞であるならば、前記データから当該走査位置の概念語句を削除し当該概念語句の直後の前記データの文字列に走査位置を移動し、それ以外ならば、前記データの走査位置を１つ後に移動することを繰返して、前記データを走査しながら前記複合語句を変換させることを特徴とする整合性判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、整合性判定システム、方法およびプログラムに関し、特に、システム開発において実施される仕様間の整合性判定システム、方法およびプログラムに関する。
【背景技術】
【０００２】
従来、システム・ソフトウェア開発における仕様書は、人手でレビューして整合性を確認していた。しかしながら、量が多く重複した記載のある文書の検査には、コスト（人件費と時間）がかかり、また、人手では見逃す場合があるという問題があった。一般の文書においても、文書の矛盾点や曖昧な点や、元文書から別文書を作成したときの元文書の事柄の抜け漏れなどについて、人手でレビューしていた。その結果、コスト（人件費と時間）がかかり、また、人手では見逃す場合があるという問題は同様であった。
【０００３】
文書を文字列（テキスト）とみなすとする。その場合、文書中の仕様ごとに文字列を分割し、仕様間の類似度を仕様の文字列間の類似度として計算し、類似度が高い仕様間は整合したとみなすことができる。そのようにすることで、参照元の文書から参照先の文書への反映漏れがないかを調べたり、１つの文書中で他のどの仕様とも整合しない仕様を不整合候補として検出したりすることが考えられる。
【０００４】
テキストの類似度は、一般的には単語の出現頻度に基づいて計算する。この一般的なテキスト分析法では、形態素解析によりテキストから単語を抽出し、単語の出現頻度に基づいてテキスト間の類似度を計算することができる。形態素解析は、例えば、形態素解析エンジンであるＭｅｃａｂやＣｈａｓｅｎなどにより行うことができる。
【０００５】
「形態素解析」とは、例えば、“東京都にいる”という入力文に対し、“東京”、“都”、“に”、“いる”、という形態素の出力系列を選ぶことである。ここで、別の出力系列の例は、“東”、“京都”、“に”、“いる”である。形態素解析では、一般的な大量の文書を用意し、それらの文書から、それぞれの名詞や動詞などの形態素の出現しやすさや連結しやすさのスコアを求めておく。そして、ある入力文に対しては、最もスコアの高くなる分割を選択すればよい。
【０００６】
例えば、一般的な大量の文書では、“東”と“京都”とが連結する場合より、“東京”と“都”とが連結する場合が多い。そのため、“東京”と“都”との連結しやすさのスコアの方が“東”と“京都”との連結しやすさのスコアより高くなる。したがって、入力文“東京都にいる”に対して、“東京”、“都”、“に”、“いる”という形態素へ分割することができる。そして、分割した形態素の出現頻度に対して、類似度を計算することができる。
【０００７】
例えば、特許文献１には、単語の出現頻度に基づいて、内容が類似する文書情報を文書データベースから抽出する方法が記載されている。特許文献２には、単語の特徴ベクトルに基づいて、ユーザ情報を用いた広告を供給する方法が記載されている。これら方法では、テキストを単語の集合として扱い、単語順を無視している。
【０００８】
特許文献３には、企業名、企業活動などを示す具体的な表現文字列毎にその種類を示す抽象化タグを登録した辞書と、文を形態素単位に分解し、各形態素の抽象化タグを関連付ける形態素解析処理部と、企業活動の抽象化タグが付与された形態素を文の述語と認定し、主語および目的語に付属する助詞毎に対応後の格納欄が設けられた格スロットに、文の述語単位で対応後を充填し、述語を関連付ける格スロット充填処理部と、抽象化タグを特定する条件と、抽出すべき目的語の抽象化タグおよび助詞を特定する条件が規定された抽出フレーム定義を、対応語充填済みの格スロットに適用し、文の主語、述語、目的語に該当する情報要素を抽出する情報抽出処理部と、を備えた情報抽出システムが開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許４２５５２３９号公報
【特許文献２】特開２００９−１９９６０１号公報
【特許文献３】特許４６２５５３５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記特許文献１〜３には、それぞれ、次に述べるような問題点がある。
【００１１】
より正確なテキスト分析では、単語がどのように構成されているかを示す単語順も重要である。例えば、仕様間の整合性判定において、第１の仕様「担当者情報を登録する。」と第２の仕様「登録担当者情報を削除する。」という２つの仕様は、明確に区別する必要がある。しかしながら、特許文献１および２では、単語の出現頻度としては類似となるため、単語順を無視した分析では、これら仕様を明示的に区別することができない。
【００１２】
また、特許文献３では、ある語句が助詞の直前にあるという単語順を考慮する。そのため、前述した例においては、第２の仕様「登録担当者情報を削除する。」の目的語が「登録担当者情報」、述語（活動）が「削除」となり、第１の仕様「担当者情報を登録する。」の目的語が「担当者情報」、述語が「登録」となる。その結果、目的語と述語が一致するならば仕様が整合すると定義するならば、述語が一致しないことから、２つの仕様を整合しないと判定することができる。
【００１３】
しかしながら、第２の仕様「登録担当者情報を削除する。」に対し、「登録担当者情報」を「担当者情報」と省略した場合の新たな第３の仕様「担当者情報を削除する。」に対しては、目的語が「担当者情報」、述語が「削除」となる。その結果、第３の仕様は、第１の仕様「登録担当者情報を削除する。」とは目的語が一致せず、特許文献３の技術を用いると、第２の仕様と新たな第３の仕様とが整合すると判定することができない。
【００１４】
このように、文書の分析では、複合語の構造を正しく認識する必要があるが、複合語は、語句の組合せで生成されるために網羅的に辞書を用意することが困難である。また複合語には助詞などの構造解析の手がかりが少なく、複合語の正しい構造を解析することが困難である。なお、網羅的に辞書を用意することとは、例えば、前述の例で、「登録担当者情報」と「担当者情報」とが同義語であるなどと、すべての複合語句について辞書を用意することである。
【００１５】
また、仕様書においては、表形式で助詞が省略されて記述される場合があるが、そのような場合に助詞を用いて分析する特許文献３の技術では対応できない。例えば、表形式で、一行に「登録担当者情報」と「削除」とが並んで記述され、それらをまとめて１つの仕様と考える。この場合、特許文献３の方法では、主語、目的語などの情報要素を抽出することができない。また、例えば、「温度低下防止」と「温度の低下を防止する。」とは整合するが、特許文献３の方法では、「温度低下防止」などの複合語句を「温度の低下を防止する。」と正しく解釈することは困難である。
【００１６】
本発明は、上記の事情を鑑みてなされるものであって、その目的は、複合語句変換に基づく整合性判定、特に、システム開発において、複合語句変換に基づく仕様間の整合性判定システム、方法およびプログラムを提供することにある。
【００１７】
すなわち、本発明の複合語句変換に基づく整合性判定システムは、複合語句を含む仕様間の整合性を高精度に計算することを目的とする。
【課題を解決するための手段】
【００１８】
本発明の複合語句変換に基づく整合性判定システムは、共通的な意味を示す１つ以上の語句（概念語句）を要素とする概念に対し、意味的に異なる概念を列挙した概念集合と、その概念集合の特徴を示す種類とを記憶する概念情報記憶部と；データに対し、そのデータを開始文字から順に走査しながら、走査位置以降の文字列が、上記概念情報記憶部に記憶された概念語句に該当するか否かを判断しつつ、上記データに含まれる複合語句を変換する複合語句変換部と；を備え、上記概念情報記憶部は、概念集合の種類に事態性名詞を含み、上記複合語句変換部は、走査位置から開始される上記データの文字列が事態性名詞の概念語句であり、かつ、上記文字列の直後の文字列が事態性名詞以外の概念語句あるいは事態性名詞以外の名詞であるならば、上記データから当該走査位置の概念語句を削除し当該概念語句の直後の上記データの文字列に走査位置を移動し、それ以外ならば、上記データの走査位置を１つ後に移動することを繰返して、上記データを走査しながら上記複合語句を変換することを特徴とする。
【発明の効果】
【００１９】
本発明によれば、複合語句を含む仕様間の整合性を高精度に計算することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施例に係る整合性判定システムの構成例を示すブロック図である。
【図２】文書中に含まれるテキストの例を示す説明図である。
【図３】文書中に含まれる表の例を示す説明図である。
【図４】図１に示した整合性判定システムに用いられる、概念情報記憶部に記憶された概念情報の例を示す説明図である。
【図５】図１に示した整合性判定システムに用いられる、データ記憶部に記憶されたデータの例を示す説明図である。
【図６】図１に示した整合性判定システムに用いられる、変換結果記憶部に記憶された変換結果の例を示す説明図である。
【図７】本発明の第１の実施例に係る整合性判定システムの処理経過の例を示すフローチャートである。
【図８】データ走査の例を示す説明図である。
【図９】語句に対して事態性名詞以外の名詞かどうかを指定する例を示す説明図である。
【図１０】走査位置の概念語句を削除したときの例を示す説明図である。
【図１１】本発明の第１の実施例に係る整合性判定システムの１つの文書に対するデータ抽出部の処理経過の例を示すフローチャートである。
【図１２】本発明の第２の実施例に係る整合性判定システムの構成例を示すブロック図である。
【図１３】図１２に示した整合性判定システムに用いられる、概念分析結果記憶部に記憶された概念分析結果の例を示す説明図である。
【図１４】本発明の第２の実施例に係る整合性判定システムの処理経過の例を示すフローチャートである。
【図１５】本発明の第２の実施例に係る整合性判定システムの概念分析部の処理経過の例を示すフローチャートである。
【図１６】本発明の第２の実施例に係る整合性判定システムの整合性判定部の処理経過の例を示すフローチャートである。
【発明を実施するための形態】
【００２１】
本発明の実施形態の概要（要旨）について、具体例を挙げて簡単に説明する。
【００２２】
本発明の実施形態では、「登録担当者情報」などの複合語句に対し、予め定めた概念情報に基づいて複合語句を変換し、その変換結果と概念情報に基づいて２つのデータ（仕様）が概念不一致であるかどうかを判定し、概念不一致でないデータ間は通常の類似度を計算し、概念不一致のデータ間は、類似度を補正する。
【００２３】
そのため、「担当者情報を登録する。」と「登録担当者情報を削除する。」という２つのデータの場合には、本発明の実施形態では、「登録担当者情報」を「担当者情報」に変換してから、「登録」や「削除」において概念不一致があるかを判定するため、２つのデータが整合しないことを判定することができる。
【００２４】
また、「登録担当者情報を削除する。」と「担当者情報を削除する。」という２つのデータの場合には、本発明の実施形態では、類似度を用いて計算するため、２つのデータを整合と判定することができる。
【００２５】
さらに、本発明の実施形態では、助詞があれば助詞との単語順を考慮した類似度を計算するが、助詞がなくても類似度を計算することができるコルモゴロフ複雑性を用いるため、「温度低下防止」と「温度の低下を防止する。」という２つのデータであっても、整合と判定することができる。
【実施例１】
【００２６】
次に、図面を参照して、本発明の第１の実施例による整合性判定システムについて詳細に説明する。
【００２７】
図１を参照すると、本第１の実施例に係る整合性判定システムは、情報を記憶する記憶部１１と、プログラム制御により動作する計算部１２とから構成されている。
【００２８】
電子機器で整合性判定システムを構成する場合、整合性判定システムは、プログラム制御により動作するコンピュータで実現可能である。図示はしないが、この種のコンピュータは、周知のように、データを入力する入力装置と、データ処理装置と、データ処理装置での処理結果を出力する出力装置と、種々のデータベースとして働く補助記憶装置とを備えている。そして、データ処理装置は、プログラムを記憶するリードオンリメモリ（ＲＯＭ）と、データを一時的に記憶するワークエリアとして使用されるランダムアクセスメモリ（ＲＡＭ）と、ＲＯＭに記憶されたプログラムに従って、ＲＡＭに記憶されているデータを処理する中央処理装置（ＣＰＵ）とから構成される。入力装置は、例えば、キーボードから構成されてよく、出力装置は、例えば、ディスプレイ装置や印刷装置であってよい。
【００２９】
図示の例の場合、データ処理装置が計算部１２として働き、補助記憶装置が記憶部１１として動作する。
【００３０】
記憶部１１は、文書記憶部１００と、概念情報記憶部１０１と、データ記憶部１０２と、変換結果記憶部１０３とを備える。
【００３１】
文書記憶部１００は、整合性判定の対象とする文書を記憶する。文書は、整合性判定システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。
【００３２】
ここでは、文書が提案依頼書や提案書、仕様書などの場合を例として説明する。提案依頼書（ＲＦＰ：  Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｐｒｏｐｏｓａｌ）は、発注元である官公庁や企業が情報システムやＩＴサービスなどを調達する際に、発注先となるＩＴベンダに対して提案を要請するための文書である。提案依頼書は、調達依頼書、入札依頼書、提案要請書、提案要求書、提案要望書、提案募集書、見積依頼書、提案書提出要請書、入札説明書、委託仕様書などとも呼ばれる。提案依頼書には、例えば、概要と目的、必要な機能、サービスレベル、契約条件などの具体的な要求事項が記載される。提案書（Ｐｒｏｐｏｓａｌ）とは、ＩＴベンダが具体的な提案事項を記載した文書である。提案書は、企画書、企画提案書などとも呼ばれる。提案書には、例えば、目的やねらい、機能やサービスレベルの実現手段、開発体制などの具体的な提案事項が記載される。仕様書は、システムやサービスが満たすべき事項である要件事項を記載した文書である。仕様書は、要求仕様書、要求定義書、要件定義書、機能仕様書、設計書、契約書などとも呼ばれる。仕様書には、発注元と発注先との間で取り決められた要件事項が整理されて記載される。文書には、テキストや表などが含まれる。
【００３３】
図２は、文書中に含まれるテキストの例を示す説明図である。図２では、章・節の見出しや本文が記述されている。
【００３４】
図３は、文書中に含まれる表の例を示す説明図である。図３で、１行目は列の見出しを示し、表の１列目は項目名、２列目は項目の内容が記述されている。ここで、参照元の文書の仕様と参照先の文書の仕様との間の整合性を判定する場合には、参照元の文書と参照先の文書を記憶しておけばよい。また、文書内で、他の仕様との整合性を判定する場合には、その１つの文書を記憶しておけばよい。
【００３５】
図１に戻って、概念情報記憶部１０１は、共通的な特徴や意味を示す１つ以上の語句を要素とする概念に対し、異なる概念を列挙して構成される概念集合と、その概念集合の特徴を示す種類とを記憶する。
【００３６】
以降、概念の要素である語句を「概念語句」と呼び、概念集合とその種類を「概念情報」と呼ぶことにする。すなわち、概念語句の集合が概念であり、概念の集合が概念集合である。また、ここでは、概念情報の種類は、事態性名詞とそれ以外の２種類の場合を例として説明する。概念情報は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。
【００３７】
図４は、概念情報記憶部１０１に記憶された概念情報の例を示す説明図である。図４で、一行ごとに１つの概念集合を示す。このように、概念情報記憶部１０１は、１つだけでなく複数の概念集合を記憶してよい。図４において、一行目は、列の見出しを示しており、第一列には、概念集合の種類、第二列には、概念集合が記述されている。１つの概念は、カンマ「，」ごとに区切って記述し、１つの概念における概念語句は、「／」で区切って記述している。例えば、図４の２行目にある１つの概念集合は、「登録」という１つの概念語句を要素とする概念と、「削除」という１つの概念語句を要素とする概念と、「計算」、「合計」、「算出」という３つの概念語句を要素とする概念とから構成されており、その２行目の概念集合の種類は「事態性名詞」である。
【００３８】
図１に戻って、データ記憶部１０２は、文書から抽出したデータ（仕様）の集合を記憶する。ここで、１つのデータ（仕様）とは、文書における一行、１つの文、段落、章、表の一行などの意味単位を示す。ここでは、提案依頼書や提案書、仕様書などの文書から抽出した要求や仕様とする場合を例として説明する。
【００３９】
図５は、データ記憶部１０２に記憶されたデータの例を示す説明図である。図５では、１行目が列の見出しを示しており、１列目がデータの番号を示すＩＤ、２列目がデータの内容である。例えば、ＩＤが１００１のデータは、「担当者登録。所定欄に担当者情報を入力後、登録する。」であり、ＩＤが１００２のデータは、「担当者削除。登録担当者情報を削除する。」である。
【００４０】
なお、図５では、１つのデータが文書の１行などの短い場合の例を示したが、データは、１つの段落や１つの章ごとに構成してもよい。以降、２つの文書間での整合性を判定する場合を例とするため、第一の文書から抽出されたデータのＩＤの範囲を１０００〜１９９９、第二の文書から抽出されたデータのＩＤの範囲を２０００〜２９９９として説明する。また、説明を簡単にするため、ＩＤがｉのデータのことをデータｉと呼ぶことにする。
【００４１】
図１に戻って、変換結果記憶部１０３は、データ記憶部１０２に記憶されたデータに対し、データの複合語が変換された変換結果を記憶する。
【００４２】
図６は、変換結果記憶部１０３に記憶された変換結果の例を示す説明図である。図６では、１行目が列の見出しを示しており、１列目が変換結果の番号を示すＩＤ、２列目が変換結果である。例えば、ＩＤが１００１の変換結果は、「担当者登録。所定欄に担当者情報を入力後、登録する。」であり、ＩＤが１００２の変換結果は、「担当者削除。担当者情報を削除。」である。以降、説明を簡単にするため、ＩＤがｉの変換結果を変換結果ｉと呼ぶことにする。
【００４３】
図１に戻って、計算部１２は、データ抽出部１０４と、複合語句変換部１０５とを備える。
【００４４】
データ抽出部１０４は、文書記憶部１００に記憶された文書から、一行や一文、１段落や１章などの意味単位ごとに分割したデータを抽出する。データ抽出部１０４は、意味単位ごとにそれが章・節・表のタイトルなどの文脈情報であるならば、その階層位置を抽出する。一方、その意味単位が文脈情報でないならば、データ抽出部１０４は、その意味単位を表などの構造情報に基づいて補正し、その補正した意味単位と以前に抽出しその階層構造に基づき補正した文脈情報とを連結したデータを生成する。そして、データ抽出部１０４は、生成したデータをデータ記憶部１０２に記憶する。
【００４５】
意味単位は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。また、抽出したデータに対しては、データ中の同義語はその代表語に統一し、冗長表現を簡略化してもよい。
【００４６】
なお、文書記憶部１００とデータ抽出部１０４とがなく、データがデータ記憶部１０２に記憶されているところから処理を開始してもよい。その場合は、データ記憶部１０２に記憶されるデータは、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。
【００４７】
複合語句変換部１０５は、データ記憶部１０２に記憶されたデータを最初から順に調べ、概念情報記憶部１０１に記憶された概念に基づいて、データの複合語を変換し、変換結果を変換結果記憶部１０３に記憶する。変換結果記憶部１０３に記憶された変換結果は、すぐにディスプレイ装置や印刷装置などを介して出力してもよいし、記憶しておいてシステムのユーザからのリクエストなどに応じて出力してもよいし、それ以外の様態で出力してもよい。
【００４８】
なお、変換結果記憶部１０３がなく、複合語句変換部１０５が変換した変換結果を直接出力してもよい。
【００４９】
次に、図７のフローチャートを参照して、本第１の実施例に係る整合性判定システムの全体の動作について詳細に説明する。
【００５０】
まず、データ抽出部１０４は、一行や一文、１段落や１章などの意味単位ごとに分割したデータを抽出する。そして、データ抽出部１０４は、意味単位ごとにそれが章・節・表のタイトルなどの文脈情報であるならば、その階層位置を抽出する。その意味単位が文脈情報でないならば、データ抽出部１０４は、その意味単位を表などの構造情報に基づいて補正し、補正した意味単位と以前に抽出しその階層構造に基づき補正した文脈情報とを連結したデータを生成する（ステップＡ１）。また、データ中の同義語はその代表語に統一し、データ中の冗長表現は簡略化してもよい。そして、データ抽出部１０４は、生成したデータをデータ記憶部１０２に記憶する。データ抽出部１０４の処理の詳細については、後述する。なお、データ抽出部１０４は、対象とする文書が複数の場合には、複数のデータを抽出する。また、データ抽出部１０４がなく、データがデータ記憶部１０２に記憶されたところから処理を開始してもよい。
【００５１】
次に、複合語句変換部１０５は、走査位置をデータ記憶部１０２に記憶されたデータの最初に設定する（ステップＡ２）。
【００５２】
図８は、データ走査の例を示す説明図である。図８で、データは「登録担当者番号を削除。・・・」であり、走査位置は、データの最初の「登」の文字に設定する。
【００５３】
図７に戻って、次に、複合語句変換部１０５は、走査位置に文字があるかを調べる（ステップＡ３）。文字があるならば、次のステップに移行し、文字がないならば、ステップＡ１０に移行する。なお、２つ以上のデータがある場合には、あるデータをすべて処理した後は、次のデータの最初に走査位置を移動してから処理を続ければよい。
【００５４】
ステップＡ３において、走査位置に文字があると判定された場合、複合語句変換部１０５は、走査位置からの文字列が概念情報記憶部１０１に記憶された事態性名詞の概念語句と一致するかを調べる（ステップＡ４）。一致するならば、次のステップに移行し、一致しないならば、ステップＡ９に移行する。なお、同じ走査位置で複数の概念語句と一致する場合は、文字列長が長い概念語句と一致するとみなす。例えば、走査位置からの文字列が「登録実行・・・」であり、概念情報記憶部１０１に「登録実行」と「登録」という概念語句が両方記憶されている場合には、「登録実行」と一致したとみなす。
【００５５】
図８の例では、図４を参照すると、走査位置から開始される「登録」が動作対象の概念語句「登録」と一致するため、次のステップに移行する。
【００５６】
図７に戻って、ステップＡ４において、走査位置からの文字列が事態性名詞の概念語句と一致すると判定された場合、複合語句変換部１０５は、走査位置の概念語句の直後の文字列が、概念情報記憶部１０１に記憶された事態性名詞の概念語句と一致するかを調べる（ステップＡ５）。一致するならば、ステップＡ９するに移行し、一致しないならば、次のステップに移行する。なお、ここでも、同じ走査位置で複数の概念語句と一致する場合は、文字列長が長い概念語句と一致するとみなすこととする。
【００５７】
図８の例では、図４を参照すると、概念語句「登録」の直後の文字列「担当者」は、事態性名詞の概念語句と一致しないので、次のステップに移行する。なお、同一の語句が事態性名詞としても事態性名詞以外としても登録されていた場合には、事態性名詞であると判定することとしてもよい。
【００５８】
図７に戻って、ステップＡ５において、走査位置の概念語句の直後の文字列が事態性名詞の概念語句と一致しないと判定された場合、複合語句変換部１０５は、走査位置の概念語句の直後の文字列が、概念情報記憶部１０１に記憶された事態性名詞以外の概念語句と一致するかを調べる（ステップＡ６）。一致するならば、ステップＡ８に移行する。一致しないならば、次のステップに移行する。
【００５９】
図８の例では、図４を参照すると、概念語句「登録」の直後の文字列「担当者」は、事態性名詞以外の概念語句「担当者」と一致するので、ステップＡ８に移行する。
【００６０】
図７に戻って、ステップＡ６において、走査位置の概念語句の直後の文字列が事態性名詞以外の概念語句と一致しないと判定された場合、複合語句変換部１０５は、走査位置の概念語句の直後が事態性名詞以外の名詞かどうかを調べる（ステップＡ７）。そして、直後の概念語句が事態性名詞以外の名詞ならば、次のステップに移行し、事態性名詞以外の名詞でなければ、ステップＡ９に移行する。直後が事態性名詞以外の名詞かどうかを調べるには、例えば、語句とその種類とを予め定めておいて、走査位置の概念語句の直後に該当する語句があれば、その語句の種類が事態性名詞以外の名詞かどうか調べればよい。
【００６１】
ここで、事態性名詞とは、「登録」などのサ変接続の名詞や「受け」などの動詞の連用形のことである。どのような語句を事態性名詞以外の名詞とするかは、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。例えば、事態性名詞をサ変接続の名詞に限定してもよい。
【００６２】
図９は、語句に対して事態性名詞以外の名詞かどうかを指定する例を示す説明図である。図９では、１行目が列の見出しを示し、１列目が語句、２列目が語句の種類を示している。なお、ここでは、語句に対して事態性名詞かどうかを決める場合を例として説明したが、予め多くの訓練データを用いて、語句が事態性名詞かどうかを判定する分類器を作成しておき、その分類器を用いて、走査位置の概念語句の直後が事態性名詞かどうかを判定してもよい。
【００６３】
図７に戻って、ステップＡ７において、走査位置の概念語句の直後が事態性名詞以外の名詞であると判定された場合、複合語句変換部１０５は、走査位置にある概念語句を削除し、走査位置を削除した概念語句の直後の文字に移動する（ステップＡ８）。
【００６４】
図１０は、走査位置の概念語句を削除したときの例を示す説明図である。図１０では「登録」が削除され、その直後の「担」の文字に走査位置は移動している。
【００６５】
図７に戻って、次に、複合語句変換部１０５は、データの走査位置を１つ後に移動し、ステップＡ３に移行する（ステップＡ９）。
【００６６】
ステップＡ３において、走査位置に文字がないと判定された場合、複合語句変換部１０５は、０件以上の概念語句が削除されたデータである変換結果を変換結果記憶部１０３に記憶し、１つのデータに対する複合語句変換部１０５の動作を終了する（ステップＡ１０）。変換結果記憶部１０３に記憶した変換結果は、すぐにディスプレイ装置や印刷装置などを介して出力してもよいし、記憶しておいてシステムのユーザからのリクエストなどに応じて出力してもよいし、それ以外の様態で出力してもよい。また、変換結果記憶部１０３を用意せずに、そのまま出力してもよい。
【００６７】
ここで、データ記憶部１０２が図５であり、変換結果記憶部１０３が図６となる例について説明する。
【００６８】
データ１００１「担当者登録。所定欄に担当者情報を入力後、登録する。」では、複合語句変換部１０５は、「担当者」の次の「登」が走査位置のときは、走査位置が事態性名詞の概念語句「登録」であるが、直後が事態性名詞以外の記号「。」であるため、走査位置の概念語句「登録」を削除しない。また、複合語句変換部１０５は、次の「登」が走査位置のときも、走査位置が事態性名詞の概念語句「登録」であるが、直後が記号「。」であるため、走査位置の概念語句「登録」を削除しない。その結果、変換結果は、図６の変換結果１００１「担当者登録。所定欄に担当者情報を入力後、登録。」となり、データ１００１と同じである。
【００６９】
図５のデータ１００２「担当者削除。登録担当者情報を削除する。」では、複合語句変換部１０５は、同様に、「担当者」の次の「削除」は削除しない。しかし、次の「登」が走査位置のときに、走査位置が事態性名詞の概念語句「登録」であり、直後が事態性名詞以外の概念語句「担当者」であるため、走査位置の「登録」は削除する。その結果、図６の変換結果１００２「担当者削除。担当者情報を削除。」となる。
【００７０】
同様に、図５のデータ１００３「管理者登録。所定欄に管理者情報を入力後、登録する。」は、図６の変換結果１００３「管理者登録。所定欄に管理者情報を入力後、登録。」となる。図５のデータ１００４「管理者削除。登録管理者情報を削除する。」は、図６の変換結果１００４「管理者削除。管理者情報を削除。」となり、・・・、図５のデータ２００３の「削除管理者情報。」は、図６の変換結果２００３「管理者情報。」となる。
【００７１】
このように、複合語句変換部１０５は、図５のデータ１００２の「登録担当者」から省略可能な修飾語句「登録」を削除することで、「登録担当者情報を削除する。」と「担当者情報を削除。」の整合性を判定しやすくすることができる。なお、複合語句変換部１０５は、図５のデータ２００３に対しては、削除に関するデータであるという情報を削除するが、このような場合でも概念を分析する方法については、次の実施形態の概念分析部で詳細に説明する。
【００７２】
次に、図１１のフローチャートを参照して、本第１の実施例に係る整合性判定システムにおける、１つの文書に対するデータ抽出部１０４の動作について詳細に説明する。
【００７３】
まず、データ抽出部１０４は、文書の文脈情報であるｃｏｎ［１］、・・・ｃｏｎ［ｎ］を空白に初期化する（ステップＡ１１）。ここで、文脈の階層数ｎは、例えば２０など、十分大きな値を設定しておけばよい。階層数ｎの値は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。
【００７４】
次に、データ抽出部１０４は、読み込み行を文書の開始行に設定する（ステップＡ１２）。なお、ここでは、１行が１つの仕様である場合を例として説明するが、１行と１つの仕様とが対応しない場合には、例えば句点「。」までを１行とみなすなどとすることで、同様の方法でデータを抽出することができる。
【００７５】
次に、データ抽出部１０４は、読み込み行が文書の終了にあたるかを調べる（ステップＡ１３）。終了しているならば、ステップＡ２２に移行し、終了していないならば、次のステップに移行する。
【００７６】
ステップＡ１３において、読み込み行が文書の終了でないと判定した場合、データ抽出部１０４は、文書の読み込み行が章・節・表などのタイトル行かどうかを調べる（ステップＡ１４）。タイトル行であるならば、ステップＡ１９に移行し、タイトル行でなければ、次のステップに移行する。
【００７７】
ステップＡ１４において、文書の読み込み行がタイトル行でないと判定した場合、データ抽出部１０４は、読み込み行が、表の列見出し行であるかどうかを調べる（ステップＡ１５）。列見出し行であるならば、ステップＡ２１に移行し、列見出し行でないならば、次のステップに移行する。
【００７８】
ステップＡ１５において、読み込み行が表の列見出し行でないと判定した場合、データ抽出部１０４は、文脈情報ｃｏｎ［１］，・・・，ｃｏｎ［ｎ］のうち、空白でないものを補正してから、データ記憶部１０２に記憶する（ステップＡ１６）。ここで、補正とは、例えば、文脈情報ｃｏｎ［１］，・・・，ｃｏｎ［ｎ］の後に「。」などの区切り記号を挿入することである。区切り記号は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。ここで、データ抽出部１０４は、文脈情報に区切り記号を挿入するなどの補正を行うため、ある文脈情報ｃｏｎ［ｐ］の文末と次の文脈情報ｃｏｎ［ｐ＋１］の文頭とを連結した新たな複合語句を生成することなく、データ（仕様）とすることができる。
【００７９】
次に、データ抽出部１０４は、読み込み行が表の一部であるかどうかを調べ、表の一部であるならば、読み込み行の表における列の間に区切り記号を挿入する（ステップＡ１７）。区切り記号は、「。」、「｜」などであり、どのような区切り記号を挿入するかは、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。ここで、データ抽出部１０４は、列の間に区切り記号を挿入するなどの補正を行うため、ある列の文末と次の列の文頭とを連結した新たな複合語句を生成することなく、データとすることができる。
【００８０】
例えば、図３の２行目では、１列目が「担当者登録」、２列目が「担当者情報を登録」となっているため、区切り記号なしでは、「担当者登録担当者情報を登録」となり、「担当者登録担当者情報」という新たな複合語句を生成してしまうが、区切り記号「。」を挿入することで、データ抽出部１０４は、読み込み行を「担当者登録。担当者情報を登録」と変換する。よって、新たな複合語句を生成することがない。
【００８１】
図１１に戻って、次に、データ抽出部１０４は、空白でない文脈情報ｃｏｎ［１］，・・・，ｃｏｎ［ｎ］に続けて、同じ行に読み込み行をデータ記憶部１０２に記憶する（ステップＡ１８）。
【００８２】
ステップＡ１４において、文書の読み込み行がタイトル行であると判定した場合、データ抽出部１０４は、タイトル行の階層構造を調べ、タイトル行の階層位置ｉに対し、文脈情報ｃｏｎ［ｉ］に読み込み行のテキストを代入する（ステップＡ１９）。ここで、例えば、タイトル行が、「１章  はじめに」、「１．はじめに」など章のタイトル行ならば、階層位置は１であり、「１．１節  概要」、「１．１  概要」など節のタイトル行ならば、階層位置は２である。表ならば、階層位置はｎとする。このように、タイトル行の階層位置は、行頭の数字と記号により、判定することができる。別の例としては、文書がＷｏｒｄ２００７などのような階層構造情報も含んだ文書の場合には、その階層構造を用いて階層位置を判定することができる。
【００８３】
次に、データ抽出部１０４は、文脈情報ｃｏｎ［ｉ＋１］，・・・，ｃｏｎ［ｎ］を空白に初期化する（ステップＡ２０）。例えば、「１．１  概要」というタイトル行があり、文脈情報ｃｏｎ［２］となっていても、「２．  機能要件」というタイトル行を読込んだときには、階層位置１の文脈情報が検出されたので、文脈情報ｃｏｎ［２］を空白に初期化する。
【００８４】
次に、データ抽出部１０４は、読み込み行を文書の次の行に移動する（ステップＡ２１）。そして、ステップＡ１３に移行する。
【００８５】
ステップＡ１３において、読み込み行が文書の終了にあたると判定した場合、データ抽出部１０４は、データ記憶部１０２に記憶されたデータを読込んで、データの表現を統一し、再びその表現を統一したデータをデータ記憶部１０２に記憶する（ステップＡ２２）。データの表現の統一では、同義語句とその代表語句を予め定めておき、データ中の同義語句を代表語句に変換することで統一する。同義語句とその代表語句は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。
【００８６】
例えば、「入力ファイル」、「入力データ」、「入力データファイル」という同義語句に対し代表語句が「入力ファイル」と予め指定されていた場合には、データの「入力データ」は「入力ファイル」に変換する。また、例えば、「する。」という同義語句に対し代表語句が「。」と予め定められていた場合には、データの「する。」は、「。」に変換する。なお、ここでは、文書からすべてのデータを抽出した後、データの表現を統一しているが、文書を読み込んだ際にデータの表現を統一しながら処理してもよい。そして、１つの文書に対するデータ抽出部１０４の処理を終了する。
【００８７】
次に、本第１の実施例の効果について説明する。
【００８８】
第１の効果は、複合語句を含むデータ間の整合性を高精度で分析することができることである。その理由は、複合語句変換部１０５において、複合語句を構成する語句の種類と複合語句の構成とに基づいて、複合語中の省略可能な修飾語句を削除することができるからである。
【００８９】
第２の効果は、新たな複合語句を生成することなく、文書からデータ（仕様）を抽出することができ、結果として高精度で整合性を判定することができることである。その理由は、データ抽出部１０４において、文書から、章・節・表などのタイトル行や表の列の間に区切り記号を追加するなどの補正を行うからである。
【実施例２】
【００９０】
次に、図面を参照して、本発明の第２の実施例による整合性判定システムについて詳細に説明する。なお、第１の実施例と同様の構成要素については、同一の符号を付し、詳細な説明を省略する。
【００９１】
図１２を参照すると、本第２の実施例に係る整合性判定システムは、情報を記憶する記憶部２１と、プログラム制御により動作する計算部２２とから構成されている。
【００９２】
前述したように、電子機器で整合性判定システムを構成する場合、整合性判定システムは、プログラム制御により動作するコンピュータで実現可能である。図示はしないが、この種のコンピュータは、周知のように、データを入力する入力装置と、データ処理装置と、データ処理装置での処理結果を出力する出力装置と、種々のデータベースとして働く補助記憶装置とを備えている。そして、データ処理装置は、プログラムを記憶するリードオンリメモリ（ＲＯＭ）と、データを一時的に記憶するワークエリアとして使用されるランダムアクセスメモリ（ＲＡＭ）と、ＲＯＭに記憶されたプログラムに従って、ＲＡＭに記憶されているデータを処理する中央処理装置（ＣＰＵ）とから構成される。入力装置は、例えば、キーボードから構成されてよく、出力装置は、例えば、ディスプレイ装置や印刷装置であってよい。
【００９３】
図示の例の場合、データ処理装置が計算部２２として働き、補助記憶装置が記憶部２１として動作する。
【００９４】
記憶部２１は、文書記憶部１００と、概念情報記憶部１０１と、データ記憶部１０２と、変換結果記憶部１０３と、概念分析結果記憶部２００とを備える。
【００９５】
文書記憶部１００は、上述した第１の実施形態のそれと同様である。概念情報記憶部１０１は、上述した第１の実施形態のそれと同様である。データ記憶部１０２は、上述した第１の実施形態のそれと同様である。変換結果記憶部１０３は、上述した第１の実施形態のそれと同様である。
【００９６】
概念分析結果記憶部２００は、データ記憶部１０２に記憶された２つのデータごとに、変換結果記憶部１０３に記憶されたその２つの変換結果に基づいて、それらデータに概念不一致があるかどうかを示す概念分析結果を記憶する。
【００９７】
図１３は、概念分析結果記憶部２００に記憶された概念分析結果の例を示す説明図である。図１３では、１行目が列の見出しを示しており、１列目が参照元の文書のデータ番号を示すＩＤ、２列目が参照元の文書のデータと概念不一致でないと判定された参照先の文書のデータ番号を示す。図１３によると、例えば、データ１００１とは、データ２００１のみが概念不一致でないと判定されており、データ１００２とは、概念不一致でないデータが参照先の文書にないと判定されている。なお、ここでは、２つの文書に対する整合性を判定するため、参照元の文書の変換されたデータに対する参照先の文書の変換されたデータでの概念不一致でないデータのＩＤを記憶する場合を例として説明したが、１つの文書内での整合性を判定する場合には、１つの文書内のデータのペアに対して概念分析結果を記憶してもよい。
【００９８】
図１２に戻って、計算部２２は、データ抽出部１０４と、複合語句変換部１０５と、概念分析部２０１と、整合性判定部２０２とを備える。
【００９９】
データ抽出部１０４は、上述した第１の実施形態のそれと同様である。複合語句変換部１０５は、上述した第１の実施形態のそれと同様である。
【０１００】
概念分析部２０１は、変換結果記憶部１０３に記憶された変換結果に対し、概念情報記憶部１０１に記憶された概念に基づいて、２つの変換結果である変換されたデータペアが概念不一致であるかないかを分析し、分析結果を概念分析結果記憶部２００に記憶する。
【０１０１】
ここで、「データペアが概念不一致である場合」とは、２つの変換されたデータがある概念集合において異なる概念の要素（文字列）を含み、かつ、その概念集合において同一の概念の要素（文字列）を含まない場合である。逆に、「データペアが概念不一致でない場合」とは、すべての概念集合において、２つの変換されたデータが同一の概念の概念語を含むか、または、２つの変換結果のいずれかもしくは両方がその概念集合の概念語句を含まない場合である。
【０１０２】
整合性判定部２０２は、概念分析結果記憶部２００に記憶された計算対象の情報に基づいて、データ記憶部１０２に記憶されたデータのペア間の類似度を計算する。そして、整合性判定部２０２は、その類似度をデータペアの整合性とする。
【０１０３】
類似度は、すぐにディスプレイ装置や印刷装置などを介して出力してもよいし、記憶しておいてシステムのユーザからのリクエストなどに応じて出力してもよいし、それ以外の様態で出力してもよい。あるいは、類似度でなく、整合性を判定した結果を出力してもよい。
【０１０４】
例えば、参照元と参照先の２つの文書において、整合性判定部２０２は、参照元のすべての仕様に対し、参照先に関連した仕様があるかを参照元の文書の仕様と参照先の文書の仕様との間の類似度を計算し、類似度が予め定めた閾値以上となる仕様ペアは整合と判定する。そして、整合性判定部２０２は、どの仕様とも整合と判定されなかった仕様を不整合候補として抽出する。または、１つの文書内の整合性判定では、整合性判定部２０２は、例えば、文書のすべての仕様のペアに対し、類似度を計算することで、類似度が予め定めた閾値以上となる仕様ペアは整合と判定し、いずれの仕様とも整合と判定されない仕様を不整合候補として抽出する。
【０１０５】
次に、図１４のフローチャートを参照して、本第２の実施例の整合性判定システムの全体の動作について詳細に説明する。
【０１０６】
まず、データ抽出部１０４は、一行や一文、１段落や１章などの意味単位ごとに分割したデータを抽出する。データ抽出部１０４は、意味単位ごとにそれが章・節・表のタイトルなどの文脈情報であるならば、その階層位置を抽出する。データ抽出部１０４は、その意味単位が文脈情報でないならば、その意味単位を表などの構造情報に基づいて補正し、補正した意味単位と以前に抽出しその階層構造に基づき補正した文脈情報とを連結したデータを生成する（ステップＡ２３）。また、データ中の同義語はその代表語に統一し、データ中の冗長表現は簡略化してもよい。そして、データ抽出部１０４は、生成したデータをデータ記憶部１０２に記憶する。
【０１０７】
データ抽出部１０４の処理の詳細については、図１１に示した通りなので、省力する。なお、データ抽出部１０４は、対象とする文書が複数の場合には、複数のデータを抽出する。また、データ抽出部１０４がなく、データがデータ記憶部１０２に記憶されたところから処理を開始してもよい。
【０１０８】
次に、複合語句変換部１０５は、概念情報記憶部１０１に記憶された概念に基づいて、抽出されたデータの複合語を変換する（ステップＡ２４）。そして、複合語句変換部１０５は、変換したデータを変換結果記憶部１０３に記憶する。複合語句変換部１０５の処理の詳細については、前述した通りである。
【０１０９】
次に、概念分析部２０１は、概念情報記憶部１０１に記憶された概念と変換結果記憶部１０３に記憶された変換されたデータとに基づいて、２つのデータであるデータペアが概念不一致であるか否かを分析し、概念分析結果記憶部２００に記憶する（ステップＡ２５）。概念分析部２０１の処理の詳細については、後述する。
【０１１０】
次に、整合性判定部２０２は、概念分析結果記憶部２００に記憶された概念分析結果に基づいて、概念不一致でないデータペアに対する類似度を計算する（ステップＡ２６）。ここで、類似度の計算は、データ記憶部１０２に記憶されたデータのペアに対して計算する。ただし、整合性判定部２０２は、変換結果記憶部１０３に記憶された変換されたデータのペアに対して類似度を計算してもよい。その場合、概念分析部２０１を省略できる。計算した結果は、すぐにディスプレイ装置や印刷装置などを介して出力してもよいし、記憶しておいてシステムのユーザからのリクエストなどに応じて出力してもよいし、それ以外の様態で出力してもよい。
【０１１１】
類似度の計算は、例えば、コルモゴロフ複雑性に基づいて概算することができる。例えば、対象を圧縮するアルゴリズムを予め定めると、対象ｉと対象ｊとの間の類似度ｓ（ｉ，ｊ）は、対象ｉを圧縮した場合のサイズをＣ（ｉ）、対象ｊを圧縮した場合のサイズをＣ（ｊ）、対象ｉとｊとを連結させた新たな対象を圧縮した場合のサイズをＣ（ｉｊ）とすると、例えば、ｄ（ｉ，ｊ）＝１−Ｃ（ｉｊ）／｛Ｃ（ｉ）＋Ｃ（ｊ）｝あるいはｄ（ｉ，ｊ）＝１−［Ｃ（ｉｊ）−ｍｉｎ｛Ｃ（ｉ），Ｃ（ｊ）｝］／ｍａｘ｛Ｃ（ｉ），Ｃ（ｊ）｝に示す数式によって計算することができる。指定される圧縮アルゴリズムは、例えば、ｇｉｐ、ｇｚｉｐなどである。
【０１１２】
圧縮アルゴリズムでは、例えば、文字列に対し、文字である記号あるいは以前の部分文字列との（一致長、一致位置）のペアで符号化する。符号化では、例えば、文字列に出現する記号の個数を求め、個数の多い記号ほど短い符号を割り当てる。したがって、コルモゴロフ複雑性の概算を用いると、助詞も含めて単語順を考慮してデータ間の類似度を計算することができる。
【０１１３】
次に、整合性判定部２０２は、概念不一致と分析されたペアの類似度を計算する（ステップＡ２７）。概念不一致のペアの類似度は、例えば、予め定めた低い値とする。その低い値は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。
【０１１４】
または、整合性判定部２０２は、データ記憶部１０２に記憶されたデータのペアに対して類似度を計算し、計算された類似度から予め定めた値を減算する。その予め定めた減算する値は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。
【０１１５】
または、整合性判定部２０２は、データ記憶部１０２に記憶されたデータのペアに対して類似度を計算し、計算された類似度に予め定めた１以下の値を乗算する。その予め定めた乗算する値は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。
【０１１６】
または、整合性判定部２０２は、変換結果記憶部１０３に記憶された変換されたデータのペアに対して類似度を計算し、計算された類似度から予め定めた値を減算してもよい。その値は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。
【０１１７】
または、整合性判定部２０２は、変換結果記憶部１０３に記憶された変換されたデータのペアに対して類似度を計算し、計算された類似度に予め定めた１以下の値を乗算してもよい。類似度の計算は、概念不一致でないペアの場合と同様に、例えば、コルモゴロフ複雑性に基づいて概算することができる。
【０１１８】
計算した結果は、すぐにディスプレイ装置や印刷装置などを介して出力してもよいし、記憶しておいてシステムのユーザからのリクエストなどに応じて出力してもよいし、それ以外の様態で出力してもよい。
【０１１９】
次に、図１５のフローチャートを参照して、本第２の実施例に係る整合性判定システムの概念分析部２０１の動作について詳細に説明する。
【０１２０】
まず、概念分析部２０１は、変換結果ｎがｉ番目の概念集合のｊ番目の概念の概念語句を含むかどうかを調べる（ステップＡ２８）。含むならば、ｃ［ｎ，ｉ，ｊ］にｔｒｕｅ、含まないならば、ｃ［ｎ，ｉ，ｊ］にｆａｌｓｅを代入する。ここで、ｉ番目の概念集合のｊ番目の概念を概念ｉ，ｊと呼ぶことにする。
【０１２１】
図６の例では、概念分析部２０１は、本ステップにおいて、変換結果１００１「担当者登録。所定欄に担当者情報を入力後、登録。」が概念１，１の概念語句「登録」を含むため、ｃ［１００１，１，１］＝ｔｒｕｅと計算する。また、概念分析部２０１は、変換結果１００１が概念語句１，２の概念語句「削除」を含まないため、ｃ［１００１，１，２］＝ｆａｌｓｅと計算する。さらに、概念分析部２０１は、変換結果１００１が概念語句１，３の概念語句「計算」、「合計」、「算出」のいずれも含まないため、ｃ［１００１，１，３］＝ｆａｌｓｅと計算する。
【０１２２】
図１５に戻って、次に、概念分析部２０１は、すべての変換結果に対し、変換結果ｎが概念集合ｉのいずれかの概念語句を含むかどうかを調べる（ステップＡ２９）。含むならば、ｃ［ｎ，ｉ］にｔｒｕｅ、含まないならば、ｃ［ｎ，ｉ］にｆａｌｓｅを代入する。
【０１２３】
図６の例では、概念分析部２０１は、本ステップにおいて、変換結果１００１が概念集合１の概念語句「登録」を含むため、ｃ［１００１，１］＝ｔｒｕｅなどと計算する。
【０１２４】
図１５に戻って、次に、概念分析部２０１は、すべてのデータｐとデータｑに対し、概念不一致フラグｆ［ｐ，ｑ］を計算したかどうかを調べる（ステップＡ３０）。すべて計算したならば、ステップＡ４３に移行する。すべて計算していないならば、次のステップに移行する。ここで、参照元の文書の仕様と参照先の文書の仕様との間の整合性を判定する場合には、例えば、参照元の文書の仕様の番号をｐ、参照先の文書の仕様の番号をｑとする。また、１つの文書内の整合性判定の場合には、例えば、文書の仕様の番号をｐ、ｐより大きい仕様番号をｑとする。これは、ｆ［ｐ，ｑ］＝ｆ［ｑ，ｐ］が成り立つため、不要な計算を行わないためである。
【０１２５】
ステップＡ３０において、概念不一致フラグｆ［ｐ，ｑ］をすべて計算していないと判定された場合、概念分析部２０１は、概念不一致フラグがまだ計算されていない変換結果ｐと変換結果ｑに対し、変換結果ｐと変換結果ｑが概念不一致であるかないかを示す概念不一致フラグｆ［ｐ，ｑ］をｆａｌｓｅに設定する（ステップＡ３１）。
【０１２６】
次に、概念分析部２０１は、概念集合を示す番号ｉを１に初期化する（ステップＡ３２）。
【０１２７】
次に、概念分析部２０１は、ｉと概念集合数Ｉとを比較する（ステップＡ３３）。ｉがＩ以下であるならば、次のステップに移行し、ｉがＩより大きければ、ステップＡ３０に移行する。
【０１２８】
ステップＡ３３において、ｉがＩ以下であると判定された場合、概念分析部２０１は、概念不一致フラグｆ［ｐ，ｑ］をｔｒｕｅとする（ステップＡ３４）。
【０１２９】
次に、概念分析部２０１は、ｃ［ｐ，ｉ］＝ｔｒｕｅかつｃ［ｑ，ｉ］＝ｔｒｕｅであるかを調べる（ステップＡ３５）。両方がｔｒｕｅであるなら、ステップＡ３６に移行し、いずれかあるいは両方がｆａｌｓｅであるなら、ステップＡ４０に移行する。
【０１３０】
ステップＡ３５において、ｃ［ｐ，ｉ］＝ｔｒｕｅかつｃ［ｑ，ｉ］＝ｔｒｕｅであると判定された場合、概念分析部２０１は、概念を示す番号ｊを１に初期化する（ステップＡ３６）。
【０１３１】
次に、概念分析部２０１は、ｊと概念集合ｉの概念数Ｊｉとを比較する（ステップＡ３７）。ｊがＪｉ以下であるならば、次のステップに移行し、ｊがＪｉより大きければ、ステップＡ４１に移行する。
【０１３２】
ステップＡ３７において、ｊがＪｉ以下であると判定された場合、概念分析部２０１は、ｃ［ｑ，ｉ，ｊ］がｔｒｕｅで、かつｃ［ｑ，ｉ，ｊ］がｔｒｕｅであるかどうかを調べる（ステップＡ３８）。両方ｔｒｕｅであるならば、ステップＡ４０に移行する。いずれか一方あるいは両方がｆａｌｓｅであるならば、次のステップに移行する。
【０１３３】
図６の例では、ｐ＝１００１、ｑ＝２００１、ｉ＝１、ｊ＝１の場合は、ｃ［１００１，１，１］＝ｔｒｕｅかつｃ［２００１，１，１］＝ｔｒｕｅであるため、ステップＡ４０に移行する。
【０１３４】
図１５に戻って、ステップＡ３８において、いずれか一方あるいは両方がｆａｌｓｅであると判定された場合、概念分析部２０１は、概念番号ｊをインクリメントする（ステップＡ３９）。そして、ステップＡ３７に移行する。
【０１３５】
ステップＡ３５において、いずれかあるいは両方がｆａｌｓｅであると判定された場合、或いは、ステップＡ３８において、両方ｔｒｕｅであると判定された場合、概念分析部２０１は、概念不一致フラグｆ［ｐ，ｑ］をｆａｌｓｅとする（ステップＡ４０）。そして、ステップＡ４２に移行する。
【０１３６】
ステップＡ３７において、ｊがＪｉより大きいと判定された場合、概念分析部２０１は、概念不一致フラグｆ［ｐ，ｑ］がｔｒｕｅであるかどうかを調べる（ステップＡ４１）。ｔｒｕｅであるならば、変換語句ｐと変換語句ｑは概念不一致であると判定し、ステップＡ３０に移行する。ｆａｌｓｅであるならば、次のステップに移行する。
【０１３７】
ステップＡ４１において、ｆａｌｓｅであると判定された場合、概念分析部２０１は、概念集合番号ｉをインクリメントする（ステップＡ４２）。そして、ステップＡ３３に移行する。
【０１３８】
ステップＡ３０において、概念不一致フラグｆ［ｐ，ｑ］をすべて計算していると判定された場合、概念分析部２０１は、概念不一致フラグがｆａｌｓｅのデータペアを概念分析結果記憶部２００に記憶する（ステップＡ４３）。そして、概念分析部２０１の動作を終了する。
【０１３９】
ここで、以下では、図６を例として、概念分析部２０１の動作について具体的に説明する。
【０１４０】
概念分析部２０１は、ステップＡ３０において、ｐ＝１００１とｑ＝２００１がまだ計算されていないため、ステップＡ３１に移行し、ｆ［１００１，２００１］＝ｆａｌｓｅに初期化する。
【０１４１】
次に、概念分析部２０１は、ステップＡ３２に移行して、ｉ＝１とし、ステップＡ３３でｉ≦概念集合数２となるため、ステップＡ３４に移行して、ｆ［１００１，２００１］＝ｔｒｕｅとする。
【０１４２】
次に、概念分析部２０１は、ステップＡ３５では、ｃ［１００１，１］＝ｔｒｕｅかつｃ［２００１，１］＝ｔｒｕｅとなるため、ステップＡ３６に移行し、ｊ＝１と初期化する。
【０１４３】
次に、概念分析部２０１は、ステップＡ３７に移行し、ｊ≦概念集合１の概念数３となるため、ステップＡ３８に移行する。概念分析部２０１は、ステップＡ３８では、ｃ［１００１，１，１］＝ｔｒｕｅかつｃ［２００１，１，１］＝ｔｒｕｅとなるため、ステップＡ４０に移行し、ｆ［ｐ，ｑ］＝ｆａｌｓｅとする。そして、概念分析部２０１は、ステップＡ４２に移行して、ｉ＝２となり、ステップＡ３３に移行する。
【０１４４】
概念分析部２０１は、ステップＡ３３では、ｉ≦概念集合数２となるため、ステップＡ３４に移行して、ｆ［１００１，２００１］＝ｔｒｕｅとする。
【０１４５】
次に、概念分析部２０１は、ステップＡ３５では、ｃ［１００１，２］＝ｔｒｕｅかつｃ［２００１，２］＝ｔｒｕｅとなるため、ステップＡ３６に移行し、ｊ＝１と初期化する。
【０１４６】
次に、概念分析部２０１は、ステップＡ３７に移行し、ｊ≦概念集合１の概念数３となるため、ステップＡ３８に移行する。概念分析部２０１は、ステップＡ３８では、ｃ［１００１，２，１］＝ｔｒｕｅかつｃ［２００１，２，１］＝ｔｒｕｅとなるため、ステップＡ４０に移行し、ｆ［１００１，２００１］＝ｆａｌｓｅとする。
【０１４７】
次に、概念分析部２０１は、ステップＡ４２に移行して、ｉ＝３となり、ステップＡ３３に移行する。
【０１４８】
概念分析部２０１は、ステップＡ３３では、ｉ＞概念集合数２となるため、ｆ［１００１，２００１］の計算は終了して、ステップＡ３０に移行する。ここで、ｆ［１００１，２００１］は、ｆａｌｓｅであり、概念分析部２０１は、変換結果１００１と変換結果２００１は概念不一致でないと計算する。
【０１４９】
一方、ｐ＝１００４、ｑ＝２００３の場合には、概念分析部２０１は、ステップＡ３１に移行し、ｆ［１００４，２００３］＝ｆａｌｓｅに初期化する。
【０１５０】
次に、概念分析部２０１は、ステップＡ３２に移行して、ｉ＝１とし、ステップＡ３３でｉ≦概念集合数２となるため、ステップＡ３４に移行して、ｆ［１００４，２００３］＝ｔｒｕｅとする。
【０１５１】
次に、概念分析部２０１は、ステップＡ３５では、ｃ［１００４，１］＝ｆａｌｓｅとなるため、ステップＡ４０に移行し、ｆ［１００４，２００３］＝ｆａｌｓｅとする。
【０１５２】
次に、概念分析部２０１は、ステップＡ４２に移行して、ｉ＝２となり、ステップＡ３３に移行する。概念分析部２０１は、ステップＡ３３では、ｉ≦概念集合数２となるため、ステップＡ３４に移行して、ｆ［１００４，２００３］＝ｔｒｕｅとする。
【０１５３】
次に、概念分析部２０１は、ステップＡ３５では、ｃ［１００４，２］＝ｔｒｕｅかつｃ［２００３，２］＝ｔｒｕｅとなるため、ステップＡ３６に移行し、ｊ＝１と初期化する。
【０１５４】
次に、概念分析部２０１は、ステップＡ３７に移行し、ｊ≦概念集合２の概念数２となるため、ステップＡ３８に移行する。概念分析部２０１は、ステップＡ３８では、ｃ［１００４，２，１］＝ｆａｌｓｅとなるため、ステップＡ３９に移行し、ｊ＝２とする。
【０１５５】
次に、概念分析部２０１は、ステップＡ３７に移行し、ｊ≦概念集合２の概念数２となるため、ステップＡ３８に移行する。概念分析部２０１は、ステップＡ３８では、ｃ［１００４，２，２］＝ｔｒｕｅかつｃ［２００３，２，２］＝ｔｒｕｅとなるため、ステップＡ４０に移行し、ｆ［１００４，２００３］＝ｆａｌｓｅとする。
【０１５６】
次に、概念分析部２０１は、ステップＡ４２に移行して、ｉ＝３となり、ステップＡ３３に移行する。概念分析部２０１は、ステップＡ３３では、ｉ＞概念集合数２となるため、ｆ［１００４，２００３］の計算は終了して、ステップＡ３０に移行する。ここで、ｆ［１００４，２００３］は、ｆａｌｓｅであり、概念分析部２０１は、変換結果１００４と変換結果２００３は概念不一致でないと計算する。
【０１５７】
一方、概念分析部２０１は、ｆ［１００３，２００３］もまた、概念不一致でないと計算する。変換結果１００３と変換結果２００３とが整合していないことは、次の整合性判定部２０２によって判定する。
【０１５８】
次に、図１６のフローチャートを参照して、本第２の実施形態に係る整合性判定システムの整合性判定部２０２の動作について詳細に説明する。
【０１５９】
まず、整合性判定部２０２は、参照元の文書のデータ番号を示すｐを１に初期化する（ステップＡ４４）。なお、ここでは、参照元の文書の仕様と参照先の文書の仕様との間の整合性判定の場合を例として説明するが、１つの文書内の整合性判定の場合も、同様である。
【０１６０】
次に、整合性判定部２０２は、ｐと参照元の文書のデータ数Ｎ１とを比較する（ステップＡ４５）。ｐがＮ１以下であるならば、ステップＡ４６に移行し、ｐがＮ１より大きければ、整合性判定部２０２の処理を終了する。計算した類似度は、すぐにディスプレイ装置や印刷装置などを介して出力してもよいし、記憶しておいてシステムのユーザからのリクエストなどに応じて出力してもよいし、それ以外の様態で出力してもよい。また、予め定めた値以上の類似度を整合として判定し、判定結果を、すぐにディスプレイ装置や印刷装置などを介して出力してもよいし、記憶しておいてシステムのユーザからのリクエストなどに応じて出力してもよいし、それ以外の様態で出力してもよい。その整合と判定するための予め定めた値は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。
【０１６１】
ステップＡ４５において、ｐがＮ１以下であると判定された場合、整合性判定部２０２は、データｐを圧縮した場合のサイズＣ（ｐ）を計算する（ステップＡ４６）。ここで、圧縮アルゴリズムは、可逆圧縮できるものを用いる。例えば、ｇｉｐ、ｇｚｉｐなどを用いる。
【０１６２】
次に、整合性判定部２０２は、参照先の文書のデータ番号を示すｑを１に初期化する（ステップＡ４７）。
【０１６３】
次に、整合性判定部２０２は、ｑと参照先の文書のデータ数Ｎ２とを比較する（ステップＡ４８）。ｑがＮ２以下であるならば、次のステップに移行し、ｐがＮ１より大きければ、ステップＡ５４に移行する。
【０１６４】
ステップＡ４８において、ｑがＮ２以下であると判定された場合、整合性判定部２０２は、データｑを圧縮した場合のサイズＣ（ｑ）と、データｐとデータｑを連結されたデータを圧縮した場合のサイズＣ（ｐ，ｑ）とを計算する（ステップＡ４９）。
【０１６５】
次に、整合性判定部２０２は、データｐとデータｑとの間の類似度ｓ（ｐ，ｑ）を計算する（ステップＡ５０）。類似度ｓ（ｐ，ｑ）は、例えば、コルモゴロフ複雑性の概算を用いて計算することができる。例えば、ｓ１−Ｃ（ｉ，ｊ）／｛Ｃ（ｉ）＋Ｃ（ｊ）｝あるいは１−［Ｃ（ｉ，ｊ）−ｍｉｎ｛Ｃ（ｉ），Ｃ（ｊ）｝］／ｍａｘ｛Ｃ（ｉ），Ｃ（ｊ）｝に示す数式によって計算することができる。ここで、圧縮アルゴリズムは、例えば、文字列に対し、文字である記号あるいは以前の部分文字列との（一致長、一致位置）のペアで符号化する。符号化では、例えば、文字列に出現する記号の個数を求め、個数の多い記号ほど短い符号を割り当てる。したがって、コルモゴロフ複雑性の概算を用いると、助詞も含めて単語順を考慮してデータ間の類似度を計算することができる。
【０１６６】
次に、整合性判定部２０２は、データｐとデータｑが概念不一致であるかを調べる（ステップＡ５１）。ｆ［ｐ，ｑ］＝ｔｒｕｅと概念不一致であるならば、次のステップに移行し、概念不一致でないならば、ステップＡ５３に移行する。
【０１６７】
ステップＡ５１において、概念不一致であると判定された場合、整合性判定部２０２は、データｐとデータｑとの間の類似度ｓ（ｐ，ｑ）を補正する（ステップＡ５２）。補正では、例えば、予め定めた低い値とする。その予め定めた値は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。または、計算されたｓ（ｐ，ｑ）から、予め定めた値を減じてもよい。その減じる値は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。または、計算されたｓ（ｐ，ｑ）に、予め定めた１以下の値を乗じてもよい。その乗じる値は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。
【０１６８】
なお、概念不一致のときに類似度を予め定めた値とする場合は、不要な計算を行わないため、ｑ≦Ｎ２の直後にｆ［ｐ，ｑ］がｔｒｕｅであるかどうかを調べて、ｔｒｕｅであるならば、以降の計算を行わずに、ｓ（ｐ，ｑ）を予め定めた値としてもよい。また、整合性判定部２０２は、データの代わりに変換結果を用いて、Ｃ（ｐ）、Ｃ（ｑ）およびＣ（ｐ，ｑ）を計算してから類似度を計算してもよい。
【０１６９】
次に、整合性判定部２０２は、参照先の文書のデータ番号を示すｑに１を加算する（ステップＡ５３）。そして、ステップＡ４８に移行する。
【０１７０】
ステップＡ４８において、ｑがＮ２より大きいと判定された場合、整合性判定部２０２は、参照元の文書のデータ番号を示すｐに１を加算する（ステップＡ５４）。そして、ステップＡ４５に移行する。
【０１７１】
次に、本第２の実施例による効果について説明する。
【０１７２】
第１の効果は、複合語句を含むデータ間の整合性を高精度で分析することができることである。その理由は、概念分析部２０１において、複合語句から省略可能な修飾語句を削除したデータ（変換結果）を用いて、概念の不一致があるかどうかを判定することができるからである。
【０１７３】
第２の効果は、複合語句を含むデータ間の整合性を高精度で分析することができることである。その理由は、整合性判定部２０２において、複合語句を変換した結果を用いて類似度を計算するか、または、データ間の類似度を計算してから概念分析部で分析された概念分析結果に基づいて類似度を補正するため、データ間の整合性を、複合語句を変換した結果に応じて計算することができるからである。
【０１７４】
なお、本発明の実施例に記載した方法は、コンピュータに実行させることのできるプログラムとして、フレキシブルディスク、ハードディスクなどの磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤなどの光ディスク、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体（記録媒体）に格納して頒布することもできる。
【０１７５】
また、この記憶媒体（記録媒体）としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体（記録媒体）であれば、その記憶形式は何れの形態であってもよい。
【０１７６】
また、記憶媒体（記録媒体）からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているオペレーティングシステムや、データベース管理ソフト、ネットワークソフト等のミドルウェアなどが各処理の一部を実行してもよい。
【０１７７】
さらに、本発明の実施例における記憶媒体（記録媒体）は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネットなどにより伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体（記録媒体）も含まれる。
【０１７８】
また、記憶媒体（記録媒体）は１つに限らず、複数の媒体から上記実施例における処理が実行される場合も本発明における記憶媒体（記録媒体）に含まれ、媒体構成は何れの構成であってもよい。
【０１７９】
本発明の実施例におけるコンピュータは、記憶媒体（記録媒体）に記憶されたプログラムに基づき各処理を実行するものであって、パソコンなどからなる装置、複数の装置がネットワーク接続されたシステムなどの何れの構成であってもよい。
【０１８０】
また、本発明の実施例におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置を含み、プログラムによって本発明の機能を実現することが可能な機器、装置である。
【０１８１】
なお、本発明は、上記実施例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施例に示される全構成要素から幾つかの構成要素を削除してもよい。また、構成要素を適宜組合せてもよい。
【０１８２】
また、上記の実施例の一部または全部は、以下のようにも記載されうる。なお、以下の付記は本発明をなんら限定するものではない。
【０１８３】
［付記１］
共通的な意味を示す１つ以上の語句（概念語句）を要素とする概念に対し、意味的に異なる概念を列挙した概念集合と、該概念集合の特徴を示す種類とを記憶する概念情報記憶部と、
データに対し、該データに含まれる複合語句の構成と、該複合語句を構成する語句の前記概念情報記憶部を参照して得られた種類と、前記複合語句を構成する語句の品詞の種類とに基づいて、前記複合語句を変換する複合語句変換部と、
を備えることを特徴とする整合性判定システム。
【０１８４】
［付記２］
前記複合語句変換部は、前記データを開始文字から順に走査しながら、走査位置以降の文字列が、前記概念記憶部に記憶された概念語句に該当する場合には、該当する概念語句の種類と走査位置周辺の語句の種類とに基づいて、走査位置以降の概念語句を変換することを特徴とする上記付記１に記載の整合性判定システム。
【０１８５】
［付記３］
前記概念情報記憶部は、概念集合の種類に事態性名詞を含み、
前記複合語句変換部は、走査位置から開始される文字列が事態性名詞の概念語句であり、かつ、前記文字列の直後の文字列が事態性名詞以外の概念語句あるいは事態性名詞以外の名詞であるならば、走査位置の概念語句を削除しその概念語句の直後に走査位置を移動し、それ以外ならば、走査位置を１つ後に移動することを繰返してデータを走査しながらデータを変換することを特徴とする上記付記１または上記付記２に記載の整合性判定システム。
【０１８６】
［付記４］
２つのデータであるデータペアの間の整合性を、前記複合語句変換部で変換された２つのデータの間の類似度を計算し、該類似度に基づいて、判定する整合性判定部を更に備えることを特徴とする上記付記１から上記付記３までのいずれか１つに記載の整合性判定システム。
【０１８７】
［付記５］
前記複合語句変換部で変換された２つのデータに対し、当該２つのデータがある概念集合において異なる概念の概念語句を含み、かつ、当該概念集合において同一の概念の概念語句を含まない概念不一致があるかないかを判定する概念分析部と、
前記概念分析部において分析した概念分析結果と、前記複合語句変換部で変換される前のデータのペアを用いて計算した類似度とに基づいて、前記データペアの整合性を判定する整合性判定部と、
を更に備えることを特徴とする上記付記１から上記付記３までのいずれか１つに記載の整合性判定システム。
【０１８８】
［付記６］
前記整合性判定部は、コルモゴロフ複雑性の概算を用いて類似度を計算することを特徴とする上記付記４または上記付記５に記載の整合性判定システム。
【０１８９】
［付記７］
前記整合性判定部は、前記概念分析部において概念不一致と判定されたデータペアに対しては、（１）類似度を予め定めた低い値とする、（２）前記複合語句変換部で変換される前のデータのペアの類似度から予め定めた値を減算する、（３）前記複合語句変換部で変換される前のデータのペアの類似度に予め定めた値を乗算する、のいずれかの方法で類似度を計算することを特徴とする上記付記５または上記付記６に記載の整合性判定システム。
【０１９０】
［付記８］
前記整合性判定部は、予め定めた値以上の類似度となるデータ間を整合と判定することを特徴とする上記付記４から上記付記７までのいずれか１つに記載の整合性判定システム。
【０１９１】
［付記９］
文書を、一行や一文、段落や章・節などの予め定めた意味単位で分割し、意味単位ごとに当該意味単位が章・節・表のタイトルなどの文脈情報であるならば、その階層位置を抽出し、前記意味単位が文脈情報でないならば、当該意味単位を構造情報に基づいて補正し、補正した意味単位と以前に抽出しその階層構造に基づき補正した文脈情報とを連結したデータを生成するデータ抽出部を更に備えることを特徴とする上記付記１から上記付記８までのいずれか１つに記載の整合性判定システム。
【０１９２】
［付記１０］
共通的な意味を示す１つ以上の語句（概念語句）を要素とする概念に対し、意味的に異なる概念を列挙した概念集合と、該概念集合の特徴を示す種類とを概念情報記憶部に記憶する概念情報記憶ステップと、
データに対し、該データに含まれる複合語句の構成と、該複合語句を構成する語句の前記概念情報記憶部を参照して得られた種類と、前記複合語句を構成する語句の品詞の種類とに基づいて、前記複合語句を変換する複合語句変換ステップと、
を備えることを特徴とする整合性判定方法。
【０１９３】
［付記１１］
前記複合語句変換ステップは、前記データを開始文字から順に走査しながら、走査位置以降の文字列が、前記概念記憶部に記憶された概念語句に該当する場合には、該当する概念語句の種類と走査位置周辺の語句の種類とに基づいて、走査位置以降の概念語句を変換することを特徴とする上記付記１０に記載の整合性判定方法。
【０１９４】
［付記１２］
前記概念情報記憶ステップは、概念集合の種類に事態性名詞を含み、
前記複合語句変換ステップは、走査位置から開始される文字列が事態性名詞の概念語句であり、かつ、前記文字列の直後の文字列が事態性名詞以外の概念語句あるいは事態性名詞以外の名詞であるならば、走査位置の概念語句を削除しその概念語句の直後に走査位置を移動し、それ以外ならば、走査位置を１つ後に移動することを繰返してデータを走査しながらデータを変換することを特徴とする上記付記１０または上記付記１１に記載の整合性判定方法。
【０１９５】
［付記１３］
２つのデータであるデータペアの間の整合性を、前記複合語句変換ステップで変換された２つのデータの間の類似度を計算し、該類似度に基づいて、判定する整合性判定ステップを更に備えることを特徴とする上記付記１０から上記付記１２までのいずれか１つに記載の整合性判定方法。
【０１９６】
［付記１４］
前記複合語句変換ステップで変換された２つのデータに対し、当該２つのデータがある概念集合において異なる概念の概念語句を含み、かつ、当該概念集合において同一の概念の概念語句を含まない概念不一致があるかないかを判定する概念分析ステップと、
前記概念分析ステップにおいて分析した概念分析結果と、前記複合語句変換ステップで変換される前のデータのペアを用いて計算した類似度とに基づいて、前記データペアの整合性を判定する整合性判定ステップと、
を備えることを特徴とする上記付記１０から上記付記１２までのいずれか１つに記載の整合性判定方法。
【０１９７】
［付記１５］
前記整合性判定ステップは、コルモゴロフ複雑性の概算を用いて類似度を計算することを特徴とする上記付記１３または上記付記１４に記載の整合性判定方法。
【０１９８】
［付記１６］
前記整合性判定ステップは、前記概念分析ステップにおいて概念不一致と判定されたデータペアに対しては、（１）類似度を予め定めた低い値とする、（２）前記複合語句変換ステップで変換される前のデータのペアの類似度から予め定めた値を減算する、（３）前記複合語句変換ステップで変換される前のデータのペアの類似度に予め定めた値を乗算する、のいずれかの方法で類似度を計算することを特徴とする上記付記１４または上記付記１５に記載の整合性判定方法。
【０１９９】
［付記１７］
前記整合性判定ステップは、予め定めた値以上の類似度となるデータ間を整合と判定することを特徴とする上記付記１３から上記付記１６までに記載の複合語句変換に基づく整合性判定方法。
【０２００】
［付記１８］
文書を、一行や一文、段落や章・節などの予め定めた意味単位で分割し、意味単位ごとに当該意味単位が章・節・表のタイトルなどの文脈情報であるならば、その階層位置を抽出し、前記意味単位が文脈情報でないならば、当該意味単位を構造情報に基づいて補正し、補正した意味単位と以前に抽出しその階層構造に基づき補正した文脈情報とを連結したデータを生成するデータ抽出ステップを更に備えることを特徴とする上記付記１０から上記付記１７までのいずれか１つに記載の整合性判定方法。
【０２０１】
［付記１９］
共通的な意味を示す１つ以上の語句（概念語句）を要素とする概念に対し、意味的に異なる概念を列挙した概念集合と、該概念集合の特徴を示す種類とを概念情報記憶部に記憶する概念情報記憶処理と、
データに対し、該データに含まれる複合語句の構成と、該複合語句を構成する語句の前記概念情報記憶部を参照して得られた種類と、前記複合語句を構成する語句の品詞の種類とに基づいて、前記複合語句を変換する複合語句変換処理と、
をコンピュータに実行させることを特徴とする整合性判定プログラム。
【０２０２】
［付記２０］
前記複合語句変換処理は、前記データを開始文字から順に走査しながら、走査位置以降の文字列が、前記概念情報記憶部に記憶された概念語句に該当する場合には、該当する概念語句の種類と走査位置周辺の語句の種類とに基づいて、走査位置以降の概念語句を変換することを、前記コンピュータに実行させることを特徴とする上記付記１９に記載の整合性判定プログラム。
【０２０３】
［付記２１］
前記概念情報記憶部は、概念集合の種類に事態性名詞を含み、
前記複合語句変換処理は、走査位置から開始される文字列が事態性名詞の概念語句であり、かつ、前記文字列の直後の文字列が事態性名詞以外の概念語句あるいは事態性名詞以外の名詞であるならば、走査位置の概念語句を削除しその概念語句の直後に走査位置を移動し、それ以外ならば、走査位置を１つ後に移動することを繰返してデータを走査しながらデータを変換することを、前記コンピュータに実行させることを特徴とする上記付記１９または上記付記２０に記載の整合性判定プログラム。
【０２０４】
［付記２２］
２つのデータであるデータペアの間の整合性を、前記複合語句変換処理で変換された２つのデータの間の類似度を計算し、該類似度に基づいて、判定する整合性判定処理を、更に前記コンピュータに実行させることを特徴とする上記付記１９から上記付記２１までのいずれか１つに記載の整合性判定プログラム。
【０２０５】
［付記２３］
前記複合語句変換処理で変換された２つのデータに対し、当該２つのデータがある概念集合において異なる概念の概念語句を含み、かつ、当該概念集合において同一の概念の概念語句を含まない概念不一致があるかないかを判定する概念分析処理と、
前記概念分析処理において分析した概念分析結果と、前記複合語句変換処理で変換される前のデータのペアを用いて計算した類似度とに基づいて、前記データペアの整合性を判定する整合性判定処理と、
を更に前記コンピュータに実行させることを特徴とする上記付記１９から上記付記２１までのいずれか１つに記載の整合性判定プログラム。
【０２０６】
［付記２４］
前記整合性判定処理は、コルモゴロフ複雑性の概算を用いて類似度を計算することを、前記コンピュータに実行させることを特徴とする上記付記２２または上記付記２３に記載の整合性判定プログラム。
【０２０７】
［付記２５］
前記整合性判定処理は、前記概念分析処理において概念不一致と判定されたデータペアに対しては、（１）類似度を予め定めた低い値とする、（２）前記複合語句変換処理で変換される前のデータのペアの類似度から予め定めた値を減算する、（３）前記複合語句変換処理で変換される前のデータのペアの類似度に予め定めた値を乗算する、のいずれかの方法で類似度を計算することを、前記コンピュータに実行させることを特徴とする上記付記２３または上記付記２４に記載の整合性判定プログラム。
【０２０８】
［付記２６］
前記整合性判定処理は、予め定めた値以上の類似度となるデータ間を整合と判定することを、前記コンピュータに実行させることを特徴とする上記付記２２から上記付記２５までのいずれか１つに記載の整合性判定プログラム。
【０２０９】
［付記２７］
文書を、一行や一文、段落や章・節などの予め定めた意味単位で分割し、意味単位ごとに当該意味単位が章・節・表のタイトルなどの文脈情報であるならば、その階層位置を抽出し、前記意味単位が文脈情報でないならば、当該意味単位を構造情報に基づいて補正し、補正した意味単位と以前に抽出しその階層構造に基づき補正した文脈情報とを連結したデータを生成するデータ抽出処理、を更に前記コンピュータに実行させることを特徴とする上記付記１９から上記付記２６までのいずれか１つに記載の整合性判定プログラム。
【符号の説明】
【０２１０】
１１  記憶部
１２  計算部
２１  記憶部
２２  計算部
１００  文書記憶部
１０１  概念情報記憶部
１０２  データ記憶部
１０３  変換結果記憶部
１０４  データ抽出部
１０５  複合語句変換部
２００  概念分析結果記憶部
２０１  概念分析部
２０２  整合性判定部
【図１】
0005915841.tif 000002
【図２】
0005915841.tif 000003
【図３】
0005915841.tif 000004
【図４】
0005915841.tif 000005
【図５】
0005915841.tif 000006
【図６】
0005915841.tif 000007
【図７】
0005915841.tif 000008
【図８】
0005915841.tif 000009
【図９】
0005915841.tif 000010
【図１０】
0005915841.tif 000011
【図１１】
0005915841.tif 000012
【図１２】
0005915841.tif 000013
【図１３】
0005915841.tif 000014
【図１４】
0005915841.tif 000015
【図１５】
0005915841.tif 000016
【図１６】
0005915841.tif 000017