Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

文脈自由文法の話

24,873 views

Published on

Foundation of Context-free grammar (for beginners)

Published in: Software
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

文脈自由文法の話

  1. 1. 文脈自由文法の話 NLP勉強会 #2 2014. 12. 14 Sun. twitterID: @kogecoo
  2. 2. はじめに • 自然言語の文章は曖昧 黒い瞳の綺麗な女の子 • 背景にある構造と対応付けることで解釈を表現 • 背景にある構造 → 係り受け構造、句構造 • 文章の(構造的な)解釈を計算機で扱える
  3. 3. はじめに • 代表的な道具 今日はこっちの話 係り受け構造句構造 黒い瞳の綺麗な女の子黒い瞳の綺麗な女の子
  4. 4. もくじ • はじめに • 形式文法 • 文脈自由文法(CFG) • 確率的文脈自由文法(PCFG)
  5. 5. 形式文法 • 言語を背景にある構造と対応付けることで説明する • 背景にある構造 → 係り受け構造、句構造 係り受け構造句構造 黒い瞳の綺麗な女の子黒い瞳の綺麗な女の子
  6. 6. 形式文法 • 言語を数学的に取り扱う枠組み • → 言語モデル • 文を生成するアルゴリズムが形式文法 • 文はこんなふうに作られるんだぜ、という手続き
  7. 7. 形式文法 • なぜそのようなものを考える必要があるか? 1. Colorless green ideas sleep furiously. (無色の緑の考えが猛烈に眠る) 2. Furiously sleep green colorless. (眠る猛烈に考え緑の無色の) • 1は文法的に正しいが、意味不明/無意味 • 2は文法も間違っている
  8. 8. 形式文法 • 文法的に正しい文は意味を持つ可能性がある ‒ だが、必ず意味を持つわけではない • 言語の意味と、言語の文法を分けて扱おう
  9. 9. 形式文法 • 形式文法の2つの分類 • 生成文法 ← 今日はこれ • 分析的文法 • 生成文法 • 文を生成するアルゴリズム • 開始記号に書き換え規則を適用することで文が生成 される開始記号S 書き換え規則文
  10. 10. 形式文法 • 生成文法のよく知られたクラス(チョムスキー階層) • 正規文法(有限オートマトン) • 文脈自由文法(プッシュダウン・オートマトン) ← 今日はこれ • 文脈依存文法(線形拘束オートマトン) • 句構造文法(チューリングマシン) 出典:
  11. 11. もくじ • はじめに • 形式文法 • 文脈自由文法(Context-free grammar) • 確率的文脈自由文法(PCFG)
  12. 12. 12 文脈自由文法 (Context-free grammar ;CFG) • ルールから文を再帰的に導出する生成モデル • 単語の前後関係に依存せず導出 → 文脈自由 • Time flies like an arrow  をCFGで生成した時のイメージ (これから説明します) N→time V→time ADJ→time N→flies V→flies P→like V→like D→an N→arrow S→NP / VP S→N / VP NP→ADJ / N NP→D / N VP→V / NP VP→V / PP PP→P / NP VP S N V Time flies P like DET an N arrow PP NP
  13. 13. 文脈自由文法 (Context-free grammar ;CFG) • 用語の導入 • 非終端記号(non-terminal; NT) • 抽象的な文法的要素を表現する記号 • → 「名詞」とか「動詞」とか。開始記号もこれ。 • 終端記号(terminal; T) • 最終的な文を直接構成する要素 • → coffee, drink, cat… 自然言語処理なら大抵単語そのもの
  14. 14. 文脈自由文法 (Context-free grammar ;CFG) • ルールから文を再帰的に導出する生成モデル • 書き換え規則(チョムスキー標準形) • NT → NT, NT • NT → T 非終端記号(non-terminal; NT) … 名詞とか動詞とか 終端記号(terminal; T) … 単語 文 名詞句動詞句 名詞句 前置詞名詞 名詞動詞 Coffee drink 14
  15. 15. 文脈自由文法 (Context-free grammar ;CFG) • Time flies like an arrowという文の生成をしてみる S S→NP / VP S→N / VP NP→ADJ / N NP→D / N VP→V / NP VP→V / PP PP→P / NP N→time V→time ADJ→time N→flies V→flies P→like V→like D→an N→arrow 15
  16. 16. 文脈自由文法 (Context-free grammar ;CFG) • Time flies like an arrowという文の生成をしてみる VP S N S→NP / VP S→N / VP NP→ADJ / N NP→D / N VP→V / NP VP→V / PP PP→P / NP N→time V→time ADJ→time N→flies V→flies P→like V→like D→an N→arrow 16
  17. 17. 文脈自由文法 (Context-free grammar ;CFG) • Time flies like an arrowという文の生成をしてみる VP S N V Time PP S→NP / VP S→N / VP NP→ADJ / N NP→D / N VP→V / NP VP→V / PP PP→P / NP N→time V→time ADJ→time N→flies V→flies P→like V→like D→an N→arrow 17
  18. 18. 18 文脈自由文法 (Context-free grammar ;CFG) • Time flies like an arrowという文の生成をしてみる VP S N V Time flies P PP NP S→NP / VP S→N / VP NP→ADJ / N NP→D / N VP→V / NP VP→V / PP PP→P / NP N→time V→time ADJ→time N→flies V→flies P→like V→like D→an N→arrow
  19. 19. 19 文脈自由文法 (Context-free grammar ;CFG) • Time flies like an arrowという文の生成をしてみる VP S N V Time flies P like PP NP DET N S→NP / VP S→N / VP NP→ADJ / N NP→D / N VP→V / NP VP→V / PP PP→P / NP N→time V→time ADJ→time N→flies V→flies P→like V→like D→an N→arrow
  20. 20. S→NP / VP S→N / VP NP→ADJ / N NP→D / N VP→V / NP VP→V / PP PP→P / NP この文の文法構造 20 文脈自由文法 (Context-free grammar ;CFG) • Time flies like an arrowという文の生成をしてみる VP S N V Time flies P like DET an N arrow PP NP N→time V→time ADJ→time N→flies V→flies P→like V→like D→an N→arrow (構文木)
  21. 21. N→time V→time ADJ→time N→flies V→flies P→like V→like DET→an N→arrow S→NP / VP S→N / VP NP→ADJ / N NP→DET / N VP→V / NP VP→V / PP PP→P / NP Time flies time an time Time flies time an flies Time flies time an arrow Time flies flies an time Time flies flies an flies Time flies flies an arrow Time flies like an time Time flies like an flies Time flies like an arrow Time flies time time time Time flies flies time flies Time flies like time arrow Time flies time like an time Time flies time like an flies Time flies time like an arrow Time flies flies like an time Time flies flies like an flies Time flies flies like an arrow Time flies like like an time Time flies like like an flies Time flies like like an arrow Time flies time like time arrow Time flies time like time time Time flies time like time flies Time flies flies like time arrow Time flies flies like time time Time flies flies like time flies Time flies like like time arrow Time flies like like time flies Time flies like like time flies Time arrow time an time Time arrow time an flies Time arrow time an arrow Time arrow flies an time Time arrow flies an flies Time arrow flies an arrow Time arrow like an time Time arrow like an flies Time arrow like an arrow Time arrow time time time Time arrow flies time flies Time arrow like time arrow Time arrow time like an time Time arrow time like an flies Time arrow time like an arrow Time arrow flies like an time Time arrow flies like an flies Time arrow flies like an arrow Time arrow like like an time Time arrow like like an flies Time arrow like like an arrow Time arrow time like time arrow Time arrow time like time time Time arrow time like time flies Time arrow flies like time arrow Time arrow flies like time time Time arrow flies like time flies Time arrow like like time arrow Time arrow like like time flies Time arrow like like time flies Time time time an time Time time time an flies Time time time an arrow Time time flies an time Time time flies an flies Time time flies an arrow Time time like an time Time time like an flies Time time like an arrow Time time time time time Time time flies time flies Time time like time arrow Time time time like an time Time time time like an flies Time time time like an arrow Time time flies like an time Time time flies like an flies Time time flies like an arrow Time time like like an time Time time like like an flies Time time like like an arrow Time time time like time arrow Time time time like time time Time time time like time flies Time time flies like time arrow Time time flies like time time Time time flies like time flies Time time like like time arrow Time time like like time flies Time time like like time flies Time time an time Time time an flies Time time an arrow Time flies an time Time flies an flies Time flies an arrow Time like an time Time like an flies Time like an arrow Time time time time Time flies time flies Time like time arrow Time time like an time Time time like an flies Time time like an arrow Time flies like an time Time flies like an flies Time flies like an arrow Time like like an time Time like like an flies Time like like an arrow Time time like time arrow Time time like time time Time time like time flies Time flies like time arrow Time flies like time time Time flies like time flies Time like like time arrow Time like like time flies Time like like time flies flies time an time flies time an flies flies time an arrow flies flies an time flies flies an flies flies flies an arrow flies like an time flies like an flies flies like an arrow flies time time time flies flies time flies flies like time arrow flies time like an time flies time like an flies flies time like an arrow flies flies like an time flies flies like an flies flies flies like an arrow flies like like an time flies like like an flies flies like like an arrow flies time like time arrow flies time like time time flies time like time flies flies flies like time arrow flies flies like time time flies flies like time flies flies like like time arrow flies like like time flies flies like like time flies arrow time an time arrow time an flies arrow time an arrow arrow flies an time arrow flies an flies arrow flies an arrow arrow like an time arrow like an flies arrow like an arrow arrow time time time arrow flies time flies arrow like time arrow arrow time like an time arrow time like an flies arrow time like an arrow arrow flies like an time arrow flies like an flies arrow flies like an arrow arrow like like an time arrow like like an flies arrow like like an arrow arrow time like time arrow arrow time like time time arrow time like time flies arrow flies like time arrow arrow flies like time time arrow flies like time flies arrow like like time arrow arrow like like time flies arrow like like time flies 文脈自由文法 (Context-free grammar ;CFG) • 可能な全ての文 • 複数のプロセスで同じ文が生成されることも
  22. 22. 文脈自由文法 (Context-free grammar ;CFG) • 逆に文が与えられた時にどのように生成されたのか を知りたい → 文法構造を知りたい → 構文解析 • 先スライドのように文法から可能な文を全て列挙? • その中に解析したい文があればそれが解析結果 → 死
  23. 23. 文脈自由文法 (Context-free grammar ;CFG) • ルールが増えると生成される文は膨大になる • S → that S のようなルールがあると不可能 • 何とかならないか… → みんな大好きDynamic Programming → CKYアルゴリズム
  24. 24. CYKアルゴリズム N→time V→time ADJ→time N→flies V→flies P→like V→like DET→an N→arrow S→NP / VP S→N / VP NP→ADJ / N NP→DET / N VP→V / NP VP→V / PP PP→P / NP N:名詞 V:動詞 P:前置詞 ADJ:形容詞 DET:冠詞 NP:名詞句 VP:動詞句 PP:前置詞句 Time flies like an arrow
  25. 25. CYKアルゴリズム N→time V→time ADJ→time N→flies V→flies P→like V→like DET→an N→arrow S→NP / VP S→N / VP NP→ADJ / N NP→DET / N VP→V / NP VP→V / PP PP→P / NP N→time V→time ADJ→time N→flies V→flies P→like V→like N:名詞 V:動詞 P:前置詞 ADJ:形容詞 DET:冠詞 NP:名詞句 VP:動詞句 PP:前置詞句 D→an N→arrow Time flies like an arrow
  26. 26. N→time V→time ADJ→time N→flies V→flies P→like V→like D→an N→arrow CYKアルゴリズム S→NP / VP S→N / VP NP→ADJ / N NP→D / N VP→V / NP VP→V / PP PP→P / NP NP→ADJ / N φ φ NP→D / N N V ADJ N V P V D N Time flies like an arrow
  27. 27. CYKアルゴリズム NTペアのとり方 N→time V→time ADJ→time N→flies V→flies P→like V→like D→an N→arrow φ φ 三角形が重ならないように NP φ φ NP N V ADJ N V P V D N S→NP / VP S→N / VP NP→ADJ / N NP→D / N VP→V / NP VP→V / PP PP→P / NP Time flies like an arrow
  28. 28. CYKアルゴリズム NTペアのとり方 N→time V→time ADJ→time N→flies V→flies P→like V→like D→an N→arrow φ φ 三角形が重ならないように NP φ φ NP N V ADJ N V P V D N S→NP / VP S→N / VP NP→ADJ / N NP→D / N VP→V / NP VP→V / PP PP→P / NP Time flies like an arrow
  29. 29. CYKアルゴリズム NTペアのとり方 N→time V→time ADJ→time N→flies V→flies P→like V→like D→an N→arrow φ φ 三角形が重ならないように NP φ φ NP N V ADJ N V P V D N S→NP / VP S→N / VP NP→ADJ / N NP→D / N VP→V / NP VP→V / PP PP→P / NP Time flies like an arrow
  30. 30. N→time V→time ADJ→time N→flies V→flies P→like V→like D→an N→arrow CYKアルゴリズム S→NP / VP S→N / VP NP→ADJ / N NP→D / N VP→V / NP VP→V / PP PP→P / NP VP→V / NP φ φ PP→P / NP NP φ φ NP N V ADJ N V P V D N Time flies like an arrow
  31. 31. N→time V→time ADJ→time N→flies V→flies P→like V→like D→an N→arrow CYKアルゴリズム S→NP / VP S→N / VP NP→ADJ / N NP→D / N VP→V / NP VP→V / PP PP→P / NP φ φ φ S→N / VP VP→V / PP VP PP NP φ φ NP N V ADJ N V P V D N Time flies like an arrow
  32. 32. CYKアルゴリズム このセルを埋めたい三角形が重ならないように Time flies like an arrow
  33. 33. CYKアルゴリズム このセルを埋めたい三角形が重ならないように Time flies like an arrow
  34. 34. CYKアルゴリズム このセルを埋めたい三角形が重ならないように Time flies like an arrow
  35. 35. CYKアルゴリズム このセルを埋めたい三角形が重ならないように Time flies like an arrow
  36. 36. N→time V→time ADJ→time N→flies V→flies P→like V→like D→an N→arrow CYKアルゴリズム S→NP / VP S→N / VP NP→ADJ / N NP→D / N VP→V / NP VP→V / PP PP→P / NP S→NP / VP S→N / VP φ S φ φ VP VP PP NP φ φ NP N V ADJ N V P V D N Time flies like an arrow
  37. 37. CYKアルゴリズム S→NP / VP S→N / VP Sのあるセルをルートとする 文は文法的に正しい (文法から生成可能) Time flies like an arrow flies like an arrow は文法的に正しい (与えられた文法の枠内では) φ φ φ S VP VP PP NP φ φ NP N V ADJ N V P V D N Time flies like an arrow
  38. 38. CYKアルゴリズム S→NP / VP S→N / VP 構文木を求めるには完成した 表をバックトラック φ 複数の木が得られることもある →曖昧な文 φ φ S→N / VP VP→V / PP VP→V / NP PP→P / NP NP→ADJ / N φ φ NP→D / N N→time V→time ADJ→time N→flies V→flies P→like V→like D→an N→arrow Time flies like an arrow
  39. 39. NP VP S ADJ N Time flies V like DET an N arrow NP VP S N V Time flies P like DET an N arrow PP NP S→NP / VP S→N / VP NP→ADJ / N NP→D / N VP→V / NP VP→V / PP PP→P / NP N→time V→time ADJ→time N→flies V→flies P→like V→like D→an N→arrow CYKアルゴリズム • この文法で得られた Time flies like an arrowに対 応する構文木
  40. 40. 40 文脈自由文法 (Context-free grammar ;CFG) • 複数の導出が考えられるのが普通 • どれが正しい導出なのかわからない → 各ルールに確率を導入 NP VP S ADJ N Time flies V like DET an N arrow NP VP S N V Time flies P like DET an N arrow PP NP N→time V→time ADJ→time N→flies V→flies P→like V→like D→an N→arrow S→NP / VP S→N / VP NP→ADJ / N NP→D / N VP→V / NP VP→V / PP PP→P / NP
  41. 41. もくじ • はじめに • 形式文法 • 文脈自由文法(Context-free grammar) • 確率的文脈自由文法(PCFG)
  42. 42. 確率的文脈自由文法 (Probabilistic Context-free Grammar; PCFG) • CFGではルールから文が生成可能かどうかのみ考慮 • 得られた構文木が複数あるとき、どれが一番それら しいか決定したい
  43. 43. 確率的文脈自由文法 (Probabilistic Context-free Grammar; PCFG) • 各ルールに重み(確率値)を導入 N→time [0.6] → PCFG N→flies [0.1] S→NP/VP[0.4] … → 構文木の生成確率が得られる → 構文木の生成確率:文に対する構文木のそれっ ぽさ
  44. 44. NP VP S ADJ N Time flies V like DET an 0.001008 0.003024 N arrow NP VP S N V Time flies P like DET an N arrow PP NP 確率的文脈自由文法 (Probabilistic Context-free Grammar; PCFG) • 構文木の生成確率が得られる • 適用されているルールの確率の掛け算 S→NP / VP [0.4] S→N / VP [0.6] NP→ADJ / N [0.3] NP→DET / N [0.7] VP→V / NP [0.8] VP→V / PP [0.2] PP→P / NP [1.0] N→time [0.6] N→flies [0.1] N→arrow[0.3] V→time [0.3] V→flies [0.2] V→like [0.5] ADJ→time [1.0] P→like [1.0] DET→an [1.0]
  45. 45. 確率的文脈自由文法 (Probabilistic Context-free Grammar; PCFG) • 前述の例ではルールの確率は適当に振った • 実際にはコーパスから学習する必要 → EM • Inside-Outsideアルゴリズム • CKYがわかれば書ける • HMMのForward-Backwardアルゴリズムに相当
  46. 46. 確率的文脈自由文法 (Probabilistic Context-free Grammar; PCFG) • 応用先 • 文 (単語の列) • RNA (塩基の列) • 音楽 (音符の列) • etc… • シーケンスの背後に再帰的な木構造が考えられるもの
  47. 47. (Probabilistic Context-free Grammar; PCFG) • 文の解釈 確率的文脈自由文法 Time flies fast ( 時間が ( 飛ぶ   速く  ) ) Time flies fast ( ( 時間   蝿) が断食する) 文 動詞句 名詞動詞副詞 文 動詞 名詞句 形容詞名詞
  48. 48. 確率的文脈自由文法 (Probabilistic Context-free Grammar; PCFG) • RNAの2次構造 g c c g c g c c g g a c c c g g a c c c a c g a
  49. 49. 確率的文脈自由文法 (Probabilistic Context-free Grammar; PCFG) • より進んだ話 • ベイズ化 • Bayesian PCFG • Hierarchical Dirichlet-process PCFG • ルールを拡張 • Lexicalized PCFG • Tree-Adjoining grammar • PCFG with latent annotations • などなどいっぱいありすぎて何が何だか
  50. 50. まとめ • 生成文法 • 文の生成過程のアルゴリズム • 文脈自由文法 • 単語の前後関係に依存しない生成文法 • 効率的な構文解析手法が存在 → CKY • 確率文脈自由文法 • 構文的に曖昧な文に対応
  51. 51. おまけ
  52. 52. 52 Bag of words • Bag of words = 1-gram (unigram) – 袋に入っているキャンディーの色の割合
  53. 53. 53 Naïve Bayes • どっちの袋から出したキャンディー? – 袋を推定(袋の数は与える) – キャンディー: 観測 ?
  54. 54. 54 Hidden Markov Model • キャンディーが並んでいる(並びが重要) – それぞれどの袋から出したもの? – どういう「袋の順番で」取り出したかを推定 • キャンディー: 観測
  55. 55. 55 PCFG • 袋の中にはキャンディーと「袋のペア」が 入っている – チョムスキー標準形
  56. 56. 56 PCFG • どういう経路でキャンディー列が出てきた? – 経路と袋を推定する

×