Textract - narzędzie do obsługi tekstowych baz danych

Popularność relacyjnych systemów zarządzania bazami danych (RDBMS) wzrosła niebywale w ostatnim dziesięcioleciu. Produkty takie jak ORACLE, INGRES, SYBASE, UNIFY, czy INFORMIX są powszechnie używane prawie w każdej dziedzinie życia. O ile jednak czas wyszukiwania danych przy zastosowaniu tej technologii jest akceptowalny przy stosunkowo niedużych zbiorach danych (do 1 GB), to jest nie do przyjęcia przy coraz częściej występujących bazach tekstowych, których wielkość pod koniec wieku dojdzie do 1 TB (1 terabajt = 1000 gigabajtów). Unikalnym narzędziem do ich obsługi jest produkt angielskiej firmy Memex, Textract, którego polska premiera odbyła się na EXPO '93 w Warszawie.

Popularność relacyjnych systemów zarządzania bazami danych (RDBMS) wzrosła niebywale w ostatnim dziesięcioleciu. Produkty takie jak ORACLE, INGRES, SYBASE, UNIFY, czy INFORMIX są powszechnie używane prawie w każdej dziedzinie życia. O ile jednak czas wyszukiwania danych przy zastosowaniu tej technologii jest akceptowalny przy stosunkowo niedużych zbiorach danych (do 1 GB), to jest nie do przyjęcia przy coraz częściej występujących bazach tekstowych, których wielkość pod koniec wieku dojdzie do 1 TB (1 terabajt = 1000 gigabajtów). Unikalnym narzędziem do ich obsługi jest produkt angielskiej firmy Memex, Textract, którego polska premiera odbyła się na EXPO '93 w Warszawie.

Tradycyjne technologie dostępu do baz danych wykorzystują klucze i indeksy. To podejście zapewnia akceptowalne wyniki jedynie przy definicji sztywnych i ograniczonych ścieżek dostępu. Problem polega na tym, że próba dostępu do danych według kryteriów nie związanych z kluczem, lub przy użyciu ścieżki dostępu, która nie została zdefiniowana wcześniej, wymaga niemożliwego do zaakceptowania czasu dostępu. Dlatego użytkownicy nie mogą w pełni wykorzystać zawartości swojej bazy danych. Kolejne problemy powstają wtedy, gdy indeksowana baza danych jest aktualizowana i wymaga ponownego posortowania pliku indeksowego.

Relacyjne bazy danych zostały stworzone po to, aby ominąć ograniczenia związane z indeksowaniem poprzez umieszczenie danych w tablicach obiektowych z przypisanymi atrybutami. Ponownie można było używać tylko ograniczonych i predefiniowanych ścieżek dostępu, a długie pola tekstowe nie mogły być przetwarzane bez wykorzystania metod indeksowych, których twórcy relacyjnych baz danych chcieli uniknąć. Im większa baza nieustrukturyzowanych danych, tym większy plik indeksowy trzeba było stworzyć, aby mieć dostęp do każdego słowa.

Ostatnio można zaobserwować próby mające na celu połączenie tych różnych technik w system dopasowany do rozproszonych, nieustrukturyzowanych i ciągle aktualizowanych baz danych, które reprezentują przeciętne zasoby danych nowoczesnych organizacji. Integracja tak nieporównywalnych technik dostępu jest możliwa jedynie drogą kompromisu we wszystkich spornych kwestiach. Jedno z takich hardware'owych rozwiązań, o nazwie "Memex Information Engine" (Motor Bazy Danych), zaproponowało Memex Information Systems. Instalacja jest możliwa m.in. na SUN-ach, DG AViiON pod kontrolą systemu operacyjnego UNIX.

Koncepcja Motoru

Czysty tekst w kodach ASCII ulega w Motorze kompresji przy użyciu super - szybkiego algorytmu, opartego na hardware'owym słowniku. Powstała w ten sposób leksykalna wersja bazy danych jest następnie segmentowana.

