Лекция 4 - 26.10.2010

страницата се нуждае от дописване/преглеждане


Продължаваме с представянето на знания.

Експертни системи

Разцветът им е в началото на 80-те, но все още се срещат тук-там под някаква форма (макар и остарели и изместени от неща като семантичен уеб (също остаряващи)). Най-общо, експертната система, която:

  1. може да представя и да разсъждава със знания в някаква област;
  2. областта е тясно определена
  3. решава конкретни проблеми(задачи) или да дава съвет в същата област.

Накратко, експертната система е измислена да замести експерта - например, система за медицинска диагноза.

Експертната система разчита на натрупана база знания в определена област, въз основата на която с машина за разсъждения (inference engine) "разсъждава" върху факти в същата експертна област. Нейните компоненти включват потребителски интерфейс, подсистема за обяснение (представя "разсъжденията" на потребителя), база знания, работна памет (натрупани факти), машина за разсъждения (inference engine), метод за приоритизиране на правила, които удовлетворяват наличните факти (подобно на CSP), и метод за натрупване на знания в базата (натрупване, което не е точно обучение - може да е просто въвеждане/добавяне от експерта).

Очакваните предимства на една добра експертна система:

  • availability - по-достъпна (примерно, работи 24/7)
  • по-ниска цена (от услугите на експерта)
  • по-ниска вероятност за грешка
  • постоянство (?подобно на първото)
  • множествена експертиза (голяма / разнородна база / бази знания)
  • по-висока надеждност
  • обяснение (на изводите си)
  • не е човек - бърз отговор, неемоционалост, обективност, винаги отговаря
  • интелигентен учител / интелигентна база данни

Силните страни на екпертните системи включват:

  • Интерпретация на голямо количество данни
  • Диагноза на проблеми и аварии
  • Структуриран анализ на сложни обекти
  • Конфигурация(?) на сложни обекти
  • Планирани последователности от действия

, и като такива, те могат да намерят приложения в много сфери на човешката дейност.

Характеристики на (действието на) една експертна система: [pdf - много бързо мина слайдът]
Разлики между експертната система и други видове изкуствен интелект: [pdf]

Обясняващата функционалност (рутина) се характеризира с възможността да даде просто или сложно обяснение - подходящо и за експерти, и за други. Една проста система би могла просто да изброи фактите, според които е избрано дадено правило. По-сложните системи биха могли да изразят хипотези, да направят предвиждания, и други.

Представянето на знания не е същото като тяхното кодиране - кодирането носи само информацията, а представянето включва и организация на знанието - т. е., и смисъла и неговата интерпретация. Представянето се състои от набор синтактични и семантични правила [… - pdf].

Типове знание [pdf]

Базата знания се организира около дадени правила, с тяхната сигурност (като вероятност). Действията, които се извършват, са или заключения върху част от правилата набаза на тяхната вероятност, или операции, които предстои да се извършват. [още нещо си - pdf].


Семантичен уеб

Целта на семантичния уеб е компютрите да могат да боравят с информация(та), достъпна в уебпространството. Уебпространството е оптимизирано така, че да могат хора да работят с него - семантичният уеб е предвиден и за компютри.
Информацията трябва не само да се парсва (xml), но е и "разбираем" за машините. [??? - MOAR in pdf]
Семантичният уеб още ни е твърде непознат/обширен, че да си представим цялата му същност. Но чрез добавяне на семангтична анотация към налични ресурси, можем да поставим началото на едно ново бъдеще [brave new world].

Представянето на знания цели именно това - знанията да бъдат достъпни за компютрите - не само обработваеми, както в базите данни, но и "разбираеми". Интерпретацията няма да зависи и да разчита на човешка намеса.

