• Nie Znaleziono Wyników

3 Podstawy matematyczne i informatyczne

3.6 Kontrolowane języki naturalne

Kontrolowane języki naturalne są podzbiorem języka naturalnego. Charakteryzują się sformali-zowaniem zasad i wykluczeniem wieloznaczności z języka. Ich zastosowanie zmieniało się na prze-strzeni czasu.

Przykładem wczesnego kontrolowanego języka naturalnego jest Basic English. Język ten został opublikowany w 1930 roku. Jego założeniem było stworzenie uproszczonej wersji języka angielskiego, która będzie łatwa do nauki jako drugi język. Celem było wykorzystanie uproszczonego angielskiego jako środka porozumiewawczego na świecie.

W późniejszym czasie, kiedy postępowała komputeryzacja, kontrolowane języki naturalne za-częły spełniać rolę dokumentacyjną. W związku z tym istotne stało się wykluczenie wieloznaczności z języka. Zaprojektowano języki, których celem było tworzenie dokumentacji technicznych. Przykładem takich języków był Simplified Technical English.

Kolejnym zastosowaniem kontrolowanych języków naturalnych była baza wiedzy. Fakt, że można w sposób jednoznaczny interpretować przedstawione informacje, pozwalał, aby zapisy repre-zentowały wiedzę. Przykładem kontrolowanego języka naturalnego, który może służyć jako baza wie-dzy jest PENG.

W związku z zastosowaniem kontrolowanych języków naturalnych do tworzenia w nich zapisów bazy wiedzy, kolejnym krokiem w wykorzystaniu kontrolowanych języków naturalnych było zastoso-wanie ich jako język zapytań. Możliwe zatem stało się nie tylko zapisyzastoso-wanie informacji w sposób intui-cyjny, ale także późniejsze wydobywanie ich. Przykładem kontrolowanego języka naturalnego, który pozwala zarówno na definiowanie bazy wiedzy, jak i wydobywanie informacji z bazy wiedzy z wykorzy-staniem zapytań pisanych w tym języku jest ACE.

Powstało zatem pytanie, czy istniejące standardy w związku z prowadzonymi badaniami można wykorzystać do modelowania systemów dynamicznych w biologii. Nie była to droga niemożliwa, jed-nakże wymagająca zdefiniowania odpowiednich ontologii. Ponadto problemem w praktycznym zasto-sowaniu była szeroka rama możliwości zapisu i interpretacji, przez którą trudno było jednoznacznie zdefiniować wiedzę, która w przypadku modelowania musi być w sposób precyzyjny uchwycona. Za-tem kontrolowany język naturalny, który miałby zastosowanie w modelowaniu sysZa-temów dynamicz-nych powinien cechować się pełną jednoznacznością rozumienia pojęć, aby możliwe było całkowicie jednoznaczne tłumaczenie zapisu w takim języku na inne formaty o podobnym celu. W związku z tą potrzebą techniczną powstał język ModeLang.

Kontrolowane języki naturalne przebyły długą drogę jako rozwiązanie, które odpowiadało róż-nym potrzebom na przestrzeni czasu. Ich zastosowanie w przyszłości również może się rozszerzyć o nowe trendy związane z przetwarzaniem tekstu jak i sztuczną inteligencją. Rozwój sieci i dostęp inter-netowy do dużej bazy wiedzy pozwala na rozwijanie się technologii wymagających dużych wolumenów informacji.

W podrozdziale 3.6.1 jest opisany sposób działania kontrolowanych języków naturalnych. Przed-stawiona jest definicja oraz schemat w oparciu, o który następuje modelowanie. Natomiast w podroz-dziale 3.6.2 opisane są przykładowe zapisy wymienionych wyżej kontrolowanych języków naturalnych.

3.6.1 Opis

Kontrolowane języki naturalne powstały w oparciu o języki naturalne. Zgodnie z nazwą języki naturalne zostały ograniczone do poziomu, w którym język stał się jednoznaczny interpretacyjnie,

dzięki czemu umożliwione zostało przechowywanie informacji w postaci zapisów kontrolowanego ję-zyka naturalnego. Możliwe zatem stało się definiowanie bazy wiedzy w oparciu o kontrolowane języki naturalne.

