JPWO2019225007A1 - 入力ミス検知装置、入力ミス検知方法および入力ミス検知プログラム - Google Patents

入力ミス検知装置、入力ミス検知方法および入力ミス検知プログラム Download PDF

Info

Publication number
JPWO2019225007A1
JPWO2019225007A1 JP2020520987A JP2020520987A JPWO2019225007A1 JP WO2019225007 A1 JPWO2019225007 A1 JP WO2019225007A1 JP 2020520987 A JP2020520987 A JP 2020520987A JP 2020520987 A JP2020520987 A JP 2020520987A JP WO2019225007 A1 JPWO2019225007 A1 JP WO2019225007A1
Authority
JP
Japan
Prior art keywords
information
unit
word
analysis target
input
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.)
Granted
Application number
JP2020520987A
Other languages
English (en)
Other versions
JP6837604B2 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2019225007A1 publication Critical patent/JPWO2019225007A1/ja
Application granted granted Critical
Publication of JP6837604B2 publication Critical patent/JP6837604B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/226Validation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Abstract

入力ミス検知装置(100)において、選別部(108)は、情報システムの仕様が自然言語で記述されたシステム仕様書(117)と、情報システムを分析する分析装置への入力情報である分析装置入力情報(111)と分析装置からの出力情報である分析装置出力情報(112)との少なくともいずれかが自然言語で記述された解析対象文書(116)とに共通して出現する単語群を選別する。学習部(109)は、システム仕様書(117)と解析対象文書(116)とのそれぞれにおける、選別部(108)により選別された単語群に属する個別の単語の意味を学習する。検知部(110)は、システム仕様書(117)と解析対象文書(116)との間における、学習部(109)により学習された意味の変化を検知することで、解析対象文書(116)に含まれる、分析装置入力情報(111)の入力ミスに起因する単語の誤りを特定する。

Description

