• Nie Znaleziono Wyników

Główna baza danych

W dokumencie Index of /rozprawy2/10860 (Stron 170-175)

3. BUDOWA SYSTEMU TŁUMACZĄCEGO

3.5. Główna baza danych

W systemie tłumaczącym zbudowanym w ramach niniejszej pracy zaimplementowano dwie relacyjne bazy danych: baza wiedzy językowej oraz główna baza danych. Obydwie zostały ujęte na rysunkach 14 i 15 (podrozdz. 3.1.1. i 3.1.2.), które przedstawiają architekturę systemu tłumaczącego. W bazie wiedzy językowej przechowywany jest słownik języka polskiego mieszczący w sobie zakres leksykalny

Współczesny słownik języka polskiego (Dunaj 2007). Zawarto w niej wszystkie jednostki

znaczeniowe leksemów ujętych w tym słowniku, wraz z ich odmianą fleksyjną, cechami gramatycznymi, semantycznymi oraz składniowymi. Struktura bazy wiedzy językowej jest złożona, jej opis wymagałby obszernego komentarza, na który nie ma miejsca w niniejszej pracy; najważniejsze informacje dotyczące bazy wiedzy językowej zawarto w podrozdz. 3.2.3. i rozdz. 3.4.

Więcej miejsca poświęca się natomiast omówieniu głównej bazy danych systemu tłumaczącego. Przechowuje ona dane dotyczące gestów języka migowego oraz ich animacji w technologii 3D. W trakcie tworzenia systemu tłumaczącego powstały dwie wersje głównej bazy danych: robocza i docelowa. Wersja robocza jest obszerniejsza, zawiera bowiem dodatkowo dane dotyczące sesji nagraniowych przeprowadzonych systemem motion capture; zob. podrozdz. 3.2.2. niniejszej pracy dotyczący rejestracji i obróbki gestów zarejestrowanych systemem motion capture.

A) Wersja robocza głównej bazy danych

Na strukturę głównej bazy danych w wersji roboczej składają się cztery encje:

SLOWNIK_GESTOW, UKLAD_DLONI, MIMIKA_TWARZY, JEZYK, SESJA i MIGI_EMT.

Encja SLOWNIK_GESTOW

Tabela służy do reprezentacji danych składających się na słownik języka migowego i zawiera następujące kolumny:

ID_GESTU – klucz główny;

NAZWA_LEKSEMU_GESTU – leksykograficzna nazwa gestu;

BLENDER_NAZWA_MIGU – unikalna nazwa gestu, która stanowi klucz łączący

bazę wiedzy językowej z główną bazą danych. Nazwy gestów przechowywane w tej kolumnie służą w procesie ustalenia ekwiwalencji. Struktura wyjściowa zwrócona w procesie tłumaczenia przez serwer translacji, zawiera kilka składowych dla każdej przetłumaczonej jednostki. Jedną ze składowych stanowi klucz tekstowy BLENDER_NAZWA_MIGU, który wskazuje, jaki obiekt binarny przechowujący odpowiednie koordynaty 3D, ma być pobrany z głównej bazy danych w celu oddania danej jednostki sensu w postaci animacji gestu w technologii 3D.

OPIS_TEKSTOWY – opis tekstowy gestu języka migowego w formie zdań języka

polskiego;

ANIMACJA_KOSCI – w kolumnie przechowywana jest animacja 3D danego gestu

w formie klatek kluczowych składających się z przestrzennych wartości kątowych kości modelu128 (zob. podrozdz. 3.3.10.1.);

UKLADY_DLONI – kolumna przechowująca schematy zmian układów dłoni,

charakterystycznych dla danego gestu;

MIMIKA_TWARZY – przechowuje nazwę mimiki, jeśli dany gest nacechowany jest

mimiką twarzy129. Kolumna ta pełni rolę klucza obcego, który tworzy relację z tabelą MIMIKA_TWARZY;

128 Z wyjątkiem kości dłoni, które animowane są oddzielnie.

129 Do niektórych gestów języka migowego przywiązana jest mimika twarzy. Gesty te najczęściej reprezentują słowa, które niosą z sobą pewne emocje np. "boli", "lubię", "nie lubię", "kocham" itp.

WIELOSKLADNIKOWY – jeśli gest składa się z dwu lub więcej gestów, to w polu

tym przechowywana jest sekwencja gestów składowych w postaci nazw

BLENER_NAZWA_MIGU jako gestów składowych. W takim przypadku pole ANIMACJA_KOSCI nie jest używane (powinno być puste). Zapobiega to

redundancji w bazie i rozwiązuje problem gestów złożonych. Dla każdego z pobranych składowych BLENER_NAZWA_MIGU sprawdzane jest czy nie są one złożone z innych gestów. Jeśli występuje taka sytuacja zamiast

BLENER_NAZWA_MIGU dołączane są jego składowe. Procedura ta działa

rekursywnie, aż do uzyskania łańcucha nazw składających się z BLENER_NAZWA_MIGU, które nie są wieloskładnikowe. Powstały w ten sposób łańcuch reprezentuje pojedynczy gest złożony z wielu składowych gestów130.

ZNACZENIE_MIGU – opis znaczenia migów stosowany dla gestów cechujących

się polisemią;

ID_JEZYKA – klucz obcy dla relacji z tabelą JEZYK.

