close

Вход

Забыли?

вход по аккаунту

?

Лингвистические онтологии и

код для вставкиСкачать
4.2. Онтология CYC
Онтология CYC
•
•
•
•
•
Lenat D.
Самый амбициозный проект
Начат в 1984
1 млн. утверждений “common sense”
Микротеории: пространство, время,
причинность
• Онтология 6 тысяч понятий верхнего
уровня – в открытом доступе
• www.cyc.com
Разработчики Cyc
• Начало 80-х годов
• Douglas Lenat и адмирал Inman
• Microelectronics and Computer
TechnologyCorporation
• C 1995 Cycorp
Cyc и онтологии
• In philosophy, ontology is the study of
being.
• In knowledge-based systems, an ontology is
that part of the system which specifies what
things exist what is true about them. Cyc’s
ontology is essentially its whole knowledge
base
Cyc: symbolic AI
• Нет статистики
• 400 000 утверждений (1995): факты,
правила
• Cyc is intended to provide a deep layer of
understanding that can be used by other
programs (such as domain-specific expert
systems) to make them more flexible
Общие знания
• Цель – не записать все энциклопедические
сведения
• Знание не о конкретных главах государств
или столицах, а что значит быть столицей
или главой государства
• Не утверждают, что создают единую
теорию времени, пространства, вселенной
• Создается набор специализированных
микротеорий, которые описывают
наиболее частые случаи
Какие знания нужны: пример
• “Napoleon died on St.Helena. Wellington
was greatly suddened”
• Мы знаем, что Веллингтон узнал о
смерти Наполеона, Веллингтон пережил
Наполеона и т.п.
Knowledge pump
1) Наполнить базу миллионами терминов,
понятий, фактов, правил, которые
необходимы для повседневной жизни
2) Научить общаться на естественном
языке, чтобы увеличивать свою базу
знаний
3) Самообучение
Представление знаний
• Сначала предполагалось использовать
фреймы
• Но как представлять мнения, ожидания,
противоречащие условия
• Сейчас логика предикатов второго
порядка:
• P(a1, …an), S(P1,…, Pm)
CycL: константы
•
•
•
•
Словарь онтологии: сущности и понятия
#$Walking
#$Typewriter
Individuals:
– #$InternalRevenueService
– #$Walking 00036
• Имена предикатов: #$isa, #$likesAsFriend
• Имена функций #$GovernmentFn:
• #$GovernmentOf (#$Canada))
Имена констант
• Уникальные имена
• Правила написания
• Должно отличать понятие от похожих
понятий:
• Bow
– Bow-BoatPart
– BowTheWeapon
– Bowing-BodyMovement
Значимость имен - 1
• Понятие Зеленый цвет: #$Green,
#$GreenColor, #$Verde, #$Gruen, #$EMRG
• Смысл понятия задается утверждениями
(assertions):
• 1) (#$isa #$EMRG #$Color)
• 2) (#$colorOfObject #$Grass37 #$EMRG)
• 3) (#$forAll ?L (#$implies (#$ ?L #$Leaf)
(#$colorOfObject ?L #$EMRG)))
Значимость имен - 2
• #$LittleRedHairedGirlLikedByCharlieBrown
–
–
–
–
–
#$FemaleChild
#$hairColor
#$RedHairColor
#$CharlieBrown
#$likesAsFriend
Предикаты
• Число аргументов – predicate arity
• Фиксированное число аргументов, кроме
таких предикатов как #$different
• Предикат имеет не больше 5 аргументов
• Запись предиката в утверждениях Cyc
должна иметь заявленное число
аргументов
Предикаты: типы аргументов
•
•
•
•
•
•
Определяются в описании предиката
#$arg1Isa, #$arg2Isa
Предикат #$residesInDwelling
(#$isa #$residesInDwelling #$BinaryPredicate)
(#$arg1Isa #$residesInDwelling #$Animal)
(#$arg2Isa #$residesInDwelling
#$ShelterConstruction)
Функции
• В основном, фиксированное число
аргументов (до 5)
• Есть функции с произвольным числом
аргументов: #$PlusFn
• Типы аргументов
• Если число аргументов не задано, то один
тип для всех: #$argsIsa
• Результат – тип результата - #$resultIsa
Пример описания функции:
• (#$arity #$GovernmentFn 1)
• (#$arg1Isa #$GovernmentFn
#$GeopoliticalEntity)
• (#$resultIsa #$GovernmentFn
#$RegionalGovernment)
Переменные
• Названия: ?FOO
• Если в утверждении используется одна
переменная, то обычно – это одна буква
• Если несколько – то лучше использовать
мнемонические имена
Формулы и термы
• Термы (terms) –
– константы
– переменные
– функции
• Формула – это список в скобках
• Простейшая формула (Atomic Formula) –
предикат с заполненными аргументами
• Сложная формула (Complex Formula)
включает логические связки и
квантификаторы
Атомные формулы: примеры
• (#$likesAsFriend #$DouglLenat
#$KeithGoolsbey)
• (#$skillCapableOf #$LinusVanPelt
#$PlayingAMusicalInstrument )
• (#$colorOfObject ?CAR ?COLOR)
• Первые две формулы – ground atomic formulas
(GAF)
Логические операторы
• #$not, #$and, #$or, #$implies
• #$implies = правило if-then
• #$implies
– Первая часть антецедент
– Вторая часть консеквент
Пример правила
• (#$implies
– (#$ownerOfObject #$Bike001 #$Fred)
– (#$colorOfObject #$Bike001 #$RedColor))
– Утверждается, что или первый аргумент
ложный, или второй аргумент истинный
CycL: квантификаторы
• ForAll
• thereExists, thereExistsAtLeast,
thereExistsAtMost, thereExistsExactly
• (#$forAll ?X
– (#$implies
• (#$owns #$Fred ?X)
• (#$objectFoundLocation ?X #$FredsHouse)))
Пример с квантификаторами
• (#$implies
– (#$isa ?P #$Person)
– (#$there ExistExactly 2 ?Leg)
• (#$and
– (#$isa ?Leg #$Leg)
– (#$anatomical Parts ?P ?Leg))))
CycL: значение истинности
• Microtheories
• 5 значений истинности:
–
–
–
–
–
Default true
Monotonically true=true with no exceptions
Default false
Monotonically false
unknown
Утверждения (assertions)
• Каждое утверждение включает:
–
–
–
–
–
Формулу
Микротеорию
Значение истинности
Направление
обоснование
Утверждение и значение
истинности
• При вводе утверждения “monotonically
true”, происходит проверка на
противоречивость с базой знаний
– Если утверждение с переменными, то если
находится объект, для которого утверждение
не выполняется, то – ошибка
– Если было утверждение об отрицании
вводимой формулы для некоторого объекта ошибка
Направление
• Определяет, когда начинается вывод с
использованием данного утверждения
– Forward (вывод начинается в момент
помещения утверждения в базу знаний)
– Backward (включается при специальном
запросе)
– По умолчанию GAFs – forward, правила backward
ASK операция
• Запрос об истинности той или иной
формулы. Включает:
–
–
–
–
–
–
Формулу
Микротеорию
Направление
Число ответов (bindings)
Ограничение по времени
Глубина вывода
Пример ASK
• (#$and
– (#$geographicalSubRegions #$ContinentOfEurope
?X)
– (#$headOfStateOf ?X ?Y))
– Direction: backward
– Number: 5
– Time: 10
– Inference depth: 3
Продукты компании
• Cyc Knowledge Server (поставляется
разработчикам по индивидуальным
лицензиям)
• CycSecure – исследование уязвимости
программного обеспечения - продается
• CycAnswers - разрабатывается
Cyc Knowledge Server
•
•
•
•
•
Cyc Knowledge Base
Cyc Inference Engine
CycL Representation Language
Natural Language Processing Subsystem
Cyc Semantic Integrated Bus – связь между
традиционными структурами хранения
(базы данных) и Knowledge base
• Cyc Developer Toolsets
CycAnswers
• Semantic Knowledge Source Integrator –
генератор ответов, использующий базу
знаний
• Integrity Auditor – анализ соответствия
содержимого баз данных и знаний на
соответствие запросам
• User Profiles – настройка на пользователя
Пример неоднозначной синтаксической
интерпретации
• John washed the dishes on the table
• 1) John washed the dishes which are now
on the table
• 2) John did the dishwashing on the table
• Правило: Cyc knows that dishwashing
typically occurs in sinks or dishwashers, not
on tables.
Разрешение референции
• Fred went to the store, bought a candy bar
with his credit card, walked to the park, and
ate it.
• It - "store", "candy bar", "credit card", and
"park" ?
• Правило: parks, stores, and credit cards
aren't things which are normally eaten
OpenCyc
•
•
•
•
•
•
•
http://opencyc.sourceforge.net
6 тысяч понятий - 60 тысяч суждений
Cyc Inference Engine
Cyc Knowldege Browser
Документация
Спецификация языка CycL
Трансляторы CycL-to-Lisp, CycL-to-C
Upper Cyc Ontology (UCO)
• Основные структурирующие отношения
• #$isa – отношение примера к коллекции
или классу: (#$isa X Y)
• #$genls – одна коллекция подмножество
другой: (#$genls X Y)
Примеры и свойства - 1
•
•
•
•
•
#$genls - транзитивно
(#$genls #$Dog #$Mammal) и
(#$genls #$Mammal #$Vertebrate)
Следует
(#$genls #$Dog #$Vertebrate)
Примеры и свойства - 2
•
•
•
•
•
#$isa – нетранзитивно
(#$isa #$Pufy #$Dog) и
(#$isa #$Dog #$BiologicalClass)
Не следует
(#$isa #$Pufy #$BiologicalClass)
Свойства: isa+genls=isa
•
•
•
•
(#$isa #$Pufy #$Dog) и
(#$genls #$Dog #$Mammal)
Следует
(#$isa #$Pufy #$Mammal)
Организация top ontology
• Для каждого понятия
• Набор #$isa отношений
• Набор #$genls
• Multiple-inheritance
• Комментарий на английском языке
Пример: skin
• #$Skin
• A (piece of) skin serves as outer protective and tactile
sensory covering for (part of) an animal's body. This is the
collection of all pieces of skin. Some examples include
#$TheGoldenFleece (representing an entire skin of an
animal) and (#$BodyPartFn #$YulBrynner #$Scalp)
(representing a small portion of his skin).
• isa: #$AnimalBodyPartType
genls: #$BiologicalLivingObject #$AnimalBodyPart
#$SheetOfSomeStuff
#$VibrationThroughAMediumSensor #$TactileSensor
Вопросы к лекции
Документ
Категория
Презентации
Просмотров
17
Размер файла
92 Кб
Теги
1/--страниц
Пожаловаться на содержимое документа