(57)【要約】【課題】第１キーワードから第２キーワードへ至る関連語の経路をあらかじめ複数表示することにより、２つのキーワードがどのような語を経由して結びついているのかという情報を提示することを可能にすることを目的とする。【解決手段】指定された関連度と距離の範囲内で第１キーワード及び第２キーワードの関連語リストをそれぞれ作成し、関連語リストから共通関連語リストを作成する。作成した共通関連語リストからそれぞれ第１キーワード及び第２キーワードに至る部分リストを作成する。共通関連語リスト及び第１、第２キーワードに至る部分リストを利用して、それぞれ第１、第２キーワードに至る関連語経路リストを作成する。第１キーワードに至る関連語経路リストと第２キーワードに至る関連語経路リストを結合して第１キーワードから第２キーワードに至る関連語経路リストを作成し、関連語経路リストをもとに表示用のデータを作成する。【選択図】　図２９
2004021763.tif 000002
【特許請求の範囲】
【請求項１】
テキストデータを解析し、特徴や傾向を把握したり、未知の情報を発見するためのテキストマイニングプログラムであって、
指定された２つのキーワードを結ぶ関連語の経路を探索するステップと、
探索した経路を表示するステップと
を備えたことを特徴とするテキストマイニングプログラム。
【請求項２】
請求項１に記載のテキストマイニングプログラムにおいて、
前記経路を探索するステップは、前記指定された２つのキーワード間の距離をしきい値として、探索する関連語の数を決定することを特徴とするテキストマイニングプログラム。
【請求項３】
請求項１に記載のテキストマイニングプログラムにおいて、
前記経路を探索するステップは、前記指定された２つのキーワード間の関連の強さをしきい値として、探索する関連語の数を決定することを特徴とするテキストマイニングプログラム。
【請求項４】
請求項１に記載のテキストマイニングプログラムにおいて、
前記探索した経路を表示するステップは、ユーザの指定に応じて、最短経路順あるいは最長経路順に、探索した経路を表示することを特徴とするテキストマイニングプログラム。
【請求項５】
請求項１に記載のテキストマイニングプログラムにおいて、
前記探索した経路を表示するステップは、ユーザの指定に応じて、経路の要素である各キーワード間の関連の強さの平均値の昇順または降順に、探索した経路を表示することを特徴とするテキストマイニングプログラム。
【請求項６】
請求項１に記載のテキストマイニングプログラムにおいて、
前記探索した経路を表示するステップは、ユーザの指定に応じて、単語間の関連の強さと文書中の出現頻度によって関連語や関連語間の経路の表示色を変更することを特徴とするテキストマイニングプログラム。
【請求項７】
テキストデータを解析し、特徴や傾向を把握したり、未知の情報を発見するためのテキストマイニングプログラムであって、
指定された第１キーワードからの距離が所定値以内の範囲内で、該第１キーワードに関連する関連語及び何れかの関連語を介して該第１キーワードとつながる関連語を探索し、その探索結果から該第１キーワードの関連語リストを作成するステップと、
指定された第２キーワードからの距離が所定値以内の範囲内で、該第２キーワードに関連する関連語及び何れかの関連語を介して該第２キーワードとつながる関連語を探索し、その探索結果から該第２キーワードの関連語リストを作成するステップと、
前記第１キーワードの関連語リストと第２キーワードの関連語リストから、両関連語リストに出現する共通関連語を探索するステップと、
前記共通関連語を介して前記第１キーワードから第２キーワードに至る経路を求めるステップと、
求めた経路を表示するステップと
を備えたことを特徴とするテキストマイニングプログラム。
【請求項８】
テキストデータを解析し、特徴や傾向を把握したり、未知の情報を発見するためのテキストマイニング方法であって、
指定された２つのキーワードを結ぶ関連語の経路を探索するステップと、
探索した経路を表示するステップと
を備えたことを特徴とするテキストマイニング方法。
【請求項９】
テキストデータを解析し、特徴や傾向を把握したり、未知の情報を発見するためのテキストマイニング装置であって、
指定された２つのキーワードを結ぶ関連語の経路を探索する手段と、
探索した経路を表示する手段と
を備えたことを特徴とするテキストマイニング装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、蓄積されたテキストデータを分析し、特徴や傾向を把握したり、未知の情報を発見したりするプロセスを支援するテキストマイニングプログラム、方法、及び装置に関する
【０００２】
【従来の技術】
従来、蓄積されたテキストデータを解析し、特徴や傾向を把握したり、未知の情報を発見する技術として、文書分類方法、重要語の抽出方法、抽出した単語の分類方法、及び抽出した単語間の関連の表示方法など、多くのテキストマイニングの技術が提案されている。その中でテキストマイニングの可視化技術として、単語間の連想関係を図１のようなネットワーク形式で表示する方法が提案されている。図１において、矩形で囲んだ各単語は分析対象のテキストから抽出したキーワードを示し、各キーワード間をつなぐ経路に付された数値はそれらのキーワード間の関連性を示す。また、人工知能学会誌１６巻第２号（２００１年３月）の「ビジュアルテキストマイニング」では、テキストマイニングの可視化技術として、単語マップ、アンカーマップ、及びスケルトンマップが提案されている。
【０００３】
これらは、主に注目しているキーワードと直接関連のあるキーワードをネットワーク表示することにより、傾向を把握するための表示方法である。さらに、特開２００１−１１７９３５や特表２００１−５１３２４２には、ネットワーク表示されたキーワードをクリックすると、クリックしたキーワードに関連するキーワードを展開し、間接的な関連を見せるという方法が提案されてはいる。ただし、間接的な関連を見るためには利用者がキーワードを指定しなければならなかった。
【０００４】
【発明が解決しようとする課題】
上記従来技術では、指定されたキーワードあるいは複数のキーワードに直接関連の強いキーワードをネットワーク形式あるいはリスト形式で表示するため、直接的な関連あるいは直接的な結びつきを把握することは可能であるが、間接的な結びつきを把握することができなかった。つまり、語と語の直接的な結びつきを見ることはできるが、語と語の間にどのような語が介在しているかを見ることはできなかった。そのため、利用者はある程度推測できる連想関係しか見ることができないという問題があった。また、あるキーワードを選択し、その関連語を徐々に表示していく場合においても、利用者が探索する方向を決定し、操作しなければならず、限られた経路しか表示されないという問題があった。
【０００５】
本発明の目的は、第１キーワードから第２キーワードへ至る関連語の経路をあらかじめ複数表示することにより、２つのキーワードがどのような語を経由して結びついているのかという情報を提示し、このような関連語の経路を表示することにより、利用者に今まで気がつかなかった未知の情報を提示することにある。
【０００６】
【課題を解決するための手段】
上記の目的を達成するため、本発明では、指定された２つのキーワードを結ぶ関連語の経路を探索し、探索した経路を表示することを特徴とする。例えば、指定された第１キーワードからの距離が所定値以内の範囲内で、該第１キーワードに関連する関連語及び何れかの関連語を介して該第１キーワードとつながる関連語を探索し、その探索結果から該第１キーワードの関連語リストを作成し、指定された第２キーワードについても同様にして第２キーワードの関連語リストを作成し、それらの関連語リストから、両関連語リストに出現する共通関連語を探索し、その共通関連語を介して前記第１キーワードから第２キーワードに至る経路を求め、求めた経路を表示する。
【０００７】
具体的には、文書データベースから関連語辞書を作成する関連語辞書作成部と関連語辞書からキーワード間の経路を求める関連語経路探索部を設ける。これにより、指定された２つのキーワード間の経路情報を作成することが可能になる。入力画面にはキーワード指定エリアの他に距離（関連語の数）を指定するエリアを設ける。これにより、第１キーワードから第２キーワードに至る距離（関連語の数）をしきい値として、関連語の経路を探索することが可能となる。また、同じくキーワード間の関連の強さ（関連度）を指定する入力エリアを設ける。これにより、関連の強さ（関連度）をしきい値として、関連語の経路を探索することが可能となる。以上のように、指定された２つのキーワード、距離、関連度を入力として探索処理を実行し、経路情報を作成する。
【０００８】
さらに、作成した経路情報を表示するためのオプションとして、表示する経路の順序を指定するエリア、キーワード間の関連度、キーワードの出現頻度によって、表示する経路の表示色や、キーワードの表示色を指定するエリア等を設ける。表示する経路の順序を指定する方法として、最短経路順あるいは最長経路順の指定と、経路の関連の強さの平均値の昇順または降順による指定方法を設ける。最短経路順が指定された場合には、経路の長さが短い順に表示する。最長経路順が指定された場合には、経路の長さが長い順に表示する。経路の関連の強さの平均値の昇順が指定された場合には、経路の要素である各キーワード間の関連の強さの平均値が小さい順に表示する。経路の関連の強さの平均値の降順が指定された場合には、経路の要素である各キーワード間の関連の強さの平均値が大きい順に表示する。また、これらの表示順序の指定については、経路を優先するか、関連度の平均値を優先するかを指定できるようにする。
【０００９】
さらに、キーワード間の関連の強さによって経路の表示色を指定するオプションやキーワードの出現頻度によって表示色を指定するオプションを設けてもよい。キーワード間の関連の強さを色分け表示することにより、関連の強弱を把握することができる。また、キーワードの頻度情報を色分け表示することにより、キーワードそのものの情報つまり低頻度語なのか高頻度語なのかという情報も同時に把握することができる。このように、表示オプションを設けることにより、作成した経路情報を複数のパターンで表示することが可能となる。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１１】
図２は、本発明の実施の形態であるテキストマイニング装置の構成を示す。本装置は、処理装置１０、入力装置６０、及び表示装置７０を備える。処理装置１０は、入力装置６０から入力された情報に従って処理を行い、結果を表示装置７０の入力／出力画面８０に表示する。処理装置１０は、あらかじめ文書データベース２０から関連語辞書４０を生成する関連語辞書作成部３０と、指定された２つのキーワードを結ぶ経路を探索し表示する関連語経路探索部５０とを備える。関連語辞書作成部３０は、単語抽出部３１、及び関連語抽出部３２を備える。関連語経路探索部５０は、関連語リスト作成部５１と、関連語リスト作成部５１から出力される関連語リスト５２と、関連語経路作成部５３と、関連語経路作成部５３から出力される関連語経路リスト５４と、関連語経路リスト５４を表示するための関連語経路表示部５５とを備える。
【００１２】
図３は、図２の関連語辞書作成部３０が文書データベース２０から関連語辞書４０を作成するまでの処理過程を示したフローチャートである。単語抽出部３１では、図４に示すような文書データを文書データベース２０から読み込み（ステップ１０１）、図５に示すように単語の切り出しを行い（ステップ１０２）、図６に示すような単語テーブルを作成し、関連語辞書４０に登録する（ステップ１０３）。単語抽出の方法としては、辞書データを参照して語を切り出す方法、文中で漢字やひらがな等の文字の種類を目印として切り出す方法などがあるが、ここでは、その方式は特に制限しない。
【００１３】
関連語抽出部３２では、単語間の共起関係を抽出し、１つの単語に対して関連のある語を抽出し、図７に示すような共起頻度テーブルに登録する（ステップ１０４）。ここでいう共起関係とは、１文中に共に使用される単語同士を意味する。図７の共起頻度テーブルの共起頻度とは、単語１と単語２とが１文中で共に使用されている回数を表すものである。共起関係の抽出については、単に同一文中に出現する単語というだけではなく、一般的な構文解析方式により、主語、述語の関係や係り受けの関係を求めることもできるが、その方式は特に制限しない。抽出した単語と共起関係をもとに単語間の関連の強さを求め、図８に示すような関連度テーブルを作成し、結果を関連語辞書４０に登録する（ステップ１０５）。なお、共起頻度を単語間の強度（関連度）としてもよいし、単語間の関係の強さを求める手法として知られている図９に示す相互情報量を強度にしてもよい。本実施の形態では、単語間の相互情報量を強度（関連度）とする。
【００１４】
図１０は、図２の関連語リスト作成部５１で関連語リスト５２を作成する処理過程を示したフローチャートである。関連語リスト作成部５１では、ユーザにより指定された２つのキーワードの関連語リスト５２を作成する。まず、図２の入力装置６０から入力された第１キーワードを変数Ａに、距離を変数Ｄに、関連度を変数Ｒに、初期値の距離０を変数Ｄ１に代入し（ステップ２０１）、これらを引数として関連語リスト作成関数を呼び出し（ステップ２０２）、図１１に示すような第１キーワードの関連語リストを作成する。
【００１５】
図１１では、説明の便宜上、第１キーワードをキーワードＡとし、キーワードＡの関連語を関連語Ａ１、関連語Ａ２というように記号で関連語を示している。なお、図１１の関連語リストは行単位のデータの集まりで構成されている。その各行のリストは、先頭要素と、その先頭要素に関連する関連語のリストとを、並べたものである。例えば、図１１の第１行目のリストである［キーワードＡ，［関連語Ａ１，関連語Ａ２，関連語Ａ３，関連語Ａ４］］は、キーワードＡの関連語が［関連語Ａ１，関連語Ａ２，関連語Ａ３，関連語Ａ４］であることを示している。第２行目以降の各行のデータも同様の表現形式であり、さらに後述する図１２の第２キーワード（キーワードＢ）の関連語リストも同じ表現形式である。また、図１１や図１２のデータ全体を「関連語リスト」と呼ぶほか、説明の便宜上、図１１や図１２の各行の先頭要素に関連する関連語のリストも「関連語リスト」と呼ぶものとする。例えば、図１１の第１行目のリストである［キーワードＡ，［関連語Ａ１，関連語Ａ２，関連語Ａ３，関連語Ａ４］］の中で、キーワードＡに関連する関連語を並べたリストである［関連語Ａ１，関連語Ａ２，関連語Ａ３，関連語Ａ４］も「関連語リスト」と呼ぶ。
【００１６】
ステップ２０１，２０２で第１キーワードの関連語リストを作成した後、第１キーワードと同様にして、図２の入力装置６０から入力された第２キーワードをＢに、距離をＤに、関連度をＲに、初期値の距離０をＤ１に代入し（ステップ２０３）、これらを引数として関連語リスト作成関数を呼び出し（ステップ２０４）、図１２に示すような第２キーワードの関連語リストを作成する。図１２では、説明の便宜上、第２キーワードをキーワードＢとし、キーワードＢの関連語を関連語Ｂ１、関連語Ｂ２というように記号で関連語を示している。
【００１７】
図１３は、図１０のステップ２０２とステップ２０４で呼び出している関連語リスト作成関数の処理過程を示したフローチャートである。関連語リスト作成関数では、指定された関連度と距離の範囲内で関連語リストを作成する処理を行う。まず、最初に引数として入力した距離Ｄ１が指定された距離Ｄ以下かを判定し（ステップ３０１）、すでに指定されている距離Ｄ（関連語の数）を超えていたら、リターンする。距離Ｄ１が指定された距離Ｄの範囲内にあれば、引数として入力したキーワードＸの関連語の探索が終了したかをチェックする（ステップ３０２）。この探索は、図８の関連度テーブルからキーワードＸを探索するものである。探索するべきキーワードＸの関連語がある場合には、Ｘの関連語を取得し、Ｘ１に代入する（ステップ３０３）。そして、さらにＸとＸ１の関連度をＲ１に代入する（ステップ３０４）。関連度Ｒ１が指定された関連度Ｒ以下であるかを判定し（ステップ３０５）、指定された関連度Ｒ以下の場合は、Ｘ１を関連語としては取らずに、ステップ３０２に戻って、Ｘの次の関連語を取得する処理を行う。ステップ３０５でＲ１が関連度Ｒ以上の関連度であれば、Ｘ１をＸの関連語リストに追加する処理を行い（ステップ３０６）、ステップ３０２に戻って、Ｘの次の関連語を取得する処理を行う。このようにＸの関連語についてチェックを行い、Ｘの関連語リストを作成する。
【００１８】
Ｘの関連語の探索が終了したら、次にＸの関連語リストの各要素について同じ処理を繰り返す。すなわち、Ｘの関連語リストの各要素について、その要素に関連する関連語を探索して取得する処理を行う。まず、Ｘの関連語リストの探索が終了したかをチェックする（ステップ３０７）。Ｘの関連語リストの探索が終了している場合にはリターンする。Ｘの関連語リストの探索が終了していない場合には、距離Ｄ１に１加算し（ステップ３０８）、Ｘの関連語リストの各要素の探索が終了しているかをチェックする（ステップ３０９）。探索が終了している場合にはリターンする。探索が終了していない場合には、Ｘの関連語リストから要素（未だ探索を行っていない要素）を取り出してＹへ代入する（ステップ３１０）。そして、Ｘの関連語リストの要素Ｙ、指定された距離Ｄ、指定された関連度Ｒ、及び変数Ｄ１を引数として、本関連語リスト作成関数の再帰呼び出しを行う（ステップ３１１）。以上のような処理を行い、図１１に示す第１キーワードの関連語リストと図１２に示す第２キーワードの関連語リストを作成する。
【００１９】
図１４は、図１１と図１２の関連語リストをもとに関連語経路リスト５４を作成する関連語経路作成部５３の処理過程を示したフローチャートである。まず、図１１に示した第１キーワード（キーワードＡ）の関連語リストと図１２に示した第２キーワード（キーワードＢ）の関連語リストから、図１５に示す共通関連語リストを作成する（ステップ４０１）。次に、図１５に示す共通関連語リストの左側の要素から図１６に示すキーワードＡに至る部分リストを作成する（ステップ４０２）。さらに、図１５に示す共通関連語リストの右側の要素から図１７に示すキーワードＢに至る部分リストを作成する（ステップ４０３）。図１６及び図１７の部分リストを作成したら、図１５に示す共通関連語リストの左側の要素から図１６に示すキーワードＡに至る部分リストを利用して、図１８に示すキーワードＡに至る関連語経路リストを作成する（ステップ４０４）。またさらに、図１５に示す共通関連語リストの右側の要素から図１７に示すキーワードＢに至る部分リストを利用して、図１９に示すキーワードＢに至る関連語経路リストを作成する（ステップ４０５）。そして最後に、キーワードＡに至る関連語経路リストとキーワードＢに至る関連語経路リストを結合して、図２０に示すようなキーワードＡからキーワードＢに至る関連語経路リストを作成する（ステップ４０６）。
【００２０】
以下、図１４の各ステップの処理の詳細を順に説明する。
【００２１】
図２１は、図１４のステップ４０１の共通関連語リストを作成する処理過程を示したフローチャートである。まず、第１キーワードであるキーワードＡの関連語リスト（図１１）の探索が終了したかをチェックし（ステップ５０１）、探索が終了している場合には処理を終了する。探索が終了していない場合には、キーワードＡの関連語リストの中の各要素（キーワード）の探索が終了したかをチェックし（ステップ５０２）、終了している場合には、ステップ５０１に戻る。探索が終了していない場合には、キーワードＡの関連語リストから次の要素を取り出してＸに代入し（ステップ５０３）、ステップ５０４に進む。
【００２２】
なお、ステップ５０１は、図１１に示した関連語リストの各行データを処理単位として処理を進めていく際、すべての行データについて処理を終了したかをチェックするものである。すなわち、図１１の関連語リストの先頭行データから処理を開始して、１つの行データについて処理したら、ステップ５０１で次の行データを処理対象として、ステップ５０２に進む。処理対象の行データが無くなったら、ステップ５０１から処理終了する。ステップ５０２は、処理対象の行データ中の関連語リストの全要素について処理終了したかをチェックするものである。ステップ５０３で取り出している要素とは、前記処理対象の行データ中の関連語リストの各要素のことである。
【００２３】
ステップ５０２で現在の処理対象の行データ中の関連語リストの全要素についての探索が終了していない場合には、次の要素を取り出してＸに代入し（ステップ５０３）、キーワードＢの関連語リスト（図１２）の探索が終了したかをチェックする（ステップ５０４）。キーワードＢの関連語リストの探索が終了している場合には、ステップ５０２に戻る。キーワードＢの関連語リストの探索が終了していない場合には、キーワードＢの関連語の中の各要素（キーワード）の探索が終了したかをチェックする（ステップ５０５）。キーワードＢの関連語の中の各要素（キーワード）の探索が終了している場合にはステップ５０４に戻る。キーワードＢの関連語の中の各要素（キーワード）の探索が終了していない場合には、キーワードＢの関連語リストから各要素（キーワード）を取り出してＹに代入し（ステップ５０６）、ＸとＹが同じかの判定を行う（ステップ５０７）。ＸとＹが同じであれば、一致したＹの関連語リストの先頭要素（キーワード）とキーワードＸで図１５に示す共通関連語リストを作成し（［Ｘ，Ｙの関連語リストの先頭要素］のリスト形式）、ステップ５０６に戻る。ＸとＹが同じでなければ、ステップ５０５に戻る。
【００２４】
なお、ステップ５０４，５０５，５０６は、それぞれステップ５０１，５０２，５０３と同様の処理である。ただし、処理対象の関連語リストは図１２のキーワードＢの関連語リストである。また、ステップ５０６で要素を代入する変数はＹである。
【００２５】
例えば、図１１のキーワードＡの関連語リスト中の要素であって、図１２のキーワードＢの関連語リストにも含まれている要素は、関連語Ａ３、関連語Ａ１１、関連語Ａ１２であり、それらの先頭要素（図１２の関連語リストでの先頭要素）は、関連語Ａ３については関連語Ｂ３、関連語Ａ１１については関連語Ｂ２と関連語Ｂ１１、関連語Ａ１２については関連語Ｂ１と関連語Ｂ１１であるため、図１５に示すようなリストとなる。図１５の共通関連語リストの各行データの左側の要素は、図１１の関連語リスト中の各行データの右側の関連語リスト中の要素のうち、図１２の関連語リスト中の各行データの右側の関連語リスト中の要素と同じものがあるものである。また、図１５の共通関連語リストの各行データの右側の要素は、その左側の要素に対応する先頭要素（図１２の関連語リスト中の先頭要素）である。
【００２６】
図２２は、図１４のステップ４０２のキーワードＡに至る部分リストを作成する処理過程を示したフローチャートである。まず、図１５の共通関連語リストの探索が終了したかをチェックし（ステップ６０１）、探索が終了している場合には、処理を終了する。すなわち、図１５の共通関連語リストの先頭行データから処理を開始して、１つの行データについて処理したら、ステップ６０１で次の行データを処理対象として、ステップ６０２に進む。処理対象の行データが無くなったら、ステップ６０１から処理終了する。ステップ６０１で探索が終了していない場合には、図１５の共通関連語リストの処理対象の行データの左側の要素を取り出してＸに代入し（ステップ６０２）、ＸがキーワードＡつまり終端キーワードか否かをチェックする（ステップ６０３）。ＸがキーワードＡと同じだった場合は、ステップ６０１に戻り、図１５の共通関連語リストの次の行データを処理対象として取り出す処理を行う。
【００２７】
ステップ６０３でＸがキーワードＡと同じでない場合は、図１１のキーワードＡの関連語リストの中でＸを含む関連語リストの先頭要素をＹに代入する（ステップ６０４）。すなわち、図１１の各行データ中の右側の関連語リストにＸを含む行データを見つけ、その先頭要素をＹに代入する。次に、ＹとＸの部分リストがすでに作成済みかをチェックし（ステップ６０５）、作成済みの場合はステップ６０１に戻る。作成済みでない場合は、ＹとＸの部分リストを作成する（ステップ６０６）。この部分リストは［Ｘ，Ｙ］の形式である。次に、ＹがキーワードＡつまり終端キーワードか否かをチェックする（ステップ６０７）。ＹがキーワードＡと同じだった場合は、ステップ６０１に戻り、ＹがキーワードＡと同じでない場合は、ＹをＸに代入し（ステップ６０８）、ステップ６０４に戻り、図１６に示すキーワードＡに至る部分リストを作成する処理を繰り返す。
【００２８】
例えば、図１５の共通関連語リストの中の第２行目のリストで左側の要素である関連語Ａ１１をキーに図１１のキーワードＡの関連語リストを探索してみると、［関連語Ａ１，［関連語Ａ１１，関連語Ａ１２，関連語Ａ１３］］と［関連語Ａ２，［関連語Ａ２１，関連語Ａ２２，関連語Ａ２３，関連語Ａ１１］］というリストがあり、それらの先頭要素は関連語Ａ１と関連語Ａ２なので、キーワードＡに至る部分リストとして［関連語Ａ１１，関連語Ａ１］と［関連語Ａ１１，関連語Ａ２］を作成することになる。
【００２９】
図２３は、図１４のステップ４０３のキーワードＢに至る部分リストを作成する処理過程を示したフローチャートである。まず、図１５の共通関連語リストの探索が終了したかをチェックし（ステップ７０１）、探索が終了している場合には、処理を終了する。すなわち、図１５の共通関連語リストの先頭行データから処理を開始して、１つの行データについて処理したら、ステップ７０１で次の行データを処理対象として、ステップ７０２に進む。処理対象の行データが無くなったら、ステップ７０１から処理終了する。ステップ７０１で探索が終了していない場合には、図１５の共通関連語リストの処理対象の行データの右側の要素を取り出してＸに代入し（ステップ７０２）、ＸがキーワードＢつまり終端キーワードか否かをチェックする（ステップ７０３）。ＸがキーワードＢと同じだった場合は、ステップ７０１に戻り、図１５の共通関連語リストの次の行データを処理対象として取り出す処理を行う。
【００３０】
ステップ７０３でＸがキーワードＢと同じでない場合は、図１２のキーワードＢの関連語リストの中でＸを含む関連語リストの先頭要素をＹに代入する（ステップ７０４）。すなわち、図１２の各行データ中の右側の関連語リストにＸを含む行データを見つけ、その先頭要素をＹに代入する。次に、ＹとＸの部分リストがすでに作成済みかをチェックし（ステップ７０５）、作成済みの場合はステップ７０１に戻る。作成済みでない場合は、ＹとＸの部分リストを作成する（ステップ７０６）。この部分リストは［Ｘ，Ｙ］の形式である。次に、ＹがキーワードＢつまり終端キーワードか否かをチェックする（ステップ７０７）。ＹがキーワードＢと同じだった場合は、ステップ７０１に戻り、ＹがキーワードＢと同じでない場合は、ＹをＸに代入し（ステップ７０８）、ステップ７０４に戻り、図１７に示すキーワードＢに至る部分リストを作成する処理を繰り返す。
【００３１】
例えば、図１５の共通関連語リストの中の第３行目のリストで右側の要素である関連語Ｂ１１をキーに図１２のキーワードＢの関連語リストを探索してみると、［関連語Ｂ１，［関連語Ｂ１１，関連語Ａ１２，関連語Ｂ１２，関連語Ｂ１３］］と［関連語Ｂ２，［関連語Ｂ２１，関連語Ｂ１１，関連語Ａ１１］］というリストがあり、それらの先頭要素は関連語Ｂ１と関連語Ｂ２なので、キーワードＢに至る部分リストとして［関連語Ｂ１１，関連語Ｂ１］と［関連語Ｂ１１，関連語Ｂ２］を作成することになる。
【００３２】
図２４は、図１４のステップ４０４のキーワードＡに至る関連語経路リストを作成する処理過程を示したフローチャートである。まず、図１５の共通関連語リストの探索が終了したかをチェックし（ステップ８０１）、探索が終了している場合には、処理を終了する。すなわち、図１５の共通関連語リストの先頭行データから処理を開始して、１つの行データについて処理したら、ステップ８０１で次の行データを処理対象として、ステップ８０２に進む。処理対象の行データが無くなったら、ステップ８０１から処理終了する。ステップ８０１で探索が終了していない場合には、図１５の共通関連語リストの処理対象の行データの左側の要素を取り出してＸに代入し（ステップ８０２）、Ｘの関連語経路リストを作成する（ステップ８０３）。最初の関連語経路リストはＸのみを要素とするリスト［Ｘ］となる。次に、ＸをＸ１に代入し（ステップ８０４）、図１６のキーワードＡに至る部分リストの探索が終了したかをチェックする（ステップ８０５）。この探索は、図１６のキーワードＡに至る部分リストから、左側の要素がＸ１と一致するリストを探すものである。
【００３３】
図１６のキーワードＡに至る部分リストの探索が終了している場合は、ステップ８０１に戻り、図１５の共通関連語リストの次の行データを処理対象として取り出す処理を行う。探索が終了していない場合は、図１６のキーワードＡに至る部分リストの中で左側の要素がＸ１と一致する右側の要素Ｙを取得し（ステップ８０６）、Ｘの関連語経路リストにＹを追加する（ステップ８０７）。これは、Ｘの関連語経路リストの先頭要素としてＹを挿入する処理である。次に、ＹがキーワードＡつまり終端キーワードか否かをチェックし（ステップ８０８）、キーワードＡと同じだった場合つまり終端キーワードだった場合は、ステップ８０１に戻り、ＹがキーワードＡと同じでない場合は、ＹをＸ１に代入し（ステップ８０９）、ステップ８０６に戻り、図１８に示すキーワードＡに至る関連語経路リストを作成する処理を繰り返す。
【００３４】
例えば、図１５の共通関連語リストの中の第４行目のリストで左側の要素である関連語Ａ１２をキーに図１６のキーワードＡに至る部分リストを探索してみると、左側の要素が関連語Ａ１２と一致するリストには［関連語Ａ１２，関連語Ａ１］と［関連語Ａ１２，関連語Ａ１１］があり、そのうち前者［関連語Ａ１２，関連語Ａ１］について見てみると、［関連語Ａ１２，関連語Ａ１］の右側の要素は関連語Ａ１なので、まず関連語Ａ１２の関連語経路リスト［関連語Ａ１２］に関連語Ａ１を追加して［関連語Ａ１，関連語Ａ１２］を作成する。さらに、関連語Ａ１はキーワードＡつまり終端キーワードではないので、さらにキーワードＡに至る部分リストを探索すると、左側の要素が関連語Ａ１と一致する［関連語Ａ１，キーワードＡ］というリストが見つかるので、右側の要素キーワードＡを関連語Ａ１２の関連語リストに追加し［キーワードＡ，関連語Ａ１，関連語Ａ１１］というリストを作成することになる。
【００３５】
図２５は、図１４のステップ４０５のキーワードＢに至る関連語経路リストを作成する処理過程を示したフローチャートである。まず、図１５の共通関連語リストの探索が終了したかをチェックし（ステップ９０１）、探索が終了している場合には、処理を終了する。すなわち、図１５の共通関連語リストの先頭行データから処理を開始して、１つの行データについて処理したら、ステップ９０１で次の行データを処理対象として、ステップ９０２に進む。処理対象の行データが無くなったら、ステップ９０１から処理終了する。ステップ９０１で探索が終了していない場合には、図１５の共通関連語リストの処理対象の行データの右側の要素を取り出してＸに代入し（ステップ９０２）、Ｘの関連語経路リストを作成する（ステップ９０３）。最初の関連語経路リストはＸのみを要素とするリスト［Ｘ］となる。次に、ＸをＸ１に代入し（ステップ９０４）、図１７のキーワードＢに至る部分リストの探索が終了したかをチェックする（ステップ９０５）。この探索は、図１７のキーワードＢに至る部分リストから、左側の要素がＸ１と一致するリストを探すものである。
【００３６】
図１７のキーワードＢに至る部分リストの探索が終了している場合は、ステップ９０１に戻り、図１５の共通関連語リストの次の行データを処理対象として取り出す処理を行う。探索が終了していない場合は、図１７のキーワードＢに至る部分リストの中で左側の要素がＸ１と一致する右側の要素Ｙを取得し（ステップ９０６）、Ｘの関連語経路リストにＹを追加する（ステップ９０７）。これは、Ｘの関連語経路リストの最後尾の要素としてＹを挿入する処理である。次に、ＹがキーワードＢつまり終端キーワードか否かをチェックし（ステップ９０８）、キーワードＢと同じだった場合つまり終端キーワードだった場合は、ステップ９０１に戻り、ＹがキーワードＢと同じでない場合は、ＹをＸ１に代入し（ステップ９０９）、ステップ９０６に戻り、図１９に示すキーワードＢに至る関連語経路リストを作成する処理を繰り返す。
【００３７】
例えば、図１５の共通関連語リストの中の第３行目のリストで右側の要素である関連語Ｂ１１をキーに図１７のキーワードＢに至る部分リストを探索してみると、左側の要素が関連語Ｂ１１と一致するリストには［関連語Ｂ１１，関連語Ｂ１］と［関連語Ｂ１１，関連語Ｂ２］があり、そのうち前者［関連語Ｂ１１，関連語Ｂ１］について見てみると、［関連語Ｂ１１，関連語Ｂ１］の右側の要素は関連語Ｂ１なので、まず関連語Ｂ１１の関連語経路リスト［関連語Ｂ１１］に関連語Ｂ１を追加して［関連語Ｂ１１，関連語Ｂ１］を作成する。さらに、関連語Ｂ１はキーワードＢつまり終端キーワードではないので、さらにキーワードＢに至る部分リストを探索すると、左側の要素が関連語Ｂ１と一致する［関連語Ｂ１，キーワードＢ］というリストが見つかるので、右側の要素キーワードＢを関連語Ｂ１１の関連語リストに追加し［関連語Ｂ１１，関連語Ｂ１，キーワードＢ］というリストを作成することになる。
【００３８】
図２６は、図１４のステップ４０６のキーワードＡからキーワードＢに至る関連語経路リストを作成する処理過程を示したフローチャートである。まず、図１５の共通関連語リストの探索が終了したかをチェックし（ステップ１００１）、探索が終了している場合には、処理を終了する。すなわち、図１５の共通関連語リストの先頭行データから処理を開始して、１つの行データについて処理したら、ステップ１００１で次の行データを処理対象として、ステップ１００２に進む。処理対象の行データが無くなったら、ステップ１００１から処理終了する。ステップ１００１で探索が終了していない場合には、図１５の共通関連語リストの処理対象の行データの左側の要素を取り出してＸに代入し（ステップ１００２）、さらにその右側の要素を取り出してＹに代入する（ステップ１００３）。次に、図１８のキーワードＡに至る関連語経路リストの探索が終了したかをチェックする（ステップ１００４）。この探索は、図１８のキーワードＡに至る関連語経路リストから、一番右側の要素がＸと一致するリストを探すものである。
【００３９】
図１８のキーワードＡに至る関連語経路リストの探索が終了している場合は、ステップ１００１に戻り、図１５の共通関連語リストの次の行データを処理対象として取り出す処理を行う。探索が終了していない場合には、図１８のキーワードＡに至る関連語経路リストの中で一番右側の要素がＸと一致するリストを取得し、Ｌ１に代入する（ステップ１００５）。続いて、図１９のキーワードＢに至る関連語経路リストの探索が終了したかをチェックする（ステップ１００６）。この探索は、図１９のキーワードＢに至る関連語経路リストから、一番左側の要素がＹと一致するリストを探すものである。
【００４０】
図１９のキーワードＢに至る関連語経路リストの探索が終了している場合は、ステップ１００４に戻り、探索が終了していない場合には、図１９のキーワードＢに至る関連語経路リストの中で一番左側の要素がＹと一致するリストを取得し、Ｌ２に代入する（ステップ１００７）。そして、Ｌ１のリストとＬ２のリストを結合し、キーワードＡからキーワードＢに至る関連語経路リストとする（ステップ１００８）。リスト結合後、ステップ１００６に戻り、他のリストと結合する処理を繰り返す。
【００４１】
例えば、図１５の共通関連語リストの中の第１行目のリスト［関連語Ａ３，関連語Ｂ３］について見てみると、その左側の要素は関連語Ａ３で、図１８のキーワードＡに至る関連語リストの中で右側の要素が関連語Ａ３と一致するリストは［キーワードＡ，関連語Ａ３］である。また、前記第１行目のリスト［関連語Ａ３，関連語Ｂ３］の右側の要素は関連語Ｂ３で、図１９のキーワードＢに至る関連語リストの中で左側の要素が関連語Ｂ３と一致するリストは［関連語Ｂ３，キーワードＢ］である。したがって、これら２つのリストを結合し、［キーワードＡ，関連語Ａ３，関連語Ｂ３，キーワードＢ］というリストを作成することになる。以上のような処理を行い、図２０のような第１キーワード（キーワードＡ）から第２キーワード（キーワードＢ）に至る関連語経路リストを作成する。図２０において、各行のリストはそれぞれキーワードＡからキーワードＢに至る経路を表している。
【００４２】
図２７は、図２の関連語経路表示部５５により表示用データを作成する過程を示したフローチャートである。関連語経路表示部５５は、関連語経路リスト５４（図２０）をもとに表示用データを作成する。まず、各経路の関連度の平均値を算出し（ステップ１１０１）、表示する順序を決定する（ステップ１１０２）。各経路の関連度の平均値とは、各経路のリストにおいて、隣合う要素間の関連度の平均値のことである。表示する順序は利用者が指定した順番となる。最短経路順であれば、関連語経路リストの中の要素数が最も少ないリストから順に表示し、最長経路順であれば関連語経路リストの中の要素数が最も多いリストから順に表示する。また、関連の強さの平均値の高い順であれば、ステップ１１０１で算出した平均値の高い順に表示する。さらにそれらの組み合わせにより表示順序を決定する。表示する経路を決定したら、表示用のデータを作成する（ステップ１１０３）。オプションで、所定の関連度以下の経路の表示色を変更するように指定できる。また、キーワードの出現頻度が所定値以下のものについてはその表示色を変更するように指定できる。例えば、関連度３．０以下の経路の表示色が赤と指定されている場合には、該当するキーワード間の経路を赤に指定する。また、出現頻度５０以下の関連語の表示色が青と指定されている場合には、該当するキーワードの背景を青に指定する。
【００４３】
図２８は、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）形式における表示用データ作成例を示す。図２８は、「文字」と「見づらい」の間の経路を赤に、「見づらい」の背景を青に指定する例を示している。以上のように、指定されたオプションにしたがって表示用データを作成し、探索結果を図２の表示装置７０の入力／出力画面８０に表示する。
【００４４】
なお、ここでは表示色を変更する例を説明したが、変更する表示態様は表示色に限らない。例えば、線の太さ、強調表示、ブリンクの有無などを変更するようにしてもよい。
【００４５】
図２９は、探索結果の表示例を示す。この例は、「パソコン」と「高齢者」をキーワードとして入力し探索した結果である。図２９の例から、「パソコン」と「高齢者」との間には、「インターネット」「メール」「学習意欲」というキーワードが多く、「難しい」−「学習意欲」と「文字」−「見づらい」の経路が利用者の指定により赤で強調され、また「見づらい」というキーワードが青で強調されているので、高齢者向けのパソコンの要件として「メールも含めて操作がシンプルで、キーボードの文字やディスプレイの表示文字を大きくした方が良い」というようなことを推測することができる。このように、キーワード間の関連語を表示することにより、従来のネットワーク形式の表示方法では得られなかった情報を得ることが可能となる。
【００４６】
なお、本発明は、図１〜図２９を用いて説明した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、上記実施の形態では、表示方法としてＨＴＭＬ形式で表示する例を説明したが、グラフィックイメージを作成し表示させることも可能である。
【００４７】
上記実施形態によれば、第１キーワードから第２キーワードへ至る関連語の経路を複数表示するため、２つの語がどのような語を経由して結びついているのかを把握することができる。このような関連語の経路を表示することにより、利用者に今まで気がつかなかった未知の情報を提示することが可能となる。また、最短経路順、最長経路順、関連の強さの平均値の昇順、降順と表示方法を変更することが可能であるため、視点を変えて語と語の結びつきを見ることもできる。営業日報、店長日誌などの各種報告書、一般的な新聞データをもとに注目したキーワードにどのような関連があるのか傾向を判断するだけではなく、結びつきを見ることにより、新たな知識を発見することが可能となる。例えば、高齢者向けパソコンや高齢者向け携帯電話といった製品開発にどのような機能が必要なのかなど、十分なアンケートが取れない場合にも、潜在的なニーズを探索することが可能になる。
【００４８】
【発明の効果】
以上説明したように、本発明によれば、第１キーワードから第２キーワードへ至る関連語の経路をあらかじめ複数表示することにより、２つのキーワードがどのような語を経由して結びついているのかという情報を提示し、このような関連語の経路を表示することにより、利用者に今まで気がつかなかった未知の情報を提示することができる。
【図面の簡単な説明】
【図１】単語間の連想関係をネットワーク形式で表示した図である。
【図２】本発明の実施の形態であるテキストマイニング装置の構成を示す図である。
【図３】文書データベースから関連語辞書を作成するまでの処理過程を示したフローチャートである。
【図４】文書データベースから読み込まれる文書データの例を示した図である。
【図５】単語抽出部で解析され、切り出された単語の例を示した図である。
【図６】単語抽出部で作成される単語テーブルの例を示した図である。
【図７】関連語抽出部で作成される共起頻度テーブルの例を示した図である。
【図８】関連語抽出部で作成される関連度テーブルの例を示した図である。
【図９】関連度テーブル作成過程で使用する相互情報量の計算式を示した図である。
【図１０】関連語リスト作成部で関連語リストを作成する処理過程を示したフローチャートである。
【図１１】第１キーワードの関連語リストの例を示した図である。
【図１２】第２キーワードの関連語リストの例を示した図である。
【図１３】関連語リスト作成関数の処理過程を示したフローチャートである。
【図１４】関連語経路作成部で関連語経路リストを作成する処理過程を示したフローチャートである。
【図１５】第１キーワードの関連語リストと第２キーワードの関連語リストの共通の関連語リストの例を示した図である。
【図１６】第１キーワード（キーワードＡ）に至る部分リストの例を示した図である。
【図１７】第２キーワード（キーワードＢ）に至る部分リストの例を示した図である。
【図１８】第１キーワード（キーワードＡ）に至る関連語経路リストの例を示した図である。
【図１９】第２キーワード（キーワードＢ）に至る関連語経路リストの例を示した図である。
【図２０】第１キーワード（キーワードＡ）から第２キーワード（キーワードＢ）に至る関連語の経路リストの例を示した図である。
【図２１】共通関連語リスト作成の処理過程を示したフローチャートである。
【図２２】第１キーワード（キーワードＡ）に至る部分リスト作成の処理過程を示したフローチャートである。
【図２３】第２キーワード（キーワードＢ）に至る部分リスト作成の処理過程を示したフローチャートである。
【図２４】第１キーワード（キーワードＡ）に至る関連語経路リスト作成の処理過程を示したフローチャートである。
【図２５】第２キーワード（キーワードＢ）に至る関連語経路リスト作成の処理過程を示したフローチャートである。
【図２６】第１キーワード（キーワードＡ）から第２キーワード（キーワードＢ）に至る関連語経路リスト作成の処理過程を示したフローチャートである。
【図２７】関連語経路表示部で表示用データを作成する処理過程を示したフローチャートである。
【図２８】ＨＴＭＬ形式による表示用データ作成例を示した図である。
【図２９】
第１キーワードから第２キーワードへ至る関連語リストの探索結果を示した図である。
【符号の説明】
１０……処理装置
２０……文書データベース
３０……関連語辞書作成部
３１……単語抽出部
３２……関連語抽出部
４０……関連語辞書
５０……関連語経路探索部
５１……関連語リスト作成部
５２……関連語リスト
５３……関連語経路作成部
５４……関連語経路リスト
５５……関連語経路表示部
６０……入力装置
７０……表示装置
８０……入力／出力装置
【図１】
2004021763.tif 000003
【図２】
2004021763.tif 000004
【図３】
2004021763.tif 000005
【図４】
2004021763.tif 000006
【図５】
2004021763.tif 000007
【図６】
2004021763.tif 000008
【図７】
2004021763.tif 000009
【図８】
2004021763.tif 000010
【図９】
2004021763.tif 000011
【図１０】
2004021763.tif 000012
【図１１】
2004021763.tif 000013
【図１２】
2004021763.tif 000014
【図１３】
2004021763.tif 000015
【図１４】
2004021763.tif 000016
【図１５】
2004021763.tif 000017
【図１６】
2004021763.tif 000018
【図１７】
2004021763.tif 000019
【図１８】
2004021763.tif 000020
【図１９】
2004021763.tif 000021
【図２０】
2004021763.tif 000022
【図２１】
2004021763.tif 000023
【図２２】
2004021763.tif 000024
【図２３】
2004021763.tif 000025
【図２４】
2004021763.tif 000026
【図２５】
2004021763.tif 000027
【図２６】
2004021763.tif 000028
【図２７】
2004021763.tif 000029
【図２８】
2004021763.tif 000030
【図２９】
2004021763.tif 000031