Knowledge Representation Flashcards
What are the major phases of Watson?
- Query Processing
- Answer Candidate Generation
- Evidence Retrieval & Scoring
- Evidence Ranking
Answering questions requires only keyword evidence.
False.
Keyword matching may be weak relative to other types of evidence.
To answer complex questions, it is not sufficient to simply match text in queries to text in documents. What kinds of knowledge are required?
Temporal, biographical, geographical and linguistic (e.g., different meanings of the word ‘arrival’)
Aristotle, by thinking of automation, laid the foundations for logic
True. He observed that such patterns work for all types of objects.
What does propositional logic consist of?
- Propositions (TRUE, FALSE)
- Logical operators (AND, OR, NOT, IMPLIES)
What does first order logic add to propositional logic?
- Constants (represent objects, e.g. Frodo)
- Relations (represent relations, e.g. married)
- Quantifiers (represent existential or universal states)
Prolog is a powerful logic-based programming language.
True. Prolog means Programming and Logic.
What is Datalog?
A simple version of Prolog. It adds automated reasoning to database queries.
Who performed the first automated theorem proving?
J.A. Robinson, in 1965
When did Kowalski and Colmerauer make the first attempts for programming in logic?
In the 1950s.
A predicate denotes a relation between two objects.
True.
In Logical Notation, what do Constants and Variables represent?
- Constants: some objects
- Variables: unknown objects
In Prolog, we can’t describe relations.
False.
We can denote the relation “pam is a parent of bob” in a statement parent(pam,bob)
In Prolog, we can query relations only unidirectionally.
False. We can query in both directions:
?- parent(X,liz) or
?- parent(liz,X)
In Prolog, what is a Conjunction?
When we connect two conditions (literals) with the logical operator (AND), denoted by a comma.
happy(john), sunny_day both must be true
In Prolog, different variable names have to be different objects.
False.
In Prolog, how do we define a new relation?
We assign a new name to a conjunctive definition.
Formally, a rule is a logical implication A ^ B → C. How is it written in Prolog?
In Prolog, implication is written reversed using ‘:-’ instead of ‘←’, meaning C :- A, B.
C is the head of the rule (conclusion), while A, B is the body
What does father(X,Y) :- parent(X,Y), male(X) mean in Prolog?
X is the father of Y, if X is a parent of Y and X is male.
Is this valid syntax in Prolog?
greatgrandfather(X,Y) :- father(X,Z), grandparent(Z,Y)
Yes. It is the syntax for defining multiple relations in one statement.
It is not possible to assign constants to variables in Prolog.
False. The operation is called substitution and assigns a constant to a variable.
literal L = {parent(X,Y)}
substitution θ = {X/tom, Y/bob}
What is Forward Chaining?
A logical reasoning method.
Process:
- System examines which rules are applicable to the facts
- when matching rule is found, new fact is generated & added to the fact collection
Process repeats until no new facts can be derived (“fix point”)
What is the Elementary Production Principle?
A fundamental concept of Forward Chaining.
What are the three main components of the Elementary Production Principle?
- Rule H :- B1, …, Bn (logical statement)
- Set of known facts F1, …, Fn (knowledge base)
- Substitution mapping θ the body literals to the known facts
Rule: parent(X, Y) :- father(X, Y).
Facts: father(john, mary)