SlideShare uma empresa Scribd logo
1 de 56
Baixar para ler offline
文脈自由文法の話 
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 
• どういう経路でキャンディー列が出てきた? 
– 経路と袋を推定する

Mais conteúdo relacionado

Mais procurados

Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Naoaki Okazaki
 
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...joisino
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方joisino
 
Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Yuya Unno
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 
研究分野をサーベイする
研究分野をサーベイする研究分野をサーベイする
研究分野をサーベイするTakayuki Itoh
 
強化学習その2
強化学習その2強化学習その2
強化学習その2nishio
 
画像キャプションの自動生成
画像キャプションの自動生成画像キャプションの自動生成
画像キャプションの自動生成Yoshitaka Ushiku
 
Kaggleのテクニック
KaggleのテクニックKaggleのテクニック
KaggleのテクニックYasunori Ozaki
 
【DL輪読会】時系列予測 Transfomers の精度向上手法
【DL輪読会】時系列予測 Transfomers の精度向上手法【DL輪読会】時系列予測 Transfomers の精度向上手法
【DL輪読会】時系列予測 Transfomers の精度向上手法Deep Learning JP
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement LearningPreferred Networks
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Preferred Networks
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みMasahiro Sakai
 
工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方ychtanaka
 
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方Shinagawa Seitaro
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoderSho Tatsuno
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Yusuke Uchida
 

Mais procurados (20)

Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善
 
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
 
Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
研究分野をサーベイする
研究分野をサーベイする研究分野をサーベイする
研究分野をサーベイする
 
強化学習その2
強化学習その2強化学習その2
強化学習その2
 
Lucas kanade法について
Lucas kanade法についてLucas kanade法について
Lucas kanade法について
 
画像キャプションの自動生成
画像キャプションの自動生成画像キャプションの自動生成
画像キャプションの自動生成
 
ゼロから始める転移学習
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習
 
Kaggleのテクニック
KaggleのテクニックKaggleのテクニック
Kaggleのテクニック
 
【DL輪読会】時系列予測 Transfomers の精度向上手法
【DL輪読会】時系列予測 Transfomers の精度向上手法【DL輪読会】時系列予測 Transfomers の精度向上手法
【DL輪読会】時系列予測 Transfomers の精度向上手法
 
言語モデル入門
言語モデル入門言語モデル入門
言語モデル入門
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
 
工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方工学系大学4年生のための論文の読み方
工学系大学4年生のための論文の読み方
 
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 

Destaque

自然言語処理のための機械学習入門1章
自然言語処理のための機械学習入門1章自然言語処理のための機械学習入門1章
自然言語処理のための機械学習入門1章Hiroki Mizukami
 
文献調査をどのように行うべきか?
文献調査をどのように行うべきか?文献調査をどのように行うべきか?
文献調査をどのように行うべきか?Yuichi Goto
 
はじめての生成文法 《後編》
はじめての生成文法 《後編》はじめての生成文法 《後編》
はじめての生成文法 《後編》Shuyo Nakatani
 
言語モデル入門 (第二版)
言語モデル入門 (第二版)言語モデル入門 (第二版)
言語モデル入門 (第二版)Yoshinari Fujinuma
 
はじめての生成文法・前編 - #tokyonlp 5
はじめての生成文法・前編 - #tokyonlp 5はじめての生成文法・前編 - #tokyonlp 5
はじめての生成文法・前編 - #tokyonlp 5Shuyo Nakatani
 
クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜
クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜
クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜Takeshi Arabiki
 
Fri. March 24th Pine River Announcements
Fri. March 24th Pine River Announcements  Fri. March 24th Pine River Announcements
Fri. March 24th Pine River Announcements Pine River
 
Cult Marketing - Instameet
Cult Marketing - InstameetCult Marketing - Instameet
Cult Marketing - InstameetRajath D M
 
Filippo, Plain simple reality of entropy
Filippo, Plain simple reality of  entropyFilippo, Plain simple reality of  entropy
Filippo, Plain simple reality of entropyPacSecJP
 
Distribution and ex dividend dates-upto 22 mar-2017
Distribution and ex dividend dates-upto 22 mar-2017Distribution and ex dividend dates-upto 22 mar-2017
Distribution and ex dividend dates-upto 22 mar-2017RAFI SECURITIES (PVT.)LTD.
 
El polimorfismo 894G>T en el gen NOS3 y su relación con prehipertensión en po...
El polimorfismo 894G>T en el gen NOS3 y su relación con prehipertensión en po...El polimorfismo 894G>T en el gen NOS3 y su relación con prehipertensión en po...
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 WorkshopSearchmetrics eCommerce Ranking Factors Online Workshop
Searchmetrics eCommerce Ranking Factors Online WorkshopSearchmetrics
 
