SlideShare a Scribd company logo
1 of 71
Download to read offline
2009/3/13 SIGFPAI @学習院大




       大規模データを基にした
         自然言語叀
                  岡野原大輔
          東京大学情報 工学 研 科
          コンピュータ科学専攻 辻井研
           hillbig@is.s.u-tokyo.ac.jp
背景
• 匏用可能な言語資源の急                 な拡大
 – ブログ, 掲示板, 商品情報, レビュー
 – Wikipedia, Google N-gram Corpus ( 1010 語)
 – 従来の言語資源 Penn treebank ( 106語)
• より多くのデータ⇒                 も向上
 – 統計的機械翻訳 [Brants+, EMNLP 07]
    • 言語資源の の対数で翻訳             は線形に上昇
 – 博卝 有学習による      ラベリング [Suzuki+, ACL 09]
 – 単語の類似 計算 [柴田+, NLP 09]
発表の概要
• 大 の言語資源を匏用した自然言語叀
  で重要となってきた技術を紹介
• オンライン学習
    – 卾厾的勾配      法, PA等
• コンパクトなモデル
    – L1正則化, FOLOS
     引による効厾化(時間があれば)
•
    – 拡張接尾辞配
自然言語叀 における機械学習
• 自然言語叀 の多くは入 から出 への関
  数を学習する問題として定式化できる
        入    出
 – スパム分類   文書      スパムか?    二値分類
 – 評判分類    レビュー    好意的か?
 – 情報匴     クエリ     関係する文書
 – 構文解析    文       構文木      構造学習

 – 機械翻訳    日本語の文   英語の文
線形 厌器
• 入 xと出 yから得られる情報で
  特徴ベクトルφ(x, y)∈Rmを作る
 – 作り方は次項
• 重みベクトルw∈Rm とφ(x, y)の内積
  重みベクトル         と    の内積
  wTφ(x, y) をyのスコアとする
 – 高いスコアを持つyが予測結果
   f(x) = argmaxy wTφ(x, y)
 – 何が効くか分からないが、効きそうなルールを全
   部使う、その重みは自動決定
 – NB, SVM, MaxEntなど多くが属する
特徴ベクトルの作り方                      (1/2)
      文書分類の場合
• 各次元が文書中に出現した単語に対応
  – Bag of Words, BOW表現

          鳥取       1
                          φ(x)= (0…0,1,0…0,1,…)
          …        …
鳥取では
 砂丘が
          砂丘       1
有名です..
                            “砂丘”’に対応する次元
          …        …              “鳥取”’に対応する次元
                                           6
特徴ベクトルの作り方 (2/2)
  ラベリングの場合 [Suzuki+ ACL 08]
                   約50のテンプレート

                   それぞれのテンプ
                   レートから特徴
                   関数が生成される

                   特徴種類数は
                   数厝万 数百万
自然言語データにおける
        特徴ベクトルの性質
• 高次元
    – 周辺に出現した各単語、prefix, suffix, それら
      の組み合わせ全てが一つ一つの次元に対応
    – 数百万次元 組み合わせれば数億
•疎
    – 値が0じゃない次元の割合は大体0.01%
•
    – 殆ど同じ特徴ベクトル、次元が多い
オンライン学習
最適化による学習
• 訓練 {(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)
凸最適化問題
               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)
オンライン学習
• 訓練 を1つずつ           てwを          する
• 収束が速い
 – 特にデータが           な場合
    は、バッチ学習とほぼ同程
•
• 実装コストは圧倒的に小さい
             c.f. バッチ学習 L-BFGS 500 強
 – C++で10
• 性能の     厱的な分析も最近盛ん
 – Regret Analysis [S. S.-Shwartz 07]
   最適な単一のw*を使った時との差
オンライン学習
             今回話す手法
• Perceptron
  – Averaged Perceptron
  – Structured Perceptron
• Passive Aggressive Algorithm
• Confidence Weighted Learning
• 卾厾的勾配           法

• 後でL1正則化の章で発展形も紹介
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
なぜ学習できるのか
        後の重みベクトル
•
    w’ := w + yiφ(xi)
• これを使って、もう一 間違えた訓練
  (xi,yi)を分類すると
     w’T φ(xi)
    =(w + yi φ(xi) )T φ(xi)
    =wT φ(xi) + yi φ(xi)Tφ(xi)
    先程間違えた         二乗なので常に正
    予測結果
                        wは正解が出るように   される