Inny element Motoru, N & S (Navigate and Search) tworzy zwartą mapę każdego segmentu umożliwiając wykluczenie w czasie wyszukiwania tych z nich, w których na pewno poszukiwana fraza nie występuje. Zwiększa to wielkość bazy danych o 5%, zmniejszając ilość segmentów do przeszukania średnio o 95% (co odpowiada 20-krotnemu wzrostowi szybkości). Wybrane segmenty są równolegle przetwarzane przez Motoru w celu porównania leksykalnego zapytania z leksykalną bazą.

Podejście to nie używa indeksów, a ponieważ każde słowo z bazy danych jest niezależną jednostką, nie ma żadnych ograniczeń związanych z poprawnością zapytania.

Konsekwencją tego jest niezwykle prosty sposób dodawania nowych i aktualizacja starych informacji. Obie operacje mogą być wykonane w czasie rzeczywistym i nie powodują zablokowania dostępu do bazy danych innym użytkownikom.

Dodatkową zaletą Motoru jest możliwość przechowywania i obróbki grafiki oraz ścieżek dźwiękowych, a w szczególności obrazów dokumentów odczytywanych przy pomocy OCR-ów.

Textract

Textract był pierwszym systemem używającym Motoru dla optymalizacji zarządzania ogromnymi bazami tekstowymi. Motor wraz ze specjalistycznym oprogramowaniem, modułami pamięci, buforami i płytą sterującą jest integralną częścią pakietu. Pierwszym wymogiem jakie muszą spełniać dane jest przystosowanie ich do formy rozpoznawalnej przez Motor. Osiąga się to przez wprowadzenie do tekstu kodów sterujących odzwierciedlających jego naturalną strukturę (akapity, rozdziały itp.). Ponieważ większość tekstów ASCII posiada już takie kody, to wystarczy je zamienić na kody Textracta.

Sam tekst jest kodowany. Każdy element otrzymuje kod o długości nie przekraczającej 3 bajtów. W trakcie kodowania tworzony jest zbiór słownikowy będący dla danych książką kodową. Zbiór ten wykorzystywany jest do przywracania pierwotnej formy danych w celu ich wizualnej prezentacji.

Założenie bazy danych z 1 gigabajta danych, przy pomocy Textracta zajmuje na stacji roboczej mniej niż 12 godzin. Założenie takiej samej bazy indeksowej na znacznie większym komputerze typu mainframe zajmuje ponad 3 dni. Jej wielkość przekracza wtedy 2 Gb, w przeciwieństwie do bazy Textracta, która zajmuje jedynie 0,3 Gb!

Udoskonalenia systemu

Idea Motoru, pełniącego rolę akceleratora obliczeń, powstała już w połowie lat siedemdziesiątych. Rozwój technik komputerowych powoduje jednak ciągłe unowocześnianie proponowanych rozwiązań.

Rozwój sieci komputerowych zaowocował koniecznością rozproszonego przetwarzania danych, a tym samym nową formą ich organizacji, z którą konwencjonalne systemy baz danych nie są w stanie efektywnie sobie poradzić.

Sieciowa wersja Textracta oparta jest na modelu serwer/klient, gdzie klientami są użytkownicy rezydujący w węzłach sieci, serwerem zaś jest część systemu, która jest odpowiedzialna za wyszukiwanie i zarządzanie danymi. Tak więc każdy użytkownik posiada, poprzez swój interfejs, bezpośredni dostęp do serwera, co w rezultacie jest warunkiem ujednolicającym rozproszone bazy danych. Może on przeszukiwać własne bazy danych jak i cudze, znajdujące się w innych węzłach sieci, przy pomocy Motoru zainstalowanego w danym węźle.

W wielu przypadkach w skład wielu nowoczesnych sieci komputerowych wchodzą węzły różnych producentów sprzętu. Ponieważ Textract posiada koprocesor niezależny od hardware-u, system ten może bez problemów pracować w tego rodzaju sieciach. Tak więc, w trybie przeszukiwania baz danych zainstalowanych na innych węzłach, można inicjować przeszukiwanie na jednym węźle i kontynuować je na innym, wyprodukowanym przez innego wytwórcę.

