From e50cc2d517c8eca4dc151e4f991e9ea7d6d20e03 Mon Sep 17 00:00:00 2001 From: Michal Stromko Date: Tue, 31 Jan 2023 11:05:04 +0000 Subject: [PATCH] Update 'pages/students/2019/michal_stromko/vp2023/Dokumentacia.md' --- .../michal_stromko/vp2023/Dokumentacia.md | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/pages/students/2019/michal_stromko/vp2023/Dokumentacia.md b/pages/students/2019/michal_stromko/vp2023/Dokumentacia.md index 815b83b038..3f13ce1a8f 100644 --- a/pages/students/2019/michal_stromko/vp2023/Dokumentacia.md +++ b/pages/students/2019/michal_stromko/vp2023/Dokumentacia.md @@ -29,7 +29,25 @@ Na začiatok je potrebné povedať, že pri spracovaní prirodzeného jazyka dok Vyhodnotenie vyhľadávana v modeli dôležité z hľadiska budúceho použitia modelu do produkcie. Pokiaľ sa do produkcie dostane model, ktorí bude mať nízke ohodnotenie bude sa stávať, že vyhľadávanie bude nepresné to znamená, výskedky nebudú relevantné k tomu čo sme vyhľadávali. -V tejto práci som realizoval viaceré experimenty, v ktorých som hodnotil vyhľadávanie pomocou modelov do ktorých bol zaembedovaný text. Každý text obsahuje ďalšie atribúty ako otázky a odpovede. Otázky sa následne pošlú na vyhľadanie a čaká sa na výsledok vyhľadávania. Výsledky ktoré prídu sa následne porovnajú s očakávanými odpoveďami. Výsledok vyhľadávania boli odpovede ktoré som hladal v správnych odpovediach pre danú otázku. Každý model, ktorý som vyhodnocoval pracoval s počítaním embeddingov +## Zameranie práce + +V tejto práci som realizoval viaceré experimenty, v ktorých som hodnotil vyhľadávanie pomocou modelov do ktorých bol zaembedovaný text. Každý text obsahuje ďalšie atribúty ako otázky a odpovede. Otázky sa následne pošlú na vyhľadanie a čaká sa na výsledok vyhľadávania. Výsledky ktoré prídu sa následne porovnajú s očakávanými odpoveďami. Najdôležitejšie je nájsť v jednej odpovedi čo najviac správnych výsledkov. Následne je potrebné spočítať počet správnych výsledkov a použiť správne vzpočítať presnosť a návratnosť vyhľadávania. V tomto prípade presnosť a návratnosť počítame pre hodnotenie všetkých otázok. Čím sú hodnoty vyššie, tak konštatujeme že vyhľadávanie pomocou danej metódy je presné a dokážeme ho používať v produkcii. + +Dôležtým atribútom s ktorým sme vykonávali testovanie bola menenie parametra **top_k**. Tento parameter znamená počet najlepších odpovedí na výstupe vyhľadávania. Čím je tento paramter väčší môžeme očakávať, že sa v ňom bude nachádzať väčšie množstvo správnych odpovedí. V konečnom dôledku to vôbec nemusí byť pravda, pretože ak máme kvalitne natrénovaný model a dobre zaembedované dokumenty dokážeme mať správne výsledky na prvých miestach, čo nám ukazuje že parameter *top_k* može mať menšiu hodnotu. + +Najčastejšie je táto hodnota nastavovaná na top 10 najlepších výsledkov vyhľadávania. Pri experimentoch som túto hodnotu nastavoval na hodnoty **5, 10, 15, 20, 30**. Každá metóda ktorá bola pouťitá na vyhľadávanie dosiahla iné výsledky. + +### Použité metódy vyhľadávania v experimentoch + +V tejto práci som použil na vyhľadávanie 4 rôzne metódy, ktorým som postupne nastavoval parameter **top_k** od 5 až 30. +Použil som vyhľadávanie pomocou: + - Faiss + - BM25 + - LaBSE + - sts-slovakbert-stst + +Každá jedna metóda pracuje s úplne iným modelom. Modeli LaBSE a sts-slovakbert-stst používali rovnakú knižnicu na vytvorenie vektorov aj vyhľadávanie. Rozdiel je len vtom že LABSE je multilingual embedding model, ktorého najväčšou výhodou je enkódovanie textu v rôznych jazykoch a dokáže + ### Dense Passage Retriever (DPR)