SlideShare uma empresa Scribd logo
1 de 35
ちょっと変わったテキスト分
      類
     櫻井彰人
テキスト分類
• メール、ツイート、文書等文字列
  で表現されたものを分類すること
 –   (できるだけ)内容に従って分類すべきときを言う
 –   × 印刷文字の文書と手書き文字の文書
 –   × 郵便番号に従ったハガキの分類
 –   ○ スパムメールとハムメール、
     • × 発信IPアドレスでスパムと判定する
 – ○ 読みたいニュースとそれ以外
       「テキスト分類」
       課題の名前、技術の名前


                                   NTTソリューションより拝借
     http://www.ntts.co.jp/products/knowledgeocean/outline.html
テキスト分類の方法
• テキスト(文字列)を数値ベクトルで表
  現する
 – ベクトル: 同じ長さ, 同じ位置は同じ意味
   しばしば、「特徴ベクトル」と呼ばれる


• 教師データで学習する
 – テキスト+(分類先の)クラス番号
• 未知データに備える
テキストの特徴ベクトル
• 最も普通には、
   – 特徴ベクトルの座標軸は、単語
   – 特徴ベクトルの座標値は、出現頻度
           本日       データ               スライド
テキスト1: (   3, … ,   7, …       ,    2, … )
テキスト2: (   2, … ,   4, …       ,    3, … )

• これを通常 bag-of-words 表現という
   – “bag”ではない、ベクトルだと言わないでください
   – ベクトルになっているのは、現在の計算機技術の都合
   – 意味があるのは、文書中に、「本日」が2回出現、「データ」が
     4回出現」という、単語・度数の対の集合



                           http://teacher.scholastic.com/products/instructor/Mar04_paragraphs.htm
テキストx



  テキスト2
                                           テキスト2
                     問合せ


           学習       分類器
                             学習結
  テキスト1                      果:
                             分類境界
                                       テキスト1




           本日        データ            スライド
テキスト1: (   3, … ,    7, …    ,    2, … )
テキスト2: (   2, … ,    4, …    ,    3, … )
ちょっと変わったテキスト分類
     クラス0                所属クラスが未知のテキスト                 クラス1
吾輩は猫である。名前はまだ無い。      吾輩は近頃運動を始めた。                蓮華寺では下宿を兼ねた。瀬川丑松
                                                  が急に転宿(やどがへ)を
                                                   これ、丑松や、猪子といふ御客様が
 ようやくの思いで笹原を這い出すと向うに
 大きな池がある。                                          お前(めへ)を尋ねて来たぞい。
  こう暑くては猫といえどもやり切れない。                               それが最後にお志保を見た時の丑松
                                                    の言葉であつた。

                         Zipで圧縮し、長さを求める
吾輩は猫である。名前はまだ無い。 ……                               蓮華寺では下宿を兼ねた。 ……
 ようやくの思いで笹原を這い出すと ……..    346,780       216,445    これ、丑松や、猪子といふ御客様が……..
  こう暑くては猫といえどもやり切れない。                                それが最後にお志保を見た時の丑松



                         Zipで圧縮し、長さを求める
吾輩は猫である。名前はまだ無い。 ……                               蓮華寺では下宿を兼ねた。 ……
 ようやくの思いで笹原を這い出すと ……..    346,799       216,466    これ、丑松や、猪子といふ御客様が……..
  こう暑くては猫といえどもやり切れない。                                それが最後にお志保を見た時の丑松
   吾輩は近頃運動を始めた。                                         吾輩は近頃運動を始めた。

                           長さの差を求める
                               19   <       21


                         未知テキストはクラス0に属すべき
                                                        注: この例自体は少々インチキ
比較
従来方法                   ちょっと変わった方法
• 言語知識を活用して            • 精度向上に限度があ
  精度向上が図れる               る

• 言語知識が必要。
  – Minorな言語では利用       • 言語知識が不要
    できない
                       % mecab
  – コストがかかる            すもももももももものうち
                       すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
                       も 助詞,係助詞,*,*,*,*,も,モ,モ
                       もも 名詞,一般,*,*,*,*,もも,モモ,モモ
                       も 助詞,係助詞,*,*,*,*,も,モ,モ
言語知識:                  もも 名詞,一般,*,*,*,*,もも,モモ,モモ
単語。活用。語根。単語への分割方       の 助詞,連体化,*,*,*,*,の,ノ,ノ
法。                     うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
                       EOS
分類に不適切な単語(stop word)
他分野への適用
• 文字列なら適用可能




              R. Cilibrasi, P.M.B. Vitanyi, R. de Wolf, Algorithmic clustering
              of music based on string compression, Computer Music J.,
              28:4 (2004), 49-67.

              なお、ショパンの前奏曲Op.28は、バッハの平均律クラヴィーア曲集に
              触発されたと言われている
これを説明するには
• Algorithmic Information Theory

• Bayes の定理と事後確率最大化

