(57)【要約】【課題】高精度な検索を実現する。【解決手段】入力された検索ワードを用いて対象データを検索する情報検索装置において、前記対象データに含まれる単語を所定の特徴ベクトルにより抽象化する抽象化手段と、所定の文章に含まれている可能性がある単語群を行列で定義した隠れカテゴリデータを用いて、前記検索ワードの特徴ベクトルを計算する特徴ベクトル計算手段と、前記抽象化手段により得られる特徴ベクトルと前記特徴ベクトル計算手段により得られる特徴ベクトルとの類似度を比較する特徴ベクトル比較手段と、前記特徴ベクトル比較手段により得られる比較結果に基づいて、前記検索ワードに対する検索結果を出力する検索結果出力手段とを有することにより、上記課題を解決する。【選択図】図１
2014153744.tif 000002
【特許請求の範囲】
【請求項１】
入力された検索ワードを用いて対象データを検索する情報検索装置において、
前記対象データに含まれる単語を所定の特徴ベクトルにより抽象化する抽象化手段と、
所定の文章に含まれている可能性がある単語群を行列で定義した隠れカテゴリデータを用いて、前記検索ワードの特徴ベクトルを計算する特徴ベクトル計算手段と、
前記抽象化手段により得られる特徴ベクトルと前記特徴ベクトル計算手段により得られる特徴ベクトルとの類似度を比較する特徴ベクトル比較手段と、
前記特徴ベクトル比較手段により得られる比較結果に基づいて、前記検索ワードに対する検索結果を出力する検索結果出力手段とを有することを特徴とする情報検索装置。
【請求項２】
前記抽象化手段は、
前記隠れカテゴリデータを用いて前記対象データを特徴ベクトルにより抽象化することを特徴とする請求項１に記載の情報検索装置。
【請求項３】
前記特徴ベクトル比較手段により得られる類似度の上位から所定数、又は、前記類似度が予め設定された閾値以上となった対象データを出力対象として決定する出力決定手段を有することを特徴とする請求項１又は２に記載の情報検索装置。
【請求項４】
予め設定された単語間の関係性を有する概念マップを用いて関連する単語を抽出する関連単語抽出手段を有し、
前記特徴ベクトル計算手段は、前記関連単語抽出手段により得られる関連単語を用いて、前記検索ワードに対応する特徴ベクトルを計算することを特徴とする請求項１乃至３の何れか１項に記載の情報検索装置。
【請求項５】
前記特徴ベクトル計算手段は、
独立成分分析、主成分分析、及び非負値行列因子分解のうち、少なくとも１つの手法を用いて得られる基底を用いて前記検索ワードの特徴ベクトルを計算することを特徴とする請求項１乃至４の何れか１項に記載の情報検索装置。
【請求項６】
入力された検索ワードを用いて対象データを検索する情報検索処理をコンピュータに実行させるための情報検索プログラムにおいて、
前記コンピュータを、
前記対象データに含まれる単語を所定の特徴ベクトルにより抽象化する抽象化手段、
所定の文章に含まれている可能性がある単語群を行列で定義した隠れカテゴリデータを用いて、前記検索ワードの特徴ベクトルを計算する特徴ベクトル計算手段、
前記抽象化手段により得られる特徴ベクトルと前記特徴ベクトル計算手段により得られる特徴ベクトルとの類似度を比較する特徴ベクトル比較手段、及び、
前記特徴ベクトル比較手段により得られる比較結果に基づいて、前記検索ワードに対する検索結果を出力する検索結果出力手段として機能させるための情報検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報検索装置及び情報検索プログラムに係り、特に、高精度な検索を実現するための情報検索装置及び情報検索プログラムに関する。
【背景技術】
【０００２】
例えば、文章等の所定の情報が多数蓄積されたデータベース等から所望する情報を検索する場合、検索ワードとして入力された単語と同じ単語を各文章中から探すという単純なマッチングを取るものが多い。このような検索手法では、検索結果として得られた文章に検索ワードの言葉が含まれることになるが、その文章全体の中では決して重要ではない場合にも検出されてしまう。
【０００３】
また、同一の意味を有するが、検索ワードとは違った表現（例えば、「地域」と「ローカル」、「ニュース」と「報道番組」等）で書かれている文章は、検出することができない。
【０００４】
そこで、従来では、情報を提示するユーザが過去に行った評価データを元にそのユーザの興味のありそうなものを選んで提示する手法や、情報を提示するユーザとそれ以外のユーザが行った評価を用いた情報推薦方法等が存在する（例えば、特許文献１及び２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２６９１４３号公報
【特許文献２】特開２０１２−１０８７３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述したような従来手法では、ユーザ等による評価情報が必要となる。また、誰も評価を付けていない新しいコンテンツ等に対する検索や推薦を行うことが困難である。
【０００７】
また、一般的な検索システムでは、検索ワードでの検索は可能であるが、その入力した検索ワードそのものが現れる文章を検索することしかできない。そのため、表記の揺れに弱く、また各文章中に含まれる検索ワードの出現回数等のように表層的な部分でしかスコアリングができない。したがって、所望する情報ではなく、その検索ワードが多く出現した文章を検出してしまうことが多い。
【０００８】
本発明は、かかる問題を鑑み、高精度な検索を実現するための情報検索装置及び情報検索プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本件発明は、以下の特徴を有する課題を解決するための手段を採用している。
【００１０】
一態様における情報検索装置は、入力された検索ワードを用いて対象データを検索する情報検索装置において、前記対象データに含まれる単語を所定の特徴ベクトルにより抽象化する抽象化手段と、所定の文章に含まれている可能性がある単語群を行列で定義した隠れカテゴリデータを用いて、前記検索ワードの特徴ベクトルを計算する特徴ベクトル計算手段と、前記抽象化手段により得られる特徴ベクトルと前記特徴ベクトル計算手段により得られる特徴ベクトルとの類似度を比較する特徴ベクトル比較手段と、前記特徴ベクトル比較手段により得られる比較結果に基づいて、前記検索ワードに対する検索結果を出力する検索結果出力手段とを有することにより、上記課題を解決する。
【００１１】
また、一態様における情報検索プログラムは、入力された検索ワードを用いて対象データを検索する情報検索処理をコンピュータに実行させるための情報検索プログラムにおいて、前記コンピュータを、前記対象データに含まれる単語を所定の特徴ベクトルにより抽象化する抽象化手段、所定の文章に含まれている可能性がある単語群を行列で定義した隠れカテゴリデータを用いて、前記検索ワードの特徴ベクトルを計算する特徴ベクトル計算手段、前記抽象化手段により得られる特徴ベクトルと前記特徴ベクトル計算手段により得られる特徴ベクトルとの類似度を比較する特徴ベクトル比較手段、及び、前記特徴ベクトル比較手段により得られる比較結果に基づいて、前記検索ワードに対する検索結果を出力する検索結果出力手段として機能させる。
【発明の効果】
【００１２】
本発明によれば、高精度な検索を実現することができる。
【図面の簡単な説明】
【００１３】
【図１】情報検索装置の機能構成の一例を示す図である。
【図２】事前処理の一例を示すフローチャートである。
【図３】検索処理の一例を示すフローチャートである。
【図４】検索対象文章群からの隠れカテゴリの分析内容を説明するための図（その１）である。
【図５】検索対象文章群からの隠れカテゴリの分析内容を説明するための図（その２）である。
【図６】検索対象文章群からの隠れカテゴリの分析内容を説明するための図（その３）である。
【図７】文章の特徴ベクトルの計算例を示す図である。
【図８】検索ワードの特徴ベクトルの計算例を示す図である。
【図９】コサイン類似度比較の一例を示す図である。
【図１０】他の実施形態における情報検索装置の機能構成の一例を示す図である。
【図１１】概念マップの一例を示す図である。
【図１２】検索結果の一例を示す図である。
【発明を実施するための形態】
【００１４】
＜本発明について＞
本発明では、例えばテキストに含まれる内容（例えば、文章）等に対する高精度な検索を可能にするため、検索ワード（キーワード）をそのまま使うのではなく、抽象化して検索に利用する。
【００１５】
具体的には、本発明は、例えば単語毎に「どんな話題の文に現れやすいか」を予め設定しておく。この場合、１つの単語が複数の話題に含まれてもよい。また、検索ワードから「各話題との近さ」を計算し、それが似た文章を出力する。
【００１６】
例えば、「地域放送」に対して３つの話題（話題１，話題２，話題３）が存在し、各話題に検索ワードが現れる可能性を、（話題１，話題２，話題３）＝（０．５，０．１，０．２）とする。このとき、例えば「ローカル番組について」の文章に対して上述した３つの話題に検索ワードが現れる可能性が、（話題１，話題２，話題３）＝（０．４，０．１，０．３）であり、「地域限定の商品」の文章に対して上述した３つの話題に検索ワードが現れる可能性が（話題１，話題２，話題３）＝（０．３，０．７，０．１）であるとすると、これらの比較により、「地域放送」と似ているのは「ローカル番組について」となる。
【００１７】
つまり、本発明では、検索ワードをそのまま使うのではなく、抽象化して検索に利用するため、表記の揺れに強く、また内容の近い文章を見つけることができる。また、本発明では、検索ワードとして単語ではなく、文章を入力しても近い文章を検索することができる。以下に、情報検索装置及び情報検索プログラムを好適に実施した形態について、図面等を用いて詳細に説明する。
【００１８】
＜情報検索装置の機能構成例＞
図１は、情報検索装置の機能構成の一例を示す図である。図１における情報検索装置１０は、抽象化手段１１と、隠れカテゴリデータ格納手段１２と、検索ワード入力手段１３と、特徴ベクトル計算手段１４と、検索ワード特徴ベクトル格納手段１５と、特徴ベクトル比較手段１６と、特徴ベクトル比較結果格納手段１７と、出力決定手段１８と、検索結果出力手段１９とを有する。
【００１９】
抽象化手段１１は、検索対象データに対して抽象化処理を行う。抽象化手段１１は、例えば検索対象のテキスト（例えば、１又は複数の文章を有するデータ）に対して、例えばＩＣＡ（Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ；独立成分分析）等による抽象化を行う。ＩＣＡとは、例えばある観測された信号Ｘが、元の情報Ｓにある係数Ａを混ぜ合わせたもの（Ｘ＝ＳＡ）と仮定した場合に、その情報Ｓを求める手法である。また、このときのＡが、独立成分行列となる。
【００２０】
これにより、例えば「地域放送」という検索ワードを入力した場合に、「地域放送」というワードを含む文章だけでなく、「地域放送」というワードが含まれないが、意味としては近い「ローカル番組」等の文章を抽出することができる。
【００２１】
本実施形態は、ＩＣＡ等による抽象化により、文章内の「隠れカテゴリ」を自動生成することができるため、それを用いた情報（例えば、番組等）の推薦手法等にも適用することができる。なお、「隠れカテゴリ」とは、その文章中に含まれる単語間同士の関係性（例えば、単語１と単語２とは似たような文脈でよく使用される等）を示すものであり、上述した話題１，話題２，話題３のそれぞれの関係が隠れカテゴリに相当するが、これに限定されるものではない。
【００２２】
ここで、抽象化手段１１は、具体的には図１に示すように、検索対象データ格納手段２１と、特徴ベクトル計算手段２２と、検索対象特徴ベクトル格納手段２３とを有する。
【００２３】
検索対象データ格納手段２１には、検索対象となる多数のテキストデータ（例えば、文章）等が学習データとして格納されている。なお、検索対象データ格納手段２１に含まれるテキストデータは、特定の分野（ジャンル）に属するデータでもよく、複数の分野のデータでもよい。
【００２４】
特徴ベクトル計算手段２２は、隠れカテゴリデータ格納手段１２に予め格納されている隠れカテゴリデータと、検索対象データ格納手段２１から得られる検索対象データとに基づいて、検索対象データの各文についての特徴ベクトルを計算する。
【００２５】
隠れカテゴリデータとは、例えば、所定の「話題」等に関する文章等に含まれている可能性がある単語群を行列等により定義したデータであるが、これに限定されるものではない。特徴ベクトル計算手段２２により計算された特徴ベクトルは、検索対象特徴ベクトル格納手段２３に格納しておく。
【００２６】
上述したように、抽象化手段１１では、実際に検索を行う事前処理として検索対象文章群等からの隠れカテゴリの分析を行い、文章の特徴ベクトルを生成する。カテゴリの分析としては、例えばＩＣＡを使った次元の圧縮や隠れカテゴリの推定等を行う。なお、本実施形態では、ＩＣＡに限定されるものではなく、様々な「隠れカテゴリ」の推定手法があるため、それらの手法を利用してもよい。また、文章の特徴ベクトルの生成は、例えば各文章が、各隠れカテゴリにどれだけ近いかを計算して特徴ベクトルを生成することができるが、生成手法については、これに限定されるものではない。
【００２７】
なお、抽象化手段１１は、例えば検索対象データ格納手段２１に格納された検索対象データから隠れカテゴリを算出し、算出した隠れカテゴリデータを隠れカテゴリデータ格納手段１２に格納する処理を行ってもよい。これにより、検索対象データが更新される度に、新しい隠れカテゴリデータを格納することができる。
【００２８】
検索ワード入力手段１３は、ユーザから所望する情報を取得するための検索ワードの入力を受け付ける。検索ワードは、単語単位でもよく、また文章単位でもよい。なお、検索ワードは、例えばキーボードやマウス、操作ボタン等の各種入力手段によりユーザからの入力を受け付けてもよく、マイク等の音声入力手段により音声で受け付けてもよい。
【００２９】
特徴ベクトル計算手段１４は、隠れカテゴリデータ格納手段１２により格納された隠れカテゴリデータを用いて、検索ワード入力手段１３により入力された検索ワードの特徴ベクトルを計算する。具体的には、特徴ベクトル計算手段１４は、検索キーワードに対しても検索対象のテキストと同じようにＩＣＡによる抽象化を行う。
【００３０】
なお、図１の例では、上述した特徴ベクトル計算手段２２と、特徴ベクトル計算手段１４とは別体に構成されているが、これに限定されるものではなく、一体に構成されていてもよい。つまり、１つの特徴ベクトル計算手段が、検索対象データや検索ワードに対する特徴ベクトルを計算してもよい。計算された特徴ベクトルは、検索ワード特徴ベクトル格納手段１５に格納されてもよく、直接特徴ベクトル比較手段１６へ出力されてもよい。
【００３１】
特徴ベクトル比較手段１６は、検索対象特徴ベクトル格納手段２３に格納された検索対象特徴ベクトルと、検索ワード特徴ベクトル格納手段１５に格納された検索ワード特徴ベクトルとを比較して類似度を計算する。なお、類似度とは、検索ワードがどれだけ各隠れベクトルに近いかの計算により得られることができ、類似度計算には例えばコサイン類似度を使用することができるが、これに限定されるものではなく、他のベクトルの類似度計算も利用することができる。また、特徴ベクトル比較手段１６は、比較結果を特徴ベクトル比較結果格納手段１７に出力する。
【００３２】
なお、特徴ベクトル比較手段１６は、検索対象特徴ベクトル格納手段２３にある全ての特徴ベクトルに対して検索ワード特徴ベクトルとの類似度を計算してもよいが、これに限定されるものではない。また、特徴ベクトル比較手段１６は、類似度が、所定の閾値以上であった検索対象データを特徴ベクトル比較結果格納手段１７に出力する。このとき、特徴ベクトル比較手段１６は、類似度と対応付けて検索対象データを特徴ベクトル比較結果格納手段１７に出力してもよい。
【００３３】
出力決定手段１８は、特徴ベクトル比較結果格納手段１７にある比較結果のデータを用いて類似度の高い順（上位）から所定数の検索対象データを出力対象として決定する。なお、出力決定手段１８による出力対象の決定手法は、これに限定されるものではなく、例えば予め設定された閾値以上の類似度を有する所定数の検索対象データを出力対象として決定してもよく、予め設定された所定の条件を満たす検索対象データを出力対象として決定してもよい。
【００３４】
ここで、出力対象の例としては、例えば検索ワード（単語や文章を含む）に対応する類似単語や類似文章等であるが、これに限定されるものではない。例えば検索対象データが視聴者に提供する番組情報である場合には、その出力対象として各視聴者に対する番組の推薦情報等が決定される。番組の推薦情報の場合には、上述した類似度の他にも、所定の条件として、例えば視聴者の嗜好や興味等の情報を用いて出力対象を決定することができる。
【００３５】
検索結果出力手段１９は、出力決定手段１８により決定された検索対象データを出力する。なお、検索結果出力手段１９は、出力結果を、例えばディスプレイ等の表示手段の画面に表示してもよく、プリンタ等の印刷手段から紙媒体で印刷出力してもよい。また、検索結果出力手段１９は、例えばインターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等に代表される通信ネットワークにより、情報検索装置１０とデータの送受信が可能な状態で接続される外部装置（例えば、データベース）等に出力してもよく、ハードディスク等の記憶手段に記憶してもよく、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やＤＶＤ等の外部記録媒体等に記録してもよい。
【００３６】
上述したように、本実施形態では、検索ワードに対する特徴ベクトルを生成し、生成した検索ワードの特徴ベクトルと、抽象化手段１１による事前処理で得られる検索対象データ（文章）の特徴ベクトルとの類似度を計算し、類似度の高いものを出力する。また、本実施形態では、文章や検索ワード等を直接比較するのではなく、各隠れカテゴリとの類似度である「特徴ベクトル」に変換してから比較することで表層的な単語の出現等に縛られることなく、内容の似たものを出力することが可能となる。
【００３７】
なお、上述した隠れカテゴリデータ格納手段１２、検索対象データ格納手段２１、検索対象特徴ベクトル格納手段２３、検索ワード特徴ベクトル格納手段１５、特徴ベクトル比較結果格納手段１７は、例えば情報検索装置１０が有する１つの記憶手段内で管理されていてもよく、外部装置（例えば、データベース）等で管理されていてもよい。
【００３８】
＜情報検索処理例＞
ここで、本実施形態における情報検索処理の一例について、フローチャートを用いて説明する。なお、本実施形態における情報検索処理は、事前処理と、検索処理とに大別できるため、それぞれの処理内容について説明する。
【００３９】
＜事前処理＞
図２は、事前処理の一例を示すフローチャートである。図２の例に示す事前処理において、抽象化手段１１は、検索対象データを取得し（Ｓ０１）、予め隠れカテゴリデータ格納手段１２等に格納された隠れカテゴリデータを取得する（Ｓ０２）。なお、本実施形態において、抽象化手段１１は、Ｓ０２の処理の前に、Ｓ０１の処理で取得した検索対象データから隠れカテゴリを算出して隠れカテゴリデータ格納手段１２に格納する処理を行ってもよい。
【００４０】
次に、抽象化手段１１は、Ｓ０１及びＳ０２の処理で取得した各データを用いて抽象化するための特徴ベクトルを計算し（Ｓ０３）、得られた検索対象特徴ベクトルを検索対象特徴ベクトル格納手段２３等に格納する（Ｓ０４）。
【００４１】
＜検索処理＞
図３は、検索処理の一例を示すフローチャートである。図３の例に示す検索処理において、検索ワード入力手段１３は、ユーザからの検索ワードを受け付ける（Ｓ１１）。次に、特徴ベクトル計算手段１４は、予め隠れカテゴリデータ格納手段１２等に格納された隠れカテゴリデータを取得し（Ｓ１２）、抽象化するための特徴ベクトルを計算する（Ｓ１３）。なお、計算された特徴ベクトルは、検索ワード特徴ベクトル格納手段１５等に格納してもよい。
【００４２】
次に、特徴ベクトル比較手段１６は、検索ワードと、上述した事前処理で得られた検索対象データとの類似度を比較する（Ｓ１４）。なお、お互いの比較は、特徴ベクトルに基づいて行われる。
【００４３】
次に、出力決定手段１８は、比較結果から所定の条件を満たす出力対象を決定する（Ｓ１５）。検索結果出力手段１９は、出力決定手段１８により決定された出力対象を検索結果として出力する（Ｓ１６）。
【００４４】
＜抽象化手段１１における検索対象データからの隠れカテゴリの分析例＞
次に、抽象化手段１１における検索対象データからの隠れカテゴリの分析例について図を用いて具体的に説明する。なお、検索対象データ格納手段２１に格納されているテキストデータの一例として、検索対象文章群を用いることとするが、これに限定されるものではなく、単語レベルのデータを含んでいてもよい。
【００４５】
図４〜図６は、検索対象文章群からの隠れカテゴリの分析内容を説明するための図（その１〜その３）である。本実施形態では、抽象化手段１１における検索対象の文章群（学習データ）から、図４に示すように、ベクトル空間モデルと呼ばれる文毎の単語の出現回数を纏めた行列を生成する。この生成したベクトルを「学習データの単語出現頻度行列」とする。図４に示す単語出現頻度行列は、例えば「（学習データに出現する単語の数）×（文数）」の要素を持つ行列である。
【００４６】
この場合の「文」は、例えば図４に示すようなニュース原稿（「地域放送の充実」、「放送の国際展開」）であるが、これに限定されるものではない。また、文章全体が一つの意味を表す短いものであれば、その文章全体を用いる。また、文章全体が論文等の多くの内容が含まれていて長いものであれば、例えば文章を節単位で区切り、意味の繋がるひと纏まりの文章を用いる。
【００４７】
また、日本語文を単語毎に区切るには、例えばｍｅｃａｂ（ｈｔｔｐ：／／ｍｅｃａｂ．ｓｏｕｒｃｅｆｏｒｇｅ．ｎｅｔ／）等の形態素解析手法を用いることができるが、文章を区切る手法については、これに限定されるものではない。抽象化手段１１は、形態素解析により得られた単語のうち、例えば名詞、動詞、形容詞のみを使って行列を生成するが、使用する品詞についてはこれに限定されるものではなく、例えば名詞だけ等でもよい。
【００４８】
この例において、行列の各要素は、ｔｆ−ｉｄｆ（ｔｅｒｍ  ｆｒｅｑｕｅｎｃｙ−ｉｎｖｅｒｓｅ  ｄｏｃｕｍｅｎｔ  ｆｒｅｑｕｅｎｃｙ）の値である。ｔｆ−ｉｄｆは、文中に単語の重みを設定するのに一般に使われる手法で、文中の単語の出現頻度を表すｔｆ（文中での単語の重要度）と、単語が現れる文章数の逆数を表すｉｄｆ（文章群全体での重要度であり多くの文章に出てくる単語はそれほど重要ではないという考え方）を用いて、ｔｆとｉｄｆとの積で表される。つまり、図４に示す学習データの単語出現頻度行列におけるｎ行ｍ列の要素は、文ｎでの単語ｍのｔｆ−ｉｄｆの値となる。なお、本実施形態では、ｔｆ−ｉｄｆでなくてもよく、例えばｔｆをそのまま用いたり、「ｏｋａｐｉ  ｂｍ２５」等の別の尺度を用いてもよい。
【００４９】
また、抽象化手段１１は、図４の示す学習データの単語出現頻度行列に対し、上述したようにＩＣＡを用いることにより隠れカテゴリを推定し、図５に示すような行列を生成する。つまり、単語出現頻度行列からＩＣＡで次元圧縮することにより、基底を生成する。図５に示すＩＣＡの結果の行列は、「（学習データに現れる単語の数）×（隠れカテゴリの数）」の要素を持つ行列となり、列の方向（縦方向）に圧縮される。この圧縮された行列の横ベクトル（ＩＣ（Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ）１，ＩＣ２，ＩＣ３，・・・）が、各隠れカテゴリの特徴を表すベクトルとなる。
【００５０】
なお、ＩＣＡの場合には、隠れカテゴリの数をユーザ等が設定する必要があるが、これに限定されるものではなく、予め設定しておいてもよい。
【００５１】
ここで、図６の例では、スポーツニュース記事からのＩＣＡ基底の一例を示している。なお、図６に示す行列中の値の範囲は−１〜１であり、値が大きい方が単語間の関係性が強い。
【００５２】
図６に示す単語１：「ボール」、単語２：「ゴール」、・・・、単語ｎ：「先頭」は、各隠れカテゴリの特徴を表すベクトルとなる。図６の例において、隠れカテゴリのＩＣ１では、「ゴール」（０．４０）と「先頭」（０．３６）とに強い関係があるため、例えばマラソン等を表すカテゴリである可能性があることがわかる。また、隠れカテゴリのＩＣ２では、「ボール」（０．２７）と「ゴール」（０．４２）に強い関係があるため、例えばサッカーのような球技を表すカテゴリである可能性があることがわかる。
【００５３】
更に、隠れカテゴリであるＩＣ３では、「ボール」（０．３４）の値が大きく、「ゴール」の値がそれほど大きくないため、「ゴール」という単語を使わない球技（例えば、野球等）を表すカテゴリである可能性があることがわかる。このような隠れカテゴリデータを用いて検索対象データの抽象化を行う。なお、図６に示すマイナス（−）の値は、「その単語がその隠れカテゴリ中に出てこないはずである」ということを示す尺度であり、マイナスの値を有することで、例えば「この単語が現れた場合は、この話題ではないだろう」といった方向を示すことができる。
【００５４】
図６に示すような隠れカテゴリデータを隠れカテゴリデータ格納手段１２に格納しておき、特徴ベクトルの計算時に、この隠れカテゴリデータを取得することで、検索対象ベクトルを算出する。
【００５５】
＜ｔｆ−ｉｄｆについて＞
ここで、上述したｔｆ−ｉｄｆについて説明する。ｔｆ−ｉｄｆは、「ｔｆ−ｉｄｆ＝ｔｆ／ｌｏｇ（ｄｆ）」で表現することができる。ｔｆとは、例えば対象単語の対象文中での出現頻度である。ｄｆとは、例えば対象単語が幾つの文に出現するかを示すものである。
【００５６】
なお、ｔｆ−ｉｄｆは、「いろいろな場面で出てくる単語の重みを下げる」効果がある。例えば、「放送」という単語がたくさん出現する文章がある場合に、文章中の各単語による検索結果への影響を軽減することができる。また、ｔｆ−ｉｄｆを用いることで、例えば「地域放送」で検索した場合に、「放送」ではなく「地域」について書かれたものが重要であるという意味を持たせることができる。
【００５７】
＜隠れカテゴリについて＞
ここで、上述した特徴ベクトル比較で用いられる隠れカテゴリについて説明する。隠れカテゴリは、対象の全文に対して出現単語を単語毎にカウントして各文の単語毎のｔｆ−ｉｄｆを計算し、ｔｆ−ｉｄｆからＩＣＡを計算することで得られる。ＩＣＡで得られた行列の各行ベクトルが、隠れカテゴリを表すベクトルとなる。
【００５８】
＜文章の特徴ベクトルの計算例＞
次に、文章の特徴ベクトルの計算例について説明する。図７は、文章の特徴ベクトルの計算例を示す図である。文章の特徴ベクトルの計算は、例えば上述した隠れカテゴリベクトルへの射影で行う。
【００５９】
まず、図７（Ａ）に示すように、検索対象の各文章（例えば、節単位の纏まり）から、上述した単語出現頻度行列と同様にベクトルを計算する。図７（Ａ）の例では、文章Ｘから単語出現頻度ベクトル「（単語１，単語２，・・・，単語ｎ）＝（０．１２，０，・・・，０．１）」を算出している。
【００６０】
次に、本実施形態では、図７（Ｂ）に示すように、生成した特徴ベクトルと、各隠れカテゴリを表すＩＣＡ基底の行ベクトル（＝隠れカテゴリベクトル）との内積を取ることで、特徴ベクトルとする。具体的には、単語出現ベクトルをＩＣＡ基底に射影し、「（文章Ｘの単語出現ベクトル）×（ＩＣＡ基底）Ｔ」が文章Ｘの特徴ベクトル（検索対象特徴ベクトル）となる。なお、上述のＴは転置行列であることを示す。
【００６１】
これにより、隠れカテゴリ数の要素を持つベクトルに情報を圧縮することができる。なお、図７（Ｂ）に示す特徴ベクトルから、文章Ｘは１番目の隠れカテゴリ（０．２３）と３番目の隠れカテゴリ（０．４１）と内容が近い文章であることがわかる。
【００６２】
＜検索ワードの特徴ベクトルの生成＞
次に、検索ワードの特徴ベクトルの計算例について説明する。図８は、検索ワードの特徴ベクトルの計算例を示す図である。本実施形態では、入力された検索ワードの特徴ベクトルも上述と同様に、単語出現頻度ベクトルの生成を行う。
【００６３】
例えば、図８（Ａ）の例では、例えば情報検索装置１０に設けられた表示手段等の画面上に予め設定された検索ワード入力領域に「地域放送」という検索ワードを入力して検索ボタン等の押下により検索を実行すると、特徴ベクトル計算手段１４が、検索ワードの単語出現頻度ベクトルを計算する。図８（Ａ）の例では、検索ワードから単語出現頻度ベクトル「（単語１，単語２，・・・，単語ｎ）＝（０．１２，０，・・・，０．１）」を算出している。
【００６４】
その後、図８（Ｂ）に示すように隠れカテゴリベクトルであるＩＣＡ基底に射影して特徴ベクトル（検索ワードベクトル）を生成する。具体的には、「（検索ワードの単語出現ベクトル）×（ＩＣＡ基底）Ｔ」が検索ワード特徴ベクトルとなる。なお、上述のＴは転置行列であることを示す。
【００６５】
＜各特徴ベクトルの類似度計算例＞
次に、上述した検索ワード特徴ベクトルと、文章の特徴ベクトルとの類似度計算例について説明する。本実施形態では、上述した２つの特徴ベクトル間の類似度を、例えばコサイン（ｃｏｓ）類似度等により計算する。
【００６６】
コサイン類似度は、２つのベクトルの間の角度を，ベクトルの内積と絶対値とから求める手法で、２つのベクトルをｘ，ｙとすると（ｘ・ｙ／｜ｘ｜・｜ｙ｜）と表される。コサイン類似度の値は−１〜１の範囲となり、１に近いほど２つのベクトルの特徴が類似していることを表す。
【００６７】
このコサイン類似度が予め設定した閾値以上の場合に検索結果として出力する。閾値の設定は、例えばコサイン類似度が正であったものの平均値を用いることができるが、これに限定されるものではない。閾値は、事前に固定の値（例えば、８０％以上）を設定しておいてもよく、例えば上位から所定数（例えば、１０個）を予め設定しておいてもよい。
【００６８】
ここで、図９は、コサイン類似度比較の一例を示す図である。なお、図９に示す（ｉ）は検索ワード特徴ベクトルの例を示し、（ｉｉ）は検索対象特徴ベクトルの例を示す。
【００６９】
図９（Ａ）の例では、（ｉ）と（ｉｉ）とのベクトルの形が似ているため、コサイン類似度は大きくなる。ベクトルの形とは、例えば同じ位置にある要素の大小の傾向や、特徴ベクトル内の連続する数値の変化の度合いを形として表現したものであるが、これに限定されるものではない。
【００７０】
また、図９（Ｂ）の例では、（ｉ）と（ｉｉ）とのベクトルの形がかなり異なるため、コサイン類似度が小さくなる。本実施形態では、上述したように特徴ベクトルの類似度比較を行うことで、検索結果として適切な情報を取得することができる。
【００７１】
＜出力対象の決定例＞
次に、上述した出力決定手段１８における出力対象の決定例について説明する。例えば、本実施形態では、上述したコサイン類似度が大きい順に並べ、コサイン類似度は大きいほど「より類似している」ことを表す。したがって、出力決定手段１８は、類似度が大きい順に所定数の検索対象データを出力対象として決定してもよく、また予め設定された閾値以上の類似度を有する検索対象データを出力対象として決定してもよいが、これに限定されるものではない。
【００７２】
なお、出力対象の決定は、設定等により変更可能である。また、例えば単純な検索であれば、類似度の高い上位１０件を出力するようにしてもよい。また、情報推薦等であれば、例えば「類似度が０より大きいものの平均を閾値とし、閾値その閾値以上のものを出力」等のように出力対象を決定してもよい。
【００７３】
推薦情報等を出力する場合には、過去の統計やユーザ毎の嗜好情報等に基づいて、検索対象データに重み付け等を行い、類似度と、統計結果、嗜好情報等に基づいて得られた順位に基づいて出力対象を決定してもよい。なお、統計を用いる場合には、最近の流行に対応した検索対象データの重みを大きくしたり、嗜好情報を用いる場合には、ユーザが好きなジャンルに対応する検索対象データの重みを大きくする等の手法があるが、これに限定されるものではない。
【００７４】
＜他の実施形態＞
次に、他の実施形態について図を用いて説明する。図１０は、他の実施形態における情報検索装置の機能構成の一例を示す図である。図１０に示す情報検索装置３０において、上述した情報検索装置１０と同様の機能を有する構成部分については、同一の符号を付するものとし、ここでの具体的な説明は省略する。
【００７５】
図１０に情報検索装置３０は、抽象化手段１１と、隠れカテゴリデータ格納手段１２と、検索ワード入力手段１３と、特徴ベクトル計算手段１４と、検索ワード特徴ベクトル格納手段１５と、特徴ベクトル比較手段１６と、特徴ベクトル比較結果格納手段１７と、出力決定手段１８と、検索結果出力手段１９と、概念マップ格納手段３１と、関連単語抽出手段３２とを有する。また、抽象化手段１１は、図１０に示すように、検索対象データ格納手段２１と、特徴ベクトル計算手段２２と、検索対象特徴ベクトル格納手段２３とを有する。
【００７６】
図１の例に示す情報検索装置１０と、図１０の例に示す情報検索装置３０とを比較すると、情報検索装置３０には、概念マップ格納手段３１と、関連単語抽出手段３２とを有している。したがって、以下の説明では、主に上述の構成について説明する。
【００７７】
上述した図１の例に示す情報検索装置１０の場合には、隠れカテゴリデータに含まれる単語についてのカテゴリの推定ができるが、実際の使用用途によっては、隠れカテゴリデータに含まれていない単語（未知の単語）に対応させたい場合もある。そこで、図１０に示す情報検索装置３０では、未知の単語に対応した概念マップを用いた関連単語抽出を用い、未知語に対する問題を解消する。
【００７８】
ここで、図１１は、概念マップの一例を示す図である。図１１に示すように概念マップには、予め設定された上位概念化された各単語間の関係性が線で結合されたマップとして格納されている。
【００７９】
図１１の例では、例えば「増税」に対して、「政策」が上位下位関係にあり、「買い控え」が因果関係にあるといったように、予め設定された単語関係情報が概念マップ上に表されている。図１の例に示す情報検索装置１０では、検索用の基底を生成する際の隠れカテゴリデータに出現しない単語（例えば、隠れカテゴリを推定していない単語）について検索することができないため、そのような単語に対して検索したい場合に、図１１に示すような概念マップを用いて隠れカテゴリデータが推定している単語に置き換える。
【００８０】
つまり、図１０の例に示す情報検索装置３０において、概念マップ格納手段３１は、上述した図１１に示すように予め設定された単語関係情報を示す概念マップを格納する。なお、概念マップは、所定の分野（ジャンル）毎に格納してもよく、ジャンルに関係なく、全単語を対象に関係情報がマップ化されていてもよい。
【００８１】
関連単語抽出手段３２は、概念マップ格納手段３１に格納された概念マップを用いて未知の単語の「他の単語との類似度」を計算し、類似度に応じて未知の単語を割り振る。例えば、「塩麹」の類似度を計算する場合、（塩，調味料，麹，・・・）＝（０．２３，０．０６，０．２０，・・・）とし、この情報を特徴ベクトル計算手段１４に出力する。
【００８２】
これにより、特徴ベクトル計算手段１４は、隠れカテゴリデータに含まれていない単語（未知語）が検索ワードに含まれている場合でも、上述した関連単語抽出手段３２により得られた関連単語を用いて、未知語を隠れカテゴリデータに含まれる他の関連単語に置き換えて特徴ベクトルを計算することができる。これにより、検索ワードに未知語を含んでいる場合でも、その関連単語を用いた特徴ベクトルを用いて検索を実行することができる。
【００８３】
なお、本実施形態においては、概念マップに限定されるものではなく、例えば予め設定される「ｗｏｒｄｎｅｔ」や「分類語彙表」等の所定の概念辞書、意味辞書、類似語集等を用いた拡張を行うことができる。
【００８４】
＜出力結果＞
ここで、図１２は、検索結果の一例を示す図である。図１２では、一例として類似度と検索結果とが示されている。検索結果は、類似度に対応する検索対象データ（文章）である。なお、図１２の例では、類似度の高い順に並び替えを行った結果が表示されているが、表示内容については、これに限定されるものではない。
【００８５】
本実施形態では、上述したように抽象化した情報（例えば、特徴ベクトル）同士の類似度に基づいて検索を行うことで、図１２に示すように、関連性のある情報を適切に出力することができる。
【００８６】
＜ＩＣＡ以外の基底生成方法について＞
なお、本実施形態では、上述したようにＩＣＡに基づく基底を生成したが、本実施形態においては、これに限定されるものではなく、例えばＰＣＡ（Ｐｒｉｎｃｉｐａｌ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ；主成分分析）やＮＭＦ（Ｎｏｎ−ｎｅｇａｔｉｖｅ  Ｍａｔｒｉｘ  Ｆａｃｔｏｒｉｚａｔｉｏｎ；非負値行列因子分解）等を用いることができる。
【００８７】
なお、ＰＣＡ（主成分分析）には、「基底の直交条件」というものがあり、分布を最も圧縮する方向には基底を生成できるが、「話題」に最も適応した基底ができるというわけではなく、ＩＣＡの方が、分布に即した基底が生成できるため、本実施形態のような用途であればＰＣＡよりＩＣＡの方が高い性能が期待できる。
【００８８】
また、ＮＭＦ（非負値行列因子分解）は、例えばトピック分類等でよく使用されている手法である。ＩＣＡと同様に隠れたトピック毎に分解が可能である。なお、ＮＭＦでは、得られる基底が全て正の値になるため、「この単語が現れた場合はこの話題ではないだろう」というような方向への推定はできない。ただし、もともと単語の出現頻度等は正の値しか取らず、その方が自然と考える場合もある。また、例えば隠れカテゴリデータの行列に０が多く出る場合には、ＮＭＦの結果の行列にも要素に０の部分が多く出ることになる。
【００８９】
本実施形態では、上述したＩＣＡ（独立成分分析）、ＰＣＡ（主成分分析）、及びＮＭＦ（非負値行列因子分解）のうち、少なくとも１つを用いて抽象化を行うことができる。つまり、特徴ベクトル計算手段１４，２２は、ＩＣＡ、ＰＣＡ、及びＮＭＦのうち、少なくとも１つの手法を用いて得られる基底を用いて検索ワードの特徴ベクトルを計算することができる。なお、特徴ベクトル計算手段１４，２２は、上述した統計的クラスタリング手法に限定されるものではなく、例えばＰＬＳＩ（Ｐｒｏｂａｂｉｌｉｓｔｉｃ  Ｌａｔｅｎｔ  Ｓｅｍａｎｔｉｃ  Ｉｎｄｅｘｉｎｇ）やＬＤＡ（Ｌａｔｅｎｔ  Ｄｉｒｉｃｈｌｅｔ  Ａｌｌｏｃａｔｉｏｎ）等の手法も任意に選択して使用することができる。
【００９０】
＜類似度計算方法＞
また、類似度計算については、上述したコサイン類似度に限定されず、例えば「距離」を使った類似度計算を行うことができる。この場合、例えばユークリッド距離、マハラノビス距離等を用いることができる。なお、距離を用いた類似度計算を行った場合には、何れの手法を用いても文の長さが大きく影響する。したがって、その場合には、文の長さ（単語数）等に応じて距離を調整してもよい。
【００９１】
＜実行プログラム＞
ここで、上述した情報検索装置１０，３０は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性の記憶装置、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の不揮発性の記憶装置、マウスやキーボード、ポインティングデバイス等の入力装置、画像やデータ等を表示する表示装置、並びに外部と通信するためのインタフェース装置を備えたコンピュータによって構成することができる。
【００９２】
したがって、情報検索装置１０，３０が有する上述した各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現可能となる。また、これらのプログラムは、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記録媒体に格納して頒布することもできる。
【００９３】
つまり、上述した各構成における処理をコンピュータに実行させるための実行プログラム（情報検索プログラム）を生成し、例えば汎用のパーソナルコンピュータやサーバ等にそのプログラムをインストールすることにより、情報検索処理を実現することができる。なお、本実施形態における実行プログラムによる処理については、例えば上述した各処理を実現することができる。
【００９４】
上述したように本発明によれば、高精度な検索を実現することができる。具体的には、本実施形態では、文章内に隠れているカテゴリ（＝文章の内容，意味）を用いて、それが似ているかどうかを計算することで文章同士の類似度を求めるため、出現する単語が異なっていても同じ内容の文章であれば高い類似度を出すことができる。したがって、本実施形態では、従来のテキスト検索では難しい表記の揺れ等を吸収することができ、また従来手法では検索できなかった情報を検出することができる。
【００９５】
また、本実施形態における検索手法により得られる結果と、従来手法による単純なキーワード検索により得られる結果とを組み合わせて新たな検索手法を提供することもできる。
【００９６】
なお、本実施形態の適用例としては、例えば上述した文章の類似度を用いた検索の他にも、視聴者等のユーザに対する番組の推薦等がある。番組の推薦を行う場合には、上述した文章の特徴ベクトルの算出部分で、番組の概要文等を文章として入力し、検索ワードの代わりにその人の好きなジャンル（嗜好情報）のキーワード（例えば、スポーツ等）の特徴ベクトル（興味ベクトル）を入力することで対応することができる。また、その場合には、推薦した番組に興味があったか否かにより、推薦した番組の特徴ベクトルを、そのユーザの興味ベクトル等に足したり引いたりすることで、より本人の興味に即した番組の推薦が可能となる。
【００９７】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【００９８】
１０，３０  情報検索装置
１１  抽象化手段
１２  隠れカテゴリデータ格納手段
１３  検索ワード入力手段
１４，２２  特徴ベクトル計算手段
１５  検索ワード特徴ベクトル格納手段
１６  特徴ベクトル比較手段
１７  特徴ベクトル比較結果格納手段
１８  出力決定手段
１９  検索結果出力手段
２１  検索対象データ格納手段
２３  検索対象特徴ベクトル格納手段
３１  概念マップ格納手段
３２  関連単語抽出手段
【図１】
2014153744.tif 000003
【図２】
2014153744.tif 000004
【図３】
2014153744.tif 000005
【図４】
2014153744.tif 000006
【図５】
2014153744.tif 000007
【図６】
2014153744.tif 000008
【図７】
2014153744.tif 000009
【図８】
2014153744.tif 000010
【図９】
2014153744.tif 000011
【図１０】
2014153744.tif 000012
【図１１】
2014153744.tif 000013
【図１２】
2014153744.tif 000014