(57)【特許請求の範囲】
【請求項１】
複数のキーワードの出現頻度を文書データ毎に集計した結果を格納しておくキーワード共起頻度記憶手段と、
各キーワードの各文書データ中における出現頻度データを用いて算出された、キーワード間の共起性に基づく関連度を格納しておくキーワード関連度記憶手段と、
上記キーワード関連度記憶手段を参照し、特定キーワードに対する関連度の高い順に所定数の他のキーワードを関連語として抽出する手段と、
上記キーワード共起頻度記憶手段を参照し、特定キーワード及びその関連語が出現する文書データのID、及び各文書データ中における特定キーワード及び関連語の出現頻度を取得し、それぞれの文書データ毎の出現頻度を充填したクロス集計表を生成する手段と、
このクロス集計表を圧縮し、上記特定キーワードに関連付けて集計データ記憶手段に格納するデータ圧縮手段と、
検索語が入力された場合に、上記集計データ記憶手段から検索語に対応する特定キーワードの集計データを抽出する手段と、
この集計データに基づいてクロス集計表を復元する手段と、
このクロス集計表を参照し、文書データ毎の特定キーワード及び関連語の出現頻度を変量とする多変量データに対して主成分分析を施し、それぞれの第１主成分値及び第２主成分値を算出する手段と、
この第１主成分値及び第２主成分値に基づいて、所定平面上における特定キーワード及び関連語の座標値を算出する手段と、
特定キーワード及び関連語を表記したタグを、それぞれの座標値に基づいて上記平面上に配置させた関連度マップを生成する手段と、
この関連度マップを出力する手段とを備えた検索システムであって、
上記データ圧縮手段が、以下の変換ルールに従って特定キーワードに係るクロス集計表を１行形式の集計データに圧縮することを特徴とする検索システム。
(1)特定キーワード及びその関連語を順番に整列させ、各キーワード間に所定の区切り文字を配置させる。
(2)各文書における各キーワードの出現頻度を表す数値を、上記キーワードの順番を表す数字と関連付けて記述する。
(3)同一文書における各キーワードの出現頻度を表す数値が複数ある場合は、相互間に所定の区切り文字を配置させる。
(4)出現頻度が０の場合には、(2)の記述を省略する。
(5)文書の変わり目には、所定の区切り文字を配置させる。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は検索システムに係り、特に、入力された検索語と関連の深い用語を抽出すると共に、その抽出結果を視覚的に表示する検索システムに関する。
【背景技術】
【０００２】
膨大な情報の中から必要とする情報を抽出するために検索システムが用いられるが、一般的な検索システムの場合、入力された検索語と同一または類似の概念を含む情報を抽出する仕組みを備えている。例えば、多数の企業の情報を格納したデータベースに対して「富士」という検索語を与えると、検索システムは「富士」という文字列を名称中に含む企業のリストを正確に出力することができる。また、インターネットの検索サイトにおいて「環境問題」と入力すれば、「環境問題」という文字列を含んだWebページのリストがディスプレイに表示される。
この結果ユーザは、目的の情報に辿り着くことが可能となるのであるが、そこでの検索結果はあくまでも予想の範囲のものであり、検索結果リストを眺めても意外な発見を期待することはできなかった。もちろん、検索結果リスト中の個々のデータの詳細を検討する過程で新しい知見を得ることはできるが、検索語と関連の深い他の用語を含む情報を直接的に抽出することはできなかった。
【０００３】
この点に関し、特許文献１で開示された「連想検索システム」の場合には、各用語の関連用語を記憶した関連用語記憶手段と、各用語と共起性の高い（同一文書中に登場する確率が高い）企業名を記憶した共起企業名記憶手段を備えており、検索語が入力された場合にはこれと関連する用語を抽出し、各用語に対する共起性の高い企業名を抽出する仕組みを備えている。
【特許文献１】特開２００４−１１０３８６号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この結果ユーザは、検索語として「環境問題」を入力すると、環境問題に係る文書中に登場することの多い企業名をダイレクトにリストアップすることが可能となり、環境問題に積極的に取り組む企業を認識し、投資行動につなげることができるようになる。
しかしながら、特許文献１も含めた従来の検索システムでは、検索結果を所定の順序（例えば新着順）で整列したリスト形式で表示するのが一般的であり、検索結果であるデータ間の関係性を視覚的に表現することはできなかった。
このため、ユーザ側で検索結果を分類したり解析する必要があり、検索語を含めた関連語間の全体概念を簡易かつ直感的に把握する用途には使えなかった。
【０００５】
この発明は上記の問題を解決するために案出されたものであり、キーワード間の共起性に基づいて検索語と関連の深い情報を抽出可能であり、かつ検索語と抽出結果である関連語との関係性を視覚的に表現可能な検索システムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記の目的を達成するため、請求項１に記載した検索システムは、複数のキーワードの出現頻度を文書データ毎に集計した結果を格納しておくキーワード共起頻度記憶手段と、各キーワードの各文書データ中における出現頻度データを用いて算出された、キーワード間の共起性に基づく関連度を格納しておくキーワード関連度記憶手段と、上記キーワード関連度記憶手段を参照し、特定キーワードに対する関連度の高い順に所定数の他のキーワードを関連語として抽出する手段と、上記キーワード共起頻度記憶手段を参照し、特定キーワード及びその関連語が出現する文書データのID、及び各文書データ中における特定キーワード及び関連語の出現頻度を取得し、それぞれの文書データ毎の出現頻度を充填したクロス集計表を生成する手段と、このクロス集計表を圧縮し、上記特定キーワードに関連付けて集計データ記憶手段に格納するデータ圧縮手段と、検索語が入力された場合に、上記集計データ記憶手段から検索語に対応する特定キーワードの集計データを抽出する手段と、この集計データに基づいてクロス集計表を復元する手段と、このクロス集計表を参照し、文書データ毎の特定キーワード及び関連語の出現頻度を変量とする多変量データに対して主成分分析を施し、それぞれの第１主成分値及び第２主成分値を算出する手段と、この第１主成分値及び第２主成分値に基づいて、所定平面上における特定キーワード及び関連語の座標値を算出する手段と、特定キーワード及び関連語を表記したタグを、それぞれの座標値に基づいて上記平面上に配置させた関連度マップを生成する手段と、この関連度マップを出力する手段とを備えた検索システムであって、上記データ圧縮手段が、以下の変換ルールに従って特定キーワードに係るクロス集計表を１行形式の集計データに圧縮することを特徴としている。
(1)特定キーワード及びその関連語を順番に整列させ、各キーワード間に所定の区切り文字を配置させる。
(2)各文書における各キーワードの出現頻度を表す数値を、上記キーワードの順番を表す数字と関連付けて記述する。
(3)同一文書における各キーワードの出現頻度を表す数値が複数ある場合は、相互間に所定の区切り文字を配置させる。
(4)出現頻度が０の場合には、(2)の記述を省略する。
(5)文書の変わり目には、所定の区切り文字を配置させる。
【発明の効果】
【０００８】
請求項１に記載した検索システムにあっては、検索語に対して関連度の高いキーワードを関連語として抽出し、検索語及び各関連語の文書データ毎の共起頻度に対して主成分分析を施し、その結果導かれた第１主成分値及び第２主成分値に基づいて所定平面上における各キーワードの座標を算出し、それぞれの座標にキーワードを表記したタグを配置することによって関連度マップを生成する仕組みを備えている。
したがって、上記関連度マップ上における各タグの配置には、キーワード相互間の関連性が反映されており、このためユーザはタグ間の位置関係や集積度によって、関連語間の類似性や検索語との関連性を視覚的に認識することが可能となる。
しかも、各キーワード毎のクロス集計表が、冗長性を排除した１行形式の集計データに変換されるため、極めて効率的にクロス集計表をシステム内に格納しておくことが可能となる。
【発明を実施するための最良の形態】
【００１０】
図１は、この発明に係る第１の検索システム10の機能構成を示すブロック図であり、文書ＤＢ12と、キーワード抽出部14と、キーワードＤＢ16と、関連度算出部18と、キーワード共起頻度表20と、キーワード組合せ頻度総和表22と、キーワード頻度総和表24と、キーワード関連度表26と、マップ生成部28とを備えている。
このシステム10にはWebサーバ32が接続されており、このWebサーバ32はインターネットやイントラネット等のネットワーク34を介して複数のクライアント36と接続されている。
【００１１】
上記のキーワード抽出部14、関連度算出部18及びマップ生成部28は、サーバコンピュータのCPUが、ＯＳ及び専用のアプリケーションプログラムに従い、必要な処理を実行することによって実現される。
【００１２】
上記の文書ＤＢ12、キーワードＤＢ16、キーワード共起頻度表20、キーワード組合せ頻度総和表22、キーワード頻度総和表24、及びキーワード関連度表26は、同サーバコンピュータのハードディスクに格納されている。
文書ＤＢ12には、新聞記事や学術雑誌、論文等の文書データ（テキストデータ）が予め多数蓄積されている。また、各文書データには、メタデータの一つとして、作成日時や公開日時、データ蓄積日時等の時間情報が関連付けられている。
【００１３】
上記のキーワード抽出部14は、図２に示すように、係り受け表現抽出フィルタ14a、区切り文字抽出フィルタ14b、文字列頻度統計フィルタ14c、TermExtractフィルタ14d、キーワード認定フィルタ14eを備えている。
【００１４】
つぎに、図３のフローチャートに従い、キーワード抽出部14によるキーワード抽出工程について説明する。
まずキーワード抽出部14は、文書ＤＢ12内に蓄積された各文書データに係り受け表現抽出フィルタ14aを適用し、各文書データから所定の係り受け表現を備えた文字列を抽出する（Ｓ10）。
すなわち、係り受け表現抽出フィルタ14aには、「○○メーカー」、「○○が主力」、「○○を生産」という係り受け表現パターンが予め多数用意されており、キーワード抽出部14は、これに当てはまる表現パターンを検出した後、「○○」に相当する文字列をキーワード候補として抽出する。
【００１５】
つぎにキーワード抽出部14は、各文書データに区切り文字抽出フィルタ14bを適用し、「○○」、"○○"、（○○）、［○○］、,○○,のように、カンマや括弧、スペース、タブ等の区切り文字で囲まれた○○の部分をキーワード候補として抽出する（Ｓ12）。
【００１６】
つぎにキーワード抽出部14は、各文書データに文字列頻度統計フィルタ14cを適用し、各文書データに含まれる各文字列が他の文書も含めて何回登場するのかを集計し、一定範囲の出現頻度を備えた文字列をキーワード候補として抽出する（Ｓ14）。
まず文字列頻度統計フィルタ14cは、図４に示すように、文書中の名詞（ここでは「ＤＶＤ」）に注目し、このＤＶＤという注目語が文書ＤＢ12内に蓄積された各文書データ中に出現する数を集計する。つぎに、文字列頻度統計フィルタ14cは、この注目語の前後の形態素に範囲を拡張し、それぞれの全文書中に登場する頻度を集計し、出現頻度が一定以下（例えば20以下）となった時点で文字範囲拡張を停止する。
【００１７】
例えば、ＤＶＤの一つ前の形態素を含む「したＤＶＤ」の出現頻度は「２」と低いため、これ以上前の形態素に範囲が拡張されることはない。これに対し、ＤＶＤの一つ後の形態素を含む「ＤＶＤレコーダー」の出現頻度は「８６２」と多いため、その一つ後の形態素を含む「ＤＶＤレコーダーでは」の出現頻度を集計する。そして、この出現頻度は「５」と低いため、これ以降の形態素に範囲を拡張することが停止される。
【００１８】
上記の「形態素」とは、意味を有する最小の言語単位を指す。例えば、「私の名前は鈴木です」を形態素に分解すると、「私（代名詞）」「の（助詞）」「名前（一般名詞）」「は（係助詞）」「鈴木（固有名詞）」「です（助動詞）」となる。
【００１９】
つぎに文字列頻度統計フィルタ14cは、「ＤＶＤ」及び「ＤＶＤレコーダー」が所定範囲（例えば20〜5,000）内の出現頻度を備えていることを理由にキーワード候補として抽出する。これに対し、「したＤＶＤ」及び「ＤＶＤレコーダーでは」は上記の範囲外であるため、キーワード候補から除外される。
全文書中における出現頻度が20未満のものはそもそも重要語とはいえず、また5,000を越えるものは逆に特徴のない汎用語あるいは一般語と考えられるからであるが、この範囲設定は文書データの分量や検索システムの使用目的に応じて適宜調整される。
【００２０】
ところで、文書ＤＢ12内に蓄積された多量の文書データに含まれる各文字列に関して、それぞれの出現頻度を集計するには膨大な時間を要するため、図５に示すように、文書ＤＢ12内には予め全文書データに登場する各形態素が、個々の文書データ中に存在しているか否かを一覧表にまとめたインデックス（所謂転置インデックス）が生成されている。このため、キーワード抽出部14はこのインデックスを参照することにより、比較的短時間でその出現頻度を取得することが可能となる。
【００２１】
つぎにキーワード抽出部14は、文書ＤＢ12内に蓄積された文書データにTermExtractフィルタ14dを適用し、各文書データから所定以上のスコアを備えた文字列をキーワード候補として抽出する（Ｓ16）。
このTermExtractフィルタ14dは、専門分野のコーパス（主として研究目的で収集され、電子化された自然言語の文章からなる巨大なテキストデータ）から専門用語を自動抽出するために案出された文字列抽出アルゴリズムであり、文書データ中から単名詞及び複合名詞を候補語として抽出し、各候補語の出現頻度と連接頻度に基づいてそれぞれの重要度を算出する機能を備えている。このTermExtractフィルタ14d自体は公知技術であるため、これ以上の説明は省略する。
【００２２】
つぎにキーワード抽出部14は、係り受け表現抽出フィルタ14a、区切り文字抽出フィルタ14b、文字列頻度統計フィルタ14c、TermExtractフィルタ14dによって抽出された各キーワード候補をキーワード認定フィルタ14eに入力し、キーワードを絞り込む。
キーワード認定フィルタ14eでは、各フィルタによってリストアップされたキーワード候補同士をマッチングし、２以上のフィルタによってキーワード候補として挙げられているものを最終的なキーワードと認定し、キーワードＤＢ16に格納する（Ｓ18）。
【００２３】
このように、係り受け表現抽出フィルタ14a、区切り文字抽出フィルタ14b、文字列頻度統計フィルタ14c、TermExtractフィルタ14dの４つのフィルタを用いることにより、文書データからキーワードを抽出する際に重要語が漏れ落ちることを防止すると共に、キーワード認定フィルタ14eを用いて絞り込むことにより、不要なキーワード（ノイズ）が混入することを防止できる。
【００２４】
上記のように４つのフィルタ中の２以上のフィルタによって選別されたキーワード候補を正式なキーワードと認定するのは一例であり、３以上のフィルタによって選別されることをキーワード認定の要件とすることもできる。
また、フィルタの数も上記に限定されるものではなく、他の有効なキーワード候補抽出フィルタをキーワード抽出部14に設けることもできる。
【００２５】
つぎに、図６のフローチャートに従い、関連度算出部18による各キーワード間の関連度算出工程について説明する。
まず関連度算出部18は、各キーワードの各文書データ中における共起頻度を集計し、キーワード共起頻度表20を生成する（Ｓ20）。
図７は、このキーワード共起頻度表20の具体例を示すものであり、文書ＤＢ12に格納された各文書D1〜Dnごとに、各キーワードKW-1〜nの出現頻度が記述されている。
【００２６】
ここで、あるキーワードＸとＹとの間の関連度は、数１のiにキーワード共起頻度表20に記載されたＸとＹの出現頻度を代入することにより、理論的には算出可能である。
【数１】
0005193669.tif 000002
【００２７】
この数１の分子は、キーワードＸ、Ｙの文書毎の出現頻度の積の全文書に亘る総和を意味するため、Ｘ、Ｙが同じ文書に出現する頻度が高いほど値は大きくなる。もっとも、特定の文書中におけるＸ及びＹの出現頻度の絶対数が多ければそれにつられて分子の値は高くなってしまい、必ずしもＸとＹの共起性の高さを表しているとはいえない。これに対し分母は、キーワードＸ、Ｙの文書毎の出現頻度の二乗の全文書に亘る総和の平方根同士を加算したものであり、Ｘ、Ｙの特定文書中の出現頻度が高いほど値が大きくなる。このため、分子の値を分母の値で除算することにより、特定文書中におけるＸ、Ｙの出現頻度の絶対数が多いことの影響を排除し、Ｘ、Ｙ間の共起性の高さに基づく関連度を導くことが可能となる。
【００２８】
ただし、文書データの分量及びキーワードの総数が多い場合には膨大な計算量が発生し、多くの処理時間を要することとなる。
そこで、この実施の形態では、キーワード共起頻度表20に基づいてキーワード組合せ頻度総和表22及びキーワード頻度総和表24を生成することにより、計算工程の簡素化を図っている。
【００２９】
図８は、その要領を例示するものである。この場合、キーワード共起頻度表20にはキーワードKW-1〜KW-5の文書D1における出現頻度が記載されているが、この中KW-3及びKW-4の出現頻度は０であるため、実際に関連度を算出すべきキーワードの組合せは以下の３パターンで済むこととなる。
（KW-1, KW-2）、（KW-1, KW-5）、（KW-2, KW-5）
つぎに関連度算出部18は、各組合せ毎に出現頻度を乗じた値を記述したキーワード組合せ頻度総和表22と、各キーワードの出現頻度を二乗した値を記述したキーワード頻度総和表24を生成する（Ｓ22、Ｓ24）。
【００３０】
図８のキーワード組合せ頻度総和表では、文書D1についての値のみが記述されているが、同様の処理を各文書毎に実行し、その結果に基づいて値を加算していくことにより、各キーワードの値が数１の分子に相当する結果となる。
同じく、図８のキーワード頻度総和表では、文書D1についての値のみが記述されているが、各文書における各キーワードの出現頻度を二乗した値を足し込んでいき、各キーワードの最終的な値の平方根を求めることにより、数１の分母に相当する値が得られることになる。
【００３１】
この結果、図９に示すように、各キーワード間の関連度が比較的容易に算出でき、その値がキーワード関連度表26に記述される（Ｓ26）。
上記のように、文書毎に各キーワード間の組合せパターンを抽出し、それぞれの積及び各キーワードの二乗値を求めた上で、各文書の値を加算していくことにより、値が０のキーワードに係る計算処理を省くことが可能となる。
このため、特許文献１の検索システムのように企業名に限定することなく、全キーワード間における関連度を算出することが現実的になる。
【００３２】
また、文書ＤＢ12に新規の文書データが追加された場合には、この新規文書データ中の各キーワードに係るデータをキーワード組合せ頻度総和表22及びキーワード頻度総和表24に追加し、既存の集計値に追加分の値を加算することによって、簡単にキーワード間の関連度が再計算可能となる。
古くなった文書データの影響を排除する場合にも、当該文書データ中の各キーワードに係るデータをキーワード組合せ頻度総和表22及びキーワード頻度総和表24から削除し、既存の集計値から削除分の値を減算することによって、簡単にキーワード間の関連度を最新の状態に維持することが可能となる。
【００３３】
つぎに、図１０のフローチャートに従い、このシステム10における検索処理の手順について説明する。
まずユーザがクライアント36から検索対象となる文字列を入力すると、これを受け付けたマップ生成部28は（Ｓ30）、キーワード関連度表26を参照し、当該文字列と同一または一定範囲内の類似性を有するキーワードを検索語として認定すると共に、当該キーワードに対して関連度の高いキーワードを関連語として所定数抽出する（Ｓ32）。
【００３４】
例えば、図１１に示すように、クライアント36から検索対象として平仮名の「ひまん」が与えられた場合、マップ生成部28はキーワードとして登録されている漢字の「肥満」を検索語と認定した後、これと関連度が高い関連語として「脂肪」、「糖尿病」、「糖尿」、…「子」の各キーワードを選定する。
関連語として選定されるキーワードの数について特に限定はないが、ここでは関連度が上位50位までのキーワードを選定している。
【００３５】
つぎにマップ生成部28はキーワード共起頻度表20を参照し、検索語及び抽出した50の関連語の出現文書ID及び各文書毎の出現頻度を取得する（Ｓ34）。
図１２は、その抽出結果を示すテーブル（クロス集計表）であり、行項目として文書IDが設定され、列項目として検索語及び各関連語が設定されている。また、各セル内には、各キーワードの対応文書中における出現頻度が記述されている。
例えば、文書ID：13691の文書においては、肥満：３回、脂肪：１３回、糖尿病：０回、糖尿：０回、習慣：０回、…が出現したことが示されている。
【００３６】
つぎにマップ生成部28は、図１２のテーブルに示した各文書毎の各キーワードの出現頻度を変量とする多変量データに対して主成分分析を施し（Ｓ36）、図１３に示すように、分析結果として各キーワードの第１主成分の値及び第２主成分の値を算出する（Ｓ38）。
【００３７】
つぎにマップ生成部28は、各キーワードの第１主成分値及び第２主成分値に基づき、各キーワードを所定の面積を備えた２次元平面上に配置するための座標値を算出する（Ｓ40）。
以下に、座標算出の具体例を示す。
【００３８】
・座標平面のサイズ：横７４０ドット×縦５００ドットに設定
・Ｘ座標変換比＝座標平面の横幅÷（第１主成分の最大値−第１主成分の最小値）
・Ｙ座標変換比＝座標平面の縦幅÷（第２主成分の最大値−第２主成分の最小値）
・キーワードＡのＸ座標＝（キーワードＡの第１主成分値−第１主成分の最小値）＊Ｘ座標変換比
・キーワードＡのＹ座標＝（キーワードＡの第２主成分値−第２主成分の最小値）＊Ｙ座標変換比
【００３９】
以上の計算により、各キーワードの第１主成分値及び第２主成分値を、Ｘ軸が０〜７４０の間でＹ軸が０〜５００の間の数値に変換でき、上記の２次元平面上に後述の各タグを配置可能となる。
図１４に、上記の変換法則に従って算出した各キーワードの座標値を例示する。
【００４０】
つぎにマップ生成部28は、各キーワードの存在を示すタグを生成する（Ｓ42）。
すなわち、図１５に示す通り、このタグ40は長方形状を備えており、各キーワード（検索語及び関連語）の文字列と、これを取り囲む余白部分を備えている。
また、関連語と区別するため、検索語には各関連語とは異なる文字色及び背景色が割り当てられている。
【００４１】
このタグ40の面積は、キーワードのフォントサイズ及び文字数に応じて自動的に決定される。そして、キーワードのフォントサイズとしては、検索語との関連度が大きいほど大きなフォントサイズが割り当てられている。
以下に、各キーワードのフォントサイズ割当方法を説明する。
【００４２】
・最大フォントサイズ＝３６ポイント
・最小フォントサイズ＝１２ポイント
・フォントサイズ変換比＝（最大フォントサイズ−最小フォントサイズ）÷（関連度の最大値−関連度の最小値）
・キーワードＡのフォントサイズ＝｛（キーワードＡの関連度−関連度の最小値）＊フォントサイズ変換比
※小数点以下切り捨て
【００４３】
つぎにマップ生成部28は、上記の各タグ40を上記の２次元平面上にそれぞれ配置し、第１の関連度マップを生成する（Ｓ44）。
この際、各タグ40の中心点が上記で求めた２次元平面上の座標点に重なるように配置される。
【００４４】
この第１の関連度マップは、Webサーバ32によってWebファイルに加工され、クライアント36に送信される（Ｓ46）。
この結果、クライアント36のWebブラウザ上には、図１６に示すように、第１の関連度マップ42が表示される。
【００４５】
この第１の関連度マップ42上では、各タグ40のフォントサイズが上記の通り検索語との関連度の強さを表しているため、検索語「肥満」に最も関連性の強いキーワードが「脂肪」であることが理解できる。また、「糖尿病」、「糖尿」、「習慣」などのキーワードも、「肥満」と比較的強い関連性を有していることが理解できる。
【００４６】
また、各タグ40の位置（座標）は、検索語及び各関連語間の共起性に基づく関連の強さを反映しており、タグ40間の距離が近いほど相互の関連性が強いことを示している。
例えば、「脂肪」というキーワードの近傍に「アディポネクチン（注：脂肪細胞から分泌されるホルモン）」、「内蔵脂肪」、「心筋梗塞」、「メタボリックシンドローム」等のタグ40が集まっているため、脂肪とこれらのキーワードとが強い関連性を備えていることが読み取れる。
このように、ユーザはキーワードが表記されたタグ40の集積具合を観察することにより、各キーワード間の類似性やカテゴリーを認識することが可能となる。
【００４７】
図１７は、検索語としてユーザが「環境技術」を入力した場合の関連度マップ42を示しており、上記のＳ30〜Ｓ46のステップを経ることにより、マップ生成部28によって生成されたものである。
この場合では、「地球環境」のキーワードが最もフォントサイズが大きく、したがって検索語である「環境技術」との関連性が強いことを示している。また、「地球温暖化」や「ハイブリッド」なども「環境技術」と比較的強い関連性を有していることが理解できる。
【００４８】
ここでユーザが「燃料電池」のタグ40にマウスポインタを合わせてクリックすると、JavaScript等によってWebページに組み込まれた制御プログラムが機能し、吹きだしメニュー44が展開される。
そして、このメニュー44中からユーザが「Go to "燃料電池"」を選択すると、クライアント36から新たな検索語として「燃料電池」の文字列がWebサーバ32に送信される。
【００４９】
これを受けたマップ生成部28は、上記のＳ30〜Ｓ46の処理を実行することにより、燃料電池を検索語に設定した新たな関連度マップ42を生成し、クライアント36に送信する。
この結果、図１８に示すように、クライアント36のWebブラウザ上に燃料電池を検索語に設定した第１の関連度マップ42が表示される。
この第１の関連度マップ42上では、検索語である「燃料電池」と関連性の強いキーワードが記述されたタグ42が配置されている。
【００５０】
このようにユーザは、第１の関連度マップ42上に表示されるタグ40を次から次へと選択し、そのキーワードを検索語に設定していくことにより、恰も連想の旅を続けるようにして視野を広げていき、その課程で新しい発見や意外な気付きを体験することができる。
【００５１】
つぎに、ユーザが関連度マップ42上の特定のタグ40、例えば「都市ガス」をクリックし、展開された吹きだしメニュー44中から「関連性の確認１（サイト内）」を選択すると、クライアント36からWebサーバ32に対し、燃料電池と都市ガスを関連付ける根拠の提示リクエストが送信される。
【００５２】
これを受け付けたマップ生成部28は、図１９に示すように、検索語である「燃料電池」及び選択された「都市ガス」に基づいてキーワード共起頻度表20を検索し、両者間で共起の生じている文書番号のリストを生成する。
つぎにマップ生成部28は、この文書番号リストに基づいて文書ＤＢ12を検索し、文書本文のリストを生成した後、Webサーバ32経由でクライアント36に送信する。
この結果、クライアント36のディスプレイには、燃料電池と都市ガスとが同時に出現している文書の番号、タイトル、抄録、年月日等がリスト表示される。
【００５３】
また、この中の一つをユーザが選択すると、マップ生成部28は該当の文書データを文書ＤＢ12から抽出し、クライアント36に送信する。
この結果ユーザは、当該文書データの内容を閲覧し、「燃料電池」と「都市ガス」との関連性を個別に確認することが可能となる。
【００５４】
一方、ユーザが図１８の吹きだしメニュー44中で「関連性の確認２（Web上）」を選択すると、Webファイルに組み込まれた制御プログラムにより、予め設定された検索サイトに接続するための新しいウィンドウあるいはタグがWebブラウザ上に起動し、当該検索サイトに対して「燃料電池」及び「都市ガス」をアンド条件で結んだ検索クエリが送信される。
この結果、燃料電池と都市ガスの両者を含むWebサイトの情報がWebブラウザ上にリストアップされることとなり、ユーザは「燃料電池」と「都市ガス」との関係性について、インターネットのWebサイトを通じて確認することが可能となる。
【００５５】
これに対し、ユーザが図１８の吹きだしメニュー44中で「Web上で検索」を選択すると、予め設定された検索サイトに接続するための新しいWebブラウザが起動し、当該検索サイトに対して「都市ガス」のみが検索語として送信される。
この結果、「都市ガス」に関するWebサイトの情報を確認することが可能となる。
【００５６】
またユーザが、図１８の吹きだしメニュー44中で「関連性を否定」を選択した場合、「燃料電池」と「都市ガス」間の関連性を否定する情報がサーバ上の所定の記憶手段に蓄積される。
そして、この情報が一定数（例えば10件以上）を超えた時点で、キーワード関連度表20におけるデータが修正され、「燃料電池」と「都市ガス」間の関連度が所定ポイント分減算され、あるいは０にリセットされる。
【００５７】
ところで、各タグ40をそれぞれの座標に基づいて所定の面積を備えた二次元平面上に配置するに際しては、図２０に示すように、タグ同士が重複する可能性がある。
このような場合、ユーザの視認性を重視し、タグ同士の重複を解いて文字を認識し易いように調整することが望ましいが、各タグ間の関係性を尊重する立場からは、移動距離を最小限に抑えることが重要となる。
そこで、このシステム10では、各タグの移動距離を最小限に抑えつつ、重複関係を解消するために、以下のアルゴリズムを採用している。
以下、図２１のフローチャートに従い、その手順を説明する。
【００５８】
まず、マップ生成部28は、各タグの面積を比較し、面積の大きい順番に位置を固定する（Ｓ50）。各タグの面積は、上記の通り、キーワードのフォントサイズ及び文字数によって大小が決定される。
また、この過程でタグ間の重複が探知された場合には（Ｓ52：Yes）、重複タグ同士の面積を比較し（Ｓ54）、最も面積の大きなタグの位置を固定する（Ｓ56）。
【００５９】
つぎにマップ生成部28は、重複タグ中で２番目に面積の大きなタグを上下左右の何れかの方向に移動させ、面積が最も大きなタグとの重複状態を解消させる（Ｓ58）。
この際、マップ生成部28は以下のルールに拘束される。
(1) 原則として、最も移動距離が短くて済む方向を優先的に選択する。
(2) 原則として、既に固定済みのタグと重複する方向は選択できない。
(3) 何れの方向においても固定済みのタグと重複する場合には、最も重複面積が小さくて済む方向を選択する。
(4) 全体枠αを超える方向は選択できない。
(5) 戻り方向への移動は選択できない。
【００６０】
移動先において他のタグとの重複が発生した場合（Ｓ60：Yes）、マップ生成部28はＳ54〜Ｓ58のステップを繰り返し、重複状態の回避を図る。
全てのタグについて重複回避のための調整処理が完了するまで、マップ生成部28はＳ54〜Ｓ60の処理を繰り返す（Ｓ62）。
【００６１】
図２２は、タグ間の重複解消処理の具体例を示すものであり、全体枠αの近傍において、「ABC」タグ40a、「DEF」タグ40b、「GHI」タグ40c、「JKLMNO」タグ40d間に重複が生じている状態を示している。
この場合、まずマップ生成部28は各重複タグ間の面積を比較し（Ｓ54）、最も面積の大きな「ABC」タグ40aを現在位置に固定する（Ｓ56）。
【００６２】
つぎにマップ生成部28は、「ABC」タグ40aの次に面積の大きな「DEF」タグ40bの位置を上下左右の何れかの方向に移動させ、「ABC」タグ40aとの重複を解消する（Ｓ58）。
この場合、移動距離が最も短くて済むのは上方向であり、他の固定済みのタグと重複したり、全体枠αに抵触することもないため、図２３に示すように、マップ生成部28は「DEF」タグ40bを上方向に移動させる。
【００６３】
つぎにマップ生成部28は、「DEF」タグ40bの次に面積の大きな「GHI」タグ40cの位置を上下左右の何れかの方向に移動させ、「ABC」タグ40aとの重複を解消する。
この場合、全体枠αとの抵触が生じるため、上記(4)のルールにより、左方向は移動先として除外される。また、上方向への移動は固定済みの「DEF」タグ40bと重複し、右方向も固定済みの「STUV」タグ40fとの重複が生じ、下方向も固定済みの「PQR」タグ40eとの重複が生じるため、上記(2)のルールからすれば選択できないこととなる。そこで、マップ生成部28は上記(3)のルールを適用し、図２４に示すように、最も重複面積が小となる下方向を「GHI」タグ40cの移動先として選択する。
【００６４】
この結果、「GHI」タグ40cと「PQR」タグ40eとの重複関係が新たに発生することとなるため、マップ生成部28は引き続き「GHI」タグ40cを移動対象とする。
この場合、左方向及び下方向への移動は全体枠αとの抵触が発生し（上記(4)のルール違反）、また上方向は戻り方向となるため（上記(5)のルール違反）、図２５に示すように、マップ生成部28は「GHI」タグ40cを右方向に移動させ、「PQR」タグ40eとの重複を解消する。
【００６５】
この結果、「GHI」タグ40cと「STUV」タグ40fとの重複関係が発生することとなるため、マップ生成部28は再度「GHI」タグ40cを移動対象とする。
この場合は、下方向が最も短い移動距離で「STUV」タグ40fとの重複を回避でき、固定済みのタグと重複することも全体枠αと抵触することもないため、図２６に示すように、マップ生成部28は「GHI」タグ40cを下方向に移動させる。
【００６６】
つぎにマップ生成部28は、残された「JKLMNO」タグ40dの位置を上下左右の何れかの方向に移動させ、「ABC」タグ40aとの重複を解消する。
この場合、全体枠αとの抵触が生じるため、上記(4)のルールにより、左方向は移動先として除外される。また、上下方向及び右方向への移動は何れも固定済みのタグと重複が生じるため、マップ生成部28は上記(3)のルールに従い、図２７に示すように、重複面積が最も小さくて済む下方向への移動を選択し、「ABC」タグ40aとの重複関係を解消させる。
【００６７】
この結果、「JKLMNO」タグ40dと「PQR」タグ40eとの重複関係が新たに発生するため、マップ生成部28は「JKLMNO」タグ40dを再度移動対象とする。
この場合、下方向に移動すれば他の固定済みタグとの重複が発生せず、全体枠αとの抵触も生じないため、図２８に示すように、マップ生成部28は「JKLMNO」タグ40dを下方向に移動させる。
これにより、タグ間の重複状態が全て解消されることとなる。
【００６８】
上記においては、全体枠αを固定するという前提に立っているため、(2)のルールを設定し、全体枠αに抵触する方向への移動は選択できないものとしたが、この発明はこれに限定されるものではない。
例えば、タグの配置平面を上下左右にスクロール可能とすることにより、あるいは配置画面全体をズームイン／ズームアウト可能に構成することにより、全体枠αを越えた移動を許容することもできる。
【００６９】
また、上記においては、タグの重複を一切排除する方法について説明したが、若干の重複を許容するように、柔軟に調整することもできる。
例えば、各タグの面積の５％以内の重複を許容するというように設定しておけば、タグの視認性を比較的良好に維持したまま、その移動距離を短く抑えることが可能となる。
【００７０】
上記の第１の関連度マップ42は、検索語に対して関連度の高い上位50位内のキーワードを関連語として抽出し、検索語も含めた各キーワードの文書データ毎の共起頻度に対して主成分分析を施し、その結果導かれた第１主成分値及び第２主成分値に基づいて各キーワードのタグ40を座標平面上に配置することによって生成された。
したがって、第１の関連度マップ42上の各タグ40の配置にはキーワード相互間の関連性が反映されており、このためユーザはタグ40同士の位置関係や集積度によって、キーワード間のカテゴリを把握することも可能となる利点がある。
【００７１】
その反面、タグ40の位置関係から直接的に検索語との関係性を読み取ることができなかった。もちろん、タグ40に表記されたフォントサイズの大小が検索語との関連性の強さを表現しているのではあるが、検索語を２次元平面の中心に配置し、これとの関連性の強さを直接タグ40の位置関係によって表現した関連度マップを生成することも可能である。
以下、図２９のフローチャートに従い、このような関連度マップの生成手順について説明する。
【００７２】
まずユーザがクライアント36から検索対象となる文字列を入力すると、これを受け付けたマップ生成部28は（Ｓ70）、キーワード関連度表26を参照し、当該文字列と同一または一定範囲内の類似性を有するキーワードを検索語として認定すると共に、当該キーワードに対して関連度の高いキーワードを関連語として所定数抽出する（Ｓ72）。
【００７３】
例えば、検索語として「環境技術」が与えられ、これに関連した上位50位以内の関連語が抽出される。図３０に抽出例を示す。
【００７４】
つぎにマップ生成部28は、各関連語の順位データを数２に示す螺旋方程式に代入し、それぞれのＸ値とＹ値を算出する（Ｓ74）。
【数２】
0005193669.tif 000003
ここで、「0.05」は螺旋の広がり度合を決定する固定値の係数を意味している。
「ｎ」は関連度の順位を意味し、螺旋の中心が１、すなわち検索語に該当するため、関連語の第１位についてはｎ＝２が代入されることとなる。
また、「ｅ」は自然対数を意味している。
【００７５】
以上の結果、図３１に示すように、各関連語のＸ値及びＹ値がマップ生成部28によって導かれる。
つぎにマップ生成部28は、各関連語のＸ値及びＹ値に基づいて、所定平面上における座標値を算出する（Ｓ76）。
以下に、座標算出の具体例を示す。
【００７６】
・座標平面のサイズ：横７４０ドット×縦５００ドットに設定
・Ｘ座標変換比＝座標平面の横幅÷（Ｘ値の最大値−Ｘ値の最小値）
・Ｙ座標変換比＝座標平面の縦幅÷（Ｙ値の最大値−Ｙ値の最小値）
・キーワードＡのＸ座標＝（キーワードＡのＸ値−Ｘ値の最小値）＊Ｘ座標変換比
・キーワードＡのＹ座標＝（キーワードＡのＹ値−Ｙ値の最小値）＊Ｙ座標変換比
【００７７】
以上の計算により、各キーワードのＸ値及びＹ値を、Ｘ軸が０〜７４０の間でＹ軸が０〜５００の間の数値に変換でき、上記の２次元平面上に各タグ40を配置可能となる。
図３２に、上記の変換法則に従って算出した各キーワードの座標値を例示する。
【００７８】
つぎにマップ生成部28は、各キーワードの存在を示すタグを生成する（Ｓ78）。
図１５に示した通り、このタグ40は長方形状を備えており、各キーワードの文字列と、これを取り囲む余白部分を備えている。
また、関連語と区別するため、検索語には各関連語とは異なる文字色及び背景色が割り当てられている。
このタグ40の面積も、上記と同様、キーワードのフォントサイズ及び文字数に応じて自動的に決定される。そして、キーワードのフォントサイズは、上記と同じ要領で、検索語との関連度が大きいほど大きなフォントサイズが割り当てられている。
【００７９】
つぎにマップ生成部28は、上記の各タグ40を上記の２次元平面上にそれぞれ配置し、第２の関連度マップを生成する（Ｓ80）。
この際、各タグ40の中心点が上記で求めた平面上の座標点に重なるように配置される。また、検索語に対応したタグ40は、２次元平面の中心に配置される。
【００８０】
この第２の関連度マップは、Webサーバ32によってWebファイルに加工され、クライアント36に送信される（Ｓ82）。
この結果、クライアント36のWebブラウザ上には、図３３に示すように、第２の関連度マップ46が表示される。
【００８１】
この第２の関連度マップ46上では、各タグ40のフォントサイズが上記の通り検索語との関連度の強さを表しているため、検索語「環境技術」に最も関連性の強いキーワードが「地球環境」であることが理解できる。また、「ハイブリッド」、「地球温暖化」、「温暖化」などのキーワードも、「環境技術」と比較的強い関連性を有していることが理解できる。
さらに、この第２の関連度マップ46においては、２次元平面の中心に検索語のタグ40が配置され、他のタグ40はそれぞれの関連度に応じてこれを螺旋状に取り囲むように配置されているため、各タグ40の配置（検索語のタグとの距離）によって、検索語との関連度を読み取ることが可能となる。
【００８２】
この第２の関連度マップ46の生成に際しては、各キーワードの順位に基づいてタグ40の座標が求められるため、一度順位と座標値との対応関係を計算しておけば、２次元平面の大きさ及び抽出する関連語の数に変更がない限り、再計算することなく直ちにタグ40を２次元平面上に配置でき、システム10の演算量を低減できる利点がある。
【００８３】
この第２の関連度マップ46上の任意のタグ40を選択した状態でユーザがクリックすると、上記した第１の関連度マップ42の場合と同様、吹きだしメニュー44が展開される。
そして、このメニュー44中からユーザが「Go to "トヨタ"」を選択すると、クライアント36から新たな検索語として「トヨタ」の文字列がWebサーバ32に送信される。
【００８４】
これを受けたマップ生成部28は、上記のＳ70〜Ｓ80の処理を実行することにより、トヨタを検索語に設定した新たな第２の関連度マップ46を生成し、クライアント36に送信する（Ｓ82）。
この結果、図示は省略したが、クライアント36のWebブラウザ上にトヨタを検索語に設定した第２の関連度マップ46が表示される。
【００８５】
このようにユーザは、第２の関連度マップ46上に表示されるタグ40を次から次へと選択し、そのキーワードを検索語に設定していくことにより、恰も連想の旅を続けるようにして視野を広げていき、その課程で新しい発見や意外な気付きを体験することができる。
【００８６】
また、ユーザが吹きだしメニュー44中から「関連性の確認１（サイト内）」を選択すると、クライアント36からWebサーバ32に対し、環境技術とトヨタを関連付ける根拠の提示リクエストが送信される。
【００８７】
これを受け付けたマップ生成部28は、図１９に示したように、検索語である「環境技術」及び選択された「トヨタ」に基づいてキーワード共起頻度表20を検索し、両者間で共起の生じている文書番号のリストを生成する。
つぎにマップ生成部28は、この文書番号リストに基づいて文書ＤＢ12を検索し、文書本文のリストを生成した後、Webサーバ32経由でクライアント36に送信する。
この結果、クライアント36のディスプレイには、環境技術とトヨタとが同時に出現している文書の番号、タイトル、抄録、年月日等がリスト表示される。
【００８８】
また、この中の一つをユーザが選択すると、マップ生成部28は該当の文書データを文書ＤＢ12から抽出し、クライアント36に送信する。
この結果ユーザは、当該文書データの内容を閲覧し、「環境技術」と「トヨタ」との関連性を個別に確認することが可能となる。
【００８９】
一方、ユーザが上記の吹きだしメニュー44中で「関連性の確認２（Web上）」を選択すると、Webファイルに組み込まれた制御プログラムにより、予め設定された検索サイトに接続するための新しいウィンドウあるいはタグがWebブラウザ上に起動し、当該検索サイトに対して「環境技術」及び「トヨタ」をand条件で結んだ検索語が送信される。
この結果、環境技術とトヨタの両者を含むWebサイトの情報がWebブラウザ上にリストアップされることとなり、ユーザは「環境技術」と「トヨタ」との関係性について、インターネットのWebサイトを通じて確認することが可能となる。
【００９０】
これに対し、ユーザが吹きだしメニュー44中で「Web上で検索」を選択すると、予め設定された検索サイトに接続するための新しいウィンドウあるいはタグがWebブラウザ上に起動し、当該検索サイトに対して「トヨタ」のみが検索語として送信される。
この結果、「トヨタ」に関するWebサイトの情報を確認することが可能となる。
【００９１】
またユーザが、吹きだしメニュー44中で「関連性を否定」を選択した場合、「環境技術」と「トヨタ」間の関連性を否定する情報がサーバ上の所定の記憶手段に蓄積される。
そして、この情報が一定数（例えば10件以上）を超えた時点で、キーワード関連度表20におけるデータが修正され、「環境技術」と「トヨタ」間の関連度が所定ポイント分減算され、あるいは０にリセットされる。
【００９２】
この第２の関連度マップ46を生成するに際してタグ40間の重複が生じた場合、マップ生成部28は上記と同様のルールに従ってタグ40間の重複を解消させる。
【００９３】
ところで、上記で説明した検索結果の表示方法では、検索語と各関連語間の共起性に基づく関連度の高低のみが関連度マップ上に反映するものであったが、これに各関連語の時間的な要素を反映させ、最近になって特に注目され出した関連語を他の関連語と区別できるようにすれば、さらに関連度マップの利用価値を高めることができる。
以下に、図３４のフローチャートに従い、各関連語の時間的要素を第１の関連度マップ42に反映させる方法を説明する。
【００９４】
まず、検索キーワードの受付（Ｓ101）、当該検索語と関連度の深い関連語の抽出処理（Ｓ102）、検索語及び関連語の出現文書ID及び各文書中における出現頻度の取得（Ｓ103）、各文書中の出現頻度に対する主成分分析の実施（Ｓ104）、各キーワードの第１主成分値及び第２主成分値の抽出（Ｓ105）、各キーワードの座標データの算出（Ｓ106）、検索語及び各関連語を含むタグの生成（Ｓ107）までは、図１０に示した第１の関連度マップ生成の際の処理手順であるＳ32〜Ｓ42と実質的に等しいため、重複の記載は省略する。
【００９５】
つぎにマップ生成部28は、文書ＤＢ12に格納された各関連語の出現文書のメタデータを参照し、各文書の日付情報（作成日等）を取得する（Ｓ108）。
つぎにマップ生成部28は、関連語単位で文書データの日付順に出現頻度を並び替え、日付の新しさに応じた重みを与える（Ｓ109）。
図３５は、この一例を示すテーブルであり、「脂肪」というキーワードについて日付毎の出現頻度が記載されており、さらに各日付に重みの数値が関連付けられている。
【００９６】
この重みは、最も新しい日付である2008/05/01に最高の「３６５」が付与され、以後、１日ごとに重みの数値が１つずつ減少していく。そして、１年よりも以前の日付には全て「０」の重みが付与されている。
【００９７】
つぎにマップ生成部28は、日付毎の出現頻度に対応の重みを乗じ、この積を過去１年分合算することにより、当該キーワードの鮮度ポイントを算出する（Ｓ110）。
【００９８】
つぎにマップ生成部28は、予め設定されたバースト期間以前における、所定期間内の１日当たりの出現頻度の平均値を算出する（Ｓ111）。ここで「バースト期間」とは、あるキーワードが旬であるか否か、あるいはトピカルであるか否かを判断するための基準となる直近の期間である。
例えば、バースト期間を「最も新しい日付を基準に過去１ヶ月間」と設定し、平均値の算出対象となる平均化対象期間を１１ヶ月とすると、バースト期間以前の１１ヶ月間における「脂肪」の出現頻度を合計し、これを１１ヶ月に含まれる日数で除した商が上記平均値となる。
【００９９】
つぎにマップ生成部28は、当該キーワードの鮮度ポイントをこの平均値で除することにより、各関連語の急進度を算出する（Ｓ112）。
【０１００】
つぎにマップ生成部28は、この急進度の高低に基づいた差別化処理を特定のタグに施す（Ｓ113）。例えば、急進度が上から５位以内の関連語について、他の関連語とは異なる色彩や模様を背景に施す処理が該当する。
【０１０１】
つぎにマップ生成部28は、差別化処理を施したタグを含めた全関連語及び検索語のタグを設定平面上に配置した第１の関連度マップを生成する（Ｓ114）。
この第１の関連度マップは、Webサーバ32によってWebファイルに加工され、クライアント36に送信される（Ｓ115）。
【０１０２】
この結果、クライアント36のWebブラウザ上には、図３６に示すように、第１の関連度マップ42が表示される。この第１の関連度マップ上では、栄養教諭、ＢＭＩ、アディポネクチン、メタボリックシンドローム、遺伝子の各タグについては、他のタグとは異なった網掛けパターンが背景に施されている。これは、急進度が１位〜５位のタグについては他のキーワードのタグと差別化するという上記Ｓ113の処理による。
この結果ユーザは、一目で「アディポネクチン」というキーワードがここ１ヶ月の間に急激に文書掲載頻度が増えてきた所謂「旬のキーワード」であることを認識することができる。
【０１０３】
なお、各関連語に対して時間的な要素を加味するということでいえば、各日付毎の出現頻度×重みによって算出された上記の鮮度ポイントがこれを体現しているともいえる。しかしながら、鮮度ポイントの多寡のみで当該キーワードの「新しさ」を判定するとなると、一般的な頻出語について高い値が付与される可能性がある。例えば、「肥満」というキーワードについていえば、「脂肪」や「カロリー」、「糖尿病」などは何時の時代でも必ずセットになって登場する頻出語であり、このような「旬」とは決していえないような語について高い鮮度ポイントが付与される結果となる。
【０１０４】
そこでマップ生成部28は、上記のようにバースト期間以前の各キーワードの出現頻度の平均値で鮮度ポイントを除する処理を加えることにより、常時出現する頻出語の急進度を低く抑えることとしている。この結果、上記のようにバースト期間内で急激に出現頻度が高まってきたキーワードを有効に絞り込むことが可能となる。
【０１０５】
上記のバースト期間（過去１ヶ月）や平均化対象期間（バースト期間前１１ヶ月）は一例であり、自由に変更可能である。
また、日付単位で計算する代わりに、週単位や10日単位、月単位で算出することもできる。
重みの付与方法も上記に限定されるものではなく、一週間単位、10日単位で一定数の重みが減少していくように設定することもできる。
【０１０６】
なお、上記のように日付毎の出現頻度に付与される重みの最小値を「０」に限定することなく、所定期間よりも前の日付については、その古さに応じてマイナスの重みを付与するようにしても、一般的な頻出後の鮮度ポイントを低く抑えること自体は可能である。
ただし、この場合には過去において一度注目され、文書データ中における出現頻度が高まった後に注目度が低下し、所定の低迷期を経て再び出現頻度が高まりつつある関連語に関しては、最近の「プラスの重み×出現頻度」の値が過去の「マイナスの重み×出現頻度」の値によって大きく減殺され、鮮度ポイントが不当に低くなるという問題が生じる。
これに対し、上記のように所定期間よりも過去の日付については古さを問わず一様に「０」の重みを付与することとし、マイナスの重み付けを排除することにより、過去に一旦注目され最近になって再び注目されだした関連語についても正当な急進度を反映させることが可能となる。
【０１０７】
上記の第２の関連度マップ46について、この急進度を反映させることも当然に可能である。
以下に、図３７のフローチャートに従い、各関連語の時間的要素を第２の関連度マップ46に反映させる方法を説明する。
【０１０８】
まず、検索キーワードの受付（Ｓ121）、当該検索語と関連度の深い上位50位以内の関連語の抽出処理（Ｓ122）、各関連語の順位を螺旋方程式に代入してＸ値及びＹ値を算出する処理（Ｓ123）、Ｘ値及びＹ値を設定平面上の座標データに変換する処理（Ｓ124）、検索語及び各関連語を含むタグの生成処理（Ｓ125）
までは、図２９に示した第２の関連度マップ生成の際の手順であるＳ70〜Ｓ78と実質的に等しいため、重複の記載は省略する。
【０１０９】
つぎにマップ生成部28は、検索語及び関連語の出現文書ID及び各文書中における出現頻度を取得する（Ｓ126）。
つぎにマップ生成部28は、各関連語の出現文書のメタデータを参照し、各文書の日付情報（作成日等）を取得する（Ｓ127）。
つぎにマップ生成部28は、関連語単位で文書データの日付順に出現頻度を並び替え、日付の新しさに応じた重みを与える（Ｓ128）。
つぎにマップ生成部28は、日付毎の出現頻度に対応の重みを乗じ、この積を過去１年分合算することにより、当該キーワードの鮮度ポイントを算出する（Ｓ129）。
つぎにマップ生成部28は、直近１ヶ月のバースト期間以前における、１１ヶ月間の１日当たりの出現頻度の平均値を算出する（Ｓ130）。
つぎにマップ生成部28は、当該キーワードの鮮度ポイントをこの平均値で除することにより、各関連語の急進度を算出する（Ｓ131）。
つぎにマップ生成部28は、この急進度に基づいた差別化処理を特定のタグに施す（Ｓ132）。例えば、急進度が上から５位以内の関連語について、他の関連語とは異なる色彩や模様を背景に施す処理や、タグの形状を長方形から楕円形等に変形させる処理が該当する。
【０１１０】
つぎにマップ生成部28は、差別化処理を施したタグを含めた全関連語及び検索語のタグを設定平面上に配置した第２の関連度マップを生成する（Ｓ133）。
この第２の関連度マップは、Webサーバ32によってWebファイルに加工され、クライアント36に送信される（Ｓ134）。
【０１１１】
この結果、クライアント36のWebブラウザ上には、図３８に示すように、第２の関連度マップ46が表示される。この第２の関連度マップ46上では、ハイブリッド、ハイブリッド車、トヨタ、地球環境経済人サミット、地球共生プロジェクトのタグについては、他のタグとは異なった網掛けパターンが施されている。これは、急進度が１位〜５位のタグについては他のキーワードのタグと差別化するという上記Ｓ132の処理による。
【０１１２】
以上説明したように、この実施形態によれば、各関連語が出現する文書データの日付を参照して重み付けをすることで、関連語の検索結果に時間的な要素を含めることができる。従来の検索では、関連語の抽出ベースとなっている文書データには、作成時点や公開時点、データベースへの蓄積時点などの様々な時間情報が内在しているにもかかわらず、検索結果では時間情報が捨象されていた。これに対しこの実施形態では、時間情報をある程度検索結果に反映させることが可能になる。
【０１１３】
なお、上記においては文書データの作成日付に応じた重みを付与したが、他にも、文書データをデータベースに蓄積した日付やWebサイト上に公開された日付に応じた重みを付与するようにしてもよい。
【０１１４】
また、上記においては急進度が上位５位以内の関連語についてのみ、そのタグに網掛けパターンを付するという表示上の差別化処理を施す例を示したが、この発明はこれに限定されるものではなく、上位10位以内の関連語について差別化処理を施したり、上位３以内の関連語にのみ差別化処理を施すようにすることもできる。
あるいは、各関連語の急進度を所定範囲で複数の帯域に区切り、各帯域に対して他の帯域と異なった表示態様を割り当てることもできる。
【０１１５】
図３９は、この発明に係る第２の検索システム50の機能構成を示すブロック図である。この第２の検索システム50は、文書ＤＢ12と、キーワード抽出部14と、キーワードＤＢ16と、関連度算出部18と、キーワード共起頻度表20と、キーワード組合せ頻度総和表22と、キーワード頻度総和表24と、キーワード関連度表26と、集計データ生成部52と、集計データＤＢ54と、マップ生成部28とを備えている。
このシステム50にはWebサーバ32が接続されており、このWebサーバ32はインターネットやイントラネット等のネットワーク34を介して複数のクライアント36と接続されている。
【０１１６】
上記のキーワード抽出部14、関連度算出部18、集計データ生成部52及びマップ生成部28は、サーバコンピュータのCPUが、ＯＳ及び専用のアプリケーションプログラムに従い、必要な処理を実行することによって実現される。
【０１１７】
上記の文書ＤＢ12、キーワードＤＢ16、キーワード共起頻度表20、キーワード組合せ頻度総和表22、キーワード頻度総和表24、キーワード関連度表26及び集計データＤＢ54は、同サーバコンピュータのハードディスクに格納されている。
文書ＤＢ12には、新聞記事や学術雑誌、論文等の電子データ（テキストデータ）が予め多数蓄積されている。
【０１１８】
この第２の検索システム50は、図より明らかなように、マップ生成部28とキーワード共起頻度表20及びキーワード関連度表26との間に、集計データ生成部52と集計データＤＢ54を介装させた点に特徴があり、他の構成は第１の検索システム10と実質的に等しいため、同一の機能構成部には同じ符号を付することにより、重複説明は省略する。
【０１１９】
第２の検索システム50における集計データ生成部52は、キーワード共起頻度表20及びキーワード関連度表26を参照して、図１２に例示したクロス集計表を事前に生成し、これを所定のデータ形式に圧縮・変換した集計データを、集計データＤＢ54に格納しておく機能を備えている。
【０１２０】
すなわち、第１の検索システム10の場合には、ユーザからの検索リクエストを受けた後に、マップ生成部28がキーワード関連度表26を参照して50件の関連語を抽出し、キーワード共起頻度表20を参照して検索語及び各関連語の出現文書ID及び各文書中の出現頻度を取得し、図１２のクロス集計表を検索の都度生成しているため、検索結果である第１の関連度マップ42の出力までには相当の時間を要することとなり、またシステム上の負荷も一時的に増大する懸念があった。
【０１２１】
もちろん、事前に図１２のクロス集計表を作成し、ハードディスクに格納しておけば検索リクエスト時の処理時間を短縮化できることは当然であるが、実際問題としてキーワードの件数及び文書データの件数は膨大となるため、関連度が上位50位までの関連語の全文書における出現頻度を記録したクロス集計表の数及びそれぞれのデータ量も膨大となり、その保存には大きなディスク容量を確保する必要があった。しかも、各クロス集計表では、頻度＝０のセルが大半を占めることとなり、リソースの無駄遣いが生じることは必定であるため、第１の検索システム10の場合には、検索リクエスト受付時に当該検索語に係るクロス集計表のみを作成する方式を採用していた。
【０１２２】
これに対し第２の検索システム50の場合には、クロス集計表のデータ形式を工夫することで大幅にデータ量を削減し、上記の問題を解決している。以下、図４０のフローチャートに従い、集計データ生成部52における処理手順を説明する。
【０１２３】
まず集計データ生成部52は、キーワード関連度表26を参照し、各キーワード毎に上位50以内の関連度を備えた関連語を抽出する（Ｓ141）。
つぎに集計データ生成部52は、キーワード共起頻度表20を参照し、特定キーワード及びその関連語の出現文書ID及びそれぞれの各文書中における出現頻度を取得する（Ｓ142）。
つぎに集計データ生成部52は、行項目に文書IDを設定すると共に、列項目に特定キーワード及びその関連語を設定し、各セル内に出現頻度を充填したクロス集計表を生成する（Ｓ143）。
つぎに集計データ生成部52は、この縦横に広大な領域を有し、値＝０のセルが大半を占める冗長なクロス集計表を、一定の変換方式に従って圧縮する（Ｓ144）。
【０１２４】
図４１は、この圧縮処理の要領を示す説明図であり、図１２に示したのと同様のクロス集計表56が、僅か１行の集計データ58に変換されている。
この変換方式を詳しく説明すると、まずクロス集計表56のカラム名に相当する肥満、脂肪等のキーワード（特定キーワード及びその関連語）は、相互間を「，」（カンマ）で区切って一列に配置させる。
また、各セルについては、０以外の値（出現頻度）が存在する場合には、その位置情報と値が「１＞２」のように表現される。この中、「１」の部分はキーワードの順番を示しており、具体的には１番目に位置する「肥満」を指している。また、「２」の部分は出現頻度が「２」であることを指している。「＞」は、各キーワードの順番と出現頻度とを関連付ける記号である。
値が０のセルについては、記述が省略される。
改行（文書の変わり目）は「／」で表現され、つぎの文書における値が始まることを意味する。
同じ行において複数の値が存在する場合には、相互間に「，」（カンマ）の区切り文字が配置される。
【０１２５】
以下に、集計データ58の各部について具体的に解説する。
まず、冒頭の「肥満,脂肪,糖尿病,糖尿,習慣/」は、カラム名に相当するキーワードが、肥満（１番目）、脂肪（２番目）、糖尿病（３番目）、糖尿（４番目）、習慣（５番目）であることを表現している。
(1)の「1>2/」は、１番目の文書（6102）の「肥満」の頻度は「２」であり、他のキーワードの頻度は「０」であることを表現している。
(2)の「1>2,5>3/」は、２番目の文書（8594）の「肥満」の頻度は「２」であり、「習慣」の頻度は「３」、それ以外のキーワードの頻度は「０」であることを表現している。
(3)の「1>4/」は、３番目の文書（10104）の「肥満」の頻度は「４」であり、それ以外のキーワードの頻度は「０」であることを表現している。
(4)の「1>2/」は、４番目の文書（11671）の「肥満」の頻度は「２」であり、それ以外のキーワードの頻度は「０」であることを表現している。
(5)の「1>3,2>2/」は、５番目の文書（13690）の「肥満」の頻度は「３」であり、「脂肪」の頻度は「２」、それ以外のキーワードの頻度は「０」であることを表現している。
(6)の「1>3,2>13/」は、６番目の文書（13691）の「肥満」の頻度は「３」であり、「脂肪」の頻度は「１３」、それ以外のキーワードの頻度は「０」であることを表現している。
(7)の「1>4/」は、７番目の文書（18026）の「肥満」の頻度は「４」であり、それ以外のキーワードの頻度は「０」であることを表現している。
(8)の「1>5/」は、８番目の文書（21642）の「肥満」の頻度は「５」であり、それ以外のキーワードの頻度は「０」であることを表現している。
(9)の「1>2/」は、９番目の文書（29478）の「肥満」の頻度は「２」であり、それ以外のキーワードの頻度は「０」であることを表現している。
【０１２６】
以上より明らかなように、出現頻度＝０のセルについての記録は排除されており、出現頻度＝１以上のデータのみが記録されているため、データ量が大幅に削減されている。
もちろん、図示の便宜上、図４１の例では文書の数が９に、キーワードの数も５に限定してあるが、例えそれぞれの件数が増大したとしても、基本構造は変わらず、１行のデータとして出現頻度を表現できる。しかも、頻度＝０のセルは記録からは除外されているため、冗長性が有効に排除され得る。
【０１２７】
集計データ生成部52は、上記のように１行形式に圧縮した集計データ58を、各キーワードに関連付けて集計データＤＢ54に格納する（Ｓ145）。
【０１２８】
つぎに、図４２のフローチャートに従い、第１の関連度マップ42の生成手順について説明する。
まずマップ生成部28は、ユーザのクライアント36から検索キーワードを受け付けた後（Ｓ151）、集計データＤＢ54から当該検索語に係る集計データを読み込み（Ｓ152）、クロス集計表を復元する（Ｓ153）。この復元後のクロス集計表では文書IDが欠落しているが、後続の処理に文書IDは必要でないため、特に問題はない。
【０１２９】
つぎにマップ生成部28は、文書毎の検索語及び関連語の出現頻度データに対して主成分分析を実施し（Ｓ154）、分析結果として第１主成分値及び第２主成分値を抽出する（Ｓ155）。
つぎにマップ生成部28は、第１主成分値及び第２主成分値を所定平面上の座標データに変換する（Ｓ156）。
つぎにマップ生成部28は、検索語及び関連語を含むタグを生成した後（Ｓ157）、各タグを設定平面上に配置した第１の関連度マップを生成する（Ｓ158）。
この第１の関連度マップ42は、Webサーバ32を介してクライアント36に配信される（Ｓ159）。
【０１３０】
上記のように、事前に集計データが集計データＤＢ54に格納されているため、検索時の処理時間を大幅に短縮することが可能となる。
また、上記のように予め各キーワードについて関連度が上位50位以内の関連語に係る文書毎の出現頻度データを集計データとして蓄積しているため、第１の関連度マップ42上に表示させる関連語の数を減らす必要がある場合であっても、柔軟に対応できる利点がある。
【０１３１】
例えば、クライアント36から関連語の表示件数を10件に間引くようにリクエストされた場合、マップ生成部28は集計データを元に復元したクロス集計表から検索語に対して関連度が上位10位以内の関連語の出現頻度データのみを抽出し、これらに基づいて上記のＳ154〜Ｓ159の処理を実行することにより、第１の関連度マップ42を迅速に生成することが可能となる。
【図面の簡単な説明】
【０１３２】
【図１】この発明に係る第１の検索システムの機能構成を示すブロック図である。
【図２】キーワード抽出部の機能構成を示すブロック図である。
【図３】キーワード抽出工程を示すフローチャートである。
【図４】文字列頻度統計フィルタの動作を示す説明図である。
【図５】文書ＤＢ内に形態素インデックスが形成されている様子を示す説明図である。
【図６】キーワード間の関連度算出工程を示すフローチャートである。
【図７】キーワード共起頻度表の一例を示す説明図である。
【図８】関連度算出処理を簡略化する方法を示す説明図である。
【図９】キーワード組合せ頻度総和表及びキーワード頻度総和表に基づいてキーワード関連度表が生成される様子を示す説明図である。
【図１０】第１の関連度マップ生成の手順を示すフローチャートである。
【図１１】与えられた検索語に基づいて関連語を抽出した結果を示す模式図である。
【図１２】文書毎に検索語及び各関連語の出現頻度を抽出した結果を示す図表である。
【図１３】検索語及び各関連語の第１主成分及び第２主成分を算出した結果を示す図表である。
【図１４】検索語及び各関連語の第１主成分値及び第２主成分値に基づいて所定平面上の座標を算出した結果を示す図表である。
【図１５】検索語及び各関連語のタグを示す説明図である。
【図１６】第１の関連度マップを示す図である。
【図１７】第１の関連度マップを示す図である。
【図１８】第１の関連度マップを示す図である。
【図１９】検索語及び特定の関連語間の関連度の根拠を提示する様子を示す説明図である。
【図２０】第１の関連度マップ上において、タグ間で重複が生じている様子を示す図である。
【図２１】タグ間の重複を解消するためのアルゴリズムを示すフローチャートである。
【図２２】タグ間の重複解消の具体例を示す説明図である。
【図２３】タグ間の重複解消の具体例を示す説明図である。
【図２４】タグ間の重複解消の具体例を示す説明図である。
【図２５】タグ間の重複解消の具体例を示す説明図である。
【図２６】タグ間の重複解消の具体例を示す説明図である。
【図２７】タグ間の重複解消の具体例を示す説明図である。
【図２８】タグ間の重複解消の具体例を示す説明図である。
【図２９】第２の関連度マップ生成の手順を示すフローチャートである。
【図３０】検索語との関連度が高い順に複数のキーワードを抽出した様子を示す図表である。
【図３１】各キーワードのＸ値及びＹ値を算出した結果を示す図表である。
【図３２】各キーワードのＸ値及びＹ値に基づいて所定平面上の座標を算出した結果を示す図表である。
【図３３】第２の関連度マップを示す図である。
【図３４】関連語の時間的要素を第１の関連度マップに反映させる際の処理手順を示すフローチャートである。
【図３５】文書データの日付順に各関連語の出現頻度を並び替え、日付の新しさに応じた重みを付与する様子を示すテーブルである。
【図３６】関連語の時間的要素を第１の関連度マップに反映させた具体例を示す図である。
【図３７】関連語の時間的要素を第２の関連度マップに反映させる際の処理手順を示すフローチャートである。
【図３８】関連語の時間的要素を第２の関連度マップに反映させた具体例を示す図である。
【図３９】この発明に係る第２の検索システムの機能構成を示すブロック図である。
【図４０】集計データ生成部の処理手順を示すフローチャートである。
【図４１】集計データ生成部によるクロス集計データの圧縮処理の要領を示す説明図である。
【図４２】第２の検索システムによる第１の関連度マップの生成手順を示すフローチャートである。
【符号の説明】
【０１３３】
10 第１の検索システム
12 文書ＤＢ
14 キーワード抽出部
14a 係り受け表現抽出フィルタ
14b 区切り文字抽出フィルタ
14c 文字列頻度統計フィルタ
14d TermExtractフィルタ
14e キーワード認定フィルタ
16 キーワードＤＢ
18 関連度算出部
20 キーワード共起頻度表
22 キーワード組合せ頻度総和表
24 キーワード頻度総和表
26 キーワード関連度表
28 マップ生成部
32 Webサーバ
34 ネットワーク
36 クライアント
40 タグ
42 第１の関連度マップ
44 吹きだしメニュー
46 第２の関連度マップ
50 第２の検索システム
52 集計データ生成部
54 集計データＤＢ
56 クロス集計表
58 集計データ
【図１】
0005193669.tif 000004
【図２】
0005193669.tif 000005
【図３】
0005193669.tif 000006
【図４】
0005193669.tif 000007
【図５】
0005193669.tif 000008
【図６】
0005193669.tif 000009
【図７】
0005193669.tif 000010
【図８】
0005193669.tif 000011
【図９】
0005193669.tif 000012
【図１０】
0005193669.tif 000013
【図１１】
0005193669.tif 000014
【図１２】
0005193669.tif 000015
【図１３】
0005193669.tif 000016
【図１４】
0005193669.tif 000017
【図１５】
0005193669.tif 000018
【図１６】
0005193669.tif 000019
【図１７】
0005193669.tif 000020
【図１８】
0005193669.tif 000021
【図１９】
0005193669.tif 000022
【図２０】
0005193669.tif 000023
【図２１】
0005193669.tif 000024
【図２２】
0005193669.tif 000025
【図２３】
0005193669.tif 000026
【図２４】
0005193669.tif 000027
【図２５】
0005193669.tif 000028
【図２６】
0005193669.tif 000029
【図２７】
0005193669.tif 000030
【図２８】
0005193669.tif 000031
【図２９】
0005193669.tif 000032
【図３０】
0005193669.tif 000033
【図３１】
0005193669.tif 000034
【図３２】
0005193669.tif 000035
【図３３】
0005193669.tif 000036
【図３４】
0005193669.tif 000037
【図３５】
0005193669.tif 000038
【図３６】
0005193669.tif 000039
【図３７】
0005193669.tif 000040
【図３８】
0005193669.tif 000041
【図３９】
0005193669.tif 000042
【図４０】
0005193669.tif 000043
【図４１】
0005193669.tif 000044
【図４２】
0005193669.tif 000045