SNePS
SNePS to system reprezentacji wiedzy , rozumowania i działania (KRRA) opracowany i utrzymywany przez Stuarta C. Shapiro i współpracowników z Uniwersytetu Stanowego Nowego Jorku w Buffalo .
SNePS jest jednocześnie systemem KRRA opartym na logice , ramkach i sieci . Wykorzystuje asercyjny model wiedzy, w którym baza wiedzy SNePS (KB) składa się z zestawu twierdzeń (propozycji) dotyczących różnych podmiotów. Jego zamierzonym modelem jest intencjonalna domena bytów mentalnych - bytów wymyślonych przez jakiegoś agenta i twierdzeń, w które wierzy. Intensjonalność jest osiągana przede wszystkim przez brak wbudowanego operatora równości, ponieważ dowolne dwa składniowo różne terminy mogą mieć nieco inne znaczenie fregowskie .
SNePS ma trzy style wnioskowania: oparty na formułach, wywodzący się z osobowości opartej na logice; oparty na automatach, wywodzący się z osobowości opartej na ramkach; i oparty na ścieżce, wywodzący się z jego osobowości opartej na sieci. Jednak wszystkie trzy są zintegrowane, działają razem.
SNePS może pracować jako samodzielny system KRR. Został również wykorzystany, wraz ze zintegrowanym komponentem aktorskim, do implementacji umysłu inteligentnych agentów ( robotów kognitywnych ), zgodnie z architekturą agenta GLAIR (warstwowa architektura kognitywna ). Grupa badawcza SNePS często nazywa swoich agentów Cassie.
SNePS jako system oparty na logice
Jako system oparty na logice SNePS KB składa się z zestawu terminów oraz funkcji i formuł dotyczących tych terminów. Zestaw spójników logicznych i kwantyfikatorów rozszerza zwykły zestaw używany przez logikę pierwszego rzędu , wszystkie przyjmujące jeden lub więcej zestawów argumentów o dowolnej wielkości. Zgodnie z zamierzonym zastosowaniem SNePS do reprezentowania umysłu inteligentnego agenta kompetentnego w języku naturalnym , zdania są bytami pierwszej klasy w zamierzonej domenie, więc formuły są w rzeczywistości terminami funkcjonalnymi oznaczającymi zdania. SNePSLOG, język wejścia-wyjścia opartej na logice twarzy SNePS, wygląda jak naiwna logika w tym symbole funkcji (w tym „predykaty”), a formuły (właściwie terminy oznaczające zdania) mogą być argumentami funkcji i mogą być ilościowo ponad. Podstawowym SNePS jest jednak logika pierwszego rzędu, z symbolami funkcji i formułami użytkownika zreifikowany .
silnik wnioskowania w stylu dedukcji naturalnej, w którym istnieją reguły wprowadzania i eliminacji dla spójników i kwantyfikatorów. Wnioskowanie oparte na formułach SNePS jest solidne, ale niekompletne, ponieważ nie wdrożono reguł wnioskowania, które są mniej przydatne do rozumienia języka naturalnego i rozumowania zdroworozsądkowego .
Termin oznaczający propozycję w KB SNePS może, ale nie musi, być „potwierdzony”, to znaczy traktowany jako prawdziwy w KB. Logika SNePS jest parakonsystentną wersją logiki istotności , więc sprzeczność nie implikuje niczego. Niemniej jednak SNeBR, podsystem SNePS Belief Revision, zauważy każdą wyraźną sprzeczność i zaangażuje użytkownika w dialog, aby ją naprawić. SNeBR to oparty na założeniach system utrzymywania prawdy (ATMS) i usuwa status potwierdzenia każdej propozycji, której wsparcie zostało usunięte.
SNePS jako system oparty na ramkach
Jako system oparty na ramkach, każdy termin funkcjonalny SNePS (w tym terminy o wartości propozycji) jest reprezentowany przez ramkę ze szczelinami i wypełniaczami. Każde miejsce może być wypełnione zestawem innych terminów o dowolnej wielkości. Jednak cykli nie można konstruować. SNePSUL, język użytkownika SNePS, jest językiem wejścia-wyjścia do interakcji z SNePS w jego przebraniu jako system oparty na ramkach.
SNePSLOG może być używany w jednym z trzech trybów. W dwóch trybach ramka obudowy (zestaw szczelin) powiązana z każdym terminem funkcjonalnym jest określana przez system. W trybie 3 użytkownik deklaruje jaka ramka przypadku ma być użyta dla każdego symbolu funkcji.
We wnioskowaniu opartym na szczelinach każda ramka z wartościami propozycji jest uważana za implikującą ramkę z dowolnymi szczelinami wypełnionymi przez podzbiór jej wypełniaczy. W obecnej implementacji nie zawsze jest to rozsądne.
SNePS jako system sieciowy
Jako system oparty na sieci, SNePS jest zdaniową siecią semantyczną , stąd pierwotne znaczenie „SNePS” jako „System przetwarzania sieci semantycznej”. Pogląd ten uzyskuje się, uznając każdą indywidualną stałą i każdy termin funkcjonalny za węzeł sieci, a każdą szczelinę za skierowany, oznaczony łuk od węzła ramki, w którym się znajduje, do każdego węzła w jego wypełniaczu. W zamierzonej interpretacji każdy węzeł oznacza byt mentalny, z których niektóre są zdaniami, a każde zdanie reprezentowane w sieci jest reprezentowane przez węzeł, który je denotuje. Niektóre węzły są zmiennymi logiki SNePS i obejmują węzły i tylko węzły.
Można zdefiniować reguły wnioskowania oparte na ścieżce, chociaż one same nie są reprezentowane w SNePS. Reguła wnioskowania oparta na ścieżce określa, że jakiś oznaczony łuk r może być wywnioskowany jako obecny od jakiegoś węzła n do innego węzła m tylko w przypadku, gdy dana ścieżka istnieje od n do m . Dostępny jest obszerny zestaw rekurencyjnych konstruktorów ścieżek.
składniki
- SNIP , pakiet wnioskowania SNePS, zapewnia reguły wnioskowania , za pomocą których SNePS dedukuje nowe asercje z istniejącej bazy wiedzy.
- SNeBR , pakiet SNePS Belief Revision , jest składnikiem SNePS, który wykrywa, kiedy KB zawiera sprzeczne przekonania. Po wykryciu sprzeczności użytkownik jest zachęcany do obalenia jednego ze sprzecznych przekonań poprzez unieważnienie niektórych podstawowych hipotez, które doprowadziły do sprzeczności. W rezultacie wszystkie twierdzenia, które zostały wywnioskowane z hipotez, które nie zostały potwierdzone, są również niezatwierdzone.
- SNeRE , SNePS Rational Engine, zapewnia działającego wykonawcę i zestaw ram do tworzenia złożonych aktów i planów z zestawu prymitywnych działań zdefiniowanych przez system i zdefiniowanych przez użytkownika. Ramy systemowe pozwalają na określenie sekwencji aktów, aktów warunkowych i iteracji po aktach, a także twierdzeń wiary i niewiary. Zasady SNeRE łączą działanie z wnioskowaniem, określając na przykład, że określone działanie ma zostać wykonane, gdy wierzy się (potwierdza) określone twierdzenie.
- SNaLPS , system przetwarzania języka naturalnego SNePS, składa się z interpretera gramatyki Generalized Augmented Transition Network oraz analizatora i syntezatora morfologicznego języka angielskiego , dzięki czemu agentom opartym na SNePS można zapewnić rozumienie i generowanie języka naturalnego.
Aplikacje
SNePS był używany do różnych zadań KRR, do rozumienia i generowania języka naturalnego , do zdroworozsądkowego rozumowania oraz do robotyki kognitywnej . Był używany na kilku kursach KR na całym świecie.
Dostępność
SNePS jest zaimplementowany jako niezależny od platformy system w Common Lisp i jest swobodnie dostępny.