Keresés vektor adatbázisban (Milvus példákkal)

A mai bejegyzésben folytatom a RAG témakörét, és miután betöltöttük a szöveget a vektoradatbázisba, most megnézzük, hogyan találhatjuk meg a legrelevánsabbat. Megismerjük, mi a BM25, a Rouge-L és a hibrid keresés. A bejegyzésben a Milvus rendszert fogjuk használni, de a lényeges pontok könnyen átültethetők más adatbázisokra is.

Szöveg darabolása – RAG adatelőkészítés

A mai bejegyzésben a Keresésalapú Szöveggenerálásnál (RAG) maradunk, de ezúttal a nagyobb szövegek darabolásáról lesz szó. Az előző írásomban kifejtettem, miért érdemes a szövegeket darabolni. Bemutattam a „tű a szénakazalban” tesztet, valamint azt is, hogy a hosszabb szövegek feldolgozása nagyobb erőforrásokat igényel. A mostani bejegyzés inkább gyakorlati megközelítést kínál, és különböző darabolási eljárásokat ismertet.

Szöveg-hasonlóság mérése — MI Ügynök tesztelése és értékelése 2. rész

A mai bejegyzésben maradok a számítógépes nyelvészet témájánál, és két szöveg hasonlóságát fogom egy kicsit körbejárni. Elsősorban a szemantikus hasonlóságról (angolul: Semantic Textual Similarity) lesz szó. Bemutatom a BERT Score, az SBERT és az UNE mérési módszereket. Az összehasonlítás érdekében azonban egy szókészlet-egyezésen alapuló eljárást, a METEOR-t is bemutatom. Miután megértettük, hogyan mérhető a hasonlóság, azt is megvizsgálom, miként alkalmazható ez a tudás egy valós problémára: az előző bejegyzésben bemutatott egyszerű RAG megoldás teljesítményét fogjom értékelni. Ehhez az Arize Phoenix keretrendszert használom.

Keresésalapú Szöveggenerálás (RAG) alapok

A mai bejegyzésben továbbra is a számítógépes nyelvészet témájánál maradunk, de ezúttal annak egy határterületét nézzük meg közelebbről: a Keresésalapú Szöveggenerálással (angolul: Retrieval-augmented generation, RAG) foglalkozunk részletesebben. Első lépésként egy PDF dokumentumot töltünk be egy Milvus vektoradatbázisba, majd természetes nyelven végzünk keresést a tartalmában.

Itó-kalkulus 2. rész

Ebben a bejegyzésben az előző részre alapozva megismerkedünk az Itó-kalkulussal. Ez lehetővé teszi, hogy olyan sztochasztikus differenciálegyenleteket oldjunk meg, amelyekben Wiener-folyamat szerepel. Emellett olyan fontos eljárásokat alapoz meg, mint az Itó-lemma, amely a sztochasztikus folyamatok függvényeinek változását írja le. A módszer Kiyosi Itô japán matematikus után kapta a nevét.

Wiener-folyamat — Itó-kalkulus 1. rész

A mai bejegyzésben a Wiener-folyamatot fogjuk megismerni. Ezt a folyamatot véletlenszerű mozgások matematikai modellezésére használják. Kezdetben a fizikában a részecskék kaotikus viselkedésének leírására alkalmazták, és ennek öröksége, hogy Brown-mozgásnak is nevezik. Ez a folyamat az alapja számos modern alkalmazásnak, például a pénzügyi piacok árfolyamainak modellezésében is gyakran előfordul.

AR(1) idősor autokovarianciája — példa számítás

A ma kicsit visszatérünk a statisztikához az utóbbi idők gépi tanulási témái után. Ez a bejegyzés a legegyszerűbb autoregresziós modell autokovarianciájának kiszámításáról szól. Ez jó lehetőség néhány kovarianciával kapcsolatos szabály felidézésére és arra, hogy megvizsgáljuk, hogyan kezelhetünk iteratív számításokat. Legyen a következő gyengén stacionárius idősorunk (ami csak azt feltételezi, hogy az első két momentum stacionárius, … AR(1) idősor autokovarianciája — példa számítás olvasásának folytatása

Transformer 1. rész – általános architektúra, adat előkészítés

A mai bejegyzésben megismerkedünk a jelenleg legismertebb számítógépes nyelvészeti modellek közös elődjével, a Transformerrel. Ez a korábban megismert seq2seq+Figyelem modellekből fejlődött ki. Mivel ez az architektúra viszonylag összetett, több részben fogjuk tárgyalni. A mai bejegyzés főleg a kialakulásához vezető utat és az általános felépítését fogja körbejárni.