Czym w informatyce jest język naturalny?

Kiedy ludzie mówią o języku naturalnym w informatyce, mają na myśli język programowania, który zawiera konstrukcje i składnię, które odzwierciedlają normalną ludzką mowę. Podstawowym celem każdego języka naturalnego jest umożliwienie programiście używania reguł i terminów lingwistycznych, z którymi jest już zaznajomiony, w celu przekazywania komputerowi praktycznych instrukcji. Ze względu na wymóg jednoznaczności dla użytkownika końcowego i wykorzystanie już znanego i mówionego języka, języki naturalne, takie jak Programowanie w logice (Prolog) lub Lisp, wydają się być bardziej wewnętrznie złożone niż inne języki programowania, w zależności od abstrakcji wyższego rzędu lub symbolicznej tego, co komputer może zrozumieć i na podstawie czego może działać. Innymi słowy, im łatwiej użytkownikowi końcowemu stworzyć program komputerowy bez konieczności znajomości ustrukturyzowanego języka proceduralnego lub innego języka niż ten, którym już się posługuje, tym bardziej złożony musi być silnik programu w języku naturalnym. wspierać wolność wypowiedzi.

Języki naturalne zawierają parsery i bazy danych. Bazy danych określają, jaką akcję ma wykonać komputer na podstawie instrukcji, a parser określa, w jakiej kolejności należy wykonać składnię. Na przykład, jeśli użytkownik wpisze „Dodaj dwa i dwa”, parser musi dokonać rozróżnienia między rzeczownikiem a czasownikiem, zrozumieć, co powinno osiągnąć działanie czasownika, przeszukać bazę danych w celu znalezienia odpowiedniej odpowiedzi, a następnie wygenerować wynik spełniający wymagania instrukcja. Jeśli użytkownik wpisze „Dodaj dwa do dwóch”, parser musi być w stanie zrozumieć, że „i” i „do” wskazują, że ta sama akcja powinna wystąpić, a następnie dać ten sam wynik.

Zwolennicy programowania w języku naturalnym twierdzą, że ponieważ języki naturalne mają zwykle charakter nieproceduralny, początkujący programiści mogą tworzyć znaczące programy i osiągać znaczące wyniki w krótszych ramach czasowych, niż gdy jest to konieczne do tworzenia algorytmów proceduralnych, które prowadzą do tych samych wyników. Dzięki programowaniu w języku naturalnym uczniowie uczą się wyrażać logiczną notację faktów. Programy prologowe składają się z bazy danych, relacji między elementami bazy danych oraz wszystkich warunków brzegowych, które określają, które odpowiedzi są dopuszczalne.

Badania i publikacje Noama Chomsky’ego dotyczące teorii i użycia lingwistyki obejmują graficzną eksplorację struktury składni języka. Parsery Prologa i Lisp zachowują się w podobny sposób, logicznie sortując instrukcję na jej składniki i oceniając działania, które należy podjąć w wyniku parsowania. Większość języków naturalnych jest pisanych z myślą o wprowadzaniu i wyprowadzaniu w języku angielskim, chociaż podejmowanych jest wiele wysiłków, aby wspierać lokalizację dla innych języków.