Czym jest reprezentacja wiedzy?
Reprezentacja wiedzy (ang. knowledge representation, KR) to dziedzina sztucznej inteligencji zajmująca się sposobami formalizowania informacji o świecie, tak aby systemy komputerowe mogły je przechowywać, wnioskować na ich podstawie i podejmować decyzje. Jest to fundament systemów ekspertowych, planowania AI i przetwarzania języka naturalnego.
Problem reprezentacji wiedzy obejmuje cztery kluczowe pytania: co reprezentować (jakie aspekty świata), jak reprezentować (jaki formalizm), jak wnioskować (jakie mechanizmy inferencji) i jak efektywnie zarządzać wiedzą (skalowalność, aktualizacja).
Dobre KR powinno spełniać pięć kryteriów: adekwatność reprezentacyjna (zdolność wyrażenia potrzebnej wiedzy), adekwatność inferencyjną (możliwość wyprowadzania nowych wniosków), efektywność inferencyjną (szybkość wnioskowania), efektywność akwizycyjną (łatwość dodawania wiedzy) i kompaktowość (brak nadmiarowej redundancji).
Reguły produkcyjne (Production Rules)
Najprostsza forma KR to reguły IF-THEN, zwane regułami produkcyjnymi. Każda reguła ma przesłankę (warunek) i konkluzję (działanie):
`IF pacjent ma gorączkę > 38°C AND ma kaszel AND ma ból mięśni THEN podejrzenie grypy (CF=0.8)`
Reguły produkcyjne stosowane są w silnikach wnioskowania systemów ekspertowych (CLIPS, Drools, Prolog). Ich zaletą jest prostota i naturalność; wadą — trudność wyrażania złożonych relacji i dziedziczenia.
Sieci semantyczne (Semantic Networks)
Sieć semantyczna to graf skierowany, w którym węzły reprezentują pojęcia, a krawędzie — relacje między nimi. Typowe relacje to: IS-A (jest rodzajem), HAS-A (ma część), PART-OF (jest częścią), CAUSES (powoduje).
Przykład: Pies IS-A Zwierzę, Pies HAS-A Ogon, Labrador IS-A Pies. Z takiej sieci można wnioskować: Labrador IS-A Zwierzę (przez dziedziczenie relacji IS-A).
Sieci semantyczne zostały zaproponowane przez Rossa Quilliana w 1968 roku do modelowania pamięci asocjacyjnej. Ich zalety to wizualność (łatwo je narysować) i naturalne dziedziczenie. Wady: brak formalnej semantyki (co dokładnie oznacza krawędź?), problemy z wyjątkami od reguł (pingwin IS-A ptak, ale NIE lata).
Ramki (Frames)
Ramki, zaproponowane przez Marvina Minsky'ego w 1975 roku, to struktury danych przypominające obiekty w programowaniu obiektowym. Ramka opisuje typowy byt lub sytuację za pomocą slotów (atrybutów) z wartościami domyślnymi i ograniczeniami.
Przykład ramki „Samochód":
- Marka: (wymagane)
- Kolor: domyślnie „biały"
- Liczba kół: 4 (ograniczenie: >= 3)
- Typ silnika: {spalinowy, elektryczny, hybrydowy}
- IS-A: Pojazd (dziedziczenie slotów z ramki Pojazd)
Ramki obsługują dziedziczenie (potomne ramki przejmują sloty nadrzędnych), wartości domyślne (uzupełniane, gdy brak jawnej wartości) i procedury demonowe (IF-NEEDED, IF-ADDED — kod uruchamiany przy odczycie lub zapisie slotu).
Ramki łączą cechy sieci semantycznych (relacje IS-A) z programowaniem obiektowym (enkapsulacja, dziedziczenie). Stanowią pomost między KR symbolicznym a obiektowymi bazami danych.
Logiki opisowe (Description Logics)
Logiki opisowe (DL) to formalne systemy logiczne zaprojektowane specjalnie do reprezentacji wiedzy. Stanowią fundament języka OWL (Web Ontology Language) — standardu W3C dla ontologii w Semantic Web.
DL definiują wiedzę za pomocą:
- Pojęć (concepts/classes) — np. Osoba, Student
- Ról (roles/properties) — np. studiujeNa, maWiek
- Jednostek (individuals) — np. Jan, PolitechnikaWarszawska
Kluczowe konstruktory pojęciowe:
- Koniunkcja: Student ⊓ Pracownik (osoby będące jednocześnie studentami i pracownikami)
- Dysjunkcja: Mężczyzna ⊔ Kobieta
- Negacja: ¬Student (nie-studenci)
- Kwantyfikator egzystencjalny: ∃studiujeNa.Politechnika (osoby studiujące na jakiejś politechnice)
- Kwantyfikator uniwersalny: ∀maWiek.PozytywnaLiczba (wszyscy, których wiek jest liczbą pozytywną)
Zaletą DL jest formalna semantyka (precyzyjne znaczenie każdego wyrażenia) i rozstrzygalność (algorytmiczna gwarancja odpowiedzi na pytania). Wersje DL różnią się ekspresywnością i złożonością obliczeniową — od lekkiego EL (SNOMED CT) po ekspresyjne SROIQ (OWL 2 DL).
Ontologie
Ontologia w informatyce to formalna, jawna specyfikacja konceptualizacji dziedziny. Definiuje pojęcia, relacje, aksjomaty i ograniczenia tworzące wspólny model świata.
Przykłady ontologii
- Cyc — ambicyjny projekt (rozpoczęty 1984) kodowania „zdrowego rozsądku" w logice formalnej. Ponad 500 000 pojęć i miliony reguł.
- SNOMED CT — ontologia medyczna z ponad 350 000 pojęciami klinicznymi, używana w elektronicznych rekordach zdrowia.
- DBpedia — ontologia wyekstrahowana z Wikipedii, zawierająca miliony jednostek i relacji.
- Schema.org — ontologia współtworzona przez Google, Microsoft, Yahoo i Yandex do strukturalnego opisu treści stron internetowych.
Języki ontologiczne
- RDF (Resource Description Framework) — model trójek (podmiot, predykat, obiekt) do opisu zasobów
- RDFS (RDF Schema) — rozszerzenie RDF o hierarchie klas i właściwości
- OWL (Web Ontology Language) — język logik opisowych, standard W3C dla zaawansowanych ontologii
- SPARQL — język zapytań do danych RDF/OWL
Grafy wiedzy (Knowledge Graphs)
Grafy wiedzy to współczesna inkarnacja sieci semantycznych — wielkoskalowe grafy łączące miliardy jednostek relacjami semantycznymi. Termin spopularyzował Google w 2012 roku, uruchamiając Google Knowledge Graph.
Kluczowe grafy wiedzy
- Google Knowledge Graph — ponad 500 miliardów faktów o ponad 5 miliardach encji. Zasila panele wiedzy w wyszukiwarce.
- Wikidata — wolny graf wiedzy Wikimedia Foundation, ponad 100 milionów jednostek.
- Amazon Product Graph — graf wiedzy o produktach zasilający rekomendacje i wyszukiwanie.
- Facebook Entity Graph — łączy osoby, miejsca, wydarzenia i organizacje.
Grafy wiedzy a LLM
Duże modele językowe (LLM) przechowują wiedzę implicytnie w wagach sieci neuronowej. Grafy wiedzy przechowują ją eksplicytnie w trójkach (podmiot, predykat, obiekt). Połączenie obu podejść — Knowledge-Grounded LLM — to aktywny obszar badań. RAG (Retrieval-Augmented Generation) z grafem wiedzy jako źródłem pozwala LLM korzystać ze strukturalnej, weryfikowalnej wiedzy.
Porównanie metod reprezentacji
| Metoda | Ekspresyjność | Formalność | Skalowalność | Wnioskowanie |
|---|---|---|---|---|
| Reguły IF-THEN | Niska | Niska | Średnia | Forward/backward |
| Sieci semantyczne | Średnia | Niska | Średnia | Dziedziczenie |
| Ramki | Średnia | Średnia | Średnia | Dziedziczenie + procedury |
| Logiki opisowe | Wysoka | Wysoka | Zróżnicowana | Formalne (tableaux) |
| Grafy wiedzy | Wysoka | Średnia | Bardzo wysoka | SPARQL + reguły |
Znaczenie KR we współczesnej AI
Choć era dominacji symbolicznej AI minęła, reprezentacja wiedzy przeżywa renesans w nowych formach:
- Neuro-symboliczna AI — łączy sieci neuronowe z formalnym wnioskowniem
- Knowledge-augmented LLM — wzbogacanie modeli językowych o strukturalną wiedzę
- Ontology-driven ML — ontologie jako źródło cech i ograniczeń dla modeli ML
- Explainable AI — jawna wiedza umożliwia wyjaśnianie decyzji
Reprezentacja wiedzy pozostaje fundamentem AI, nawet gdy głównym narzędziem są sieci neuronowe. Wiedza, która jest jawna, strukturalna i weryfikowalna, stanowi niezbędne uzupełnienie dla statystycznych wzorców wyuczonych z danych.