Instrukcja


Wprowadzenie

Korpusomat jest prostą aplikacją webową służącą do tworzenia oznakowanych fleksyjnie korpusów tekstów, z których można korzystać za pomocą wyszukiwarki Poliqarp. Aplikacja w zasadzie nie stanowi nowego narzędzia informatycznego, a jedynie łączy narzędzia, które powstały przed laty lub wciąż są rozwijane w Zespole Inżynierii Lingwistycznej Instytutu Podstaw Informatyki PAN. Zasadniczym celem Korpusomatu jest udostępnienie wyników działań tych narzędzi bez konieczności szczegółowego poznawania technicznej strony ich działania, co do tej pory nie było możliwe.

Na działanie Korpusomatu składają się:

Dwa pierwsze z programów, czyli Morfeusz i Concraft, są wciąż rozwijane i ich nowsze wersje będą sukcesywnie włączane do Korpusomatu. Poliqarp jest zaś wyszukiwarką stworzoną pierwotnie na użytek Korpusu IPI PAN, poprzednika Narodowego Korpusu Języka Polskiego, i obecnie nie jest już rozwijany, jest jednak wciąż wykorzystywany w wielu projektach.

Poniżej przedstawiamy zwięzłą instrukcję korzystania z Korpusomatu.

Tworzenie korpusu

Korzystanie z Korpusomatu należy rozpocząć od rejestracji, czyli założenia konta użytkownika, w ramach którego będzie można zarządzać tworzonymi korpusami. Do założenia konta wystarczy podanie adresu e-mail i hasła użytkownika.

Po zalogowaniu się na koncie można rozpocząć tworzenie korpusu (odnośnik Nowy korpus w menu). Należy wybrać dla niego nazwę i kliknąć przycisk Utwórz. Nowy korpus pojawi się na liście wszystkich korpusów użytkownika wraz z informacją o liczbie dodanych do niego tekstów (na początku oczywiście 0) oraz jego stanem (Nowy). W tym miejscu można też w przyszłości usunąć korpus, jeśli nie będzie już potrzebny. Ponadto, po dodaniu do korpusu tekstów w pozostałych kolumnach pojawi się również informacja o ich liczbie i łącznej wielkości korpusu liczonej w segmentach.