Encja JEZYK

W głównej bazie danych rozróżniono podział języka migowego na PJM i SJM, który niesie z sobą różnice w znakach ideograficznych. Tabela posiada następujące kolumny:

ID_JEZYKA – klucz główny;

NAZWA_JEZYKA – nazwa języka lub systemu językowego. Wyróżnia się SJM

(System językowo migowy), PJM (Polski język migowy) lub PJM_SJM (gdy gest jest wspólny dla SJM i PJM).

Encja UKLAD_DLONI

Tabela zawiera klatki kluczowe wszystkich układów dłoni języka migowego; opisano je w podrozdz. 2.3.6. i 3.3.10.2. niniejszej pracy. W tabeli wyróżnić można następujące kolumny:

NAZWA_UKLADU – unikalna nazwa układu dłoni,

ANIMACJA_KOSCI – klatka kluczowa danego układu dłoni w postaci

przestrzennych wartości kątowych kości dłoni.

Encja MIMIKA_TWARZY

Tabela przechowuje klatki kluczowe wszystkich odkształceń twarzy, poprzez które realizowana jest animacja ruchu ust i emocje awatara (zob. podrozdz. 3.3.10.3.). Posiada ona kolumny:

NAZWA_ODKSZTALCENIA – unikalna nazwa mimiki twarzy,

ODKSZTALCENIE_MIMIKI – klatka kluczowa danej mimiki twarzy. Przechowuje

pozycje werteksów twarzy tworzące odpowiednie odkształcenie siatki twarzy.

130 "egzorcysta" = "ksiądz" + "egzorcyzm", natomiast "egzorcyzm" = "wypędzać" + "diabeł", zatem "egzorcysta" = "ksiądz" + "wypędzać" + "diabeł"

Encja SESJA

W tabeli pamiętane są sesje motion capture. Tabela składa się z następujących kolumn:

ID_SESJI – klucz główny;

NAZWA_SESJI – nazwa sesji, powinna być identyczna z nazwą pliku wyjściowego

wyeksportowanego z oprogramowania, używanego przez system motion capture do rejestracji danych. W tym przypadku jest to duży plik tekstowy o rozszerzeniu

EMT przechowujący całą sesję, który zostanie następnie automatycznie pocięty

w procesie obróbki.

Encja MIGI_EMT

Tabela przechowuje dane źródłowe dotyczące animacji gestu. Jest ona bezpośrednio powiązana z tabelami SLOWNIK_GESTOW i SESJA. Składają się na nią następujące kolumny:

ID_EMT – klucz główny;

CUT_EMT – w kolumnie przechowywana jest zawartość pliku EMT dla

pojedynczego gestu zarejestrowanego systemem motion capture. Są to surowe dane źródłowe w postaci tekstowej, które należy poddać dalszej obróbce. Po zakończeniu obróbki dane wynikowe zapisywane są do kolumny

ANIMACJA_KOSCI w tabeli SLOWNIK_GESTOW, jako gotowa animacja gestu;

START_TIME – pierwsza ramka animacji docelowej (dotyczy danych źródłowych

poddanych obróbce)131;

STOP_TIME – ostatnia ramka animacji docelowej;

ID_GESTU – klucz obcy określający relację z tabelą SLOWNIK_GESTOW.

ID_SESJI – klucz obcy definiujący relację z tabelą SESJA. B) Wersja docelowa głównej bazy danych

Struktura głównej bazy danych w wersji docelowej cechuje się mniejszą złożonością, zob. rys. 65 poniżej, przedstawiający diagram encji głównej bazy danych w wersji docelowej. Porównując go z diagramem w wersji roboczej, pokazanym na rys. 64, zauważyć można, że dla bazy docelowej usunięto tabele SESJA i MIGI_EMT oraz kolumnę VIDEO_TEMP w tabeli SŁOWNIK_GESTOW.

131 Proces automatycznego pocięcia gestów w sesji nie ustala właściwego początku i końca animacji dla gestu. Parametry te są ustalane w procesie obróbki gestów i pamiętane w bazie danych w razie potrzeby korekty lub ponownej obróbki.

Zredukowana część struktury dotyczy procesu akwizycji danych i nie jest wykorzystywana w procesie translacji i wizualizacji. Z rys. 65 widać, że tabele

SLOWNIK_GESTOW i UKLAD_DLONI są złączone relacją pośrednią. Ze względów

praktycznych nie zastosowano pomiędzy nimi tabeli asocjacyjnej. Analizując wyniki procesu translacji w języku Prolog, łatwiej je interpretować, gdy mają one formę tekstową, nie liczbową. Dlatego w procesie translacji zamiast unikalnego identyfikatora gestu

ID_GESTU używa się unikalnej nazwy gestu BLENDER_NAZWA_MIGU. Podobnie jest

z tabelami UKLAD_DLONI i MIMIKA_TWARZY. Relację wielości dla kolumny

UKLADY_DLONI w tabeli SLOWNIK_GESTOW tworzy łańcuch tekstowy przechowujący

jeden lub więcej układów dłoni odseparowanych od siebie znakiem średnika, a układy dłoni dla danego gestu uzyskuje się, dokonując parsowania tego łańcucha.

3.6. Analiza polskiego języka pisanego i synteza do

W dokumencie Index of /rozprawy2/10860 (Stron 170-175)