HPSG (前半) 二宮 崇.

Slides:



Advertisements
Similar presentations
Absolute Orientation. Absolute Orientation の問題 二つの座標系の間における剛体 (rigid body) 変換を復元す る問題である。 例えば: 2 台のステレオカメラから得られた3次元情報の間の関 係を推定する問題。 2 台のステレオカメラから得られた3次元情報の間の関.
Advertisements

PCFG の EM アルゴリズムとス ムージング 二宮 崇 1. 今日の講義の予定 PCFG (Probabilistic Context Free Grammar, 確率付 文脈自由文法 ) EM アルゴリズム スムージング 教科書 北研二 ( 著 ) 辻井潤一 ( 編 ) 言語と計算 4 確率的言語モデル.
プログラミング言語論 プログラミング言語の構 文 水野嘉明. 目次 1. プログラミング言語の構文 2. BNF 3. 文脈自由文法 4. 構文図式 2.
プログラミング言語論 第3回 BNF 記法について(演習付き) 篠埜 功. 構文の記述 プログラミング言語の構文はどのように定式化できるか? 例1 : for ループの中に for ループが書ける。 for (i=0; i
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
エンティティ・リレーションシップ・モデル
正規表現からのDFA直接構成.
自然言語処理:第3回 1.前回の確認 2.構文解析 3.格文法.
最大エントロピーモデルに基づく形態素解析と辞書による影響
数理言語情報論 第11回 2009年12月16日 数理言語情報学研究室 講師 二宮 崇.
コンパイラ 2011年10月17日
数理言語情報論 第3回 2007年10月22日 数理言語情報学研究室 講師 二宮 崇.
数理言語情報論 第3回 2009年10月21日 数理言語情報学研究室 講師 二宮 崇.
2006/11/30 山下 諒蔵 佐藤 春旗 前田 俊行 大山 恵弘 佐藤 秀明 住井 英二郎
言語体系とコンピュータ 第6回.
数理言語情報論 第11回 2007年1月21日 数理言語情報学研究室 講師 二宮 崇.
計算の理論 I ー DFAとNFAの等価性 ー 月曜3校時 大月 美佳.
演習3 最終発表 情報科学科4年 山崎孝裕.
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II 文脈自由文法と プッシュダウンオートマトン
論理式の表現を数学的に取り扱いやすくするために代数学の助けを借りる.
第6章 ユニフィケーション解析 ユニフィケーション解析とは?
2006/10/19 山下 諒蔵 佐藤 春旗 前田 俊行 大山 恵弘 佐藤 秀明 住井英二郎
条件式 (Conditional Expressions)
模擬国内予選2014 Problem C 壊れた暗号生成器
1章前半.
コンパイラ 2012年10月15日
2007/1/11 山下 諒蔵 佐藤 春旗 前田 俊行 大山 恵弘 佐藤 秀明 住井 英二郎
コンパイラ 2012年10月22日
ML 演習 第 7 回 新井淳也、中村宇佑、前田俊行 2011/05/31.
5.5 The Linear Arboricity of Graphs (グラフの線形樹化数)
コンパイラ 2011年10月24日
“Purely Functional Data Structures” セミナー
プログラミング言語論 第3回 BNF記法について(演習付き)
人工知能特論II 第2回 二宮 崇.
正則言語 2011/6/27.
決定木とランダムフォレスト 和田 俊和.
形式言語の理論 5. 文脈依存言語.
電気・機械・情報概論 VBAプログラミング 第2回 2018年7月2日
6.2.4 辞書項目(1) 辞書項目にも、語に対するDAGを与える。
Macro Tree Transducer の 型検査アルゴリズム
単一化アルゴリズムとHPSGパージング 二宮 崇.
 型推論1(単相型) 2007.
計算量理論輪講 chap5-3 M1 高井唯史.
第1章 実世界のモデル化と形式化 3.地物インスタンスの表現
計算の理論 II 前期の復習 -有限オートマトン-
1-3 UMLの図(ダイアグラム) コンポーネント図 システムの物理的な構成を表現 ソフトウェアコンポーネントの依存性を表現
プログラミング言語論 第9回 情報工学科 木村昌臣 篠埜 功.
コンパイラ 2011年10月20日
 型推論3(MLの多相型).
4. システムの安定性.
第4章 データ構造 p.82 [誤] ハミルトニアン経路問題  [正] ハミルトン閉路問題 p.82,83 [誤] セールスパーソン問題
15.cons と種々のデータ構造.
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
Type Systems and Programming Languages
Selfish Routing 4章前半 岡本 和也.
米澤研究室 全体ミーティング 2010/07/07 M2 渡邊裕貴.
計算の理論 I -プッシュダウンオートマトン-
人工知能特論II 第8回 二宮 崇.
計算の理論 I -数学的概念と記法- 月曜3校時 大月 美佳.
アルゴリズムとデータ構造 第2章 リスト構造 5月24日分
4.プッシュダウンオートマトンと 文脈自由文法の等価性
Eijiro Sumii and Naoki Kobayashi University of Tokyo
コンパイラ 2012年10月11日
PROGRAMMING IN HASKELL
オブジェクト指向言語における セキュリティ解析アルゴリズムの提案と実現
識別子の読解を目的とした名詞辞書の作成方法の一試案
第3章 関係データベースの基礎 3.1 関係とは 3.2 関係代数.
情報処理Ⅱ 第3回 2004年10月19日(火).
情報処理Ⅱ 2006年10月20日(金).
Presentation transcript:

HPSG (前半) 二宮 崇

今日の講義の予定 型付素性構造 (Typed Feature Structures) HPSG (Head-driven Phrase Structure Grammar, 主辞駆動句構造文法)

型付素性構造

型付素性構造: 導入 非終端記号よりリッチなデータ構造 HPSGでは、辞書も、句構造規則も、句構造も木構造も全て型付素性構造で記述、表現 noun CAT: local LOCAL: synsem SYNSEM: NONLOCAL: sign nonlocal NP an HD: PHON: apple cons HD: cons TL: nil TL:

型付素性構造: 導入 型付素性構造 (Carpenter 1990, 1992) 根付ラベル付有向グラフ グラフの各ノードに型が付与 グラフ間に包摂関係 2つのグラフの単一化 ここでは、Carpenter (1992) The Logic of Typed Feature Structures, Cambridge University Pressをベースに解説

型付素性構造: 例 HPSGでの“she”に対する素性構造 she nom nil nil noun cons nil valence HD: she nom CASE: nil nil noun cons TL: SUBJ: nil HEAD: PHON: COMPS: valence LOCAL: CAT: synsem cat word local SPR: VALENCE: nil SYNSEM: CONTENT: CONTEXT: fem INDEX: GEND: context ppro ref BACKGROUND: NUM: RESTR: sing female cons HD: nil RELN: PERS: TL: psoa 3rd nil INSTANCE:

型付素性構造: グラフ表記とAVM表記 グラフ表記 AVM表記 型 (type) 素性 (feature) 型 (type) 素性 nom CASE: nil noun SUBJ: cat HEAD: VALENCE: nil HEAD: noun CASE: nom COMPS: valence cat SPR: VALENCE: nil valence SUBJ: <> COMPS: <> SPR: <> 型 (type) 素性 (feature)

型付素性構造: グラフ表記とAVM表記 (構造共有) (reentrancy, structure-sharing) CASE: nom noun cat HEAD: VALENCE: HEAD: noun CASE: nom SPR: SUBJ: 1 2 cat valence SUBJ: COMPS: <> SPR: valence VALENCE: 1 2 COMPS: nil

型付素性構造: グラフ表記とAVM表記 (サイクル) nom CASE: noun cat HEAD: VALENCE: HEAD: noun CASE: nom SUBJ: cat COMPS: 1 nil valence SUBJ: COMPS: <> SPR: <> valence VALENCE: 1 SPR: nil

型付素性構造: 形式的定義 TYPE: 型の有限集合 FEAT: 素性の有限集合 素性構造 F (=<Q, q0, δ, θ>) q0: ルートノード (q0∈Q) δ: グラフのアークを表現する部分関数 (partial function Q × FEAT → Q) θ: ノードの型を返す全関数 (total function Q → TYPE)

型付素性構造: 形式的定義の例 素性構造<Q, q0, θ, δ> Q = {q0, q1, q2, q3, q4, q5} δ(q0, CAT:)=q1 δ(q0, AGR:)=q2 δ(q0, SUBJ:)=q3 δ(q2, NUM:)=q4 δ(q2, PERS:)=q5 δ(q3, AGR:)=q2 θ(q0) = sign θ(q1) = S θ(q2) = agr θ(q3) = sign θ(q4) = sing θ(q5) = 3rd sign CAT: S AGR: SUBJ: agr NUM: sing PERS: 3rd 1 sign AGR: 1

型階層 (型の定義) 型階層の例 特殊 一般 adj verb 正方形 perp 円筒 長方形 菱形 subst 円 func 四角 丸 plus minus head bool 図形 ⊥ 一般 (ボトム)

型の包摂関係 (type subsumption relation) t9 ⊏ t10 t9 ⊏ t11 t9 ⊏ t12 t9 ⊏ t13 特殊 t8 t6 t12 t5 t7 t3 t10 t11 t4 t2 t4より特殊な型 t4 ⊏ t5 t4 ⊏ t6 t4 ⊏ t7 t4 ⊏ t8 t4 ⊏ t12 t4 ⊏ t13 t9 t1 ⊥ 一般 (ボトム)

型単一化 (type unification) t, u∈TYPE が与えられた時、 UB(t, u) = {v∈TYPE|t ⊑v ∧ u ⊑v} t ⊔u is v∈TYPE s.t. v∈UB(t, u) and           ∀w∈UB(t, u).v ⊑w t ⊔u: 単一化の結果、join、least upper boundと呼ばれる 解がない場合は、定義なし、unification failure、inconsistent、⊤(トップ)と書いたり呼んだりする

型の単一化の例 t4の上界 t9の上界 UB(t4,t9) t4 ⊔ t9 特殊 一般 t13 t8 t6 t12 t5 t7 t3 t10 ⊥ 一般 (ボトム)

型階層の問題と制限 解が一つに定まらない場合 対策 単一化の結果が複数解になって計算機的に扱いづらい 予想しなかった解が複数出現する 例: t1⊔t2=t3 or t4 対策 型階層の定義を与える際に単一化の結果が複数になるような型階層を禁止する 単一化の結果をdisjunctionとして処理する t3 t4 t2 t1 ⊥ (ボトム) ここでは型単一化の結果は定義なしか、ひとつしかないと仮定する

型階層と素性の導入 名簿の例 より特殊な型はより一般な型の素性を全て持つことに注意! 特殊 一般 名簿項目 郵便番号:integer 住所:string 電話番号:integer 姓:string 旧姓:string 名:string 特殊 名前 姓:string 名:string 昔の名前 旧姓:string 名:string 住所 郵便番号:integer 住所:string 電話番号 電話番号:integer より特殊な型はより一般な型の素性を全て持つことに注意! 名 名:string 一般 ⊥ (ボトム)

Appropriateness Approp: FEAT × TYPE → TYPE Feature Introduction For every feature f ∈ FEAT, there is a most general type Intro(f) ∈ TYPE s.t. Approp(f, Intro(f)) is defined Upward Closure / Right Monotonicity If Approp(f, t) is defined and t ⊑ u, then Approp(f, u) is also defined and Approp(f, t) ⊑ Approp(f, u)

Appropriateness: Feature Introduction だめな例 良い例 t3 F:⊥ t3 F:⊥ t2 F:⊥ t1 F:⊥ t2 F:⊥ t1 F:⊥ ⊥ ⊥ (ボトム) (ボトム) F:を持つ最も一般な型が二つある F:を持つ最も一般な型が唯一存在

Appropriateness: Upward Closure / Right Monotonicity Approp(F:, t3) ⊑ Approp(F:, t7) t6 F:⊥ t7 F:integer t5 F:string t4 F:⊥ t3 F:⊥ t2 F:⊥ t1 F:⊥ ある型にF:が一度導入されるとそれより特殊な型は全てF:を持たなければならない ⊥ (ボトム)

Well-Typed Feature Structures Well-Typedness 素性構造 F=<Q, q0, θ, δ> は下記の条件を満たすとき、well-typedと呼ばれる δ(f, q)が定義されている時には常に Approp(f, θ(q))が定義されており、かつ、Approp(f, θ(q)) ⊑θ(δ(f, q)) 2つのWell-typed feature structuresの単一化の結果もwell-typed feature structureになる

Well-Typed Feature Structures 例 Appropriateな型よりもインスタンスの型は必ず特殊でなければならない 1 HD: cons 2 HD: TL: cons nil cons HD:integer TL: list HD: TL: cons HOGE: TL: list 3 nil 各ノードに対し、そのノードの型に定義されていない素性が存在してはいけない ⊥ (ボトム)

Totally Well-Typed Feature Structures Total Well-Typedness 素性構造 F=<Q, q0, θ, δ> は下記の条件を満たすとき、totally well-typedと呼ばれる Fはwell-typed 各ノードqに対し、Approp(f, θ(q))が定義されている全ての素性fに対し、δ(f, q)が定義されていなければならない Appropがloop-freeであるとき、2つのtotally well-typed feature structuresの単一化の結果もtotally well-typed feature structuresである

Totally Well-Typed Feature Structures 1 1 HD: HD: cons cons 2 HD: HD: TL: TL: cons cons cons HD:integer TL: list TL: TL: nil nil nil list ⊥

Totally Well-Typed Feature Structures 無限ループに陥ってしまうケース このような型階層を作らないようにするか、実装の段階でdelayed evaluationをすれば良い c.f. LiLFeSではdelayed evalutionで実現されている 1 HD: cons 2 HD: TL: cons integer HD: TL: cons integer cons HD:integer TL: cons HD: nil TL: cons ... list TL: ⊥

素性構造の包摂関係 (subsumption relation) 2つの素性構造F=<Q, q0, θ, δ>, F’=<Q’, q’0, θ’, δ’>は次の条件を満たす全域関数(total function) h:Q→Q’ が存在するとき、FはF‘を包摂するという(F ⊑ F’) h(q0) = q’0 θ(q) ⊑ θ(h(q)) for every q ∈ Q h(δ(f, q)) = δ’(f, h(q)) for every q ∈ Q and feature f such that δ(f, q) is defined

包摂関係(構造共有) F’ F F ⊑ F’ d F: G: d d c b F: d c G: b e e a a a a ⊥ F: F:

包摂関係(サイクル) F F’ t t F: F: F: t F: t F: F: t F: t

包摂関係の考え方 F ⊑ F‘であるということは、Fにある情報は全てF’にある、ということである FよりF’の全てのパス値がより特殊 パス pとは素性fの列のこと p = f1, f2, .., fnであるとき、δ(p, q) = δ(fn, ...δ(f2, δ(f1, q))...)とδを拡張する Fの全てのパスpに対し、θ(δ(p, q0)) ⊑θ(δ(p, q’0)) Fに含まれる全ての構造共有はF’にも含まれている

例の前に… 例中では簡略のためにwell-typednessにはこだわらないようにします。 型も⊥以外とは単一化できないとします。 グラフのリーフ以外では型の表記を省略します。 AVM表記にします。

⊑ 包摂関係の例 例1 F: F: F: a G: b F: a G: G: F: c F: c H: a G: I: a H: a J: b

包摂関係の例 例2 F: G: F: G: F: a H: c F: a 1 ⊑ H: c 1

包摂関係の例 例3 どっちがより特殊か? F: a G: ⊑ F: a G:a 1 1 ⊑ G: F: G: F: a a a

素性構造の単一化 素性構造 F, G ∈Fが与えられた時、 UB(F, G) = {H ∈F |F ⊑H ∧ G ⊑H} F ⊔G is H∈F s.t. H∈UB(F, G) and           ∀I∈UB(F, G).H ⊑ I つまり、F,Gより特殊な素性構造のうち、もっとも一般な素性構造が単一化の結果

単一化の考え方 二つの素性構造F, Gの両方に含まれる情報が全て保存されている(F, Gの情報をマージした構造) 制約 構造共有を通して情報を伝達 サイクルを含む場合も大丈夫だけど、特に難しく考える必要はない

⊔ = 単一化の例 例1 異なる型の場合は、型単一化を行う。型単一化に失敗すると、全体の単一化も失敗 F: G: F: G: F: G: F: a G: b F: a G: b F: a ⊔ = G: F: c G: H: a F: c H: a I: a J: b I: a J: b 異なる型の場合は、型単一化を行う。型単一化に失敗すると、全体の単一化も失敗

⊔ = 素性構造単一化の例 例2 構造共有を含む場合 1 1 1 1 F: F: F: a F: a G: b G: G: G: G:

⊔ = 素性構造単一化の例 例3 構造共有を含む場合 1 7 1 4 7 2 4 7 2 5 7 3 5 7 3 6 7 6 7 F: a G: H: I: J: K: 1 F: a G: H: I: J: K: L: 7 1 G: H: I: J: K: L: 4 7 2 4 ⊔ = 7 2 5 7 3 5 7 3 6 7 6 7 L:の値もaであることに注意! 構造共有を通して、F:aのaがL:まで伝搬している

素性構造単一化の例 例4 サイクルを含む場合 ⊔ F:F:F:F:F:F: = 1 F:F:F:F: 2 1 2 F:F: 3 3

素性構造のalternatives Denotational Model of Descriptions (Pereira & Shieber 1984) p=a (パスと値の等式の集合) p=q(パスとパスの等式の集合) Deductive Closure: 上記の式で展開されうるすべての等式集合 包摂関係: deductive closureの包含関係 単一化: deductive closureの和集合 pq=x p = p x=y y=x p=x, x = q p = q p=q, pr=x qr=x ε=ε

素性構造のalternatives Feature Algebra (Smolka 1988, 1989) 記述に対応する全ての可能な素性構造集合 包摂関係: 素性構造集合の包含関係 単一化: 素性構造集合の積集合 記述と意味が一体化 パスの値の記述、パス等式、単一化が全て素性構造集合のドメインから素性構造のドメインへの関数として定義 Attribute-Value Logic (Johnson1988)

HPSG (Head-driven phrase structure grammar, 主辞駆動句構造文法)

HPSG: 導入 Head-driven Phrase Structure Grammar (Pollard & Sag 1985, 1994) 主辞が中心的な役割を果たす文法枠組 辞書の情報を増やすことにより、句構造規則をできる限り減らす辞書指向 素性構造、単一化に基づく単一化文法の一つ ここではPollard & Sag (1994) Head-driven Phrase Structure Grammar, University of Chicago Pressに基づいて解説

HPSG: 導入 主辞 句構造の中心的役割を果たす語・句のこと 例:「美しい花」→「花」 例:「彼は美しい花を見た」→「見た」 直感的には、最も重要そうな要素、他に修飾先がない要素のことを指すと考えればとりあえず差し支えない

HPSG: 導入 語彙化文法 CFGでは些細な方針変更の結果、ほとんどの句構造規則を書きなおさなくてはいけなくなってしまったり、、、 例:S → NP VP, VP → V NPとあったとき、主語のNPと目的語のNPはどのような名詞がくるのか、その分布が異なるので、NP-SUBJとNP-OBJにわけたい。しかし、そうすると、NP→N,...とある規則も全て書き直し。しかも、N→”taro“などの規則も二重に書かなくてはいけない! 単語ごとに例外的、固有の振舞いが多い 結果、単語を付与した非終端記号になり、そのための句構造規則を追加しなくてはいけない

HPSG: 辞書項目 辞書項目“she”に対する素性構造 she nom nil nil noun cons nil valence HD: she nom CASE: nil nil noun cons TL: SUBJ: nil HEAD: PHON: COMPS: valence LOCAL: CAT: synsem cat word local SPR: VALENCE: nil SYNSEM: CONTENT: CONTEXT: fem INDEX: GEND: context ppro ref BACKGROUND: NUM: RESTR: sing female cons HD: nil RELN: PERS: TL: psoa 3rd nil INSTANCE:

HPSG: 辞書項目 “she”に対応する素性構造 (AVM表記) 1 1 word PHON: <she> SYNSEM: LOCAL: local CAT: CONTENT: CONTEXT: cat HEAD: VALENCE: noun CASE: num valence SUBJ:<> COMPS:<> SPR:<> ppro INDEX: RESTR: <> ref PER: 3rd NUM: sing GEND: fem 1 context BACKGR: < > psoa RELN: female INST: 1

句構造規則 HEAD-COMPLEMENT-SCHEMA 1 3 4 1 2 3 2 4 HEAD COMP SUBJ: COMPS: SPR: 1 3 4 HEAD COMP VAL: SUBJ: COMPS: < | > SPR: 1 2 3 2 4

句構造規則 HEAD-SUBJECT-SCHEMA 1 1 SUBJ HEAD SUBJ:<> VAL: COMPS:<> SPR:<> SUBJ HEAD VAL: 1 SUBJ: COMPS: <> SPR:<> 1

NP[3rd, sing] NP NP he gives her a present PHON: <gives> VAL: SUBJ: <NP[nom, 3rd, sing]> COMPS: <NP[acc], NP[acc]> SPR: <> NP[3rd, sing] NP NP he gives her a present

1 3 1 2 3 2 NP[3rd, sing] NP[acc] NP he gives her a present PHON: <gives, her> VAL: SUBJ:< NP[nom]> COMPS:< NP[acc]> SPR:<> 1 3 PHON: <gives> VAL: SUBJ: < > COMPS: < , > SPR: <> 1 2 3 NP[3rd, sing] NP[acc] NP 2 he gives her a present

1 1 3 1 2 3 3 2 NP[3rd, sing] NP[acc] NP[acc] he gives her a present PHON: <gives, her, a present> VAL: SUBJ: < NP[nom]> COMPS: <> SPR:<> 1 PHON: <gives, her> VAL: SUBJ:< > COMPS:< > SPR:<> 1 3 PHON: <gives> VAL: SUBJ: < > COMPS: < , > SPR: <> 1 2 3 NP[3rd, sing] NP[acc] 3 NP[acc] 2 he gives her a present

1 1 3 1 2 3 1 3 2 NP[nom, 3rd, sing] NP[acc] NP[acc] he gives her PHON: <he, gives, her, a present> VAL: SUBJ: <> COMPS: <> SPR: <> PHON: <gives, her, a present> VAL: SUBJ: < > COMPS: <> SPR:<> 1 PHON: <gives, her> VAL: SUBJ:< > COMPS:< > SPR:<> 1 3 PHON: <gives> VAL: SUBJ: < > COMPS: < , > SPR: <> 1 2 3 1 NP[nom, 3rd, sing] NP[acc] 3 NP[acc] 2 he gives her a present

まとめ 型付素性構造 HPSGの導入