(57)【要約】  入力ミス検知装置（１００）において、選別部（１０８）は、情報システムの仕様が自然言語で記述されたシステム仕様書（１１７）と、情報システムを分析する分析装置への入力情報である分析装置入力情報（１１１）と分析装置からの出力情報である分析装置出力情報（１１２）との少なくともいずれかが自然言語で記述された解析対象文書（１１６）とに共通して出現する単語群を選別する。学習部（１０９）は、システム仕様書（１１７）と解析対象文書（１１６）とのそれぞれにおける、選別部（１０８）により選別された単語群に属する個別の単語の意味を学習する。検知部（１１０）は、システム仕様書（１１７）と解析対象文書（１１６）との間における、学習部（１０９）により学習された意味の変化を検知することで、解析対象文書（１１６）に含まれる、分析装置入力情報（１１１）の入力ミスに起因する単語の誤りを特定する。
2019225007.tif 000002
【特許請求の範囲】
【請求項１】
情報システムの仕様が自然言語で記述されたシステム仕様書と、前記情報システムを分析する分析装置への入力情報と前記分析装置からの出力情報との少なくともいずれかが自然言語で記述された解析対象文書とに共通して出現する単語群を選別する選別部と、
前記システム仕様書と前記解析対象文書とのそれぞれにおける、前記選別部により選別された単語群に属する個別の単語の意味を学習する学習部と、
前記システム仕様書と前記解析対象文書との間における、前記学習部により学習された意味の変化を検知することで、前記解析対象文書に含まれる、前記入力情報の入力ミスに起因する単語の誤りを特定する検知部と
を備える入力ミス検知装置。
【請求項２】
前記学習部は、前記システム仕様書における前記単語群の意味を単語別に表す第１ベクトル群と、前記解析対象文書における前記単語群の意味を単語別に表す第２ベクトル群とを生成することで、前記システム仕様書と前記解析対象文書とのそれぞれにおける前記個別の単語の意味を学習し、
前記検知部は、前記第１ベクトル群を前記第２ベクトル群に変換する行列を近似した変換行列を計算し、前記第２ベクトル群と、計算した変換行列を用いて前記第１ベクトル群を変換して得られる第３ベクトル群とを単語別に比較することで、前記システム仕様書と前記解析対象文書との間における前記変化を検知する請求項１に記載の入力ミス検知装置。
【請求項３】
前記入力情報と前記出力情報との少なくともいずれかを自然言語文に変換することで、前記解析対象文書を生成する言語化部をさらに備える請求項１または２に記載の入力ミス検知装置。
【請求項４】
前記言語化部は、前記入力情報を変換して得られた自然言語文と、前記出力情報を変換して得られた自然言語文とを統合することで、前記解析対象文書を生成する請求項３に記載の入力ミス検知装置。
【請求項５】
前記選別部は、前記システム仕様書と前記解析対象文書とに出現する頻度が閾値を超える単語を前記単語群に属する単語として選別する請求項１から４のいずれか１項に記載の入力ミス検知装置。
【請求項６】
選別部が、情報システムの仕様が自然言語で記述されたシステム仕様書と、前記情報システムを分析する分析装置への入力情報と前記分析装置からの出力情報との少なくともいずれかが自然言語で記述された解析対象文書とに共通して出現する単語群を選別し、
学習部が、前記システム仕様書と前記解析対象文書とのそれぞれにおける、前記選別部により選別された単語群に属する個別の単語の意味を学習し、
検知部が、前記システム仕様書と前記解析対象文書との間における、前記学習部により学習された意味の変化を検知することで、前記解析対象文書に含まれる、前記入力情報の入力ミスに起因する単語の誤りを特定する入力ミス検知方法。
【請求項７】
コンピュータに、
情報システムの仕様が自然言語で記述されたシステム仕様書と、前記情報システムを分析する分析装置への入力情報と前記分析装置からの出力情報との少なくともいずれかが自然言語で記述された解析対象文書とに共通して出現する単語群を選別する選別処理と、
前記システム仕様書と前記解析対象文書とのそれぞれにおける、前記選別処理により選別された単語群に属する個別の単語の意味を学習する学習処理と、
前記システム仕様書と前記解析対象文書との間における、前記学習処理により学習された意味の変化を検知することで、前記解析対象文書に含まれる、前記入力情報の入力ミスに起因する単語の誤りを特定する検知処理と
を実行させる入力ミス検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力ミス検知装置、入力ミス検知方法および入力ミス検知プログラムに関するものである。
【背景技術】
【０００２】
特許文献１に記載されているように、単語の重要度を計算する手法としてＴＦ−ＩＤＦ法が広く知られている。「ＴＦ」は、Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙの略語である。「ＩＤＦ」は、Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙの略語である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−０６４１９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般的にユーザの入力情報を必要とする装置には、入力ミスを検知する機能が備えられていることがほとんどである。簡素な具体例としては、文字の全角もしくは半角の誤りまたはスペルミスを判定する機能、あるいは合計文字数または合計金額を判定する機能等が、入力インタフェースの一機能として実装されていることが多い。【０００５】
こうした入力ミス判定技術によって入力ミスと思われる要素が検知され、注意メッセージ等で、ユーザに通知される。その結果、ユーザは入力ミスに気づき、正確な入力情報を作成し直すことができる。【０００６】
上記のような従来の入力ミス検知機能では、入力ミスを検知するために用意されたルール、すなわち、入力ミス検知ルールが必要である。したがって、入力ミス検知機能を装置に搭載する際には、装置の開発者が事前に、入力情報の内容と形式とを考慮して、入力ミスが発生する条件を分析し、入力ミス検知ルールを作成しておく必要がある。【０００７】
従来の一般的な入力ミス検知手法の課題として、分析装置の入力情報の形式に依存して、分析装置の開発者が入力ミス検知ルールを作成しておく必要があるという点が挙げられる。【０００８】
情報システム自動分析装置においても、その課題は同様である。情報システム自動分析装置とは、情報システムに対して、設計工程および開発工程の作業コストを削減するため、あるいはシステムの性能および安全性等を向上させるために、既存の分析手法を用いて、システムの状態を評価する機能を備えている装置全体を指す。分析対象の情報システムは、個人用か組織用かを問わず特定の目的の下、設計または開発されている情報システムでもよいし、すでに運用されている情報システムでもよい。【０００９】
分析装置の入力情報は、分析の目的に応じて取捨選択される。開発コストに対する分析であれば、機器の費用および人的なコストに関する情報が選択される。サイバー攻撃に対する耐性またはセキュリティ対策に関する分析であれば、機器内の脆弱性およびセキュリティ機能の設定に関する情報が入力情報として選択される。そして、選択された情報は、文章、数値および画像といった形式、あるいはそれらが組み合わされた分析装置の要求する形式の情報として作成される。よって、情報システム自動分析装置の開発者も、入力情報の形式に依存して、入力ミス検知ルールを作成しなければならない。【００１０】
本発明は、入力情報の形式に依存せず、入力ミス検知ルールが必要のない入力ミス検知手法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一態様に係る入力ミス検知装置は、
情報システムの仕様が自然言語で記述されたシステム仕様書と、前記情報システムを分析する分析装置への入力情報と前記分析装置からの出力情報との少なくともいずれかが自然言語で記述された解析対象文書とに共通して出現する単語群を選別する選別部と、
前記システム仕様書と前記解析対象文書とのそれぞれにおける、前記選別部により選別された単語群に属する個別の単語の意味を学習する学習部と、
前記システム仕様書と前記解析対象文書との間における、前記学習部により学習された意味の変化を検知することで、前記解析対象文書に含まれる、前記入力情報の入力ミスに起因する単語の誤りを特定する検知部と
を備える。
【発明の効果】
【００１２】
本発明では、システム仕様書と解析対象文書とに共通して出現する単語群に属する個別の単語の意味が学習される。そして、システム仕様書と解析対象文書との間における、学習された意味の変化を検知することで、解析対象文書に含まれる、入力情報の入力ミスに起因する単語の誤りが特定される。そのため、本発明によれば、入力情報の形式に依存せず、入力ミス検知ルールが必要のない入力ミス検知手法を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１に係る入力ミス検知装置の構成を示すブロック図。
【図２】実施の形態１に係る入力ミス検知装置の言語化部の構成を示すブロック図。
【図３】実施の形態１に係る入力ミス検知装置の選別部の構成を示すブロック図。
【図４】実施の形態１に係る入力ミス検知装置の学習部の構成を示すブロック図。
【図５】実施の形態１に係る入力ミス検知装置の検知部の構成を示すブロック図。
【図６】実施の形態１に係る入力ミス検知装置の動作を示すフローチャート。
【図７】実施の形態１に係る入力ミス検知装置の言語化部の動作を示すフローチャート。
【図８】実施の形態１に係る入力ミス検知装置の選別部の動作を示すフローチャート。
【図９】実施の形態１に係る入力ミス検知装置の学習部の動作を示すフローチャート。
【図１０】実施の形態１に係る入力ミス検知装置の検知部の動作を示すフローチャート。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態は、部分的に実施されても構わない。
【００１５】
実施の形態１．
本実施の形態について、図１から図１０を用いて説明する。
【００１６】
＊＊＊構成の説明＊＊＊
図１を参照して、本実施の形態に係る入力ミス検知装置１００の構成を説明する。
【００１７】
入力ミス検知装置１００は、コンピュータである。入力ミス検知装置１００は、プロセッサ１０１を備えるとともに、メモリ１０２、補助記憶装置１０３、通信デバイス１０４、入力機器１０５およびディスプレイ１０６といった他のハードウェアを備える。プロセッサ１０１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１８】
入力ミス検知装置１００は、機能要素として、言語化部１０７と、選別部１０８と、学習部１０９と、検知部１１０とを備える。言語化部１０７、選別部１０８、学習部１０９および検知部１１０の機能は、ソフトウェアにより実現される。具体的には、言語化部１０７、選別部１０８、学習部１０９および検知部１１０の機能は、入力ミス検知プログラムにより実現される。入力ミス検知プログラムは、言語化部１０７、選別部１０８、学習部１０９および検知部１１０により行われる処理をそれぞれ言語化処理、選別処理、学習処理および検知処理としてコンピュータに実行させるプログラムである。入力ミス検知プログラムは、コンピュータ読取可能な媒体に記録されて提供されてもよいし、記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。入力ミス検知プログラムは、磁気ディスクまたは光ディスクといった可搬記録媒体に記憶されてもよい。
【００１９】
プロセッサ１０１は、入力ミス検知プログラムを実行する装置である。プロセッサ１０１は、例えば、ＣＰＵである。「ＣＰＵ」は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略語である。
【００２０】
メモリ１０２および補助記憶装置１０３は、入力ミス検知プログラムを記憶する装置である。メモリ１０２は、例えば、ＲＡＭ、フラッシュメモリまたはこれらの組み合わせである。「ＲＡＭ」は、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略語である。補助記憶装置１０３は、例えば、ＨＤＤ、フラッシュメモリまたはこれらの組み合わせである。「ＨＤＤ」は、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略語である。
【００２１】
通信デバイス１０４は、入力ミス検知プログラムに入力されるデータを受信するレシーバと、入力ミス検知プログラムから出力されるデータを送信するトランスミッタとを備える。通信デバイス１０４は、例えば、通信チップまたはＮＩＣである。「ＮＩＣ」は、Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄの略語である。
【００２２】
入力機器１０５は、入力ミス検知プログラムへのデータの入力のためにユーザにより操作される機器である。入力機器１０５は、例えば、マウス、キーボード、タッチパネル、またはこれらのうちいくつかもしくはすべての組み合わせである。
【００２３】
ディスプレイ１０６は、入力ミス検知プログラムから出力されるデータを画面に表示する機器である。ディスプレイ１０６は、例えば、ＬＣＤである。「ＬＣＤ」は、Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略語である。
【００２４】
入力ミス検知プログラムは、補助記憶装置１０３からメモリ１０２にロードされ、プロセッサ１０１に読み込まれ、プロセッサ１０１によって実行される。補助記憶装置１０３には、入力ミス検知プログラムだけでなく、ＯＳも記憶されている。「ＯＳ」は、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略語である。プロセッサ１０１は、ＯＳを実行しながら、入力ミス検知プログラムを実行する。なお、入力ミス検知プログラムの一部または全部がＯＳに組み込まれていてもよい。
【００２５】
入力ミス検知装置１００は、プロセッサ１０１を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、入力ミス検知プログラムの実行を分担する。それぞれのプロセッサは、例えば、ＣＰＵである。
【００２６】
入力ミス検知プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ１０２、補助記憶装置１０３、またはプロセッサ１０１内のレジスタもしくはキャッシュメモリに記憶される。
【００２７】
入力ミス検知装置１００は、１台のコンピュータで構成されていてもよいし、複数台のコンピュータで構成されていてもよい。入力ミス検知装置１００が複数台のコンピュータで構成されている場合は、言語化部１０７、選別部１０８、学習部１０９および検知部１１０の機能が、各コンピュータに分散されて実現されてもよい。
【００２８】
図２を参照して、言語化部１０７の構成を説明する。
【００２９】
言語化部１０７は、入力情報理解部１１３と、出力情報理解部１１４と、統合加工部１１５とを備える。
【００３０】
言語化部１０７は、分析装置入力情報１１１と分析装置出力情報１１２との少なくともいずれかから得られる分析対象システムに関する情報について纏めた、自然言語で記述された解析対象文書１１６を生成する機能を持つ。
【００３１】
情報システム自動分析装置の入力データである分析装置入力情報１１１と、出力データである分析装置出力情報１１２は、通信デバイス１０４を介して入力される。なお、分析装置入力情報１１１と分析装置出力情報１１２は、メモリ１０２か、補助記憶装置１０３にあらかじめ記憶されていてもよい。
【００３２】
言語化部１０７により生成された解析対象文書１１６は、メモリ１０２、補助記憶装置１０３、またはプロセッサ１０１内のレジスタもしくはキャッシュメモリに記憶される。なお、解析対象文書１１６は、磁気ディスクまたは光ディスクといった可搬記録媒体に記憶されてもよい。
【００３３】
図３を参照して、選別部１０８の構成を説明する。
【００３４】
選別部１０８は、頻出単語抽出部１１８と、共通単語特定部１１９とを備える。
【００３５】
選別部１０８は、メモリ１０２、補助記憶装置１０３、またはプロセッサ１０１内のレジスタもしくはキャッシュメモリに記憶されている解析対象文書１１６と、システム仕様書１１７とから、両者の文章中で頻出する共通の単語を検索し、頻出共通単語リスト１２０を生成する機能を持つ。
【００３６】
システム仕様書１１７は、通信デバイス１０４を介して入力される。なお、システム仕様書１１７は、メモリ１０２か、補助記憶装置１０３にあらかじめ記憶されていてもよい。
【００３７】
頻出共通単語リスト１２０としては、あらかじめ用意した固定の単語リストを使用してもよい。あるいは、特定の単語を選別部１０８により生成された頻出共通単語リスト１２０に加えてもよい。
【００３８】
選別部１０８により生成された頻出共通単語リスト１２０は、メモリ１０２、補助記憶装置１０３、またはプロセッサ１０１内のレジスタもしくはキャッシュメモリに記憶される。なお、頻出共通単語リスト１２０は、磁気ディスクまたは光ディスクといった可搬記録媒体に記憶されてもよい。
【００３９】
図４を参照して、学習部１０９の構成を説明する。
【００４０】
学習部１０９は、意味ベクトル生成部１２１を備える。
【００４１】
学習部１０９は、メモリ１０２、補助記憶装置１０３、またはプロセッサ１０１内のレジスタもしくはキャッシュメモリに記憶されている頻出共通単語リスト１２０にある、すべての単語に対し、後述する分布仮説に基づく意味ベクトルを与える機能を持つ。
【００４２】
単語に与える意味ベクトルは、２種類ある。１つ目は、システム仕様書１１７から学習した第１単語意味ベクトルリスト１２２である。２つ目は、解析対象文書１１６から学習した第２単語意味ベクトルリスト１２３である。
【００４３】
第１単語意味ベクトルリスト１２２と第２単語意味ベクトルリスト１２３は、各々のベクトルが、頻出共通単語リスト１２０のどの単語の意味を表しているのか、一意に判定できる形式でメモリ１０２、補助記憶装置１０３、またはプロセッサ１０１内のレジスタもしくはキャッシュメモリに記憶される。なお、第１単語意味ベクトルリスト１２２と第２単語意味ベクトルリスト１２３は、磁気ディスクまたは光ディスクといった可搬記録媒体に記憶されてもよい。
【００４４】
図５を参照して、検知部１１０の構成を説明する。
【００４５】
検知部１１０は、変換行列計算部１２４と、外れベクトル抽出部１２５と、外れ値調整部１２６と、ベクトル対応単語検索部１２７とを備える。
【００４６】
検知部１１０は、メモリ１０２、補助記憶装置１０３、またはプロセッサ１０１内のレジスタもしくはキャッシュメモリに記憶されている第１単語意味ベクトルリスト１２２と第２単語意味ベクトルリスト１２３とに対して、同一単語に対する両単語意味ベクトルの変換行列Ｕを求めることで、入力ミス単語リスト１２８を生成する機能を持つ。
【００４７】
本実施の形態では、情報システム自動分析装置が分析する対象のシステムには、開発時に仕様書が作成される点に着目し、入力情報の形式に依存せず、入力ミス検知ルールが必要のない入力ミス検知手法を提案する。
【００４８】
本手法について、詳しい解説を行う。
【００４９】
情報システム自動分析装置の入力情報である分析装置入力情報１１１が、分析対象システムの仕様書であるシステム仕様書１１７にある情報をもとに作成されていると仮定する。そうすれば、ユーザによる分析装置入力情報１１１の作成作業を経て、システム仕様書１１７内の情報が文章、数値および画像等の異なる形式の情報へと変換されたとしても、本質的に定義されている情報は、システム仕様書１１７にある情報のサブセットとなっていることが期待できる。
【００５０】
逆に言えば、システム仕様書１１７にない情報が分析装置入力情報１１１にあるという場合は、それは分析対象のシステムの状態を正しく反映できていないことを意味し、すなわち、入力ミスが存在していることになる。
【００５１】
本実施の形態では、システム仕様書１１７と分析装置入力情報１１１にある情報とを比較するために、分析装置入力情報１１１をまず、その情報を説明した等価な内容の自然言語文へと変換する。
【００５２】
例えば、分析装置入力情報１１１に、「装置Ａと装置Ｂとが通信路Ｃで接続している」という状態を表すブロック図が定義されていた場合、この情報が「装置Ａと装置Ｂとが通信路Ｃで接続している」という自然言語文に変換される。
【００５３】
もし、入力ミスが生じ、分析装置入力情報１１１が、正しくシステム仕様書１１７にある情報を反映していなかった場合、自然言語文へ変換された分析装置入力情報１１１の中に、ユーザの入力ミスによって、本来の意味から変化してしまった単語が存在すると予測される。
【００５４】
ここで指す、単語の意味とは、分布仮説に基づくものを指す。分布仮説とは、「意味的に似ている語句は、その出現文脈の分布も似ている傾向がある」［Ｈａｒｒｉｓ  １９５４］という仮説である。
【００５５】
上述した例がもし入力ミスであり、システム仕様書１１７に「装置Ａと装置Ｂとが通信路Ｄで接続している」と記述されていた場合、「通信路Ｃ」という単語は、本来出現する、「装置Ａ」と「装置Ｂ」という文脈に出現しないことになる。そのため、システム仕様書１１７と分析装置入力情報１１１との間で、「通信路Ｃ」の意味の変化が発生すると予測される。
【００５６】
上記のような単語の意味変化を計測することで、入力ミスに関連する単語を検知することが可能となる。
【００５７】
なお、単語の意味変化の計測には、自然言語処理技術を応用し、システム仕様書１１７と自然言語文に変換した情報システム自動分析装置の分析装置入力情報１１１とを処理する。
【００５８】
大量に入力ミスが発生し、本来の意味から変化した単語が多い場合には、特定の単語の意味変化を検知することは困難であるが、通常は、入力ミスの発生は、低確率で発生するため問題ない。
【００５９】
本手法では、分析装置入力情報１１１だけでなく、情報システム自動分析装置の出力情報である分析装置出力情報１１２も意味の変化の測定の材料として使用可能である。理由として、情報システム分析装置が妥当な分析を行えば、分析装置出力情報１１２は、分析装置入力情報１１１の内容を反映した情報となり、入力ミスによる単語の意味の変化が分析装置出力情報１１２にも現れると考えられるためである。
【００６０】
これは、分析装置入力情報１１１が容易に自然言語文へ変換可能でない場合に、分析装置出力情報１１２のみでも、入力ミスを検知することができることを示している。
【００６１】
＊＊＊動作の説明＊＊＊
初めに、本実施の形態に係る入力ミス検知装置１００の動作の概要を、数学的な説明によって示す。
１．システム仕様書１１７と、自然言語化された分析装置入力情報１１１、分析装置出力情報１１２またはその両方とから共通して頻出する単語のリストＷを抽出する。
Ｗ：＝｛ｗ（１），ｗ（２），・・・，ｗ（ｎ）｝
２．Ｗのすべての単語ｗ（ｉ）について、分布仮説に基づく意味ベクトルを、システム仕様書１１７と、自然言語化された分析装置入力情報１１１、分析装置出力情報１１２またはその両方との上で、それぞれ計算する。
ｖ（Ｓ，ｗ（ｉ））：＝システム仕様書１１７で学習した単語ｗ（ｉ）の単語意味ベクトル
ｖ（Ｔ，ｗ（ｉ））：＝自然言語化された分析装置入力情報１１１、分析装置出力情報１１２またはその両方で学習した単語ｗ（ｉ）の単語意味ベクトル
３．次のような式を満たすような最適な変換行列Ｕを計算する。
Ｖ（Ｓ）・Ｕ≒Ｖ（Ｔ）
ここで、Ｖ（Ｓ）：＝ｉ行目がｖ（Ｓ，ｗ（ｉ））である行列、Ｖ（Ｔ）：＝ｉ行目がｖ（Ｔ，ｗ（ｉ））である行列。
４．ある閾値ε＞０を設定し、次の式を満たすような単語ｗ（ｉ）を入力ミスとして検知する。
ｄ（［Ｖ（Ｓ）・Ｕ］のｉ行目，Ｖ（Ｔ，ｗ（ｉ）））＞ε
ここで、ｄ（ｘ，ｙ）：＝距離関数。
【００６２】
次に、図６から図１０を参照して、本実施の形態に係る入力ミス検知装置１００の動作の詳細を説明する。入力ミス検知装置１００の動作は、本実施の形態に係る入力ミス検知方法に相当する。
【００６３】
図６は、入力ミス検知装置１００の動作の流れを示している。
【００６４】
ステップＳ１１において、言語化部１０７は、分析装置入力情報１１１と分析装置出力情報１１２とを受け取る。その後、言語化部１０７は、両方の内容を自然言語文章に変換し、それらを統合した解析対象文書１１６を生成する。
【００６５】
ここでいう分析装置入力情報１１１とは、情報システム自動分析装置へ入力される情報であり、ユーザがシステム仕様書１１７をもとに作成した情報が含まれており、かつ入力ミスが含まれているかもしれない情報である。分析装置入力情報１１１の形式は、数値、文章および図等どのような形式をとってもよいし、それらの形式の複合的な情報でもよい。
【００６６】
分析装置出力情報１１２とは、情報システム自動分析装置が、分析装置入力情報１１１をもとに何らかの分析を実行した末に導き出された結果である。分析装置出力情報１１２の形式は、数値、文章および図等どのような形式をとってもよいし、それらの形式の複合的な情報でもよい。
【００６７】
分析装置入力情報１１１と分析装置出力情報１１２とのどちらか一方だけが言語化部１０７に入力されてもよい。分析装置入力情報１１１と分析装置出力情報１１２とのどちらか一方だけが言語化部１０７に入力された場合、言語化部１０７は、一方の内容を自然言語文に変換して、そのまま解析対象文書１１６とする。
【００６８】
ステップＳ１２において、選別部１０８は、情報システム自動分析装置の分析対象のシステム仕様書１１７と言語化部１０７が生成した解析対象文書１１６とを受け取る。その後、選別部１０８は、システム仕様書１１７と解析対象文書１１６とのそれぞれで、頻出する単語のリストを作成し、その共通単語を特定することで、頻出共通単語リスト１２０を生成する。
【００６９】
システム仕様書１１７は、一般的なシステム開発工程において作成される、企画書、設計仕様書、外部仕様書、内部仕様書および外内部仕様書等と呼ばれる文書である。本実施の形態が対象とする仕様書は、広義に「分析装置入力情報１１１を作成したユーザが、システムの情報を定義する上で参考にした文書であり、かつ分析装置入力情報１１１に、その文書にある同一名称の単語が使われるような文書」であれば任意である。
【００７０】
ステップＳ１３において、学習部１０９は、選別部１０８によって生成された頻出共通単語リスト１２０と、言語化部１０７によって生成された解析対象文書１１６と、システム仕様書１１７とを受け取る。その後、学習部１０９は、頻出共通単語リスト１２０にあるすべての単語に対して、分布仮説に基づく意味ベクトルを計算し、各単語にラベル付けをする形で、システム仕様書１１７から学習した第１単語意味ベクトルリスト１２２と、解析対象文書１１６から学習した第２単語意味ベクトルリスト１２３とを生成する。
【００７１】
ステップＳ１４において、検知部１１０は、学習部１０９によって生成された第１単語意味ベクトルリスト１２２および第２単語意味ベクトルリスト１２３を受け取る。その後、検知部１１０は、入力ミスの単語を、第１単語意味ベクトルリスト１２２を第２単語意味ベクトルリスト１２３へ変換する行列を計算することで特定し、入力ミス単語リスト１２８を出力する。
【００７２】
以上説明したように、本実施の形態では、言語化部１０７は、情報システムを分析する分析装置への入力情報である分析装置入力情報１１１と分析装置からの出力情報である分析装置出力情報１１２との少なくともいずれかを自然言語文に変換することで、解析対象文書１１６を生成する。解析対象文書１１６は、分析装置入力情報１１１と分析装置出力情報１１２との少なくともいずれかが自然言語で記述された文書である。望ましくは、言語化部１０７は、分析装置入力情報１１１を変換して得られた自然言語文と、分析装置出力情報１１２を変換して得られた自然言語文とを統合することで、解析対象文書１１６を生成する。
【００７３】
選別部１０８は、システム仕様書１１７と解析対象文書１１６とに共通して出現する単語群を選別する。システム仕様書１１７は、情報システムの仕様が自然言語で記述された文書である。具体的には、選別部１０８は、システム仕様書１１７と解析対象文書１１６とに出現する頻度が閾値を超える単語を上記単語群に属する単語として選別する。選別部１０８により選別された単語群は、頻出共通単語リスト１２０に記録される。
【００７４】
学習部１０９は、システム仕様書１１７と解析対象文書１１６とのそれぞれにおける、選別部１０８により選別された単語群に属する個別の単語の意味を学習する。具体的には、学習部１０９は、システム仕様書１１７における上記単語群の意味を単語別に表す第１ベクトル群と、解析対象文書１１６における上記単語群の意味を単語別に表す第２ベクトル群とを生成することで、システム仕様書１１７と解析対象文書１１６とのそれぞれにおける上記個別の単語の意味を学習する。学習部１０９により生成された第１ベクトル群は、第１単語意味ベクトルリスト１２２に記録される。学習部１０９により生成された第２ベクトル群は、第２単語意味ベクトルリスト１２３に記録される。
【００７５】
検知部１１０は、システム仕様書１１７と解析対象文書１１６との間における、学習部１０９により学習された意味の変化を検知することで、解析対象文書１１６に含まれる、分析装置入力情報１１１の入力ミスに起因する単語の誤りを特定する。具体的には、検知部１１０は、第１ベクトル群を第２ベクトル群に変換する行列を近似した変換行列Ｕを計算し、第２ベクトル群と、計算した変換行列Ｕを用いて第１ベクトル群を変換して得られる第３ベクトル群とを単語別に比較することで、システム仕様書１１７と解析対象文書１１６との間における上記変化を検知する。第３ベクトル群は、第３単語意味ベクトルリストに記録される。検知部１１０により、入力ミスに起因する誤りが特定された単語は、入力ミス単語リスト１２８に記録される。
【００７６】
図７から図１０は、図６における各処理の詳細な動作を示している。図７はステップＳ１１、図８はステップＳ１２、図９はステップＳ１３、図１０はステップＳ１４の詳細化である。
【００７７】
図７を用いて、ステップＳ１１における、言語化部１０７の動作を説明する。
【００７８】
ステップＳ１５にて、言語化部１０７は、分析装置入力情報１１１と分析装置出力情報１１２とを受け取る。
【００７９】
ステップＳ１６にて、分析装置入力情報１１１が自然言語文に自動的に変換できるようであれば、ステップＳ１７にて、入力情報理解部１１３がその変換を担う。具体的には、入力情報理解部１１３が、入力された分析装置入力情報１１１から分析対象システムに関する情報を抽出し、自然言語化する処理を行う。
【００８０】
分析装置入力情報１１１の形式が自然言語に近いものであった場合は、単純な文書加工によって、自然言語化が行われる。分析装置入力情報１１１の形式が自然言語から離れていた場合、例として、以下のような処理を行って、その内容が自然言語化される。
【００８１】
表形式であれば、表の１行ごとの情報が、パターン化された文章等で自然言語化される。このとき、表の上で関連のない単語同士が同じ文に含まれないように、表の１行ごとが独立した文章として自然言語化される。
【００８２】
画像形式であれば、画像認識技術等を用いることで、画像の内容が自然言語化される。このとき、自然言語化される内容は、画像中の主体と動作とについての関係を適切に説明したものであることが好ましいが、画像中の物体の名称がただ列挙されてもよい。画像が複数存在する場合は、別の画像中の物体が同じ文章に含まれないように、それぞれの画像が自然言語化され、それぞれの画像の意味が混同されないように、独立した文章として表現される。
【００８３】
ステップＳ１８にて、分析装置出力情報１１２が自然言語文に自動的に変換できるようであれば、ステップＳ１９にて、出力情報理解部１１４がその変換を行う。具体的には、出力情報理解部１１４が、入力された分析装置出力情報１１２から分析対象システムに関する情報を抽出し、自然言語化する処理を行う。
【００８４】
分析装置出力情報１１２の形式が自然言語に近いものであった場合は、単純な文書加工によって、自然言語化が行われる。分析装置出力情報１１２の形式が自然言語から離れていた場合、例として、以下のような処理を行って、その内容が自然言語化される。
【００８５】
表形式であれば、表の１行ごとの情報が、パターン化された文章等で自然言語化される。このとき、表の上で関連のない単語同士が同じ文に含まれないように、表の１行ごとが独立した文章として自然言語化される。
【００８６】
画像形式であれば、画像認識技術等を用いることで、画像の内容が自然言語化される。このとき、自然言語化される内容は、画像中の主体と動作とについての関係を適切に説明したものであることが好ましいが、画像中の物体の名称がただ列挙されてもよい。画像が複数存在する場合は、別の画像中の物体が同じ文章に含まれないように、それぞれの画像が自然言語化され、それぞれの画像の意味が混同されないように、独立した文章として表現される。
【００８７】
ステップＳ１６およびステップＳ１８で、分析装置入力情報１１１と分析装置出力情報１１２とが自動的に自然言語文に変換できない場合は、人手で解析対象文書１１６を作成してもよい。すなわち、分析装置入力情報１１１の自然言語化の処理については、人手で実行してもよい。同様に、分析装置出力情報１１２の自然言語化の処理については、人手で実行してもよい。
【００８８】
分析装置入力情報１１１と分析装置出力情報１１２とのどちらかの自然言語化が困難である場合は、どちらか一方の情報のみを自然言語化して、解析対象文書１１６を生成してもよい。しかし、その場合は、学習部１０９において、意味を学習する学習データが不足し、入力ミス検知精度が低下する可能性もある。そのため、分析装置入力情報１１１と分析装置出力情報１１２との両方の情報を、自然言語化することが望ましい。
【００８９】
ステップＳ１６およびステップＳ１７の処理と、ステップＳ１８およびステップＳ１９の処理との順番は、逆転してもよい。
【００９０】
ステップＳ２０において、統合加工部１１５は、自然言語化した分析装置入力情報１１１と分析装置出力情報１１２とを統合し、解析対象文書１１６を出力する。すなわち、統合加工部１１５は、入力情報理解部１１３と出力情報理解部１１４とによって自然言語化された分析装置入力情報１１１と分析装置出力情報１１２とから得られる分析対象システムの情報を、１つの文書に統合した解析対象文書１１６を生成する。
【００９１】
図８を用いて、ステップＳ１２における、選別部１０８の動作を説明する。
【００９２】
ステップＳ２１にて、入力ミスとして検知する候補である単語のリストがすでにユーザまたは開発者によって提示され、メモリ１０２または補助記憶装置１０３に格納されている場合は、ステップＳ２６にて、選別部１０８は、それを頻出共通単語リスト１２０として出力する。
【００９３】
ステップＳ２２にて、選別部１０８は、システム仕様書１１７と解析対象文書１１６とを受け取る。
【００９４】
ステップＳ２３にて、頻出単語抽出部１１８が、システム仕様書１１７で頻出する単語のリストを作成する。このとき、頻出単語として適切な単語は、それぞれの文書を特徴付ける単語に限り、通常の文書で頻出する普遍的な単語等は除外する。
【００９５】
ステップＳ２４にて、頻出単語抽出部１１８が、解析対象文書１１６で頻出する単語のリストを作成する。このときも、頻出単語として適切な単語は、それぞれの文書を特徴付ける単語に限り、通常の文書で頻出する普遍的な単語等は除外する。
【００９６】
ステップＳ２３およびステップＳ２４の処理では、ＴＦ−ＩＤＦ法を活用してもよい。
【００９７】
ステップＳ２５にて、共通単語特定部１１９が、ステップＳ２３およびステップＳ２４で作成されたリストから、その共通単語を特定することで、頻出共通単語リスト１２０を生成する。
【００９８】
ステップＳ２６にて、共通単語特定部１１９が、生成した頻出共通単語リスト１２０を出力する。
【００９９】
図９を用いて、ステップＳ１３における、学習部１０９の動作を説明する
【０１００】
ステップＳ２７にて、学習部１０９は、頻出共通単語リスト１２０、システム仕様書１１７および解析対象文書１１６を受け取る。
【０１０１】
ステップＳ２８およびステップＳ２９で、意味ベクトル生成部１２１は、頻出共通単語リスト１２０にあるすべての単語に対して、分布仮説に基づく意味ベクトルを計算する。意味ベクトル生成部１２１は、各単語にラベル付けをする形で、システム仕様書１１７から学習した第１単語意味ベクトルリスト１２２と、解析対象文書１１６から学習した第２単語意味ベクトルリスト１２３とを生成する。第１単語意味ベクトルリスト１２２と第２単語意味ベクトルリスト１２３との次元数は必ずしも一致しなくともよい。
【０１０２】
意味ベクトル生成部１２１の処理を実現するための、分布仮説に基づく意味ベクトルを与える自然言語技術としては、ｗｏｒｄ２ｖｅｃ、Ｌａｔｅｎｔ  Ｓｅｍａｎｔｉｃ  ＩｎｄｅｘｉｎｇまたはＲａｎｄｏｍ  Ｉｎｄｅｘｉｎｇ等を用いることができる。あるいは、ここに挙げたものでなくとも、分布仮説に基づく、多次元の意味の特徴量ベクトルを生成するような自然言語技術、すなわち、分散表現であれば、任意の技術を用いてよい。
【０１０３】
本実施の形態では、単語間の相対的な意味関係の変化を、行列変換のフィッティングの整合性から検知し、入力ミス単語を特定する。したがって、意味ベクトルを与える手法としては、単語の意味ベクトル同士に、意味の加法性的な構造が生まれるｗｏｒｄ２ｖｅｃを採用することが好ましい。
【０１０４】
ステップＳ２８の処理と、ステップＳ２９の処理との順番は、逆転してもよい。
【０１０５】
ステップＳ３０において、意味ベクトル生成部１２１は、第１単語意味ベクトルリスト１２２と第２単語意味ベクトルリスト１２３とを出力する。
【０１０６】
図１０を用いて、ステップＳ１４における、検知部１１０の動作を説明する。
【０１０７】
ステップＳ３１において、検知部１１０は、頻出共通単語リスト１２０、第１単語意味ベクトルリスト１２２および第２単語意味ベクトルリスト１２３を受け取る。
【０１０８】
ステップＳ３２において、変換行列計算部１２４は、第１単語意味ベクトルリスト１２２を第２単語意味ベクトルリスト１２３へ変換する最適な行列Ｕを求める。
【０１０９】
ステップＳ３３において、外れベクトル抽出部１２５は、第１単語意味ベクトルリスト１２２の行列Ｕの像である、第３単語意味ベクトルリストを生成する。
【０１１０】
ステップＳ３４において、外れベクトル抽出部１２５は、あらかじめ与えられた微小な正値εをもとに、第３単語意味ベクトルリストと第２単語意味ベクトルリスト１２３との間での距離の差がεより大きい第１単語意味ベクトルリスト１２２中の外れベクトルを抽出する。距離としては、ユークリッド距離のほかにも、余弦角等、多次元の実数値ベクトルを比較可能な距離であれば何を使用してもよい。厳密な距離でなく、擬距離または反距離等を使用してもよい。
【０１１１】
ステップＳ３５およびステップＳ３６で、ベクトル対応単語検索部１２７が、外れベクトルをラベルとして持つ単語を特定し、入力ミス単語リスト１２８として出力する。
【０１１２】
ステップＳ３７にて、入力ミス単語リスト１２８に含まれる単語数が余りに多かった場合には、入力ミスは低い確率で発生するという仮定の下、ステップＳ３８で、外れ値調整部１２６がεの値を調節する。そして、再度、ステップＳ３４からステップＳ３６の処理が繰り返されて、適切な単語数の入力ミス単語リスト１２８が出力される。
【０１１３】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態では、システム仕様書１１７と解析対象文書１１６とに共通して出現する単語群に属する個別の単語の意味が学習される。そして、システム仕様書１１７と解析対象文書１１６との間における、学習された意味の変化を検知することで、解析対象文書１１６に含まれる、分析装置入力情報１１１の入力ミスに起因する単語の誤りが特定される。そのため、本実施の形態によれば、分析装置入力情報１１１の形式に依存せず、入力ミス検知ルールが必要のない入力ミス検知手法を提供することができる。
【０１１４】
本実施の形態では、言語化部１０７は、情報システム自動分析装置の入力情報および出力情報の内容を自然言語文に変換し統合することで、入力ミスを検知するための解析対象文書１１６を生成する。選別部１０８は、分析対象のシステム仕様書１１７と解析対象文書１１６との頻出共通単語群を選別する。学習部１０９は、頻出共通単語群に属するすべての単語について、システム仕様書１１７と解析対象文書１１６とでそれぞれの分布仮説に基づく意味を学習する。検知部１１０は、入力ミスによって発生した意味の変化を検知し、頻出共通単語群の中から入力ミスと考えられる単語を特定する。
【０１１５】
本実施の形態によれば、情報システム自動分析装置の入力情報上に存在する入力ミスを特定し、自動でユーザに入力ミスと考えられる単語のリストをフィードバックすることができる。従来の入力ミス検知手法とは異なり、「どのような状態が入力ミスなのか？」という入力ミス検知用のルールを開発者が用意する必要がなく、情報システム自動分析装置の入力インタフェースの開発コストを低減させることができる。また、入力ミスを含んだまま分析が行われる機会が減少することで、不正な分析結果による、システム開発上の手戻りおよび不具合が減ることも期待できる。
【０１１６】
加えて、本実施の形態における、入力ミスの存在を、入力情報の内容を一旦、すべて自然言語文に変換して、単語の意味変化という観点から検知するという特徴は、分析装置の入力情報の形式が、数値、画像および文書等、様々な形式であっても入力ミスを検知できるという効果も奏する。
【０１１７】
このように、本実施の形態では、情報システムの状態を評価するための情報システム自動分析装置への入力情報を、ユーザが手動で作成した場合に発生し得る入力ミスを、自動的に検知することができる。検知した入力ミスはユーザへフィードバックされる。入力ミスの検知は、入力情報を一旦、等価な内容の自然言語文に変換することで、分析対象システムの仕様書上の食い違い、すなわち、単語の意味変化が発生していないか、を分布仮説に基づく自然言語処理技術を応用することで実行する。本実施の形態の効果によって、入力ミスを検知するためにルールを開発するコストが低減されるほか、ユーザの正確な入力情報の作成支援を行うことができる。
【０１１８】
＊＊＊他の構成＊＊＊
本実施の形態では、言語化部１０７、選別部１０８、学習部１０９および検知部１１０の機能がソフトウェアにより実現されるが、別の変形例として、言語化部１０７、選別部１０８、学習部１０９および検知部１１０の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、言語化部１０７、選別部１０８、学習部１０９および検知部１１０の機能の一部が専用のハードウェアにより実現され、残りがソフトウェアにより実現されてもよい。
【０１１９】
専用のハードウェアは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＦＰＧＡ、ＡＳＩＣ、またはこれらのうちいくつかもしくはすべての組み合わせである。「ＩＣ」は、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。「ＧＡ」は、Ｇａｔｅ  Ａｒｒａｙの略語である。「ＦＰＧＡ」は、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略語である。「ＡＳＩＣ」は、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。
【０１２０】
プロセッサ１０１および専用のハードウェアは、いずれも処理回路である。すなわち、言語化部１０７、選別部１０８、学習部１０９および検知部１１０の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、言語化部１０７、選別部１０８、学習部１０９および検知部１１０の動作は、処理回路により行われる。
【符号の説明】
【０１２１】
１００  入力ミス検知装置、１０１  プロセッサ、１０２  メモリ、１０３  補助記憶装置、１０４  通信デバイス、１０５  入力機器、１０６  ディスプレイ、１０７  言語化部、１０８  選別部、１０９  学習部、１１０  検知部、１１１  分析装置入力情報、１１２  分析装置出力情報、１１３  入力情報理解部、１１４  出力情報理解部、１１５  統合加工部、１１６  解析対象文書、１１７  システム仕様書、１１８  頻出単語抽出部、１１９  共通単語特定部、１２０  頻出共通単語リスト、１２１  意味ベクトル生成部、１２２  第１単語意味ベクトルリスト、１２３  第２単語意味ベクトルリスト、１２４  変換行列計算部、１２５  外れベクトル抽出部、１２６  外れ値調整部、１２７  ベクトル対応単語検索部、１２８  入力ミス単語リスト。
【図１】
2019225007.tif 000003
【図２】
2019225007.tif 000004
【図３】
2019225007.tif 000005
【図４】
2019225007.tif 000006
【図５】
2019225007.tif 000007
【図６】
2019225007.tif 000008
【図７】
2019225007.tif 000009
【図８】
2019225007.tif 000010
【図９】
2019225007.tif 000011
【図１０】
2019225007.tif 000012
【国際調査報告】
2019225007.tif 000013
2019225007.tif 000014