JP5751431B2 - 不整合検出システム、方法、およびプログラム - Google Patents

不整合検出システム、方法、およびプログラム Download PDF

Info

Publication number
JP5751431B2
JP5751431B2 JP2012510614A JP2012510614A JP5751431B2 JP 5751431 B2 JP5751431 B2 JP 5751431B2 JP 2012510614 A JP2012510614 A JP 2012510614A JP 2012510614 A JP2012510614 A JP 2012510614A JP 5751431 B2 JP5751431 B2 JP 5751431B2
Authority
JP
Japan
Prior art keywords
statement
inspection
data
unit
generated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012510614A
Other languages
English (en)
Other versions
JPWO2011129198A1 (ja
Inventor
由希子 黒岩
由希子 黒岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012510614A priority Critical patent/JP5751431B2/ja
Publication of JPWO2011129198A1 publication Critical patent/JPWO2011129198A1/ja
Application granted granted Critical
Publication of JP5751431B2 publication Critical patent/JP5751431B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/226Validation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、文書の不整合検出に関し、特に要求の記載された文書から要求の不整合を検出する不整合検出に関する。
システム開発における要求の抜け漏れは、後工程からの手戻りによる修正コストが大きくなるため、早期に検出する必要性が広く知られている。従来、要求の抜け漏れの検出では、予め用意した検査項目を見ながら、要求の記載された文書に問題がないかを人が目視で検査していた。また、提案依頼書(RFP:Request For Proposal)に対する提案書や、提案書に対する仕様書などのように反映元文書と反映先文書がある場合、反映元文書に記載された個々の事柄に対し反映先文書に該当箇所があるかどうかについても、人が目視で検査していた。しかし、量が多く重複した記載のある文書の検査には、コスト(人件費と時間)がかかり、また、人手では見逃す場合があるという問題があった。
これに対し、対象をモデル化し形式的検証を行う技術が、特許文献1に開示されており、記述された事柄について問題があるかを検証することができる。しかし、記述や解読にはユーザが時間をかけて学習する必要があり、また、自然言語である文書から形式的な記述への変換が不正確であると的確に検証できないという問題があった。
形式的検証の支援技術が、特許文献2、特許文献3、特許文献4などに開示されているが、入力が容易になるものの、利用に学習が必要という問題は解決されていない。また、一般の文書においても、文書の矛盾点や曖昧な点や、元文書から別文書を作成したときの元文書の事柄の抜け漏れなどについて、人手でレビューしており、コスト(人件費と時間)がかかり、また、人手では見逃す場合があるという問題は同様であった。
特開2008−310663号公報 特開2009−116648号公報 特開2009−075681号公報 特開平5−119987号公報
本発明の企図するところは、自然言語で記載された文書に対し、他の形式に変換せずに文書の不整合を検出できるようにすることにある。
本発明の態様に係る不整合検出システムは、自然言語で記載された所与の文書を分割して言明単位の集合を抽出する言明単位抽出部と、言明単位を言明の付加情報を示す文脈と言明自身の情報を示す内容とに分類して、文脈と内容との組としてそれぞれの言明を構成する言明構成部と、予め定めた検査内容の集合と前記言明構成部で生成された言明の集合とを併合したデータ集合を生成するデータ生成部と、生成したデータ集合に対し、2つの最も類似したデータをそれら2つのデータの連結で生成した新たな1つのデータへと変換することを繰返して新たなデータ集合を生成し、生成した新たなデータ集合から前記言明構成部で生成された言明を含むデータのみを抽出して類型化結果集合を生成する類型化部と、予め定めた検査対象と検査内容との組でそれぞれの検査事項を生成し、生成した検査事項と類型化結果との類似度に基づいて言明の不整合を検出する検出部と、を備えることを特徴とする。
本発明の別の態様によれば、自然言語で記載された所与の文書を分割して言明単位の集合を抽出し、言明単位を言明の付加情報を示す文脈と言明自身の情報を示す内容とに分類して、文脈と内容との組としてそれぞれの言明を構成し、予め定めた検査内容の集合と前記言明の構成で生成された言明の集合とを併合したデータ集合を生成し、生成したデータ集合に対し、2つの最も類似したデータをそれら2つのデータの連結で生成した新たな1つのデータへと変換することを繰返して新たなデータ集合を生成し、生成した新たなデータ集合から前記言明の構成で生成された言明を含むデータのみを抽出して類型化結果集合を生成し、予め定めた検査対象と検査内容との組でそれぞれの検査事項を生成し、生成した検査事項と類型化結果との類似度に基づいて言明の不整合を検出する、ことを含むことを特徴とする不整合検出方法が提供される。
本発明の更に別の態様によれば、自然言語で記載された所与の文書を分割して言明単位の集合を抽出する言明単位抽出処理と、言明単位を言明の付加情報を示す文脈と言明自身の情報を示す内容とに分類して、文脈と内容との組としてそれぞれの言明を構成する言明構成処理と、予め定めた検査内容の集合と前記言明構成処理で生成された言明の集合とを併合したデータ集合を生成するデータ生成処理と、生成したデータ集合に対し、2つの最も類似したデータをそれら2つのデータの連結で生成した新たな1つのデータへと変換することを繰返して新たなデータ集合を生成し、生成した新たなデータ集合から前記言明構成処理で生成された言明を含むデータのみを抽出して類型化結果集合を生成する類型化処理と、予め定めた検査対象と検査内容との組でそれぞれの検査事項を生成し、生成した検査事項と類型化結果との類似度に基づいて言明の不整合を検出する検出処理と、をコンピュータに実行させるための不整合検出プログラムが提供される。
本発明によれば、文書を自然言語で記載されたままで入力するため、自然言語を他の形式に変換せずに文書の不整合を検出することができる。
本発明によればまた、元のデータ集合に対し、類似したデータを連結した新たなデータへと変換して情報の増えたデータで類似度を計算するため、高い精度で不整合を検出することができる。
図1は、本発明に係る不整合検出システムの第1の実施形態の構成例を示すブロック図である。
図2は、図1の言明単位記憶部100に記憶された言明単位の例を示す説明図である。
図3は、図1の言明記憶部101に記憶された言明の例を示す説明図である。
図4は、図1の検査内容記憶部102に記憶された検査内容の例を示す説明図である。
図5は、図1のデータ記憶部103に記憶されたデータ集合の例を示す説明図である。
図6は、図1の類型化結果記憶部104に記憶された類型化結果の例を示す説明図である。
図7は、本発明に係る不整合検出システムの第1の実施形態の処理経過の例を示すフローチャートである。
図8は、図1の言明単位抽出部105において、行の最大文字数を計算する場合の例を示す説明図である。
図9は、図1の言明単位記憶部100に記憶される別の言明単位の例を示す説明図である。
図10は、本発明に係る不整合検出システムの第1の実施形態の1つの検査対象の完全性iに対する検出部109の処理経過の例を示すフローチャートである。
図11は、本発明に係る不整合検出システムの第2の実施形態の構成例を示すブロック図である。
図12は、本発明に係る不整合検出システムの第2の実施形態の1つの検査対象の無矛盾性iに対する検出部200の処理経過の例を示すフローチャートである。
図13は、本発明に係る不整合検出システムの第3の実施形態の構成例を示すブロック図である。
図14は、図13の変換語句記憶部300に記憶された変換語句の例を示す説明図である。
図15は、本発明に係る不整合検出システムの第3の実施形態のデータ生成部301の処理経過の例を示すフローチャートである。
図16は、本発明に係る不整合検出システムの第3の実施形態の1つの検査対象の非曖昧性iに対する検出部302の処理経過の例を示すフローチャートである。
図17は、図13の検査内容記憶部102に記憶された検査内容の例を示す説明図である。
図18は、本発明に係る不整合検出システムの第4の実施形態の構成例を示すブロック図である。
図19は、図18の言明単位記憶部400に記憶される言明単位の例を示す説明図である。
図20は、図18の言明記憶部401に記憶された言明の例を示す説明図である。
図21は、本発明に係る不整合検出システムの第4の実施形態の処理経過の例を示すフローチャートである。
図22は、図18の変換語句記憶部300に記憶された変換語句の例を示す説明図である。
図23は、図18のデータ記憶部103に記憶されたデータ集合の例を示す説明図である。
以下に、本発明を不整合検出システムに適用したいくつかの実施形態について説明するが、不整合検出システムは不整合検出装置として解釈されてもよい。
(第1の実施形態)
本発明による不整合検出システムの第1の実施形態について図面を参照して詳細に説明する。第1の実施形態に係る不整合検出システムは、予め定めた検査内容に対し、入力された文書が完全性を満たさなければ、不整合として検出する。ここで、入力した文書は、提案依頼書や提案書または仕様書とする場合を例として説明する。
提案依頼書(RFP:Request For Proposal)は、発注元である官公庁や企業が情報システムやITサービスなどを調達する際に、発注先となるITベンダに対して提案を要請するための文書である。提案依頼書は、調達依頼書、入札依頼書、提案要請書、提案要求書、提案要望書、提案募集書、見積依頼書、提案書提出要請書などとも呼ばれる。提案依頼書には、例えば、概要と目的、必要な機能、サービスレベル、契約条件などの具体的な要求事項が記載される。
提案書(Proposal)とは、ITベンダが具体的な提案事項を記載した文書である。提案書は、企画書、企画提案書などとも呼ばれる。提案書には、例えば、目的やねらい、機能やサービスレベルの実現手段、開発体制などの具体的な提案事項が記載される。
仕様書は、システムやサービスが満たすべき事項である要件事項を記載した文書である。仕様書は、要求仕様書、要求定義書、要件定義書、機能仕様書、設計書などとも呼ばれる。仕様書には、発注元と発注先との間で取り決められた要件事項が整理されて記載される。
図1を参照すると、第1の実施形態に係る不整合検出システムは、キーボードなどの入力部10と、情報を記憶する記憶部11と、プログラム制御により動作する計算部12と、ディスプレイ装置や印刷装置などの出力部13とから構成されている。
記憶部11は、言明単位記憶部100と、言明記憶部101と、検査内容記憶部102と、データ記憶部103と、類型化結果記憶部104とを備える。
言明単位記憶部100は、言明単位を記憶する。ここで、言明単位とは、言明の意味を示す表現の単位であり、文、箇条書き、表題、図の一部である。言語単位は、例えば、具体的には、「・・・入力される。」のような文や、「・・・入力されること」のような箇条書きや、「1.はじめに」のような章の表題や、「図1 実施形態1のブロック図」のような図や表の表題や、「入力部10」、「変換語句記憶部」のような図の一部である。
図2は、言明単位記憶部100に記憶された言明単位の例を示す説明図である。図2に示すように、言明単位は、言明単位の番号を示す言明単位IDと共に記憶される。
言明記憶部101は、言明を内容と文脈との組として記憶する。文脈とは、例えば、章や節などの表題や、図や表のタイトルなどとする。言明とは、1つの完結した意味を示す表現である。言明は、提案依頼書ではそれぞれの要求事項、提案書ではそれぞれの提案事項、仕様書ではそれぞれの要件事項のことを指す。
図3は、言明記憶部101に記憶された言明の例を示す説明図である。図3に示すように、言明は、文脈と内容との組として記憶する。ここで、図3は、図2から構成した言明の例である。後述するように、該当する内容のない文脈は削除されるため、図1の“サーバ要件”は削除されている。
検査内容記憶部102は、予め定めた検査内容を記憶する。
図4は、検査内容記憶部102に記憶された検査内容の例を示す説明図である。図4は、サーバ要件の例であり、検査IDと検査内容と検査方法の組として記憶する。なお、検査内容は、文章でもキーワードの羅列でもよい。また、ここでは、検査方法の例として、完全性、無矛盾性、非曖昧性の場合を示したが、それ以外の方法を設定してもよい。
データ記憶部103は、検査内容記憶部102に記憶された検査内容の集合と言明記憶部101に記憶された言明の集合とを併合したデータ集合を記憶する。
図5は、データ記憶部103に記憶されたデータ集合の例を示す説明図である。図5に示すように、データは、例えば、データの番号を示すデータIDとデータの内容と文書の番号を示す文書IDとして記憶する。文書IDは、データが検査内容の場合は1、言明の場合は2などとする。
類型化結果記憶部104は、データを類型化した結果を記憶する。
図6は、類型化結果記憶部104に記憶された類型化結果の例を示す説明図である。図6に示すように、類型化結果は、例えば、類型化結果の番号を示すIDと、類型化結果と、文書IDとして記憶する。図5を類型化した結果、データ2とデータ8が類似のため同じデータに変換された場合、データ1以外が言明を含むとして抽出され、図6のような類型化結果を記憶する。
計算部12は、言明単位抽出部105と、言明構成部106と、データ生成部107と、類型化部108と、検出部109とを備える。
言明単位抽出部105は、入力部10を介して入力された文書を整形し、分割して言明単位を抽出し、言明単位記憶部100に記憶する。
言明構成部106は、言明単位を言明の内容と文脈とに分類し、内容とその直前の文脈との組として言明を構成し、言明記憶部101に記憶する。
データ生成部107は、言明記憶部101に記憶された言明と検査内容記憶部102に記憶された検査内容とを併合したデータ集合を生成し、データ記憶部103に記憶する。
類型化部108は、データ記憶部103に記憶されたデータ間の類似度が予め定めた第一の閾値より小さくなるまで2つの最も類似したデータをそれら2つのデータの連結で生成した新たな1つのデータへと変換することを繰返して新たなデータ集合を生成し、生成した新たなデータ集合から言明構成部106で生成された言明を含むデータのみを抽出して類型化結果集合を生成し、生成した類型化結果集合を類型化結果記憶部104に記憶する。
検出部109は、予め定めた検査対象と検査内容記憶部102に記憶された完全性を示す検査内容との組に対し、類型化結果記憶部104に記憶された類型化結果との類似度を計算し、計算した類似度に基づいて不整合を検出し、出力部13に検出結果を出力する。
次に、図1に加えて、図7のフローチャートを参照して第1の実施形態の全体の動作について詳細に説明する。
入力部10を介して、提案依頼書(RFP)、提案書、仕様書などの文書がテキスト形式で入力されると、言明単位抽出部105は、まず、文書中の不要な定型行を除く(ステップA1)。ここで、不要な定型行とは、例えば、空行やページを示す行である。ページを示す行は、例えば、数字のみの行や、−数字−という形式である。あるいは、文書の全てのページに記載された文字列、例えば、“Copyright ...,All rights reserved.”や企業名、日付などがあれば、削除する。これらの削除すべき文字列は、システムのユーザがキーボードなどの入力部10を介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。
言明単位抽出部105は、次に、行の最大文字数を計算する(ステップA2)。ここで、日本語には半角と全角の区別があり、全角文字の多い一般の行の最大文字数を計算するため、その文字数の行の数が文書の一定の割合以上の数があるものとする。一定の割合とは、例えば全行数の1%などとする。
図8は、言明単位抽出部105において、行の最大文字数を計算する場合の例を示す説明図である。ここで、図8は、101行以上ある文書の一部とする。文書が図8のように、文章の形式で各行に改行が入っている場合には、1行目が5文字、2行目から5行目と7行目が25文字、6行目が26文字、8行目が5文字となる。最大文字数は26文字であるが、26文字は1行しかないとすると、1%以上にならないため、言明単位抽出部105は最大文字数が25文字であると計算する。
言明単位抽出部105は、次に、各行の近傍行の文字数を調べて、不要な改行を削除する(ステップA3)。近傍行とは、例えば5行などである。ある行および近傍行の文字数がほとんど最大文字数であれば、その行の改行を削除する。ほとんどとは、例えば、ある行自身および近傍5行のうちの3行以上が最大文字数±3文字の範囲の文字数の場合である。これらの条件は、システムのユーザがキーボードなどの入力部10を介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。図8では、1行目は5文字であり、自分自身が最大文字数±3文字の範囲でないので、1行目の改行は削除されない。2行目は25文字であり、3行目から5行目は、25文字あるいは26文字で、最大文字数±3文字の範囲内なので、2行目の改行は削除される。3行目も、自分自身および2行目、4行目から6行目が最大文字数±3文字の範囲内なので、3行目の改行は削除される。同様に、4行目、5行目、6行目の改行も削除される。7行目は、1行目と同様に文字数が少ないので、改行が削除されない。なお、文書中に表がある場合には、全文書の行の最大文字数の代わりに、近傍行の最大文字数を用いて、同様な方法で不要な改行を削除してもよい。
言明単位抽出部105は、次に、各行に対し、前の行末とその行の行頭とを連結することで単語となるかを調べて、単語になるなら不要な改行があったとして、前の行末の改行を削除する(ステップA4)。ここで、単語になるかを調べるには、一般的な形態素解析を行い、一つの単語として分割されるかで判断することができる。形態素解析は、例えば、形態素解析エンジンであるMecabやChasenなどにより行うことができる。形態素解析とは、例えば、“東京都にいる”という入力文に対し、“東京”、“都”、“に”、“いる”、という形態素の出力系列を選ぶことである。ここで、別の出力系列の例は、“東”、“京都”、“に”、“いる”である。形態素解析では、一般的な大量の文書を用意し、それらの文書から、それぞれの名詞や動詞などの形態素の出現しやすさや連結しやすさのスコアを求めておき、ある入力文に対しては、最もスコアの高い分割を選択すればよい。例えば、一般的な大量の文書では、“東”と“京都”とが連結する場合より、“東京”と“都”とが連結する場合が多い。そのため、“東京”と“都”との連結しやすさのスコアの方が“東”と“京都”との連結しやすさのスコアより高くなり、入力文“東京都にいる”に対して、“東京”、“都”、“に”、“いる”という形態素へ分割する出力系列を得ることができる。ここでは、前の行末と行頭とを連結してから形態素解析を行い、前の行末と行頭とで1つの単語となるなら、前の行の改行を削除する。例えば、図8の4行目の例では、ステップA3で3行目の改行は削除されているが、仮に3行目の改行が削除されていなかったとすると、前の行末と行頭とを連結すると、“…計算サーバでは、…”となり、形態素解析を行うと、名詞“サーバ”となり、前の行末とその行の行頭とで1つの単語になるので、前の行である3行目の改行は削除される。同様に、仮に7行目の改行が削除されていなかったとすると、8行目に対し、前の行末とその行の行頭との連結で、“…運用管理を…”となり、形態素解析を行うと、名詞“管理”に分割されるので、7行目の改行は削除される。
言明単位抽出部105は、次に、文書の句点の後に改行を挿入する(ステップA5)。句点は、“。”や“.”である。
言明単位抽出部105は、次に、文書を行単位に分割し、各行を言明単位として言明単位記憶部100に記憶する(ステップA6)。
図9は、言明単位記憶部100に記憶される別の言明単位の例を示す説明図である。ここで、図9は、図8で示す文書から抽出した言明単位である。図8の文書は、ステップA3で不要な改行が削除され、一行目が“サーバ要件”、二行目がそれ以外となる。次に、ステップA4では改行は削除されず、ステップA5で句点の後に改行を挿入されて8行となり、ステップA6により、図9の言明単位となる。なお、分析精度を向上するため、言明単位記憶部100に記憶された言明単位を出力部13に出力して、システムのユーザが言明単位への分割結果を確認して誤りがあれば修正してもよい。
次に、言明構成部106は、言明単位を文脈と内容とに分類する(ステップA7)。ここで、文脈は、例えば、章や節や段落、図や表などの表題とする。言明構成部106は、章や節、図や表などの表題は、言明単位中の動詞の有無で判定する。言明構成部106は、例えば、要求単位が図2の場合、言明単位IDが1の言明単位(言明単位1とする)は動詞がないので文脈、言明単位2も動詞がないので文脈、言明単位3は動詞があるので内容と分類する。言明構成部106は、同様に、言明単位4、7、10は文脈、言明単位5、6、8、9、11、12は内容と分類する。言明構成部106は、図9の場合、言明単位1は動詞がないので文脈、それ以外は動詞があるので内容と分類する。
文脈と内容に分類する別の方法としては、予め定めた文字数より短い言明単位を文脈、予め定めた文字数以上の言明単位を内容としてもよい。または、例えば、言明単位の行頭が数字、あるいは“第”と数字、あるいは、“(“と数字と”)”ならば、数字を章や節、段落の番号と仮定し、それ以前の章や節、段落の番号の連番ならば、章や節である文脈だと分類してもよい。図や表についても、言明単位の行頭が“図”や“表”で次が数字やAなどのアルファベットならば、数字を図や表の番号と仮定し、それ以前の図や表の番号の連番ならば、図や表の表題である文脈だと分類してもよい。
言明構成部106は、次に、内容に対し、最も近い前の文脈との組として言明を構成し、言明記憶部101に記憶する(ステップA8)。言明単位が図2の場合の言明は、図3のようになる。ここで、文脈が連続することで、前の文脈に対する内容がない場合は、言明構成部106は、その言明を削除する。例えば、言明1は削除する。なお、内容に対し、それ以前の内容が存在するまでの文脈全てを組として言明を構成してもよい。例えば、図2の場合、最初の言明を文脈である“サーバ要件”と“(1)認証サーバ”、内容である“認証を行う。”という組としてもよい。
次に、データ生成部107は、言明記憶部101に記憶された言明と検査内容記憶部102に記憶された検査内容とからデータを生成し、データ記憶部103に記憶する(ステップA9)。言明のデータは、言明の文脈と内容を予め定めた区切り記号を用いて連結した文字列とする。ここで、区切り記号は、システムのユーザがキーボードなどの入力部10を介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。例えば、言明が図3で区切り記号が“:”と指定された場合、言明1のデータは、“(1)認証サーバ:認証を行う。”、言明2のデータは、“(2)計算サーバ:サーバは2台で負荷分散構成とし、ラウンドロビン方式を用いる。”となる。なお、区切り記号は、“空”としてもよい。検査内容のデータは、検査内容とする。例えば、検査内容が図4の場合、検査内容1のデータは、“サーバは、負荷分散で、アクティブ・スタンバイ”、検査内容2のデータは、“サーバはシングル”となる。なお、言明を内容とそれ以前の内容までの文脈全てとの組とする場合は、図2の場合、最初のデータは、“サーバ要件:(1)認証サーバ:認証を行う。”としてもよい。
次に、類型化部108は、データ集合に対し、2つの最も類似したデータをそれら2つのデータの連結で生成した新たな1つのデータへと変換することを繰返して、新たなデータ集合を生成し、データ記憶部103に記憶された言明を含むデータのみを抽出し、それらを類型化結果の集合として類型化結果記憶部104に記憶する(ステップA10)。データへの変換は、全てのデータ間の類似度が予め定めた第一の閾値より大きくなるまで行う。第一の閾値は、システムのユーザがキーボードなどの入力部10を介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。例えば、図5のデータ2とデータ8、データ4とデータ6が類型化されたとすると、図6のような類型化結果となる。ここで、類型化のための類似度の計算方法は、システムのユーザがキーボードなどの入力部10を介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。例えば、類似度は、形態素解析によりテキストから単語を抽出し、単語の出現頻度に基づいて計算することができる。しかし、“高速”と“迅速”という単語は同一とみなされないため、同一とみなすには同義語変換を行う必要がある。また、類似度は、コルモゴロフ複雑性の近似計算法を用いて計算することができる。
例えば、対象を圧縮するアルゴリズムを予め定めると、対象iと対象jとの間の類似度s(i,j)は、対象iを圧縮した場合のサイズをC(i)、対象jを圧縮した場合のサイズをC(j)、対象iとjとを連結させた新たな対象を圧縮した場合のサイズをC(ij)とすると、例えば、d(i,j)=1−C(ij)/{C(i)+C(j)}あるいはd(i,j)=1−[C(ij)−min{C(i),C(j)}]/max{C(i),C(j)}に示す数式によって計算することができる。指定される圧縮アルゴリズムは、例えば、gip、zgipなどである。圧縮アルゴリズムでは、例えば、文字列に対し、文字である記号あるいは以前の部分文字列との(一致長、一致位置)のペアで符号化する。符号化では、例えば、文字列に出現する記号の個数を求め、個数の多い希望ほど短い符号を割り当てる。したがって、コルモゴロフ複雑性の近似計算法を用いると、“高速に動作”と“迅速に動作”という文は、“速に動作”に短い符号を割り当てることとなり、高い類似度として計算することができる。
類型化部108は、次に、類型化結果記憶部104に記憶された類型化結果を順に調べて、言明記憶部101に記憶された言明のいずれも含まれない類型化結果があれば、類型化結果記憶部104から削除する(ステップA11)。
次に、検出部109は、完全性に関する言明の不整合を検出する(ステップA12)。詳細な処理は、後述する。それから、検出部109は、システムの動作を終了する。
次に、図1に加えて、図10のフローチャートを参照して第1の実施形態の1つの検査対象の完全性iに対する検出部109の動作について詳細に説明する。
検出部109は、まず、検査内容を示す番号であるmを1に初期化する(ステップA13)。
検出部109は、次に、検査内容記憶部102を参照して、検査内容mの完全性がiかどうかを調べる(ステップA14)。完全性がiならばステップA15に移行し、完全性がiでないならばステップA21に移行する。例えば、iが1、mが1のとき、図4の検査IDが1である検査内容の完全性を調べると1となるので、ステップA15に移行する。
検出部109は、検査対象と検査内容mとから検査事項を生成する(ステップA15)。検査事項は、検査対象と検査内容とを、予め定めた区切り記号を用いて連結させた文字列とする。検査対象は、システムのユーザがキーボードなどの入力部10を介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。ここで、デフォルトとは、文脈から自動的に生成することである。例えば、iが1、mが1のとき、検査対象として“認証サーバ”が指定され、区切り記号が“:”と定められていた場合、検査対象と検査内容の組である検査事項は、“認証サーバ:サーバは、負荷分散で、アクティブ・スタンバイ”となる。
検出部109は、次に、類型化結果を示す番号であるnを1に初期化する(ステップA16)。
次に、検出部109は、検査事項と類型化結果nとの類似度を計算する(ステップA17)。
次に、検出部109は、類似度と予め定めた第二の閾値とを比較する(ステップA18)。第二の閾値は、システムのユーザがキーボードなどの入力部10を介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。このように、類型化結果との類似度を計算するのは、言明は、一文程度と短く情報が少ないため、単に検査事項と言明との間の類似度を計算しても分析精度が低いが、類型化部108の処理により分析精度を向上させることができるためである。
例えば、検査対象を“処理サーバ”とする。人間は、図5のデータ4から計算サーバが負荷分散であり、その方式がラウンドロビン方式であるため、図5のデータ6から、ラウンドロビン方式の処理サーバも負荷分散だと推定することができる。しかし、類型化前の図5のデータ6だけでは、シングルとも負荷分散とも異なるので、負荷分散だと推定できない。一方、類型化後の図6では、類型化結果4が負荷分散を示す検査1との類似度が高くなり、処理サーバを負荷分散だと推定可能となる。類似度が第二の閾値以上ならば、ステップA24に移行し、第二の閾値未満ならば、ステップA19に移行する。
ステップA19では、検出部109は、nをインクリメントする。
検出部109は、次に、nと類型化結果数Nとを比較する(ステップA20)。nがN以下ならば、ステップA17に移行し、nがNより大きいならば、ステップA21に移行する。
ステップA21では、検出部109は、mをインクリメントする。
検出部109は、mと検査内容数Mとを比較する(ステップA22)。mがM以下ならば、ステップA14に移行し、mがMより大きいならば、ステップA23に移行する。
検出部109は、mがMより大きいならば、不整合ありと検出する(ステップA23)。例えば、検査対象として、“認証サーバ”が指定された場合、データは、“認証サーバ:サーバは、負荷分散で、アクティブ・スタンバイ”と“認証サーバ:サーバはシングル”となるが、どちらも図6のような類型化結果のいずれとも類似していない。これは、認証サーバについて検査内容に関する記載が不足しているためであり、検出部109は、不整合ありと検出することができる。検出結果は、すぐにディスプレイ装置や印刷装置などの出力部13を介して出力してもよいし、記憶しておいてシステムのユーザからのリクエストなどに応じて出力してもよいし、それ以外の様態で出力してもよい。それから、検出部109は動作を終了する。
ステップA18で類似度が第二の閾値以上で移行してきたならば、検出部109は、不整合なしと検出する(ステップA24)。例えば、検査対象として、“計算サーバ”が指定した場合、“計算サーバ:サーバは、負荷分散で、アクティブ・スタンバイ”に対して、図6のそれぞれの類型化結果との類似度を計算すると、類型化結果3の“2)計算サーバ:サーバは2台で負荷分散構成とし、ラウンドロビン方式を用いる。(3)処理サーバ:計算サーバと同様にラウンドロビン方式とする。”との類似度が高いので、不整合なしと検出することができる。また、検査対象として、“運用管理サーバ”を指定した場合、データの“運用管理サーバ:サーバはシングル”と類型化結果1の“サーバはシングル(3)運用管理サーバ:シングル構成とする。”との類似度が高いので、不整合なしと検出することができる。検出結果は、すぐにディスプレイ装置や印刷装置などの出力部13を介して出力してもよいし、記憶しておいてシステムのユーザからのリクエストなどに応じて出力してもよいし、それ以外の様態で出力してもよい。なお、不整合なしは出力しないと指定してもよい。それから、検出部109は動作を終了する。検出部109のこれらの処理は、全ての完全性i、および、完全性iに適した全ての検査対象に対して実行することができる。
(第1の実施形態の効果)
第1の実施形態によれば、自然言語で記載された文書を入力すると、言明単位抽出部および言明構成部で自動的に言明を構成して言明の不整合を検出するという構成のため、文書を他の形式に手動で変換せずに言明の不整合を検出することができるという効果がある。
また、言明は、一文程度と短く情報が少ないため、単に類似度を計算しても分析精度が低いが、第1の実施形態では、類型化により言明や検査内容を連結した文章との類似度を計算するため、高い精度で分析することができる。
なお、例では、検査内容1に、“ラウンドロビン方式”を追加すれば、負荷分散だと推定可能だが、一般に、文書には業務知識や特殊用語があり、全ての関連語句を事前に指定できない。しかし、第1の実施形態では、全ての関連語句を事前に指定しなくても類型化を用いることで、高い精度で分析することができるという効果がある。
第1の実施形態は、完全性に関する不整合検出であり、ある検査対象に対して、いずれかを記載すれば完全性を満たすような検査内容との連結である検査事項を作成し、いずれかの検査事項に該当する言明が文書中にあれば不整合なし、なければ不整合ありと検出することができるという効果がある。
(第2の実施形態)
次に、本発明による不整合検出システムの第2の実施形態について図面を参照して詳細に説明する。第2の実施形態に係る不整合検出システムは、予め定めた検査内容に対し、入力された文書に矛盾があるならば、不整合として検出する。ここで、入力した文書は、提案依頼書や提案書または仕様書とする場合を例として説明する。なお、第1の実施形態と同様の構成要素については、同一の符号を付し、詳細な説明を省略する。
図11を参照すると、第2の実施形態に係る不整合検出システムは、キーボードなどの入力部20と、情報を記憶する記憶部21と、プログラム制御により動作する計算部22と、ディスプレイ装置や印刷装置などの出力部23とから構成されている。
記憶部21は、言明単位記憶部100と、言明記憶部101と、検査内容記憶部102と、データ記憶部103と、類型化結果記憶部104とを備える。
言明単位記憶部100、言明記憶部101、検査内容記憶部102、データ記憶部103、類型化結果記憶部104は、第1の実施形態と同様である。
計算部22は、言明単位抽出部105と、言明構成部106と、データ生成部107と、類型化部108と、検出部200とを備える。
言明単位抽出部105、言明構成部106、データ生成部107、類型化部108は、第1の実施形態と同様である。
検出部200は、予め定めた検査対象と検査内容記憶部102に記憶された無矛盾性を示す検査内容との組に対し、類型化結果記憶部104に記憶された類型化結果との類似度を計算し、計算した類似度に基づいて不整合を検出し、出力部23に検出結果を出力する。
次に、図11に加えて、図12のフローチャートを参照して第2の実施形態の1つの検査対象の無矛盾性iに対する検出部200の動作について詳細に説明する。
検出部200は、まず、無矛盾性の該当数を示す番号であるNmatchを0に初期化する(ステップA25)。
検出部200は、次に、検査内容を示す番号であるmを1に初期化する(ステップA26)。
次に、検出部200は、検査内容記憶部102を参照して、検査内容mの無矛盾性がiかどうかを調べる(ステップA27)。無矛盾性がiならばステップA28に移行し、無矛盾性がiでないならばステップA36に移行する。
検出部200は、無矛盾性がiならば、検査対象と検査内容mとから検査事項を生成する(ステップA28)。
検出部200は、次に、類型化結果を示す番号であるnを1に初期化する(ステップA29)。
次に、検出部200は、検査事項と類型化結果nとの類似度を計算する(ステップA30)。
次に、検出部200は、類似度と予め定めた第二の閾値とを比較する(ステップA31)。第二の閾値は、システムのユーザがキーボードなどの入力部20を介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。類似度が第二の閾値以上ならばステップA34に移行し、第二の閾値未満ならばステップA32に移行する。
ステップA32では、検出部200は、nをインクリメントする。
検出部200は、次に、nと類型化結果数Nとを比較する(ステップA33)。nがN以下ならば、ステップA30に戻り、nがNより大きいならば、ステップA36に移行する。
検出部200は、ステップA31で類似度が第二の閾値以上ならば、Nmatchをインクリメントする(ステップA34)。
検出部200は、次に、該当数Nmatchが2以上であるかを調べる(ステップA35)。2以上ならステップA38に移行し、2未満ならステップA36に移行する。
ステップA36では、検出部200は、mをインクリメントする。
次に、検出部200は、mと検査内容数Mとを比較する(ステップA37)。mがM以下ならばステップA27に戻り、mがMより大きいならばステップA39に移行する。
ステップA38では、検出部200は、不整合ありと検出する。検出結果は、すぐにディスプレイ装置や印刷装置などの出力部23を介して出力してもよいし、記憶しておいてシステムのユーザからのリクエストなどに応じて出力してもよいし、それ以外の様態で出力してもよい。なお、矛盾した部分を示すため、該当する検査内容mと類型化結果nとを記憶しておき、全ての該当する検査内容と類型化結果を同時に出力してもよい。
ステップA39では、検出部200は、不整合なしと検出する。検出結果は、すぐにディスプレイ装置や印刷装置などの出力部23を介して出力してもよいし、記憶しておいてシステムのユーザからのリクエストなどに応じて出力してもよいし、それ以外の様態で出力してもよい。なお、不整合なしは出力しないと指定してもよい。それから、無矛盾性iとある検査対象に対する検出部200の動作を終了する。検出部200のこれらの処理は、全ての無矛盾性i、および、無矛盾性iに適した全ての検査対象について実行することができる。
(第2の実施形態の効果)
第2の実施形態によれば、第1の実施形態と同様に、文書を他の形式に手動で変換せずに言明の不整合を高い精度で検出することができるという効果がある。第2の実施形態は、無矛盾性に関する不整合検出であり、複数が記載されれば矛盾するような検査内容について矛盾を検出することができるという効果がある。
(第3の実施形態)
次に、本発明による不整合検出システムの第3の実施形態について図面を参照して詳細に説明する。第3の実施形態に係る不整合検出システムは、予め定めた検査内容に対し、入力された文書に曖昧な部分があるならば、不整合として検出する。ここで、入力した文書は、提案依頼書や提案書または仕様書とする場合を例として説明する。なお、第1(第2)の実施形態と同様の構成要素については、同一の符号を付し、詳細な説明を省略する。
図13を参照すると、第3の実施形態に係る不整合検出システムは、キーボードなどの入力部30と、情報を記憶する記憶部31と、プログラム制御により動作する計算部32と、ディスプレイ装置や印刷装置などの出力部33とから構成されている。
記憶部31は、言明単位記憶部100と、言明記憶部101と、検査内容記憶部102と、変換語句記憶部300と、データ記憶部103と、類型化結果記憶部104とを備える。
言明単位記憶部100、言明記憶部101、検査内容記憶部102、データ記憶部103、類型化結果記憶部104は、第1(第2)の実施形態と同様である。
変換語句記憶部300は、同義語句や不要語句などの変換語句を記憶する。
図14は、変換語句記憶部300に記憶された変換語句の例を示す説明図である。図14で、1列目が語句の代表語句となる変化後の語句、2列目以降が変換前の語句である。
計算部32は、言明単位抽出部105と、言明構成部106と、データ生成部301と、類型化部108と、検出部302とを備える。
言明単位抽出部105、言明構成部106は、類型化部108は、第1(第2)の実施形態と同様である。
データ生成部301は、言明記憶部101に記憶された言明と検査内容記憶部102に記憶された検査内容とを併合したデータ集合を生成し、変換語句記憶部300に記憶された同義語句や不要語句に基づいてデータ集合のそれぞれのデータを変換し、変換したデータ集合をデータ記憶部103に記憶する。
検出部302は、予め定めた検査対象と検査内容記憶部102に記憶された曖昧性を示す検査内容との組に対し、類型化結果記憶部104に記憶された類型化結果との類似度を計算し、計算した類似度に基づいて不整合を検出し、出力部33に検出結果を出力する。
次に、図13に加えて、図15のフローチャートを参照して第3の実施形態のデータ生成部301の動作について詳細に説明する。
データ生成部301は、まず、言明記憶部101に記憶された言明と検査内容記憶部102に記憶された検査内容とを用いてデータを生成する(ステップA40)。
データ生成部301は、次に、生成したデータに対し変換語句記憶部300を検索し、一致する変換前語句があれば変換後語句へ変換し、変換したデータ集合をデータ記憶部103に記憶する(ステップA41)。
例えば、図14の場合、データ中の“可用性”はそのままで変換されず、“アベイラビリティ”は“可用性”に変換する。データ中の“フォールトトレランス”や“故障許容性”は“耐障害性”に変換する。また、データ中の“とにかく”という単語は削除される。このように、不要語の代表語を空とすることで、同義語の統一と同様の動作で、不要語の削除を行うことができる。変換語句は、一般的な同義語辞書を用いて容易に作成することができ、また、業務用語辞書が用意できるならば、業務用変換語句を追加することができる。なお、コルモゴロフ複雑性の近似計算法を用いる場合、です−ます調と、だ−である調とは類似度が低くなるため、です−ます調を、である調に統一するような変換語句を追加してもよい。
次に、図13に加えて、図16のフローチャートを参照して第3の実施形態の1つの検査対象の非曖昧性iに対する検出部302の動作について詳細に説明する。
検出部302は、まず、非曖昧性がiとなる検査内容を選択し、検査対象と検査内容とで検査事項を生成する(ステップA42)。
図17は、検査内容記憶部102に記憶された検査内容の例を示す説明図である。図17に示すように、1つの非曖昧性は1つの検査内容に対応している。ステップA42の検査事項生成では、例えば、検査対象を任意の対象を示す空列“ ”、区切り記号を空列“
”で、非曖昧性1に対して検出する場合、検査事項は、“将来的に追加される機能にも対応する。”と生成される。
検出部302は、次に、変換語句記憶部300に記憶された変換語句に基づいて検査事項を変換する(ステップA43)。検出部302は、検査事項に対し、変換語句記憶部300を検索し、一致する変換前語句があれば変換後語句へ変換する。ここで、検査事項に対し、一致する変換前語句がなければ、変換後の検査内容は、変換前の検査事項と同じである。
検出部302は、次に、nを1に初期化する(ステップA44)。
次に、検出部302は、検査事項と類型化結果nとの類似度を計算する(ステップA45)。
次に、検出部302は、類似度と予め定めた第二の閾値とを比較する(ステップA46)。第二の閾値は、システムのユーザがキーボードなどの入力部30を介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。類似度が第二の閾値以上ならばステップA47に移行し、第二の閾値未満ならばステップA48に移行する。
ステップA47では、検出部302は、不整合ありと検出する。検出結果は、すぐにディスプレイ装置や印刷装置などの出力部33を介して出力してもよいし、記憶しておいてシステムのユーザからのリクエストなどに応じて出力してもよいし、それ以外の様態で出力してもよい。なお、曖昧性のある部分を示すため、該当する類型化結果nを同時に出力してもよい。そのとき、入力された文書が、“将来的な追加機能にも対応すること。対応すべき追加機能とは、機能A、機能Bである。”などと曖昧性のある部分の周辺で、曖昧性を低減している可能性があるので、言明記憶部101を参照して、類型化結果nのそれぞれのデータに該当する言明を近傍の言明を含めて出力してもよい。ここで、近傍とは、例えば、言明の前後3行などとする。
ステップA48では、検出部302は、nをインクリメントする。
検出部302は、次に、nと類型化結果数Nとを比較する(ステップA49)。nがN以下ならばステップA45に戻り、nがNより大きいならば検出部302の動作を終了する。検出部302のこれらの処理は、全ての非曖昧性i、さまざまな検査対象について実行することができる。
なお、第3の実施形態では、変換語句記憶部を追加し、変換語句記憶部に記憶された変換語句に基づいてデータ生成部や検出部で語句変換を行ったが、第1の実施形態、第2の実施形態でも同様に、変換語句記憶部を追加し、語句変換を行ってもよい。また、第1〜第3の実施形態では、それぞれ、完全性、無矛盾性、非曖昧性を検出したが、それ以外の検査方法を検査内容記憶部に記憶して、検査方法に対応する検出部の動作を設定してもよい。例えば、“365日24時間故障なく動作する”などのリスクの大きい検査内容を予め定めておき、文書に検査内容と類似した部分があるかを検出してもよい。
(第3の実施形態の効果)
第3の実施形態によれば、第1、第2の実施形態と同様に、文書を他の形式に手動で変換せずに言明の不整合を高い精度で検出することができるという効果がある。
第3の実施形態は、非曖昧性に関する不整合検出であり、記載すれば曖昧性があるような検査内容を検出することができるという効果がある。また、同義語句を同義語句の代表語句に変換し、不要語句を削除するという構成のため、意味が同じだが文字列の異なる単語があっても言明の不整合を検出することができるという効果がある。
(第4の実施形態)
次に、本発明による不整合検出システムの第4の実施形態について図面を参照して詳細に説明する。第4の実施形態に係る不整合検出システムは、反映元文書と反映先文書に対応付けできない部分があるならば、不整合として検出する。ここで、入力した文書として、反映元文書が提案依頼書であり反映先文書が提案書の場合、あるいは、反映元文書が提案書であり反映先文書が仕様書の場合を例として説明する。
反映元文書が提案依頼書の場合、提案依頼書に記載されたそれぞれの要求事項に対し、提案書ではその要求事項に対応する実現手段の提案事項を記載する必要がある。また、反映元文書が提案書の場合、提案書に記載されたそれぞれの提案事項に対し、仕様書ではその提案事項に関する要件事項を記載する必要がある。第4の実施形態では、このような要求事項に対する提案事項や、提案事項に対する要件事項との対応付けにより、不整合を検出する。なお、第3の実施形態と同様の構成要素については、同一の符号を付し、詳細な説明を省略する。
図18を参照すると、第4の実施形態に係る不整合検出システムは、キーボードなどの入力部40と、情報を記憶する記憶部41と、プログラム制御により動作する計算部42と、ディスプレイ装置や印刷装置などの出力部43とから構成されている。
記憶部41は、言明単位記憶部400と、言明記憶部401と、変換語句記憶部300と、データ記憶部103と、類型化結果記憶部104とを備える。
言明単位記憶部400は、提案依頼書に対する提案書または提案書に対する仕様書のように、反映元文書と反映先文書である2つの文書から抽出した言明単位を記憶する。
図19は、言明単位記憶部400に記憶される言明単位の例を示す説明図である。図19に示すように、言明単位記憶部400は、言明単位の番号を示すIDと言明単位の内容と文書の番号を示す文書IDとを記憶する。ここで、文書IDは、反映元文書を1、反映先文書を2として記憶する。
言明記憶部401は、言明を内容と文脈との組として、文書IDとともに記憶する。
図20は、言明記憶部401に記憶された言明の例を示す説明図である。図20に示すように、言明記憶部401は、言明を文脈と内容との組として、文書IDとともに記憶する。
変換語句記憶部300、データ記憶部103、類型化結果記憶部104は、第3の実施形態と同様である。
計算部42は、言明単位抽出部402と、言明構成部403と、データ生成部404と、類型化部108と、検出部405とを備える。
言明単位抽出部402は、入力部40を介して入力された反映元文書と反映先文書とを整形し、分割して言明単位を抽出し、文書IDとともに言明単位記憶部400に記憶する。
言明構成部403は、言明単位記憶部400に記憶された言明単位に基づいて言明を構成し、文書IDとともに言明記憶部401に言明の集合を記憶する。
データ生成部404は、言明記憶部401に記憶された言明からデータを生成し、変換語句記憶部300に記憶された変換語句を用いて変換して、変換したデータ集合をデータ記憶部103に記憶する。
類型化部108は、第3の実施形態と同様である。
検出部405は、類型化結果記憶部104に記憶された類型化結果に対し、類型化結果同士の類似度を計算し、計算した類似度に基づいて不整合を検出する。
次に、図18に加えて、図21のフローチャートを参照して第4の実施形態の全体の動作について詳細に説明する。
言明単位抽出部402は、まず、反映元文書および反映先文書を整形して言明単位を抽出し、言明単位記憶部400に記憶する(ステップA50)。反映元文書および反映先文書の整形方法は、例えば、第1の実施形態などと同様である。
次に、言明構成部403は、言明単位を文脈と内容とに分類する(ステップA51)。
言明構成部403は、次に、文脈と内容の組で言明を構成し、言明記憶部401に記憶する(ステップA52)。ここで、文脈と内容とが同じ文書に属する場合に限って言明を構成することとする。例えば、図19に対して、図20の要求を構成する。
次に、データ生成部404は、言明記憶部401に記憶された言明からデータを生成し、変換語句記憶部300に記憶された変換語句に基づいてデータを変換し、データ集合としてデータ記憶部103に記憶する(ステップA53)。第4の実施形態では、第3の実施形態に追加して、反映元文書と反映先文書との対応付けのための変換語句を記憶してもよい。
図22は、変換語句記憶部300に記憶された変換語句の例を示す説明図である。図22に示すように、例えば、提案依頼書における“レスポンス低下なく”などの語句は、提案書では“負荷分散”という解決手段の語句に該当すると指定しておくこともできる。また、提案書での定型語句“提案のポイント”などの語句は、不要として予め定めておくことで削除することもできる。
図23は、データ記憶部103に記憶されたデータ集合の例を示す説明図である。図19の言明単位を図22で変換すると、図23のようになる。
次に、類型化部108は、データ間類似度が第一の閾値未満になるまでデータを類型化し、類型化結果を類型化結果記憶部104に記憶する(ステップA54)。
類型化部108は、次に、類型化結果記憶部104に記憶された類型化結果を順に調べて、反映先文書の言明を1つも含まない類型化結果があれば、類型化結果記憶部104から削除する(ステップA55)。
次に、検出部405は、反映元文書のデータを示す番号iを1に初期化する(ステップA56)。
検出部405は、次に、類型化結果を示す番号jを1に初期化する(ステップA57)。
検出部405は、次に、反映元文書から構成したデータiと類型化結果jとの間の類似度を計算する(ステップA58)。
次に、検出部405は、計算した類似度が第二の閾値以上かどうかを調べる(ステップA59)。ここで、第二の閾値は、システムのユーザがキーボードなどの入力部40を介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。第二の閾値以上ならばステップA63に移行し、第二の閾値未満ならばステップA60に移行する。
ステップA60では、検出部405は、jをインクリメントする。
検出部405は、次に、番号jと類型化結果数Nとを比較する(ステップA61)。jがN以下であればステップA58に戻り、Nより大きければステップA62に移行する。
ステップA62では、検出部405は、不整合ありと検出する。結果の出力方法は、すぐにディスプレイ装置や印刷装置などの出力部43を介して出力してもよいし、記憶しておいてシステムのユーザからのリクエストなどに応じて出力してもよいし、それ以外の様態で出力してもよい。ここで、反映漏れを示すデータiを同時に出力してもよい。
ステップA63では、検出部405は、不整合なしと検出する。結果の出力方法は、すぐにディスプレイ装置や印刷装置などの出力部43を介して出力してもよいし、記憶しておいてシステムのユーザからのリクエストなどに応じて出力してもよいし、それ以外の様態で出力してもよい。なお、不整合なしは出力しないと指定してもよい。
検出部405は、ステップA62の後、iをインクリメントする(ステップA64)。
次に、検出部405は、番号iと反映元文書のデータ数Mとを比較する(ステップA65)。iがM以下であればステップA57に戻り、Mより大きければ処理を終了する。
(第4の実施形態の効果)
第4の実施形態によれば、提案依頼書に対する提案書、または、提案書に対する仕様書のように、反映元文書と反映先文書である2つの文書間から、言明の対応付けを検出するため、反映元文書の反映先文書への言明の反映漏れを検出できるという効果がある。また、第1、第2、第3の実施形態と同様に、文書を他の形式に手動で変換せずに言明の不整合を高い精度で検出することができるという効果がある。
以上、本発明を、複数の実施形態を参照して説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、請求項に記載された本発明の精神や範囲内で当業者が理解し得る様々な変更をすることができる。
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
自然言語で記載された所与の文書を分割して言明単位の集合を抽出する言明単位抽出部と、言明単位を言明の付加情報を示す文脈と言明自身の情報を示す内容とに分類して、文脈と内容との組としてそれぞれの言明を構成する言明構成部と、予め定めた検査内容の集合と前記言明構成部で生成された言明の集合とを併合したデータ集合を生成するデータ生成部と、生成したデータ集合に対し、2つの最も類似したデータをそれら2つのデータの連結で生成した新たな1つのデータへと変換することを繰返して新たなデータ集合を生成し、生成した新たなデータ集合から前記言明構成部で生成された言明を含むデータのみを抽出して類型化結果集合を生成する類型化部と、予め定めた検査対象と検査内容との組でそれぞれの検査事項を生成し、生成した検査事項と類型化結果との類似度に基づいて言明の不整合を検出する検出部と、を含むことを特徴とする不整合検出システム。
(付記2)
前記言明構成部は、それぞれの言明単位を、動詞が含まれるならば内容に分類し、動詞が含まれないならば文脈に分類し、内容とその直前の文脈とを予め定めた区切り記号で区切って連結させて言明を生成し、前記検出部は、検査対象と検査内容とを予め定めた区切り記号で区切って連結させて検査事項を生成することを特徴とする付記1に記載の不整合検出システム。
(付記3)
前記類型化部は、データ間の類似度をコルモゴロフ複雑性の近似計算法に基づいて計算し、全ての2つのデータ間の類似度が予め定めた第一の閾値より小さくなるまで最も類似した2つのデータを連結して新たな1つのデータへと変換することを特徴とする付記1または付記2に記載の不整合検出システム。
(付記4)
前記検出部は、いずれかを記載する必要のある予め定めた複数の検査内容に対し、それら検査内容のうちの1つと検査対象との組で1つの検査事項を作成し、それぞれの検査事項とそれぞれの類型化結果との類似度を計算し、計算した全ての類似度が予め定めた第二の閾値より小さいならば、検査対象の完全性に関する不整合として検出することを特徴とする付記1から付記3までのいずれか1つに記載の不整合検出システム。
(付記5)
前記検出部は、複数を記載すれば矛盾するよう予め定めた複数の検査内容に対し、それら検査内容のうちの1つと検査対象との組で1つの検査事項を生成し、ある検査事項とそれぞれの類型化結果との類似度が予め定めた第二の閾値以上の場合があるならば、その検査事項に該当する類型化結果があると判定し、全ての検査事項のうちで該当する類型化結果がある数が2つ以上ならば、検査対象の無矛盾性に関する不整合として検出することを特徴とする付記1から付記3までのいずれか1つに記載の不整合検出システム。
(付記6)
前記検出部は、曖昧な言明の例として予め定めた1つ以上の検査内容に対し、その検査内容のうちの1つと検査対象との組である1つの検査事項を生成し、類型化結果のいずれかとの類似度が第二の閾値以上であれば、その検査事項の非曖昧性に関する不整合として検出することを特徴とする付記1から付記3までのいずれか1つに記載の不整合検出システム。
(付記7)
前記言明単位抽出部は、所与の反映元文書と反映先文書という2つの文書に対し、言明単位の集合をそれぞれ抽出し、前記データ生成部は、反映元文書から構成された言明を検査内容として反映先文書から構成された言明と併合したデータ集合を作成し、前記類型化部は、生成したデータ集合から生成した新たなデータ集合から反映先文書から構成された言明を含むデータのみを抽出して類型化結果集合を生成し、前記検出部は、反映元文書から構成された言明であるそれぞれの検査事項に対し、それぞれの類型化結果との類似度が全て第二の閾値未満ならば、2つの文書間の不整合として検出することを特徴とする付記1から付記3までのいずれか1つに記載の不整合検出システム。
(付記8)
前記データ生成部は、データを生成した後、予め定めた変換方法でデータを変換し、前記検出部は、検査事項を生成した後、同様の変換方法で検査事項を変換することを特徴とする付記1から付記7までのいずれか1つに記載の不整合検出システム。
(付記9)
前記言明単位抽出部は、提案依頼書や提案書や仕様書などのシステム開発やサービス提供で用いられる文書を分割して言明の意味単位の集合を抽出することを特徴とする付記1から付記8までのいずれか1つに記載に記載の不整合検出システム。
(付記10)
自然言語で記載された所与の文書を分割して言明単位の集合を抽出する言明単位抽出ステップと、言明単位を言明の付加情報を示す文脈と言明自身の情報を示す内容とに分類して、文脈と内容との組としてそれぞれの言明を構成する言明構成ステップと、予め定めた検査内容の集合と前記言明構成ステップで生成された言明の集合とを併合したデータ集合を生成するデータ生成ステップと、生成したデータ集合に対し、2つの最も類似したデータをそれら2つのデータの連結で生成した新たな1つのデータへと変換することを繰返して新たなデータ集合を生成し、生成した新たなデータ集合から前記言明構成ステップで生成された言明を含むデータのみを抽出して類型化結果集合を生成する類型化ステップと、予め定めた検査対象と検査内容との組でそれぞれの検査事項を生成し、生成した検査事項と類型化結果との類似度に基づいて言明の不整合を検出する検出ステップと、を含むことを特徴とする不整合検出方法。
(付記11)
前記言明構成ステップは、それぞれの言明単位を、動詞が含まれるならば内容に分類し、動詞が含まれないならば文脈に分類し、内容とその直前の文脈とを予め定めた区切り記号で区切って連結させて言明を生成し、前記検出ステップは、検査対象と検査内容とを予め定めた区切り記号で区切って連結させて検査事項を生成することを特徴とする付記10に記載の不整合検出方法。
(付記12)
前記類型化ステップは、データ間の類似度をコルモゴロフ複雑性の近似計算法に基づいて計算し、全ての2つのデータ間の類似度が予め定めた第一の閾値より小さくなるまで最も類似した2つのデータを連結して新たな1つのデータへと変換することを特徴とする付記10または付記11に記載の不整合検出方法。
(付記13)
前記検出ステップは、いずれかを記載する必要のある予め定めた複数の検査内容に対し、それら検査内容のうちの1つと検査対象との組で1つの検査事項を作成し、それぞれの検査事項とそれぞれの類型化結果との類似度を計算し、計算した全ての類似度が予め定めた第二の閾値より小さいならば、検査対象の完全性に関する不整合として検出することを特徴とする付記10から付記12までのいずれか1つに記載の不整合検出方法。
(付記14)
前記検出ステップは、複数を記載すれば矛盾するよう予め定めた複数の検査内容に対し、それら検査内容のうちの1つと検査対象との組で1つの検査事項を生成し、ある検査事項とそれぞれの類型化結果との類似度が予め定めた第二の閾値以上の場合があるならば、その検査事項に該当する類型化結果があると判定し、全ての検査事項のうちで該当する類型化結果がある数が2つ以上ならば、検査対象の無矛盾性に関する不整合として検出することを特徴とする付記10から付記12までのいずれか1つに記載の不整合検出方法。
(付記15)
前記検出ステップは、曖昧な言明の例として予め定めた1つ以上の検査内容に対し、その検査内容のうちの1つと検査対象との組である1つの検査事項を生成し、類型化結果のいずれかとの類似度が第二の閾値以上であれば、その検査事項の非曖昧性に関する不整合として検出することを特徴とする付記10から付記12までのいずれか1つに記載の不整合検出方法。
(付記16)
前記言明単位抽出ステップは、所与の反映元文書と反映先文書という2つの文書に対し、言明単位の集合をそれぞれ抽出し、前記データ生成ステップは、反映元文書から構成された言明を検査内容として反映先文書から構成された言明と併合したデータ集合を作成し、前記類型化ステップは、生成したデータ集合から生成した新たなデータ集合から反映先文書から構成された言明を含むデータのみを抽出して類型化結果集合を生成し、前記検出ステップは、反映元文書から構成された言明であるそれぞれの検査事項に対し、それぞれの類型化結果との類似度が全て第二の閾値未満ならば、2つの文書間の不整合として検出することを特徴とする付記10から付記12までのいずれか1つに記載の不整合検出方法。
(付記17)
前記データ生成ステップは、データを生成した後、予め定めた変換方法でデータを変換し、前記検出ステップは、検査事項を生成した後、同様の変換方法で検査事項を変換することを特徴とする付記10から付記16までのいずれか1つに記載の不整合検出方法。
(付記18)
前記言明単位抽出ステップは、提案依頼書や提案書や仕様書などのシステム開発やサービス提供で用いられる文書を分割して言明の意味単位の集合を抽出することを特徴とする付記10から付記17までのいずれか1つに記載に記載の不整合検出方法。
(付記19)
自然言語で記載された所与の文書を分割して言明単位の集合を抽出する言明単位抽出処理と、言明単位を言明の付加情報を示す文脈と言明自身の情報を示す内容とに分類して、文脈と内容との組としてそれぞれの言明を構成する言明構成処理と、予め定めた検査内容の集合と前記言明構成処理で生成された言明の集合とを併合したデータ集合を生成するデータ生成処理と、生成したデータ集合に対し、2つの最も類似したデータをそれら2つのデータの連結で生成した新たな1つのデータへと変換することを繰返して新たなデータ集合を生成し、生成した新たなデータ集合から前記言明構成処理で生成された言明を含むデータのみを抽出して類型化結果集合を生成する類型化処理と、予め定めた検査対象と検査内容との組でそれぞれの検査事項を生成し、生成した検査事項と類型化結果との類似度に基づいて言明の不整合を検出する検出処理と、をコンピュータに実行させるための不整合検出プログラム。
(付記20)
前記言明構成処理は、それぞれの言明単位を、動詞が含まれるならば内容に分類し、動詞が含まれないならば文脈に分類し、内容とその直前の文脈とを予め定めた区切り記号で区切って連結させて言明を生成し、前記検出処理は、検査対象と検査内容とを予め定めた区切り記号で区切って連結させて検査事項を生成することを前記コンピュータに実行させるための付記19に記載の不整合検出プログラム。
(付記21)
前記類型化処理は、データ間の類似度をコルモゴロフ複雑性の近似計算法に基づいて計算し、全ての2つのデータ間の類似度が予め定めた第一の閾値より小さくなるまで最も類似した2つのデータを連結して新たな1つのデータへと変換することを前記コンピュータに実行させるための付記19または付記20に記載の不整合検出プログラム。
(付記22)
前記検出処理は、いずれかを記載する必要のある予め定めた複数の検査内容に対し、それら検査内容のうちの1つと検査対象との組で1つの検査事項を作成し、それぞれの検査事項とそれぞれの類型化結果との類似度を計算し、計算した全ての類似度が予め定めた第二の閾値より小さいならば、検査対象の完全性に関する不整合として検出することを前記コンピュータに実行させるための付記19から付記21までのいずれか1つに記載の不整合検出プログラム。
(付記23)
前記検出処理は、複数を記載すれば矛盾するよう予め定めた複数の検査内容に対し、それら検査内容のうちの1つと検査対象との組で1つの検査事項を生成し、ある検査事項とそれぞれの類型化結果との類似度が予め定めた第二の閾値以上の場合があるならば、その検査事項に該当する類型化結果があると判定し、全ての検査事項のうちで該当する類型化結果がある数が2つ以上ならば、検査対象の無矛盾性に関する不整合として検出することを前記コンピュータに実行させるための付記19から付記21までのいずれか1つに記載の不整合検出プログラム。
(付記24)
前記検出処理は、曖昧な言明の例として予め定めた1つ以上の検査内容に対し、その検査内容のうちの1つと検査対象との組である1つの検査事項を生成し、類型化結果のいずれかとの類似度が第二の閾値以上であれば、その検査事項の非曖昧性に関する不整合として検出することを前記コンピュータに実行させるための付記19から付記21までのいずれか1つに記載の不整合検出プログラム。
(付記25)
前記言明単位抽出処理は、所与の反映元文書と反映先文書という2つの文書に対し、言明単位の集合をそれぞれ抽出し、前記データ生成処理は、反映元文書から構成された言明を検査内容として反映先文書から構成された言明と併合したデータ集合を作成し、前記類型化処理は、生成したデータ集合から生成した新たなデータ集合から反映先文書から構成された言明を含むデータのみを抽出して類型化結果集合を生成し、前記検出処理は、反映元文書から構成された言明であるそれぞれの検査事項に対し、それぞれの類型化結果との類似度が全て第二の閾値未満ならば、2つの文書間の不整合として検出することを前記コンピュータに実行させるための付記19から付記21までのいずれか1つに記載の不整合検出プログラム。
(付記26)
前記データ生成処理は、データを生成した後、予め定めた変換方法でデータを変換し、前記検出処理は、検査事項を生成した後、同様の変換方法で検査事項を変換することを前記コンピュータに実行させるための付記19から付記25までのいずれか1つに記載の不整合検出プログラム。
(付記27)
前記言明単位抽出処理は、提案依頼書や提案書や仕様書などのシステム開発やサービス提供で用いられる文書を分割して言明の意味単位の集合を抽出することを前記コンピュータに実行させるための付記19から付記26までのいずれか1つに記載に記載の不整合検出プログラム。
この出願は、2010年4月12日に出願された日本出願特願2010−091230号を基礎とする優先権を主張し、その開示のすべてをここに取り込む。
10、20、30、40 入力部
11、21、31、41 記憶部
12、22、32、42 計算部
13、23、33、43 出力部

