Attempto Controlled English - Attempto Controlled English

Attempto Controlled English ( ACE ) è un linguaggio naturale controllato , cioè un sottoinsieme dell'inglese standard con una sintassi ristretta e una semantica ristretta descritta da un piccolo insieme di regole di costruzione e interpretazione. È in fase di sviluppo presso l' Università di Zurigo dal 1995. Nel 2013 è stata annunciata la versione 6.7 di ACE.

ACE può servire come rappresentazione della conoscenza , specifica e linguaggio di query ed è destinato a professionisti che desiderano utilizzare notazioni formali e metodi formali, ma potrebbero non avere familiarità con essi. Sebbene ACE appaia perfettamente naturale - può essere letto e compreso da qualsiasi madrelingua inglese - è in realtà un linguaggio formale .

ACE ei suoi strumenti correlati sono stati utilizzati nei campi delle specifiche del software , dimostrazione di teoremi , riassunti di testo , ontologie , regole, interrogazioni, documentazione medica e pianificazione .

Alcuni semplici esempi:

  1. Ogni donna è umana.
  2. Una donna è un essere umano.
  3. Un uomo prova una nuova cravatta. Se la cravatta piace a sua moglie, allora l'uomo la compra.

Le regole di costruzione ACE richiedono che ogni nome sia introdotto da un determinante ( a , ogni , no , alcuni , almeno 5 , ...). Per quanto riguarda l'elenco degli esempi sopra, le regole di interpretazione ACE stabiliscono che (1) è interpretato come quantificato universalmente , mentre (2) è interpretato come quantificato esistenzialmente . Frasi come "Le donne sono umane" non seguono la sintassi ACE e di conseguenza non sono valide.

Le regole di interpretazione risolvono i riferimenti anaforici in (3): il legame e l' it della seconda frase si riferiscono a un nuovo legame della prima frase, mentre il suo e l'uomo della seconda frase si riferiscono a un uomo della prima frase. Quindi un testo ACE è un'entità coerente di frasi collegate anaforicamente.

Attempto Parsing Engine (APE) traduce i testi ACE in modo univoco in strutture di rappresentazione del discorso (DRS) che utilizzano una variante del linguaggio della logica del primo ordine . Un DRS può essere ulteriormente tradotto in altri linguaggi formali , ad esempio AceRules con varie semantiche, OWL e SWRL . La traduzione di un testo ACE in (un frammento di) logica del primo ordine consente agli utenti di ragionare sul testo, ad esempio per verificarlo , convalidarlo e interrogarlo .

Panoramica

Come panoramica dell'attuale versione 6.6 di ACE, questa sezione:

  • Descrive brevemente il vocabolario
  • Fornisce un resoconto della sintassi
  • Riassume la gestione dell'ambiguità
  • Spiega l'elaborazione dei riferimenti anaforici.

Vocabolario

Il vocabolario di ACE comprende:

  • Parole di funzione predefinite (ad esempio determinanti, congiunzioni)
  • Frasi predefinite (ad es. "È falso che ...", "è possibile che ...")
  • Parole di contenuto (ad esempio nomi, verbi, aggettivi, avverbi).

Grammatica

La grammatica di ACE definisce e vincola la forma e il significato di frasi e testi ACE. La grammatica di ACE è espressa come un insieme di regole di costruzione . Il significato delle frasi è descritto come un piccolo insieme di regole di interpretazione . Una guida alla risoluzione dei problemi descrive come utilizzare ACE e come evitare insidie.

Testi ACE

Un testo ACE è una sequenza di frasi dichiarative che possono essere correlate anaforicamente. Inoltre, ACE supporta domande e comandi.

Frasi semplici

Una semplice frase afferma che qualcosa è il caso: un fatto, un evento, uno stato.

La temperatura è di -2 ° C.
Un cliente inserisce 2 carte.
Una carta e un codice sono validi.

