Stop lista (, ) – lista wyrazów lub terminów, które system wyszukiwania informacji (np. wyszukiwarka lub mechanizm wyszukiwania pełnotekstowego) może pomijać podczas indeksowania albo przetwarzania zapytania, ponieważ są bardzo częste i mają niską selektywność semantyczną.

Najczęściej są to wyrazy funkcyjne (np. spójniki i przyimki) czy słowa popularne (mp3, sex) ale stoplista bywa też dopasowywana do konkretnej kolekcji lub dziedziny (tzw. stopwordy domenowe). Typową praktyką jest posortowanie terminów według częstości w kolekcji, wybranie najczęstszych i ręczne dopasowanie listy do domeny dokumentów. Badania nad automatycznym wyznaczaniem stoplist wskazują, że stosowanie jednej „stałej” listy dla różnych kolekcji może pogarszać skuteczność wyszukiwania, a listy warto dobierać per-kolekcja (np. metodami opartymi na rozkładzie częstości, Zipfa lub miarach informacyjnych).

Stosowanie stoplisty zmniejsza rozmiar słownika i liczbę wpisów w indeksie (postings); w literaturze podawano, że eliminacja 150 najczęstszych słów może obniżyć liczbę wpisów w indeksie niepozycyjnym rzędu ok. 25–30%, choć zysk ten jest mniejszy po kompresji indeksu. Jednocześnie odrzucanie słów stop może szkodzić zapytaniom frazowym i takim, w których wyrazy funkcyjne niosą relację (np. „President of the United States” czy „flights to London”). Z tego powodu obserwowano trend od dużych stoplist (rzędu 200–300 terminów) do krótkich (7–12) albo całkowitej rezygnacji; wyszukiwarki WWW zwykle nie stosują stoplist, a częste słowa osłabia się innymi mechanizmami (np. ważeniem typu IDF i kompresją).

Usuwanie wyrazów stopujących z tekstu może się odbywać m.in.: słownikowo – z tekstu usuwa się wyrazy wymienione w przygotowanej liście, statystycznie – stoplistę wyznacza się automatycznie na podstawie rozkładu częstości/miar informacyjnych w danej kolekcji, hybrydowo – łączy się podejście słownikowe z automatycznym doborem per-kolekcja.

Stoplisty w oprogramowaniu Obsługa stoplist występuje m.in. w systemach wyszukiwania pełnotekstowego: w MySQL pełnotekstowe indeksy mogą korzystać z wbudowanej listy słów stopujących; listę można nadpisać plikiem (ft_stopword_file) lub wyłączyć (ustawiając pustą wartość), a w InnoDB możliwe jest też stosowanie tabel stopwordów per-tabela. w PostgreSQL słowa stopujące są definiowane w plikach .stop wykorzystywanych przez słowniki wyszukiwania; przy zapytaniach frazowych mogą być uwzględniane jako „luki” (operatory <N>) zamiast całkowitego usunięcia. w Apache Lucene filtrowanie stopwordów realizuje się na etapie analizy tekstu; lista angielskich stopwordów jest dostarczana m.in. przez StopAnalyzer, a w pewnym momencie StandardAnalyzer przestał domyślnie usuwać angielskie stopwordy.

Przypisy

Linki zewnętrzne Full-Text Stopwords (MySQL) Text Search Dictionaries (PostgreSQL) Dropping common terms: stop words (Introduction to Information Retrieval) Automatically Building a Stopword List for an IR System (Lo, He, Ounis, 2005) Stop-words collection (archiwum Wayback Machine)

Kategoria:Wyszukiwarki internetowe Kategoria:Przetwarzanie języka naturalnego