- Up -
Next >>
Table of Contents
Table of Contents
Course Schedule
Main Parts of the Course
One question ahead
First Order Logic
Semantic Construction
Inference
Discourse Representation Theory
And finally...
1 First-Order Logic
1.1 Basic Concepts
1.1.1 Vocabularies
1.1.2 First-Order Models
1.1.3 An Example Model
1.1.4 Exact Models
1.1.5 First-Order Languages
1.1.6 Building Formulae
1.1.7 Subformulae, Free Variables
1.1.8 Free Variables versus Bound Variables
1.1.9 Notation
1.2 Semantic Notions
1.2.1 Satisfaction
1.2.2 Interpretations and Variant Assignments
1.2.3 The Satisfaction Definition
1.2.4 Truth in a Model
1.2.5 Validities
1.2.6 Valid Arguments
1.2.7 An Example
1.3 Equality
1.3.1 Equality Symbol
1.3.2 Semantics of Equality
1.4 Exercises
2 Prolog and First-Order Logic
2.1 A Simple Model Checker
2.1.1 Representing Vocabularies
2.1.2 Representing Simple Formulae
2.1.3 Representing Complex Formulae
2.1.4 Representing Models
2.1.5 Another Example
2.1.6 Semantic Evaluation
2.1.7 Evaluating Complex Formulae
2.1.8 Quantifiers
2.1.9 Checking Models
2.2 Refinements
2.2.1 Problem One: Unknown Vocabulary
2.2.2 Problem Two: Formulae with Free Variables
2.2.3 Refining the Implementation
2.3 File Listing
2.3.1 All modules for the model checker
2.4 Exercises
3 Lambda Calculus
3.1 Building Meaning Representations
3.1.1 Being Systematic
3.1.2 Being Systematic (II)
3.1.3 [Sidetrack] Compositional Semantics
3.1.4 Summing Up
3.2 Syntactic Analysis
3.2.1 A Simple Solution: CFG
3.2.2 Using DCGs
3.3 Semantics Construction
3.3.1 A First Attempt
3.3.2 Putting Things in the Right Place I
3.3.3 Putting Things in the Right Place II
3.4 The Lambda Calculus
3.4.1 Lambda-Abstraction
3.4.2 Reducing Complex Expressions
3.4.3 Using Lambdas
3.4.4 [Sidetrack] Simply Typed Lambda-Calculus
3.4.5 Advanced Topics: Proper Names and Transitive Verbs
3.4.6 The Moral
3.4.7 Accidental Bindings
3.4.8 Alpha-Conversion
3.4.9 Summing Up
3.5 Implementing Lambda Calculus
3.5.1 Representations
3.5.2 Extending the DCG
3.5.3 The Lexicon
3.5.4 A First Run
3.5.5 Beta-Conversion
3.5.6 Beta-Conversion Continued
3.5.7 An Afterthought on Alpha-Conversion
3.6 Running the Program
3.7 Exercises
4 Towards a Modular Architecture
4.1 Architecture of our Grammar
4.2 The Syntax Rules
4.2.1 Ideal Syntax Rules
4.2.2 The Syntax Rules we will use
4.3 The Semantic Side
4.3.1 The Semantically Annotated Syntax Rules
4.3.2 Implementing
combine/2
for Functional Application
4.4 Looking Up the Lexicon
4.4.1 Lexical Rules
4.4.2 The Lexicon
4.4.3 ``Special'' Words
4.4.4 Semantic Macros for Lambda-Calculus
4.5 Lambda at Work
4.6 Exercises
5 Scope and Underspecification
5.1 Scope Ambiguities
5.1.1 What Are Scope Ambiguities?
5.1.2 Scope Ambiguities and Montague Semantics
5.1.3 A More Complex Example
5.1.4 The Fifth Reading
5.1.5 Montague's Approach to the Scope Problem
5.1.6 Quantifying In: An Example
5.1.7 Other Traditional Solutions
5.1.8 The Problem with the Traditional Approaches
5.2 Underspecification
5.2.1 Introduction
5.2.2 Computational Advantages
5.2.3 Underspecified Descriptions
5.2.4 The Masterplan
5.2.5 Formulas are trees!
5.2.6 Describing Lambda-Structures
5.2.7 From Lambda-Expressions to an Underspecified Description
5.2.8 Relating Constraint Graphs and Lambda-Structures
5.2.9 Sidetrack: Constraint Graphs - The True Story
5.2.10 Sidetrack: Predicates versus Functions
6 Constraint Solving
6.1 Constraint Solving
6.1.1 Satisfiability and Enumeration
6.1.2 Solved Forms
6.1.3 Solved Forms: An Example
6.1.4 Defining Solved Forms
6.2 An Algorithm For Solving Constraints
6.2.1 The Choice Rule
6.2.2 Normalization
6.2.3 The Enumeration Algorithm
6.3 Constraint Solving in Prolog
6.3.1 Prolog Representation of Constraint Graphs
6.3.2 Solve
6.3.3 Distribute
6.3.4 (Parent) Normalization
6.3.5 Redundancy Elimination
6.4 Semantics Construction for Underspecified Semantics
6.4.1 The Semantic Macros
The Simple Macros
Macros for the Determiners
6.4.2 The
combine
-rules
Example: ``A woman walks''
,
, and
6.5 Running CLLS
6.6 Exercises
7 Inference in Computational Semantics
7.1 What is Inference, and how do we use it in Computational Semantics?
7.1.1 What we already know about Logics
7.1.2 Calculi
7.1.3 A simple Logical System: Propositional Logic with Hilbert-Calculus
7.1.4 Proofs in Hilbert Calculus
7.1.5 Properties of Calculi (Theoretical Logic)
7.1.6 Sidetrack: Calculemus!
7.1.7 Natural Language Semantics
7.2 Tableaux Calculi
7.2.1 Tableaux for Theorem Proving
7.2.2 Tableaux for Theorem Proving (continued)
7.2.3 Analytical Tableaux: A more formal Account
7.2.4 Using Tableaux to test Truth Conditions
7.2.5 An Application: Conversational Maxims
7.2.6 The Maxim of Quality
7.2.7 The Maxim of Quantity
7.2.8 Sidetrack: Practical Enhancements for Tableaux
7.3 Tableaux Web-Interface
7.4 Exercises
8 Tableaux Implemented
8.1 Implementing PLNQ
8.1.1 Literals
8.1.2 Complex Formulae: Negation
8.1.3 Complex Formulae: Conjunctive Expansion
8.1.4 Complex Formulae: Disjunctive Expansion
8.1.5 An Example - first Steps
8.1.6 An Example - final Step
8.1.7 Another Example
8.1.8 Two Connectives
8.2 Wrapping it up (Theorem Proving)
8.3 Exercises
9 [Sidetrack] Model Generation
9.1 Using Model Generation for Natural Language Interpretation
9.1.1 Why Model Generation?
9.1.2 Tableaux for Model Generation with
PLNQ
9.1.3 Tableaux Branches and Herbrand Models
9.1.4 Tableaux generate Herbrand Models
9.2 Discourse understanding
9.2.1 Building Discourse Models
9.2.2 A first Example
9.2.3 A Second Example
9.3 Wrapping it up (Model Generation)
9.4 Exercises
10 First-Order Inference
10.1 The Step to First Order
10.1.1 Why First-Order Inference?
10.1.2 Extending our Calculus: The Universal Rule
10.1.3 The Existential Rule
10.1.4 Rule-like World Knowledge and Computational Nightmares
Consequences for Model Generation
Consequences for Theorem Proving
10.2 Implementing First-Order Tableaux
10.2.1 The Existential Rule
10.2.2 Universal Rule: Which Individuals to use?
10.2.3 Restricting the Application of the Universal Rule
10.2.4 Universal Rule: The Prolog Clause
10.2.5 Universal Rule: Subsequent Instantiations
10.2.6 Subsequent Instantiations: Instantiate
10.2.7 Subsequent Instantiations: If we can't instantiate
10.3 Running First-Order Tableaux
10.4 Model Generation with Quantifiers
10.4.1 A New Problem
10.4.2 A special Rule for Model Generation
10.5 Sidetrack: Derived Rules for the Existential Quantifier
10.6 Project: Adding Equality to our Calculus
10.7 Exercises
11 Discourse Representation Theory
11.1 Discourse Phenomena
11.1.1 Anaphoric Pronouns
11.1.2 Donkey Sentences
11.1.3 Another Puzzle
11.2 Discourse Representation Structures
11.2.1 A First Example
11.2.2 Accessibility Constraints
11.2.3 Syntax of DRSs and DRS-Conditions
11.2.4 Subordination
11.2.5 Accessibility
11.2.6 Discourse Structure and Accessibility
11.2.7 Proper Names
11.2.8 Donkeys again
11.2.9 Accessibility and Discourse Structure: Summary
11.3 Interpreting Discourse Representations
11.3.1 Embedding Semantics
11.3.2 Embedding Semantics for DRSs (Definition)
11.3.3 Meaning as Context Change Potential
11.3.4 Context Change Potential Semantics for DRSs (Definition)
11.3.5 Translations to First-Order Logic
11.4 Implementing DRT in Prolog
11.4.1 DRSs in Prolog
11.4.2 DRS Threading
11.4.3 A First Example
11.4.4 A second example (universal quantification)
11.4.5 Grammar rules for discourse
11.4.6 Driver predicate
11.4.7 Pronoun Resolution
11.4.8 Implementing accessibility
11.4.9 Binding constraints
11.4.10 Sortal Constraints
11.5 Running DRT
11.6 Compositional Approaches to DRT
11.7 Further Reading
11.7.1 References
12 The Proof of the Pudding is in the Eating
12.1 End term projects
Common Predicates
compose/3
newvar/1
printRepresentations/1
readLine/1
substitute/4
vars2atoms/1
Code Index
Index
- Up -
Next >>
Aljoscha Burchardt
,
Stephan Walter
,
Alexander Koller
,
Michael Kohlhase
,
Patrick Blackburn
and
Johan Bos
Version 1.2.5 (20030212)