Le frasi ACE semplici hanno la seguente struttura generale:

soggetto + verbo + complementi + aggiunte

Ogni frase ha un soggetto e un verbo. I complementi (oggetti diretti e indiretti) sono necessari per i verbi transitivi ( inserire qualcosa ) e i verbi ditransitivi ( dare qualcosa a qualcuno ), mentre gli aggiunti (avverbi, frasi preposizionali) sono opzionali.

Tutti gli elementi di una semplice frase possono essere elaborati per descrivere la situazione in modo più dettagliato. Per specificare ulteriormente i nomi cliente e carta , potremmo aggiungere aggettivi:

Un cliente fidato inserisce due carte valide.

sostantivi possessivi e di frasi -prepositional:

Il cliente di John inserisce un biglietto di Mary.

o variabili come apposizioni:

John inserisce una carta A.

Altre modifiche dei nomi sono possibili tramite frasi relative:

Un cliente fidato inserisce una carta di sua proprietà.

che vengono descritti di seguito poiché compongono una frase. Possiamo anche dettagliare l'evento di inserimento, ad esempio aggiungendo un avverbio:

Un cliente inserisce manualmente alcune carte.

o, equivalentemente:

Un cliente inserisce manualmente alcune carte.

oppure, aggiungendo frasi preposizionali:

Un cliente inserisce alcune carte in uno slot.

Possiamo combinare tutte queste elaborazioni per arrivare a:

Il cliente di John che è fidato inserisce manualmente una carta di Mary valida in uno slot A.

Frasi composte

Le frasi composte sono costruite ricorsivamente da frasi più semplici attraverso il coordinamento , la subordinazione , la quantificazione e la negazione . Nota che le frasi composte ACE si sovrappongono a quelle che i linguisti chiamano frasi composte e frasi complesse.

Coordinazione

Il coordinamento tramite ed è possibile tra frasi e tra frasi dello stesso tipo sintattico.

Un cliente inserisce una carta e la macchina verifica il codice.
C'è un cliente che inserisce una carta e che inserisce un codice.
Un cliente inserisce una carta e inserisce un codice.
Un cliente vecchio e fidato inserisce una carta e un codice.

Si noti che il coordinamento delle frasi nominali una carta e un codice rappresenta un oggetto plurale.

Il coordinamento di o è possibile tra frasi, frasi verbali e proposizioni relative.

Un cliente inserisce una carta o la macchina verifica il codice.
Un cliente inserisce una carta o inserisce un codice.
Un cliente possiede una carta non valida o danneggiata.

Il coordinamento di e e o è regolato dall'ordine logico vincolante standard, vale a dire e si lega più forte di o . Le virgole possono essere utilizzate per sostituire l'ordine di rilegatura standard. Così la frase:

Un cliente inserisce una VisaCard o inserisce una MasterCard e inserisce un codice.

significa che il cliente inserisce una VisaCard e un codice, o in alternativa una MasterCard e un codice.

Subordinazione

Ci sono quattro costrutti di subordinazione: frasi relative, frasi se-allora , modalità e subordinazione della frase.

Frasi relative che iniziano con who , which e che consentono di aggiungere dettagli ai nomi:

Un cliente fidato inserisce una carta di sua proprietà.

Con l'aiuto di frasi if-then possiamo specificare situazioni condizionali o ipotetiche:

Se una carta è valida, il cliente la inserisce.

Notare il riferimento anaforico tramite il pronome it nella parte allora alla frase nominale una carta nella parte se .

La modalità ci permette di esprimere possibilità e necessità:

Un cliente fidato può / deve inserire una carta.
È possibile / necessario che un cliente fidato inserisca una carta.

La subordinazione della frase si presenta in varie forme:

È vero / falso che un cliente inserisce una carta.
Non è dimostrabile che un cliente inserisca una carta.
Un impiegato crede che un cliente inserisca una carta.
Quantificazione