• 学習とは、規則性を見出すこと
ちょっと、記号を
• 圧縮プログラムを Z と書く.
  さらに、Z(x) で x を圧縮した結果の長さを
  表す

• そうすると、やっていることは、
  if Z(C1x) Z(C1) < Z(C2x) Z(C2) then x C1
  otherwise x C2

• では、なぜ、これでいいのか?
結構深い理論が控えている
• if Z(C1x)   Z(C1) < Z(C2x)    Z(C2) then x C1

     log2 Pr(x | C1 )   log2 Pr(x | C2 )
                                           「ある」だけではな
                                           くて、我々の直観に
  であるような確率分布 Pr がある。                       合う必要がある。実
                                           際、結構合う。その
• つまりこれは、                                  理由もある程度は説
                                           明できる
  if Pr( x |C1 ) > Pr( x |C2 ) then x C1
                                           学習=規則性の発見

  ゆえ、事後確率最大のクラスを求めている
補足: 分類との関係
• 機械学習による分類を、確率的に考える
  と  Pr(x | C1 )
      Pr(x | C2 )                       x Ci
                       最大値が
            :
            :          Pr(x | Ci )

      Pr(x | Ck )

  log2 Pr(x | C1 )
  log2 Pr(x | C2 )                      x Ci
                      最小値が
           :
           :         log2 Pr(x | Ci )

  log2 Pr(x | Ck )
となると、
• if Z(C1x)   Z(C1) < Z(C2x)    Z(C2) then x C1

     log2 Pr(x | C1 )   log2 Pr(x | C2 )

  はどうしてか?という疑問があるでしょ
う。
再掲: ちょっと変わったテキスト分
           類
     クラス0                所属クラスが未知のテキスト                 クラス1
吾輩は猫である。名前はまだ無い。      吾輩は近頃運動を始めた。                蓮華寺では下宿を兼ねた。瀬川丑松
                                                  が急に転宿(やどがへ)を
                                                   これ、丑松や、猪子といふ御客様が
 ようやくの思いで笹原を這い出すと向うに
 大きな池がある。                                          お前(めへ)を尋ねて来たぞい。
  こう暑くては猫といえどもやり切れない。                               それが最後にお志保を見た時の丑松
                                                    の言葉であつた。

                         Zipで圧縮し、長さを求める
吾輩は猫である。名前はまだ無い。 ……                               蓮華寺では下宿を兼ねた。 ……
 ようやくの思いで笹原を這い出すと ……..    346,780       216,445    これ、丑松や、猪子といふ御客様が……..
  こう暑くては猫といえどもやり切れない。                                それが最後にお志保を見た時の丑松



                         Zipで圧縮し、長さを求める
吾輩は猫である。名前はまだ無い。 ……                               蓮華寺では下宿を兼ねた。 ……
 ようやくの思いで笹原を這い出すと ……..    346,799       216,466    これ、丑松や、猪子といふ御客様が……..
  こう暑くては猫といえどもやり切れない。                                それが最後にお志保を見た時の丑松
   吾輩は近頃運動を始めた。                                         吾輩は近頃運動を始めた。

                           長さの差を求める
                               19   <       21

クラス0に属する確率が約 2-19 だ
                         未知テキストはクラス0に属すべき               注: 確率値も少々インチキ
と言っている。
                                                        注: この例自体は少々インチキ
ここから少し迷路に入ります
原理の説明: 乱雑さ
• ちょっと(大いに?)話は変わります。
• 次の2つの数字列のうち、どちらがより
  ランダム?

 111111111111111111101111110111
 111100001001100100111001001001
原理の説明: 乱雑さ
• (情報源の)ランダムさは、エントロ
  ピーで測れるということをご存じ?
                  無記憶情報源

                  P(1)   p(1)=0.5     H (0.5,0.5) 1
1111000010011….    =


                  P(1)   p(1)=0.92   H (0.92,0.08) 0.402
1111011111111….    =


                                     Shannon の情報理論
                                     エントロピー or 平均情報量
エントロピー関数




                                              1.0
                                              0.8
H ( p, q)          p log2 p q log2 q




                                              0.6
                                       h(x)

                                              0.4
                                              0.2
                                                    0.0   0.2   0.4       0.6   0.8   1.0

                                                                      x



H ( p1,..., pm )       p1 log2 p1 ... pm log2 pm
しかし、
• エントロピーでは測れない、ランダムさ
  がある
• この2つはどちらがランダムであろう
  か?
• いや、こう聞こう、どちらが珍しい(た
  まにしかみれない⇒珍しい⇒価値がある
   01000101111010100111
  (?))
   01010101010101010101
しかし、
• 無記憶情報源から生成されたと考える(よくある仮
  定)と、
• この2つの数字列は同じ情報源から生成され(最尤
  推定)
                     無記憶情報源
• しかも、生起確率は等しい。つまり、どちらも珍し
  さは同じ。               P(1) p(1)=0.5 H (0.5,0.5) 1