Програма 5-ї Міжнародної науково-практичної конференції "Наукова комунікація ...
Програма 5-ї Міжнародної науково-практичної конференції "Наукова комунікація ...Програма 5-ї Міжнародної науково-практичної конференції "Наукова комунікація ...
Програма 5-ї Міжнародної науково-практичної конференції "Наукова комунікація ...NaUKMA Library
 
How Does Code Signing Works?
How Does Code Signing Works?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)Contoh surat undangan tahlil 40, 100, 1000 hari (haul)
Contoh surat undangan tahlil 40, 100, 1000 hari (haul)bisri_makmur
 
Xamarin.Mac をこれからはじめるあなたへ
Xamarin.Mac をこれからはじめるあなたへXamarin.Mac をこれからはじめるあなたへ
Xamarin.Mac をこれからはじめるあなたへTsubasa Hirano
 

Destaque (18)

自然言語処理のための機械学習入門1章
自然言語処理のための機械学習入門1章自然言語処理のための機械学習入門1章
自然言語処理のための機械学習入門1章
 
文献調査をどのように行うべきか?
文献調査をどのように行うべきか?文献調査をどのように行うべきか?
文献調査をどのように行うべきか?
 
はじめての生成文法 《後編》
はじめての生成文法 《後編》はじめての生成文法 《後編》
はじめての生成文法 《後編》
 
言語モデル入門 (第二版)
言語モデル入門 (第二版)言語モデル入門 (第二版)
言語モデル入門 (第二版)
 
はじめての生成文法・前編 - #tokyonlp 5
はじめての生成文法・前編 - #tokyonlp 5はじめての生成文法・前編 - #tokyonlp 5
はじめての生成文法・前編 - #tokyonlp 5
 
クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜
クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜
クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜
 
Formación continua online para profesores de idiomas
Formación continua online para profesores de idiomasFormación continua online para profesores de idiomas
Formación continua online para profesores de idiomas
 
Fri. March 24th Pine River Announcements
Fri. March 24th Pine River Announcements  Fri. March 24th Pine River Announcements
Fri. March 24th Pine River Announcements
 
Cult Marketing - Instameet
Cult Marketing - InstameetCult Marketing - Instameet
Cult Marketing - Instameet
 
Br20,br30 ,br40 led light
Br20,br30 ,br40 led lightBr20,br30 ,br40 led light
Br20,br30 ,br40 led light
 
Filippo, Plain simple reality of entropy
Filippo, Plain simple reality of  entropyFilippo, Plain simple reality of  entropy
Filippo, Plain simple reality of entropy
 
Distribution and ex dividend dates-upto 22 mar-2017
Distribution and ex dividend dates-upto 22 mar-2017Distribution and ex dividend dates-upto 22 mar-2017
Distribution and ex dividend dates-upto 22 mar-2017
 
El polimorfismo 894G>T en el gen NOS3 y su relación con prehipertensión en po...
El polimorfismo 894G>T en el gen NOS3 y su relación con prehipertensión en po...El polimorfismo 894G>T en el gen NOS3 y su relación con prehipertensión en po...
El polimorfismo 894G>T en el gen NOS3 y su relación con prehipertensión en po...
 
Searchmetrics eCommerce Ranking Factors Online Workshop
Searchmetrics eCommerce Ranking Factors Online WorkshopSearchmetrics eCommerce Ranking Factors Online Workshop
Searchmetrics eCommerce Ranking Factors Online Workshop
 
Програма 5-ї Міжнародної науково-практичної конференції "Наукова комунікація ...
Програма 5-ї Міжнародної науково-практичної конференції "Наукова комунікація ...Програма 5-ї Міжнародної науково-практичної конференції "Наукова комунікація ...
Програма 5-ї Міжнародної науково-практичної конференції "Наукова комунікація ...
 
How Does Code Signing Works?
How Does Code Signing Works?How Does Code Signing Works?
How Does Code Signing Works?
 
Contoh surat undangan tahlil 40, 100, 1000 hari (haul)
Contoh surat undangan tahlil 40, 100, 1000 hari (haul)Contoh surat undangan tahlil 40, 100, 1000 hari (haul)
Contoh surat undangan tahlil 40, 100, 1000 hari (haul)
 
Xamarin.Mac をこれからはじめるあなたへ
Xamarin.Mac をこれからはじめるあなたへXamarin.Mac をこれからはじめるあなたへ
Xamarin.Mac をこれからはじめるあなたへ
 

文脈自由文法の話

  • 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 • どういう経路でキャンディー列が出てきた? – 経路と袋を推定する