23.07.2013 Views

všechny slajdy

všechny slajdy

všechny slajdy

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!