説明

検索システム

【課題】検索語と関連の深い関連語を抽出し、関連語の抽出元である文書データの有する時間情報を反映させた検索結果を提示可能なシステムの提供。
【解決手段】マップ生成部28は、検索語が入力された場合にキーワード関連度表26を参照して、平面上における座標値を算出し、各キーワードを表記したタグを生成し、座標値に基づいてタグを平面上に配置させた第1の関連度マップを生成する。またマップ生成部28は、各文書データの日付情報を取得し、各関連語の各文書データにおける1日毎の出現頻度を算出し、各関連語の鮮度ポイントを算出し、1ヶ月のバースト期間以前の11ヶ月間における各関連語の出現頻度の1日毎の平均値を算出し、この平均値で各関連語の鮮度ポイントを除して各関連語の急進度を算出し、この急進度の高低に応じた表示態様をタグの少なくとも一部に施す。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は検索システムに係り、特に、入力された検索語と関連の深い用語を抽出すると共に、その抽出結果を出力する検索システムに関する。
【背景技術】
【0002】
膨大な情報の中から必要とする情報を抽出するために検索システムが用いられるが、一般的な検索システムの場合、入力された検索語と同一または類似の概念を含む情報を抽出する仕組みを備えている。例えば、多数の企業の情報を格納したデータベースに対して「富士」という検索語を与えると、検索システムは「富士」という文字列を名称中に含む企業のリストを正確に出力することができる。また、インターネットの検索サイトにおいて「環境問題」と入力すれば、「環境問題」という文字列を含んだWebページのリストがディスプレイに表示される。
この結果ユーザは、目的の情報に辿り着くことが可能となるのであるが、そこでの検索結果はあくまでも予想の範囲のものであり、検索結果リストを眺めても意外な発見を期待することはできなかった。もちろん、検索結果リスト中の個々のデータの詳細を検討する過程で新しい知見を得ることはできるが、検索語と関連の深い他の用語を含む情報を直接的に抽出することはできなかった。
【0003】
この点に関し、特許文献1で開示された「連想検索システム」の場合には、各用語の関連用語を記憶した関連用語記憶手段と、各用語と共起性の高い(同一文書中に登場する確率が高い)企業名を記憶した共起企業名記憶手段を備えており、検索語が入力された場合にはこれと関連する用語を抽出し、各用語に対する共起性の高い企業名を抽出する仕組みを備えている。
【特許文献1】特開2004−110386号
【発明の開示】
【発明が解決しようとする課題】
【0004】
この結果ユーザは、検索語として「環境問題」を入力すると、環境問題に係る文書中に登場することの多い企業名をダイレクトにリストアップすることが可能となり、環境問題に積極的に取り組む企業を認識し、投資行動につなげることができるようになる。
しかしながら、検索語と企業名との共起性を根拠付ける文書データは何らかの時間情報を備えているにもかかわらず、特許文献1のシステムでは検索結果に時間情報が全く反映されないため、例えば旬な企業名を優先的を表示するといったことができなかった。
【0005】
この発明は上記の問題を解決するために案出されたものであり、キーワード間の共起性に基づいて検索語と関連の深い情報を抽出可能であり、かつ関連語の抽出元である文書データが保持する時間情報を反映させた検索結果を提示可能なシステムを提供することを目的としている。
【課題を解決するための手段】
【0006】
上記の目的を達成するため、請求項1に記載した検索システムは、複数のキーワードの出現頻度を文書データ毎に集計した結果を格納しておくキーワード共起頻度記憶手段と、各キーワードの各文書データ中における出現頻度データを用いて算出された、キーワード間の共起性に基づく関連度を格納しておくキーワード関連度記憶手段と、検索語が入力された場合に、上記キーワード関連度記憶手段を参照し、当該検索語に対する関連度の高い順に所定数のキーワードを関連語として抽出する手段と、上記キーワード共起頻度記憶手段を参照し、検索語を含めた各キーワードが出現する文書データのID、及び各文書データ中における各キーワードの出現頻度を取得する手段と、各文書データが具備する時間情報を取得する手段と、各関連語について、所定の時間間隔毎の出現頻度を算出する手段と、各関連語について、所定の時間間隔毎に時間の新しさに応じた重みを付与する手段と、上記出現頻度に対応の重みを乗じた値を集計することにより、各関連語の鮮度ポイントを算出する手段と、予め設定されたバースト期間以前の所定期間内における、各関連語の出現頻度の所定の時間間隔毎の平均値を算出する手段と、この平均値で各関連語の鮮度ポイントを除することにより、各関連語の急進度を算出する手段と、上記検索語及び各関連語を文字列として含む複数のタグを生成する手段と、上記急進度の高低に応じた表示態様を上記のタグの少なくとも一部に施す手段と、各タグを所定の平面上に配置させた関連度マップを生成する手段と、この関連度マップを出力する手段とを備えたことを特徴としている。
【0007】
請求項2に記載した検索システムは、請求項1に記載のシステムであって、さらに、上記タグに表記される各キーワードに対し、検索語との関連度の高さに対応して大きなフォントサイズが割り当てられることを特徴としている。
【0008】
請求項3に記載した検索システムは、請求項1または2に記載のシステムであって、さらに上記の関連度マップを生成する手段が、文書データ毎の各キーワードの出現頻度を変量とする多変量データに対して主成分分析を施し、各キーワードの第1主成分値及び第2主成分値を算出する処理と、この第1主成分値及び第2主成分値に基づいて、所定平面上における各キーワードの座標値を算出する処理と、各キーワードを表記したタグを、各キーワードの座標値に基づいて上記平面上に配置させた関連度マップを生成する処理とを実行することを特徴としている。
【0009】
請求項4に記載した検索システムは、請求項1または2に記載のシステムであって、さらに上記の関連度マップを生成する手段が、抽出した各関連語の順位を螺旋方程式に代入し、それぞれのX値及びY値を算出する処理と、このX値及びY値に基づいて、所定平面上における各関連語の座標値を算出する処理と、検索語を表記したタグを上記平面の中心に配置させると共に、各関連語を表記したタグをそれぞれの座標値に基づいて同平面上に配置させた関連度マップを生成する処理とを実行することを特徴としている。
【発明の効果】
【0010】
請求項1に記載した検索システムにあっては、関連語の抽出の源になった文書データの時間情報に基づいて各関連語の鮮度ポイント及び急進度が算出され、この急進度を表示要素として反映させたタグが平面上に配置された関連度マップを出力する機能を備えているため、ユーザはタグの表示によって当該関連語の時間的な要素(旬か否か等)を認識することが可能となる。
【0011】
請求項2に記載したシステムによれば、関連度マップ上のタグに表記されたキーワードのフォントサイズによって、ユーザは当該キーワードと検索語との関連性の強さを一目で認識することが可能となる。
【0012】
請求項3に記載のシステムにあっては、検索語に対して関連度の高いキーワードを関連語として抽出し、検索語及び各関連語の文書データ毎の共起頻度に対して主成分分析を施し、その結果導かれた第1主成分値及び第2主成分値に基づいて所定平面上における各キーワードの座標を算出し、それぞれの座標にキーワードを表記したタグを配置することによって関連度マップを生成する仕組みを備えている。
したがって、上記関連度マップ上における各タグの配置には、キーワード相互間の関連性が反映されており、このためユーザはタグ間の位置関係や集積度によって、関連語間の類似性や検索語との関連性を視覚的に認識することが可能となる。
【0013】
請求項4に記載した検索システムによれば、所定平面の中心に検索語のタグが配置されると共に、関連語のタグがそれぞれの関連度に応じて検索語のタグを螺旋状に取り囲むように配置された関連度マップが得られるため、ユーザは関連度マップ上のタグの配置を一覧することにより、検索語との関係性を迅速に読み取ることが可能となる。
【発明を実施するための最良の形態】
【0014】
図1は、この発明に係る第1の検索システム10の機能構成を示すブロック図であり、文書DB12と、キーワード抽出部14と、キーワードDB16と、関連度算出部18と、キーワード共起頻度表20と、キーワード組合せ頻度総和表22と、キーワード頻度総和表24と、キーワード関連度表26と、マップ生成部28とを備えている。
このシステム10にはWebサーバ32が接続されており、このWebサーバ32はインターネットやイントラネット等のネットワーク34を介して複数のクライアント36と接続されている。
【0015】
上記のキーワード抽出部14、関連度算出部18及びマップ生成部28は、サーバコンピュータのCPUが、OS及び専用のアプリケーションプログラムに従い、必要な処理を実行することによって実現される。
【0016】
上記の文書DB12、キーワードDB16、キーワード共起頻度表20、キーワード組合せ頻度総和表22、キーワード頻度総和表24、及びキーワード関連度表26は、同サーバコンピュータのハードディスクに格納されている。
文書DB12には、新聞記事や学術雑誌、論文等の文書データ(テキストデータ)が予め多数蓄積されている。また、各文書データには、メタデータの一つとして、作成日時や公開日時、データ蓄積日時等の時間情報が関連付けられている。
【0017】
上記のキーワード抽出部14は、図2に示すように、係り受け表現抽出フィルタ14a、区切り文字抽出フィルタ14b、文字列頻度統計フィルタ14c、TermExtractフィルタ14d、キーワード認定フィルタ14eを備えている。
【0018】
つぎに、図3のフローチャートに従い、キーワード抽出部14によるキーワード抽出工程について説明する。
まずキーワード抽出部14は、文書DB12内に蓄積された各文書データに係り受け表現抽出フィルタ14aを適用し、各文書データから所定の係り受け表現を備えた文字列を抽出する(S10)。
すなわち、係り受け表現抽出フィルタ14aには、「○○メーカー」、「○○が主力」、「○○を生産」という係り受け表現パターンが予め多数用意されており、キーワード抽出部14は、これに当てはまる表現パターンを検出した後、「○○」に相当する文字列をキーワード候補として抽出する。
【0019】
つぎにキーワード抽出部14は、各文書データに区切り文字抽出フィルタ14bを適用し、「○○」、"○○"、(○○)、[○○]、,○○,のように、カンマや括弧、スペース、タブ等の区切り文字で囲まれた○○の部分をキーワード候補として抽出する(S12)。
【0020】
つぎにキーワード抽出部14は、各文書データに文字列頻度統計フィルタ14cを適用し、各文書データに含まれる各文字列が他の文書も含めて何回登場するのかを集計し、一定範囲の出現頻度を備えた文字列をキーワード候補として抽出する(S14)。
まず文字列頻度統計フィルタ14cは、図4に示すように、文書中の名詞(ここでは「DVD」)に注目し、このDVDという注目語が文書DB12内に蓄積された各文書データ中に出現する数を集計する。つぎに、文字列頻度統計フィルタ14cは、この注目語の前後の形態素に範囲を拡張し、それぞれの全文書中に登場する頻度を集計し、出現頻度が一定以下(例えば20以下)となった時点で文字範囲拡張を停止する。
【0021】
例えば、DVDの一つ前の形態素を含む「したDVD」の出現頻度は「2」と低いため、これ以上前の形態素に範囲が拡張されることはない。これに対し、DVDの一つ後の形態素を含む「DVDレコーダー」の出現頻度は「862」と多いため、その一つ後の形態素を含む「DVDレコーダーでは」の出現頻度を集計する。そして、この出現頻度は「5」と低いため、これ以降の形態素に範囲を拡張することが停止される。
【0022】
上記の「形態素」とは、意味を有する最小の言語単位を指す。例えば、「私の名前は鈴木です」を形態素に分解すると、「私(代名詞)」「の(助詞)」「名前(一般名詞)」「は(係助詞)」「鈴木(固有名詞)」「です(助動詞)」となる。
【0023】
つぎに文字列頻度統計フィルタ14cは、「DVD」及び「DVDレコーダー」が所定範囲(例えば20〜5,000)内の出現頻度を備えていることを理由にキーワード候補として抽出する。これに対し、「したDVD」及び「DVDレコーダーでは」は上記の範囲外であるため、キーワード候補から除外される。
全文書中における出現頻度が20未満のものはそもそも重要語とはいえず、また5,000を越えるものは逆に特徴のない汎用語あるいは一般語と考えられるからであるが、この範囲設定は文書データの分量や検索システムの使用目的に応じて適宜調整される。
【0024】
ところで、文書DB12内に蓄積された多量の文書データに含まれる各文字列に関して、それぞれの出現頻度を集計するには膨大な時間を要するため、図5に示すように、文書DB12内には予め全文書データに登場する各形態素が、個々の文書データ中に存在しているか否かを一覧表にまとめたインデックス(所謂転置インデックス)が生成されている。このため、キーワード抽出部14はこのインデックスを参照することにより、比較的短時間でその出現頻度を取得することが可能となる。
【0025】
つぎにキーワード抽出部14は、文書DB12内に蓄積された文書データにTermExtractフィルタ14dを適用し、各文書データから所定以上のスコアを備えた文字列をキーワード候補として抽出する(S16)。
このTermExtractフィルタ14dは、専門分野のコーパス(主として研究目的で収集され、電子化された自然言語の文章からなる巨大なテキストデータ)から専門用語を自動抽出するために案出された文字列抽出アルゴリズムであり、文書データ中から単名詞及び複合名詞を候補語として抽出し、各候補語の出現頻度と連接頻度に基づいてそれぞれの重要度を算出する機能を備えている。このTermExtractフィルタ14d自体は公知技術であるため、これ以上の説明は省略する。
【0026】
つぎにキーワード抽出部14は、係り受け表現抽出フィルタ14a、区切り文字抽出フィルタ14b、文字列頻度統計フィルタ14c、TermExtractフィルタ14dによって抽出された各キーワード候補をキーワード認定フィルタ14eに入力し、キーワードを絞り込む。
キーワード認定フィルタ14eでは、各フィルタによってリストアップされたキーワード候補同士をマッチングし、2以上のフィルタによってキーワード候補として挙げられているものを最終的なキーワードと認定し、キーワードDB16に格納する(S18)。
【0027】
このように、係り受け表現抽出フィルタ14a、区切り文字抽出フィルタ14b、文字列頻度統計フィルタ14c、TermExtractフィルタ14dの4つのフィルタを用いることにより、文書データからキーワードを抽出する際に重要語が漏れ落ちることを防止すると共に、キーワード認定フィルタ14eを用いて絞り込むことにより、不要なキーワード(ノイズ)が混入することを防止できる。
【0028】
上記のように4つのフィルタ中の2以上のフィルタによって選別されたキーワード候補を正式なキーワードと認定するのは一例であり、3以上のフィルタによって選別されることをキーワード認定の要件とすることもできる。
また、フィルタの数も上記に限定されるものではなく、他の有効なキーワード候補抽出フィルタをキーワード抽出部14に設けることもできる。
【0029】
つぎに、図6のフローチャートに従い、関連度算出部18による各キーワード間の関連度算出工程について説明する。
まず関連度算出部18は、各キーワードの各文書データ中における共起頻度を集計し、キーワード共起頻度表20を生成する(S20)。
図7は、このキーワード共起頻度表20の具体例を示すものであり、文書DB12に格納された各文書D1〜Dnごとに、各キーワードKW-1〜nの出現頻度が記述されている。
【0030】
ここで、あるキーワードXとYとの間の関連度は、数1のiにキーワード共起頻度表20に記載されたXとYの出現頻度を代入することにより、理論的には算出可能である。
【数1】

