Attempto Controlled English ( ACE ) es un lenguaje natural controlado , es decir, un subconjunto del inglés estándar con una sintaxis restringida y una semántica restringida descrita por un pequeño conjunto de reglas de construcción e interpretación. [1] Ha estado en desarrollo en la Universidad de Zúrich desde 1995. En 2013, se anunció la versión 6.7 de ACE. [2]
ACE puede servir como representación de conocimiento , especificación y lenguaje de consulta , y está destinado a profesionales que desean utilizar notaciones formales y métodos formales, pero que quizás no estén familiarizados con ellos. Aunque ACE parece perfectamente natural (cualquier hablante de inglés puede leerlo y entenderlo), en realidad es un lenguaje formal . [1]
ACE y sus herramientas relacionadas se han utilizado en los campos de especificaciones de software , demostración de teoremas , asistentes de prueba , resúmenes de texto , ontologías , reglas, consultas, documentación médica y planificación .
A continuación se muestran algunos ejemplos sencillos:
Las reglas de construcción de ACE requieren que cada sustantivo sea introducido por un determinante ( a , every , no , some , at less 5 , ...). Con respecto a la lista de ejemplos anteriores, las reglas de interpretación de ACE deciden que (1) se interpreta como universalmente cuantificado , mientras que (2) se interpreta como existencialmente cuantificado . Oraciones como "Las mujeres son humanas" no siguen la sintaxis de ACE y, en consecuencia, no son válidas.
Las reglas de interpretación resuelven las referencias anafóricas en (3): el tie y el it de la segunda oración remiten a un nuevo tie de la primera oración, mientras que his y el man de la segunda oración remiten a un man de la primera oración. Así pues, un texto ACE es una entidad coherente de oraciones enlazadas anafóricamente.
El motor de análisis Attempto (APE) traduce textos ACE de forma inequívoca en estructuras de representación del discurso (DRS) que utilizan una variante del lenguaje de la lógica de primer orden . [3] Una DRS se puede traducir a su vez a otros lenguajes formales , por ejemplo AceRules con varias semánticas, [4] OWL , [5] y SWRL . La traducción de un texto ACE a (un fragmento de) lógica de primer orden permite a los usuarios razonar sobre el texto, por ejemplo para verificarlo , validarlo y consultarlo .
A modo de descripción general de la versión actual 6.6 de ACE, esta sección:
El vocabulario de ACE comprende:
La gramática de ACE define y restringe la forma y el significado de las oraciones y los textos de ACE. La gramática de ACE se expresa como un conjunto de reglas de construcción. El significado de las oraciones se describe como un pequeño conjunto de reglas de interpretación. Una Guía de resolución de problemas describe cómo utilizar ACE y cómo evitar errores.
Un texto ACE es una secuencia de oraciones declarativas que pueden interrelacionarse anafóricamente. Además, ACE admite preguntas y órdenes.
Una frase simple afirma que algo es así: un hecho, un acontecimiento, un estado.
Las oraciones ACE simples tienen la siguiente estructura general:
Toda oración tiene un sujeto y un verbo. Los complementos (objetos directos e indirectos) son necesarios para los verbos transitivos ( insertar algo ) y los verbos ditransitivos ( dar algo a alguien ), mientras que los adjuntos (adverbios, frases preposicionales) son opcionales.
Se pueden desarrollar todos los elementos de una oración simple para describir la situación con más detalle. Para especificar más los sustantivos cliente y tarjeta , podríamos agregar adjetivos:
sustantivos posesivos y frases -preposicionales :
o variables como aposiciones:
Otras modificaciones de los sustantivos son posibles mediante oraciones relativas:
que se describen a continuación ya que forman una oración compuesta. También podemos detallar el evento de inserción, por ejemplo, añadiendo un adverbio:
o, equivalentemente:
o, añadiendo frases preposicionales:
Podemos combinar todas estas elaboraciones para llegar a:
Las oraciones compuestas se construyen recursivamente a partir de oraciones más simples mediante coordinación , subordinación , cuantificación y negación . Tenga en cuenta que las oraciones compuestas de ACE se superponen con lo que los lingüistas llaman oraciones compuestas y oraciones complejas.
La coordinación mediante y es posible entre oraciones y entre frases del mismo tipo sintáctico.
Tenga en cuenta que la coordinación de las frases nominales una tarjeta y un código representa un objeto plural.
La coordinación mediante o es posible entre oraciones, frases verbales y cláusulas relativas.
La coordinación entre y y o se rige por el orden de enlace estándar de la lógica, es decir, y se vincula más fuertemente que o . Se pueden usar comas para anular el orden de enlace estándar. Por lo tanto, la oración:
significa que el cliente inserta una tarjeta VisaCard y un código, o alternativamente una tarjeta MasterCard y un código.
Hay cuatro construcciones de subordinación: oraciones relativas, oraciones si-entonces , modalidad y subordinación de oraciones.
Oraciones relativas que comienzan con who , which y que permiten agregar detalles a los sustantivos:
Con la ayuda de oraciones si-entonces podemos especificar situaciones condicionales o hipotéticas:
Tenga en cuenta la referencia anafórica a través del pronombre it en la parte then a la frase nominal a card en la parte if .
La modalidad nos permite expresar posibilidad y necesidad:
La subordinación de oraciones se presenta en varias formas:
La cuantificación permite hablar de todos los objetos de una determinada clase ( cuantificación universal ), o bien indicar explícitamente la existencia de al menos un objeto de esta clase ( cuantificación existencial ). La aparición textual de un cuantificador universal o existencial abre su ámbito de aplicación, que se extiende hasta el final de la frase o, en las coordinaciones, hasta el final de la respectiva frase coordinada.
Para expresar que todos los clientes involucrados insertan tarjetas podemos escribir
Esta oración significa que cada cliente inserta una tarjeta que puede ser, o no, la misma que la insertada por otro cliente. Para especificar que todos los clientes insertan la misma tarjeta, por poco realista que parezca esa situación, podemos escribir:
o, equivalentemente:
Para indicar que cada tarjeta es insertada por un cliente escribimos:
o, de forma algo indirecta:
La negación nos permite expresar que algo no es así:
Para negar algo para todos los objetos de una determinada clase se utiliza no :
o no hay :
Para negar una afirmación completa se utiliza la negación de oración:
Estas formas de negación son negaciones lógicas, es decir, afirman que algo no es demostrable. La negación como fracaso afirma que un estado de cosas no se puede demostrar, es decir, no hay información sobre si el estado de cosas es cierto o no.
ACE admite dos formas de consultas: consultas sí/no y consultas wh .
Las consultas de tipo sí/no preguntan por la existencia o no de una situación específica. Si especificamos:
Entonces podemos preguntar:
para obtener una respuesta positiva. Tenga en cuenta que las oraciones interrogativas siempre terminan con un signo de interrogación.
Con la ayuda de consultas wh , es decir, consultas con palabras de consulta, podemos interrogar un texto para obtener detalles de la situación especificada. Si especificamos:
Podemos preguntar por cada elemento de la oración con excepción del verbo.
Las consultas también pueden construirse mediante una secuencia de oraciones declarativas seguidas de una oración interrogativa, por ejemplo:
ACE también admite comandos. Algunos ejemplos:
Una orden siempre consta de una frase nominal (el destinatario), seguida de una coma y, a continuación, de una frase verbal no coordinada. Además, la orden debe terminar con un signo de exclamación.
Para limitar la ambigüedad del lenguaje natural completo, ACE emplea tres medios simples:
En el lenguaje natural, las oraciones relativas combinadas con coordinaciones pueden introducir ambigüedad:
En ACE la frase tiene el significado inequívoco de que el cliente abre una cuenta, como lo refleja la paráfrasis:
Para expresar la alternativa —aunque poco realista— de que la tarjeta abre una cuenta, el pronombre relativo que debe repetirse, obteniéndose así una coordinación de oraciones relativas:
Esta frase es inequívocamente equivalente en significado a la paráfrasis:
No todas las ambigüedades se pueden eliminar de forma segura de la ACE sin que resulte artificial. Para interpretar de forma determinista oraciones de la ACE que, por lo demás, serían sintácticamente correctas, utilizamos un pequeño conjunto de reglas de interpretación. Por ejemplo, si escribimos:
entonces con un código se adjunta al verbo inserta , pero no a una tarjeta . Sin embargo, probablemente no es esto lo que queríamos decir. Para expresar que el código está asociado con la tarjeta podemos emplear la regla de interpretación de que una oración relativa siempre modifica la frase nominal inmediatamente anterior y reformular la entrada como:
dando como resultado la paráfrasis:
o bien—para especificar que el cliente inserte una tarjeta y un código—como:
Generalmente los textos ACE constan de más de una oración:
Para expresar que todas las apariciones de tarjeta y código deben significar la misma tarjeta y el mismo código, ACE proporciona referencias anafóricas a través del artículo definido:
Durante el procesamiento del texto ACE, todas las referencias anafóricas se reemplazan por la frase nominal accesible más reciente y más específica que concuerde en género y número. Como ejemplo de "más reciente y más específica", supongamos que se le da a un analizador ACE la oración:
Entonces:
se refiere a la segunda carta, mientras que:
se refiere a la primera carta.
No es posible hacer referencia anafórica a las frases nominales dentro de oraciones con condiciones condicionales , oraciones cuantificadas universalmente, negaciones, modalidades y oraciones subordinadas desde oraciones subsiguientes, es decir, dichas frases nominales no son "accesibles" desde el texto siguiente. Por lo tanto, para cada una de las oraciones:
No podemos hacer referencia a una tarjeta con:
Las referencias anafóricas también son posibles a través de pronombres personales:
o mediante variables:
Las referencias anafóricas mediante artículos definidos y variables se pueden combinar:
Tenga en cuenta que los nombres propios como SimpleMat siempre se refieren al mismo objeto.