Eksploatacja danych tekstowych wydaje się być jedną z najsubtelniejszych i najbardziej złożonych dziedzin zastosowania komputerów. Rzadko zdarzają się dwa identyczne zastosowania, co wyklucza możliwość sprzedaży jednej wersji gotowego systemu. Dopasowanie całego systemu do potrzeb użytkownika odbywa się przy pomocy biblioteki AiLib, będącej zestawem standardowych podprogramów, odnoszących się do wszystkich aspektów funkcjonalnych Textracta i umożliwiającym programiście dostęp do systemu przy pomocy wewnętrznego języka programowania.

Bankowość i handel

Jedna z ważniejszych instytucji federalnych USA wykorzystuje system Textract do wyszukiwania propozycji kontraktów rządowych oraz całości dokumentacji kontraktowej. Zdaniem pracowników doprowadziło to do 50-krotnego wzrostu wydajności!

Jedna z największych firm księgowych na świecie stworzyła, w oparciu o Textract, system udzielania porad klientom. Klienci mogą uzyskać informacje na temat dowolnego aspektu działalności przedsiębiorstwa lub jego kadry kierowniczej, co jest nieocenioną pomocą przy sporządzaniu planów strategicznych.

Wojskowość i obrona

System Textract wykorzystywany jest przez armię USA do przeszukiwania danych elektronicznych, pod kątem zbierania danych wywiadowczych.

Policja

Szkockie Biuro Śledcze dysponuje nowym systemem rejestru przestępstw, którego trzonem jest Textract. Główne usprawnienie dotyczy prowadzenia śledztwa. Dane o przestępstwach są wprowadzone do systemu Textract, gdzie rezydują obok innych informacji dostarczanych przez instytucje, takie jak Komputerowy Bank Informacji Policyjnych, czy Szkockie Biuro Rejestru Przestępstw. Oficerowie śledczy mają teraz możliwość łączenia, dopasowywania i analizy informacji pochodzących z różnych źródeł, ze swobodą i szybkością nie spotykaną w innych systemach.

System został zainstalowany na komputerze SUN SPARC 4/470 i w pełnej konfiguracji będzie dostępny w 30-tu posterunkach policji na ponad 60 terminalach firmy UNISYS.

Publikatory

Jedna z głównych stacji telewizyjnych wykorzystuje Textract do wyszukiwania informacji z bazy danych zawierających opisy wideokaset tworzących taśmotekę. Stacja ta przygotowuje codzienny program dotyczący zdarzeń bieżących, w związku z czym istnieje potrzeba szybkiego dostępu do materiałów filmowych różnego rodzaju. Z uwagi na charakter programu, brak możliwości planowania przyszłych tematów decyduje o nieprzydatności systemów indeksowych. Textract natomiast umożliwia niczym nie ograniczony dostęp do materiałów filmowych, w tym także do tych, które są archiwizowane na bieżąco.

"Commerce Business Daily" jest 64-stronicową gazetą amerykańską, zajmującą się opisywaniem wszystkich kontraktów rządowych USA. Jest ona głównym źródłem informacji dla przedsiębiorstw rzemysłowych. Nowo powstała firma wykorzystuje system Textract do wyszukiwania, na zlecenie klientów, odpowiednich kontraktów. Połączenie systemu Textract z pocztą elektroniczną sprawia, że klienci dostają oczekiwaną informację dotyczącą kontraktów, w tym możliwości ich zawarcia, zanim dotrze do nich gazeta. I tak, przykładowo, klientowi działającemu w branży telekomunikacyjnej, dostarczono informację o możliwości zawarcia kontraktu z jego dziedziny, ukrytą w tekście gazety w rubryce poświęconej sprzętowi gospodarstwa domowego.

Jedna z agencji prasowych w USA wykorzystuje obecnie system Textract do dostarczania klientom wycinków prasowych na określone tematy. Textract umożliwia przeszukiwanie dużych i ciągle ozszerzających się baz danych, zawierających materiał prasowy o różnej tematyce.

Przemysł

Tworzenie i przechowywanie dokumentacji technicznej staje się coraz ważniejszym elementem procesu wytwarzania, sprzedaży i szeroko pojętej obsługi produkcji. Textract wykorzystywany jest do tych celów przez znaczną grupę liczących się na rynku przedsiębiorstw amerykańskich, w których istnieje potrzeba bezpośredniego wyszukiwania informacji, znajdującej się w dokumentacji (przemysł lotniczy, samochodowy, komputerowy).

