(57)【要約】      （修正有）【課題】ソフトウェア開発過程における、タグ付与箇所を精度よく学習できる。【解決手段】抽出装置１０は、自然言語で記載されたデータであって重要な記載部分に予めタグが付与されている教師データＤｅについて、タグとの関連度合いを示す自己相互情報量を単語ごとに計算し、各単語の自己相互情報量を基に、タグとの関連性が低い記載部分を教師データＤｅから削除する前処理を行う前処理部１４１と、前処理後の教師データを学習し、タグが付与される記載箇所に関する条件付き確率の一覧を生成する学習部１４２と、を有することを特徴とする。【選択図】図２
2020046907.tif 000002
【特許請求の範囲】
【請求項１】
自然言語で記載されたデータであって重要な記載部分に予めタグが付与されている教師データについて、前記タグとの関連度合いを示す自己相互情報量を単語ごとに計算し、各単語の前記自己相互情報量を基に、前記タグとの関連性が低い記載部分を前記教師データから削除する前処理を行う前処理部と、
前記前処理後の教師データを学習し、前記タグが付与される記載箇所に関する条件付き確率の一覧を生成する学習部と、
を有することを特徴とする学習装置。
【請求項２】
前記前処理部は、前記前処理として、前記自己相互情報量が所定の閾値より低い単語を、前記教師データから削除することを特徴とする請求項１に記載の学習装置。
【請求項３】
前記前処理部は、前記前処理として、前記自己相互情報量が所定の閾値より高い名詞を含まない文を、前記教師データから削除することを特徴とする請求項１に記載の学習装置。
【請求項４】
前記前処理部は、前記前処理として、前記自己相互情報量が所定の閾値より高い名詞を含む文であって、動詞を含まない文を、前記教師データから削除することを特徴とする請求項１に記載の学習装置。
【請求項５】
自然言語で記載されたデータであって重要な記載部分に予めタグが付与されている教師データについて、前記タグとの関連度合いを示す自己相互情報量を単語ごとに計算し、各単語の前記自己相互情報量を基に、前記タグとの関連性が低い記載部分を前記教師データから削除する前処理を行う前処理部と、
前記前処理後の教師データを学習し、前記タグが付与される記載箇所に関する条件付き確率の一覧を生成する学習部と、
前記条件付き確率一覧を基に、試験データの記載内容に対してタグを付与するタグ付与部と、
前記タグが付与された試験データの記載内容から試験項目を抽出する抽出部と、
を有することを特徴とする抽出装置。
【請求項６】
学習装置が実行する学習方法であって、
自然言語で記載されたデータであって重要な記載部分に予めタグが付与されている教師データについて、前記タグとの関連度合いを示す自己相互情報量を単語ごとに計算し、各単語の前記自己相互情報量を基に、前記タグとの関連性が低い記載部分を前記教師データから削除する前処理を行う前処理工程と、
前記前処理後の教師データを学習し、前記タグが付与される記載箇所に関する条件付き確率の一覧を生成する学習工程と、
を含んだことを特徴とする学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、抽出装置及び学習方法に関する。
【背景技術】
【０００２】
従来、ソフトウェア開発過程においては、方式検討／基本設計、機能設計、および詳細設計において生成される設計書等を基に、単体試験、結合試験、および複数複合試験／安定化試験における試験項目が、有スキル者により手動で抽出されていた。これに対し、自然言語で記載されることが多い設計書から、試験工程の試験項目を自動的に抽出する抽出方法が提案されている（特許文献１参照）。
【０００３】
この抽出方法では、自然言語で記載された設計書の重要な記載部分にタグが付与された教師データを用意し、機械学習ロジック（例えば、ＣＲＦ（Conditional  Random  Fields））でタグが付与される記載箇所の傾向を学習させる。そして、この抽出方法では、学習結果を基に、機械学習ロジックで、新たな設計書にタグを付与してから、このタグが付与された設計書から機械的に試験項目を抽出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−０１８３７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の抽出方法では、関連する自然言語文書をできるだけ多く用意し、教師データを増やすことによって、試験項目を抽出するための機械学習の精度を上げようとしていた。しかしながら、教師データには、タグが付与される記載箇所以外にも、タグと無関係である記載箇所が含まれている。このため、従来の抽出方法では、教師データの学習時に、タグと無関係である記載箇所の確率計算も反映されるため、機械学習の精度改善にも限界があった。この結果、従来の抽出方法では、ソフトウェア開発過程において、設計書等の試験データから、精度よく試験項目を抽出することが難しい場合があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、ソフトウェア開発過程における、タグ付与箇所を精度よく学習できる学習装置、抽出装置及び学習方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係る学習装置は、自然言語で記載されたデータであって重要な記載部分に予めタグが付与されている教師データについて、タグとの関連度合いを示す自己相互情報量を単語ごとに計算し、各単語の自己相互情報量を基に、タグとの関連性が低い記載部分を教師データから削除する前処理を行う前処理部と、前処理後の教師データを学習し、タグが付与される記載箇所に関する条件付き確率の一覧を生成する学習部と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ソフトウェア開発過程における、タグ付与箇所を精度よく学習できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態に係る抽出装置の処理の概要を例示する模式図である。
【図２】図２は、実施の形態に係る抽出装置の構成の一例を説明する図である。
【図３】図３は、図２に示す学習部の処理を説明する図である。
【図４】図４は、図２に示すタグ付与部の処理を説明する図である。
【図５】図５は、図２が示す抽出装置が行なう学習処理を説明する図である。
【図６】図６は、前処理前後の教師データについて説明する図である。
【図７】図７は、図２が示す抽出装置が行なう学習処理を説明する図である。
【図８】図８は、図２に示す削除部の処理を説明する図である。
【図９】図９は、図２に示す削除部の処理を説明する図である。
【図１０】図１０は、図２に示す削除部の処理を説明する図である。
【図１１】図１１は、図２が示す抽出装置が行なう学習処理の処理手順を示すフローチャートである。
【図１２】図１２は、図１１に示す前処理の処理手順を示すフローチャートである。
【図１３】図１３は、図２が示す抽出装置１０が行なう試験処理の処理手順を示すフローチャートである。
【図１４】図１４は、教師データの記載内容を説明する図である。
【図１５】図１５は、プログラムが実行されることにより、抽出装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１１】
［実施の形態］
実施の形態に係る抽出装置について、抽出装置の概略構成、及び、抽出装置における処理の流れ及び具体例を説明する。
【００１２】
図１は、実施の形態に係る抽出装置の処理の概要を例示する模式図である。図１に例示するように、実施の形態に係る抽出装置１０は、ソフトウェア開発過程において、試験データＤａの記載内容から、試験の試験項目データＤｉを抽出して、出力する。試験データＤａは、方式検討／基本設計、機能設計、および詳細設計において生成される仕様書や設計書等である。そして、抽出装置１０が抽出した試験項目にしたがって、単体試験、結合試験、および複数複合試験／安定化試験等の試験が実施される。
【００１３】
［抽出装置の概要］
次に、抽出装置１０の構成について説明する。図２は、実施の形態に係る抽出装置の構成の一例を説明する図である。抽出装置１０は、例えば、パソコン等の汎用コンピュータで実現され、図２に示すように、入力部１１、通信部１２、記憶部１３、制御部１４及び出力部１５を有する。
【００１４】
入力部１１は、抽出装置１０の操作者からの各種操作を受け付ける入力インタフェースである。例えば、入力部１１は、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイスによって構成される。
【００１５】
通信部１２は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部１２は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介した他の装置と制御部１４（後述）との間の通信を行う。例えば、通信部１２は、自然言語で記載されたデータ（例えば、設計書）であって重要な記載部分にタグが付与された教師データＤｅを、制御部１４に入力する。また、通信部１２は、試験項目の抽出対象である試験データＤａを制御部１４に入力する。
【００１６】
なお、タグは、例えば、Agent（Target  system）、Input（input  information）、Input  condition（complementary  information）、Condition（Condition  information  of  system）、Output（output  information）、Output  condition（complementary  information）、Check  point（check  point）である。
【００１７】
記憶部１３は、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、光ディスク等の記憶装置である。なお、記憶部１３は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）等のデータを書き換え可能な半導体メモリであってもよい。記憶部１３は、抽出装置１０で実行されるＯＳ（Operating  System）や各種プログラムを記憶する。さらに、記憶部１３は、プログラムの実行で用いられる各種情報を記憶する。記憶部１３は、タグが付与される記載箇所に関する条件付き確率一覧１３１を有する。条件付き確率一覧１３１は、各単語の前後関係や各文脈に対し、付与されるタグの種別と付与される確率とを対応付けたものである。条件付き確率一覧１３１は、学習部１４２（後述）によって、教師データを基にタグが存在する記載箇所を確率統計的に学習されることによって生成される。
【００１８】
制御部１４は、抽出装置１０全体を制御する。制御部１４は、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路である。また、制御部１４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部１４は、各種のプログラムが動作することにより各種の処理部として機能する。制御部１４は、前処理部１４１、学習部１４２、タグ付与部１４３及び試験項目抽出部１４４（抽出部）を有する。
【００１９】
前処理部１４１は、入力された教師データＤｅから、タグとの関連性が低い記載部分を教師データＤｅから削除する前処理を行う。前処理部１４１は、教師データＤｅにおける各単語の自己相互情報量（Pointwise  Mutual  Information：ＰＭＩ）を基に、タグとの関連性が低い記載部分を教師データＤｅから削除する。前処理部１４１は、自己相互情報量計算部１４１１及び削除部１４１２を有する。
【００２０】
自己相互情報量計算部１４１１は、教師データＤｅについてタグとの関連度合いを示すＰＭＩを単語ごとに計算する。削除部１４１２は、自己相互情報量計算部１４１１が計算した各単語のＰＭＩを基に、タグとの関連性が低い記載部分を求めて教師データＤｅから削除する。
【００２１】
学習部１４２は、前処理後の教師データを学習し、タグが付与される記載箇所に関する条件付き確率一覧を生成する。図３は、図２に示す学習部１４２の処理を説明する図である。図３に示すように、学習部１４２は、前処理済みの教師データＤｐを用いる。この前処理済みの教師データＤｐは、学習に不要である記載箇所が削除されており、重要箇所にはタグが付されている。学習部１４２は、この前処理済みの教師データＤｐの、タグの位置・種別、前後の単語、文脈等を基に、タグが存在する箇所を確率統計的に計算し学習結果である条件付き確率一覧１３１を出力する（図３の（１）参照）。学習部１４２は、例えばＣＲＦ等の機械学習ロジックを用いて学習を行う。条件付き確率一覧１３１は、記憶部１３に格納される。
【００２２】
タグ付与部１４３は、条件付き確率一覧１３１を基に、試験データの記載内容に対してタグを付与する。図４は、図２に示すタグ付与部１４３の処理を説明する図である。図４に示すように、タグ付与部１４３は、条件付き確率一覧１３１（教師データのタグ付け傾向）を基に、試験データＤａに対してタグ付け処理を行う（図４の（１）参照）。タグ付与部１４３は、例えばＣＲＦ等の機械学習ロジックを用いてタグ付与処理を行う。タグ付与部１４３は、タグ付与を付与した試験データＤｔを生成する。
【００２３】
試験項目抽出部１４４は、タグが付与された試験データの記載内容から、機械的に試験項目を抽出する。
【００２４】
出力部１５は、例えば、液晶ディスプレイなどの表示装置、プリンタ等の印刷装置、情報通信装置等によって実現される。出力部１５は、試験項目抽出部１４４が試験データＤａから抽出した試験項目を示す試験項目データＤｉを試験装置等に出力する。
【００２５】
［学習処理の流れ］
次に、抽出装置１０が行う処理のうち学習処理について説明する。図５は、図２が示す抽出装置１０が行なう学習処理を説明する図である。
【００２６】
まず、抽出装置１０は、図５に示すように、タグが付与された教師データＤｅの入力を受け付けると、前処理部１４１が、教師データＤｅから、タグとの関連性が低い記載部分を教師データＤｅから削除する前処理を行う（図５の（１）参照）。そして、学習部１４２は、前処理後の教師データＤｐを、機械学習ロジックを用いて学習する学習処理を行い（図５の（２）参照）、条件付き確率一覧を生成する（図５の（３）参照）。
【００２７】
図６は、前処理前後の教師データについて説明する図である。図６に示すように、入力された教師データＤｅには、タグ付与のための確率計算に不要な情報が混入していたが（図６の（１）参照）、前処理部１４１が、タグとの関連性が低い記載部分を削除する前処理を行う（図６の（２）参照）。
【００２８】
このため、学習部１４２は、確率計算に悪影響を及ぼす部分を除外された教師データＤｐを用いて学習を行うため、タグと関連性が高い記載箇所のみを反映した確率計算を行うことができる。この結果、抽出装置１０は、教師データＤｅをそのまま学習する場合と比して、機械学習の精度を改善することができ、高精度の条件付き確率一覧１３１を生成することができる。
【００２９】
［試験フェーズ］
次に、抽出装置１０が行う処理のうち試験処理について説明する。図７は、図２が示す抽出装置が行なう試験処理を説明する図である。
【００３０】
図７に示すように、抽出装置１０では、試験項目の抽出対象である試験データＤａが入力されると、タグ付与部１４３が、条件付き確率一覧１３１を基に、試験データの記載内容に対してタグを付与するタグ付与処理を行う（図７の（１）参照）。抽出装置１０は、試験項目抽出部１４４が、タグが付与された試験データＤｔの記載内容から、機械的に試験項目を抽出する試験項目抽出処理を行い（図７の（２）参照）、試験項目データＤｉを生成する。
【００３１】
［自己相互情報量計算部の処理］
次に、自己相互情報量計算部１４１１の処理について説明する。自己相互情報量計算部１４１１は、以下の（１）式を用いて自己相互情報量ＰＭＩ（ｘ、ｙ）を計算する。
【００３２】
【数１】
2020046907.tif 000003
【００３３】
（１）式の右辺における第一項「−ｌｏｇＰ（ｙ）」は、任意の単語ｙが文章中で発生する情報量である。なお、Ｐ（ｙ）は、任意の単語ｙが文書内で発生する確率である。また、（１）式の右辺における第二項「−ｌｏｇＰ（ｙ｜ｘ）」は、前提事象ｘと単語ｙが共起する情報量である。なお、Ｐ（ｙ｜ｘ）は、タグ内に任意の単語yが発生する確率である。ＰＭＩ（ｘ、ｙ）が大きい単語は、タグとの関連度合いが高いと言える。削除部１４１２は、各単語のＰＭＩ（ｘ、ｙ）を基に、タグとの関連性が低い記載部分を求める。
【００３４】
次に、自己相互情報量ＰＭＩ（ｘ、ｙ）の計算手順について説明する。自己相互情報量計算部１４１１は、（１）式のうち、Ｐ（ｙ）及びＰ（ｙ｜ｘ）を教師データＤｅの文書中から抽出する必要がある。
【００３５】
まず、自己相互情報量計算部１４１１による、単語ｙの出現確率Ｐ（ｙ）の計算処理について説明する。自己相互情報量計算部１４１１は、第１の処理として、文書内の単語ののべ数Ｘをカウントする。カウントの１例としては、文書を形態素解析したテキストＡを用意し、自己相互情報量計算部１４１１は、テキストＡから単語数Ｘをカウントする。
【００３６】
続いて、自己相互情報量計算部１４１１は、第２の処理として、文書内の単語ｙの出現数Ｙをカウントする。カウントの一例としては、単語ｙに対してテキストＡ内での出現数Ｙをカウントする。
【００３７】
そして、自己相互情報量計算部１４１１は、第３の処理として、第１の処理及び第２の処理において得られた数から、（２）式を用いて、Ｐ（ｙ）を計算する。
【００３８】
【数２】
2020046907.tif 000004
【００３９】
続いて、自己相互情報量計算部１４１１は、単語ｙの出現確率Ｐ（ｙ｜ｘ）の計算処理について説明する。自己相互情報量計算部１４１１は、第４の処理として、タグ内ｘの単語ｙの出現数Ｚをカウントする。カウントの一例として、テキストＡとテキストＡからタグがついた行だけ抜き出したテキストＢを用意する。そして、自己相互情報量計算部１４１１は、テキストＢの単語数Ｗをカウントする。続いて、自己相互情報量計算部１４１１は、テキストＡ内の単語ｙに対してテキストＢ内での出現数Ｚをカウントする。
【００４０】
そして、ここで、条件付き確率Ｐ（ｙ｜ｘ）は、（３）式のように示される。
【００４１】
【数３】
2020046907.tif 000005
【００４２】
そして、（３）式におけるＰ（ｘ）は（４）式によって示され、Ｐ（ｙ∩ｘ）は（５）式によって示される。
【００４３】
【数４】
2020046907.tif 000006
【数５】
2020046907.tif 000007
【００４４】
したがって、（３）式は、（６）式のように示される。
【００４５】
【数６】
2020046907.tif 000008
【００４６】
自己相互情報量計算部１４１１は、第５の処理として、カウントしてＸ，Ｙを（２）式に適用して求めた単語ｙの出現確率Ｐ（ｙ）と、カウントしたＷ，Ｚを（６）式に適用して求めた条件付き確率Ｐ（ｙ｜ｘ）とを、（１）式に適用して、自己相互情報量ＰＭＩ（ｘ，ｙ）を求める。
【００４７】
［削除部の処理］
次に、削除部１４１２の処理について説明する。削除部１４１２は、自己相互情報量計算部１４１１が計算した各単語のＰＭＩを基に、タグとの関連性が低い記載部分を求めて教師データＤｅから削除する。図８〜図１０は、図２に示す削除部１４１２の処理を説明する図である。
【００４８】
具体的には、削除部１４１２は、自己相互情報量計算部１４１１が計算したＰＭＩが所定の閾値より低い単語を、教師データから削除する。例えば、自己相互情報量計算部１４１１がＰＭＩを教師データＤｅの各単語について計算すると（図８の（１）参照）、削除部１４１２は、各単語について、ＰＭＩの値が、予め設定された閾値よりも低い場合に、この単語を削除対象として教師データＤｅ１から削除する（図８の（２）参照）。そして、削除部１４１２は、閾値を変えて（図８の（３）参照）、各単語について削除対象か否かを判定し、削除対象の単語を削除する。
【００４９】
図８に示す教師データＤｅ１の場合、各箱は単語をイメージしており、黒抜きである場合には、この単語のＰＭＩの値が閾値以上であり、白抜きである場合には、この単語のＰＭＩの値が閾値未満であるとする。削除部１４１２は、教師データＤｅ１の各単語のうち、白抜き部分の単語を、教師データＤｅ１から削除する。
【００５０】
また、削除部１４１２は、自己相互情報量計算部１４１１が計算したＰＭＩと、文内の所定の品詞のＰＭＩとを基に、文単位で削除するか否かを判定する。具体的には、削除部１４１２は、自己相互情報量計算部１４１１が計算したＰＭＩが所定の閾値より高い名詞を含まない文を、教師データから削除する。
【００５１】
教師データＤｅ内には、ＰＭＩが高い単語と低い単語とが混在する。また、教師データＤｅ内には、「です」、「ます」等のような各文で共通的な語と、専門用語とが含まれる場合がある。そこで、削除部１４１２は、ＰＭＩが所定の閾値より高い名詞を専門用語として考え、ＰＭＩが所定の閾値より高い名詞を含まない文を、タグとは関連性のない文と判定し、この文を削除する。
【００５２】
例えば、図９に示す教師データＤｅ２の場合、枠Ｗ１〜Ｗ４内の単語ｙのＰＭＩが閾値より高い場合であっても、文内のその他の名詞のＰＭＩが閾値よりも低い場合には、この文を削除する（図９の（１）参照）。例えば、削除部１４１２は、枠Ｗ１の単語のＰＭＩが閾値より高い場合であっても、同じ文の中のその他の名詞のＰＭＩが閾値よりも低い場合には、この枠Ｗ１の単語を含む文そのものを削除する。
【００５３】
また、削除部１４１２は、自己相互情報量計算部１４１１が計算したＰＭＩと、文内の動詞の有無とを基に、文単位で削除するか否かを判定する。具体的には、削除部１４１２は、自己相互情報量計算部１４１１が計算したＰＭＩが所定の閾値より高い名詞を含む文であって、動詞を含まない文を、教師データから削除する。
【００５４】
教師データＤｅ内の目次や表題などには、ＰＭＩが高い単語と低い単語が混在する。仮に、目次、表題、章節冒頭文句にＰＭＩの高い単語があった場合であっても、該当行に動詞がない場合には、試験項目にも該当しないといえる。このため、削除部１４１２は、自己相互情報量計算部１４１１が計算したＰＭＩが所定の閾値より高い名詞を含む文であって、動詞を含まない文を、タグ付け対象外の記載部分と判定して、教師データから削除する。削除部１４１２は、ＰＭＩが低い単語のみを含む行も削除する。目次などにはタグと関連性の高い単語が入る可能性が高いものの、本来の文脈の中でのＣＲＦの確率計算に影響を与えると考えられるため、このような文を削除して、ＣＲＦ等の機会学習ロジックの精度への影響を排除する。
【００５５】
図１０の教師データＤｅ３の場合、削除部１４１２は、枠Ｗ１１〜Ｗ１２の単語ｙのＰＭＩが閾値よりも高い場合であっても、同じ行内に動詞がない場合には、タグ付け対象外の記載個所と判定して、削除する（図１０の（１）参照）。例えば、削除部１４１２は、枠Ｗ１１の単語のＰＭＩが閾値より高い場合であっても、同じ文の中に動詞がない場合には、この枠Ｗ１１の単語を含む文そのものを削除する。なお、各行の認識のために、Ｍｅｃａｂで形態素解析を行った後に、テキストファイル上で確認できるＥＯＳ（End  Of  String）等を用いればよい。
【００５６】
［学習処理の処理手順］
次に、抽出装置１０が行う処理のうち学習処理の処理手順について説明する。図１１は、図２が示す抽出装置１０が行なう学習処理の処理手順を示すフローチャートである。
【００５７】
図１１に示すように、抽出装置１０では、タグが付与された教師データＤｅの入力を受け付けると（ステップＳ１）、前処理部１４１が、教師データＤｅから、タグとの関連性が低い記載部分を教師データＤｅから削除する前処理を行う（ステップＳ２）。そして、学習部１４２は、前処理後の教師データを、機械学習ロジックを用いて学習する学習処理を行い（ステップＳ３）、条件付き確率一覧を生成して、記憶部１３に格納する。
【００５８】
［前処理の処理手順］
図１１の前処理（ステップＳ２）の処理手順について説明する。図１２は、図１１に示す前処理の処理手順を示すフローチャートである。
【００５９】
図１２に示すように、前処理部１４１では、自己相互情報量計算部１４１１が、入力された教師データＤｅについて、ＰＭＩを単語ごとに計算する自己相互情報量計算処理を行う（ステップＳ１１）。削除部１４１２は、ＰＭＩ計算部１４１１が計算した各単語のＰＭＩを基に、タグとの関連性が低い記載部分を求めて、教師データＤｅから削除する削除処理を行う（ステップＳ１２）。
【００６０】
［試験処理の処理手順］
次に、抽出装置１０が行う処理のうち試験処理の処理手順について説明する。図１３は、図２が示す抽出装置１０が行なう試験処理の処理手順を示すフローチャートである。
【００６１】
図１３に示すように、抽出装置１０では、試験項目の抽出対象である試験データＤａが入力される（ステップＳ２１）と、タグ付与部１４３が、条件付き確率一覧１３１を基に、試験データの記載内容に対してタグを付与するタグ付与処理を行う（ステップＳ２２）。続いて、試験項目抽出部１４４が、タグが付与された試験データＤｔの記載内容から、機械的に試験項目を抽出する試験項目抽出処理を行い（ステップＳ２３）、出力部１５は、試験項目データＤｉを出力する（ステップＳ２４）。
【００６２】
［実施の形態の効果］
図１４は、教師データの記載内容を説明する図である。教師データＤｅのうち、タグが付与される可能性のある部分Ｒｅ−１，Ｒｅ−２だけが機械学習に必要であるが、タグと無関係の部分Ｒｄ−１，Ｒｄ−２が含まれている（図１４の（１）参照）。このように、教師データＤｅには、タグと無関係の部分Ｒｄ−１，Ｒｄ−２が含まれるため、従来の抽出方法では、機械学習に影響を与えていた。実際に、ソフトウェア開発において有スキル者が手動で抽出した試験項目と、従来の自動抽出方法で抽出した試験項目とでは誤りが多く存在していた。
【００６３】
これに対し、本実施の形態に係る抽出装置１０では、学習前に、教師データＤｅについて、タグとの関連性が低い記載部分を教師データＤｅから削除する前処理を行っている。そして、学習部１４２は、確率計算に悪影響を及ぼす部分を除外された教師データＤｐを用いて学習を行うため、タグと関連性が高い記載箇所のみを反映した確率計算を行うことができる。
【００６４】
また、抽出装置１０では、前処理として、教師データＤｅについてタグとの関連度合いを示すＰＭＩを単語ごとに計算し、各単語のＰＭＩを基に、タグとの関連性が低い記載部分を求めて教師データＤｅから削除する。このように、抽出装置１０では、タグと単語との関連度合いを定量的に評価し、関連度合いのみを残した教師データを適切に生成している。
【００６５】
抽出装置１０は、この前処理後の教師データを学習することによって、教師データＤｅをそのまま学習する場合と比して、機械学習の精度を改善することができ、高精度の条件付き確率一覧１３１を生成することができる。すなわち、抽出装置１０は、ソフトウェア開発過程における、タグ付与箇所を精度よく学習でき、これにともない、設計書等の試験データから、精度よく試験項目を抽出することが可能になる。
【００６６】
［システム構成等］
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、或いは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６７】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、或いは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６８】
［プログラム］
図１５は、プログラムが実行されることにより、抽出装置１０が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００６９】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００７０】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、抽出装置１０の各処理を規定するプログラムは、コンピュータ１０００により実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、抽出装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【００７１】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００７２】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。或いは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ、ＷＡＮ等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００７３】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等はすべて本発明の範疇に含まれる。
【符号の説明】
【００７４】
１０  抽出装置
１１  入力部
１２  通信部
１３  記憶部
１４  制御部
１５  出力部
１４１  前処理部
１４２  学習部
１４３  タグ付与部
１４４  試験項目抽出部
１４１１  自己相互情報量計算部
１４１２  削除部
Ｄｅ  教師データ
Ｄａ  試験データ
Ｄｉ  試験項目データ
【図１】
2020046907.tif 000009
【図２】
2020046907.tif 000010
【図３】
2020046907.tif 000011
【図４】
2020046907.tif 000012
【図５】
2020046907.tif 000013
【図６】
2020046907.tif 000014
【図７】
2020046907.tif 000015
【図８】
2020046907.tif 000016
【図９】
2020046907.tif 000017
【図１０】
2020046907.tif 000018
【図１１】
2020046907.tif 000019
【図１２】
2020046907.tif 000020
【図１３】
2020046907.tif 000021
【図１４】
2020046907.tif 000022
【図１５】
2020046907.tif 000023