Oparcie się na językach naturalnych wynikało z możliwości jakie niesie za sobą wykorzystanie powszechnej znajomości języków naturalnych, na przykład języka angielskiego. Można było wykorzy-stać wiedzę na temat popularnego języka, zamiast wdrażać nowe rozwiązania, które byłyby zrozumiałe dopiero po przejściu procesu analizy dokumentacji. Powstała jednakże potrzeba ograniczenia takiego języka, aby możliwe stało się techniczne zaimplementowanie automatów analizujących tekst wej-ściowy, a także aby wykluczyć możliwość powstania wieloznaczności wyrażeń.

Rysunek 13. Modelowanie z wykorzystaniem kontrolowanego języka naturalnego.

Wykorzystanie kontrolowanego języka naturalnego w procesie modelowania z punktu widze-nia użytkownika różni się od innych rozwiązań sposobem przygotowawidze-nia modelu. Niezbędne jest przy-gotowanie w pierwszym kroku opisu tekstowego modelowanego zjawiska. Następnie następuje proces analizy tekstu przez parser. Efektem tego procesu jest wczytanie do pamięci definicji modelu, który następnie może zostać przekazany do odpowiedniego oprogramowania symulacyjnego. W efekcie przekazania modelu następuje wykonanie obliczeń, dzięki którym możliwe jest zweryfikowanie mo-delu. Po uzyskaniu wyników weryfikacji modelu następuje korekta opisu modelu lub potwierdzenie poprawności modelu. Przebieg procesu modelowania z wykorzystaniem kontrolowanego języka natu-ralnego prezentuje Rysunek 13. Istotnym elementem modelowania z wykorzystaniem kontrolowanego języka naturalnego jest baza wiedzy. Jest ona niezbędnym elementem, który pozwala na identyfikację znaczeniową pojęć w kontekście modelowania. Pozwala zatem na wykonanie tłumaczenia słów języka naturalnego na typy procesów, reakcji lub dalszy kontekst wprowadzonego opisu.

3.6.2 Przykłady

W tym podrozdziale opisane zostaną przykłady wybranych kontrolowanych języków natural-nych. Każdy z wybranych języków charakteryzuje się nieco inną przewidywaną dla niego rolą lub zało-żeniami formalnymi. W związku z tym, że niektóre z nich (na przykład ACE) są bardzo dużymi językami z punktu widzenia możliwości zastosowań, przytoczone są jedynie uproszczone przykłady, które mają na celu poglądowe zapoznanie się z charakterem języka.

3.6.2.1 Basic English

Basic English jest kontrolowanym językiem naturalnym, który powstał do celów nie związanych z informatyką. Głównym powodem jego powstania było przedstawienie uproszczonego języka, który będzie mógł spełniać rolę języka komunikacyjnego, pomiędzy ludźmi odmiennych kultur, opierając się na języku angielskim. Istnieje też zastosowanie Basic English, jako języka, który upraszcza zapisy spe-cjalizowanych dziedzin nauki. Poniżej znajduje się przykład zapisu w naturalnym angielskim dotyczący inwestycji (Haber 1945).

It generally requires a greater stock to carry on any sort of trade in a great town than in a country village. The great stocks employed in every branch of trade, and the number of rich competitors, gen-erally reduce the rate of profits in the former below what it is in the latter. But the wages of labour are generally higher in a great town than in a country village. In a thriving town the persons who have great stocks to employ, frequently cannot get the number of workmen they want, and therefore bid against one another in order to get as many as they can, which raises the wages of labour, and lowers the profits of stock. In the remote parts of the country there is frequently not stock sufficient to employ all the people, who therefore bid against one another in order to get employment, which lowers the wages of labour, and raises the profits of stock.

Kolejny fragment przedstawia ten tekst zapisany w Basic English (Haber 1945).