01000101111010100111   =
             20
   生起確率= 2
                           P(1)   p(1)=0.5   H (0.5,0.5) 1
01010101010101010101        =
             20
   生起確率= 2
この直観を説明する方法はある
       か?
• この直観
     01000101111010100111   は規則性なし
     01010101010101010101   は規則性あり
     規則性なし=ランダムである=珍しくない
     規則性あり=ランダムでない=めずらしい

 を説明する数学を作ろう
 と考えた数学者がいる。
Algorithmic Complexity
    • その代表者は、
      Kolmogorov, Solomonoff, Chaitin




                                 (from www.solomonoff85thmemorial.monash.edu/)    (from cs.umaine.edu/~chaitin/)
(from Wikipedia)

                                                                                  Chaitin’s
            Algorithmic Information Theory
            Algorithmic Probability                                                       2   ( the size in bits of P )

                                                                                 program P halts
それはさておき
• ある数字列(文字列でもよい)の複雑度を、
  それを出力するプログラムのうち、最も短
  いものの長さ(ビット数で数える)と定義
  した
• 計算機 C に基づく、文字列 x の複雑度
  HC(x) は、 x を出力する最小のプログラム p
           min p
          C ( p) x
  の長さ:
 – HC(x) =
例
• Ruby では
  10.times{ print “01” }
                           01010101010101010101
  print "01000101111010100111"
                           01000101111010100111
• つまり、01010101010101010101 の方が規
  則性があるという判断になる。
                      以上の議論は雑すぎる。実際には、もっと
                      正確な議論が行われる
                      Chaitin はLISPで議論した
再掲: それはさておき
• ある数字列(文字列でもよい)の複雑度を、
  それを出力するプログラムのうち、最も短
  いものの長さ(ビット数で数える)と定義                 確率
  した
• 計算機 C に基づく、文字列 x の複雑度
  HC(x) は、 x を出力する最小のプログラム p
           min p
          C ( p) x
  の長さ:             HC(x) は、x を一番圧縮したときの、
                 圧縮ファイルの長さです。
  – HC(x) =
                 このプログラム p は、
                 「解凍プログラム+圧縮したファイル」
                 と考えても、ほぼ、よいのです。
理論の展開
     • 実は、 HC(x) の C としては universal Turing
       machine なら何でもよい       TM
条件付き確率

       H U ( x)      min p                  p                     x
                    U ( p) x
 条件付き複雑度

     HU ( x | y )     min p              min q1       min q2
                    U ( p, y ) x       U ( q1 ) yx   U ( q2 ) y

                                                             TM
               TM
                                                                  y   x
                                   x            q1
 p     y                       y

                                                q2                y
理論の展開:確率と複雑度
• U に対応したある確率分布 PU があり、
   P ( x) 2   HU ( x )           log2 P ( x)
                                       U       HU ( x)
    U

    P ( x | y) 2   HU ( x| y )   log2 P ( x | y)
                                       U           HU ( x | y)
     U



• ところが、 HU ( x | y) HU ( yx) HU ( y)
  であるから、log2 P ( x | y) HU ( yx) HU ( y)
                U



      注: 「 log (ある事象の生起確率)」 は「その事象の情報量」
分類との関係
• 機械学習による分類を、確率的に考える
  と  Pr(x | C1 )
      Pr(x | C2 )                       x Ci
                       最大値が
            :
            :          Pr(x | Ci )

      Pr(x | Ck )

  log2 Pr(x | C1 )
  log2 Pr(x | C2 )                      x Ci
                      最小値が
           :
           :         log2 Pr(x | Ci )

  log2 Pr(x | Ck )
テキスト分類との関係
• 記号をサボって、Ci で Ci のテキストを表
  す
  HU (C1 x) HU (C1 )
  HU (C2 x) HU (C2 )               x Ci
           :          最大値が
           :        HU (Ci x) HU (Ci )

  HU (Ck x) HU (Ck )




           log2 P ( x | y)
                 U              HU ( yx) HU ( y)
ちょっと脱線
         情報理論的不完全性定理
            (Chaitin)
• 形式的システム FA は、公理 A に推論規則
  F を適用して得られる定理の集合である。
• 形式的システム FA は、ある文字列が複雑
  度 H(A)+cF 以上になることを証明できない。
  – 特に、H(s)>n の時に限り A ⊧ F H(s)>n である
    なら、 A ⊧ F H(s)>n となるのは n<H(A)+cF の
    時に限られる。
ちょっと脱線


     結果の別表現(Chaitin)
• 算術を含む無矛盾な形式的体系 S (前記 A
  と F を併せたもの)に対して次の条件を
  満たす整定数 cS N が存在する: 真なる
  H(w)>cS が証明できない。
ちょっと脱線


          結果の拡張
• 集合 {w| H(w)>g(|w|)} は帰納的可算な無限
  集合を含まない。
  – g は全域的で帰納的な増加関数
