www.szukacz.pl

O Szukaczu, polskiej wyszukiwarce internetowej, z Mieczysławem Prószyńskim, jednym z jej twórców, rozmawia Michał Miś

Michał Miś: Skąd wziął się Szukacz?

Mieczysław Prószyński: O tym, że chcę szukać Szukaczem, zacząłem myśleć na początku 1999 roku, jakieś pół roku po pojawieniu sie Google'a. Bo chociaż Google wtedy dopiero raczkował, i tak był o klasę lepszy od pozostałych wyszukiwarek – AltaVisty, Infoseeka i kilku innych, o których dzisiaj już nikt nie pamięta.

W Polsce najpopularniejszą wyszukiwarką był w tym czasie Polski Infoseek. Chodził on na serwerze Interdyscyplinarnego Centrum Modelowania Matematycznego i Komputerowanego na Uniwersytecie Warszawskim i miał w swojej bazie dwa miliony polskich stron. W ramach bezpłatnej licencji wolno mu było było ściągać tylko dokumenty z witryn, których nazwy kończyły się na "pl". Ten program przypominał czarną skrzynkę. Działał, ale w zasadzie to nic w nim zmienić nie było można.

Nasze ówczesne dwa portale – Onet i Wirtualna Polska – nie miały jeszcze wtedy własnych wyszukiwarek. Więc wszyscy korzystali z Polskiego Infoseeka. A ja widziałem wyraźnie, jak Google bije go na głowę. Postanowiłem więc stworzyć coś równie dobrego, lecz jednocześnie dostosowanego do naszego języka.

Od samego początku nie miałem wątpliwości, że wyszukiwarka internetowa stanie się podstawowym narzędziem pracy nie tylko dla entuzjastów internetu, lecz także dla zwykłych śmiertelników, czyli dla nas wszystkich. Minęło kilka lat i już się tak stało, już jest takim narzędziem.

I dzisiaj, sześć lat później, nadal uważam, że w wyścigu poskojęzycznych wyszukiwarek wygra ta, którą będzie można cały czas lokalnie poprawiać i udoskonalać.

W czym Google był lepszy od innych wyszukiwarek?

Nie tylko był. Nadal jest. Po prostu daje lepsze odpowiedzi. I w dodatku szybko je daje.

Google od samego początku był bardzo szybki. Jego twórcy jako pierwsi wpadli na pomysł, aby jeśli pytanie składa się z więcej niż jednego słowa, to słowa te łączyć domyślnie spójnikiem "i", a nie – jak inne ówczesne wyszukiwarki – za pomocą "lub". Przez długi czas nie można było w ogóle zadać Google'owi pytania z "lub" w środku; teraz już można, ale nadal standardem w jest spójnik "i".

No i od samego początku Google faworyzował dokumenty, w których w takim przypadku szukane słowa były bardzo blisko siebie. To też było coś nowego.

Czy Szukacz może być lepszy od Google'a?

Tak. Takie narzędzia można porównywać na wiele sposobów. W niektórych kategoriach możemy być dużo lepsi. A to, że jednocześnie będziemy nieco gorsi w innych, nie musi aż tak przeszkadzać.

Google na przykład nie pozwala na maskowanie końcówek słów w pytaniu. W języku angielskim nie jest to bardzo istotne, gdyż jedyną ważną końcówką jest "s", oznaczające liczbę mnogą rzeczownika. W języku polskim jest inaczej. Rzeczowniki i czasowniki mają bardzo różne końcówki fleksyjne. Dobrze byłoby sobie jakoś z tymi końcówkami radzić. Zadając pytanie Google'owi, ograniczamy się zwykle do rzeczowników w mianowniku liczby pojedynczej lub mnogiej. Ale w Szukaczu – proszę bardzo – prawie od samego początku można pominąć końcówkę słowa, zastępując ją gwiazdką. To bardzo prosty i wydajny sposób.

Kilka tygodni temu dodaliśmy Szukaczowi nowy sposób pracy: "z fleksją". W tym trybie Szukacz uwzględnia fakt, że szukane wyrazy mogą mieć inne końcówki fleksyjne, i szuka dokumentów, w których słowa z pytania mają także te inne końcówki. Np. dla pytania-frazy "Ala ma kota" w tym trybie znajdzie także dokumenty zawierające frazę "Ala miała koty", ale też i frazę "Ali mieć kot".

