Reprezentacja wiedzy: sieci semantyczne, ramy, CYC
🎯 Po co Ci to?
Systemy ekspertowe z poprzedniej jednostki działały dobrze w wąskich, dobrze zdefiniowanych dziedzinach — chemii analitycznej, diagnostyce infekcji. Ale co, jeśli chcemy, żeby maszyna rozumiała po prostu świat, tak jak rozumie go pięciolatek — że ptaki zwykle latają, ale pingwin nie, że jeśli coś jest szklanką, to zwykle da się z niej pić? To pytanie o to, jak w ogóle zapisać wiedzę o świecie w komputerze, doprowadziło do wynalezienia sieci semantycznych, ram i — najbardziej ambitnego projektu w historii AI — bazy CYC.
✅ Czego się nauczysz
Po tej lekcji potrafisz:
- opisać ideę sieci semantycznej i wyjaśnić, jak reprezentuje ona pojęcia i relacje między nimi;
- wyjaśnić koncepcję „ram" (frames) Minsky'ego i podać przykład ich zastosowania;
- opisać cel projektu CYC i wskazać, dlaczego okazał się on trudniejszy, niż zakładano.
🔁 Przypomnij sobie
W jednostce 7.1 poznałeś bazę wiedzy systemu ekspertowego — zbiór reguł „jeśli–to" dotyczących wąskiej dziedziny. Reprezentacja wiedzy to szersze pytanie: jak w ogóle ustrukturyzować informację o świecie, żeby komputer mógł nią sensownie operować — nie tylko w jednej wąskiej domenie, ale ogólnie.
📘 Wyjaśnienie — sieci semantyczne
W 1966 roku Ross Quillian zaproponował koncepcję sieci semantycznej — sposobu reprezentowania wiedzy jako grafu, w którym każdy węzeł to pojęcie (np. „ptak", „kanarek", „zwierzę"), a krawędzie łączące węzły określają relacje semantyczne między pojęciami, takie jak „jest rodzajem" (kanarek jest rodzajem ptaka), „ma właściwość" (ptak ma właściwość latania) czy „jest częścią" (skrzydło jest częścią ptaka).
💭 Pomyśl: Narysuj (choćby w wyobraźni) prostą sieć semantyczną dla pojęć: zwierzę, ptak, ryba, kanarek, pingwin, latanie, pływanie. Jakie relacje połączysz między tymi węzłami?
Sprawdź odpowiedź
Typowa sieć: „kanarek" — jest rodzajem → „ptak"; „pingwin" — jest rodzajem → „ptak"; „ptak" — jest rodzajem → „zwierzę"; „ryba" — jest rodzajem → „zwierzę"; „ptak" — ma właściwość → „latanie"; „ryba" — ma właściwość → „pływanie". Zauważ, że jeśli system „wie" tylko, że pingwin jest ptakiem, a ptaki latają, wyciągnie błędny wniosek, że pingwin lata — chyba że gdzieś w sieci zapisano wyjątek. To dokładnie problem, do którego rozwiązania służą ramy, opisane niżej.
📘 Wyjaśnienie — ramy (frames)
W 1974 roku Marvin Minsky (ten sam, który współorganizował warsztat w Dartmouth — dział 6, jednostka 6.1) zaproponował koncepcję ram — bardziej rozbudowanych struktur wiedzy niż pojedyncze węzły sieci semantycznej. Rama reprezentuje typową, stereotypową sytuację lub obiekt (np. „urodziny", „restauracja", „ptak") wraz z zestawem slotów — miejsc na typowe cechy i wartości domyślne, które można nadpisać w konkretnym przypadku.
📐 DEFINICJA — ramy (frames, Minsky, 1974): struktury reprezentacji wiedzy opisujące typową, stereotypową sytuację lub kategorię obiektów za pomocą zestawu „slotów" na cechy charakterystyczne, z wartościami domyślnymi, które można zastąpić informacją specyficzną dla konkretnego przypadku.
Po ludzku: rama „ptak" ma domyślnie wypełniony slot „sposób poruszania się" wartością „lata" — ale jeśli spotykasz konkretnego ptaka, który okazuje się pingwinem, podstawiasz w tym slocie wyjątek „pływa/chodzi", zamiast burzyć całą regułę ogólną. Czym to NIE jest: ramy to nie to samo, co pojedynczy fakt w bazie wiedzy systemu ekspertowego — to cała struktura oczekiwań dotycząca typowej sytuacji, pozwalająca radzić sobie z wyjątkami bez odrzucania reguły ogólnej.
Podobny problem — jak zapisać zdroworozsądkowe rozumienie fizycznego świata (np. że przedmioty spadają, jeśli nic ich nie podtrzymuje, albo że płyn wylany z kubka rozleje się po stole) — podjął w 1978 roku Patrick Hayes w tekście znanym jako The Naive Physics Manifesto, wzywając badaczy do systematycznego opisania „naiwnej", zdroworozsądkowej wiedzy fizycznej, jaką każdy człowiek nabywa bez formalnej edukacji.
📘 Wyjaśnienie — CYC
Najbardziej ambitną próbą zebrania całej zdroworozsądkowej wiedzy ludzkości w jednej bazie danych podjął w 1984 roku Doug Lenat, zapoczątkowując projekt o nazwie CYC (od słowa encyclopedia). Cel był oszałamiająco prosty do sformułowania i oszałamiająco trudny do zrealizowania: zakodować w formie reguł i faktów miliony okruchów wiedzy, które każdy dorosły człowiek uznaje za oczywiste — że woda moczy rzeczy, że ludzie zwykle nie chcą umierać, że jeśli coś jest w lodówce, prawdopodobnie jest jedzeniem.
💭 Pomyśl: Ile „oczywistych", zdroworozsądkowych faktów o świecie znasz, choć nigdy nikt Cię ich formalnie nie nauczył? Spróbuj wymienić pięć takich faktów dotyczących zwykłego dnia (np. „drzwi trzeba pchnąć lub pociągnąć, żeby je otworzyć").
Sprawdź odpowiedź
Przykładowe fakty: (1) jeśli ktoś śpi, nie warto do niego głośno mówić — nie usłyszy; (2) filiżanka z gorącą herbatą parzy, jeśli chwycisz ją za korpus, a nie za uchwyt; (3) jeśli wsiadasz do windy idącej w dół, a chcesz jechać w górę, powinieneś poczekać na następną; (4) jedzenie zostawione poza lodówką przez dłuższy czas może się zepsuć; (5) jeśli ktoś się do Ciebie uśmiecha, prawdopodobnie jest przyjaźnie nastawiony. Zauważ, jak łatwo Ci przyszło wymienienie tych faktów — a jak trudno byłoby je wszystkie jawnie zapisać w formie reguł logicznych, uwzględniając setki wyjątków i kontekstów. To właśnie skala wyzwania, przed którym stanął projekt CYC.
CYC był pisany w LISP-ie (dział 6, jednostka 6.3) i po dziś dzień pozostaje jednym z najdłużej trwających projektów w historii informatyki — dekady pracy dodały miliony reguł, a mimo to baza nigdy nie osiągnęła pełni „zdrowego rozsądku" porównywalnego z ludzkim. Skala problemu okazała się znacznie większa, niż ktokolwiek przewidywał w 1984 roku.
Za projektem CYC stał Douglas Lenat, człowiek o niespożytej pewności siebie. Jego wcześniejszy program Eurisko dwa razy z rzędu wygrał mistrzostwa USA w turnieju strategicznej gry Traveller, projektując floty tak dziwaczne, że organizatorzy najpierw zmienili reguły, a potem zagrozili odwołaniem zawodów, jeśli Lenat wystartuje ponownie. Spisanie zdrowego rozsądku miało według jego szacunków zająć CYC-owi około dekady. Projekt ruszył w 1984 r. i trwał… aż do śmierci Lenata w 2023 r. — a i tak nie został ukończony. To bodaj najdłuższa lekcja pokory w historii informatyki: to, co każdy pięciolatek wie „za darmo", okazało się największą wiedzą świata.
📐 DEFINICJA — CYC: rozpoczęty w 1984 roku przez Douga Lenata projekt zbudowania ogromnej bazy wiedzy zdroworozsądkowej, kodującej miliony podstawowych, „oczywistych" faktów o świecie w formie reguł logicznych — najambitniejsza próba nadania maszynie „zdrowego rozsądku" człowieka.
⚠️ Uwaga, pułapka
Łatwo zbagatelizować projekt CYC jako „nieudany", bo nigdy nie osiągnął celu w pełni. Ale to niesprawiedliwa ocena — CYC pokazał coś fundamentalnego dla całej symbolicznej gałęzi AI: że zdroworozsądkowa wiedza o świecie jest znacznie większa i bardziej pełna wyjątków, niż intuicyjnie się wydaje. Ten problem — konieczność ręcznego kodowania ogromnej ilości wiedzy — jest jednym z kluczowych powodów, dla których symboliczna AI ustąpiła miejsca podejściu neuronowemu (działy 8–9), które uczy się wiedzy z danych, zamiast wymagać, by ktoś ją ręcznie zapisał regułą po regule.
📌 Najważniejsze w pigułce
- Sieć semantyczna (Quillian, 1966) reprezentuje wiedzę jako graf pojęć połączonych relacjami semantycznymi.
- Ramy (Minsky, 1974) to struktury opisujące typowe sytuacje ze slotami na cechy i wartościami domyślnymi, które można nadpisać wyjątkiem.
- Naive Physics Manifesto (Hayes, 1978) postulował systematyczne opisanie zdroworozsądkowej wiedzy fizycznej.
- CYC (Lenat, 1984) to najambitniejsza próba zakodowania całej ludzkiej wiedzy zdroworozsądkowej w jednej bazie reguł.
- Pułapka: skala i liczba wyjątków w zdroworozsądkowej wiedzy o świecie okazały się znacznie większe, niż zakładano — to jeden z powodów przejścia AI w stronę uczenia z danych (działy 8–9).
🎒 Zadania
Zadanie 7.2.1. Zbuduj ramę (frame) dla pojęcia „restauracja" z co najmniej czterema slotami i ich domyślnymi wartościami. Następnie wskaż jeden przypadek, w którym konkretna restauracja mogłaby nadpisać jeden z tych domyślnych slotów.
Sprawdź odpowiedź
Przykładowa rama „restauracja": slot „personel" (domyślnie: kelner przyjmuje zamówienie), slot „sposób płatności" (domyślnie: płaci się po posiłku), slot „menu" (domyślnie: dostępny wybór dań do wyboru), slot „miejsce" (domyślnie: siedzi się przy stoliku). Nadpisanie: w restauracji typu fast-food slot „personel" jest nadpisany na „zamawia się przy ladzie", a slot „sposób płatności" na „płaci się przed jedzeniem". To pokazuje, jak ramy pozwalają zachować ogólną strukturę oczekiwań („restauracja"), jednocześnie elastycznie dopasowując się do konkretnych wariantów bez tworzenia zupełnie nowej kategorii od zera.
Zadanie 7.2.2. Projekt CYC wciąż trwa, dekady po rozpoczęciu, i wciąż nie osiągnął pełnego „zdrowego rozsądku". Czy uważasz, że taki cel (zakodowanie całej zdroworozsądkowej wiedzy człowieka w formie jawnych reguł) jest w ogóle osiągalny? Sformułuj jeden argument za i jeden przeciw.
Sprawdź odpowiedź
Argument za osiągalnością: skoro ludzki mózg — skończony, fizyczny system — jest w stanie „pomieścić" zdrowy rozsądek, to w zasadzie nie ma logicznej przeszkody, by inny skończony system (komputer z odpowiednio dużą bazą reguł) też to osiągnął — to tylko kwestia czasu i skali. Argument przeciw: ludzki zdrowy rozsądek nie jest zbiorem jawnych, dyskretnych reguł, lecz czymś ukształtowanym przez ucieleśnione doświadczenie zmysłowe, emocjonalne i społeczne, którego prawdopodobnie nie da się w pełni sprowadzić do skończonej listy zdań logicznych — zawsze znajdzie się nowy, nieprzewidziany kontekst wymagający kolejnego wyjątku od wyjątku. To pytanie pozostaje otwarte do dziś i wiąże się bezpośrednio z pytaniem o granice symbolicznej reprezentacji wiedzy w ogóle.
🔍 Sprawdź, czy umiesz
- [ ] Wyjaśnić, czym jest sieć semantyczna i jak reprezentuje relacje między pojęciami.
- [ ] Opisać koncepcję ram (frames) i podać przykład slotu z wartością domyślną oraz jej nadpisania.
- [ ] Wyjaśnić cel projektu CYC i wskazać, dlaczego okazał się on trudniejszy, niż przewidywano.