JP3953295B2 - 情報検索システム、情報検索方法、情報検索を実行させるためのプログラムおよび情報検索を実行させるためのプログラムが記録された記録媒体 - Google Patents
情報検索システム、情報検索方法、情報検索を実行させるためのプログラムおよび情報検索を実行させるためのプログラムが記録された記録媒体 Download PDFInfo
- Publication number
- JP3953295B2 JP3953295B2 JP2001324437A JP2001324437A JP3953295B2 JP 3953295 B2 JP3953295 B2 JP 3953295B2 JP 2001324437 A JP2001324437 A JP 2001324437A JP 2001324437 A JP2001324437 A JP 2001324437A JP 3953295 B2 JP3953295 B2 JP 3953295B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- matrix
- attribute
- sum
- added
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、データベースに保持されたデータの情報検索に関し、より詳細にはデータベースに対して情報が逐次的に追加され、情報が更新されるきわめて大きなデータベースのための情報検索システム、情報検索方法、情報検索を行うためのプログラムおよび該プログラムが記録されたコンピュータ可読な記録媒体に関する。
【0002】
【従来の技術】
ドキュメントのベクトル空間モデルを使用する情報検索システムは、きわめて大きな、静的なデータベースに対して比較的成功したものといえる。Deerwesterらは、テキストに基づいたドキュメントの情報検索に関連する問題をより低次元のサブスペースへとマッピングするアルゴリズムである、潜在的意味解析法(Latent Semantic Indexing)を開発し、実時間における検索を可能とさせている。Deerwesterらのアルゴリズムは、ドキュメント−アトリビュート行列の特異値分解(Singular value decomposition: SVD)の効率的で、数値的に正確な計算に基づくものである。上述したDeerwesterらの手法は、精度が高く充分なものではあるが、そのために使用するサブスペースの基底ベクトルの決定は通常、逐次的なドキュメントデータの追加および削除の要求がある場合でもドキュメントデータに対する特異値分解を含む計算により実行されるのでコストが高く、例えば一晩を要するという不都合がある。
【0003】
情報検索における上述したSVDに基づく次元削減のためのアルゴリズムは、例えば、ニュース・データベース、医療データベース、消費者プロファイル・データベースといったきわめて迅速に情報が追加される、きわめて大きなデータベースから情報を検索するのに適切ではない。この理由は、主として(1)データベースは、新たに追加される情報を考慮すると共に、日付が古くなったり不要になった情報を削除するため、本明細書においてアップデートまたはダウンデートとして参照するプロセスを通じて頻繁に更新されなければならないこと、(2)データベース内のコンテンツの変更に対応するためのデータベースの更新(すなわちアップデートまたはダウンデート)のたびに、ドキュメント−アトリビュート行列に対して再度基底ベクトルを算出する必要が生じ、このため、計算時間、労力、ハードウエア資源などに関連してコストが極めて高くなることを挙げることができる。
【0004】
<先行技術の開示>
これまで上述した問題点を解決するべく、いくつかの方法が提案されている。Berry, DumaisおよびO’ Brienは、“Using linear algebra for intelligent information retrieval”、 1995、 pp.573-595、において、およびZhaおよびSiomonは、“On updating problems in latent semantic indexing”、 SIAM Journal of Scientific Computation、 Vol. 21、 No. 2、 pp. 782-791、 March 2000において、SVDに基づく次元削減につき、ベクトル空間モデルの下でドキュメントをアップデート、すなわちドキュメントを付け加える方法を提案している。しかしながら、Berryらの方法は、ベクトル空間モデルに対するアップデートの正確な計算ではなく単に近似でしかないために、信頼性において充分ではないという不都合があった。
【0005】
Berryら(1995)およびZhaら(2000)によるDeerwesterらのアルゴリズムに対するアップデート方法も特異値分解に対する非線形な近似解であり、信頼性に欠けるという不都合がある。
【0006】
一方、Witterは、“Downdating the latent semantic model for information retrieval”、 M.A. Thesis、 Univ. of Tennessee、 Knoxville、 Dec. 1997、において、Deerwesterらのアルゴリズムのためのダウンデート方法を開示している。しかしながら、Witterの方法を急速に変化するデータベースのダウンデートに対して適用すると、(1)ドキュメントが一度に削除されるので、以後に連続するダウンデートのための浮動小数点計算における誤差が蓄積し、これが重大な影響を与えること、(2)ダウンデートは、次元削減されたドキュメント−アトリビュート行列に対してのみ実行されるので、次元削減された行列は、その次元を失い元々の行列にある少量ではあるが意味的に重要ないわゆるアウトライア・ドキュメントを検出できずに、ドキュメントが削除されるにつれて主要トピックスのみになってしまう可能性があることである。これについては、本願出願人らによる特許出願、特願2001−205183号にも詳細に記載されている。
【0007】
上述した理由から、Witterのアルゴリズムによるダウンデートされたドキュメント−アトリビュート行列の出力は不正確であり、情報検索を含んだ多くの用途に対して適切ではない。なお、浮動小数点計算における誤差に関する検討は、最も標準的な数値解析のテキストに記載されており、このようなテキストとしては、GolubおよびVan Loan、”Matrix Computations”、第2版、John Hopkins Univ. Press、 Baltimore、 MD、 1989およびGoldbergによる総説論文”What every computer scientist should know about floating-point arithmetic”、 ACM Computing Surveys、 Vol. 23、 No. 1、1991年3月を挙げることができる。
【0008】
またこれまで、急速に変化するデータベースを含み、SVDに基づいた情報検索用途に使用することができるに足る、充分な精度および効率で、次元削減されたドキュメント−アトリビュート行列のアップデートを実行するための方法は知られていない。精度および効率を必要とするアップデート用途の重要なクラスの例としては、本願出願人らによるデータベースにおける新たなトピックス/事象の検出およびその累積の追跡を挙げることができる。
【0009】
一方で、SVDのプロセスについて考察すれば、一般的なドキュメント−アトリビュート行列AのSVDは、下記式により与えられる。
【0010】
【数1】
(上記式中、U、Vは、直交行列を示し、Σは、対角行列を示し、Tは、行列の転置を示す。以下、本発明において同様である。)
【0011】
この場合、上述した行列AのSVDを、ATAやAATの固有値問題として実行する方法もあり得る。しかしながら、ATAやAAT生成させる場合には、小さな特異値に対して激しい精度低下を生じさせるという問題が生じ、反復してドキュメント−アトリビュート行列のアップデートに対応すると、出力精度が著しく低下してしまうという問題が生じることにもなる。
【0012】
【発明が解決しようとする課題】
すなわち本発明は、SVDを使用してきわめて大きく、かつ急速に変化するデータベースから実時間での情報検索を行うための情報検索システム、情報検索方法、情報検索を実行させるためのプログラムおよび情報検索を実行させるためのプログラムが記録された記録媒体を提供することを目的とする。
【0013】
【課題を解決するための手段】
本発明は、上述した課題を解決するに際して、ドキュメント−アトリビュート行列の以前に算出した結果を一部再利用すれば、計算時間の短縮、精度向上、および効率化を達成することができる、という新奇な着想に基づいてなされたものである。
【0014】
本発明は、上述した以前の計算結果を使用するプロセスとして、ドキュメント−アトリビュート行列をQR分解し、新たに付け加えられたドキュメントを含むドキュメント−アトリビュート行列を、すでに算出されたQR分解の結果のうちの直前に生成された行列Rを使用する。具体的には行列Rと付け加えられたドキュメント−アトリビュート副行列を含む行列をハウスホルダー変換し、付け加えられたドキュメント−アトリビュート副行列の結果を反映させて新たな行列Rとして更新する。
【0015】
本発明においては、上述のようにして更新された上三角行列RをSVDに用い、得られた特異ベクトルを使用してドキュメント−アトリビュート行列の次元削減を実行することにより、急速にデータが追加されるデータベースにおける次元削減プロセスを高精度、かつ効率的に実行させ、最新のデータベースでの情報検索を可能にするものである。
【0016】
また、本発明の別の実施の形態においては、ドキュメント−アトリビュート行列について共分散行列を生成し、追加されたドキュメントからなるドキュメント−アトリビュート行列について以前に算出された共分散行列に関連する所定の行列を使用して共分散行列を更新する。本発明においては、共分散行列の更新の際にアトリビュートを追加・削除することもできる。上述のようにして得られた共分散行列に対しSVDを実行して特異ベクトルを生成し、ドキュメント−アトリビュート行列の次元削減に使用することにより、次元削減プロセスの高精度化および効率化を達成するものである。
【0017】
すなわち、動的に変化するドキュメント−アトリビュート行列の本発明による特異値トリプレット(特異値と、それに対応する左および右特異ベクトル)のアップデートは、上述した先行技術において提案された結果よりも、より数値的に正確な結果を与えることができる。本発明は、特にアップデートされた行列のSVDを迅速に計算すると共に、特異値トリプレットの近似を与えるものではなく、数値的に正確な計算を実行させるものである。
【0018】
さらに、本発明は、多数回のアップデートが行われることに対応しているので、浮動小数点誤差の蓄積を最小化させるものである。情報検索システムによる次元削減の問題に対してSVDを使用する結果の出力の品質は、一般には、算出された特異値トリプレットの精度に依存するので、本発明は、従来の技術においてこれまで開示されている方法よりもより良好な結果を与えることが可能となる。
【0019】
さらに、本発明は、ドキュメント−アトリビュート行列のSVDに基づいたアップデートの正確な計算を可能とするので、本発明は、例えば新たなトピックス/事象の検出といった、内容の著しく変化するデータベースにおけるドキュメントといったデータの検出に使用することができる。また、本発明の方法は、例えば特願2000−175848号、特願2001−157614号にも記載されているトピックス/事象の追跡にも適用することができる。
【0020】
すなわち、本発明によれば、データベースに時間の経過と共に追加されるドキュメントを検索するための情報検索システムであって、前記ドキュメントは、ドキュメント−アトリビュート行列へと変換されて前記情報検索システムに保持され、かつ前記ドキュメント−アトリビュート行列は、逐次的に追加されるドキュメント−アトリビュート副行列から構成され、
前記ドキュメント−アトリビュート行列から所定の行列を生成して保持させるための手段と、
前記データベースに所定の期間の間に追加されたドキュメントからドキュメント−アトリビュート副行列を生成するための手段と、
前記ドキュメント−アトリビュート副行列に関連する情報を使用して前記所定の行列を更新し、更新された前記所定の行列を特異値分解して、データベースに保持されたすべてのドキュメント−アトリビュート行列の次元削減を実行するための手段と、
前記次元削減されたドキュメント−アトリビュート行列を使用してユーザが入力したクエリーによる情報検索を行うための手段と
を含む、情報検索システムが提供される。
【0021】
本発明においては、前記ドキュメント−アトリビュート副行列をQR分解し、前記所定の行列として行列Rのみを使用する手段を含むことができる。本発明においては、前記保存された行列Rの更新を、前記ドキュメント−アトリビュート副行列に関連したハウスホルダー変換により実行させるための手段を含むことができる。
【0022】
本発明においては、前記ドキュメント−アトリビュート副行列から前記所定の行列として共分散行列を生成し、ドキュメント・ベクトルの積和行列(SUM(M)1)と、ドキュメント・ベクトルの平均(MEAN(M)1)と、ドキュメント・ベクトルの平均の積行列(SUM(M)2)と、ドキュメントの全数(M)とを保持するための手段とを含むことができる。また、本発明においては、追加された前記副行列を含むすべてのドキュメント−アトリビュート行列の共分散行列C’を、下記式
(上記式中、Hは、追加された副行列のドキュメント数を示す。)
により生成する手段を含むことができる。本発明においては、さらに、ドキュメント・ベクトルに含まれるアトリビュートを自動的に検索し、アトリビュート・ハッシュ・テーブルを生成して前記アトリビュートを追加または削除するための手段を含むことができる。
【0023】
本発明によれば、データベースに時間の経過と共に追加されるドキュメントを検索するための情報検索方法であって、前記ドキュメントは、ドキュメント−アトリビュート行列へと変換されて保持され、かつ前記ドキュメント−アトリビュート行列は、逐次的に追加されるドキュメント−アトリビュート副行列から構成され、
前記ドキュメント−アトリビュート副行列から所定の行列を生成して保持させるステップと、
前記データベースに所定の期間の間に追加されたドキュメントからドキュメント−アトリビュート副行列を生成するステップと、
前記ドキュメント−アトリビュート副行列に関連する情報を使用して前記所定の行列を更新し、更新された前記所定の行列を特異値分解して、データベースに保持されたすべてのドキュメント−アトリビュート行列の次元削減を実行するステップと、
前記次元削減されたドキュメント−アトリビュート行列を使用してユーザが入力したクエリーによる情報検索を行うステップと
を含む、情報検索方法が提供される。
【0024】
さらに本発明によれば、データベースに時間の経過と共に追加されるドキュメントを検索するための情報検索方法を実行させるためのプログラムであって、前記ドキュメントは、ドキュメント−アトリビュート行列へと変換されて保持され、かつ前記ドキュメント−アトリビュート行列は、逐次的に追加されるドキュメント−アトリビュート副行列から構成され、
前記ドキュメント−アトリビュート副行列から所定の行列を生成して保持させるステップと、
前記データベースに所定の期間の間に追加されたドキュメントからドキュメント−アトリビュート副行列を生成するステップと、
前記ドキュメント−アトリビュート副行列に関連する情報を使用して前記所定の行列を更新し、更新された前記所定の行列を特異値分解して、データベースに保持されたすべてのドキュメント−アトリビュート行列の次元削減を実行するステップと、
前記次元削減されたドキュメント−アトリビュート行列を使用してユーザが入力したクエリーによる情報検索を行うステップと
を含む、情報検索方法を実行させるためのプログラムが提供できる。
【0025】
また、本発明によれば、データベースに時間の経過と共に追加されるドキュメントを検索するための情報検索方法を実行させるためのプログラムが記録されたコンピュータ可読な記録媒体であって、前記ドキュメントは、ドキュメント−アトリビュート行列へと変換されて保持され、かつ前記ドキュメント−アトリビュート行列は、逐次的に追加されるドキュメント−アトリビュート副行列から構成され、
前記ドキュメント−アトリビュート副行列から所定の行列を生成して保持させるステップと、
前記データベースに所定の期間の間に追加されたドキュメントからドキュメント−アトリビュート副行列を生成するステップと、
前記ドキュメント−アトリビュート副行列に関連する情報を使用して前記所定の行列を更新し、更新された前記所定の行列を特異値分解して、データベースに保持されたすべてのドキュメント−アトリビュート行列の次元削減を実行するステップと、
前記次元削減されたドキュメント−アトリビュート行列を使用してユーザが入力したクエリーによる情報検索を行うステップと
を含む、情報検索方法を実行させるためのプログラムが記録された記録媒体が提供される。
【0026】
【発明の実施の形態】
以下、本発明につき図面に示した実施の形態に基づいて詳細に説明するが、本発明は後述する特定の実施の形態に限定されるものではない。
【0027】
図1は、本発明において、情報検索を実行するためのデータベースの概略構成を示した図である。図1に示されたデータベースにおいては、ドキュメントは、バイナリ・モデルやアトリビュート頻度・モデルといった適切な方法を使用して、ドキュメント・ベクトルへと変換されている。図1には、上述したドキュメントにより生成されたドキュメント−アトリビュート行列としてデータベースのデータ構成を示している。図1においては、行方向にドキュメント・ベクトルが並べられており、列方向には、所定のアトリビュートがドキュメントに含まれている場合には、適切な重み、所定のアトリビュートが含まれていない場合には、0とする方法により、数値要素が並べられている。
【0028】
なお、本発明においては、図1で示したバイナリ・モデルの他に、ユーザが指定する重み付け因子(ウエイト・ファクタ)を適用した、アトリビュート頻度モデル与えることもできる。以下、本発明においては、上述して得られた行列をドキュメント−アトリビュート行列Aとして参照する。アトリビュートとしては、テキスト・ドキュメント・データに用いられるキーワード・アトリビュートの他にも、タイム・スタンプ、画像、オーディオ・データなど、いかなるアトリビュートでも本発明においては使用することができる
【0029】
図1に示されるように、本発明においては、データベースには、ドキュメント/データが頻繁に追加されており、これらのドキュメントは、それぞれが含むアトリビュートに基づいて、ドキュメント・ベクトルへと変換される。これらのドキュメント・ベクトルは、例えば、日単位、週単位、月単位、或いは、データベースの管理者が設定した単位に区切られて、それぞれの副行列A1,...,Anとして構成されている。
【0030】
例えば、最初にデータベースに対して蓄積されていたドキュメント・ベクトルの集合は、行列Aとして区切られており、Aについて処理を実行する。その後追加されたドキュメント・ベクトルの集合を、例えば1週間といった所定の期間まとめてドキュメント−アトリビュート行列として構成したものが、副行列A1として示されている。同様にして、順次追加されたドキュメント・ベクトルを所定の期間ごとにまとめたもので、最も新しい副行列が、図1においては副行列Anとして示されている。
【0031】
上述した所定の期間としては、上述したように日単位、週単位、月単位としてまとめることができるが、特に常に一定の期間ではなく、必要に応じてその時点までに蓄積されたデータをまとめて副行列Aiとすることができる。本発明は、上述した副行列を使用して、QR分解で得られる上三角行列Rまたは共分散行列を算出することで、データが蓄積されていくドキュメント−アトリビュート行列すべてを一割してSVDを実行させる労力を削減することにより、次元削減の計算時間を低減して効率化を達成する。また、本発明においては、重要ではあるがデータ数として数%程度でデータベースに含まれるいわゆるアウトライア・ドキュメントを次元削減プロセスにおいて無視してしまう可能性を可能な限り低減させ、検索精度を向上させることを可能とする。以下、本発明の実施の形態について詳細に説明する。
【0032】
<第1の実施の形態>
本発明の第1の実施の形態においては、上述した副行列と前回までに得られた行列Rからなる行列に対してQR分解を適用して、新たに得られる上三角行列Rに、SVDを適用して特異ベクトルを得、得られた大きなものからk番目までの特異ベクトルを含んで構成された特異行列を使用して、データベースに含まれるドキュメント−アトリビュート行列をk次元へと次元削減させるものである。
【0033】
また、副行列A1は、図2で示されるように、もとのドキュメント−アトリビュート行列AをQR分解した時の行列Rの底に加えた形式で保持する。
【0034】
図2の左側の行列Rに副行列Aiが追加された部分は適当な直交置換行列Pにより行列Rの直下に移動させる。
【0035】
図3は、本発明の第1の実施の形態としてQR分解法を使用してドキュメント−アトリビュート行列Aの次元削減を実行するプロセスを示したフローチャートである。図3に示されるように、プロセスは、ステップS1から開始し、ステップS2において、ドキュメント−アトリビュート行列AのQR分解を実行する。ステップS3においては、QR分解して得られた行列Qと、行列Rのうち、行列Rのみを使用する。本発明において行列Rのみを使用する理由は、(a)R行列が上三角行列であり、SVDを行うためにきわめて迅速に計算を実行することができること、(b)下記式に示されるように行列Rを使用してもドキュメント−アトリビュート行列における特異値または固有値は保存されていること、の理由に基づくものである。
【0036】
【数2】
【0037】
次いで、本発明の第1の実施の形態におけるプロセスにおいては、ステップS4において追加された副行列Aiを使用して行列Rを更新する。この際、更新された行列Rの算出は、本発明の好適な実施の形態においては、この更新された行列Rの算出については、より詳細に後述する。ステップS5では、上述したようにして得られたR行列を使用してSVDを実行する。
【0038】
【数3】
(上記式中、U、Vは、N×N正規直交行列であり、Σは、N×N対角行列である。)
上述のようにして得られた行列Rの特異値または固有値は、上述したようにドキュメント−アトリビュート行列Aの特異値と同じ特異値を保持している。また、Rは、上三角行列であるため、SVDをきわめて容易に行うことができ、従来のプロセスにおいてきわめて計算時間を要したSVDに割り当てられる計算時間を著しく低減することが可能となる。
【0039】
さらに本発明のプロセスにおいては、ステップS6で、得られた特異値から特異ベクトルまたは固有ベクトルを得、得られた特異ベクトルまたは固有ベクトルを、特異値または固有値の大きな方から特異ベクトルまたは固有ベクトルのk番目までを使用して次元削減したk次元の特異行列を生成してドキュメント−アトリビュート行列の次元を削減させる。
【0040】
ステップS7において次元の減少した行列を使用して情報検索を実行し、ステップS8において本発明の第1の実施例の情報検索方法を終了する。
【0041】
以下各ステップにおける処理を詳細に説明する。まず、ステップS2で、ドキュメント−アトリビュート行列AについてQR分解を実行する。AについてのQR分解を下記式に示す。
【0042】
【数4】
【0043】
上記式中、Oで示された行列は、要素がすべて0の行列を意味する。図4には、一般的な行列Dに対する上述したQR分解を実行させるための擬似コードを示す。
本発明においては、ステップS3において、行列Aについて上述のQR分解により得られた行列Rのみを使用する。図5には、行列AのQR分解により得られる行列の構成要素を概略的に示す。図5において、Mは、ドキュメントの数であり、Nは、アトリビュートの数である。また、図5においては、行列Qの列ベクトルをqi(i=1、...、M)により示し、行列Rの要素がゼロの部分を0で示している。また、図5に示した実施の形態においては、得られる行列Rは、N×Nの上三角行列として得られている。
【0044】
本発明においてはさらに、ステップS4において、副行列Aiとしてデータが加えられたドキュメント−アトリビュート行列につき、ハウスホルダー変換を実行する。
【0045】
本発明においては、ステップS5において行列Rに対して直接SVDを適用して、R行列の特異値または固有値を求める。この際、SVDに使用することができる方法としては、これまで知られた種々の方法を使用することができ、例えばハウスホルダー変換を使用する方法、またはランチョス法を使用することができる。
【0046】
さらに本発明においては、ステップS6においてSVD計算により得られた特異値または固有値から特異ベクトルまたは固有ベクトルを生成し、特異値または固有値の大きな方から所定の数の特異ベクトルまたは固有ベクトルを降順に配置して特異行列を形成させ、これをドキュメント−アトリビュート行列Aに乗じて、下記式(5)にしたがってドキュメント−アトリビュート行列Aの次元を削減させる。
【0047】
【数5】
図6に示すように上記式中、Akは、k番目までの特異値を使用して得られた次元削減されたドキュメント−アトリビュート行列であり、Σkはk個の特異値から成るk×k次元の対角行列であり、Ukはk個の特異値に対する左特異ベクトルから成る行列であり、Vkはk個の特異値に対する右特異ベクトルから成る行列である。
【0048】
ステップS7においては、上述したようにして次元削減されたドキュメント−アトリビュート行列を使用して、クエリー・ベクトルとの乗算を実行し、ユーザが所望するクエリー・ベクトルに基づいた情報検索を実行させることになる。
【0049】
本発明の第1の実施の形態におけるドキュメント−アトリビュート行列Aの次元削減は、上述したようにQR分解により得られた行列Rを更新しつつ、直接SVDに提供し、精度良くSVDを実行することができると共に、次元削減に対する計算時間を著しく低減させることができ、この結果、メモリ資源を節約しつつ、高精度、高効率の情報検索を実行することが可能となる。
【0050】
<第2の実施の形態>
本発明の第2の実施の形態においては、共分散行列を使用した次元削減プロセスにおいて、すでに計算された以前のドキュメント−アトリビュート行列Aに対する共分散行列を使用して新たに加えられた副行列A1を含む新たな共分散行列を生成し、得られた副行列A1を反映した新たな共分散行列をSVDプロセスに提供するものである。本発明の第2の実施の形態は、ドキュメントの追加に対応できるばかりではなく、容易にドキュメントの削除についても適用することができる。
【0051】
以下、本発明の第2の実施の形態について詳細に説明する。本発明の第2の実施の形態を詳細に説明する前に、共分散行列を用いた情報検索について概略的な説明を行う。M×Nの要素からなるドキュメント−アトリビュート行列Aに対して、その共分散行列Cは、下記式により与えられる。
【0052】
【数6】
上式中、SUM(M)1は、ドキュメント・ベクトルの積和行列であり、SUM(M)2は、ドキュメント・ベクトルの平均の積行列である。di、bard(M)、bard(M)iは、それぞれドキュメント−アトリビュート行列Aの要素i、jを使用して下記式で定義される。このうち、SUM(M)1およびSUM(M)2は、共にN×Nの対称な正方行列である。
【0053】
【数7】
【0054】
上述したように定義された共分散行列は、N×Nの正方行列として得られる。また、共分散行列の特異値または固有値は、例えば特願2000−175848号に記載されているように、ドキュメント−アトリビュート行列の特異値または固有値を保存し、かつ正方行列であるのでドキュメントが著しく多い場合であっても特異値または固有値、ひいては特異ベクトルまたは固有ベクトルを迅速に計算でき、高い効率の情報検索の実行を可能とする。
【0055】
図7は、本発明の第2の実施の形態の情報検索方法のフローチャートを示した図である。なお、本発明の第2の実施の形態においてもドキュメント−アトリビュート行列構成は、図1に示したようにAおよび逐次的に蓄積されて行く副行列A1、A2,...,Anから構成されているものとして説明する。以下に説明する実施の形態においては、まず最初に行列Aから共分散行列を生成して行くものとして説明する。
【0056】
図7に示されるように、本発明の情報検索方法の第2の実施の形態は、ステップS10から開始し、ステップS11において行列Aから上記式にしたがって共分散行列を生成する。
【0057】
ステップS12においては、H個のドキュメント・ベクトルを含む副行列A1が、行列Aに追加され、ドキュメント−アトリビュート行列が形成される。ステップS13においては、副行列A1のドキュメント−アトリビュート行列から、下記式の計算を実行させる。
【0058】
【数8】
さらにステップS14において、下記式の計算を実行させる。
【0059】
【数9】
次いで、ステップS15において、下記式の計算を実行させる。
【0060】
【数10】
【0061】
ここで、下記式の関係が各構成要素について成り立つ。
【0062】
【数11】
【0063】
次いで、下記式を使用して、SUM−MEAN(M+H)1を更新する。この際の計算は、単なるN回の加算により実行できるので計算時間を短縮することができる。
【0064】
【数12】
【0065】
次いで、ステップS16においてSUM(M+H)2を、下記式にしたがってSUM−MEAN(M+H)1を使用して更新する。
【0066】
【数13】
この更新の後、アップデートされた共分散行列C’を、下記式にしたがって得ることができる。
【0067】
【数14】
この後、ステップS17において更新された共分散行列C’を、SVDに提供して特異値または固有値を得、大きな方からk個の特異値または固有値に対応する特異ベクトルまたは固有ベクトルを選択して次元の減少された特異行列または固有行列を生成する。ステップS18において、次元の減少されたk本の特異行列または固有ベクトルまたは特異ベクトルを使用してドキュメント−アトリビュート行列Aの次元削減を行い、ステップ19で情報検索を実行させ、ステップS20で、本発明の第2の実施の形態のプロセスを終了する。図8には、上述した本発明のプロセスのうち、ステップS11において説明した共分散行列の生成のための擬似コードを示す。
【0068】
また、本発明においては、上述したプロセスにおいてSUM(M−H)1を生成させて同様に計算を繰り返すことにより、ドキュメント・ベクトルが何らかの理由により削減された場合にも容易に対応することが可能となる。
【0069】
さらに、本発明の第2の実施の形態においては、アトリビュート自体のアップデートおよびダウンデートを行うことも可能となる。アトリビュートのアップデートは、新たなアトリビュートが加えられた場合に実行され、アトリビュートの削減は、例えばアトリビュートが検索において非現実的なものとなったとき、または検索する必要が無くなったときに実行される。アトリビュートの追加・削除は、アトリビュート・ハッシュ・テーブルを使用して実行される。
【0070】
図9には、本発明の第2の実施の形態に適用される、ドキュメントの追加または削除におけるアトリビュート・ハッシュ・テーブルを変更するプロセスを示した図である。図9(a)に示すように、ユーザからのドキュメント(i)の追加/削除の要求があると、本発明においては、ドキュメント(i)を追加する場合には、まずバイナリ・モデルといった適切な方法を使用してドキュメント・ベクトルを形成する。また、ユーザがドキュメント(i)を削除しようとする場合には、削除しようとするドキュメント(i)を特定する。
【0071】
次いで、図9(b)に示すようにドキュメント(i)に含まれる非ゼロのアトリビュートATを特定する。図9(b)においては、ドキュメント(i)が含む非ゼロのアトリビュートatt3,attn−1が、数値1に対応することが示されているが、本発明において重み付けをそれぞれのアトリビュートATに対して適用する場合には、非ゼロの要素は、ウエイト・ファクタに対応した1以外の値とされていても良い。
【0072】
上述したようにドキュメント(i)における非ゼロのアトリビュートが特定されると、本発明においては、図10に示されたアトリビュート・ハッシュ・テーブルを参照する。
【0073】
アトリビュート・ハッシュ・テーブルには、それぞれのアトリビュートと、当該アトリビュートを含むドキュメント数とが対応して記憶されており、アトリビュートからドキュメント数を参照することが可能とされている。図10を使用してドキュメントの追加/削除の実施の形態について説明すると、例えば、アトリビュート3とアトリビュートn−1とを含むドキュメント(i)が追加/削除される場合には、もともとアトリビュート3を含むドキュメント数6が、追加の場合にはドキュメント数7とされ、削除の場合にはドキュメント数5と変更される。
【0074】
これに対応して、図10に示される実施の形態の場合には、アトリビュートn−1も非ゼロの要素となっているので、もともとアトリビュートn−1に関連するドキュメントのドキュメント数33が、追加/削除に対応して34または32へと変更される。上述したアトリビュート・ハッシュ・テーブルは、さらに別の識別子を使用することにより所定のアトリビュートを有する個々のドキュメントの参照を可能とするようにされていてもよい。
【0075】
図11は、上述したアトリビュートの削除を実行させる場合の概念図を示す。図11(a)が、アトリビュート削除前のドキュメント・ベクトルの構成を示したものであり、図11(b)がアトリビュート削除後のドキュメント・ベクトルの構成を示した実施の形態を示した図である。図11に示した実施の形態においては、アトリビュート4が削除される実施の形態を示しているが、本発明において削除されるアトリビュートの示された位置、または一度に削除されるアトリビュートの数は、図11に示される以外にもいかなるものでも用いることができる。
【0076】
図12は、図11に示されたアトリビュート4を削除する場合のドキュメント・ベクトルの積和行列の変更を例示した図である。図12(a)は、アトリビュート4の削除前のドキュメント・ベクトルの積和により得られる積和行列を示し、図12(b)は、アトリビュート4の削除後のドキュメント・ベクトルから得られる積和行列を示す。上述したように、本発明においては、共分散行列を生成する際に積和行列を用いるので、アトリビュートの追加、削除も容易に含めることができる。
【0077】
図13は、アトリビュートを加える際の処理を説明した概略図である。図13に示した実施の形態においては、図13(a)にアトリビュート追加前のドキュメント・ベクトルが示されており、このドキュメント・ベクトルに対して、図13(b)に示されるように、アトリビュートn+1がドキュメント・ベクトルに対して加えられる。図14には、上述したように加えられたアトリビュートn+1を含んだドキュメント・ベクトルから積和により形成された(N+1)×(N+1)行列を示す。
【0078】
上述した従来の共分散行列を作る場合のドキュメント・データは、ドキュメント数とアトリビュート数とがあらかじめわかっていることが前提とされていた。これに対して本発明は、文書数の総数もアトリビュート数も、最初はわかってない状態から計算を逐次実行させることを可能とする。
【0079】
図15には本発明の情報検索方法を実施するためのコンピュータ・システムの概略図を示す。図15に示した本発明のコンピュータ・システムは、コンピュータ10と、このコンピュータ10とデータの伝送を行うことが可能であるように接続されたデータベース12とを含んで構成されている。本発明において使用することができるコンピュータ10としては、本発明の方法を実行することができる中央処理装置(CPU)、RAMなどのメモリなどのハードウエア資源を含んで構成されている限り、パーソナル・コンピュータ、ワークステーションといったいかなるものでも用いることができる。また、本発明において使用することができるデータベース12としては、データが追加して書込みができるものであれば、従来知られているいかなるデータベースでも使用することができる。
【0080】
また、図15に示したコンピュータ・システムは、例えばインターネット、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)といった、これまで知られたいかなるTCP/IPといったプロトコルを使用して遠隔的に配置されネットワーク14を介して接続されたコンピュータ16と通信を行うことができるように構成することができる。図15に示した本発明の実施の形態においては、データベース12に接続されたコンピュータ10をサーバとして使用し、このサーバに対して遠隔的に接続されたコンピュータ16をクライアント・コンピュータとして使用する、いわゆるクライアント−サーバ・システムとして構成することができる。クライアント・コンピュータのユーザは、所望する情報を検索するべく、コンピュータ16へと例えばキーワードといったアトリビュートの入力を行う。
【0081】
入力されたキーワードは、ネットワーク14を介してコンピュータ10へと伝送され、コンピュータ10において情報検索を行うために使用される。データベース12には、オリジナルのドキュメントDが保持されている。また、データベース12には、このドキュメントDから所定のアトリビュートを抽出し、例えばバイナリ・モデルを使用して予め数値化されたドキュメント−アトリビュート行列も保持されている。本発明においては、上述したドキュメント−アトリビュート行列は、一度すでに本発明によるQR分解法または共分散行列法などの方法を使用してすでに次元削減が行われて、実際の情報検索に提供されている。
【0082】
図15に示されたデータベース12には、随時にドキュメントDNが追加されていて、副行列として蓄積されて行く。このドキュメントDNは、本発明においては、例えば日単位、週単位、月単位、あるいはサーバ管理者の規定する間隔で、前回SVDを実行した時点からその時点までに蓄積された分ごとに上述したQR分解法または共分散行列法により、以前に得られているRまたはSUM(M)1,SUM(M)2を使用することで、効率よく以前の結果を含めて次元削減が実行される。本発明においては、上述したようにしてアップデートまたはダウンデートされたドキュメントに対しての情報検索を行うために使用されるドキュメント−アトリビュート行列の効率的な次元削減を可能とし、高精度、かつ高効率の情報検索システムが提供されている。
【0083】
また図15においては、情報検索システムを特にクライアント−サーバ・システムとして説明したが、本発明においては、特にネットワークを介して接続されたクライアント−サーバ・システムばかりではなく、スタンド・アローンのパーソナル・コンピュータまたはワークステーションを使用した情報検索システムとすることができる。
【0084】
以下、本発明をより具体的に実施例をもって説明するが、本発明は後述する実施例によって限定されるものではない。
【0085】
【実施例】
(実施例1)
本発明のQR分解法を用いた情報検索について、表1に一部を示したサンプル・データベースを使用して、本発明の効果について検討を加えた。サンプル・データベースは、ドキュメント数300、キーワード数50の300×50のドキュメント−キーワード行列として構成した。
【0086】
表1に示したサンプル・データベースは、現実に使用されるデータベースよりも遙かに小さいので、計算速度においては、従来例で知られた方法に比較して大きな違いは見られなかった。このため、本発明の方法により得られた結果と、後述する比較例により得られた結果との計算精度の比較を行った。
【0087】
【表1】
【0088】
得られた計算精度を実施例1、比較例1、比較例2の計算結果と共に以下に示す。なお、特異値計算の精度を比較する簡単な方法として、最大の特異値σ1と最小の特異値σnの比(以下、この値をコンディション・ナンバーとして参照しcとで示す)を採用した。なお、比較例1は、ドキュメント・アトリビュート行列Aに更新された副行列Aiを加えたものを新たにAとして、A全体に対してSVD法を適用して計算を行うもの(以降、ナイーブなSVD法と呼ぶ)であり、比較例2は、ATAの逐次アップデート法によりSVDを更新する方法である。また、データベースの更新をシミュレートするため、300のドキュメント−キーワード行列を50×50チャンクに区切り、チャンク毎に所定の方法を用いてSVDを実行させた。
【0089】
実施例および比較例とも、Pentium(登録商標) III、クロック周波数733MHz(Intel社、登録商標)を使用したWindows(登録商標) 2000(Microsoft社、登録商標)をOSとして使用するパーソナル・コンピュータを使用した。また、データは、64ビット浮動小数点精度を使用して計算を実行した。
【0090】
上述した条件の下で得られた結果を、コンディション・ナンバーの比として示す。
【0091】
c1=10732.714570223183(実施例1)
c2=10732.714570223217(比較例1)
c3=10732.714570411234(比較例2)
という結果が得られた。
【0092】
したがって、本発明によるQR分解法を使用してSVDを実行させる場合には、ナイーブなSVD法を使用して得られる結果c2と本発明による方法c1との比が、c2/c1=1.0000000000000003となり、小数点以下9桁まで一致していることが示された。一方で、c2/c3の比は、0.9999999999824819となって、精度が本発明の方法よりも劣ることが示された。最小の特異値σnについてみれば、実施例1の方法と、比較例1の方法とは、小数点以下15桁まで一致していることが見出された。実施例1の結果から、本発明の方法は、ほぼマシンエプシロンまで精度的に問題ないことが示された。
【0093】
(実施例2)
実施例2においては、本発明のQR分解法を使用する実施の形態において算出するデータのスケーラビリティをあげて、CPUの全占有時間、反復計算時間からみた計算速度およびメモリ資源の必要量の点について検討を加えた。使用したデータは、
(a) 100x100、
(b) 1000x100、
(c) 10000x100、
(d) 100000x100、
(e) 1000000x100
の5つの行列を使用した。行列の要素は、ランダムに生成した密行列として作成した。計算にあたって使用したチャンクのサイズは、いずれも100×100とした。したがって、たとえば(e)で示される場合には、1万回反復してアップデートを行いながら計算を実行させることになる。また、本発明の方法を実行するプログラムは、言語Java(登録商標)で実装した。下記表に示すメモリ使用量のうち、概ね4MBがJava(登録商標)(Sun Microsystems社の登録商標)のVirtual Machineが占める。したがって、データが使用する実質のメモリサイズは、下記表4におけるメモリ使用量から4MBを引いた値と見積もることができる。
【0094】
【表2】
【0095】
【表3】
【0096】
【表4】
【0097】
計算時間の点でいえば、比較例2で示されるATAを反復して特異値を求めるのが最速の結果を与えた。このことは理論的にも明らかで、比較例2ではATAの計算における行列−行列積の計算と行列−行列和の計算だけで済むためである。
【0098】
一方、各反復計算の時間についてみれば、実施例2で示される本発明の方法は、QR分解の時間が必要とされる分だけ、反復時間を要することになることが示された。より正確にいえば、実施例2で使用した密行列に対してチャンク・サイズをHとしたとき、比較例2では、乗算にO(HN2)の計算量が必要となる。一方、実施例2で用いるQR分解法は、一回につき、O(2N2((H+N)-N/3)の計算量を必要とする(Golub & Van Loan)。
【0099】
ただし、実施例1においても説明したように、比較例2のATAの反復繰り返し計算は、速度を優先し、誤差を犠牲にするものである。なお、データが100×100の場合(上述した(a)の行列の場合)は、反復がないので計算手法そのものに要する時間の差を示しているといえる。一回の反復におけるCPU時間は、比較例2で概ね平均100ミリ秒程度、実施例2では、130ミリ秒程度となる。しかしながら、比較例1のナイーブなSVDと本発明の方法を比較すると、遙かに計算時間が早くなっていることが示される。
【0100】
表4に示すメモリ使用量に関してみれば、比較例2も実施例2もほぼ同程度にナイーブなSVDにより得られた比較例1において使用されるメモリよりも著しく小さなメモリですむことが示されている。したがって、本発明の方法は、メモリ資源の消費といった点でも従来の方法と劣るものではないことが示される。
【0101】
(実施例3)
<アップデート例>
実施例3として、本発明において共分散行列を使用してドキュメントのアップデートを行う場合について、検討を加えた。実施例3においては、図16に示すような7個のデータ・ファイル(その内容は、キーワードとその出現頻度)が、時間順に与えられたものとした。図16に示されるように、データ・ファイルは、タイムス・タンプとデータ・ファイル名とを記したデータ例を示す。この実施例では、“dataset”という名前のファイルとして参照する。例えば、図16中、20010701は、2001年7月1日を意味するタイム・スタンプである。
【0102】
図16に現れる個々のファイルの内容を、図17から図23に示す。個々のファイルの内容は、アトリビュートとして使用されるキーワードと、その重み付け(重み付けは、正の実数値で、大きいほどそのキーワードがその文書に含まれる寄与率が大きい)とからなるペアとして構成している。また、図17から図23までの文書データ・ファイルは、説明する実施例では20の文書数として構成した。
【0103】
以上のデータが与えられた場合、まず2001年7月1日のタイム・スタンプを含むdata1から順に読み込んでいき、図23のdata7まで本発明の共分散行列法を順次適用する。最後に、data7まで処理したところで共分散行列を使用してSVDを実行して、特異値および特異ベクトルを得た。比較のため、はじめから表5〜表10に示す140文書のデータ・ファイルを与え、これから共分散行列を生成してSVDを実行して得られた場合と特異値および特異ベクトルの結果を比較した(ベクトルの場合、順序を除いた。)。
【0104】
なお、表5の第1行目の140 40は、文書数のトータルが140個で、40個のキーワードからなるものであることを示している。図24には、本発明の実施例3において使用したキーワードを示す。
【0105】
【表5】
【0106】
【表6】
【0107】
【表7】
【0108】
【表8】
【0109】
【表9】
【0110】
【表10】
【0111】
実施例3では、まず図17に示したdata1が入力されるものとした。図25には、data1だけを処理した時点でのSUM−MEAN(M)1と、SUM(M)1とを示す。なお、最初の6行は、新しいキーワードが見つかった文書番号とそのキーワード名とを示す。図25に示されるように、data1を処理した時点では、キーワード総数は6で、したがってSUM−MEAN(M)1は、6次元ベクトルであり、SUM(M)1は、6×6次元の対称行列となる。
【0112】
図25においては、対称性から要素の半分だけを書き出して示している。また、キーワードは見つかるたびに、キーワードを管理するキーワード・ハッシュ・テーブルに追加される。キーワード・ハッシュ・テーブルにはこの他に、何個の文書がそのキーワードを含んでいるかのカウント数も保持されている。実施例3においては、キーワード・ハッシュ・テーブル以外に、総文書数M=20と、総キーワード数N=6とを保持させた。その後、data2をアップデートすることにより、ドキュメントの追加を実行した。その結果を、図26に示す。なお、図26においてもデータは、図25と同様の順および構成として示されている。data3からdata6までを同様に処理した。最後にdata7をアップデート処理した。この処理後のSUM−MEAN(M)1を図27に示す。また、SUM(M)1の内容を表11から表12に示す。なお、data3からdata6までのアップデート処理で、キーワードが合計40個出揃っているため、data7の処理においては、新たなキーワードの追加はされなかった。なお、表11および表12中「*」で示された要素は、0.0を意味する。また、コロンの左側の数字は、行列の行番号を示す。
【0113】
【表11】
【0114】
【表12】
【0115】
本発明においては、上述したように共分散行列を使用してdata1からdata7までのデータのアップデートを終了する。また、本発明において、この時点で共分散行列を作って欲しいとのユーザ・リクエストがある場合には、この時点でSUM(M)2を下記式で計算する。これは40×40の対称行列となる。
【0116】
【数15】
その後、SUM(M)1と、SUM(M)2とから共分散行列を計算させる。得られた共分散行列の結果を表13から表19に示す。得られる共分散行列は対称行列なので、表13〜表19では、要素の半分だけを示している。
【0117】
【表13】
【0118】
【表14】
【0119】
【表15】
【0120】
【表16】
【0121】
【表17】
【0122】
【表18】
【0123】
【表19】
【0124】
上記の逐次アップデートで計算された共分散行列C’を用いて特異値分解し、最初の10個の特異値と最大の特異値に対する特異ベクトルを計算した結果を、図28に示す。また、特異ベクトル(最大の特異値に対するもの)を表20に示す。
【0125】
【表20】
【0126】
比較例3として、従来の手法(あらかじめ文書総数、キーワード総数がわかっている場合)で表5〜表10のようなデータが与えられた場合に、直接共分散行列を計算し、これを特異値分解して特異値(大きい方から10個)と最大特異値に対する特異ベクトルを求めた結果を図29に示す。
【0127】
また、第1特異値に対する特異ベクトル(N=40次元)を下記表21に示す
【0128】
【表21】
【0129】
上述した実施例3と、比較例3とを比較した結果、本発明の方法で得られる特異値と、全体のデータから共分散行列を作って、これを特異値分解して得られる特異値は、一致していることが示された。
【0130】
また、最大特異値についてみても、たとえば、従来手法で得られる最大特異値に対する特異ベクトルの第3要素は-2.6187e-01であり、これは本発明で得られる最大特異値に対する特異ベクトルの第6要素に対応していることが示された。すなわち、最大特異値に対する特異ベクトルは、順列(permutation)を除いて、一致していることが示された。
【0131】
(実施例4)
<ダウンデート例>
実施例4として、実施例1で使用したデータから日付が2001年7月1日(data1)と2日(data2)のデータを削除することにより、データベースからのドキュメントのダウンデートについて検討した。ダウンデートのため、まず最初の処理は、SUM−MEAN(M)1と、SUM(M)1とを更新した。このために、data1とdata2とをまず走査して、削除分のSUM−MEAN(D)1と、SUM(D)1とをまず作成した。ここでDは、削除する文書数である。SUM−MEAN(D)1と、SUM(D)1とは、それぞれ、削除する文書の平均ベクトル(N次元)と削除される文書だけからなる積和行列成分(N×Nの対称行列)となる。
【0132】
具体的には、SUM−MEAN(D)1と、SUM(D)1とを求めた後、新らたなSUM−MEAN(M)1と、SUM(M)1とを下記式を使用して算出した。
【0133】
【数16】
【0134】
上記式は、N次元ベクトルの引き算であり、上記式は、N×Nの対称行列の引き算(要素ごと)である。これで、SUM−MEAN(M)1と、SUM(M)1との更新の第1ステップを終了する。
【0135】
次いで、削除することによってキーワード・ハッシュ・テーブルに保持する必要がなくなるキーワードが出てくる可能性があるので、これをD個の文書に関してもう一度走査して調査した。実施例3では、data1とdata2とを削除するので、これに伴い図30に示すキーワードが削除対象として検出された。
【0136】
SUM−MEAN(M)1に関しては、上記のキーワード各々に対応するインデックスの位置の要素を削除した(これを(i1、i2、i3、i4、i5、i6)と表記する。)。この結果、キーワード6個分だけ減少した34次元のベクトルが得られた。SUM(M)1に関しては、この6つのインデックス各々に対応する行列の縦方向と横方向の要素を削除した。たとえば、”AlGore”に対するインデックスi1に関しては、SUM(M)1の中で行番号または列番号がi1のものをすべて削除した。この時点でN×N行列は、(N−1)×(N−1)行列として生成され、最終的には、(N−6)×(N−6)の行列として、SUM(M)1を生成した。
【0137】
上述した削除を、”Japan”に対応するインデックスi6まで繰り返した。このプロセスを終了した時点で、SUM−MEAN(M)1とSUM(M)1との更新を終了した。この結果として、元の40次元から6次元少ない34次元ベクトルのSUM−MEAN(M)1とSUM(M)1とを得た。
【0138】
最後にSUM(M)2をアップデートの場合と同じ式で計算し、共分散行列を求め、これを特異値分解して特異値(大きい方から10個)と最大特異値に対する特異ベクトルを求めた。その結果を、図31に示す。また、表22には、第1特異値に対する特異ベクトル(N=34次元)を示す
【0139】
【表22】
【0140】
また、比較例4としてdata3からdata7までをまとめた全体の行列を表5〜表10と同様なフォーマットとして一度に共分散行列を計算してSVDを実行させることにより得た特異値(大きい方から10個)を図32に示す。また、最大特異値に対する特異ベクトルを求めた結果を表23に示す。
【0141】
【表23】
【0142】
実施例4および比較例4の結果を比較すると、最大から10個の特異値に関しては、従来手法と一致していることが示される。また、本手法で得られる最大特異値に対する特異ベクトルと従来手法で得られる特異ベクトルとを比較すると、順序を除き、それぞれの特異ベクトルは、ほぼ一致していることが示された。たとえば、実施例4により得られた特異ベクトルの2番目のベクトル要素1.7290e-01は、従来手法(一括手法)の3番目のベクトルの要素に対応していることが示される。
【0143】
本発明の上述した情報検索を実行させるためのプログラムは、これまで知られたいかなる言語を使用しても記述することができ、例えばC言語、C++言語、Java(登録商標)といった言語を使用して本発明の方法を実行させるためのプログラムとすることができる。また、本発明の方法を実行させるためのプログラムは、フロッピー(登録商標)ディスク、ハードディスク、磁気テープといったコンピュータ可読な磁気記録媒体、光磁気ディスク、CD−ROM、DVDといったコンピュータ可読な記録媒体に記憶させることができる。
【0144】
上述したように、本発明によれば、ドキュメントが逐次アップデートされていく大規模なデータベースにおける以前に計算された次元削減に関する結果を使用して、アップデートされたドキュメントを含むドキュメント−アトリビュート行列の特異値分解を効率的に実行することが可能となる。また、本発明により得られた特異ベクトルを使用してアップデートされたドキュメント−アトリビュート行列の次元削減を実行させた後、情報検索を行うことにより、効率的で、かつ高精度の情報検索を実行することが可能となる。
【0145】
これまで本発明を図面に示した実施の形態に基づいて詳細に説明してきたが、本発明は、図面に示した実施の形態に限定されるものではなく、種々の変更、別の実施の形態を採用することが可能である。例えば、本発明においては、ドキュメントを文書ドキュメントとして説明してきたが、本発明において使用することができるドキュメントは、文書ドキュメントに限定されるものではなく、オーディオ、グラフィックス、動画といったドキュメントを含むことができる。
【図面の簡単な説明】
【図1】 本発明において使用するデータベースの概略構成を示した図。
【図2】 副行列A1が加えられた時の更新を示した図。
【図3】 本発明のQR分解方を用いた情報検索方法のフローチャート。
【図4】 一般的な行列Dに対するQR分解の実行のための擬似コードを示した図。
【図5】 行列AのQR分解により得られる行列の構成要素を示した概略図。
【図6】 特異値分解してk次元への次元削減を示した図。
【図7】 本発明の第2の実施形態の情報検索方法のフローチャートを示した図。
【図8】 図7に示したステップS11において使用する共分散行列生成のための擬似コードを示した図。
【図9】 アトリビュート・ハッシュ・テーブルを変更するプロセスを示した概略図。
【図10】 本発明において使用するアトリビュート・ハッシュ・テーブルを示した図。
【図11】 アトリビュートの削除を実行する場合の概略図。
【図12】 アトリビュートの削除と、生成される行列との関係を示した図。
【図13】 アトリビュートの追加と、生成される行列との関係を示した図。
【図14】 アトリビュートの追加と、生成される行列との関係を示した図。
【図15】 本発明の情報検索システムを示した概略図。
【図16】 タイム・スタンプとデータ・ファイルメイトからなるデータ例を示した図。
【図17】 図16で説明した個々のファイルを示した図。
【図18】 図16で説明した個々のファイルを示した図。
【図19】 図16で説明した個々のファイルを示した図。
【図20】 図16で説明した個々のファイルを示した図。
【図21】 図16で説明した個々のファイルを示した図。
【図22】 図16で説明した個々のファイルを示した図。
【図23】 図16で説明した個々のファイルを示した図。
【図24】 本発明において使用したキーワードを例示した図。
【図25】 data1のみを処理した段階でのSUM−MEAN(M)1と、SUM(M)1とを示した図。
【図26】 data2をアップデートしてデータを追加して得られた結果を示した図。
【図27】 data7までアップデートして得られたSUM−MEAN(M)1を示した図。
【図28】 アップデートされた共分散行列C’を使用して得られた特異ベクトルを示した図。
【図29】 はじめから表5〜表10のデータとして与えられた行列を直接特異値分解して得た特異値を示した図。
【図30】 削除の対象となったキーワードを示した図。
【図31】 本発明によりダウンデートされた共分散行列により得られた特異値を示した図。
【図32】 表5〜表10のデータから予めデータをダウンデートして直接共分散行列を生成して得られた特異値を示した図。
【符号の説明】
10…コンピュータ
12…データベース
14…ネットワーク
16…コンピュータ
Claims (12)
- データベースに時間の経過と共に追加されるドキュメントを検索するための情報検索システムであって、前記ドキュメントは、ドキュメント−アトリビュート行列へと変換されて前記情報検索システムに保持され、かつ前記ドキュメント−アトリビュート行列は、逐次的に追加されるドキュメント−アトリビュート副行列から構成され、
前記ドキュメント−アトリビュート行列から共分散行列を生成し、ドキュメントベクトルの積和行列(SUM(M)1)と、ドキュメント−ベクトルの平均(MEAN(M)1)と、ドキュメント−ベクトルの平均の積行列(SUM(M)2)と、ドキュメントの全数(M)とを保持させるための手段と、
前記データベースに所定の期間の間に追加されたドキュメントからドキュメント−アトリビュート副行列を生成するための手段と、
生成された前記共分散行列と、前記SUM(M) 1 と、前記MEAN(M) 1 と、前記SUM(M) 2 と、前記Mと、追加された前記副行列のドキュメント数(H)とからなる前記ドキュメント−アトリビュート副行列に関連する情報を使用して前記共分散行列を更新し、更新された前記共分散行列を特異値分解して、データベースに保持されたすべてのドキュメント−アトリビュート行列の次元削減を実行するための手段と、
前記次元削減されたドキュメント−アトリビュート行列を使用してユーザが入力したクエリーによる情報検索を行うための手段と
を含む、情報検索システム。 - さらに、ドキュメント−ベクトルに含まれるアトリビュートを自動的に検索し、アトリビュート・ハッシュ・テーブルを生成して前記アトリビュートを追加または削除するための手段を含む
請求項1または2に記載の情報検索システム。 - データベースに時間の経過と共に追加されるドキュメントを検索するための情報検索方法であって、前記方法は情報検索システムによって実行され、前記ドキュメントは、ドキュメント−アトリビュート行列へと変換されて保持され、かつ前記ドキュメント−アトリビュート行列は、逐次的に追加されるドキュメント−アトリビュート副行列から構成され、
前記情報検索システムが備える保持させるための手段が、前記ドキュメント−アトリビュート副行列から共分散行列を生成し、ドキュメントベクトルの積和行列(SUM(M)1)と、ドキュメント−ベクトルの平均(MEAN(M)1)と、ドキュメント−ベクトルの平均の積行列(SUM(M)2)と、ドキュメントの全数(M)とを保持させるステップと、
前記情報検索システムが備えるドキュメント−アトリビュート副行列を生成するための手段が、前記データベースに所定の期間の間に追加されたドキュメントからドキュメント−アトリビュート副行列を生成するステップと、
前記情報検索システムが備える次元削減を実行するための手段が、生成された前記共分散行列と、前記SUM(M) 1 と、前記MEAN(M) 1 と、前記SUM(M) 2 と、前記Mと、追加された前記副行列のドキュメント数(H)とからなる前記ドキュメント−アトリビュート副行列に関連する情報を使用して前記共分散行列を更新し、更新された前記共分散行列を特異値分解して、データベースに保持されたすべてのドキュメント−アトリビュート行列の次元削減を実行するステップと、
前記情報検索システムが備える情報検索を行うための手段が、前記次元削減されたドキュメント−アトリビュート行列を使用してユーザが入力したクエリーによる情報検索を行うステップと
を含む、情報検索方法。 - 前記情報検索システムが備えるアトリビュートを追加または削除するための手段が、さらに、ドキュメント−ベクトルに含まれるアトリビュートを自動的に検索し、アトリビュート・ハッシュ・テーブルを生成して前記アトリビュートを追加または削除するステップを含む
請求項4または5に記載の情報検索方法。 - データベースに時間の経過と共に追加されるドキュメントを検索するための情報検索方法をコンピュータに実行させるためのプログラムであって、前記ドキュメントは、ドキュメント−アトリビュート行列へと変換されて保持され、かつ前記ドキュメント−アトリビュート行列は、逐次的に追加されるドキュメント−アトリビュート副行列から構成され、
前記ドキュメント−アトリビュート副行列から共分散行列を生成し、ドキュメントベクトルの積和行列(SUM(M)1)と、ドキュメント−ベクトルの平均(MEAN(M)1)と、ドキュメント−ベクトルの平均の積行列(SUM(M)2)と、ドキュメントの全数(M)とを保持させるステップと、
前記データベースに所定の期間の間に追加されたドキュメントからドキュメント−アトリビュート副行列を生成するステップと、
生成された前記共分散行列と、前記SUM(M) 1 と、前記MEAN(M) 1 と、前記SUM(M) 2 と、前記Mと、追加された前記副行列のドキュメント数(H)とからなる前記ドキュメント−アトリビュート副行列に関連する情報を使用して前記共分散行列を更新し、更新された前記共分散行列を特異値分解して、データベースに保持されたすべてのドキュメント−アトリビュート行列の次元削減を実行するステップと、
前記次元削減されたドキュメント−アトリビュート行列を使用してユーザが入力したクエリーによる情報検索を行うステップと
を含む、情報検索方法を前記コンピュータに実行させるためのプログラム。 - さらに、ドキュメント−ベクトルに含まれるアトリビュートを自動的に検索し、アトリビュート・ハッシュ・テーブルを生成して前記アトリビュートを追加または削除するステップを実行させる
請求項7または8に記載のプログラム。 - データベースに時間の経過と共に追加されるドキュメントを検索するための情報検索方法をコンピュータに実行させるためのプログラムが記録されたコンピュータ可読な記録媒体であって、前記ドキュメントは、ドキュメント−アトリビュート行列へと変換されて保持され、かつ前記ドキュメント−アトリビュート行列は、逐次的に追加されるドキュメント−アトリビュート副行列から構成され、
前記ドキュメント−アトリビュート行列から共分散行列を生成し、ドキュメントベクトルの積和行列(SUM(M)1)と、ドキュメント−ベクトルの平均(MEAN(M)1)と、ドキュメント−ベクトルの平均の積行列(SUM(M)2)と、ドキュメントの全数(M)とを保持させるステップと、
前記データベースに所定の期間の間に追加されたドキュメントからドキュメント−アトリビュート副行列を生成するステップと、
生成された前記共分散行列と、前記SUM(M) 1 と、前記MEAN(M) 1 と、前記SUM(M) 2 と、前記Mと、追加された前記副行列のドキュメント数(H)とからなる前記ドキュメント−アトリビュート副行列に関連する情報を使用して前記共分散行列を更新し、更新された前記共分散行列を特異値分解して、データベースに保持されたすべてのドキュメント−アトリビュート行列の次元削減を実行するステップと、
前記次元削減されたドキュメント−アトリビュート行列を使用してユーザが入力したクエリーによる情報検索を行うステップと
を含む、情報検索方法を前記コンピュータに実行させるためのプログラムが記録された記録媒体。 - さらに、ドキュメント−ベクトルに含まれるアトリビュートを自動的に検索し、アトリビュート・ハッシュ・テーブルを生成して前記アトリビュートを追加または削除するステップを実行させる
請求項10または11に記載の記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001324437A JP3953295B2 (ja) | 2001-10-23 | 2001-10-23 | 情報検索システム、情報検索方法、情報検索を実行させるためのプログラムおよび情報検索を実行させるためのプログラムが記録された記録媒体 |
US10/278,675 US6965898B2 (en) | 2001-10-23 | 2002-10-23 | Information retrieval system, an information retrieval method, a program for executing information retrieval, and a storage medium wherein a program for executing information retrieval is stored |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001324437A JP3953295B2 (ja) | 2001-10-23 | 2001-10-23 | 情報検索システム、情報検索方法、情報検索を実行させるためのプログラムおよび情報検索を実行させるためのプログラムが記録された記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003141160A JP2003141160A (ja) | 2003-05-16 |
JP3953295B2 true JP3953295B2 (ja) | 2007-08-08 |
Family
ID=19141166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001324437A Expired - Fee Related JP3953295B2 (ja) | 2001-10-23 | 2001-10-23 | 情報検索システム、情報検索方法、情報検索を実行させるためのプログラムおよび情報検索を実行させるためのプログラムが記録された記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6965898B2 (ja) |
JP (1) | JP3953295B2 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7020775B2 (en) * | 2001-04-24 | 2006-03-28 | Microsoft Corporation | Derivation and quantization of robust non-local characteristics for blind watermarking |
US6973574B2 (en) * | 2001-04-24 | 2005-12-06 | Microsoft Corp. | Recognizer of audio-content in digital signals |
US7356188B2 (en) * | 2001-04-24 | 2008-04-08 | Microsoft Corporation | Recognizer of text-based work |
US20040078412A1 (en) * | 2002-03-29 | 2004-04-22 | Fujitsu Limited | Parallel processing method of an eigenvalue problem for a shared-memory type scalar parallel computer |
US7050932B2 (en) * | 2002-08-23 | 2006-05-23 | International Business Machines Corporation | Method, system, and computer program product for outlier detection |
US7475027B2 (en) * | 2003-02-06 | 2009-01-06 | Mitsubishi Electric Research Laboratories, Inc. | On-line recommender system |
US7831832B2 (en) * | 2004-01-06 | 2010-11-09 | Microsoft Corporation | Digital goods representation based upon matrix invariances |
US20050165690A1 (en) * | 2004-01-23 | 2005-07-28 | Microsoft Corporation | Watermarking via quantization of rational statistics of regions |
US7770014B2 (en) * | 2004-04-30 | 2010-08-03 | Microsoft Corporation | Randomized signal transforms and their applications |
US7075064B2 (en) * | 2004-05-24 | 2006-07-11 | Brigham Young University | System and method for extracting spectra from data produced by a spectrometer |
US8312021B2 (en) * | 2005-09-16 | 2012-11-13 | Palo Alto Research Center Incorporated | Generalized latent semantic analysis |
US20070076869A1 (en) * | 2005-10-03 | 2007-04-05 | Microsoft Corporation | Digital goods representation based upon matrix invariants using non-negative matrix factorizations |
US20070124316A1 (en) * | 2005-11-29 | 2007-05-31 | Chan John Y M | Attribute selection for collaborative groupware documents using a multi-dimensional matrix |
US7630992B2 (en) * | 2005-11-30 | 2009-12-08 | Selective, Inc. | Selective latent semantic indexing method for information retrieval applications |
JP4550074B2 (ja) | 2007-01-23 | 2010-09-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 不均質な情報源からの情報トラッキングのためのシステム、方法およびコンピュータ実行可能プログラム |
JP5289020B2 (ja) * | 2008-12-08 | 2013-09-11 | 三菱電機株式会社 | 特異値分解装置及び特異値分解方法及び特異値分解プログラム |
EP2374099A1 (en) * | 2008-12-30 | 2011-10-12 | Telecom Italia S.p.A. | Method and system of content recommendation |
WO2012077818A1 (ja) * | 2010-12-10 | 2012-06-14 | 国立大学法人豊橋技術科学大学 | ハッシュ関数の変換行列を定める方法、該ハッシュ関数を利用するハッシュ型近似最近傍探索方法、その装置及びそのコンピュータプログラム |
US20130268518A1 (en) * | 2011-02-18 | 2013-10-10 | Hon Hai Precision Industry Co., Ltd. | Electronic device and method for searching related terms |
US9898441B2 (en) * | 2016-02-05 | 2018-02-20 | Google Llc | Matrix processing apparatus |
CN112015723A (zh) * | 2019-05-28 | 2020-12-01 | 顺丰科技有限公司 | 数据等级划分方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4839853A (en) * | 1988-09-15 | 1989-06-13 | Bell Communications Research, Inc. | Computer information retrieval using latent semantic structure |
-
2001
- 2001-10-23 JP JP2001324437A patent/JP3953295B2/ja not_active Expired - Fee Related
-
2002
- 2002-10-23 US US10/278,675 patent/US6965898B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6965898B2 (en) | 2005-11-15 |
JP2003141160A (ja) | 2003-05-16 |
US20030159106A1 (en) | 2003-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3953295B2 (ja) | 情報検索システム、情報検索方法、情報検索を実行させるためのプログラムおよび情報検索を実行させるためのプログラムが記録された記録媒体 | |
US10019509B1 (en) | Multi-dimensional modeling in a functional information system | |
Shahnaz et al. | Document clustering using nonnegative matrix factorization | |
US11847113B2 (en) | Method and system for supporting inductive reasoning queries over multi-modal data from relational databases | |
JP3672234B2 (ja) | データベースからのドキュメントのリトリーブ・ランク付け方法、コンピュータシステム、および記録媒体 | |
US8533195B2 (en) | Regularized latent semantic indexing for topic modeling | |
US9262495B2 (en) | Dimensional reduction mechanisms for representing massive communication network graphs for structural queries | |
WO2017091410A1 (en) | Storing and retrieving data of a data cube | |
US20120109943A1 (en) | Adaptive Image Retrieval Database | |
US20040010485A1 (en) | Retrieving, detecting and identifying major and outlier clusters in a very large database | |
CN109214004B (zh) | 基于机器学习的大数据处理方法 | |
CN108986872B (zh) | 用于大数据电子病历约简的多粒度属性权重Spark方法 | |
CN109241298B (zh) | 语义数据存储调度方法 | |
JP2016018286A (ja) | 行動タイプ判定装置、行動タイプ判定方法及び行動タイプ判定プログラム | |
Su et al. | Supporting correlation analysis on scientific datasets in parallel and distributed settings | |
CN106777140B (zh) | 用于非结构化文档搜索的方法及装置 | |
Buckley et al. | Consistent, multidimensional differential histogramming and summary statistics with YODA 2 | |
Tejasree et al. | An improved differential bond energy algorithm with fuzzy merging method to improve the document clustering for information mining | |
JP3788254B2 (ja) | 情報フィルタリングシステムとそのフィルタリング方法、及び情報フィルタリングプログラム | |
CN106682129B (zh) | 个人大数据管理中层次概念向量化增量处理方法 | |
Gautam et al. | Document clustering through non-negative matrix factorization: a case study of Hadoop for computational time reduction of large scale documents | |
CN115934759B (zh) | 一种面向海量多源异构卫星数据查询的加速计算方法 | |
CN112131446B (zh) | 图节点分类方法、装置、电子设备及存储介质 | |
Shrestha | Text mining with Lucene and Hadoop: Document clustering with feature extraction | |
CN109460449B (zh) | 并行化数据分析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050808 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051018 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060606 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060829 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070417 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20070417 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070424 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |