Booleovský model
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:
- Dokument je považován za množinu termínů.
- Termín je slovo nebo fráze, která se vyskytuje v dokumentu.
- Dotaz je booleovský výraz tvořený termíny a logickými operátory.
Matematická reprezentace:
Dokument
kde
Dotaz může být reprezentován jako booleovský výraz, např.:
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:
a termínové vektory:
- Brutus: 110100
- Caesar: 110111
- Calpurnia: 010000
Pak výsledný vektor bude:
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:
- Dokument je reprezentován jako vektor v
-rozměrném prostoru, kde je velikost slovníku (počet unikátních termínů). - Termín je reprezentován váhou, která udává jeho důležitost v dokumentu.
Matematická reprezentace:
Dokument
kde
Relevance dokumentu
kde
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.
-
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.
-
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:
- Vstupní vrstva:
, kde je jednorozměrný vektor pro i-té kontextové slovo. - Projekční vrstva:
, kde je váhová matice a je projekční vektor. - Výstupní vrstva:
, kde je váhová matice a je pravděpodobnostní distribuce přes všechna slova ve slovníku.
Skip-gram Model:
- Vstupní vrstva:
, kde je vektor pro cílové slovo. - Projekční vrstva:
, kde je váhová matice. - Výstupní vrstva:
, kde je váhová matice a je sada pravděpodobností pro kontextová slova.
Aplikace Word2Vec
Word2Vec má široké uplatnění v různých úlohách zpracování přirozeného jazyka (NLP), jako jsou:
- Vyhledávání informací: Slova mohou být reprezentována jako vektory, což umožňuje nalezení podobných slov nebo dokumentů na základě vektorových operací.
- Strojové překládání: Word2Vec může být použit k mapování slov z jednoho jazyka do druhého na základě jejich vektorových reprezentací.
- Analýza sentimentu: Analýza sentimentu textu může být vylepšena díky lepšímu pochopení kontextu pomocí vektorových reprezentací slov.
Příklad vektorové aritmetiky:
Jedním ze známých příkladů použití Word2Vec je vektorová aritmetika:
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.