Użytkownicy Szukacza prosili nas, aby można było przeszukiwać polskie teksty "z dokładnością" do polskich znaków diakrytycznych. Chodzi o to, aby Szukacz dla pytania Prószyński znajdował także dokumenty w których brak niektórych znaków diakrytycznych, np. jest Proszynski lub Proszyński. Dodaliśmy więc taki tryb pracy. Nazywaliśmy go "bez diakrytów". Jest dość przydatny, gdy np. szuka się dokumentów ze słowem typu łódź, biorąc pod uwagę wszystkie możliwe kombinacje literówek.

Inne pole, na którym Szukacz może być – i już jest – lepszy, to odfiltrowywanie treści "tylko dla dorosłych". Chodzi tu o to, aby na liście trafień nie pojawiały się dokumenty o zawartości pornograficznej i obscenicznej. Google nieźle radzi sobie z witrynami anglojęzycznymi, ale z polskimi tak sobie. My zaś radzimy sobie doskonale, bo korzystamy z własnych algorytmów, które mozolnie budowaliśmy metodą prób i błędów.

Jakie były początki Szukacza?

Zaczęliśmy od szukania czegoś gotowego, co dałoby się łatwo dostosować do naszych warunków. Potrzebowaliśmy pilnie czegoś, czym moglibyśmy przeszukiwać nasze własne witryny. Przetestowaliśmy kilka istniejących programów, zmarnowaliśmy dużo czasu próbując je poprawić i przerobić. I za każdym razem dochodziliśmy do wniosku, że najprościej byłoby napisać wszystko od początku. Widzieliśmy wyraźnie, że rozwiązania, które dobrze służą podczas przeszukiwania kilku lub kilkudziesięciu tysięcy dokumentów, nie sprawdzają się dla milionów. Te próby zajęły nam cały 1999 rok. W końcu zdecydowaliśmy się napisać wszystko własnoręcznie.

Z jakich elementów składa się Szukacz?

Ze zbieracza, indeksera i odpowiadacza. Ten ostatni moduł to właściwy "silnik" Szukacza. Tylko on pracuje w czasie rzeczywistym. O pierwszych dwóch mówi się, że pracują "off line".

Zbieracz, upraszczając rzecz odrobinę, "chodzi" sam po sieci (dlatego nazywany jest robotem), korzystając z linków, na które natrafia, i zbiera strony-dokumenty, do których dotrze. A co znajdzie i uzna za warte zachowania, wkłada do naszego lokalnego archiwum. Działa bardzo sprawnie. Zbiera i archiwizuje nieco ponad milion stron dziennie.

Jakie cechy musi mieć dobry robot?

Po pierwsze musi działać w bezpieczny sposób. Nie powinien obciążać serwerów, z których pobiera strony. Nie powinien utrudniać dostępu innym użytkownikom. Nie wolno mu zawiesić cudzego serwera. To najważniejsze.

Po drugie powinien umieć wyciągnąć strony z serwerów nietypowych lub źle skonfigurowanych. Musi dać sobie radę ze stronami i całymi witrynami tworzonymi niestandardowo. Pomysłowość ludzka nie zna granic. Jeśli coś typowego można zrobić inaczej, to na pewno kilka osób już na to wpadło i to zrobiło. Do bardzo dziwnych, niekonwencjonalnych rozwiązań trzeba dodać jeszcze najzwyklejsze błędy. Zbieracz musi sobie z tym wszystkim poradzić przynajmniej w takim stopniu, aby innym użytkownikom takiego serwera czy witryny nie utrudnić życia.

A pozostale dwa moduły?

Najważniejszy jest oczywiście odpowiadacz, czyli silnik wyszukiwarki. To właśnie ten silnik odpowiada na pytania użytkowników. Jeśli nie odpowie dostatecznie szybko, to choćby był najlepszy, użytkownik znudzi się czekaniem i pójdzie sobie gdzieś indziej.

Natomiast indekser przygotowuje dane, z których korzysta odpowiadacz. Przygotowuje je tak, aby odpowiadacz mógł na pytanie odpowiedzieć jak najszybciej. Te dane to przede wszystkim indeksy odwrotne słów z dokumentów.

Indekser to w rzeczywistości cały zestaw programów. Jeden z nich decyduje na przykład, które dokumenty wyjąć z archiwum i włączyć do kolekcji, a których nie warto. Inny usuwa duplikaty, nawet jeśli pochodzą z innej witryny. Kolejny przypisuje dokumentom indywidualne wagi. Jeszcze inne program wyjmują z dokumentów słowa i budują słowniki, a następnie owe indeksy odwrotne dla odpowiadacza.

