18 Matrix decomposition and latent semantic indexing (pp.369-384)

ちょっと飛ばして,先にIIR18章を読んでみた.単語文書行列を特異値分解して新しい空間でベクトル空間モデルを使うというLSIの話.

ページ数が少なかったので,魔が差して翻訳もしてみた.さらに数式が多いのでTeXで書いてみた.ここまで来たらこだわろうとAB型の悪い癖が出て,数式や演習も全部訳してみた.ついカッとなってやってしまった.今は公開している.でも反省はしていない.まだやっつけの部分があるのでこつこつとバージョンアップしてきます.

大体1ページ1時間.こつこつ夜なべをして3日間くらいかかりました.否が応でも精読するので,とても理解が深まりました.じっくり読むのも翻訳作業もとても楽しかったので,なんで学生時代にもっとこういうことをしなかったのだろうとちょっと悲しくなりました.

まぁ,今もゆとりある生活だし,時間見つけてやればいいか.

本章のまとめ

(1)固有値に基づく行列分解,(2) 特異値分解,(3)潜在意味インデキシングの3本立て.(1) は(2) を導くための手法.

(1) 固有値に基づく行列分解
(2) 特異値分解
  • 固有値は正方行列でないと求められないので,M!=NであるようなMxN行列にも適用したい
  • そこで特異値分解(SVD)の登場
    • 特異値分解における小さい方から\sigma_iを削っていく近似方法は元の行列との誤差であるフロベニウスノルムが最小になるという定理 (Eckart and Young 1936)
    • 0となる部分は削ってしまうreduce SVD, truncated SVD
(3) 潜在意味インデキシング
  • 潜在意味インデキシング(LSI)
    • SVDによって次元削減した空間でのベクトル空間モデル
    • 単語文書行列の高い次元をどうにかしたい
    • LSIでは,似たような共起をする単語ペアを同じように写像する
    • よって,言語横断検索にも適用できるのではないか(Ex.18.11)
    • SVDってソフトクラスタリングとも解釈できるよね

読み終わると,たいした内容ではないことに気がつく.ここまで丁寧に解説をするか,というくらい丁寧.今までLSIについては情報検索アルゴリズムとか,いろいろなところで知っていたものの,なぜそうなるのか,という点が理解できていなかった.本章を読むと,そこまで数学的に深入りせずに,それでいて要点を押さえた理解ができると思う.

そういえば昔,先生に「LSIは単語と文書の共起行列を二乗誤差の意味で近似する方法」というような話をされたことがある.修論に関するアドバイスのとても長いメールの中に書かれていたのだけれど,その内容の半分を理解するために1週間以上かかった記憶がある.後から追加質問をしてみたものの,結局半分くらいしか理解できなかった.
先生に申し訳ない気持ちずっと気に病んでいたのだけれど,LSIに関しては喉の骨が取れた気分になった.

翻訳作業で学んだこと

TeX
  • 行列とか最初は面倒だと思ってみたが,覚えてみるとそこまで苦痛ではなかった.
  • TeXで数式を書くスピードがかなり速くなったし,長い数式をコンパイルエラーを起こさず書けるようになった.
  • \noindent, \vspace等を使って,できるだけ原書に近いスタイルをもとめた.ひとつ上のTeX使いになったような気がする.気がするだけ.
英語
  • 普段絶対に辞書を引かないような単語でも辞書を引かないと訳せない単語がある.つまり知っている気になっていただけ
    • そして意外な意味を知る
  • ... provides, ... describes, ... presents, ... offers等,直訳しづらい表現に困った
  • 数式まわりの表現は一意性があるので,訳しやすい
  • 普段無視しているけれど,意味を知らなかった英単語,熟語がけっこうあった
    • to this end: そのため,この目的を達成するため
    • thereby: それによって
    • barring a rare coincidence: (めったにない)偶然の一致をのぞけば
  • 世の中の翻訳家の偉大さを知りました.いつもありがとうございます

どうでも良い気になった点

  • Exercise 18.1
  • Theorem 18.1.
  • Example 18.1:

というようにそれぞれの末尾が異なっているのが気になった.