• PA が H(w)>c なるどんな形の文も証明でき
  なくなるような定数 c が存在する
圧縮プログラムとの関係
• 計算機 C に基づく、文字列 x の複雑度 HC(x)
  は、 x を出力する最小のプログラム p の長
  さ:    min p HC(x) は、x を一番圧縮したとき
             C ( p) x
 – HC(x) =              の、圧縮ファイルの長さです。

                        このプログラム p は、
                        「解凍プログラム+圧縮したファイル
• 実は関数 HC(x) は計算        と考えても、ほぼ、よいのです。
  不能である
• そこで、できるだけよい圧縮プログラム Z
  を用意して、 HC(x) Z(x)の長さ( Z(x) )
                 思考実験でプログラムを書いてみよう
  としてよいのでは?
再再掲: ちょっと変わったテキスト
          分類
     クラス0                所属クラスが未知のテキスト                 クラス1
吾輩は猫である。名前はまだ無い。      吾輩は近頃運動を始めた。                蓮華寺では下宿を兼ねた。瀬川丑松
                                                  が急に転宿(やどがへ)を
                                                   これ、丑松や、猪子といふ御客様が
 ようやくの思いで笹原を這い出すと向うに
 大きな池がある。                                          お前(めへ)を尋ねて来たぞい。
  こう暑くては猫といえどもやり切れない。                               それが最後にお志保を見た時の丑松
                                                    の言葉であつた。

                         Zipで圧縮し、長さを求める
吾輩は猫である。名前はまだ無い。 ……                               蓮華寺では下宿を兼ねた。 ……
 ようやくの思いで笹原を這い出すと ……..    346,780       216,445    これ、丑松や、猪子といふ御客様が……..
  こう暑くては猫といえどもやり切れない。                                それが最後にお志保を見た時の丑松



                         Zipで圧縮し、長さを求める
吾輩は猫である。名前はまだ無い。 ……                               蓮華寺では下宿を兼ねた。 ……
 ようやくの思いで笹原を這い出すと ……..    346,799       216,466    これ、丑松や、猪子といふ御客様が……..
  こう暑くては猫といえどもやり切れない。                                それが最後にお志保を見た時の丑松
   吾輩は近頃運動を始めた。                                         吾輩は近頃運動を始めた。

                           長さの差を求める
                               19   <       21


                         未知テキストはクラス0に属すべき
                                                        注: この例自体は少々インチキ
実際にうまくいくのか?
• 結構、うまくいく。
 – 知らない言語で、とにかくテキスト分類をす
   るなら、これしか方法はない
• ただ、かなりうまくいくようにするには
  工夫が必要。

Mais conteúdo relacionado

Mais procurados

Mais procurados (6)

教師なしオブジェクトマッチング(第2回ステアラボ人工知能セミナー)
教師なしオブジェクトマッチング(第2回ステアラボ人工知能セミナー)教師なしオブジェクトマッチング(第2回ステアラボ人工知能セミナー)
教師なしオブジェクトマッチング(第2回ステアラボ人工知能セミナー)
 
実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)
 
実践・最強最速のアルゴリズム勉強会 第三回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第三回講義資料(ワークスアプリケーションズ & AtCoder)実践・最強最速のアルゴリズム勉強会 第三回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第三回講義資料(ワークスアプリケーションズ & AtCoder)
 
トピックモデルの話
トピックモデルの話トピックモデルの話
トピックモデルの話
 
時局336
時局336時局336
時局336
 
単語・句の分散表現の学習
単語・句の分散表現の学習単語・句の分散表現の学習
単語・句の分散表現の学習
 

Destaque

Zansa0130presentation
Zansa0130presentationZansa0130presentation
Zansa0130presentation
Zansa
 
Transmedia 110828124128-phpapp01
Transmedia 110828124128-phpapp01Transmedia 110828124128-phpapp01
Transmedia 110828124128-phpapp01
Rahul Yadav
 
第8回Zansa 俺の人生ランダムウォーク
第8回Zansa 俺の人生ランダムウォーク第8回Zansa 俺の人生ランダムウォーク
第8回Zansa 俺の人生ランダムウォーク
Zansa
 
Zansa アト テクノロシ-ー業界の分析という仕事について http://zansa.info/materials-11.html
Zansa アト テクノロシ-ー業界の分析という仕事について http://zansa.info/materials-11.htmlZansa アト テクノロシ-ー業界の分析という仕事について http://zansa.info/materials-11.html
Zansa アト テクノロシ-ー業界の分析という仕事について http://zansa.info/materials-11.html
Zansa
 

Destaque (20)

Zansa0130presentation
Zansa0130presentationZansa0130presentation
Zansa0130presentation
 
lat sumit res
lat sumit reslat sumit res
lat sumit res
 
Artist Images - Part 2
Artist Images - Part 2Artist Images - Part 2
Artist Images - Part 2
 
第5回Zansa勉強会
第5回Zansa勉強会第5回Zansa勉強会
第5回Zansa勉強会
 
