Czyste dane

Powszechnie znane wśród informatyków jest stwierdzenie 'garbage in, garbage out' (śmieci na wejściu, śmieci na wyjściu), oznaczające, że zawartość informacyjna baz danych nie może być lepsza niż jakość danych wejściowych do nichwprowadzonych. Firmy od lat wprowadzają do swych zasobów informacyjnych ogromne ilości danych i rzadko z nich korzystają. W efekcie próba stworzenia wyrafinowanych programów analitycznych, pozwalających na dogłębną analizę danych historycznych, często kończy się porażką po stwierdzeniu niezgodności lub sprzeczności informacji w bazie.

Powszechnie znane wśród informatyków jest stwierdzenie 'garbage in, garbage out' (śmieci na wejściu, śmieci na wyjściu), oznaczające, że zawartość informacyjna baz danych nie może być lepsza niż jakość danych wejściowych do nichwprowadzonych. Firmy od lat wprowadzają do swych zasobów informacyjnych ogromne ilości danych i rzadko z nich korzystają. W efekcie próba stworzenia wyrafinowanych programów analitycznych, pozwalających na dogłębną analizę danych historycznych, często kończy się porażką po stwierdzeniu niezgodności lub sprzeczności informacji w bazie.

Typowe błędy to różne zapisy tych samych nazwisk (czy J. Kowalski, Jan Kowalski, Jan A. Kowalski i Jan Kowolski to ta sama osoba?), nieaktualne adresy, złe numery telefonów i in. Na przykład w Warszawie w ciągu ostatnich kilkunastu lat tyle razy zmieniał się sposób nadawania numerów, że wiele firm, instytucji i osób prywatnych ma już zupełnie inne numery telefonów.

Sprawdzanie integralności danych

Zwykle wykonuje się je zarówno w momencie zapisywania danych do bazy, jak w chwili przepisywania ich np. do hurtowni danych w celu uzyskania lepszego narzędzia analitycznego. Jednakże sam fakt zgodności danych z innymi rekordami w bazie nie oznacza ich poprawności. Jeżeli dane w oryginalnej bazie nie są poprawne, błąd w danych źródłowych będzie powielony w danych pochodnych. Informatyków męczy zresztą od dawna problem usuwania dublujących się rekordów w bazach, różniących się tylko nieznacznymi szczegółami a dotyczącymi tych samych zdarzeń, obiektów czy osób. Nikomu nie udało się go rozwiązać w zadowalający sposób. Można bowiem próbować wspomagać ręcznie proces czyszczenia danych w bazie zawierającej kilka lub kilkanaście tysięcy rekordów, ale nie jest to możliwe w przypadku bazy zawierającej miliony rekordów.

Wspomaganie programowe

Problem czyszczenia danych najbardziej daje się we znaki twórcom systemów zbiorczych baz danych (hurtowni danych). Dlatego oni też pierwsi opracowali narzędzia do automatycznego wykonywania lub wspomagania tego procesu. Przykładowo, jeśli w bazie występują firmy komputerowe, to wiadomo, że każde wystąpienie skrótu DEC należy zamienić na Digital, a każde wystąpienie PowerSoft należy uzupełnić o informację "filia Sybase". Znacznie trudniejszy jest problem podobnie brzmiących nazwisk. W większości baz dostępna jest funkcja "soundex" pozwalająca na znalezienie nazw o podobnym brzmieniu, wybrania części rekordów z bazy i podjęcia co do nich decyzji przez operatora. Funkcja ta niestety nie radzi sobie z polskimi nazwiskami i nazwami, a ponadto zbliżone brzmienie nie oznacza bynajmniej, że rekordy są identyczne - konieczna jest indywidualna decyzja użytkownika.

Narzędzia do wspomagania czyszczenia danych oddają jednak nieocenione usługi, gdyż nie istnieje alternatywne rozwiązanie problemu zwiększenia wiarygodności danych. Ich operacje musi wspomagać administrator baz danych oceniający wiarygodność źródeł danych. Wymaga to jednak przeprowadzenia wstępnej analizy dokładności dostępnych baz danych i przyjęcia jednej z nich jako źródła odniesienia, do którego będą dopasowywane wszystkie pozostałe bazy.

Wybrać właściwe narzędzie

Nie istnieją uniwersalne narzędzia do czyszczenia danych. Narzędzia dostępne na rynku mieszczą się w dwóch kategoriach: produkty ogólnego przeznaczenia do użycia w całej bazie i produkty do weryfikacji danych osobowych. Większość z nich należy do kategorii narzędzi ogólnego przeznaczenia. Dwa z nich są dostępne na polskim rynku. opracował narzędzie o nazwie Orlando, stanowiące część oferty SAS Data Warehousing, przeznaczone do czyszczenia danych. Podobne narzędzie o nazwie InfoRefiner oferuje Platinum Technology. Inne narzędzia wymieniam w ramce na końcu artykułu w nadziei, że na łamach CW ujawni się ich polski przedstawiciel - jeżeli istnieje.

Produkty do weryfikacji danych osobowych i adresów są ściśle związane z lokalnymi nazwiskami i sposobem formatowania adresów oraz zależą mocno od dostępności bazy nazwisk, nazw miejscowości i tabeli kodów pocztowych. Mogą więc mieć zastosowanie jedynie lokalne. W tabeli jest to produkt firmy Postalsoft.

Opracować własne narzędzie

Enterprise Integrator firmy Apertus i Integrity Data Re-engineering Tool firmy Validity są to właściwie narzędzia programistyczne do opracowania własnych aplikacji do czyszczenia danych. Enterprise Integrator korzysta z języka Object Query Language w celu podania reguł do czyszczenia danych. Integrity Data Re-engineering Tool korzysta z logiki rozmytej (fuzzy logic) w celu uzyskania dużej zgodności danych i znajdowania zależności, których nie jest w stanie wykryć człowiek. Obydwa narzędzia są trudne w użyciu i wymagają intensywnego szkolenia do efektywnego ich użycia.

Drogo i długo

Czyszczenie danych jest procesem długotrwałym i kosztownym. Wymaga zaangażowania wybitnych specjalistów-praktyków do określenia reguł weryfikacji, programistów o wysokich kwalifikacjach zawodowych oraz wielu osób do weryfikacji danych odrzuconych przez programy wspomagania. Same narzędzia także kosztują dużo: typowe ceny liczone są w setkach tysięcy dolarów.


TOP 200