本発明は、入力ミス検知装置、入力ミス検知方法および入力ミス検知プログラムに関するものである。
特許文献1に記載されているように、単語の重要度を計算する手法としてTF−IDF法が広く知られている。「TF」は、Term Frequencyの略語である。「IDF」は、Inverse Document Frequencyの略語である。
特開2009−064191号公報
一般的にユーザの入力情報を必要とする装置には、入力ミスを検知する機能が備えられていることがほとんどである。簡素な具体例としては、文字の全角もしくは半角の誤りまたはスペルミスを判定する機能、あるいは合計文字数または合計金額を判定する機能等が、入力インタフェースの一機能として実装されていることが多い。
こうした入力ミス判定技術によって入力ミスと思われる要素が検知され、注意メッセージ等で、ユーザに通知される。その結果、ユーザは入力ミスに気づき、正確な入力情報を作成し直すことができる。
上記のような従来の入力ミス検知機能では、入力ミスを検知するために用意されたルール、すなわち、入力ミス検知ルールが必要である。したがって、入力ミス検知機能を装置に搭載する際には、装置の開発者が事前に、入力情報の内容と形式とを考慮して、入力ミスが発生する条件を分析し、入力ミス検知ルールを作成しておく必要がある。
従来の一般的な入力ミス検知手法の課題として、分析装置の入力情報の形式に依存して、分析装置の開発者が入力ミス検知ルールを作成しておく必要があるという点が挙げられる。
情報システム自動分析装置においても、その課題は同様である。情報システム自動分析装置とは、情報システムに対して、設計工程および開発工程の作業コストを削減するため、あるいはシステムの性能および安全性等を向上させるために、既存の分析手法を用いて、システムの状態を評価する機能を備えている装置全体を指す。分析対象の情報システムは、個人用か組織用かを問わず特定の目的の下、設計または開発されている情報システムでもよいし、すでに運用されている情報システムでもよい。
分析装置の入力情報は、分析の目的に応じて取捨選択される。開発コストに対する分析であれば、機器の費用および人的なコストに関する情報が選択される。サイバー攻撃に対する耐性またはセキュリティ対策に関する分析であれば、機器内の脆弱性およびセキュリティ機能の設定に関する情報が入力情報として選択される。そして、選択された情報は、文章、数値および画像といった形式、あるいはそれらが組み合わされた分析装置の要求する形式の情報として作成される。よって、情報システム自動分析装置の開発者も、入力情報の形式に依存して、入力ミス検知ルールを作成しなければならない。
本発明は、入力情報の形式に依存せず、入力ミス検知ルールが必要のない入力ミス検知手法を提供することを目的とする。
本発明の一態様に係る入力ミス検知装置は、
情報システムの仕様が自然言語で記述されたシステム仕様書と、前記情報システムを分析する分析装置への入力情報と前記分析装置からの出力情報との少なくともいずれかが自然言語で記述された解析対象文書とに共通して出現する単語群を選別する選別部と、
前記システム仕様書と前記解析対象文書とのそれぞれにおける、前記選別部により選別された単語群に属する個別の単語の意味を学習する学習部と、
前記システム仕様書と前記解析対象文書との間における、前記学習部により学習された意味の変化を検知することで、前記解析対象文書に含まれる、前記入力情報の入力ミスに起因する単語の誤りを特定する検知部と
を備える。
本発明では、システム仕様書と解析対象文書とに共通して出現する単語群に属する個別の単語の意味が学習される。そして、システム仕様書と解析対象文書との間における、学習された意味の変化を検知することで、解析対象文書に含まれる、入力情報の入力ミスに起因する単語の誤りが特定される。そのため、本発明によれば、入力情報の形式に依存せず、入力ミス検知ルールが必要のない入力ミス検知手法を提供することができる。
実施の形態1に係る入力ミス検知装置の構成を示すブロック図。 実施の形態1に係る入力ミス検知装置の言語化部の構成を示すブロック図。 実施の形態1に係る入力ミス検知装置の選別部の構成を示すブロック図。 実施の形態1に係る入力ミス検知装置の学習部の構成を示すブロック図。 実施の形態1に係る入力ミス検知装置の検知部の構成を示すブロック図。 実施の形態1に係る入力ミス検知装置の動作を示すフローチャート。 実施の形態1に係る入力ミス検知装置の言語化部の動作を示すフローチャート。 実施の形態1に係る入力ミス検知装置の選別部の動作を示すフローチャート。 実施の形態1に係る入力ミス検知装置の学習部の動作を示すフローチャート。 実施の形態1に係る入力ミス検知装置の検知部の動作を示すフローチャート。
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態は、部分的に実施されても構わない。
実施の形態1.
本実施の形態について、図1から図10を用いて説明する。
***構成の説明***
図1を参照して、本実施の形態に係る入力ミス検知装置100の構成を説明する。
入力ミス検知装置100は、コンピュータである。入力ミス検知装置100は、プロセッサ101を備えるとともに、メモリ102、補助記憶装置103、通信デバイス104、入力機器105およびディスプレイ106といった他のハードウェアを備える。プロセッサ101は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
入力ミス検知装置100は、機能要素として、言語化部107と、選別部108と、学習部109と、検知部110とを備える。言語化部107、選別部108、学習部109および検知部110の機能は、ソフトウェアにより実現される。具体的には、言語化部107、選別部108、学習部109および検知部110の機能は、入力ミス検知プログラムにより実現される。入力ミス検知プログラムは、言語化部107、選別部108、学習部109および検知部110により行われる処理をそれぞれ言語化処理、選別処理、学習処理および検知処理としてコンピュータに実行させるプログラムである。入力ミス検知プログラムは、コンピュータ読取可能な媒体に記録されて提供されてもよいし、記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。入力ミス検知プログラムは、磁気ディスクまたは光ディスクといった可搬記録媒体に記憶されてもよい。
プロセッサ101は、入力ミス検知プログラムを実行する装置である。プロセッサ101は、例えば、CPUである。「CPU」は、Central Processing Unitの略語である。
メモリ102および補助記憶装置103は、入力ミス検知プログラムを記憶する装置である。メモリ102は、例えば、RAM、フラッシュメモリまたはこれらの組み合わせである。「RAM」は、Random Access Memoryの略語である。補助記憶装置103は、例えば、HDD、フラッシュメモリまたはこれらの組み合わせである。「HDD」は、Hard Disk Driveの略語である。
通信デバイス104は、入力ミス検知プログラムに入力されるデータを受信するレシーバと、入力ミス検知プログラムから出力されるデータを送信するトランスミッタとを備える。通信デバイス104は、例えば、通信チップまたはNICである。「NIC」は、Network Interface Cardの略語である。
入力機器105は、入力ミス検知プログラムへのデータの入力のためにユーザにより操作される機器である。入力機器105は、例えば、マウス、キーボード、タッチパネル、またはこれらのうちいくつかもしくはすべての組み合わせである。
ディスプレイ106は、入力ミス検知プログラムから出力されるデータを画面に表示する機器である。ディスプレイ106は、例えば、LCDである。「LCD」は、Liquid Crystal Displayの略語である。
入力ミス検知プログラムは、補助記憶装置103からメモリ102にロードされ、プロセッサ101に読み込まれ、プロセッサ101によって実行される。補助記憶装置103には、入力ミス検知プログラムだけでなく、OSも記憶されている。「OS」は、Operating Systemの略語である。プロセッサ101は、OSを実行しながら、入力ミス検知プログラムを実行する。なお、入力ミス検知プログラムの一部または全部がOSに組み込まれていてもよい。
入力ミス検知装置100は、プロセッサ101を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、入力ミス検知プログラムの実行を分担する。それぞれのプロセッサは、例えば、CPUである。
入力ミス検知プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ102、補助記憶装置103、またはプロセッサ101内のレジスタもしくはキャッシュメモリに記憶される。
入力ミス検知装置100は、1台のコンピュータで構成されていてもよいし、複数台のコンピュータで構成されていてもよい。入力ミス検知装置100が複数台のコンピュータで構成されている場合は、言語化部107、選別部108、学習部109および検知部110の機能が、各コンピュータに分散されて実現されてもよい。
図2を参照して、言語化部107の構成を説明する。
言語化部107は、入力情報理解部113と、出力情報理解部114と、統合加工部115とを備える。
言語化部107は、分析装置入力情報111と分析装置出力情報112との少なくともいずれかから得られる分析対象システムに関する情報について纏めた、自然言語で記述された解析対象文書116を生成する機能を持つ。
情報システム自動分析装置の入力データである分析装置入力情報111と、出力データである分析装置出力情報112は、通信デバイス104を介して入力される。なお、分析装置入力情報111と分析装置出力情報112は、メモリ102か、補助記憶装置103にあらかじめ記憶されていてもよい。
言語化部107により生成された解析対象文書116は、メモリ102、補助記憶装置103、またはプロセッサ101内のレジスタもしくはキャッシュメモリに記憶される。なお、解析対象文書116は、磁気ディスクまたは光ディスクといった可搬記録媒体に記憶されてもよい。
図3を参照して、選別部108の構成を説明する。
選別部108は、頻出単語抽出部118と、共通単語特定部119とを備える。
選別部108は、メモリ102、補助記憶装置103、またはプロセッサ101内のレジスタもしくはキャッシュメモリに記憶されている解析対象文書116と、システム仕様書117とから、両者の文章中で頻出する共通の単語を検索し、頻出共通単語リスト120を生成する機能を持つ。
システム仕様書117は、通信デバイス104を介して入力される。なお、システム仕様書117は、メモリ102か、補助記憶装置103にあらかじめ記憶されていてもよい。
頻出共通単語リスト120としては、あらかじめ用意した固定の単語リストを使用してもよい。あるいは、特定の単語を選別部108により生成された頻出共通単語リスト120に加えてもよい。
選別部108により生成された頻出共通単語リスト120は、メモリ102、補助記憶装置103、またはプロセッサ101内のレジスタもしくはキャッシュメモリに記憶される。なお、頻出共通単語リスト120は、磁気ディスクまたは光ディスクといった可搬記録媒体に記憶されてもよい。
図4を参照して、学習部109の構成を説明する。
学習部109は、意味ベクトル生成部121を備える。
学習部109は、メモリ102、補助記憶装置103、またはプロセッサ101内のレジスタもしくはキャッシュメモリに記憶されている頻出共通単語リスト120にある、すべての単語に対し、後述する分布仮説に基づく意味ベクトルを与える機能を持つ。
単語に与える意味ベクトルは、2種類ある。1つ目は、システム仕様書117から学習した第1単語意味ベクトルリスト122である。2つ目は、解析対象文書116から学習した第2単語意味ベクトルリスト123である。
第1単語意味ベクトルリスト122と第2単語意味ベクトルリスト123は、各々のベクトルが、頻出共通単語リスト120のどの単語の意味を表しているのか、一意に判定できる形式でメモリ102、補助記憶装置103、またはプロセッサ101内のレジスタもしくはキャッシュメモリに記憶される。なお、第1単語意味ベクトルリスト122と第2単語意味ベクトルリスト123は、磁気ディスクまたは光ディスクといった可搬記録媒体に記憶されてもよい。
図5を参照して、検知部110の構成を説明する。
検知部110は、変換行列計算部124と、外れベクトル抽出部125と、外れ値調整部126と、ベクトル対応単語検索部127とを備える。
検知部110は、メモリ102、補助記憶装置103、またはプロセッサ101内のレジスタもしくはキャッシュメモリに記憶されている第1単語意味ベクトルリスト122と第2単語意味ベクトルリスト123とに対して、同一単語に対する両単語意味ベクトルの変換行列Uを求めることで、入力ミス単語リスト128を生成する機能を持つ。
本実施の形態では、情報システム自動分析装置が分析する対象のシステムには、開発時に仕様書が作成される点に着目し、入力情報の形式に依存せず、入力ミス検知ルールが必要のない入力ミス検知手法を提案する。
本手法について、詳しい解説を行う。
情報システム自動分析装置の入力情報である分析装置入力情報111が、分析対象システムの仕様書であるシステム仕様書117にある情報をもとに作成されていると仮定する。そうすれば、ユーザによる分析装置入力情報111の作成作業を経て、システム仕様書117内の情報が文章、数値および画像等の異なる形式の情報へと変換されたとしても、本質的に定義されている情報は、システム仕様書117にある情報のサブセットとなっていることが期待できる。
逆に言えば、システム仕様書117にない情報が分析装置入力情報111にあるという場合は、それは分析対象のシステムの状態を正しく反映できていないことを意味し、すなわち、入力ミスが存在していることになる。
本実施の形態では、システム仕様書117と分析装置入力情報111にある情報とを比較するために、分析装置入力情報111をまず、その情報を説明した等価な内容の自然言語文へと変換する。
例えば、分析装置入力情報111に、「装置Aと装置Bとが通信路Cで接続している」という状態を表すブロック図が定義されていた場合、この情報が「装置Aと装置Bとが通信路Cで接続している」という自然言語文に変換される。
もし、入力ミスが生じ、分析装置入力情報111が、正しくシステム仕様書117にある情報を反映していなかった場合、自然言語文へ変換された分析装置入力情報111の中に、ユーザの入力ミスによって、本来の意味から変化してしまった単語が存在すると予測される。
ここで指す、単語の意味とは、分布仮説に基づくものを指す。分布仮説とは、「意味的に似ている語句は、その出現文脈の分布も似ている傾向がある」[Harris 1954]という仮説である。
上述した例がもし入力ミスであり、システム仕様書117に「装置Aと装置Bとが通信路Dで接続している」と記述されていた場合、「通信路C」という単語は、本来出現する、「装置A」と「装置B」という文脈に出現しないことになる。そのため、システム仕様書117と分析装置入力情報111との間で、「通信路C」の意味の変化が発生すると予測される。
上記のような単語の意味変化を計測することで、入力ミスに関連する単語を検知することが可能となる。
なお、単語の意味変化の計測には、自然言語処理技術を応用し、システム仕様書117と自然言語文に変換した情報システム自動分析装置の分析装置入力情報111とを処理する。
大量に入力ミスが発生し、本来の意味から変化した単語が多い場合には、特定の単語の意味変化を検知することは困難であるが、通常は、入力ミスの発生は、低確率で発生するため問題ない。
本手法では、分析装置入力情報111だけでなく、情報システム自動分析装置の出力情報である分析装置出力情報112も意味の変化の測定の材料として使用可能である。理由として、情報システム分析装置が妥当な分析を行えば、分析装置出力情報112は、分析装置入力情報111の内容を反映した情報となり、入力ミスによる単語の意味の変化が分析装置出力情報112にも現れると考えられるためである。
これは、分析装置入力情報111が容易に自然言語文へ変換可能でない場合に、分析装置出力情報112のみでも、入力ミスを検知することができることを示している。
***動作の説明***
初めに、本実施の形態に係る入力ミス検知装置100の動作の概要を、数学的な説明によって示す。
1.システム仕様書117と、自然言語化された分析装置入力情報111、分析装置出力情報112またはその両方とから共通して頻出する単語のリストWを抽出する。
W:={w(1),w(2),・・・,w(n)}
2.Wのすべての単語w(i)について、分布仮説に基づく意味ベクトルを、システム仕様書117と、自然言語化された分析装置入力情報111、分析装置出力情報112またはその両方との上で、それぞれ計算する。
v(S,w(i)):=システム仕様書117で学習した単語w(i)の単語意味ベクトル
v(T,w(i)):=自然言語化された分析装置入力情報111、分析装置出力情報112またはその両方で学習した単語w(i)の単語意味ベクトル
3.次のような式を満たすような最適な変換行列Uを計算する。
V(S)・U≒V(T)
ここで、V(S):=i行目がv(S,w(i))である行列、V(T):=i行目がv(T,w(i))である行列。
4.ある閾値ε>0を設定し、次の式を満たすような単語w(i)を入力ミスとして検知する。
d([V(S)・U]のi行目,V(T,w(i)))>ε
ここで、d(x,y):=距離関数。
次に、図6から図10を参照して、本実施の形態に係る入力ミス検知装置100の動作の詳細を説明する。入力ミス検知装置100の動作は、本実施の形態に係る入力ミス検知方法に相当する。
図6は、入力ミス検知装置100の動作の流れを示している。
ステップS11において、言語化部107は、分析装置入力情報111と分析装置出力情報112とを受け取る。その後、言語化部107は、両方の内容を自然言語文章に変換し、それらを統合した解析対象文書116を生成する。
ここでいう分析装置入力情報111とは、情報システム自動分析装置へ入力される情報であり、ユーザがシステム仕様書117をもとに作成した情報が含まれており、かつ入力ミスが含まれているかもしれない情報である。分析装置入力情報111の形式は、数値、文章および図等どのような形式をとってもよいし、それらの形式の複合的な情報でもよい。
分析装置出力情報112とは、情報システム自動分析装置が、分析装置入力情報111をもとに何らかの分析を実行した末に導き出された結果である。分析装置出力情報112の形式は、数値、文章および図等どのような形式をとってもよいし、それらの形式の複合的な情報でもよい。
分析装置入力情報111と分析装置出力情報112とのどちらか一方だけが言語化部107に入力されてもよい。分析装置入力情報111と分析装置出力情報112とのどちらか一方だけが言語化部107に入力された場合、言語化部107は、一方の内容を自然言語文に変換して、そのまま解析対象文書116とする。
ステップS12において、選別部108は、情報システム自動分析装置の分析対象のシステム仕様書117と言語化部107が生成した解析対象文書116とを受け取る。その後、選別部108は、システム仕様書117と解析対象文書116とのそれぞれで、頻出する単語のリストを作成し、その共通単語を特定することで、頻出共通単語リスト120を生成する。
システム仕様書117は、一般的なシステム開発工程において作成される、企画書、設計仕様書、外部仕様書、内部仕様書および外内部仕様書等と呼ばれる文書である。本実施の形態が対象とする仕様書は、広義に「分析装置入力情報111を作成したユーザが、システムの情報を定義する上で参考にした文書であり、かつ分析装置入力情報111に、その文書にある同一名称の単語が使われるような文書」であれば任意である。
ステップS13において、学習部109は、選別部108によって生成された頻出共通単語リスト120と、言語化部107によって生成された解析対象文書116と、システム仕様書117とを受け取る。その後、学習部109は、頻出共通単語リスト120にあるすべての単語に対して、分布仮説に基づく意味ベクトルを計算し、各単語にラベル付けをする形で、システム仕様書117から学習した第1単語意味ベクトルリスト122と、解析対象文書116から学習した第2単語意味ベクトルリスト123とを生成する。
ステップS14において、検知部110は、学習部109によって生成された第1単語意味ベクトルリスト122および第2単語意味ベクトルリスト123を受け取る。その後、検知部110は、入力ミスの単語を、第1単語意味ベクトルリスト122を第2単語意味ベクトルリスト123へ変換する行列を計算することで特定し、入力ミス単語リスト128を出力する。
以上説明したように、本実施の形態では、言語化部107は、情報システムを分析する分析装置への入力情報である分析装置入力情報111と分析装置からの出力情報である分析装置出力情報112との少なくともいずれかを自然言語文に変換することで、解析対象文書116を生成する。解析対象文書116は、分析装置入力情報111と分析装置出力情報112との少なくともいずれかが自然言語で記述された文書である。望ましくは、言語化部107は、分析装置入力情報111を変換して得られた自然言語文と、分析装置出力情報112を変換して得られた自然言語文とを統合することで、解析対象文書116を生成する。
選別部108は、システム仕様書117と解析対象文書116とに共通して出現する単語群を選別する。システム仕様書117は、情報システムの仕様が自然言語で記述された文書である。具体的には、選別部108は、システム仕様書117と解析対象文書116とに出現する頻度が閾値を超える単語を上記単語群に属する単語として選別する。選別部108により選別された単語群は、頻出共通単語リスト120に記録される。
学習部109は、システム仕様書117と解析対象文書116とのそれぞれにおける、選別部108により選別された単語群に属する個別の単語の意味を学習する。具体的には、学習部109は、システム仕様書117における上記単語群の意味を単語別に表す第1ベクトル群と、解析対象文書116における上記単語群の意味を単語別に表す第2ベクトル群とを生成することで、システム仕様書117と解析対象文書116とのそれぞれにおける上記個別の単語の意味を学習する。学習部109により生成された第1ベクトル群は、第1単語意味ベクトルリスト122に記録される。学習部109により生成された第2ベクトル群は、第2単語意味ベクトルリスト123に記録される。
検知部110は、システム仕様書117と解析対象文書116との間における、学習部109により学習された意味の変化を検知することで、解析対象文書116に含まれる、分析装置入力情報111の入力ミスに起因する単語の誤りを特定する。具体的には、検知部110は、第1ベクトル群を第2ベクトル群に変換する行列を近似した変換行列Uを計算し、第2ベクトル群と、計算した変換行列Uを用いて第1ベクトル群を変換して得られる第3ベクトル群とを単語別に比較することで、システム仕様書117と解析対象文書116との間における上記変化を検知する。第3ベクトル群は、第3単語意味ベクトルリストに記録される。検知部110により、入力ミスに起因する誤りが特定された単語は、入力ミス単語リスト128に記録される。
図7から図10は、図6における各処理の詳細な動作を示している。図7はステップS11、図8はステップS12、図9はステップS13、図10はステップS14の詳細化である。
図7を用いて、ステップS11における、言語化部107の動作を説明する。
ステップS15にて、言語化部107は、分析装置入力情報111と分析装置出力情報112とを受け取る。
ステップS16にて、分析装置入力情報111が自然言語文に自動的に変換できるようであれば、ステップS17にて、入力情報理解部113がその変換を担う。具体的には、入力情報理解部113が、入力された分析装置入力情報111から分析対象システムに関する情報を抽出し、自然言語化する処理を行う。
分析装置入力情報111の形式が自然言語に近いものであった場合は、単純な文書加工によって、自然言語化が行われる。分析装置入力情報111の形式が自然言語から離れていた場合、例として、以下のような処理を行って、その内容が自然言語化される。
表形式であれば、表の1行ごとの情報が、パターン化された文章等で自然言語化される。このとき、表の上で関連のない単語同士が同じ文に含まれないように、表の1行ごとが独立した文章として自然言語化される。
画像形式であれば、画像認識技術等を用いることで、画像の内容が自然言語化される。このとき、自然言語化される内容は、画像中の主体と動作とについての関係を適切に説明したものであることが好ましいが、画像中の物体の名称がただ列挙されてもよい。画像が複数存在する場合は、別の画像中の物体が同じ文章に含まれないように、それぞれの画像が自然言語化され、それぞれの画像の意味が混同されないように、独立した文章として表現される。
ステップS18にて、分析装置出力情報112が自然言語文に自動的に変換できるようであれば、ステップS19にて、出力情報理解部114がその変換を行う。具体的には、出力情報理解部114が、入力された分析装置出力情報112から分析対象システムに関する情報を抽出し、自然言語化する処理を行う。
分析装置出力情報112の形式が自然言語に近いものであった場合は、単純な文書加工によって、自然言語化が行われる。分析装置出力情報112の形式が自然言語から離れていた場合、例として、以下のような処理を行って、その内容が自然言語化される。
表形式であれば、表の1行ごとの情報が、パターン化された文章等で自然言語化される。このとき、表の上で関連のない単語同士が同じ文に含まれないように、表の1行ごとが独立した文章として自然言語化される。
画像形式であれば、画像認識技術等を用いることで、画像の内容が自然言語化される。このとき、自然言語化される内容は、画像中の主体と動作とについての関係を適切に説明したものであることが好ましいが、画像中の物体の名称がただ列挙されてもよい。画像が複数存在する場合は、別の画像中の物体が同じ文章に含まれないように、それぞれの画像が自然言語化され、それぞれの画像の意味が混同されないように、独立した文章として表現される。
ステップS16およびステップS18で、分析装置入力情報111と分析装置出力情報112とが自動的に自然言語文に変換できない場合は、人手で解析対象文書116を作成してもよい。すなわち、分析装置入力情報111の自然言語化の処理については、人手で実行してもよい。同様に、分析装置出力情報112の自然言語化の処理については、人手で実行してもよい。
分析装置入力情報111と分析装置出力情報112とのどちらかの自然言語化が困難である場合は、どちらか一方の情報のみを自然言語化して、解析対象文書116を生成してもよい。しかし、その場合は、学習部109において、意味を学習する学習データが不足し、入力ミス検知精度が低下する可能性もある。そのため、分析装置入力情報111と分析装置出力情報112との両方の情報を、自然言語化することが望ましい。
ステップS16およびステップS17の処理と、ステップS18およびステップS19の処理との順番は、逆転してもよい。
ステップS20において、統合加工部115は、自然言語化した分析装置入力情報111と分析装置出力情報112とを統合し、解析対象文書116を出力する。すなわち、統合加工部115は、入力情報理解部113と出力情報理解部114とによって自然言語化された分析装置入力情報111と分析装置出力情報112とから得られる分析対象システムの情報を、1つの文書に統合した解析対象文書116を生成する。
図8を用いて、ステップS12における、選別部108の動作を説明する。
ステップS21にて、入力ミスとして検知する候補である単語のリストがすでにユーザまたは開発者によって提示され、メモリ102または補助記憶装置103に格納されている場合は、ステップS26にて、選別部108は、それを頻出共通単語リスト120として出力する。
ステップS22にて、選別部108は、システム仕様書117と解析対象文書116とを受け取る。
ステップS23にて、頻出単語抽出部118が、システム仕様書117で頻出する単語のリストを作成する。このとき、頻出単語として適切な単語は、それぞれの文書を特徴付ける単語に限り、通常の文書で頻出する普遍的な単語等は除外する。
ステップS24にて、頻出単語抽出部118が、解析対象文書116で頻出する単語のリストを作成する。このときも、頻出単語として適切な単語は、それぞれの文書を特徴付ける単語に限り、通常の文書で頻出する普遍的な単語等は除外する。
ステップS23およびステップS24の処理では、TF−IDF法を活用してもよい。
ステップS25にて、共通単語特定部119が、ステップS23およびステップS24で作成されたリストから、その共通単語を特定することで、頻出共通単語リスト120を生成する。
ステップS26にて、共通単語特定部119が、生成した頻出共通単語リスト120を出力する。
図9を用いて、ステップS13における、学習部109の動作を説明する
ステップS27にて、学習部109は、頻出共通単語リスト120、システム仕様書117および解析対象文書116を受け取る。
ステップS28およびステップS29で、意味ベクトル生成部121は、頻出共通単語リスト120にあるすべての単語に対して、分布仮説に基づく意味ベクトルを計算する。意味ベクトル生成部121は、各単語にラベル付けをする形で、システム仕様書117から学習した第1単語意味ベクトルリスト122と、解析対象文書116から学習した第2単語意味ベクトルリスト123とを生成する。第1単語意味ベクトルリスト122と第2単語意味ベクトルリスト123との次元数は必ずしも一致しなくともよい。
意味ベクトル生成部121の処理を実現するための、分布仮説に基づく意味ベクトルを与える自然言語技術としては、word2vec、Latent Semantic IndexingまたはRandom Indexing等を用いることができる。あるいは、ここに挙げたものでなくとも、分布仮説に基づく、多次元の意味の特徴量ベクトルを生成するような自然言語技術、すなわち、分散表現であれば、任意の技術を用いてよい。
本実施の形態では、単語間の相対的な意味関係の変化を、行列変換のフィッティングの整合性から検知し、入力ミス単語を特定する。したがって、意味ベクトルを与える手法としては、単語の意味ベクトル同士に、意味の加法性的な構造が生まれるword2vecを採用することが好ましい。
ステップS28の処理と、ステップS29の処理との順番は、逆転してもよい。
ステップS30において、意味ベクトル生成部121は、第1単語意味ベクトルリスト122と第2単語意味ベクトルリスト123とを出力する。
図10を用いて、ステップS14における、検知部110の動作を説明する。
ステップS31において、検知部110は、頻出共通単語リスト120、第1単語意味ベクトルリスト122および第2単語意味ベクトルリスト123を受け取る。
ステップS32において、変換行列計算部124は、第1単語意味ベクトルリスト122を第2単語意味ベクトルリスト123へ変換する最適な行列Uを求める。
ステップS33において、外れベクトル抽出部125は、第1単語意味ベクトルリスト122の行列Uの像である、第3単語意味ベクトルリストを生成する。
ステップS34において、外れベクトル抽出部125は、あらかじめ与えられた微小な正値εをもとに、第3単語意味ベクトルリストと第2単語意味ベクトルリスト123との間での距離の差がεより大きい第1単語意味ベクトルリスト122中の外れベクトルを抽出する。距離としては、ユークリッド距離のほかにも、余弦角等、多次元の実数値ベクトルを比較可能な距離であれば何を使用してもよい。厳密な距離でなく、擬距離または反距離等を使用してもよい。
ステップS35およびステップS36で、ベクトル対応単語検索部127が、外れベクトルをラベルとして持つ単語を特定し、入力ミス単語リスト128として出力する。
ステップS37にて、入力ミス単語リスト128に含まれる単語数が余りに多かった場合には、入力ミスは低い確率で発生するという仮定の下、ステップS38で、外れ値調整部126がεの値を調節する。そして、再度、ステップS34からステップS36の処理が繰り返されて、適切な単語数の入力ミス単語リスト128が出力される。
***実施の形態の効果の説明***
本実施の形態では、システム仕様書117と解析対象文書116とに共通して出現する単語群に属する個別の単語の意味が学習される。そして、システム仕様書117と解析対象文書116との間における、学習された意味の変化を検知することで、解析対象文書116に含まれる、分析装置入力情報111の入力ミスに起因する単語の誤りが特定される。そのため、本実施の形態によれば、分析装置入力情報111の形式に依存せず、入力ミス検知ルールが必要のない入力ミス検知手法を提供することができる。
本実施の形態では、言語化部107は、情報システム自動分析装置の入力情報および出力情報の内容を自然言語文に変換し統合することで、入力ミスを検知するための解析対象文書116を生成する。選別部108は、分析対象のシステム仕様書117と解析対象文書116との頻出共通単語群を選別する。学習部109は、頻出共通単語群に属するすべての単語について、システム仕様書117と解析対象文書116とでそれぞれの分布仮説に基づく意味を学習する。検知部110は、入力ミスによって発生した意味の変化を検知し、頻出共通単語群の中から入力ミスと考えられる単語を特定する。
本実施の形態によれば、情報システム自動分析装置の入力情報上に存在する入力ミスを特定し、自動でユーザに入力ミスと考えられる単語のリストをフィードバックすることができる。従来の入力ミス検知手法とは異なり、「どのような状態が入力ミスなのか?」という入力ミス検知用のルールを開発者が用意する必要がなく、情報システム自動分析装置の入力インタフェースの開発コストを低減させることができる。また、入力ミスを含んだまま分析が行われる機会が減少することで、不正な分析結果による、システム開発上の手戻りおよび不具合が減ることも期待できる。
加えて、本実施の形態における、入力ミスの存在を、入力情報の内容を一旦、すべて自然言語文に変換して、単語の意味変化という観点から検知するという特徴は、分析装置の入力情報の形式が、数値、画像および文書等、様々な形式であっても入力ミスを検知できるという効果も奏する。
このように、本実施の形態では、情報システムの状態を評価するための情報システム自動分析装置への入力情報を、ユーザが手動で作成した場合に発生し得る入力ミスを、自動的に検知することができる。検知した入力ミスはユーザへフィードバックされる。入力ミスの検知は、入力情報を一旦、等価な内容の自然言語文に変換することで、分析対象システムの仕様書上の食い違い、すなわち、単語の意味変化が発生していないか、を分布仮説に基づく自然言語処理技術を応用することで実行する。本実施の形態の効果によって、入力ミスを検知するためにルールを開発するコストが低減されるほか、ユーザの正確な入力情報の作成支援を行うことができる。
***他の構成***
本実施の形態では、言語化部107、選別部108、学習部109および検知部110の機能がソフトウェアにより実現されるが、別の変形例として、言語化部107、選別部108、学習部109および検知部110の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、言語化部107、選別部108、学習部109および検知部110の機能の一部が専用のハードウェアにより実現され、残りがソフトウェアにより実現されてもよい。
専用のハードウェアは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、FPGA、ASIC、またはこれらのうちいくつかもしくはすべての組み合わせである。「IC」は、Integrated Circuitの略語である。「GA」は、Gate Arrayの略語である。「FPGA」は、Field−Programmable Gate Arrayの略語である。「ASIC」は、Application Specific Integrated Circuitの略語である。
プロセッサ101および専用のハードウェアは、いずれも処理回路である。すなわち、言語化部107、選別部108、学習部109および検知部110の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、言語化部107、選別部108、学習部109および検知部110の動作は、処理回路により行われる。
100 入力ミス検知装置、101 プロセッサ、102 メモリ、103 補助記憶装置、104 通信デバイス、105 入力機器、106 ディスプレイ、107 言語化部、108 選別部、109 学習部、110 検知部、111 分析装置入力情報、112 分析装置出力情報、113 入力情報理解部、114 出力情報理解部、115 統合加工部、116 解析対象文書、117 システム仕様書、118 頻出単語抽出部、119 共通単語特定部、120 頻出共通単語リスト、121 意味ベクトル生成部、122 第1単語意味ベクトルリスト、123 第2単語意味ベクトルリスト、124 変換行列計算部、125 外れベクトル抽出部、126 外れ値調整部、127 ベクトル対応単語検索部、128 入力ミス単語リスト。