Perceptron補足
• 線形分 可能な場合  回数は有
• 線形 厌可能で叄い場合は使えないとの                   判
 [Minsky 69]
 – データにノイズがある場合やxorなど                          -
 – 廃れてしまった・・ ⇒ 最近 卹!                                   +
                                           +
                                                   -
 – カーネルトリックを使える      [Y. Freund 98]
 – ノイズがあっても高卾厾で          が高い [S. S.-Shwartz 07]
• 次元数が非常に大きい場合はうまく動く
 – 自然言語叀 など多くの分野で使われるようになった
 – 後 の構造学習などでは、非常に強 な学習手法であること
   が分かってきた[Collins 02, Daume 06]
Averaged Perceptron [Collins+ 02]
• Perceptronは勘勣定
 – 訓練 を る順番で性能が大きく厭わる
 – 全体で均す必要(一種の正則化)
• 全てのステップでの重みを記録しておく
 – これらをw1, w2,…,wTとおく
• 予測の時にwTではなく(∑i=1…T wi)/Tを使う
 – 全ステップの重みの平均
 – これはvoted perceptronの近似になっている
 – 後 の卾厾的勾配法とも似ている
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
                       で平均をとったものと同じ
Structured Perceptron [Collins 02]
             構造学習への拡張

• 出 がラベル (y1y2y3y4)や木など内部
  に構造を有する場合を構造学習と呼ぶ
• これもパーセプトロンで学習可能
• φ(x,y)∈Rm: 入 xと出 yから決まる特徴ベクトル
• w ∈Rm : 重みベクトル
• s(y) = wTφ(x,y) : yのスコア
• 適用できる条件
 – y*=arg maxy s(y)が効厾的に求められる
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
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 )
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
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.
Confidence Weighted Learning (続)
        [Dredze+ 08] [Crammer+ 08]

• 先ほどの解も閉じた形で求められる
 – 分散を使ったものと偏差を使った二つの
   バージョン
• 共分散       を対   で近似したものは、
                    可能
  Perceptron同様、高速な
 – 分散が大きいところは大きく
入                      式
     (x,y)が与えられた時の




•どの手法もほぼ同じフレームワークで扱える
   •目的関数はそれぞれ全く違う
• s =ywTφ(x)
 •正解した時は正、勘正解の時は の値
• t それまでに観測した訓練   数
• γ 分散も考慮した  幅
学習の繰り返し回数が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を匏用
卾厾的勾配           法
(SGD: Stochastic Gradient Descent)
• 従来の勾配       法
 – F(w)を最小化する場合、勾配 ∂F(w)を求め
   w := w – τ ∂F(w) と (τ:ステップ幅)
• 卾厾的勾配       法
 – ∂F(w)を一部のデータの勾配で近似 v
   w := w – τv
 – τ = 1/λ(t+t0) (tはステップ数, λは適当な定数)
   ステップ幅は段々小さく(APと似ている)
卾厾的勾配              法
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
卾厾的勾配         法(続)
• 任意の損失関数をオンライン化可能
 – 勾配を求める部分をさぼるだけ!
 – パーセプトロンもSGDの一種
• 収束は非常に速い
 – 訓練 が   なため
• パラメータλ, t0などは最初に訓練 の一部
  からサンプリングし、求める場合が多い
 – 完全に自動化可能
L1正則化によるモデルの
    コンパクト化
モデルのコンパクト化
• パラメータ数は数百万 億と非常に 大
 – 実匶に匏用する時に計算コストが高い
 – :組み匸み機器などで使いたい
• 事前に特徴選択は難しい
 – 単純な占ち卲りは  に
 – タスク毎に効く特徴が違う
⇒L1正則化を学習時に適用する
 – 学習時に特徴選択も同時に   う
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完全問題
L1正則化による学習結果の特徴

• L1正則化の場合、多くの重みが0になる
 – 特徴選択が最適化の中で自然に実現できる
 – 学習結果が分かりやすく、推定が高速、メモ
   リも少なくて済む
 – NLPの実験ではL2と比べて特徴数は約1/20
   だが   はほぼ同じ
 – L2の場合、全ての重みが0にならない
  • Representor Theorem w* = ∑iαiΦ(xi,yi)
直厤的な 解
                                    各重みは損失関数を
                                    減らそうと0から れようと
                                    するが、ペナルティがかかる
                  |w|1
                                    |w|2の場合,0に近づくと
                                    ペナルティは急速に
                             |w|2   小さくなる
                                w   全ての重みは0の近くまで
                                      けば生き る
          0
                                    それに対し|w|1の場合は
                   ∂|w|1/∂w         勾配は常に一定なので
          )                         必要がない重みは
