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.