Представление знаний и приложения 2020

Материал из CSC Wiki
Перейти к:навигация, поиск

Контакты

Преподаватель: Павел Браславский pbras [AT] yandex.ru

Учебный ассистент: Владислав Кораблинов vladislavneon1 [AТ] mail.ru

Адрес для отчетов по домашним заданиям: kr2020assignments [AT] googlegroups.com

Лекции

  1. Введение. Обзор курса. Краткая история дициплины. Данные — информация — знания. Представление знаний в различных отраслях знаний. Язык и знания. Проблема представления знания в философии. Логика. Искусственный интеллект и представление знаний. слайды
  2. Семантические ресурсы: wordnet, cyc, babelNet, dbpedia, yago, freebase, wikidata. Лингвистические семантические ресурсы: FrameNet, OpenIE. слайды
  3. Semantic Web: история, идеи, стандарты, инструменты. RDF, RDF(S), RDFa: принципы, нотации, типы данных, язык, классы, отношения. SPARQL, OWL. Инструменты. слайды Логика как основа для формализации знаний (слайды)
  4. Семантический поиск (поиск сущностей) слайды
  5. Методы извлечения отношений из текста, методы связывания сущностей в базе знаний.
  6. Вопросно-ответный поиск: понимание прочитанного текста (reading comprehension). Краткая история QA, данные, методы.
  7. Поиск ответа по базе знаний (knowlege base question answering). Семантической разбор (semantic parsing).

Гостевая лекция (тема будет объявлена позже)

Семинары и практические занятия

15.01 Мозговой штурм "Представление знаний для повара-робота"

22.01 Семинар по мотивам AI debate. Материалы: видео, слайды и др., Gary Marcus @Medium

29.01 RDF(S)

05.02 Семинар по SPARQL

12.02 Cеминар по Protege. Ссылки: Protege, Protege tutorial, OWL Tutorial slides, pizza ontology, Guide: pizzas in 10 Minutes

19.02 Обсуждение результатов домашнего задания

11.03 Обсуждение результатов домашнего задания

18.03 Семинар по статьям. Список статей

Домашние задания

Entity Linking. Дедлайн -- 18.02.2020

Ваша задача -- связать упоминания сущностей в вопросах с элементами wikidata. В качестве аналога посмотрите на проект DBpedia Spotlight и демонстрацию его работы (английский, немецкий, португальский).

Данные представлены в формате json:

 [
  {
    'uid': идентификатор вопроса,
    'q': текст вопроса, в котором нужно выделить и сопоставить сущности,
    'a': ответ на вопрос (иногда может быть null)
  }
 ]

Результат ожидается также в формате json:

 [
  {
    'uid': идентификатор вопроса,
    'entities': список сопоставленных сущностей в формате "Q...."
  }
 ]

Пример: для вопроса "Как звали придворного органиста английской королевы Елизаветы – по преданию, автора английского гимна?" с uid=1967 необходимо вернуть объект

 [
  {
    'uid': 1967,
    'entities': [Q765778, Q7207, Q40807]
  }
 ]

Оцените качество привязки по ста вопросам. В качестве метрик используйте микроусредненные точность и полноту. Подробно опишите реализованный метод и проанализируйте результаты в отчете. Отчет в pdf и результаты в json нужно отправить на почту для домашек.

KBQA. Дедлайн -- 10.03.2020

Вам требуется найти ответ на вопрос, заданный на естественном языке. Ответом должны являться одна или несколько сущностей базы знаний Wikidata.

Ваша задача - построить по тексту вопроса SPARQL-запрос, позволяющий получить правильный ответ. Гарантируется, что в предоставленных вопросах достаточно уметь выделять только отношения из списка ['P17', 'P50', 'P36', 'P276', 'P170'].

Данные представлены в формате json:

 [
  {
    'uid': идентификатор вопроса,
    'q': текст вопроса
  }
 ]

Результат ожидается также в формате json:

 [
  {
    'uid': идентификатор вопроса,
    'query': SPARQL-запрос
  }
 ]

Пример: для вопроса "В каком океане "Титаник" встретился с айсбергом?" с uid=0 необходимо вернуть объект

 [
  {
    'uid': 0,
    'query': 'SELECT ?answer \nWHERE {\n  wd:Q25173 wdt:P276 ?answer\n}'
  }
 ]

Решения будут тестироваться отправкой ваших запросов к Wikidata с последующим сравнением результатов с модельными. Пожалуйста, убедитесь, что вы записываете в файл с результатами корректный запрос.

Подробно опишите реализованный метод и проанализируйте результаты в отчете. Отчет в pdf и результаты в json нужно отправить на почту для сдачи домашек.

Полезные ссылки

Учебники

Krisztian Balog. Entity-Oriented Search, 2018.

Hitzler, Krotzsch, Rudolph. Foundations of Semantic Web Technologies, 2009.

Рассел С., Норвиг П. Искусственный интеллект. Современный подход. 2-е изд. Сайт оригинального 3-го издания

Daniel Jurafsky and James H. Martin, Speech and Language Processing, 2nd Edition, 2008. Черновик 3-го издания

Brachman, Levesque. Knowledge Representation and Reasoning, 2004.

Franz Baader, Ian Horrocks, Carsten Lutz, Uli Sattler. An Introduction to Description Logic, 2017.

Онлайн-ресурсы

Онлайн-курс Knowledge Engineering with Semantic Web Technologies (KESW) by Dr. Harald Sack.

Graham Neubig. Learning from/for Knowledge Graphs (Neural Networks for NLP course @ CMU)

Semantic Parsing resources: