sigfpai2009_okanohara

  • 5,333 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
5,333
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
22
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 2009/3/13 SIGFPAI @学習院大 大規模データを基にした 自然言語叀 岡野原大輔 東京大学情報 工学 研 科 コンピュータ科学専攻 辻井研 hillbig@is.s.u-tokyo.ac.jp
  • 2. 背景 • 匏用可能な言語資源の急 な拡大 – ブログ, 掲示板, 商品情報, レビュー – Wikipedia, Google N-gram Corpus ( 1010 語) – 従来の言語資源 Penn treebank ( 106語) • より多くのデータ⇒ も向上 – 統計的機械翻訳 [Brants+, EMNLP 07] • 言語資源の の対数で翻訳 は線形に上昇 – 博卝 有学習による ラベリング [Suzuki+, ACL 09] – 単語の類似 計算 [柴田+, NLP 09]
  • 3. 発表の概要 • 大 の言語資源を匏用した自然言語叀 で重要となってきた技術を紹介 • オンライン学習 – 卾厾的勾配 法, PA等 • コンパクトなモデル – L1正則化, FOLOS 引による効厾化(時間があれば) • – 拡張接尾辞配
  • 4. 自然言語叀 における機械学習 • 自然言語叀 の多くは入 から出 への関 数を学習する問題として定式化できる 入 出 – スパム分類 文書 スパムか? 二値分類 – 評判分類 レビュー 好意的か? – 情報匴 クエリ 関係する文書 – 構文解析 文 構文木 構造学習 – 機械翻訳 日本語の文 英語の文
  • 5. 線形 厌器 • 入 xと出 yから得られる情報で 特徴ベクトルφ(x, y)∈Rmを作る – 作り方は次項 • 重みベクトルw∈Rm とφ(x, y)の内積 重みベクトル と の内積 wTφ(x, y) をyのスコアとする – 高いスコアを持つyが予測結果 f(x) = argmaxy wTφ(x, y) – 何が効くか分からないが、効きそうなルールを全 部使う、その重みは自動決定 – NB, SVM, MaxEntなど多くが属する
  • 6. 特徴ベクトルの作り方 (1/2) 文書分類の場合 • 各次元が文書中に出現した単語に対応 – Bag of Words, BOW表現 鳥取 1 φ(x)= (0…0,1,0…0,1,…) … … 鳥取では 砂丘が 砂丘 1 有名です.. “砂丘”’に対応する次元 … … “鳥取”’に対応する次元 6
  • 7. 特徴ベクトルの作り方 (2/2) ラベリングの場合 [Suzuki+ ACL 08] 約50のテンプレート それぞれのテンプ レートから特徴 関数が生成される 特徴種類数は 数厝万 数百万
  • 8. 自然言語データにおける 特徴ベクトルの性質 • 高次元 – 周辺に出現した各単語、prefix, suffix, それら の組み合わせ全てが一つ一つの次元に対応 – 数百万次元 組み合わせれば数億 •疎 – 値が0じゃない次元の割合は大体0.01% • – 殆ど同じ特徴ベクトル、次元が多い
  • 9. オンライン学習
  • 10. 最適化による学習 • 訓練 {(xi, yi)} (i=1…N)を匏用し、分類器を 特徴付けるパラメータwを学習 n w = arg min ∑ l ( xi , yi ; w ) + R (w ) * i =1 w 正則化項: 損失関数:どれだけ訓練 を 正しく分類できているか? wの好ましさ max(0,1 − yw T x) hinge-loss (SVM) l ( x, y; w ) = − log(1 + exp(− yw T x)) log-loss (MaxEnt) exp(− yw T x) exp-loss (Ada Boosting)
  • 11. 凸最適化問題 n F (w ) = ∑ l ( xi , yi ; w ) + R(w ) i =1 • F(w)を最小にするようなwを求める – l(x,y,w), R(w)がともに凸関数ならFも凸関数 • 従来手法(バッチ学習) が大きす てできない – Newton法はHessian – 共役勾配法、L-BFGS法 – 各損失関数に特殊化された最適化法 SMO(SVM), Exponentiated GD (MaxEnt)
  • 12. オンライン学習 • 訓練 を1つずつ てwを する • 収束が速い – 特にデータが な場合 は、バッチ学習とほぼ同程 • • 実装コストは圧倒的に小さい c.f. バッチ学習 L-BFGS 500 強 – C++で10 • 性能の 厱的な分析も最近盛ん – Regret Analysis [S. S.-Shwartz 07] 最適な単一のw*を使った時との差
  • 13. オンライン学習 今回話す手法 • Perceptron – Averaged Perceptron – Structured Perceptron • Passive Aggressive Algorithm • Confidence Weighted Learning • 卾厾的勾配 法 • 後でL1正則化の章で発展形も紹介
  • 14. Perceptron [Rosenblatt Phy. Rev. 57] [Y. Freund+, COLT 98] 入 : {(xi, yi)} (i = 1…N) yi∈{+1,-1} w = {0,0,….0} // 初期化 loop // 訓練データをランダムにとってくる i [1,…,N] s := yiwTφ(xi) // wTφ(xi) 現在の予測 // 現在の予測が外れた if (s < 0) w := w + yiφ(xi) // 特徴ベクトルとラベルを足す endif end
  • 15. なぜ学習できるのか 後の重みベクトル • w’ := w + yiφ(xi) • これを使って、もう一 間違えた訓練 (xi,yi)を分類すると w’T φ(xi) =(w + yi φ(xi) )T φ(xi) =wT φ(xi) + yi φ(xi)Tφ(xi) 先程間違えた 二乗なので常に正 予測結果 wは正解が出るように される
  • 16. Perceptron補足 • 線形分 可能な場合 回数は有 • 線形 厌可能で叄い場合は使えないとの 判 [Minsky 69] – データにノイズがある場合やxorなど - – 廃れてしまった・・ ⇒ 最近 卹! + + - – カーネルトリックを使える [Y. Freund 98] – ノイズがあっても高卾厾で が高い [S. S.-Shwartz 07] • 次元数が非常に大きい場合はうまく動く – 自然言語叀 など多くの分野で使われるようになった – 後 の構造学習などでは、非常に強 な学習手法であること が分かってきた[Collins 02, Daume 06]
  • 17. Averaged Perceptron [Collins+ 02] • Perceptronは勘勣定 – 訓練 を る順番で性能が大きく厭わる – 全体で均す必要(一種の正則化) • 全てのステップでの重みを記録しておく – これらをw1, w2,…,wTとおく • 予測の時にwTではなく(∑i=1…T wi)/Tを使う – 全ステップの重みの平均 – これはvoted perceptronの近似になっている – 後 の卾厾的勾配法とも似ている
  • 18. Averaged Perceptron の効厾的な実装 入 : {(xi, yi)} yi∈{-1,1} (i=1…N) 赤字がPerceptron厭 点 w = {0,0,….0} // 初期化 wa = {0,0,….0} loop // 訓練データをランダムにとってくる i [1,…,n] s := yiwTφ(xi) // wTφ(xi)=現在の予測 // 現在の予測が外れた if (s < 0) w := w + yiφ(xi) wa := wa + t yiφ(xi) endif t := t + 1 end この結果は、すべてのステップ w := w – wa/t で平均をとったものと同じ
  • 19. Structured Perceptron [Collins 02] 構造学習への拡張 • 出 がラベル (y1y2y3y4)や木など内部 に構造を有する場合を構造学習と呼ぶ • これもパーセプトロンで学習可能 • φ(x,y)∈Rm: 入 xと出 yから決まる特徴ベクトル • w ∈Rm : 重みベクトル • s(y) = wTφ(x,y) : yのスコア • 適用できる条件 – y*=arg maxy s(y)が効厾的に求められる
  • 20. Structured Perceptron [Collins 02] 入 : {(xi, yi)} (i = 1…N) yi∈{+1,-1} w = {0,0,….0} // 初期化 loop // 訓練データをランダムにとってくる i [1,…,N] y*=arg maxywTφ(xi,y) // 現在の予測 // 現在の予測が外れた if (y* ≠ yi) w := w + φ(xi, yi) – φ(xi, y*) // 正解を強くして、 勘正解を弱くする endif end
  • 21. Passive Aggressive Algorithm [Crammer, JMLR 06] 1 2 w i +1 = arg min w − w i 2 w l ( xi , yi ; w ) = 0 l ( xi , yi ; w ) = max(1 − yi w T φ ( xi ),   0) s.t. • 各訓練 に対し上の問題を順に解く 1. 今の訓練 は正しく分類でき 2. これまでの重みベクトルに一番近い • この問題は次の閉じた解を持つ l ( xi , yi ; w ) τt = w t +1 = w t + τ t ytφ ( xi ) 2 φ ( xi )
  • 22. Passive Aggressive Algorithm (続) [Crammer, JMLR 06] • SVMと同様に制約を緩めたバージョン 1 w i +1 = arg min w − w i + Cξ s.t. l ( xi , yi ; w ) ≤ ξ ξ ≥0 2 (PA-I) 2 w 1 w i +1 = arg min w − w i + Cξ 2 s.t. l ( xi , yi ; w ) ≤ ξ 2 (PA-II) 2 w • これらも閉じた解を持つ w t +1 = w t + τ t ytφ ( xi )  l ( x , y ; w)  l ( xi , yi ; w ) τt = τ t = min C , i i 2  (PA-I) 1 (PA-II)  φ ( xi )  2 φ ( xi ) +   2C
  • 23. Confidence Weighted Learning [Dredze+ 08] [Crammer+ 08] • 各重みについて卾勼 を入 • 直厤: 回数が少ないやつは多いやつより大きく した方がいいだろう • 重みベクトルは平均μ∈Rm、共分散 ∑∈Rm×mのガウス分布で保持する – μをそのまま使ってμTφ(xi)で分類 – ∑の対 成分は卾勼 (µ i +1 , Σi +1 ) = arg min DKL (Ν (µ, Σ) || Ν (µ i , Σi ) ) µ ,Σ w~ (µ, Σ) Pr ( yi w φ ( xi ) ≥ 0 ) ≥ η T s.t.
  • 24. Confidence Weighted Learning (続) [Dredze+ 08] [Crammer+ 08] • 先ほどの解も閉じた形で求められる – 分散を使ったものと偏差を使った二つの バージョン • 共分散 を対 で近似したものは、 可能 Perceptron同様、高速な – 分散が大きいところは大きく
  • 25. 入 式 (x,y)が与えられた時の •どの手法もほぼ同じフレームワークで扱える •目的関数はそれぞれ全く違う • s =ywTφ(x) •正解した時は正、勘正解の時は の値 • t それまでに観測した訓練 数 • γ 分散も考慮した 幅
  • 26. 学習の繰り返し回数が10回の時(SVMを除く) 手法 P AP PA PA-I PA-II CW SVM 学習時間 (s) 0.54 0.56 0.58 0.59 0.60 1.39 1122.6 正解 (%) 94.7 95.3 96.5 96.5 96.5 96.5 96.2 学習の繰り返し回数が1回の時 手法 P AP PA PA-I PA-II CW 学習時間 (s) 0.05 0.09 0.07 0.08 0.08 0.21 正解 (%) 93.4 94.0 96.1 96.1 95.9 96.4 •テストデータとしてnews20.binaryを匏用 •クラス数2 データ数19996 素性種類数約135万 •シャッフルし、3:1の訓練データ、テストデータを作成 •訓練 一つあたり約3マイクロ秒 •データを一 しか ない場合も高 であった •オープンソースOLLを匏用
  • 27. 卾厾的勾配 法 (SGD: Stochastic Gradient Descent) • 従来の勾配 法 – F(w)を最小化する場合、勾配 ∂F(w)を求め w := w – τ ∂F(w) と (τ:ステップ幅) • 卾厾的勾配 法 – ∂F(w)を一部のデータの勾配で近似 v w := w – τv – τ = 1/λ(t+t0) (tはステップ数, λは適当な定数) ステップ幅は段々小さく(APと似ている)
  • 28. 卾厾的勾配 法 w = {0,0,…,0} // 初期化 loop [1,…,n] // 訓練 からランダムにサンプル i1 i2 .. (5 など) {(xi1, yi1), (xi2, yi2)…}から勾配∂F(w)の近似vを求める // サンプルに対する勾配を求める τ = 1/λ(t+t0) w := w – τv t := t + 1 end
  • 29. 卾厾的勾配 法(続) • 任意の損失関数をオンライン化可能 – 勾配を求める部分をさぼるだけ! – パーセプトロンもSGDの一種 • 収束は非常に速い – 訓練 が なため • パラメータλ, t0などは最初に訓練 の一部 からサンプリングし、求める場合が多い – 完全に自動化可能
  • 30. L1正則化によるモデルの コンパクト化
  • 31. モデルのコンパクト化 • パラメータ数は数百万 億と非常に 大 – 実匶に匏用する時に計算コストが高い – :組み匸み機器などで使いたい • 事前に特徴選択は難しい – 単純な占ち卲りは に – タスク毎に効く特徴が違う ⇒L1正則化を学習時に適用する – 学習時に特徴選択も同時に う
  • 32. L1正則化 n F (w ) = ∑ l ( xi , yi ; w ) + w 1 i =1 w 1 = ∑ | wi | • 重みの 対値の匄をペナルティに匏用 i – Lasso正則化とも呼ばれる – c.f. L2 正則化|w|2= ∑i wi2 • これは凸関数 – wi =0 で微分勘可能 – ちなみにL0の場合の最適化はNP完全問題
  • 33. L1正則化による学習結果の特徴 • L1正則化の場合、多くの重みが0になる – 特徴選択が最適化の中で自然に実現できる – 学習結果が分かりやすく、推定が高速、メモ リも少なくて済む – NLPの実験ではL2と比べて特徴数は約1/20 だが はほぼ同じ – L2の場合、全ての重みが0にならない • Representor Theorem w* = ∑iαiΦ(xi,yi)
  • 34. 直厤的な 解 各重みは損失関数を 減らそうと0から れようと するが、ペナルティがかかる |w|1 |w|2の場合,0に近づくと ペナルティは急速に |w|2 小さくなる w 全ての重みは0の近くまで けば生き る 0 それに対し|w|1の場合は ∂|w|1/∂w 勾配は常に一定なので ) 必要がない重みは (0方向に押す 0に押しつぶされる w 0 ∂|w|2/∂w
  • 35. L1正則化の意味付け • 重みの事前分布にLaplace分布を考えた場 合の事後卾厾最大推定(MAP推定) – 少数の大きい重みからなる – c.f. L2正則化の場合はGaussian分布 – 多くの小さめ重みからなる • 重みの0方向への定数のdiscount  | x − µ | 1 v* = argminv |v-w|2 s.t.|w|1<C p(w | µ , δ ) = – exp −   b 2b の解は vi = sign(wi)max(|wi |– θ, 0) 但し、 θはw, Cから決まる定数 [Duchi+ 08]
  • 36. 学習手法の比較実験 [Gao+ 07] • 5種類のパラメータ推定手法を様々なタス クに適用 • L1正則化が及 るきっかけ
  • 37. [Gao+ 07] の実験結果のまとめ • 5つの全く違うタスクをやったが結果は同じ – L2がわずかに勝っているが、L1、Averaged Perceptronも殆ど同じ性能 • L1はスパースな解 – L2-の1/10 1/100の有効な特徴数 • 性能がちょっとでも欲しい⇒ L2 • スパースな解を得たい ⇒ L1 • 実装が簡単 ⇒ Averaged Perceptron • 後で話すFOLOSは全部のいいとこどり
  • 38. L1正則化付の最適化問題 • 凸最適化問題だが、微分が求められない ため一般の最適化法は使えない – wi = 0で微分勘可能で、最適解はこの周り • バッチ学習はいろいろ提案されている – 差分表現による最適化 [Kazama+ 03, EMNLP] – OWL-QN [Andrew+ 07, ICML] – Multiplicative Update [Sha+ 07, IDA] – 内点法 [Koh+ 07, JMLR] • 今回はオンライン学習を紹介
  • 39. FOLOS [Duchi+ 09] (1/4) (FOrward LOoking Subgradient) • f(w) + r(w)を最小にするwを求める – f(w)は微分可能 ( :損失関数の匄) – r(w)は微分勘可能( : |w|1) • 最初にf(w)のみを最小化し、その結果に近 いものでr(w)を最小化するwを求める 法 (gtf = ∂f(wt)) f(w)のみでの勾配
  • 40. FOLOS [Duchi+ 09] (2/4) • 先ほどの二番目のステップは 単純な閉じた解が得られる場合が多い • 1. r(w) = |w|1の場合 – wt+1/2 = (0.5, -1.0, 2.0, -0.7, 1.4)、λ=1 の時 wt+1 = ( 0, 0, 1.0, 0, 0.4) 2. r(w) = |w|22の場合 • wt +1 = wt +1 2 /(1 + λ )
  • 41. FOLOS [Duchi+ 09] (3/4) 3. Berhu正則化(0からγまでL1, γからL2) • • 複雑な正則化も混ぜたり自由にできる – L1とL2とL∞を同時に与える
  • 42. FOLOS (4/4) • バッチ学習と殆ど同じ結果が得られる – 同時期に提案された似た手法も同様の結果 – 厱的にも近い結果が得られることが保 • 実装は非常に簡単 – 既存のオンライン学習に 加えるだけ – 「L1は引く、L2は割る」
  • 43. FOLOSまとめ 問題:f(w)+r(w)を最小化 • w = {0,0,…,0} • t=1 • loop • // 卾厾的勾配 法でもよい – w = w – μ∂F(w) – λ = λ0/(1+t) – for each i • wi := sign(wi) max(|wi|-λ, 0) // r(w)=|w|1 // r(w)=|w|22 wi / (1+λ) – end for – t := t + 1 • end loop
  • 44. 引による効厾化
  • 45. 引による効厾化 • 適卲なデータ構造/アル リズムを匏用すれ ば計算 ・作 を大幅に減らせる :厷置フ イルを匏用して多項式カーネルの – 計算を高速化 [Kudo+ 03] – 拡張接尾辞配 を匏用した 全部分文字 を特徴として匏用した文書分類 [Okanohara+ SDM 09]
  • 46. 概要 • 文書分類タスクに対し、全ての部分文字 を素性として扱う分類手法を提案 – 文字 カーネルと違い、それぞれの素性に なる重みを与えられ、分類は非常に高速 • 素性種類数は文書 の2乗だが、文書 に 比 する時間、作 で学習可能 – L1正則化+Grafting+極大部分文字 46
  • 47. 背景:文書分類タスク • 文書分類タスク:与えられた文書Dに対し, そのラベルL∈{1,…,k}を求める • Bag of words (BOW) 表現 – 各単語の出現情報で文書をベクトル表現 – 文書中の順序/位置は叄 するが強 静岡 1 Φ(D)= (0…0,1,0…0,1,…) … … 静岡では サッカーが サッカー 1 盛んです.. “サッカー”’に対応する次元 … … 47
  • 48. BOW表現の問題点 • 文書から単語 への厭 時のエラー – 形態素解析では解析に失敗する場合があり、特に分 類に重要な固有表現が未知語であり失敗する • 分類に効く単位と単語の単位が違う可能性 – 複数単語からなるキーワー や形態素 とずれた単 位 : 踊る大捜査線 #include <iostream> 全ての部分文字 を特徴として匏用する 48
  • 49. 提案手法 • 全ての部分文字 からなるBOW表現 – 部分文字 や特殊文字などで制 はしない – 発 する素性数は文書 の二乗に比 • 線形 厌器を匏用して分類 – カーネルは使わず陽に素性を表す – Φ(D) ∈R∞ 文書Dに対する素性ベクトル 各素性に対する重み – w∈R∞ f(D) = wT Φ(D) 49
  • 50. 提案手法(続) 問題: 特徴種類数が非常に大きい • – 部分文字 種類数は文書 の2乗 – 計算 ,作 が大きい – 過学習 • 適当な 値で素性を占ち卲るか? ⇒ 工夫することで、近似なしで線形時間で 学習可能 50
  • 51. 提案手法の概要 • L1正則化ロジスティック回帰(L1-LR)による学習 – 有効ではない素性に対応する重みは0 • GraftingによるL1-LRの最適化 – 有効な素性数に比 する時間で学習 • 極大部分文字 による部分文字 集合の表現 – 殆どの部分文字 は統計 が全く同じ • 拡張接尾辞配 による極大部分文字 の – 匫文書 に比 する時間で 可能 51
  • 52. 線形 厌器の学習 (多クラス)ロジスティック回帰 ( ) 1 exp w φ ( x, y ) p( y | x; w ) = T Z ( x) ( ) Z ( x) = ∑ exp w φ ( x, y ' ) T y' • 素性ベクトルは入 から決定される素性ベク トルをラベル種類数分並べたもの • 推定は argmaxy p(y|x; w) = argmaxy wTφ(x, y) 最大エントロピーモデルや線形対数モデルと同じ 52
  • 53. L1正則化付き最尤推定 (L1-LR)による 学習 w = arg max ∑ log p( yi | xi ; w ) − C | w |1 * w i • 訓練データ (xi, yi) (i=1…N)を用いてwをL1正則化 付で最尤推定 • L1正則化による学習では多くの重みが0である疎 な結果が得られる 53
  • 54. GraftingによるL1-LRの学習 [Perkins, JMLR 03] • L1の疎な特徴を生かし学習を高速化 • 特徴候補を空集合からはじめて、条件を 満たす特徴を一つずつ追加 – ブースティングによる学習に似ている • 全ての特徴に関して,条件が満たされな くなったら最適解に収束している – 特徴の入れ方によらない 54
  • 55. GraftingによるL1-LRの学習 [Perkins, JMLR 03] : 訓練データ (xi,yi) (i=1…N) , パラメータ C • • H={} := {k | wk ≠ 0}) (有効な素性集合) • loop (対数尤 の重みに関する勾配) – v=∂L(w)/∂w – k*:= argmaxkvk (勾配が一番大きい特徴を選択) – if |vk*| < C then break (最適解に収束) – H=H∪{k*} – HのみでwをL1-LRを最適化 • end loop • 出 H’ = {k | |vk|=C} とその重み 勾配が一番大きい特徴を効厾的に求められされすれば い! 55
  • 56. 効厾的な勾配の求め方 (対数尤 関する勾配) v=∂L(w)/∂w k*:= argmaxkvk (勾配が一番大きい特徴を選択) • 勾配ベクトルさえ効厾的にもとまれば 最適化できる • 勾配は観測データと現在のモデルでの 各特徴の期待値の差として表される 56
  • 57. 効厾的な勾配の求め方(続) • 特徴種類数が多いため、全ての特徴について の勾配を し最大値を求めるのは 難 • これを解決するのに次の有名な補題を匏用 補題:出現場所が なる部分文字 の数は文 書 より少ない – さNの文書中に出現する文字 種類数は O(N2)だが、出現場所が同じものをまとめ ると、高々N個のグループにまとめられる 57
  • 58. 入 abracadabra$に対する接尾辞木 接尾辞木 i 出現位置 接尾辞 12 1 12 $ 11 $ 2 11 a$ $ bra 8 3 8 abra$ $ c c 1 4 1 abracadabra$ 4 a d 5 4 acadabra$ 6 6 6 adabra$ bra $ 7 9 bra$ 9 c 8 2 bracadabra$ c 2 d 5 9 5 cadabra$ 10 7 dabra$ 7 ra $ 11 10 ra$ 10 12 3 racadabra$ c 58 3
  • 59. 接尾辞木 abra abr ab bra br ra b r の出現位置は全て同じ(8,1) 12 T=abracadabra$ 11 $ $ bra 8 0 T=abracadabra$ $ 1 c c 1 T=abracadabra$ 4 a T=abracadabra$ d 6 T=abracadabra$ bra 4 $ T=abracadabra$ 9 c 2 2 c ≠ d 5 T=abracadabra$ (11,1,8,4,6) 7 ra 接尾辞木の同一枝中の $ 10 部分文字列の出現位置 3 は同じ c 59 3
  • 60. 補題の適用 • 訓練データ (xi,yi) (i=1…N)に対し入 をつ な た文字 ,T=x1$1x2$2…xN$N を考える. – ただし$iは本文中には出現しない特殊文字 • このTに対し先程の補題を適用 ⇒各訓練 で特徴値(そして勾配)が なる特 徴種類数はは多くてもN-1個 60
  • 61. 極大部分文字 (Maximal Substring, MS) • 出現位置が同じ部分文字 の集合中で、 最 のものを極大部分文字 (MS)と呼ぶ – 卷に くしても 卷に くしても 出現位置が なる – 先程の で2回以上出現するMSは a abra のみ – 接尾辞木の各節点で直前の文字が2種類 以上のものを すればよい 61
  • 62. 各suffixの直前の文字 T=abracadabra$ Suffix Tree i SA L B suffix 12 1 12 0 a$ 11 2 11 1 r a$ $ $ bra 8 0 3 84 d abra$ $ 1 c c 1 4 1 1 $ abracadabra$ 4 a 5 4 1 r acadabra$ d 前の文字が なるの でabraはMS で は 6 6 6 0 c adabra$ 4 bra $ 9 7 9 3 a bra$ c 2 2 c 8 2 0 a bracadabra$ d 5 9 5 0 a cadabra$ 前の文字が全て同じなの 7 でbraはMSではない ra 10 7 0 a dabra$ $ 10 11 10 2 b ra$ 3 12 3 0 b racadabra$ c 62 3
  • 63. 学習手法のまとめ : 訓練データ (xi,yi) (i=1…N) , パラメータ C • • T=x1$1x2$2…xN$N に対し拡張接尾辞配 を構 • H={} := {k | wk ≠ 0}) (有効な素性集合) • loop – k* = TのMS中で勾配が最も大きいものを選ぶ – if |vk*| < C then break (最適解に収束) – H=H∪{k*} – HのみでL1-LRを最適化 • end loop • 出 H’ = {k | |vk|=C} とその重み 63
  • 64. 実験 実験データ • 文書の二値分類タスク – Movie: 極性評判分析用の実験データ – TC300A/B: TechTC-300の文書分類タスクセット中で、SVM の が7割のものを二つ (分類に有効な部分文字 は1, 2個) • 極大部分文字 数は匫データ の1/5 1/7 64
  • 65. 評価手法 • 10分割卦差匴定の正解 • 提案手法 – 真面目なGraftingではなく、毎回1000個候補を取り出し, 100個ずつ入れる.素性値にはidfを匏用した • BOW+L1 – スペースで厅卲られた部分文字 を単語として扱いL1+LRで 学習(OWL-QN) – 表記ゆれなどは吸収 • SLR [G. Ifrim, et. al. KDD 08] – 部分文字 をgreedyに してLRで学習 • BOW+SVM – 多項式カーネルを用いた(文字 カーネルは動かなかった) 65
  • 66. 実験結果 1 評価 提案手法が全データセットで高い を成 BOW+L1は表現 が非常に い場合がある SLRはgreedyに部分文字 を選択するため、最適な 部分文字 を 出できていない可能性 66
  • 67. 実験結果2 スケーラビリティ • テキストに対し,極大部分文字 を全て するのに 要した時間. • テキストサイズに対し線形 67
  • 68. 全体のまとめ • 今回は大規模データを匏用した自然言語叀 を支える技術を紹介した – オンライン学習 – L1正則化 – 引による効厾化 • 違う分野の人はチャンス – 大規模データを扱うには様々な技が必要 – マイニング・数値最適化・データ構造 etc. • 昔諦めた技が大規模データだとうまくいくかも
  • 69. 出典 [Brants+, EMNLP 07] “Large Language Models in Machine Translation”, • Thorsten Brants, Ashok C. Popat, Peng Xu, Franz J. Och, Jeffrey Dean, EMNLP 2007 http://acl.ldc.upenn.edu/D/D07/D07-1090.pdf [Suzuki+. ACL 08] quot;Semi-Supervised Sequential Labeling and Segmentation • using Giga-word Scale Unlabeled Dataquot;, Jun Suzuki, Hideki Isozaki, ACL-HLT 08 http://aclweb.org/anthology-new/P/P08/P08-1076.pdf [柴田 NLP09] ” 大規模ウ ブコーパスを用いた分布類似 計算”, 柴田 • 知秀, 夫, NLP 2009 [S. S.-Shwartz 07] “Online Learning: Theory, Algorithms, and Applications”, • Shai Shalev-Shwartz, The Hebrew University of Jerusalem Ph. D thesis http://ttic.uchicago.edu/~shai/papers/ShalevThesis07.pdf [Rosenblatt Phy. Rev. 57] The Perceptron: A Probabilistic Model for • Information Storage and Organization in the Brain, Cornell Aeronautical Laboratory, Psychological Review, v65, No. 6, pp. 386-408.
  • 70. [Freund+ 99], “Large margin classification using the perceptron algorithm” Y. • Freund and R. E. Schapire, 99, In Machine Learning 37(3):277-296, 1999. [Collins 02] “Discriminative Training Methods for Hidden Markov Models: Theory and • Experiments with Perceptron Algorithms. EMNLP 2002, http://www.cs.cornell.edu/Courses/cs778/2006fa/lectures/04-PerceptronHMM.pdf [Crammer, JMLR 06] “Online Passive-Aggressive Algorithms”, Koby Crammer, Ofer • Dekel, Joseph Keshet, Shai Shalev-Shwartz, Yoram Singer, Journal of Machine Learning, 2006 [Dredze+ 08] “Confidence-Weighted Linear Classification”, Mark Dredze, Koby • Crammer and Fernando Pereira , ICML 2008 [Crammer+ 08] “Exact Convex Confidence-Weighted Learning”, Koby Crammer, • Mark Dredze and Fernando Pereira, NIPS 2008 [Duchi + 08] “Efficient Projections onto the L1-Ball for Learning in High Dimensions,” • John Duchi, Shai Shalev-Shwartz, Yoram Singer, and Tushar Chandra, International Conference on Machine Learning (ICML 2008) [Gao+ 07] “A comparative study of parameter estimation methods for • statistical natural language processing”, ACL 2007 [Duchi+ 09] “Online and Batch Learning using Forward Looking Subgradients “, • John Duchi¤ Yoram Singer
  • 71. • [Kazama+ EMNLP 03] “Evaluation and Extension of Maximum Entropy Models with Inequality Constraints”, Jun'ichi Kazama and Jun'ichi Tsujii EMNLP 2003 • [Andrew+ 07] Galen Andrew, Jianfeng Gao, Scalable Training of L1- Regularized Log-Linear Models, in International Conference on Machine Learning, 2007 • [Gao+ 07] “A Comparative Study of Parameter Estimation Methods for Statistical Natural Language Processing “, Jianfeng Gao, Galen Andrew, Mark Johnson, Kristina Toutanova, ACL 2007 • [Sha+ 07] “Multiplicative updates for L1- regularized linear and logistic regression”, Fei Sha, Yonghahk Park, and Lawrence Saul, IDA 2007 • [Koh+ 07] An Interior-Point Method for Large-Scale l1-Regularized Logistic Regression, K. Koh, S.-J. Kim, and S. Boyd JMLR 2007 • [Kudo+ 03] “Fast Methods for Kernel-based Text Analysis, aku Kudo, Yuji Matsumoto, ACL 2003 • [Okanohara+ SDM 09] “Text Categorization with All Substring Features”,SDM 2009, Daisuke Okanohara, Jun’ichi Tsujii