(0方向に押す
                                    0に押しつぶされる
                                w

              0
                  ∂|w|2/∂w
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]
学習手法の比較実験     [Gao+ 07]


• 5種類のパラメータ推定手法を様々なタス
  クに適用
• L1正則化が及 るきっかけ
[Gao+ 07] の実験結果のまとめ
• 5つの全く違うタスクをやったが結果は同じ
  – L2がわずかに勝っているが、L1、Averaged
    Perceptronも殆ど同じ性能
• L1はスパースな解
  – L2-の1/10 1/100の有効な特徴数
• 性能がちょっとでも欲しい⇒ L2
• スパースな解を得たい      ⇒ L1
• 実装が簡単 ⇒ Averaged Perceptron
• 後で話すFOLOSは全部のいいとこどり
L1正則化付の最適化問題
• 凸最適化問題だが、微分が求められない
  ため一般の最適化法は使えない
 – wi = 0で微分勘可能で、最適解はこの周り
• バッチ学習はいろいろ提案されている
 – 差分表現による最適化 [Kazama+ 03, EMNLP]
 – OWL-QN [Andrew+ 07, ICML]
 – Multiplicative Update [Sha+ 07, IDA]
 – 内点法 [Koh+ 07, JMLR]
• 今回はオンライン学習を紹介
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)のみでの勾配
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 + λ )
FOLOS [Duchi+ 09] (3/4)
     3. Berhu正則化(0からγまでL1, γからL2)
•




• 複雑な正則化も混ぜたり自由にできる
    – L1とL2とL∞を同時に与える
FOLOS (4/4)
• バッチ学習と殆ど同じ結果が得られる
 – 同時期に提案された似た手法も同様の結果
 – 厱的にも近い結果が得られることが保
• 実装は非常に簡単
 – 既存のオンライン学習に     加えるだけ
 – 「L1は引く、L2は割る」
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
引による効厾化
引による効厾化
• 適卲なデータ構造/アル リズムを匏用すれ
  ば計算 ・作     を大幅に減らせる
     :厷置フ イルを匏用して多項式カーネルの
 –
   計算を高速化 [Kudo+ 03]
 – 拡張接尾辞配 を匏用した
   全部分文字 を特徴として匏用した文書分類
   [Okanohara+ SDM 09]
概要
• 文書分類タスクに対し、全ての部分文字
   を素性として扱う分類手法を提案
 – 文字 カーネルと違い、それぞれの素性に
   なる重みを与えられ、分類は非常に高速
• 素性種類数は文書 の2乗だが、文書 に
  比 する時間、作           で学習可能
  – L1正則化+Grafting+極大部分文字


                             46
背景:文書分類タスク

• 文書分類タスク:与えられた文書Dに対し,
  そのラベルL∈{1,…,k}を求める
• Bag of words (BOW) 表現
  – 各単語の出現情報で文書をベクトル表現
  – 文書中の順序/位置は叄 するが強


          静岡     1
                     Φ(D)= (0…0,1,0…0,1,…)
          …      …
 静岡では
サッカーが
          サッカー   1
盛んです..
                       “サッカー”’に対応する次元
          …      …                      47
BOW表現の問題点
• 文書から単語 への厭 時のエラー
 – 形態素解析では解析に失敗する場合があり、特に分
   類に重要な固有表現が未知語であり失敗する
• 分類に効く単位と単語の単位が違う可能性
 – 複数単語からなるキーワー や形態素 とずれた単
   位  : 踊る大捜査線 #include <iostream>

  全ての部分文字      を特徴として匏用する



                                     48
提案手法

• 全ての部分文字     からなるBOW表現
 – 部分文字  や特殊文字などで制 はしない
 – 発 する素性数は文書 の二乗に比
• 線形   厌器を匏用して分類
 – カーネルは使わず陽に素性を表す
 – Φ(D) ∈R∞ 文書Dに対する素性ベクトル
            各素性に対する重み
 – w∈R∞

        f(D) = wT Φ(D)      49
提案手法(続)
    問題: 特徴種類数が非常に大きい
•
    – 部分文字 種類数は文書 の2乗
    – 計算 ,作    が大きい
    – 過学習
• 適当な 値で素性を占ち卲るか?
⇒ 工夫することで、近似なしで線形時間で
  学習可能


                        50
提案手法の概要
• L1正則化ロジスティック回帰(L1-LR)による学習
  – 有効ではない素性に対応する重みは0
• GraftingによるL1-LRの最適化
  – 有効な素性数に比 する時間で学習
