(57)【要約】【課題】文書をベクトルで表現する際に、ストップワードの選択またはストップワードの辞書が不要となる。【解決手段】データ処理装置１０は、文書データから分解した単語のうち、選択対象の品詞の種別に対応する単語を選択する単語選択部１４３と、単語選択部１４３が選択した単語ごとに、単語の出現数または出現頻度に該単語の品詞の種別に応じた重みを用いた値を求め、求めた各値を各要素の値としたベクトルを生成する生成部１４４と、を有する。【選択図】図１
2020064470.tif 000002
【特許請求の範囲】
【請求項１】
文書データから分解した単語のうち、選択対象の品詞の種別に対応する単語を選択する選択部と、
前記選択部が選択した単語ごとに、前記単語の出現数または出現頻度に該単語の品詞の種別に応じた重みを用いた値を求め、求めた各値を各要素の値としたベクトルを生成する生成部と、
を有することを特徴とするデータ処理装置。
【請求項２】
前記選択部は、複数の種別の品詞に対応する単語を選択することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
名詞単体と、複数の名詞を複合した名詞複合語とは、異なる種別の品詞とすることを特徴とする請求項１または２に記載のデータ処理装置。
【請求項４】
学習用データから分解した単語のうち、選択対象の品詞の種別に対応する単語を選択し、選択した単語ごとに、前記単語の出現数または出現頻度に該単語の品詞の種別に応じた重みを用いた値を求め、求めた各値を各要素の値としたベクトルを生成し、生成したベクトルと前記学習用データに対応付けられた検証の要否に関する情報とを学習する学習部と、
予測対象のデータから分解した単語のうち、選択対象の品詞の種別に対応する単語を選択し、選択した単語ごとに、前記単語の出現数または出現頻度に該単語の品詞の種別に応じた重みを用いた値を求め、求めた各値を各要素の値としたベクトルを生成し、生成したベクトルと前記学習部による学習結果とを基に、前記予測対象のデータに対する検証の要否を予測する予測部と、
を有することを特徴とするデータ処理装置。
【請求項５】
データ処理装置が実行するデータ処理方法であって、
文書データから分解した単語のうち、選択対象の品詞の種別に対応する単語を選択する工程と、
前記選択する工程において選択された単語ごとに、前記単語の出現数または出現頻度に該単語の品詞の種別に応じた重みを用いた値を求め、求めた各値を各要素の値としたベクトルを生成する工程と、
を含んだことを特徴とするデータ処理方法。
【請求項６】
文書データから分解した単語のうち、選択対象の品詞の種別に対応する単語を選択するステップと、
前記選択するステップにおいて選択された単語ごとに、前記単語の出現数または出現頻度に該単語の品詞の種別に応じた重みを用いた値を求め、求めた各値を各要素の値としたベクトルを生成するステップと、
をコンピュータに実行させるためのデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理方法及びデータ処理プログラムに関する。
【背景技術】
【０００２】
文章や単語の言語表現を数学的に扱いやすい表現にして文書を分類する方法がある。例えば、情報の内容や主題を反映して文書データの類似度を計算する方法や、入力文書に応じて複数の参照用文書ごとに評価値に基づく類似度を付与する方法が提案されている（特許文献１，２参照）。
【０００３】
また、文書データを、ベクトルで表現するbag-of-words（Bag  of  Words；ＢｏＷ）法も提案されている。この場合、文書データをベクトルで表すことによって、文書間の類似度を、ベクトル間の類似度によって測ることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−１２８４０２号公報
【特許文献２】特開平９−２９７７６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＢｏＷ法では、出現した単語すべてを素性（ベクトルの要素）として用いるのではなく、文書データの特徴を得るに有益でない単語をストップワードとして削除してからベクトル化を行うことが多い。ストップワードには、例えば、「the」、「a」、「is」、「have」、「take」、「は」、「の」、「です」、「ます」等がある。ＢｏＷ法では、このようなストップワードの選択またはストップワードの辞書が必要であった。
【０００６】
本発明は、上記に鑑みてなされたものであって、文書をベクトルで表現する際に、ストップワードの選択及びストップワードの辞書のいずれもが不要となるデータ処理装置、データ処理方法及びデータ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係るデータ処理装置は、文書データから分解した単語のうち、選択対象の品詞の種別に対応する単語を選択する選択部と、選択部が選択した単語ごとに、単語の出現数または出現頻度に該単語の品詞の種別に応じた重みを用いた値を求め、求めた各値を各要素の値としたベクトルを生成する生成部と、を有することを特徴とする。
【０００８】
また、本発明に係るデータ処理装置は、学習用データから分解した単語のうち、選択対象の品詞の種別に対応する単語を選択し、選択した単語ごとに、単語の出現数または出現頻度に該単語の品詞の種別に応じた重みを用いた値を求め、求めた各値を各要素の値としたベクトルを生成し、生成したベクトルと学習用データに対応付けられた検証の要否に関する情報とを学習する学習部と、予測対象のデータから分解した単語のうち、選択対象の品詞の種別に対応する単語を選択し、選択した単語ごとに、単語の出現数または出現頻度に該単語の品詞の種別に応じた重みを用いた値を求め、求めた各値を各要素の値としたベクトルを生成し、生成したベクトルと学習部による学習結果とを基に、予測用データに対する検証の要否を予測する予測部と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、文書をベクトルで表現する際に、ストップワードの選択及びストップワードの辞書のいずれもが不要となる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態１に係るデータ処理装置の構成の一例を模式的に示す図である。
【図２】図２は、図１に示すデータ処理装置の処理の流れを説明する図である。
【図３】図３は、図１に示すデータ処理装置の処理の流れを説明する図である。
【図４】図４は、実施の形態に係るデータ処理方法の処理手順を示すフローチャートである。
【図５】図５は、従来のＢｏＷベクトル生成処理の流れを示す図である。
【図６】図６は、実施の形態２に係るデータ処理装置の構成の一例を模式的に示す図である。
【図７】図７は、検証要否表の一例を示す図である。
【図８】図８は、単語カウント表の一例を示す図である。
【図９】図９は、学習部による品詞選択の際の品詞の種別の組み合わせの一例を示す図である。
【図１０】図１０は、学習部が生成したＢｏＷベクトルの一例を示す図である。
【図１１】図１１は、図６に示す学習部による学習処理の処理手順を示すフローチャートである。
【図１２】図１２は、図６に示す予測部による学習処理の処理手順を示すフローチャートである。
【図１３】図１３は、プログラムが実行されることにより、データ処理装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１２】
［実施の形態１］
本発明の実施の形態１について説明する。本発明の実施の形態１では、電子化されたテキスト文書データ（以降、文書データとする。）が対象であることを前提とする。そして、本実施の形態１では、文書データから、形態素解析等を用いて分解した単語のうち、選択対象の品詞の種別に対応する単語を選択する。続いて、本実施の形態１では、選択した単語ごとに、単語の出現数または出現頻度に該単語の品詞の種別に応じた重みを用いた値を求める。そして、本実施の形態１では、この求めた各値を各要素の値としたＢｏＷベクトルを生成することによって、ストップワードの選択及びストップワードの辞書のいずれも不要である。
【００１３】
［データ処理装置の構成］
まず、実施の形態１におけるデータ処理装置の構成について説明する。図１は、実施の形態１に係るデータ処理装置の構成の一例を模式的に示す図である。図１に示すように、データ処理装置１０は、入力部１１、出力部１２、通信部１３、制御部１４及び記憶部１５を有する。
【００１４】
入力部１１は、データ処理装置１０の操作者からの各種操作を受け付ける入力インタフェースである。例えば、入力部１１は、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイスによって構成される。
【００１５】
通信部１３は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部１３は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介した他の装置と制御部１４（後述）との間の通信を行う。例えば、通信部１３は、ネットワークを介して、ＢｏＷベクトル生成対象の文書ファイルのデータを受け取り、制御部１４に出力する。また、通信部１３は、制御部１４によって生成されたＢｏＷベクトルの情報を、ネットワークを介して、外部の装置へ出力する。
【００１６】
出力部１２は、例えば、液晶ディスプレイなどの表示装置、プリンタ等の印刷装置、情報通信装置等によって実現され、制御部１４によって生成された対象語とＢｏＷベクトルを示す情報等を出力する。
【００１７】
制御部１４は、データ処理装置１０全体を制御する。制御部１４は、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路である。また、制御部１４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部１４は、各種のプログラムが動作することにより各種の処理部として機能する。
【００１８】
制御部１４は、処理対象の文書データについてＢｏＷベクトルを生成するベクトル生成部１４０を有する。ベクトル生成部１４０は、分解部１４１、分類部１４２、単語選択部１４３（選択部）、生成部１４４を有する。
【００１９】
分解部１４１は、文書データを、例えば、ＭｅＣａｂ等の形態素解析ツールを用いて、各単語に分解する。この際、分解部１４１は、各単語の品詞情報も保持する。
【００２０】
分類部１４２は、各単語をソートしてから、重複する単語を削除する。続いて、分類部１４２は、品詞別に単語をソートして、分類する。
【００２１】
単語選択部１４３は、品詞指定によりＢｏＷベクトル化の対象となる単語を選択する。言い換えると、単語選択部１４３は、文書データから分解した単語のうち、選択対象の品詞の種別に対応する単語を選択する。また、単語選択部１４３は、複数の種別の品詞に対応する単語を選択する。なお、名詞単体と、複数の名詞を複合した名詞複合語とは、異なる種別の品詞として扱う。また、単語選択部１４３は、選択した単語について、出現数を求め、各単語に対応付ける。単語選択部１４３は、各単語を、出現数の順に並び替える。なお、単語選択部１４３は、選択した単語について、出現頻度を求め、各単語を出現頻度の順に並び替えてもよい。出現頻度は、例えば、文書データに含まれる全体の単語数に対する割合をいう。
【００２２】
生成部１４４は、単語選択部１４３が選択した単語ごとに、単語の出現数に該単語の品詞の種別に応じた重みを用いた値を求め、求めた各値を各要素の値としたＢｏＷベクトルを生成する。例えば、生成部１４４は、記憶部１５の重みデータ１５２を参照して、品詞別の重みを求める。そして、生成部１４４は、単語選択部１４３が選択した単語ごとに、品詞の種別にそれぞれ応じた重みを乗じた値を求め、求めた各値を各要素の値としたＢｏＷベクトルを生成する。なお、生成部１４４は、単語選択部１４３が選択した単語ごとに、単語の出現頻度に該単語の品詞の種別に応じた重みを用いて求めた各値を各要素の値としたＢｏＷベクトルを生成してもよい。
【００２３】
記憶部１５は、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、光ディスク等の記憶装置である。なお、記憶部１５は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）等のデータを書き換え可能な半導体メモリであってもよい。記憶部１５は、データ処理装置１０で実行されるＯＳ（Operating  System）や各種プログラムを記憶する。さらに、記憶部１５は、プログラムの実行で用いられる各種情報を記憶する。記憶部１５は、文書データ１５１及び重みデータ１５２を記憶する。
【００２４】
文書データ１５１は、電子化されたテキスト文書データであり、本データ処理装置１０の処理対象となる文書ファイルを含む。重みデータ１５２は、生成部１４４におけるＢｏＷベクトル生成時に、各単語の出現数または出現数に乗ずる重みを、品詞別に示すデータである。
【００２５】
［データ処理の流れ］
次に、データ処理装置１０における処理の流れについて詳細に説明する。図２及び図３は、図１に示すデータ処理装置の１０処理の流れを説明する図である。まず、図２を参照して、データ処理装置１０が、ＢｏＷベクトル化の対象となる単語を選択するまでの処理について説明する。
【００２６】
図２に示すように、データ処理装置１０では、処理対象である文書データ（群）の入力を受け付けると、分解部１４１は、文書データから、形態素解析により品詞種別付きで単語を分類する（図２の（１）参照）。続いて、分類部１４２は、分解部１４１が分類した単語をソートしてから重複する単語を削除する（図２の（２）参照）。そして、分類部１４２は、品詞別に単語をソートして並べた、ＢｏＷベクトル化の対象単語の基となるリストを得る（図２の（３）参照）。
【００２７】
単語選択部１４３は、分類部１４２が得たリストから、ＢｏＷベクトル化の対象となる単語の品詞を指定することによって、ＢｏＷベクトル化の対象となる単語を選択する（図２の（４）参照）。単語選択部１４３は、この際、複数の種別の品詞に対応する単語を選択する。また、単語選択部１４３は、選択した単語について、出現数を求め、各単語に対応付け、各単語を、出現数の順に並び替える。
【００２８】
単語選択部１４３は、例えば、品詞として名詞単体を指定することによって、名詞単体の単語のみ指定して出現数の順に並び替えたリストＬ２−１を取得してもよい。また、単語選択部１４３は、品詞として、名詞単体、名詞複合語、動詞及び副詞を指定し、出現数の順に並び替えたリストＬ２−２を取得してもよい。また、単語選択部１４３は、名詞と動詞とのみを指定する、或いは、助詞及び助動詞の単語を除く他の品詞の単語すべてを指定する、等のように、品詞を指定する。
【００２９】
続いて、図３を参照して、データ処理装置１０が、ＢｏＷベクトルを生成するまでの処理の流れについて説明する。データ処理装置１０では、品詞別の重みを決める（図３の（５）参照）。
【００３０】
具体的には、品詞の種別に応じて、重みを変えるように決定する。例えば、データ処理装置１０は、重みデータＤ１５２を採用し、文書の特徴を表す上で有益な情報である品詞ほど重みが高くなうように決める。重みデータＤ１５２では、名詞が重み「３」であり、複合語が重み「５」であるのに対し、助動詞や副詞が重み「１」と設定される。なお、複合語とは、二つ以上の単語が結び付き新たな一語を形成したものであり、専門用語、業界用語の多くがこれに該当するため、一般名詞（一般用語）である名詞（単体）とは分けて、文書の特徴を表す上で有益な品詞として扱う。また、品詞別の重みを用いない場合は、データ処理装置１０は、重みデータＤ１５２´を採用し、品詞の種別に寄らず、全て同じ重み「１」を設定する。
【００３１】
続いて、生成部１４４は、単語選択部１４３が選択した単語ごとに、単語の出現数に該単語の品詞の種別に応じた重みをかけた値を求める（図３の（６）参照）。
【００３２】
例えば、生成部１４４は、単語「機能」については、出現数「３２」（リストＬ２−１，Ｌ２−２参照）に、名詞（単体）の重み「３」（重みデータＤ１５２参照）をかけて「９６」とする（リストＬ３−１，Ｌ３−２参照）。また、生成部１４４は、単語「通信機関」については、出現数「１０」に名詞（複合語）の重み「５」をかけて「５０」とする。また、生成部１４４は、単語「し」の出現数「５０」に動詞の重み「２」をかけて「１００」とする。
【００３３】
生成部１４４は、このように求めた各単語の値を、各要素の値としたＢｏＷベクトルを生成する。
【００３４】
［データ処理方法の処理手順］
次に、図４を参照して、図１に示すデータ処理装置１０によるデータ処理方法の処理手順について説明する。図４は、実施の形態に係るデータ処理方法の処理手順を示すフローチャートである。
【００３５】
まず、図４に示すように、制御部１４は、処理対象となる文書データの入力を受け付けると（ステップＳ１）、この文書データを、形態素解析を用いて各単語に分解する（ステップＳ２）。この際、分解部１４１は、各単語の品詞情報も保持する。そして、分類部１４２は、各単語をソートしてから、重複する単語を削除する（ステップＳ３）。続いて、分類部１４２は、品詞別に単語をソートして分類する（ステップＳ４）。
【００３６】
単語選択部１４３は、品詞を指定することによって（ステップＳ５）、ＢｏＷベクトル化の対象となる単語を選択する（ステップＳ６）。また、単語選択部１４３は、選択した単語について、出現数を求め、各単語を、出現数の順に並び替える（ステップＳ７）。なお、単語選択部１４３は、選択した単語について、出現頻度を求め、各単語を出現頻度の順に並び替えてもよい。
【００３７】
生成部１４４は、単語選択部１４３が選択した単語ごとに、単語の出現数に該単語の品詞の種別に応じた重みを用いた値を求め、求めた各値を各要素の値としたＢｏＷベクトルを生成し（ステップＳ８）、処理を終了する。なお、生成部１４４は、単語選択部１４３が選択した単語ごとに、単語の出現頻度に該単語の品詞の種別に応じた重みを用いて求めた各値を各要素の値としたＢｏＷベクトルを生成してもよい。
【００３８】
［実施の形態の効果］
ここで、従来のＢｏＷベクトル生成処理について説明する。図５は、従来のＢｏＷベクトル生成処理の流れを示す図である。従来では、文書データから、形態素解析により単語を分類し（図５の（１）参照）、ソートしてから重複する単語を削除する（図５の（２）参照）。そして、従来では、不要語（ストップワード（図中では星印が付された単語である。））の選定を行う（図５の（３）参照）。そして、従来では、ストップワードを除き、ＢｏＷベクトル化対象の単語を選定し、各単語の出現数を求め（リストＬ１参照）、求めた値を要素値としてＢｏＷベクトルを生成していた（図５の（４）参照）。このように、従来では、ストップワードの選択またはストップワードの辞書が必要であった。
【００３９】
これに対し、実施の形態１に係るデータ処理装置１０では、文書データから分解した単語のうち、選択対象の品詞の種別に対応する単語を選択し、選択した単語ごとに、単語の出現数に該単語の品詞の種別に応じた重みを用いた値を求め、求めた各値を各要素の値としたＢｏＷベクトルを生成する。このように、データ処理装置１０においては、文書をベクトルで表現する際に、ＢｏＷベクトル化の対象とする単語を品詞の種別を指定して選択する。すなわち、データ処理装置１０は、文書の特徴を表すことに有益な単語とそうでない単語とを品詞によって分別することによって、ＢｏＷベクトル化処理において、ストップワードの選択及びストップワードの辞書のいずれも必要としない。
【００４０】
さらに、データ処理装置１０は、文書の特徴を表すことに有益な品詞ほど重みを高く設定することによって、文書の特徴を顕著に表すＢｏＷベクトルの生成が可能である。そして、データ処理装置１０では、ＢｏＷベルトル化の対象とする単語を、複数の種別の品詞の組み合わせにより選択することができるため、ＢｏＷベルトル化の対象とする単語を自在に変更することができる。
【００４１】
［実施の形態２］
次に、実施の形態２について説明する。実施の形態２では、実施の形態１に係るＢｏＷベクトル生成方法を、検証の要否判定の予測方法に適用した例について説明する。
【００４２】
図６は、実施の形態２に係るデータ処理装置の構成の一例を模式的に示す図である。図６に示すように、データ処理装置２０は、入力部２１、出力部２２、通信部２３、制御部２４及び記憶部２５を有する。
【００４３】
入力部２１は、データ処理装置１０の入力部１１と同様の機能を有する。出力部２２は、データ処理装置１０の出力部１２と同様の機能を有する。通信部２３は、データ処理装置１０の通信部２３と同様の機能を有する。
【００４４】
制御部２４は、データ処理装置１０の制御部１４と同様の機能を有する。制御部２４は、ベクトル生成部１４０をそれぞれ有する学習部２４１及び予測部２４２を有する。
【００４５】
学習部２４１は、ベクトル生成部１４０において、学習用データについてのＢｏＷベクトルを生成し、生成したＢｏＷベクトルと、学習用データに対応付けられた検証の要否に関する情報とを機械学習によって学習する。学習部２４１は、学習結果２５３を記憶部２５に格納する。ここで、学習データは、開発した機能の要件に関する記述（機能要件記述）である。学習データとして記述された各機能には、予め、各機能について、検証（試験）の要否が対応付けられており、対応付けられたデータは、検証要否表２５１（後述）として記憶部２５に記憶される。
【００４６】
予測部２４２は、予測対象のデータ（機能要件記述）についてのＢｏＷベクトルを生成し、生成したＢｏＷベクトルと、学習部２４１による学習結果とを基に、予測対象のデータに対する検証の要否を予測する。
【００４７】
記憶部２５は、データ処理装置１０の記憶部１５と同様の機能を有する。記憶部２５は、重みデータ１５２、検証要否表２５１、単語カウント表２５２、学習結果２５３を有する。
【００４８】
検証要否表２５１は、開発した機能の要件に記述ごとに、検証の要否を対応付けたものである。図７は、検証要否表２５１の一例を示す図である。図７に示すように、検証要否表２５１は、通番、機能要件記述（自然言語）、データ変更の観点からの検証の要（○）または否（×）の項目を有する。例えば、通番「1」には、機能要件記述として「トラヒック収集項目について、新系にてサービス開始時に項目それぞれのデータをクリアーし、救済対象呼はカウント対象とせず、新規呼からカウント対象とする。」が記載されており、「○（検証が必要であること）」が対応付けられている。
【００４９】
単語カウント表２５２は、ベクトル生成部１４０による単語の出現数のカウント表である。図８は、単語カウント表２５２の一例を示す図である。単語カウント表２５２は、通番、機能要件記述、ＢｏＷベクトル化対象単語とのその出現数の項目を有する。また、学習結果２５３は、学習部２４１による学習結果である。
【００５０】
［学習処理の流れ］
まず、データ処理装置２０による学習処理について説明する。学習部２４１が、図７に示す検証要否表２５１の機能要件記述の各通番のデータを学習する場合を例に説明する。この場合、学習部２４１は、ベクトル生成部１４０を用いて、検証要否表２５１の各通番の機能要件記述をそれぞれＢｏＷベクトル化する。
【００５１】
例えば、通番「1」の「トラヒック収集項目について、新系にてサービス開始時に項目それぞれのデータをクリアーし、救済対象呼はカウント対象とせず、新規呼からカウント対象とする。」とする文書データについて説明する。この場合には、学習部２４１では、ベクトル生成部１４０が、通番「1」の機能要件記述を、ＭｅＣａｂ等の形態素解析ツールを用いて、各単語に分解し、重複する単語を削除してから、品詞別に単語をソートして、分類する。
【００５２】
続いて、学習部２４１では、ベクトル生成部１４０が、通番「1」に対応する各単語の、出現数をカウントして、単語カウント表２５２（図８参照）の通番「1」の各欄にカウント数を記載する。通番「1」の機能要件記述については、例えば、名詞「トラヒック」について出現数「1」、名詞「収集」について出現数「1」、動詞「し」について出現数「1」等が対応付けられる。
【００５３】
そして、学習部２４１では、ベクトル生成部１４０が、ＢｏＷベクトル化の対象単語とする品詞を選択する。ベクトル生成部１４０は、一つの品詞のみ、または、複数の種別の品詞の組み合わせで、品詞を選択することによって、ＢｏＷベクトル化の対象となる単語を選択する。
【００５４】
図９は、学習部２４１による品詞選択の際の品詞の種別の組み合わせの一例を示す図である。学習部２４１は、図９の（ａ）に示すように、名詞（単体）のみを選択することもできるほか、図９の（ｃ）に示すように、名詞（単体）、名詞（複合語）、動詞の組み合わせを選択することもできる。このように、学習部２４１は、ＢｏＷベルトル化の対象とする単語を、複数の種別の品詞の組み合わせにより選択することができるため、ＢｏＷベルトル化の対象とする単語を自在に変更することができる。
【００５５】
続いて、学習部２４１では、ベクトル生成部１４０は、図９に示す品詞の組み合わせのいずれかを用いて、ＢｏＷベクトル化の対象となる単語の品詞を指定することによって、ＢｏＷベクトル化の対象となる単語を選択する。そして、学習部２４１では、ベクトル生成部１４０は、単語選択部１４３が選択した単語ごとに、単語の出現数に該単語の品詞の種別に応じた重みを用いた値を求め、求めた各単語の値を、各要素の値としたＢｏＷベクトルを生成する。
【００５６】
学習部２４１では、学習対象の機能要件記述ごとに、単語の分解、品詞の種別に応じた単語の選択を行い、単語ごとに、単語の出現数に該単語の品詞の種別に応じた重みを用いた値を求め、求めた各値を各要素の値としたＢｏＷベクトルの生成を行う。なお、学習部２４１は、単語の出現数ではなく、単語の出現頻度を用いて、ＢｏＷベクトルの生成を行ってもよい。
【００５７】
そして、学習部２４１は、ベクトル生成部１４０において生成したＢｏＷベクトルと、学習用データに対応付けられた検証の要否に関する情報とを対応付ける。図１０は、学習部２４１が生成したＢｏＷベクトルの一例を示す図である。学習部２４１は、機能要件記述の一項目につき一行の数値列を生成し、各行先頭の数値として、検証要（○）を示す「1」または、検証否（×）を示す「-1」を各行の先頭に付与する。学習部２４１は、例えば、図１０の１行目に示すように、検証要否表２５１（図７参照）の通番「1」に対しては、検証要（○）を示す「1」を付与する。
【００５８】
続いて、学習部２４１は、図１０に示す各ＢｏＷベクトルを学習する。具体的には、学習部は、図１０に示す検証の要否を示す数字が先頭に付与されたＢｏＷベクトルを、機械学習ツール（例えば、liblinear）を用いて学習させる。学習部２４１では、先頭の数値を除く各行の数値の並びが、先頭に示した検証要「1」と検証否「-1」との二つのグループのうち、どちらに分類されるかを機械学習させた結果（傾向）を得る。言い換えると、学習部２４１は、先頭の数値が検証要「1」である数値の並びと検証否「-1」である数値の並びとを覚えさせる教師ありの機械学習を行っている。学習部２４１は、この学習結果を記憶部２５に格納する。
【００５９】
［予測処理の流れ］
まず、データ処理装置２０による予測処理について説明する。図７に示す検証要否表２５１の機能要件記述の各通番のデータを学習する場合を例に説明する。予測部２４２は、得られた機械学習の学習結果２５３を用いて、検証の要否判定（予測）を行う。
【００６０】
予測部２４２は、機能要件記述のうち学習対象データ以外の項目から、予測対象の機能要件記述を一項目選択する。この機能要件記述を、「予測用検証要件記述１」とする。なお、予測部２４２は、機能要件記述を複数選んでもよいが、説明を簡単にするため一項目とする。
【００６１】
続いて、予測部２４２では、ベクトル生成部１４０が、予測用検証要件記述１について、単語の分解、品詞の種別に応じた単語の選択を行う。この際、予測部２４２は、学習部２４１における品詞選択時と同じ種別の組み合わせで品詞を選択する。そして、予測部２４２は、単語ごとに、単語の出現数に該単語の品詞の種別に応じた重みを用いた値を求め、求めた各値を各要素の値としたＢｏＷベクトルの生成を行う。なお、予測部２４２は、単語の出現数ではなく、単語の出現頻度を用いて、ＢｏＷベクトルの生成を行ってもよい。
【００６２】
この結果、予測部２４２は、予測用検証要件記述１のＢｏＷベクトルの各要素値として、「-1  1:0  2:1  3:2  4:0  5:0  6:8  7:8  8:6  9:5  10:0  11:0  12:0  13:0  …」を求めることができる。ここで、ＢｏＷベクトルの、先頭の数字「-1」は、後に予測結果に置き換わるため仮の値である。そして、予測部２４２は、機械学習ツール（例えば、liblinear）を用いて、学習処理時に得られた学習結果２５３に基づき、このＢｏＷベクトルが、検証要「1」か、検証否「-1」かの、どちらのグループのベクトル類似度に近いかを計算する。
【００６３】
そして、予測部２４２は、結果が「1」である場合、言い換えると、検証要のグループに近いベクトルである場合には、予測用検証要件記述１は、検証要であると予測する。一方、予測部２４２は、結果が「-1」である場合、言い換えると、検証否のグループに近いベクトルである場合には、予測用検証要件記述１は、検証否であると判定する。
【００６４】
［学習処理の処理手順］
次に、学習部２４１による学習処理の処理手順について説明する。図１１は、図６に示す学習部２４１による学習処理の処理手順を示すフローチャートである。
【００６５】
図１１に示すように、学習部２４１は、学習用の機能要件記述を取得すると（ステップＳ１１）、ベクトル生成対象の機能要件記述をベクトル生成部１４０に入力する。ベクトル生成部１３０は、入力された学習用の機能要件記述に対して、ＢｏＷベクトルを生成するベクトル生成処理を行う（ステップＳ１２）。このベクトル生成処理は、図４に示すステップＳ１〜ステップＳ８を同じ処理を行う。そして、学習部２４１は、ベクトル生成部１４０が生成したＢｏＷベクトルに、この学習用の機能要件記述に対応付けられている検証要否を示す情報を付加する（ステップＳ１３）。
【００６６】
続いて、学習部２４１は、全学習用の機能要件記述についてベクトルを生成したか否かを判定する（ステップＳ１４）。学習部２４１は、全学習用の機能要件記述についてベクトルを生成していないと判定した場合（ステップＳ１４：Ｎｏ）、ステップＳ１２に戻り、ベクトル生成対象の次の機能要件記述に対するベクトル生成処理を実行する。
【００６７】
一方、学習部２４１は、全学習用の機能要件記述についてベクトルを生成したと判定した場合（ステップＳ１４：Ｙｅｓ）、生成したＢｏＷベクトルと、学習用データに対応付けられた検証の要否に関する情報とを機械学習によって学習する学習処理を行う（ステップＳ１５）。学習部２４１は、学習結果を記憶部２５に格納し、学習処理を終了する。
【００６８】
［予測処理の処理手順］
次に、予測部２４２による予測処理の処理手順について説明する。図１２は、図６に示す予測部２４２による学習処理の処理手順を示すフローチャートである。
【００６９】
図１２に示すように、予測部２４２は、予測対象のデータ（機能要件記述）を取得し、ベクトル生成部１４０に入力する（ステップＳ２１）。ベクトル生成部１４０は、この予測対象の機能要件記述に対して、ＢｏＷのベクトルを生成する（ステップＳ２２）。このベクトル生成処理は、図４に示すステップＳ１〜ステップＳ８を同じ処理を行う。
【００７０】
そして、予測部２４２は、生成したＢｏＷベクトルと、学習部２４１による学習結果とを基に、機械学習を用いて、予測対象のデータに対する検証の要否を予測する予測処理を行う（ステップＳ２３）。
【００７１】
［実施の形態２の効果］
この実施の形態２のように、実施の形態１に係るベクトル生成処理を、機能要件記述の検証要否の学習、及び、機能要件記述の検証要否の予測に適用することによって、検証担当者が、検証要否表の全ての機能要件記述に対する検証の要否を判定せずともよい。したがって、実施の形態２によれば、検証担当者の処理負担を軽減することが可能になる。
【００７２】
［システム構成等］
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７３】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７４】
［プログラム］
図１３は、プログラムが実行されることにより、データ処理装置１０が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００７５】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００７６】
ハードディスクドライブ１０９０は、例えば、ＯＳ（Operating  System）１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、データ処理装置１０の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、データ処理装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【００７７】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００７８】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００７９】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００８０】
１０，２０  データ処理装置
１１，２１  入力部
１２，２２  出力部
１３，２３  通信部
１４，２４  制御部
１５，２５  記憶部
１４０  ベクトル生成部
１４１  分解部
１４２  分類部
１４３  単語選択部
１４４  生成部
１５１  文書データ
１５２  重みデータ
２４１  学習部
２４２  予測部
２５１  検証要否表
２５２  単語カウント表
２５３  学習結果
【図１】
2020064470.tif 000003
【図２】
2020064470.tif 000004
【図３】
2020064470.tif 000005
【図４】
2020064470.tif 000006
【図５】
2020064470.tif 000007
【図６】
2020064470.tif 000008
【図７】
2020064470.tif 000009
【図８】
2020064470.tif 000010
【図９】
2020064470.tif 000011
【図１０】
2020064470.tif 000012
【図１１】
2020064470.tif 000013
【図１２】
2020064470.tif 000014
【図１３】
2020064470.tif 000015