(57)【特許請求の範囲】
【請求項１】
文書データを記憶する文書記憶部を備え、前記文書データを分析する文書分析装置であって、
前記文書データを分類する順位付きの複数のカテゴリ、および前記カテゴリの階層構造を記憶する分類結果記憶部と、
前記複数のカテゴリのうちの１つのカテゴリにおいて、当該カテゴリに分類される前記文書データに含まれる単語群から、当該カテゴリにおける単語の出現頻度が当該カテゴリと同じ階層にある他のカテゴリにおける当該単語の出現頻度よりも多く、かつ、前記他のカテゴリにおける当該単語の出現頻度が当該カテゴリから順位が遠くなるに従って減少する単語を抽出する要因語抽出部と、
を備える文書分析装置。
【請求項２】
前記要因語抽出部は、抽出結果の単語の組み合わせを作成し、作成した前記単語の組み合わせから、前記複数のカテゴリのうちの１つのカテゴリにおいて、当該カテゴリにおける出現頻度が他のカテゴリにおける出現頻度よりも多く、かつ、前記他のカテゴリにおける出現頻度が当該カテゴリから順位が遠くなるに従って減少する前記単語の組み合わせを抽出する請求項１に記載の文書分析装置。
【請求項３】
前記要因語抽出部は、抽出結果の前記単語以外の当該カテゴリに分類される前記文書データに含まれる単語の組み合わせを作成し、前記単語の組み合わせから、前記複数のカテゴリのうちの１つのカテゴリにおいて、当該カテゴリにおける出現頻度が他のカテゴリにおける出現頻度よりも多く、かつ、前記他のカテゴリにおける出現頻度が当該カテゴリから順位が遠くなるに従って減少する前記単語の組み合わせを抽出する請求項１および請求項２のいずれか１項に記載の文書分析装置。
【請求項４】
前記要因語抽出部によって抽出された前記単語もしくは単語の組み合わせを含む文書データを分類するための、前記要因語抽出部による抽出対象のカテゴリの下位階層のカテゴリを生成する要因カテゴリ生成部を備える請求項１乃至請求項３のいずれか１項に記載の文書分析装置。
【請求項５】
前記要因カテゴリ生成部が生成したカテゴリを第１の分類軸とし、前記分類結果記憶部が記憶している順位付きの分類カテゴリを第２の分類軸として、両軸に分類されている文書データ数を表示する２軸マップ作成部を備える請求項１乃至請求項４のいずれか１項に記載の文書分析装置。
【請求項６】
文書データを記憶する文書記憶部を備え、前記文書データを分析する文書分析装置の文書分析プログラムであって、
前記文書分析装置のコンピュータに、
前記文書データを分類する順位付きの複数のカテゴリ、および前記カテゴリの階層構造を記憶する機能と、
前記複数のカテゴリのうちの１つのカテゴリにおいて、当該カテゴリに分類される前記文書データに含まれる単語群から、当該カテゴリにおける単語の出現頻度が当該カテゴリと同じ階層にある他のカテゴリにおける当該単語の出現頻度よりも多く、かつ、前記他のカテゴリにおける当該単語の出現頻度が当該カテゴリから順位が遠くなるに従って減少する単語を抽出する機能と、
を実現させる文書分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、文書分析装置および文書分析プログラムに関する
【背景技術】
【０００２】
近年の情報システムの高度化に伴い、特許文献や新聞記事、ウェブページ、書籍といった文書を大量に記録し蓄積することが可能になっている。ここで、これらの蓄積された文書群を分類・分析して日々の業務などに有効活用していくための技術が求められている。例えば、過去の膨大な量の新聞記事をカテゴリ別に分類して、多くの人が利用しやすいように整理する、あるいは、現在に研究開発をしている技術に関係のある自他社の特許群の傾向を分析し、新しい研究開発分野を発見する、などである。
【０００３】
このように、大量の文書を分類したカテゴリにおいて、カテゴリ内の文書内容を把握するために、カテゴリの特徴を知りたいというニーズがある。
【０００４】
カテゴリの特徴を調べる技術として、例えば、文書集合間の違いを表す特徴語を統計的に抽出する方法がある。
【０００５】
しかしながら、この方法はカテゴリにつけられた順位を考慮して抽出していない。例えば、自動車の不具合情報において、不具合の危険度順に「極めて危険」、「やや危険」、「危険」、「安全」と順位付けされたカテゴリに分類された文書集合がある。このとき、危険度１位のカテゴリが「極めて危険」であり、危険度２位のカテゴリが「やや危険」であり、危険度３位のカテゴリが「危険」であり、危険度４位のカテゴリが「安全」であるとする。
【０００６】
このとき文書データが「危険」という順位のカテゴリに分類された要因、すなわち文書データに「危険」という順位が付与された要因を知りたいとき、上記のように統計的な方法では、必ずしも順位付けの要因となる単語を抽出できるとは限らないという問題がある。
【０００７】
例えば、上述した自動車の不具合情報において、不具合の危険度別に「極めて危険」、「危険」、「安全」という順位付きカテゴリに分類された文書集合において、「極めて危険」カテゴリに分類された要因が、「燃料」、「漏れ」や「タイヤ」、「脱落」といった単語にあるとき、上記のような統計的な方法でカテゴリの特徴語を抽出すると、「ポンプ」、「パイプ」のような、カテゴリ内で出現回数が多い単語が抽出され、「極めて危険」とはいえない単語が抽出されることがある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−２６５０６８号公報
【特許文献２】特開２００７−２４１９０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明が解決しようとする課題は、カテゴリの順位の上昇もしくは下降の要因となる単語を抽出する文書分析装置およびプログラムを提供することである。
【課題を解決するための手段】
【００１０】
実施形態の文書分析装置は、文書データを記憶する文書記憶部と、文書データを分類する順位付きの複数のカテゴリおよびカテゴリの階層構造を記憶する分類結果記憶部と、複数のカテゴリのうちの１つのカテゴリにおいて、当該カテゴリに分類される文書データに含まれる単語群から、当該カテゴリにおける単語の出現頻度が当該カテゴリと同じ階層にある他のカテゴリにおける当該単語の出現頻度よりも多く、かつ、前記他のカテゴリにおける当該単語の出現頻度が当該カテゴリから順位が遠くなるに従って減少する単語を抽出する要因語抽出部と、を備える。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係る文書分析装置のハードウェア構成を示すブロック図。
【図２】実施形態に係る文書分析装置の機能構成を示すブロック図。
【図３】実施形態に係る文書分析装置の文書記憶部に記憶される文書データの一例を示すブロック図。
【図４】実施形態に係る文書分析装置の分類結果記憶部に記憶されるカテゴリの一例を示すブロック図。
【図５】実施形態に係る文書分析装置の動作の一例を示すフローチャート。
【図６】実施形態に係る文書分析装置の分類結果の表示例を示す図。
【図７】実施形態に係る文書分析装置の順位付きカテゴリの集合を入力するときの表示例を示す図。
【図８】実施形態に係る文書分析装置の要因語抽出部の処理の一例を示すフローチャート。
【図９】実施形態に係る文書分析装置の要因語抽出部が要因語抽出処理の概念図。
【図１０】実施形態に係る文書分析装置の要因語抽出部の要因語抽出処理の概念図。
【図１１】実施形態に係る文書分析装置の要因語抽出部の抽出結果例を示す図。
【図１２】実施形態に係る文書分析装置の複合要因語抽出部の処理の一例を示すフローチャート。
【図１３】実施形態に係る文書分析装置の複合要因語抽出部の処理の一例を示すフローチャート。
【図１４】実施形態に係る文書分析装置の複合要因語抽出部の抽出結果例を示す図。
【図１５】実施形態に係る文書分析装置の要因カテゴリ生成部の処理の一例を示すフローチャート。
【図１６】実施形態に係る文書分析装置の要因カテゴリ生成部の処理結果の一例を示す図。
【図１７】実施形態に係る文書分析装置の２軸マップ可視化部の処理の一例を示すフローチャート。
【図１８】実施形態に係る文書分析装置の２軸マップ可視化部の処理の結果の表示例を示す図。
【発明を実施するための形態】
【００１２】
（第１の実施形態）
以下、実施形態の文書分析装置について図１乃至図１８を参照して説明する。なお、以下の装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
【００１３】
図１は、本実施形態に係る文書分析装置１０の構成を示す模式図である。この計算機１０は、主記憶装置１１、キーボード１２、マウス１３、中央演算装置１４およびディスプレイ装置１５を備えている。なお、文書分析装置１０は例えば、本実施形態に係る文書分析プログラムが適用された計算機によって実現される。
【００１４】
記憶装置１１は、中央演算装置１４から読出／書込み可能な記憶装置であり、例えばＲＡＭである。記憶装置１１は、あらかじめ本実施形態の文書分析プログラムが記憶されている。
【００１５】
キーボード１２およびマウス１３は、通常の入力装置であり、例えば、操作者の操作により、データ又は命令からなる各種情報を中央演算装置１５に入力する。
【００１６】
中央演算装置１４は、通常のＣＰＵであり、例えば、記憶装置１１に記憶された文書分析プログラムを実行する機能と、キーボード１２又はマウス１３から入力される情報に基づいて各プログラムの実行を制御する機能と、実行結果等をディスプレイ装置１５に出力する機能をもつ。
【００１７】
ディスプレイ装置１５は、通常の表示装置であり、例えば、編集中の各アーキテクチャモデルやフィーチャモデル等を表示して可視化し、他にも中央演算装置１４から出力された情報を表示する機能をもっている。
【００１８】
図２を参照して、以上のように構成された文書分析装置１０の機能構成について説明する。
【００１９】
文書分析装置１０は、文書記憶部１、分類結果記憶部２、ユーザインタフェース部３、および要因生成部４を備える。
【００２０】
文書記憶部１は、文書分析装置１０が分析の対象とする複数の文書のデータ（以下、文書データという）を記憶する。本実施形態では、文書記憶部１に記憶された文書データは、自動車の不具合情報に関する文書データであり、階層構造で構成された複数のカテゴリによって分類されている。
【００２１】
ここで、図３を参照して、文書記憶部１に記憶される文書データの一例について説明する。文書記憶部１に記憶される文書データ２０は、自動車の不具合情報を報告する文書データであり、文書番号２１、タイトル２２、本文２３、不具合の危険度２４、開発社２５、および購入日２６を項目としてもち、各項目に対応した文書データの内容が記憶されている。
【００２２】
文書番号２１はこの文書データ固有のＩＤを示す。タイトル２２は、文書データ２０のタイトルである。本文２３は、文書データ２０の本文である。不具合の危険度２４は、この文書データが報告する不具合情報の危険度を示す。開発社２５は不具合が起きた自動車の開発社であり、購入日２６不具合が起きた自動車が購入された日である。
【００２３】
なお、文書データ２０の項目名は上記の項目名すべてでなくてもよいし、他の項目名を追加してもよい。また、ここでは一例として文書データを１つ示したが、文書記憶部１には複数の文書データが記憶されていてよい。
【００２４】
分類結果記憶部２は、文書記憶部１に記憶された文書データにおけるカテゴリと、このカテゴリの階層構造とを記憶する。本実施形態では、分類結果記憶部２に記憶されたカテゴリはあらかじめ作成され、文書データが分類されているとする。なお、カテゴリの作成は、文書データをクラスタリングすることによって作成してもよい。
【００２５】
図４を参照して、分類結果記憶部２に記憶されるカテゴリとこのカテゴリの階層構造とについて説明する。この図４に示すカテゴリ（ａ）〜（ｆ）は、カテゴリ番号３０１、親カテゴリ３０２、カテゴリ名３０３、文書３０４を項目として備える。
【００２６】
カテゴリ番号３０１は、文書分析装置１０がカテゴリを特定するためのユニークなデータを格納する。
【００２７】
親カテゴリ３０２は、このカテゴリの親カテゴリを示すデータを格納する。すなわち、親カテゴリ３０２は、当該カテゴリの親カテゴリのカテゴリ番号である。例えば、カテゴリ（ａ）の親カテゴリは、カテゴリ（ａ）がカテゴリ（ａ）〜（ｆ）における階層構造の最上位（ルート）に位置するため「（なし）」となる。
【００２８】
また、カテゴリ（ｂ）（カテゴリ番号「ｃ０２」）の親カテゴリ３０２はカテゴリ番号「ｃ０１」のカテゴリ（カテゴリ（ａ））である。すなわち、カテゴリ（ａ）の子カテゴリの１つが、カテゴリ（ｂ）であるといえる。カテゴリ（ｃ）〜（ｆ）についても同様に親カテゴリ３０２が設定されている。
【００２９】
以下、本実施形態では、あるカテゴリの直接の親に位置するカテゴリを親カテゴリ、直接の子に位置するカテゴリを子カテゴリと呼ぶ。あるカテゴリの直接または間接の親に位置するカテゴリを、総じて上位カテゴリと呼び、あるカテゴリの直接または間接の子（子孫）に位置するカテゴリを、総じて下位カテゴリと呼ぶ。
【００３０】
カテゴリ名３０３は、各カテゴリがその内容をユーザに示すための名称を格納する。
【００３１】
文書３０４は、当該カテゴリに含まれる文書データに文書番号を格納する。複数の文書がカテゴリに属する場合は文書番号のデータを複数列挙する。
【００３２】
なお、カテゴリ（ｃ）に示すように、当該カテゴリに分類される文書が満たすべき条件３０５を設定し、この条件３０５に格納された条件を満たす文書データのみを文書３０４に列挙してもよい。また、カテゴリ（ａ）、カテゴリ（ｂ）、カテゴリ（ｄ）は、文書３０４に格納されている文書データは「なし」であり、すなわち各カテゴリに属する文書は「（なし）」となっている。これは、当該カテゴリに直接分類されている文書がないという意味であり、下位カテゴリを介して間接的に分類されている文書は存在し得る。例えばカテゴリ（ａ）の間接的に分類されている文書は、カテゴリ（ａ）の全ての下位カテゴリに分類されている文書の和集合となる。
【００３３】
ユーザインタフェース部３は、カテゴリ表示操作部３１、２軸マップ可視化部３２を備え、ユーザの入力情報や指示情報を受け付ける。
【００３４】
カテゴリ表示操作部３１は、分類結果記憶部２に記憶されているカテゴリおよびその階層構造をユーザに示す画面（以下、カテゴリ表示画面という）を表示する。また、カテゴリ表示操作部３１は、表示したカテゴリ表示画面に対するユーザの操作を受け付ける入力部としての機能も有する。カテゴリ表示画面については後述する。
【００３５】
２軸マップ可視化部３２は、ユーザが、カテゴリ表示操作部３１を用いて入力したカテゴリの子カテゴリである順位付きカテゴリ全てを第１の分類軸とし、後述する要因語抽出部４１と複合要因語抽出部４２の抽出結果に基づいて、要因カテゴリ生成部４３によって分類された各カテゴリを第２の分類軸とし、それぞれの各カテゴリがクロスした文書数の集計結果を、２軸マップ上に表示する。
【００３６】
続いて要因生成部４について説明する。要因生成部４は、要因語抽出部４１、複合要因語抽出部４２、要因カテゴリ生成部４３を備える。
【００３７】
要因語抽出部４１は、カテゴリ表示操作部３１によってユーザがカテゴリを入力すると、入力されたカテゴリに属する子カテゴリである順位付きカテゴリにおいて、カテゴリの順位の上昇・下降の原因となる単語群（第１の単語群）を抽出する。
【００３８】
複合要因語抽出部４２は、要因語抽出部４１によって抽出された第１の単語群において、第１の単語群に含まれる単語を組み合わせた場合に、カテゴリの順位の上昇・下降の原因となる単語の組み合わせを抽出する。
【００３９】
さらに、複合要因語抽出部４２は、要因語抽出部４１によって抽出されなかった単語群（第２の単語群）についても同様に、第２の単語群に含まれる単語を組み合わせた場合に、カテゴリの順位の上昇・下降の原因となる単語の組み合わせを抽出する。
【００４０】
要因カテゴリ生成部４３は、要因語抽出部４１と複合要因語抽出部４２とによって抽出された単語および単語の組み合わせに基づいて新規カテゴリを作成し、分類結果記憶部２に記憶する。この新規カテゴリには、当該単語および単語の組み合わせを含んだ文書データが分類される。
【００４１】
文書記憶部１および分類結果記憶部２は、計算機の記憶手段である、ファイルシステムやデータベースなどを用いて実現する。ユーザインタフェース部３は、キーボード１２、マウス１３、およびディスプレイ１５によって実現される。要因生成部４３０は記憶装置１１に記憶されたプログラムを中央演算装置１４が実行することによって実現される。
【００４２】
以下、図３に示す文書記憶部１に記憶された自動車の不具合情報に関する文書データであって、不具合の危険度順に「極めて危険」、「やや危険」、「危険」、「安全」という順位付きカテゴリ毎に文書データが複数格納されている場合であって、ユーザは、文書データが「危険」という順位付きカテゴリに分類された要因、すなわち危険度付与の要因を知りたい場合に、「危険」という順位付きカテゴリに属する文書データに含まれる単語から当該カテゴリに分類された要因を示す単語（以下、要因語という）を抽出する文書分析装置１０の動作の一例について図５乃至図１８を参照して説明する。
【００４３】
図５は、文書分析装置１０の動作の一例を示すフローチャートである。
【００４４】
まず、ユーザインタフェース部３にカテゴリ表示画面が表示される（ステップＳ４０１）。
【００４５】
図６にステップＳ４０１で表示されるカテゴリ表示画面の一例を示す。図６に示すカテゴリ表示画面５０は、当該画面左部５０１にカテゴリの階層構造が表示され、そのうちの１つのカテゴリを選択すると、当該画面右上部５０２に選択したカテゴリに属する文書のタイトル一覧が表示される。更に、一覧表示されたタイトルのうちの１つを選択すると、画面右下部５０３に文２書データの本文が表示される。図６では、ユーザが文書データを確認したいカテゴリとして、ドットで表示された「極めて危険」カテゴリが選択され、画面右上部５０２に「極めて危険」カテゴリに属する文書データのタイトル一覧が表示されている。また、画面右上部５０２に表示された「極めて危険」カテゴリに属する文書データのうち、ドットで表示された「燃料漏れ」が選択され、「燃料漏れ」の文書データの本文が、画面右下部５０３に表示されている。
【００４６】
続いて、ユーザがカテゴリ表示操作部３１を介して、カテゴリ表示画面５０の画面左部５０１に表示された親カテゴリのうち、当該親カテゴリに属する順位付きカテゴリの順位付けの要因を分析する（要因語を抽出する）対象の親カテゴリを入力する（ステップＳ４０２）。
【００４７】
図７に、ステップＳ４０２において入力される親カテゴリを入力する際のカテゴリ表示画面５０の一例を示す。図７に示すように、ステップＳ４０２でユーザはユーザインタフェース部３を用いて、要因語抽出対象の親カテゴリとして「不具合の危険度別」カテゴリ６０１を選択する。その後、「選択したカテゴリ直下の各カテゴリの要因を抽出しますか？」というメッセージが表示されたメッセージ画面６０２が表示されると、ユーザは「ＹＥＳ」ボタン６０３を押下し後述する要因語抽出処理が実行される。なお、「ＮＯ」ボタン６０４を押下した場合、処理は終了する（図示しない）。
【００４８】
親カテゴリが入力されると、要因生成部４が要因生成処理を行う（ステップＳ４０３とステップＳ４０４）。要因生成処理は、分析対象の親カテゴリの直下に属する各順位付きカテゴリにおける順位の上昇もしくは下降の要因となる単語単体を抽出する要因語抽出処理と、各順位付きカテゴリにおける順位の上昇もしくは下降の要因となる単語の組み合わせを抽出する複合要因語抽出処理とを行なう。
【００４９】
図８および図９を参照して、ステップＳ４０３において要因語抽出部４１が行なう要因語抽出処理について説明する。なお、ここでは、図６の「不具合の危険度別」カテゴリについて要因語抽出処理を行う場合について説明する。
【００５０】
まず、要因語抽出部４１は、要因語抽出処理における抽出結果のリストであるｌｉｓｔ１を初期化する（ステップＳ１１０１）。順位付きの各カテゴリＣｉについて（ステップＳ１１０２）、カテゴリＣｉの全ての文書内の各単語ｔについて繰り返し（ステップＳ１１０３）、ｔのＣｉにおける出現頻度が、統計的に有意に大きいか否かを判定する（ステップＳ１１０４）。
【００５１】
統計的に有意に大きいか否かの判定は、例えば、χ二乗検定で有意か否かを判定する。この場合のχ二乗検定によれば、χ二乗統計量（χ）が、自由度２の有意水準５％のχ二乗分布（３．８４）や自由度２の有意水準１％のχ二乗分布（６．６３）よりも小さい場合には統計的に有意となる。一方、χ二乗統計量（χ）が、自由度２の有意水準５％のχ二乗分布（３．８４）や自由度２の有意水準１％のχ二乗分布（６．６３）よりも大きい場合には統計的に有意とならない。なお、χ二乗統計量（χ）は、図９に示す式（１）により算出される。
【００５２】
式（１）において、ｘ１１は、カテゴリＣｉにおける単語ｔが出現する文書の数である。ａ１は、全ての文書における単語ｔが出現する文書の数である。ｂ１は、カテゴリＣｉの文書の数である。ｎは、全ての文書の数である。また、ｘ１２はａ１−ｘ１１であり、ｘ２１はｂ１−ｘ１１であり、ｘ２２はｎ−ａ１−ｘ２１である。
【００５３】
このχ二乗検定により、有意であると判定されなければ（ステップＳ１１０４がＮｏ）、他の単語について繰り返しを行う。有意と判定されれば（ステップＳ１１０４がＹｅｓ）、単語ｔのスコアであるｓｃｏｒｅ（Ｃｉ，ｔ）を求め、ｌｉｓｔ１にｔとそのスコアを代入する（ステップＳ１１０５）。ｓｃｏｒｅ（Ｃｉ，ｔ）については後述する。なお、ｓｃｏｒｅ（Ｃｉ，ｔ））は、図９の式（２）により算出される。ただし、順位付きカテゴリは、（Ｃ１，Ｃ２，…Ｃｉ，…，Ｃｍ）とする。
【００５４】
式（２）において、ｄｆ（Ｃｉ，ｔ）は、カテゴリＣｉにおける単語ｔが出現する文書数とし、Ｄは全文書集合とする。ｆｌａｇ（ｉ，ｊ）は、ｉ＜ｊのとき−１を、ｉ＞ｊのとき＋１を取る関数（変数）とする。
【００５５】
ここで、図９に示す式（２）の考え方について説明する。順位付きの各カテゴリで、要因となる単語は、そのカテゴリでの単語の出現頻度が多く、そのカテゴリから順位が上昇・下降する（順位が遠くなる）に従って出現頻度が減少していくような単語とし、そのような考えに基づいて、上記の式（２）を定義する。
【００５６】
まず、式（２）のｄｆ（Ｃｉ，ｔ）／ｄｆ（Ｄ，ｔ）で、単語ｔのカテゴリＣｉでの出現頻度を求める。そして、ｄｆ（Ｃｊ＋１，ｔ）−ｄｆ（Ｃｊ，ｔ）で隣り合ったカテゴリの出現頻度の減少具合を計算し、その減少具合が、要因となるカテゴリの近くの順位のカテゴリでの重みを大きくするように、ｌｏｇ（ｍ−｜ｊ＋１−ｉ｜）をかける。ｆｌａｇ（ｉ，ｊ）は、要因となるカテゴリより手前の順位に関しては、出現頻度が上昇しているときにスコアを加点するために＋１を、要因となるカテゴリより後の順位に関しては、出現頻度が下降しているときにスコアを加点するために−１を用いる。
【００５７】
図１０に、親カテゴリ「不具合の危険度別」に属する全ての文書データに含まれる単語と、各単語のステップＳ４０２で入力されたカテゴリの子カテゴリごとの出現頻度の一例を示す。図１０に示す表の縦方向の項目が文書データに含まれる単語であり、横方向の項目がステップＳ４０２で入力されたカテゴリの子カテゴリである。
【００５８】
図１０に示すように、「シートベルト」は、「やや危険」カテゴリで出現頻度が３９で他の順位付きカテゴリより頻度が多い。更に、「やや危険」カテゴリと「極めて危険」カテゴリでは、頻度の減少具合が、３９から１４に減っており、「やや危険」カテゴリから「危険」カテゴリへの減少具合も、３９から１２、「危険」カテゴリから「極めて危険」カテゴリへの減少具合も１２から５という結果であり、単語「シートベルト」は、「やや危険」カテゴリでの単語の出現頻度が多く、「やや危険」カテゴリから順位が離れるに従って出現頻度が減少していくような単語である。
【００５９】
しかしながら、単語「燃料」は、「やや危険」カテゴリでの出現頻度が、他の順位付きカテゴリの出現頻度と比べて一番多いが、「やや危険」カテゴリから「極めて危険」カテゴリへの減少具合は３２から１４で、「やや危険」カテゴリから「危険」カテゴリへの減少具合は３２から２６で、「危険」カテゴリから「極めて危険」カテゴリへは、２６から２８と増加している。すなわち、単語「シートベルト」と比べ、単語「燃料」は減少具合が少ないため、「やや危険」カテゴリのスコアが低くなり易く、要因として抽出され難い。
【００６０】
なお、本実施形態では、式（２）を例としてあげたが、式（２）だけに限らなくても良く、要因となる単語は、そのカテゴリでの単語の出現頻度が多く、更にそのカテゴリから順位が離れるに従って出現頻度が減少していくような単語とする考え方に基づいていればよい。例えば、ｄｆ（Ｄ，ｔ）で割る計算を実行しなくてもよいし、ｌｏｇ（ｍ−｜ｊ＋１−ｉ｜）のｌｏｇを除いてもよい。
【００６１】
全ての単語の繰り返しの終了後（ステップＳ１１０３の繰り返し終了）、カテゴリＣｉにおけるｌｉｓｔ１（Ｃｉ）をｓｃｏｒｅ（Ｃｉ，ｔ）順でソートし、上位Ｋ個（ユーザが任意に指定、ここでは３個とする）の単語を抽出し、ｌｉｓｔ１（Ｃｉ）に残す（ステップＳ１１０６）。すなわち、上位Ｋ個の単語以外を削除する。
【００６２】
全てのＣｉについて繰り返し終了後（ステップＳ１１０２の繰り返し終了）、要因語抽出部４１はｌｉｓｔ１を複合要因語抽出部４２に出力する（ステップＳ１１０７）。これにより、要因語抽出処理が終了する。
【００６３】
図１１にステップＳ１１０７で出力されるｌｉｓｔ１の一例を示す。図１１に示すように、ｌｉｓｔ１には「極めて危険」カテゴリでは、要因語として「タイヤ」、「脱落」、「アクセル」が抽出されている。「危険」カテゴリでは「ホース」、「ハブ」、「ハンドル」が抽出されている。「やや危険」カテゴリでは「シートベルト」、「表示灯」が抽出されている。「安全」カテゴリでは、「冷房」、「スピーカー」、「効かない」が抽出されている。このようにそれぞれの順位付きカテゴリにおける要因として、単体の単語が抽出されている。
【００６４】
図５の説明に戻る。ステップＳ４０３において要因生成部４１による要因語生成処理が終了すると、複合要因語抽出部４２が複合要因語抽出処理を行う（ステップＳ４０４）。
【００６５】
図１２および図１３を参照して、図５のステップ４０４において複合要因語抽出部４２によって実行される複合要因語抽出処理の一例について説明する。
【００６６】
複合要因語抽出処理はステップＳ４０３で抽出された単語のうち、単語を組み合わせた場合に、カテゴリの順位の上昇・下降の原因となる単語の組み合わせを抽出する。更に、前記要因語抽出部４１によって抽出されなかった単語集合についても、同様に単語を組み合わせた場合に、カテゴリの順位の上昇・下降の原因となる単語の組み合わせを抽出する。
【００６７】
まず、複合要因語抽出部４２は、複合要因語抽出処理における抽出結果のリストであるｌｉｓｔ２を初期化する（ステップＳ１３０１）。続いて、順位付きの各カテゴリＣｉについて繰り返し（ステップＳ１３０２）、ステップＳ１３０３〜ステップＳ１３１８の処理を行う。
【００６８】
複合要因語抽出部４２は、ステップＳ１３０２において順位付きの各カテゴリから１つのカテゴリを選択すると、単語の組み合わせを数える変数ｃｏｎｂＣｎｔの初期値に２を、組み合わせ対象の単語の集合を表すｔｅｒｍＳｅｔに要因語抽出部４１の出力値（複合要因語抽出部４２の入力値）を、組み合わせた単語の集合を保持する変数ｔｅｒｍＣｏｎｂの初期値ｎｕｌｌを、それぞれ代入する（ステップＳ１３０３）。そして、ｔｅｒｍＳｅｔの各単語に対して、ｃｏｎｂＣｎｔ個組み合わせる（ステップＳ１３０４）。
【００６９】
ここで、ステップＳ１３０４で組み合わせる単語は、カテゴリＣｉでその単語が出現する文書数（以下、出現文書数という）が所定の閾値以上の単語に限定する。そうすることで組み合わせの処理速度を効率化する。
【００７０】
例えば、出現文書数の閾値が３で、ｃｏｎｂＣｎｔ＝２で、ｔｅｒｍＳｅｔが単語Ａ、単語Ｂ、単語Ｃ、単語Ｄとする。単語Ａ、単語Ｂ、単語Ｃ、単語Ｄ、それぞれの単語を含んだカテゴリＣｉでの出現文書数が、それぞれ３、４、２、４のとき、単語Ｃはある一定の値よりも少ないので、単語Ｃを含んだ組み合わせは対象とせず、「単語Ａと単語Ｂ」、「単語Ａと単語Ｄ」、「単語Ｂと単語Ｄ」がｔｅｒｍＣｏｎｂになる。
【００７１】
また、ｃｏｎｂＣｎｔ＝３のときも同様に、ｔｅｒｍＳｅｔが「単語Ａと単語Ｂ」、「単語Ａと単語Ｄ」、「単語Ｂと単語Ｄ」となり、ｔｅｒｍＣｏｎｂは「単語Ａと単語Ｂと単語Ｄ」が考えられる。ここで、それぞれの単語を含んだカテゴリＣｉでの出現文書数がそれぞれ、２、３、４のとき、「単語Ａと単語Ｂ」は満たしていない。よって、「単語Ａと単語Ｂ」を含んだ、組み合わせ、即ち「単語Ａと単語Ｂと単語Ｄ」は組み合わせ対象とならない。なお、このような組み合わせの考えを、アプリオリアルゴリズムという。
【００７２】
アプリオリアルゴリズムの考え方によって、ステップＳ１３０４で抽出したｔｅｒｍＣｏｎｂがｎｕｌｌでなければ（ステップＳ１３０５）、ｔｅｒｍＣｏｎｂの各単語ｔで繰り返し（ステップＳ１３０６）、単語ｔを含んだＣｉにおける出現文書数が統計的に有意に大きいか否かを判定する（ステップＳ１３０７）。この有意に大きいかの判定は、図８のステップＳ１１０４の方法と同様である。
【００７３】
単語ｔを含んだＣｉにおける出現文書数が統計的に有意に大きい場合（ステップＳ１３０７がＹｅｓ）、複合要因語抽出部４２はｓｃｏｒｅ（Ｃｉ，ｔ）を求め、ｌｉｓｔ２にｔとそのスコアとを代入する（ステップＳ１３０８）。
【００７４】
単語ｔを含んだＣｉにおける出現文書数が統計的に有意に大きくない場合（ステップＳ１３０７がＮｏ）、ステップＳ１３０６に戻り、他の単語ｔで処理を繰り返す。なお、ここでのｓｃｏｒｅ（Ｃｉ，ｔ）の算出は、図８のＳ１１０５と同様の方法で行なう。
【００７５】
全ての単語の繰り返しの終了後（ステップＳ１３０６の繰り返し終了）、複合要因語抽出部４２は、ｃｏｎｂＣｎｔを１つ増やし、ｔｅｒｍＳｅｔにｔｅｒｍＣｏｎｂを代入する（ステップＳ１３０９）。その後、複合要因語抽出部４２は、ステップＳ１３０４〜Ｓ１３０９の処理をＳ１３０５でｔｅｒｍＣｏｎｂがｎｕｌｌと判定されるまで繰り返す。
【００７６】
ｔｅｒｍＣｏｎｂがｎｕｌｌと判定された後（ステップＳ１３０５がＮｏ）、複合要因語抽出部４２は、当該カテゴリＣｉにおけるｌｉｓｔ２（Ｃｉ）をｓｃｏｒｅ（Ｃｉ，ｔ）順でソートし、上位Ｋ個の単語ペア（ここでは２個）を抽出し、抽出した単語ペアをｌｉｓｔ２（Ｃｉ）に入れ、抽出されなかった単語のみ、単体の要因語として、ｌｉｓｔ（Ｃｉ）に残す（ステップＳ１３１０）。すなわち、複合要因語抽出処理で単語の組み合わせが抽出された場合、これらの単語を要因語抽出処理の結果、出力されるｌｉｓｔ１から削除する。なお、上位Ｋ個分の単語ペアが抽出されない場合、抽出された全ての単語ペアｌｉｓｔ２（Ｃｉ）に入れる。
【００７７】
以上のステップＳ１３０１〜Ｓ１３１０の処理によって、要因語抽出部４１で抽出した単体の単語を組み合わせた場合にカテゴリの順位の上昇・下降の原因となる単語を抽出する。続くステップＳ１３１１〜ステップＳ１３１８の処理が、要因語抽出部４１で抽出されなかった単語を対象に、それらを組み合わせた場合に、カテゴリの順位の上昇・下降の要因となる単語の組み合わせを抽出する処理である。
【００７８】
まず、複合要因語抽出部４２は単語の組み合わせを数える変数ｃｏｎｂＣｎｔの初期値に２を、出力するｌｉｓｔ３にｎｕｌｌを、組み合わせ対象の単語の集合を表すｔｅｒｍＳｅｔにＣｉの全ての単語のうち、要因語抽出部４１の出力されなかった単語、すなわち複合要因語抽出部４２に入力されなかった単語を、組み合わせた単語の集合を保持する変数ｔｅｒｍＣｏｎｂの初期値にｎｕｌｌを代入する（ステップＳ１３１１）。
【００７９】
そして、以降のステップＳ１３１２〜ステップＳ１３１６では、Ｓ１３０４〜Ｓ１３０８と同様の方法で行う。
【００８０】
すなわち、複合要因語抽出部４２は、ｔｅｒｍＳｅｔの各単語に対して、アプリオリアルゴリズムの考え方により、単語をｃｏｎｂＣｎｔ個組み合わせる（ステップＳ１３１２）。そして、アプリオリアルゴリズムの考え方によって抽出したｔｅｒｍＣｏｎｂに対し値があれば（ステップＳ１３１３がＹｅｓ）、ｔｅｒｍＣｏｎｂの各単語ｔで繰り返し（ステップＳ１３１４）、単語ｔを含んだＣｉにおける出現文書数が統計的に有意に大きいか判定する（ステップＳ１３１５）。
【００８１】
単語ｔを含んだＣｉにおける出現文書数が統計的に有意に大きい場合（ステップＳ１３１５がＹｅｓ）、複合要因語抽出部４２はｓｃｏｒｅ（Ｃｉ，ｔ）を求め、ｌｉｓｔ３にｔとそのスコアを代入する（ステップＳ１３１６）。
【００８２】
単語ｔを含んだＣｉにおける出現文書数が統計的に有意に大きくない場合（ステップＳ１３１５がＮｏ）、ステップＳ１３１４に戻り他の単語で繰り返す。
【００８３】
ｔｅｒｍＣｏｎｂの各単語ｔにおいて全ての単語の繰り返しが終了した後（ステップＳ１３１４の繰り返し終了）、複合要因語抽出部４２は、ｃｏｎｂＣｎｔを１つ増やし、ｔｅｒｍＳｅｔにｔｅｒｍＣｏｎｂを代入する（ステップＳ１３１７）その後、複合要因語抽出部４２は、ステップＳ１３１２〜ステップＳ１３１７の処理を、Ｓ１３１３でｔｅｒｍＣｏｎｂがｎｕｌｌになるまで繰り返す。
【００８４】
ｔｅｒｍＣｏｎｂがｎｕｌｌである場合（ステップＳ１３１３がＮｏ）、複合要因語抽出部４２はｌｉｓｔ３（Ｃｉ）をソートし、上位Ｋ個を抽出し（ここでは２つ）、ｌｉｓｔ２（Ｃｉ）に入れる。全てのカテゴリＣｉの繰り返し終了後（ステップＳ１３０２の繰り返し終了）、複合要因語抽出部４２はｌｉｓｔ２を出力する（ステップＳ１３１９）。これにより複合要因語抽出処理が終了する。
【００８５】
図１４に、複合要因語抽出部４２がステップＳ１３１９で出力したｌｉｓｔ２の一例を示す。図１４に示すように、ｌｉｓｔ２には、「極めて危険」カテゴリでは、「タイヤ」と「脱落」を組み合わせた単語が抽出されている。「危険」カテゴリでは「ハンドル」、「重くなる」を組み合わせた単語が抽出されている。「やや危険」カテゴリでは「表示灯」と「つかない」を組み合わせた単語が抽出されている。「安全」カテゴリでは、「冷房」と「効かない」を組み合わせた単語が抽出されている。
【００８６】
これら複合的な要因である単語の組み合わせをユーザに提示することにより、ユーザは順位付けの要因を把握しやすくなる。
【００８７】
図１４のｌｉｓｔ３には、「極めて危険」カテゴリでは、「燃料」と「漏れ」」を組み合わせた単語と、「ブレーキ」と「効かない」を組み合わせた単語が抽出されている。「危険」カテゴリでは「燃料」と「残量」を組み合わせた単語と、「ブレーキ」と「効き辛い」を組み合わせた単語が抽出されている。「やや危険」カテゴリでは「ドア」と「ロック」と「できない」を組み合わせた単語が抽出されている。「安全」カテゴリでは、「ドア」と「開かない」を組み合わせた単語が抽出されている。
【００８８】
ｌｉｓｔ３に示すように、要因語抽出処理で抽出されなかった単語の集合から、組み合わせて要因となる単語を抽出した場合、「燃料」、「ブレーキ」のように、「極めて危険」、「危険」両方のカテゴリでも出現している単語が抽出されることがある。すなわち、「燃料」、「ブレーキ」のように、単語単体では、各カテゴリの要因とならないが、「漏れ」や「残量」、「効かない」や「効き辛い」と組み合わせることで、「極めて危険」や「危険」の要因となるような単語の組み合わせを抽出することが可能となる。
【００８９】
図５の説明に戻る。複合要因語抽出処理が終了すると、要因生成部４の要因カテゴリ性セブ４３が、ステップＳ４０３とステップＳ４０４とにおける要因抽出処理の結果、抽出された単語および単語の組み合わせから新規のカテゴリを生成する要因カテゴリ生成処理を行う（ステップＳ４０５）。
【００９０】
図１５乃至図１６を参照して要因カテゴリ生成部４３による要因カテゴリ生成処理について説明する。
【００９１】
図１５は、要因カテゴリ生成部４３によって実行される、要因カテゴリ生成処理の一例を示すフローチャートである。要因カテゴリ生成処理が、要因カテゴリ生成部４３が、各順位付きカテゴリＣｉにおいてステップＳ４０３とステップＳ４０４で抽出された単語に基づいて新規カテゴリを生成し、生成した新規カテゴリに、当該順位付きカテゴリに属する文書データを分類する処理である。
【００９２】
要因カテゴリ生成部４３、各順位付きカテゴリＣｉについて繰り返し（ステップＳ１４０１）、要因語抽出部４１と複合要因語抽出部４２によって出力されたｌｉｓｔ１とｌｉｓt２に格納された、当該カテゴリに対する各単語および単語の組み合わせについて繰り返し（ステップＳ１４０２）、当該単語および単語の組み合わせを含む文書データを集めてカテゴリを生成する（ステップＳ１４０３）。このとき生成するカテゴリの名称は、文書データを集める対象の単語もしくは単語の組み合わせとする。
【００９３】
全てのカテゴリＣｉについて繰り返し終了後（ステップＳ１４０１の繰り返し終了）、生成したカテゴリを分類結果記憶部３に登録する（ステップＳ１４０４）。これにより、要因カテゴリ生成処理は終了する。
【００９４】
要因カテゴリ生成処理後、ユーザインタフェース部３に新規に生成されたカテゴリが表示される。
【００９５】
図１６に、要因カテゴリ生成処理後に、ユーザインタフェース部３に表示されるカテゴリ画面の一例を示す。図１６に示すカテゴリ表示画面５１は、「極めて危険」、「危険」、「やや危険」、「安全」それぞれのカテゴリ直下に、ステップＳ４０３、ステップＳ４０４で抽出された単語および単語の組み合わせを含む文書を分類したカテゴリ９０１〜９１５が生成されている。
【００９６】
続いて、図５のステップＳ４０６について説明する。２軸マップ可視化部３２が、ステップＳ４０５で生成されたカテゴリと、ステップＳ４０１で入力された順位付きカテゴリの集合を軸とした、２軸マップを作成し表示する（ステップＳ４０６）。
【００９７】
ここで、図１７および図１８を参照して、２軸マップ可視化処理について説明する。
【００９８】
２軸マップ可視化部３２は、２軸マップに表示するデータを格納するリストであるｖｉｅｗＬｉｓｔを初期化する（ステップＳ１５０１）。次に、２軸マップ可視化部３２は、順位付きの各カテゴリＣｉについて繰り返し（ステップＳ１５０２）、要因カテゴリ生成部４３で生成された新規のカテゴリＣｆについて繰り返し（ステップＳ１５０３）、ＣｉとＣｆの両方に出現する文書データを取得し、取得した文書データの件数と、順位付きカテゴリＣｉのカテゴリ名と、新規カテゴリＣｆのカテゴリ名と関連付けてｖｉｅｗＬｉｓｔに記憶する（ステップＳ１５０４）。
【００９９】
全ての新規カテゴリＣｆについて繰り返し後（ステップＳ１５０３の繰り返し終了）、他の順位付きカテゴリについても繰り返し、全ての順位付きカテゴリＣｉについて繰り返し後（ステップＳ１５０２の繰り返し終了）、２軸マップ可視化部３２は、ｖｉｅｗＬｉｓｔを出力する（ステップＳ１５０５）。これにより、２軸マップ可視化処理は終了する。
【０１００】
図１８に２軸マップ可視化部３２が出力したｖｉｅｗＬｉｓｔを表示する２軸マップ画面の一例を示す。図１８に示すように、２軸マップ画面６０は、要因カテゴリ生成部４３で生成した新規カテゴリが縦軸であり、要因語抽出部４１に入力された順位付きカテゴリが横軸であり、縦軸と横軸とがクロスした欄に、縦軸と横軸の両方のカテゴリ名が含まれる文書データ数が示される。このとき、各順位付きカテゴリにおいて要因抽出処理で抽出された単語および単語の組み合わせであるカテゴリについては、文書データ数を表示する欄を強調表示する。ここでは斜線を表示している。
【０１０１】
上述のように、本実施形態の文書分析装置１０によると、あらかじめ順位が設定された順位付きカテゴリに対し、カテゴリの順位関係に基づいて、順位の上昇・下降の要因となる単語を抽出することにより、ユーザはカテゴリにつけられた順位の要因を把握できる。これによりユーザは、文書データの内容の把握を容易に行なうことが可能となる。
【０１０２】
また、本実施形態の文書分析装置１０によると、要因となる単語単体の抽出だけでなく、要因が複合的な場合、即ち単語を組み合わせた場合であっても抽出することが可能である。このとき、文書分析装置１０は、単語単体が要因とならない場合であっても、組み合わせると要因となるような単語の組み合わせを抽出することも可能である。これにより、ユーザは文書データの内容の把握が容易になる。
【０１０３】
また、本実施形態の文書分析装置１０は、要因カテゴリ生成部４３が生成したカテゴリを分類軸１とし、あらかじめ設定された順位付きの各カテゴリを分類軸２とし、分類軸１の分類項目のカテゴリと、分類軸２の分類項目のカテゴリとの、両方に分類されている文書データの個数を、当該複数のカテゴリの全ての組み合わせについて求めることでクロス集計を実行し２軸マップを作成する。これにより、ユーザは文書データの内容の把握が容易になる。
【０１０４】
なお、本実施形態の文書分析装置１０によって分析を行なうその他の例としては、商品情報を分析したい場合などがあげられる。商品情報が、年齢層別の売り上げカテゴリに分類されている場合に、所定の年齢層の売り上げ要因を抽出することが可能となる。
【０１０５】
以上、本発明の実施形態を説明したが、この実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１０６】
例えば、本実施形態の文書分析装置１０は、ユーザが所定のカテゴリを選択すると、当該カテゴリに属する子カテゴリである順位付きカテゴリ全てについて、要因語を抽出するが、ユーザが順位付きカテゴリを選択し、当該順位付きカテゴリのみについて要因語を抽出することも可能である。
【符号の説明】
【０１０７】
１…文書記憶部、２…分類結果記憶部、３…ユーザインタフェース部、３１…カテゴリ表示操作部、３２…２軸マップ可視化部、４…要因生成部、４１…要因語抽出部、４２…複合要因語抽出部、４３…要因カテゴリ生成部
【図１】
0005450699.tif 000002
【図２】
0005450699.tif 000003
【図３】
0005450699.tif 000004
【図４】
0005450699.tif 000005
【図５】
0005450699.tif 000006
【図６】
0005450699.tif 000007
【図７】
0005450699.tif 000008
【図８】
0005450699.tif 000009
【図９】
0005450699.tif 000010
【図１０】
0005450699.tif 000011
【図１１】
0005450699.tif 000012
【図１２】
0005450699.tif 000013
【図１３】
0005450699.tif 000014
【図１４】
0005450699.tif 000015
【図１５】
0005450699.tif 000016
【図１６】
0005450699.tif 000017
【図１７】
0005450699.tif 000018
【図１８】
0005450699.tif 000019