Claims (12)

  1. 自然言語で記載された所与の文書を分割して言明単位の集合を抽出する言明単位抽出部と、
    言明単位を言明の付加情報を示す文脈と言明自身の情報を示す内容とに分類して、文脈と内容との組としてそれぞれの言明を構成する言明構成部と、
    予め定めた検査内容の集合と前記言明構成部で生成された言明の集合とを併合したデータ集合を生成するデータ生成部と、
    生成したデータ集合に対し、データを構成している検査内容、言明において2つの最も類似したデータをそれら2つのデータの連結で生成した新たな1つのデータへと変換することを繰返して新たなデータ集合を生成し、生成した新たなデータ集合から前記言明構成部で生成された言明を含むデータのみを抽出して類型化結果集合を生成する類型化部と、
    予め定めた検査対象と検査内容との組でそれぞれの検査事項を生成し、生成した検査事項と類型化結果との類似度に基づいて言明の不整合を検出する検出部と、を含み、
    前記言明構成部は、それぞれの言明単位を、動詞が含まれるならば内容に分類し、動詞が含まれないならば文脈に分類し、内容とその直前の文脈とを予め定めた区切り記号で区切って連結させて言明を生成し、前記検出部は、検査対象と検査内容とを予め定めた区切り記号で区切って連結させて検査事項を生成し、
    前記検出部は更に、いずれかを記載する必要のある予め定めた複数の検査内容に対し、それら検査内容のうちの1つと検査対象との組で1つの検査事項を作成し、それぞれの検査事項とそれぞれの類型化結果との類似度を計算し、計算した全ての類似度が予め定めた第二の閾値より小さいならば、検査対象の完全性に関する不整合として検出することを特徴とする不整合検出システム。
  2. 自然言語で記載された所与の文書を分割して言明単位の集合を抽出する言明単位抽出部と、
    言明単位を言明の付加情報を示す文脈と言明自身の情報を示す内容とに分類して、文脈と内容との組としてそれぞれの言明を構成する言明構成部と、
    予め定めた検査内容の集合と前記言明構成部で生成された言明の集合とを併合したデータ集合を生成するデータ生成部と、
    生成したデータ集合に対し、データを構成している検査内容、言明において2つの最も類似したデータをそれら2つのデータの連結で生成した新たな1つのデータへと変換することを繰返して新たなデータ集合を生成し、生成した新たなデータ集合から前記言明構成部で生成された言明を含むデータのみを抽出して類型化結果集合を生成する類型化部と、
    予め定めた検査対象と検査内容との組でそれぞれの検査事項を生成し、生成した検査事項と類型化結果との類似度に基づいて言明の不整合を検出する検出部と、を含み、
    前記言明構成部は、それぞれの言明単位を、動詞が含まれるならば内容に分類し、動詞が含まれないならば文脈に分類し、内容とその直前の文脈とを予め定めた区切り記号で区切って連結させて言明を生成し、前記検出部は、検査対象と検査内容とを予め定めた区切り記号で区切って連結させて検査事項を生成し、
    前記検出部は更に、複数を記載すれば矛盾するよう予め定めた複数の検査内容に対し、それら検査内容のうちの1つと検査対象との組で1つの検査事項を生成し、ある検査事項とそれぞれの類型化結果との類似度が予め定めた第二の閾値以上の場合があるならば、その検査事項に該当する類型化結果があると判定し、全ての検査事項のうちで該当する類型化結果がある数が2つ以上ならば、検査対象の無矛盾性に関する不整合として検出することを特徴とする不整合検出システム。
  3. 自然言語で記載された所与の文書を分割して言明単位の集合を抽出する言明単位抽出部と、
    言明単位を言明の付加情報を示す文脈と言明自身の情報を示す内容とに分類して、文脈と内容との組としてそれぞれの言明を構成する言明構成部と、
    予め定めた検査内容の集合と前記言明構成部で生成された言明の集合とを併合したデータ集合を生成するデータ生成部と、
    生成したデータ集合に対し、データを構成している検査内容、言明において2つの最も類似したデータをそれら2つのデータの連結で生成した新たな1つのデータへと変換することを繰返して新たなデータ集合を生成し、生成した新たなデータ集合から前記言明構成部で生成された言明を含むデータのみを抽出して類型化結果集合を生成する類型化部と、
    予め定めた検査対象と検査内容との組でそれぞれの検査事項を生成し、生成した検査事項と類型化結果との類似度に基づいて言明の不整合を検出する検出部と、を含み、
    前記言明構成部は、それぞれの言明単位を、動詞が含まれるならば内容に分類し、動詞が含まれないならば文脈に分類し、内容とその直前の文脈とを予め定めた区切り記号で区切って連結させて言明を生成し、前記検出部は、検査対象と検査内容とを予め定めた区切り記号で区切って連結させて検査事項を生成し、
    前記検出部は更に、曖昧な言明の例として予め定めた1つ以上の検査内容に対し、その検査内容のうちの1つと検査対象との組である1つの検査事項を生成し、類型化結果のいずれかとの類似度が第二の閾値以上であれば、その検査事項の非曖昧性に関する不整合として検出することを特徴とする不整合検出システム。
  4. 前記類型化部は、データ間の類似度をコルモゴロフ複雑性の近似計算法に基づいて計算し、全ての2つのデータ間の類似度が予め定めた第一の閾値より小さくなるまで最も類似した2つのデータを連結して新たな1つのデータへと変換することを特徴とする請求項1から請求項3までのいずれか1項に記載の不整合検出システム。
  5. 前記言明単位抽出部は、所与の反映元文書と反映先文書という2つの文書に対し、言明単位の集合をそれぞれ抽出し、前記データ生成部は、反映元文書から構成された言明を検査内容として反映先文書から構成された言明と併合したデータ集合を作成し、前記類型化部は、生成したデータ集合から生成した新たなデータ集合から反映先文書から構成された言明を含むデータのみを抽出して類型化結果集合を生成し、前記検出部は、反映元文書から構成された言明であるそれぞれの検査事項に対し、それぞれの類型化結果との類似度が全て第二の閾値未満ならば、2つの文書間の不整合として検出することを特徴とする請求項1から請求項までのいずれか1項に記載の不整合検出システム。
  6. 前記データ生成部は、データを生成した後、予め定めた変換方法でデータを変換し、前記検出部は、検査事項を生成した後、同様の変換方法で検査事項を変換することを特徴とする請求項1から請求項までのいずれか1項に記載の不整合検出システム。
  7. 文書の不整合を検出する不整合検出システムによって実行される不整合検出方法であって、
    自然言語で記載された所与の文書を分割して言明単位の集合を抽出し、
    言明単位を言明の付加情報を示す文脈と言明自身の情報を示す内容とに分類して、文脈と内容との組としてそれぞれの言明を構成し、
    予め定めた検査内容の集合と前記言明の構成で生成された言明の集合とを併合したデータ集合を生成し、
    生成したデータ集合に対し、データを構成している検査内容、言明において2つの最も類似したデータをそれら2つのデータの連結で生成した新たな1つのデータへと変換することを繰返して新たなデータ集合を生成し、生成した新たなデータ集合から前記言明の構成で生成された言明を含むデータのみを抽出して類型化結果集合を生成し、
    予め定めた検査対象と検査内容との組でそれぞれの検査事項を生成し、生成した検査事項と類型化結果との類似度に基づいて言明の不整合を検出
    前記言明の構成においては、それぞれの言明単位を、動詞が含まれるならば内容に分類し、動詞が含まれないならば文脈に分類し、内容とその直前の文脈とを予め定めた区切り記号で区切って連結させて言明を生成し、前記言明の不整合の検出においては、検査対象と検査内容とを予め定めた区切り記号で区切って連結させて検査事項を生成し、
    前記言明の不整合の検出においては更に、いずれかを記載する必要のある予め定めた複数の検査内容に対し、それら検査内容のうちの1つと検査対象との組で1つの検査事項を作成し、それぞれの検査事項とそれぞれの類型化結果との類似度を計算し、計算した全ての類似度が予め定めた第二の閾値より小さいならば、検査対象の完全性に関する不整合として検出することを特徴とする、不整合検出システムによって実行される不整合検出方法。
  8. 文書の不整合を検出する不整合検出システムによって実行される不整合検出方法であって、
    自然言語で記載された所与の文書を分割して言明単位の集合を抽出し、
    言明単位を言明の付加情報を示す文脈と言明自身の情報を示す内容とに分類して、文脈と内容との組としてそれぞれの言明を構成し、
    予め定めた検査内容の集合と前記言明の構成で生成された言明の集合とを併合したデータ集合を生成し、
    生成したデータ集合に対し、データを構成している検査内容、言明において2つの最も類似したデータをそれら2つのデータの連結で生成した新たな1つのデータへと変換することを繰返して新たなデータ集合を生成し、生成した新たなデータ集合から前記言明の構成で生成された言明を含むデータのみを抽出して類型化結果集合を生成し、
    予め定めた検査対象と検査内容との組でそれぞれの検査事項を生成し、生成した検査事項と類型化結果との類似度に基づいて言明の不整合を検出し
    前記言明の構成においては、それぞれの言明単位を、動詞が含まれるならば内容に分類し、動詞が含まれないならば文脈に分類し、内容とその直前の文脈とを予め定めた区切り記号で区切って連結させて言明を生成し、前記言明の不整合の検出においては、検査対象と検査内容とを予め定めた区切り記号で区切って連結させて検査事項を生成し、
    前記言明の不整合の検出においては更に、複数を記載すれば矛盾するよう予め定めた複数の検査内容に対し、それら検査内容のうちの1つと検査対象との組で1つの検査事項を生成し、ある検査事項とそれぞれの類型化結果との類似度が予め定めた第二の閾値以上の場合があるならば、その検査事項に該当する類型化結果があると判定し、全ての検査事項のうちで該当する類型化結果がある数が2つ以上ならば、検査対象の無矛盾性に関する不整合として検出することを特徴とする、不整合検出システムによって実行される不整合検出方法。
  9. 文書の不整合を検出する不整合検出システムによって実行される不整合検出方法であって、
    自然言語で記載された所与の文書を分割して言明単位の集合を抽出し、
    言明単位を言明の付加情報を示す文脈と言明自身の情報を示す内容とに分類して、文脈と内容との組としてそれぞれの言明を構成し、
    予め定めた検査内容の集合と前記言明の構成で生成された言明の集合とを併合したデータ集合を生成し、
    生成したデータ集合に対し、データを構成している検査内容、言明において2つの最も類似したデータをそれら2つのデータの連結で生成した新たな1つのデータへと変換することを繰返して新たなデータ集合を生成し、生成した新たなデータ集合から前記言明の構成で生成された言明を含むデータのみを抽出して類型化結果集合を生成し、
    予め定めた検査対象と検査内容との組でそれぞれの検査事項を生成し、生成した検査事項と類型化結果との類似度に基づいて言明の不整合を検出し
    前記言明の構成においては、それぞれの言明単位を、動詞が含まれるならば内容に分類し、動詞が含まれないならば文脈に分類し、内容とその直前の文脈とを予め定めた区切り記号で区切って連結させて言明を生成し、前記言明の不整合の検出においては、検査対象と検査内容とを予め定めた区切り記号で区切って連結させて検査事項を生成し、
    前記言明の不整合の検出においては更に、曖昧な言明の例として予め定めた1つ以上の検査内容に対し、その検査内容のうちの1つと検査対象との組である1つの検査事項を生成し、類型化結果のいずれかとの類似度が第二の閾値以上であれば、その検査事項の非曖昧性に関する不整合として検出することを特徴とする、不整合検出システムによって実行される不整合検出方法。
  10. 自然言語で記載された所与の文書を分割して言明単位の集合を抽出する言明単位抽出処理と、言明単位を言明の付加情報を示す文脈と言明自身の情報を示す内容とに分類して、文脈と内容との組としてそれぞれの言明を構成する言明構成処理と、予め定めた検査内容の集合と前記言明構成処理で生成された言明の集合とを併合したデータ集合を生成するデータ生成処理と、生成したデータ集合に対し、データを構成している検査内容、言明において2つの最も類似したデータをそれら2つのデータの連結で生成した新たな1つのデータへと変換することを繰返して新たなデータ集合を生成し、生成した新たなデータ集合から前記言明構成処理で生成された言明を含むデータのみを抽出して類型化結果集合を生成する類型化処理と、予め定めた検査対象と検査内容との組でそれぞれの検査事項を生成し、生成した検査事項と類型化結果との類似度に基づいて言明の不整合を検出する検出処理と、をコンピュータに実行させるための不整合検出プログラムであって、
    コンピュータに更に、前記言明構成処理において、それぞれの言明単位を、動詞が含まれるならば内容に分類し、動詞が含まれないならば文脈に分類し、内容とその直前の文脈とを予め定めた区切り記号で区切って連結させて言明を生成する処理を実行させると共に、前記言明の不整合を検出する検出処理において、検査対象と検査内容とを予め定めた区切り記号で区切って連結させて検査事項を生成する処理を実行させ、
    前記言明の不整合を検出する検出処理においては更に、コンピュータに、いずれかを記載する必要のある予め定めた複数の検査内容に対し、それら検査内容のうちの1つと検査対象との組で1つの検査事項を作成し、それぞれの検査事項とそれぞれの類型化結果との類似度を計算し、計算した全ての類似度が予め定めた第二の閾値より小さいならば、検査対象の完全性に関する不整合として検出する処理を実行させることを特徴とする不整合検出プログラム
  11. 自然言語で記載された所与の文書を分割して言明単位の集合を抽出する言明単位抽出処理と、言明単位を言明の付加情報を示す文脈と言明自身の情報を示す内容とに分類して、文脈と内容との組としてそれぞれの言明を構成する言明構成処理と、予め定めた検査内容の集合と前記言明構成処理で生成された言明の集合とを併合したデータ集合を生成するデータ生成処理と、生成したデータ集合に対し、データを構成している検査内容、言明において2つの最も類似したデータをそれら2つのデータの連結で生成した新たな1つのデータへと変換することを繰返して新たなデータ集合を生成し、生成した新たなデータ集合から前記言明構成処理で生成された言明を含むデータのみを抽出して類型化結果集合を生成する類型化処理と、予め定めた検査対象と検査内容との組でそれぞれの検査事項を生成し、生成した検査事項と類型化結果との類似度に基づいて言明の不整合を検出する検出処理と、をコンピュータに実行させるための不整合検出プログラムであって、
    コンピュータに更に、前記言明構成処理において、それぞれの言明単位を、動詞が含まれるならば内容に分類し、動詞が含まれないならば文脈に分類し、内容とその直前の文脈とを予め定めた区切り記号で区切って連結させて言明を生成する処理を実行させると共に、前記言明の不整合を検出する検出処理において、検査対象と検査内容とを予め定めた区切り記号で区切って連結させて検査事項を生成する処理を実行させ、
    前記言明の不整合を検出する検出処理においては更に、コンピュータに、複数を記載すれば矛盾するよう予め定めた複数の検査内容に対し、それら検査内容のうちの1つと検査対象との組で1つの検査事項を生成し、ある検査事項とそれぞれの類型化結果との類似度が予め定めた第二の閾値以上の場合があるならば、その検査事項に該当する類型化結果があると判定し、全ての検査事項のうちで該当する類型化結果がある数が2つ以上ならば、検査対象の無矛盾性に関する不整合として検出する処理を実行させることを特徴とする不整合検出プログラム
  12. 自然言語で記載された所与の文書を分割して言明単位の集合を抽出する言明単位抽出処理と、言明単位を言明の付加情報を示す文脈と言明自身の情報を示す内容とに分類して、文脈と内容との組としてそれぞれの言明を構成する言明構成処理と、予め定めた検査内容の集合と前記言明構成処理で生成された言明の集合とを併合したデータ集合を生成するデータ生成処理と、生成したデータ集合に対し、データを構成している検査内容、言明において2つの最も類似したデータをそれら2つのデータの連結で生成した新たな1つのデータへと変換することを繰返して新たなデータ集合を生成し、生成した新たなデータ集合から前記言明構成処理で生成された言明を含むデータのみを抽出して類型化結果集合を生成する類型化処理と、予め定めた検査対象と検査内容との組でそれぞれの検査事項を生成し、生成した検査事項と類型化結果との類似度に基づいて言明の不整合を検出する検出処理と、をコンピュータに実行させるための不整合検出プログラムであって、
    コンピュータに更に、前記言明構成処理において、それぞれの言明単位を、動詞が含まれるならば内容に分類し、動詞が含まれないならば文脈に分類し、内容とその直前の文脈とを予め定めた区切り記号で区切って連結させて言明を生成する処理を実行させると共に、前記言明の不整合を検出する検出処理において、検査対象と検査内容とを予め定めた区切り記号で区切って連結させて検査事項を生成する処理を実行させ、
    前記言明の不整合を検出する検出処理においては更に、コンピュータに、曖昧な言明の例として予め定めた1つ以上の検査内容に対し、その検査内容のうちの1つと検査対象との組である1つの検査事項を生成し、類型化結果のいずれかとの類似度が第二の閾値以上であれば、その検査事項の非曖昧性に関する不整合として検出する処理を実行させることを特徴とする不整合検出プログラム。