La quantificazione ci permette di parlare di tutti gli oggetti di una certa classe ( quantificazione universale ), o di denotare esplicitamente l'esistenza di almeno un oggetto di questa classe ( quantificazione esistenziale ). L'occorrenza testuale di un quantificatore universale o esistenziale apre il suo ambito che si estende fino alla fine della frase, o in coordinamenti fino alla fine della rispettiva frase coordinata.

Per esprimere che tutti i clienti coinvolti inseriscono le carte possiamo scrivere

Ogni cliente inserisce una carta.

Questa frase significa che ogni cliente inserisce una carta che può, o meno, essere uguale a quella inserita da un altro cliente. Per specificare che tutti i clienti inseriscono la stessa carta - per quanto irrealistica questa situazione sembri - possiamo scrivere:

Una carta viene inserita da ogni cliente.

o, equivalentemente:

C'è una scheda che ogni cliente inserisce.

Per affermare che ogni carta è inserita da un cliente scriviamo:

Ogni carta viene inserita da un cliente.

o, in qualche modo indirettamente:

Per ogni carta c'è un cliente che la inserisce.
Negazione

La negazione ci consente di esprimere che qualcosa non è il caso:

Un cliente non inserisce una carta.
Una carta non è valida.

Per negare qualcosa per tutti gli oggetti di una certa classe si usa no :

Nessun cliente inserisce più di 2 carte.

oppure no :

Nessun cliente che inserisce una carta.

Per negare un'affermazione completa si usa la negazione della frase:

È falso che un cliente inserisca una carta.

Queste forme di negazione sono negazioni logiche, cioè affermano che qualcosa non è provabile. La negazione come fallimento afferma che uno stato di cose non può essere provato, cioè non ci sono informazioni se lo stato di cose sia il caso o meno.

Non è dimostrabile che un cliente inserisca una carta.

Interrogazioni

ACE supporta due forme di query: query sì / no e query wh .

Sì / no: le domande richiedono l'esistenza o l'inesistenza di una situazione specifica. Se abbiamo specificato:

Un cliente inserisce una carta.

allora possiamo chiedere:

Un cliente inserisce una carta?

per ottenere una risposta positiva. Nota che le frasi interrogative terminano sempre con un punto interrogativo.

Con l'aiuto di wh -queries, cioè query con parole di query, possiamo interrogare un testo per i dettagli della situazione specificata. Se abbiamo specificato:

Un cliente fidato inserisce manualmente una carta valida la mattina in una banca.

possiamo chiedere ogni elemento della frase ad eccezione del verbo.

Chi inserisce una carta?
Quale cliente inserisce una carta?
Cosa inserisce un cliente?
Come fa un cliente a inserire una carta?
Quando un cliente inserisce una carta?
Dove un cliente inserisce una carta?

Le query possono anche essere costruite da una sequenza di frasi dichiarative seguite da una frase interrogativa, ad esempio:

C'è un cliente e c'è una carta che il cliente inserisce. Un cliente inserisce una carta?

Comandi

ACE supporta anche i comandi. Qualche esempio:

John, vai in banca!
John e Mary, aspettate!
Ogni cane, abbaia!
Fratello di Giovanni, regala un libro a Maria!

Un comando è sempre costituito da una frase nominale (il destinatario), seguita da una virgola, seguita da una frase verbale non coordinata. Inoltre, un comando deve terminare con un punto esclamativo.

Vincolare l'ambiguità

Per limitare l'ambiguità del linguaggio naturale completo, ACE impiega tre semplici mezzi:

  • Alcuni costrutti ambigui non fanno parte del linguaggio; al loro posto sono disponibili alternative inequivocabili
  • Tutti i restanti costrutti ambigui vengono interpretati in modo deterministico sulla base di un piccolo numero di regole di interpretazione
  • Gli utenti possono accettare l'interpretazione assegnata oppure devono riformulare l'input per ottenerne un'altra.

