Teadmiste formaliseerimine: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
48. rida: 48. rida:
* The freely accessible pdf of the [http://ii.fmph.uniba.sk/kri/KRhandbook.pdf handbook of knowledge representation] gives a detailed and thorough coverage of the subject; far more than necessary for the course.
* The freely accessible pdf of the [http://ii.fmph.uniba.sk/kri/KRhandbook.pdf handbook of knowledge representation] gives a detailed and thorough coverage of the subject; far more than necessary for the course.
* Recommended background for NLP: Speech and Language Processing by Dan Jurafsky and James H. Martin.  [https://github.com/rain1024/slp2-pdf/blob/master/complete-book-pdf/slp2.pdf here is the 2nd edition] and [https://web.stanford.edu/~jurafsky/slp3/ here the web page for the draft 3rd edition]
* Recommended background for NLP: Speech and Language Processing by Dan Jurafsky and James H. Martin.  [https://github.com/rain1024/slp2-pdf/blob/master/complete-book-pdf/slp2.pdf here is the 2nd edition] and [https://web.stanford.edu/~jurafsky/slp3/ here the web page for the draft 3rd edition]
* Get the background about automated reasoning from the [[Media:Loogikaopik.pdf|book chapter pages 297-345] by Tanel Tammet and optionally more details from tge [http://lambda.ee/w/images/0/06/Geoffreasoningnotes.pdf the set of course notes] from Geoff Sutcliffe.
* Get the background about automated reasoning from the [[Media:Loogikaopik.pdf|book chapter pages 297-345]] by Tanel Tammet and optionally more details from tge [http://lambda.ee/w/images/0/06/Geoffreasoningnotes.pdf the set of course notes] from Geoff Sutcliffe.


<!--
<!--

Redaktsioon: 31. jaanuar 2020, kell 09:07

teadmised
teadmised

Name: Knowlege representation
Code: ITI8700
Link: http://lambda.ee/Teadmiste_formaliseerimine
Lecturer: Tanel Tammet
Practice work: Priit Järv
Contact: tanel.tammet@ttu.ee, 6203457, TTÜ ICT-426
Archives of previous years: 2019.

Time, place, result

Lectures: Friday 10:15-11:45 room ICT-315
Practical work: Friday 12:00-13:30 room ICT-315
Practical work will give 40% and exam 60% of points underlying the final grade. The exam will consist of several small excercises.

The first practical work time on 31. January at 12:00 will be used for introducing the practice work. Some of the last lecture times at the end of the course may be used as additional seminars/labs.

Focus

The main focus of the course is on knowledge representation and reasoning (KR), a part of symbolic AI, on a spectrum from simple (representing and using knowledge in databases) to complex (meaning of sentences in natural language and commonsense knowledge).

The overall goal of the labwork to understand issues facing a task of building a natural language question answering system a la Watson and to see and experiment with existing parts of the solution.

The course contains the following blocks:

  • Representing knowledge in the SQL and document databases and hybrids.
  • Representing and using simple facts and rules in symbolic AI and logic.
  • General-knowledge databases: wikidata, wordnet, yago, conceptnet, nell, cyc.
  • Knowledge conveyed by natural sentences: both statistical methods like word2vec and logic-based methods.
  • Reasoners and question answering systems.
  • Confidence and relevance.
  • Context, time, location, events, causality.

Check out this description of the whole KR area.

Books to use


Observe that a noticeable part of the course contents are not covered by these books: use the course materials and links to papers, standards and tutorials provided.

Practical work

There are three labs. They are all steps in a single project: build a simple natural-language question-answering system about geography.

The labs have to be presented to the course teachers and all students present at labwork time.

The labs can be prepared alone or by teams of two people.


Each lab is evaluated independently and gives the same number of points. NB! When you do not meet the lab deadline, you will be awarded half of the points for this lab.

First lab

Please read about the task for the first lab. Deadline: 28. February. It is better to present it earlier to have more time for the following labs.

Second lab

The task in the second lab is to

  • write a small set of additonal, nontrivial rules for geography not present in Yago or Wordnet,
  • actually answering simple questions using logic and rules with the help of a reasoner.

We use a special commonsense reasoning branch of the gkc reasoner (description in the GKC paper at page 538 for examples. Details and instructions will appear here later.

Third lab

Add a simple NLP component to the second lab to answer questions posed in natural language. I.e, the NLP component should convert a natural language query to logic usable by your system. Details and instructions will appear here later.

Block 1: knowledge in the SQL and document databases and hybrids.

Lecture: Intro and background

Lecture materials:

Lecture: RDF and RDFS (and OWL)

Lecture materials:

Block 2: simple facts and rules in symbolic AI and logic

To be filled.

Block 3: General-knowledge databases

Lecture: First look into main large knowledge bases

We will have a look at the goals, main content and differences between:

Lecture 6: Big annotation systems and intro to rule reasoners

First, big annotation systems:

In connection, see also:

  • schema.org: property markup vocabulary suggested by Google, Microsoft and others.
  • json-ld: currently most popular rdf syntax (in json), also recommended by Google.

Block 4: natural language and question answering

Lecture: Intro to homework and NLP

Lecture materials:

Lecture: vector representation of words

This lecture will be given by Priit Järv.

Lecture materials:

Useful additional materials from (roughly) easier to more complex:

Probabilistic models:

Also interesting to read:


Block 5: reasoners and symbolic question answering

Intro to rule reasoners:

Additionally you may want to look at:

Please have a look and run the same experiments yourself with the gkc prover:

Blocks world.

Some axiom sets:

And some planning problems to solve from these axiom sets:

Also:

Alternative axiomatization

See how to run gkc on the Wordnet TPTP version

We use the gkc prover for examples (instructions are in the Reasoner examples ... page above) but you could also try out an old classic prover Otter which actually works OK on windows even though it is really old.

Some background links:

-->

Lecture: starting to parse natural language for interaction with rule reasoners

We will start building a tiny question-answering tool, translating natural language to rule reasoner input.

Our first, very simple goal: translate the text "John is a father of Pete. Pete is a father of Mark. Who is the father of Pete?" to a rule reasoner input

father(john,pete).
father(pete,mark).
-father(X,pete) | ans(X).

then run the reasoner, fetch the ans(john) and give an answer "John is".

You can use a trivial NLP-to-reasoner parser in python nlp.py as a starting point.

We will then proceed to gradually make questions and sentences more complex and add rules to be able to answer them.

In the final part of the course we will start looking at uncertain reasoning: right now we will only try to do simple strict reasoning.

We will have a look at potential tools for semantic parsing, from simpler to more complex:

Other interesting things to look at:

Block 6: confidence and relevance

See also default logic.

Lecture: various classical ideas for discrete reasoning with uncertainty

We will look at some discrete ways:

And start with numeric:

Lecture: various classical ideas for numeric reasoning with uncertainty

Classical numeric ways to reason about uncertainty:

Some newer approaches:


Block 7: context, time, location, events, causality.