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 Zurich desde 1995. En 2013, se anunció la versión 6.7 de ACE. [2]
ACE puede servir como representación del conocimiento , especificación y lenguaje de consulta , y está destinado a profesionales que desean utilizar notaciones formales y métodos formales, pero que pueden no estar familiarizados con ellos. Aunque ACE parece perfectamente natural, cualquier hablante de inglés puede leerlo y entenderlo, de hecho es un idioma formal . [1]
ACE y sus herramientas relacionadas se han utilizado en los campos de especificaciones de software , demostración de teoremas , resúmenes de texto , ontologías , reglas, consultas, documentación médica y planificación .
A continuación se muestran algunos ejemplos sencillos:
- Toda mujer es un ser humano.
- Una mujer es un ser humano.
- Un hombre se prueba una corbata nueva. Si la corbata agrada a su esposa, el hombre la compra.
Las reglas de construcción ACE requieren que cada sustantivo sea introducido por un determinante ( a , every , no , some , al menos 5 , ...). Con respecto a la lista de ejemplos anterior, las reglas de interpretación de ACE deciden que (1) se interpreta como cuantificado universalmente , mientras que (2) se interpreta como cuantificado existencialmente . Oraciones como "Las mujeres son humanas" no siguen la sintaxis ACE y, por lo tanto, no son válidas.
Reglas de interpretación resuelven las referencias anafóricos en (3): el empate y que de la segunda frase se refieren a un nuevo lazo de la primera frase, mientras que su y el hombre de la segunda frase se refiere a un hombre de la primera frase. Por tanto, un texto ACE es una entidad coherente de oraciones enlazadas anafóricamente.
El motor de análisis de intentos (APE) traduce los textos de ACE de forma inequívoca en estructuras de representación del discurso (DRS) que utilizan una variante del lenguaje de lógica de primer orden . [3] Un DRS se puede traducir a otros lenguajes formales , por ejemplo AceRules con varias semánticas, [4] OWL , [5] y SWRL . Traducir un texto ACE a (un fragmento de) lógica de primer orden permite a los usuarios razonar sobre el texto, por ejemplo , verificarlo , validarlo y consultarlo .
Descripción general
Como descripción general de la versión 6.6 actual de ACE, esta sección:
- Describe brevemente el vocabulario
- Da cuenta de la sintaxis
- Resume el manejo de la ambigüedad
- Explica el procesamiento de referencias anafóricas.
Vocabulario
El vocabulario de ACE comprende:
- Palabras de función predefinidas (por ejemplo, determinantes, conjunciones)
- Frases predefinidas (por ejemplo, "es falso que ...", "es posible que ...")
- Palabras de contenido (por ejemplo, sustantivos, verbos, adjetivos, adverbios).
Gramática
La gramática de ACE define y restringe la forma y el significado de las oraciones y 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 usar ACE y cómo evitar problemas.
Textos ACE
Un texto ACE es una secuencia de oraciones declarativas que pueden estar interrelacionadas anafóricamente. Además, ACE admite preguntas y comandos.
Oraciones simples
Una oración simple afirma que algo es el caso: un hecho, un evento, un estado.
- La temperatura es de -2 ° C.
- Un cliente inserta 2 tarjetas.
- Una tarjeta y un código son válidos.
Las oraciones ACE simples tienen la siguiente estructura general:
- sujeto + verbo + complementos + adjuntos
Cada 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.
Todos los elementos de una oración simple pueden elaborarse para describir la situación con más detalle. Para especificar más los sustantivos cliente y tarjeta , podríamos agregar adjetivos:
- Un cliente de confianza inserta dos tarjetas válidas.
sustantivos posesivos y de frases preposicionales:
- El cliente de John inserta una tarjeta de Mary.
o variables como aposiciones:
- John inserta una tarjeta A.
Otras modificaciones de sustantivos son posibles a través de oraciones relativas:
- Un cliente de confianza inserta una tarjeta de su propiedad.
que se describen a continuación, ya que forman una oración compuesta. También podemos detallar el evento de inserción, por ejemplo, agregando un adverbio:
- Un cliente inserta algunas tarjetas manualmente.
o equivalente:
- Un cliente inserta manualmente algunas tarjetas.
o, agregando frases preposicionales:
- Un cliente inserta algunas tarjetas en una ranura.
Podemos combinar todas estas elaboraciones para llegar a:
- El cliente de John que es de confianza inserta una tarjeta válida de Mary manualmente en una ranura A.
Oraciones compuestas
Las oraciones compuestas se construyen recursivamente a partir de oraciones más simples a través de la coordinación , subordinación , cuantificación y negación . Tenga en cuenta que las oraciones compuestas ACE se superponen con lo que los lingüistas llaman oraciones compuestas y oraciones complejas.
Coordinación
La coordinación por y es posible entre oraciones y entre frases del mismo tipo sintáctico.
- Un cliente inserta una tarjeta y la máquina verifica el código.
- Hay un cliente que inserta una tarjeta y que ingresa un código.
- Un cliente inserta una tarjeta e ingresa un código.
- Un cliente antiguo y de confianza ingresa una tarjeta y un código.
Tenga en cuenta que la coordinación de los sintagmas 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 de relativo.
- Un cliente inserta una tarjeta o la máquina verifica el código.
- Un cliente inserta una tarjeta o ingresa un código.
- Un cliente posee una tarjeta que no es válida o que está dañada.
La coordinación por y y o se rige por el orden lógico de vinculación estándar, es decir, y vincula más fuerte que o . Se pueden usar comas para anular el orden de encuadernación estándar. De ahí la oración:
- Un cliente inserta una VisaCard o inserta una MasterCard e inserta un código.
significa que el cliente inserta una VisaCard y un código, o alternativamente una MasterCard y un código.
Subordinación
Hay cuatro constructos de subordinación: oraciones relativas, oraciones si-entonces , modalidad y subordinación de oraciones.
Oraciones relativas que comienzan con quién , cuál y que permiten agregar detalles a los sustantivos:
- Un cliente de confianza inserta una tarjeta de su propiedad.
Con la ayuda de oraciones si-entonces podemos especificar situaciones condicionales o hipotéticas:
- Si una tarjeta es válida, un cliente la inserta.
Tenga en cuenta la referencia anafórica a través del pronombre it en la parte entonces- al sintagma nominal una carta en la parte if .
La modalidad nos permite expresar posibilidad y necesidad:
- Un cliente de confianza puede / debe insertar una tarjeta.
- Es posible / necesario que un cliente de confianza inserte una tarjeta.
La subordinación de la oración se presenta en varias formas:
- Es cierto / falso que un cliente inserta una tarjeta.
- No se puede demostrar que un cliente inserte una tarjeta.
- Un empleado cree que un cliente inserta una tarjeta.
Cuantificación
La cuantificación nos permite hablar de todos los objetos de una determinada clase ( cuantificación universal ), o denotar explícitamente la existencia de al menos un objeto de esta clase ( cuantificación existencial ). La ocurrencia textual de un cuantificador universal o existencial abre su alcance que se extiende hasta el final de la oración, o en coordinaciones hasta el final de la respectiva oración coordinada.
Para expresar que todos los clientes involucrados insertan tarjetas, podemos escribir
- Cada cliente inserta una tarjeta.
Esta frase significa que cada cliente inserta una tarjeta que puede, o no, ser 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:
- Cada cliente inserta una tarjeta.
o equivalente:
- Hay una tarjeta que inserta cada cliente.
Para indicar que cada tarjeta es insertada por un cliente, escribimos:
- Cada tarjeta es insertada por un cliente.
o, algo indirectamente:
- Por cada tarjeta hay un cliente que la inserta.
Negación
La negación nos permite expresar que algo no es así:
- Un cliente no inserta una tarjeta.
- Una tarjeta no es válida.
Para negar algo para todos los objetos de una determinada clase, se usa no :
- Ningún cliente inserta más de 2 tarjetas.
o no hay :
- No hay ningún cliente que inserte una tarjeta.
Para negar una declaración completa, se usa la negación de la oración:
- Es falso que un cliente inserte una tarjeta.
Estas formas de negación son negaciones lógicas, es decir, afirman que algo probablemente no es el caso. La negación como fracaso establece que un estado de cosas no puede probarse, es decir, no hay información sobre si el estado de cosas es el caso o no.
- No se puede demostrar que un cliente inserte una tarjeta.
Consultas
ACE admite dos formas de consultas: yes / no -queries y wh -queries.
Sí / no -las consultas preguntan por la existencia o no existencia de una situación específica. Si especificamos:
- Un cliente inserta una tarjeta.
entonces podemos preguntar:
- ¿Un cliente inserta una tarjeta?
para obtener una respuesta positiva. Tenga en cuenta que las oraciones interrogativas siempre terminan con un signo de interrogación.
Con la ayuda de wh -queries, es decir, consultas con palabras de consulta, podemos interrogar un texto para obtener detalles de la situación especificada. Si especificamos:
- Un cliente de confianza inserta una tarjeta válida manualmente por la mañana en un banco.
podemos preguntar por cada elemento de la oración con la excepción del verbo.
- ¿Quién inserta una tarjeta?
- ¿Qué cliente inserta una tarjeta?
- ¿Qué inserta un cliente?
- ¿Cómo inserta un cliente una tarjeta?
- ¿Cuándo ingresa un cliente una tarjeta?
- ¿Dónde ingresa un cliente una tarjeta?
Las consultas también se pueden construir mediante una secuencia de oraciones declarativas seguidas de una oración interrogativa, por ejemplo:
- Hay un cliente y hay una tarjeta que ingresa el cliente. ¿Un cliente ingresa una tarjeta?
Comandos
ACE también admite comandos. Algunos ejemplos:
- ¡John, ve al banco!
- ¡John y Mary, espera!
- ¡Todos los perros ladran!
- ¡Hermano de Juan, dale un libro a María!
Un comando siempre consta de una frase nominal (el destinatario), seguida de una coma, seguida de una frase verbal no coordinada. Además, un comando debe terminar con un signo de exclamación.
Limitar la ambigüedad
Para restringir la ambigüedad del lenguaje natural completo, ACE emplea tres medios simples:
- Algunas construcciones ambiguas no forman parte del lenguaje; alternativas inequívocas están disponibles en su lugar
- Todos los constructos ambiguos restantes se interpretan de forma determinista sobre la base de un pequeño número de reglas de interpretación
- Los usuarios pueden aceptar la interpretación asignada o deben reformular la entrada para obtener otra.
Evitación de la ambigüedad
En lenguaje natural, las oraciones relativas combinadas con coordinaciones pueden introducir ambigüedad:
- Un cliente inserta una tarjeta válida y abre una cuenta.
En ACE, la oración tiene el significado inequívoco de que el cliente abre una cuenta, como lo refleja la paráfrasis:
- Una tarjeta es válida. Un cliente inserta la tarjeta. El cliente abre una cuenta.
Para expresar la alternativa, aunque no muy realista, es decir, que la tarjeta abre una cuenta, el pronombre relativo que debe repetirse, lo que produce una coordinación de oraciones relativas:
- Un cliente inserta una tarjeta que es válida y que abre una cuenta.
Esta oración es inequívocamente equivalente en significado a la paráfrasis:
- Una tarjeta es válida. La tarjeta abre una cuenta. Un cliente inserta la tarjeta.
Reglas de interpretación
No todas las ambigüedades pueden eliminarse de forma segura de ACE sin volverlo artificial. Para interpretar de manera determinista oraciones ACE de otra manera sintácticamente correctas, usamos un pequeño conjunto de reglas de interpretación. Por ejemplo, si escribimos:
- Un cliente inserta una tarjeta con un código.
luego con un código se adjunta a las inserciones verbales , pero no a una tarjeta . Sin embargo, esto probablemente no es 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 el sintagma nominal inmediatamente anterior y reformular la entrada como:
- Un cliente inserta una tarjeta que lleva un código.
produciendo la paráfrasis:
- Una tarjeta lleva un código. Un cliente inserta la tarjeta.
o - para especificar que el cliente inserta una tarjeta y un código - como:
- Un cliente inserta una tarjeta y un código.
Referencias anafóricas
Por lo general, los textos de ACE constan de más de una oración:
- Un cliente ingresa una tarjeta y un código. Si un código es válido, SimpleMat acepta una tarjeta.
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:
- Un cliente ingresa una tarjeta y un código. Si el código es válido, SimpleMat acepta la tarjeta.
Durante el procesamiento del texto ACE, todas las referencias anafóricas son reemplazadas por el sintagma nominal accesible más reciente y específico que concuerde en género y número. Como ejemplo de "más reciente y más específico", suponga que a un analizador ACE se le da la oración:
- Un cliente ingresa una tarjeta roja y una tarjeta azul.
Luego:
- La tarjeta es correcta.
se refiere a la segunda carta, mientras que:
- La tarjeta roja es correcta.
se refiere a la primera carta.
Las frases sustantivas dentro de oraciones si-entonces , oraciones cuantificadas universalmente, negaciones, modalidades y oraciones subordinadas no pueden referirse anafóricamente a partir de oraciones subsiguientes, es decir, dichas frases nominales no son "accesibles" desde el siguiente texto. Así, para cada una de las oraciones:
- Si un cliente posee una tarjeta, la ingresa.
- Cada cliente ingresa una tarjeta.
- Un cliente no ingresa una tarjeta.
- Un cliente puede ingresar una tarjeta.
- Un empleado cree que un cliente ingresa una tarjeta.
no podemos referirnos a una tarjeta con:
- La tarjeta es correcta.
Las referencias anafóricas también son posibles a través de pronombres personales:
- Un cliente ingresa una tarjeta y un código. Si es válida, SimpleMat acepta la tarjeta.
o mediante variables:
- Un cliente entra en una tarjeta de X y un código de Y . Si Y es válido entonces SimpleMat acepta X .
Se pueden combinar referencias anafóricas a través de artículos definidos y variables:
- Un cliente entra en una tarjeta de X y un código de Y . Si el código Y es válida, entonces SimpleMat acepta la tarjeta X .
Tenga en cuenta que los nombres propios como SimpleMat siempre se refieren al mismo objeto.
Ver también
Referencias
- ^ a b Norbert E. Fuchs; Kaarel Kaljurand; Gerold Schneider (2006). "Attempto Controlled English responde a los desafíos de la representación del conocimiento, el razonamiento, la interoperabilidad y las interfaces de usuario" (PDF) . FLAIRS 2006 .
- ^ "Attempto News" .
- ^ Norbert E. Fuchs; Kaarel Kaljurand; Tobias Kuhn (2010). "Estructuras de representación del discurso para ACE 6.6" (PDF) . Informe técnico ifi-2010.0010, Departamento de Informática, Universidad de Zurich .
- ^ Tobias Kuhn (2007). "AceRules: ejecución de reglas en lenguaje natural controlado" (PDF) . Primera Conferencia Internacional sobre Razonamiento Web y Sistemas de Reglas (RR 2007) .
- ^ Kaarel Kaljurand; Norbert E. Fuchs (2007). "Verbalizar OWL en inglés controlado por Attempto" (PDF) . OWL: Experiencias y direcciones (OWLED 2007) .
enlaces externos
- Intento de proyecto