1 / 28

Компонента “KIF Converter” проекта KNOWLEDGE . NET

Санкт-Петербургский Государственный Университет. Компонента “KIF Converter” проекта KNOWLEDGE . NET. Докладчик Сигалин Максим Владимирович. Научный руководитель Сафонов Владимир Олегович , проф., д.т.н. KIF (Knowledge Interchange Format). Обмен знаниями.

halil
Télécharger la présentation

Компонента “KIF Converter” проекта KNOWLEDGE . NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Санкт-Петербургский Государственный Университет Компонента “KIF Converter” проектаKNOWLEDGE.NET ДокладчикСигалин Максим Владимирович Научный руководительСафонов Владимир Олегович,проф., д.т.н.

  2. KIF (Knowledge Interchange Format) • Обмен знаниями • Язык исчисления предикатов второго порядка • Не имеет конструкций для описания фреймов/онтологий • http://logic.stanford.edu/kif/dpans.html

  3. Система Ontolingua • Надстройка над KIF • Имеет конструкции для описания фреймов/онтологий • Набор трансляторов в другие языки представления знаний • http://www.ksl.stanford.edu/software/ontolingua/

  4. Процесс конвертации

  5. Конструкции Knowledge.NET • Фреймы • Онтологии

  6. Фреймы Общий вид: frame FR_CATEGORY FR_IDEN { SLOTS}

  7. Слоты SLOTS ::=own_slots [[SL_DESC] SL_NAME[=SL_VALUE];]+ [instance_slots [SL_DESC SL_NAME[=SL_VALUE];]+ ]

  8. Слоты (расширенное описание) facets {typeTYPE; [valueVALUE;] [default_valueDEF_VALUE;]} SL_NAME;

  9. Наследование фреймов own_slots is_a FR_IDEN1, | FR_IDEN2, FR_IDEN3, FR_IDEN4, …;

  10. Онтологическая модель • Концепты • Подконцепты • Ais_subconcept_ofB,C; • А {is_subconcept_ofB,C;} • Thing

  11. Определение через отношения • Пересечение concept A is_intersection_of B, C, D… • Объединение concept A is_union_of B, C, D… • Дополнение concept A is_complement_of B, C, D…

  12. Свойства datatypepropertyPROP_NAME { domain A, B, C, …; range X, Y, Z, ...; }

  13. Пример #ontology “Vehicles” #concepts Color is_subconcept_of Thing; Vehicle is_subconcept_of Thing; Plane is_subconcept_of Vehicle; Submarine is_subconcept_of Vehicle; disjoint Plane, Submarine; disjoint Color, Vehicle; #properties object property HasColor{ domain Vehicle; rangeColor; }

  14. Подсвойства object property X is_subproperty_of Y{ domainA, B, C, …; rangeK, L, M, …; }

  15. Пример #concepts concept Human{ is_subconcept_of { Thing; HasSibling some_values_from Sibling; IsChildOf cardinality 2; } } #properties object property IsChildOf{ domain Human; range Human; inverse HasChild; }

  16. Экземпляры individualDmitry{ alias “Dima”; is_a Human; HasSibling = Nina; HasAncestor = {Victor, Ludmila, Grigory, Alena}; HasChild = {Egor, Maria}; }

  17. Конструкции Ontolingua • DEFINE-CLASS • DEFINE-FRAME • DEFINE-INSTANCE

  18. DEFINE-CLASS (DEFINE-CLASS<structure-name> (<argument-list>) {:def | :iff-def} <sent-with-arg-vars> [:constraints <sent-with-arg-vars>] [:class-slots (<slot-spec>*)] [:instance-slots (<extended-slot-spec>*)] [:default-slot-values (<slot-spec>*)] )

  19. Пример (define-class female-person (?person) "female humans" :iff-def (and (human ?person) (= (gender ?person) female)) )

  20. Слоты • (Name (SLOT-VALUE-TYPE string)) • Предопределенные собственные слоты: • INSTANCE-OF • SUBCLASS-OF • ALIAS • DOMAIN • RANGE • ...

  21. DEFINE-INSTANCE (define-instance<instance-name> (<class-name>+) ... )

  22. Реализация • Интерфейс IModelItem • Паттерн Composite • Методы: • ICollection<IModelItem> getChildren() • Write(StreamWriter writer) • Интерфейс IModel: IModelItem

  23. Реализации IModelItem • Класс AbstractModelItem • реализация метода write(StreamWriter writer) – делегирует своим частям • Иерархия KIFObject: AbsractModelItem • Иерархия OntolinguaObject: KIFObject • Части-терминалы • паттерн Flyweight

  24. Реализации IModel • KIFModel • OntolinguaModel

  25. Создание моделей • Интерфейс IModelBuilder • паттерн Builder • методы • buildFrame(DataFrame frame) • buildSlot(Slot slot) ... • IModel getModel() • Реализации • KifModelBuilder • OntolinguaModelBuilder

  26. Конвертация в KIF • Класс KifModelBuilder: OntolinguaModelBuilder • при создании делегирует методы предку • канонизирует • заменяет конструкции Ontolingua на конструкции KIF • вычисляет зависимости, меняя и пополняя модель

  27. Запуск из Visual Studio 2005

  28. ?

More Related