以下、図面を参照して、実施形態について説明する。
図1は、本実施形態に係る文書分析装置のハードウェア構成を示すブロック図である。なお、文書分析装置は、当該装置の各機能を実現するためのハードウェア構成、またはハードウェアとソフトウェアとの組み合わせ構成として実現されている。ソフトウェアは、予め記憶媒体またはネットワークからインストールされ、文書分析装置にその機能を実現させるためのプログラムからなる。
図1に示すように、文書分析装置10は、記憶装置11、キーボード12、マウス13、中央演算装置14およびディスプレイ15を備える。
記憶装置11は、中央演算装置14から読み出しまたは書き込みが可能な記憶装置であり、例えばRAM(Random Access Memory)である。記憶装置11には、予め中央演算装置14によって実行されるプログラム(文書分析プログラム)が記憶されている。
キーボード12およびマウス13は、入力装置であり、例えば文書分析装置10の操作者(ユーザ)の操作により、データまたは命令からなる各種情報を中央演算装置14に入力する。
中央演算装置14は、例えばCPU(プロセッサ)であり、記憶装置11に記憶されているプログラムを実行する機能と、キーボード12またはマウス13から入力される情報に基づいて各種処理の実行を制御する機能と、実行結果をディスプレイ15に出力する機能とを有する。
ディスプレイ15は、表示装置であり、例えば編集中の各アーキテクチャモデルやフィーチャモデル等を表示して可視化する機能を有する。また、ディスプレイ15は、中央演算装置14から出力された情報を表示する機能を有する。
なお、文書分析装置10は、例えば本実施形態に係る文書分析プログラムが適用された計算機によって実現される。
図2は、本実施形態に係る文書分析装置10の主として機能構成を示すブロック図である。
図2に示すように、文書分析装置10は、文書格納部110、カテゴリ格納部120、ユーザインタフェース部130および要因抽出部140を含む。なお、文書格納部110およびカテゴリ格納部12は、例えば図示しない外部記憶装置等に格納される。また、ユーザインタフェース部130および要因抽出部140は、文書分析装置10のコンピュータ(中央演算装置14)が記憶装置11に記憶されている文書分析プログラムを実行することにより実現される。
文書格納部110には、文書分析装置10による分析の対象となる複数の文書が格納される。文書格納部110に格納されている文書は、複数の単語からなる文字列を含む。また、文書格納部110に格納されている文書は、属性および目的変数を有し、当該属性の属性値および当該目的変数の値を含む。
カテゴリ格納部120は、文書格納部110に格納されている複数の文書が分類されたカテゴリの各々を示すカテゴリ情報(つまり、当該複数の文書の分類結果)が格納される。具体的には、カテゴリ格納部120には、例えば文書が有する属性の属性値および目的変数の値に基づいて文書格納部110に格納されている複数の文書が分類された結果が格納される。
なお、文書格納部110およびカテゴリ格納部120は、例えばファイルシステムまたはデータベース等を用いて実現される。
ユーザインタフェース部130は、上記したキーボード12、マウス13およびディスプレイ15を用いて実現される機能部であり、例えばユーザの入力情報または指示情報等を受け付ける。ユーザインタフェース部130は、カテゴリ表示操作部131および2軸マップ可視化部132を含む。
カテゴリ表示操作部131は、カテゴリ格納部120に格納されているカテゴリ情報に基づいて、当該カテゴリ情報によって示されるカテゴリおよび当該カテゴリの階層構造をユーザに対して提示するための画面(以下、カテゴリ表示画面と表記)をディスプレイ15に表示する。また、カテゴリ表示操作部131は、ユーザに対して提示されたカテゴリ表示画面に対するユーザの操作(指定操作)を受け付ける。この場合、ユーザは、カテゴリ表示画面に対して、分析の対象となる文書(集合)、当該文書に含まれる文字列(テキスト)、当該文書が有する目的変数および属性等を指定することができる。
2軸マップ可視化部132は、ユーザによって指定された目的変数、後述する要因抽出部140によって抽出された単語および属性値に基づいて2軸マップを生成する。2軸マップ可視化部132によって生成された2軸マップは、例えばディスプレイ15に表示される。これにより、2軸マップ可視化部132は、要因抽出部140によって抽出された単語および属性値をユーザに対して提示する。
要因抽出部140は、文書格納部110に格納されている文書が有する目的変数の要因となる単語および属性値を抽出するための機能部である。要因抽出部140は、要因単語抽出部141および組要因抽出部142を含む。
要因単語抽出部141は、ユーザによって指定された分析の対象となる文書に含まれる文字列を構成する複数の単語の中から、ユーザによって指定された目的変数の要因となる単語を抽出する機能を有する。
要因単語抽出部141は、文書格納部110に格納されている複数の文書(ユーザによって指定された分析対象となる文書集合)に含まれる文字列(ユーザによって指定されたテキスト)を解析することによって複数の単語を取得する。
要因単語抽出部141は、文書格納部110に格納されている複数の文書に含まれる属性(ユーザによって指定された属性)の属性値に基づいて当該複数の文書が分類された複数のカテゴリ(第1のカテゴリ)を生成する。以下、ユーザによって指定された属性の属性値に基づいて生成されたカテゴリを属性値のカテゴリと称する。
要因単語抽出部141は、文書格納部110に格納されている複数の文書に含まれる目的変数(ユーザによって指定された目的変数)の値に基づいて当該複数の文書が分類された複数のカテゴリ(第2のカテゴリ)を生成する。以下、ユーザによって指定された目的変数の値に基づいて生成されたカテゴリを目的変数のカテゴリと称する。
要因単語抽出部141は、取得された単語毎に、当該単語を含む文書であって属性値のカテゴリの各々に分類された文書の集合が、各目的変数のカテゴリにおいて統計的に有意に偏って出現しているか否かを判定する。要因単語抽出部141は、文書の集合が各目的変数のカテゴリにおいて統計的に有意に偏って出現していると判定された単語を、ユーザによって指定された目的変数の要因として抽出する。
組要因抽出部142は、要因単語抽出部141によって抽出された単語と組み合わせて目的変数の要因となる属性値を、ユーザによって指定された属性の属性値の中から抽出する機能を有する。
組要因抽出部142は、属性値のカテゴリ毎に、要因単語抽出部141によって抽出された単語を含む文書、当該属性値のカテゴリに分類された文書および目的変数のカテゴリの各々に分類された文書に基づいて、後述する第1のリフト値を算出する。
また、組要因抽出部142は、算出された第1のリフト値が予め定められた値以上である場合、当該第1のリフト値が算出された属性値のカテゴリに分類された文書および目的変数のカテゴリの各々に分類された文書に基づいて、後述する第2のリフト値を算出する。
組要因抽出部142は、算出された第1のリフト値が第2のリフト値より大きい場合、当該第1のリフト値が算出された属性値のカテゴリに分類された文書に含まれる属性値(ユーザによって指定された属性の属性値)を、ユーザによって指定された目的変数の要因(要因単語抽出部141によって抽出された単語と組み合わせて目的変数の要因となる属性値)として抽出する。
図3は、図2に示す文書格納部110に格納されている文書のデータ構造の一例を示す。図2に示すように、文書格納部110に格納されている文書は、複数の属性を有する。また、文書格納部110に格納されている文書は、当該文書が有する属性毎に属性名および属性値を対応づけて含む。
属性名は、文書の種類に応じて当該文書が有する属性の名称である。属性値は、文書が有する属性の値である。
ここで、図3は、製品に対する営業活動の報告書の文書111の一例を示す。図3に示す例では、文書111には、当該文書111が有する属性の属性名として、文書111を識別するための文書番号、当該文書111のタイトル、本文、製品に対する営業活動の評価、当該営業活動が行われた製品の種類および当該営業活動の報告書が作成された日(報告日)が含まれている。
また、文書111には、例えば属性名「文書番号」に対応づけて属性値「d01」が含まれている。これによれば、文書111を識別するための文書番号が「d01」であることが示されている。ここでは、属性名「文書番号」(に対応づけられている属性値)について説明したが、文書111には、他の属性についても同様に属性名に対応づけて属性値が含まれている。なお、属性名「タイトル」および「本文」に対応づけて文書111に含まれる属性値には、複数の単語からなる文字列(テキスト)が含まれている。
また、文書格納部110に格納されている文書は、目的変数を有する。目的変数とは、例えば「成功」または「失敗」のような評価の観点を有する属性をいう。上記した図3に示す文書111においては、属性名が「評価」である属性が目的変数に該当する。以下、文書格納部110に格納されている文書が有する属性のうち、評価の観点を有する属性を目的変数と称し、当該目的変数に対応づけられている属性値を目的変数の値と称する。
ここでは、文書111についてのみ説明したが、文書格納部110には、例えば製品に対する営業活動の報告書(文書)が複数格納されている。また、文書格納部110に格納されている文書は、上記した図3に示す文書111が有する属性の全てを有していなくてもよいし、他の属性を有していてもよい。
図4〜図9は、図2に示すカテゴリ格納部120に格納されているカテゴリ情報のデータ構造の一例を示す。カテゴリ格納部120に格納されているカテゴリ情報は、文書格納部110に格納されている文書が分類されたカテゴリを示す。なお、カテゴリ格納部120に格納されているカテゴリ情報によって示されるカテゴリは、例えば階層構造を構成する。なお、本実施形態において、文書格納部110に格納されている文書が分類されたカテゴリは予め作成され、当該カテゴリを示すカテゴリ情報がカテゴリ格納部120に格納されているものとする。また、カテゴリは、例えば文書格納部110に格納されている複数の文書をクラスタリングすることによって作成されてもよい。
図4〜図9に示すように、カテゴリ情報には、カテゴリ番号、親カテゴリ番号、カテゴリ名および文書番号が含まれる。なお、図6、図8および図9に示すように、カテゴリ情報には、必要に応じて条件が含まれていても構わない。
カテゴリ番号は、カテゴリを一意に識別するための識別子である。親カテゴリ番号は、階層構造においてカテゴリ番号によって識別されるカテゴリの一階層上位に位置するカテゴリ(親カテゴリ)を識別するためのカテゴリ番号を示す。カテゴリ名は、カテゴリ番号によって識別されるカテゴリの名称を示す。文書番号は、カテゴリ番号によって識別されるカテゴリに分類された文書を識別するための文書番号を示す。また、条件は、カテゴリ番号によって識別されるカテゴリに分類される文書が満たすべき条件を示す。
なお、カテゴリ格納部120に格納されているカテゴリ情報は、例えば文書格納部110に格納されている文書に含まれる属性名または属性値単位のカテゴリ(つまり、属性名または属性値に対応するカテゴリ)を示す。
図4は、カテゴリの階層構造におけるルートのカテゴリ(以下、ルートカテゴリと表記)を示すカテゴリ情報のデータの構造の一例を示す。
図4に示す例では、カテゴリ情報121には、カテゴリ番号「c01」、親カテゴリ番号「(なし)」、カテゴリ名「(ルート)」および文書番号「(なし)」が含まれている。このカテゴリ情報121によれば、カテゴリ番号「c01」によって識別されるルートカテゴリのカテゴリ名が「(ルート)」であることが示されている。なお、親カテゴリ番号「(なし)」は、階層構造においてカテゴリ番号「c01」によって識別されるカテゴリ(ルートカテゴリ)の親カテゴリは存在しないことが示されている。また、文書番号「(なし)」は、カテゴリ番号「c01」によって識別されるルートカテゴリには文書が分類されていないことが示されている。なお、以下に説明するカテゴリ情報に含まれる文書番号「(なし)」についても同様であるため、その説明については省略する。
図5は、カテゴリの階層構造においてルートカテゴリの下位に位置するカテゴリを示すカテゴリ情報のデータ構造の一例を示す。
図5に示す例では、カテゴリ情報122には、カテゴリ番号「c02」、親カテゴリ番号「c01」カテゴリ名「評価別」および文書番号「(なし)」が含まれている。このカテゴリ情報122によれば、カテゴリ番号「c02」によって識別されるカテゴリの親カテゴリが親カテゴリ番号「c01」によって識別されるカテゴリ(つまり、ルートカテゴリ)であることが示されている。また、カテゴリ番号「c02」によって識別されるカテゴリのカテゴリ名が「評価別」であることが示されている。
なお、図5に示すカテゴリ情報122は、文書格納部110に格納されている文書に含まれる属性名「評価」に対応するカテゴリを示している。
図6は、カテゴリの階層構造において図5に示すカテゴリ情報122によって示されるカテゴリの下位に位置するカテゴリを示すカテゴリ情報のデータ構造の一例を示す。
図6に示す例では、カテゴリ情報123には、カテゴリ番号「c21」、親カテゴリ番号「c02」、カテゴリ名「成功」、文書番号「d01,d15,d23,d36,…」および条件「評価=“成功”」が含まれている。このカテゴリ情報123によれば、カテゴリ番号「c21」によって識別されるカテゴリの親カテゴリが親カテゴリ番号「c02」によって識別されるカテゴリ(つまり、図5に示すカテゴリ情報122によって示されるカテゴリ)であることが示されている。また、カテゴリ番号「c21」によって識別されるカテゴリのカテゴリ名が「成功」であることが示されている。また、カテゴリ番号「c21」によって識別されるカテゴリには、条件「評価=“成功”」を満たす文書、つまり、文書番号「d01」、「d15」、「d23」および「d36」等によって識別される文書が分類されていることが示されている。なお、条件「評価=“成功”」は、文書が属性名「評価」の属性値として「成功」を含むことを示している。
なお、図6に示すカテゴリ情報123は、文書格納部110に格納されている文書に含まれる属性値「成功」(つまり、目的変数の値「成功」)に対応するカテゴリを示している。
図7は、カテゴリの階層構造においてルートカテゴリの下位に位置するカテゴリを示すカテゴリ情報のデータ構造の一例を示す。
図7に示す例では、カテゴリ情報124には、カテゴリ番号「c03」、親カテゴリ番号「c01」、カテゴリ名「製品別」および文書番号「(なし)」が含まれている。このカテゴリ情報124によれば、カテゴリ番号「c03」によって識別されるカテゴリの親カテゴリが親カテゴリ番号「c01」によって識別されるカテゴリ(つまり、ルートカテゴリ)であることが示されている。また、カテゴリ番号「c03」によって識別されるカテゴリのカテゴリ名が「製品別」であることが示されている。
なお、図7に示すカテゴリ情報124は、文書格納部110に格納されている文書に含まれる属性名「製品の種類」に対応するカテゴリを示している。
図8は、カテゴリの階層構造において図7に示すカテゴリ情報124によって示されるカテゴリの下位に位置するカテゴリを示すカテゴリ情報のデータ構造の一例を示す。
図8に示す例では、カテゴリ情報125には、カテゴリ番号「c31」、親カテゴリ番号「c03」、カテゴリ名「パソコン」、文書番号「d07,d23,d58,…」および条件「製品の種類=“パソコン”」が含まれている。このカテゴリ情報125によれば、カテゴリ番号「c31」によって識別されるカテゴリの親カテゴリが親カテゴリ番号「c03」によって識別されるカテゴリ(つまり、図7に示すカテゴリ情報124によって示されるカテゴリ)であることが示されている。また、カテゴリ番号「c31」によって識別されるカテゴリのカテゴリ名が「パソコン」であることが示されている。また、カテゴリ番号「c31」によって識別されるカテゴリには、条件「製品の種類=“パソコン”」を満たす文書、つまり、文書番号「d07」、「d23」および「d58」等によって識別される文書が分類されていることが示されている。なお、条件「製品の種類=“パソコン”」は、文書が属性名「製品の種類」の属性値として「パソコン」を含むことを示している。
なお、図8に示すカテゴリ情報125は、文書格納部110に格納されている文書に含まれる属性値「パソコン」に対応するカテゴリを示している。
図9は、カテゴリの階層構造において図7に示すカテゴリ情報124によって示されるカテゴリの下位に位置するカテゴリを示すカテゴリ情報のデータ構造の一例を示す。
図9に示す例では、カテゴリ情報126には、カテゴリ番号「c32」、親カテゴリ番号「c03」、カテゴリ名「カメラ」、文書番号「d15,d32,d69,…」および条件「製品の種類=“カメラ”」が含まれている。このカテゴリ情報126によれば、カテゴリ番号「c32」によって識別されるカテゴリの親カテゴリが親カテゴリ番号「c03」によって識別されるカテゴリ(つまり、図7に示すカテゴリ情報124によって示されるカテゴリ)であることが示されている。また、カテゴリ番号「c32」によって識別されるカテゴリのカテゴリ名が「カメラ」であることが示されている。また、カテゴリ番号「c32」によって識別されるカテゴリには、条件「製品の種類=“カメラ”」を満たす文書、つまり、文書番号「d15」、「d32」および「d69」等によって識別される文書が分類されていることが示されている。なお、条件「製品の種類=“カメラ”」は、文書が属性名「製品の種類」の属性値として「カメラ」を含むことを示している。
なお、図9に示すカテゴリ情報125は、文書格納部110に格納されている文書に含まれる属性値「カメラ」に対応するカテゴリを示している。
次に、図10のフローチャートを参照して、本実施形態に係る文書分析装置10の処理手順について説明する。
まず、文書分析装置10のユーザインタフェース部130に含まれるカテゴリ表示操作部131は、カテゴリ格納部120に格納されているカテゴリ情報に基づいて、階層構造を構成するカテゴリをユーザに対して提示するためのカテゴリ表示画面を表示する(ステップS1)。この場合、階層構造を構成するカテゴリは、カテゴリ格納部120に格納されているカテゴリ情報に含まれるカテゴリ番号、カテゴリ名および親カテゴリ番号に基づいて表示される。
ここで、図11は、カテゴリ表示画面の一例を示す。図11に示すカテゴリ表示画面150には、カテゴリ表示領域150a、タイトル表示領域150bおよび本文表示領域150cが設けられている。
カテゴリ表示領域150aには、カテゴリ格納部120に格納されているカテゴリ情報によって示されるカテゴリ(のカテゴリ名)が階層構造で表示される。図11に示す例では、カテゴリ表示領域150aには、ルートカテゴリの子カテゴリ(当該ルートカテゴリの一階層下位に位置するカテゴリ)として、「製品別」カテゴリおよび「評価別」カテゴリが表示されている。更に、カテゴリ表示領域150aには、「製品別」カテゴリの子カテゴリ(当該「製品別」カテゴリの一階層下位に位置するカテゴリ)として、「パソコン」カテゴリ、「カメラ」カテゴリ、「携帯電話」カテゴリおよび「電子レンジ」カテゴリが表示されている。ここで、カテゴリ表示領域150aに表示されている例えば「製品別」カテゴリとはカテゴリ名が「製品別」であるカテゴリであるものとし、他のカテゴリについても同様であるものとする。また、以下の説明においても同様に表記する。
なお、図11に示すカテゴリ表示領域150aに表示されているカテゴリのうちの「製品別」カテゴリおよび「評価別」カテゴリは、文書格納部110に格納されている文書に含まれる属性名「製品の種類」および「評価」に対応するカテゴリである。また、「パソコン」カテゴリ、「カメラ」カテゴリ、「携帯電話」カテゴリおよび「電子レンジ」カテゴリの各々は、属性名が「製品の種類」である属性の属性値「パソコン」、「カメラ」、「携帯電話」および「電子レンジ」に対応するカテゴリである。
また、図11に示すカテゴリ表示領域150aには表示されていないが、当該カテゴリ表示領域150aにおいてユーザが例えば「評価別」カテゴリを指定すると、属性名が「評価」である属性の属性値「成功」および「失敗」に対応するカテゴリ(つまり、「評価別」カテゴリの子カテゴリ)が表示される。
ここで、ユーザは、カテゴリ表示領域150aに表示されているカテゴリのうちの例えば1つを選択することができる。タイトル表示領域150bには、カテゴリ表示領域150aに表示されたカテゴリのうち、ユーザによって選択されたカテゴリに分類された文書のタイトル(当該文書に含まれる属性名「タイトル」に対する属性値)の一覧が表示される。図11に示す例では、カテゴリ表示領域150aに表示されているカテゴリのうち「パソコン」カテゴリが選択され、タイトル表示領域150bには、当該「パソコン」カテゴリに分類された文書のタイトルの一覧が表示されている。具体的には、タイトル表示領域150bには、「パソコン」カテゴリに分類された文書のタイトルとして、「GWキャンペーン」、「新年度4月キャッシュバックキャンペーン」、「夏のボーナスキャンペーン」および「冬のボーナスキャンペーン」が表示されている。
また、ユーザは、タイトル表示領域150bに表示されている文書のタイトルの一覧の中から例えば1つを選択することができる。本文表示領域150cには、タイトル表示領域150bに表示された文書のタイトルの一覧の中からユーザによって選択されたタイトルの文書の本文(属性名が「本文」である属性の属性値)が表示される。図11に示す例では、タイトル表示領域150bに表示されている文書のタイトルの一覧の中から「新年度4月キャッシュバックキャンペーン」が選択され、本文表示領域150cには、タイトルが当該「新年度4月キャッシュバックキャンペーン」である文書の本文「今度の新製品のキャンペーンでは、キャッシュバック1万円を検討している。」が表示されている。
再び図10に戻ると、ユーザは、カテゴリ表示操作部131によって表示されたカテゴリ表示画面(図11に示すような画面)に対して、各種情報を指定する操作を行うことができる。具体的には、ユーザは、文書分析装置10による分析の対象となる複数の文書(以下、分析対象文書と表記)、要因の抽出の対象となる目的変数、当該目的変数の要因となる単語が抽出されるテキスト、当該目的変数の要因となる属性値が抽出される属性、および当該目的変数の要因として抽出される単語の数(以下、抽出要因数)を指定する操作を行う。
カテゴリ表示操作部131は、ユーザによって上記したような各種情報を指定する操作が行われた場合、当該ユーザの指定操作を受け付ける(ステップS2)。
ここで、図12を参照して、ユーザが各種情報を指定する際の画面について説明する。この場合、ユーザは、カテゴリ表示画面150のカテゴリ表示領域150aに表示されているカテゴリを指定することによって分析対象文書を指定することができる。なお、図12に示すように、ユーザが例えばルートカテゴリを指定した場合、分析対象文書には、当該ルートカテゴリの下位に位置する全てのカテゴリに分類されている文書が含まれる。
また、ユーザが各種情報を指定する場合、カテゴリ表示画面150には、図12に示すように指定操作画面150dが表示される。この指定操作画面150dには、テキスト指定欄150e、目的変数指定欄150f、属性指定欄150g、抽出要因数指定欄150h、実行ボタン150iおよびキャンセルボタン150jが設けられている。
テキスト指定欄150eでは、上記した目的変数の要因となる単語が抽出されるテキスト(文字列)をユーザが指定することができる。テキスト指定欄150eにおいては、分析対象文書が有する属性であって文字列を含む属性値に対応する属性の属性名(ここでは、「タイトル」および「本文」)が表示されており、当該属性名の中から少なくとも1つをユーザが選択することができる。図12に示す例では、目的変数の要因となる単語が抽出されるテキストとして「タイトル」および「本文」が指定されている。この場合、属性名が「タイトル」および「本文」である属性の属性値に含まれる文字列(テキスト)が指定されたことになる。
目的変数指定欄150fでは、上記した要因の抽出の対象となる目的変数(つまり、要因を抽出することを望む目的変数)をユーザが指定することができる。なお、目的変数とは、上記したように評価の観点を有する属性である。ただし、目的変数指定欄150fにおいては、分析対象文書が有する属性の属性名のうち、上記したテキスト指定欄150eに表示されている属性名および文書番号以外の属性名(ここでは、「評価」、「製品の種類」および「報告日」)が全て表示されており、当該属性名のうちの1つをユーザが選択することができる。。図12に示す例では、要因の抽出の対象となる目的変数として「評価」(つまり、属性名が「評価」である属性)が指定されている。
属性指定欄150gでは、上記した目的変数の要因となる属性値が抽出される属性をユーザが指定することができる。属性指定欄150gにおいては、分析対象文書が有する属性の属性名のうち、上記したテキスト指定欄150eに表示されている属性名および文書番号以外の属性名(ここでは、「評価」、「製品の種類」および「報告日」)が表示されており、当該属性名のうちの1つをユーザが選択することができる。図12に示す例では、目的変数の要因となる属性値が抽出される属性として「製品の種類」(つまり、属性名が「製品の種類」である属性)が指定されている。
抽出要因数指定欄150hでは、上記した目的変数の要因として抽出される単語の数(抽出要因数)をユーザが指定することができる。抽出要因数指定欄150hにおいては、抽出要因数として例えば「5」、「10」、「20」、「30」および「40」が表示されており、当該抽出要因数のうちの1つをユーザが選択することができる。図12に示す例では、抽出要因数として「5」が指定されている。
上記した各欄150e〜150hの各々において指定操作が行われた後に、指定操作画面150dに設けられている実行ボタン150iが例えばマウス13等を用いて、ユーザによって指定(押下)された場合、後述する要因単語抽出処理が実行される。一方、指定操作画面150dに設けられているキャンセルボタン150jがマウス13等を用いて、ユーザによって指定(押下)された場合、例えば各欄150e〜150hにおいて行われた指定操作が無効となり、図11に示すカテゴリ表示画面に戻る。
再び図10に戻ると、カテゴリ表示操作部131によってユーザの指定操作が受け付けられると、要因抽出部140に含まれる要因単語抽出部141は、要因単語抽出処理を実行する(ステップS3)。この要因単語抽出処理によれば、ユーザによって指定された分析対象文書の各々のテキスト(文字列)に含まれる複数の単語の中から、ユーザによって指定された目的変数の要因となる単語が抽出される。要因単語抽出処理は、ユーザによって指定された目的変数の各値に基づいて分析対象文書が分類されたカテゴリ(目的変数のカテゴリ)および当該ユーザによって指定された属性の属性値に基づいて分析対象文書が分類されたカテゴリ(属性値のカテゴリ)等に基づいて実行される。なお、要因単語抽出処理の詳細については後述する。
次に、組要因抽出部142は、組要因抽出処理を実行する(ステップS4)。この組要因抽出処理によれば、要因単語抽出部141によって抽出された単語、目的変数のカテゴリおよび属性値のカテゴリに基づいて、当該単語と組み合わせて当該目的変数の要因となる属性値が抽出される。また、組要因抽出処理によれば、要因単語抽出部141によって抽出された単語および当該組要因抽出処理によって抽出された属性値を用いて上記した要因単語抽出処理に相当する処理が実行されることによって、要因単語抽出部141によって抽出された単語を補助する単語(以下、補助単語と表記)が抽出される。なお、組要因抽出処理の詳細については後述する。
ユーザインタフェース部130に含まれる2軸マップ可視化部132は、抽出結果表示処理を実行する(ステップS5)。この抽出結果表示処理によれば、ユーザによって指定された分析対象文書、要因単語抽出部141によって抽出された単語、組要因抽出部142によって抽出された属性値および補助単語に基づいて、例えば当該単語、属性値および補助単語を含む2軸マップが生成される。この2軸マップは、ユーザに対して提示される。なお、抽出結果表示処理の詳細については後述する。
次に、図13のフローチャートを参照して、上述した要因単語抽出処理(図10に示すステップS3の処理)の処理手順について詳細に説明する。なお、要因単語抽出処理は、要因抽出部140に含まれる要因単語抽出部141によって実行される。
以下、上記したようにユーザによって指定されたテキスト、目的変数および属性を、それぞれ指定テキスト、指定目的変数および指定属性と称する。なお、要因単語抽出処理以降の処理においても同様であるものとする。
まず、要因単語抽出部141は、要因単語抽出処理による抽出結果のリストを初期化する(ステップS11)。
次に、要因単語抽出部141は、分析対象文書(の各々)に含まれる指定テキストを取得する。要因単語抽出部141は、取得された指定テキストを形態素解析する(ステップS12)。要因単語抽出部141は、形態素解析結果に基づいて、形態素(以下、単語と表記)の集合を取得する。ここで要因単語抽出部141によって取得される単語の集合には、例えば品詞が名詞、動詞および形容詞等の自立語が含まれる。なお、ここで取得された単語は、指定目的変数の要因となる単語の候補である。
要因単語抽出部141は、分析対象文書を指定属性の属性値のカテゴリに自動分類する(ステップS13)。この場合、要因単語抽出部141は、指定属性の属性値毎に当該属性値のカテゴリを生成し、当該属性値を含む分析対象文書を当該属性値のカテゴリに分類する。具体的には、属性名が「製品の種類」である属性(以下、「製品の種類」属性と表記)が指定属性であるものとすると、当該「製品の種類」属性の属性値として例えば「パソコン」を含む分析対象文書が同一の属性値のカテゴリ(ここでは、属性値「パソコン」のカテゴリ)に分類される。他の属性値のカテゴリ(例えば、属性値「カメラ」のカテゴリ、属性値「携帯電話」のカテゴリ、属性値「電子レンジ」のカテゴリ等)についても同様に分析対象文書が分類される。
なお、上記したように属性値のカテゴリが生成された場合、後述する各種処理のために当該各属性値のカテゴリを示すカテゴリ情報(以下、属性値カテゴリ情報と表記)がカテゴリ格納部120に格納される。この属性値カテゴリ情報には属性値のカテゴリに分類された分析対象文書を識別するための文書番号等が含まれており、以下の処理において、各属性値のカテゴリに分類された文書等は、この属性値カテゴリ情報に基づいて特定することができるものとする。
また、要因単語抽出部141は、分析対象文書を目的変数のカテゴリに自動分類する(ステップS14)。この場合、要因単語抽出部141は、指定目的変数の値毎に目的変数のカテゴリを生成し、当該値を含む分析対象文書を当該目的変数のカテゴリに分類する。具体的には、属性名が「評価」である属性(以下、「評価」属性と表記)が指定目的変数であるものとすると、当該指定目的変数の値(つまり、「評価」属性の属性値)として例えば「成功」を含む分析対象文書が同一の目的変数のカテゴリ(ここでは、目的変数「成功」のカテゴリ)に分類される。他の目的変数のカテゴリ(例えば、目的変数「失敗」のカテゴリ)についても同様に分析対象文書が分類される。
なお、上記したように目的変数のカテゴリが生成された場合、後述する各種処理のために当該各目的変数のカテゴリを示すカテゴリ情報(以下、目的変数カテゴリ情報と表記)がカテゴリ格納部120に格納される。この目的変数カテゴリ情報には目的変数のカテゴリに分類された分析対象文書を識別するための文書番号等が含まれており、以下の処理において、各目的変数のカテゴリに分類された文書等は、この目的変数カテゴリ情報に基づいて特定することができるものとする。
次に、要因単語抽出部141によって取得された単語の各々について、以下のステップS15〜S17の処理が実行される。
この場合、要因単語抽出部141は、取得された単語の集合から単語を1つ取得する(ステップS15)。以下、このステップS15において取得された単語を対象単語と称する。
要因単語抽出部141は、各属性値のカテゴリに分類された分析対象文書であって対象単語を指定テキスト中に含む分析対象文書(の集合)が各目的変数のカテゴリで統計的に有意に偏って出現しているか否かを判定する(ステップS16)。
ここで、要因単語抽出処理におけるステップS16の判定処理について説明する。図14は、各属性値のカテゴリに分類された分析対象文書であって対象単語を指定テキスト中に含む分析対象文書の集合と、各目的変数のカテゴリに分類された分析対象文書の集合とをクロス集計した結果の一例を示す。なお、図14においては、「各属性値(のカテゴリ)∧ポイント」および「目的変数の各値(各目的変数のカテゴリ)」に対応づけられている数値は、当該属性値のカテゴリに分類された分析対象文書であって対象単語「ポイント」を指定テキスト中に含む分析対象文書の集合と当該目的変数のカテゴリに分類された分析対象文書の集合との両方に存在する文書(分析対象文書)の数を表している。
図14に示す例では、例えば属性値「パソコン」のカテゴリに分類された分析対象文書であって対象単語「ポイント」を指定テキスト中に含む分析対象文書の集合と、目的変数「成功」のカテゴリに分類された分析対象文書の集合との両方に存在する分析対象文書の数(以下、「パソコン∧ポイント」および「成功」の文書数と表記)は25である。また、属性値「パソコン」のカテゴリに分類された分析対象文書であって対象単語「ポイント」を指定テキスト中に含む分析対象文書の集合と、目的変数「失敗」のカテゴリに分類された分析対象文書の集合との両方に存在する分析対象文書の数(以下、「パソコン∧ポイント」および「失敗」の文書数と表記)は5である。これによれば、「パソコン∧ポイント」および「失敗」の文書数と比較すると、「パソコン∧ポイント」および「成功」の文書数が偏って多いことが示されている。
同様に、例えば属性値「カメラ」のカテゴリに分類された分析対象文書であって対象単語「ポイント」を指定テキスト中に含む分析対象文書の集合と、目的変数「成功」のカテゴリに分類された分析対象文書の集合との両方に存在する分析対象文書の数(以下、「カメラ∧ポイント」および「成功」の文書数と表記)は13である。また、属性値「カメラ」のカテゴリに分類された分析対象文書であって対象単語「ポイント」を指定テキスト中に含む分析対象文書の集合と、目的変数「失敗」のカテゴリに分類された分析対象文書の集合との両方に存在する分析対象文書の数(以下、「カメラ∧ポイント」および「失敗」の文書数と表記)は12である。これによれば、「カメラ∧ポイント」および「成功」の文書数と「カメラ∧ポイント」および「失敗」の文書数とで偏りがないことが示されている。
また、例えば属性値「携帯電話」のカテゴリに分類された分析対象文書であって対象単語「ポイント」を指定テキスト中に含む分析対象文書の集合と、目的変数「成功」のカテゴリに分類された分析対象文書の集合との両方に存在する分析対象文書の数(以下、「携帯電話∧ポイント」および「成功」の文書数と表記)は15である。また、属性値「携帯電話」のカテゴリに分類された分析対象文書であって対象単語「ポイント」を指定テキスト中に含む分析対象文書の集合と、目的変数「失敗」のカテゴリに分類された分析対象文書の集合との両方に存在する分析対象文書の数(以下、「携帯電話∧ポイント」および「失敗」の文書数と表記)は15である。これによれば、「携帯電話∧ポイント」および「成功」の文書数と「携帯電話∧ポイント」および「失敗」の文書数とで偏りがないことが示されている。
このような2つの集合を組み合わせた出現の偏りを判定する方法として、二元配置分散分析がある。従って、上記した要因単語抽出処理におけるステップS16の判定処理においては、二元配置分散分析を用いる。
以下、二元配置分散分析を用いた判定処理について具体的に説明する。この場合、以下の式(1)に基づいて行間偏差平方和Saが算出される。
次に、以下の式(2)に基づいて行間偏差平方和の自由度φaが算出される。
また、以下の式(3)に基づいて列間偏差平方和Sbが算出される。
次に、以下の式(4)に基づいて列間偏差平方和の自由度φbが算出される。
更に、以下の式(5)に基づいて総変動の偏差平方和Stが算出される。
また、以下の式(6)に基づいて総変動の偏差平方和の自由度φtが算出される。
次に、上記した式(1)、式(3)および式(5)に基づいて算出された行間偏差平方和Sa、列間偏差平方和Sbおよび総変動の偏差平方和Stを以下の式(7)に当てはめることによって、誤差変動和Seが算出される。
また、上記した式(2)、式(4)および式(6)に基づいて算出された行間偏差平方和の自由度φa、列間偏差平方和の自由度φbおよび総変動の偏差平方和の自由度φtを以下の式(8)に当てはめることによって、誤差変動和の自由度φeが算出される。
更に、上記した式(3)および式(4)に基づいて算出された列間偏差平方和Sbおよび当該列間偏差平方和の自由度φbを以下の式(9)に当てはめることによって、列間の分散Vbが算出される。
また、上記した式(7)および式(8)に基づいて算出された誤差変動和Seおよび当該誤差変動和の自由度φeを以下の式(10)に当てはめることによって、誤差の分散Veが算出される。
最後に、上記した式(9)および式(10)に基づいて算出された列間の分散Vbおよび誤差の分散Veを以下の式(11)に当てはめることによって、分散比Fbが算出される。
上記した二元配置分散分析を用いた判定処理においては、式(11)によって算出された分散比Fbが、式(4)によって算出された列間偏差平方和の自由度φb、式(8)によって算出された誤差変動和の自由度φeのF分布の値よりも大きければ、単語と属性値(離散値)とを組み合わせた集合は目的変数間で単語の出現確率の偏りが有意である、つまり、各属性値のカテゴリに分類された分析対象文書であって対象単語を指定テキスト中に含む分析対象文書(の集合)が各目的変数のカテゴリで統計的に有意に偏って出現していると判定される。なお、自由度φb、自由度φeのF分布の値は、例えば文書分析装置10において予め用意されているF分布表から取得されてもよいし、計算によって算出されても構わない。
上記したように各属性値のカテゴリに分類された分析対象文書であって対象単語を指定テキスト中に含む分析対象文書(の集合)が各目的変数のカテゴリで統計的に有意に偏って出現していると判定された場合(ステップS16のYES)、要因単語抽出部141は、対象単語を指定目的変数の要因として上記したリストに追加(登録)する(ステップS17)。
一方、各属性値のカテゴリに分類された分析対象文書であって対象単語を指定テキスト中に含む分析対象文書(の集合)が各目的変数のカテゴリで統計的に有意に偏って出現していないと判定された場合(ステップS16のNO)、上記したステップS17の処理は実行されない。
次に、要因単語抽出部141は、要因単語抽出部141によって取得された全ての単語について上記したステップS15〜S17の処理が実行されたか否かを判定する(ステップS18)。
全ての単語について処理が実行されていないと判定された場合(ステップS18のNO)、上記したステップS15に戻って処理が繰り返される。
一方、全ての単語について処理が実行されたと判定された場合(ステップS18のYES)、要因単語抽出部141は、リストを組要因抽出部142に対して出力する。なお、組要因抽出部142に対して出力されたリストには、分析対象文書に含まれる指定テキストを形態素解析することによって取得された複数の単語のうち、上記したように指定目的変数の要因となる単語が登録されている。
このように要因単語抽出処理においては、分析対象文書に含まれる指定テキストを形態素解析することによって取得された複数の単語の中から指定目的変数の要因となる単語を抽出することができる。
なお、上述した図12に示すように各種情報がユーザによって指定された場合には、例えば単語「ポイント」、「キャッシュバック」、「チラシ」、「入口」等が指定目的変数(ここでは、「評価」)の要因となる単語として抽出される。なお、ここでは4つの単語について例示したが、図12に示す例では抽出要因数として5がユーザによって指定されているため、要因単語抽出処理においては5つの単語が抽出される。
次に、図15および図16のフローチャートを参照して、上述した組要因抽出処理(図10に示すステップS4の処理)の処理手順について詳細に説明する。なお、組要因抽出処理は、要因抽出部140に含まれる組要因抽出部142によって実行される。
組要因抽出処理においては、組要因抽出部142は、要因単語抽出部141によって出力されたリスト(以下、要因抽出用リストと表記)に登録されている単語の各々について、以下のステップS21〜S32の処理を実行する。
この場合、組要因抽出部142は、要因抽出用リストに登録されている単語を1つ取得する(ステップS21)。以下、このステップS21において取得された単語を対象単語と称する。
次に、組要因抽出部142は、上述した属性値のカテゴリ(指定属性の属性値に基づいて分析対象文書が分類されたカテゴリ)の各々について、以下のステップS22〜S31の処理を実行する。
この場合、組要因抽出部142は、上記したようにカテゴリ格納部120に格納された属性値のカテゴリ(つまり、図13に示すステップS13において分析対象文書が分類された属性値のカテゴリ)を示す属性値カテゴリ情報を1つ取得する(ステップS22)。以下、このステップS22において取得された属性値カテゴリ情報によって示される属性値のカテゴリを属性値の対象カテゴリと称する。また、属性値の対象カテゴリにおける当該属性値(つまり、属性値の対象カテゴリに分類された分析対象文書に含まれる指定属性の属性値)を対象属性値と称する。
次に、組要因抽出部142は、上述した目的変数のカテゴリ(指定目的変数の値に基づいて分析対象文書が分類されたカテゴリ)の各々について、以下のステップS23〜S27の処理を実行する。
この場合、組要因抽出部142は、上記したようにカテゴリ格納部120に格納された目的変数のカテゴリ(つまり、図13に示すステップS14において分析対象文書が分類された目的変数のカテゴリ)を示す目的変数カテゴリ情報を1つ取得する(ステップS23)。以下、このステップS23において取得された目的変数カテゴリ情報によって示される目的変数のカテゴリを目的変数の対象カテゴリと称する。
次に、組要因抽出部142は、目的変数の対象カテゴリおよび属性値の対象カテゴリの両方に分類された分析対象文書であって対象単語を指定テキスト中に含む分析対象文書の数(以下、第1の文書数と表記)と、目的変数の対象カテゴリに分類された文書の数(以下、第2の文書数と表記)と、属性値の対象カテゴリに分類された分析対象文書であって対象単語を指定テキスト中に含む分析対象文書の数(以下、第3の文書数と表記)に基づいて第1のリフト値を算出する(ステップS24)。
第1のリフト値は、データマイニングの際の相関分析の指標の1つであり、例えば2つの事象の関連傾向の比率を表す。第1のリフト値は、上記した第1の文書数を第2の文書数と第3の文書数の積で割った値であり、以下の式(12)によって算出される。
なお、式(12)において、Coは目的変数の対象カテゴリ、Cjは属性値の対象カテゴリ、tiは対象単語を表している。また、|Co∧Cj∧ti|は目的変数の対象カテゴリおよび属性値の対象カテゴリの両方に分類された分析対象文書であって対象単語を指定テキスト中に含む分析対象文書の数(つまり、第1の文書数)、|Co|は目的変数の対象カテゴリに分類された分析対象文書の数(つまり、第2の文書数)、|Cj∧ti|は属性値の対象カテゴリに分類された分析対象文書であって対象単語を指定テキスト中に含む分析対象文書の数(つまり、第3の文書数)を表している。
ここで、図17を参照して、第1のリフト値の具体例について説明する。ここでは、対象単語が「ポイント」であり、属性値の対象カテゴリが属性値「パソコン」のカテゴリであり、目的変数の対象カテゴリが目的変数「成功」のカテゴリであるものとする。また、上記した第1の文書数が25であり、第2の文書数が30であり、第3の文書数が100であるものとする。この場合における第1のリフト値は、25/(30*100)=0.008となる。
組要因抽出部142は、算出された第1のリフト値が予め定められた値(以下、閾値と表記)以上であるか否かを判定する(ステップS25)。
第1のリフト値が閾値以上でないと判定された場合(ステップS25のNO)、後述するステップS28の処理が実行される。
一方、第1のリフト値が閾値以上であると判定された場合(ステップS25のYES)、組要因抽出部142は、目的変数の対象カテゴリおよび属性値の対象カテゴリの両方に分類された分析対象文書の数(以下、第4の文書数と表記)と、目的変数の対象カテゴリに分類された文書の数(以下、第5の文書数と表記)と、属性値の対象カテゴリに分類された分析対象文書の数(以下、第6の文書数と表記)に基づいて第2のリフト値を算出する(ステップS26)。
上記した第1のリフト値が対象単語を組み合わせた後のリフト値であるものとすると、第2のリフト値は、対象単語を組み合わせる前のリフト値であり、第4の文書数を第5の文書数と第6の文書数の積で割った値となる。つまり、第2のリフト値は、以下の式(13)によって算出される。
なお、式(13)において、上記したようにCoは目的変数の対象カテゴリ、Cjは属性値の対象カテゴリを表している。また、|Co∧Cj|は目的変数の対象カテゴリおよび属性値の対象カテゴリの両方に分類された分析対象文書の数(つまり、第4の文書数)、|Co|は目的変数の対象カテゴリに分類された分析対象文書の数(つまり、第5の文書数)、|Cj|は属性値の対象カテゴリに分類された分析対象文書の数(つまり、第6の文書数)を表している。
ここで、図18を参照して、第2のリフト値の具体例について説明する。ここでは、対象単語が「ポイント」であり、属性値の対象カテゴリが属性値「パソコン」のカテゴリであり、目的変数の対象カテゴリが目的変数「成功」のカテゴリであるものとする。また、上記した第4の文書数が45であり、第5の文書数が85であり、第6の文書数が500であるものとする。この場合における第2のリフト値は、45/(85*500)=0.001となる。
組要因抽出部142は、ステップS24において算出された第1のリフト値がステップS26において算出された第2リフト値より大きいか否かを判定する(ステップS27)。
第1のリフト値が第2のリフト値より小さいと判定された場合(ステップS27のNO)、組要因抽出部142は、全ての目的変数のカテゴリについてステップS23〜S27の処理が実行されたか否かを判定する(ステップS28)。全ての目的変数のカテゴリについて処理が実行されていないと判定された場合(ステップS28のNO)、上記したステップS23に戻って処理が繰り返される。一方、全ての目的変数のカテゴリについて処理が実行されたと判定された場合(ステップS28のYES)、後述するステップS32の処理が実行される。
また、上記したステップS27において第1のリフト値が第2のリフト値より大きいと判定された場合(ステップS27のYES)、組要因抽出部142は、要因抽出用リストに登録されている対象単語に対象属性値を追加(登録)する(ステップS29)。なお、上記した第1のリフト値および第2のリフト値の具体例を用いて説明すると、上記したように第1のリフト値が0.008であり、第2のリフト値が0.001である場合、第1のリフト値が第2のリフト値より大きいため、対象単語「ポイント」に対象属性値「パソコン」が追加される。
次に、組要因抽出部142は、対象単語および属性値の対象カテゴリに基づいて、補助単語抽出処理を実行する(ステップS30)。この補助単語抽出処理は前述した要因単語抽出処理と同様の処理であるため、組要因抽出部142によって要因単語抽出部141が呼び出され、当該要因単語抽出部141によって実行される。なお、補助単語抽出処理では、前述した要因単語抽出処理とは異なり、対象単語を指定テキスト中に含む分析対象文書であって属性値の対象カテゴリに分類された分析対象文書(以下、対象分析対象文書と表記)が対象とされる。
ここで、ステップS30において実行される補助単語抽出処理について、前述した図13を用いて説明する。なお、ここでは前述した図13と異なる部分について主に述べる。また、補助単語抽出処理は、要因単語抽出部141によって実行されるものとして説明する。
まず、図13に示すステップS1の処理が実行される。この場合、補助単語抽出処理による抽出結果のリスト(以下、補助単語用リスト)が初期化される。
次に、要因単語抽出部141は、上記した対象分析対象文書に含まれる指定テキストを形態素解析する(ステップS12)。これにより、要因単語抽出部141は、形態素解析結果に基づいて単語の集合を取得する。
ここで、補助単語抽出処理において図13に示すステップS13の処理が実行された場合、対象分析対象文書が有する指定属性の属性値は同一であるため、当該対象分析対象文書の全てが属性値の対象カテゴリに分類される。このため、補助単語抽出処理のいては、このステップS13の処理は省略されても構わない。
また、要因単語抽出部141は、対象分析対象文書を目的変数のカテゴリに自動分類する(ステップS14)。
次に、要因単語抽出部141によって取得された単語の各々について以下のステップS15〜S17の処理が実行される。
この場合、要因単語抽出部141は、取得された単語の集合から単語を1つ取得する(ステップS15)。以下、このステップS15において取得された単語を補助単語候補と称する。
要因単語抽出部141は、補助単語候補を指定テキスト中に含む対象分析対象文書(の集合)が各目的変数のカテゴリで統計的に有意に偏って出現しているか否かを判定する(ステップS16)。
ここで、補助単語抽出処理におけるステップS16の判定処理について説明する。図19は、補助単語候補を指定テキスト中に含む対象分析対象文書の集合と、各目的変数のカテゴリに分類された対象分析対象文書の集合とをクロス集計した結果の一例を示す。ここでは、属性値の対象カテゴリにおける当該属性値(つまり、対象属性値)が「パソコン」であり、対象単語が「ポイント」であり、補助単語候補が「永久」であるものとする。
なお、図19においては、「パソコン∧ポイント∧永久」および「目的変数の各値(各目的変数のカテゴリ)」に対応づけられている数値は、当該補助単語候補「永久」を指定テキスト中に含む対象分析対象文書(属性値「パソコン」のカテゴリに分類された分析対象文書であって対象単語「ポイント」をテキスト中に含む分析対象文書)の集合と当該目的変数のカテゴリに分類された対象分析対象文書の集合との両方に存在する文書の数を表している。
図19に示す例では、補助単語候補「永久」を指定テキスト中に含む対象分析対象文書の集合と目的変数「成功」のカテゴリに分類された対象分析対象文書の集合との両方に存在する文書の数(以下、「パソコン∧ポイント∧永久」および「成功」の文書数と表記)は23である。また、補助単語候補「永久」を指定テキスト中に含む対象分析対象文書の集合と目的変数「失敗」のカテゴリに分類された対象分析対象文書の集合との両方に存在する文書の数(以下、「パソコン∧ポイント∧永久」および「失敗」の文書数と表記)は2である。これによれば、「パソコン∧ポイント∧永久」および「失敗」の文書数と比較すると、「パソコン∧ポイント∧永久」および「成功」の文書数が偏って多いことが示されている。
このような集合間の出現確率の偏りの有意性を判定する方法として、一元配置分散分析がある。従って、上記した補助単語抽出処理におけるステップS16の判定処理においては、前述した要因単語抽出処理とは異なり、一元配置分散分析を用いる。
以下、一元配置分散分析を用いた判定処理について具体的に説明する。この場合、以下の式(14)に基づいて総平方和Stが算出される。
この式(14)において、df(t,D)は、対象分析対象文書集合をDとした場合において、当該文書集合Dにおける補助単語候補tを指定テキスト中に含む文書の数である。また、式(14)におけるCTは、以下の式(15)によって定義される。
なお、式(15)における|D|は、対象分析対象文書の数である。次に、以下の式(16)に基づいて群間平方和(全体集合に対する目的変数の値毎での出現確率の偏りの平方和)Saが算出される。
この式(16)において、aは目的変数のカテゴリの数である。また、目的変数のカテゴリをobC1,obC2,…,obCaとした場合におけるdf(t,obCi)は、当該obCiに分類された対象分析対象文書集合における補助単語候補tを指定テキスト中に含む文書の数である。また、|obCi|は、当該obCiに分類された対象分析対象文書の数である。
また、以下の式(17)に基づいて群間平方和の自由度φaが算出される。
次に、上記した式(14)および式(16)に基づいて算出された総平方和Stおよび群間平方和Saを以下の式(18)に当てはめることによって、誤差変動和Seが算出される。
また、以下の式(19)に基づいて誤差変動和の自由度φeが算出される。
次に、上記した式(16)および式(17)に基づいて算出された群間平方和Saおよび当該群間平方和の自由度φaを以下の式(20)に当てはめることによって、群間の分散Vaが算出される。
更に、上記した式(18)および式(19)に基づいて算出された誤差変動和Seおよび当該誤差変動和の自由度φeを以下の式(21)に当てはめることによって、誤差の分散Veが算出される。
最後に、上記した式(20)および式(21)に基づいて算出された群間の分散Vaおよび誤算の分散Veを以下の式(22)に当てはめることによって、分散比Faが算出される。
上記した一元配置分散分析を用いた判定処理においては、式(22)によって算出された分散比Faが、式(17)によって算出された群間平方和の自由度φa、式(19)によって算出された誤差変動和の自由度φeのF分布の値よりも大きければ、各目的変数のカテゴリ間で、補助単語候補と対象単語および対象属性値との組の出現確率の偏りが有意である、つまり、補助単語候補を指定テキスト中に含む対象分析対象文書(の集合)が各目的変数のカテゴリで統計的に有意に偏って出現していると判定される。なお、自由度φa、自由度φeのF分布の値は、例えば文書分析装置10において予め用意されているF分布表から取得されてもよいし、計算によって算出されても構わない。
上記したように補助単語候補を指定テキスト中に含む対象分析対象文書(の集合)が各目的変数のカテゴリで統計的に有意に偏って出現していると判定された場合(ステップS16のYES)、要因単語抽出部141は、対象単語を補助する補助単語として補助単語候補を補助単語用リストに追加(登録)する(ステップS17)。
ステップS17の処理が実行されると、前述した図13に示すステップS18以降の処理が実行される。
上記したように補助単語抽出処理が実行された場合には、対象分析対象文書の指定テキストを形態素解析することによって取得された単語の中から対象単語を補助する補助単語が抽出される。
再び図15および図16に戻ると、組要因抽出部142は、補助単語抽出処理によって抽出された補助単語(つまり、補助単語用リストに登録された補助単語)を、上記した対象単語および対象属性値に対応づけて要因抽出用リストに追加(登録)する(ステップS31)。つまり、要因抽出用リストには、対象単語、対象属性値および補助単語の組が登録される。
ステップS31の処理が実行された場合、または上記したステップS28において全ての目的変数のカテゴリについて処理が実行されたと判定された場合、組要因抽出部142は、全ての属性値のカテゴリについて上記したステップS22〜S31の処理が実行されたか否かを判定する。
全ての属性値のカテゴリについて処理が実行されていないと判定された場合(ステップS32のNO)、上記したステップS22に戻って処理が繰り返される。
一方、全ての属性値のカテゴリについて処理が実行されたと判定された場合(ステップS32のYES)、組要因抽出部142は、要因抽出用リストに登録されている全ての単語について上記したステップS22〜S32の処理が実行されたか否かを判定する(ステップS33)。
全ての単語について処理が実行されていないと判定された場合(ステップS33のNO)、上記したステップS21に戻って処理が繰り返される。
一方、全ての単語について処理が実行されたと判定された場合(ステップS33のYES)、組要因抽出部142は、要因抽出用リストをユーザインタフェース部130(に含まれる2軸マップ可視化部132)に対して出力する(ステップS34)。
このように組要因抽出処理においては、要因抽出用リストに登録された単語とともに指定目的変数の要因となる属性値および当該単語を補助する補助単語が抽出される。
ここで、図20は、組要因抽出部142によって出力された要因抽出用リストの一例を示す。
図20に示すように、要因抽出用リストには、要因単語抽出部141によって抽出された単語、当該単語とともに指定目的変数の要因となる属性値および当該単語を補助する補助単語の組が登録されている。
なお、上記した要因単語抽出部141によって抽出された1つの単語(つまり、要因抽出用リストに登録されている単語)に対して複数の補助単語が補助単語抽出処理において抽出された場合、当該単語、属性値および当該補助単語の各々の組がそれぞれ要因抽出用リストに登録される。
具体的には、例えば要因単語抽出部141によって抽出された単語「ポイント」に対して2つの補助単語「永久」および「倍」が抽出された場合には、図20に示すように、要因抽出用リストには、単語「ポイント」、属性値「パソコン」、補助単語「永久」の組および単語「ポイント」、属性値「パソコン」、補助単語「倍」の組が登録される。
次に、図21のフローチャートを参照して、前述した抽出結果表示処理(図10に示すステップS5の処理)の処理手順について説明する。なお、抽出結果表示処理は、ユーザインタフェース部130に含まれる2軸マップ可視化部132によって実行される。
まず、2軸マップ可視化部132は、2軸マップ可視化部132の返り値であるviewリストを初期化する(ステップS41)。
次に、2軸マップ可視化部132は、組要因抽出部142によって出力された要因抽出用リストに登録されている単語、属性値および補助単語の組の各々から、単語および補助単語(つまり、当該単語を補助する単語)のペアと、属性値とを抽出する。以下、単語および補助単語のペアを単語ペアと称する。
2軸マップ可視化部132は、抽出された単語ペアおよび属性値を並び替える(ステップS42)。この場合、要因抽出用リストに登録されている単語、属性値および補助単語の組の各々から抽出された複数の単語ペアは、当該単語ペア(つまり、単語および補助単語)を指定テキスト中に含む分析対象文書の数の順に並び替えられる。一方、要因抽出用リストに登録されている単語、属性値および補助単語の組の各々から抽出された複数の属性値は、当該要因抽出用リストにおいて当該属性値に対応づけられている単語の数(ペアとなる単語の数)、つまり、当該属性値とともに指定目的変数の要因となる単語の数の順に並び替えられる。
次に、2軸マップ可視化部132は、並び替えられた単語ペア(つまり、要因抽出用リストに登録されている単語ペア)の各々について、例えば当該並び替えられた順に以下のステップS43〜S48の処理を実行する。
この場合、2軸マップ可視化部132は、並び替えられた単語ペアを1つ取得する(ステップS43)。以下、ステップS43において取得された単語ペアを対象単語ペアと称する。
次に、2軸マップ可視化部132は、並び替えられた属性値(つまり、要因抽出用リストに登録されている属性値)のカテゴリの各々について、例えば当該並び替えられた順に以下のステップS44〜S47の処理を実行する。
この場合、2軸マップ可視化部132は、並び替えられた属性値のカテゴリを示す属性値カテゴリ情報をカテゴリ格納部120から1つ取得する(ステップS44)。以下、このステップS43において取得された属性値カテゴリ情報によって示される属性値のカテゴリを属性値の対象カテゴリと称する。また、属性値の対象カテゴリにおける当該属性値(つまり、属性値の対象カテゴリに分類された分析対象文書に含まれる指定属性の属性値)を対象属性値と称する。
2軸マップ可視化部132は、対象単語ペア(つまり、単語および補助単語)を指定テキスト中に含む分析対象文書集合および属性値の対象カテゴリに分類された分析対象文書集合の両方に出現する文書集合を特定する(ステップS45)。
2軸マップ可視化部132は、目的変数のカテゴリ毎に、特定された文書集合のうち当該目的変数のカテゴリに分類された文書数を特定する(ステップS46)。
2軸マップ可視化部132は、特定された文書数を、対象単語ペアおよび対象属性値に対応づけて上記したviewリストに追加(登録)する(ステップS47)。
次に、2軸マップ可視化部132は、並び替えられた全ての属性値のカテゴリについて上記したステップS44〜S47の処理が実行されたか否かを判定する(ステップS48)。
並び替えられた全ての属性値のカテゴリについて処理が実行されていないと判定された場合(ステップS48のNO)、上記したステップS44に戻って処理が繰り返される。
一方、並び替えられた全ての属性値のカテゴリについて処理が実行されたと判定された場合(ステップS48のYES)、2軸マップ可視化部132は、並び替えられた全ての単語ペアについて上記したステップS43〜S48の処理が実行されたか否かを判定する(ステップS49)。
並び替えられた全ての単語ペアについて処理が実行されていないと判定された場合(ステップS49のNO)、上記したステップS43に戻って処理が繰り返される。
一方、並び替えられた全ての単語ペアについて処理が実行されたと判定された場合(ステップS49のYES)、2軸マップ可視化部132は、viewリストを出力する(ステップS50)。これにより、viewリストの内容は、例えば2軸マップとしてディスプレイ15に表示される。
ここで、図22は、2軸マップ可視化部132によって出力されたviewリストが表示された場合の表示画面の一例を示す。ここでは、viewリストの内容が例えば2軸マップの形式で表示されている例について説明する。
図22に示す表示画面200においては、縦軸に単語ペア(指定目的変数の要因となる単語および当該単語を補助する補助単語)の一覧が表示され、横軸に属性値(当該単語とともに指定目的変数の要因となる属性値)の一覧が表示されている。図22に示す例では、表示画面200の縦軸には、「キャッシュバック 半額」、「ポイント 永久」、「ポイント 倍」、「チラシ 配布」および「入口 配置」が表示されている。一方、表示画面200の横軸には、「パソコン」、「テレビ」、「洗濯機」、「冷蔵庫」、「エアコン」が表示されている。なお、この縦軸の単語ペアおよび横軸の属性値の並び順は、上記した図21に示すステップS42の処理結果に基づくものである。
また、表示画面200においては、縦軸の単語ペアと横軸の属性値とがクロスした欄に、当該単語ペアを指定テキスト中に含む分析対象文書集合および当該属性値のカテゴリに分類された分析対象文書集合の両方に出現する文書集合のうち各目的変数のカテゴリに分類された分析対象文書の数を円グラフで示している。なお、単語ペアを指定テキスト中に含む分析対象文書集合および属性値のカテゴリに分類された分析対象文書集合の両方に出現する文書集合のうち各目的変数のカテゴリに分類された分析対象文書の数は、上述した図21に示すステップS47の処理においてviewリストに登録されている。
具体的には、単語ペア「キャッシュバック 半額」と属性値「パソコン」とがクロスした欄には、当該「キャッシュバック」および「半額」を指定テキスト中に含む分析対象文書集合および当該属性値「パソコン」のカテゴリに分類された分析対象文書集合の両方に出現する文書集合のうち各目的変数のカテゴリ(ここでは、目的変数「成功」および「失敗」のカテゴリ)に分類された分析対象文書の数が当該数の割合を表す円グラフで表示されている。
なお、図22に示す例では、単語ペアを指定テキスト中に含む分析対象文書集合および当該属性値のカテゴリに分類された分析対象文書集合の両方に出現する文書集合のうち、目的変数「成功」のカテゴリに分類された分析対象文書の数の割合を斜線部分が表している。
また、図22に示す表示画面200において、円グラフに付加されている数値は、目的変数「成功」および「失敗」のカテゴリに分類された分析対象文書の数のうち多い方の数を示している。具体的には、単語ペア「キャッシュバック 半額」と属性値「パソコン」とがクロスした欄では、目的変数「成功」のカテゴリに分類された分析対象文書の数として120が示されている。
ここでは、目的変数のカテゴリの各々に分類された分析対象文書の数のうち多い方の数が表示されるものとして説明したが、目的変数のカテゴリの各々に分類された分析対象文書の数のうち少ない方の数についても表示してもよいし、例えば各目的変数のカテゴリの各々に分類された分析対象文書の数の割合(%)等を示す数値が表示されてもよい。
ここでは、単語ペア「キャッシュバック 半額」および属性値「パソコン」について主に説明したが、他の単語ペアおよび属性値についても同様である。
このような表示画面200が表示されることによって、ユーザは、単語ペアおよび属性値(ここでは、製品の種類)の組み合わせに対して「成功」または「失敗」が多い(少ない)ということを容易に認識することができる。具体的には、単語ペア「キャッシュバック 半額」および属性値「パソコン」の組み合わせについては「成功」の数が多いことから、ユーザは、パソコンの営業活動において半額をキャッシュバックすることが成功の要因になり得ることを認識することができる。
なお、図22に示す例では、縦軸の単語ペアと横軸の属性値とがクロスした欄に円グラフが表示されるものとして説明したが、上記した当該単語ペアを指定テキスト中に含む分析対象文書集合および当該属性値のカテゴリに分類された分析対象文書集合の両方に出現する文書集合のうち各目的変数のカテゴリに分類された分析対象文書の数はユーザによって容易に認識されるような態様で表示されればよい。
また、図22に示すように2軸マップが表示される方が好ましいが、例えば単語ペアに含まれる単語(要因単語抽出部141によって抽出された単語)および属性値(当該単語とともに指定目的変数の要因となる属性値)のみが表示される構成であっても構わない。例えば単語「キャッシュバック」および属性値「パソコン」が表示された場合には、ユーザは、パソコンの営業活動において「キャッシュバック」の観点が目的変数(成功または失敗)の要因であることを認識することができる。
上記したように本実施形態においては、分析対象文書に含まれる文字列を解析することによって複数の単語を取得し、当該取得された単語毎に、当該単語からなる文字列を含む分析対象文書であって属性値のカテゴリの各々に分類された分析対象文書の集合が、各目的変数のカテゴリにおいて統計的に有意に偏って出現しているかを判定し、当該分析対象文書の集合が各目的変数のカテゴリにおいて統計的に有意に偏って出現していると判定された単語を目的変数の要因として抽出し、属性値のカテゴリ毎に第1のリフト値を算出し、当該第1のリフト値が閾値以上であり、第2のリフト値より大きい場合、当該第1のリフト値が算出された属性値のカテゴリに分類された文書に含まれる属性値を、目的変数の要因として抽出し、当該抽出された単語および属性値を提示する構成により、例えばユーザ自身が様々な属性とキーワードを組み合わせて分析することなく、目的変数の要因を自動的に抽出することが可能となり、ユーザは、当該目的変数の要因(事象に対する要因)を容易に認識することができる。
また、本実施形態においては、上述した補助単語抽出処理において補助単語を抽出して提示する構成により、目的変数の要因として意味がある言語表現をより正確に抽出して提示することができるため、例えば上記したように単語および属性値のみを提示する場合と比較して、ユーザは、より目的変数の要因を的確に認識することが可能となる。具体的には、上記したように単語「キャッシュバック」および属性値「パソコン」が表示された場合には、ユーザは、パソコンの営業活動においてキャッシュバックをすることは考え得るが、どの程度キャッシュバックをすることが成功の要因となるかについては認識することができない。これに対して、上記したように補助単語「半額」が更に提示されることによって、ユーザは、パソコンの営業活動において半額キャッシュバックをすることが成功の要因となることを容易に認識することが可能となる。
また、本実施形態においては、目的変数の要因として抽出された属性値を含む文書の集合および当該目的変数の要因として抽出された単語を含む文書の集合の両方に存在する文書であって、目的変数のカテゴリの各々に分類された文書の数を更に提示する構成により、ユーザは、提示された属性値および単語が要因として影響する目的変数(例えば、成功または失敗)を容易に把握することができる。
なお、上記した実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
更に、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であってもよい。
なお、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。