Kif converter knowledge net
This presentation is the property of its rightful owner.
Sponsored Links
1 / 28

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


  • 80 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Компонента “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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Kif converter knowledge net

Санкт-Петербургский Государственный Университет

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

ДокладчикСигалин Максим Владимирович

Научный руководительСафонов Владимир Олегович,проф., д.т.н.


Kif knowledge interchange format

KIF (Knowledge Interchange Format)

  • Обмен знаниями

  • Язык исчисления предикатов второго порядка

  • Не имеет конструкций для описания фреймов/онтологий

  • http://logic.stanford.edu/kif/dpans.html


Ontolingua

Система Ontolingua

  • Надстройка над KIF

  • Имеет конструкции для описания фреймов/онтологий

  • Набор трансляторов в другие языки представления знаний

  • http://www.ksl.stanford.edu/software/ontolingua/


Kif converter knowledge net

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


Knowledge net

Конструкции Knowledge.NET

  • Фреймы

  • Онтологии


Kif converter knowledge net

Фреймы

Общий вид:

frame FR_CATEGORY FR_IDEN {SLOTS}


Kif converter knowledge net

Слоты

SLOTS ::=own_slots [[SL_DESC] SL_NAME[=SL_VALUE];]+ [instance_slots [SL_DESC SL_NAME[=SL_VALUE];]+ ]


Kif converter knowledge net

Слоты (расширенное описание)

facets {typeTYPE;[valueVALUE;][default_valueDEF_VALUE;]} SL_NAME;


Kif converter knowledge net

Наследование фреймов

own_slots is_a FR_IDEN1, | FR_IDEN2, FR_IDEN3, FR_IDEN4, …;


Kif converter knowledge net

Онтологическая модель

  • Концепты

  • Подконцепты

    • Ais_subconcept_ofB,C;

    • А {is_subconcept_ofB,C;}

  • Thing


Kif converter knowledge net

Определение через отношения

  • Пересечение

    concept A is_intersection_of B, C, D…

  • Объединение

    concept A is_union_of B, C, D…

  • Дополнение

    concept A is_complement_of B, C, D…


Kif converter knowledge net

Свойства

datatypepropertyPROP_NAME

{

domain A, B, C, …;

range X, Y, Z, ...;

}


Kif converter knowledge net

Пример

#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;

}


Kif converter knowledge net

Подсвойства

object property X is_subproperty_of Y{

domainA, B, C, …;

rangeK, L, M, …;

}


Kif converter knowledge net

Пример

#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;

}


Kif converter knowledge net

Экземпляры

individualDmitry{

alias “Dima”;

is_a Human;

HasSibling = Nina;

HasAncestor = {Victor, Ludmila, Grigory, Alena};

HasChild = {Egor, Maria};

}


Ontolingua1

Конструкции Ontolingua

  • DEFINE-CLASS

  • DEFINE-FRAME

  • DEFINE-INSTANCE


Define class

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>*)]

)


Kif converter knowledge net

Пример

(define-class female-person (?person) "female humans"

:iff-def (and (human ?person)

(= (gender ?person) female))

)


Kif converter knowledge net

Слоты

  • (Name (SLOT-VALUE-TYPE string))

  • Предопределенные собственные слоты:

    • INSTANCE-OF

    • SUBCLASS-OF

    • ALIAS

    • DOMAIN

    • RANGE

    • ...


Define instance

DEFINE-INSTANCE

(define-instance<instance-name>

(<class-name>+)

...

)


Kif converter knowledge net

Реализация

  • Интерфейс IModelItem

    • Паттерн Composite

    • Методы:

      • ICollection<IModelItem> getChildren()

      • Write(StreamWriter writer)

  • Интерфейс IModel: IModelItem


Imodelitem

Реализации IModelItem

  • Класс AbstractModelItem

    • реализация метода write(StreamWriter writer) – делегирует своим частям

  • Иерархия KIFObject: AbsractModelItem

  • Иерархия OntolinguaObject: KIFObject

  • Части-терминалы

    • паттерн Flyweight


Imodel

Реализации IModel

  • KIFModel

  • OntolinguaModel


Kif converter knowledge net

Создание моделей

  • Интерфейс IModelBuilder

    • паттерн Builder

    • методы

      • buildFrame(DataFrame frame)

      • buildSlot(Slot slot) ...

      • IModel getModel()

    • Реализации

      • KifModelBuilder

      • OntolinguaModelBuilder


Kif converter knowledge net

Конвертация в KIF

  • Класс KifModelBuilder: OntolinguaModelBuilder

    • при создании делегирует методы предку

    • канонизирует

    • заменяет конструкции Ontolingua на конструкции KIF

    • вычисляет зависимости, меняя и пополняя модель


Visual studio 2005

Запуск из Visual Studio 2005


Kif converter knowledge net

?


  • Login