====== LGame ====== [[external:LGame]] ====== Bakalářská práce ====== * Použití SVN serveru na ÚFAL * [[http://ufal.mff.cuni.cz/~hladka/rp200809/svn-prednaska2.pdf|kraťoučký tutoriál o svn ]] * ''/home/svn/repos/bc_rovensky/, user: rovensky, passwd: bc_rovensky'' * vlastní účet v síti ÚFAL nepotřebujete, budete commitovat do své SVN a prohlížet si ji na webu. Na ''https://svn.ms.mff.cuni.cz/projects/'' je Váš projekt videt - viz ''https://svn.ms.mff.cuni.cz/projects/bc_rovensky, user: ufal, passwd: maly_lingvista''. Tady budou časem jednotlivé soubory v poslední verzi, s možností prohlížet ty starší: ''https://svn.ms.mff.cuni.cz/projects/bc_rovensky/browser''. * Co se týče subverse, tak ani na ni nepotřebujete mít přístup na síť ÚFAL. Potřebujete mít nějakého klienta (standardní svn na linuxu, nebo třeba SVN Tortoise na windows). A rovnou můžete začít se subversí, asi nějaký ''svn import'' a ''svn checkout'' ... Zde je info: ''http://svnbook.red-bean.com/en/1.5/svn.tour.importing.html''. Repository má adresu ''svn://svn.ms.mff.cuni.cz/bc_rovensky'', takže ''checkout'' třeba ''svn checkout svn://svn.ms.mff.cuni.cz/bc_rovensky/trunk his_local_directory'' ====== Dokumentace, data ====== *Zadání ([[http://ufal.mff.cuni.cz/~hladka/rp200809/rp-VladimirRovensky-zadani.doc|doc]], [[http://ufal.mff.cuni.cz/~hladka/rp200809/rp-VladimirRovensky-zadani.pdf|pdf]]) * Specifikace [[http://ufal.mff.cuni.cz/~hladka/rp200809/Specifikace_V_Rovensky.pdf|pdf]] * Dokumentace pilotní verze [[http://ufal.mff.cuni.cz/~hladka/rp200809/Dokumentace_V_Rovensky.pdf|pdf]] * **Co vše má obsahovat pilotní verze?** * **Rešerše** - provést rešerši, jestli se podobným problémem již někdo zabýval; pokud ano, tak pro jaké jazyky a jakou metodologií. Rešerši zpracovat písemně v samostatném souboru. * **Kód** S dostatečným počtem komentářů. * **Dokumentace** * **Uživatelská** - specifikace softwarových a hardwarových požadavků; konfigurace; popis instalace programu, spuštění programu, ukázky spuštění programu na souboru vět. * **Programátorská** - popis struktury programu, implementační platformy (MS Windows, Linux, ...), použitých technologií, datových struktur, algoritmů a nestandartních knihoven. V programátorské dokumentaci má být to, co se nevyčte z komentářů v kódu. * **Testovací data** Věty z Českého akademického korpusu 2.0 * Smysluplné věty [[http://ufal.mff.cuni.cz/~hladka/rp200809/devtest.ok|devtest.ok]] * Nesmysluplné věty [[http://ufal.mff.cuni.cz/~hladka/rp200809/devtest.ko|devtest.ko]] ====== Schůzky ====== * 3/3/2008 * **navrhuji schuzku 15/5/2008 nekdy dopoledne (je mi to jedno)** ====== Vzkazy ====== * 16/3/2008 U mě v kaslíku na sekretariátu ÚFAL (MS, místnost č. 408) máte nachystané CD-ROM (píše se o něm v zadání) a popis morfologických značek. * 27/5/2008 Nová verze morfologické analýzy, jakožto součást skriptu ''tool_chain'', je nachystána ke [[http://ufal.mff.cuni.cz/~hladka/rp200809/morphology.zip|stažení]]. Jedná se přímo o obsah adresáře ''morphology/''. * **9/12/2008** Domnívám se, že je vhodná doba naplánovat závěr Vašeho ročníkového projektu. Proto navrhuji následující: - Do 5. ledna 2009 mi pošlete balíček s tímto obsahem: * zdrojový kód klasifikátoru * binární soubory pro MS Windows a Linux * uživatelskou dokumentaci ve formátu pdf. Součástí uživatelské dokumentace musí být vyhodnocení klasifikátoru na datech od Seznamu a na datech z ČAK 1.0. * programátorskou dokumentaci ve formátu pdf * soubor README.txt, který bude svým obsahem odpovídat linuxové manuálové stránce. Měly by tam být tyto údaje: Name, synopsis, description, options, examples, requirements, configuration, problems, author. - Jakmile balíček obdržím, přešlu ho bez zdrojových kódů Vincentu Křížovi, který řeší stejnou úlohu. Obráceně Vy obdržíte jeho balíček. - Do 11. ledna nastudujete/otestujete Vincentův balíček. Svoje dojmy/názory/postřehy zpracujete písemně - zpráva by neměla přesahovat dvě A4 strany. - Jakmile obdržím Vaši zprávu, přešlu ji Vincentovi. - 19. ledna bychom se sešli všichni tři dohromady na, řekněme, prezentační hodince. Vy budete mít připravenou prezentaci, ve které byste měl reagovat i na připomínky oponenta Vincenta. Totéž bude dělat i Vincent. Ten den Vám zapíšu do indexu to, co mám. Navrhuji se sejít hned po ránu, tj. v 9h. **DOPLNĚNO: 8/1/2009** Prezentace bude trvat 20min - slajdy si nachystejte ve Vámi preferovaném nástroji. Obsah slajdů by měl být koncipován tak, že matfyzácký posluchač pochopí, jaké bylo zadání a jaké řešení jste zvolil. Všechny aspekty řešení musí být představeny. ====== Postup ====== == Nejasnosti == * Smim ve vystupu tool-chainu pouzivat tagy a ? __Ne. To jsou informace pro syntax.__ (//[[hladka@ufal.mff.cuni.cz|hladka]] 25.3.2008 09:22//) * Je nekde k dispozici cesky preklad tahaku ke znackam tagu , pripadne vysvetlivky k nim ? __Ano - [[http://ufal.mff.cuni.cz/~hladka/rp200809/cz-appendix-D.pdf|zde]].__ (//[[hladka@ufal.mff.cuni.cz|hladka]] 25.3.2008 09:24//) * Pri uvodni schuzce se hovorilo o sade vet urcenych k testovani programu, da se nekde stahnout? __Ano, vety budou k dispozici. Budou to vety z Ceskeho akademickeho korpusu 2.0. Prace na tomto korpusu finisuje. Az se dodelaji vsechny kontroly, tak pripravim dva soubory ve formatu csts: jeden se smysluplnymi vetami a druhy s nesmysluplnymi vetami. Soubory budou k dispozici nejpozdeji pristi tyden ve stredu.__ --- //[[hladka@ufal.mff.cuni.cz|hladka]] 28.4.2008 20:53// * Co by mela splnovat specifikace programu(delka, format, obsah...)? __[[http://ufal.mff.cuni.cz/~hladka/rp200809/specifikace1.pdf|ukazka c. 1]], [[http://ufal.mff.cuni.cz/~hladka/rp200809/Specifikace_verze3.pdf|ukazka c. 1]]__ --- //[[hladka@ufal.mff.cuni.cz|hladka]] 29.4.2008 10:29// * pri testovani ruznych vstupu jsem narazil na nektere hodnoty na pozici 2 morfologickeho tagu, ktere jsem nenasel v dokumentaci (konkretne hodnota 2), da se nekde sehnat aktualizovany popis znacek? * tool_chain spravne nerozeznava tvary sloves koncici na -li (budu-li, chcete-li) == Prvni naznak algoritmu == - Rozparsovat vstup z tool-chainu - pravdepodobne staci chytat tagy a v nich , mozna by se hodily i a (id tokenu + ukazatel na nadrazeny token) ale asi to nespada do morfologie. __tool_chain na vystupu nevydava , pokud je v datech , tak obsahuje znacku doplnenou rucne, tedy lidmi. tool_chain dava na vystupu , tj., vystup automaticke procedury.__ (//[[hladka@ufal.mff.cuni.cz|hladka]] 25.3.2008 09:25//) Oprava: Ve vystupu tool_chainu najit tag pro vetu a nasledne vybirat tagy , resp pro tokeny, v nich z vybrat lemma, z tagy. __Ano, pochopil jste strukturu vystupu spravne.__ --- //[[hladka@ufal.mff.cuni.cz|hladka]] 06.4.2008 20:58// - Pokud je veta souvetim, rozdelit na hole vety, cele souveti je smysluplne, pokud jsou smysluplne vsechny hole vety v nem obsazene. Rozdelovani realizovat napr. vyhledanim interpunkce/spojek/predlozek... ty rozdeli souveti na nekolik casti, ty casti jez obsahuji sloveso jsou vety jednoduche. __Muze byt.__ (//[[hladka@ufal.mff.cuni.cz|hladka]] 25.3.2008 09:31//) - Dale analyza pouze jednoduche vety. Napadly me dve veci ovlivnujici smysluplnost, ktere by se nejspis daly implementovat: * korektni vztahy mezi slovy - bylo by mozne definovat pro kazdou dvojici slovnich druhu podminky(=hodnoty v tagu ), ktere musi byt splneny, aby tato dvojice davala smysl. Napr. pro podstatna a pridavna jmena nejak takhle: ^ tag ^ podst.jm ^ prid.jm ^ znamena ^ | 2 | N | A,U,non(C) | podstatne jmeno vedle pridavneho | | 3 | = | = | rod musi byt stejny | | 4 | = | = | cislo musi byt stejne | | 5 | = | = | pad musi byt stejny | |6-15 |* |* | na ostatnich nezalezi | Pokud mame takoveto vztahy, je mozne pro kazde slovo hledat mozne kandidaty, se kterymi by mohlo tvorit smysluplnou dvojici, temto kandidatum pak priradit prioritu napr. podle vzdalenosti techto slov ve vete. Veta je potom smysluplna, pokud kazde slovo je nejak zapojeno (mimo interpunkce atp), jinymi slovy pokud budou slova vrcholy grafu, smysluplne dvojice budou tvorit hrany grafu, pak bude veta smysluplna, pokud bude tento graf souvisly. To ze kandidatu pro kazde slovo muze byt vice vede k moznemu nastavovani "prisnosti" procedury, cim min prisna, tim vic kandidatu(hran) bude brano v potaz. * slovosled - jednak ve vyse zminenych prioritach podle vzdalenosti slov, dale napr. kontrolovanim, ze veta dodrzuje nejakou zakladni strukturu ceskeho slovosledu. Napr. ve vyse zminenem vztahu kontrolovat, ze pridavne jmeno je pred podstatnym a pokud je to obracene, musi byt variant = 2,3 nebo 4. == Priklad == Mame vetu "Pokud si chcete něco pouze vyzkoušet, použijte pískoviště." Prvni krok ji podle carky a dvou sloves rozdeli na dve vety jednoduche. V prvni vete se Pokud navaze na sloveso chcete, si na jedno ze dvou sloves, vyssi prioritu bude mit chcete - je bliz, chcete nejspis muze tvorit dvojici s kterymkoli ze slov neco, pouze, vyzkouset atd. Urcite vznikne souvisly graf. Naopak pokud by v druhe vete bylo napr Použijte nový pískoviště, nebude souhlasit rod pridavneho a podstatneho jmena a vznikne nesouvisly graf. Mozny problem je, ze pokud by tam bylo napr. Použijte pískovištím, nelze takto (ne)smysluplnost rozeznat, nebot zalezi na vyznamu konkretniho slovesa s jakym se poji padem. __Napad, ktery popisujete, dava dobry smysl. Muzete ho zacit implementovat;-)__ (//[[hladka@ufal.mff.cuni.cz|hladka]] 25.3.2008 09:31//) == Hotovo == * zaklad algoritmu * konecne se mi povedlo nainstalovat linux, tool_chain i vsechno ostatni potrebne, takze uz vim co parsovat - prislusna sekce postupu(vyse) upravena. Za odmenu jsem si zahral miny. * dodelal jsem zakladni sadu pravidel pro vztahy mezi slovnimi druhy, ta bude prubezne doplnovana. * definovan format souboru pro ukladani techto vztahu(txt soubor pro jednoduchou editaci) - pri startu programu se z tohoto souboru nactou podminky pro vznik smysluplnych vztahu. * Kod : zakladni chodici verze * Kod : zakladni chodici a odvsivena verze, rozchozeno na Linuxu (aspon myslim :o) * rozsiren soubor s podminkami(aktualizovan i odkaz) * par vystupu programu v jeho soucasne podobe je k nahlednuti [[http://www.ms.mff.cuni.cz/~rovev6am/vystupy.txt|zde]] ´= = 2008/2009 = * neustale rozsirovan soubor s podminkami * pridana podpora davkoveho zpracovani * pridany parametry pro spusteni programu - ignorovani nerozpoznanych tokenu, vyzadovani slovesa, minimalni delka vety atp. * pridana utilita na editaci souboru s podminkami (java) * pridana moznost vytvaret skupiny podminek, ktere jsou ve smysluplne vete vyzadovany * pridan treshold na pocet iteraci procedury kontrolujici podminky typu (3) - zajisteni polynomialni slozitosti * pridana moznost vypisovat kolize, program dostane coby parametr procentualni pocet klauzuli, ktere musi byt v ramci jedne podminky splneny, aby byl zbytek chapan jako kolize a vypsan (za predpokladu ze v podmince jsou nejake neuspesne klauzule). Taky je mozne specifikovat soubor, kam se budou kolize vypisovat. * zjednoduseni konfigurace aplikace - pridana moznost sepsani voleb programu do .ini souboru (kazdy z optionu, ktere program prijima, ma svou alternativu v nejake klauzuli .ini souboru), parametry predavane primo na prikazovou radku prekryvaji parametry v .ini souboru (command line optiony maji prednost pred .ini). Soubor .ini s default hodnotami se automaticky vytvori, pokud neexistuje. == Dale == **22/9/08** * vypisovani kolizi * SENSE jako webova aplikace * PREZENTACE * slides * formulace ulohy * smysluplnost vzhledem k cemu - zde vzhledem k morfologicke urovni zpracovani * vstupni data - tool_chain (CAK 2.0) * algoritmus - vyvojovy diagram * vypocetni slozitost * evaluace - data od Seznamu, 'nase' data (CAk 2.0) * ukazka * 13. rijna nanecisto ====== Otázky ====== - Jak moc bolestné bylo rozchodit a spustit ''tool_chain''. --- //[[hladka@ufal.mff.cuni.cz|hladka]] 06.4.2008 21:04// * tool_chain nebyl tak hrozny, spis me trvalo nainstalovat linux a btred, jsem z windowsu zvykly vsechno instalovat na dve kliknuti a najednou to po me chce kompilator cecka a cosi linkovat a konfigurovat a vubec. To je jako kdybych si chtel koupit grafickou kartu a dosal pul kila kremiku a pajku. Ale aspon jsem se naucil neco noveho. - Můžete prosím na wiki zveřejnit tu sadu pravidel, kterou jste sestavil? --- //[[hladka@ufal.mff.cuni.cz|hladka]] 06.4.2008 21:06// * mam to napsane na papire, prepisu to rovnou do toho formatu a uploadnu to sem hned jak to budu mit. Predbezna verze souboru je [[http://www.ms.mff.cuni.cz/~rovev6am/conditions.txt|Tady]]. Bude hojne rozsirovana :o)