Productive Studying (Ar) المذاكرة المثمرة
Productive Studying (Ar)  المذاكرة المثمرةProductive Studying (Ar)  المذاكرة المثمرة
Productive Studying (Ar) المذاكرة المثمرة
 
Zansa第二回11 28 発表資料 植木
Zansa第二回11 28 発表資料 植木Zansa第二回11 28 発表資料 植木
Zansa第二回11 28 発表資料 植木
 
Transmedia 110828124128-phpapp01
Transmedia 110828124128-phpapp01Transmedia 110828124128-phpapp01
Transmedia 110828124128-phpapp01
 
第8回Zansa 俺の人生ランダムウォーク
第8回Zansa 俺の人生ランダムウォーク第8回Zansa 俺の人生ランダムウォーク
第8回Zansa 俺の人生ランダムウォーク
 
The concept of religion
The concept of religionThe concept of religion
The concept of religion
 
Alhusn Alwaqi الحصن الواقي
Alhusn Alwaqi الحصن الواقيAlhusn Alwaqi الحصن الواقي
Alhusn Alwaqi الحصن الواقي
 
【Zansa】物理学はWebデータ分析に使えるか
【Zansa】物理学はWebデータ分析に使えるか【Zansa】物理学はWebデータ分析に使えるか
【Zansa】物理学はWebデータ分析に使えるか
 
Zansa アト テクノロシ-ー業界の分析という仕事について http://zansa.info/materials-11.html
Zansa アト テクノロシ-ー業界の分析という仕事について http://zansa.info/materials-11.htmlZansa アト テクノロシ-ー業界の分析という仕事について http://zansa.info/materials-11.html
Zansa アト テクノロシ-ー業界の分析という仕事について http://zansa.info/materials-11.html
 
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
 
【Zansa】第17回 ブートストラップ法入門
【Zansa】第17回 ブートストラップ法入門【Zansa】第17回 ブートストラップ法入門
【Zansa】第17回 ブートストラップ法入門
 
ベイズ入門
ベイズ入門ベイズ入門
ベイズ入門
 
Ks%20 eng
Ks%20 engKs%20 eng
Ks%20 eng
 
Zansa第4回勉強会 重回帰分析
Zansa第4回勉強会 重回帰分析Zansa第4回勉強会 重回帰分析
Zansa第4回勉強会 重回帰分析
 
【Zansa】 人工社会-複雑系とマルチエージェントシミュレーションの紹介-
【Zansa】 人工社会-複雑系とマルチエージェントシミュレーションの紹介-【Zansa】 人工社会-複雑系とマルチエージェントシミュレーションの紹介-
【Zansa】 人工社会-複雑系とマルチエージェントシミュレーションの紹介-
 
المراهقون يتعلمون ما يعايشونه
المراهقون يتعلمون ما يعايشونهالمراهقون يتعلمون ما يعايشونه
المراهقون يتعلمون ما يعايشونه
 
121218 zansa13 for web
121218 zansa13 for web121218 zansa13 for web
121218 zansa13 for web
 

Semelhante a Text classification zansa

Semelhante a Text classification zansa (8)

