Czym jest Rozumowanie semantyczne (semantic reasoner)?
Rozumowanie semantyczne to proces automatycznego wyciągania wniosków z danych opisanych w językach wiedzy, takich jak RDF Schema czy OWL. Program realizujący taki proces nazywa się semantic reasoner. Jego zadaniem jest obliczanie nowych faktów oraz wykrywanie sprzeczności dzięki formalnym regułom logiki opisów. W przeciwieństwie do klasycznego wyszukiwania syntaktycznego, reasoner nie porównuje jedynie znaków lub słów. Operuje na znaczeniu pojęć i relacji zapisanych w ontologii, co umożliwia odkrywanie zależności, które nie zostały wprost zapisane w bazie wiedzy.
Krótki rys historyczny
Początki prac nad zautomatyzowanym wnioskowaniem sięgają lat sześćdziesiątych XX w., kiedy John McCarthy rozwijał ideę logicznej reprezentacji wiedzy. W 1984 r. po raz pierwszy opisano logiki opisów, a w 1999 r. zespół University of Manchester pod kierunkiem prof. Iana Horrocksa zaproponował język DAML-OIL, poprzednika OWL. Wraz z popularyzacją ontologii powstały silniki wnioskowania takie jak FaCT++, Pellet oraz HermiT, które do dziś są fundamentem platform semantycznych rozwijanych m.in. przez W3C, Stanford University czy Fraunhofer IAIS.
Jak dokładnie działa Rozumowanie semantyczne (semantic reasoner)
Reprezentacja wiedzy w ontologiach
Reasoner analizuje graf wiedzy, w którym pojęcia zdefiniowane są za pomocą klas, właściwości i aksjomatów. Ontologia określa hierarchie dziedziczenia, relacje dziedziny i zakresy wartości, a także ograniczenia kardynalne.
Wnioskowanie na podstawie reguł
Na podstawie aksjomatów reasoner stosuje reguły modus ponens, unifikację oraz algorytmy tableau, by sprawdzić, które instancje należą do danych klas i jakie relacje wynikają z istniejących faktów. Typowa sesja obejmuje trzy kroki: wczytanie ontologii, konsolidację grafu oraz obliczenie wniosków typu subsumpcja lub równoważność pojęć. Wynik trafia do pamięci podręcznej i może zasilać kolejne zapytania SPARQL.
Zastosowania w praktyce
Rozumowanie semantyczne wspiera systemy medyczne przy wyszukiwaniu zależności gen-fenotyp, usprawnia zarządzanie logistyką w przemyśle 4.0 oraz poprawia precyzję rekomendacji treści w serwisach streamingowych, gdzie reasoner łączy graf zainteresowań użytkownika z ontologią filmów. W 2020 r. firma Siemens wykazała, że powiązanie reasonera z danymi IoT pozwoliło skrócić diagnostykę awarii turbin o 18 %.
Zalety i ograniczenia
Największą zaletą jest zdolność do odkrywania ukrytych zależności przy zachowaniu formalnej poprawności logiki, co podnosi spójność wiedzy. Wymagania obliczeniowe rosną jednak wraz ze złożonością ontologii, a systemy typu OWL 2 DL potrafią generować zapytania o złożoności wykładniczej. Reasoner zakłada także kompletność aksjomatów, dlatego wszelkie luki w modelu prowadzą do wyników częściowych lub sprzecznych.
Na co uważać?
Projektując ontologię, należy unikać nadmiernej liczby ogólnych klas, które zwiększają koszty wnioskowania, oraz dbać o jednoznaczność identyfikatorów URI. W systemach produkcyjnych rekomenduje się profilowanie OWL RL lub EL, które zapewniają lepszą skalowalność kosztem bardziej restrykcyjnego języka ekspresji.
Dodatkowe źródła
Dalszą wiedzę można zdobyć w specyfikacji OWL 2 Overview, monografii Iana Horrocksa „Description Logic Handbook” oraz artykule arXiv:2007.08945 o skalowaniu wnioskowania w grafach wiedzy. Praktyczne przykłady implementacji znajdują się w dokumentacji Apache Jena Inference oraz na stronie Wikipedia – Semantic reasoner.


