狠狠撸

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

Recommended

最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
Yuta Kikuchi
?
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
Preferred Networks
?
Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~
Yuya Unno
?
SSII2020SS: グラフデータでも深層学習 ? Graph Neural Networks 入門 ?
SSII2020SS: グラフデータでも深層学習 ? Graph Neural Networks 入門 ?
SSII
?
最近の碍补驳驳濒别に学ぶテーブルデータの特徴量エンジニアリング
最近の碍补驳驳濒别に学ぶテーブルデータの特徴量エンジニアリング
mlm_kansai
?
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
tmtm otm
?
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
tomohiro kato
?
奥辞谤诲2惫别肠の理论背景
奥辞谤诲2惫别肠の理论背景
Masato Nakai
?
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
Deep Learning JP
?
最小カットを使って「燃やす埋める问题」を解く
最小カットを使って「燃やす埋める问题」を解く
shindannin
?
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
Takuya Akiba
?
Topological sort
Topological sort
HCPC: 北海道大学競技プログラミングサークル
?
数式からみる奥辞谤诲2痴别肠
数式からみる奥辞谤诲2痴别肠
Okamoto Laboratory, The University of Electro-Communications
?
笔颁础の最终形态骋笔尝痴惭の解説
笔颁础の最终形态骋笔尝痴惭の解説
弘毅 露崎
?
グラフネットワーク?フロー&补尘辫;カット?
グラフネットワーク?フロー&补尘辫;カット?
HCPC: 北海道大学競技プログラミングサークル
?
研究効率化Tips Ver.2
研究効率化Tips Ver.2
cvpaper. challenge
?
様々な全域木问题
様々な全域木问题
tmaehara
?
笔搁惭尝学习者から入る深层生成モデル入门
笔搁惭尝学习者から入る深层生成モデル入门
tmtm otm
?
有向グラフに対する 非線形ラプラシアンと ネットワーク解析
有向グラフに対する 非線形ラプラシアンと ネットワーク解析
Yuichi Yoshida
?
科学と机械学习のあいだ:変量の设计?変换?选択?交互作用?线形性
科学と机械学习のあいだ:変量の设计?変换?选択?交互作用?线形性
Ichigaku Takigawa
?
惭滨颁の解説
惭滨颁の解説
logics-of-blue
?
ウェーブレット木の世界
ウェーブレット木の世界
Preferred Networks
?
ベイズ统计学の概论的绍介
ベイズ统计学の概论的绍介
Naoki Hayashi
?
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
Deep Learning JP
?
いろんなハ?ンテ?ィットアルコ?リス?ムを理解しよう
いろんなハ?ンテ?ィットアルコ?リス?ムを理解しよう
Tomoki Yoshida
?
AtCoder Beginner Contest 002 解説
AtCoder Beginner Contest 002 解説
AtCoder Inc.
?
【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?
Masanao Ochi
?
自然言语処理のための机械学习入门1章
自然言语処理のための机械学习入门1章
Hiroki Mizukami
?
文献调査をどのように行うべきか?
文献调査をどのように行うべきか?
Yuichi Goto
?

More Related Content

What's hot (20)