JP2012510614A 2010-04-12 2011-03-25 不整合検出システム、方法、およびプログラム Expired - Fee Related JP5751431B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012510614A JP5751431B2 (ja) 2010-04-12 2011-03-25 不整合検出システム、方法、およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010091230 2010-04-12
JP2010091230 2010-04-12
PCT/JP2011/058370 WO2011129198A1 (ja) 2010-04-12 2011-03-25 不整合検出システム、方法、およびプログラム
JP2012510614A JP5751431B2 (ja) 2010-04-12 2011-03-25 不整合検出システム、方法、およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2011129198A1 JPWO2011129198A1 (ja) 2013-07-18
JP5751431B2 true JP5751431B2 (ja) 2015-07-22

Family

ID=44798576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012510614A Expired - Fee Related JP5751431B2 (ja) 2010-04-12 2011-03-25 不整合検出システム、方法、およびプログラム

Country Status (3)

Country Link
US (1) US9015161B2 (ja)
JP (1) JP5751431B2 (ja)
WO (1) WO2011129198A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5915841B2 (ja) * 2011-12-15 2016-05-11 日本電気株式会社 整合性判定システム、方法およびプログラム
KR101636902B1 (ko) * 2012-08-23 2016-07-06 에스케이텔레콤 주식회사 문법의 오류 검출 방법 및 이를 위한 장치
JP6172447B2 (ja) * 2013-05-22 2017-08-02 日本電気株式会社 関連性判定システム、方法、およびプログラム
US9262465B1 (en) * 2013-12-18 2016-02-16 Amazon Technologies, Inc. Detection of mismatch between book content and description
JP6528763B2 (ja) * 2014-03-28 2019-06-12 日本電気株式会社 整合チェック箇所推定装置、整合チェックシステム、整合チェック箇所推定方法、および、整合チェック箇所推定プログラム
US10503480B2 (en) * 2014-04-30 2019-12-10 Ent. Services Development Corporation Lp Correlation based instruments discovery
JP2019148947A (ja) * 2018-02-27 2019-09-05 株式会社アミット 作成文書修正支援システム、作成文書修正支援方法および作成文書修正支援プログラム
CN113434413B (zh) * 2021-06-28 2023-06-06 平安银行股份有限公司 基于数据差异的数据测试方法、装置、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05119987A (ja) 1991-10-30 1993-05-18 Hitachi Ltd 動的仕様の検証ルールの図形式定義方法
US7130837B2 (en) * 2002-03-22 2006-10-31 Xerox Corporation Systems and methods for determining the topic structure of a portion of text
JP4946651B2 (ja) 2007-06-15 2012-06-06 富士通株式会社 仕様検証プログラム、該プログラムを記録したコンピュータに読み取り可能な記録媒体、仕様検証装置、および仕様検証方法
JP2009075681A (ja) 2007-09-18 2009-04-09 Fuji Electric Holdings Co Ltd イベント駆動型ソフトウェア用仕様記述支援装置
JP5005510B2 (ja) 2007-11-07 2012-08-22 株式会社日立製作所 ソフトウェアの設計支援方法、設計支援装置及び設計支援プログラム
US8606796B2 (en) * 2008-09-15 2013-12-10 Kilac, LLC Method and system for creating a data profile engine, tool creation engines and product interfaces for identifying and analyzing files and sections of files

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSNG199800021009; 田中克己: '自然言語による仕様記述文解析のための知識の取り扱いについて' 情報処理学会研究報告 Vol.92,No.70(92-AI-84), 19920910, 81-89頁, 社団法人情報処理学会 *
CSNG200900541013; 大西淳 他1名: '要求工学における人工知能技術' 人工知能学会誌 第24巻第6号, 20091101, 898-905頁, 社団法人人工知能学会 *
CSNH199900201009; 田中克己 他2名: '自然言語による仕様書記述理解' 東芝レビュー 48巻6号, 19930601, 467-470頁, 株式会社東芝 *
JPN6015001826; 田中克己: '自然言語による仕様記述文解析のための知識の取り扱いについて' 情報処理学会研究報告 Vol.92,No.70(92-AI-84), 19920910, 81-89頁, 社団法人情報処理学会 *
JPN6015001829; 田中克己 他2名: '自然言語による仕様書記述理解' 東芝レビュー 48巻6号, 19930601, 467-470頁, 株式会社東芝 *
JPN6015001833; 大西淳 他1名: '要求工学における人工知能技術' 人工知能学会誌 第24巻第6号, 20091101, 898-905頁, 社団法人人工知能学会 *

