90 likes | 256 Views
Jana Kravalová. Pavouk - svahilština. Zadání. program, který leze po webu, stahuje texty, čistí je a vypisuje na výstup program na trénování statistiky, která rozpozná jazyk dokumentu rozšíření pavouka o modul, který podle natrénovaných statistik rozpozná jazyk
E N D
Jana Kravalová Pavouk - svahilština
Zadání • program, který leze po webu, stahuje texty, čistí je a vypisuje na výstup • program na trénování statistiky, která rozpozná jazyk dokumentu • rozšíření pavouka o modul, který podle natrénovaných statistik rozpozná jazyk • vytipování počátečního url pro zadaný jazyk (svahilštinu)
Kiswahili ni lungha ya kibatu yenye misamiati mingi ya kiarabu inayozungumzwa katika eneo kubwa la Afrika ya Mashariki. Svahilština (swahili, kiswahili)
Vytipování počátečního url • zjistit, kde se mluví danou řečí • wikipedia: swahili např. v Tanzánii • zjistit několik slov v daném jazyce • např. svahilsky noviny, novinky = habari • složit dohromady + google: • www.habaritanzania.com :o) • zde přes 2.5 milionu slov
Rozpoznání jazyka • swahili patří mezi jazyky, které nemají mnoho serverů • jakmile server opustíme, jsme na anglické stránce • zakážeme vylézat ze zadané domény • rozpoznávání jazyka přímočaře použitím vzorce z přednášky
Kódování • Modul LWP::UserAgent - metoda decoded_content() • specifikace decoded_content(): • returns the content with any Content-Encoding undone and strings mapped to perl's Unicode strings. • if the Content-Encoding or charset of the message is unknown this method will fail by returning undef
HTML entity • decode_entities() převede do Unicode HTML entity • při odstraňování opakovaných bílých znaků nutno započítat i pevnou mezeru: • $text ~= s/(\s|\xa0)+/ /g;
Zacyklení, časté odstavce • navštívená url v hashi • do fronty dávat pouze nenavštívená url • obsahy navštívených stránek v hashi • obsahy zahešovány pomocí md5 • funkce md5_hex nefunguje na unicode řetězcích, nutno překódovat na posloupnost bajtů, např. utf8 • md5_hex encode("utf8",$content); • obsahy odstavců v hashi • nebrat ty, které se vyskytly víc jak 5x, 10x, konstanta-krát
Hotový korpus • Nejčastější slova: • ya, na, wa, kwa, za, katika, ni, kuwa, la, |, >>, alisema, cha, hiyo, Habari, Tanzania, serikali, kama, Kitaifa, mwaka, baada, vya • Překlad: • ya (of), na (and, with), wa (be, have), kwa (for, with, by, to), za (of), … • alisema (řekl/a), serikali (vláda), kitaifa (stát) • | se na serveru používá jako oddělovač • >> se používá jako ukazatel na odkaz