En lenguaje informático o NLP , el parsing ( parsing sintáctico ) se refiere al proceso de análisis automatizado de una cadena de palabras, que representa una frase, para obtener la relación entre la coexistencia de estas palabras a través de un árbol de sintaxis . Al comenzar desde texto plano, este último debe haber sido segmentado en unidades léxicas de antemano ( tokenización ). Habitualmente se realiza un análisis léxico ( lematización , análisis morfosintáctico ...) antes del análisis sintáctico propiamente dicho, con el fin de identificar las unidades léxicas y sus propiedades. El resultado del análisis se usa típicamente como base en el análisis semántico , construyendo una representación del significado del texto, o directamente en aplicaciones como la corrección gramatical .
Para un sistema de respuesta a preguntas o búsqueda de información , sería difícil, por ejemplo, responder correctamente a la pregunta "¿qué obras fueron escritas por autores francófonos antes de 1900?" "Sin reconocer el tema" obras ", porque en particular debe entenderse que el usuario quiere una lista de obras y no una lista de autores.
El proceso de análisis puede basarse en una gramática formal y / o utilizar métodos estadísticos .
El análisis se remonta a los inicios de la investigación de la PNL, ya que uno de los primeros algoritmos de análisis fue introducido por Victor Yngve en 1955, incluso antes del desarrollo de la teoría del lenguaje formal por Noam Chomsky en 1956. Por lo tanto, los analizadores sintácticos creados se basarán en gramáticas formales, particularmente aquellas llamadas fuera de contexto o tipo 2 . Entre otros, John Cocke inventó un algoritmo de programación dinámica en 1960, que luego fue formalizado por T. Kasami (1965) y DH Younger (1967): el famoso algoritmo CKY , que analiza una secuencia en tiempo cúbico utilizando gramáticas de forma normal de Chomsky . Esta última es de tipo mixto, es decir combinando las estrategias bottom-up y top-down, individualmente menos efectivas.
Al mismo tiempo, en los años sesenta, surgieron otros formalismos dedicados al análisis sintáctico, entre ellos gramáticas de dependencia inspiradas en Lucien Tesnière (1959) y formalizadas sobre todo por David Hays (1960). Poco después de N. Chomsky, John Backus (1959) y Peter Naur (1960) reinventaron de forma independiente gramáticas libres de contexto en su descripción del lenguaje ALGOL , dando lugar a la famosa forma Backus-Naur . En 1968, Jay Earley inventó el primer algoritmo de análisis de tiempo cúbico para todas las gramáticas libres de contexto (no necesariamente en forma normal). Al mismo tiempo, R. Kaplan y M. Kay generalizaron el algoritmo CKY a todas las gramáticas libres de contexto para convertirlo en el analizador de gráficos , utilizando un gráfico. Entre los algoritmos similares a los dos anteriores, también podemos citar el analizador de la esquina izquierda , en referencia al primer símbolo de la parte derecha de una regla de producción.
Muchos otros formalismos se desarrollaron durante los años 1970-1980, incluidas las redes de transición aumentadas (ATN) y las gramáticas de unificación (gramáticas basadas en restricciones ). Una representación en las dependencias de este último fue propuesta originalmente por H. Maruyama. Durante la década de 1990, los desarrollos se centraron principalmente en los métodos estadísticos, incluido un trabajo significativo sobre gramáticas probabilísticas libres de contexto (PCFG), uno de los modelos más influyentes de análisis estadístico, que se basa en una gramática formal, incluidos los principales problemas son la ignorancia de la información semántica y la hipótesis de independencia del apego estructural de las frases. Algunos enfoques más recientes han permitido mejorar las debilidades de los PCFG mediante la lexicalización de la gramática o el uso de un conjunto más preciso de símbolos no terminales, entre otros. Del lado de la representación en dependencias, Jason Eisner propuso el primer algoritmo estocástico de influencia.
Para los métodos que no requieren la intervención de una gramática, los modelos se inducen directamente a partir de datos anotados ( corpus ), lo que facilita la portabilidad de los sistemas a nuevos lenguajes o dominios. Aunque esta última posibilidad se utiliza principalmente en la actualidad, los métodos basados en gramáticas todavía se utilizan cuando no hay suficientes datos anotados necesarios para el funcionamiento de los métodos supervisados. Cabe señalar de paso que una gramática puede extraerse muy bien de datos lingüísticos; los métodos basados en la gramática ( análisis basado en gramática ) y los guiados por datos ( análisis basado en datos ) no son mutuamente excluyentes. La categorización sugerida de métodos estadísticos de análisis se usa ampliamente en el campo de la PNL.
Analizar es una tarea no trivial, principalmente debido a la ambigüedad inherente del lenguaje y su diversidad. Se dice que un enunciado es ambiguo si se le pueden asociar varias estructuras lingüísticas.
A continuación, se muestran algunos ejemplos de ambigüedades estructurales :
"John vio al hombre en la colina con un telescopio"
En esta oración, el adjunto de la frase preposicional es ambiguo, y no se sabe si John usó un telescopio para ver al hombre, o si John vio a un hombre él mismo usando un telescopio.
"¿A quién le prometiste escribir?" "
La pregunta anterior podría parafrasearse de dos maneras: "¿A quién prometiste escribir?" O "¿A quién prometiste escribir?" "; no se sabe si la persona en cuestión le escribirá a alguien, o si le ha prometido a alguien escribir (algo).
Incluso si el objetivo de analizar un lenguaje determinista formal (por ejemplo, lenguaje de programación ) es idéntico al de analizar el lenguaje natural, la tarea es mucho más difícil en el segundo caso.
Primero, la capacidad generativa de una gramática - su poder - es mucho menor en el caso de los lenguajes de computadora, porque estos deben ser estrictamente inequívocos y rápidamente analizables (por lo tanto, la gramática está restringida). En comparación, una gramática destinada al lenguaje natural debe, por ejemplo, permitir expresar dependencias entre palabras que están muy separadas unas de otras; por tanto, es más complejo.
En segundo lugar, debido a que el lenguaje natural adolece de ambigüedad estructural, en cada paso del análisis es probable que se apliquen varias reglas gramaticales. Por lo tanto, una oración como "Juan vio al hombre [en la colina] [con un telescopio] [acompañado de su hija] [...]" hará que el número de sus posibles análisis aumente exponencialmente con el número de componentes agregados. . Por cierto, esta es una de las razones que ha impulsado el desarrollo de métodos estadísticos.
La última diferencia notable está en la validez de la secuencia de entrada: un lenguaje de programación tiene un número finito de construcciones válidas, mientras que es ilimitado para un lenguaje natural. Por tanto, en el caso de la PNL existe la imposibilidad de realizar un análisis, error que no se debe necesariamente a una gramática inadecuada, sino posiblemente a un error gramatical, un error tipográfico, una palabra desconocida, etc.
Además de estas disimilitudes caricaturescas, existen muchas otras, como la delimitación estricta de "oraciones" (enunciados, bloques) y palabras en el caso de lenguajes formales con caracteres bien definidos.
La mayoría de los primeros sistemas de análisis se basan exclusivamente en una gramática libre de contexto ( gramática libre de contexto ) para generar estructuras sintácticas correctas, aunque este tipo de gramática no es suficiente para generar el lenguaje natural como un todo. Juntos, es necesario tener un algoritmo que dicte cómo se producirán estas estructuras de manera eficiente. En este contexto, se usa ampliamente el algoritmo de programación dinámica CKY , en el que los subproblemas, mantenidos en una matriz, están representados por árboles de sintaxis parcial enraizados en las frases de la oración de entrada. Gracias a la naturaleza independiente del contexto de las gramáticas, es posible reutilizar una subestructura en derivaciones posteriores que lo requieran, haciendo posible la programación dinámica. Los algoritmos que compiten con CKY son los de Earley y el análisis de gráficos .
El problema de los algoritmos asimilados a CKY es su incapacidad para resolver ambigüedades estructurales (ver apartado de “ dificultades ”), aunque es posible detectarlas. Para superar esta carencia, es necesario agregar un componente estadístico al modelo; si cada regla va acompañada de una probabilidad , basta con seleccionar la que tenga mayor probabilidad en caso de ambigüedad. Como tal, el formalismo más comúnmente utilizado es la gramática libre de contexto probabilística (PCFG). Existe una versión probabilística del algoritmo CKY, descrito sobre todo por H. Ney. La inferencia exacta requiere un tiempo en , donde está el número de reglas gramaticales.
Sin embargo, el modelo PCFG es relativamente limitado en su capacidad para sobresalir, porque impone fuertes supuestos de independencia. El principal problema es que la probabilidad de una regla en particular es independiente del contexto en el que se produce; por ejemplo, la probabilidad de que un sintagma nominal se extienda a un pronombre (regla ) permanece constante, que este sintagma se encuentre en la posición de sujeto u objeto, mientras que la primera posibilidad es mucho más frecuente para ciertos lenguajes. Por otro lado, si dos estructuras diferentes usan exactamente las mismas reglas, obtendrán la misma probabilidad; sin embargo, para la misma oración (por lo tanto, las mismas reglas), a menudo hay una estructura que se prefiere a otra (cuando existen varias posibilidades), algo que no se transmite por el formalismo del PCFG.
Se propusieron varios modelos para resolver los problemas mencionados anteriormente. Uno de los más influyentes es el de Michael Collins , llamado LPCFG o, en ocasiones , dirigido por la cabeza , que consiste en lexicalizar la gramática mediante la elección de un elemento preponderante ( regla principal ) para cada regla de la gramática. De esta manera, cada nodo padre del árbol de sintaxis es "parametrizado" por una palabra de la oración; por ejemplo, podría convertirse en una regla para un PCFG si "el perro" es parte de la oración a analizar. Como es la consideración primordial para esta regla, el padre hereda la palabra "perro".
La anotación de los nodos no terminales de un PCFG, conocida como anotación padre , también ha sido muy exitosa para el análisis de componentes, porque la precisión de los sistemas que implementan esta técnica es similar a los basados en LPCFG, con menor complejidad. Tal anotación podría ser, por ejemplo, si compone una frase preposicional.
Otra solución a la falta de sensibilidad estructural de los PCFG es el análisis sintáctico orientado a datos (DOP) establecido por Remko Scha y Rens Bod. El principio es analizar oraciones combinando fragmentos de análisis de oraciones cuya estructura se conoce, como los que provienen de un corpus.
Existen dos clases de modelos probabilísticos: los conocidos como generativos , como los LPCFG, y los conocidos como discriminantes (consulte la sección “ modelos de análisis estadístico ” para obtener más detalles).
Avec l'approche classique, l'analyse d'une phrase peut donner lieu à des millions d'arbres syntaxiques possibles en raison de la grande taille de la grammaire, avec l'impossibilité de choisir lequel reflète au mieux la structure de la phrase en pregunta. Si se agregan restricciones a esta gramática para restringir el número de análisis posibles, algunas de las oraciones analizadas corren el riesgo de no tener una estructura correspondiente. El enfoque estadístico tiene la ventaja de tolerar millones de análisis, al tiempo que tiene la posibilidad de seleccionar el mejor en un tiempo razonable; como tal, a menudo es necesario reducir el espacio de búsqueda a lo largo del proceso de análisis, eliminando análisis parciales poco probables lo antes posible.
Hoy en día, las gramáticas (por sí solas) ya casi no se utilizan, y los enfoques en el campo de la PNL se basan principalmente en técnicas de aprendizaje automático .
Además, como la formalización de los fenómenos lingüísticos es laboriosa, las técnicas estadísticas han aportado la enorme ventaja de extraer el conocimiento lingüístico directamente de muestras (reales) de datos. Y si la construcción de un corpus ( banco de árboles ) es más tediosa que la construcción de una gramática, la primera tiene la ventaja de ser reutilizable en otros sistemas (incluidos los analizadores morfosintácticos), lo que explica en parte el desinterés en lo que respecta a las gramáticas. Además, los datos contienen estadísticas implícitamente y la evaluación de un sistema es fácil. Tenga en cuenta que una gramática puede extraerse muy bien de datos lingüísticos; Los métodos basados en gramáticas ( análisis basado en gramática ) y los guiados por datos ( análisis basado en datos ), hoy en día en la mayoría, no son, por lo tanto, mutuamente excluyentes.
Si bien se utilizan técnicas estadísticas para eliminar la ambigüedad, si es necesario, el proceso de análisis, el espacio de búsqueda solo puede explorarse en su totalidad en muy raras ocasiones, y es necesario limitarlo por razones de eficiencia.
Podemos representar un analizador sintáctico mediante una función , donde es el conjunto de posibles entradas, sabiendo que representa una secuencia de entrada , y es el conjunto de representaciones sintácticas admisibles. Tenga en cuenta que la naturaleza de la representación de un análisis es específica de la teoría utilizada, al igual que su criterio de admisibilidad.
Conceptualmente, un modelo de análisis se puede dividir en dos partes:
Los dos componentes generalmente tienen parámetros cuyos valores serán estimados estadísticamente, comenzando por el análisis de datos representativos, llamado conjunto de entrenamiento , con el fin de hacer un buen estimador del corresponsal. Esta es la etapa de aprendizaje modelo, que puede ser supervisada o no supervisada (a veces semi-supervisada ); El aprendizaje supervisado requiere que el análisis correcto esté presente en los datos. Por lo tanto, toda la dificultad de este paso es utilizar correctamente la evidencia parcial, contenida en los datos, para crear una distribución de probabilidad que refleje la realidad lo más fielmente posible. A partir de la función , inferida cuando se aprende el modelo, el segundo paso consiste en ordenar eficientemente los análisis candidatos para una oración de entrada dada (no publicada): este es el problema de inferencia . Este último puede ser exacto o aproximado, dependiendo de las garantías que brinde el algoritmo utilizado.
A menudo es necesario encontrar un compromiso justo entre la complejidad del modelo y la falta de precisión de las soluciones generadas. De paso, tenga en cuenta el hecho de que el conjunto es probablemente muy grande y que cada uno es un objeto con una rica estructura interna; este hallazgo contrasta con un simple problema de clasificación, para el cual sería mucho menor. Los sistemas que utilizan un algoritmo de aprendizaje supervisado son mucho más comunes porque son mucho más eficientes.
Además, dos grandes clases de modelos se oponen en el aprendizaje automático, no necesariamente vinculados a los componentes generativos y evaluativos mencionados anteriormente: la primera posibilidad, denominada generativa , es ver el proceso de análisis como un sistema de reescritura probabilística, donde el objetivo es producir una (o más) estructura (s) de acuerdo con una entrada determinada; en cada paso, se deben elegir las mejores alternativas para obtener la estructura más probable al final del análisis. Aquí, el objetivo es maximizar la probabilidad conjunta , cualquiera que sea y , modelando y , luego recombinándolos con la regla de Bayes (caso de PCFG). La segunda posibilidad, llamada discriminante , es ver la gramática como un conjunto de restricciones sobre las estructuras correctas y la secuencia de entrada como una restricción sobre la posición de las palabras; El análisis debe entonces resolver estas restricciones, luego seleccionar la estructura sintáctica más probable entre las que mejor se ajustan a las restricciones. En este caso, intentamos modelar la probabilidad condicional directamente a partir de los datos. Nuevamente, los dos enfoques pueden combinarse secuencialmente ( reordenando ).
Modelos generativosLa derivación de la estructura sintáctica está modelada por un proceso estocástico para el cual cada paso depende de eventos que han surgido en el pasado (histórico). La forma general de tales modelos, inicialmente mencionada por G. Leech, es la siguiente:
y=⟨D1,D2,...,Dmetro⟩{\ displaystyle {\ boldsymbol {y}} = {\ big \ langle} d_ {1}, d_ {2}, \ dots, d_ {m} {\ big \ rangle}} PAG(y)=∏I=1metroPAG(DI|Φ(D1,...,DI-1)){\ Displaystyle P {\ big (} {\ boldsymbol {y}} {\ big)} = \ prod _ {i = 1} ^ {m} P {\ big (} d_ {i} | \ Phi (d_ { 1}, \ dots, d_ {i-1}) {\ big)}} donde la función define qué eventos históricos se tienen en cuenta. Aunque este suele ser el caso, el componente generativo es un sistema de derivaciones que no está necesariamente limitado por una gramática formal (el modelo de analizador de IDP es un ejemplo). La evaluación se realiza de acuerdo con la probabilidad conjunta, factorizada en probabilidades condicionales. Tenga en cuenta que se reduce a porque, para una estructura dada, la probabilidad es igual a si es la única oración correspondiente a esta estructura; por lo tanto, si genera , o en todos los demás casos.Los modelos generativos imponen supuestos rígidos de independencia, lo que impacta en la desambiguación (típicamente PCFG). Sin embargo, la adaptación de estos supuestos da modelos más complejos y la inferencia exacta ya no es posible (ver también la sección “ métodos asistidos por estadísticas ”). Básicamente, este tipo de modelo tiene que predecir la siguiente palabra a medida que avanza el análisis, lo que requiere una normalización global en todo el vocabulario y, a menudo, un grupo más grande (si lo hay), de modo que pueda "probar" una gran cantidad de estructuras en el parte de una oración que incluye la palabra predicha. Además, el entrenamiento de modelos generativos busca la mayor parte del tiempo maximizar la probabilidad conjunta de las entradas-salidas del conjunto de entrenamiento; sin embargo, el objetivo del análisis es maximizar la precisión del modelo para oraciones no publicadas. Por estas razones, los modelos discriminatorios se utilizan cada vez más.
Modelos de discriminación localEl objetivo de estos modelos es maximizar la probabilidad de decisiones locales , esperando llegar a la mejor solución global gracias a la sucesión de decisiones óptimas (locales), como modelos generativos basados en una historia:
y=⟨D1,D2,...,Dmetro⟩{\ displaystyle {\ boldsymbol {y}} = {\ big \ langle} d_ {1}, d_ {2}, \ dots, d_ {m} {\ big \ rangle}} PAG(y|X)=∏I=1metroPAG(DI|Φ(D1,...,DI-1,X)){\ Displaystyle P {\ big (} {\ boldsymbol {y}} | {\ boldsymbol {x}} {\ big)} = \ prod _ {i = 1} ^ {m} P {\ big (} d_ { i} | \ Phi (d_ {1}, \ dots, d_ {i-1}, {\ boldsymbol {x}}) {\ big)}}Aquí, la función representa propiedades / rasgos arbitrarios según el historial de decisiones tomadas
y la entrada ; en otras palabras, definimos una clase de equivalencia para cualquier combinación de historia y entrada. Al emplear métodos de pronóstico en la entrada, algunos analizadores abordan el análisis determinista (predictivo). Para este tipo de modelo, el componente generativo consiste en un proceso incremental (por ejemplo, un autómata), mientras que el componente evaluativo debe ser capaz de asignar un puntaje a una decisión local dada, y combinar estos puntajes en puntajes globales, evaluando una secuencia completa de transiciones.A veces, este tipo de modelo se llama "generativo" porque implica supuestos de independencia como modelos verdaderamente generativos - modelando la probabilidad conjunta - pero sobre decisiones locales , no decisiones globales. El enfoque local tiene la ventaja de favorecer la consideración de rasgos característicos útiles para la desambiguación, el principal problema de los verdaderos modelos generativos. Esta categoría de modelos permite obtener analizadores mucho más rápido que los basados en modelos generativos (por ejemplo, del orden de 35x).
Modelos discriminantesEsta clase de modelos típicamente define la función de evaluación como el producto de un vector de rasgos (características) y un vector de pesos :
S(X,y)=F(X,y)⋅w=∑k=1metroFk(X,y)⋅wk{\ displaystyle S ({\ boldsymbol {x}}, {\ boldsymbol {y}}) \; = \; \ mathbf {f} ({\ boldsymbol {x}}, {\ boldsymbol {y}}) \ cdot {\ boldsymbol {w}} \; = \; \ sum _ {k = 1} ^ {m} f_ {k} ({\ boldsymbol {x}}, {\ boldsymbol {y}}) \ cdot w_ {k }}donde cada uno representa una característica de y , y cada uno cuantifica la importancia de la característica para un análisis óptimo. Si este peso es negativo, la característica sirve para el análisis, mientras que en caso contrario, la característica influye positivamente en el análisis óptimo. La naturaleza de las características
no está limitada; la única restricción es poder codificarlos en formato digital. Por ejemplo, se puede utilizar la puntuación proporcionada por otro analizador como característica, o tener en cuenta la presencia / ausencia de una subestructura.Por lo tanto, un modelo verdaderamente discriminatorio define una puntuación única en la estructura general de un análisis. La ventaja es poder observar las propiedades
globales de las estructuras sintácticas y poder tener en cuenta (agregar) nuevas restricciones sin alterar la derivación del modelo. Para esta clase, el componente generativo es bastante variable de un sistema a otro, mientras que el componente de evaluación se establece mediante una combinación lineal de características ponderadas, no restringidas por ningún proceso, y cuyos pesos son fijados por un modelo de aprendizaje discriminatorio.El inconveniente de este tipo de modelo es la necesidad de volver a analizar el conjunto de entrenamiento en cada iteración, lo que naturalmente consume muchos recursos. Ciertos enfoques, conocidos como reordenamiento , se han contentado con utilizar este tipo de modelo solo para un subconjunto de , obtenido a sí mismo mediante un modelo generativo. Sin embargo, el mejor análisis no se encuentra necesariamente en este último subconjunto, lo que hace que no sea una técnica ideal. Sin embargo, los problemas de eficiencia son menos marcados en el análisis de dependencias que en el de constituyentes, y se utilizan mucho en el primer caso donde la inferencia exacta es incluso posible bajo ciertas condiciones (ver apartado "
métodos basados en gráficos ").Actualmente, la representación más popular de estructuras sintácticas es la de dependencias , debido al buen compromiso entre expresividad y eficiencia de los algoritmos que ofrece, y el rendimiento obtenido para una amplia variedad de lenguajes. Con esta representación, muy a menudo se utilizan modelos probabilísticos discriminantes o discriminantes localmente, a diferencia de la representación en constituyentes , para los que los modelos generativos son más competitivos. Sin embargo, es interesante notar que ciertos sistemas recientes (por ejemplo ) , particularmente potentes, se basan en el ensamblaje de modelos de diferentes tipos (técnica de ensamblaje o combinación de sistemas ).
La gran mayoría de los modelos de análisis de dependencia estadística se pueden clasificar en dos familias:
En el primer caso, la estrategia es encontrar la mejor solución local (enfoque codicioso ), mientras que en el segundo caso, el razonamiento adquiere la apariencia de una búsqueda exhaustiva . Además, el primer método a veces se denomina análisis sintáctico con reducción de cambios , que recibe su nombre del algoritmo de
análisis sintáctico utilizado por muchas implementaciones. Es un método muy popular debido a su excelente eficiencia: la complejidad del algoritmo de análisis típico es lineal (en relación con el número de palabras en la oración de entrada). En cuanto al segundo método, a veces se encuentra bajo el nombre de análisis sintáctico máximo de árbol de expansión ( MST ), que corresponde al nombre del algoritmo utilizado por el sistema que introdujo esta técnica. En 2015, Jinho Choi et al. estudió el rendimiento de diez analizadores de dependencia competitivos, en detalle y utilizando diferentes métricas. Métodos basados en transicionesLos modelos basados en transiciones son modelos de discriminación local con aprendizaje discriminante, en el sentido de que solo se extrae de la distribución probabilística la estimación del análisis final , por ejemplo, utilizando una superficie de decisión. Esto contrasta con los modelos condicionales, donde se optimizaría toda
la densidad de probabilidad condicional . Suponiendo una función de evaluación que asigna una puntuación a las posibles transiciones según un patrón, representado por un vector , así como un medio para evaluar una secuencia completa de transiciones, el análisis equivale a encontrar la secuencia que tiene la puntuación más alta. Como tal, la mayoría de los sistemas implementan una búsqueda de haz.Un método muy popular para el análisis de estructuras de dependencia es el uso de un clasificador (entrenado en un corpus), para predecir la siguiente acción ejecutada por un algoritmo de análisis determinista. Este enfoque a veces se denomina "pseudodeterminista", en referencia a los algoritmos de análisis deterministas aplicados a gramáticas no ambiguas ( lenguajes formales ). En el caso que nos ocupa, el espacio de búsqueda está intrínsecamente limitado por el método del algoritmo, ya que una sola acción elegida implica el abandono de todas las demás; Debido a este enfoque codicioso, la poda es muy agresiva. Esta fortaleza también es una desventaja, ya que una elección incorrecta temprana puede afectar negativamente el análisis final.
Un sistema de análisis basado en clasificadores consta de tres ingredientes esenciales:
Este enfoque fue iniciado por T. Kudo e Y. Matsumoto, quienes propusieron una implementación acoplada a un clasificador de tipo de máquina de vector de soporte , para el análisis de dependencia sin etiquetar del japonés. Utilizando la base del algoritmo de Joakim Nivre, la idea se extendió posteriormente de forma iterativa a dependencias etiquetadas para sueco, luego para inglés, luego 19 idiomas, antes de optimizarse para formar el software MaltParser . Los primeros algoritmos se limitan a estructuras proyectivas , pero G. Attardi, entre otros, propuso un algoritmo extendido a un subconjunto de estructuras no proyectivas. Como tal, J. Nivre ofrece una versión de reordenamiento en línea de su sistema de transiciones, mientras que otros enfoques implican una descomposición en (sub) árboles de dependencias planas y el análisis de cada plan por separado ( análisis sintáctico mltiplanar ). Otra solución implica el procesamiento previo / posterior de los datos (llamado pseudoproyectivización ).
Los principales problemas de este paradigma son la sensibilidad a los errores de búsqueda y la propagación de errores debido al proceso incremental uno a uno. En un intento por mejorar la precisión, mientras se mantiene un análisis altamente eficiente, han surgido varias técnicas. Algunos han relajado el proceso estrictamente determinista, manteniendo los mejores análisis de K ( búsqueda de haz ), a veces asociado con el entrenamiento como una predicción estructurada, mientras que otros han abandonado el análisis puramente secuencial de izquierda a derecha ( análisis fácil primero ), porque la búsqueda de haz ralentiza sustancialmente el análisis. Con el mismo objetivo, J. Nivre experimentó con el uso de un oráculo dinámico, tanto no determinista como completo (a diferencia de los oráculos estáticos habituales), para su sistema de transiciones ávidas de
arco . Sin embargo, estos oráculos inducen una gran complejidad cuando se usan con sistemas generales (no limitados a estructuras proyectivas), y no siempre es posible derivarlos. Por esta razón, M. Straka et al. han introducido una nueva clase de oráculos denominados oráculos basados en búsquedas , que es una aproximación de los oráculos dinámicos.En la práctica, se definen modelos probabilísticos para cada acción del algoritmo de análisis, según su contexto actual; sin embargo, los modelos basados en un historial de acciones (o transiciones) deben hacer frente a una cantidad ilimitada de información, lo que hace imposible el modelado probabilístico. Este problema generalmente se resuelve limitando la historia a un conjunto finito de características. En este punto, la mayor dificultad radica en la elección de la representación de esta historia, es decir, su visión general, a partir de la cual se puede estimar adecuadamente la probabilidad de la próxima acción. Como esta probabilidad es independiente de cualquier información sobre el historial que no esté contenida en su descripción general, la calidad del análisis puede verse fuertemente afectada por las características seleccionadas.
La investigación en el campo del análisis estadístico comenzó a mediados de la década de 1990 y se centró principalmente en modelos lineales durante muchos años. Con tales modelos, la puntuación asignada a un análisis se calcula de acuerdo con una combinación de rasgos estructurales o características morfológicas, cuya representación es naturalmente escasa , relacionada con la estructura en cuestión. Sin embargo, esto requiere una selección manual, plausiblemente tediosa, de las combinaciones de rasgos que se incluirán en la evaluación, antes del uso de un algoritmo de aprendizaje. Por tanto, adaptar estos modelos a nuevos lenguajes o nuevos campos es difícil y caro; además, olvidar una característica importante puede tener un impacto muy negativo en la precisión (problema de incompletitud). Además, los analizadores dedican la mayor parte de su tiempo a extraer características, no al análisis en sí. Todas estas razones han motivado el desarrollo de modelos no lineales , capaces de inducir automáticamente una combinación adecuada de rasgos predictivos; en tales casos, una red neuronal artificial en segundo lugar o en su mayoría reemplaza al clasificador lineal . Con la mayoría de los modelos, sin embargo, es necesario proporcionarles un pequeño número (aprox. 10-20) de características dinámicas simples (es decir, no combinadas). Este enfoque fue iniciado por James Henderson a principios de la década de 2000, luego se profundizó en 2007 con un analizador basado en un modelo probabilístico puramente generativo y equipado con un ISBN ( red de creencias sigmoideas incrementales ) para la extracción de características, bastante cercano a 'una dinámica bayesiana red . La ventaja de esta técnica es obtener una representación densa de palabras (es decir, incrustación de palabras ), etiquetas morfosintácticas y otras características lingüísticas; esta última representación (de menor dimensión) transmite, por ejemplo, una noción de similitud entre palabras en un espacio dimensional continuo , o incluso todo el historial de análisis cuando la red es recurrente. En resumen, las representaciones densas se benefician de una fuerte capacidad de generalización.
Los modelos de características dinámicas (independientes) mencionados en el párrafo anterior seleccionan elementos lingüísticos (palabras, etiquetas de dependencia, etc.), cuyos vectores de representación ( incrustaciones ) a menudo se concatenan en la entrada de la red neuronal. Si el número de características está sujeto a variaciones, se necesita alguna forma de mantener los vectores de tamaño fijo, ya que la entrada a una red es de tamaño fijo. Se puede, por ejemplo, realizar una media de los vectores (representación mediante “bolsa continua de palabras” o CBOW).
Hoy en día, la extracción de características se realiza con redes de diversa complejidad, compuestas por unidades LSTM , por ejemplo (red LSTM apilada, LSTM bidireccional, etc.), un ISBN, o utilizando redes de no recurrencia, como la primera capa de un multi -perceptrón en capas . Algunos enfoques (llamados basados en caracteres ) incluso aprenden a representar palabras de caracteres individuales, como SyntaxNet ( segunda versión ) y LSTM-Parser.
En cuanto al clasificador en sí, suele ser un perceptrón estructurado, como el sistema SyntaxNet ( Parsey's Cousins ) propuesto por Google, del cual el sistema revisado ( ParseySaurus ) es uno de los más precisos en la actualidad. Estos últimos sistemas se basan inicialmente en el Stanford Parser desarrollado por Danqi Chen y Christopher Manning en 2014, pero integran una red neuronal profunda (y diferentes funciones de activación) con entrenamiento estructurado, sin mencionar el modelo probabilístico con normalización global . O con auto- Estandarización. Pero los sistemas de última generación, como LSTM-Parser o DINN, no utilizan necesariamente una red profunda y utilizan, por ejemplo, una capa softmax como clasificador (predicción de las acciones elementales de análisis).
Métodos basados en gráficosLos modelos de análisis basados en gráficos son modelos discriminantes (consulte la sección “ modelos de análisis estadístico ”). La ventaja de las estructuras en dependencias, en comparación con las de los constituyentes, es hacer que este tipo de enfoque sea compatible con la inferencia exacta. De hecho, un enfoque generalizado, propuesto inicialmente por Ryan McDonald et al. , es encontrar el árbol de
expansión de peso máximo en un gráfico completo . Tenga en cuenta que, en estas condiciones, el componente no está modelado por un sistema autónomo, sino por una propiedad de la teoría de grafos . Sin embargo, la inferencia exacta presupone limitar el alcance de las características a los subgrafos; por tanto, se han desarrollado otras técnicas de aproximación. En comparación con los modelos basados en transiciones, la ventaja de este tipo de modelo es la observación, en teoría, de propiedades sobre toda la estructura global y / o la oración de entrada sin restricciones, mientras que las propiedades se limitan a un contexto estructuralmente local con la primera categoría. .En la práctica, solo los modelos que tratan el puntaje de cada arco de forma aislada - llamados de " 1er orden" o factorizados por arco - son solubles de manera exacta en un tiempo razonable, ya que el menor incremento de estos modelos genera un problema NP-difícil . Esto presupone que cada relación de dependencia es independiente de las demás, lo que está lejos de ser cierto desde el punto de vista lingüístico. Sin embargo, algunos sistemas de 1er orden son extremadamente competitivos en términos de precisión, al igual que los de T. y C. Manning Dozat, basado en un mecanismo de cuidado biafino profundo . La gran mayoría de los sistemas de primer orden se basan en el algoritmo
de Eisner o en el codicioso algoritmo Chu-Liu-Edmonds (CLE). El primero es un algoritmo de programación dinámica derivado de CKY que, por lo tanto, solo encuentra estructuras proyectivas, mientras que el segundo encuentra el árbol de expansión de peso máximo y, por lo tanto, también es capaz de devolver un árbol de dependencias no proyectivo.Para prever una mejora en el rendimiento manteniendo un algoritmo de tiempo polinomial, algunos enfoques han ampliado el gráfico del algoritmo de Eisner, agregando un factor cuadrático a la complejidad con cada aumento en el orden del modelo. La investigación en esta dirección está más o menos de acuerdo con modelos de 4º orden (complejidad temporal ). Más recientes estrategias - y 200x, respectivamente, y 5 veces más rápido que un modelo exacto de la 3
ª fin - explorado podar el espacio de búsqueda con el uso del algoritmo de vid parse ( ) , o el mantenimiento de un conjunto de alternativas integrado en el algoritmo de Eisner (espíritu de la poda en cubos ), entre otros. Estas aproximaciones permiten reducir drásticamente el costo del análisis, mientras se mantiene la precisión en los modelos exactos de 3º o 4º orden.En cuanto a los modelos de orden superior capaces de producir todo tipo de árboles de dependencia (incluidos los no proyectivos), necesariamente pasan por una aproximación, ya sea de decodificación o del espacio de búsqueda. La primera opción incluye sistemas que incorporan postprocesamiento al final del algoritmo Eisner o CLE, que reorganiza los arcos o combina los mejores árboles de expansión, respectivamente. Otros se basan en el principio de descomposición dual, relajación continua , etc. La segunda categoría incluye los procesos que consideran solo una pequeña parte del conjunto de árboles de dependencia no proyectiva, porque algunas estructuras son lingüísticamente improbables y es completamente inútil tratar de producirlas (las últimas se denominan estructuras levemente no proyectivas ). . Sin embargo, se intentaron experimentos menos exitosos con optimización lineal entera (ILP).
Todos estos sistemas utilizan un algoritmo de aprendizaje como el perceptrón estructurado, MIRA (extensión de este último), clasificador de máxima entropía (MaxEnt), etc. La mayoría de los sistemas discutidos en esta sección seleccionan las características de cada subgrafo (por ejemplo, un arco) utilizando modelos preestablecidos (representación escasa). Sin embargo, algunas técnicas recientes emplean una red neuronal para la extracción de características: propagación directa o recurrente ; además, la puntuación ya no se calcula linealmente, sino en particular mediante un perceptrón multicapa , a veces asociado con una transformación bilineal.
Aquí hay una descripción general de la complejidad temporal de analizar algoritmos para estructuras de dependencia. Diferenciamos aquellos capaces de producir solo estructuras proyectivas de algoritmos generales, pero solo consideramos versiones exactas (excluye aproximaciones).
Proy. | No proy. | |
---|---|---|
Análisis basado en la transición |
en la práctica |
|
Análisis basado en gráficos - 1er orden | ||
Análisis basado en gráficos : enésimo orden (n> 1) | FP ... | FNP-completo |
Cualquier sistema de análisis debe evaluarse para medir su rendimiento. Esto se hace realizando el procedimiento de análisis en un conjunto de datos de prueba, diferente del conjunto de entrenamiento (si lo hay) y generalmente mucho más pequeño. Las estructuras producidas por el analizador sintáctico se compararán con las estructuras de referencia ( análisis estándar de oro ), que se consideran los mejores análisis, que son anotados por los lingüistas. Las medidas que se utilizan habitualmente son precisión y recuerdo , a menudo combinadas en una única puntuación denominada puntuación F , que corresponde a la media armónica de precisión ( ) y recuerdo ( ):
F1=(2PAGR)(PAG+R){\ Displaystyle F_ {1} = {\ frac {(2PR)} {(P + R)}}}El método más simple es contar el número de frases para las que la estructura producida es idéntica a la estructura de referencia ( coincidencia exacta ). Esta es una prueba extremadamente dura, en el sentido de que un solo error de etiqueta tiene el mismo impacto que un análisis completamente erróneo; por lo tanto, se prefieren las métricas basadas en una coincidencia parcial, cuya granularidad es más fina.
Las medidas más utilizadas son las relacionadas con las métricas PARSEVAL, contando el número de constituyentes que corresponden a los presentes en la estructura de referencia.
Con respecto a las estructuras de dependencia, la medida comúnmente utilizada es la puntuación de apego , que determina la proporción de palabras correctamente vinculadas al padre correcto, en comparación con la referencia. Existen varias variaciones:
Como cada unidad léxica tiene exactamente un padre, una sola medida es suficiente para calificar la precisión. A nivel de corpus, la puntuación global se puede calcular en la escala de la palabra ( micropromedio ), es decir, sin tener en cuenta la oración a la que pertenece una palabra, o en la escala de la oración ( macropromedio ) , tomando el promedio de las puntuaciones de cada uno de ellos.