(57)【特許請求の範囲】
【請求項１】
キーワードが付与された複数の文書を用いて上記キーワード毎のモデルパラメータを算出するパラメータ算出部と、
上記モデルパラメータ間の親類度を計算し、上記モデルパラメータを各ノードとし上記モデルパラメータ間の親類度に基づいて互いに近傍に存在するノード間でリンクを張ったグラフを構築するグラフ構築部と、
上記モデルパラメータを用いて入力文書のスコアを算出するスコア算出部と、
上記スコアに基づいて上記グラフを探索して上記入力文書と最近傍の上記ノードに対応する上記キーワードを特定するグラフ走査部と、
を含むキーワード付与装置。
【請求項２】
請求項１に記載のキーワード付与装置であって、
上記モデルパラメータの一部分の要素を選択し、もしくは上記モデルパラメータを量子化し、上記モデルパラメータを改変するパラメータ改変部をさらに含み、
上記グラフ構築部は、上記改変されたモデルパラメータ間の親類度を計算し、上記グラフを構築するものである
キーワード付与装置。
【請求項３】
請求項２に記載のキーワード付与装置であって、
上記パラメータ算出部は、上記入力文書の素性ベクトルの平均と共分散行列を上記モデルパラメータとするものであり、
上記グラフ構築部は、上記素性ベクトルの平均間のユークリッド距離を上記親類度とするものであり、
上記スコア算出部は、上記入力文書と上記モデルパラメータとのマハラノビス距離を上記スコアとするものである
キーワード付与装置。
【請求項４】
請求項１から３のいずれかに記載のキーワード付与装置であって、
上記キーワードに対して予め定めたバイアスを上記スコアに加えるバイアス加算部
をさらに含むキーワード付与装置。
【請求項５】
パラメータ算出部が、キーワードが付与された複数の文書を用いて上記キーワード毎のモデルパラメータを算出するパラメータ算出ステップと、
グラフ構築部が、上記モデルパラメータ間の親類度を計算し、上記モデルパラメータを各ノードとし上記モデルパラメータ間の親類度に基づいて互いに近傍に存在するノード間でリンクを張ったグラフを構築するグラフ構築ステップと、
スコア算出部が、上記モデルパラメータを用いて入力文書のスコアを算出するスコア算出ステップと、
グラフ走査部が、上記スコアに基づいて上記グラフを探索して上記入力文書と最も近い上記ノードに対応する上記キーワードを特定するグラフ走査ステップと、
を含むキーワード付与方法。
【請求項６】
請求項１から４のいずれかに記載のキーワード付与装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、文書に対して関連するキーワードを付与する技術に関する。
【背景技術】
【０００２】
文書に対して関連するキーワードを付与することは、例えば、データ解析やドキュメント検索において極めて重要である。例えば、学術論文では、本文に加えて、関連するキーワードを人手で付与しておくことが通例となっている。これらのキーワードは、頻度を分析するだけで研究動向の推移を知ることができるなど、有用な情報となっている。
【０００３】
人手で文書を作成する場合であれば、関連するいくつかのキーワードを人手で付与することは容易である。しかし、既に作成された大量の文書や音声アーカイブを音声認識技術によりテキスト化した文書に対して、キーワードを人手で付与するためには多くの時間と労力が必要とされ、極めてコストが高い。そこで、文書に対して自動的にキーワードを付与する技術が求められている。このような技術は文書分類やテキスト分類とも呼ばれる（非特許文献１参照）。
【０００４】
キーワードの自動付与には大きく二通りの方法がある。一つの方法は、潜在的意味インデキシングと呼ばれる種類の方法である。潜在的意味インデキシングの代表的な方法には、確率的潜在意味解析（Probabilistic Latent Semantic Analysis、pLSA）や潜在的ディリクレ配分法（Latent Dirichlet Allocation、LDA）などがある（非特許文献２参照）。潜在的意味インデキシングは、様々なキーワードを付与することができる反面、人にとって意味のあるキーワードが付与されるとは限らないという問題点がある。
【０００５】
もう一つの方法は、分類器を用いる方法である（非特許文献１参照）。事前にいくつかのキーワードを決め、各キーワードに関して、ある文書が当該キーワードに関連があるかないかを判定する分類器を用意しておく。入力文書を各分類器に適用し、関連があると判定されたキーワードが付与される。分類器を用いる方法であれば、事前にキーワードを決めておくことができるので、人にとって意味のあるキーワードを設定できる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】永田昌明、平博順、“テキスト分類 --学習理論の「見本市」--”、“特集 情報論的学習理論とその応用”、情報処理、Vol. 42、No. 1、pp. 32-37、2001
【非特許文献２】岩田具治、山田武士、上田修功、“トピックモデルに基づく文書群の可視化”、情報処理学会論文誌、Vol. 50、No. 6、pp. 1649-1659、2009
【発明の概要】
【発明が解決しようとする課題】
【０００７】
分類器を用いたキーワード付与技術では、キーワードの数だけ分類器を用意しておき、入力文書に対して総当り的に分類器を適用する必要があるため、キーワードの数に比例した処理時間が必要となる。その結果、計算に掛かる時間の制約上、実用的にはキーワードが数十から数百、数千といった規模に制限されるという課題がある。
【０００８】
一方で、状況に応じて優先的に付与したいキーワードを変更したい場合もある。例えば、人名や地名に関するキーワードを優先的に付与したいという場合もあるであろう。汎用的なキーワード付与技術を考える場合には、このような要求への対応も必要とされる。
【０００９】
この発明の目的は、文書に対して付与できるキーワード数を飛躍的に増加させることである。さらに、状況に応じて特定のキーワードを優先的に付与することである。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、この発明のキーワード付与装置は、パラメータ算出部、グラフ構築部、スコア算出部及びグラフ走査部を含む。パラメータ算出部は、キーワードが付与された複数の文書を用いてキーワード毎のモデルパラメータを算出する。グラフ構築部は、モデルパラメータ間の親類度を計算し、モデルパラメータを各ノードとしモデルパラメータ間の親類度に基づいて互いに近傍に存在するノード間でリンクを張ったグラフを構築する。スコア算出部は、モデルパラメータを用いて入力文書のスコアを算出する。グラフ走査部は、スコアに基づいてグラフを探索して入力文書と最近傍のノードに対応するキーワードを特定する。
【発明の効果】
【００１１】
この発明によれば、文書に対して付与できるキーワード数を飛躍的に増加させることができる。さらに、状況に応じて特定のキーワードを優先的に付与することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、グラフ探索技術を説明する図である。
【図２】図２は、第一実施形態に係るキーワード付与装置の機能構成を例示する図である。
【図３】図３は、第一実施形態に係るキーワード付与方法の処理フローを例示する図である。
【図４】図４は、第二実施形態に係るキーワード付与装置の機能構成を例示する図である。
【図５】図５は、第二実施形態に係るキーワード付与方法の処理フローを例示する図である。
【発明を実施するための形態】
【００１３】
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１４】
［発明のポイント］
この発明は、膨大な数（例えば百万個程度）のキーワードの中から、入力文書に関連するキーワードを高速に選択できるようにするものである。この発明によれば、膨大な数のキーワードを扱えるようになるにも関わらず、キーワード群は事前に人間が用意するものであるため、意味のないキーワードの付与を防止できる。
【００１５】
この発明では、グラフ探索技術を分類器に基づくキーワード付与技術に適用する。これによりキーワード数の大幅な増加と高速なキーワード付与が同時に達成できる。
【００１６】
この発明の基本的なポイントは以下の二点である。
１．モデルパラメータ間の親類度に基づきグラフを構築しておき、そのグラフを利用して入力文書に関連するキーワードを高速に探索する。
２．グラフ探索時に優先すべきキーワードにバイアスを設定できるようにする。
【００１７】
前者はキーワード数を飛躍的に増やすための技術的ポイントであり、後者は優先的に付与したいキーワードを変更するための技術的ポイントである。
【００１８】
［分類器によるキーワード付与技術］
分類器（以下、モデルとも呼ぶ）は、ある文書が与えられた場合に、各キーワードがどれだけその文書に相応しいかを判断する装置である。具体的には、分類器は文書dとキーワードラベルλに対してスコアS_Φ_λ(d)を返す。すべてのキーワードラベルλについて分類器を用いてスコアS_Φ_λ(d)を算出し、スコアS_Φ_λ(d)が上位のキーワードを文書dに付与する。
【００１９】
Φ_λはモデルパラメータであり、スコアS_Φ_λ(d)の具体的な算術式はモデル固有である。文書へのキーワード付与で使用されるモデルとしては、代表的なものに、サポートベクターマシン（Support Vector Machine、SVM）、ブースティング（Boosting）、ナイーブベイズ（Naive Bayes）などがある。サポートベクターマシン及びブースティングについては、上記の非特許文献１に記載されている。ナイーブベイズについては、下記の参考文献１に記載されている。
〔参考文献１〕白川真澄、中山浩太郎、原隆浩、西尾章治郎、“ナイーブベイズによる文書分類のためのWikipediaカテゴリグラフ解析”、第26回人工知能学会全国大会論文集、第26回人工知能学会全国大会、2012年06月
【００２０】
モデルの学習には、キーワードが付与された複数の文書からなるデータベースが必要である。学習とは、文書のデータベースを利用してモデルパラメータΦ_λの値を推定することである。具体的にはまず、各文書から所定の統計量（素性ベクトル）、例えば、単語の頻度やtf-idf値などを得ておく。これらの統計量とキーワードラベルλを用いてモデルパラメータΦ_λを決定する。パラメータ推定の具体的な手順はモデルの種類に依存するものであり、既知の技術で実施可能である。
【００２１】
なお、キーワード推定時のスコアS_Φ_λ(d)の算出においても、文書から得られた統計量（素性ベクトル）、すなわち文書を数値化したものを利用する。
【００２２】
スコアS_Φ_λ(d)の算出式の具体的な例を以下に示す。
【００２３】
線形モデル（例えば、サポートベクターマシン、ブースティングなど）の場合には、下記の式（１）によりスコアS_Φ_λ(d)を算出することができる。
【００２４】
【数１】
0006040141.tif 000002
【００２５】
ここで、・は内積演算子であり、f(d)は文書dから得られる素性ベクトルである。
【００２６】
ナイーブベイズモデルの場合には、下記の式（２）によりスコアS_Φ_λ(d)を算出することができる。
【００２７】
【数２】
0006040141.tif 000003
【００２８】
ここで、Pは確率を表し、f_k(d)は素性ベクトルf(d)のk番目の要素である。式（２）においては、P(λ)及び{P_k(x|λ)}がモデルパラメータΦ_λに相当する。
【００２９】
確率Pは一般に最尤推定で得られる。例えば、P(λ)はキーワードλの頻度をすべてのキーワードの頻度の総数で除算することで求めることができる。P_k(f_k(d)|λ)は、キーワードλに関するすべての文書D_λから得られる統計量の全要素に関する総和Σkf_k(D_λ)に対するf_k(D_λ)の比率を用いて、下記の式（３）のように算出すればよい。
【００３０】
【数３】
0006040141.tif 000004
【００３１】
上記の方法に加えて、キーワード付与には次のような方法もある。まず、キーワードλに関する文書集合D_λから所定の算術式でモデルパラメータΦ_λを得る。モデルパラメータΦ_λは、例えば、文書集合D_λの素性ベクトルそのものであってもよいし、各文書から得られる素性ベクトルの平均と共分散行列であってもよい。次に、所定の類似度（ないしは距離尺度）で入力文書dと文書集合D_λの類似性を評価する。そして、最終的に入力文書dとの類似性が高いキーワードを付与する。類似度（ないしは距離尺度）としては、例えば、コサイン類似度、ユークリッド距離又はマハラノビス距離などが広く用いられる。
【００３２】
この方法は、モデルの学習時にモデルパラメータΦ_λを推定する処理を含まない点において、上述の一般的な分類器とは異なる。しかし、所定のモデルパラメータΦ_λで定義される所定のスコアS_Φ_λ(d)をもとに分類する点では共通であるため、ここでは分類器の一種として扱う。
【００３３】
［グラフ探索技術］
グラフ探索は、ある距離空間上において、大量のサンプルが存在する中で、ある入力サンプルと最近傍のサンプルを高速に見つけるための手法である。
【００３４】
まず、検索対象である大量のサンプルをノードと見立て、事前に互いに近傍に存在するノードにリンクを張っておく。検索時は、入力サンプル（以下、クエリと呼ぶ）とノードとの距離の計測を、リンクを辿りながら順に行う。はじめに、初期ノードを選び、初期ノードとクエリとの距離を計測する。次に、初期ノードからリンクが張られているノードとクエリとの距離を計測する。初期ノードにリンクが複数あれば、接続されているすべてのノードとクエリとの距離を計測する。貪欲法により探索を行う場合、距離を計測したノードのうちクエリとの距離が最も近いノードを選択し、そこから伸びるリンク先のノードとクエリとの距離をさらに計測する。よりクエリに近いノードが見つかる限りこの処理を繰り返す。そして、最終的に発見した最近傍のノードに対応するサンプルを検索結果とする。必要に応じて、初期ノードを変更して探索を行ってもよい。また、貪欲法により探索を行う以外に、複数の上位ノードを考慮しながら検索を行ってもよい。
【００３５】
厳密にクエリの最近傍サンプルを見つけるには、すべてのサンプルとの距離を計測しなければならない。しかし、グラフを適切に構成することで、多くの場合、わずかな計測回数で最近傍サンプルに到達できる。代表的なグラフ構造として、k近傍グラフ（k-neighborhood graph）（下記の参考文献２参照）、k近傍グラフから冗長なリンクを削減したk次削減近傍グラフ（k-degree reduced neighborhood graph）（下記の参考文献３参照）などがある。
〔参考文献２〕岩崎雅二郎、“近似k最近傍グラフによる距離空間の近傍検索”、情報処理学会論文誌．データベース、vol. 3、no. 1、pp. 18-28、2010
〔参考文献３〕Kazuo Aoyama, Kazumi Saito, Hiroshi Sawada, Naonori Ueda, “Fast approximate similarity search based on degree-reduced neighborhood graphs”, Proceedings of the 17th ACM SIGKDD international conference on Knowledge discovery and data mining, pp. 1055-1063, 2011
【００３６】
図１に、k=2としたk近傍グラフを用いた貪欲法によるグラフ探索の例を示す。太線で描かれハッチングが付された円が初期ノードSであり、太線で描かれた白い円がクエリd（すなわち入力文書）である。はじめに、初期ノードSとクエリdの距離を計測する。次に、初期ノードSとリンクのあるノードN1,N2,N3についても同様にクエリdとの距離を計測する（点線矢印）。距離を計測したノードS,N1,N2,N3のうち最近傍のノードN3に遷移し（太線矢印）、リンク先のノードN4,N5について再度クエリdとの距離を計測する。図１の例では、太線矢印を三回辿ると、リンク先にそれ以上にクエリdに近いノードが見つけられないノードN6に辿り着く。ここで探索を終了し、ノードN6を最近傍のノードとして出力する。
【００３７】
［第一実施形態］
この発明の第一実施形態は、分類器に基づくキーワード付与技術にグラフ探索技術を適用したキーワード付与装置である。これによりキーワード数の大幅な増加と高速なキーワード付与が同時に達成できる。
【００３８】
図２を参照して、第一実施形態に係るキーワード付与装置１の機能構成の一例を説明する。キーワード付与装置１は、データベース記憶部１０、パラメータ算出部１１、グラフ構築部１３、グラフ記憶部１４、クエリ入力部２０、初期化部２１、スコア算出部２２、グラフ走査部２３、上位キーワード記憶部２４及び結果出力部２５を含む。キーワード付与装置１は、パラメータ改変部１２を含むように構成してもよい。パラメータ改変部１２を含む変形例については後述する。キーワード付与装置１は、例えば、中央演算処理装置（Central Processing Unit、CPU）、主記憶装置（Random Access Memory、RAM）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。キーワード付与装置１は、例えば、中央演算処理装置の制御のもとで各処理を実行する。キーワード付与装置１に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。キーワード付与装置１が備える各記憶部は、例えば、RAM（Random Access Memory）などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ（Flash Memory）のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。キーワード付与装置１が備える各記憶部は、それぞれ論理的に分割されていればよく、一つの物理的な記憶装置に記憶されていてもよい。
【００３９】
図３を参照しながら、第一実施形態に係るキーワード付与装置１が実行するキーワード付与方法の処理フローの一例を、実際に行われる手続きの順に従って説明する。
【００４０】
＜グラフ構築処理＞
データベース記憶部１０には、キーワードが付与された複数の文書からなるデータベースが記憶されている。
【００４１】
ステップＳ１１において、パラメータ算出部１１は、データベース記憶部１０に記憶されている複数の文書を用いて、文書に付されているすべてのキーワードについてモデルパラメータを算出する。モデルパラメータの算出方法は、上述した従来の分類器によるキーワード付与技術におけるモデルの学習方法と同様である。算出したモデルパラメータはグラフ構築部１３へ入力される。
【００４２】
ステップＳ１３において、グラフ構築部１３は、モデルパラメータ間の親類度を計算し、モデルパラメータを各ノードとし互いに近傍に存在するノード間でリンクを張ったグラフを構築する。
【００４３】
従来の分類器に基づくキーワード付与技術では、キーワードλに関するモデルパラメータΦ_λにおける入力文書dの類似性をスコアS_Φ_λ(d)により評価しさえすればよかった。つまり、モデルパラメータΦ_λと入力文書dの関数にのみ着目すればよかった。しかし、本発明においてグラフを構築する際に、入力文書dが存在しない。モデルパラメータに関してグラフを構築しなければならず、その際、任意の二つのモデルパラメータ間の親類度をなす空間を定義しなければならない。この点は、従来のキーワード付与技術では登場しない新しい点である。
【００４４】
モデルパラメータ間の親類度は、具体的には以下のように構成する。モデルパラメータ間の距離は非親類度であり、正負反転などして親類度として用いる。以下では、二つのモデルパラメータΦ_λ及びΦ_λ'間の親類度をF(Φ_λ||Φ_λ’)と表す。
【００４５】
ナイーブベイズモデルなど、確率モデルを用いる場合には、一般的に確率モデルで用いられる類似度尺度を用いればよい。このような類似度尺度としては、例えば、Kullback-Leibler divergence、f-divergence、ピアソン関数、Lpノルム距離などを用いることができる。
【００４６】
Kullback-Leibler divergenceを用いる場合には、以下の式（４）により親類度F(Φ_λ||Φ_λ’)を算出する。
【００４７】
【数４】
0006040141.tif 000005
【００４８】
ここで、PはΦ_λをパラメータに持つ確率であり、P’はΦ_λ’をパラメータに持つ確率を表す。文書ドキュメントの場合、xは単語の場合が多い。このとき積分は離散シンボルの加算に対応する。
【００４９】
f-divergenceを用いる場合には、以下の式（５）により親類度F(Φ_λ||Φ_λ’)を算出する。
【００５０】
【数５】
0006040141.tif 000006
【００５１】
ここで、gは任意の関数である。
【００５２】
ピアソン関数を用いる場合には、以下の式（６）により親類度F(Φ_λ||Φ_λ’)を算出する。
【００５３】
【数６】
0006040141.tif 000007
【００５４】
Lpノルム距離を用いる場合には、以下の式（７）により親類度F(Φ_λ||Φ_λ’)を算出する。
【００５５】
【数７】
0006040141.tif 000008
【００５６】
モデルパラメータがベクトルの場合、もしくはベクトルとみなす場合には、一般的にベクトルに対して用いられる類似度尺度を用いればよい。このような類似度尺度としては、例えば、ミンコフスキー距離（ユークリッド距離、Lpノルム距離を含む）、マハラノビス距離、マンハッタン距離、チェビシェフ距離、標準ユークリッド距離、コサイン類似度、ピアソンの相関係数などを利用することができる。なお、ピアソンの相関係数とは、ベクトルのコサイン類似度を平均値で除算したものである。
【００５７】
パラメータ同士の親類度を定義しさえすれば、グラフの構築方法自体は、従来のグラフ構築技術を適用すればよい。構築したグラフはグラフ記憶部１４へ記憶される。
【００５８】
＜グラフ探索処理＞
ステップＳ２０において、クエリ入力部２０には、キーワード付与の対象となる文書が入力される。以下、入力文書のことをクエリとも呼ぶ。
【００５９】
ステップＳ２１において、初期化部２１は、グラフ探索処理で利用する情報の初期化を行う。具体的には、グラフ探索の初期ノードの決定、上位キーワード記憶部２４の初期化、入力文書の素性ベクトル化などを行う。
【００６０】
ステップＳ２２において、スコア算出部２２は、グラフ記憶部１４に記憶されているグラフにおいて、所定のノード及び所定のノードのリンク先のノードそれぞれに対応するモデルパラメータを用いて、入力文書のスコアを計算する。所定のノードとは、一回目の処理においては初期化部２１が決定した初期ノードであり、二回目以降の処理においては直前の処理により遷移した先のノードである。算出したスコアはグラフ走査部２３へ入力される。
【００６１】
ステップＳ２３ａにおいて、グラフ走査部２３は、入力されたスコアに基づいて、グラフ記憶部１４に記憶されたグラフを探索する。
【００６２】
グラフ上での探索には従来のグラフ探索技術に対して一工夫必要である。グラフの各ノードはモデルパラメータに対応しているが、キーワード付与装置への入力(クエリ)は文書である。従来のグラフ探索では、ノードとクエリは同一の事象に対応していることが前提である。より適切に説明すると、グラフ探索は、グラフ構築時とグラフ探索時とで同一の親類度空間を用いることを前提とした技術である。
【００６３】
この発明では、工学的近似として、上記の前提を取り除く。すなわち、グラフ構築はパラメータ間の親類度F(Φ_λ||Φ_λ’)に基づいて実施するが、グラフ探索はモデルパラメータΦ_λと文書dとを用いて算出されたスコアS_Φ_λ(d)に基づいて実施する。この背景には、キーワード付与技術で用いるモデルパラメータΦ_λの要素は、ある単語やnグラムに対応したものがほとんどであるという事実がある。モデルパラメータ間の関数F(Φ_λ||Φ_λ’)も、モデルパラメータΦ_λと文書dとの関数S_Φ_λ(d)も、所詮は各要素が単語やnグラムに対応しているベクトル（ないしは集合）同士の関係を表した関数である。すなわち、両関数は全く異なる空間をなしているわけではない。この発明では、この点を利用し、グラフ構築時とグラフ探索時に異なる親類度空間を用いる。
【００６４】
グラフ構築時は類似度空間を定義する必要があるが、構築されたグラフは、あるノードの近傍ノードはどれかという情報だけを持ち、どのくらい近傍にあるかといった情報は保持していない。つまり、グラフ探索時にグラフ構築時に用いた類似度空間は不要であり、グラフ探索時における距離空間から見ても、最近傍ではないにせよ概ね近傍にあるノードにリンクが張られてさえいれば、妥当な検索結果が得られるものと期待できる。
【００６５】
ただし当然、モデルパラメータ間の親類度F(Φ_λ||Φ_λ’)とスコアS_Φ_λ(d)とが一致する場合もある。例えば、上述のようにモデルパラメータが素性ベクトルそのものであるような場合である。例えば、入力文書から得られたtf-idfベクトルのコサイン類似度に基づきキーワード付与を行う手法がある。この場合、モデルパラメータΦも文書dから得られる素性ベクトルf(d)も共にtf-idfベクトルであるため、グラフ構築時とグラフ探索時とでいずれもコサイン類似度を用いれば、モデルパラメータ間の親類度F(Φ_λ||Φ_λ’)とスコアS_Φ_λ(d)とが一致する。この例は、この発明における特殊な形態ではあるが、この発明を逸脱するものではない。
【００６６】
グラフ走査部２３は、そのノードのリンク先を順に辿ったり、リンク先によりクエリに近づくノードが見つからなければ別な初期ノードを与えて探索をし直したり、もしくは二位候補から探索を開始し直したりと、複雑な処理を実行する。このようなグラフを探索する方法は従来のグラフ探索技術と同様である。
【００６７】
グラフ走査部２３は、上記のようにして探索した入力文書と最近傍のノードに対応するキーワードを特定する。特定したキーワードとスコアは上位キーワード記憶部２４へ記憶される。上位キーワード記憶部２４において、キーワード及びスコアはスコアが高い順に記憶される。
【００６８】
ステップＳ２３ｂにおいて、グラフ走査部２３は、グラフ探索を終了するか否かを判定する。グラフ探索の終了条件は、例えば、クエリと各ノードとの距離の計測回数が予め定めた上限値に達しているかどうか、頂点ノードに達した回数が予め定めた上限値に達したかどうか、などである。頂点ノードとは、そのノードのリンク先に更にクエリに近づくノードがないノードのことである。
【００６９】
ステップＳ２５において、結果出力部２５は、上位キーワード記憶部２４に記憶されているキーワードとスコアの組を、スコアが高い順に予め定めた数だけ出力する。
【００７０】
このように第一実施形態に係るキーワード付与装置１は、モデルパラメータ間の親類度に基づいてモデルパラメータを各ノードとするグラフを構築し、入力文書と各モデルパラメータを用いて算出するスコアに基づいてグラフを探索することで、効率的に入力文書へ付与すべきキーワードを検索することができる。その結果、従来の分類器を用いたキーワード付与技術と比較してキーワード数を飛躍的に増加させることができる。
【００７１】
［変形例］
キーワード付与装置１は、図１に点線で示すように、パラメータ改変部１２を含むように構成してもよい。パラメータ改変部１２は、パラメータ算出部１１が出力したモデルパラメータを改変して類似物を生成する。改変されたモデルパラメータは、グラフ構築部１３へ入力される。類似物とは、モデルパラメータの一部分の要素からなるパラメータや、量子化されたパラメータなどである。
【００７２】
モデルパラメータΦ_λと似て非なるパラメータΨ_λを考える。例えば、パラメータΨ_λがモデルパラメータΦ_λの一部の要素からなる場合がこれにあたる。この場合、グラフ構築時はモデルパラメータ間の親類度F(Ψ_λ||Ψ_λ’)を用い、グラフ探索時はスコアS_Φ_λ(d)を用いることになる。
【００７３】
例えば、スコアS_Φ_λ(d)がマハラノビス距離であった場合、モデルパラメータΦ_λは素性ベクトルの平均と共分散行列である。しかし、共分散行列間の親類度（距離）の定義方法は必ずしも明確ではない。また、仮に定義した場合でも、行列の要素数の多さから、計算コストの増大が容易に想像できる。そこで、平均ベクトル間のユークリッド距離でグラフを構築し、マハラノビス距離で探索を行うといった使い方をする。
【００７４】
キーワード付与装置１は、パラメータ改変部１２を含むように構成することで、計算コストが本質的に高いグラフ構築の処理コストを軽減することができるといった利点が得られる。
【００７５】
［第二実施形態］
膨大な数のキーワードを取り扱うような汎用的なキーワード付与装置を構築する場合、状況に応じて優先的に付与したいキーワードを変更したい場合がある。例えば、人名キーワードを優先したい場合や、政治やスポーツといった比較的抽象度の高い概念キーワードを優先したい場合などである。予めグラフをそのように構成しておくことで特定のキーワードを優先することは可能であるが、その都度グラフを構成し直すことは処理コストが高くなり現実的ではない。
【００７６】
この発明の第二実施形態では、第一実施形態に係るキーワード付与装置を、状況に応じて特定のキーワードを優先的に付与することができるように構成する。
【００７７】
図４を参照して、第二実施形態に係るキーワード付与装置２の機能構成の一例を説明する。キーワード付与装置２は、第一実施形態に係るキーワード付与装置１と同様に、データベース記憶部１０、パラメータ算出部１１、グラフ構築部１３、グラフ記憶部１４、クエリ入力部２０、初期化部２１、スコア算出部２２、グラフ走査部２３、上位キーワード記憶部２４及び結果出力部２５を含む。キーワード付与装置２は、さらにバイアス記憶部１５及びバイアス加算部２６を含む。キーワード付与装置２は、第一実施形態に係るキーワード付与装置１と同様に、パラメータ改変部１２を含むように構成してもよい。
【００７８】
バイアス記憶部１５には、優先的に付与したいキーワードとその優先度を表すバイアスとが組にして記憶されている。バイアスの値の定め方は様々な方法が考えられるが、例えば、以下の三通りの方法が挙げられる。
【００７９】
一つ目の方法は、検索語と検索回数を利用する方法である。インターネット上で提供される検索エンジン（例えば、GOOGLE（登録商標）、YAHOO!（登録商標）など）で検索頻度が高いキーワードを抽出し、検索回数に応じて任意に定めた値をそのキーワードに対するバイアスとして設定する。例えば、検索回数が多いキーワードに大きいバイアスを与えることで、世間で話題となっているホットトピックを優先的に付与することが可能となる。
【００８０】
二つ目の方法は、シソーラスの階層情報を利用する方法である。シソーラスとは、語彙の関係を木構造で表現したものであり、一般に階層が上位であるほど抽象的な概念が付与されている。シソーラスに登録されているキーワードに対して、シソーラスの階層に応じて任意に定めた値をバイアスとして設定する。利用するシソーラスは優先的に付与したいキーワードの分野に応じて適宜決定すればよい。例えば、シソーラスの階層が低いキーワードほど大きいバイアスを与えることで、細分化されたキーワードを優先的に付与することが可能となる。逆に、シソーラスの階層が高いキーワードほど大きいバイアスを与えることで、抽象的なキーワードを優先的に付与することも可能である。
【００８１】
三つ目の方法は、品詞等によるルールを利用する方法である。人名や地名などのキーワードの属性に応じてバイアスを与える。バイアスを与えるキーワード及びそのキーワードに与えるバイアスの値は任意に定めればよい。
【００８２】
図５を参照しながら、第二実施形態に係るキーワード付与装置２が実行するキーワード付与方法の処理フローの一例を、実際に行われる手続きの順に従って説明する。
【００８３】
ステップＳ１１からステップＳ２２までの処理は、第一実施形態に係るキーワード付与装置１におけるグラフ構築処理と同様である。
【００８４】
ステップＳ２６において、バイアス加算部２６は、バイアス記憶部１５に記憶されたキーワードλに対するバイアスb_λを、スコア算出部２２により算出されたスコアS_Φ_λ(d)に加える。具体的には、スコアS_Φ_λ(d)にバイアスb_λを加算する。もしくは、スコアS_Φ_λ(d)にバイアスb_λを乗算する。これにより、大きなバイアスを与えられたキーワードが優先的に探索結果の上位に割り当てられることになる。
【００８５】
ステップＳ２３ａからステップＳ２５までの処理は、第一実施形態に係るキーワード付与装置１におけるグラフ構築処理と同様である。
【００８６】
このようにして、第二実施形態に係るキーワード付与装置２は、第一実施形態に係るキーワード付与装置１と同様に膨大な数のキーワードを取り扱いながら、状況に応じて特定のキーワードを優先的に付与することができる。その結果、利用者のニーズに合わせたきめ細かいキーワード付与を実現することができる。
【００８７】
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【００８８】
［プログラム、記録媒体］
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【００８９】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００９０】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００９１】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００９２】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【００９３】
１、２  キーワード付与装置
１０  データベース記憶部
１１  パラメータ算出部
１２  パラメータ改変部
１３  グラフ構築部
１４  グラフ記憶部
１５  バイアス記憶部
２０  クエリ入力部
２１  初期化部
２２  スコア算出部
２３  グラフ走査部
２４  上位キーワード記憶部
２５  結果出力部
２６  バイアス加算部
【図１】
0006040141.tif 000009
【図２】
0006040141.tif 000010
【図３】
0006040141.tif 000011
【図４】
0006040141.tif 000012
【図５】
0006040141.tif 000013