Nazwa korpusu jest linkiem, po kliknięciu którego można rozpocząć dodawanie tekstów. W prawym dolnym rogu znajdują się trzy ikony służące go kolejno od dołu: do dodawania tekstów do korpusu, generowania jego binarnej postaci i pobierania gotowego archiwum na własny komputer. Korpusomat przetwarza pliki tekstowe (txt) oraz większość innych formatów służących do przechowywania danych tekstowych (np. epub, mobi, doc, rtf czy pdf – pełna lista możliwych formatów dostępna jest pod adresem http://tika.apache.org/1.13/formats.html). Narzędzia, z których korzysta, wymagają stosowania kodowania UTF-8, jeśli jednak użytkownik prześle plik w innym stosowanym dla języka polskiego kodowaniu, np. ISO-8859-2 czy CP-1250, Korpusomat automatycznie skonwertuje je do kodowania UTF-8 na swój wewnętrzny użytek.

Dodanie tekstu do korpusu polega na wskazaniu pliku z tekstem źródłowym znajdującego się na komputerze użytkownika lub podaniu adresu URL do dokumentu znajdującego się na innym serwerze, który następnie zostanie przesłany do Korpusomatu, opatrzony wprowadzonymi przez użytkownika podstawowymi informacjami o autorze, tytule oraz roku wydania i gatunku tekstu. W przypadku formatów epub i html aplikacja spróbuje sama wstępnie wypełnić przynajmniej część pól metadanych, jeśli uda jej się wydobyć je z oryginalnego dokumentu. W przypadku plików txt aplikacja również może spróbować wypełnić część metadanych na podstawie nazwy pliku. Dane te użytkownik może oczywiście skorygować lub wypełnić ręcznie, jeśli nie zostaną wypełnione automatycznie.

Po kliknięciu przycisku Dodaj plik zostanie dodany do korpusu i od razu rozpocznie się jego automatyczna analiza fleksyjna i ujednoznacznianie (jego stan będzie oznaczony jako Trwa przetwarzanie). Czas przetwarzania przeciętnej wielkości książki o objętości ok. 80-100 tys. słów powinien wynieść około 2-3 minut, choć częściowo zależy to również od aktualnego obciążenia serwera. Obecnie maksymalny czas przetwarzania pliku wynosi 10 minut – zadania dłuższe zakończą się niepowodzeniem.

Do Korpusomatu można przesłać więcej niż jeden plik na raz — w oknie wybierania plików z dysku użytkownika wystarczy przytrzymać lewy przycisk Ctrl na klawiaturze, co umożliwi wybranie wielu plików. Wszystkie pliki zostaną przesłane i dla każdego z nich wyświetlą się osobne pola na metadane.

Kiedy przetwarzanie dodanych do korpusu tekstów zostanie zakończone, aktywny stanie się przycisk Wygeneruj korpus binarny (w prawym dolnym rogu ekranu), którego należy użyć, gdy do korpusu zostaną dodane już wszystkie teksty, które miały do niego trafić. Jego kliknięcie spowoduje, że Korpusomat wcześniej przetworzone dane skompiluje do postaci binarnej, czytelnej dla wyszukiwarki Poliqarp. Po chwili korpus będzie gotowy do pobrania i przycisk Pobierz korpus binarny stanie się aktywny. Po jego kliknięciu będzie można pobrać archiwum zip z korpusem — i na tym zadanie samego Korpusomatu w zasadzie się kończy.

Nawet po wygenerowaniu postaci binarnej ciągle można edytować korpus, czyli usuwać lub dodawać do niego teksty. Należy jednak pamiętać, by po takiej operacji ponownie wygenerować binarną postać korpusu, inaczej przy próbie pobrania ściągnie się jego stara wersja.

Korzystanie z korpusu

Dalsza praca z korpusem odbywa się już poza Korpusomatem, na komputerze użytkownika. W tym celu należy zainstalować wyszukiwarkę korpusową Poliqarp, najlepiej w wersji 1.3.13, czyli najnowszej dostępnej. Pliki instalacyjne można pobrać ze strony http://clip.ipipan.waw.pl/Poliqarp

Użytkownicy Windows powinni pobrać plik poliqarp-1_3_11.zip i zainstalować program w standardowy sposób. Jeśli na komputerze nie jest zainstalowane środowisko Java, również należy je zainstalować, przechodząc na stronę internetową firmy Oracle proponowaną przez instalator i postępując zgodnie z instrukcjami pojawiającymi się na stronie. Jeśli na komputerze było już wcześniej zainstalowane środowisko Java, to Poliqarp powinien być od razu gotowy do pracy. Program można uruchomić za pomocą pliku run.bat.

Użytkownicy Linuksa mogą pobrać z repozytorium plik poliqarp_1.3.13.tar.gz, rozpakować i uruchomić na komputerze lub zainstalować pakiety deb, jeśli korzystają z dystrybucji Debian lub pochodnej (np. Ubuntu). W tym drugim wypadku należy pobrać i zainstalować pakiet poliqarp-base_1.3.13_i386.deb lub poliqarp-base_1.3.13_amd64.deb w zależności od tego, czy użytkownik korzysta z komputera z procesorem 32- czy 64-bitowym. Oprócz tego należy również zainstalować pakiet poliqarp-gui_1.3.13_all.deb, jeśli użytkownik chce, by wyszukiwarka działała w trybie graficznym (możliwe jest jednak przeszukiwanie korpusu za pomocą Poliqarpa również w trybie konsoli tekstowej). Pakiet z interfejsem graficznym wymaga zainstalowania środowiska Java (Runtime Java Environment), które należy zainstalować zgodnie z wymaganiami swojej dystrybucji Linuksa.

Po uruchomieniu Poliqarpa wystarczy załadować pobrany i rozpakowany uprzednio korpus, wybierając z menu Plik pozycję Otwórz korpus i wskazując katalog, w którym się znajduje. Od momentu załadowania korpusu można go przeszukiwać za pomocą takiego samego języka zapytań, jaki dostępny jest w webowej wyszukiwarce Poliqarp dla NKJP, a zatem można się posiłkować opisem języka zapytań zamieszczonym na stronie NKJP. Oprócz prostych zapytań o wyszukanie konkretnych słów, można również wykorzystywać znakowanie fleksyjne, np. znaleźć wszystkie wystąpienia form rzeczownikowych o rodzaju żeńskim, wpisując zapytanie: [pos=subst & gender=f]. Należy oczywiście pamiętać, że automatyczne znakowanie fleksyjne nie jest bezbłędne. Język zapytań stosowany w NKJP pozwala również odwoływać się do metadanych o tekstach wpisanych przez użytkownika na etapie budowania korpusu

Ponadto, Poliqarp od wersji 1.1. ma również wbudowany moduł statystyczny, który rozszerza nieco język zapytań wyszukiwarki i pozwala na łatwe gromadzenie pewnych danych statystycznych z korpusu. Niestety, moduł ten nie został włączony do webowej wersji Poliqarpa wykorzystywanej w NKJP i m.in. dlatego jest dość słabo udokumentowany. Stosunkowo najlepszy opis możliwości tego modułu można znaleźć na stronie Poliqarpa 1.1 (niestety, tylko po angielsku). Za jego pomocą można np. stworzyć listę frekwencyjną wszystkich rzeczowników w korpusie, wpisując zapytanie:

[pos=subst] group by base sort by freq count all