74.406 natural language processing first-order predicate logic - predicates short introduction to...
Post on 19-Dec-2015
215 Views
Preview:
TRANSCRIPT
74.406 Natural Language Processing
First-Order Predicate Logic - Predicates Short Introduction to Description Logics PowerLoom
Semantic Representations
Semantic Representation based on some form of (formal) Representation Language.
– Semantics Networks– Conceptual Dependency Graphs– Case Frames– Ontologies– DL and similar KR languages– First-Order Predicate Logic
Example
Define Hierarchy of Concepts
mother person female
has-child
mother
(defconcept mother (person AND female
AND (has-child.person))
Example
Define Hierarchy of Concepts
mother 1. x: mother(x) person(x) IS-A
2. x: mother(x) female(x) IS-A
3. x: mother(x) y: has-child(x,y) Role
person(y)
Example
Define Hierarchy of Concepts
mother person female
has-child
mother
(defconcept mother (person AND female
AND (has-child.person))
First-Order Predicate Logic (FOPL)
Predicates• core of formulae• applied to variables (constants, terms)• correspond to classes, concepts, sets
e.g. student(x)
describes the class / set of all students• unary, binary, n-ary predicates possible in FOPL
e.g. siblings(x,y) or brothers(x,y) represents pairs of siblings or pairs of brothers.
First-Order Predicate Logic (FOPL)
Terms
• inside predicate in formulae
• functions, variables (x,y,...), constants (c,d,...)
• constants stand for concrete values or objects
• variables are referring to (sets of) values
• functions represent functions:
e.g. plus(x,y) represents a function with two arguments;
could mean + in arithmetic;
could also mean something else, e.g. depends on Interpretation!
First-Order Predicate Logic (FOPL)
Formulae wff
• atomic formula P(x), P(c), P(<term>),
P(<term_1>,...,<term_n>)
• complex formula <wff> <connective><wff>
; ; ;
• quantified formula <quantifier> <variable(s)> <wff>
x,y: P(x,y) ; x: P(x)
Interpretation into domain assigns meaning to formulae!
First-Order Predicate Logic (FOPL)
Interpretation I into domain D (or ), D={d1, d2, ..., dn}
• term I(c)D ; I(x)D ;
I(f(t1,...,tn) ) = I(f) (I(t1),..., I(tn))
I(f) is a function in Domain D
• atomic formula I(P(t1,...,tn)) true if (I(t1),..., I(tn))I(P)
I(P) is a relation in Domain D
• complex formula I() true if I() not true;
I() true if I() true and I() true;
equivalent for and
First-Order Predicate Logic (FOPL)
Interpretation I into domain D (or ), D={d1, d2, ..., dn}
• quantified formula (just simple atomic formula here)
x: (x) true if I() is true if you substitute x in with d, for one dI(x).
x: (x) true if I() is true if you substitute x in with d, for all dI(x).
Note: for nested quantifiers, apply I from left to right:
x y: (x,y) true if I((d,d')) is true when you
1. substitute x in with d for all dI(x), and then
2. find for each d one d'I(y) so that I((d,d')) is true.
top related