Чем отличаются знания от данных? Данные декларативны, а знания продукционны. Знания мы не получаем - мы их создаем
К тому же знания не существуют без контекста. Например, в школьной среде принято, что деление на ноль невозможно. Потом, в университете, на изучении теории пределов возникает парадокс, что делить на ноль можно (то есть на бесконечно малую величину)
К тому же знания не постояны. Мы, как интеллектуальные существа, способны создавать “гладкое продолжение”, например, на основе 5 чисел предположить, какое число будет следующим. Оно позволяет нам предсказывать события, в отличии от других существ, например, лисы. Лисы почти с рождения учаться мышкованию - ловле мышей под снегом. Пустив лис на охоту в другой среде, люди заметили, что лисы совсем не были способны к ней
При этом биологической разницы между нейронными сетями высших млекопитающих почти нет. Мы используем знания, мы их научились передовать и обобщать
Но все же определить, что такое знания, очень трудно. Но вещи, которые мы не можем объяснить, мы можем смоделировать. Например, электрон - на самом деле никто не знает, как он выглядит и где он находится. Или же разложение света.
Когда Ньютон делал свои опыты, он заметил, что если после разложения закрыть все цвета, кроме красного, желтого и зеленого, и преломить их в точку, то точка будет белой.
Другой физик Максвелл проводил эксперимент с волчком, на котором были цветные сектора. Вращая его, он замечал, что если сектора по площади равны и красного, зеленого и синего цветов, то получался белый. Изменяя площадь каждого сектора можно было получить разные оттенки серого.
В итоге оказалось, что цвет - это восприятие человека, а точнее его колбочек
Поэтому, как и с физикой, мы хотим построить модель, которая через данные хранит знания
База знаний - совокупность единиц знаний, которые представляют собой формализованные с помощью некоторого метода представления знаний, отражение объектов предметной области и их взаимосвязей, действий над объектами и, возможно, неопределенностей, с которыми эти действия осуществляются
Базы знаний делятся на открытые и замнкнутые:
Замкнутые продуцируют знаний на основе заложенных в них знаний - если такую систему спросить о чем-то, что она не знает и не может вывести из существующих знаний, она ответит “не знаю”
Открытые базы знаний могут вместо “не знаю” запросить еще данных (допобучение) и к тому же выявлять противоречия
Например, большие языковые модели являются закрытыми базами данных - они (пока что) не могут дообучаться, да и к тому же могут галлюцинировать знания. Разберем некоторые модели баз знаний:
Логическая модель <T, P, A, B>
, где
T
- конечный набор неделимых элементов знаний, словарьP
- множество синтаксических правил или формул, на основании которых из T
можно получить синтаксически верную конструкциюA
- набор аксиом, подмножество P
, которое является истинно, например, A + B = B + A
B
- правила вывода, конструкции, с помощью которых из одних верных конструкций получить другие верные конструкцииСетевая модуль <I, C_1, C_2, ..., C_n, G_1, G_2, ..., G_n>
, где
I
- набор информационных единицC_i
- типы связей, например, X является видом Y
, из X следует Y
G_i
- графы для каждого типа связей
Если раскрасить ребра графов и совместить их, то получим онтологию нашей предметной области
Фреймовая модель
Фреймовая модель состоит из фреймов, в которых есть пары слотов и значений. Значением может быть какая-то константа либо процедура получения значения
Продукционная модель <I, Q, P, A -> B, N>
I
- идентификатор продукцииA -> B
- ядро продукцииQ
- область применения продукцииP
- условия применимость этой продукцииN
- пост-условие выполнения продукции