[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
 
Shunsuke Horii
Shunsuke HoriiShunsuke Horii
Shunsuke Horii
 
第2回한국어勉強会(スライド)
第2回한국어勉強会(スライド)第2回한국어勉強会(スライド)
第2回한국어勉強会(スライド)
 
transformer解説~Chat-GPTの源流~
transformer解説~Chat-GPTの源流~transformer解説~Chat-GPTの源流~
transformer解説~Chat-GPTの源流~
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
 
深層学習による自然言語処理の研究動向
深層学習による自然言語処理の研究動向深層学習による自然言語処理の研究動向
深層学習による自然言語処理の研究動向
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
 

Último

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 

Último (7)

ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 

Text classification zansa

  • 2. テキスト分類 • メール、ツイート、文書等文字列 で表現されたものを分類すること – (できるだけ)内容に従って分類すべきときを言う – × 印刷文字の文書と手書き文字の文書 – × 郵便番号に従ったハガキの分類 – ○ スパムメールとハムメール、 • × 発信IPアドレスでスパムと判定する – ○ 読みたいニュースとそれ以外 「テキスト分類」 課題の名前、技術の名前 NTTソリューションより拝借 http://www.ntts.co.jp/products/knowledgeocean/outline.html
  • 3. テキスト分類の方法 • テキスト(文字列)を数値ベクトルで表 現する – ベクトル: 同じ長さ, 同じ位置は同じ意味 しばしば、「特徴ベクトル」と呼ばれる • 教師データで学習する – テキスト+(分類先の)クラス番号 • 未知データに備える
  • 4. テキストの特徴ベクトル • 最も普通には、 – 特徴ベクトルの座標軸は、単語 – 特徴ベクトルの座標値は、出現頻度 本日 データ スライド テキスト1: ( 3, … , 7, … , 2, … ) テキスト2: ( 2, … , 4, … , 3, … ) • これを通常 bag-of-words 表現という – “bag”ではない、ベクトルだと言わないでください – ベクトルになっているのは、現在の計算機技術の都合 – 意味があるのは、文書中に、「本日」が2回出現、「データ」が 4回出現」という、単語・度数の対の集合 http://teacher.scholastic.com/products/instructor/Mar04_paragraphs.htm
  • 5. テキストx テキスト2 テキスト2 問合せ 学習 分類器 学習結 テキスト1 果: 分類境界 テキスト1 本日 データ スライド テキスト1: ( 3, … , 7, … , 2, … ) テキスト2: ( 2, … , 4, … , 3, … )
  • 6. ちょっと変わったテキスト分類 クラス0 所属クラスが未知のテキスト クラス1 吾輩は猫である。名前はまだ無い。 吾輩は近頃運動を始めた。 蓮華寺では下宿を兼ねた。瀬川丑松 が急に転宿(やどがへ)を これ、丑松や、猪子といふ御客様が ようやくの思いで笹原を這い出すと向うに 大きな池がある。 お前(めへ)を尋ねて来たぞい。 こう暑くては猫といえどもやり切れない。 それが最後にお志保を見た時の丑松 の言葉であつた。 Zipで圧縮し、長さを求める 吾輩は猫である。名前はまだ無い。 …… 蓮華寺では下宿を兼ねた。 …… ようやくの思いで笹原を這い出すと …….. 346,780 216,445 これ、丑松や、猪子といふ御客様が…….. こう暑くては猫といえどもやり切れない。 それが最後にお志保を見た時の丑松 Zipで圧縮し、長さを求める 吾輩は猫である。名前はまだ無い。 …… 蓮華寺では下宿を兼ねた。 …… ようやくの思いで笹原を這い出すと …….. 346,799 216,466 これ、丑松や、猪子といふ御客様が…….. こう暑くては猫といえどもやり切れない。 それが最後にお志保を見た時の丑松 吾輩は近頃運動を始めた。 吾輩は近頃運動を始めた。 長さの差を求める 19 < 21 未知テキストはクラス0に属すべき 注: この例自体は少々インチキ
  • 7. 比較 従来方法 ちょっと変わった方法 • 言語知識を活用して • 精度向上に限度があ 精度向上が図れる る • 言語知識が必要。 – Minorな言語では利用 • 言語知識が不要 できない % mecab – コストがかかる すもももももももものうち すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ も 助詞,係助詞,*,*,*,*,も,モ,モ 言語知識: もも 名詞,一般,*,*,*,*,もも,モモ,モモ 単語。活用。語根。単語への分割方 の 助詞,連体化,*,*,*,*,の,ノ,ノ 法。 うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ EOS 分類に不適切な単語(stop word)
  • 8. 他分野への適用 • 文字列なら適用可能 R. Cilibrasi, P.M.B. Vitanyi, R. de Wolf, Algorithmic clustering of music based on string compression, Computer Music J., 28:4 (2004), 49-67. なお、ショパンの前奏曲Op.28は、バッハの平均律クラヴィーア曲集に 触発されたと言われている
  • 9. これを説明するには • Algorithmic Information Theory • Bayes の定理と事後確率最大化 • 学習とは、規則性を見出すこと
  • 10. ちょっと、記号を • 圧縮プログラムを Z と書く. さらに、Z(x) で x を圧縮した結果の長さを 表す • そうすると、やっていることは、 if Z(C1x) Z(C1) < Z(C2x) Z(C2) then x C1 otherwise x C2 • では、なぜ、これでいいのか?
  • 11. 結構深い理論が控えている • if Z(C1x) Z(C1) < Z(C2x) Z(C2) then x C1 log2 Pr(x | C1 ) log2 Pr(x | C2 ) 「ある」だけではな くて、我々の直観に であるような確率分布 Pr がある。 合う必要がある。実 際、結構合う。その • つまりこれは、 理由もある程度は説 明できる if Pr( x |C1 ) > Pr( x |C2 ) then x C1 学習=規則性の発見 ゆえ、事後確率最大のクラスを求めている
  • 12. 補足: 分類との関係 • 機械学習による分類を、確率的に考える と Pr(x | C1 ) Pr(x | C2 ) x Ci 最大値が : : Pr(x | Ci ) Pr(x | Ck ) log2 Pr(x | C1 ) log2 Pr(x | C2 ) x Ci 最小値が : : log2 Pr(x | Ci ) log2 Pr(x | Ck )
  • 13. となると、 • if Z(C1x) Z(C1) < Z(C2x) Z(C2) then x C1 log2 Pr(x | C1 ) log2 Pr(x | C2 ) はどうしてか?という疑問があるでしょ う。
  • 14. 再掲: ちょっと変わったテキスト分 類 クラス0 所属クラスが未知のテキスト クラス1 吾輩は猫である。名前はまだ無い。 吾輩は近頃運動を始めた。 蓮華寺では下宿を兼ねた。瀬川丑松 が急に転宿(やどがへ)を これ、丑松や、猪子といふ御客様が ようやくの思いで笹原を這い出すと向うに 大きな池がある。 お前(めへ)を尋ねて来たぞい。 こう暑くては猫といえどもやり切れない。 それが最後にお志保を見た時の丑松 の言葉であつた。 Zipで圧縮し、長さを求める 吾輩は猫である。名前はまだ無い。 …… 蓮華寺では下宿を兼ねた。 …… ようやくの思いで笹原を這い出すと …….. 346,780 216,445 これ、丑松や、猪子といふ御客様が…….. こう暑くては猫といえどもやり切れない。 それが最後にお志保を見た時の丑松 Zipで圧縮し、長さを求める 吾輩は猫である。名前はまだ無い。 …… 蓮華寺では下宿を兼ねた。 …… ようやくの思いで笹原を這い出すと …….. 346,799 216,466 これ、丑松や、猪子といふ御客様が…….. こう暑くては猫といえどもやり切れない。 それが最後にお志保を見た時の丑松 吾輩は近頃運動を始めた。 吾輩は近頃運動を始めた。 長さの差を求める 19 < 21 クラス0に属する確率が約 2-19 だ 未知テキストはクラス0に属すべき 注: 確率値も少々インチキ と言っている。 注: この例自体は少々インチキ
  • 16. 原理の説明: 乱雑さ • ちょっと(大いに?)話は変わります。 • 次の2つの数字列のうち、どちらがより ランダム? 111111111111111111101111110111 111100001001100100111001001001
  • 17. 原理の説明: 乱雑さ • (情報源の)ランダムさは、エントロ ピーで測れるということをご存じ? 無記憶情報源 P(1) p(1)=0.5 H (0.5,0.5) 1 1111000010011…. = P(1) p(1)=0.92 H (0.92,0.08) 0.402 1111011111111…. = Shannon の情報理論 エントロピー or 平均情報量
  • 18. エントロピー関数 1.0 0.8 H ( p, q) p log2 p q log2 q 0.6 h(x) 0.4 0.2 0.0 0.2 0.4 0.6 0.8 1.0 x H ( p1,..., pm ) p1 log2 p1 ... pm log2 pm
  • 19. しかし、 • エントロピーでは測れない、ランダムさ がある • この2つはどちらがランダムであろう か? • いや、こう聞こう、どちらが珍しい(た まにしかみれない⇒珍しい⇒価値がある 01000101111010100111 (?)) 01010101010101010101
  • 20. しかし、 • 無記憶情報源から生成されたと考える(よくある仮 定)と、 • この2つの数字列は同じ情報源から生成され(最尤 推定) 無記憶情報源 • しかも、生起確率は等しい。つまり、どちらも珍し さは同じ。 P(1) p(1)=0.5 H (0.5,0.5) 1 01000101111010100111 = 20 生起確率= 2 P(1) p(1)=0.5 H (0.5,0.5) 1 01010101010101010101 = 20 生起確率= 2
  • 21. この直観を説明する方法はある か? • この直観 01000101111010100111 は規則性なし 01010101010101010101 は規則性あり 規則性なし=ランダムである=珍しくない 規則性あり=ランダムでない=めずらしい を説明する数学を作ろう と考えた数学者がいる。
  • 22. Algorithmic Complexity • その代表者は、 Kolmogorov, Solomonoff, Chaitin (from www.solomonoff85thmemorial.monash.edu/) (from cs.umaine.edu/~chaitin/) (from Wikipedia) Chaitin’s Algorithmic Information Theory Algorithmic Probability 2 ( the size in bits of P ) program P halts
  • 23. それはさておき • ある数字列(文字列でもよい)の複雑度を、 それを出力するプログラムのうち、最も短 いものの長さ(ビット数で数える)と定義 した • 計算機 C に基づく、文字列 x の複雑度 HC(x) は、 x を出力する最小のプログラム p min p C ( p) x の長さ: – HC(x) =
  • 24. 例 • Ruby では 10.times{ print “01” } 01010101010101010101 print "01000101111010100111" 01000101111010100111 • つまり、01010101010101010101 の方が規 則性があるという判断になる。 以上の議論は雑すぎる。実際には、もっと 正確な議論が行われる Chaitin はLISPで議論した
  • 25. 再掲: それはさておき • ある数字列(文字列でもよい)の複雑度を、 それを出力するプログラムのうち、最も短 いものの長さ(ビット数で数える)と定義 確率 した • 計算機 C に基づく、文字列 x の複雑度 HC(x) は、 x を出力する最小のプログラム p min p C ( p) x の長さ: HC(x) は、x を一番圧縮したときの、 圧縮ファイルの長さです。 – HC(x) = このプログラム p は、 「解凍プログラム+圧縮したファイル」 と考えても、ほぼ、よいのです。
  • 26. 理論の展開 • 実は、 HC(x) の C としては universal Turing machine なら何でもよい TM 条件付き確率 H U ( x) min p p x U ( p) x 条件付き複雑度 HU ( x | y ) min p min q1 min q2 U ( p, y ) x U ( q1 ) yx U ( q2 ) y TM TM y x x q1 p y y q2 y
  • 27. 理論の展開:確率と複雑度 • U に対応したある確率分布 PU があり、 P ( x) 2 HU ( x ) log2 P ( x) U HU ( x) U P ( x | y) 2 HU ( x| y ) log2 P ( x | y) U HU ( x | y) U • ところが、 HU ( x | y) HU ( yx) HU ( y) であるから、log2 P ( x | y) HU ( yx) HU ( y) U 注: 「 log (ある事象の生起確率)」 は「その事象の情報量」
  • 28. 分類との関係 • 機械学習による分類を、確率的に考える と Pr(x | C1 ) Pr(x | C2 ) x Ci 最大値が : : Pr(x | Ci ) Pr(x | Ck ) log2 Pr(x | C1 ) log2 Pr(x | C2 ) x Ci 最小値が : : log2 Pr(x | Ci ) log2 Pr(x | Ck )
  • 29. テキスト分類との関係 • 記号をサボって、Ci で Ci のテキストを表 す HU (C1 x) HU (C1 ) HU (C2 x) HU (C2 ) x Ci : 最大値が : HU (Ci x) HU (Ci ) HU (Ck x) HU (Ck ) log2 P ( x | y) U HU ( yx) HU ( y)
  • 30. ちょっと脱線 情報理論的不完全性定理 (Chaitin) • 形式的システム FA は、公理 A に推論規則 F を適用して得られる定理の集合である。 • 形式的システム FA は、ある文字列が複雑 度 H(A)+cF 以上になることを証明できない。 – 特に、H(s)>n の時に限り A ⊧ F H(s)>n である なら、 A ⊧ F H(s)>n となるのは n<H(A)+cF の 時に限られる。
  • 31. ちょっと脱線 結果の別表現(Chaitin) • 算術を含む無矛盾な形式的体系 S (前記 A と F を併せたもの)に対して次の条件を 満たす整定数 cS N が存在する: 真なる H(w)>cS が証明できない。
  • 32. ちょっと脱線 結果の拡張 • 集合 {w| H(w)>g(|w|)} は帰納的可算な無限 集合を含まない。 – g は全域的で帰納的な増加関数 • PA が H(w)>c なるどんな形の文も証明でき なくなるような定数 c が存在する
  • 33. 圧縮プログラムとの関係 • 計算機 C に基づく、文字列 x の複雑度 HC(x) は、 x を出力する最小のプログラム p の長 さ: min p HC(x) は、x を一番圧縮したとき C ( p) x – HC(x) = の、圧縮ファイルの長さです。 このプログラム p は、 「解凍プログラム+圧縮したファイル • 実は関数 HC(x) は計算 と考えても、ほぼ、よいのです。 不能である • そこで、できるだけよい圧縮プログラム Z を用意して、 HC(x) Z(x)の長さ( Z(x) ) 思考実験でプログラムを書いてみよう としてよいのでは?
  • 34. 再再掲: ちょっと変わったテキスト 分類 クラス0 所属クラスが未知のテキスト クラス1 吾輩は猫である。名前はまだ無い。 吾輩は近頃運動を始めた。 蓮華寺では下宿を兼ねた。瀬川丑松 が急に転宿(やどがへ)を これ、丑松や、猪子といふ御客様が ようやくの思いで笹原を這い出すと向うに 大きな池がある。 お前(めへ)を尋ねて来たぞい。 こう暑くては猫といえどもやり切れない。 それが最後にお志保を見た時の丑松 の言葉であつた。 Zipで圧縮し、長さを求める 吾輩は猫である。名前はまだ無い。 …… 蓮華寺では下宿を兼ねた。 …… ようやくの思いで笹原を這い出すと …….. 346,780 216,445 これ、丑松や、猪子といふ御客様が…….. こう暑くては猫といえどもやり切れない。 それが最後にお志保を見た時の丑松 Zipで圧縮し、長さを求める 吾輩は猫である。名前はまだ無い。 …… 蓮華寺では下宿を兼ねた。 …… ようやくの思いで笹原を這い出すと …….. 346,799 216,466 これ、丑松や、猪子といふ御客様が…….. こう暑くては猫といえどもやり切れない。 それが最後にお志保を見た時の丑松 吾輩は近頃運動を始めた。 吾輩は近頃運動を始めた。 長さの差を求める 19 < 21 未知テキストはクラス0に属すべき 注: この例自体は少々インチキ
  • 35. 実際にうまくいくのか? • 結構、うまくいく。 – 知らない言語で、とにかくテキスト分類をす るなら、これしか方法はない • ただ、かなりうまくいくようにするには 工夫が必要。