Prawo

W USA i Wielkiej Brytanii Textract używany jest do wyszukiwania informacji prawnych. Nowo powstała brytyjska firma prawnicza, dzięki temu systemowi, zapewnia klientom szybką informację dotyczącą aktów prawnych, pozwalającą na podjęcie odpowiednich i konkretnych działań. Firma ta przechowuje również bazy danych zawierające informacje z zakresu prawa na potrzeby kilku dużych firm. W USA wiele firm wykorzystuje Textract do przechowywania baz danych zawierających całość dokumentacji dotyczącej kontraktów oraz do wyszukiwania aktualnie potrzebnych informacji. W obu przypadkach wymóg wyszukania odpowiednich słów lub sformułowań decyduje o nieprzydatności systemów indeksowych do tego rodzaju zadań.

Archiwa

W 1988 r. Agencja Rządowa USA zleciła firmie, zajmującej się integrowaniem systemów dla potrzeb rządowych, skomputeryzowanie jednej z europejskich siedzib departamentu archiwów.

Departament zatrudniający 80 pracowników-badaczy analizuje duże ilości danych źródłowych dla oszacowania trendów. Po szczegółowych badaniach, stwierdzono, że rozwiązanie w oparciu o RDBMS byłoby niepraktyczne z następujących powodów: - koszt utworzenia bazy danych, zapewniającej dostęp do każdego słowa zawartego w danych, przekroczyłby budżet przeznaczony na cały system (ok. 20 mln USD), - zawartość kart zajęłaby 12,5 GB wierszy tekstu, a niezbędne wskaźniki i klucze umożliwiające żądany dostęp - 20 GB, - różnorodność zapytań wymagałaby pracy, którą mogłoby zapewnić 40-50 jednostek centralnych VAX, - średni czas oczekiwania na odpowiedź wyniósłby 1 godz.!

Ostatecznie zdecydowano się na wykorzystanie systemu Textract. Składał się on z 9 serwerów PS2, z których na każdym zainstalowano Textract umożliwiający pracę 32 urządzeń przeszukujących. Sieć LAN obsługiwała 80 terminali do przetwarzania tekstów, uzyskiwania danych i operowania systemem.

Początkowe dane zostały wprowadzone do systemu przy pomocy czytników , a wielkość utworzonej w ten sposób bazy danych Textract'a zajmowała ok. 6 GB pamięci. System jest w stałej eksploatacji od lutego 1989 r. i udowodnił już swoją efektywność. Szybkość rozrastania się bazy wynosi ok. 1 GB rocznie i nie powoduje to żadnych strat w jakości, a czas dostępu jest zachowany i wynosi 3 sek. przy pełnym obciążeniu systemu!

Kiedy dostępny w Polsce?

Klasyczne systemy wielodostępne, operujące na bazach danych tekstowych, takie jak RDBMS czy też metoda dostępu do przekształconych zbiorów, nie mogą zapewnić efektywności dostępu do danych. Oba te systemy zawodzą w odniesieniu do kosztów, funkcjonalności i oczywiście możliwości przetwarzania. Textract wydaje się być tym systemem, który jest elastyczny, łatwy do zintegrowania z innymi narzędziami, takimi jak edytory tekstów czy zestawy znaków obcojęzycznych oraz utrzymuje moc przetwarzania niezależnie od wielkośći bazy danych i wymagań użytkownika.

Textract wraz z Motorem jest już dostępny w Polsce, ale na razie bez polskich liter. Trwają prace nad udostępnieniem standardu LATIN2. Poważniejszym problemem, dotyczącym nie tylko Textractu, ale wszystkich tekstowych baz danych, jest stworzenie komputerowego słownika języka polskiego, umożliwiającego uzyskanie formy podstawowej z każdej jednostki leksykalnej, jaka pojawi się w tekście. Aktualnie trwają zaawansowane prace na rozwiązaniem tego enfant terrible, które nie istnieje w przypadku języka angielskiego (brak fleksji).

Textract jest rozprowadzany w Polsce przez: ACSYS BUSINESS SOLUTIONS CENTER LTD (ul. Rolna 155, 02-768 Warszawa, tel./fax 43 15 01)


TOP 200