Claims (7)

  1. 情報システムの仕様が自然言語で記述されたシステム仕様書と、前記情報システムを分析する分析装置への入力情報と前記分析装置からの出力情報との少なくともいずれかが自然言語で記述された解析対象文書とに共通して出現する単語群を選別する選別部と、
    前記システム仕様書と前記解析対象文書とのそれぞれにおける、前記選別部により選別された単語群に属する個別の単語の意味を学習する学習部と、
    前記システム仕様書と前記解析対象文書との間における、前記学習部により学習された意味の変化を検知することで、前記解析対象文書に含まれる、前記入力情報の入力ミスに起因する単語の誤りを特定する検知部と
    を備える入力ミス検知装置。
  2. 前記学習部は、前記システム仕様書における前記単語群の意味を単語別に表す第1ベクトル群と、前記解析対象文書における前記単語群の意味を単語別に表す第2ベクトル群とを生成することで、前記システム仕様書と前記解析対象文書とのそれぞれにおける前記個別の単語の意味を学習し、
    前記検知部は、前記第1ベクトル群を前記第2ベクトル群に変換する行列を近似した変換行列を計算し、前記第2ベクトル群と、計算した変換行列を用いて前記第1ベクトル群を変換して得られる第3ベクトル群とを単語別に比較することで、前記システム仕様書と前記解析対象文書との間における前記変化を検知する請求項1に記載の入力ミス検知装置。
  3. 前記入力情報と前記出力情報との少なくともいずれかを自然言語文に変換することで、前記解析対象文書を生成する言語化部をさらに備える請求項1または2に記載の入力ミス検知装置。
  4. 前記言語化部は、前記入力情報を変換して得られた自然言語文と、前記出力情報を変換して得られた自然言語文とを統合することで、前記解析対象文書を生成する請求項3に記載の入力ミス検知装置。
  5. 前記選別部は、前記システム仕様書と前記解析対象文書とに出現する頻度が閾値を超える単語を前記単語群に属する単語として選別する請求項1から4のいずれか1項に記載の入力ミス検知装置。
  6. 選別部が、情報システムの仕様が自然言語で記述されたシステム仕様書と、前記情報システムを分析する分析装置への入力情報と前記分析装置からの出力情報との少なくともいずれかが自然言語で記述された解析対象文書とに共通して出現する単語群を選別し、
    学習部が、前記システム仕様書と前記解析対象文書とのそれぞれにおける、前記選別部により選別された単語群に属する個別の単語の意味を学習し、
    検知部が、前記システム仕様書と前記解析対象文書との間における、前記学習部により学習された意味の変化を検知することで、前記解析対象文書に含まれる、前記入力情報の入力ミスに起因する単語の誤りを特定する入力ミス検知方法。
  7. コンピュータに、
    情報システムの仕様が自然言語で記述されたシステム仕様書と、前記情報システムを分析する分析装置への入力情報と前記分析装置からの出力情報との少なくともいずれかが自然言語で記述された解析対象文書とに共通して出現する単語群を選別する選別処理と、
    前記システム仕様書と前記解析対象文書とのそれぞれにおける、前記選別処理により選別された単語群に属する個別の単語の意味を学習する学習処理と、
    前記システム仕様書と前記解析対象文書との間における、前記学習処理により学習された意味の変化を検知することで、前記解析対象文書に含まれる、前記入力情報の入力ミスに起因する単語の誤りを特定する検知処理と
    を実行させる入力ミス検知プログラム。