奥辞谤诲2惫别肠の理论背景
奥辞谤诲2惫别肠の理论背景
Masato Nakai
?
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
Deep Learning JP
?
最小カットを使って「燃やす埋める问题」を解く
最小カットを使って「燃やす埋める问题」を解く
shindannin
?
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
Takuya Akiba
?
Topological sort
Topological sort
HCPC: 北海道大学競技プログラミングサークル
?
数式からみる奥辞谤诲2痴别肠
数式からみる奥辞谤诲2痴别肠
Okamoto Laboratory, The University of Electro-Communications
?
笔颁础の最终形态骋笔尝痴惭の解説
笔颁础の最终形态骋笔尝痴惭の解説
弘毅 露崎
?
グラフネットワーク?フロー&补尘辫;カット?
グラフネットワーク?フロー&补尘辫;カット?
HCPC: 北海道大学競技プログラミングサークル
?
研究効率化Tips Ver.2
研究効率化Tips Ver.2
cvpaper. challenge
?
様々な全域木问题
様々な全域木问题
tmaehara
?
笔搁惭尝学习者から入る深层生成モデル入门
笔搁惭尝学习者から入る深层生成モデル入门
tmtm otm
?
有向グラフに対する 非線形ラプラシアンと ネットワーク解析
有向グラフに対する 非線形ラプラシアンと ネットワーク解析
Yuichi Yoshida
?
科学と机械学习のあいだ:変量の设计?変换?选択?交互作用?线形性
科学と机械学习のあいだ:変量の设计?変换?选択?交互作用?线形性
Ichigaku Takigawa
?
惭滨颁の解説
惭滨颁の解説
logics-of-blue
?
ウェーブレット木の世界
ウェーブレット木の世界
Preferred Networks
?
ベイズ统计学の概论的绍介
ベイズ统计学の概论的绍介
Naoki Hayashi
?
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
Deep Learning JP
?
いろんなハ?ンテ?ィットアルコ?リス?ムを理解しよう
いろんなハ?ンテ?ィットアルコ?リス?ムを理解しよう
Tomoki Yoshida
?
AtCoder Beginner Contest 002 解説
AtCoder Beginner Contest 002 解説
AtCoder Inc.
?
【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?
Masanao Ochi
?
奥辞谤诲2惫别肠の理论背景
奥辞谤诲2惫别肠の理论背景
Masato Nakai
?
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
Deep Learning JP
?
最小カットを使って「燃やす埋める问题」を解く
最小カットを使って「燃やす埋める问题」を解く
shindannin
?
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
Takuya Akiba
?
笔颁础の最终形态骋笔尝痴惭の解説
笔颁础の最终形态骋笔尝痴惭の解説
弘毅 露崎
?
様々な全域木问题
様々な全域木问题
tmaehara
?
笔搁惭尝学习者から入る深层生成モデル入门
笔搁惭尝学习者から入る深层生成モデル入门
tmtm otm
?
有向グラフに対する 非線形ラプラシアンと ネットワーク解析
有向グラフに対する 非線形ラプラシアンと ネットワーク解析
Yuichi Yoshida
?
科学と机械学习のあいだ:変量の设计?変换?选択?交互作用?线形性
科学と机械学习のあいだ:変量の设计?変换?选択?交互作用?线形性
Ichigaku Takigawa
?
ウェーブレット木の世界
ウェーブレット木の世界
Preferred Networks
?
ベイズ统计学の概论的绍介
ベイズ统计学の概论的绍介
Naoki Hayashi
?
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
Deep Learning JP
?
いろんなハ?ンテ?ィットアルコ?リス?ムを理解しよう
いろんなハ?ンテ?ィットアルコ?リス?ムを理解しよう
Tomoki Yoshida
?
AtCoder Beginner Contest 002 解説
AtCoder Beginner Contest 002 解説
AtCoder Inc.
?
【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?
Masanao Ochi
?

Viewers also liked (19)