• 極大部分文字    による部分文字           集合の表現
  – 殆どの部分文字 は統計 が全く同じ
• 拡張接尾辞配    による極大部分文字           の
  – 匫文書 に比 する時間で         可能



                                      51
線形 厌器の学習
  (多クラス)ロジスティック回帰


                                (               )
                        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
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
GraftingによるL1-LRの学習
       [Perkins, JMLR 03]

• L1の疎な特徴を生かし学習を高速化
• 特徴候補を空集合からはじめて、条件を
  満たす特徴を一つずつ追加
 – ブースティングによる学習に似ている
• 全ての特徴に関して,条件が満たされな
  くなったら最適解に収束している
 – 特徴の入れ方によらない


                            54
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
効厾的な勾配の求め方

               (対数尤 関する勾配)
v=∂L(w)/∂w
k*:= argmaxkvk (勾配が一番大きい特徴を選択)

• 勾配ベクトルさえ効厾的にもとまれば
  最適化できる
• 勾配は観測データと現在のモデルでの
  各特徴の期待値の差として表される


                                 56
効厾的な勾配の求め方(続)

• 特徴種類数が多いため、全ての特徴について
  の勾配を    し最大値を求めるのは 難
• これを解決するのに次の有名な補題を匏用
  補題:出現場所が なる部分文字 の数は文
  書 より少ない
  – さNの文書中に出現する文字 種類数は
   O(N2)だが、出現場所が同じものをまとめ
   ると、高々N個のグループにまとめられる

                           57
入        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
接尾辞木
                                              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
補題の適用
• 訓練データ (xi,yi) (i=1…N)に対し入 をつ
  な た文字 ,T=x1$1x2$2…xN$N
  を考える.
 – ただし$iは本文中には出現しない特殊文字
• このTに対し先程の補題を適用
 ⇒各訓練 で特徴値(そして勾配)が        なる特
  徴種類数はは多くてもN-1個



                                 60
極大部分文字
    (Maximal Substring, MS)
• 出現位置が同じ部分文字 の集合中で、
  最 のものを極大部分文字 (MS)と呼ぶ
  – 卷に くしても 卷に くしても
    出現位置が なる
  – 先程の で2回以上出現するMSは
    a abra のみ
  – 接尾辞木の各節点で直前の文字が2種類
    以上のものを    すればよい


                              61
