以下、図面を参照して、各実施形態について説明する。
(第1の実施形態)
まず、図1および図2を参照して、第1の実施形態について説明する。図1は、本実施形態に係る文書分析装置のハードウェア構成を示すブロック図である。図1に示すように、コンピュータ10は、例えばハードディスクドライブ(HDD:Hard Disk Drive)のような外部記憶装置20と接続されている。この外部記憶装置20は、コンピュータ10によって実行されるプログラム21を格納する。コンピュータ10および外部記憶装置20は、文書分析装置30を構成する。
図2は、図1に示す文書分析装置30の主として機能構成を示すブロック図である。図2に示すように、文書分析装置30は、ユーザインタフェース部31および説明属性分類部32を含む。本実施形態において、これらの各部31および32は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム21を実行することにより実現されるものとする。このプログラム21は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム21が、例えばネットワークを介してコンピュータ10にダウンロードされても構わない。
また、文書分析装置30は、文書記憶部22およびカテゴリ記憶部23を含む。本実施形態において、文書記憶部22およびカテゴリ記憶部23は、例えば外部記憶装置20に格納される。
文書記憶部22には、文書分析装置30による分析の対象となる複数の文書(データ)が記憶される。文書記憶部22に記憶されている文書は、複数の属性を有する。文書記憶部22に記憶されている文書には、当該文書が有する属性の属性名および属性値が含まれる。なお、文書が例えば商品に関するアンケートの文書である場合、当該文書が有する属性の属性名には、例えば商品名、開発社および購入日等が含まれる。また、属性名が例えば商品名である属性の属性値には、自社商品1、他社商品2および他社商品3等が含まれる。
カテゴリ記憶部23には、文書記憶部22に記憶されている複数の文書が分類されたカテゴリの各々を示すカテゴリ情報(つまり、当該複数の文書の分類結果)が記憶される。具体的には、カテゴリ記憶部23には、例えば文書が有する属性の属性値に基づいて文書記憶部22に記憶されている複数の文書が分類された結果が記憶される。
なお、文書記憶部22およびカテゴリ記憶部23は、例えばファイルシステムまたはデータベース等を用いて実現される。
ユーザインタフェース部31は、カテゴリ表示操作部311および2軸マップ可視化部312を含む。
カテゴリ表示操作部311は、カテゴリ記憶部23に記憶されているカテゴリ情報に基づいて階層構造を構成するカテゴリをユーザに対して提示(表示)する。また、カテゴリ表示操作部311は、提示された階層構造を構成するカテゴリに対するユーザの操作(選択操作)を受け付ける。これにより、カテゴリ表示操作部311は、ユーザの操作に応じて、文書記憶部22に記憶されている文書が有する複数の属性の中から当該ユーザが文書の分析において目的とする属性(第1の属性)および当該属性に対して特徴のある別の属性、つまり、当該属性を説明するための属性(第2の属性)を選択する。以下の説明においては、ユーザが文書の分析において目的とする属性を目的属性、当該目的属性を説明するための属性を説明属性と称する。
なお、カテゴリ表示操作部311は、例えばソフトウェアにおいてグラフィカル・ユーザ・インタフェース(GUI)と称される技術によって実現される。
2軸マップ可視化部312は、カテゴリ表示操作部311によって選択された目的属性および後述する説明属性分類部32による処理結果に基づいて2軸マップを生成する。2軸マップ可視化部312によって生成された2軸マップは、ユーザに対して提示される。
説明属性分類部32は、説明属性クラスタリング部321、特徴属性抽出部322および説明属性再分類部323を含む。
説明属性クラスタリング部321は、カテゴリ表示操作部311によって選択された目的属性の属性値に基づいて複数の文書(文書記憶部22に記憶されている複数の文書)が分類された複数のカテゴリ(第1のカテゴリ)を示すカテゴリ情報(第1のカテゴリ情報)をカテゴリ記憶部23から取得する。以下、目的属性の属性値に基づいて複数の文書が分類された各カテゴリを目的属性のカテゴリと称する。なお、目的属性の各カテゴリには、当該カテゴリに対応する目的属性の属性値を含む文書(集合)が分類される。
また、説明属性クラスタリング部321は、カテゴリ表示操作部311によって選択された説明属性の属性値に基づいて複数の文書(文書記憶部22に記憶されている複数の文書)が分類された複数のカテゴリ(第2のカテゴリ)を示すカテゴリ情報(第2のカテゴリ情報)をカテゴリ記憶部23から取得する。以下、説明属性の属性値に基づいて複数の文書が分類された各カテゴリを説明属性のカテゴリと称する。なお、説明属性の各カテゴリには、当該カテゴリに対応する説明属性の属性値を含む文書(集合)が分類される。
説明属性クラスタリング部321は、取得されたカテゴリ情報(第1および第2のカテゴリ情報)に基づいて、説明属性のカテゴリ毎に、当該説明属性のカテゴリに分類された文書数に対する目的属性の各カテゴリおよび当該説明属性のカテゴリの両方に分類された文書数の割合を算出する。
説明属性クラスタリング部321は、説明属性のカテゴリ毎に算出された割合に基づいて、複数の説明属性のカテゴリを複数のカテゴリ(第3のカテゴリ)に分類する。つまり、説明属性クラスタリング部321は、複数の説明属性のカテゴリの各々が分類された新たな説明属性のカテゴリを生成する。
特徴属性抽出部322は、文書記憶部22に記憶されている文書が有する複数の属性の属性値毎に、説明属性クラスタリング部321によって生成された説明属性の各カテゴリに分類された文書における当該属性値を含む文書数および文書記憶部22に記憶されている複数の文書における当該属性値を含む文書数を算出する。特徴属性抽出部322は、算出された各文書数に基づいて、説明属性クラスタリング部321によって生成された説明属性のカテゴリ毎に当該カテゴリにおいて特徴的な属性を抽出する。
説明属性再分類部323は、説明属性クラスタリング部321によって生成された説明属性のカテゴリ毎に、当該説明属性のカテゴリに属する文書数に対する目的属性の各カテゴリおよび当該説明属性のカテゴリの両方に分類された文書数の割合と、当該説明属性のカテゴリに分類された文書における特徴属性抽出部322によって抽出された属性(当該説明属性のカテゴリにおいて特徴的な属性)の属性値を含む文書数とを算出する。
説明属性再分類部323は、説明属性クラスタリング部321によって生成された説明属性のカテゴリ毎に算出された割合と文書数とに基づいて、当該複数の説明属性のカテゴリを複数のカテゴリ(第4のカテゴリ)に再分類する。つまり、説明属性再分類部323は、説明属性クラスタリング部321によって生成された説明属性のカテゴリが再分類された新たな説明属性のカテゴリを生成する。この場合、カテゴリ記憶部23には、説明属性再分類部323によって生成された説明属性のカテゴリの各々を示すカテゴリ情報が記憶される。
なお、説明属性再分類部323によって生成された説明属性のカテゴリは、例えばユーザインタフェース部31を介してユーザに対して提示される。
また、説明属性再分類部323によって生成された説明属性のカテゴリ(説明属性再分類部323による再分類結果)は、上記した2軸マップ可視化部312による2軸マップの生成において用いられる。
図3は、図2に示す文書記憶部22に記憶されている文書のデータ構造の一例を示す。文書記憶部22に記憶されている文書は、複数の属性を有する。文書記憶部22に記憶されている文書には、当該文書が有する属性毎に属性名、属性値および型が対応づけて含まれる。
属性名は、文書の種類に応じて当該文書が有する属性の名称である。属性値は、文書が有する属性の値である。型は、文書に含まれる属性値(データ)の型である。型には、例えば文字列型、テキスト型、日付型および数値型等が含まれる。なお、データ同士は、同じ型でなければ統合(結合)することはできない。
ここで、図3は、商品のアンケートの文書221の一例を示す。図3に示す例では、文書221には、当該文書221が有する属性の属性名として、当該文書221を識別するための文書番号、当該文書のタイトル、本文、アンケートの対象である商品の商品名、当該商品の開発社、購入日、購入者業種、購入者年収、購入者年齢層および商品評価が含まれている。
また、文書221には、例えば属性名「文書番号」に対応づけて属性値「D01」および型「文字列型」が含まれている。これによれば、文書221を識別するための文書番号が「D01」であり、その型が「文字列型」であることが示されている。
また、文書221には、例えば属性名「タイトル」に対応づけて属性値「携帯電話B111の評判結果」および型「テキスト型」が含まれている。これによれば、文書221のタイトルが「携帯電話B111の評判結果」であり、その型が「テキスト型」であることが示されている。
ここでは、属性名「文書番号」および「タイトル」(に対応づけられている属性値および型)について説明したが、文書221には、他の属性名についても同様に属性値および型が当該属性名に対応づけて含まれている。
なお、以下の説明においては、文書において属性名に対応づけられている属性値を単に属性名に対する属性値と表記する。
図4〜図9は、図2に示すカテゴリ記憶部23に記憶されているカテゴリ情報のデータ構造の一例を示す。カテゴリ記憶部23に記憶されているカテゴリ情報は、文書記憶部22に記憶されている文書が分類されたカテゴリを示す。なお、カテゴリ記憶部23に記憶されているカテゴリ情報によって示されるカテゴリは、例えば階層構造を構成する。
図4〜図9に示すように、カテゴリ情報には、カテゴリ番号、親カテゴリ番号、カテゴリ名および文書番号が含まれる。なお、図6、図8および図9に示すように、カテゴリ情報には、必要に応じて条件が含まれても構わない。
カテゴリ番号は、カテゴリを一意に識別するための識別子である。親カテゴリ番号は、階層構造においてカテゴリ番号によって識別されるカテゴリの一階層上位に位置するカテゴリ(親カテゴリ)を識別するためのカテゴリ番号を示す。カテゴリ名は、カテゴリ番号によって識別されるカテゴリの名称を示す。文書番号は、カテゴリ番号によって識別されるカテゴリに分類された文書を識別するための文書番号を示す。また、条件は、カテゴリ番号によって識別されるカテゴリに分類される文書が満たすべき条件を示す。
なお、カテゴリ記憶部22に記憶されるカテゴリ情報は、例えば文書記憶部22に記憶されている文書が有する属性の属性名または属性値単位のカテゴリ(つまり、属性名または属性値に対応するカテゴリ)を示す。
図4は、カテゴリの階層構造におけるルートのカテゴリ(以下、ルートカテゴリと表記)を示すカテゴリ情報のデータ構造の一例を示す。
図4に示す例では、カテゴリ情報231には、カテゴリ番号「c01」、親カテゴリ番号「(なし)」、カテゴリ名「(ルート)」および文書番号「(なし)」が含まれている。このカテゴリ情報231によれば、カテゴリ番号「c01」によって識別されるルートカテゴリのカテゴリ名が「(ルート)」であることが示されている。なお、親カテゴリ番号「(なし)」は、階層構造においてカテゴリ番号「c01」によって識別されるカテゴリ(ルートカテゴリ)の親カテゴリは存在しないことが示されている。また、文書番号「(なし)」は、カテゴリ番号「c01」によって識別されるルートカテゴリには文書が分類されていないことが示されている。なお、以下に説明するカテゴリ情報に含まれる文書番号「(なし)」についても同様であるため、その説明については省略する。
図5は、カテゴリの階層構造においてルートカテゴリの下位に位置するカテゴリを示すカテゴリ情報のデータ構造の一例を示す。
図5に示す例では、カテゴリ情報232には、カテゴリ番号「c02」、親カテゴリ番号「c01」、カテゴリ名「商品名別」および文書番号「(なし)」が含まれている。このカテゴリ情報232によれば、カテゴリ番号「c02」によって識別されるカテゴリの親カテゴリが親カテゴリ番号「c01」によって識別されるカテゴリ(つまり、ルートカテゴリ)であることが示されている。また、カテゴリ番号「c02」によって識別されるカテゴリのカテゴリ名が「商品名別」であることが示されている。
なお、図5に示すカテゴリ情報232は、文書記憶部22に記憶されている文書に含まれる属性名「商品名」のカテゴリ(属性名「商品名」に対応するカテゴリ)を示している。
図6は、カテゴリの階層構造において図5に示すカテゴリ情報232によって示されるカテゴリの下位に位置するカテゴリを示すカテゴリ情報のデータ構造の一例を示す。
図6に示す例では、カテゴリ情報233には、カテゴリ番号「c21」、親カテゴリ番号「c02」、カテゴリ名「自社商品1」、文書番号「d15,d23,d36,…」および条件「商品名=“自社商品1”」が含まれている。このカテゴリ情報233によれば、カテゴリ番号「c21」によって識別されるカテゴリの親カテゴリが親カテゴリ番号「c02」によって識別されるカテゴリ(つまり、図5に示すカテゴリ情報232によって示されるカテゴリ)であることが示されている。また、カテゴリ番号「c21」によって識別されるカテゴリのカテゴリ名が「自社商品1」であることが示されている。また、カテゴリ番号「c21」によって識別されるカテゴリには、条件「商品名=“自社商品1”」を満たす文書、つまり、文書番号「d15」、「d23」および「d36」によって識別される文書が分類されていることが示されている。なお、条件「商品名=“自社商品1”」は、文書が属性名「商品名」の属性値として「自社商品1」を含むことを示している。
なお、図6に示すカテゴリ情報233は、文書記憶部22に記憶されている文書に含まれる属性値「自社商品1」のカテゴリ(属性値「自社商品1」に対応するカテゴリ)を示している。
図7は、カテゴリの階層構造においてルートカテゴリの下位に位置するカテゴリを示すカテゴリ情報のデータ構造の一例を示す。
図7に示す例では、カテゴリ情報234には、カテゴリ番号「c03」、親カテゴリ番号「c01」、カテゴリ名「評価別」および文書番号「(なし)」が含まれている。このカテゴリ情報234によれば、カテゴリ番号「c03」によって識別されるカテゴリの親カテゴリが親カテゴリ番号「c01」によって識別されるカテゴリ(つまり、ルートカテゴリ)であることが示されている。また、カテゴリ番号「c03」によって識別されるカテゴリのカテゴリ名が「評価別」であることが示されている。
なお、図7に示すカテゴリ情報234は、文書記憶部22に記憶されている文書に含まれる属性名「商品評価」のカテゴリ(属性名「商品評価」に対応するカテゴリ)を示している。
図8は、カテゴリの階層構造において図7に示すカテゴリ情報234によって示されるカテゴリの下位に位置するカテゴリを示すカテゴリ情報のデータ構造の一例を示す。
図8に示す例では、カテゴリ情報235には、カテゴリ番号「c31」、親カテゴリ番号「c03」、カテゴリ名「かっこ良い」、文書番号「d07,d23,d58,…」および条件「商品評価=“かっこ良い”」が含まれている。このカテゴリ情報235によれば、カテゴリ番号「c31」によって識別されるカテゴリの親カテゴリが親カテゴリ番号「c03」によって識別されるカテゴリ(つまり、図7に示すカテゴリ情報234によって示されるカテゴリ)であることが示されている。また、カテゴリ番号「c31」によって識別されるカテゴリのカテゴリ名が「かっこ良い」であることが示されている。また、カテゴリ番号「c31」によって識別されるカテゴリには、条件「商品評価=“かっこ良い”」を満たす文書、つまり、文書番号「d07」、「d23」および「d58」によって識別される文書が分類されていることが示されている。なお、条件「商品評価=“かっこ良い”」は、文書が属性名「商品評価」の属性値として「かっこ良い」を含むことを示している。
なお、図8に示すカテゴリ情報235は、文書記憶部22に記憶されている文書に含まれる属性値「かっこ良い」のカテゴリ(属性値「かっこ良い」に対応するカテゴリ)を示しめしている。
図9は、カテゴリの階層構造において図7に示すカテゴリ情報234によって示されるカテゴリの下位に位置するカテゴリを示すカテゴリ情報のデータ構造の一例を示す。
図9に示す例では、カテゴリ情報236には、カテゴリ番号「c32」、親カテゴリ番号「c03」、カテゴリ名「シンプル」、文書番号「d15,d32,d69,…」および条件「商品評価=“シンプル”」が含まれている。このカテゴリ情報235によれば、カテゴリ番号「c32」によって識別されるカテゴリの親カテゴリが親カテゴリ番号「c03」によって識別されるカテゴリ(つまり、図7に示すカテゴリ情報234によって示されるカテゴリ)であることが示されている。また、カテゴリ番号「c32」によって識別されるカテゴリのカテゴリ名が「シンプル」であることが示されている。また、カテゴリ番号「c32」によって識別されるカテゴリには、条件「商品評価=“シンプル”」を満たす文書、つまり、文書番号「d15」、「d32」および「d69」によって識別される文書が分類されていることが示されている。なお、条件「商品評価=“シンプル”」は、文書が属性名「商品評価」の属性値として「シンプル」を含むことを示している。
なお、図9に示すカテゴリ情報236は、文書記憶部22に記憶されている文書に含まれる属性値「シンプル」のカテゴリ(属性値「シンプル」に対応するカテゴリ)を示している。
上記したように、例えば属性名「商品評価」のカテゴリ(図7のカテゴリ情報234によって示されるカテゴリ)の下位に位置するカテゴリとして属性値「かっこ良い」のカテゴリ(図8のカテゴリ情報235によって示されるカテゴリ)および属性値「シンプル」のカテゴリ(図9のカテゴリ情報236によって示されるカテゴリ)が存在する。ここで、属性値「かっこ良い」および「シンプル」は、属性名「商品評価」に対する属性値(属性名が「商品評価」である属性の属性値)である。つまり、属性名「商品評価」のカテゴリの下位には、当該属性名「商品評価」に対する属性値の各々に基づいて複数の文書が分類された各カテゴリ(当該属性名に対する各属性値のカテゴリ)が存在する。ここでは、属性名「商品評価」のカテゴリについて説明したが、他の属性名のカテゴリの下位にも同様に当該属性名に対する各属性値のカテゴリが存在する。
なお、上記した図4、図5および図7に示す例では文書番号「(なし)」がカテゴリ情報に含まれているが、これは当該カテゴリ情報によって示されるカテゴリに直接分類された文書が存在しないことを意味しており、当該カテゴリの下位に位置するカテゴリに分類された文書は存在する。つまり、文書番号「(なし)」を含むカテゴリ情報によって示されるカテゴリであっても、下位に位置するカテゴリを介して間接的に分類された文書は存在し得る。
また、上記した図6、図8および図9に示す例では文書番号および条件がカテゴリ情報に含まれるものとして説明したが、カテゴリ情報には、文書番号および条件の一方のみが含まれる構成であっても構わない。
以下の説明においては、あるカテゴリに対して一階層下位に位置するカテゴリを子カテゴリと称する。具体的には、上記した図6に示すカテゴリ情報233によって示されるカテゴリは、図5に示すカテゴリ情報232によって示されるカテゴリの子カテゴリと称する。
次に、図10のフローチャートを参照して、本実施形態に係る文書分析装置30の処理手順について説明する。ここで説明する文書分析装置30の処理は、例えば当該文書分析装置30を利用するユーザからの指示に応じて実行される。
まず、文書分析装置30のユーザインタフェース部31に含まれるカテゴリ表示操作部311は、カテゴリ記憶部23に記憶されているカテゴリ情報に基づいて、階層構造を構成するカテゴリをユーザに対して表示(提示)する(ステップS1)。この場合、階層構造を構成するカテゴリは、カテゴリ記憶部23に記憶されているカテゴリ情報に含まれるカテゴリ番号、カテゴリ名および親カテゴリ番号に基づいて表示される。
ここで、図11は、階層構造を構成するカテゴリがユーザに対して表示された際の画面の一例を示す。
図11に示す画面100には、カテゴリ表示領域100a、タイトル表示領域100bおよび本文表示領域100cが設けられている。
カテゴリ表示領域100aには、カテゴリ記憶部23に記憶されているカテゴリ情報によって示されるカテゴリ(のカテゴリ名)が階層構造で表示される。図11に示す例では、カテゴリ表示領域100aには、ルートカテゴリの子カテゴリとして、「商品名別」カテゴリおよび「評価別」カテゴリが表示されている。更に、カテゴリ表示領域100aには、「評価別」カテゴリの子カテゴリとして、「かっこ良い」カテゴリ、「シンプル」カテゴリ、「大人っぽい」カテゴリ、「かわいい」カテゴリおよび「ビジネス向け」カテゴリが表示されている。ここで、カテゴリ表示領域100aに表示されている例えば「商品名別」カテゴリとは、カテゴリ名が「商品名別」であるカテゴリである。他のカテゴリについても同様であるものとする。また、以下の説明においても同様に表記する。
なお、図11に示すカテゴリ表示領域100aに表示されているカテゴリのうちの「商品名別」カテゴリおよび「評価別」カテゴリは、文書記憶部22に記憶されている文書に含まれる属性名「商品名」および「商品評価」のカテゴリである。また、「かっこ良い」カテゴリ、「シンプル」カテゴリ、「大人っぽい」カテゴリ、「かわいい」カテゴリおよび「ビジネス向け」カテゴリの各々は、属性名「商品評価」に対する属性値「かっこ良い」、「シンプル」、「大人っぽい」、「かわいい」および「ビジネス向け」のカテゴリである。
また、図11に示す画面100には表示されていないが、当該画面100においてユーザが例えば「商品名別」カテゴリを指定すると、属性名「商品名」に対する属性値(例えば、「自社商品1」、「他社商品2」および「他社商品3」等)のカテゴリ(つまり、「商品名別」カテゴリの子カテゴリ)が表示される。
ここで、ユーザは、カテゴリ表示領域100aに表示されているカテゴリのうちの例えば1つを選択することができる。タイトル表示領域100bには、カテゴリ表示領域100aに表示されたカテゴリのうち、ユーザによって選択されたカテゴリに分類された文書のタイトル(当該文書に含まれる属性名「タイトル」に対する属性値)の一覧が表示される。図11に示す例では、カテゴリ表示領域100aに表示されているカテゴリのうち「かっこ良い」カテゴリが指定され、タイトル表示領域100bには、当該「かっこ良い」カテゴリに分類された文書のタイトルの一覧が表示されている。具体的には、タイトル表示領域100bには、「かっこ良い」カテゴリに分類された文書のタイトルとして、「A社のA123のデザインについて」、「携帯電話B111の評判結果」、「C社のC111の使い勝手について」および「D社のD134のデザインについて」が表示されている。
また、ユーザは、タイトル表示領域100bに表示されている文書のタイトルの一覧の中から例えば1つを選択することができる。本文表示領域100cには、タイトル表示領域100bに表示された文書のタイトルの一覧の中からユーザによって選択されたタイトルの文書の本文(当該文書に含まれる属性名「本文」に対する属性値)が表示される。図11に示す例では、タイトル表示領域100bに表示されている文書のタイトルの一覧の中から「携帯電話B111の評判結果」が選択され、本文表示領域100cには、タイトルが当該「携帯電話B111の評判結果」である文書の本文「地下に入ると、電話が入り辛い所があるが、デザインがかっこ良い」が表示されている。
再び図10に戻ると、カテゴリ表示操作部311は、階層構造を構成するカテゴリが表示されている画面(例えば、図11に示す画面100)に対するユーザの操作に応じて、目的属性(文書の分析において目的とする属性)および説明属性(当該目的属性を説明するための属性)を選択する(ステップS2)。
ここで、上述したように階層構造を構成するカテゴリ(のカテゴリ名)は、文書が有する属性の属性名または当該属性の属性値に対応する(つまり、文書が有する属性はカテゴリと対応する)。このため、ユーザは、例えばカテゴリ表示操作部311によって表示された階層構造を構成するカテゴリのうちの1つのカテゴリを指定する操作を行うことによって、当該カテゴリに対応する属性を目的属性として指定することができる。ここで、ユーザによって指定されるカテゴリは、属性名のカテゴリであり、少なくとも子カテゴリ(つまり、属性値のカテゴリ)が存在するものとする。カテゴリ表示操作部311は、このようなユーザの操作に基づいて、当該ユーザによって指定された属性を目的属性として選択する。
また、ユーザは、文書記憶部22に記憶されている文書が有する複数の属性の属性名のうちの例えば1つの属性名を指定する操作を行うことによって、当該属性を説明属性として指定することができる。カテゴリ表示操作部311は、このようなユーザの操作に基づいて、当該ユーザによって指定された属性を説明属性として選択する。
ここで、図12を参照して、ユーザが目的属性および説明属性を指定する際の画面について説明する。
ここでは、例えば自社の商品を購入し、他社の商品をあまり購入していない人(購入者)の商品の評価について分析を行う場合を想定する。この場合には、ユーザは、カテゴリが表示された画面上で、図12に示すように「商品名別」カテゴリを指定する。これにより、カテゴリ表示操作部311は、属性名が「商品名」である属性(つまり、「商品名別」カテゴリに対応する属性)を目的属性として選択する。
また、カテゴリ表示操作部311によって目的属性が選択されると、図12に示すように、画面100には、説明属性を選択するためのサブ画面100dが表示される。このサブ画面100dには、文書が有する複数の属性の属性名が表示される。図12に示すサブ画面100dには、上述した図3に示す文書211が有する属性の属性名「タイトル」、「本文」、「商品名」、「開発社」、「購入日」、「購入者業種」、「購入者年収」、「購入者年齢層」および「商品評価」が表示されている。
ここでは、上記したように商品の評価について分析するため、ユーザは、サブ画面100dに表示されている複数の属性名の中から属性名「商品評価」を指定する。これにより、カテゴリ表示操作部311は、属性名が「商品評価」である属性を説明属性として選択する。
再び図10に戻ると、説明属性分類部32に含まれる説明属性クラスタリング部321は、カテゴリ表示操作部311によって選択された目的属性の各属性値のカテゴリ(当該属性値を含む文書が分類された各カテゴリ)および説明属性の属性名(および属性値)に基づいて、説明属性クラスタリング処理を実行する(ステップS3)。この説明属性クラスタリング処理においては、目的属性の属性値に基づいて複数の文書が分類されたカテゴリ(目的属性のカテゴリ)との相関が高く(大きく)なるように、説明属性の属性値に基づいて複数の文書が分類された複数のカテゴリ(説明属性のカテゴリ)が新たな複数のカテゴリに分類される。ここで、相関が高くなるとは、目的属性のカテゴリと説明属性のカテゴリとの両方に分類された文書数が、説明属性のあるカテゴリでは多くなり、他のカテゴリでは少なくなるような関係をいう。
この説明属性クラスタリング処理においては、目的属性の各カテゴリおよび説明属性の各カテゴリの両方に分類された文書数に基づいて当該説明属性のカテゴリ間の類似度が算出され、当該算出された類似度が予め定められた条件を満たす場合には当該説明属性のカテゴリは同一のカテゴリに分類される。このような説明属性クラスタリング処理が実行されることによって、説明属性の各カテゴリが分類された新たな説明属性のカテゴリが生成される。なお、説明属性クラスタリング処理の詳細については後述する。
次に、特徴属性抽出部322は、説明属性クラスタリング部321によって生成された説明属性のカテゴリ毎に、文書が有する属性の中から当該説明属性のカテゴリにおいて特徴的な属性(の属性名および属性値)を抽出する処理(以下、特徴属性抽出処理と表記)を実行する(ステップS4)。なお、特徴属性抽出処理の詳細については後述する。
説明属性再分類部323は、説明属性クラスタリング部321によって生成された説明属性の各カテゴリおよび特徴属性抽出部322によって抽出された当該説明属性のカテゴリにおいて特徴的な属性に基づいて、当該説明属性のカテゴリを再分類する処理(以下、説明属性再分類処理と表記)が実行される(ステップS5)。具体的には、説明属性再分類処理においては、目的属性の各カテゴリおよび説明属性クラスタリング部321によって生成された説明属性の各カテゴリの両方に分類された文書数に基づいて当該説明属性のカテゴリ間の類似度が算出され、当該算出された類似度が予め定められた条件を満たす場合には当該説明属性のカテゴリは同一のカテゴリに分類される。このような説明属性再分類処理が実行されることによって、説明属性クラスタリング部321によって生成された説明属性の各カテゴリが再分類された新たな説明属性のカテゴリが生成される。なお、説明属性再分類処理の詳細については後述する。
説明属性再分類部323によって生成された説明属性の各カテゴリ(のカテゴリ名)は、例えばユーザインタフェース部31を介してユーザに対して提示される(ステップS6)。なお、説明属性再分類部323によって説明属性再分類処理が実行されると、当該説明属性再分類部323によって生成された説明属性の各カテゴリを示すカテゴリ情報がカテゴリ記憶部23に記憶される。
次に、ユーザインタフェース部31に含まれる2軸マップ可視化部312は、目的属性の各カテゴリと説明属性再分類部323によって生成された説明属性の各カテゴリとの2軸マップを生成する処理(以下、2軸マップ生成処理と表記)を実行する(ステップS7)。2軸マップ可視化部312によって生成される2軸マップには、目的属性の各カテゴリおよび説明属性再分類部323によって生成された説明属性の各カテゴリの両方に分類された文書数が含まれる。また、2軸マップ可視化部312によって生成される2軸マップには、目的属性の各カテゴリにおいて特徴的な属性が含まれる。なお、2軸マップ生成処理の詳細については、後述する。
2軸マップ生成処理が実行されると、2軸マップ可視化部312は、生成された2軸マップをユーザに対して提示(表示)する(ステップS8)。ユーザに対して提示される2軸マップの詳細については後述する。
次に、図13および図14のフローチャートを参照して、上述した説明属性クラスタリング処理(図10に示すステップS3の処理)の処理手順について説明する。なお、説明属性クラスタリング処理は、カテゴリ表示選択部311によって選択された目的属性および説明属性(の属性名および属性値等の情報)を入力値として、説明属性クラスタリング部321によって実行される。
まず、説明属性クラスタリング部321は、カテゴリ表示操作部311によって選択された説明属性の属性値で、文書記憶部22に記憶されている複数の文書を自動分類する(ステップS11)。この自動分類により、カテゴリ表示操作部311によって選択された説明属性の属性値に基づいて複数の文書が分類された複数のカテゴリ(説明属性のカテゴリ)が生成される。具体的には、カテゴリ表示操作部311によって選択された説明属性の属性値を含む文書が分類されたカテゴリが当該説明属性の属性値毎に生成される。なお、ステップS1の処理が実行されると、自動分類によって生成された説明属性の各カテゴリを示すカテゴリ情報がカテゴリ記憶部23に記憶される。この説明属性の各カテゴリを示すカテゴリ情報には、上述したように当該説明属性のカテゴリに分類された文書を識別するための文書番号等が含まれる。
なお、例えば説明属性の各カテゴリが既に生成されており、当該カテゴリを示すカテゴリ情報がカテゴリ記憶部23に記憶されている場合には、ステップS11の処理は省略されても構わない。
次に、説明属性クラスタリング部321は、説明属性のカテゴリの各々について以下のステップS12〜S17の処理を実行する。説明属性のカテゴリCeに対してステップS12〜S17の処理が実行されることによって、当該説明属性のカテゴリCeの特徴を表すベクトル(以下、カテゴリベクトルveと表記)が生成される。以下、この処理の対象となる説明属性のカテゴリを説明属性のカテゴリCeとする。
まず、説明属性クラスタリング部321は、説明属性のカテゴリCeを示すカテゴリ情報をカテゴリ記憶部23から取得する(ステップS12)。
次に、説明属性クラスタリング部321は、目的属性のカテゴリ(目的属性の属性値に基づいて複数の文書が分類されたカテゴリ)の各々についてステップS13〜S15の処理を実行する。この処理の対象となる目的属性のカテゴリを目的属性のカテゴリCoとする。
説明属性クラスタリング部321は、目的属性のカテゴリCoを示すカテゴリ情報をカテゴリ記憶部23から取得する(ステップS13)。
説明属性クラスタリング部321は、説明属性のカテゴリCeに対する目的属性のカテゴリCoの確信度(conf(Ce,Co))を算出する(ステップS14)。説明属性クラスタリング部321は、ステップS12において取得された説明属性のカテゴリCeを示すカテゴリ情報およびステップS13において取得された目的属性のカテゴリCoを示すカテゴリ情報に基づいて算出処理を実行する。
具体的には、conf(Ce,Co)は、|Ce∧Co|/|Ce|によって算出される。ここで、|Ce∧Co|は、説明属性のカテゴリCeおよび目的属性のカテゴリCoの両方に分類された文書数である。また、|Ce|は、説明属性のカテゴリCeに分類された文書数(全文書数)である。つまり、conf(Ce,Co)は、説明属性のカテゴリCeに分類された文書数に対する説明属性のカテゴリCeおよび目的属性のカテゴリCoの両方に分類された文書数の割合を示す。
説明属性クラスタリング部321は、算出されたconf(Ce,Co)を、カテゴリベクトルveの1つの次元の値(ベクトル値)とする(ステップS15)。
ここで、説明属性クラスタリング部321は、全ての目的属性のカテゴリについて上記したステップS13〜S15の処理が実行されたか否かを判定する(ステップS16)。
全ての目的属性のカテゴリについて処理が実行されていないと判定された場合(ステップS16のNO)、上記したステップS13に戻って処理が繰り返される。この場合、ステップS13〜S15の処理が実行されていない目的属性のカテゴリを目的属性のカテゴリCoとして処理が実行される。
このように目的属性のカテゴリの各々についてステップS13〜S15の処理が繰り返されることによって、説明属性のカテゴリCeに対して目的属性のカテゴリ毎に確信度(conf(Ce,Co))が算出され、当該目的属性のカテゴリ毎に算出された確信度を各次元の値とするカテゴリベクトルveが生成される。
上記したように目的属性のカテゴリの各々についてステップS13〜S15の処理が繰り返された結果、全ての目的属性のカテゴリについて処理が実行されたと判定された場合(ステップS16のYES)、説明属性クラスタリング部321は、生成されたカテゴリベクトルveの各次元の値をノルム|ve|で割ることによって、当該カテゴリベクトルveを正規化する(ステップS17)。これにより、カテゴリベクトルveは、ノルムが1のベクトルとなる。
ここで、説明属性クラスタリング部321は、全ての説明属性のカテゴリについて上記したステップS12〜S17の処理が実行されたか否かを判定する(ステップS18)。
全ての説明属性のカテゴリについて処理が実行されていないと判定された場合(ステップS18のNO)、上記したステップS12に戻って処理が繰り返される。この場合、ステップS12〜S17の処理が実行されていない説明属性のカテゴリを説明属性のカテゴリCeとして処理が実行される。このように説明属性のカテゴリの各々についてステップS12〜S17の処理が繰り返されることによって、当該説明属性のカテゴリ毎の正規化されたカテゴリベクトルが生成される。
上記したように説明属性のカテゴリの各々についてステップS12〜S17の処理が繰り返された結果、全ての説明属性のカテゴリについて処理が実行されたと判定された場合(ステップS18のYES)、説明属性クラスタリング部321は、説明属性のカテゴリの各々について以下のステップS19〜S29の処理を実行する。以下、この処理の対象となる説明属性のカテゴリを説明属性のカテゴリCeとする。
まず、説明属性クラスタリング部321は、以下の処理において用いられるcmaxおよびsmaxを初期化する(ステップS19)。この場合、説明属性クラスタリング部321は、cmaxをなし、smaxを0とする。
次に、説明属性クラスタリング部321は、分類先カテゴリがあるか否かを判定する(ステップS20)。なお、上記したようにステップS19〜S29の処理は説明属性のカテゴリの各々について実行されるが、ここで処理の対象である説明属性のカテゴリCeが当該説明属性のカテゴリのうちの1つ目(つまり、処理順が最初)である場合には、後述するように分類先カテゴリが生成されていないため、分類先カテゴリがないと判定される。
ステップS20において分類先カテゴリがないと判定された場合には、後述するステップS25の処理が実行される。
一方、ステップS20において分類先カテゴリがあると判定された場合には、説明属性クラスタリング部321は、分類先カテゴリの各々について以下のステップS21〜S23の処理を実行する。以下、この処理の対象となる分類先カテゴリを分類先カテゴリCnとする。
説明属性クラスタリング部321は、上記したステップS12〜S15の処理によって生成された説明属性のカテゴリCeのカテゴリベクトルveおよび分類先カテゴリCnのカテゴリベクトル(以下、カテゴリベクトルvnと表記)に基づいて、当該説明属性のカテゴリCeおよび分類先カテゴリCn間の類似度(以下、類似度sと表記)を算出する(ステップS21)。この類似度sは、例えば説明属性のカテゴリCeのカテゴリベクトルveおよび分類先カテゴリのカテゴリベクトルvnの余弦値である。なお、分類先カテゴリCnのカテゴリベクトルvnの詳細については後述する。
次に、説明属性クラスタリング部321は、算出された類似度sが予め定められた条件を満たすか否かを判定する(ステップS22)。ここで、予め定められた条件とは、例えば類似度sが予め定められた値(閾値)以上であることを示す。つまり、類似度sが閾値以上である場合には条件を満たすと判定され、類似度sが閾値未満である場合には条件を満たさないと判定される。
類似度sが条件を満たすと判定された場合(ステップS22のYES)、説明属性クラスタリング部321は、cmax=分類先カテゴリCn、smax=sとする(ステップS21)。つまり、説明属性クラスタリング部321は、cmaxに分類先カテゴリCnを、smaxに類似度sを代入する。
一方、類似度sが条件を満たさないと判定された場合(ステップS22のNO)、ステップS21の処理は実行されない。
次に、説明属性クラスタリング部321は、全ての分類先カテゴリについて上記したステップS21〜S23の処理が実行されたか否かを判定する(ステップS24)。
全ての分類先カテゴリについて処理が実行されていないと判定された場合(ステップS24のNO)、上記したステップS21に戻って処理が繰り返される。この場合、ステップS21〜S23の処理が実行されていない分類先カテゴリを分類先カテゴリCnとして処理が実行される。
一方、全ての分類先カテゴリについて処理が実行されたと判定された場合(ステップS24のYES)、説明属性クラスタリング部321は、上記した分類先カテゴリの各々についてステップS21〜S23の処理が実行された結果、cmaxとされた分類先カテゴリ(以下、分類先カテゴリcmaxと表記)が存在するか否かを判定する(ステップS25)。
なお、上記したようにステップS20において分類先カテゴリがないと判定された場合にはステップS25の処理が実行されるが、この場合、ステップS21〜S23の処理が実行されていないため、分類先カテゴリcmaxが存在しないと判定される。この他、上記したステップS21において算出された類似度sの全てが閾値未満であるような場合には、分類先カテゴリcmaxが存在しないと判定される。
ステップS25において分類先カテゴリcmaxが存在しないと判定された場合、説明属性クラスタリング部321は、説明属性のカテゴリCeを分類先カテゴリとする(ステップS26)。つまり、分類先カテゴリcmaxが存在しない場合には、ステップS26において新たな分類先カテゴリ(分類先カテゴリnew)が生成される。ここで生成された分類先カテゴリnewのカテゴリベクトルは、当該分類先カテゴリnewとされた説明属性のカテゴリCeのカテゴリベクトルveとする。
一方、ステップS25において分類先カテゴリcmaxが存在すると判定された場合、説明属性クラスタリング部321は、説明属性のカテゴリCeを当該分類先カテゴリcmaxに分類する(ステップS27)。このステップS27の処理によって、分類先カテゴリcmaxおよび説明属性のカテゴリCeが統合され、新たな分類先カテゴリ(分類先カテゴリnew)とされる。
次に、説明属性カテゴリクラスタリング部321は、説明属性のカテゴリCeが分類される前の分類先カテゴリcmaxのカテゴリベクトルに、当該説明属性のカテゴリCeのカテゴリベクトルveを加算する(ステップS28)。これにより、ステップS27における分類先カテゴリnew(説明属性のカテゴリCeが分類された後の分類先カテゴリ)のカテゴリベクトルが算出される。つまり、この場合における分類先カテゴリnewのカテゴリベクトルは、分類先カテゴリcmaxのカテゴリベクトルおよび当該分類先カテゴリcmaxに分類された説明属性のカテゴリCeのカテゴリベクトルveの和である。
説明属性クラスタリング部321は、算出された分類先カテゴリnewのカテゴリベクトルの各次元の値をノルムで割ることによって、当該分類先カテゴリnewのカテゴリベクトルを正規化する(ステップS29)。
上記したステップS26またはS29が実行されると、説明属性クラスタリング部321は、全ての説明属性のカテゴリについて上記したステップS19〜S29の処理が実行されたか否かを判定する(ステップS30)。
全ての説明属性のカテゴリについて処理が実行されていないと判定された場合(ステップS30のNO)、上記したステップS19に戻って処理が繰り返される。この場合、ステップS19〜S29の処理が実行されていない説明属性のカテゴリを説明属性のカテゴリCeとして処理が実行される。なお、上記したようにステップS19に戻って処理が繰り返される場合、ステップS20〜S23においては、上記したステップS24またはS25における分類先カテゴリnewは1つの分類先カテゴリとして扱われる。
一方、全ての説明属性のカテゴリについて処理が実行されたと判定された場合(ステップS30のYES)、説明属性クラスタリング部321は、上記したステップS19〜S29の処理が実行された結果である全ての分類先カテゴリを、説明属性クラスタリング処理の返り値とする(ステップS31)。なお、この説明属性クラスタリング処理の返り値は、特徴属性抽出部322に渡される。
このように説明属性クラスタリング処理が実行されることによって、当該説明属性のカテゴリの各々が分類先カテゴリに分類される、つまり、説明属性のカテゴリ間のクラスタリングが行われる。これにより、説明属性のカテゴリの各々が統合され、新たな説明属性のカテゴリ(上述した分類先カテゴリ)が生成される。なお、説明属性クラスタリング部321によって生成された新たな説明属性のカテゴリのカテゴリ名は、当該カテゴリに分類された(統合された)説明属性の各カテゴリのカテゴリ名を組み合わせたものとする。また、説明属性クラスタリング部321によって生成された新たな説明属性のカテゴリに分類された文書とは、当該カテゴリに分類された(統合された)説明属性の各カテゴリに分類された文書の和集合である。
なお、上記したように説明属性クラスタリング処理においては、説明属性のカテゴリの各々が統合されて新たな説明属性のカテゴリが生成される。このため、説明属性クラスタリング処理においては、当該説明属性クラスタリング処理が実行される前の説明属性のカテゴリより少ない数の新たな説明属性のカテゴリが生成される。
ここで、図15および図16を参照して、上記した説明属性クラスタリング処理の処理結果の一例について簡単に説明する。
まず、図15を用いて説明属性クラスタリング処理が実行される前の目的属性の各カテゴリおよび説明属性の各カテゴリについて説明する。なお、図15においては、各カテゴリ間の相関(関係)が分かり易いように、便宜的に目的属性の各カテゴリおよび説明属性の各カテゴリを2軸マップで示している。なお、目的属性の各カテゴリおよび説明属性の各カテゴリに対応づけられている数値は、当該目的属性のカテゴリおよび説明属性のカテゴリの両方に分類された文書数を表す。図16についても同様である。
ここでは、属性名が「商品名」である属性が目的属性としてカテゴリ表示操作部311によって選択され、属性名が「商品評価」である属性が説明属性としてカテゴリ表示操作部311によって選択されているものとする。以下、目的属性として選択された属性(属性名が「商品名」である属性)を目的属性「商品名」と称し、説明属性として選択された属性(属性名が「商品評価」である属性)を説明属性「商品評価」と称するものとする。
この場合、目的属性「商品名」の各カテゴリ(つまり、目的属性「商品名」の属性値に基づいて文書が分類された各カテゴリ)には、図15に示す「自社商品1」カテゴリ、「他社商品2」カテゴリおよび「他社商品3」カテゴリが含まれるものとする。また、説明属性「商品評価」の各カテゴリ(つまり、目的属性「商品評価」の属性値に基づいて文書が分類された各カテゴリ)には、図15に示す「かっこ良い」カテゴリ、「シンプル」カテゴリ、「大人っぽい」カテゴリおよび「かわいい」カテゴリが含まれるものとする。
このような目的属性「商品名」の各カテゴリおよび説明属性「商品評価」の各カテゴリに対して上記した説明属性クラスタリング処理が実行されると、図16に示すような説明属性「商品評価」のカテゴリが生成される。
つまり、図16に示す例では、説明属性クラスタリング処理において、図15に示す説明属性「商品評価」の「シンプル」カテゴリおよび「大人っぽい」カテゴリが統合されて、「シンプル 大人っぽい」カテゴリが生成されている。換言すれば、説明属性クラスタリング処理が実行されることによって、図15に示す説明属性「商品評価」の「かっこ良い」カテゴリ、「シンプル」カテゴリ、「大人っぽい」カテゴリおよび「かわいい」カテゴリの4つのカテゴリから、図16に示す「かっこ良い」カテゴリ、「シンプル 大人っぽい」カテゴリおよび「かわいい」カテゴリの3つのカテゴリが新たに生成されている。
ここで、図15を参照すると、説明属性「商品評価」の「シンプル」カテゴリおよび「大人っぽい」カテゴリは、目的属性「商品名」の「他社商品2」カテゴリと互いに共通する文書数が他のカテゴリ(「自社商品1」カテゴリおよび「他社商品3」カテゴリ)と比較して多い。
つまり、説明属性クラスタリング処理においては、説明属性のカテゴリに分類された文書における目的属性の各カテゴリに分類された文書の散らばり具合(上述した説明属性のカテゴリのカテゴリベクトル)に基づいて、当該散らばり具合が似ている度合い(上述した類似度)が高い説明属性のカテゴリ同士が統合される。
次に、図17のフローチャートを参照して、上述した特徴属性抽出処理(図10に示すステップS4の処理)の処理手順について説明する。この特徴属性抽出処理においては、説明属性クラスタリング部321によって生成された説明属性の各カテゴリにおいて特徴的な属性が抽出される。なお、特徴属性抽出処理は、説明属性クラスタリング部321によって生成された説明属性のカテゴリ(説明属性クラスタリング処理における分類結果)を入力値として、特徴属性抽出部322によって実行される。この特徴属性抽出処理の説明においては、説明属性クラスタリング部321によって生成された説明属性のカテゴリを単に説明属性のカテゴリと称する。
特徴属性抽出部322は、説明属性のカテゴリの各々について以下のステップS41〜S49の処理を実行する。以下、この処理の対象となる説明属性のカテゴリを説明属性のカテゴリCeとする。
この場合、特徴属性抽出部322は、以下の処理において用いられるmaxscoreおよびmaxceを初期化する(ステップS41)。このとき、特徴属性抽出部322は、maxscoreを0とし、maxceをなしとする。
次に、特徴属性抽出部322は、説明属性のカテゴリCeに分類された文書に含まれる属性値(当該文書が有する属性の属性値)の各々について以下のステップS42〜S48の処理を実行する。以下、この処理の対象となる属性値を属性値Atvとする。
特徴属性抽出部322は、カテゴリ記憶部23に記憶されているカテゴリ情報に基づいて、説明属性のカテゴリCeに分類された文書集合における属性値Atvを含む文書数(DF(Atv,Ce))を算出する(ステップS42)。
特徴属性抽出部322は、カテゴリ記憶部23に記憶されているカテゴリ情報に基づいて、全ての説明属性のカテゴリ(Ceall)に分類された文書集合における属性値Atvを含む文書数(DF(Atv,Ceall))を算出する(ステップS43)。
また、特徴属性抽出部322は、文書記憶部22に記憶されている全ての文書集合(N)における属性値Atvを含む文書数(DF(Atv,N))を算出する(ステップS44)。
次に、特徴属性抽出部322は、算出されたDF(Atv,Ce)、DF(Atv,Ceall)およびDF(Atv,N)を用いて、属性値Atvの説明属性のカテゴリCeにおけるスコア(score(Atv,Ce))を算出する(ステップS45)。具体的には、score(Atv,Ce)は、DF(Atv,Ce)/DF(Atv,Ceall)*log(N/DF(Atv,N))の算出式によって算出される。
この算出式について簡単に説明すると、DF(Atv,Ce)/DF(Atv,Ceall)は、カテゴリCeにおける属性値Atvを含む文書数の多さを表しており、全ての説明属性のカテゴリCeallに属する文書集合における属性値Atvを含む文書数(DF(Atv,Ceall))で割ることによって正規化することで、属性値Atvが全ての説明属性のカテゴリCeall内で文書数が多い場合と少ない場合との差を軽減している。また、log(N/DF(Atv,N))は、属性値Atvの珍しさの値であり、全ての文書集合Nにおいて属性値Atvを含む文書数が少ない場合にその値は大きくなり、結果的にscore(Atv,Ce)の値が大きくなる。
次に、特徴属性抽出部322は、算出されたscore(Atv,Ce)が上述したmaxscoreより大きいか否かを判定する(ステップS46)。
score(Atv,Ce)がmaxscoreより大きいと判定された場合(ステップS46のYES)、特徴属性抽出部322は、maxscoreにscore(Atv,Ce)を代入する(ステップS47)。
また、特徴属性抽出部322は、上述したmaxceに属性値Atvを代入する(ステップS48)。
なお、score(Atv,Ce)がmaxscoreより大きくない、つまり、score(Atv,Ce)がmaxscore以下であると判定された場合(ステップS46のNO)、上記したステップS47およびS48の処理は実行されない。
次に、特徴属性抽出部322は、説明属性のカテゴリCeに分類された文書に含まれる全ての属性値について上記したステップS42〜ステップS48の処理が実行されたか否かを判定する(ステップS49)。
説明属性のカテゴリCeにおける全ての属性値について処理が実行されていないと判定された場合(ステップS49のNO)、上記したステップS42に戻って処理が繰り返される。この場合、ステップS42〜S48の処理が実行されていない属性値を属性値Atvとして処理が実行される。このように属性値の各々について上記したステップS42〜S48の処理が繰り返されることによって、説明属性のカテゴリCeにおいて特徴的な属性の属性値(つまり、maxce)を抽出することができる。
一方、全ての属性値について処理が実行されたと判定された場合(ステップS49のYES)、特徴属性抽出部322は、全ての説明属性のカテゴリについて上記したステップS41〜S49の処理が実行されたか否かを判定する(ステップS50)。
全ての説明属性のカテゴリについて処理が実行されていないと判定された場合(ステップS50のNO)、上記したステップS41に戻って処理が繰り返される。この場合、ステップS41〜S49の処理が実行されていない説明属性のカテゴリを説明属性のカテゴリCeとして処理が実行される。なお、上記したように説明属性のカテゴリの各々についてステップS41〜S49の処理が繰り返されることによって、説明属性の各カテゴリにおいて特徴的な属性の属性値を抽出することができる。
一方、全ての説明属性のカテゴリについて処理が実行されたと判定された場合(ステップS50のYES)、特徴属性抽出部322は、説明属性の各カテゴリにおいて特徴的な属性の属性名および属性値(つまり、maxce)を、特徴属性抽出処理の返り値とする(ステップS51)。返り値とされた属性名は、文書においてmaxceとされた属性値(maxceに代入されている属性値)に対応づけられている属性名である。なお、この特徴属性抽出処理の返り値は、説明属性再分類部323に渡される。
このような特徴属性抽出処理が実行されることによって、説明属性のカテゴリ毎に、当該カテゴリに属する文書が有する全ての属性の中から当該カテゴリにおいて特徴的な属性(の属性値および属性名)が抽出される。
ここで、図18を参照して、上記した特徴属性抽出処理の処理結果の一例について簡単に説明する。
ここでは、上述した説明属性クラスタリング部321によって例えば「かっこ良い カジュアル ユニーク」カテゴリ、「シンプル 大人っぽい 見易い」カテゴリ、「かわいい 子供向け」カテゴリおよび「ビジネス向け 使い易い」カテゴリが生成されているものとする。なお、「かっこ良い カジュアル ユニーク」カテゴリは、説明属性クラスタリング処理において「かっこ良い」カテゴリ、「カジュアル」カテゴリおよび「ユニーク」カテゴリが統合されることによって生成された説明属性のカテゴリである。また、「シンプル 大人っぽい 見易い」カテゴリは、説明属性クラスタリング処理において「シンプル」カテゴリ、「大人っぽい」カテゴリおよび「見易い」カテゴリが統合されることによって生成された説明属性のカテゴリである。同様に、「かわいい 子供向け」カテゴリは、説明属性クラスタリング処理において「かわいい」カテゴリおよび「子供向け」カテゴリが統合されることによって生成された説明属性のカテゴリである。また、「ビジネス向け 使い易い」カテゴリは、説明属性クラスタリング処理において「ビジネス向け」カテゴリおよび「使い易い」カテゴリが統合されることによって生成された説明属性のカテゴリである。
ここで、上記した説明属性クラスタリング部321によって生成された説明属性のカテゴリに対して特徴属性抽出処理が実行された場合、図18に示すように、当該説明属性のカテゴリ毎に、当該カテゴリにおいて特徴的な属性(属性名および属性値)が抽出される。
図18に示す例では、特徴属性抽出部322によって抽出された例えば「かっこ良い カジュアル ユニーク」カテゴリにおいて特徴的な属性の属性名が「購入者業種」であることが示されている。また、特徴属性抽出部322によって抽出された「かっこ良い カジュアル ユニーク」カテゴリにおいて特徴的な属性の属性値が「マスコミ」であることが示されている。
また、特徴属性抽出部322によって抽出された例えば「シンプル 大人っぽい 見易い」カテゴリにおいて特徴的な属性の属性名が「購入者年齢層」であり、当該特徴的な属性の属性値が「30代」であることが示されている。
また、特徴属性抽出部322によって抽出された例えば「かわいい 子供向け」カテゴリにおいて特徴的な属性の属性名が「開発社」であり、当該特徴的な属性の属性値が「X社」であることが示されている。
また、特徴属性抽出部322によって抽出された例えば「ビジネス向け 使い易い」カテゴリにおいて特徴的な属性の属性名が「購入者年齢層」であり、当該特徴的な属性の属性値が「30代」であることが示されている。
次に、図19および図20のフローチャートを参照して、上述した説明属性再分類処理(図10に示すステップS5の処理)の処理手順について説明する。
この説明属性再分類処理は、説明属性クラスタリング処理において生成された説明属性のカテゴリを別の観点で更に統合し、再び新たな説明属性のカテゴリを生成するための処理である。ここでは、別の観点として特徴属性抽出部322によって抽出された特徴的な属性が用いられる。
この説明属性再分類処理は、説明属性クラスタリング部321によって生成された説明属性の各カテゴリおよび特徴属性抽出部322によって抽出された当該各カテゴリにおける特徴的な属性(属性名および属性値)を入力値として、説明属性再分類部323によって実行される。この説明属性再分類処理の説明においては、説明属性クラスタリング部321によって生成された説明属性のカテゴリを単に説明属性のカテゴリと称する。
説明属性再分類部323は、説明属性のカテゴリの各々について以下のステップS61〜S71の処理を実行する。以下、この処理の対象となる説明属性のカテゴリを説明属性のカテゴリCeとする。説明属性のカテゴリCeに対してステップS61〜S71の処理が実行されることによって、当該説明属性のカテゴリCeの特徴を表すベクトル(カテゴリベクトルve)が生成される。
まず、説明属性再分類部323は、説明属性のカテゴリCeを示すカテゴリ情報をカテゴリ記憶部23から取得する(ステップS61)。
次に、説明属性再分類部323は、目的属性のカテゴリの各々についてステップS62〜S64の処理を実行する。この処理の対象となる目的属性のカテゴリを目的属性のカテゴリCoとする。
説明属性再分類部323は、目的属性のカテゴリCoを示すカテゴリ情報をカテゴリ記憶部23から取得する(ステップS62)。
説明属性再分類部323は、説明属性のカテゴリCeに対する目的属性のカテゴリCoの確信度(conf(Ce,Co))を算出する(ステップS63)。説明属性再分類部323は、ステップS61において取得された説明属性のカテゴリCeを示すカテゴリ情報およびステップS62において取得された目的属性のカテゴリCoを示すカテゴリ情報に基づいて算出処理を実行する。具体的には、conf(Ce,Co)は、上述したように|Ce∧Co|/|Ce|によって算出される。なお、|Ce∧Co|は説明属性のカテゴリCeおよび目的属性のカテゴリCoの両方に分類された文書数であり、|Ce|は説明属性のカテゴリCeに分類された文書数(全文書数)である。
説明属性再分類部323は、算出されたconf(Ce,Co)を、カテゴリベクトルveの1つの次元の値(ベクトル値)とする(ステップS64)。
ここで、説明属性再分類部323は、全ての目的属性のカテゴリについて上記したステップS62〜S64の処理が実行されたか否かを判定する(ステップS65)。
全ての目的属性のカテゴリについて処理が実行されていないと判定された場合(ステップS65のNO)、上記したステップS62に戻って処理が繰り返される。この場合、ステップS62〜S64の処理が実行されていない目的属性のカテゴリを目的属性のカテゴリCoとして処理が実行される。
このように目的属性のカテゴリの各々についてステップS62〜S64の処理が繰り返されることによって、説明属性のカテゴリCeに対して目的属性のカテゴリ毎に算出された確信度(conf(Ce,Co))を各次元の値とするカテゴリベクトルveが生成される。
上記したように目的属性のカテゴリの各々についてステップS62〜S64の処理が繰り返された結果、全ての目的属性のカテゴリについて処理が実行されたと判定された場合(ステップS65のNO)、説明属性再分類部323は、生成されたカテゴリベクトルveの各次元の値をノルム|ve|で割ることによって、当該カテゴリベクトルveを正規化する(ステップS66)。
次に、説明属性再分類部323は、特徴属性抽出部322によって抽出された説明属性のカテゴリCeにおいて特徴的な属性の全ての属性値(当該属性がとり得る全ての属性値)の各々についてステップS67およびS68の処理を実行する。図18を用いて具体的に説明すると、説明属性のカテゴリCeが例えば「シンプル 大人っぽい 見易い」カテゴリである場合、当該説明属性のカテゴリCeにおいて特徴的な属性(ここでは、属性名が「購入者年齢層」である属性)がとり得る全ての属性値(例えば、「10代」、「20代」、「30代」、「40代」および「50代」等)の各々についてステップS67およびS68の処理が実行される。
以下、この処理の対象となる説明属性のカテゴリCeにおいて特徴的な属性の属性値を属性値Atvとする。
説明属性再分類部323は、説明属性のカテゴリCeに分類された文書集合における属性値Atvを含む文書数を算出する(ステップS67)。なお、説明属性再分類部323は、説明属性のカテゴリCeを示すカテゴリ情報に基づいて算出処理を実行する。
説明属性再分類部323は、算出された文書数を、説明属性のカテゴリCeの特徴を表すカテゴリベクトル(以下、カテゴリベクトルve´と表記)の1つの次元の値(ベクトル値)とする(ステップS68)。
ここで、説明属性再分類部323は、説明属性のカテゴリCeにおいて特徴的な属性の全ての属性値について上記したステップS67およびS68の処理が実行されたか否かを判定する(ステップS69)。
カテゴリCeにおける全ての属性値について処理が実行されていないと判定された場合(ステップS69のNO)、上記したステップS67に戻って処理が繰り返される。この場合、ステップS67およびS68の処理が実行されていない属性値を属性値Atvとして処理が実行される。
このように説明属性のカテゴリCeにおいて特徴的な属性の属性値の各々についてステップS67およびS68の処理が繰り返されることによって、当該属性値毎に算出された文書数(説明属性のカテゴリCeに分類された文書集合における当該属性値を含む文書数)を各次元の値とするカテゴリベクトルve´が生成される。
上記したように説明属性のカテゴリCeにおいて特徴的な属性の全ての属性値の各々についてステップS67およびS68の処理が繰り返された結果、全ての属性値について処理が実行されたと判定された場合(ステップS69のYES)、説明属性再分類部323は、生成されたカテゴリベクトルve´の各次元の値をノルム|ve´|で割ることによって、当該カテゴリベクトルve´を正規化する(ステップS70)。
次に、説明属性再分類部323は、上記したステップS66において正規化されたカテゴリベクトルveおよびステップS70において正規化されたカテゴリベクトルve´のそれぞれのベクトルの和集合カテゴリCeの特徴を表すカテゴリベクトルvce(つまり、vce={ve,ve´})とする。これは、具体的な値のベクトルで説明すると例えば、計算の結果がve={0.1,0.2,0.3}およびve´={0.4,0.5}のとき、これらを合せたベクトルvceを{0.1,0.2,0.3,0.4,0.5}とする処理である。
ここで、説明属性再分類部323は、全ての説明属性のカテゴリについて上記したステップS61〜S71の処理が実行されたか否かを判定する(ステップS72)。
全ての説明属性のカテゴリについて処理が実行されていないと判定された場合(ステップS72のNO)、上記したステップS61に戻って処理が繰り返される。この場合、ステップS61〜S71の処理が実行されていない説明属性のカテゴリを説明属性のカテゴリCeとして処理が実行される。このように説明属性のカテゴリの各々についてステップS61〜S71の処理が繰り返されることによって、当該説明属性のカテゴリ毎のカテゴリベクトルが生成される。
上記したように説明属性のカテゴリの各々についてステップS61〜S71の処理が繰り返された結果、全ての説明属性のカテゴリについて処理が実行されたと判定された場合(ステップS72のYES)、上述した図13および図14に示すステップS19〜S30の処理に相当するステップS73〜S84の処理が実行される。
具体的には、説明属性再分類部323は、説明属性のカテゴリの各々について以下のステップS73〜S83の処理を実行する。以下、この処理の対象となる説明属性のカテゴリを説明属性のカテゴリCeとする。
まず、説明属性再分類部323は、以下の処理において用いられるcmaxおよびsmaxを初期化する(ステップS73)。この場合、説明属性再分類部323は、cmaxをなし、smaxを0とする。
次に、説明属性再分類部323は、分類先カテゴリがあるか否かを判定する(ステップS74)。なお、上記したようにステップS73〜S83の処理は説明属性のカテゴリの各々について実行されるが、ここで処理の対象である説明属性のカテゴリCeが当該説明属性のカテゴリのうちの1つ目(つまり、処理順が最初)である場合には、上述した図13に示すステップS20と同様に、分類先カテゴリがないと判定される。
ステップS74において分類先カテゴリがないと判定された場合には、後述するステップS79の処理が実行される。
一方、ステップS74において分類先カテゴリがあると判定された場合には、説明属性再分類部323は、分類先カテゴリの各々について以下のステップS75〜S77の処理を実行する。以下、この処理の対象となる分類先カテゴリを分類先カテゴリCnとする。
説明属性再分類部323は、上記したステップS61〜S71の処理によって生成された説明属性のカテゴリCeのカテゴリベクトルvceおよび分類先カテゴリCnのカテゴリベクトル(以下、カテゴリベクトルvcnと表記)に基づいて、当該説明属性のカテゴリCeおよび分類先カテゴリCn間の類似度(以下、類似度sと表記)を算出する(ステップS75)。この類似度sは、例えば説明属性のカテゴリCeのカテゴリベクトルvceおよび分類先カテゴリCnのカテゴリベクトルvcnの余弦値である。なお、この分類先カテゴリCnのカテゴリベクトルvcnは、前述した説明属性クラスタリング処理における分類先カテゴリCnのカテゴリベクトルvcnと同様に算出される。
次に、説明属性再分類部323は、算出された類似度sが予め定められた条件を満たすか否かを判定する(ステップ76)。ここで、予め定められた条件とは、例えば類似度sが予め定められた値(閾値)以上であることを示す。つまり、類似度sが閾値以上である場合には条件を満たすと判定され、類似度sが閾値未満である場合には条件を満たさないと判定される。
類似度sが条件を満たすと判定された場合(ステップS76のYES)、説明属性再分類部323は、cmax=分類先カテゴリCn、smax=sとする(ステップS77)。つまり、説明属性再分類部323は、cmaxに分類先カテゴリCnを、smaxに類似度sを代入する。
一方、類似度sが条件を満たさないと判定された場合(ステップS76のNO)、ステップS77の処理は実行されない。
次に、説明属性再分類部323は、全ての分類先カテゴリについて上記したステップS75〜S77の処理が実行されたか否かを判定する(ステップS78)。
全ての分類先カテゴリについて処理が実行されていないと判定された場合(ステップS78のNO)、上記したステップ75に戻って処理が繰り返される。この場合、ステップS75〜S77の処理が実行されていない分類先カテゴリを分類先カテゴリCnとして処理が実行される。
一方、全ての分類先カテゴリについて処理が実行されたと判定された場合(ステップS78のYES)、説明属性再分類部323は、上記した分類先カテゴリの各々についてステップS75〜S77の処理が実行された結果、cmaxとされた分類先カテゴリ(以下、分類先カテゴリcmaxと表記)が存在するか否かを判定する(ステップS79)。
なお、上記したようにステップS74において分類先カテゴリがないと判定された場合にはステップS79の処理が実行されるが、この場合、ステップS75〜S77の処理が実行されていないため、分類先カテゴリcmaxが存在しないと判定される。この他、上記したステップS77において算出された類似度sの全てが閾値未満であるような場合には、分類先カテゴリcmaxが存在しないと判定される。
ステップS79において分類先カテゴリcmaxが存在しないと判定された場合、説明属性再分類部323は、説明属性のカテゴリCeを分類先カテゴリとする(ステップS80)。つまり、分類先カテゴリcmaxが存在しない場合には、ステップS80において新たな分類先カテゴリ(分類先カテゴリnew)が生成される。ここで生成された分類先カテゴリnewのカテゴリベクトルは、当該分類先カテゴリnewとされた説明属性のカテゴリCeのカテゴリベクトルvceとする。
一方、ステップS79において分類先カテゴリcmaxが存在すると判定された場合、説明属性再分類部323は、説明属性のカテゴリCeを当該分類先カテゴリcmaxに分類する(ステップS81)。このステップS81の処理によって、分類先カテゴリcmaxおよび説明属性のカテゴリCeが統合され、新たな分類先カテゴリ(分類先カテゴリnew)とされる。
次に、説明属性再分類部323は、説明属性のカテゴリCeが分類される前の分類先カテゴリcmaxのカテゴリベクトルに、当該説明属性のカテゴリCeのカテゴリベクトルvceを加算する(ステップS82)。これにより、ステップS81における分類先カテゴリnew(説明属性のカテゴリCeが分類された後の分類先カテゴリ)のカテゴリベクトルが算出される。つまり、この場合における分類先カテゴリnewのカテゴリベクトルは、分類先カテゴリcmaxのカテゴリベクトルおよび当該分類先カテゴリcmaxに分類された説明属性のカテゴリCeのカテゴリベクトルvceの和である。
説明属性再分類部323は、算出された分類先カテゴリnewのカテゴリベクトルのveに対する各次元の値をノルムで割る、ve´に対する各次元の値をノルムで割ることによって、当該分類先カテゴリnewのカテゴリベクトルを正規化する(ステップS83)。
上記したステップS80またはS83の処理が実行されると、説明属性再分類部323は、全ての説明属性のカテゴリについて上記したステップS73〜S83の処理が実行されたか否かを判定する(ステップS84)。
全ての説明属性のカテゴリについて処理が実行されていないと判定された場合(ステップS84のNO)、上記したステップS73に戻って処理が繰り返される。この場合、ステップS73〜S83の処理が実行されていない説明属性のカテゴリを説明属性のカテゴリCeとして処理が実行される。なお、上記したようにステップS73に戻って処理が繰り返される場合、ステップS74〜S77においては、上記したステップS80またはS81における分類先カテゴリnewは1つの分類先カテゴリとして扱われる。
一方、全ての説明属性のカテゴリについて処理が実行されたと判定された場合(ステップS84のNO)、説明属性再分類部323は、上記したステップS73〜S83の処理が実行された結果である全ての分類先カテゴリ(の各々)を示すカテゴリ情報をカテゴリ記憶部23に記憶する(ステップS85)。
ここで、ステップS85においてカテゴリ記憶部23に記憶される分類先カテゴリを示すカテゴリ情報には、上述したようにカテゴリ番号、親カテゴリ番号、カテゴリ名および文書番号が含まれる。このカテゴリ番号は、分類先カテゴリに対して発行されたカテゴリ番号であり、当該分類先カテゴリを一意に識別するための識別子である。また、親カテゴリ番号は、ルートカテゴリを識別するためのカテゴリ番号または例えばルートカテゴリの子カテゴリとして便宜的に作成された中間カテゴリを識別するためのカテゴリ番号とする。カテゴリ名は、分類先カテゴリに分類された説明属性の各カテゴリ(つまり、当該分類先カテゴリにおいて統合された説明属性の各カテゴリ)のカテゴリ名を組み合わせたものとする。また、文書番号は、分類先カテゴリに分類された説明属性の各カテゴリに属する文書を識別するための文書番号の和集合である。
このように説明属性再分類処理が実行されることによって、説明属性のカテゴリ(ここでは、説明属性クラスタリング部321によって生成された説明属性のカテゴリ)の各々が分類先カテゴリに分類される、つまり、当該説明属性のカテゴリ間のクラスタリングが行われる。これにより、説明属性のカテゴリの各々が統合され、新たな説明属性のカテゴリ(上述した分類先カテゴリ)が生成される。
なお、上記したように説明属性再分類処理においては、説明属性クラスタリング部321によって生成された説明属性のカテゴリの各々が統合されて新たな説明属性のカテゴリが生成される。このため、説明属性再分類処理においては、当該説明属性再分類処理が実行される前の説明属性のカテゴリ(つまり、説明属性クラスタリング部321によって生成された説明属性のカテゴリ)より少ない数の新たな説明属性のカテゴリが生成される。
上記したように説明属性再分類部323によって生成された説明属性の各カテゴリ(のカテゴリ名)は、ユーザに対して提示される。
ここで、図21を参照して、上述した図18に示す説明属性の各カテゴリに対して説明属性再分類処理が実行された結果として生成された説明属性のカテゴリについて具体的に説明する。
図18に示す「シンプル 大人っぽい 見易い」カテゴリと「ビジネス向け 使い易い」カテゴリとを参照すると、特徴的な属性(の属性名および属性値)が等しい。このような場合には、説明属性再分類処理が実行されることによって図18に示す「シンプル 大人っぽい 見易い」カテゴリおよび「ビジネス向け 使い易い」カテゴリが統合され、図21に示す「シンプル 大人っぽい 見易い ビジネス向け 使い易い」カテゴリが生成される。
次に、図22および図23のフローチャートを参照して、上述した2軸マップ生成処理(図10に示すステップS7の処理)の処理手順について説明する。この2軸マップ生成処理は、説明属性再分類部323によって生成された説明属性の各カテゴリ(を示すカテゴリ情報)および目的属性の各カテゴリ(を示すカテゴリ情報)を入力値として、2軸マップ可視化部312によって実行される。この2軸マップ生成処理の説明においては、説明属性再分類部323によって生成された説明属性のカテゴリ(説明属性再分類処理における再分類結果)を単に説明属性のカテゴリと称する。
なお、この2軸マップ生成処理が実行される際には、2軸マップを可視化するための情報を保持するviewListが用意される。
2軸マップ可視化部312は、目的属性のカテゴリの各々について以下のステップS91〜S103の処理を実行する。以下、この処理の対象となる目的属性のカテゴリを目的属性のカテゴリCoとする。
2軸マップ可視化部312は、以下の処理において用いられるmaxscoreおよびmaxceを初期化する(ステップS91)。このとき、2軸マップ可視化部312は、maxscoreを0とし、maxceをなしとする。
2軸マップ可視化部312は、説明属性のカテゴリの各々について以下のステップS92〜S100の処理を実行する。以下、この処理の対象となる説明属性のカテゴリを説明属性のカテゴリCeとする。
2軸マップ可視化部312は、カテゴリ記憶部23に記憶されている説明属性のカテゴリCeを示すカテゴリ情報および目的属性のカテゴリCoを示すカテゴリ情報に基づいて、説明属性のカテゴリCeおよび目的属性のカテゴリCoの両方に分類された文書数を算出する。2軸マップ可視化部312は、算出された文書数を、上記したviewListに代入する(ステップS92)。また、2軸マップ可視化部312は、viewListに説明属性のカテゴリCeのカテゴリ名および目的属性のカテゴリCoのカテゴリ名を代入する。この場合、2軸マップ可視化部312によって算出された文書数(つまり、説明属性のカテゴリCeおよび目的属性のカテゴリCoの両方に分類された文書数)は、viewListにおいて説明属性のカテゴリCe(のカテゴリ名)および目的属性のカテゴリCo(のカテゴリ名)に対応づけられた位置に代入(配置)される。なお、説明属性のカテゴリCeのカテゴリ名は当該カテゴリCeを示すカテゴリ情報から取得され、目的属性のカテゴリCoのカテゴリ名は当該カテゴリCoを示すカテゴリ情報から取得される。
2軸マップ可視化部312は、説明属性のカテゴリCeおよび目的属性のカテゴリCoの両方に分類された文書が有する属性の全ての属性値(つまり、当該文書に含まれる全ての属性値)の各々について以下のステップS93〜S99の処理を実行する。以下、この処理の対象となる属性値を属性値Atvとする。
2軸マップ可視化部312は、説明属性のカテゴリCeを示すカテゴリ情報および目的属性のカテゴリCoを示すカテゴリ情報に基づいて、説明属性のカテゴリCeおよび目的属性のカテゴリCoの両方に分類された文書集合における属性値Atvを含む文書数(DF(Atv,Ce∧Co))を算出する(ステップS93)。
2軸マップ可視化部312は、説明属性のカテゴリCeを示すカテゴリ情報に基づいて、説明属性のカテゴリCeに属する文書集合における属性値Atvを含む文書数(DF(Atv,Ce))を算出する(ステップS94)。
2軸マップ可視化部312は、文書記憶部22に記憶されている全ての文書集合(N)における属性値Atvを含む文書数(DF(Atv,N))を算出する(ステップS95)。
次に、2軸マップ可視化部312は、算出されたDF(Atv,Ce∧Co)、DF(Atv,Ce)およびDF(Atv,N)を用いて、属性値Atvの説明属性のカテゴリCeにおけるスコア(score(Atv,Ce))を算出する(ステップS96)。具体的には、score(Atv,Ce)は、DF(Atv,Ce∧Co)/DF(Atv,Ce)*log(N/DF(Atv,N))の算出式によって算出される。
2軸マップ可視化部312は、算出されたscore(Atv,Ce)が上述したmaxscoreより大きいか否かを判定する(ステップS96)。
score(Atv,Ce)がmaxscoreより大きいと判定された場合(ステップS97のYES)、2軸マップ可視化部312は、maxscoreにscore(Atv,Ce)を代入する(ステップS98)。
また、2軸マップ可視化部312は、上述したmaxceに属性値Atvを代入する(ステップS99)。
なお、score(Atv,Ce)がmaxscoreより大きくない、つまり、score(Atv,Ce)がmaxscore以下であると判定された場合(ステップS97のNO)、上記したステップS98およびS99の処理は実行されない。
次に、2軸マップ可視化部312は、説明属性のカテゴリCeおよび目的属性のカテゴリCoの両方に分類された文書が有する属性の全ての属性値について上記したステップS93〜S99の処理が実行されたか否かを判定する(ステップS100)。
説明属性のカテゴリCeにおける全ての属性値について処理が実行されていないと判定された場合(ステップS100のNO)、上記したステップS93に戻って処理が繰り返される。この場合、ステップS93〜S99の処理が実行されていない属性値を属性値Atvとして処理が実行される。
一方、説明属性のカテゴリCeにおける全ての属性値について処理が実行されたと判定された場合(ステップS100のYES)、2軸マップ可視化部312は、全ての説明属性のカテゴリについて上記したステップS92〜S100の処理が実行されたか否かを判定する(ステップS101)。
全ての説明属性のカテゴリについて処理が実行されていないと判定された場合(ステップS101のNO)、上記したステップS92に戻って処理が繰り返される。この場合、ステップS92〜S100の処理が実行されていない説明属性のカテゴリを説明属性のカテゴリCeとして処理が実行される。
一方、全ての説明属性のカテゴリについて処理が実行されたと判定された場合(ステップS101のYES)、2軸マップ可視化部312は、maxscoreが予め定められた条件を満たすか否かを判定する(ステップS102)。ここで、予め定められた条件とは、例えばmaxscoreが予め定められた値(閾値)以上であることを示す。つまり、maxscoreが閾値以上である場合には条件を満たすと判定され、maxscoreが閾値未満である場合に条件を満たさないと判定される。
maxscoreが条件を満たすと判定された場合(ステップS102のYES)、maxceに代入されている属性値は、目的属性のカテゴリCoにおいて特徴的な属性の属性値である。この場合、2軸マップ可視化部312は、目的属性のカテゴリCo(およびmaxscoreが算出された際の説明属性のカテゴリの両方に分類された文書集合)において特徴的な属性の属性名および属性値(maxceに代入された属性値)をviewListに代入する(ステップS103)。ここで、目的属性のカテゴリCoにおいて特徴的な属性の属性名は、maxceに代入された属性値に文書において対応づけられている属性名である。
ここで、2軸マップ可視化部312は、全ての目的属性のカテゴリについて上記したステップS91〜S103の処理が実行されたか否かを判定する(ステップS104)。
全ての目的属性のカテゴリについて処理が実行されていないと判定された場合(ステップS104のNO)、上記したステップS91に戻って処理が繰り返される。この場合、ステップS91〜S103の処理が実行されていない目的属性のカテゴリを目的属性のカテゴリCoとして処理が実行される。
一方、全ての目的属性のカテゴリについて処理が実行されたと判定された場合(ステップS104のYES)、2軸マップ可視化部312は、viewListを、2軸マップ生成処理の返り値とする(ステップS105)。
このように2軸マップ生成処理が実行されることによって生成されたviewList(2軸マップ)には、説明属性の各カテゴリおよび目的属性の各カテゴリの両方に分類された文書数および目的属性の各カテゴリにおける特徴的な属性(の属性名および属性値)が含まれる。
なお、2軸マップ生成処理によって生成された2軸マップは、ユーザに対して表示(提示)される。
ここで、図24は、2軸マップが表示された際の表示画面の一例を示す。図24においては、説明属性のカテゴリのカテゴリ名として、「かっこ良い カジュアル ユニーク」カテゴリ、「シンプル 大人っぽい 見易い ビジネス向け 使い易い」カテゴリおよび「かわいい 子供向け」カテゴリが表示されている。また、目的属性のカテゴリのカテゴリ名として、「自社商品1」カテゴリ、「他社商品2」カテゴリおよび「他社商品3」カテゴリのカテゴリ名が表示されている。なお、「かっこ良い カジュアル ユニーク」カテゴリ、「シンプル 大人っぽい 見易い ビジネス向け 使い易い」カテゴリおよび「かわいい 子供向け」カテゴリは、上述したように説明属性再分類部323によって生成された説明属性のカテゴリである。
図24に示す表示画面には、例えば「かっこ良い カジュアル ユニーク」カテゴリ(のカテゴリ名)および「自社商品1」カテゴリ(のカテゴリ名)に対応づけて「80」が表示されている。これによれば、「かっこ良い カジュアル ユニーク」カテゴリおよび「自社商品1」カテゴリの両方に分類された文書数が80であることが示されている。更に、図24に示す表示画面には、属性名「購入者業種」および属性値「マスコミ」が例えばポップアップ表示されている。
つまり、図24に示す表示画面によれば、他の説明属性のカテゴリと比較して「自社商品1」カテゴリと相関が高い説明属性のカテゴリが「かっこ良い カジュアル ユニーク」カテゴリであることが示されており、「自社商品1」カテゴリと相関が高い属性の属性名が「購入者業種」であり、その属性値が「マスコミ」であることが示されている。
同様に、図24に示す表示画面によれば、他の説明属性のカテゴリと比較して「他社商品2」カテゴリと相関が高い説明属性のカテゴリが「シンプル 大人っぽい 見易い ビジネス向け 使い易い」カテゴリであることが示されており、「他社商品2」カテゴリと相関が高い属性の属性名が「購入者年齢層」であり、その属性値が「30代」であることが示されている。
更に、図24に示す表示画面によれば、他の説明属性のカテゴリと比較して「他社商品3」カテゴリと相関が高い説明属性のカテゴリが「かわいい 子供向け」カテゴリであることが示されており、「他社商品3」カテゴリと相関が高い属性の属性名が「開発社」であり、その属性値が「X社」であることが示されている。
なお、図24に示すように、属性名および属性値は、目的属性のカテゴリおよび説明属性のカテゴリに対応づけて表示されている。この場合、この属性名および属性値は、対応づけられている目的属性のカテゴリおよび説明属性のカテゴリの両方に分類された文書集合において特徴的な属性を表す。具体的には、図24に示す表示画面において、属性名「購入者業種」および属性値「マスコミ」は、「自社商品1」カテゴリおよび「かっこ良い カジュアル ユニーク」カテゴリに対応づけてポップアップ表示されている。この場合、属性名「購入者業種」および属性値「マスコミ」は、「自社商品1」カテゴリおよび「かっこ良い カジュアル ユニーク」カテゴリの両方に分類された文書集合において特徴的な属性を表している。
ユーザは、このような表示画面を参照することによって、目的属性の各カテゴリに対する相関の高い説明属性のカテゴリを容易に発見し、更に、当該目的属性のカテゴリと相関が高い属性を発見することができる。
上記したように本実施形態においては、ユーザによって選択された説明属性の属性値に基づいて複数の文書が分類された説明属性のカテゴリ毎に、当該説明属性のカテゴリに分類された文書数に対する目的属性の各カテゴリおよび当該説明属性のカテゴリの両方に分類された文書数の割合(つまり、確信度)が算出され、当該割合に基づいて各説明属性のカテゴリが新たなカテゴリ(説明属性のカテゴリ)に分類される。また、本実施形態においては、分類後の説明属性の各カテゴリにおいて特徴的な属性が抽出され、当該説明属性のカテゴリ毎に、当該説明属性のカテゴリに分類された文書数に対する各目的属性のカテゴリおよび当該説明属性のカテゴリの両方に分類された文書数の割合と当該説明属性のカテゴリに分類された文書における当該抽出された当該説明属性において特徴的な属性の属性値を含む文書数とが算出され、当該算出された割合と文書数とに基づいて当該説明属性の各カテゴリが更に新たなカテゴリ(説明属性のカテゴリ)に再分類され、当該再分類後の説明属性のカテゴリがユーザに対して提示される。
つまり、本実施形態においては、ユーザによって指定(選択)された目的属性の各カテゴリに対して相関が高くなるように説明属性のカテゴリを分類し、当該ユーザに対して当該分類結果(説明属性のカテゴリ)を提示することができる。これにより、本実施形態においては、ユーザは説明属性のカテゴリを目的属性の各カテゴリと相関が高くなるように試行錯誤して分類する必要がなく、効率的に、当該目的属性の各カテゴリと相関が高い説明属性のカテゴリ(の分類結果)を把握することができる。
また、本実施形態においては、目的属性の各カテゴリおよび再分類後の説明属性の各カテゴリの両方に分類された文書数と当該目的属性の各カテゴリにおいて特徴的な属性(の属性名および属性値)とを2軸マップとして提示することにより、ユーザは、目的属性の各カテゴリと相関が高い説明属性のカテゴリを当該2軸マップ上から容易に発見することが可能となる。
更に、本実施形態においては、目的属性の各カテゴリにおいて特徴的な属性(の属性名および属性値)についても2軸マップ上に表示されるため、ユーザは、容易に目的属性の各カテゴリと相関が高い属性を把握することができる。
なお、本実施形態においては、カテゴリ表示操作部311によって1つの説明属性が選択されるものとして説明したが、複数の説明属性が選択されても構わない。この場合、上述したように説明属性のカテゴリは統合される必要があるため、当該選択された複数の説明属性のデータの型は同一である必要がある。
(第2の実施形態)
次に、図25を参照して、第2の実施形態について説明する。図25は、本実施形態に係る文書分析装置の主として機能構成を示すブロック図である。なお、前述した図2と同様の部分には同一参照符号を付してその詳しい説明を省略する。ここでは、図2と異なる部分について主に述べる。
また、本実施形態に係る文書分析装置のハードウェア構成は、前述した第1の実施形態と同様であるため、適宜、図1を用いて説明する。
本実施形態においては、目的属性および説明属性に加えて、説明属性のカテゴリを再分類する際に用いられる属性(再分類時に着目すべき属性)をユーザが指定する点が、前述した第1の実施形態とは異なる。
図25に示すように、本実施形態に係る文書分析装置50は、ユーザインタフェース部51および説明属性分類部52を含む。本実施形態において、これらの各部51および52は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム21を実行することにより実現されるものとする。このプログラム21は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム21が例えばネットワークを介してコンピュータ10にダウンロードされても構わない。
ユーザインタフェース部51は、カテゴリ表示操作部511を含む。カテゴリ表示操作部511は、ユーザの操作に応じて、文書記憶部22に記憶されている文書が有する複数の属性の中から目的属性(第1の属性)、説明属性(第2の属性)および説明属性のカテゴリを再分類する際に用いられる属性(第3の属性)を選択する。
説明属性分類部52は、説明属性再分類部521を含む。なお、上記したように説明属性のカテゴリを再分類する際に用いられる属性(以下、再分類対象属性と表記)はユーザの操作に応じてカテゴリ表示操作部511によって選択されるため、図25に示すように、前述した第1の実施形態における特徴属性抽出部322に相当する機能部は、本実施形態においては存在しない。
説明属性再分類部521は、説明属性クラスタリング部321によって生成された説明属性のカテゴリ毎に、当該説明属性のカテゴリに属する文書数に対する目的属性の各カテゴリ(第1のカテゴリ)および当該説明属性のカテゴリの両方に分類された文書数の割合と、当該説明属性のカテゴリに属する文書におけるカテゴリ表示操作部511によって選択された再分類対象属性の属性値を含む文書数とを算出する。説明属性再分類部521は、算出された割合と文書数とに基づいて、当該複数の説明属性のカテゴリを複数のカテゴリ(第4のカテゴリ)に再分類する。つまり、説明属性再分類部521は、説明属性クラスタリング部321によって生成された説明属性のカテゴリが再分類された新たな説明属性のカテゴリを生成する。この説明属性再分類部521によって生成された説明属性のカテゴリは、例えばユーザインタフェース部51を介してユーザに対して提示される。
次に、図26のフローチャートを参照して、本実施形態に係る文書分析装置50の処理手順について説明する。ここで説明する文書分析装置50の処理は、例えば当該文書分析装置50を利用するユーザからの指示に応じて実行される。
まず、前述した図10に示すステップS1の処理に相当するステップS111の処理が実行される。この場合、例えば前述した図11に示す画面100が表示される。
次に、カテゴリ表示操作部511は、階層構造を構成するカテゴリ表示されている画面に対するユーザの操作に応じて、目的属性、説明属性および再分類対象属性(説明属性のカテゴリを再分類する際に用いられる属性)を選択する(ステップS112)。
ここで、カテゴリ表示操作部511による目的属性および説明属性の選択については、前述した第1の実施形態におけるカテゴリ表示操作部311による目的属性および説明属性の選択と同様である。
これに加えて、ユーザは、文書記憶部22に記憶されている文書に含まれる複数の属性名のうちの例えば1つの属性名を指定する操作を行うことによって、当該属性を再分類対象属性として指定することができる。カテゴリ表示操作部511は、このようなユーザの操作に基づいて、当該ユーザによって指定された属性を再分類対象属性として選択する。
ここで、図27を参照して、ユーザが目的属性、説明属性および再分類対象属性を指定する際の画面について説明する。
ここでは、例えば自社の商品を購入し、他社の商品をあまり購入していない人(購入者)の商品の評価について分析を行う場合を想定する。この場合には、ユーザは、カテゴリが表示された画面上で、図27に示すように「商品名別」カテゴリを指定する。これにより、カテゴリ表示操作部511は、属性名が「商品名」である属性(つまり、「商品名別」カテゴリに対応する属性)を目的属性として選択する。
また、カテゴリ表示操作部511によって目的属性が選択されると、図27に示すように、画面100には、説明属性を選択するためのサブ画面100dが表示される。このサブ画面100dには、文書に含まれる複数の属性の属性名が表示される。
ここでは、上記したように商品の評価について分析するため、ユーザは、サブ画面100dに表示されている複数の属性名の中から属性名「商品評価」を指定する。これにより、カテゴリ表示操作部511は、属性名が「商品評価」である属性を説明属性として選択する。
更に、画面100においては、再分類対象属性を選択するためのサブ画面100eが表示される。このサブ画面100eには、サブ画面100dと同様に、文書が有する複数の属性の属性名が表示される。このサブ画面100eにおいて属性名が指定されることにより、カテゴリ表示操作部511は、当該属性を再分類対象属性として選択する。図27に示す例では、サブ画面100eに表示されている複数の属性名の中から属性名「購入者年齢層」がユーザによって指定されているため、カテゴリ表示操作部511は、属性名が「購入者年齢層」である属性を再分類対象属性として選択する。
再び図26に戻ると、前述した図10に示すステップS3の処理に相当するステップS113の処理が実行される。このステップS113の処理が実行されることによって、カテゴリ表示操作部511によって選択された説明属性の属性値に基づいて複数の文書が分類されたカテゴリ(第2のカテゴリ)が分類された新たな説明属性のカテゴリ(第3のカテゴリ)が生成される。
次に、説明属性再分類部521は、ステップS112においてカテゴリ表示操作部511によって選択された再分類対象属性およびステップS113において説明属性クラスタリング部321によって生成された説明属性のカテゴリを入力値として、説明属性再分類処理を実行する(ステップS114)。
ここで、本実施形態における説明属性再分類処理について前述した図19および図20を用いて説明する。
前述した第1の実施形態における説明属性再分類処理においては、図19に示すステップS67および68の処理が特徴属性抽出部322によって抽出された説明属性のカテゴリCeにおいて特徴的な属性の全ての属性値の各々について実行される。
これに対して、本実施形態における説明属性再分類処理においては、図19に示すステップS67およびS68の処理がカテゴリ表示操作部511によって選択された再分類対象属性の全ての属性値の各々について実行される。
なお、この点以外の処理については、前述した図19および図20において説明した処理と同様であるため、その詳しい説明を省略する。
本実施形態においては、このようにステップS114において説明属性再分類処理が実行されることによって、説明属性クラスタリング部321によって生成された説明属性のカテゴリが再分類された新たな説明属性のカテゴリ(第4のカテゴリ)が生成される。
ステップS114の処理が実行されると、前述した図10に示すステップS6〜S8の処理に相当するステップS115〜S117の処理が実行される。
上記したように本実施形態においては、説明属性再分類処理の際に、前述した第1の実施形態における特徴属性抽出部322によって抽出された説明属性のカテゴリにおいて特徴的な属性に代えて、カテゴリ表示操作部511によって選択された再分類対象属性(ユーザによって指定された属性)が用いられる。
これにより、本実施形態においては、説明属性再分類処理においてユーザによって指定された属性が利用されるため、前述した第1の実施形態と比較して、当該説明属性再分類処理の精度を向上させることができ、更に、よりユーザの意図を反映した目的属性のカテゴリとの相関が高い説明属性のカテゴリを提示することが可能となる。
以上説明した少なくとも1つの実施形態によれば、ユーザによって指定された目的属性に対して相関が高い説明属性のカテゴリを提示することが可能な文書分析装置およびプログラムを提供することができる。
なお、本願発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。