自然言语処理のための机械学习入门1章
自然言语処理のための机械学习入门1章
Hiroki Mizukami
?
文献调査をどのように行うべきか?
文献调査をどのように行うべきか?
Yuichi Goto
?
はじめての生成文法 《後編》
はじめての生成文法 《後編》
Shuyo Nakatani
?
言語モデル入門 (第二版)
言語モデル入門 (第二版)
Yoshinari Fujinuma
?
はじめての生成文法?前編 - #tokyonlp 5
はじめての生成文法?前編 - #tokyonlp 5
Shuyo Nakatani
?
统计的係り受け解析入门
统计的係り受け解析入门
Yuya Unno
?
クックパッド特売情報 における自然言語処理 ?固有表現抽出を利用した検索システム?
クックパッド特売情報 における自然言語処理 ?固有表現抽出を利用した検索システム?
Takeshi Arabiki
?
Formacio?n continua online para profesores de idiomas
Net-Learning - Soluciones para E-learning
?
Fri. March 24th Pine River Announcements
Fri. March 24th Pine River Announcements
Pine River
?
Cult Marketing - Instameet
Cult Marketing - Instameet
Rajath D M
?
Br20,br30 ,br40 led light
Br20,br30 ,br40 led light
Luminhome Lighting
?
Filippo, Plain simple reality of entropy
Filippo, Plain simple reality of entropy
PacSecJP
?
Distribution and ex dividend dates-upto 22 mar-2017
Distribution and ex dividend dates-upto 22 mar-2017
RAFI SECURITIES (PVT.)LTD.
?
El polimorfismo 894G>T en el gen NOS3 y su relación con prehipertensión en po...
Conferencia Sindrome Metabolico
?
Searchmetrics eCommerce Ranking Factors Online Workshop
Searchmetrics eCommerce Ranking Factors Online Workshop
Searchmetrics
?
Програма 5-? М?жнародно? науково-практично? конференц?? "Наукова комун?кац?я ...
Програма 5-? М?жнародно? науково-практично? конференц?? "Наукова комун?кац?я ...
NaUKMA Library
?
How Does Code Signing Works?
How Does Code Signing Works?
AboutSSL
?
Contoh surat undangan tahlil 40, 100, 1000 hari (haul)
Contoh surat undangan tahlil 40, 100, 1000 hari (haul)
bisri_makmur
?
Xamarin.Mac をこれからはじめるあなたへ
Xamarin.Mac をこれからはじめるあなたへ
Tsubasa Hirano
?
自然言语処理のための机械学习入门1章
自然言语処理のための机械学习入门1章
Hiroki Mizukami
?
文献调査をどのように行うべきか?
文献调査をどのように行うべきか?
Yuichi Goto
?
はじめての生成文法 《後編》
はじめての生成文法 《後編》
Shuyo Nakatani
?
言語モデル入門 (第二版)
言語モデル入門 (第二版)
Yoshinari Fujinuma
?
はじめての生成文法?前編 - #tokyonlp 5
はじめての生成文法?前編 - #tokyonlp 5
Shuyo Nakatani
?
统计的係り受け解析入门
统计的係り受け解析入门
Yuya Unno
?
クックパッド特売情報 における自然言語処理 ?固有表現抽出を利用した検索システム?
クックパッド特売情報 における自然言語処理 ?固有表現抽出を利用した検索システム?
Takeshi Arabiki
?
Formacio?n continua online para profesores de idiomas
Net-Learning - Soluciones para E-learning
?
Fri. March 24th Pine River Announcements
Fri. March 24th Pine River Announcements
Pine River
?
Cult Marketing - Instameet
Cult Marketing - Instameet
Rajath D M
?
Filippo, Plain simple reality of entropy
Filippo, Plain simple reality of entropy
PacSecJP
?
Distribution and ex dividend dates-upto 22 mar-2017
Distribution and ex dividend dates-upto 22 mar-2017
RAFI SECURITIES (PVT.)LTD.
?
El polimorfismo 894G>T en el gen NOS3 y su relación con prehipertensión en po...
Conferencia Sindrome Metabolico
?
Searchmetrics eCommerce Ranking Factors Online Workshop
Searchmetrics eCommerce Ranking Factors Online Workshop
Searchmetrics
?
Програма 5-? М?жнародно? науково-практично? конференц?? "Наукова комун?кац?я ...
Програма 5-? М?жнародно? науково-практично? конференц?? "Наукова комун?кац?я ...
NaUKMA Library
?
How Does Code Signing Works?
How Does Code Signing Works?
AboutSSL
?
Contoh surat undangan tahlil 40, 100, 1000 hari (haul)
Contoh surat undangan tahlil 40, 100, 1000 hari (haul)
bisri_makmur
?
Xamarin.Mac をこれからはじめるあなたへ
Xamarin.Mac をこれからはじめるあなたへ
Tsubasa Hirano
?
Ad

文脉自由文法の话

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