JP2020520987A 2018-05-25 2018-05-25 入力ミス検知装置、入力ミス検知方法および入力ミス検知プログラム Active JP6837604B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/020172 WO2019225007A1 (ja) 2018-05-25 2018-05-25 入力ミス検知装置、入力ミス検知方法および入力ミス検知プログラム

Publications (2)

Publication Number Publication Date
JPWO2019225007A1 true JPWO2019225007A1 (ja) 2020-09-17
JP6837604B2 JP6837604B2 (ja) 2021-03-03

Family

ID=68617256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020520987A Active JP6837604B2 (ja) 2018-05-25 2018-05-25 入力ミス検知装置、入力ミス検知方法および入力ミス検知プログラム

Country Status (4)

Country Link
US (1) US20210049322A1 (ja)
JP (1) JP6837604B2 (ja)
CN (1) CN112136136A (ja)
WO (1) WO2019225007A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112149680B (zh) * 2020-09-28 2024-01-16 武汉悦学帮网络技术有限公司 错字检测识别方法、装置、电子设备及存储介质
CN113822338B (zh) * 2021-08-23 2024-05-14 北京亚鸿世纪科技发展有限公司 面向自然语言处理的数据投毒防御方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259246A (ja) * 1993-03-09 1994-09-16 Hitachi Ltd プログラム検証方法とその装置
JP2018136585A (ja) * 2015-05-26 2018-08-30 株式会社日立製作所 エンジニアリングドキュメントからの知識抽出方法および装置

