15.11.2013 Views

Análisis sintáctico conducido por un diccionario de patrones de ...

Análisis sintáctico conducido por un diccionario de patrones de ...

Análisis sintáctico conducido por un diccionario de patrones de ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Consi<strong>de</strong>ración <strong>de</strong> las reglas pon<strong>de</strong>radas<br />

nominal al que le sigue faltando <strong>un</strong> modificador posterior). Todos los constituyentes<br />

que están completos se guardan en <strong>un</strong>a lista hasta que son requeridos <strong>por</strong> el analizador<br />

NP<br />

NP<br />

Det Sust Adj<br />

Det Sust Adj<br />

el niño pequeño<br />

el niño pequeño<br />

Figura 21. Representaciones <strong>de</strong> árbol y <strong>de</strong> tabla para el grupo<br />

nominal<br />

El niño pequeño.<br />

<strong>de</strong> tabla. Cuando el último arco activo se completa, termina el reconocimiento.<br />

[Allen, 95] consi<strong>de</strong>ra que los analizadores <strong>sintáctico</strong>s basados en tabla son<br />

más eficaces que los que se basan solamente en búsqueda ascen<strong>de</strong>nte o <strong>de</strong>scen<strong>de</strong>nte<br />

<strong>de</strong>bido a que <strong>un</strong> mismo constituyente n<strong>un</strong>ca se construye más <strong>de</strong> <strong>un</strong>a vez, a<strong>un</strong>que<br />

claro está que la eficiencia práctica <strong>de</strong>pen<strong>de</strong>rá <strong>de</strong> la forma en que se implemente, las<br />

estructuras <strong>de</strong> datos que se empleen, el lenguaje <strong>de</strong> programación y la máquina<br />

específica.<br />

Dadas las restricciones que impone <strong>de</strong> <strong>por</strong> sí <strong>un</strong>a gramática in<strong>de</strong>pendiente <strong>de</strong>l<br />

contexto, escogimos este algoritmo <strong>de</strong> tabla como <strong>un</strong> analizador eficiente y simple<br />

para nuestro objetivo. Uno <strong>de</strong> los algoritmos ascen<strong>de</strong>ntes mejor conocidos <strong>por</strong> su<br />

po<strong>de</strong>r para analizar cualquier gramática in<strong>de</strong>pendiente <strong>de</strong>l contexto es el algoritmo<br />

CKY [Kasami, 65; Yo<strong>un</strong>ger, 67] pero no es eficiente. En cambio con manejo <strong>de</strong> tabla<br />

es muy conocido <strong>por</strong> su eficiencia e implementación [Eisner, 96], [Sikkel & Akker,<br />

93]. Para los teóricos la eficiencia se refiere a que en el peor caso requiere <strong>un</strong> tiempo<br />

O(n 3 ) y para <strong>un</strong>a gramática <strong>de</strong> tamaño fijo requiere <strong>un</strong> tiempo O(n 2 ) [Kay, 80], don<strong>de</strong><br />

n es el número <strong>de</strong> palabras <strong>de</strong> la oración.<br />

El algoritmo CKY emplea <strong>un</strong>a gramática en forma especial, la Forma Normal<br />

<strong>de</strong> Chomsky (CNF en inglés). En las gramáticas CNF, las reglas <strong>de</strong> producción son<br />

<strong>de</strong>l tipo A → BC o A → a. Cualquier gramática in<strong>de</strong>pendiente <strong>de</strong>l contexto en CNF<br />

pue<strong>de</strong> generar <strong>un</strong> lenguaje in<strong>de</strong>pendiente <strong>de</strong>l contexto. Para convertir <strong>un</strong>a gramática<br />

in<strong>de</strong>pendiente <strong>de</strong>l contexto a la forma normal <strong>de</strong> Chomsky se requieren los siguientes<br />

pasos:<br />

1. Añadir <strong>un</strong> nuevo símbolo inicial.<br />

219

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

Saved successfully!

Ooh no, something went wrong!