Семантичвният уеб не е само данни (сведения), а и значение. За разлика от концепции като релационната и ОО парадигма, например, обектите, с които се борави, може да се променят като същност с течение на времето (???. СУ е вид представяне (репрезентация) на знание.

Разлика между база данни и база знания (представяне на знанието): [pdf - представянето на знанието може да е по-непълно, но е по-гъвкаво, непостоянно и накратко, "интелигентно"].

Семантичен уеб и/срещу представяне на знанията: KRep предхожда SWeb. SWeb може да се възползва от постиженията на другото и да се поучи от грешките на KRep. Някои характеристики на SWeb нарушават някои "предположения", които са добре възприети при KRep - светът на KRep е детерминиран, еднозначен и затворен, докато SWeb, както и сегашният уеб, често е непълен, недоизяснен или противоречащ си.

KRep предоставя добре изградени формални механизми за представяне и използване на знанията от компютрите. ОСвен това то е обвързано с разсъжденията - изводи на база на дадена основа от знания - и се интересува от реалните възможности на компютрите. Заедно с факта, че системите за представяне на знанията са относително надеждни, казаното дотук определя KRep като основа при изграждането на SWeb [от доцента: KRep системите са доста остарели и изместени от техники като data mining].

Проблемите при изграждането на KRep системи са проблеми, които засягат и семантичния уеб. Първоначално, представянето не е било достатъчно формално, водещо до несъглашения при опредеяне на формалното значение. Освен това, работата (на изчислителни машини) с представяния може да бъде трудно - съществуват необозрими и дори нерешими проблеми, [още нещо си].

Но също така SWeb се явява нова територия за KRep - уебът е море от информация (в най-различни формати/представяния), и целта на семантичния уеб е да го сведе (в голяма степен) до форма, съвместима с KRep. Семантичнтият уеб ше съдържа услуги (??webservices?), които ще могат да се управляват и използват от други компютри, аналогично на сегашната им употреба от хората и техните уеб клиенти.

Семантичният уеб е и предизвикателство за KRep. Огромният обем информация може да бъде непосилен за формалните методи на разсъждение. Семантичният уеб съдържа различни интерпретации на реалността, които понякога си противоречат - например, интерпретацията в различни контексти. Проблем е и несигурността/ненадеждността на източниците.

Сегашното състояние на WWW пространството е "синтактичен уеб" - огромно количество налична информация, уеб приложения и бази данни. Той е лесен за представяне (доставяне, "изобразяване") от компютрите, но труден за интерпретация от машина. Тук се намесва семантичният уеб - компютърната обработка да се разпростира и върху интерпретацията на получената информацията.

Примери за трудни и практически невъзможни задачи в синтактичния уеб: заявки, изискващи "допълнително познание" (background knowlege); търсене на информация в големи хранилища; търсене на услуги в уеб; уеб агенти (автоматични), извършващи сложни действия [pdf].

["internet of everything"]

В сегашния (синтактичния) уеб, машината "вижда", но не "разбира" представянето на информация, което ние виждаме (и разбираме). За да променим това, добавяме семантика: чрез външно, допълнително съглашение относно значението на дадени анотации/тагове ["Dublin core"] (не-гъвкав и относително необширен подход), или чрез използване на уеб онтологии - "речници" от термини, от които могат да се извеждат производни термини; значението на термините е формално определено. Могат да се правят аналогии на връзките на термините в различните онтологии.

Семантичният уеб е част от WWW. Той се базира на наличите уеб-ресурси (адреси, услуги, концепции). Същевременно той е голяма част от уеба. [още малко в pdf-а].


Онтологии

Думата е гръцка и обозначава "науката за съществуването" - какво значи съществуването, какво действително съществува, такива истории. В лингвистиката, онтологията придава значение на едно формално понятие (например думата "tank") според дадена концепция (concept). В зависимост от концепцията, значението (referent) може да бъде"tank" - аквариум, или "tank" - бойна машина.

В компютърните науки, онтологията се проявява като специален речник от термини, описващ дадена реалност, заедно с предположения (assumptions) за действителното значение на термина [още - в pdf-а].
Онтологиите в CS се отличават с две характеристики: термини за важни понятия в дадена област, и набор от допълнителни знания/ограничения върху значението на термините [примери в pdf-а].

Онтологиите са важна част от семантичния уеб, поради което трябва да има начини потребителите да:

  • създават и поддържат качествени онтологии
  • съхраняват големи количества инстанции (примери) на онтологически класове
  • отвръщат на заявки върху класовете и инстанциите на онтологиите
  • интегрират и "напасват" различни онтологии

[по-подробно в pdf-а]

Съществуват множество езици за описание на онтологии ("explicit specification"):

  • графични нотации
  • базирани на логики
  • вероятностни

[повече в pdf-а]

Много езици използват ОО модел - обекти, класове, релации(свойства, роли). Това им дава предимството, че са лесно разбираеми от хората, описани са формално, относително лесни за употреба, поддават се на машинна обработка.

Първо контролно - 09.11 (около час, по време на лекции); затворен и отворен тест

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License