各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
学習手法のまとめ

       : 訓練データ (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
実験
             実験データ




• 文書の二値分類タスク
 – Movie: 極性評判分析用の実験データ
 – TC300A/B: TechTC-300の文書分類タスクセット中で、SVM
   の     が7割のものを二つ
   (分類に有効な部分文字 は1, 2個)
• 極大部分文字 数は匫データ の1/5 1/7

                                           64
評価手法

• 10分割卦差匴定の正解
• 提案手法
   – 真面目なGraftingではなく、毎回1000個候補を取り出し,
     100個ずつ入れる.素性値にはidfを匏用した
• BOW+L1
   – スペースで厅卲られた部分文字 を単語として扱いL1+LRで
     学習(OWL-QN)
   – 表記ゆれなどは吸収
• SLR [G. Ifrim, et. al. KDD 08]
   – 部分文字 をgreedyに            してLRで学習
• BOW+SVM
   – 多項式カーネルを用いた(文字 カーネルは動かなかった)
                                        65
実験結果 1
            評価




提案手法が全データセットで高い     を成
BOW+L1は表現 が非常に い場合がある
SLRはgreedyに部分文字 を選択するため、最適な
部分文字 を 出できていない可能性
                          66
実験結果2
      スケーラビリティ




• テキストに対し,極大部分文字 を全て   するのに
  要した時間.
• テキストサイズに対し線形
                              67
全体のまとめ
• 今回は大規模データを匏用した自然言語叀
  を支える技術を紹介した
 – オンライン学習
 – L1正則化
 – 引による効厾化
• 違う分野の人はチャンス
 – 大規模データを扱うには様々な技が必要
 – マイニング・数値最適化・データ構造 etc.
• 昔諦めた技が大規模データだとうまくいくかも
出典
    [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.
[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
• [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

More Related Content

What's hot

Hr 041 機電工程進路圖
Hr 041 機電工程進路圖Hr 041 機電工程進路圖
Hr 041 機電工程進路圖handbook
 
Project Facilitation From Hiranabe
Project Facilitation From HiranabeProject Facilitation From Hiranabe
Project Facilitation From HiranabeYasui Tsutomu
 
入門啟示錄Ch05簡報
入門啟示錄Ch05簡報入門啟示錄Ch05簡報
入門啟示錄Ch05簡報Chiou WeiHao
 
2009年4月8日セミナー 2.Sedue新機能
2009年4月8日セミナー 2.Sedue新機能2009年4月8日セミナー 2.Sedue新機能
2009年4月8日セミナー 2.Sedue新機能Preferred Networks
 
入門啟示錄 Ch03簡報
入門啟示錄 Ch03簡報入門啟示錄 Ch03簡報
入門啟示錄 Ch03簡報Chiou WeiHao
 
2009年4月8日セミナー 3.SSD向け全文検索エンジン
2009年4月8日セミナー 3.SSD向け全文検索エンジン2009年4月8日セミナー 3.SSD向け全文検索エンジン
2009年4月8日セミナー 3.SSD向け全文検索エンジンPreferred Networks
 
2009年4月8日セミナー 4.レコメンデーション Q&A
2009年4月8日セミナー 4.レコメンデーション Q&A2009年4月8日セミナー 4.レコメンデーション Q&A
2009年4月8日セミナー 4.レコメンデーション Q&APreferred Networks
 
2009年4月8日セミナー 1.オープニング
2009年4月8日セミナー 1.オープニング2009年4月8日セミナー 1.オープニング
2009年4月8日セミナー 1.オープニングPreferred Networks
 
入門啟示錄Ch02簡報
入門啟示錄Ch02簡報入門啟示錄Ch02簡報
入門啟示錄Ch02簡報Chiou WeiHao
 
Cellphone Wallet Service Trends in Japan
Cellphone Wallet Service Trends in JapanCellphone Wallet Service Trends in Japan
Cellphone Wallet Service Trends in JapanMasaru IKEDA
 
入門啟示錄Ch08簡報
入門啟示錄Ch08簡報入門啟示錄Ch08簡報
入門啟示錄Ch08簡報Chiou WeiHao
 
第4回「気候変動対策の次期枠組みに向けて」資料 2/3(小林氏)
第4回「気候変動対策の次期枠組みに向けて」資料 2/3(小林氏)第4回「気候変動対策の次期枠組みに向けて」資料 2/3(小林氏)
第4回「気候変動対策の次期枠組みに向けて」資料 2/3(小林氏)IDDP UK
 
Ordinary Management
Ordinary ManagementOrdinary Management
Ordinary ManagementKoichi ITO
 
【12-E-4】 『脱Excel』を実現!統合プロジェクト管理パッケージ『SI Object Browser PM』を利用してIT企業も近代化しよう~PM...
【12-E-4】 『脱Excel』を実現!統合プロジェクト管理パッケージ『SI Object Browser PM』を利用してIT企業も近代化しよう~PM...【12-E-4】 『脱Excel』を実現!統合プロジェクト管理パッケージ『SI Object Browser PM』を利用してIT企業も近代化しよう~PM...
【12-E-4】 『脱Excel』を実現!統合プロジェクト管理パッケージ『SI Object Browser PM』を利用してIT企業も近代化しよう~PM...devsumi2009
 
DS-026-知識管理的導入策略與步驟
DS-026-知識管理的導入策略與步驟DS-026-知識管理的導入策略與步驟
DS-026-知識管理的導入策略與步驟handbook
 
DS-033-裕隆日產汽車知識管理之路
DS-033-裕隆日產汽車知識管理之路DS-033-裕隆日產汽車知識管理之路
DS-033-裕隆日產汽車知識管理之路handbook
 
入門啟示錄Ch06簡報
入門啟示錄Ch06簡報入門啟示錄Ch06簡報
入門啟示錄Ch06簡報Chiou WeiHao
 
Hr 040 機械領域策略規劃
Hr 040 機械領域策略規劃Hr 040 機械領域策略規劃
Hr 040 機械領域策略規劃handbook
 
97 08 19 46
97 08 19 4697 08 19 46
97 08 19 465045033
 

What's hot (20)

Hr 041 機電工程進路圖
Hr 041 機電工程進路圖Hr 041 機電工程進路圖
Hr 041 機電工程進路圖
 
Project Facilitation From Hiranabe
Project Facilitation From HiranabeProject Facilitation From Hiranabe
Project Facilitation From Hiranabe
 
入門啟示錄Ch05簡報
入門啟示錄Ch05簡報入門啟示錄Ch05簡報
入門啟示錄Ch05簡報
 
2009年4月8日セミナー 2.Sedue新機能
2009年4月8日セミナー 2.Sedue新機能2009年4月8日セミナー 2.Sedue新機能
2009年4月8日セミナー 2.Sedue新機能
 
入門啟示錄 Ch03簡報
入門啟示錄 Ch03簡報入門啟示錄 Ch03簡報
入門啟示錄 Ch03簡報
 
2009年4月8日セミナー 3.SSD向け全文検索エンジン
2009年4月8日セミナー 3.SSD向け全文検索エンジン2009年4月8日セミナー 3.SSD向け全文検索エンジン
2009年4月8日セミナー 3.SSD向け全文検索エンジン
 
PFI会社案内
PFI会社案内PFI会社案内
PFI会社案内
 
2009年4月8日セミナー 4.レコメンデーション Q&A
2009年4月8日セミナー 4.レコメンデーション Q&A2009年4月8日セミナー 4.レコメンデーション Q&A
2009年4月8日セミナー 4.レコメンデーション Q&A
 
2009年4月8日セミナー 1.オープニング
2009年4月8日セミナー 1.オープニング2009年4月8日セミナー 1.オープニング
2009年4月8日セミナー 1.オープニング
 
入門啟示錄Ch02簡報
入門啟示錄Ch02簡報入門啟示錄Ch02簡報
入門啟示錄Ch02簡報
 
Cellphone Wallet Service Trends in Japan
Cellphone Wallet Service Trends in JapanCellphone Wallet Service Trends in Japan
Cellphone Wallet Service Trends in Japan
 
入門啟示錄Ch08簡報
入門啟示錄Ch08簡報入門啟示錄Ch08簡報
入門啟示錄Ch08簡報
 
第4回「気候変動対策の次期枠組みに向けて」資料 2/3(小林氏)
第4回「気候変動対策の次期枠組みに向けて」資料 2/3(小林氏)第4回「気候変動対策の次期枠組みに向けて」資料 2/3(小林氏)
第4回「気候変動対策の次期枠組みに向けて」資料 2/3(小林氏)
 
Ordinary Management
Ordinary ManagementOrdinary Management
Ordinary Management
 
【12-E-4】 『脱Excel』を実現!統合プロジェクト管理パッケージ『SI Object Browser PM』を利用してIT企業も近代化しよう~PM...
【12-E-4】 『脱Excel』を実現!統合プロジェクト管理パッケージ『SI Object Browser PM』を利用してIT企業も近代化しよう~PM...【12-E-4】 『脱Excel』を実現!統合プロジェクト管理パッケージ『SI Object Browser PM』を利用してIT企業も近代化しよう~PM...
【12-E-4】 『脱Excel』を実現!統合プロジェクト管理パッケージ『SI Object Browser PM』を利用してIT企業も近代化しよう~PM...
 
DS-026-知識管理的導入策略與步驟
DS-026-知識管理的導入策略與步驟DS-026-知識管理的導入策略與步驟
DS-026-知識管理的導入策略與步驟
 
DS-033-裕隆日產汽車知識管理之路
DS-033-裕隆日產汽車知識管理之路DS-033-裕隆日產汽車知識管理之路
DS-033-裕隆日產汽車知識管理之路
 
入門啟示錄Ch06簡報
入門啟示錄Ch06簡報入門啟示錄Ch06簡報
入門啟示錄Ch06簡報
 
Hr 040 機械領域策略規劃
Hr 040 機械領域策略規劃Hr 040 機械領域策略規劃
Hr 040 機械領域策略規劃
 
97 08 19 46
97 08 19 4697 08 19 46
97 08 19 46
 

Viewers also liked

Абрамов Н.Н.
Абрамов Н.Н.Абрамов Н.Н.
Абрамов Н.Н.cpii33
 
Aizu.LT::Tokyo #2
Aizu.LT::Tokyo #2Aizu.LT::Tokyo #2
Aizu.LT::Tokyo #2Taku Unno
 
JSAI 1K3-2 知識ベースに基づく言語横断質問応答における訳質の影響
JSAI 1K3-2 知識ベースに基づく言語横断質問応答における訳質の影響JSAI 1K3-2 知識ベースに基づく言語横断質問応答における訳質の影響
JSAI 1K3-2 知識ベースに基づく言語横断質問応答における訳質の影響Kyoshiro Sugiyama
 
認知科学会サマースクール2015・人工知能と言語機能
認知科学会サマースクール2015・人工知能と言語機能認知科学会サマースクール2015・人工知能と言語機能
認知科学会サマースクール2015・人工知能と言語機能Naoya Arakawa
 
正規表現入門
正規表現入門正規表現入門
正規表現入門thinca
 
言語処理のための仮説推論エンジン Phillip
言語処理のための仮説推論エンジン Phillip言語処理のための仮説推論エンジン Phillip
言語処理のための仮説推論エンジン PhillipKazeto Yamamoto
 
会話型ロボットを作った話
会話型ロボットを作った話会話型ロボットを作った話
会話型ロボットを作った話Kasai Nobuhiro
 
黒い目の大きな女の子:構文から意味へ
黒い目の大きな女の子:構文から意味へ黒い目の大きな女の子:構文から意味へ
黒い目の大きな女の子:構文から意味へHiroshi Nakagawa
 
はじめてのAIプログラミング 5章: 知識表現
はじめてのAIプログラミング 5章: 知識表現はじめてのAIプログラミング 5章: 知識表現
はじめてのAIプログラミング 5章: 知識表現nkazuki
 
第三回さくさくテキストマイニング勉強会 入門セッション
第三回さくさくテキストマイニング勉強会 入門セッション第三回さくさくテキストマイニング勉強会 入門セッション
第三回さくさくテキストマイニング勉強会 入門セッションantibayesian 俺がS式だ
 
検索と自然言語処理
検索と自然言語処理検索と自然言語処理
検索と自然言語処理Wataru ONO
 
正規表現を覚えよう(中級編)
正規表現を覚えよう(中級編)正規表現を覚えよう(中級編)
正規表現を覚えよう(中級編)Kazuo Suzuki
 
自然言語処理における機械学習による曖昧性解消入門
自然言語処理における機械学習による曖昧性解消入門自然言語処理における機械学習による曖昧性解消入門
自然言語処理における機械学習による曖昧性解消入門Koji Sekiguchi
 
ACL読み会@PFI “How to make words with vectors: Phrase generation in distributio...
ACL読み会@PFI “How to make words with vectors: Phrase generation in distributio...ACL読み会@PFI “How to make words with vectors: Phrase generation in distributio...
ACL読み会@PFI “How to make words with vectors: Phrase generation in distributio...Yuya Unno
 
【19-D-1】人間と機械学習のはざま:どこまでアルゴリズムに任せるか
【19-D-1】人間と機械学習のはざま:どこまでアルゴリズムに任せるか【19-D-1】人間と機械学習のはざま:どこまでアルゴリズムに任せるか
【19-D-1】人間と機械学習のはざま:どこまでアルゴリズムに任せるかShiroyagi Corporation
 
TermLink:言語横断論文推薦のための専門用語処理
TermLink:言語横断論文推薦のための専門用語処理TermLink:言語横断論文推薦のための専門用語処理
TermLink:言語横断論文推薦のための専門用語処理Analytics2014
 

Viewers also liked (20)

Абрамов Н.Н.
Абрамов Н.Н.Абрамов Н.Н.
Абрамов Н.Н.
 
研究
研究研究
研究
 
複数の客観的手法を用いたテキスト含意認識評価セットの構築
複数の客観的手法を用いたテキスト含意認識評価セットの構築複数の客観的手法を用いたテキスト含意認識評価セットの構築
複数の客観的手法を用いたテキスト含意認識評価セットの構築
 
Aizu.LT::Tokyo #2
Aizu.LT::Tokyo #2Aizu.LT::Tokyo #2
Aizu.LT::Tokyo #2
 
JSAI 1K3-2 知識ベースに基づく言語横断質問応答における訳質の影響
JSAI 1K3-2 知識ベースに基づく言語横断質問応答における訳質の影響JSAI 1K3-2 知識ベースに基づく言語横断質問応答における訳質の影響
JSAI 1K3-2 知識ベースに基づく言語横断質問応答における訳質の影響
 
認知科学会サマースクール2015・人工知能と言語機能
認知科学会サマースクール2015・人工知能と言語機能認知科学会サマースクール2015・人工知能と言語機能
認知科学会サマースクール2015・人工知能と言語機能
 
質疑応答
質疑応答質疑応答
質疑応答
 
正規表現入門
正規表現入門正規表現入門
正規表現入門
 
Qaシステム解説
Qaシステム解説Qaシステム解説
Qaシステム解説
 
言語処理のための仮説推論エンジン Phillip
言語処理のための仮説推論エンジン Phillip言語処理のための仮説推論エンジン Phillip
言語処理のための仮説推論エンジン Phillip
 
会話型ロボットを作った話
会話型ロボットを作った話会話型ロボットを作った話
会話型ロボットを作った話
 
黒い目の大きな女の子:構文から意味へ
黒い目の大きな女の子:構文から意味へ黒い目の大きな女の子:構文から意味へ
黒い目の大きな女の子:構文から意味へ
 
はじめてのAIプログラミング 5章: 知識表現
はじめてのAIプログラミング 5章: 知識表現はじめてのAIプログラミング 5章: 知識表現
はじめてのAIプログラミング 5章: 知識表現
 
第三回さくさくテキストマイニング勉強会 入門セッション
第三回さくさくテキストマイニング勉強会 入門セッション第三回さくさくテキストマイニング勉強会 入門セッション
第三回さくさくテキストマイニング勉強会 入門セッション
 
検索と自然言語処理
検索と自然言語処理検索と自然言語処理
検索と自然言語処理
 
正規表現を覚えよう(中級編)
正規表現を覚えよう(中級編)正規表現を覚えよう(中級編)
正規表現を覚えよう(中級編)
 
自然言語処理における機械学習による曖昧性解消入門
自然言語処理における機械学習による曖昧性解消入門自然言語処理における機械学習による曖昧性解消入門
自然言語処理における機械学習による曖昧性解消入門
 
ACL読み会@PFI “How to make words with vectors: Phrase generation in distributio...
ACL読み会@PFI “How to make words with vectors: Phrase generation in distributio...ACL読み会@PFI “How to make words with vectors: Phrase generation in distributio...
ACL読み会@PFI “How to make words with vectors: Phrase generation in distributio...
 
【19-D-1】人間と機械学習のはざま:どこまでアルゴリズムに任せるか
【19-D-1】人間と機械学習のはざま:どこまでアルゴリズムに任せるか【19-D-1】人間と機械学習のはざま:どこまでアルゴリズムに任せるか
【19-D-1】人間と機械学習のはざま:どこまでアルゴリズムに任せるか
 
TermLink:言語横断論文推薦のための専門用語処理
TermLink:言語横断論文推薦のための専門用語処理TermLink:言語横断論文推薦のための専門用語処理
TermLink:言語横断論文推薦のための専門用語処理
 

More from Hiroshi Ono

Voltdb - wikipedia
Voltdb - wikipediaVoltdb - wikipedia
Voltdb - wikipediaHiroshi Ono
 
Gamecenter概説
Gamecenter概説Gamecenter概説
Gamecenter概説Hiroshi Ono
 
EventDrivenArchitecture
EventDrivenArchitectureEventDrivenArchitecture
EventDrivenArchitectureHiroshi Ono
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdfHiroshi Ono
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdfHiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfHiroshi Ono
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfHiroshi Ono
 
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfpragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfHiroshi Ono
 
downey08semaphores.pdf
downey08semaphores.pdfdowney08semaphores.pdf
downey08semaphores.pdfHiroshi Ono
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdfHiroshi Ono
 
TwitterOct2008.pdf
TwitterOct2008.pdfTwitterOct2008.pdf
TwitterOct2008.pdfHiroshi Ono
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfHiroshi Ono
 
SACSIS2009_TCP.pdf
SACSIS2009_TCP.pdfSACSIS2009_TCP.pdf
SACSIS2009_TCP.pdfHiroshi Ono
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdfHiroshi Ono
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfHiroshi Ono
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdfHiroshi Ono
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdfHiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfHiroshi Ono
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfHiroshi Ono
 

More from Hiroshi Ono (20)

Voltdb - wikipedia
Voltdb - wikipediaVoltdb - wikipedia
Voltdb - wikipedia
 
Gamecenter概説
Gamecenter概説Gamecenter概説
Gamecenter概説
 
EventDrivenArchitecture
EventDrivenArchitectureEventDrivenArchitecture
EventDrivenArchitecture
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdf
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdf
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdf
 
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfpragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
 
downey08semaphores.pdf
downey08semaphores.pdfdowney08semaphores.pdf
downey08semaphores.pdf
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
 
TwitterOct2008.pdf
TwitterOct2008.pdfTwitterOct2008.pdf
TwitterOct2008.pdf
 
camel-scala.pdf
camel-scala.pdfcamel-scala.pdf
camel-scala.pdf
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
 
SACSIS2009_TCP.pdf
SACSIS2009_TCP.pdfSACSIS2009_TCP.pdf
SACSIS2009_TCP.pdf
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdf
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdf
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdf
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdf
 

sigfpai2009_okanohara

  • 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% • – 殆ど同じ特徴ベクトル、次元が多い
  • 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
  • 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