Evitare l'ambiguità

Nel linguaggio naturale, le frasi relative combinate con le coordinate possono introdurre ambiguità:

Un cliente inserisce una carta valida e apre un conto.

In ACE la frase ha il significato inequivocabile che il cliente apre un account, come risulta dalla parafrasi:

Una carta è valida. Un cliente inserisce la carta. Il cliente apre un account.

Per esprimere l'alternativa - anche se non molto realistica - significa che la carta apre un conto, il pronome relativo che deve essere ripetuto, dando così un coordinamento delle frasi relative:

Un cliente inserisce una carta valida e che apre un conto.

Questa frase è inequivocabilmente equivalente nel significato alla parafrasi:

Una carta è valida. La carta apre un conto. Un cliente inserisce la carta.

Regole di interpretazione

Non tutte le ambiguità possono essere rimosse in modo sicuro da ACE senza renderlo artificiale. Per interpretare deterministicamente frasi ACE altrimenti sintatticamente corrette, utilizziamo un piccolo insieme di regole di interpretazione. Ad esempio, se scriviamo:

Un cliente inserisce una carta con un codice.

quindi con un codice si attacca al verbo inserisce , ma non a una scheda . Tuttavia, questo probabilmente non è ciò che intendevamo dire. Per esprimere che il codice è associato alla carta possiamo impiegare la regola interpretativa che una frase relativa modifica sempre la frase nominale immediatamente precedente, e riformulare l'input come:

Un cliente inserisce una carta che contiene un codice.

dando la parafrasi:

Una carta porta un codice. Un cliente inserisce la carta.

oppure - specificare che il cliente inserisce una carta e un codice - come:

Un cliente inserisce una carta e un codice.

Riferimenti anaforici

Di solito i testi ACE consistono in più di una frase:

Un cliente inserisce una carta e un codice. Se un codice è valido, SimpleMat accetta una carta.

Per esprimere che tutte le occorrenze di carta e codice dovrebbero significare la stessa carta e lo stesso codice, ACE fornisce riferimenti anaforici tramite l'articolo determinativo:

Un cliente inserisce una carta e un codice. Se il codice è valido, SimpleMat accetta la carta.

Durante l'elaborazione del testo ACE, tutti i riferimenti anaforici sono sostituiti dalla frase nominale accessibile più recente e più specifica che concorda in genere e numero. Come esempio di "più recente e più specifico", supponiamo che a un parser ACE venga fornita la frase:

Un cliente inserisce un cartellino rosso e uno blu.

Poi:

La carta è corretta.

si riferisce alla seconda carta, mentre:

Il cartellino rosso è corretto.

si riferisce alla prima carta.

Le frasi sostantive all'interno di frasi se-allora , frasi universalmente quantificate, negazioni, modalità e frasi subordinate non possono essere riferite anaforicamente da frasi successive, cioè tali frasi nominali non sono "accessibili" dal testo seguente. Quindi per ciascuna delle frasi:

Se un cliente possiede una carta, la inserisce.
Ogni cliente inserisce una carta.
Un cliente non inserisce una carta.
Un cliente può inserire una carta.
Un impiegato crede che un cliente inserisca una carta.

non possiamo fare riferimento a una carta con:

La carta è corretta.

I riferimenti anaforici sono possibili anche tramite pronomi personali:

Un cliente inserisce una carta e un codice. Se è valido, SimpleMat accetta la carta.

o tramite variabili:

Un cliente inserisce una scheda X e un codice Y . Se Y sia giusto, allora SimpleMat accetta X .

I riferimenti anaforici tramite articoli determinativi e variabili possono essere combinati:

Un cliente inserisce una scheda X e un codice Y . Se il codice Y sia giusto, allora SimpleMat accetta la carta di X .

Notare che i nomi propri come SimpleMat si riferiscono sempre allo stesso oggetto.

Guarda anche

Riferimenti

link esterno