[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

This is an old revision of the document!


Table of Contents

Zadání

Schůzky

Vzkazy

Postup

Nejasnosti
Prvni naznak algoritmu
  1. Rozparsovat vstup z tool-chainu - pravdepodobne staci chytat tagy <f> a v nich <t>, mozna by se hodily i <r> a <g> (id tokenu + ukazatel na nadrazeny token) ale asi to nespada do morfologie. tool_chain na vystupu nevydava <t>, pokud je v datech <t>, tak obsahuje znacku doplnenou rucne, tedy lidmi. tool_chain dava na vystupu <MDt>, tj., vystup automaticke procedury. (hladka 25.3.2008 09:25)

Oprava: Ve vystupu tool_chainu najit tag <s> pro vetu a nasledne vybirat tagy <f>, resp <d> pro tokeny, v nich z <MDl> vybrat lemma, z <MDt> tagy. Ano, pochopil jste strukturu vystupu spravne.hladka 06.4.2008 20:58

  1. 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 25.3.2008 09:31)
  2. 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 <t>), 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.

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 25.3.2008 09:31)

Hotovo
Dale

Nejdriv bych dotahl program do zakladni verze ktera bude implementovat vyse popsany algoritmus, potom s jeho pomoci prijde na radu pridavani a upravovani pravidel a celeho algoritmu :o), na konec detaily jako miliony optionu programu aby to vypadalo slozite, utilitu pro spravu souboru s podminkami aby to uzivatel nemusel psat rucne atp.

Otazky

- Jak moc bolestne bylo rozchodit a spustit tool_chain ?


[ Back to the navigation ] [ Back to the content ]