Zabawa w odpowiadanie to zabawa z dużymi zbiorami danych. Te indeksy odwrotne to duże pliki. Komplet danych, jakie są potrzebne, aby Szukacz mógł odpowiadać na polskie pytania, to dzisiaj 300 gigabajtów. Ponieważ w kolekcji polskiej mamy 26 miliony dokumentów, wychodzi po 11,5 gigabajta danych na milion dokumentów.

Wpisuję do szukacza sformułowanie "Prawo Archimedesa". Wciskam przycisk "Szukaj". Co dzieje się do momentu, gdy na ekranie zobaczę odpowiedź?

Pytanie jest najpierw analizowane przez parser Szukacza, który sprawdza, czy nie ma w nim błędów. Parser to przede wszystkim analizator składni. Takim błędem byłby na przykład niezamknięty cudzysłów. Jeśli znajdziemy taki błąd, to informujemy użytkownika, że coś z tym pytaniem jest źle. Sprawdzamy też, z ilu słów pytanie się składa. Jeśli z więcej niż jednego, to sprawdzamy, czy mamy szukać frazy (czy słowa są zamknięte w cudzysłowie), czy raczej kilku niezależnych słów. Jeśli to drugie, to czy mają być one wszystkie obecne w dokumencie, czy wystarczy, aby były w nim tylko niektóre. Sprawdzamy też, czy któreś ze słów nie kończy się gwiazdką.

Następnie w indeksach odwrotnych sprawdzamy, w jakich dokumentach te słowa występują. Dla każdego słowa, na jakie natrafiliśmy w czasie budowy kolekcji, trzymamy w tych plikach informacje o tym, w jakich dokumentach ono występuje i na jakich pozycjach (w jakiej odległości od początku dokumentu). Wąskim gardłem jest odczytywanie tych danych z twardego dysku. To trwa, bo głowica dysku musi się przemieścić. Pliki te są oczywiście o wiele za duże, aby trzymać je w pamięci operacyjnej. Radzimy sobie z tym, dzieląc kolekcję na części i trzymając jej fragmenty na różnych dyskach. Te dyski mogą być na tym samym komputerze (i jest szybciej) lub na kilku różnych (jeszcze szybciej).

Procesowanie równoległe?

Tak. I to na dwóch poziomach. Nad odpowiedzią na jedno pytanie może u nas pracować jednocześnie kilka serwerów. Ale każdy z nich może także w tym samym czasie odpowiadać na inne pytania zadane przez innych użytkowników. W sumie nasz system odpowiadający składa się teraz z siedmiu dwuprocesorowych serwerów. I bez trudu możemy w dowolnej chwili dostawić następne. To wielka zaleta własnego oprogramowania.

Jakie procesory i jakie systemy operacyjne?

Procesory bardzo różne: od Pentium III, przez Xeony i Athlony MP 2600+, aż do Opteronów 250. A system operacyjny to różne wersje Windows z platformą .Net.

Ale wróćmy do naszego pytania o prawo Archimedesa. Z cząstkowych odpowiedzi tworzymy listę wszystkich dokumentów, w których występują szukane słowa. I teraz zaczyna się etap najtrudniejszy. Budując tę listę, sortujemy ją jednocześnie w taki sposób, aby na jej czele mieć dokumenty najlepsze, najbardziej "na temat". To jest najczulszy punkt całej tej zabawy. Chcielibyśmy, aby użytkownik na pierwszej stronie naszej listy trafień dostał dokumenty, których szuka. Cały czas więc szlifujemy i dopieszczamy algorytmy, które porządkują listę trafień. Od tego zależy, czy wyszukiwarka jest tylko dobra, czy wprost rewelacyjna.

Waga przypisywana dokumentowi zależy m.in. od tego, czy szukane słowa występują w jego tytule lub nazwie witryny, czy nie. Zależy także od tego, czy ten dokument to strona główna witryny, czy podrzędna. Wreszcie podczas ważenia bierzemy pod uwagę, czy pochodzi on z dobrej witryny, do której prowadzi wiele linków z innych witryn i która jest wymieniana w różnych ręcznie robionych katalogach.

I odpowiedź jest gotowa?

Jeszcze chwila. Gdy już znaleźliśmy te 10, 20 czy 50 najlepszych dokumentów, a więc mamy to, co ma znaleźć się na naszej liście trafień, sięgamy do zawartości tych dokumentów. Tę zawartość mamy dla każdego dokumentu przygotowaną w mocno przetworzonej postaci. Odszukujemy w niej słowa z pytania i wyjmujemy otaczające je fragmenty. I właśnie te fragmenty – z szukanymi słowami zaznaczonymi na czerwono – pokazujemy na liście trafień bezpośrednio pod tytułem dokumentu. Robimy to, aby ułatwić życie zadającemu pytanie. Zwykle rzut oka na taki fragment wystarcza, aby stwierdzić, czy kontekst, w jakim szukane słowo występuje, jest właściwy, a więc czy warto do tego dokumentu zaglądać.

