zpwiki/pages/students/2019/michal_stromko/vp2023/Dokumentacia.md

37 lines
2.6 KiB
Markdown

<h1 align="center">
<b>TECHNICKÁ UNIVERZITA V KOŠICIACH <br>
FAKULTA ELEKTRONIKY A INFORMATIKY</b>
</h1>
<br> <br> <br> <br>
<p align="center", style="font-size:35px; line-height:normal;" > <b>Hodnotenie vyhľadávania modelu </b></p>
<br> <br> <br> <br> <br> <br> <br>
<b>
<p style="text-align:left;">
2022
<span style="float:right;">
Michal Stromko
</span>
</p>
</b>
<br> <br>
# Úvod
Cieľom tejto práce je zoznámenie sa s možnosťami hodnotenia modelov. Natrénovaný model dokáže vyhodnocovať viacerými technikami s použitím rôzdnych open source riešení. Každé z riešení nám ponúkne iné výsledky. V tejto práci bližšie opíšem základné pojmy, ktoré je potrebné poznať pri hodnotení. Opíšem základné informácie o technikách hodnotenia od základných pojmov ako Vektorové vyhľadávania, DPR, Sentence Transformers, BM-25, Faiss a mnoho ďalších.
# Základné znalosti
Na začiatok je potrebné povedať, že pri spracovaní prirodzeného jazyka dokážeme používať rôzne metódy prístupu hodnotenia modelu, poprípade aj vyhľadávanie v modeli. V poslených rokoch sa v praxi stretávame s vyhľadávaním na základe vypočítania vektorov. Následne na takto vypočítané vektory dokážeme pomocou kosínusovej vzdialenosti nájsť vektory, inak povedané dve čísla, ktoré sú k sebe najblyžšie. Jedno z čísel je z množiny vektorov, ktoré patria hľadanému výrazu, druhé číslo patrí slovu, alebo vete, ktorá sa nacháza v indexe.
Pre uľahčenie pochopenia tejto problematiky, postupne vysvetlím vypočítanie a následné hladanie dvoch vektorov v tomto článku. Treba však poznamenať, že každá metóda má vlastné vypočítanie vektora spolu s hľadaním podobného vektora.
### Dense Passage Retriever (DPR)
DPR nazývame ako typ systému, spracovania prirodzeného jazyka (NLP). Tento systém získava relevantné časti, inak povedané pasáže z veľkého korpusu textu. V kombinácii s sémantickou analýzou a algoritmom strojového učenia, ktorý idenetifikuje najrelevantnejšie pasáže pre daný dopyt. DPR je založený na používaní správneho enkódera, ktorý mapuje text na dimenzionálne vektory skutočnej hodnoty a vytvára index M, ktorý sa používa pre vyhľadávanie. Treba však povedať, že počas behu DPR sa aplikuje aj iný enkóder **EQ**, ktorý mapuje vstupnú otázku na d-rozmerný vektor a následne hľadá tie vektory, ktoré sú najbližšie k vektoru otázky. Podobnosť medzi otázkou a časťou odpovede definujeme pomocou **Bodového súčinu ich vektorov**.