(57)【特許請求の範囲】
【請求項１】
予め複数のキーワードを蓄積しておくキーワード記憶手段と、
予め各キーワードとの共起性の高さに基づいて選定された複数の連想語をキーワード毎に蓄積しておく連想語記憶手段と、
予め複数の企業名に係る文字列を格納しておく企業名記憶手段と、
入力された文書データを形態素単位に分割する手段と、
各形態素を上記キーワードと比較し、文書データに含まれるキーワードを検出する手段と、
上記連想語記憶手段を参照し、検出した各キーワードの連想語を取得する手段と、
上記企業名記憶手段を参照し、各連想語の中で当該企業名記憶手段に格納された文字列と一致するものを関連企業名として抽出する手段と、
上記関連企業名をリスト表示する関連企業リスト欄と、上記文書データの内容を表示する文書表示欄を備えた検索結果表示画面を生成する手段を備え、
上記関連企業リスト欄中の各関連企業名と上記文書表示欄中の対応キーワードとの間にはリンクが設定されており、
上記関連企業リスト欄中の特定の企業名が選択されると、上記文書表示欄における対応キーワードが強調表示されることを特徴とする連想検索システム。
【請求項２】
複数の文書データが格納された文書記憶手段と、
上記の各文書データから複数のキーワードを抽出し、上記キーワード記憶手段に格納するキーワード抽出手段と、
全文書データ中における各キーワードの出現頻度を集計し、共起頻度記憶手段に格納する手段と、
各キーワードの各文書データ中における出現頻度データを用いて、キーワード間の共起性に基づく関連度を算出し、キーワード関連度記憶手段に格納する関連度算出手段と、
キーワード毎に他のキーワードとの間の関連度をソートした後、関連度の高い上位所定数のキーワードを当該キーワードの連想語として抽出し、上記連想語記憶手段に格納する連想語抽出手段とを備えたことを特徴とする請求項１に記載の連想検索システム。
【請求項３】
上記のキーワード抽出手段が、それぞれ固有の抽出基準に基づいてキーワード候補を抽出する複数のフィルタを備え、
各フィルタによって抽出されたキーワード候補をマッチングし、少なくとも複数のフィルタによって抽出されたキーワード候補をキーワードとして認定することを特徴とする請求項２に記載の連想検索システム。
【請求項４】
上記フィルタの一つが、
(1) 各文書データ中に含まれる名詞を注目語として抽出し、
(2) 各注目語の全文書データ中における出現頻度を算出し、
(3) 各注目語の一つ前及び／又は一つ後の形態素に範囲を拡張し、この拡張範囲を含めた注目語の全文書データ中における出現頻度を算出し、
(4) 上記(3)の処理によって算出された出現頻度が所定数以上の場合には、さらにその一つ前あるいは後の形態素に範囲を拡張し、この拡張範囲を含めた注目語の全文書データ中における出現頻度を算出する処理を、その出現頻度が所定数未満となるまで繰り返し、
(5) 最初の注目語及び拡張範囲を含めた注目語の中で、所定範囲内の出現頻度を有するものをキーワード候補として選定することを特徴とする請求項３に記載の連想検索システム。
【請求項５】
上記関連度算出手段が、
(1) 文書データ単位で、当該文書中に出現実績があり、関連度算出の対象とすべきキーワードを選別する処理と、
(2) 文書データ単位で、各選別キーワード間の出現頻度を乗算し、その積を所定の記憶手段に記録する処理と、
(3) 文書データ単位で、各選別キーワードの出現頻度を二乗し、その値を所定の記憶手段に記録する処理と、
(4) 上記選別キーワード間の積を、全文書データに亘って集計する処理と、
(5) 各選別キーワードの出現頻度の二乗値を、全文書データに亘って集計する処理と、
(6) 上記(5)の集計値の平方根を算出する処理と、
(7) 各キーワードの上記(6)の平方根同士を加算し、その和で上記(4)の集計値を除することにより、両キーワード間の関連度を算出する処理と、
を実行することを特徴とする請求項２〜４の何れかに記載の連想検索システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は連想システムに係り、特に、入力された文書データ中からキーワードを抽出し、当該キーワードと関連の深い企業名等の文字列を出力する連想検索技術に関する。
【背景技術】
【０００２】
膨大な情報の中から必要とする情報を抽出するために検索システムが用いられるが、一般的な検索システムの場合、入力された検索語と同一または類似の概念を含む情報を抽出する仕組みを備えている。例えば、多数の企業の情報を格納したデータベースに対して「富士」という検索語を与えると、検索システムは「富士」という文字列を名称中に含む企業のリストを正確に出力することができる。また、インターネットの検索サイトにおいて「環境問題」と入力すれば、「環境問題」という文字列を含んだWebページのリストがディスプレイに表示される。
この結果ユーザは、目的の情報に辿り着くことが可能となるのであるが、そこでの検索結果はあくまでも予想の範囲のものであり、検索結果リストを眺めても意外な発見を期待することはできなかった。もちろん、検索結果リスト中の個々のデータの詳細を検討する過程で新しい知見を得ることはできるが、検索語と関連の深い他の用語を含む情報を直接的に抽出することはできなかった。
【０００３】
この点に関し、特許文献１で開示された「連想検索システム」の場合には、各用語の関連用語を記憶した関連用語記憶手段と、各用語と共起性の高い（同一文書中に登場する確率が高い）企業名を記憶した共起企業名記憶手段を備えており、検索語が入力された場合にはこれと関連する用語を抽出し、各用語に対する共起性の高い企業名を抽出する仕組みを備えている。
【特許文献１】特開２００４−１１０３８６号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この結果ユーザは、検索語として「環境問題」を入力すると、環境問題に係る文書中に登場することの多い企業名をダイレクトにリストアップすることが可能となり、環境問題に積極的に取り組む企業を認識し、投資行動につなげることができるようになる。
【０００５】
しかしながら、この従来の連想検索システムの場合、ユーザが特定の文字列を検索語としてシステムに入力することが前提となっているため、この時点で何らかの問題意識を持っていることがユーザには求められる。すなわち、特定のテーマを見据えて投資先を探そうという積極的なユーザにとっては有効なシステムであるが、漠然と「将来有望な企業があれば投資してみたい」と考えているユーザにとっては、利用価値が低いシステムと言わざるを得ない。
【０００６】
一方で、今日、インターネットのWebサイト上にはニュース記事やブログ記事、論文、白書、メルマガなど、多数の文書データが蓄積されており、ユーザはこれらの文書データをPC等を介して自由に閲覧する機会に恵まれている。
そして、これらの文書データ中には、次代を担う技術やサービスに関する情報が含まれており、これらの情報と関連の深い企業名をリストアップすることができれば、上記のように漠然と投資先を探しているユーザに対して具体的な投資対象企業を提示することが可能となる筈であるが、現在までにこのような仕組みは存在していない。
【０００７】
上記のような問題は、投資先企業を探す場合に限るものではなく、「何か良い商品（サービス）があれば買いたい」、「誰か素晴らしい人物がいれば応援したい」といったように、商品や人物を漠然と探している場合にも該当するといえる。
【０００８】
この発明は、このような現状を打開するために案出されたものであり、日々大量に蓄積されていく文書データの記述内容から、関連性の高い具体的な企業名や商品名、人物名等、特定のカテゴリに属する文字列をリストアップすることができるシステムを実現することを目的としている。
【課題を解決するための手段】
【０００９】
上記の目的を達成するため、請求項１に記載した連想検索システムは、予め複数のキーワードを蓄積しておくキーワード記憶手段と、予め各キーワードとの共起性の高さに基づいて選定された複数の連想語をキーワード毎に蓄積しておく連想語記憶手段と、予め複数の企業名に係る文字列を格納しておく企業名記憶手段と、入力された文書データを形態素単位に分割する手段と、各形態素を上記キーワードと比較し、文書データに含まれるキーワードを検出する手段と、上記連想語記憶手段を参照し、検出した各キーワードの連想語を取得する手段と、上記企業名記憶手段を参照し、各連想語の中で当該企業名記憶手段に格納された文字列と一致するものを関連企業名として抽出する手段と、上記関連企業名をリスト表示する関連企業リスト欄と、上記文書データの内容を表示する文書表示欄を備えた検索結果表示画面を生成する手段を備え、上記関連企業リスト欄中の各関連企業名と上記文書表示欄中の対応キーワードとの間にはリンクが設定されており、上記関連企業リスト欄中の特定の企業名が選択されると、上記文書表示欄における対応キーワードが強調表示（例えばハイライト表示）されることを特徴としている。
ここで「共起性の高さ」とは、同一文書中に登場する割合（程度）の高さを意味している。
また「形態素」とは、意味を有する最小の言語単位を指す。例えば、「私の名前は鈴木です」を形態素に分解すると、「私（代名詞）」「の（助詞）」「名前（一般名詞）」「は（係助詞）」「鈴木（固有名詞）」「です（助動詞）」となる。
【００１１】
請求項２に記載した連想検索システムは、請求項１のシステムであって、さらに、複数の文書データが格納された文書記憶手段と、上記の各文書データから複数のキーワードを抽出し、上記キーワード記憶手段に格納するキーワード抽出手段と、全文書データ中における各キーワードの出現頻度を集計し、共起頻度記憶手段に格納する手段と、各キーワードの各文書データ中における出現頻度データを用いて、キーワード間の共起性に基づく関連度を算出し、キーワード関連度記憶手段に格納する関連度算出手段と、キーワード毎に他のキーワードとの間の関連度をソートした後、関連度の高い上位所定数のキーワードを当該キーワードの連想語として抽出し、上記連想語記憶手段に格納する連想語抽出手段とを備えたことを特徴としている。
【００１２】
請求項３に記載した連想検索システムは、請求項２のシステムであって、さらに、上記のキーワード抽出手段が、それぞれ固有の抽出基準に基づいてキーワード候補を抽出する複数のフィルタを備え、各フィルタによって抽出されたキーワード候補をマッチングし、少なくとも複数のフィルタによって抽出されたキーワード候補をキーワードとして認定することを特徴としている。
【００１３】
請求項４に記載した連想検索システムは、請求項３のシステムであって、さらに上記フィルタの一つが、(1)各文書データ中に含まれる名詞を注目語として抽出し、(2)各注目語の全文書データ中における出現頻度を算出し、(3)各注目語の一つ前及び／又は一つ後の形態素に範囲を拡張し、この拡張範囲を含めた注目語の全文書データ中における出現頻度を算出し、(4)上記(3)の処理によって算出された出現頻度が所定数以上の場合には、さらにその一つ前あるいは後の形態素に範囲を拡張し、この拡張範囲を含めた注目語の全文書データ中における出現頻度を算出する処理を、その出現頻度が所定数未満となるまで繰り返し、(5)最初の注目語及び拡張範囲を含めた注目語の中で、所定範囲内の出現頻度を有するものをキーワード候補として選定することを特徴としている。
【００１４】
請求項５に記載した連想検索システムは、請求項２〜４のシステムであって、さらに上記関連度算出手段が、(1)文書データ単位で、当該文書中に出現実績があり、関連度算出の対象とすべきキーワードを選別する処理と、(2)文書データ単位で、各選別キーワード間の出現頻度を乗算し、その積を所定の記憶手段に記録する処理と、(3)文書データ単位で、各選別キーワードの出現頻度を二乗し、その値を所定の記憶手段に記録する処理と、(4)上記選別キーワード間の積を、全文書データに亘って集計する処理と、(5)各選別キーワードの出現頻度の二乗値を、全文書データに亘って集計する処理と、(6)上記(5)の集計値の平方根を算出する処理と、(7)各キーワードの上記(6)の平方根同士を加算し、その和で上記(4)の集計値を除することにより、両キーワード間の関連度を算出する処理とを実行することを特徴としている。
【発明の効果】
【００１５】
請求項１に記載した連想検索システムによれば、入力された文書データの内容に関連した具体的な企業名をリストアップすることができる。しかも、単に文書データ中に明記された企業名を抽出するのではなく、文書データ中に登場するキーワードに関連付けられた連想語中から企業名を抽出する仕組みであるため、純粋に記事の内容に興味を覚えたユーザに対して、当該記事の背後に潜む関係性に基づいて具体的な投資先等を提示することが可能となる。
また、検索結果表示画面中のリストに挙げられた企業名をクリックすることにより、文書中に表示された対応のキーワードが強調表示される仕組みを備えているため、ユーザは当該企業名がリストに挙げられた根拠を即座に認識することが可能となる。
【００１７】
請求項２に記載した連想検索システムにあっては、キーワードの連想語が多数の文書データ中における各キーワード間の共起性に基づいて抽出される仕組みであるため、人間の予想を超えた意外性の高い連想語を自動的に収集することが可能となる。
【００１８】
請求項３及び４に記載した連想検索システムの場合、複数のフィルタを用いて文書データ中からそれぞれ独自にキーワード候補を抽出させ、これらの中で少なくとも複数のフィルタによって抽出されたものを正式なキーワードと認定する仕組みを備えているため、重要なキーワードの取りこぼしを防止すると同時に、重要でないノイズがキーワード中に混入することを防止できる。
特に、請求項４のシステムの場合、キーワード候補の抽出に際し、複数の文書データ中における出現頻度に基づいてある注目語をキーワード候補として選定するか否かを判断する仕組みを備えているため、選定されたキーワード候補の重要度に対して客観性を持たせることが可能となる。
【００１９】
請求項５に記載した連想検索システムによれば、まず文書データ単位で、出現頻度がゼロのため他のキーワードとの関連度算出が不要なキーワードを事前に排除し、出現実績のあるキーワード間で関連度を算出した後、全文書単位に集計する手法を採用している結果、全体の計算処理を簡素化できる。
また、新規の文書データが文書記憶手段に追加された場合でも、当該新規文書データ単位で(1)〜(3)の処理を行い、この算出結果を(4)及び(5)の既存の集計値に加算した後、(6)及び(7)の計算をやり直すだけで済み、文書データ追加時における関連度の再計算処理が容易化される利点がある。
さらに、古くなった文書データの影響を排除する必要がある場合にも、当該旧文書データに係る(2)及び(3)の値を(4)及び(5)の集計値から減算した後、(6)及び(7)の計算をやり直すだけで済むため、キーワード間の関連度を最新のものに維持することが容易となる。
【発明を実施するための最良の形態】
【００２０】
図１は、この発明に係る連想検索システム10の全体構成を示すブロック図であり、連想検索サーバ12と、Webサーバ14とを備えている。
連想検索サーバ12とWebサーバ14は、ネットワーク接続されている。
また、Webサーバ14は、インターネット16を介して他の多数のWebサーバ18及びユーザのPC端末20と接続されている。
【００２１】
連想検索サーバ12は、形態素解析部22と、キーワード検出部24と、連想語抽出部26と、関連企業抽出部28と、キーワードＤＢ32と、連想語ＤＢ34と、特定種文字列記憶手段としての企業名ＤＢ36とを備えている。
【００２２】
上記の形態素解析部22、キーワード検出部24、連想語抽出部26、関連企業抽出部28は、サーバ12のCPU がOS及び専用のアプリケーションプログラムに従って必要な処理を実行することによって実現される。
また、上記のキーワードＤＢ32、連想語ＤＢ34、企業名ＤＢ36は、同サーバ12のハードディスク内に設けられている。
【００２３】
上記キーワードＤＢ32には、図２に示すように、キーワードIDとキーワードとの対応関係が多数登録されている。
上記連想語ＤＢ34には、図３に示すように、キーワードIDと複数の連想語との対応関係が登録されている。
上記企業名ＤＢ36には、図４に示すように、キーワードと企業名との対応関係が登録されている。
【００２４】
図５は、上記連想検索サーバ12内に設けられたキーワードＤＢ32及び連想語ＤＢ34を生成するために用意された、準備システム40の機能構成を示すブロック図である。この準備システム40は、連想検索サーバ12自身によって構成することも可能であるが、他のコンピュータによって構成することもできる。他のコンピュータによって準備システム40を構成した場合、生成されたキーワードＤＢ32及び連想語ＤＢ34のデータは、連想検索サーバ12内のキーワードＤＢ32及び連想語ＤＢ34にそれぞれコピーされる。
【００２５】
この準備システム40は、文書ＤＢ42と、キーワード抽出部44と、キーワードＤＢ32と、関連度算出部48と、キーワード共起頻度表ＤＢ50と、キーワード組合せ頻度総和表ＤＢ52と、キーワード頻度総和表ＤＢ54と、キーワード関連度表ＤＢ56と、連想語抽出部58と、連想語ＤＢ34を備えている。
【００２６】
上記のキーワード抽出部44、関連度算出部48及び連想語抽出部58は、連想検索サーバ12あるいは他のコンピュータのCPUが、ＯＳ及び専用のアプリケーションプログラムに従い、必要な処理を実行することによって実現される。
【００２７】
上記の文書ＤＢ42、キーワードＤＢ32、キーワード共起頻度表ＤＢ50、キーワード組合せ頻度総和表ＤＢ52、キーワード頻度総和表ＤＢ54、キーワード関連度表ＤＢ56及び連想語ＤＢ34は、同コンピュータのハードディスクに格納されている。
文書ＤＢ42には、新聞記事や学術雑誌、論文等の文書ファイル（テキストデータ）が予め多数蓄積されている。
【００２８】
上記のキーワード抽出部44は、図６に示すように、係り受け表現抽出フィルタ60、区切り文字抽出フィルタ62、文字列頻度統計フィルタ64、TermExtractフィルタ66、多数決フィルタ68を備えている。
【００２９】
つぎに、図７のフローチャートに従い、キーワード抽出部44によるキーワード抽出工程について説明する。
まずキーワード抽出部44は、文書ＤＢ42内に蓄積された各文書ファイルに係り受け表現抽出フィルタ60を適用し、各文書ファイルから所定の係り受け表現を備えた文字列を抽出する（Ｓ10）。
すなわち、係り受け表現抽出フィルタ60には、「○○メーカー」、「○○が主力」、「○○を生産」という係り受け表現パターンが予め多数用意されており、キーワード抽出部44は、これに当てはまる表現パターンを検出した後、「○○」に相当する文字列をキーワード候補として抽出する。
【００３０】
つぎにキーワード抽出部44は、各文書ファイルに区切り文字抽出フィルタ62を適用し、「○○」、"○○"、（○○）、［○○］、,○○,のように、カンマや括弧、スペース、タブ等の区切り文字で囲まれた○○の部分をキーワード候補として抽出する（Ｓ12）。
【００３１】
つぎにキーワード抽出部44は、各文書ファイルに文字列頻度統計フィルタ64を適用し、各文書ファイルに含まれる各文字列が他の文書も含めて何回登場するのかを集計し、一定範囲の出現頻度を備えた文字列をキーワード候補として抽出する（Ｓ14）。
まず文字列頻度統計フィルタ64は、図８に示すように、文書中の名詞（ここでは「ＤＶＤ」）に注目し、このＤＶＤという注目語が文書ＤＢ42内に蓄積された各文書ファイル中に出現する数を集計する。つぎに、文字列頻度統計フィルタ64は、この注目語の前後の形態素に範囲を拡張し、それぞれの全文書中に登場する頻度を集計し、出現頻度が一定以下（例えば20以下）となった時点で文字範囲拡張を停止する。
【００３２】
例えば、ＤＶＤの一つ前の形態素を含む「したＤＶＤ」の出現頻度は「２」と低いため、これ以上前の形態素に範囲が拡張されることはない。これに対し、ＤＶＤの一つ後の形態素を含む「ＤＶＤレコーダー」の出現頻度は「８６２」と多いため、その一つ後の形態素を含む「ＤＶＤレコーダーでは」の出現頻度を集計する。そして、この出現頻度は「５」と低いため、これ以降の形態素に範囲を拡張することが停止される。
【００３３】
つぎに文字列頻度統計フィルタ64は、「ＤＶＤ」及び「ＤＶＤレコーダー」が所定範囲（例えば20〜5,000）内の出現頻度を備えていることを理由にキーワード候補として抽出する。これに対し、「したＤＶＤ」及び「ＤＶＤレコーダーでは」は上記の範囲外であるため、キーワード候補から除外される。
全文書中における出現頻度が20未満のものはそもそも重要語とはいえず、また5,000を越えるものは逆に特徴のない汎用語あるいは一般語と考えられるからであるが、この範囲設定は文書ファイルの分量や検索システムの使用目的に応じて適宜調整される。
【００３４】
ところで、文書ＤＢ42内に蓄積された多量の文書ファイルに含まれる各文字列に関して、それぞれの出現頻度を集計するには膨大な時間を要するため、図９に示すように、文書ＤＢ42内には予め全文書ファイルに登場する各形態素が、個々の文書ファイル中に存在しているか否かを一覧表にまとめたインデックス（所謂転置インデックス）が生成されている。このため、キーワード抽出部44はこのインデックスを参照することにより、比較的短時間でその出現頻度を取得することが可能となる。
【００３５】
つぎにキーワード抽出部44は、文書ＤＢ42内に蓄積された文書ファイルにTermExtractフィルタ66を適用し、各文書ファイルから所定以上のスコアを備えた文字列をキーワード候補として抽出する（Ｓ16）。
このTermExtractは、専門分野のコーパス（主として研究目的で収集され、電子化された自然言語の文章からなる巨大なテキストデータ）から専門用語を自動抽出するために案出された文字列抽出アルゴリズムであり、文書ファイル中から単名詞及び複合名詞を候補語として抽出し、各候補語の出現頻度と連接頻度に基づいてそれぞれの重要度を算出する機能を備えている。このTermExtract自体は公知技術であるため、これ以上の説明は省略する。
【００３６】
つぎにキーワード抽出部44は、係り受け表現抽出フィルタ60、区切り文字抽出フィルタ62、文字列頻度統計フィルタ64、TermExtractフィルタ68によって抽出された各キーワード候補を多数決フィルタ68に入力し、キーワードを絞り込む。
多数決フィルタ68では、各フィルタによってリストアップされたキーワード候補同士をマッチングし、２以上のフィルタによってキーワード候補として挙げられているものを最終的なキーワードと認定し、ユニークな連番よりなるキーワードIDと関連付けてキーワードＤＢ32に格納する（Ｓ18）。
【００３７】
このように、係り受け表現抽出フィルタ60、区切り文字抽出フィルタ62、文字列頻度統計フィルタ64、TermExtractフィルタ66の４つのフィルタを用いることにより、文書ファイルからキーワードを抽出する際に重要語が漏れ落ちることを防止すると共に、多数決フィルタ68を用いて絞り込むことにより、不要なキーワード（ノイズ）が混入することを防止できる。
【００３８】
上記のように４つのフィルタ中の２以上のフィルタによって選別されたキーワード候補を正式なキーワードと認定するのは一例であり、３以上のフィルタによって選別されることをキーワード認定の要件とすることもできる。
また、フィルタの数も上記に限定されるものではなく、他の有効なキーワード候補抽出フィルタをキーワード抽出部44に設けることもできる。
【００３９】
つぎに、図１０のフローチャートに従い、関連度算出部48による各キーワード間の関連度算出工程について説明する。
まず関連度算出部48は、各キーワードの各文書ファイル中における出現頻度を集計してキーワード共起頻度表を生成し、キーワード共起頻度表ＤＢ50に格納する（Ｓ20）。
図１１は、キーワード共起頻度表ＤＢ50に格納されたキーワード共起頻度表の具体例を示すものであり、文書ＤＢ42に格納された各文書D1〜Dnごとに、各キーワードKW-1〜nの出現頻度が記述されている。
【００４０】
ここで、あるキーワードＸとＹとの間の関連度は、数１のiにキーワード共起頻度表ＤＢ50に記載されたＸとＹの出現頻度を代入することにより、理論的には算出可能である。
【数１】
0005191204.tif 000002
【００４１】
この数１の分子は、キーワードＸ、Ｙの文書毎の出現頻度の積の全文書に亘る総和を意味するため、Ｘ、Ｙが同じ文書に出現する頻度が高いほど値は大きくなる。もっとも、特定の文書中におけるＸ及びＹの出現頻度の絶対数が多ければそれにつられて分子の値は高くなってしまい、必ずしもＸとＹの共起性の高さを表しているとはいえない。これに対し分母は、キーワードＸ、Ｙの文書毎の出現頻度の二乗の全文書に亘る総和の平方根同士を加算したものであり、Ｘ、Ｙの特定文書中の出現頻度が高いほど値が大きくなる。このため、分子の値を分母の値で除算することにより、特定文書中におけるＸ、Ｙの出現頻度の絶対数が多いことの影響を排除し、Ｘ、Ｙ間の共起性の高さに基づく関連度を導くことが可能となる。
【００４２】
ただし、単純に数１の計算を行うやり方では、文書ファイルの分量及びキーワードの総数が多い場合には膨大な計算量が発生し、多くの処理時間を要することとなる。
そこで、この実施の形態では、キーワード共起頻度表に基づいてキーワード組合せ頻度総和表及びキーワード頻度総和表を生成することにより、計算工程の簡素化を図っている。
【００４３】
図１２は、その要領を例示するものである。この場合、キーワード共起頻度表にはキーワードKW-1〜KW-5の文書D1における出現頻度が記載されているが、この中KW-3及びKW-4の出現頻度は０であるため、実際に関連度を算出すべきキーワードの組合せは以下の３パターンで済むこととなる。
（KW-1, KW-2）、（KW-1, KW-5）、（KW-2, KW-5）
つぎに関連度算出部48は、各組合せ毎に出現頻度を乗じた値を記述したキーワード組合せ頻度総和表と、各キーワードの出現頻度を二乗した値を記述したキーワード頻度総和表を生成し、キーワード組合せ頻度総和表ＤＢ52及びキーワード頻度総和表ＤＢ54に格納する（Ｓ22、Ｓ24）。
【００４４】
図１２のキーワード組合せ頻度総和表では、文書D1についての値のみが記述されているが、同様の処理を各文書毎に実行し、その結果に基づいて値を加算していくことにより、数１の分子に相当する値が得られる。
同じく、図１２のキーワード頻度総和表では、文書D1についての値のみが記述されているが、各文書における各キーワードの出現頻度を二乗した値を集計していき、各キーワードの最終的な値（総和）の平方根を求めることにより、数１の分母に相当する値が得られる。
【００４５】
最後に関連度算出部48は、図１３に示すように、キーワード組合せ頻度総和表ＤＢ52からキーワードＸ，Ｙの組合せ頻度の総和を読み込むと共に、キーワード頻度総和表ＤＢ54からキーワードＸの二乗値の総和とキーワードＹの二乗値の総和を読み込み、各二乗値の総和の平方根を求めた後、これらの値を数１に代入することにより、キーワードＸ，Ｙ間の関連度を算出し、キーワード関連度表ＤＢ26に格納する（Ｓ26）。すべてのキーワードの組合せについて処理が終了するまで、関連度算出部48は処理を繰り返す。
【００４６】
上記のように、文書ファイル毎に各キーワード間の組合せパターンを抽出し、それぞれの積値及び各キーワードの二乗値を求めた上で、各文書ファイルの値を加算していくことにより、出現頻度が０のキーワードに係る計算処理を省くことが可能となる。
【００４７】
また、文書ＤＢ42に新規の文書ファイルが追加された場合には、この新規文書ファイル中の各キーワードに係る値を、キーワード組合せ頻度総和表ＤＢ52及びキーワード頻度総和表ＤＢ54に格納された既存の集計値に加算することによって、簡単にキーワード間の関連度が再計算可能となる。
古くなった文書ファイルの影響を排除する場合にも、当該文書ファイル中の各キーワードに係る値をキーワード組合せ頻度総和表ＤＢ52及びキーワード頻度総和表ＤＢ54に格納された既存の集計値から減算することによって、簡単にキーワード間の関連度を最新の状態に維持することが可能となる。
【００４８】
最後に連想語抽出部58が起動し、各キーワードの連想語をキーワード関連度表ＤＢ56から抽出し、連想語ＤＢ34に格納する（Ｓ28）。
すなわち、連想語抽出部58は各キーワード毎に他のキーワードとの関連度の値をソートし、関連度の高い上位所定数（例えば50件）のキーワードを連想語と認定し、各連想語を当該キーワードのIDと関連付けて連想語ＤＢ34に格納する。
【００４９】
以上のようにして、準備システム40によるキーワードＤＢ32及び連想語ＤＢ34に対する必要データの蓄積が完了した時点で、この連想検索システム10による処理が開始される。
以下、図１４のフローチャートに従い、このシステム10による連想検索処理の手順について説明する。
【００５０】
まず、Webサーバ14によってインターネット上の他のWebサーバ18（例えばニュースサイト）から文書ファイル（新着のニュースデータ）が定期的に取り込まれ（Ｓ30）、連想検索サーバ12に送信される。
これを受けた連想検索サーバ12の形態素解析部22は、各文書データを言語的に意味を有する最小の単位である「形態素」に分解する（Ｓ32）。
【００５１】
つぎに、キーワード検出部24が起動し、各形態素とキーワードＤＢ32に格納されたキーワードとを比較し、一致する形態素を当該文書ファイル中に存在するキーワードとして検出した後、各キーワードのIDを連想語抽出部26に出力する（Ｓ34）。
この形態素解析部22及びキーワード検出部24を実現するために、既存の形態素解析アルゴリズム（例えば「MeCab」や「ChaSen」）を利用することもできる。
【００５２】
各キーワードのIDを受けた連想語抽出部26は、これをキーに連想語ＤＢ34を検索し、それぞれの連想語（各50件分）を抽出した後（Ｓ36）、関連企業抽出部28に出力する。
【００５３】
これを受けた関連企業抽出部28は、企業名ＤＢ36を参照して各連想語の中で企業名に該当するものを関連企業として抽出し、検索結果データを生成する（Ｓ38）。
図１５に示すように、この検索結果データには、文書ID毎に関連企業のリスト及び各関連企業と対になる文書中のキーワードが記述されている。
【００５４】
Webサーバ14は、この検索結果データを連想検索サーバ12から受け取ると、元になった文書データに検索結果データを反映させた検索結果表示画面（HTMLファイル）を生成する（Ｓ40）。
この検索結果表示画面は、ユーザからのリクエストに応じてPC端末20に配信される（Ｓ42）。
【００５５】
図１６は、この検索結果表示画面70の一例を示すものであり、元のテキスト文書の内容が記述された文書表示欄72と、当該文書中に登場するキーワードと関連の深い企業名が列記された関連企業リスト欄74とが設けられている。
【００５６】
この検索結果表示画面70を閲覧することにより、ユーザは当該記事の内容がフルタ自動車、タカギ自動車、オカベ電機、シマダ建設と関連が深いことを読み取ることができる。
また、ユーザが関連企業リスト中の一つであるフルタ自動車をクリックすると、検索結果表示画面70のHTMLファイルに記述された制御プログラム（JavaScript等）の作用により、当該企業名とリンクが設定されたキーワードである「ハイブリッド車」がハイライト表示される。
このため、記事の内容から「ハイブリッド車」が将来的に有望であると判断したユーザは、即座にフルタ自動車がそのハイブリッド車に関係深いことを認識でき、投資対象の候補として認識することが可能となる。
【００５７】
この連想検索システム10は、上記のようにWebサーバ14によってインターネット上のWebサイトから定期的に多数の文書ファイルが取り込まれ、連想検索サーバ12によって自動的に各文書ファイルの関連企業リストを含む検索結果データが生成された後、Webサーバ14上で検索結果表示画面70が一般ユーザの閲覧に供されるという利用形態に限定されるものではない。
【００５８】
例えば、ユーザ自身が注目している特定の文書ファイルをWebサーバ14にアップロードし、これに対して連想検索サーバ12が個別に連想検索処理を実施し、当該文書ファイルの関連企業リストや検索結果表示画面70をWebサーバ14経由でユーザのPC端末20に返すように運用することもできる。
【００５９】
また、この連想検索システム10は、上記のように投資対象企業を検索する目的に限定されるものではなく、購入対象商品や応援対象人物等を検索する目的にも適用可能である。この場合、上記企業名ＤＢ36の代わりに多数の商品名や人物名を格納した商品名ＤＢあるいは人物名ＤＢを特定種文字列記憶手段として用意し、関連企業抽出部28と同じ機能を備えた関連商品抽出部や関連人物抽出部を用いることにより、特定文書と関連性の深い商品名や人物名をリストアップすることができる。
もちろん、企業名や商品名、人物名等の各種文字列を格納させたデータベースを設けておき、特定文書に関連する企業名、商品名、人物名を網羅的にリストアップするように構成することもできる。
【図面の簡単な説明】
【００６０】
【図１】この発明に係る連想検索システムの機能構成を示すブロック図である。
【図２】キーワードＤＢの構成例を示す図である。
【図３】連想語ＤＢの構成例を示す図である。
【図４】企業名ＤＢの構成例を示す図である。
【図５】準備システムの機能構成を示すブロック図である。
【図６】キーワード抽出部の構成を示すブロック図である。
【図７】キーワード抽出工程を示すフローチャートである。
【図８】文字列頻度統計フィルタの動作を示す説明図である。
【図９】文書ＤＢ内に形態素インデックスが形成されている様子を示す説明図である。
【図１０】キーワード間の関連度算出工程及び連想語抽出工程を示すフローチャートである。
【図１１】キーワード共起頻度表の一例を示す説明図である。
【図１２】関連度算出処理を簡略化する方法を示す説明図である。
【図１３】キーワード組合せ頻度総和表及びキーワード頻度総和表に基づいてキーワード関連度表が生成される様子を示す説明図である。
【図１４】連想検索処理の手順を示すフローチャートである。
【図１５】検索結果データの一例を示す図である。
【図１６】検索結果表示画面の一例を示す図である。
【符号の説明】
【００６１】
10 連想検索システム
12 連想検索サーバ
14 Webサーバ
16 インターネット
18 他のWebサーバ
20 PC端末
22 形態素解析部
24 キーワード検出部
26 連想語抽出部
28 関連企業抽出部
32 キーワードＤＢ
34 連想語ＤＢ
36 企業名ＤＢ
40 準備システム
42 文書ＤＢ
44 キーワード抽出部
48 関連度算出部
50 キーワード共起頻度表ＤＢ
52 キーワード組合せ頻度総和表ＤＢ
54 キーワード頻度総和表ＤＢ
56 キーワード関連度表ＤＢ
58 連想語抽出部
60 係り受け表現抽出フィルタ
62 区切り文字抽出フィルタ
64 文字列頻度統計フィルタ
66 TermExtractフィルタ
68 多数決フィルタ
68 多数決フィルタ
70 検索結果表示画面
72 文書表示欄
74 関連企業リスト欄
【図１】
0005191204.tif 000003
【図２】
0005191204.tif 000004
【図３】
0005191204.tif 000005
【図４】
0005191204.tif 000006
【図５】
0005191204.tif 000007
【図６】
0005191204.tif 000008
【図７】
0005191204.tif 000009
【図８】
0005191204.tif 000010
【図９】
0005191204.tif 000011
【図１０】
0005191204.tif 000012
【図１１】
0005191204.tif 000013
【図１２】
0005191204.tif 000014
【図１３】
0005191204.tif 000015
【図１４】
0005191204.tif 000016
【図１５】
0005191204.tif 000017
【図１６】
0005191204.tif 000018