Also Published As

Publication number Publication date
JPWO2011129198A1 (ja) 2013-07-18
US9015161B2 (en) 2015-04-21
WO2011129198A1 (ja) 2011-10-20
US20130031098A1 (en) 2013-01-31

Similar Documents

Publication Publication Date Title
JP5751431B2 (ja) 不整合検出システム、方法、およびプログラム
US10970536B2 (en) Method and system for assessing similarity of documents
JP5862893B2 (ja) 文書分析システム、文書分析方法及び文書分析プログラム
US9087047B2 (en) Text proofreading apparatus and text proofreading method using post-proofreading sentence with highest degree of similarity
JP5716328B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
CN109460552B (zh) 基于规则和语料库的汉语语病自动检测方法及设备
US11593557B2 (en) Domain-specific grammar correction system, server and method for academic text
JP2013105321A (ja) 文書処理装置、文書構成要素間の関係解析方法およびプログラム
CN114116973A (zh) 多文档的文本查重方法、电子设备及存储介质
Aziz et al. A hybrid model for spelling error detection and correction for Urdu language
KR101663038B1 (ko) 개체의 표면형 문자열 용례학습기반에 의한 텍스트에서의 개체 범위 인식 장치 및 그 방법
Islam et al. Correcting different types of errors in texts
JPWO2009113289A1 (ja) 新規事例生成装置、新規事例生成方法及び新規事例生成用プログラム
RU2643438C2 (ru) Обнаружение языковой неоднозначности в тексте
Luong et al. Word graph-based multi-sentence compression: Re-ranking candidates using frequent words
JP5795302B2 (ja) 形態素解析装置、方法、及びプログラム
JP6303508B2 (ja) 文書分析装置、文書分析システム、文書分析方法およびプログラム
Mitrpanont et al. TH_WSD: Thai word sense disambiguation using cross-language knowledge sources approach
Naeem et al. Exploiting Transliterated Words for Finding Similarity in Inter-Language News Articles using Machine Learning
JP4192142B2 (ja) 辞書登録装置、辞書登録方法および辞書登録プログラム
Nguyen et al. Medical Prescription Recognition Using Heuristic Clustering and Similarity Search
JP5212725B2 (ja) 電子書籍作成支援装置
Angle et al. Kannada morpheme segmentation using machine learning
US9372850B1 (en) Machined book detection
JP5915841B2 (ja) 整合性判定システム、方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150323

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150422

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150505

R150 Certificate of patent or registration of utility model

Ref document number: 5751431

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees