Jedna z možností je vyhledávat pomocí nějakého algoritmu na string-matching, ale to není vůbec efektivní a je to hodně pomalé. Mnohem lepší je využít invertovaný index a retrieval model (boolský či vektorový) či modely založené na pravděpodobnosti a předzpracovat a indexovat jednotlivé dokumenty

Základní definice:

  • document - entita obsahující full text, který chceme prohledávat
  • collection - množina documentů
  • term - slovo či fráze, která se objevuje v documentu
  • vocabulary - množina všech různých termů v documentu nebo v collection

Collection si musíme před vyhledávání předzpracovat (preprocessing)

  • odstranění termů - stop slova (moc frekventovaná, čísla, jména atd.) - nemají moc rozlišovací hodnotu (moc mi ve vyhledávání nezúží výsledek)
  • zjednušení existujících termů (go, goes, went, going go)
    • unifikace - stemming (přes kořeny slov) lingvistická magie
  • díky tomu máme cca 20 % z původních termů - které už jsou dost vypovídající o tom fulltextu
    • menší nároky na uložení a rychlejší vyhledávání

Efektivitu měříme mírou spokojenosti uživatele s výsledkem vyhledávání.

Měříme přesnost: pravděpodobnost, že document ve výsledku je skutečně relevantní

  • False alarm (false hit) - document neměl být ve výsledku, ale je tam
  • v prohlížeči chci vysokou přesnost Měříme recall (úplnost): pravděpodobnost, že relevantní dokument je ve výsledku
  • v prohlížeči úplnost tolik neřeším (nechci vyhledat 1 000 000 sedacích souprav)
  • ale např. v medicínských aplikacích je úplnost velmi důležitá
  • False dismissal (false drop) - document měl být ve výsledku, ale nebyl Většinou chceme kompromis mezi těmito dvěmi přístupy. Také platí to, že pokud roste precision, tak klesá recall a naopak.

Řešení:

  • Boolský vyhledávací model a invertovaný index
  • Vektorový vyhledávací model a invertovaný index
  • tyto modely jsou zaměřené na fulltextové vyhledávání a takhle pracovaly první vyhledávače
    • bohužel s nástupem internetu byly tyto metody degradovány spamovými stránkami, které obsahovaly přesně termy, kvůli kterým jim pak tyto modely dávaly vysoké ohodnocení