(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-12
(45)【発行日】2024-12-20
(54)【発明の名称】文書レビュー支援システム、及び文書レビュー支援方法
(51)【国際特許分類】
G06Q 10/06 20230101AFI20241213BHJP
【FI】
G06Q10/06
(21)【出願番号】P 2021196026
(22)【出願日】2021-12-02
【審査請求日】2024-02-20
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】大林 浩気
(72)【発明者】
【氏名】前岡 淳
(72)【発明者】
【氏名】河合 克己
(72)【発明者】
【氏名】緒方 孝一郎
(72)【発明者】
【氏名】沢田 正樹
(72)【発明者】
【氏名】大倉 大央
【審査官】大野 朋也
(56)【参考文献】
【文献】特開2020-197834(JP,A)
【文献】特開2009-087289(JP,A)
【文献】特開2019-153119(JP,A)
【文献】国際公開第2017/149711(WO,A1)
【文献】特開2017-091208(JP,A)
【文献】特開2011-238159(JP,A)
【文献】特開2012-178079(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
一つ以上のチェック項目が記載されたチェックリストを用いて行われる文書のレビューを支援するシステムであって、
情報処理装置を用いて構成され、
階層構造を有する文書と、
前記チェック項目の確認に際して参照される前記文書の該当箇所が階層で示された既存のチェックリストと、
を記憶し、
前記既存のチェックリストの前記チェック項目について示されている前記階層に基づき、前記チェック項目について信頼性の高い前記該当箇所の階層を特定し、
前記チェック項目と特定した前記階層との対応を示す情報を生成する、
文書レビュー支援システム。
【請求項2】
請求項1に記載の文書レビュー支援システムであって、
前記チェック項目の夫々について、複数の前記文書の夫々について作成された前記既存のチェックリストに該当箇所として示されている階層のうち最下位のものを前記信頼性の高い該当箇所として特定する、
文書レビュー支援システム。
【請求項3】
請求項1に記載の文書レビュー支援システムであって、
前記チェック項目の夫々について、複数の前記文書の夫々について作成された前記既存のチェックリストに該当箇所として示されている階層のうち出現回数が最頻値又は最頻値よりも下位のものを前記信頼性の高い該当箇所として特定する、
文書レビュー支援システム。
【請求項4】
請求項1に記載の文書レビュー支援システムであって、
前記チェック項目について、前記既存のチェックリストに前記該当箇所として示されている階層のうち、下位の階層を持たないものを前記信頼性の高い該当箇所として特定する、
文書レビュー支援システム。
【請求項5】
請求項1に記載の文書レビュー支援システムであって、
前記既存のチェックリストの前記チェック項目について示されている該当箇所のうち、前記信頼性の高い該当箇所として特定された該当箇所の階層の記載内容と、前記信頼性の高い該当箇所として特定されなかった該当箇所の記載内容との間の類似度である第1類似度、及び、前記信頼性の高い該当箇所として特定された該当箇所の階層の記載内容と、前記信頼性の高い該当箇所として特定されなかった前記該当箇所の階層の下位の階層の記載内容との間の類似度である第2類似度を求め、
前記第2類似度が前記第1類似度よりも高い場合に、前記下位の階層についても前記信頼性の高い該当箇所として特定する、
文書レビュー支援システム。
【請求項6】
請求項5に記載の文書レビュー支援システムであって、
前記第1類似度が前記第2類似度よりも高い場合に、前記信頼性の高い該当箇所として特定されなかった該当箇所についても前記信頼性の高い該当箇所として特定する、
文書レビュー支援システム。
【請求項7】
請求項1に記載の文書レビュー支援システムであって、
前記チェックリストには複数のチェック項目が記載され、
複数の前記文書の夫々について、前記信頼性の高い該当箇所の特定に際し、前記既存のチェックリストに記載されている前記チェック項目の夫々の前記階層として、前記複数の前記文書の間で正規化した階層を用いる、
文書レビュー支援システム。
【請求項8】
請求項7に記載の文書レビュー支援システムであって、
前記複数の文書の夫々について、前記既存のチェックリストに記載されている前記チェック項目の夫々の前記階層を成分とするベクトルを求め、前記複数の文書の夫々の前記ベクトルの重心ベクトルを求め、前記複数の文書の夫々の前記ベクトルと前記重心ベクトルとの類似度が最も高い前記文書を基準として選出し、
前記複数の文書の夫々について、前記既存のチェックリストに記載されている前記チェック項目の夫々の前記階層の平均値を求め、前記複数の文書の夫々の前記平均値と前記基準として選出した前記文書の前記平均値との差に基づく値を、前記複数の文書の夫々の前記階層を正規化した階層として用いる、
文書レビュー支援システム。
【請求項9】
請求項7に記載の文書レビュー支援システムであって、
前記複数の文書の夫々について、前記既存のチェックリストに記載されている前記チェック項目の夫々の前記階層を要素とした場合における、前記チェック項目の間の相関を求め、
前記チェック項目の夫々について、他の前記チェック項目との間の相関が予め設定された閾値を超える数を求め、
前記数の割合が予め設定された閾値より小さい前記チェック項目については除外して前記正規化を行う、
文書レビュー支援システム。
【請求項10】
請求項1に記載の文書レビュー支援システムであって、
前記チェック項目と前記文書の階層との対応を示す情報を教師データとして学習した機械学習モデルである特徴語抽出モデルを生成する、
文書レビュー支援システム。
【請求項11】
請求項10に記載の文書レビュー支援システムであって、
前記チェック項目の夫々に対応する前記文書の前記該当箇所の特定に際して用いる、前記チェック項目と当該チェック項目に対応する特徴語との対応を示す情報である特徴語定義を前記特徴語抽出モデルを用いて生成する、
文書レビュー支援システム。
【請求項12】
請求項1に記載の文書レビュー支援システムであって、
前記階層構造は、章節項構造である、
文書レビュー支援システム。
【請求項13】
一つ以上のチェック項目が記載されたチェックリストを用いて行われる文書のレビューを支援する方法であって、
情報処理装置が、
階層構造を有する文書と、
前記チェック項目の確認に際して参照される前記文書の該当箇所が階層で示された既存のチェックリストと、
を記憶するステップと、
前記既存のチェックリストの前記チェック項目について示されている前記階層に基づき、前記チェック項目について信頼性の高い前記該当箇所の階層を特定するステップと、
前記チェック項目と特定した前記階層との対応を示す情報を生成するステップと、
を実行する、文書レビュー支援方法。
【請求項14】
請求項13に記載の文書レビュー支援方法であって、
前記情報処理装置が、
前記チェック項目の夫々について、複数の前記文書の夫々について作成された前記既存のチェックリストに該当箇所として示されている階層のうち最下位のものを前記信頼性の高い該当箇所として特定するステップ、
を更に実行する、文書レビュー支援方法。
【請求項15】
請求項13に記載の文書レビュー支援方法であって、
前記情報処理装置が、
前記チェック項目の夫々について、複数の前記文書の夫々について作成された前記既存のチェックリストに該当箇所として示されている階層のうち出現回数が最頻値又は最頻値よりも下位のものを前記信頼性の高い該当箇所として特定するステップ、
を更に実行する、文書レビュー支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書レビュー支援システム、及び文書レビュー支援方法に関する。
【背景技術】
【0002】
特許文献1には、文書中から重要と判断される箇所を抽出する際に用いる判定ルールを効率的に生成することを目的として構成された計算機システムについて記載されている。計算機システムは、複数の第1の文書を、重要箇所として指定された単語を含む参照情報と比較し、第1の文書を、指定された単語を含む第1の要素と、指定された単語を含まない第2の要素とに分割し、第1の要素及び第2の要素に含まれる単語に基づき各文書の第1の特徴量を取得し、第1の特徴量に基づき重要箇所を含むか否かを判定するための判定ルールを生成し、第2の文書に含まれる単語に基づき第2の特徴量を取得し、生成した判定ルールと第2の特徴量とを比較することにより、第2の文書に含まれる重要箇所を抽出するための情報を生成する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
各種システムの開発に際して作成される設計書は、品質担保のためにチェック項目が記載されたチェックリストを用いたレビューが行われる。こうした文書のレビューは通常、多様な観点に基づき設定された多数のチェック項目について、文書が各チェック項目の要件を満たしているか否かの判定に用いるエビデンスの文書中の記載箇所(所在)を特定し、当該箇所に記載されているエビデンスに基づき人が内容を確認することにより実施される。そのため、とくに文書が膨大な頁数に及ぶ場合やチェック項目が多数に上る場合は人の作業負荷が大きいという課題がある。
【0005】
ここでレビューにかかる人の作業負荷を軽減する方法として、例えば、特許文献1における参照情報として過去のレビュー結果において人がチェックリストに記入したエビデンスの記載箇所を用いることにより文書から各チェック項目に対応する記載箇所を重要箇所として特定し、特定した情報を用いてレビューを行うことが考えられる。しかし、チェックリストに記入されている情報の精度は必ずしも保証されておらず、当該情報に基づき文書中の記載箇所を特定した場合、必ずしも十分な信頼性を確保することができない。
【0006】
本発明はこのような背景に鑑みてなされたものであり、チェック項目に対応する文書の記載箇所を精度よく特定して文書のレビューに係る作業を支援することが可能な、文書レビュー支援システム、及び文書レビュー支援方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するための本発明の1つは、一つ以上のチェック項目が記載されたチェックリストを用いて行われる文書のレビューを支援するシステムであって、情報処理装置を用いて構成され、階層構造を有する文書と、前記チェック項目の確認に際して参照される前記文書の該当箇所が階層で示された既存のチェックリストと、を記憶し、前記既存のチェックリストの前記チェック項目について示されている前記階層に基づき、前記チェック項目について信頼性の高い前記該当箇所の階層を特定し、前記チェック項目と特定した前記階層との対応を示す情報を生成する。
【0008】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
【発明の効果】
【0009】
本発明によれば、チェック項目に対応する文書の記載箇所を精度よく特定して計書のレビューに係る作業を支援することができる。
【図面の簡単な説明】
【0010】
【
図1】チェックリストを用いた設計書のレビューの流れを説明する図である。
【
図5】チェックリストの該当箇所の精度が必ずしも保証されないこと説明する図である。
【
図6】支援システムが備える主な機能を説明するブロック図である。
【
図7】支援システムの実現に用いる情報処理装置の一例である。
【
図8】教師データ生成処理の一例を説明するフローチャートである。
【
図9】設計書の章節項の構造の解析の一例を示す図である。
【
図10】章節項レベルの算出処理の一例を説明する図である。
【
図11】信頼性の高い該当箇所と信頼性の低い該当箇所の特定方法の一例である。
【
図12】信頼性の高い該当箇所と信頼性の低い該当箇所の特定方法の一例である。
【
図14A】該当箇所推定処理の一例を説明するフローチャートである。
【
図14B】該当箇所特定処理の一例を説明するフローチャートである。
【
図15】信頼性の高い該当箇所と信頼性が低い該当箇所との類似度の算出方法の一例を説明する図である。
【
図16】教師データを生成する方法の一例を示す図である。
【
図17】同じ章節項レベルに対する記載の抽象度が設計書毎(案件毎)に異なる場合を説明する図である。
【
図18】章節項レベル補正処理の一例を説明するフローチャートである。
【
図19】章節項レベル補正処理の各処理を説明する図である。
【
図20】チェック項目除外処理の一例を説明するフローチャートである。
【
図21】チェック項目除外処理の各処理を説明する図である。
【発明を実施するための形態】
【0011】
以下、実施形態について図面を参照しつつ説明する。尚、以下、図面を参照して本発明の実施形態を説明する。以下の記載及び図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略及び簡略化がなされている。本発明は、他の種々の形態でも実施することが可能である。とくに限定しない限り、各構成要素は単数でも複数でも構わない。
【0012】
以下の説明において、同一又は類似の構成について同一の符号を付して重複した説明を省略することがある。また、以下の説明において、符号の前に付した「S」の文字は処理ステップを意味する。また、以下の説明では、「テーブル」、「情報」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよい。
【0013】
図1は、各種システムの開発に際して作成される設計書111のレビューに係る作業について、現状と本実施形態の仕組みを適用した後の状態とを対比して示した図である。尚
、本実施形態では、設計書111が、例えば、情報処理システムの開発に際して作成される設計書(基本設計書、詳細設計書等)である場合を例として説明するが、レビュー対象の文書の種類は必ずしも設計書に限定されず、本実施形態の仕組みは文書一般に広く適用することができる。
【0014】
同図上段に示すように、現状において、設計書111のレビュー(セルフレビュー、デザインレビュー等)は、例えば、SE(システムエンジニア(System Engineer)やQA
E(Quality Assurance Engineer)等の人(以下、「判定者」と呼ぶ。)が、主に手作業により行っている。具体的には、まず、判定者が、チェックリスト112の各チェック項目が要件を満たしているか否かを判定するために用いる情報(以下、「エビデンス」と称する。)の設計書111における記載箇所(所在)を特定する。続いて、判定者は、特定した記載箇所に記載されているエビデンスを確認し、設計書が各チェック項目の要件を満たしているか否かを判定し、判定結果をチェックリスト112に記入する。
【0015】
図2に、上記判定において用いられるチェックリスト112の一例を示す。例示するチェックリスト112は、項目ID1121、チェック項目1122、判定結果1123、及び該当箇所1124の各項目を有する所定行数のシート(紙媒体もしくは電子媒体)である。
【0016】
上記項目のうち、項目ID1121には、各チェック項目に付与される識別子(以下、「チェック項目ID」と称する。)が記載される。チェック項目1122には、チェック項目の内容(設計書が満たすべき要件等)を表す文書が記載される。判定結果1123には、当該チェック項目についての判定結果が判定者により記入され、例えば、設計書が当該チェック項目の要件を満たしている場合には「OK」が、満たしていない場合には「NG」が判定結果1123に記入される。該当箇所1124には、当該チェック項目についてのレビュー対象の設計書111におけるエビデンスの記載箇所を示す情報が判定者によって記入される。
【0017】
図1に戻り、同図下段に示すように、本実施形態では、情報処理装置を用いて構成される設計書レビュー支援システム(以下、「支援システム100」と称する。)により、設計書111のレビューにかかる人の作業を支援する。具体的には、支援システム100は、チェックリスト112の各項目が要件を満たしているか否かの判定に用いるエビデンスの設計書111における記載箇所を自動的に特定し、特定した結果を設計書111の章節項の番号とチェック項目との対応関係を示す情報として示した情報である記載箇所対応表120を提供することにより判定者の作業を支援する。
【0018】
図3に、記載箇所対応表120の一例を示す。例示する記載箇所対応表120は、行方向にチェック項目の一覧1201が、列方向に設計書の章節項の一覧1202が記載されている。チェック項目に対応するエビデンスが記載されている設計書111の章節項(該当箇所)の欄には「○」の記号が設定されている。判定者は、設計書111のレビューに際し、記載箇所対応表120を参照することによりチェック項目に対応するエビデンスの設計書111における記載箇所を容易に参照することができ、判定者は設計書111のレビュー作業を効率よく進めることができる。
【0019】
図1に戻り、支援システム100は、設計書111を章節項の単位に分割し、チェックリスト112の各チェック項目が、分割したいずれの章節項に該当するかを特定することにより教師データ114を生成する。支援システム100は、既存の情報(過去に作成された設計書111とそのレビューに用いたチェックリスト112)に基づき生成される教師データ114を用いて学習した機械学習モデル(以下、「特徴語抽出モデル115」を用いて特徴語定義119を生成する。特徴語定義119は、チェック項目毎に一つ以上の
特徴語(設計書111からチェック項目に対応する該当箇所の特定する際に用いる語)を定義した情報である。
【0020】
図4は、支援システム100が、特徴語抽出モデル115を用いてチェック項目毎の特徴語を生成する手順(以下、「特徴語抽出手順S400」と称する。)の一例を示す図である。尚、以下の説明において、設計書111は階層構造を有し、章節項により構造化されて内容が記載されているものとする。
【0021】
同図に示すように、まず、支援システム100は、既存の情報(過去に行われた設計書111のレビューにおける、設計書111及びチェックリスト112)に基づき教師データ114を生成する(S411)。
【0022】
続いて、支援システム100は、教師データ114と既存の情報(既存の設計書111、既存のチェックリスト112)を用いて学習した特徴語抽出モデル115を生成し、生成した特徴語抽出モデル115に基づき、チェック項目毎の特徴語の候補を示す情報である特徴語候補116を生成する(S412)。
【0023】
続いて、支援システム100は、生成した特徴語候補116を、例えば、ユーザインタフェースを介したユーザとの対話処理等を通じてブラッシュアップすることにより標準特徴語定義117を生成する(S413)。上記のブラッシュアップは、例えば、正解データに基づき精度を測定し、当該精度が向上するように特徴語を取捨選択することにより行われる。
【0024】
続いて、支援システム100は、標準特徴語定義117を、別途既存の設計書111に基づき生成(S414)した同義語辞書118と対照することにより、用語の差異(例えば、プロジェクトが異なる設計書111間の用語の差異(表記揺れ))を調整し、特徴語定義119を生成する(S415)。
【0025】
尚、支援システム100が、例えば、以上に説明した各種情報(設計書111、チェックリスト112、教師データ114、特徴語候補116、標準特徴語定義117、同義語辞書118、特徴語定義119)を編集(登録、更新、削除、検索)するためのユーザインタフェースを提供(編集可能な画面を提供する等)し、ユーザがこれらの情報を手動で編集できるようにしてもよい。
【0026】
ところで、同図に示すように、支援システム100は、教師データ114の生成に際し、既存のチェックリスト112を用いている。しかし、設計書111のレビューを行っている際の判定者の関心の対象は主に「レビュー対象の設計書111がチェック項目の要件を満たしているか」にあり、チェックリスト112の該当箇所1124に判定者が記入した内容の精度は必ずしも保証されていない。
【0027】
図5は、チェックリスト112の該当箇所1124に判定者が記入した内容の精度が必ずしも保証されないことを説明する図である。同図に示すように、例えば、対象となるエビデンスの真の記載箇所が章節項番号「2.2.3」である場合でも、判定者が、例えば、チェックリスト112の該当箇所214に章節番号として「2.2」を記入していることがある。このように、チェックリスト112の該当箇所1124に判定者が記入した内容の精度は必ずしも保証されていないため、既存のチェックリスト112をそのまま用いて生成した教師データ114により特徴語抽出モデル115を学習しても、特徴語の抽出精度を必ずしも十分に確保することができない。
【0028】
そこで、本実施形態では、支援システム100が、以下に示す観点(1)~(3)に基
づき教師データ114を生成することにより特徴語定義119の信頼性を向上させている。
【0029】
(1)設計書111は、章節項のレベルが下位になる程、記載内容が具体的になり、トピックが絞られる。
(2)設計書111は、章節項レベルが上位になる程、様々なトピックが混在している可能性が高くなる傾向がある。
(3)チェックリスト112に記載された該当箇所のうち、章節項レベルが下位のもの程、チェック項目に関連の高いトピックの割合が多くなり、信頼性が高くなる。
【0030】
具体的には、例えば、支援システム100に以下の機能を設けている。
【0031】
(a)信頼性の高い該当箇所を絞り込む際、チェックリスト112に示された該当箇所のうち章節項レベルが最下位のものを信頼性の高い該当箇所とする。
(b)信頼性の高い該当箇所を絞り込む際に、チェックリストに示された該当箇所のうち章節項レベルが最頻値又は最頻値より下位のものを信頼性の高い該当箇所とする。
(c)信頼性の高い該当箇所を絞り込む際、チェックリスト112に示された該当箇所のうち下位の章節項を持たないものを信頼性の高い該当箇所とする。
(d)信頼性の高い該当箇所に基づき、信頼性の低い該当箇所に含まれる真の該当箇所を特定する。
【0032】
図6は、支援システム100が備える主な機能を説明するブロック図である。同図に示すように、支援システム100は、記憶部110、データ取得管理部125、教師データ生成部130、特徴語抽出モデル生成部140、特徴語候補生成部145、標準特徴語定義生成部150、同義語辞書生成部155、特徴語定義生成部160、及び記載箇所対応表生成部165の各機能を備える。
【0033】
上記機能のうち、記憶部110は、設計書111、チェックリスト112、構造解析結果113、教師データ114、特徴語抽出モデル115、特徴語候補116、標準特徴語定義117、同義語辞書118、特徴語定義119、教師データ114、及び各種中間データ121を記憶する。
【0034】
データ取得管理部125は、ユーザインタフェースや通信により設計書111及びチェックリスト112を取得し、取得した設計書111及びチェックリスト112を記憶部110に管理する。
【0035】
教師データ生成部130は、過去に行われたレビューにおける既存の設計書111とそのチェックリスト112に基づき教師データ114を生成する。同図に示すように、教師データ生成部130は、設計書構造解析部131、章節項レベル補正部133、該当箇所特定部134、及び教師データ出力部135の各機能を含む。
【0036】
特徴語抽出モデル生成部140は、教師データ114により学習した機械学習モデルである特徴語抽出モデル115を生成する。
【0037】
特徴語候補生成部145は、特徴語抽出モデル115に基づき特徴語候補116を生成する。特徴語抽出モデル115は、例えば、チェック項目に対応する章節項に記載されている文書に含まれている語を統計処理(出現頻度が所定の基準値を超える語を特徴語とする等)することによりチェック項目毎の特徴語を抽出する。
【0038】
標準特徴語定義生成部150は、特徴語候補116を、例えば、前述したブラッシュア
ップを行うことにより標準特徴語定義117を生成する。
【0039】
同義語辞書生成部155は、既存の複数の設計書111(プロジェクト(案件)が異なる複数の設計書111等)に基づき同義語辞書118を生成する。
【0040】
特徴語定義生成部160は、標準特徴語定義117を同義語辞書118と対照することにより、用語の差異(例えば、ソフトウェア開発プロジェクト毎の用語の差異(表記揺れ)を調整して特徴語定義119を生成する。
【0041】
記載箇所対応表生成部165は、特徴語定義119を設計書111に適用することにより記載箇所対応表120を生成する。記載箇所対応表生成部165は、例えば、各チェック項目について、夫々の特徴語の出現頻度が多い用い章節項を記載箇所として特定する。
【0042】
図7は、支援システム100の実現に用いる情報処理装置の一例である。例示する情報処理装置10は、プロセッサ11、主記憶装置12(メモリ)、補助記憶装置13、入力装置14、出力装置15、及び通信装置16を備える。情報処理装置10の例として、パーソナルコンピュータ、オフィスコンピュータ、各種サーバ装置、スマートフォン、タブレット、汎用機(メインフレーム)等がある。
【0043】
情報処理装置10は、その全部又は一部が、例えば、クラウドシステムによって提供される仮想サーバのように、仮想化技術やプロセス空間分離技術等を用いて提供される仮想的な情報処理資源を用いて実現されるものであってもよい。また、情報処理装置10によって提供される機能の全部又は一部は、例えば、クラウドシステムがAPI(Application Programming Interface)等を介して提供するサービスによって実現してもよい。また
、情報処理装置10によって提供される機能の全部又は一部は、例えば、SaaS(Software as a Service)、PaaS(Platform as a Service)、IaaS(Infrastructure
as a Service)等を利用して実現されるものであってもよい。
【0044】
プロセッサ11は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable
Gate Array)、ASIC(Application Specific Integrated Circuit)、AI(Artificial Intelligence)チップ等を用いて構成されている。
【0045】
主記憶装置12は、プログラムやデータを記憶する装置であり、例えば、ROM(Read
Only Memory)、RAM(Random Access Memory)、不揮発性メモリ(NVRAM(Non Volatile RAM))等である。支援システム100の各構成要素において実現される機能は、プロセッサ11が、主記憶装置12に格納(記憶)されているプログラムを読み出して実行することにより実現される。
【0046】
補助記憶装置13は、例えば、SSD(Solid State Drive)、ハードディスクドライ
ブ、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)、ストレージシステム、ICカード、SDカードや光学式記録媒体等の非一時的な記録媒体の読取/書込装置、クラウドサーバの非一時的な記憶領域等である。補助記憶装置13には、記録媒体の読取装置や通信装置16を介して、非一時的な記録媒体や非一時的な記憶装置を備えた他の情報処理装置からプログラムやデータを読み込むことができる。補助記憶装置13に格納(記憶)されているプログラムやデータは主記憶装置12に随時読み込まれる。
【0047】
入力装置14は、外部からの情報の入力を受け付けるインタフェースであり、例えば、キーボード、マウス、タッチパネル、カードリーダ、ペン入力方式のタブレット、音声入
力装置等である。
【0048】
出力装置15は、処理経過や処理結果等の各種情報を外部に出力するインタフェースである。出力装置15は、例えば、上記の各種情報を可視化する表示装置(液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等)、上記の各種情報を音声化する装置(音声出力装置(スピーカ等))、上記の各種情報を文字化する装置(印字装置等)である。尚、例えば、情報処理装置10が通信装置16を介して他の装置との間で情報の入力や出力を行う構成としてもよい。
【0049】
入力装置14と出力装置15は、ユーザとの間での対話処理(情報の受け付け、情報の提供等)を実現するユーザインタフェースを構成する。
【0050】
通信装置16は、他の装置との間の通信を実現する装置である。通信装置16は、通信ネットワーク5を介して、所定の通信プロトコルに準拠した他の装置との間の通信を実現する、有線方式又は無線方式の通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USBモジュール等である。
【0051】
情報処理装置10には、例えば、オペレーティングシステム、ファイルシステム、DBMS(DataBase Management System)(リレーショナルデータベース、NoSQL等)、KVS(Key-Value Store)等が導入されていてもよい。
【0052】
図8は、支援システム100の教師データ生成部130が行う処理(以下、「教師データ生成処理S800」と称する。)を説明するフローチャートである。以下、同図とともに教師データ生成処理S800について説明する。
【0053】
まず、教師データ生成部130は、既存の設計書111及び既存のチェックリスト112を読み込む(S811)。尚、本例では、教師データ生成部130は、既存の複数の設計書111及び既存の複数のチェックリスト112を読み込むものとする(S811)。
【0054】
続いて、教師データ生成部130の設計書構造解析部131が、設計書111の章節項構造を解析し、解析した結果を構造解析結果113として出力する(S812)。尚、設計書構造解析部131は、例えば、公知の文書構造解析技術(例えば、特許文献1(特開2011-238159号公報)に記載の技術)を用いて設計書111の章節項の構造を解析する。
【0055】
続いて、教師データ生成部130の章節項レベル算出部132が、チェックリスト112の各チェック項目に対応する設計書111の該当箇所の章節項のレベル(以下、「章節項レベル」と称する。)を算出し、算出した結果を構造解析結果113に反映する(S813)。
【0056】
続いて、教師データ生成部130の章節項レベル補正部133が、読み込んだ複数の設計書111の夫々の章節項レベルを補正する (S814)。尚、この補正処理は必要に
応じて適宜行われる。
【0057】
続いて、教師データ生成部130の該当箇所特定部134が、チェックリスト112の各チェック項目について、設計書111のうち信頼性の高い該当箇所を、設計書111の章節項の単位で特定する(S815)。
【0058】
続いて、該当箇所特定部134は、設計書111のうち信頼性の低い該当箇所に含まれる真の該当箇所を推定する(S816)。
【0059】
続いて、教師データ生成部130の教師データ出力部135が、以上の処理の結果に基づき教師データ114を生成して出力する(S817)。
【0060】
次に、
図8に示した教師データ生成処理S800における各処理について具体例とともに詳細に説明する。尚、教師データ生成処理S800のうちS814の処理(章節項レベルの補正)については後段にて別途説明する。
【0061】
図9は、
図8のS812における設計書111の章節項の構造の解析の一例を説明する図である。この例では、複数の設計書111(「案件A」の設計書111、「案件B」の設計書111、「案件C」の設計書111等)について解析を行うことにより構造解析結果113を生成している。
【0062】
同図最下段に例示する構造解析結果113は、案件名1311、章節項番号1312、章節項タイトル1313、及び本文1314の各項目を有する複数のレコードで構成されるテーブルである。上記項目のうち案件名1311には、案件の名称(案件の識別子(案件ID))が格納される。章節項番号1312には、章節項番号が格納される。章節項タイトル1313には、設計書111の章節項に付されているタイトルが格納される。本文1314には、当該章節項番号の本文の内容が格納される。
【0063】
図10は、
図8のS813の章節項レベルを算出する処理を説明する図である。同図に示すように、この例では、教師データ生成部130の章節項レベル算出部132が、各案件についてチェック項目毎に対応する章節項を特定し、特定した章節項について章節項レベルを求めている。尚、この例では、章節項の深さに応じて章節項レベルを決定している。章節項レベル算出部132は、以上により決定した章節項レベルを、各種中間データ121の一つである章節項レベルデータ1211に管理する。
【0064】
図11は、
図8のS815において、教師データ生成部130の該当箇所特定部134が、信頼性の高い該当箇所と信頼性の低い該当箇所を特定する方法の一例を説明する図である。この例では、該当箇所特定部134は、各チェック項目に対して、チェックリスト112の該当箇所1124のうち章節項レベルが最下位のものを信頼性の高い該当箇所とし、それ以外を信頼性の低い該当箇所としている(前述の機能(a))。この例では、章節項レベルが下位である程、精度が高くなるという観点に基づき、信頼性の高い該当箇所と信頼性の低い該当箇所を特定している。教師データ生成部130は、以上により特定した結果を各種中間データ121の一つである該当箇所リスト1212に管理する。
【0065】
図12は、
図8のS815において、該当箇所特定部134が、設計書111のうち信頼性の高い該当箇所と信頼性の低い該当箇所を章節項単位で特定する方法の他の一例を説明する図である。この例では、該当箇所特定部134は、各チェック項目に対して章節項レベルの最頻値(出現度の高いレベル)を求め、チェックリスト112の該当箇所1124のうち章節項レベルが最頻値又は最頻値より下位のものを信頼性の高い該当箇所とし、それ以外を信頼性の低い該当箇所としている(前述の機能(b))。この例では、多くの案件で選ばれている程、信頼性が高いという観点に基づき、信頼性の高い該当箇所と信頼性の低い該当箇所を特定している。教師データ生成部130は、以上により特定した結果を各種中間データ121である該当箇所リスト1212に管理する。
【0066】
尚、
図11や
図12に示した方法以外に、例えば、該当箇所特定部134が、チェックリスト112に示された該当箇所のうち、それ以上、下位の章節項を持たないものを信頼性の高い該当箇所とし、それ以外を信頼性の低い該当箇所とするようにしてもよい(前述の機能(c))。
【0067】
図13~
図15は、
図8のS816において、該当箇所特定部134が真の該当箇所を特定する機能(前述の機能(d))を説明する図である。同図に示すように、該当箇所特定部134は、信頼性の低い該当箇所に含まれる真の該当箇所を推定する。具体的には、該当箇所特定部134は、信頼性の低い該当箇所に下位の章節項が存在する場合、信頼性の高い該当箇所との類似度を上位章節項と下位章節項とで比較し、上位章節項よりも類似度が高い下位章節項を真の該当箇所として推定する。尚、この場合において、全ての下位章節項より上位章節項の方が類似度が高い場合、該当箇所特定部134が、上位章節項レベルを真の該当箇所として推定するようにしてもよい。
【0068】
図14Aは、
図13に示した方法で該当箇所特定部134が行う処理(以下、「該当箇所推定処理S1400」と称する。)を説明するフローチャートである。以下、同図とともに該当箇所推定処理S1400について説明する。
【0069】
同図に示すS1410S~S1410Eの処理は、チェックシートのチェック項目を一つずつ順次選択して繰り返し行われるループ処理(以下、「第1ループ処理」と称する。)である。
【0070】
また、第1ループ処理の内側のS1420S~S1420Eのループ処理は、前述した該当箇所リスト1212における信頼性の低い該当箇所を一つずつ順次選択して繰り返し行われるループ処理(以下、「第2ループ処理」と称する。)である。
【0071】
第2ループ処理のS1430では、該当箇所特定部134は、選択中のチェック項目と、選択中の信頼性の低い該当箇所Xとに基づき真の該当箇所として推定する箇所を特定する。
【0072】
図14Bは、
図14AのS1430の処理(以下、「該当箇所特定処理(X)S1430」と称する。)の詳細を説明するフローチャートである。以下、同図とともに該当箇所特定処理(X)S1430について説明する。
【0073】
まず、該当箇所特定部134は、該当箇所Xが下位の章節項を持つか否かを判定する(S1431)。該当箇所Xが下位の章節項を持つ場合(S1431:YES)、処理はS1432に進む。一方、該当箇所Xが下位の章節項を持たない場合(S1431:NO)、処理はS1434に進む。
【0074】
S1432では、該当箇所特定部134は、前述した該当箇所リスト1212における信頼性の高い該当箇所との類似度を、該当箇所Xと当該該当箇所の全ての下位の章節項について算出する。
【0075】
S1433では、該当箇所特定部134は、類似度が該当箇所Xよりも高い下位の章節項があるか否かを判定する。類似度が該当箇所Xよりも高い下位の章節項がある場合(S1443:YES)、処理はS1440Sに進む。一方、類似度が該当箇所Xよりも高い下位の章節項がない場合(S1443:NO)、処理はS1434に進む。
【0076】
S1434では、該当箇所特定部134は、該当箇所Xを、選択中のチェック項目の該当箇所リスト1212の信頼性の高い該当箇所に追加する。その後、現在選択中の選択中のチェック項目と現在選択中の信頼性の低い該当箇所についての処理を終了し、処理は
図14AのS1410Eに進む。
【0077】
S1440S~S1440Eのループ処理(以下、「第3ループ処理」と称する。)は
、該当箇所Xよりも信頼性の高い該当箇所との類似度が高い下位の章節項Yについて、章節項Yを一つずつ順次選択して行われるループ処理である。
【0078】
第3ループ処理におけるS1430の処理(以下、「該当箇所特定処理(Y)S1430」と称する。)は、選択中の章節項Yを該当箇所Xとして行われる、該当箇所特定処理(X)S1403の再帰処理である。S1440S~S1440Eのループ処理が終了すると、処理は
図14AのS1410Eに進む。
【0079】
図15は、前述した類似度(信頼性の高い該当箇所と、信頼性の低い該当箇所の上位章節項又は信頼性の低い該当箇所の下位章節項との間の類似度)の算出方法の一例を説明する図である。該当箇所特定部134は、例えば、「TF-IDF」や「word2vec」等の単語分散表現、LDA(Latent Dirichlet Allocation)等のトピックモデル等の
既存の技術を用いて、設計書111の章節項の本文をベクトルに変換する。そして、該当箇所特定部134は、上記の類似度を、例えば、コサイン類似度として算出する。尚、信頼性の高い該当箇所が複数存在する場合は、例えば、各該当箇所のベクトルの平均ベクトル(重心ベクトル)を信頼性の高い該当箇所のベクトルとしてコサイン類似度を求める。
【0080】
図16は、
図8のS817において、教師データ出力部135が教師データ114を生成する様子を示す図である。同図に示すように、教師データ出力部135は、
図8のS815で特定された信頼性の高い該当箇所1611と、S816で特定された信頼性の高い該当箇所1612とを結合(マージ)することにより教師データ114を生成する。
【0081】
<章節項レベルの補正>
図8のS811において複数の設計書111が読み込まれた場合、S813の章節項レベルの算出では、教師データ生成部130は、設計書111毎に章節項レベルを算出する。しかし、
図17に例示するように、同じ章節項レベルに対する記載の抽象度が設計書111毎(案件毎)に異なる場合があり、その場合は章節項レベルの基準がずれてしまうため、異なる設計書111(案件)の間の章節項レベルを単純に比較することができない。
【0082】
そこで、異なる設計書111の間で章節項レベルの基準がずれている場合、教師データ生成部130の章節項レベル補正部133が、章節項レベルを補正(正規化)する処理(
図8のS814の処理。以下、「章節項レベル補正処理S814」と称する。)を行う。本実施形態では、一例として、章節項レベル補正部133が、各設計書111(各案件)の章節項レベルの統計量に基づき、章節項レベルを案件間で比較できるように補正(正規化)する場合を説明する。
【0083】
図18は、章節項レベル補正処理S814の一例を説明するフローチャートである。また、
図19は、
図18に示した各処理を説明する図である。以下、これらの図とともに章節項レベル補正処理S814について説明する。
【0084】
同図に示すように、まず、章節項レベル補正部133は、設計書111毎(案件毎)にチェックリスト112に示された該当箇所の章節項レベルの平均値を算出する(
図18のS1811、
図19のS1911~S1912)。
【0085】
続いて、章節項レベル補正部133は、基準とする案件を選出する(
図18のS1812、
図19のS1913)。例えば、章節項レベル補正部133は、まず、各案件について章節項レベルを並べた(成分とする)ベクトルを作成し、全ての案件のベクトルの重心を求める。続いて、章節項レベル補正部133は、各案件のベクトルについて、重心ベクトルとのコサイン類似度を算出し、コサイン類似度が最も高い案件を基準案件とする。
図19の例では、章節項レベル補正部133は、「案件A」を基準案件として選出している
。
【0086】
続いて、章節項レベル補正部133は、基準案件との章節項レベル平均値の差に基づき、各案件について基準案件からの相対レベルを算出する(
図18のS1813、
図19のS1913)。例えば、章節項レベル補正部133は、各案件の章節項レベルの平均値に基づき基準案件からの相対レベルを算出し、以下を満たす整数mを基準案件からの相対レベルとする。
[数1]
m-0.5≦(基準案件との平均値の差)<m+0.5 (式1)
【0087】
続いて、章節項レベル補正部133は、相対レベルを用いて、各案件の章節項レベルを補正する(
図18のS1814、
図19のS1914)。例えば、章節項レベル補正部133は、次式から補正後の章節項レベルを求める。
[数2]
補正後の章節項レベル=補正前の章節項レベル-基準案件からの相対レベル (式2)
【0088】
ところで、チェック項目によっては、記載の抽象度が一定ではない等、章節項レベルが必ずしも定まらない場合もある。そこで、章節項レベルが必ずしも定まらない場合には、章節項レベルが定まらないチェック項目を章節項レベル補正処理S814の実行前に除外する処理(以下、「チェック項目除外処理S2000」と称する。)を、例えば、
図18のS1811の処理の実行前に行うようにしてもよい。
【0089】
図20は、チェック項目除外処理S2000を説明するフローチャートである。また、
図21は、
図20に示した各処理を説明する図である。以下、これらの図とともにチェック項目除外処理S2000について説明する。
【0090】
まず、章節項レベル補正部133は、チェック項目間の章節項レベルの相関行列を生成する(
図20のS2011、
図21のS2111~S2112)。
【0091】
続いて、章節項レベル補正部133は、各チェック項目について、他チェック項目との相関が閾値aを超える個数kをカウント(計数)する(
図20のS2012、
図21のS2113)。
【0092】
続いて、章節項レベル補正部133は、全チェック項目数に対するkの割合がb%より小さいチェック項目を除外する(
図20のS2013、
図21のS2113)。尚、
図21の例では、チェック項目「項目3」は、他チェック項目との相関が0.7を超える個数が7%しかないので、章節項レベル補正部133は、チェック項目「項目3」を、章節項レベルが定まらないとして除外する。
【0093】
このように章節項レベルが必ずしも定まらない場合には、章節項レベルが定まらないチェック項目を章節項レベル補正処理S814の実行前に除外することで、異なる設計書111の間の章節項レベルを適切に補正(正規化)することができる。
【0094】
以上詳細に説明したように、本実施形態の支援システム100によれば、特徴語抽出モデル115により特徴語の抽出精度を向上することができる。このため、例えば、チェックリスト112の該当箇所1124に判定者が記入した内容の精度が必ずしも保証されていなくても、既存のチェックリスト112をそのまま用いて生成した教師データ114により特徴語抽出モデル115を精度よく学習することができ、特徴語の抽出精度を向上させることができる。そしてこれによりチェック項目に対応する設計書111の記載箇所を精度よく特定することができ、計書のレビューに係る作業を支援することができる。
【0095】
以上、本発明の一実施形態について説明したが、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記実施形態の構成の一部について、他の構成の追加や削除、置換をすることが可能である。
【0096】
また、上記の各構成、機能部、処理部、処理手段等は、それらの一部又は全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、I
Cカード、SDカード、DVD等の記録媒体に置くことができる。
【0097】
また、以上に説明した各情報処理装置の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、これらの装置が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
【0098】
また、前述した各種のデータを格納するデータベースの構成(スキーマ(Schema)等)は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。
【符号の説明】
【0099】
100 支援システム、110 記憶部、112 チェックリスト、113 構造解析結果、114 教師データ、115 特徴語抽出モデル、116 特徴語候補、117 標準特徴語定義、118 同義語辞書、119 特徴語定義、120 記載箇所対応表、121 各種中間データ、125 データ取得管理部、130 教師データ生成部、131
設計書構造解析部、132 章節項レベル算出部、133 章節項レベル補正部、134 該当箇所特定部、135 教師データ出力部、140 特徴語抽出モデル生成部、145 特徴語候補生成部、150 標準特徴語定義生成部、155 同義語辞書生成部、160 特徴語定義生成部、165 記載箇所対応表生成部、S800 教師データ生成処理、S814 章節項レベル補正処理、S1400 該当箇所推定処理、S1430 該当箇所特定処理、S2000 チェック項目除外処理