Knowledge Prospector: извлечение знаний из

advertisement
Санкт-Петербургский Государственный
Университет
ИЗВЛЕЧЕНИЕ ЗНАНИЙ ИЗ ТЕКСТОВОЙ
ИНФОРМАЦИИ С ПОМОЩЬЮ ШАБЛОНОВ.
KNOWLEDGE PROSPECTOR.NET
Участники проекта
(Knowledge.Net)
Новиков Антон Владимирович
Сигалин Максим Владимирович
Смоляков Алексей Леонидович
Черепанов Дмитрий Геннадьевич
Докладчик
Смоляков Алексей Леонидович
Научный руководитель
Сафонов Владимир Олегович,
проф., д.т.н.
Цели проекта
Легко расширяемый каркас
 Поддержка разных языков
 Интеграция с Knowledge.Net

Алгоритм работы





Получение документов и первичный анализ
текста
Морфологический анализ текстовых блоков
Семантический анализ наборов сущностей с
применением шаблонов
Анализ построенного графа
Сохранение результата
Получение документов и
первичный анализ текста
…



Текстовый формат – это
очень гибкий путь для
описания различных
типов информации…
1) Один
2) Два
3) Три
Страна. Столица.
Англия. Лондон.
Украина. Киев.
Получение
документов от
“поставщиков”
Разбиение документа
на статьи (текст,
список, таблица и т.д.)
Разбиение текста на
блоки
Морфологический анализ
текста

Слово(«Знания»)
Русский
English
…
MRD
XML
…


Определение
языка
Определение
морфологической
формы слов
Создание
сущностей
«Знания» текущая м. ф.:
существительное среднего рода,
множественное число, вн. падеж
«Знание» основная м. ф.:
существительное среднего рода,
единственное число, им. падеж
Сущность Класс(«Знание»)
Морфологический анализ >
Типы сущностей >
“Простые” сущности




Сущность "разделитель" (separator).
Например «.,;:!?()[]{}…»
Сущность "неизвестная" (unknown).
Сущность "меняющаяся" (changeable).
Например «17-го АВГУСТА»
Сущность "связь" (relationship).
Например «Земля МЕНЬШЕ Солнца»
Морфологический анализ >
Типы сущностей >
“Настоящие” сущности



Сущность "класс" (class).
Например «знание».
Сущность "свойство" (property).
Например «полезное».
Сущность "тип данных" (datatype).
Дата и время (datetime)
 Целое число (Integer)

Семантический анализ >
Цели

Класс(«дом»)
Свойство-Класс
Подкласс

Свойство(«удобный»)
Класс(«строение»)

Свойство-Класс
Свойство(«кирпичный»)
Создание
отношений между
сущностями
Создание новых
сущностей
Добавление
настоящих
сущностей в граф
Семантический анализ >
Типы отношений






Отношение между свойством и
классом
Отношение “подкласс”
Отношение “подсвойство”
Отношение “эквивалентность”
Отношение между двумя классами
Отношение “условное правило”
Семантический анализ >
Описание шаблона



Приоритет
Паттерн
Обработчики
<Template Priority="10000" Pattern="#E.P #E.C ,? а? значить #E.P">
<Handler Name=“PropertyRelationship" Arguments="0, 1" />
<Handler Name="PropertyRelationship" Arguments="5, 1" />
<Handler Name="ConditionalRule" Arguments="1, 0, 5" />
</Template>
Семантический анализ >
Описание паттернов






Логические операнды: «&»(и), «|»(или), «^»(не).
Встречаемость: не указано, «+», «*», «?»
#E.P, #E.C, #E.S, #E.U, #E.Int, #E.DateTime
#M.Noun, #M.Adjective, #M.Verb, …
#W.Month, #W.Number, … - держатель слов
#H.Class, …- держатель клауз
[#E.P #M.Adjective]+ [#E.C #M.Noun]
Семантический анализ >
Описание паттернов >
Держатель слов
<WordHolder Name="Month">
<Item Word="ЯНВАРЬ"
<Item Word="ФЕВРАЛЬ"
<Item Word="МАРТ"
...
</WordHolder>
Value="1" />
Value="2" />
Value="3" />
Держатель Клауз
<ClauseHolder Name="Class">
<Item Pattern="[#E.P #M.Adjective]* #E.C" Index="1" />
<Item Pattern="[#E.P #M.Adjective] , [#E.P #M.Adjective] #E.C" Index="2" />
</ClauseHolder>
Семантический анализ >
Обработчики







Заменить (replace)
Создать сущность время
Создать отношение «свойство-класс»
Создать отношение «подкласс»
Создать отношение «подсвойство»
Создать отношение «условное правило»
Создать отношение «класс-класс»
Семантический анализ >
Создание отношений
Класс(«полезное»)
Класс(«знание»)
+
<Template Priority=“4" Pattern="[#E.P #M.Adjective]+ [#E.C #M.Noun]">
<Handler Name=“PropertyRelationship" Arguments="0, 1" />
</Template>
=
Свойство(«полезное»)
Отношение «свойство-класс»
Класс(«знание»)
Семантический анализ >
Создание новых сущностей
Число(«17»)
Класс(«ноябрь»)
Число(«2006»)
Класс(«год»)
+
<Template Priority="11000" Pattern="#E.INT #W.Month #E.INT год">
<Handler Name="Replace" From="0" Count="4" >
<CreateEntityHandler Name="CreateDateTime«
Arguments="day=0, month=1, year=2" />
</Handler>
</Template>
=
Время (17.11.2006)
Анализ построенного графа
Класс(«средство передвижения»)

Подкласс
Подкласс
Класс(«транспорт»)
Подкласс
Класс(«автобус»)
Свойство-Класс
Свойство(«быстрое»)
Свойство-Класс

Удаление
избыточных
отношений типа
подкласс.
Удаление
избыточных
отношений между
свойствами и
классами.
Сохранение результата



Сохранение знаний в формат
Knowledge.Net
Сохранение в формат OWL
Сохранение и извлечение знаний из
бинарного файла
Текущее состояние проекта
Разработан работающий прототип
 Созданы тестовые шаблоны для
анализа сущностей
 Подключен «Mrd» словарь русского и
английского языка

Планы




Поддержка создания «составных» сущностей
(состоящих из нескольких слов: «творение
рук человека»)
Расширение функциональности (добавление
новых сущностей, отношений, шаблонов,
обработчиков, …)
Программа генерации шаблонов
Разработка наглядных примеров
?
Контактная информация:
smlkvalex@mail.ru
http://www.knowledge-net.ru
http://polyhimnie.math.spbu.ru
Download