Tutaj widać przewagę wyszukiwarki budowanej lokalnie. Możemy to zrobić, bo wszystkie elementy tej układanki mamy w ręku i tylko od nas zależy, z czego skorzystamy, a z czego nie.

Nie bardzo widzę te przewagi. Google dominuje na całym świecie, także w Polsce...

Będę się bronił. I będę bronił Szukacza.

Wróćmy do polskiego kolorytu. Rzeczowniki w języku polskim podlegają deklinacji, a czasowniki koniugacji. Czyli wracamy do końcówek fleksyjnych. Google sobie z nimi prędko nie poradzi. Z perspektywy Google'a rynek polskojęzyczny jest za mały, by się nim zajmować w jakiś specjalny sposób. W końcu są inne, większe i ciekawsze...

A my już dzisiaj mamy zupełnie niezły moduł fleksyjny. I jeśli użytkownik sobie tego życzy, może szukać "z dokładością" do końcówek. W naszym słowniku fleksyjnym mamy pełną odmianę 20 tysięcy wyrazów. Nie to jednak jest istotne. Znacznie ważniejsze jest to, że mamy w nim również odmianę 10 tysięcy wyrazów, które najczęściej pojawiają się w pytaniach zadawanych Szukaczowi.

A w przyszłości osoba, zadająca pytanie Szukaczowi, będzie się dowiadywać, jakie są wyrazy bliskoznaczne do tych z pytania, żeby je ewentualne do pytania dodać, w jakich związkach frazeologicznych te słowa występują i jakie inne słowa najczęściej pojawiają się koło nich w polskich tekstach. Wszystko po to, by ulepszyć lub uszczegółowić pytanie. A w rezultacie, aby szybciej znaleźć to, czego się szuka.

Jak w porównaniu do Google'a ocenia Pan wartość Szukacza, jako narzędzia do przeszukiwania "polskiego internetu"?

Szukacz na takie samo pytanie daje częstokroć nieco więcej odpowiedzi niż Google, bo ma w swojej kolekcji więcej polskojęzycznych stron. Jednak nie to jest najważniejsze.

To, co liczy się przede wszystkim, to dobre odpowiedzi, czyli trafienia zawierające sensowne informacje. I tu jest wielka szansa dla nas. Google zbiera strony z całego świata, przygotowane w najróżniejszych językach. Robi to całkowicie automatycznie. Z tych stron równie automatycznie wybiera podzbiór polski. My zaś możemy poświęcić znacznie więcej uwagi, a także czasu, na analizowanie tego wszystkiego, co istnieje w polskim internecie, bo dla nas ten podzbiór to przecież główny obszar działania. W rezultacie sporo prac robimy ręcznie. Znacznie głębiej docieramy do wnętrza różnych archiwów, w szczególności zaś do archiwów prasowych.

Mamy w swoich zbiorach zawartość encyklopedii PWN; serwujemy z niej ponad 60 tysięcy haseł. Mamy 57 tysięcy notek o filmach polskich z archiwum łódzkiej Filmówki. I to tylko fragment tego, co jest w naszej kolekcji polskiej. Do tych wszystkich zbiorów nie można dotrzeć automatycznie. To znaczy można, ale tylko do ich stron głównych i pojedynczych fragmentów, do których prowadzą jakieś przypadkowe linki ze świata zewnętrznego. A w naszej kolekcji polskiej mamy komplet, co wymagało ręcznej dłubaniny, a często także proszenia właściciela o zgodę na to, aby nasz zbieracz mógł wejść do archiwum i ściągnąć całą jego zawartość.

Google nie jest jedyną wyszukiwarką, z jaką Szukacz konkuruje w Polsce...

To prawda. Jest konkurencja: Ultraseek w Onecie, NetSprint w Wirtualnej Polsce i na własny rachunek, szczątkowo AltaVista w Gazecie. Interia też miała lokalnie silnik ALtaVisty, ale ostatnio zaczęła kupować wyniki z Google'a.

I bardzo dobrze, że jest konkurencja. Mamy wszak wolny rynek. To użytkownik zdecyduje, z czym mu najbardziej po drodze. Jeśli będzie kilka równie dobrych wyszukiwarek, to pewnie zostanie kilka. A teraz najciekawsze. Owych dokumentów anglojęzycznych mamy "tylko" 46 milionów. Jakże to mało wobec 8 miliardów stron Google'a. Lecz proszę spróbować czegoś poszukać w naszej kolekcji "Świat". Okaże się, że na czole listy trafień otrzymanej z obu wyszukiwarek jest sporo tych samych dokumentów z tych samych witryn. Przypadek? Nie. Po prostu Szukacz zbiera dokumenty z wyselekcjonowanej grupy najlepszych anglojęzycznych witryn świata.