【0031】
この数1の分子は、キーワードX、Yの文書毎の出現頻度の積の全文書に亘る総和を意味するため、X、Yが同じ文書に出現する頻度が高いほど値は大きくなる。もっとも、特定の文書中におけるX及びYの出現頻度の絶対数が多ければそれにつられて分子の値は高くなってしまい、必ずしもXとYの共起性の高さを表しているとはいえない。これに対し分母は、キーワードX、Yの文書毎の出現頻度の二乗の全文書に亘る総和の平方根同士を加算したものであり、X、Yの特定文書中の出現頻度が高いほど値が大きくなる。このため、分子の値を分母の値で除算することにより、特定文書中におけるX、Yの出現頻度の絶対数が多いことの影響を排除し、X、Y間の共起性の高さに基づく関連度を導くことが可能となる。
【0032】
ただし、文書データの分量及びキーワードの総数が多い場合には膨大な計算量が発生し、多くの処理時間を要することとなる。
そこで、この実施の形態では、キーワード共起頻度表20に基づいてキーワード組合せ頻度総和表22及びキーワード頻度総和表24を生成することにより、計算工程の簡素化を図っている。
【0033】
図8は、その要領を例示するものである。この場合、キーワード共起頻度表20にはキーワードKW-1〜KW-5の文書D1における出現頻度が記載されているが、この中KW-3及びKW-4の出現頻度は0であるため、実際に関連度を算出すべきキーワードの組合せは以下の3パターンで済むこととなる。
(KW-1, KW-2)、(KW-1, KW-5)、(KW-2, KW-5)
つぎに関連度算出部18は、各組合せ毎に出現頻度を乗じた値を記述したキーワード組合せ頻度総和表22と、各キーワードの出現頻度を二乗した値を記述したキーワード頻度総和表24を生成する(S22、S24)。
【0034】
図8のキーワード組合せ頻度総和表では、文書D1についての値のみが記述されているが、同様の処理を各文書毎に実行し、その結果に基づいて値を加算していくことにより、各キーワードの値が数1の分子に相当する結果となる。
同じく、図8のキーワード頻度総和表では、文書D1についての値のみが記述されているが、各文書における各キーワードの出現頻度を二乗した値を足し込んでいき、各キーワードの最終的な値の平方根を求めることにより、数1の分母に相当する値が得られることになる。
【0035】
この結果、図9に示すように、各キーワード間の関連度が比較的容易に算出でき、その値がキーワード関連度表26に記述される(S26)。
上記のように、文書毎に各キーワード間の組合せパターンを抽出し、それぞれの積及び各キーワードの二乗値を求めた上で、各文書の値を加算していくことにより、値が0のキーワードに係る計算処理を省くことが可能となる。
このため、特許文献1の検索システムのように企業名に限定することなく、全キーワード間における関連度を算出することが現実的になる。
【0036】
また、文書DB12に新規の文書データが追加された場合には、この新規文書データ中の各キーワードに係るデータをキーワード組合せ頻度総和表22及びキーワード頻度総和表24に追加し、既存の集計値に追加分の値を加算することによって、簡単にキーワード間の関連度が再計算可能となる。
古くなった文書データの影響を排除する場合にも、当該文書データ中の各キーワードに係るデータをキーワード組合せ頻度総和表22及びキーワード頻度総和表24から削除し、既存の集計値から削除分の値を減算することによって、簡単にキーワード間の関連度を最新の状態に維持することが可能となる。
【0037】
つぎに、図10のフローチャートに従い、このシステム10における検索処理の手順について説明する。
まずユーザがクライアント36から検索対象となる文字列を入力すると、これを受け付けたマップ生成部28は(S30)、キーワード関連度表26を参照し、当該文字列と同一または一定範囲内の類似性を有するキーワードを検索語として認定すると共に、当該キーワードに対して関連度の高いキーワードを関連語として所定数抽出する(S32)。
【0038】
例えば、図11に示すように、クライアント36から検索対象として平仮名の「ひまん」が与えられた場合、マップ生成部28はキーワードとして登録されている漢字の「肥満」を検索語と認定した後、これと関連度が高い関連語として「脂肪」、「糖尿病」、「糖尿」、…「子」の各キーワードを選定する。
関連語として選定されるキーワードの数について特に限定はないが、ここでは関連度が上位50位までのキーワードを選定している。
【0039】
つぎにマップ生成部28はキーワード共起頻度表20を参照し、検索語及び抽出した50の関連語の出現文書ID及び各文書毎の出現頻度を取得する(S34)。
図12は、その抽出結果を示すテーブル(クロス集計表)であり、行項目として文書IDが設定され、列項目として検索語及び各関連語が設定されている。また、各セル内には、各キーワードの対応文書中における出現頻度が記述されている。
例えば、文書ID:13691の文書においては、肥満:3回、脂肪:13回、糖尿病:0回、糖尿:0回、習慣:0回、…が出現したことが示されている。
【0040】
つぎにマップ生成部28は、図12のテーブルに示した各文書毎の各キーワードの出現頻度を変量とする多変量データに対して主成分分析を施し(S36)、図13に示すように、分析結果として各キーワードの第1主成分の値及び第2主成分の値を算出する(S38)。
【0041】
つぎにマップ生成部28は、各キーワードの第1主成分値及び第2主成分値に基づき、各キーワードを所定の面積を備えた2次元平面上に配置するための座標値を算出する(S40)。
以下に、座標算出の具体例を示す。
【0042】
・座標平面のサイズ:横740ドット×縦500ドットに設定
・X座標変換比=座標平面の横幅÷(第1主成分の最大値−第1主成分の最小値)
・Y座標変換比=座標平面の縦幅÷(第2主成分の最大値−第2主成分の最小値)
・キーワードAのX座標=(キーワードAの第1主成分値−第1主成分の最小値)*X座標変換比
・キーワードAのY座標=(キーワードAの第2主成分値−第2主成分の最小値)*Y座標変換比
【0043】
以上の計算により、各キーワードの第1主成分値及び第2主成分値を、X軸が0〜740の間でY軸が0〜500の間の数値に変換でき、上記の2次元平面上に後述の各タグを配置可能となる。
図14に、上記の変換法則に従って算出した各キーワードの座標値を例示する。
【0044】
つぎにマップ生成部28は、各キーワードの存在を示すタグを生成する(S42)。
すなわち、図15に示す通り、このタグ40は長方形状を備えており、各キーワード(検索語及び関連語)の文字列と、これを取り囲む余白部分を備えている。
また、関連語と区別するため、検索語には各関連語とは異なる文字色及び背景色が割り当てられている。
【0045】
このタグ40の面積は、キーワードのフォントサイズ及び文字数に応じて自動的に決定される。そして、キーワードのフォントサイズとしては、検索語との関連度が大きいほど大きなフォントサイズが割り当てられている。
以下に、各キーワードのフォントサイズ割当方法を説明する。
【0046】
・最大フォントサイズ=36ポイント
・最小フォントサイズ=12ポイント
・フォントサイズ変換比=(最大フォントサイズ−最小フォントサイズ)÷(関連度の最大値−関連度の最小値)
・キーワードAのフォントサイズ={(キーワードAの関連度−関連度の最小値)*フォントサイズ変換比
※小数点以下切り捨て
【0047】
つぎにマップ生成部28は、上記の各タグ40を上記の2次元平面上にそれぞれ配置し、第1の関連度マップを生成する(S44)。
この際、各タグ40の中心点が上記で求めた2次元平面上の座標点に重なるように配置される。
【0048】
この第1の関連度マップは、Webサーバ32によってWebファイルに加工され、クライアント36に送信される(S46)。
この結果、クライアント36のWebブラウザ上には、図16に示すように、第1の関連度マップ42が表示される。
【0049】
この第1の関連度マップ42上では、各タグ40のフォントサイズが上記の通り検索語との関連度の強さを表しているため、検索語「肥満」に最も関連性の強いキーワードが「脂肪」であることが理解できる。また、「糖尿病」、「糖尿」、「習慣」などのキーワードも、「肥満」と比較的強い関連性を有していることが理解できる。
【0050】
また、各タグ40の位置(座標)は、検索語及び各関連語間の共起性に基づく関連の強さを反映しており、タグ40間の距離が近いほど相互の関連性が強いことを示している。
例えば、「脂肪」というキーワードの近傍に「アディポネクチン(注:脂肪細胞から分泌されるホルモン)」、「内蔵脂肪」、「心筋梗塞」、「メタボリックシンドローム」等のタグ40が集まっているため、脂肪とこれらのキーワードとが強い関連性を備えていることが読み取れる。
このように、ユーザはキーワードが表記されたタグ40の集積具合を観察することにより、各キーワード間の類似性やカテゴリーを認識することが可能となる。
【0051】
図17は、検索語としてユーザが「環境技術」を入力した場合の関連度マップ42を示しており、上記のS30〜S46のステップを経ることにより、マップ生成部28によって生成されたものである。
この場合では、「地球環境」のキーワードが最もフォントサイズが大きく、したがって検索語である「環境技術」との関連性が強いことを示している。また、「地球温暖化」や「ハイブリッド」なども「環境技術」と比較的強い関連性を有していることが理解できる。
【0052】
ここでユーザが「燃料電池」のタグ40にマウスポインタを合わせてクリックすると、JavaScript等によってWebページに組み込まれた制御プログラムが機能し、吹きだしメニュー44が展開される。
そして、このメニュー44中からユーザが「Go to "燃料電池"」を選択すると、クライアント36から新たな検索語として「燃料電池」の文字列がWebサーバ32に送信される。
【0053】
これを受けたマップ生成部28は、上記のS30〜S46の処理を実行することにより、燃料電池を検索語に設定した新たな関連度マップ42を生成し、クライアント36に送信する。
この結果、図18に示すように、クライアント36のWebブラウザ上に燃料電池を検索語に設定した第1の関連度マップ42が表示される。
この第1の関連度マップ42上では、検索語である「燃料電池」と関連性の強いキーワードが記述されたタグ42が配置されている。
【0054】
このようにユーザは、第1の関連度マップ42上に表示されるタグ40を次から次へと選択し、そのキーワードを検索語に設定していくことにより、恰も連想の旅を続けるようにして視野を広げていき、その課程で新しい発見や意外な気付きを体験することができる。
【0055】
つぎに、ユーザが関連度マップ42上の特定のタグ40、例えば「都市ガス」をクリックし、展開された吹きだしメニュー44中から「関連性の確認1(サイト内)」を選択すると、クライアント36からWebサーバ32に対し、燃料電池と都市ガスを関連付ける根拠の提示リクエストが送信される。
【0056】
これを受け付けたマップ生成部28は、図19に示すように、検索語である「燃料電池」及び選択された「都市ガス」に基づいてキーワード共起頻度表20を検索し、両者間で共起の生じている文書番号のリストを生成する。
つぎにマップ生成部28は、この文書番号リストに基づいて文書DB12を検索し、文書本文のリストを生成した後、Webサーバ32経由でクライアント36に送信する。
この結果、クライアント36のディスプレイには、燃料電池と都市ガスとが同時に出現している文書の番号、タイトル、抄録、年月日等がリスト表示される。
【0057】
また、この中の一つをユーザが選択すると、マップ生成部28は該当の文書データを文書DB12から抽出し、クライアント36に送信する。
この結果ユーザは、当該文書データの内容を閲覧し、「燃料電池」と「都市ガス」との関連性を個別に確認することが可能となる。
【0058】
一方、ユーザが図18の吹きだしメニュー44中で「関連性の確認2(Web上)」を選択すると、Webファイルに組み込まれた制御プログラムにより、予め設定された検索サイトに接続するための新しいウィンドウあるいはタグがWebブラウザ上に起動し、当該検索サイトに対して「燃料電池」及び「都市ガス」をアンド条件で結んだ検索クエリが送信される。
この結果、燃料電池と都市ガスの両者を含むWebサイトの情報がWebブラウザ上にリストアップされることとなり、ユーザは「燃料電池」と「都市ガス」との関係性について、インターネットのWebサイトを通じて確認することが可能となる。
【0059】
これに対し、ユーザが図18の吹きだしメニュー44中で「Web上で検索」を選択すると、予め設定された検索サイトに接続するための新しいWebブラウザが起動し、当該検索サイトに対して「都市ガス」のみが検索語として送信される。
この結果、「都市ガス」に関するWebサイトの情報を確認することが可能となる。
【0060】
またユーザが、図18の吹きだしメニュー44中で「関連性を否定」を選択した場合、「燃料電池」と「都市ガス」間の関連性を否定する情報がサーバ上の所定の記憶手段に蓄積される。
そして、この情報が一定数(例えば10件以上)を超えた時点で、キーワード関連度表20におけるデータが修正され、「燃料電池」と「都市ガス」間の関連度が所定ポイント分減算され、あるいは0にリセットされる。
【0061】
ところで、各タグ40をそれぞれの座標に基づいて所定の面積を備えた二次元平面上に配置するに際しては、図20に示すように、タグ同士が重複する可能性がある。
このような場合、ユーザの視認性を重視し、タグ同士の重複を解いて文字を認識し易いように調整することが望ましいが、各タグ間の関係性を尊重する立場からは、移動距離を最小限に抑えることが重要となる。
そこで、このシステム10では、各タグの移動距離を最小限に抑えつつ、重複関係を解消するために、以下のアルゴリズムを採用している。
以下、図21のフローチャートに従い、その手順を説明する。
【0062】
まず、マップ生成部28は、各タグの面積を比較し、面積の大きい順番に位置を固定する(S50)。各タグの面積は、上記の通り、キーワードのフォントサイズ及び文字数によって大小が決定される。
また、この過程でタグ間の重複が探知された場合には(S52:Yes)、重複タグ同士の面積を比較し(S54)、最も面積の大きなタグの位置を固定する(S56)。
【0063】
つぎにマップ生成部28は、重複タグ中で2番目に面積の大きなタグを上下左右の何れかの方向に移動させ、面積が最も大きなタグとの重複状態を解消させる(S58)。
この際、マップ生成部28は以下のルールに拘束される。
(1) 原則として、最も移動距離が短くて済む方向を優先的に選択する。
(2) 原則として、既に固定済みのタグと重複する方向は選択できない。
(3) 何れの方向においても固定済みのタグと重複する場合には、最も重複面積が小さくて済む方向を選択する。
(4) 全体枠αを超える方向は選択できない。
(5) 戻り方向への移動は選択できない。
【0064】
移動先において他のタグとの重複が発生した場合(S60:Yes)、マップ生成部28はS54〜S58のステップを繰り返し、重複状態の回避を図る。
全てのタグについて重複回避のための調整処理が完了するまで、マップ生成部28はS54〜S60の処理を繰り返す(S62)。
【0065】
図22は、タグ間の重複解消処理の具体例を示すものであり、全体枠αの近傍において、「ABC」タグ40a、「DEF」タグ40b、「GHI」タグ40c、「JKLMNO」タグ40d間に重複が生じている状態を示している。
この場合、まずマップ生成部28は各重複タグ間の面積を比較し(S54)、最も面積の大きな「ABC」タグ40aを現在位置に固定する(S56)。
【0066】
つぎにマップ生成部28は、「ABC」タグ40aの次に面積の大きな「DEF」タグ40bの位置を上下左右の何れかの方向に移動させ、「ABC」タグ40aとの重複を解消する(S58)。
この場合、移動距離が最も短くて済むのは上方向であり、他の固定済みのタグと重複したり、全体枠αに抵触することもないため、図23に示すように、マップ生成部28は「DEF」タグ40bを上方向に移動させる。
【0067】
つぎにマップ生成部28は、「DEF」タグ40bの次に面積の大きな「GHI」タグ40cの位置を上下左右の何れかの方向に移動させ、「ABC」タグ40aとの重複を解消する。
この場合、全体枠αとの抵触が生じるため、上記(4)のルールにより、左方向は移動先として除外される。また、上方向への移動は固定済みの「DEF」タグ40bと重複し、右方向も固定済みの「STUV」タグ40fとの重複が生じ、下方向も固定済みの「PQR」タグ40eとの重複が生じるため、上記(2)のルールからすれば選択できないこととなる。そこで、マップ生成部28は上記(3)のルールを適用し、図24に示すように、最も重複面積が小となる下方向を「GHI」タグ40cの移動先として選択する。
【0068】
この結果、「GHI」タグ40cと「PQR」タグ40eとの重複関係が新たに発生することとなるため、マップ生成部28は引き続き「GHI」タグ40cを移動対象とする。
この場合、左方向及び下方向への移動は全体枠αとの抵触が発生し(上記(4)のルール違反)、また上方向は戻り方向となるため(上記(5)のルール違反)、図25に示すように、マップ生成部28は「GHI」タグ40cを右方向に移動させ、「PQR」タグ40eとの重複を解消する。
【0069】
この結果、「GHI」タグ40cと「STUV」タグ40fとの重複関係が発生することとなるため、マップ生成部28は再度「GHI」タグ40cを移動対象とする。
この場合は、下方向が最も短い移動距離で「STUV」タグ40fとの重複を回避でき、固定済みのタグと重複することも全体枠αと抵触することもないため、図26に示すように、マップ生成部28は「GHI」タグ40cを下方向に移動させる。
【0070】
つぎにマップ生成部28は、残された「JKLMNO」タグ40dの位置を上下左右の何れかの方向に移動させ、「ABC」タグ40aとの重複を解消する。
この場合、全体枠αとの抵触が生じるため、上記(4)のルールにより、左方向は移動先として除外される。また、上下方向及び右方向への移動は何れも固定済みのタグと重複が生じるため、マップ生成部28は上記(3)のルールに従い、図27に示すように、重複面積が最も小さくて済む下方向への移動を選択し、「ABC」タグ40aとの重複関係を解消させる。
【0071】
この結果、「JKLMNO」タグ40dと「PQR」タグ40eとの重複関係が新たに発生するため、マップ生成部28は「JKLMNO」タグ40dを再度移動対象とする。
この場合、下方向に移動すれば他の固定済みタグとの重複が発生せず、全体枠αとの抵触も生じないため、図28に示すように、マップ生成部28は「JKLMNO」タグ40dを下方向に移動させる。
これにより、タグ間の重複状態が全て解消されることとなる。
【0072】
上記においては、全体枠αを固定するという前提に立っているため、(2)のルールを設定し、全体枠αに抵触する方向への移動は選択できないものとしたが、この発明はこれに限定されるものではない。
例えば、タグの配置平面を上下左右にスクロール可能とすることにより、あるいは配置画面全体をズームイン/ズームアウト可能に構成することにより、全体枠αを越えた移動を許容することもできる。
【0073】
また、上記においては、タグの重複を一切排除する方法について説明したが、若干の重複を許容するように、柔軟に調整することもできる。
例えば、各タグの面積の5%以内の重複を許容するというように設定しておけば、タグの視認性を比較的良好に維持したまま、その移動距離を短く抑えることが可能となる。
【0074】
上記の第1の関連度マップ42は、検索語に対して関連度の高い上位50位内のキーワードを関連語として抽出し、検索語も含めた各キーワードの文書データ毎の共起頻度に対して主成分分析を施し、その結果導かれた第1主成分値及び第2主成分値に基づいて各キーワードのタグ40を座標平面上に配置することによって生成された。
したがって、第1の関連度マップ42上の各タグ40の配置にはキーワード相互間の関連性が反映されており、このためユーザはタグ40同士の位置関係や集積度によって、キーワード間のカテゴリを把握することも可能となる利点がある。
【0075】
その反面、タグ40の位置関係から直接的に検索語との関係性を読み取ることができなかった。もちろん、タグ40に表記されたフォントサイズの大小が検索語との関連性の強さを表現しているのではあるが、検索語を2次元平面の中心に配置し、これとの関連性の強さを直接タグ40の位置関係によって表現した関連度マップを生成することも可能である。
以下、図29のフローチャートに従い、このような関連度マップの生成手順について説明する。
【0076】
まずユーザがクライアント36から検索対象となる文字列を入力すると、これを受け付けたマップ生成部28は(S70)、キーワード関連度表26を参照し、当該文字列と同一または一定範囲内の類似性を有するキーワードを検索語として認定すると共に、当該キーワードに対して関連度の高いキーワードを関連語として所定数抽出する(S72)。
【0077】
例えば、検索語として「環境技術」が与えられ、これに関連した上位50位以内の関連語が抽出される。図30に抽出例を示す。
【0078】
つぎにマップ生成部28は、各関連語の順位データを数2に示す螺旋方程式に代入し、それぞれのX値とY値を算出する(S74)。
【数2】

ここで、「0.05」は螺旋の広がり度合を決定する固定値の係数を意味している。
「n」は関連度の順位を意味し、螺旋の中心が1、すなわち検索語に該当するため、関連語の第1位についてはn=2が代入されることとなる。
また、「e」は自然対数を意味している。
【0079】
以上の結果、図31に示すように、各関連語のX値及びY値がマップ生成部28によって導かれる。
つぎにマップ生成部28は、各関連語のX値及びY値に基づいて、所定平面上における座標値を算出する(S76)。
以下に、座標算出の具体例を示す。
【0080】
・座標平面のサイズ:横740ドット×縦500ドットに設定
・X座標変換比=座標平面の横幅÷(X値の最大値−X値の最小値)
・Y座標変換比=座標平面の縦幅÷(Y値の最大値−Y値の最小値)
・キーワードAのX座標=(キーワードAのX値−X値の最小値)*X座標変換比
・キーワードAのY座標=(キーワードAのY値−Y値の最小値)*Y座標変換比
【0081】
以上の計算により、各キーワードのX値及びY値を、X軸が0〜740の間でY軸が0〜500の間の数値に変換でき、上記の2次元平面上に各タグ40を配置可能となる。
図32に、上記の変換法則に従って算出した各キーワードの座標値を例示する。
【0082】
つぎにマップ生成部28は、各キーワードの存在を示すタグを生成する(S78)。
図15に示した通り、このタグ40は長方形状を備えており、各キーワードの文字列と、これを取り囲む余白部分を備えている。
また、関連語と区別するため、検索語には各関連語とは異なる文字色及び背景色が割り当てられている。
このタグ40の面積も、上記と同様、キーワードのフォントサイズ及び文字数に応じて自動的に決定される。そして、キーワードのフォントサイズは、上記と同じ要領で、検索語との関連度が大きいほど大きなフォントサイズが割り当てられている。
【0083】
つぎにマップ生成部28は、上記の各タグ40を上記の2次元平面上にそれぞれ配置し、第2の関連度マップを生成する(S80)。
この際、各タグ40の中心点が上記で求めた平面上の座標点に重なるように配置される。また、検索語に対応したタグ40は、2次元平面の中心に配置される。
【0084】
この第2の関連度マップは、Webサーバ32によってWebファイルに加工され、クライアント36に送信される(S82)。
この結果、クライアント36のWebブラウザ上には、図33に示すように、第2の関連度マップ46が表示される。
【0085】
この第2の関連度マップ46上では、各タグ40のフォントサイズが上記の通り検索語との関連度の強さを表しているため、検索語「環境技術」に最も関連性の強いキーワードが「地球環境」であることが理解できる。また、「ハイブリッド」、「地球温暖化」、「温暖化」などのキーワードも、「環境技術」と比較的強い関連性を有していることが理解できる。
さらに、この第2の関連度マップ46においては、2次元平面の中心に検索語のタグ40が配置され、他のタグ40はそれぞれの関連度に応じてこれを螺旋状に取り囲むように配置されているため、各タグ40の配置(検索語のタグとの距離)によって、検索語との関連度を読み取ることが可能となる。
【0086】
この第2の関連度マップ46の生成に際しては、各キーワードの順位に基づいてタグ40の座標が求められるため、一度順位と座標値との対応関係を計算しておけば、2次元平面の大きさ及び抽出する関連語の数に変更がない限り、再計算することなく直ちにタグ40を2次元平面上に配置でき、システム10の演算量を低減できる利点がある。
【0087】
この第2の関連度マップ46上の任意のタグ40を選択した状態でユーザがクリックすると、上記した第1の関連度マップ42の場合と同様、吹きだしメニュー44が展開される。
そして、このメニュー44中からユーザが「Go to "トヨタ"」を選択すると、クライアント36から新たな検索語として「トヨタ」の文字列がWebサーバ32に送信される。
【0088】
これを受けたマップ生成部28は、上記のS70〜S80の処理を実行することにより、トヨタを検索語に設定した新たな第2の関連度マップ46を生成し、クライアント36に送信する(S82)。
この結果、図示は省略したが、クライアント36のWebブラウザ上にトヨタを検索語に設定した第2の関連度マップ46が表示される。
【0089】
このようにユーザは、第2の関連度マップ46上に表示されるタグ40を次から次へと選択し、そのキーワードを検索語に設定していくことにより、恰も連想の旅を続けるようにして視野を広げていき、その課程で新しい発見や意外な気付きを体験することができる。
【0090】
また、ユーザが吹きだしメニュー44中から「関連性の確認1(サイト内)」を選択すると、クライアント36からWebサーバ32に対し、環境技術とトヨタを関連付ける根拠の提示リクエストが送信される。
【0091】
これを受け付けたマップ生成部28は、図19に示したように、検索語である「環境技術」及び選択された「トヨタ」に基づいてキーワード共起頻度表20を検索し、両者間で共起の生じている文書番号のリストを生成する。
つぎにマップ生成部28は、この文書番号リストに基づいて文書DB12を検索し、文書本文のリストを生成した後、Webサーバ32経由でクライアント36に送信する。
この結果、クライアント36のディスプレイには、環境技術とトヨタとが同時に出現している文書の番号、タイトル、抄録、年月日等がリスト表示される。
【0092】
また、この中の一つをユーザが選択すると、マップ生成部28は該当の文書データを文書DB12から抽出し、クライアント36に送信する。
この結果ユーザは、当該文書データの内容を閲覧し、「環境技術」と「トヨタ」との関連性を個別に確認することが可能となる。
【0093】
一方、ユーザが上記の吹きだしメニュー44中で「関連性の確認2(Web上)」を選択すると、Webファイルに組み込まれた制御プログラムにより、予め設定された検索サイトに接続するための新しいウィンドウあるいはタグがWebブラウザ上に起動し、当該検索サイトに対して「環境技術」及び「トヨタ」をand条件で結んだ検索語が送信される。
この結果、環境技術とトヨタの両者を含むWebサイトの情報がWebブラウザ上にリストアップされることとなり、ユーザは「環境技術」と「トヨタ」との関係性について、インターネットのWebサイトを通じて確認することが可能となる。
【0094】
これに対し、ユーザが吹きだしメニュー44中で「Web上で検索」を選択すると、予め設定された検索サイトに接続するための新しいウィンドウあるいはタグがWebブラウザ上に起動し、当該検索サイトに対して「トヨタ」のみが検索語として送信される。
この結果、「トヨタ」に関するWebサイトの情報を確認することが可能となる。
【0095】
またユーザが、吹きだしメニュー44中で「関連性を否定」を選択した場合、「環境技術」と「トヨタ」間の関連性を否定する情報がサーバ上の所定の記憶手段に蓄積される。
そして、この情報が一定数(例えば10件以上)を超えた時点で、キーワード関連度表20におけるデータが修正され、「環境技術」と「トヨタ」間の関連度が所定ポイント分減算され、あるいは0にリセットされる。
【0096】
この第2の関連度マップ46を生成するに際してタグ40間の重複が生じた場合、マップ生成部28は上記と同様のルールに従ってタグ40間の重複を解消させる。
【0097】
ところで、上記で説明した検索結果の表示方法では、検索語と各関連語間の共起性に基づく関連度の高低のみが関連度マップ上に反映するものであったが、これに各関連語の時間的な要素を反映させ、最近になって特に注目され出した関連語を他の関連語と区別できるようにすれば、さらに関連度マップの利用価値を高めることができる。
以下に、図34のフローチャートに従い、各関連語の時間的要素を第1の関連度マップ42に反映させる方法を説明する。
【0098】
まず、検索キーワードの受付(S101)、当該検索語と関連度の深い関連語の抽出処理(S102)、検索語及び関連語の出現文書ID及び各文書中における出現頻度の取得(S103)、各文書中の出現頻度に対する主成分分析の実施(S104)、各キーワードの第1主成分値及び第2主成分値の抽出(S105)、各キーワードの座標データの算出(S106)、検索語及び各関連語を含むタグの生成(S107)までは、図10に示した第1の関連度マップ生成の際の処理手順であるS32〜S42と実質的に等しいため、重複の記載は省略する。
【0099】
つぎにマップ生成部28は、文書DB12に格納された各関連語の出現文書のメタデータを参照し、各文書の日付情報(作成日等)を取得する(S108)。
つぎにマップ生成部28は、関連語単位で文書データの日付順に出現頻度を並び替え、日付の新しさに応じた重みを与える(S109)。
図35は、この一例を示すテーブルであり、「脂肪」というキーワードについて日付毎の出現頻度が記載されており、さらに各日付に重みの数値が関連付けられている。
【0100】
この重みは、最も新しい日付である2008/05/01に最高の「365」が付与され、以後、1日ごとに重みの数値が1つずつ減少していく。そして、1年よりも以前の日付には全て「0」の重みが付与されている。
【0101】
つぎにマップ生成部28は、日付毎の出現頻度に対応の重みを乗じ、この積を過去1年分合算することにより、当該キーワードの鮮度ポイントを算出する(S110)。
【0102】
つぎにマップ生成部28は、予め設定されたバースト期間以前における、所定期間内の1日当たりの出現頻度の平均値を算出する(S111)。ここで「バースト期間」とは、あるキーワードが旬であるか否か、あるいはトピカルであるか否かを判断するための基準となる直近の期間である。
例えば、バースト期間を「最も新しい日付を基準に過去1ヶ月間」と設定し、平均値の算出対象となる平均化対象期間を11ヶ月とすると、バースト期間以前の11ヶ月間における「脂肪」の出現頻度を合計し、これを11ヶ月に含まれる日数で除した商が上記平均値となる。
【0103】
つぎにマップ生成部28は、当該キーワードの鮮度ポイントをこの平均値で除することにより、各関連語の急進度を算出する(S112)。
【0104】
つぎにマップ生成部28は、この急進度の高低に基づいた差別化処理を特定のタグに施す(S113)。例えば、急進度が上から5位以内の関連語について、他の関連語とは異なる色彩や模様を背景に施す処理が該当する。
【0105】
つぎにマップ生成部28は、差別化処理を施したタグを含めた全関連語及び検索語のタグを設定平面上に配置した第1の関連度マップを生成する(S114)。
この第1の関連度マップは、Webサーバ32によってWebファイルに加工され、クライアント36に送信される(S115)。
【0106】
この結果、クライアント36のWebブラウザ上には、図36に示すように、第1の関連度マップ42が表示される。この第1の関連度マップ上では、栄養教諭、BMI、アディポネクチン、メタボリックシンドローム、遺伝子の各タグについては、他のタグとは異なった網掛けパターンが背景に施されている。これは、急進度が1位〜5位のタグについては他のキーワードのタグと差別化するという上記S113の処理による。
この結果ユーザは、一目で「アディポネクチン」というキーワードがここ1ヶ月の間に急激に文書掲載頻度が増えてきた所謂「旬のキーワード」であることを認識することができる。
【0107】
なお、各関連語に対して時間的な要素を加味するということでいえば、各日付毎の出現頻度×重みによって算出された上記の鮮度ポイントがこれを体現しているともいえる。しかしながら、鮮度ポイントの多寡のみで当該キーワードの「新しさ」を判定するとなると、一般的な頻出語について高い値が付与される可能性がある。例えば、「肥満」というキーワードについていえば、「脂肪」や「カロリー」、「糖尿病」などは何時の時代でも必ずセットになって登場する頻出語であり、このような「旬」とは決していえないような語について高い鮮度ポイントが付与される結果となる。
【0108】
そこでマップ生成部28は、上記のようにバースト期間以前の各キーワードの出現頻度の平均値で鮮度ポイントを除する処理を加えることにより、常時出現する頻出語の急進度を低く抑えることとしている。この結果、上記のようにバースト期間内で急激に出現頻度が高まってきたキーワードを有効に絞り込むことが可能となる。
【0109】
上記のバースト期間(過去1ヶ月)や平均化対象期間(バースト期間前11ヶ月)は一例であり、自由に変更可能である。
また、日付単位で計算する代わりに、週単位や10日単位、月単位で算出することもできる。
重みの付与方法も上記に限定されるものではなく、一週間単位、10日単位で一定数の重みが減少していくように設定することもできる。
【0110】
なお、上記のように日付毎の出現頻度に付与される重みの最小値を「0」に限定することなく、所定期間よりも前の日付については、その古さに応じてマイナスの重みを付与するようにしても、一般的な頻出後の鮮度ポイントを低く抑えること自体は可能である。
ただし、この場合には過去において一度注目され、文書データ中における出現頻度が高まった後に注目度が低下し、所定の低迷期を経て再び出現頻度が高まりつつある関連語に関しては、最近の「プラスの重み×出現頻度」の値が過去の「マイナスの重み×出現頻度」の値によって大きく減殺され、鮮度ポイントが不当に低くなるという問題が生じる。
これに対し、上記のように所定期間よりも過去の日付については古さを問わず一様に「0」の重みを付与することとし、マイナスの重み付けを排除することにより、過去に一旦注目され最近になって再び注目されだした関連語についても正当な急進度を反映させることが可能となる。
【0111】
上記の第2の関連度マップ46について、この急進度を反映させることも当然に可能である。
以下に、図37のフローチャートに従い、各関連語の時間的要素を第2の関連度マップ46に反映させる方法を説明する。
【0112】
まず、検索キーワードの受付(S121)、当該検索語と関連度の深い上位50位以内の関連語の抽出処理(S122)、各関連語の順位を螺旋方程式に代入してX値及びY値を算出する処理(S123)、X値及びY値を設定平面上の座標データに変換する処理(S124)、検索語及び各関連語を含むタグの生成処理(S125)
までは、図29に示した第2の関連度マップ生成の際の手順であるS70〜S78と実質的に等しいため、重複の記載は省略する。
【0113】
つぎにマップ生成部28は、検索語及び関連語の出現文書ID及び各文書中における出現頻度を取得する(S126)。
つぎにマップ生成部28は、各関連語の出現文書のメタデータを参照し、各文書の日付情報(作成日等)を取得する(S127)。
つぎにマップ生成部28は、関連語単位で文書データの日付順に出現頻度を並び替え、日付の新しさに応じた重みを与える(S128)。
つぎにマップ生成部28は、日付毎の出現頻度に対応の重みを乗じ、この積を過去1年分合算することにより、当該キーワードの鮮度ポイントを算出する(S129)。
つぎにマップ生成部28は、直近1ヶ月のバースト期間以前における、11ヶ月間の1日当たりの出現頻度の平均値を算出する(S130)。
つぎにマップ生成部28は、当該キーワードの鮮度ポイントをこの平均値で除することにより、各関連語の急進度を算出する(S131)。
つぎにマップ生成部28は、この急進度に基づいた差別化処理を特定のタグに施す(S132)。例えば、急進度が上から5位以内の関連語について、他の関連語とは異なる色彩や模様を背景に施す処理や、タグの形状を長方形から楕円形等に変形させる処理が該当する。
【0114】
つぎにマップ生成部28は、差別化処理を施したタグを含めた全関連語及び検索語のタグを設定平面上に配置した第2の関連度マップを生成する(S133)。
この第2の関連度マップは、Webサーバ32によってWebファイルに加工され、クライアント36に送信される(S134)。
【0115】
この結果、クライアント36のWebブラウザ上には、図38に示すように、第2の関連度マップ46が表示される。この第2の関連度マップ46上では、ハイブリッド、ハイブリッド車、トヨタ、地球環境経済人サミット、地球共生プロジェクトのタグについては、他のタグとは異なった網掛けパターンが施されている。これは、急進度が1位〜5位のタグについては他のキーワードのタグと差別化するという上記S132の処理による。
【0116】
以上説明したように、この実施形態によれば、各関連語が出現する文書データの日付を参照して重み付けをすることで、関連語の検索結果に時間的な要素を含めることができる。従来の検索では、関連語の抽出ベースとなっている文書データには、作成時点や公開時点、データベースへの蓄積時点などの様々な時間情報が内在しているにもかかわらず、検索結果では時間情報が捨象されていた。これに対しこの実施形態では、時間情報をある程度検索結果に反映させることが可能になる。
【0117】
なお、上記においては文書データの作成日付に応じた重みを付与したが、他にも、文書データをデータベースに蓄積した日付やWebサイト上に公開された日付に応じた重みを付与するようにしてもよい。
【0118】
また、上記においては急進度が上位5位以内の関連語についてのみ、そのタグに網掛けパターンを付するという表示上の差別化処理を施す例を示したが、この発明はこれに限定されるものではなく、上位10位以内の関連語について差別化処理を施したり、上位3以内の関連語にのみ差別化処理を施すようにすることもできる。
あるいは、各関連語の急進度を所定範囲で複数の帯域に区切り、各帯域に対して他の帯域と異なった表示態様を割り当てることもできる。
【0119】
図39は、この発明に係る第2の検索システム50の機能構成を示すブロック図である。この第2の検索システム50は、文書DB12と、キーワード抽出部14と、キーワードDB16と、関連度算出部18と、キーワード共起頻度表20と、キーワード組合せ頻度総和表22と、キーワード頻度総和表24と、キーワード関連度表26と、集計データ生成部52と、集計データDB54と、マップ生成部28とを備えている。
このシステム50にはWebサーバ32が接続されており、このWebサーバ32はインターネットやイントラネット等のネットワーク34を介して複数のクライアント36と接続されている。
【0120】
上記のキーワード抽出部14、関連度算出部18、集計データ生成部52及びマップ生成部28は、サーバコンピュータのCPUが、OS及び専用のアプリケーションプログラムに従い、必要な処理を実行することによって実現される。
【0121】
上記の文書DB12、キーワードDB16、キーワード共起頻度表20、キーワード組合せ頻度総和表22、キーワード頻度総和表24、キーワード関連度表26及び集計データDB54は、同サーバコンピュータのハードディスクに格納されている。
文書DB12には、新聞記事や学術雑誌、論文等の電子データ(テキストデータ)が予め多数蓄積されている。
【0122】
この第2の検索システム50は、図より明らかなように、マップ生成部28とキーワード共起頻度表20及びキーワード関連度表26との間に、集計データ生成部52と集計データDB54を介装させた点に特徴があり、他の構成は第1の検索システム10と実質的に等しいため、同一の機能構成部には同じ符号を付することにより、重複説明は省略する。
【0123】
第2の検索システム50における集計データ生成部52は、キーワード共起頻度表20及びキーワード関連度表26を参照して、図12に例示したクロス集計表を事前に生成し、これを所定のデータ形式に圧縮・変換した集計データを、集計データDB54に格納しておく機能を備えている。
【0124】
すなわち、第1の検索システム10の場合には、ユーザからの検索リクエストを受けた後に、マップ生成部28がキーワード関連度表26を参照して50件の関連語を抽出し、キーワード共起頻度表20を参照して検索語及び各関連語の出現文書ID及び各文書中の出現頻度を取得し、図12のクロス集計表を検索の都度生成しているため、検索結果である第1の関連度マップ42の出力までには相当の時間を要することとなり、またシステム上の負荷も一時的に増大する懸念があった。
【0125】
もちろん、事前に図12のクロス集計表を作成し、ハードディスクに格納しておけば検索リクエスト時の処理時間を短縮化できることは当然であるが、実際問題としてキーワードの件数及び文書データの件数は膨大となるため、関連度が上位50位までの関連語の全文書における出現頻度を記録したクロス集計表の数及びそれぞれのデータ量も膨大となり、その保存には大きなディスク容量を確保する必要があった。しかも、各クロス集計表では、頻度=0のセルが大半を占めることとなり、リソースの無駄遣いが生じることは必定であるため、第1の検索システム10の場合には、検索リクエスト受付時に当該検索語に係るクロス集計表のみを作成する方式を採用していた。
【0126】
これに対し第2の検索システム50の場合には、クロス集計表のデータ形式を工夫することで大幅にデータ量を削減し、上記の問題を解決している。以下、図40のフローチャートに従い、集計データ生成部52における処理手順を説明する。
【0127】
まず集計データ生成部52は、キーワード関連度表26を参照し、各キーワード毎に上位50以内の関連度を備えた関連語を抽出する(S141)。
つぎに集計データ生成部52は、キーワード共起頻度表20を参照し、特定キーワード及びその関連語の出現文書ID及びそれぞれの各文書中における出現頻度を取得する(S142)。
つぎに集計データ生成部52は、行項目に文書IDを設定すると共に、列項目に特定キーワード及びその関連語を設定し、各セル内に出現頻度を充填したクロス集計表を生成する(S143)。
つぎに集計データ生成部52は、この縦横に広大な領域を有し、値=0のセルが大半を占める冗長なクロス集計表を、一定の変換方式に従って圧縮する(S144)。
【0128】
図41は、この圧縮処理の要領を示す説明図であり、図12に示したのと同様のクロス集計表56が、僅か1行の集計データ58に変換されている。
この変換方式を詳しく説明すると、まずクロス集計表56のカラム名に相当する肥満、脂肪等のキーワード(特定キーワード及びその関連語)は、相互間を「,」(カンマ)で区切って一列に配置させる。
また、各セルについては、0以外の値(出現頻度)が存在する場合には、その位置情報と値が「1>2」のように表現される。この中、「1」の部分はキーワードの順番を示しており、具体的には1番目に位置する「肥満」を指している。また、「2」の部分は出現頻度が「2」であることを指している。「>」は、各キーワードの順番と出現頻度とを関連付ける記号である。
値が0のセルについては、記述が省略される。
改行(文書の変わり目)は「/」で表現され、つぎの文書における値が始まることを意味する。
同じ行において複数の値が存在する場合には、相互間に「,」(カンマ)の区切り文字が配置される。
【0129】
以下に、集計データ58の各部について具体的に解説する。
まず、冒頭の「肥満,脂肪,糖尿病,糖尿,習慣/」は、カラム名に相当するキーワードが、肥満(1番目)、脂肪(2番目)、糖尿病(3番目)、糖尿(4番目)、習慣(5番目)であることを表現している。
(1)の「1>2/」は、1番目の文書(6102)の「肥満」の頻度は「2」であり、他のキーワードの頻度は「0」であることを表現している。
(2)の「1>2,5>3/」は、2番目の文書(8594)の「肥満」の頻度は「2」であり、「習慣」の頻度は「3」、それ以外のキーワードの頻度は「0」であることを表現している。
(3)の「1>4/」は、3番目の文書(10104)の「肥満」の頻度は「4」であり、それ以外のキーワードの頻度は「0」であることを表現している。
(4)の「1>2/」は、4番目の文書(11671)の「肥満」の頻度は「2」であり、それ以外のキーワードの頻度は「0」であることを表現している。
(5)の「1>3,2>2/」は、5番目の文書(13690)の「肥満」の頻度は「3」であり、「脂肪」の頻度は「2」、それ以外のキーワードの頻度は「0」であることを表現している。
(6)の「1>3,2>13/」は、6番目の文書(13691)の「肥満」の頻度は「3」であり、「脂肪」の頻度は「13」、それ以外のキーワードの頻度は「0」であることを表現している。
(7)の「1>4/」は、7番目の文書(18026)の「肥満」の頻度は「4」であり、それ以外のキーワードの頻度は「0」であることを表現している。
(8)の「1>5/」は、8番目の文書(21642)の「肥満」の頻度は「5」であり、それ以外のキーワードの頻度は「0」であることを表現している。
(9)の「1>2/」は、9番目の文書(29478)の「肥満」の頻度は「2」であり、それ以外のキーワードの頻度は「0」であることを表現している。
【0130】
以上より明らかなように、出現頻度=0のセルについての記録は排除されており、出現頻度=1以上のデータのみが記録されているため、データ量が大幅に削減されている。
もちろん、図示の便宜上、図41の例では文書の数が9に、キーワードの数も5に限定してあるが、例えそれぞれの件数が増大したとしても、基本構造は変わらず、1行のデータとして出現頻度を表現できる。しかも、頻度=0のセルは記録からは除外されているため、冗長性が有効に排除され得る。
【0131】
集計データ生成部52は、上記のように1行形式に圧縮した集計データ58を、各キーワードに関連付けて集計データDB54に格納する(S145)。
【0132】
つぎに、図42のフローチャートに従い、第1の関連度マップ42の生成手順について説明する。
まずマップ生成部28は、ユーザのクライアント36から検索キーワードを受け付けた後(S151)、集計データDB54から当該検索語に係る集計データを読み込み(S152)、クロス集計表を復元する(S153)。この復元後のクロス集計表では文書IDが欠落しているが、後続の処理に文書IDは必要でないため、特に問題はない。
【0133】
つぎにマップ生成部28は、文書毎の検索語及び関連語の出現頻度データに対して主成分分析を実施し(S154)、分析結果として第1主成分値及び第2主成分値を抽出する(S155)。
つぎにマップ生成部28は、第1主成分値及び第2主成分値を所定平面上の座標データに変換する(S156)。
つぎにマップ生成部28は、検索語及び関連語を含むタグを生成した後(S157)、各タグを設定平面上に配置した第1の関連度マップを生成する(S158)。
この第1の関連度マップ42は、Webサーバ32を介してクライアント36に配信される(S159)。
【0134】
上記のように、事前に集計データが集計データDB54に格納されているため、検索時の処理時間を大幅に短縮することが可能となる。
また、上記のように予め各キーワードについて関連度が上位50位以内の関連語に係る文書毎の出現頻度データを集計データとして蓄積しているため、第1の関連度マップ42上に表示させる関連語の数を減らす必要がある場合であっても、柔軟に対応できる利点がある。
【0135】
例えば、クライアント36から関連語の表示件数を10件に間引くようにリクエストされた場合、マップ生成部28は集計データを元に復元したクロス集計表から検索語に対して関連度が上位10位以内の関連語の出現頻度データのみを抽出し、これらに基づいて上記のS154〜S159の処理を実行することにより、第1の関連度マップ42を迅速に生成することが可能となる。
【図面の簡単な説明】
【0136】
【図1】この発明に係る第1の検索システムの機能構成を示すブロック図である。
【図2】キーワード抽出部の機能構成を示すブロック図である。
【図3】キーワード抽出工程を示すフローチャートである。
【図4】文字列頻度統計フィルタの動作を示す説明図である。
【図5】文書DB内に形態素インデックスが形成されている様子を示す説明図である。
【図6】キーワード間の関連度算出工程を示すフローチャートである。
【図7】キーワード共起頻度表の一例を示す説明図である。
【図8】関連度算出処理を簡略化する方法を示す説明図である。
【図9】キーワード組合せ頻度総和表及びキーワード頻度総和表に基づいてキーワード関連度表が生成される様子を示す説明図である。
【図10】第1の関連度マップ生成の手順を示すフローチャートである。
【図11】与えられた検索語に基づいて関連語を抽出した結果を示す模式図である。
【図12】文書毎に検索語及び各関連語の出現頻度を抽出した結果を示す図表である。
【図13】検索語及び各関連語の第1主成分及び第2主成分を算出した結果を示す図表である。
【図14】検索語及び各関連語の第1主成分値及び第2主成分値に基づいて所定平面上の座標を算出した結果を示す図表である。
【図15】検索語及び各関連語のタグを示す説明図である。
【図16】第1の関連度マップを示す図である。
【図17】第1の関連度マップを示す図である。
【図18】第1の関連度マップを示す図である。
【図19】検索語及び特定の関連語間の関連度の根拠を提示する様子を示す説明図である。
【図20】第1の関連度マップ上において、タグ間で重複が生じている様子を示す図である。
【図21】タグ間の重複を解消するためのアルゴリズムを示すフローチャートである。
【図22】タグ間の重複解消の具体例を示す説明図である。
【図23】タグ間の重複解消の具体例を示す説明図である。
【図24】タグ間の重複解消の具体例を示す説明図である。
【図25】タグ間の重複解消の具体例を示す説明図である。
【図26】タグ間の重複解消の具体例を示す説明図である。
【図27】タグ間の重複解消の具体例を示す説明図である。
【図28】タグ間の重複解消の具体例を示す説明図である。
【図29】第2の関連度マップ生成の手順を示すフローチャートである。
【図30】検索語との関連度が高い順に複数のキーワードを抽出した様子を示す図表である。
【図31】各キーワードのX値及びY値を算出した結果を示す図表である。
【図32】各キーワードのX値及びY値に基づいて所定平面上の座標を算出した結果を示す図表である。
【図33】第2の関連度マップを示す図である。
【図34】関連語の時間的要素を第1の関連度マップに反映させる際の処理手順を示すフローチャートである。
【図35】文書データの日付順に各関連語の出現頻度を並び替え、日付の新しさに応じた重みを付与する様子を示すテーブルである。
【図36】関連語の時間的要素を第1の関連度マップに反映させた具体例を示す図である。
【図37】関連語の時間的要素を第2の関連度マップに反映させる際の処理手順を示すフローチャートである。
【図38】関連語の時間的要素を第2の関連度マップに反映させた具体例を示す図である。
【図39】この発明に係る第2の検索システムの機能構成を示すブロック図である。
【図40】集計データ生成部の処理手順を示すフローチャートである。
【図41】集計データ生成部によるクロス集計データの圧縮処理の要領を示す説明図である。
【図42】第2の検索システムによる第1の関連度マップの生成手順を示すフローチャートである。
【符号の説明】
【0137】
10 第1の検索システム
12 文書DB
14 キーワード抽出部
14a 係り受け表現抽出フィルタ
14b 区切り文字抽出フィルタ
14c 文字列頻度統計フィルタ
14d TermExtractフィルタ
14e キーワード認定フィルタ
16 キーワードDB
18 関連度算出部
20 キーワード共起頻度表
22 キーワード組合せ頻度総和表
24 キーワード頻度総和表
26 キーワード関連度表
28 マップ生成部
32 Webサーバ
34 ネットワーク
36 クライアント
40 タグ
42 第1の関連度マップ
44 吹きだしメニュー
46 第2の関連度マップ
50 第2の検索システム
52 集計データ生成部
54 集計データDB
56 クロス集計表
58 集計データ

【特許請求の範囲】
【請求項1】
複数のキーワードの出現頻度を文書データ毎に集計した結果を格納しておくキーワード共起頻度記憶手段と、
各キーワードの各文書データ中における出現頻度データを用いて算出された、キーワード間の共起性に基づく関連度を格納しておくキーワード関連度記憶手段と、
検索語が入力された場合に、上記キーワード関連度記憶手段を参照し、当該検索語に対する関連度の高い順に所定数のキーワードを関連語として抽出する手段と、
上記キーワード共起頻度記憶手段を参照し、検索語を含めた各キーワードが出現する文書データのID、及び各文書データ中における各キーワードの出現頻度を取得する手段と、
各文書データが具備する時間情報を取得する手段と、
各関連語について、所定の時間間隔毎の出現頻度を算出する手段と、
各関連語について、所定の時間間隔毎に時間の新しさに応じた重みを付与する手段と、
上記出現頻度に対応の重みを乗じた値を集計することにより、各関連語の鮮度ポイントを算出する手段と、
予め設定されたバースト期間以前の所定期間内における、各関連語の出現頻度の所定の時間間隔毎の平均値を算出する手段と、
この平均値で各関連語の鮮度ポイントを除することにより、各関連語の急進度を算出する手段と、
上記検索語及び各関連語を文字列として含む複数のタグを生成する手段と、
上記急進度の高低に応じた表示態様を上記のタグの少なくとも一部に施す手段と、
各タグを所定の平面上に配置させた関連度マップを生成する手段と、
この関連度マップを出力する手段と、
を備えたことを特徴とする検索システム。
【請求項2】
上記タグに表記される各キーワードに対し、検索語との関連度の高さに対応して大きなフォントサイズが割り当てられることを特徴とする請求項1に記載の検索システム。
【請求項3】
上記の関連度マップを生成する手段が、
文書データ毎の各キーワードの出現頻度を変量とする多変量データに対して主成分分析を施し、各キーワードの第1主成分値及び第2主成分値を算出する処理と、
この第1主成分値及び第2主成分値に基づいて、所定平面上における各キーワードの座標値を算出する処理と、
各キーワードを表記したタグを、各キーワードの座標値に基づいて上記平面上に配置させた関連度マップを生成する処理と、
を実行することを特徴とする請求項1または2に記載の検索システム。
【請求項4】
上記の関連度マップを生成する手段が、
抽出した各関連語の順位を螺旋方程式に代入し、それぞれのX値及びY値を算出する処理と、
このX値及びY値に基づいて、所定平面上における各関連語の座標値を算出する処理と、
検索語を表記したタグを上記平面の中心に配置させると共に、各関連語を表記したタグをそれぞれの座標値に基づいて同平面上に配置させた関連度マップを生成する処理と、
を実行することを特徴とする請求項1または2に記載の検索システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate


【公開番号】特開2009−271795(P2009−271795A)
【公開日】平成21年11月19日(2009.11.19)
【国際特許分類】
【出願番号】特願2008−122780(P2008−122780)
【出願日】平成20年5月8日(2008.5.8)
【出願人】(000155469)株式会社野村総合研究所 (1,067)
【Fターム(参考)】