Booleovský model

Pridat odkaz na prezentaci
ChatGPT

Vygenerováno pomocí ChatGPT na základě přednášek z Vyhledávání na webu

Booleovské a vektorové modely jsou dva základní přístupy používané v informačním vyhledávání k reprezentaci dokumentů a dotazů. Každý z těchto modelů má své výhody a nevýhody a je vhodný pro různé typy úloh.

Booleovský model

Booleovský model je jedním z nejstarších a nejjednodušších modelů používaných pro informační vyhledávání. Tento model považuje dokumenty a dotazy za množiny termínů (slov) a vyhledávání se provádí pomocí logických operátorů jako AND, OR a NOT.

Základní koncepty:
Matematická reprezentace:

Dokument dj může být reprezentován jako binární vektor:

dj=(t1,j,t2,j,,tm,j)

kde ti,j=1 znamená, že termín ti se vyskytuje v dokumentu dj, a ti,j=0, pokud se nevyskytuje.

Dotaz může být reprezentován jako booleovský výraz, např.:

q=t1 AND t2 AND NOT t3

V tomto modelu se výsledek dotazu získá aplikací logických operací na binární vektory, které reprezentují termíny.

Implementace a optimalizace:

Booleovský model je implementován pomocí invertovaného indexu, což je efektivní datová struktura pro rychlé vyhledávání dokumentů obsahujících specifické termíny. Tento index ukládá seznam dokumentů, ve kterých se každý termín vyskytuje.

Příklad:
Pokud máme dotaz:

q=Brutus AND Caesar AND NOT Calpurnia

a termínové vektory:

Pak výsledný vektor bude:

q=110100 AND 110111 AND NOT 010000=100100

Výsledkem jsou dokumenty, které odpovídají pozicím, kde je hodnota 1, tedy dokumenty Antony and Cleopatra a Hamlet.

Vektorový model

Vektorový model, často nazývaný také model vektorového prostoru, byl navržen jako rozšíření Booleovského modelu a zohledňuje váhy termínů, což umožňuje částečné shody a výsledky seřazené podle relevance.

Základní koncepty:
Matematická reprezentace:

Dokument dj je reprezentován jako vektor vah:

dj=(w1,j,w2,j,,wm,j)

kde wi,j je váha termínu ti v dokumentu dj.

Relevance dokumentu dj vůči dotazu q se vypočítá jako kosinusová podobnost mezi vektory:

relevance(dj,q)=djqdjq

kde q je vektor dotazu a dj a q jsou délky (normy) vektorů.

Výhody a nevýhody:

Vektorový model umožňuje hodnocení dokumentů podle relevance, což zlepšuje efektivitu vyhledávání. Nicméně, jeho nevýhodou je vyšší výpočetní náročnost ve srovnání s Booleovským modelem, zejména při práci s velkými kolekcemi dokumentů.

Word2Vec

Word2Vec je populární metoda pro vytváření vektorových reprezentací slov v kontinuitním prostoru, což znamená, že slova jsou reprezentována jako vektory v mnohorozměrném prostoru, kde jsou si podobná slova blízko sebe. Tato metoda byla vyvinuta Tomášem Mikolovem a jeho týmem v roce 2013.

Základní Principy

Word2Vec používá neuronové sítě k vytvoření distribuovaných reprezentací slov na základě jejich kontextu v textovém korpusu. Existují dva hlavní modely pro trénování Word2Vec: Continuous Bag of Words (CBOW) a Skip-gram.

  1. Continuous Bag of Words (CBOW):

    • Tento model předpovídá cílové slovo na základě kontextu, tedy okolních slov.
    • Například pro větu „Kočka sedí na stromě“ by CBOW model zkoušel předpovědět slovo „sedí“ na základě slov „Kočka“, „na“, a „stromě“.
    • Tento model má vstupní vrstvu, která obsahuje vektory pro kontextová slova, a výstupní vrstvu, která generuje vektor pro cílové slovo.
  2. Skip-gram:

    • Tento model dělá opak oproti CBOW, předpovídá kontextová slova na základě cílového slova.
    • Pro stejnou větu „Kočka sedí na stromě“ by Skip-gram model zkoušel předpovědět slova „Kočka“, „na“, a „stromě“ na základě slova „sedí“.
    • Skip-gram je obzvlášť vhodný pro trénování na velkých korpusech, protože se zaměřuje na předpověď několika kontextových slov pro každé jednotlivé slovo.

Matematická Reprezentace

CBOW Model:

Skip-gram Model:

Aplikace Word2Vec

Word2Vec má široké uplatnění v různých úlohách zpracování přirozeného jazyka (NLP), jako jsou:

Příklad vektorové aritmetiky:
Jedním ze známých příkladů použití Word2Vec je vektorová aritmetika:

vec("král")vec("muž")+vec("žena")vec("královna")

Tento příklad ukazuje, jak Word2Vec zachytí vztahy mezi slovy pomocí vektorových operací.

Word2Vec je vysoce efektivní nástroj pro zachycení sémantických informací v textu a nabízí škálovatelné řešení pro mnoho NLP úloh.

Pro více informací a detailní vysvětlení naleznete v prezentaci na slidu 28 přednáška 3.