It generally is necessary to have a greater investment to keep up any sort of trade in a great town than in a small country town. The great investments in every branch of trade and the number of moneyed persons in competition with one another generally make the rate of profit less in the great towns than in the small towns. But the payments to workmen are generally higher in a great town. In a town where business is good the persons who have much money to put into investments frequently are unable to get the number of workmen they have need for; the outcome is that these persons go into competition with one another on offering high payment to workmen in order to get as many as possible, and so the cost of work goes up, and the profits of investment go down. In the out-of-the-way parts of the country there is frequently not enough investment to make work for all the persons there; the outcome is that they go into competition with one another in offering their services in order to get work, and so the cost of work goes down, and the profits of investment go up.

3.6.2.2 Simplified Technical English

Simplified Technical English jest kontrolowanym językiem naturalnym, który powstał w celu tworzenia jednoznacznych i prostych w zrozumieniu dokumentacji technicznych. Jego obszarem zasto-sowań jest astronautyka, a także przemysł zbrojeniowy. Poniżej przedstawiony jest fragment doku-mentacji technicznej zapisanej w postaci naturalnego języka angielskiego (Kaiser 2013).

THE SYNTHETIC LUBRICATING OIL USED IN THIS ENGINE CONTAINS ADDITIVES WHICH, IF ALLOWED TO COME INTO CONTACT WITH THE SKIN FOR PROLONGED PERIODS, CAN BE TOXIC THROUGH ABSORP-TION.

W kolejnym przytoczonym fragmencie znajduje się ten sam fragment dokumentacji, tym razem zapi-sany w postaci Simplified Technical English.

DO NOT GET THE ENGINE OIL ON YOUR SKIN. THE OIL IS POISONOUS. IT CAN GO THROUGH YOUR SKIN AND INTO YOUR BODY.

3.6.2.3 PENG

Processable English (PENG) jest językiem, który powstał do budowania baz wiedzy. Zawiera również elementy, które pozwalają na weryfikowanie powstałej bazy. Poniższy fragment tekstu za-wiera definicję bazy wiedzy, na którą składa się jedenaście zdań. W przytoczonym przykładzie można zauważyć, że istnieje spore zróżnicowanie złożoności przedstawionych zdań (Schwitter et al. 2003).

1. A person who lives in Dreadsbury Mansion kills Agatha.

2. Agatha, the butler, and Charles each live in Dreadsbury Mansion.

3. If a person lives in Dreadsbury Mansion then that person is Agatha or the butler or Charles.

4. If a person A kills a person B then the person A hates the person B.

5. If a person A kills a person B then the person A is not richer than the person B.

6. If Agatha hates a person then Charles does not hate that person.

7. If a person is not the butler then Agatha hates that person.

8. If a person is not richer than Agatha then the butler hates that person.

9. If Agatha hates a person then the butler hates that person.

10. No person hates every person.

11. Agatha is not the butler.

W zdaniu 12 zawarte jest zapytanie, które spełnia rolę weryfikacji poprawności wprowadzonych in-formacji.

12. Who kills Agatha?

3.6.2.4 ACE

Kolejnym przykładem kontrolowanego języka naturalnego jest Attempto Controlled English.

Zawiera on wiele cech, które zbliżają go do języka programowania w logice. Jest między innymi tłuma-czony na język Prolog, który jest przykładem języka programowania w logice. Zawiera również możli-wość tworzenia zapytań w celu wydobywania informacji ze zbudowanej bazy wiedzy. Zbliżenie tech-niczne do programowania w logice powoduje, że możliwe jest wykorzystanie ACE również do obszarów badawczych związanych ze sztuczną inteligencją. Poniższy przykład przedstawia przykładową specyfikację (Fuchs and Schwitter 1996).

The customer enters a card and a personal code.

SimpleMat checks the personal code.

If the personal code is valid then SimpleMat accepts the card.

Natomiast poniżej przedstawiona jest przykładowa komunikacja użytkownika z silnikiem ACE, w opar-ciu o powyższą dokumentację:

użytkownik: john is a customer użytkownik: bank_card is a card komunikat: john enters the bank_card użytkownik: 1234 is a personal_code komunikat: john enters 1234

użytkownik: s1 is a simplemat komunikat: s1 checks 1234 użytkownik: 1234 is not valid komunikat: s1 rejects the bank_card