všechny slajdy
všechny slajdy
všechny slajdy
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Obsah:<br />
Algoritmy syntaktické anal´yzy (pomocí CFG)<br />
Vladimír Kadlec, Aleˇs Horák<br />
E-mail: hales@fi.muni.cz<br />
http://nlp.fi.muni.cz/poc lingv/<br />
◮ Základní postupy pro syntaktickou anal´yzu obecn´ych CFG<br />
◮ Algoritmus CKY<br />
◮ Tabulkové analyzátory<br />
◮ Tomit˚uv zobecněn´y analyzátor LR<br />
◮ Porovnání jednotliv´ych algoritm˚u<br />
Úvod do počítačové lingvistiky 8/11 1 / 20<br />
Základní postupy pro syntaktickou anal´yzu obecn´ych CFG<br />
Syntaktická anal´yza<br />
◮ Vstupy:<br />
• ˇretězec lexikálních kategoríí (preterminálních symbol˚u) a1 a2 ... an;<br />
• bezkontextová gramatika G = 〈N, Σ, P, S 〉.<br />
◮ V´ystup:<br />
• efektivní reprezentace derivačních strom˚u.<br />
Úvod do počítačové lingvistiky 8/11 3 / 20<br />
Základní postupy pro syntaktickou anal´yzu obecn´ych CFG<br />
Základní postupy pro syntaktickou anal´yzu obecn´ych<br />
bezkontextov´ych gramatik<br />
◮ vˇsechny uvedené algoritmy pracují s polynomiální časovou a<br />
prostorovou sloˇzitostí<br />
◮ algoritmus CKY – Cocke, Kasami, Younger;<br />
◮ tabulková (chart) anal´yza (neplést s LR tabulkou):<br />
• shora dol˚u (top-down);<br />
• zdola nahoru (bottom-up);<br />
• anal´yza ˇrízená hlavou pravidla (head-driven);<br />
◮ Tomit˚uv zobecněn´y algoritmus LR.<br />
Algoritmus CKY<br />
Úvod do počítačové lingvistiky 8/11 2 / 20<br />
Algoritmus CKY<br />
◮ Gramatika musí b´yt v Chomského normální formě.<br />
CNF (kaˇzdá CFG jde do ní pˇrevést): A → BC<br />
D → ‘d’<br />
◮ Derivujeme ˇretězce symbol˚u délky q na p pozici, značíme wp,q.<br />
◮ Derivace ˇretězc˚u délky 1, A ⇒ wp,1, je prováděno prohledáváním<br />
terminálních pravidel.<br />
◮ Derivace delˇsích ˇretězc˚u A ⇒ ∗ wp,q, q ≥ 2 vyˇzaduje aby platilo<br />
A ⇒ BC ⇒ ∗ wp,q. Tedy z B derivujeme ˇretězec délky k, 1 ≤ k ≤ q, a<br />
z C derivujeme zbytek, ˇretězec délky q − k. Tzn. B ⇒ ∗ wp,k a<br />
C ⇒ ∗ wp+k,q−k. Kratˇsí ˇretězce máme tedy vˇzdy “pˇredočítané.”<br />
Úvod do počítačové lingvistiky 8/11 4 / 20