440 likes | 546 Views
Filtrace web stránek s využitím profilu uživatele. Petr Doskočil Petr.Doskocil @email. cz. Úvod Cíle Paketový filtr Generování uživatelova profilu Personální vyhledávač Závěr. Obsah. Neustálé zvětšování objemu dat na webu Uživatel náročnější Vyšší nároky na internetové vyhledávače
E N D
Filtrace web stránek s využitím profilu uživatele Petr Doskočil Petr.Doskocil@email.cz
Úvod • Cíle • Paketový filtr • Generování uživatelova profilu • Personální vyhledávač • Závěr Obsah Filtrace web stránek s využitím profilu uživatele
Neustálé zvětšování objemu dat na webu • Uživatel náročnější • Vyšší nároky na internetové vyhledávače • Vyhledávače vracejí miliony relevantních odkazů • Předkládané výsledky jsou řazeny podle globálních kritérií • Potřeba personalizovaného vyhledávání • Podle společnosti Imation jsou ročně vyprodukovány dva exabajty digitálních dat (532 km DVDček) Úvod Filtrace web stránek s využitím profilu uživatele
Vytvoření systému pro určování profilu uživatele • Návrh a vývoj personálního vyhledávače • Testování Cíle Filtrace web stránek s využitím profilu uživatele
Prostředek pro získání dat charakterizujících uživatele • Získává textový obsah navštívených webových stránek • Síťové pakety jsou odchytávány nad všemi síťovými rozhraními počítače • Nezávislost na použitém prohlížeči • Získaná data jsou odesílána prostřednictvím protokolu HTTP na server • Uživatel má kontrolu nad poskytovanými daty Paketový filtr Filtrace web stránek s využitím profilu uživatele
Programovací jazyk Java • Knihovna Jpcap (a Java library for capturing and sending network packets) Prostředek realizace Filtrace web stránek s využitím profilu uživatele
Vstupní data • Textový obsah uživatelem navštívených webových stránek (uloženy v databázi) • Hloubka Suffix Tree = Maximální délka fráze • Jazyk • Práh vytváření shluků • Postup vytváření profilu • Úprava stránky (odstranění tagů, získání textu, …) • Rozpoznání jazyka • Lemmatizace slov • Odstranění stop-slov • Vložení slov stránky do Suffix Tree • Získání množiny nejlépe ohodnocených frází • Generování shluků frází (zájmové okruhy uživatele) Generování uživatelova profilu Filtrace web stránek s využitím profilu uživatele
Budeme vytvářet Suffix Tree fráze délky 3 => hloubka stromu bude 3 Jsou dány dokumenty • „bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
bratr 1 • „bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
bratr 1 často 1 • „bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
bratr 1 často 1 • „bratr často myjeauto“ • „sestra často řídí auto“ • „sestra bratra často myje“ mýt 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
bratr 1 často 1 • „bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ často 1 mýt 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
bratr 1 často 1 • „bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ často 1 mýt 1 mýt 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
bratr 1 často 1 • „bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ často 1 mýt 1 mýt 1 auto 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
bratr 1 často 1 mýt 1 často 1 mýt 1 • „bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ mýt 1 auto 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
bratr 1 často 1 mýt 1 často 1 mýt 1 auto 1 • „bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ mýt 1 auto 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
bratr 1 často 1 mýt 1 auto 1 často 1 mýt 1 auto 1 • „bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ mýt 1 auto 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ bratr 1 často 1 mýt 1 auto 1 sestra 1 často 1 mýt 1 auto 1 mýt 1 auto 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ bratr 1 často 1 mýt 1 auto 1 sestra 1 často 1 mýt 1 auto 1 často 1 mýt 1 auto 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídíauto“ • „sestra bratra často myje“ bratr 1 často 1 mýt 1 auto 1 sestra 1 často 1 mýt 1 auto 1 často 1 mýt 1 auto 1 řídit 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ bratr 1 často 2 mýt 1 auto 1 sestra 1 často 1 mýt 1 auto 1 často 1 mýt 1 auto 1 řídit 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ bratr 1 často 2 mýt 1 auto 1 sestra 1 často 1 řídit 1 mýt 1 auto 1 často 1 mýt 1 auto 1 řídit 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ bratr 1 často 2 mýt 1 auto 1 sestra 1 často 1 řídit 1 mýt 1 auto 1 často 1 mýt 1 auto 1 auto 1 řídit 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ bratr 1 často 2 mýt 1 auto 1 sestra 1 řídit 1 často 1 řídit 1 mýt 1 auto 1 často 1 mýt 1 auto 1 auto 1 řídit 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ bratr 1 často 2 mýt 1 auto 1 sestra 1 řídit 1 často 1 řídit 1 mýt 1 auto 1 často 1 auto 1 mýt 1 auto 1 auto 1 řídit 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídíauto“ • „sestra bratra často myje“ bratr 1 často 2 mýt 1 auto 2 sestra 1 řídit 1 často 1 řídit 1 mýt 1 auto 1 často 1 auto 1 mýt 1 auto 1 auto 1 řídit 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ bratr 1 často 2 mýt 1 auto 2 sestra 2 řídit 1 často 1 řídit 1 mýt 1 auto 1 často 1 auto 1 mýt 1 auto 1 auto 1 řídit 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ bratr 1 často 2 mýt 1 auto 2 sestra 2 řídit 1 často 1 řídit 1 mýt 1 auto 1 bratr 1 často 1 auto 1 mýt 1 auto 1 auto 1 řídit 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra častomyje“ bratr 1 často 2 mýt 1 auto 2 sestra 2 řídit 1 často 1 řídit 1 mýt 1 auto 1 bratr 1 často 1 auto 1 mýt 1 auto 1 auto 1 často 1 řídit 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídí auto“ • „sestrabratra často myje“ bratr 2 často 2 mýt 1 auto 2 sestra 2 řídit 1 často 1 řídit 1 mýt 1 auto 1 bratr 1 často 1 auto 1 mýt 1 auto 1 auto 1 často 1 řídit 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ bratr 2 často 2 mýt 1 auto 2 sestra 2 řídit 1 často 2 řídit 1 mýt 1 auto 1 bratr 1 často 1 auto 1 mýt 1 auto 1 auto 1 často 1 řídit 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídí auto“ • „sestra bratra často myje“ bratr 2 často 2 mýt 1 auto 2 sestra 2 řídit 1 často 2 řídit 1 mýt 1 auto 1 bratr 1 často 1 auto 1 mýt 2 auto 1 auto 1 často 1 řídit 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídí auto“ • „sestrabratračasto myje“ bratr 2 často 3 mýt 1 auto 2 sestra 2 řídit 1 často 2 řídit 1 mýt 1 auto 1 bratr 1 často 1 auto 1 mýt 2 auto 1 auto 1 často 1 řídit 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídí auto“ • „sestrabratra často myje“ bratr 2 často 3 mýt 1 auto 2 sestra 2 řídit 1 často 2 řídit 1 mýt 2 auto 1 bratr 1 často 1 auto 1 mýt 2 auto 1 auto 1 často 1 řídit 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
„bratr často myje auto“ • „sestra často řídí auto“ • „sestrabratra častomyje“ bratr 2 často 3 mýt 2 auto 2 sestra 2 řídit 1 často 2 řídit 1 mýt 2 auto 1 bratr 1 často 1 auto 1 mýt 2 auto 1 auto 1 často 1 řídit 1 Suffix Tree fráze Filtrace web stránek s využitím profilu uživatele
Z výsledné Suffix Tree struktury následně získáme jednotlivé fráze, jejichž maximální délka je rovna hloubce stromu a na základě vzorce určíme jejich ohodnocení. Jednotlivé symboly mají následující význam: • F_ohod • Ohodnocení dané fráze • F_čet • Četnost konkrétní fráze v kolekci dokumentů • N_k,max • Počet výskytů nejčastější fráze délky k v kolekci dokumentů Výpočet ohodnocení fráze Filtrace web stránek s využitím profilu uživatele
Z ohodnocených frází, které charakterizují danou kolekci dokumentů, je možné vytvořit shluky frází • Shluky frází představují jednotlivé zájmové oblasti uživatele • Počet shluků, který bude vytvořen není předem známý Vytváření shluků frází I. Filtrace web stránek s využitím profilu uživatele
Vytváření shluků je založeno na podobnosti frází • Princip je založen na předpokladu, že fráze vyskytující se často v jednom dokumentu jsou podobné Vytváření shluků frází II. Filtrace web stránek s využitím profilu uživatele
Mějme dvě fráze f_a,f_b. Tyto fráze jsou podobné jestliže platí: • D_a • Počet dokumentů obsahujících frázi f_a • D_b • Počet dokumentů obsahujících frázi f_b • k • Prahová konstanta ovlivňující snadnost vytváření shluků Podobnost shluků Filtrace web stránek s využitím profilu uživatele
Hledáním podobnosti mezi jednotlivými frázemi získáme několik shluků • Podobné shluky sjednotíme • Výsledkem je množina shluků frází reprezentující zájmové oblasti uživatele • Získaný zájmový profil je možné použít k ovlivnění uživatelova dotazu Vytváření shluků frází III. Filtrace web stránek s využitím profilu uživatele
Vybraným shlukem (shluky) je možné ovlivnit vyhledávání • Uživatel volí shluk nebo shluky, kterými chce dotaz ovlivnit • Ovlivnění dotazu je prováděno postupným rozšířením dotazu o jednotlivé fráze shluku • Dále zadává hloubku vyhledávání – tj. kolik stránek má personální vyhledávač načítat pro každý rozšířený dotaz • Dalšími parametry jsou např. jazyk hledání, hledání stránek s podobným obsahem, … • Jednotlivé shluky je možné upravovat, nebo vytvářen vlastní Personální vyhledávač I. Filtrace web stránek s využitím profilu uživatele
Obsah jednotlivých načtených stránek je porovnáván s profilem uživatele • Jednotlivým stránkám je přiřazováno skóre hodnotící míru schody s profilem uživatele • Ohodnocené stránky jsou sestupně řazeny podle dosaženého skóre • Uživatel má tak na prvním místě stránku, která nejlépe zapadá do jeho profilu Personální vyhledávač II. Filtrace web stránek s využitím profilu uživatele
Generátor profilu by bylo vhodné rozšířit o reklamní filtr • Doba odezvy vyhledávače roste přímo úměrně s počtem načítaných stránek, ale zároveň roste i kvalita předkládaných výsledků • Prakticky se ukazuje, že dotaz ovlivněný vhodně zvoleným shlukem, který zapadá do příslušné zájmové oblasti uživatele, poskytuje výsledky přesněji zapadající do jeho zájmového profilu Závěr Filtrace web stránek s využitím profilu uživatele
Otázky? Konec prezentace Filtrace web stránek s využitím profilu uživatele