Jaki fragment "polskiego internetu" jest dzisiaj w kolekcji Szukacza?

Może połowa, na pewno nie więcej niż 75 procent... To szokujące, że tylko tyle. W kolekcji polskiej mamy dzisiaj 26 milionów dokumentów z mniej więcej 500 tysięcy witryn polskojęzycznych. Niby dużo, ale istnieje wiele witryn, do których robotom jest wstęp wzbroniony. Istnieją także ogromne archiwa i bazy danych, do których dostęp jest mocno ograniczony z bardzo różnych powodów. Niektóre archiwa prasowe są dostępne wyłącznie dla prenumeratorów wydań papierowych. Za dostęp do innych trzeba płacić. Aby korzystać z internetowej wersji bazy aktów prawnych LexusNexus, trzeba wykupić licencję.

Poczta elektroniczna jest dzisiaj zaśmiecona spamem. Boli to już chyba każdego, kto z niej korzysta. Sieć witryn www powstała później niż poczta. Czy znaczy to, że czeka nas także i taki spam.

Ten spam już jest. W internecie jest go sporo od samego początku. Może tylko w przyszłości będzie go procentowo więcej. Ale to nie ma większego znaczenia. Sama obecność witryn i stron spamowych nie boli. Niech sobie tkwią gdzieś na swoich zapyziałych serwerach. Nie przeszkadzają. Istotne jest tylko, by takie strony nie pojawiały się na czele listy trafień.

Niektórzy webmasterzy usiłują wykorzystać Szukacza i inne wyszukiwarki do tego, by jak najwięcej osób zaglądało do ich witryn. To normalne i w sumie godne pochwały.

Spamerzy natomiast budują w tym celu całe systemy wspierających się witryn, które służą tylko do tego, aby niektóre dokumenty z jednej z nich trafiały na czoło listy trafień. Zdarza się, że witryna pokazuje inną zawartość robotowi, a inną zwykłemu użytkownikowi. Albo pod tym samym adresem jest różna zawartość w zależności od pory dnia. Wszystko po to, by oszukać robota, a później użytkowników. I zwykle okazuje się, że chodzi o te właśnie witryny, które skutecznie eliminujemy naszym filtrem obyczajowym.

Pochwalę się, że Szukacz jest znacznie mniej podatny na tego typu manipulacje niż np. Google. W zupełnie inny sposób decydujemy o tym, które witryny i dokumenty są bardziej wartościowe, a które mniej, i które w związku z tym powinny być na czele.

Do czego wykorzystywany jest Szukacz?

Do szukania! A serio – sądząc z zadawanych pytań – to użytkownicy są bardzo twórczy i czasem mają genialne pomysły. W sumie używają Szukacza do szukania wszystkiego, co można sobie wyobrazić. Ale nie tylko. Niektórych zastosowań wymyśleć się nie da. Trzeba je po prostu zobaczyć.

Uczeń przygotowuje się do lekcji lub pisze wypracowanie za zadany temat i szuka ściągi, a równocześnie profesor uniwersytetu szuka informacji do wykładu, który ma właśnie wygłosić. Ktoś inny sprawdza, czy w cudzych witrynach nie ma stron skopiowanych z jego witryny.

Jedni szukają informacji o chorobach i lekarstwach. Inni szukają aktów prawnych. Jeszcze inni – zupełnie innych aktów. A także coraz częściej – informacji o znajomych, przyjaciołach, ale także o osobach, z którymi mają się właśnie spotkać, i o firmach, z którymi zaczynają współpracować.

Internet to kopalnia informacji, ale także wielki śmietnik. A Szukacz to narzędzie do znajdowania pereł i odrzucania plew.




Co nowego w Szukaczu?
Jak działa Szukacz?  
Jak konstruować pytania?  
Jak działa robot Szukacza?
Jak dodać swoją witrynę do kolekcji?
Jak w swojej witrynie umieścić okienko Szukacza?
Jak w swojej witrynie pokazywać wyniki Szukacza (jak działa miniszukacz)?

Startuj z Szukaczem  
Dodaj do ulubionych

Uwagi techniczne / Kontakt

Copyright © 24 Godziny Sp. z o.o. 2000–2008. Wszystkie prawa zastrzeżone