Also Published As

Publication number Publication date
WO2019225007A1 (ja) 2019-11-28
US20210049322A1 (en) 2021-02-18
JP6837604B2 (ja) 2021-03-03
CN112136136A (zh) 2020-12-25

Similar Documents

Publication Publication Date Title
US11308278B2 (en) Predicting style breaches within textual content
US11373041B2 (en) Text classification using models with complementary granularity and accuracy
US11194963B1 (en) Auditing citations in a textual document
WO2011146934A2 (en) Apparatus, system, and method for computer aided translation
US11462039B2 (en) Method, device, and storage medium for obtaining document layout
US20210397787A1 (en) Domain-specific grammar correction system, server and method for academic text
US11941361B2 (en) Automatically identifying multi-word expressions
US20230336532A1 (en) Privacy Preserving Document Analysis
JP7155625B2 (ja) 検査装置、検査方法、プログラム及び学習装置
US20210049322A1 (en) Input error detection device, input error detection method, and computer readable medium
Huo et al. ARCLIN: automated API mention resolution for unformatted texts
Li et al. BERT is not the count: Learning to match mathematical statements with proofs
CN104123275A (zh) 翻译验证
Picco et al. Zshot: An open-source framework for zero-shot named entity recognition and relation extraction
Ou et al. Automatic negation detection in narrative pathology reports
US11675980B2 (en) Bias identification and correction in text documents
KR102467096B1 (ko) 논문 메타데이터 영역 분류 모델을 학습하기 위한 데이터셋의 검수 방법 및 장치
Dalal et al. Evaluating sequence-to-sequence learning models for if-then program synthesis
JP6357912B2 (ja) 用語集作成支援システムおよび方法、プログラム
Langlais et al. Issues in analogical inference over sequences of symbols: A case study on proper name transliteration
WO2022123716A1 (ja) 述語項構造修正プログラム、述語項構造修正方法、および情報処理装置
EP4398156A1 (en) Artificial intelligence explainability for intent classification
Nguyen et al. Learning Reading Order via Document Layout with Layout2Pos
Ogrodniczuk Fine-Tuning OCR Error Detection and Correction in a Polish Corpus of Scientific Abstracts
Fedotov et al. Methods for Identifying Semantic and Hidden Relations in User Data for the Octoshell HPC Center Management System

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200611

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200611

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201102

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: 20210112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210209

R150 Certificate of patent or registration of utility model

Ref document number: 6837604

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250