(57)【要約】【課題】文書において欠落しているデータを補完する。【解決手段】本不整合検出装置は、文章から抽出された自立語群と当該文章に含まれる項目名及び当該項目名の定義を含む項目定義から抽出された項目名群とを文書毎に格納する文書ＤＢと、診断対象の文書の自立語群及び項目名群を格納するデータ格納部と、診断対象の文書と類似する文書である類似文書を文書ＤＢから特定し、当該類似文書の自立語群及び項目名群を文書データベースから抽出する手段と、データ格納部に格納されている自立語群に含まれる自立語に一致する項目名を、類似文書の項目名群から抽出する手段と、抽出された項目名のうち、データ格納部に格納されている項目名群に含まれていない項目名を不整合項目名として特定する手段とを有する。【選択図】図２
2014160486.tif 000002
【特許請求の範囲】
【請求項１】
処理に関連する項目名を定義する項目定義データ及び当該処理の内容を定義する処理詳細データを処理毎に格納するデータベースと、
前記データベースから、第１の項目定義データ及び当該第１の項目定義データに対応する第１の処理詳細データを読み出し、当該第１の項目定義データに定義されており且つ当該第１の処理詳細データに含まれていない項目名を不整合項目名として抽出する項目抽出部と、
前記データベースに格納されている処理詳細データのうち前記不整合項目名を含む第２の処理詳細データについて、前記不整合項目名が前記第２の処理詳細データに出現する位置を特定し、当該位置を表す位置情報を記憶装置に格納する補充データ特定部と、
前記データベースから、前記第１の項目定義データ及び前記第２の処理詳細データに対応する第２の項目定義データに共に定義されている項目名を共通項目名として抽出し、当該共通項目名が前記第１の処理詳細データ及び前記第２の処理詳細データにおいて出現する位置をそれぞれ特定し、当該位置を表す位置情報を前記共通項目名に対応付けて前記記憶装置に格納する対応位置特定部と、
前記記憶装置に格納されているデータを用いて、前記共通項目名のうち、前記第２の処理詳細データにおいて前記不整合項目名の直前に出現する共通項目名及び直後に出現する共通項目名を直前項目名及び直後項目名として特定する範囲特定部と、
を有する修正支援装置。
【請求項２】
前記第２の処理詳細データから、前記不整合項目名の前後それぞれ特定の範囲に含まれるデータをウィンドウ・データとして抽出する処理を、前記特定の範囲を変化させつつ実施するウィンドウ生成部と、
前記第１の処理詳細データにおける、前記直前項目名及び前記直後項目名で挟まれた範囲において、前記ウィンドウ生成部により抽出された前記ウィンドウ・データの各々について当該ウィンドウ・データとの類似度が最も高い位置を探索し、前記ウィンドウ・データの各々について検出された位置のうち類似度が最も高い位置を、前記不整合項目名に関するデータが欠落している位置として特定する探索部と、
をさらに有する請求項１記載の修正支援装置。
【請求項３】
前記第２の処理詳細データにおける前記不整合項目名の前後において、処理内容の区切りを表すデータをそれぞれ特定し、当該処理内容の区切りを表すデータで挟まれた範囲に含まれるデータをウィンドウ・データとして抽出するウィンドウ生成部と、
前記第１の処理詳細データにおける、前記直前項目名及び前記直後項目名で挟まれた範囲において、前記ウィンドウ生成部により抽出された前記ウィンドウ・データとの類似度が最も高い位置を、前記不整合項目名に関するデータが欠落している位置として特定する探索部と、
をさらに有する請求項１記載の修正支援装置。
【請求項４】
前記対応位置特定部は、
前記第１の項目定義データにおいて前記共通項目名が出現する順序に従い、前記共通項目名が前記第１の処理詳細データにおいて出現する位置を表す位置情報と、前記共通項目名が前記第２の処理詳細データにおいて出現する位置を表す位置情報とを対応付ける
ことを特徴とする請求項１乃至３のいずれか１つ記載の修正支援装置。
【請求項５】
前記第２の処理詳細データは、前記不整合項目名を含み且つ前記第１の処理詳細データとの類似度が高い
ことを特徴とする請求項１乃至４のいずれか１つ記載の修正支援装置。
【請求項６】
処理に関連する項目名を定義する項目定義データ及び当該処理の内容を定義する処理詳細データを処理毎に格納するデータベースから、第１の項目定義データ及び当該第１の項目定義データに対応する第１の処理詳細データを読み出し、当該第１の項目定義データに定義されており且つ当該第１の処理詳細データに含まれていない項目名を不整合項目名として抽出するステップと、
前記データベースに格納されている処理詳細データのうち前記不整合項目名を含む第２の処理詳細データについて、前記不整合項目名が前記第２の処理詳細データに出現する位置を特定し、当該位置を表す位置情報を記憶装置に格納するステップと、
前記データベースから、前記第１の項目定義データ及び前記第２の処理詳細データに対応する第２の項目定義データに共に定義されている項目名を共通項目名として抽出し、当該共通項目名が前記第１の処理詳細データ及び前記第２の処理詳細データにおいて出現する位置をそれぞれ特定し、当該位置を表す位置情報を前記共通項目名に対応付けて前記記憶装置に格納するステップと、
前記記憶装置に格納されているデータを用いて、前記共通項目名のうち、前記第２の処理詳細データにおいて前記不整合項目名の直前に出現する共通項目名及び直後に出現する共通項目名を特定するステップと、
を含み、コンピュータにより実行される修正支援方法。
【請求項７】
処理に関連する項目名を定義する項目定義データ及び当該処理の内容を定義する処理詳細データを処理毎に格納するデータベースから、第１の項目定義データ及び当該第１の項目定義データに対応する第１の処理詳細データを読み出し、当該第１の項目定義データに定義されており且つ当該第１の処理詳細データに含まれていない項目名を不整合項目名として抽出するステップと、
前記データベースに格納されている処理詳細データのうち前記不整合項目名を含む第２の処理詳細データについて、前記不整合項目名が前記第２の処理詳細データに出現する位置を特定し、当該位置を表す位置情報を記憶装置に格納するステップと、
前記データベースから、前記第１の項目定義データ及び前記第２の処理詳細データに対応する第２の項目定義データに共に定義されている項目名を共通項目名として抽出し、当該共通項目名が前記第１の処理詳細データ及び前記第２の処理詳細データにおいて出現する位置をそれぞれ特定し、当該位置を表す位置情報を前記共通項目名に対応付けて前記記憶装置に格納するステップと、
前記記憶装置に格納されているデータを用いて、前記共通項目名のうち、前記第２の処理詳細データにおいて前記不整合項目名の直前に出現する共通項目名及び直後に出現する共通項目名を特定するステップと、
を、コンピュータに実行させるための修正支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、文書の品質を把握又は改善する技術に関する。
【背景技術】
【０００２】
システム開発においては、各開発工程において様々な設計書が作成されている。設計書の品質はシステム開発プロジェクトの進行、ひいては完成されたシステムの品質に大きな影響を与えるため、設計書の品質を適切に管理するための技術が求められている。
【０００３】
ところで、例えばＵＩ（User Interface）工程では、処理論理の仕様を記載した文章（以下、処理詳細と呼ぶ）と、処理詳細に含まれる項目名を定義する定型フォーム（以下、項目定義と呼ぶ）とを含む設計書を作成することが行われる。このような設計書の一例を図１に示す。
【０００４】
このような設計書の品質管理においては、項目定義と処理詳細との間に不整合が無いかを調べることが必要である。ここでいう不整合とは、項目定義に定義されている項目名であるにも関わらず処理詳細に記載が無いという不整合や、処理詳細に含まれる項目名であるにも関わらず項目定義において定義されていないという不整合である。
【０００５】
前者の不整合については、容易に発見することができる。例えば図１の例であれば、「事業所コード」という項目名で処理詳細を検索することにより、処理詳細中に「事業所コード」という記載があるかを判断すればよい。
【０００６】
一方、後者の不整合については、容易に発見することはできない。処理詳細には項目名以外の語句が多数含まれているため、単純に処理詳細から名詞句等を抽出し、抽出された名詞句が項目定義に定義されているかを調べるような方法では、本来は項目定義に定義されるべきでない名詞句までもが未定義の項目名であると判断されてしまうことになる。例えば図１の例であれば、「画面」や「通知メッセージ」等の名詞句が未定義の項目名であると判断されてしまうことになり、適切ではない。
【０００７】
従来、文書から語句を抽出するための技術として、項目名称を抽出する際の検索キー（キーワード）を予め用意しておき、仕様書の文書中からキーワード文字を含む文字列を洗い出し、さらに不要文字の削除を行い、整合性チェックの対象となるチェック対象項目名称を抽出する技術が知られている。
【０００８】
しかしながら、上記従来技術では、何らかの方法により適切なキーワードを選定することができなければ、整合性チェックの対象として相応しいチェック対象項目名を高精度で抽出することはできない。また、仕様書の内容等に応じて検索に用いるキーワードを予め用意しておくような方法はコストが大きい上に、汎用性が低いという問題がある。
【０００９】
また、前者の不整合についても、以下のような問題がある。具体的には、従来技術では、不整合を発見し、処理詳細に含まれていない項目名に関連するデータを他の設計書の処理詳細から抽出することはできるが、抽出されたデータを補充すべき位置を特定することはできないという問題がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００８−１８６３５６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従って、本技術の目的は、一側面によれば、文書において欠落しているデータを補完するための技術を提供することである。
【課題を解決するための手段】
【００１２】
本技術の一側面に係る不整合検出装置は、（Ａ）文書に含まれる文章から抽出された自立語群と、当該文章に含まれる項目名及び当該項目名の定義を含む項目定義から抽出された項目名群とを文書毎に格納する文書データベースと、（Ｂ）診断対象である第１の文書の自立語群及び項目名群を格納するデータ格納部と、（Ｃ）文書データベースに格納されている各文書の自立語群と、データ格納部に格納されている自立語群との類似度を算出し、当該類似度が所定の閾値以上である文書を類似文書として特定し、特定された当該類似文書の自立語群及び項目名群を文書データベースから抽出する類似文書特定手段と、（Ｄ）データ格納部に格納されている自立語群に含まれる自立語である第１自立語に一致する項目名を、類似文書特定手段により抽出された項目名群から抽出する項目候補抽出手段と、（Ｅ）項目候補抽出手段により抽出された項目名のうち、データ格納部に格納されている項目名群に含まれていない項目名を不整合項目名として特定する不整合項目特定手段とを有する。
【００１３】
本技術の他の側面に係る修正支援装置は、（Ａ）処理に関連する項目名を定義する項目定義データ及び当該処理の内容を定義する処理詳細データを処理毎に格納するデータベースと、（Ｂ）データベースから、第１の項目定義データ及び当該第１の項目定義データに対応する第１の処理詳細データを読み出し、当該第１の項目定義データに定義されており且つ当該第１の処理詳細データに含まれていない項目名を不整合項目名として抽出する項目抽出部と、（Ｃ）データベースに格納されている処理詳細データのうち不整合項目名を含む第２の処理詳細データについて、不整合項目名が第２の処理詳細データに出現する位置を特定し、当該位置を表す位置情報を記憶装置に格納する補充データ特定部と、（Ｄ）データベースから、第１の項目定義データ及び第２の処理詳細データに対応する第２の項目定義データに共に定義されている項目名を共通項目名として抽出し、当該共通項目名が第１の処理詳細データ及び第２の処理詳細データにおいて出現する位置をそれぞれ特定し、当該位置を表す位置情報を共通項目名に対応付けて記憶装置に格納する対応位置特定部と、（Ｅ）記憶装置に格納されているデータを用いて、共通項目名のうち、第２の処理詳細データにおいて不整合項目名の直前に出現する共通項目名及び直後に出現する共通項目名を直前項目名及び直後項目名として特定する範囲特定部とを有する。
【発明の効果】
【００１４】
文書において欠落しているデータを補完できるようになる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本実施の形態の前提を説明するための図である。
【図２】図２は、第１の実施の形態に係る不整合検出装置の機能ブロック図である。
【図３】図３は、設計書ＤＢに格納されるデータの一例を示す図である。
【図４】図４（ａ）乃至（ｃ）は、処理詳細の自立語リストを生成する方法を説明するための図である。
【図５】図５（ａ）及び（ｂ）は、項目定義の項目名リストを生成する方法を説明するための図である。
【図６】図６は、第１の実施の形態におけるメインの処理フローを示す図である。
【図７】図７は、類似設計書特定処理の処理フローを示す図である。
【図８】図８は、項目候補抽出処理の処理フローを示す図である。
【図９】図９は、一致項目データ格納部に格納されるデータの一例を示す図である。
【図１０】図１０は、項目候補抽出処理の処理フローを示す図である。
【図１１】図１１は、項目候補格納部に格納されるデータの一例を示す図である。
【図１２】図１２は、出現部分比較処理の処理フローを示す図である。
【図１３】図１３は、共通項目データ格納部に格納されるデータの一例を示す図である。
【図１４】図１４は、出現部分比較処理の処理フローを示す図である。
【図１５】図１５は、類似部分データ格納部に格納されるデータの一例を示す図である。
【図１６】図１６は、出現部分比較処理の処理フローを示す図である。
【図１７】図１７は、距離データ格納部に格納されるデータの一例を示す図である。
【図１８】図１８は、項目定義比較処理の処理フローを示す図である。
【図１９】図１９は、第２の実施の形態に係る修正支援装置の機能ブロック図である。
【図２０】図２０は、設計書ＤＢに格納されている項目定義データの一例を示す図である。
【図２１】図２１は、設計書ＤＢに格納されている処理詳細データの一例を示す図である。
【図２２】図２２は、第２の実施の形態におけるメインの処理フローを示す図である。
【図２３】図２３は、入力データ格納部に格納されている項目定義データの一例を示す図である。
【図２４】図２４は、入力データ格納部に格納されている処理詳細データの一例を示す図である。
【図２５】図２５は、補充文格納部に格納されているデータの一例を示す図である。
【図２６】図２６は、範囲絞り込み処理の処理フローを示す図である。
【図２７】図２７は、共通項目名のデータの一例を示す図である。
【図２８】図２８は、行番号リスト格納部に格納されているデータの一例を示す図である。
【図２９】図２９は、対応位置データ格納部に格納されているデータの一例を示す図である。
【図３０】図３０は、対応位置特定処理の処理フローを示す図である。
【図３１】図３１は、絞り込み処理結果格納部に格納されているデータの一例を示す図である。
【図３２】図３２は、範囲絞り込み処理について説明するための図である。
【図３３】図３３は、対応位置特定部により行われる処理を説明するための図である。
【図３４】図３４は、対応位置特定部により行われる処理を説明するための図である。
【図３５】図３５は、第１の補充位置決定処理の処理フローを示す図である。
【図３６】図３６は、ウィンドウ・データの一例を示す図である。
【図３７】図３７は、探索部により行われる処理を説明するための図である。
【図３８】図３８は、出力データ格納部に格納されているデータの一例を示す図である。
【図３９】図３９は、第１の補充位置決定処理について説明するための図である。
【図４０】図４０は、第２の補充位置決定処理の処理フローを示す図である。
【図４１】図４１は、ウィンドウ・データの一例を示す図である。
【図４２】図４２は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１６】
以下、本実施の形態について詳細に説明するが、本実施の形態では、設計書が項目定義及び処理詳細を含むことが前提となっている。
【００１７】
［実施の形態１］
まず、処理詳細に含まれる項目名であるにも関わらず項目定義において定義されていないという不整合（第１の不整合）を検出するための処理について説明する。
【００１８】
第１の実施の形態に係る不整合検出装置の機能ブロック図を図２に示す。第１の実施の形態に係る不整合検出装置は、（Ａ）診断対象の設計書の処理詳細及び項目定義の入力を受け付け、自立語リスト及び項目名リストを生成する入力データ処理部１と、（Ｂ）入力データ処理部１により生成された自立語リスト及び項目名リストを格納する入力データ格納部３と、（Ｃ）設計書毎に自立語リスト及び項目名リストを格納する設計書ＤＢ７と、（Ｄ）入力データ格納部３に格納されている自立語リストと設計書ＤＢ７に格納されている自立語リストとに基づき、後で説明する類似設計書特定処理を実施する類似設計書特定部９と、（Ｅ）類似設計書特定部９により特定された類似設計書の自立語リスト及び項目名リストを格納する類似設計書格納部１１と、（Ｆ）入力データ格納部３に格納されているデータ及び類似設計書格納部１１に格納されているデータに基づき、後で説明する項目候補抽出処理を実施する項目候補抽出部５と、（Ｇ）項目候補抽出部５により抽出された項目候補のデータを格納する項目候補格納部１３と、（Ｈ）入力データ格納部３に格納されている項目名リストに基づき、項目候補格納部１３に格納されているデータから不整合項目を特定する第一不整合項目特定部１５と、（Ｉ）第一不整合項目特定部１５により特定された不整合項目のデータを格納する第一不整合項目格納部１７と、（Ｊ）第一不整合項目格納部１７に格納されているデータを出力する処理を実施する出力部１９とを有する。
【００１９】
なお、項目候補抽出部５は、一致項目抽出部５０１と、一致項目データ格納部５０３と、絞り込み部５０５と、共通項目データ格納部５０７と、類似部分データ格納部５０９と、距離データ格納部５１１とを有する。また、絞り込み部５０５は、項目定義比較部５０５１と、出現部分比較部５０５３とを有する。
【００２０】
一致項目抽出部５０１は、入力データ格納部３に格納されているデータ及び類似設計書格納部１１に格納されているデータに基づき一致項目データを生成し、一致項目データ格納部５０３に格納する。絞り込み部５０５は、入力データ格納部３及び類似設計書格納部１１に格納されているデータに基づき、一致項目データ格納部５０３に格納されているデータから項目候補を特定し、項目候補格納部１３に格納する。項目定義比較部５０５１は、一致項目データ格納部５０３に格納されているデータに対して、類似設計書格納部１１に格納されている項目名リストと入力データ格納部３に格納されている項目名リストとに基づき、後で説明する項目定義比較処理を実施し、処理結果を項目候補格納部１３に格納する。出現部分比較部５０５３は、類似設計書格納部１１に格納されている項目名リストに含まれる項目名のうち入力データ格納部３に格納されている項目名リストに含まれる項目名と一致する項目名を共通項目データ格納部５０７に格納する。また、出現部分比較部５０５３は、類似設計書格納部１１に格納されている自立語リスト及び共通項目データ格納部５０７に格納されているデータに基づき類似部分データを生成し、類似部分データ格納部５０９に格納する。さらに、出現部分比較部５０５３は、類似部分データ格納部５０９に格納されているデータ及び一致項目データ格納部５０３に格納されているデータに基づき距離データを生成し、距離データ格納部５１１に格納する。
【００２１】
図３に、設計書ＤＢ７に格納されるデータの一例を示す。図３の例では、画面ＩＤと、処理名と、処理詳細ファイル名と、項目定義ファイル名と、処理詳細の自立語リストと、項目定義の項目名リストとが格納されるようになっている。このように、設計書ＤＢ７には、画面ＩＤにより特定される設計書毎にデータが格納されるようになっている。なお、自立語リスト及び項目名リストは、以下で述べるような方法により生成される。
【００２２】
図４及び図５を用いて、自立語リスト及び項目名リストを生成する方法について簡単に説明する。まず、図４を用いて、自立語リストを生成する方法について説明する。本実施の形態では、処理詳細に対して形態素解析を行うことにより、文章を形態素に分解すると共に、それぞれの形態素の品詞を判別する。例えば図４（ａ）のような処理詳細に対して形態素解析を行った場合、図４（ｂ）に示すような解析結果が得られる。さらに、形態素解析の解析結果に対して、形態素を複合語に連結する処理を行うことにより、自立語を抽出する。例えば図４（ｂ）のような解析結果に対して連結処理を行うと、図４（ｃ）に示すような自立語のリストが得られる。なお、このような処理により自立語を抽出する方法は周知技術であるので、ここではこれ以上詳しくは述べない。
【００２３】
また、図５を用いて、項目名リストを生成する方法について説明する。項目名リストは、項目定義から項目名を抽出することにより生成する。例えば図５（ａ）のような項目定義に対して処理を行った場合には、図５（ｂ）に示すような項目名リストが生成される。なお、項目名の左に付されている数字は項目ＩＤであり、自動的に割り当てられる。
【００２４】
次に、図６乃至図１８を用いて、図２に示した不整合検出装置の処理内容について説明する。まず、不整合検出装置の入力データ処理部１は、診断対象の設計書の処理詳細及び項目定義の入力を受け付け、メインメモリ等の記憶装置に格納する（図６：ステップＳ１）。ここでは、キーボードやマウス等の入力装置を介してユーザから直接入力を受け付けるようにしてもよいし、設計書のリストをユーザに提示し、ユーザ指定の設計書の処理詳細及び項目定義を図示しない記憶装置等（又はネットワークを介して接続されている他のコンピュータ）から取得するような処理であってもよい。
【００２５】
そして、入力データ処理部１は、入力された処理詳細から自立語を抽出して自立語リストを生成すると共に、入力された項目定義から項目名を抽出して項目名リストを生成し、入力データ格納部３に格納する（ステップＳ３）。自立語リスト及び項目名リストを生成する方法については既に図４及び図５を用いて説明したので、ここでは説明を省略する。また、入力データ格納部３には、図４（ｃ）と同様のデータフォーマットで自立語リストが格納され、図５（ｂ）と同様のデータフォーマットで項目名リストが格納される。
【００２６】
そして、類似設計書特定部９は、類似設計書特定処理を実施する（ステップＳ５）。類似設計書特定処理については、図７を用いて詳しく説明する。類似設計書特定部９は、設計書ＤＢ７から未処理の自立語リストを１つ取得する（図７：ステップＳ２１）。また、類似設計書特定部９は、取得された自立語リストと入力データ格納部３に格納されている自立語リストとの類似度を算出する（ステップＳ２３）。ステップＳ２３においては、例えば両自立語リストに共通に含まれる自立語の数を、入力データ格納部３に格納されている自立語リストに含まれる自立語の数で割った値を類似度として算出する。さらに、類似設計書特定部９は、類似度が所定の閾値以上であるか判断する（ステップＳ２５）。
【００２７】
類似度が所定の閾値未満である場合（ステップＳ２５：Ｎｏルート）、ステップＳ２９に移行する。一方、類似度が所定の閾値以上である場合（ステップＳ２５：Ｙｅｓルート）、類似設計書特定部９は、取得された自立語リスト及び当該自立語リストに対応する項目名リストを類似設計書格納部１１に格納する（ステップＳ２７）。項目名リストは、設計書ＤＢ７から取得する。なお、類似設計書格納部１１には、設計書ＤＢ７と同様のデータフォーマットでデータが格納される。
【００２８】
そして、類似設計書格納部１１は、設計書ＤＢ７における全ての自立語リストについて処理したか判断する（ステップＳ２９）。全ての自立語リストについて処理していない場合（ステップＳ２９：Ｎｏルート）、次の自立語リストについて処理を実施するため、ステップＳ２１に戻る。一方、全ての自立語リストについて処理した場合（ステップＳ２９：Ｙｅｓルート）、元の処理に戻る。
【００２９】
以上のような処理を実施することにより、診断対象の設計書と内容が類似する設計書を適切に特定することができる。
【００３０】
図６の説明に戻り、項目候補抽出部５は、項目候補抽出処理を実施する（ステップＳ７）。項目候補抽出処理については、図８乃至図１８を用いて詳細に説明する。まず、項目候補抽出部５の一致項目抽出部５０１は、入力データ格納部３に格納されている自立語リストから未処理の自立語を１つ特定する（図８：ステップＳ３１）。また、一致項目抽出部５０１は、類似設計書格納部１１から未処理の項目名リストを１つ特定する（ステップＳ３３）。さらに、一致項目抽出部５０１は、ステップＳ３３において特定された項目名リストから未処理の項目名を１つ特定する（ステップＳ３５）。そして、一致項目抽出部５０１は、ステップＳ３１において特定された自立語とステップＳ３５において特定された項目名との表記の類似度を算出する（ステップＳ３７）。ステップＳ３７においては、例えば特開平６−８３８７１号公報に開示されているような技術を用いて類似度を算出する。
【００３１】
そして、一致項目抽出部５０１は、ステップＳ３７において算出された類似度が所定の閾値以上であるか判断する（ステップＳ３９）。ステップＳ３７において算出された類似度が所定の閾値未満である場合（ステップＳ３９：Ｎｏルート）、ステップＳ４３の処理に移行する。
【００３２】
一方、ステップＳ３７において算出された類似度が所定の閾値以上である場合（ステップＳ３９：Ｙｅｓルート）、一致項目抽出部５０１は、ステップＳ３７において類似度が算出された自立語及び項目名を含む一致項目データを生成し、一致項目データ格納部５０３に格納する（ステップＳ４１）。
【００３３】
図９に、一致項目データ格納部５０３に格納されるデータの一例を示す。図９の例では、自立語ＩＤの列と、自立語の列と、類似設計書ＩＤの列と、項目ＩＤの列と、項目名の列と、一致度の列とが含まれる。自立語ＩＤの列には、例えばステップＳ３１において特定された自立語が何番目に特定された自立語であるかに従い割り振られる番号を格納する。類似設計書ＩＤ及び項目ＩＤの列には、ステップＳ３５において特定された項目名に対応する画面ＩＤ及び項目ＩＤを類似設計書格納部１１から取得して格納する。また、一致度は、ステップＳ３７において算出された類似度が１、すなわち自立語と項目名とが完全に一致する場合には「完全一致」とし、ステップＳ３７において算出された類似度が所定の閾値以上１未満であれば「部分一致」とする。例えば図９においては、自立語「事業所コード」と項目名「事業所コード」とは同一の語句であるので、一致度の列には「完全一致」が格納されている。また、自立語「事業所名」と項目名「事業所名称」とは類似度は高いが同一の語句ではないので、一致度の列には「部分一致」が格納されている。一方、自立語「事業所区分名」に対して項目名が「受払番号」であるような場合、ステップＳ３７において算出される類似度が所定の閾値に満たないため、一致項目データ格納部５０３にはデータは格納されない。
【００３４】
図８の説明に戻り、一致項目抽出部５０１は、全ての項目名について処理したか判断する（ステップＳ４３）。全ての項目名について処理していない場合（ステップＳ４３：Ｎｏルート）、次の項目名について処理を実施するため、ステップＳ３５の処理に戻る。
【００３５】
一方、全ての項目名について処理した場合（ステップＳ４３：Ｙｅｓルート）、一致項目抽出部５０１は、全ての項目名リストについて処理したか判断する（ステップＳ４５）。全ての項目名リストについて処理していない場合（ステップＳ４５：Ｎｏルート）、次の項目名リストについて処理を実施するため、ステップＳ３３の処理に戻る。
【００３６】
一方、全ての項目名リストについて処理した場合（ステップＳ４５：Ｙｅｓルート）、一致項目抽出部５０１は、全ての自立語について処理したか判断する（ステップＳ４７）。全ての自立語について処理していない場合（ステップＳ４７：Ｎｏルート）、次の自立語について処理を実施するため、ステップＳ３１の処理に戻る。
【００３７】
一方、全ての自立語について処理した場合（ステップＳ４７：Ｙｅｓルート）、処理は端子Ａを介してステップＳ４９（図１０）の処理に移行する。
【００３８】
このように、類似度が所定の閾値以上である一致項目を、項目候補になる可能性がある項目名としてまず特定する。そして、さらに以下で述べるような絞り込みを行うことにより項目候補を特定する。
【００３９】
図１０の説明に移行して、絞り込み部５０５は、一致項目データ格納部５０３から未処理の自立語を１つ特定し、当該自立語に対応付けられている項目名、類似設計書ＩＤ及び一致度を特定し、メインメモリ等の記憶装置に格納する（図１０：ステップＳ４９）。そして、一致項目データ格納部５０３は、特定された一致度に、「完全一致」である一致度が含まれるか判断する（ステップＳ５１）。「完全一致」である一致度が含まれる場合（ステップＳ５１：Ｙｅｓルート）、絞り込み部５０５は、「完全一致」である項目名を項目候補格納部１３に格納する（ステップＳ６３）。例えば図９において、自立語「受払番号」に対応付けられている項目名には「受払番号」があるが、この項目名の一致度は「完全一致」であるため、項目名「受払番号」は項目候補格納部１３に格納される。類似設計書において定義されている項目名が処理詳細中の自立語と完全に一致するのであれば、診断対象の設計書においても定義すべき項目名である可能性が高いからである。
【００４０】
図１１に、項目候補格納部１３に格納されるデータの一例を示す。図１１の例では、項目名が格納されるようになっている。
【００４１】
図１０の説明に戻り、「完全一致」である一致度が含まれない場合（ステップＳ５１：Ｎｏルート）、絞り込み部５０５は、ステップＳ４９において特定された項目名が１つであるか判断する（ステップＳ５３）。ステップＳ４９において特定された項目名が１つである場合（ステップＳ５３：Ｙｅｓルート）、絞り込み部５０５は、ステップＳ４９において特定された項目名を項目候補格納部１３に格納する（ステップＳ６３）。例えば図９において、自立語「事業所区分名」に対応付けられている項目名は、一致度が「部分一致」である項目名「事業所区分」だけであるため、この項目名が項目候補格納部１３に格納される。一致度が「部分一致」であっても項目名が１つしか特定されていなければ、項目名の絞り込みを行う必要はないためである。
【００４２】
一方、ステップＳ４９において特定された項目名が１つではないと判断された場合（ステップＳ５３：Ｎｏルート）、絞り込み部５０５は、ステップＳ４９において特定された項目名と一致する項目名が、入力データ格納部３に格納されている項目名リストに含まれるか判断する（ステップＳ５５）。含まれる場合（ステップＳ５５：Ｙｅｓルート）、絞り込み部５０５は、入力データ格納部３に格納されている項目名リストに含まれる項目名を、項目候補格納部１３に格納する（ステップＳ６３）。例えば図９において、自立語「事業所名」には項目名「事業所名称」及び「自事業所名」が対応付けられているが、入力データ格納部３に格納されている項目名リストに項目名として「事業所コード」、「事業所名称」、「事業所区分」、「受入番号」、「受払番号」、「相手事業所コード」及び「相手事業所名称」が含まれる場合には、項目名「事業所名称」が項目候補格納部１３に格納される。診断対象の設計書において既に定義されている項目名であれば、当然項目候補として特定されるべきであるからである。なお、ステップＳ６３において項目候補格納部１３に格納されたとしても、後で説明するステップＳ９の処理において、入力データ格納部３に格納されている項目名リストに含まれる項目名であると判断されるので、不整合項目として特定されることはない。
【００４３】
一方、含まれない場合（ステップＳ５５：Ｎｏルート）、絞り込み部５０５は、ステップＳ４９において特定された類似設計書ＩＤに、同一の類似設計書ＩＤが複数含まれるか判断する（ステップＳ５７）。同一の類似設計書ＩＤが複数含まれる場合（ステップＳ５７：Ｙｅｓルート）、絞り込み部５０５の出現部分比較部５０５３は、出現部分比較処理を実施する（ステップＳ５９）。例えば図９において、自立語「受払状態」に対応付けられている類似設計書ＩＤは６行目の「Ｇ００２」、７行目の「Ｇ００３」、８行目の「Ｇ００４」及び９行目の「Ｇ００４」であるので、自立語「受払状態」については出現部分比較処理を実施する。なお、便宜上、ステップＳ４９において特定された項目名のうち、ステップＳ５７においてＩＤが複数含まれると判断された類似設計書ＩＤに対応する項目名をＩＤ重複項目名と呼ぶ。図９の例であれば、「受払元状態」及び「総受払状態」がＩＤ重複項目名に該当する。出現部分比較処理は、ＩＤ重複項目名のうち項目候補として最も相応しい項目名を選び出すための処理である。
【００４４】
ここで、出現部分比較処理について、図１２乃至図１７を用いて詳細に説明する。まず、出現部分比較部５０５３は、ステップＳ５７においてＩＤが複数含まれると判断された類似設計書ＩＤのうち未処理の類似設計書ＩＤ（以下、処理対象の類似設計書ＩＤと呼ぶ）を１つ特定する（図１２：ステップＳ８１）。そして、出現部分比較部５０５３は、処理対象の類似設計書ＩＤに対応する項目名リストを類似設計書格納部１１から特定し、当該項目名リストから未処理の項目名を１つ特定する（ステップＳ８３）。また、ステップＳ８３においては、未処理の項目名に対応する項目ＩＤについても類似設計書格納部１１から特定する。
【００４５】
そして、出現部分比較部５０５３は、ステップＳ８３において特定された項目名と一致する項目名が、入力データ格納部３に格納されている項目名リストに含まれるか判断する（ステップＳ８５）。含まれない場合（ステップＳ８５：Ｎｏルート）、ステップＳ８９の処理に移行する。
【００４６】
一方、含まれる場合（ステップＳ８５：Ｙｅｓルート）、出現部分比較部５０５３は、ステップＳ８３において特定された項目名及び項目ＩＤを共通項目データ格納部５０７に格納する（ステップＳ８７）。
【００４７】
図１３に、共通項目データ格納部５０７に格納されるデータの一例を示す。図１３の例では、項目ＩＤの列と、項目名の列とが含まれる。
【００４８】
図１２の説明に戻り、出現部分比較部５０５３は、全ての項目名について処理したか判断する（ステップＳ８９）。全ての項目名について処理していない場合（ステップＳ８９：Ｎｏルート）、次の項目名について処理を実施するため、ステップＳ８３の処理に戻る。一方、全ての項目名について処理した場合（ステップＳ８９：Ｙｅｓルート）、処理は端子Ｂを介してステップＳ９１（図１４）の処理に移行する。
【００４９】
図１４の説明に移行して、出現部分比較部５０５３は、処理対象の類似設計書ＩＤに対応する自立語リストを類似設計書格納部１１から特定し、当該自立語リストから未処理の自立語を１つ特定する（ステップＳ９１）。また、ステップＳ９１においては、特定された自立語に対して自立語ＩＤを割り当てる。自立語ＩＤは、例えばステップＳ９１において特定された自立語が何番目に特定された自立語であるかに従い割り当てられる番号である。
【００５０】
そして、出現部分比較部５０５３は、ステップＳ９１において特定された自立語と共通項目データ格納部５０７に格納されている項目名の各々との表記の類似度を算出する（ステップＳ９３）。ステップＳ９３における類似度の算出方法は、ステップＳ３７と同様である。また、出現部分比較部５０５３は、算出された類似度のうち最大の類似度が所定の閾値以上であるかを判断する（ステップＳ９５）。例えば、ステップＳ９１において特定された自立語が「相手事業所名」であり、共通項目データ格納部５０７には図１３に示すデータが格納されている場合を考える。そして、ステップＳ９３において、項目名「相手事業所コード」について算出された類似度が０．７１であり、項目名「相手事業所名称」について算出された類似度が０．９２であるとする。この場合、ステップＳ９５においては、項目名「相手事業所名称」について算出された類似度０．９２が、所定の閾値以上であるかを判断する。
【００５１】
そして、算出された類似度のうち最大の類似度が所定の閾値以上である場合（ステップＳ９５：Ｙｅｓルート）、出現部分比較部５０５３は、最大の類似度が算出された自立語及び項目名を含むデータを類似部分データ格納部５０９に格納する（ステップＳ９７）。一方、算出された類似度のうち最大の類似度が所定の閾値未満である場合（ステップＳ９５：Ｎｏルート）、出現部分比較部５０５３は、最大の類似度が算出された自立語を含むデータを類似部分データ格納部５０９に格納する（ステップＳ９９）。
【００５２】
図１５に、類似部分データ格納部５０９に格納されるデータの一例を示す。図１５の例では、自立語ＩＤの列と、自立語の列と、項目ＩＤの列と、項目名の列と、類似部分ＩＤの列とが含まれる。図１５の例であれば、ステップＳ９７において４、６、１８及び２１行目のデータが格納され、ステップＳ９９においてそれ以外の行のデータが格納される。なお、後で説明するステップＳ１０３の処理を実施していない段階では、類似部分ＩＤの列にはデータは格納されていない。
【００５３】
図１４の説明に戻り、出現部分比較部５０５３は、全ての自立語について処理したか判断する（ステップＳ１０１）。全ての自立語について処理していない場合（ステップＳ１０１：Ｎｏルート）、次の自立語について処理を実施するため、ステップＳ９１の処理に戻る。一方、全ての自立語について処理した場合（ステップＳ１０１：Ｙｅｓルート）、出現部分比較部５０５３は、類似部分データ格納部５０９において類似部分を特定し、類似部分ＩＤを類似部分の自立語に対応付けて類似部分データ格納部５０９に格納する（ステップＳ１０３）。そして、処理は端子Ｃを介してステップＳ１０５（図１６）に移行する。
【００５４】
ステップＳ１０３においては、例えば、連続するｍ個の自立語に対して、項目名がｎ個以上対応付けて格納されているかにより判断する。例えば図１５において、ｍ＝５且つｎ＝２と設定した場合を考える。まず、自立語ＩＤ「４」である自立語から自立語ＩＤ「６」である自立語までは３つの自立語があり、それらの自立語に対応付けられている項目名は「相手事業所名称」及び「相手事業所コード」の２つである。従って、自立語ＩＤ「４」から「６」までの部分は類似部分として特定される。また、自立語ＩＤ「６」である自立語から自立語ＩＤ「１８」である自立語までは１３の自立語があるため、それらの自立語に「相手事業所コード」及び「相手事業所名称」という２つの項目名が対応付けられていても、類似部分として特定されることはない。また、自立語ＩＤ「１８」である自立語から自立語ＩＤ「２１」である自立語までは４つの自立語があり、それらの自立語に対応付けられている項目名は「相手事業所名称」及び「相手事業所コード」の２つである。従って、自立語ＩＤ「１８」から「２１」までの部分が類似部分として特定される。なお、ステップＳ１０３において、類似部分を多く特定したいのであれば、ｍは大きく又はｎは小さくなるように設定し、類似部分をあまり特定したくないのであれば、ｍは小さく又はｎは大きくなるように予め設定すればよい。
【００５５】
図１６の説明に移行して、出現部分比較部５０５３は、類似部分データ格納部５０９に格納されている未処理の自立語を１つ特定する（図１６：ステップＳ１０５）。そして、出現部分比較部５０５３は、特定された自立語と、ＩＤ重複項目名の各々との表記の類似度を算出する（ステップＳ１０７）。ステップＳ１０７における類似度の算出方法は、ステップＳ３７と同様である。
【００５６】
そして、出現部分比較部５０５３は、算出された類似度のうち最大の類似度が所定の閾値以上であるか判断する（ステップＳ１０９）。所定の閾値未満である場合（ステップＳ１０９：Ｎｏルート）、ステップＳ１１５の処理に移行する。一方、所定の閾値以上である場合（ステップＳ１０９：Ｙｅｓルート）、出現部分比較部５０５３は、類似部分データ格納部５０９において、ステップＳ１０５において特定された自立語と前後の類似部分との距離を算出する（ステップＳ１１１）。また、出現部分比較部５０５３は、算出された距離のうち最小のものと、ステップＳ１０７において算出された類似度のうち最大の類似度の算出に用いたＩＤ重複項目名とを含む距離データを生成し、距離データ格納部５１１に格納する（ステップＳ１１３）。なお、ステップＳ１０５において特定された自立語が類似部分に含まれる場合には、距離は「０」を設定する。
【００５７】
ステップＳ１０５乃至Ｓ１１３の処理について、具体例を用いて簡単に説明する。例えば類似部分データが図１５に示すデータであり、ステップＳ１０５において特定された自立語が自立語ＩＤ「８」の「受払元状態」であり、またＩＤ重複項目名が図９の８行目及び９行目の項目名（すなわち、「受払元状態」及び「総受払状態」）である場合を考える。そして、ステップＳ１０７においてＩＤ重複項目名「受払元状態」について算出された類似度が１．０であり、ＩＤ重複項目名「総受払状態」について算出された類似度が０．８であるとする。この場合、ステップＳ１０９においては、類似度１．０が所定の閾値以上であるか判断するが、類似度１．０は完全一致であることを示しており所定の閾値以上である。従って、ステップＳ１１１においては、自立語ＩＤ「８」である自立語「受払元状態」から類似部分ＳＰ１に含まれる自立語のうち最も距離が近い自立語である「相手事業所コード」（自立語ＩＤ「６」）までの距離「２」と、自立語ＩＤ「８」である自立語「受払元状態」から類似部分ＳＰ２に含まれる自立語のうち最も距離が近い自立語である「相手事業所名」（自立語ＩＤ「１８」）までの距離「１０」とが算出される。そして、ステップＳ１１３においては、距離「２」とＩＤ重複項目名「受払元状態」とを含む距離データを生成し、距離データ格納部５１１に格納する。
【００５８】
図１７に、距離データ格納部５１１に格納されるデータの一例を示す。図１７の例では、自立語ＩＤの列と、項目ＩＤの列と、項目名の列と、類似部分との距離の列とが含まれる。
【００５９】
図１６の説明に戻り、出現部分比較部５０５３は、全ての自立語について処理したか判断する（ステップＳ１１５）。全ての自立語について処理していない場合（ステップＳ１１５：Ｎｏルート）、次の自立語について処理を実施するため、ステップＳ１０５の処理に戻る。
【００６０】
一方、全ての自立語について処理した場合（ステップＳ１１５：Ｙｅｓルート）、出現部分比較部５０５３は、距離データ格納部５１１において、最小の距離に対応付けられているＩＤ重複項目名以外のＩＤ重複項目名を特定し、特定されたＩＤ重複項目名についてのデータを一致項目データ格納部５０３から削除する（ステップＳ１１７）。図１７の例であれば、最小の距離である「２」に対応付けられている項目名は「受払元状態」であるため、「受払元状態」以外の項目名である「総受払状態」が特定される。そして、図９のデータが一致項目データ格納部５０３に格納されており、ＩＤ重複項目名が８行目の「受払元状態」及び９行目の「総受払状態」である場合、９行目の「総受払状態」についてのデータが削除される。
【００６１】
図１６の説明に戻り、出現部分比較部５０５３は、全ての類似設計書ＩＤについて処理したか判断する（ステップＳ１１９）。全ての類似設計書ＩＤについて処理していない場合（ステップＳ１１９：Ｎｏルート）、次の類似設計書ＩＤについて処理を実施するため、処理は端子Ｄを介してステップＳ８１に戻る。一方、全ての類似設計書ＩＤについて処理した場合（ステップＳ１１９：Ｙｅｓルート）、元の処理に戻る。
【００６２】
以上のような処理を実施することにより、１つの自立語に対して、１つの類似設計書の項目名リストから複数の項目名が抽出された場合であっても、項目候補として最も相応しい項目名を特定できるようになる。
【００６３】
図１０の説明に戻り、同一の類似設計書ＩＤが複数含まれない場合（ステップＳ５７：Ｎｏルート）、絞り込み部５０５の項目定義比較部５０５１は、項目定義比較処理を実施する（ステップＳ６１）。例えば図９においては、自立語「受払状態区分」に対応付けられている類似設計書ＩＤは「Ｇ００２」及び「Ｇ００３」であり、同一の類似設計書ＩＤは複数含まれないので、自立語「受払状態区分」については項目定義比較処理を実施する。
【００６４】
図１８を用いて、項目定義比較処理について詳細に説明する。まず、項目定義比較部５０５１は、ステップＳ４９において特定された類似設計書ＩＤから未処理の類似設計書ＩＤを１つ特定する（図１８：ステップＳ１２１）。そして、特定された類似設計書ＩＤに対応する項目名リストを類似設計書格納部１１から特定し、特定された項目名リストと入力データ格納部３に格納されている項目名リストとの類似度を算出し、メインメモリ等の記憶装置に格納する（ステップＳ１２３）。ステップＳ１２３においては、例えば両項目名リストに共通に含まれる項目名の数を類似度とする。例えば、ステップＳ１２３において特定された項目名リストに項目名「事業所コード」、「受入番号」、「受払番号」、「受入状態」、「受入状態区分」、「業務区分」及び「在庫区分」が含まれており、入力データ格納部３に格納されている項目名リストに「事業所コード」、「事業所名称」、「事業所区分」、「受入番号」、「受払番号」、「相手事業所コード」及び「相手事業所名称」が含まれる場合には、項目名「事業所コード」、「受入番号」及び「受払番号」が共通するため、類似度は「３」となる。
【００６５】
そして、項目定義比較部５０５１は、全ての類似設計書ＩＤについて処理したか判断する（ステップＳ１２５）。全ての類似設計書ＩＤについて処理していない場合（ステップＳ１２５：Ｎｏルート）、次の類似設計書ＩＤについて処理を実施するため、処理はステップＳ１２１に戻る。
【００６６】
一方、全ての類似設計書ＩＤについて処理した場合（ステップＳ１２５：Ｙｅｓルート）、項目定義比較部５０５１は、ステップＳ４９において特定された項目名のうち、ステップＳ１２３において算出された類似度が最大となる類似設計書ＩＤに対応する項目名を項目候補格納部１３に格納し、元の処理に戻る（ステップＳ１２７）。例えば図９において、類似設計書ＩＤが「Ｇ００２」である類似設計書の項目名リストについて算出された類似度が５であり、類似設計書ＩＤが「Ｇ００３」である類似設計書の項目名リストについて算出された類似度が３である場合、自立語「受払状態区分」に対応付けられている項目名「受払先状態区分」及び「受入状態区分」のうち、項目名「受払先状態区分」を項目候補格納部１３に格納する。
【００６７】
以上のような処理を実施することにより、１つの自立語に対して、複数の類似設計書の項目名リストから項目名が抽出された場合であっても、項目名を抽出するのに最も相応しい項目名リストを決定できるようになる。
【００６８】
図１０の説明に戻り、ステップＳ６３又はステップＳ６１の後、絞り込み部５０５は、全ての自立語について処理したか判断する（ステップＳ６５）。全ての自立語について処理していない場合（ステップＳ６５：Ｎｏルート）、次の自立語について処理を実施するため、ステップＳ４９の処理に戻る。一方、全ての自立語について処理した場合（ステップＳ６５：Ｙｅｓルート）、元の処理に戻る。
【００６９】
以上のような処理を実施することにより、項目候補となるべき項目名を適切に抽出することができる。
【００７０】
図６の説明に戻り、第一不整合項目特定部１５は、項目候補格納部１３に格納されている項目名のうち、入力データ格納部３に格納されている項目名リストに含まれない項目名である不整合項目名を特定し、第一不整合項目格納部１７に格納する（ステップＳ９）。例えば、図１１に示すデータが項目候補格納部１３に格納されており、図５（ｂ）に示すデータが入力データ格納部３に格納されている場合には、項目名「受払先状態」及び「受払先状態区分」を第一不整合項目格納部１７に格納する。
【００７１】
そして、出力部１９は、第一不整合項目格納部１７に格納されている項目名を出力する処理を実施する（ステップＳ１１）。不整合検出装置に表示装置や印刷装置が接続されている場合には、当該表示装置に表示したり、印刷装置などに出力するようにしても良い。さらに、ネットワークを介して接続されている他のコンピュータに出力するようにしてもよい。
【００７２】
以上述べたように、類似設計書の項目名リストを用いているので、項目名でない自立語を項目名として定義してしまうことを防止しつつ、定義されるべき項目名を高精度で特定できるようになる。
【００７３】
［実施の形態２］
次に、項目定義において定義されているにも関わらず処理詳細に含まれていないという不整合（第二の不整合）が生じている項目名を検出し、当該項目名に関するデータを補充すべき位置を特定するための処理について説明する。
【００７４】
第２の実施の形態に係る修正支援装置の機能ブロック図を図１９に示す。第２の実施の形態に係る修正支援装置は、入力処理部１０１と、入力データ格納部１０３と、設計書ＤＢ１０５と、類似設計書特定部１０７と、類似設計書格納部１１３と、第二不整合項目特定部１０９と、第二不整合項目格納部１１１と、補充文抽出部１１５と、補充文格納部１１７と、絞り込み処理部１１９と、絞り込み処理結果格納部１２１と、補充位置決定部１２３と、出力データ格納部１２５と、出力部１２７とを含む。
【００７５】
入力処理部１０１は、診断対象の設計書の処理詳細及び項目定義の入力を受け付け、入力データ格納部１０３に格納する。類似設計書特定部１０７は、入力データ格納部１０３及び設計書ＤＢ１０５に格納されているデータに基づき、類似設計書を設計書ＤＢ１０５から抽出し、類似設計書格納部１１３に格納する。第二不整合項目特定部１０９は、入力データ格納部１０３に格納されているデータ用いて不整合項目名を抽出し、第二不整合項目格納部１１１に格納する。補充文抽出部１１５は、第二不整合項目格納部１１１に格納されている不整合項目名及び類似設計書格納部１１３に格納されている処理詳細を用いて、入力された処理詳細に補充すべきデータを抽出する処理等を実施し、補充文格納部１１７に格納する。絞り込み処理部１１９は、入力データ格納部１０３、類似設計書格納部１１３及び補充文格納部１１７に格納されているデータを用いて、後で説明する範囲絞り込み処理を実施し、処理結果を絞り込み処理結果格納部１２１に格納する。補充位置決定部１２３は、入力データ格納部１０３、類似設計書格納部１１３及び絞り込み処理結果格納部１２１に格納されているデータを用いて、後で説明する補充位置決定処理を実施し、処理結果を出力データ格納部１２５に格納する。出力部１２７は、出力データ格納部１２５に格納されているデータを表示装置に出力する。
【００７６】
絞り込み処理部１１９は、行番号リスト格納部１１９１と、対応位置データ格納部１１９２と、行番号リスト生成部１１９３と、対応位置特定部１１９４と、範囲特定部１１９５とを含む。行番号リスト生成部１１９３は、入力データ格納部１０３及び類似設計書格納部１１３に格納されているデータを用いて、後で説明する行番号リストを生成する処理等を実施し、処理結果を行番号リスト格納部１１９１に格納する。対応位置特定部１１９４は、行番号リスト格納部１１９１及び入力データ格納部１０３に格納されているデータを用いて、後で説明する対応位置特定処理等を実施し、処理結果を対応位置データ格納部１１９２に格納する。範囲特定部１１９５は、補充文格納部１１７及び対応位置データ格納部１１９２に格納されているデータに基づき処理を行い、処理結果を絞り込み処理結果格納部１２１に格納する。
【００７７】
補充位置決定部１２３は、類似度格納部１２３１と、ウィンドウ生成部１２３２と、探索部１２３３とを含む。ウィンドウ生成部１２３２は、後で説明するウィンドウ・データを生成する処理等を行い、生成されたウィンドウ・データを探索部１２３３に出力する。探索部１２３３は、ウィンドウ生成部１２３２から受け取ったウィンドウ・データ及び入力データ格納部１０３に格納されているデータを用いて処理を行い、処理結果を出力データ格納部１２５に格納する。
【００７８】
図２０及び図２１に、設計書ＤＢ１０５に格納されているデータの一例を示す。図２０は、設計書ＤＢ１０５に格納されている項目定義のデータの一例を示している。図２０の例では、項目定義書ＩＤと、ファイル名と、処理名とが格納されるようになっており、また、番号の列と、項目名の列と、項目種別の列と、寄せの列と、I/O（入出力）の列とが含まれる。また、図２１は、設計書ＤＢ１０５に格納されている処理詳細のデータの一例を示している。図２１の例では、処理詳細定義書ＩＤと、ファイル名とが格納されるようになっており、また、行番号の列と、処理の内容を表す文の列とが含まれる。設計書ＤＢ１０５には、処理毎に項目定義及び処理詳細がセットで格納されるようになっている。例えば図２０及び図２１は、「在庫受入登録」という処理についての項目定義及び処理詳細である。
【００７９】
次に、図２２乃至図４１を用いて、図１９に示した修正支援装置の処理内容について説明する。まず、修正支援装置の入力処理部１０１は、診断対象の設計書の処理詳細及び項目定義の入力を受け付け、入力データ格納部１０３に格納する（図２２：ステップＳ２０１）。ここでは、キーボードやマウス等の入力装置を介してユーザから直接入力を受け付けるようにしてもよいし、設計書のリストをユーザに提示し、ユーザ指定の設計書の処理詳細及び項目定義を図示しない記憶装置等（又はネットワークを介して接続されている他のコンピュータ）から取得するような処理であってもよい。また、設計書ＤＢ１０５から項目定義及び処理詳細を抽出するようにしてもよい。
【００８０】
図２３及び図２４に、入力データ格納部１０３に格納されているデータの一例を示す。図２３は、入力データ格納部１０３に格納されている項目定義のデータの一例を示しており、データのフォーマットは図２０に示したデータと同様である。図２４は、入力データ格納部１０３に格納されている処理詳細のデータの一例を示しており、データのフォーマットは図２１に示したデータと同様である。
【００８１】
図２０の説明に戻り、第二不整合項目特定部１０９は、入力データ格納部１０３に格納されている項目定義（以下、入力項目定義と呼ぶ）に定義されている項目名のうち、入力データ格納部１０３に格納されている処理詳細（以下、入力処理詳細と呼ぶ）に含まれていない不整合項目名を特定し、第二不整合項目格納部１１１に格納する（ステップＳ２０３）。不整合項目名は、項目定義に定義されているにも関わらず、処理詳細において処理内容に関するデータが欠落している項目名である。
【００８２】
そして、類似設計書特定部１０７は、入力処理詳細との類似度が最も高い処理詳細及び当該処理詳細に対応する項目定義を設計書ＤＢ１０５から読み出し、類似設計書格納部１１３に格納する（ステップＳ２０５）。
【００８３】
ステップＳ２０５においては、例えば、第１の実施の形態で説明したステップＳ３及びＳ５において行われる処理と同様の処理を行うようにすればよい。この場合、類似設計書特定部１０７は、入力処理詳細から自立語を抽出して自立語リストを生成すると共に、設計書ＤＢ１０５に格納されている処理詳細の各々についても自立語リストを生成する。また、類似設計書特定部１０７は、設計書ＤＢ１０５に格納されている処理詳細の各々について、当該処理詳細の自立語リストと入力処理詳細についての自立語リストとの類似度を算出する。そして、類似設計書特定部１０７は、算出された類似度が最も高い処理詳細と当該処理詳細に対応する項目定義を設計書ＤＢ１０５から読み出し、類似設計書格納部１１３に格納する。以下では、類似設計書格納部１１３に格納された処理詳細を類似処理詳細と呼び、類似設計書格納部１１３に格納された項目定義を類似項目定義と呼び、類似処理詳細と類似項目定義のセットを類似設計書と呼ぶ。
【００８４】
次に、補充文抽出部１１５は、第二不整合項目格納部１１１に格納されている不整合項目名で類似処理詳細を探索し、特定された不整合項目名を含む文及び当該文の行番号を補充文格納部１１７に格納する（ステップＳ２０７）。
【００８５】
図２５に、補充文格納部１１７に格納されているデータの一例を示す。図２５の例では、行番号と、補充すべき文とが格納されるようになっている。
【００８６】
図２２の説明に戻り、絞り込み処理部１１９は、範囲絞り込み処理を実施する（ステップＳ２０９）。範囲絞り込み処理については、図２６乃至図３４を用いて説明する。
【００８７】
まず、絞り込み処理部１１９の行番号リスト生成部１１９３は、入力項目定義及び類似項目定義の両方に含まれる項目名を共通項目名として抽出し、メインメモリ等の記憶装置に格納する（図２６：ステップＳ２２１）。例えば、類似項目定義が図２０の例に示したようなデータであり、入力項目定義が図２３の例に示したようなデータであるような場合には、図２７に示すようなデータが共通項目名として抽出される。
【００８８】
そして、行番号リスト生成部１１９３は、入力処理詳細及び類似処理詳細のそれぞれについて、ステップＳ２２１において抽出された共通項目名と当該共通項目名を含む文の行番号を抽出して行番号リストを生成し、行番号リスト格納部１１９１に格納する（ステップＳ２２３）。
【００８９】
図２８に、行番号リスト格納部１１９１に格納されるデータの一例を示す。図２８の例では、処理詳細定義書のＩＤと、行番号と、項目名とが格納されている。図２８の左側に示したデータは、入力処理詳細について生成された行番号リストの一例を示し、右側に示したデータは、類似処理詳細について生成された行番号リストの一例を示す。
【００９０】
図２６の説明に戻り、対応位置特定部１１９４は、入力処理詳細についての行番号リスト及び類似処理詳細についての行番号リストから、最後に抽出した項目名の次の項目名（すなわち、最後に抽出した項目名の次に行番号が小さい項目名）をそれぞれ抽出し、メインメモリ等の記憶装置に格納する（ステップＳ２２５）。初めてステップＳ２２５の処理を実施する場合には、最も行番号が小さい項目名を抽出する。以下では、入力処理詳細についての行番号リストから抽出した項目名を第１の項目名と呼び、類似処理詳細についての行番号リストから抽出した項目名を第２の項目名と呼ぶ。
【００９１】
そして、対応位置特定部１１９４は、第１の項目名及び第２の項目名が抽出されたか判断する（ステップＳ２２７）。例えば行番号が最も大きい項目名を既に処理した場合には、次に処理すべき項目名は無いため、項目名は抽出されない。第１の項目名及び第２の項目名が抽出された場合には（ステップＳ２２７：Ｙｅｓルート）、対応位置特定部１１９４は、第１の項目名及び第２の項目名が同一であるか判断する（ステップＳ２２９）。そして、第１の項目名及び第２の項目名が同一である場合には（ステップＳ２２９：Ｙｅｓルート）、対応位置特定部１１９４は、項目名に対応する行番号を、入力処理詳細についての行番号リスト及び類似処理詳細についての行番号リストからそれぞれ特定し、当該項目名に対応付けて対応位置データ格納部１１９２に格納する（ステップＳ２３１）。
【００９２】
図２９に、対応位置データ格納部１１９２に格納されているデータの一例を示す。図２９の例では、順番の列と、項目名の列と、入力処理詳細での行番号の列と、類似処理詳細での行番号の列とが含まれる。
【００９３】
図２６の説明に戻り、第１の項目名及び第２の項目名が同一でない場合（ステップＳ２２９：Ｎｏルート）、対応位置特定部１１９４は、対応位置特定処理を実施する（ステップＳ２３３）。対応位置特定処理については、図３０を用いて説明する。
【００９４】
まず、対応位置特定部１１９４は、対応位置データ格納部１１９２から、最後に格納された項目名を特定する（図３０：ステップＳ２４１）。また、対応位置特定部１１９４は、入力項目定義から、ステップＳ２４１において特定された項目名よりも後に定義されている項目名（すなわち、特定された項目名よりも「番号」が大きい項目名）を抽出し、抽出された項目名を含む候補リストを生成する（ステップＳ２４３）。また、対応位置特定部１１９４は、候補リストに含まれる未処理の項目名のうち、最も先に定義されている項目名（すなわち、「番号」が最も小さい項目名）を特定する（ステップＳ２４５）。
【００９５】
そして、対応位置特定部１１９４は、ステップＳ２４５において特定された項目名が、第１の項目名及び第２の項目名のいずれかと同一であるか判断する（ステップＳ２４７）。第１の項目名及び第２の項目名のいずれとも同一ではないと判断された場合（ステップＳ２４７：Ｎｏルート）、次の項目名について処理を実施するため、ステップＳ２４５の処理に戻る。
【００９６】
一方、第１の項目名及び第２の項目名のいずれかと同一であると判断された場合（ステップＳ２４７：Ｙｅｓルート）、対応位置特定部１１９４は、ステップＳ２４５において特定された項目名が、第１の項目名と同一であるか判断する（ステップＳ２４９）。
【００９７】
第１の項目名と同一であると判断された場合（ステップＳ２４９：Ｙｅｓルート）、対応位置特定部１１９４は、類似処理詳細についての行番号リストにおいて、第２の項目名より行番号が大きい項目名の中から第１の項目名と同一の項目名を探索し、当該項目名及び当該項目名に対応する行番号を抽出する（ステップＳ２５１）。
【００９８】
一方、第１の項目名と同一ではない（すなわち、第２の項目名と同一である）と判断された場合（ステップＳ２４９：Ｎｏルート）、対応位置特定部１１９４は、入力処理詳細についての行番号リストにおいて、第１の項目名より行番号が大きい項目名の中から第２の項目名と同一の項目名を探索し、当該項目名及び当該項目名に対応する行番号を抽出する（ステップＳ２５３）。
【００９９】
そして、対応位置特定部１１９４は、ステップＳ２４５において特定された項目名と、当該項目名に対応する行番号とを対応付けて対応位置データ格納部１１９２に格納する（ステップＳ２５５）。ステップＳ２４９において、ステップＳ２４５において特定された項目名が第１の項目名と同一であると判断された場合には、入力処理詳細についての行番号リストにおいて第１の項目名に対応する行番号と、ステップＳ２５１において抽出された行番号とを格納する。ステップＳ２４９において、ステップＳ２４５において特定された項目名が第１の項目名と同一ではない（すなわち、第２の項目名と同一である）と判断された場合には、類似処理詳細についての行番号リストにおいて第２の項目名に対応する行番号と、ステップＳ２５３において抽出された行番号とを格納する。そして元の処理に戻る。
【０１００】
図２６の説明に戻り、いずれかの行番号リストから項目名が抽出されなかった場合には（ステップＳ２２７：Ｎｏルート）、対応位置特定部１１９４は、補充すべき文の行番号及び対応位置データ格納部１１９２に格納されているデータに基づき、補充すべき文を補充する範囲を特定する処理を行い、処理結果を絞り込み処理結果格納部１２１に格納する（ステップＳ２３５）。そして元の処理に戻る。
【０１０１】
図３１に、絞り込み処理結果格納部１２１に格納されているデータの一例を示す。図３１の例では、順番の列と、項目名の列と、入力処理詳細での行番号の列と、類似処理詳細での行番号の列とが含まれる。
【０１０２】
ここで、ステップＳ２３５において行われる処理について説明する。例えば図２５に示すように、補充すべき文の行番号が「３３１」であるとする。一方で、対応位置データ格納部１１９２には、図２９に示すようなデータが格納されているとする。すると、補充すべき文は、類似処理詳細において「運用日付」という共通項目名が含まれる行と、「事業所コード」という共通項目名が含まれる行と間に位置していることがわかる。そこで、本実施の形態では、図３２に示すように、入力処理詳細において「運用日付」という共通項目名が含まれる行と、「事業所コード」という共通項目名が含まれる行とで挟まれた範囲の中に、欠落しているデータを補充すべき位置があると推定する。これは、入力処理詳細に類似する処理詳細（類似処理詳細）は、項目名が出現する順序も類似するという性質を利用したものである。
【０１０３】
また、対応位置特定部１１９４により行われる処理について、説明を追加しておく。図３３は、対応位置特定部１１９４により行われる、行番号の対応付けを模式的に示した図である。まず、対応位置特定部１１９４は、それぞれの行番号リストに含まれる項目名を上から順に（すなわち、行番号が小さい順に）同一であるかを判断していく。図３３の例であれば、まず、入力処理詳細についての行番号リストにおける「運用日付」と、類似処理詳細についての行番号リストにおける「運用日付」とが同一であるかを判断する。ここでは、同一であるので、対応位置データ格納部１１９２には、１行目のようなデータが格納される。次の項目名である「事業所コード」、及びその後に出現する「運用日付」についても同様の処理が行われる。
【０１０４】
そして、その次の項目名として、入力処理詳細についての行番号リストから「事業所コード」が特定され、類似処理詳細についての行番号リストから「取引先区分」が特定される。これらの項目名は同一ではないので、対応位置特定部１１９４は、上で述べた対応位置特定処理を実施する。例えば入力項目定義のデータが図２３のようなデータである場合には、「事業所コード」の方が「取引先区分」よりも先に定義されているので、「事業所コード」を優先して処理を行うことになる。ここでは、類似処理詳細についての行番号リストにおいて、「取引先区分」の後に位置する項目名の中から「事業所コード」を特定し、この項目名に対応する行番号「３３７」を、入力処理詳細についての行番号リストにおける行番号「２９４」と対応付ける。
【０１０５】
このように、本実施の形態では、それぞれの行番号リストから抽出された項目名が同一でない場合には、入力項目定義において先に定義されている項目名を優先して処理を行うようにしている。
【０１０６】
一方、図３３の例において、入力項目定義において項目名が定義されている順序を考慮せず、類似処理詳細についての行番号リストにおける「取引先区分」という項目名を優先して処理した場合について説明する。この場合は、入力処理詳細についての行番号リストにおいて、「事業所コード」の後に位置する項目名の中から「取引先区分」を特定し、この項目名に対応する行番号「４２１」を、類似処理詳細についての行番号リストにおける行番号「３２１」と対応付ける。この結果得られる対応位置データは例えば図３４のようになる。このデータに従えば、補充すべき文は、入力処理詳細における行番号「４２１」と行番号「４３９」との間に補充すべきということになる。しかし、これは、結果として、誤った絞り込みを行ってしまっている。
【０１０７】
そこで、このような誤った絞り込みをしてしまう可能性を低くするため、本実施の形態では、入力項目定義において項目名が定義されている順序を考慮した形で行番号の対応付けを行っている。
【０１０８】
以上のようにして範囲絞り込み処理を実施することにより、入力処理詳細においてデータが欠落していると推定される範囲を高精度で絞り込むことができるようになる。
【０１０９】
図２２の説明に戻り、補充位置決定部１２３は、補充位置決定処理を実施する（ステップＳ２１１）。はじめに、第１の補充位置決定処理について図３５乃至図３７を用いて説明する。
【０１１０】
まず、補充位置決定部１２３のウィンドウ生成部１２３２は、ウィンドウ幅ｎを１に設定する（図３５：ステップＳ２６１）。そして、ウィンドウ生成部１２３２は、補充すべき文の行番号のデータを補充文格納部１１７から読み出し、補充すべき文の前後ｎ行を類似処理詳細から抽出してウィンドウ・データを生成し、メインメモリ等の記憶装置に格納する（ステップＳ２６３）。
【０１１１】
図３６に、ウィンドウ・データの一例を示す。図３６の例では、ウィンドウＩＤと、行番号と、補充すべき文の前後ｎ文（ここではｎ＝３）のデータとが格納されるようになっている。
【０１１２】
図３５の説明に戻り、探索部１２３３は、入力処理詳細においてデータが欠落していると推定される範囲（ステップＳ２３５において特定された範囲）において、生成されたウィンドウ・データとの類似度が最も高い位置を探索する（ステップＳ２６５）。
【０１１３】
ステップＳ２６５において行われる処理について、図３７を用いて説明する。図３７では、入力処理詳細においてデータが欠落していると推定される範囲として、行番号「２７８」から行番号「２９４」までの範囲が示されている。例えばｎ＝３の場合、まず範囲３７１に含まれるデータとウィンドウ・データとの類似度を算出する。類似度は、例えば範囲３７１に含まれる自立語とウィンドウ・データに含まれる自立語とのうち一致するものの数を用いればよい。同様に、範囲３７２及び３７３についても類似度を算出し、範囲３７４まで類似度を算出すると、類似度の算出を終了する。そして、算出された類似度のうち最も高い類似度に対応する範囲における、所定の位置（例えば中央）を特定する。
【０１１４】
図３５の説明に戻り、探索部１２３３は、ステップＳ２６５における探索処理により特定された、類似度が最も高い位置についてのデータと、対応する類似度とを、ウィンドウ幅ｎに対応付けて類似度格納部１２３１に格納する（ステップＳ２６７）。
【０１１５】
次に、探索部１２３３は、ウィンドウ幅ｎを１インクリメントする（ステップＳ２６９）。そして、探索部１２３３は、ウィンドウ幅ｎが上限値を超えたか判断する（ステップＳ２７１）。ウィンドウ・データを抽出する範囲は、ステップＳ２３５において特定される範囲を超えないことが望ましい。従って、ウィンドウ幅の上限値は、例えば図３１に示したデータが絞り込み処理結果格納部１２１に格納されており、補充すべき文の行番号が「３３１」である場合には「６」となる。
【０１１６】
そして、ウィンドウ幅ｎが上限値を超えていない場合（ステップＳ２７１：Ｎｏルート）、ステップＳ２６３に戻る。一方、ウィンドウ幅ｎが上限値を超えた場合（ステップＳ２７１：Ｙｅｓルート）、探索部１２３３は、類似度格納部１２３１に格納されている類似度のうち、最も高い類似度に対応する位置についてのデータを抽出し、出力データ格納部１２５に格納する（ステップＳ２７３）。そして元の処理に戻る。
【０１１７】
図３８に、出力データ格納部１２５に格納されるデータの一例を示す。図３８の例では、補充すべき箇所の行番号と、補充すべき箇所に含まれる文のデータとが格納されるようになっている。図３８の例は、入力処理詳細における行番号「２８９」の文と行番号「２９０」の文との間にデータを補充すべきであることを表している。
【０１１８】
図３９は、ステップＳ２７３において行われる処理の考え方を示す図である。第１の補充位置決定処理においては、ウィンドウ幅ｎをｎ＝１，２，３，・・・と変化させ、各ウィンドウ幅について類似度の最大値を算出する。そして、算出された類似度のうち最も大きい類似度（図３９の例では、ｎ＝５の場合の類似度）に対応する位置を、データが欠落している位置として特定する。
【０１１９】
以上のような処理を実施することにより、絞り込まれた範囲の中から、データが欠落している位置として最も確からしい位置を特定することができるようになる。
【０１２０】
なお、第１の補充位置決定処理の代わりに、以下で説明するような第２の補充位置決定処理を行うようにしてもよい。
【０１２１】
図４０及び図４１を用いて、第２の補充位置決定処理について説明する。まず、補充位置決定部１２３のウィンドウ生成部１２３２は、ウィンドウの上幅及び下幅に１を設定する（図４０：ステップＳ２８１）。そして、ウィンドウ生成部１２３２は、設定された上幅及び下幅に基づきウィンドウ・データを生成し、メインメモリ等の記憶装置に格納する（ステップＳ２８３）。
【０１２２】
次に、ウィンドウ生成部１２３２は、ウィンドウ・データに含まれる上端の文（すなわち、最も行番号が小さい文）が章又は節の見出しを表すデータを含むか判断する（ステップＳ２８５）。上端の文に章又は節の見出しを表すデータが含まれない場合（ステップＳ２８５：Ｎｏルート）、ウィンドウ生成部１２３２は、ウィンドウの上幅を１増加し（ステップＳ２８７）、ステップＳ２８３の処理に戻る。
【０１２３】
一方、上端の文に章又は節の見出しを表すデータが含まれる場合（ステップＳ２８５：Ｙｅｓルート）、ウィンドウ生成部１２３２は、ウィンドウ・データに含まれる下端の文（すなわち、最も行番号が大きい文）が章又は節の見出しを表すデータを含むか判断する（ステップＳ２８９）。下端の文に章又は節の見出しを表すデータが含まれない場合（ステップＳ２８９：Ｎｏルート）、ウィンドウ生成部１２３２は、ウィンドウの下幅を１増加し（ステップＳ２９１）、ステップＳ２８９の処理に戻る。
【０１２４】
一方、下端の文に章又は節の見出しを表すデータが含まれる場合（ステップＳ２８９：Ｙｅｓルート）、ウィンドウ生成部１２３２は、設定された上幅及び下幅でウィンドウ・データを生成し、メインメモリ等の記憶装置に格納する（ステップＳ２９３）。また、探索部１２３３は、入力処理詳細において、生成されたウィンドウ・データとの類似度が最も高い位置を探索し（ステップＳ２９５）、類似度が最も高い位置についてのデータを出力データ格納部１２５に格納する。ステップＳ２９５において行われる処理は、ステップＳ２６５において行われる処理と同様である。そして元の処理に戻る。
【０１２５】
第２の補充位置決定処理により生成されるウィンドウ・データの一例を図４１に示す。図４１の例では、ウィンドウＩＤと、行番号と、補充すべき文の前後の文（ここでは、上幅が２、下幅が４）のデータとが格納されるようになっている。なお、図４１の例では、ウィンドウ・データに含まれる下端の文を削除しているため、上端の文だけに章又は節の見出しを表すデータが含まれている。
【０１２６】
なお、ＵＩ工程において作成される処理詳細には、一般的な文書とは異なり、比較的短い文で内容が記述されており、且つ内容の移り変わりが激しいという特徴がある。従って、ウィンドウ幅を広くしすぎると、様々な処理内容についてのデータがウィンドウ・データに含まれてしまうため、特徴が薄れてしまい、候補となる位置を絞り込むことが難しい。一方で、ウィンドウ幅を狭くしすぎると、手がかりとなるデータが不足するため、誤った位置を特定してしまうことが多くなる。そこで、大まかにウィンドウ幅を決定するのではなく、章又は節のように、１つのまとまった内容のデータをウィンドウ・データとして利用することにより、データが欠落している位置として確からしい位置が高精度で特定されるようになる。
【０１２７】
図２２の説明に戻り、出力部１２７は、補充文格納部１１７及び出力データ格納部１２５に格納されているデータを表示装置に出力する（ステップＳ２１５）。そして、ユーザは、補充すべき文及び補充すべき位置を確認し、必要に応じて入力処理詳細のデータを修正する等の対応を行う。
【０１２８】
以上のような処理を実施することにより、処理詳細において欠落しているデータを補充すべき位置を高精度で特定することができるので、処理詳細の修正作業に要するコストを削減することができるようになる。
【０１２９】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明した不整合検出装置及び修正支援装置の機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
【０１３０】
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【０１３１】
例えば、上で述べた例では、ステップＳ５９における出現部分比較処理を実施した後にステップＳ６１における項目定義比較処理を実施しているが、この順番が逆であっても、同じ処理結果を得ることができる。
【０１３２】
また、本実施の形態では、ステップＳ１において診断対象の設計書の処理詳細及び項目定義の入力を受け付け、ステップＳ３において入力された処理詳細及び項目定義から自立語リスト及び項目名リストを生成している。しかし、設計書ＤＢ７から診断対象の設計書の自立語リスト及び項目名リストを読み出し、ステップＳ５以降の処理を実施するようにしても良い。
【０１３３】
また、上で述べた対応位置特定処理（ステップＳ２３３）においては、処理を行う度に候補リストを生成するようになっている。しかし、入力項目定義に含まれる項目名から共通項目名でないもの及び不整合項目名を除いたものを予め優先リストとして用意しておき、候補リストの代わりに用いるようにしてもよい。
【０１３４】
また、上で述べた例では、類似設計書を使用するようにしているが、類似設計書を用いずに、例えばユーザから入力を受け付けた設計書を用いて処理を行うようにしてもよい。
【０１３５】
また、上で述べた例では、システム開発のＵＩ工程で作成される設計書に対して本技術を適用する例を示したが、このような設計書でなくても、文章と当該文章に含まれる項目名を定義する項目定義とを含む文書であれば本実施の形態を適用することが可能である。
【０１３６】
なお、上で述べた不整合検出装置及び修正支援装置は、コンピュータ装置であって、図４２に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１３７】
以上述べた実施の形態をまとめると以下のようになる。
【０１３８】
本実施の形態に係る不整合検出装置は、（Ａ）文書に含まれる文章から抽出された自立語群と、当該文章に含まれる項目名及び当該項目名の定義を含む項目定義から抽出された項目名群とを文書毎に格納する文書データベースと、（Ｂ）診断対象である第１の文書の自立語群及び項目名群を格納するデータ格納部と、（Ｃ）文書データベースに格納されている各文書の自立語群と、データ格納部に格納されている自立語群との類似度を算出し、当該類似度が所定の閾値以上である文書を類似文書として特定し、特定された当該類似文書の自立語群及び項目名群を文書データベースから抽出する類似文書特定手段と、（Ｄ）データ格納部に格納されている自立語群に含まれる自立語である第１自立語に一致する項目名を、類似文書特定手段により抽出された項目名群から抽出する項目候補抽出手段と、（Ｅ）項目候補抽出手段により抽出された項目名のうち、データ格納部に格納されている項目名群に含まれていない項目名を不整合項目名として特定する不整合項目特定手段とを有する。
【０１３９】
このように、類似文書の項目名群に含まれる項目名を用いているので、本来は項目名でない自立語を項目名として定義してしまうことを防止しつつ、未定義の項目名を高精度で特定できるようになる。また、項目名抽出のためのキーワードのパターンや学習事例等を診断対象の文書毎に用意する必要はないので、低コストである。さらに、文章と項目定義を含む文書であれば適用可能であるため、汎用性が高い。
【０１４０】
また、上で述べた項目候補抽出手段が、第１自立語毎に、当該第１自立語と類似文書特定手段により抽出された項目名群に含まれる各項目名との類似度を算出し、算出された当該類似度が第１の閾値以上である場合には、類似度の算出に係る項目名と類似度に基づき設定される一致度とを第１自立語に対応付けて一致項目データ格納部に格納する一致項目抽出手段と、一致項目データ格納部に格納されている各第１自立語について、当該第１自立語に対応付けて格納されている項目名から、少なくとも一致度に基づき、１つの項目名を項目候補として特定する絞り込み手段とを有するようにしてもよい。１つの第１自立語に対して項目名が複数抽出されることも考えられるが、上で述べた処理を行えば、最も相応しい項目名を特定し、必要のない項目名を排除することができる。
【０１４１】
また、上で述べた一致項目抽出手段が、算出された類似度が第１の閾値以上第２の閾値未満である場合には部分一致であることを示す一致度を設定し、算出された類似度が第２の閾値以上である場合には完全一致であることを示す一致度を設定し、上で述べた絞り込み手段が、各第１自立語について、一致度が完全一致である項目名、第１自立語に対応付けられている唯一の項目名であって一致度が部分一致である項目名、又はデータ格納部に格納されている項目名群に含まれる項目名である第１項目名のいずれかと一致する項目名を項目候補として特定するようにしてもよい。一致度が完全一致である場合はもちろん、部分一致であっても第１自立語に対応付けられている項目名が１つであり選択の余地が無い場合にも項目候補として特定するものである。また、既に第１の文書の項目定義において定義されている場合にも、当然項目候補として特定する。
【０１４２】
また、上で述べた絞り込み手段が、第１自立語に対応付けられており且つ類似文書のうち１の類似文書である第２の文書の項目名群に含まれる項目名である第２項目名が複数ある場合には、第２の文書の自立語群に含まれる自立語である第２自立語のうち第２項目名との類似度が所定の閾値以上である第２自立語と、第２の文書の自立語群における類似部分との距離に基づき、第２項目名から１つの項目名を特定し、特定された当該項目名以外の項目名についてのデータを一致項目データ格納部から削除する出現部分比較手段と、第１自立語に対応付けられている項目名を含む項目名群が複数存在する場合には、当該項目名群の各々とデータ格納部に格納されている項目名群との類似度を算出し、算出された当該類似度が最大である項目名群に含まれる項目名を項目候補として特定する項目定義比較手段とをさらに有するようにしてもよい。これにより、一致度や第１の文書の項目名群を用いた絞り込みだけでは項目候補を特定できない場合であっても、適切に項目候補を特定することができるようになる。
【０１４３】
また、上で述べた出現部分比較手段が、第２の文書の項目名群に含まれる項目名のうち、第１項目名のいずれかと一致する項目名を特定し、共通項目データ格納部に格納し、第２自立語毎に当該第２自立語と共通項目データ格納部に格納されている各項目名との類似度を算出し、算出された類似度に基づき、第２の文書の自立語群における類似部分を特定し、当該類似部分を特定するためのデータを生成して類似部分データ格納部に格納し、第２自立語毎に、当該第２自立語と各第２項目名との類似度を算出し、算出された当該類似度のうち最大の類似度が所定の閾値以上である場合には、類似部分を特定するためのデータを用いて、第２自立語と類似部分との距離を算出し、算出された当該距離のうち最小の距離である第１の距離を特定し、類似度の算出に係る第２項目名と特定された第１の距離とを対応付けて距離データ格納部に格納し、距離データ格納部から、対応付けられている第１の距離が最小である第２項目名を特定し、特定された第２項目名以外の第２項目名についてのデータを一致項目データ格納部から削除するようにしてもよい。類似部分に距離が近い方が第１の文書との関連性が高く、項目候補として相応しいという考え方に基づき絞り込みを行うものである。
【０１４４】
本実施の形態に係る修正支援装置は、（Ａ）処理に関連する項目名を定義する項目定義データ及び当該処理の内容を定義する処理詳細データを処理毎に格納するデータベースと、（Ｂ）データベースから、第１の項目定義データ及び当該第１の項目定義データに対応する第１の処理詳細データを読み出し、当該第１の項目定義データに定義されており且つ当該第１の処理詳細データに含まれていない項目名を不整合項目名として抽出する項目抽出部と、（Ｃ）データベースに格納されている処理詳細データのうち不整合項目名を含む第２の処理詳細データについて、不整合項目名が第２の処理詳細データに出現する位置を特定し、当該位置を表す位置情報を記憶装置に格納する補充データ特定部と、（Ｄ）データベースから、第１の項目定義データ及び第２の処理詳細データに対応する第２の項目定義データに共に定義されている項目名を共通項目名として抽出し、当該共通項目名が第１の処理詳細データ及び第２の処理詳細データにおいて出現する位置をそれぞれ特定し、当該位置を表す位置情報を共通項目名に対応付けて記憶装置に格納する対応位置特定部と、（Ｅ）記憶装置に格納されているデータを用いて、共通項目名のうち、第２の処理詳細データにおいて不整合項目名の直前に出現する共通項目名及び直後に出現する共通項目名を直前項目名及び直後項目名として特定する範囲特定部とを有する。
【０１４５】
このような構成であれば、不整合項目名に関するデータが欠落している位置を高精度で絞り込むことができるので、修正作業に要するコストを削減できるようになる。
【０１４６】
また、第２の処理詳細データから、不整合項目名の前後それぞれ特定の範囲に含まれるデータをウィンドウ・データとして抽出する処理を、特定の範囲を変化させつつ実施するウィンドウ生成部と、第１の処理詳細データにおける、直前項目名及び直後項目名で挟まれた範囲において、ウィンドウ生成部により抽出されたウィンドウ・データの各々について当該ウィンドウ・データとの類似度が最も高い位置を探索し、ウィンドウ・データの各々について検出された位置のうち類似度が最も高い位置を、不整合項目名に関するデータが欠落している位置として特定する探索部とをさらに有するようにしてもよい。このようにすれば、特定された範囲の中から、不整合項目名に関するデータが欠落している位置として最も確からしい位置を特定できるようになる。
【０１４７】
また、第２の処理詳細データにおける不整合項目名の前後において、処理内容の区切りを表すデータをそれぞれ特定し、当該処理内容の区切りを表すデータで挟まれた範囲に含まれるデータをウィンドウ・データとして抽出するウィンドウ生成部と、第１の処理詳細データにおける、直前項目名及び直後項目名で挟まれた範囲において、ウィンドウ生成部により抽出されたウィンドウ・データとの類似度が最も高い位置を、不整合項目名に関するデータが欠落している位置として特定する探索部とをさらに有するようにしてもよい。このようにすれば、ウィンドウ・データには、不整合項目名に関連する処理内容のデータが含まれるようになるため、不整合項目名に関するデータが欠落している位置として確からしい位置が高精度で特定されるようになる。
【０１４８】
また、上で述べた対応位置特定部は、第１の項目定義データにおいて共通項目名が出現する順序に従い、共通項目名が第１の処理詳細データにおいて出現する位置を表す位置情報と、共通項目名が第２の処理詳細データにおいて出現する位置を表す位置情報とを対応付けるようにしてもよい。このようにすれば、誤った範囲を特定してしまう可能性を低くすることができるようになる。
【０１４９】
また、上で述べた第２の処理詳細データは、不整合項目名を含み且つ第１の処理詳細データとの類似度が高くてもよい。類似度が高い処理詳細データを利用すれば、より確からしい結果を得ることができるからである。
【０１５０】
本実施の形態に係る不整合検出方法は、文書に含まれる文章から抽出された自立語群と当該文章に含まれる項目名及び当該項目名の定義を含む項目定義から抽出された項目名群とを文書毎に格納する文書データベースと、診断対象である第１の文書の自立語群及び項目名群を格納するデータ格納部とにアクセス可能なコンピュータにより実行される。そして、本不整合検出方法は、（Ａ）文書データベースに格納されている各文書の自立語群と、データ格納部に格納されている自立語群との類似度を算出し、当該類似度が所定の閾値以上である文書を類似文書として特定し、特定された当該類似文書の自立語群及び項目名群を文書データベースから抽出する類似文書特定ステップと、（Ｂ）データ格納部に格納されている自立語群に含まれる自立語である第１自立語に一致する項目名を、類似文書特定ステップにおいて抽出された項目名群から抽出する項目候補抽出ステップと、（Ｃ）項目候補抽出ステップにおいて抽出された項目名のうち、データ格納部に格納されている項目名群に含まれていない項目名を不整合項目名として特定するステップとを含む。
【０１５１】
本実施の形態に係る修正支援方法は、（Ａ）処理に関連する項目名を定義する項目定義データ及び当該処理の内容を定義する処理詳細データを処理毎に格納するデータベースから、第１の項目定義データ及び当該第１の項目定義データに対応する第１の処理詳細データを読み出し、当該第１の項目定義データに定義されており且つ当該第１の処理詳細データに含まれていない項目名を不整合項目名として抽出するステップと、（Ｂ）データベースに格納されている処理詳細データのうち不整合項目名を含む第２の処理詳細データについて、不整合項目名が第２の処理詳細データに出現する位置を特定し、当該位置を表す位置情報を記憶装置に格納するステップと、（Ｃ）データベースから、第１の項目定義データ及び第２の処理詳細データに対応する第２の項目定義データに共に定義されている項目名を共通項目名として抽出し、当該共通項目名が第１の処理詳細データ及び第２の処理詳細データにおいて出現する位置をそれぞれ特定し、当該位置を表す位置情報を共通項目名に対応付けて記憶装置に格納するステップと、（Ｄ）記憶装置に格納されているデータを用いて、共通項目名のうち、第２の処理詳細データにおいて不整合項目名の直前に出現する共通項目名及び直後に出現する共通項目名を特定するステップとを含む。
【０１５２】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【０１５３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１５４】
（付記１）
文書に含まれる文章から抽出された自立語群と、当該文章に含まれる項目名及び当該項目名の定義を含む項目定義から抽出された項目名群とを文書毎に格納する文書データベースと、
診断対象である第１の文書の前記自立語群及び前記項目名群を格納するデータ格納部と、
前記文書データベースに格納されている各文書の自立語群と、前記データ格納部に格納されている自立語群との類似度を算出し、当該類似度が所定の閾値以上である文書を類似文書として特定し、特定された当該類似文書の自立語群及び項目名群を前記文書データベースから抽出する類似文書特定手段と、
前記データ格納部に格納されている自立語群に含まれる自立語である第１自立語に一致する項目名を、前記類似文書特定手段により抽出された項目名群から抽出する項目候補抽出手段と、
前記項目候補抽出手段により抽出された項目名のうち、前記データ格納部に格納されている項目名群に含まれていない項目名を不整合項目名として特定する不整合項目特定手段と、
を有する不整合検出装置。
【０１５５】
（付記２）
前記項目候補抽出手段が、
前記第１自立語毎に、当該第１自立語と前記類似文書特定手段により抽出された項目名群に含まれる各項目名との類似度を算出し、算出された当該類似度が第１の閾値以上である場合には、前記類似度の算出に係る項目名と前記類似度に基づき設定される一致度とを前記第１自立語に対応付けて一致項目データ格納部に格納する一致項目抽出手段と、
前記一致項目データ格納部に格納されている各前記第１自立語について、当該第１自立語に対応付けて格納されている項目名から、少なくとも前記一致度に基づき、１つの項目名を項目候補として特定する絞り込み手段と、
を有する付記１記載の不整合検出装置。
【０１５６】
（付記３）
前記一致項目抽出手段が、
算出された前記類似度が前記第１の閾値以上第２の閾値未満である場合には部分一致であることを示す一致度を設定し、算出された前記類似度が前記第２の閾値以上である場合には完全一致であることを示す一致度を設定し、
前記絞り込み手段が、
各前記第１自立語について、前記一致度が完全一致である項目名、前記第１自立語に対応付けられている唯一の項目名であって前記一致度が部分一致である項目名、又は前記データ格納部に格納されている項目名群に含まれる項目名である第１項目名のいずれかと一致する項目名を前記項目候補として特定する
ことを特徴とする付記２記載の不整合検出装置。
【０１５７】
（付記４）
前記絞り込み手段が、
前記第１自立語に対応付けられており且つ前記類似文書のうち１の類似文書である第２の文書の項目名群に含まれる項目名である第２項目名が複数ある場合には、前記第２の文書の自立語群に含まれる自立語である第２自立語のうち前記第２項目名との類似度が所定の閾値以上である第２自立語と、前記第２の文書の自立語群における類似部分との距離に基づき、前記第２項目名から１つの項目名を特定し、特定された当該項目名以外の項目名についてのデータを前記一致項目データ格納部から削除する出現部分比較手段と、
前記第１自立語に対応付けられている項目名を含む項目名群が複数存在する場合には、当該項目名群の各々と前記データ格納部に格納されている項目名群との類似度を算出し、算出された当該類似度が最大である項目名群に含まれる項目名を項目候補として特定する項目定義比較手段と、
をさらに有する付記３記載の不整合検出装置。
【０１５８】
（付記５）
前記出現部分比較手段が、
前記第２の文書の項目名群に含まれる項目名のうち、前記第１項目名のいずれかと一致する項目名を特定し、共通項目データ格納部に格納し、
前記第２自立語毎に当該第２自立語と前記共通項目データ格納部に格納されている各項目名との類似度を算出し、算出された前記類似度に基づき、前記第２の文書の自立語群における類似部分を特定し、当該類似部分を特定するためのデータを生成して類似部分データ格納部に格納し、
前記第２自立語毎に、当該第２自立語と各前記第２項目名との類似度を算出し、算出された当該類似度のうち最大の類似度が所定の閾値以上である場合には、前記類似部分を特定するためのデータを用いて、前記第２自立語と前記類似部分との距離を算出し、算出された当該距離のうち最小の距離である第１の距離を特定し、前記類似度の算出に係る第２項目名と特定された前記第１の距離とを対応付けて距離データ格納部に格納し、
前記距離データ格納部から、対応付けられている前記第１の距離が最小である第２項目名を特定し、特定された前記第２項目名以外の第２項目名についてのデータを前記一致項目データ格納部から削除する
ことを特徴とする付記４記載の不整合検出装置。
【０１５９】
（付記６）
文書に含まれる文章から抽出された自立語群と当該文章に含まれる項目名及び当該項目名の定義を含む項目定義から抽出された項目名群とを文書毎に格納する文書データベースに格納されている各文書の自立語群と、診断対象である第１の文書の前記自立語群及び前記項目名群を格納するデータ格納部に格納されている自立語群との類似度を算出し、当該類似度が所定の閾値以上である文書を類似文書として特定し、特定された当該類似文書の自立語群及び項目名群を前記文書データベースから抽出する類似文書特定ステップと、
前記データ格納部に格納されている自立語群に含まれる自立語である第１自立語に一致する項目名を、前記類似文書特定ステップにおいて抽出された項目名群から抽出する項目候補抽出ステップと、
前記項目候補抽出ステップにおいて抽出された項目名のうち、前記データ格納部に格納されている項目名群に含まれていない項目名を不整合項目名として特定するステップと、
をコンピュータに実行させるための不整合検出プログラム。
【０１６０】
（付記７）
文書に含まれる文章から抽出された自立語群と当該文章に含まれる項目名及び当該項目名の定義を含む項目定義から抽出された項目名群とを文書毎に格納する文書データベースと、診断対象である第１の文書の前記自立語群及び前記項目名群を格納するデータ格納部とにアクセス可能なコンピュータにより実行される不整合検出方法であって、
前記文書データベースに格納されている各文書の自立語群と、前記データ格納部に格納されている自立語群との類似度を算出し、当該類似度が所定の閾値以上である文書を類似文書として特定し、特定された当該類似文書の自立語群及び項目名群を前記文書データベースから抽出する類似文書特定ステップと、
前記データ格納部に格納されている自立語群に含まれる自立語である第１自立語に一致する項目名を、前記類似文書特定ステップにおいて抽出された項目名群から抽出する項目候補抽出ステップと、
前記項目候補抽出ステップにおいて抽出された項目名のうち、前記データ格納部に格納されている項目名群に含まれていない項目名を不整合項目名として特定するステップと、
を含む不整合検出方法。
【０１６１】
（付記８）
処理に関連する項目名を定義する項目定義データ及び当該処理の内容を定義する処理詳細データを処理毎に格納するデータベースと、
前記データベースから、第１の項目定義データ及び当該第１の項目定義データに対応する第１の処理詳細データを読み出し、当該第１の項目定義データに定義されており且つ当該第１の処理詳細データに含まれていない項目名を不整合項目名として抽出する項目抽出部と、
前記データベースに格納されている処理詳細データのうち前記不整合項目名を含む第２の処理詳細データについて、前記不整合項目名が前記第２の処理詳細データに出現する位置を特定し、当該位置を表す位置情報を記憶装置に格納する補充データ特定部と、
前記データベースから、前記第１の項目定義データ及び前記第２の処理詳細データに対応する第２の項目定義データに共に定義されている項目名を共通項目名として抽出し、当該共通項目名が前記第１の処理詳細データ及び前記第２の処理詳細データにおいて出現する位置をそれぞれ特定し、当該位置を表す位置情報を前記共通項目名に対応付けて前記記憶装置に格納する対応位置特定部と、
前記記憶装置に格納されているデータを用いて、前記共通項目名のうち、前記第２の処理詳細データにおいて前記不整合項目名の直前に出現する共通項目名及び直後に出現する共通項目名を直前項目名及び直後項目名として特定する範囲特定部と、
を有する修正支援装置。
【０１６２】
（付記９）
前記第２の処理詳細データから、前記不整合項目名の前後それぞれ特定の範囲に含まれるデータをウィンドウ・データとして抽出する処理を、前記特定の範囲を変化させつつ実施するウィンドウ生成部と、
前記第１の処理詳細データにおける、前記直前項目名及び前記直後項目名で挟まれた範囲において、前記ウィンドウ生成部により抽出された前記ウィンドウ・データの各々について当該ウィンドウ・データとの類似度が最も高い位置を探索し、前記ウィンドウ・データの各々について検出された位置のうち類似度が最も高い位置を、前記不整合項目名に関するデータが欠落している位置として特定する探索部と、
をさらに有する付記８記載の修正支援装置。
【０１６３】
（付記１０）
前記第２の処理詳細データにおける前記不整合項目名の前後において、処理内容の区切りを表すデータをそれぞれ特定し、当該処理内容の区切りを表すデータで挟まれた範囲に含まれるデータをウィンドウ・データとして抽出するウィンドウ生成部と、
前記第１の処理詳細データにおける、前記直前項目名及び前記直後項目名で挟まれた範囲において、前記ウィンドウ生成部により抽出された前記ウィンドウ・データとの類似度が最も高い位置を、前記不整合項目名に関するデータが欠落している位置として特定する探索部と、
をさらに有する付記８記載の修正支援装置。
【０１６４】
（付記１１）
前記対応位置特定部は、
前記第１の項目定義データにおいて前記共通項目名が出現する順序に従い、前記共通項目名が前記第１の処理詳細データにおいて出現する位置を表す位置情報と、前記共通項目名が前記第２の処理詳細データにおいて出現する位置を表す位置情報とを対応付ける
ことを特徴とする付記８乃至１０記載の修正支援装置。
【０１６５】
（付記１２）
前記第２の処理詳細データは、前記不整合項目名を含み且つ前記第１の処理詳細データとの類似度が高い
ことを特徴とする付記８乃至１１記載の修正支援装置。
【０１６６】
（付記１３）
処理に関連する項目名を定義する項目定義データ及び当該処理の内容を定義する処理詳細データを処理毎に格納するデータベースから、第１の項目定義データ及び当該第１の項目定義データに対応する第１の処理詳細データを読み出し、当該第１の項目定義データに定義されており且つ当該第１の処理詳細データに含まれていない項目名を不整合項目名として抽出するステップと、
前記データベースに格納されている処理詳細データのうち前記不整合項目名を含む第２の処理詳細データについて、前記不整合項目名が前記第２の処理詳細データに出現する位置を特定し、当該位置を表す位置情報を記憶装置に格納するステップと、
前記データベースから、前記第１の項目定義データ及び前記第２の処理詳細データに対応する第２の項目定義データに共に定義されている項目名を共通項目名として抽出し、当該共通項目名が前記第１の処理詳細データ及び前記第２の処理詳細データにおいて出現する位置をそれぞれ特定し、当該位置を表す位置情報を前記共通項目名に対応付けて前記記憶装置に格納する対応位置特定ステップと、
前記記憶装置に格納されているデータを用いて、前記共通項目名のうち、前記第２の処理詳細データにおいて前記不整合項目名の直前に出現する共通項目名及び直後に出現する共通項目名を直前項目名及び直後項目名として特定するステップと、
を含み、コンピュータにより実行される修正支援方法。
【０１６７】
（付記１４）
前記第２の処理詳細データから、前記不整合項目名の前後それぞれ特定の範囲に含まれるデータをウィンドウ・データとして抽出する処理を、前記特定の範囲を変化させつつ実施するウィンドウ生成ステップと、
前記第１の処理詳細データにおける、前記直前項目名及び前記直後項目名で挟まれた範囲において、前記ウィンドウ生成ステップにおいて抽出された前記ウィンドウ・データの各々について当該ウィンドウ・データとの類似度が最も高い位置を探索し、前記ウィンドウ・データの各々について検出された位置のうち類似度が最も高い位置を、前記不整合項目名に関するデータが欠落している位置として特定するステップと、
をさらに含む付記１３記載の修正支援方法。
【０１６８】
（付記１５）
前記第２の処理詳細データにおける前記不整合項目名の前後において、処理内容の区切りを表すデータをそれぞれ特定し、当該処理内容の区切りを表すデータで挟まれた範囲に含まれるデータをウィンドウ・データとして抽出するウィンドウ生成ステップと、
前記第１の処理詳細データにおける、前記直前項目名及び前記直後項目名で挟まれた範囲において、前記ウィンドウ生成ステップにおいて抽出された前記ウィンドウ・データとの類似度が最も高い位置を、前記不整合項目名に関するデータが欠落している位置として特定するステップと、
をさらに含む付記１３記載の修正支援方法。
【０１６９】
（付記１６）
前記対応位置特定ステップが、
前記第１の項目定義データにおいて前記共通項目名が出現する順序に従い、前記共通項目名が前記第１の処理詳細データにおいて出現する位置を表す位置情報と、前記共通項目名が前記第２の処理詳細データにおいて出現する位置を表す位置情報とを対応付けるステップ
を含む付記１３乃至１５記載の修正支援方法。
【０１７０】
（付記１７）
前記第２の処理詳細データは、前記不整合項目名を含み且つ前記第１の処理詳細データとの類似度が高い
ことを特徴とする付記１３乃至１６記載の修正支援方法。
【０１７１】
（付記１８）
処理に関連する項目名を定義する項目定義データ及び当該処理の内容を定義する処理詳細データを処理毎に格納するデータベースから、第１の項目定義データ及び当該第１の項目定義データに対応する第１の処理詳細データを読み出し、当該第１の項目定義データに定義されており且つ当該第１の処理詳細データに含まれていない項目名を不整合項目名として抽出するステップと、
前記データベースに格納されている処理詳細データのうち前記不整合項目名を含む第２の処理詳細データについて、前記不整合項目名が前記第２の処理詳細データに出現する位置を特定し、当該位置を表す位置情報を記憶装置に格納するステップと、
前記データベースから、前記第１の項目定義データ及び前記第２の処理詳細データに対応する第２の項目定義データに共に定義されている項目名を共通項目名として抽出し、当該共通項目名が前記第１の処理詳細データ及び前記第２の処理詳細データにおいて出現する位置をそれぞれ特定し、当該位置を表す位置情報を前記共通項目名に対応付けて前記記憶装置に格納する対応位置特定ステップと、
前記記憶装置に格納されているデータを用いて、前記共通項目名のうち、前記第２の処理詳細データにおいて前記不整合項目名の直前に出現する共通項目名及び直後に出現する共通項目名を直前項目名及び直後項目名として特定するステップと、
を、コンピュータに実行させるための修正支援プログラム。
【０１７２】
（付記１９）
前記第２の処理詳細データから、前記不整合項目名の前後それぞれ特定の範囲に含まれるデータをウィンドウ・データとして抽出する処理を、前記特定の範囲を変化させつつ実施するウィンドウ生成ステップと、
前記第１の処理詳細データにおける、前記直前項目名及び前記直後項目名で挟まれた範囲において、前記ウィンドウ生成ステップにおいて抽出された前記ウィンドウ・データの各々について当該ウィンドウ・データとの類似度が最も高い位置を探索し、前記ウィンドウ・データの各々について検出された位置のうち類似度が最も高い位置を、前記不整合項目名に関するデータが欠落している位置として特定するステップと、
を、さらにコンピュータに実行させるための付記１８記載の修正支援プログラム。
【０１７３】
（付記２０）
前記第２の処理詳細データにおける前記不整合項目名の前後において、処理内容の区切りを表すデータをそれぞれ特定し、当該処理内容の区切りを表すデータで挟まれた範囲に含まれるデータをウィンドウ・データとして抽出するウィンドウ生成ステップと、
前記第１の処理詳細データにおける、前記直前項目名及び前記直後項目名で挟まれた範囲において、前記ウィンドウ生成ステップにおいて抽出された前記ウィンドウ・データとの類似度が最も高い位置を、前記不整合項目名に関するデータが欠落している位置として特定するステップと、
を、さらにコンピュータに実行させるための付記１８記載の修正支援プログラム。
【０１７４】
（付記２１）
前記対応位置特定ステップが、
前記第１の項目定義データにおいて前記共通項目名が出現する順序に従い、前記共通項目名が前記第１の処理詳細データにおいて出現する位置を表す位置情報と、前記共通項目名が前記第２の処理詳細データにおいて出現する位置を表す位置情報とを対応付けるステップ
を含む付記１８乃至２０記載の修正支援プログラム。
【０１７５】
（付記２２）
前記第２の処理詳細データは、前記不整合項目名を含み且つ前記第１の処理詳細データとの類似度が高い
ことを特徴とする付記１８乃至２１記載の修正支援プログラム。
【符号の説明】
【０１７６】
１  入力データ処理部    ３  入力データ格納部
５  項目候補抽出部    ７  設計書ＤＢ
９  類似設計書特定部    １１  類似設計書格納部
１３  項目候補格納部    １５  第一不整合項目特定部
１７  第一不整合項目格納部    １９  出力部
５０１  一致項目抽出部    ５０３  一致項目データ格納部
５０５  絞り込み部    ５０７  共通項目データ格納部
５０９  類似部分データ格納部    ５１１  距離データ格納部
５０５１  項目定義比較部    ５０５３  出現部分比較部
１０１  入力処理部    １０３  入力データ格納部
１０５  設計書ＤＢ    １０７  類似設計書特定部
１０９  第二不整合項目特定部    １１１  第二不整合項目格納部
１１３  類似設計書格納部    １１５  補充文抽出部
１１７  補充文格納部    １１９  絞り込み処理部
１１９１  行番号リスト格納部    １１９２  対応位置データ格納部
１１９３  行番号リスト生成部    １１９４  対応位置特定部
１１９５  範囲特定部    １２１  絞り込み処理結果格納部
１２３  補充位置決定部    １２３１  類似度格納部
１２３２  ウィンドウ生成部    １２３３  探索部
１２５  出力データ格納部    １２７  出力部
【図１】
2014160486.tif 000003
【図２】
2014160486.tif 000004
【図３】
2014160486.tif 000005
【図４】
2014160486.tif 000006
【図５】
2014160486.tif 000007
【図６】
2014160486.tif 000008
【図７】
2014160486.tif 000009
【図８】
2014160486.tif 000010
【図９】
2014160486.tif 000011
【図１０】
2014160486.tif 000012
【図１１】
2014160486.tif 000013
【図１２】
2014160486.tif 000014
【図１３】
2014160486.tif 000015
【図１４】
2014160486.tif 000016
【図１５】
2014160486.tif 000017
【図１６】
2014160486.tif 000018
【図１７】
2014160486.tif 000019
【図１８】
2014160486.tif 000020
【図１９】
2014160486.tif 000021
【図２０】
2014160486.tif 000022
【図２１】
2014160486.tif 000023
【図２２】
2014160486.tif 000024
【図２３】
2014160486.tif 000025
【図２４】
2014160486.tif 000026
【図２５】
2014160486.tif 000027
【図２６】
2014160486.tif 000028
【図２７】
2014160486.tif 000029
【図２８】
2014160486.tif 000030
【図２９】
2014160486.tif 000031
【図３０】
2014160486.tif 000032
【図３１】
2014160486.tif 000033
【図３２】
2014160486.tif 000034
【図３３】
2014160486.tif 000035
【図３４】
2014160486.tif 000036
【図３５】
2014160486.tif 000037
【図３６】
2014160486.tif 000038
【図３７】
2014160486.tif 000039
【図３８】
2014160486.tif 000040
【図３９】
2014160486.tif 000041
【図４０】
2014160486.tif 000042
【図４１】
2014160486.tif 000043
【図４２】
2014160486.tif 000044