Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej PRACA DYPLOMOWA INŻYNIERSKA DYPLOMANT: Michał Szymakowski PROMOTOR: dr inż. Robert Bucki Symulator lingwistyczny do nauki i testowania wybranych elementów języka
Wprowadzenie: Lingwistyka komputerowa jest dyscypliną naukową łączącą zagadnienia lingwistyczne (językowe) oraz informatyczne. Należy do nauk kognitywnych operujących w obszarze sztucznej inteligencji (modele informatyczne ludzkiego poznawania). Jest związana z aspektami informatycznymi języka ludzkiego, wykorzystuje komponenty teoretyczne oraz dokonuje automatyzacji języków naturalnych.
Wprowadzenie: Nauka ta bada język naturalny z punktu widzenia potrzeb i możliwości przetwarzania tekstów. Do tego celu wykorzystuje komputery. Istniejące obecnie programy i portale internetowe związane z zagadnieniem lingwistyki komputerowej służą do nauki języka obcego. W procesie nauczania natomiast ważnym elementem jest testowanie zdobytej wiedzy.
Geneza pracy: W procesie nauczania języka obcego bardzo ważny jest dobór odpowiedniego materiału tekstowego, na podstawie którego mogą być przeprowadzane testy. Często stosowanym elementem w nauce i testowaniu języka jest metoda uzupełniania luk w tekście. Polega ona na wyjęciu z tekstu danej grupy wyrazów, w celu uzupełnienia powstałych pustych miejsc przez uczącego się.
Geneza pracy: Powstaje tutaj jednak problem dla przygotowującego testy. Mianowicie, jeśli chce on testować na podanym tekście daną grupę wyrazów to wcześniej musi: sprawdzić istnienie wyrazów, które mogłyby być przedmiotem testowania, sprawdzić liczbę wyrazów dostępnych do testowania, wyjąć w teście takie wyrazy spośród danej grupy wyrazów, aby zachować przejrzystość tekstu. Widać stąd, że nie każdy materiał tekstowy nadaje się do testowania danego elementu językowego.
Cel pracy: Celem pracy było stworzenie programu, służącego do: nauki wybranych elementów języka obcego, tworzenia układu testowego z wykorzystaniem algorytmu poszukiwania najlepszego rozwiązania pod względem zadanego kryterium rozmieszczenia wyrazów testowych, testowania elementów językowych (np. przedimków, przyimków, czasowników nieregularnych itp.) oceniania wyniku testu komputerowego, realizacji podstawowych funkcji administracyjnych, gromadzenia wyników w internetowej bazie danych.
Analiza podejść: W obecnej chwili spotkać można wiele systemów wspomagających naukę języka obcego jak strony internetowe, zawierające krótkie testy umożliwiające interaktywne sprawdzenie wiedzy lub różnego rodzaju słowniki komputerowe posiadające ogromną bazę wiedzy, dzięki której szybko i sprawnie można znaleźć interesujące zagadnienie. Bardzo intensywnie rozwijają się systemy zdobywania wiedzy poprzez sieć Internet. Obecnie na rynku znaleźć można nowe jak i modernizowane multimedialnych systemy umożliwiające wspieranie nauki języka obcego.
Opis programu: Program został zaprojektowany do pracy w trzech modułach. Do pierwszego modułu dostęp ma tylko osoba zarządzająca testami i pozostałymi użytkownikami. Jest to moduł administracyjny służący do tworzenia testu, ustalania skali ocen oraz przydzielania testów dla danych grup użytkowników.
Opis programu: Drugi to moduł nauki, w którym prezentowane są materiały tekstowe z wybranymi elementami językowymi. Osoba ucząca się ma możliwość sprawdzania poprawności rozwiązywanych zadań.
Opis programu: Ostatni, trzeci moduł – testowania – przedstawia osobie testowanej zadania, które należy rozwiązać wpisując w wolne miejsca tekstu brakujące wyrazy.
Budowa programu: Logowanie Moduł nauki (osoby uczące się) Moduł testowania (grupa osób testowanych) Moduł administracyjny (lektor, nauczyciel)
Moduł administracyjny: Główne zadanie Administratora to tworzenie testów, opartych na uzupełnianiu luk w tekstach. Ponadto moduł administracyjny umożliwia zarządzanie testami oraz użytkownikami. Administrator ustala także skalę ocen, dodaje materiały tekstowe, definiuje elementy językowe oraz przypisuje testy do grup użytkowników. Wszyscy użytkownicy tego narzędzia lingwistycznego muszą zostać przypisani do danej grupy.
Moduł nauki: Użytkownik przechodzi do modułu nauki po zalogowaniu się do grupy i wybraniu swojego imienia i nazwiska z listy użytkowników danej grupy. Jeśli na wspomnianej liście nie ma danych, osoba ucząca się korzysta wcześniej z opcji dodawania nowego użytkownika. Po wpisaniu swoich danych osoba przechodzi do modułu nauki. Wybierając opcje Learn osobie uczącej się przedstawiony zostaje materiał tekstowy z brakującymi elementami językowymi. Poniżej występują usunięte wyrazy z tekstu. Osoba ucząca się ma możliwość prześledzenia materiału tekstowego.
Moduł testowania: Jest to moduł służący do przeprowadzania testów na grupie użytkowników. Osoba testowana loguje się do przypisanej grupy, a następnie podaje swoje dane tj.: imię, nazwisko i numerem identyfikacyjnym (np.: index). Dane zostają zapisane do bazy danych, dzięki czemu osoba testowana nie musi ich powtarzać przy kolejnym logowaniu. W programie dostępne jest tylko menu Student. Należy z niego wybrać opcje Test.
Użyte narzędzia informatyczne: Język C++ Borland C++ Builder SQL FireBird
Środowisko działania aplikacji: Do poprawnego działania symulator do nauki i testowania wybranych elementów językowych wymaga systemu operacyjnego MS Windows w następujących wersjach: Windows NT, Windows 98 SE, Windows 2000, Windows XP.
Wnioski: Podstawowym zamierzeniem niniejszej pracy było stworzenie programu lingwistycznego, który pozwalałby na szybkie tworzenie testów opartych o metodę uzupełniania wyjętych elementów językowych z tekstu. Postawiony cel został osiągnięty, a powstały program ma uniwersalne zastosowanie. Pozwala na tworzenie testów na języku angielskim i wielu innych językach.
Wnioski: W ramach niniejszej pracy dokonano: przeglądu istniejących programów nauki i testowania wiedzy z zakresu języka angielskiego, opracowano projekt programu zrealizowano projekt mogący mieć praktyczne zastosowanie. Znaczna część mechanizmów dotyczących pracy systemu została oparta na sprawdzonych i używanych powszechnie algorytmach oraz sposobach kontroli i weryfikacji wiedzy.