230 Jarosław Gramacki. Artur Gramacki
Procedura usuwania słów nieistotnych jest najczęściej prostą operacją słownikową. Możliwe jest również podejście statystyczne, w którym z tekstu usuwane są wyrazy, których częstość występowania przekracza założoną ilość. Stosowanie stop listy może jednak w pewnych przypadkach prowadzić do problemów, gdyż usunięte mogą zostać z tekstu istotne informacje. Przykłady: „The Who” (nazwa zespołu), „Sami Swoi” (tytuł filmu), „WHO (World Health Organization). Poniżej przedstawiono krótkie fragmenty ty powych stop list dla języka polskiego i angielskiego.
Tabela 2. Fragmenty stop list dla języka polskiego i angielskiego
a, aby. ach. acz, aczkolwiek, aj, albo, ale, ależ, aż, bardziej, bardzo, bez, bo, bowiem, by. byli, bynajmniej, być, byl, była, było, były. będzie, będą. cali, cala, cały, ci, cię, ciebie, co, cokolwiek, coś, czasami, czasem, czemu, czy, czyli, daleko, dla, dlaczego, dlatego, do, dobrze, dokąd, dość, dużo, dwa, dwaj, dwie. dwoje, dziś, dzisiaj, gdy. gdyby, gdyż, gdzie, gdziekolwiek, gdzieś, go, i, ich. ile, im, inna, inne. inny, innych, iż, ja, ją jak, jakaś, jakby. jaki, jakichś, jakie, jakiś, jakiż, jakkolwiek, jako. jakoś, je.......
przedtem, przez, przy. roku. również, sam, sama, są. się. skąd. sobie. sobą. sposób, swoje, są. tą tak. taka, taki. takie, także, tam. te, tego, tej. ten. teraz, też, to.tobą, tobie, toteż, trzebą tu, tutaj, twoi, twoim, twoją twoje, twym. twój. ty. tych. tylko, tym, u, w, wam, wami, was. wasz, wasza, wasze, we, według, wiele, wielu, więc, więcej, wszyscy, wszystkich, wszystkie, wszystkim, wszystko, wtedy, wy. właśnie,
z. za. zapewne, zawsze, ze. znowu, znów, został, żaden, żadna, żadne, żadnych, że. żeby_
a. about. above, accordingly, across, after, afterwards, again. against. all, allows. almost, alone. along, already. also. although, always. am. among, amongst. aą and. another, any, anybody. anyhow, anyone. anything, anywhere. apart. appear. appropriate. are. around. as. aside. associated. at. available, away, awfully. b, back. be. became. because. become, becomes, becoming, beeą before, beforehand. behind. being. below . beside. besides. best, better. between. beyond. both, brief, but. by, c.......
vs, w. was, way, we, well, went, were, what, w hatever. when, whence, whenever. where, whereafter. whereas, whereby, wherein, where-upon, wherever. whether, which. while. whither, who, whoever, whole, whom, whose. why. will, with, withią without. work, world. would, x, y, year, years, yet. you, your, yours, yourself, youtselves, z, zero,_
Zadaniem stemmera1 jest przekształcenie wejściowego tekstu do postaci, która zawiera jedynie podstawowe formy słów (tzw. rdzeń morfologiczny). W zależności od specyfiki języka, przekształcenie to może być realizowane za pomocą reguł (zadanie proste obliczeniowo) lub przy wykorzystaniu słowników (zadanie złożone obliczeniowo). Pierwsza metoda używana jest na przykład dla języka angielskiego, druga dla języka polskiego, Dalej pokazano przykłady działania klasycznego stemmera Portera [Porterl980] dla języ ka angielskiego oraz stemmera Morfologik [Weiss, Morfologik], dla języka polskiego. Najistotniejszym elementem tego ostatniego jest bardzo szybkie i efektywne korzy stanie z publicznie dostępnego sloyynika języka polskiego programu ispell. Stemmery dla innych języków znaleźć można na stronie [Stemm], gdzie opisano róyvnież specjalizoyyany ffameyvork Snowball przeznaczony do pisania stemmeróyv dla doyvolnych języ-kóyv! Istnienie takich narzędzi pokazuje, jak istotne jest oyvo zagadnienie w dziedzinie analizy i przetyvarzania tekstów, do których nieyvątpliyvie należą yyyszukiyvarki intemetoyve2.
Tabela 3. Przykład użycia algorytmu Portera dla dwóch słów: disproportioned oraz database
After step la: token = disproportioned |
After step la: token = database |
After step lb: token = disproportion |
After step lb: token = database |
After step lc: token = disproportion |
After step lc: token = database |
After step 2: token = disproportion |
After step 2: token = database |
' Dawid Weiss, twórca jednego z dostępnych dla języka polskiego stemmeróyy. zaproponoyyal polsko-brziniące nazwy tego narzędzia: stempelator oraz lametyzator. W praty posługiwać będziemy się jednak nazwą stemmer.
Przykładowo całkiem niedayyno wyszukiyyarka Google również włączy ła do swojego flagowego produktu mechanizm stemmingu.