Attempto Controlled English - Attempto Controlled English
Az Attempto Controlled English ( ACE ) egy kontrollált természetes nyelv , azaz a standard angol részhalmaz korlátozott szintaxissal és korlátozott szemantikával, amelyet egy kis konstrukciós és értelmezési szabály halmaz jellemez. 1995 óta fejlesztik a Zürichi Egyetemen . 2013-ban jelentették be az ACE 6.7 verzióját.
Az ACE tudásreprezentációs , specifikációs és lekérdezési nyelvként szolgálhat , és olyan szakemberek számára készült, akik hivatalos jelöléseket és formális módszereket akarnak használni, de esetleg nem ismerik őket. Bár az ACE teljesen természetesnek tűnik - bármely angol nyelvű beszélő olvashatja és értheti - valójában hivatalos nyelv .
Az ACE-t és a hozzá kapcsolódó eszközöket a szoftver specifikációk , a tétel bizonyítás , a szöveges összefoglalók , az ontológiák , a szabályok, a lekérdezések, az orvosi dokumentáció és a tervezés területén használták .
Íme néhány egyszerű példa:
- Minden nő ember.
- A nő ember.
- Egy férfi új nyakkendőt próbál fel. Ha a nyakkendő tetszik a feleségének, akkor a férfi megveszi.
Az ACE építési szabályai megkövetelik, hogy minden főnevet egy meghatározó vezessen be ( a , minden , nem , néhány , legalább 5 , ...). A fenti példák felsorolásával kapcsolatban az ACE értelmezési szabályai úgy döntenek, hogy (1) értelmezését univerzálisan számszerűsítettnek , míg a (2) -t egzisztenciálisan számszerűsítettnek értelmezik . Az olyan mondatok, mint a „nők nők”, nem követik az ACE szintaxisát, következésképpen nem érvényesek.
Értelmezési szabályok megoldani a anaforikus utalások a (3): a nyakkendő és ez a második mondat utal egy új döntetlen az első mondat, míg ő és a férfi a második mondat utal a férfi az első mondat. Így az ACE-szöveg az anaforikusan összekapcsolt mondatok koherens entitása.
Az Attempto Parsing Engine (APE) az ACE-szövegeket egyértelműen lefordítja diskurzus-reprezentációs struktúrákká (DRS), amelyek az elsőrendű logika nyelvének egy változatát használják . A DRS tovább lefordítható más formális nyelvekre , például az AceRules különféle szemantikával, OWL és SWRL . Az ACE szöveg első osztályú logikává (egy töredékévé) történő lefordítása lehetővé teszi a felhasználók számára, hogy okot adjanak a szövegre, például ellenőrizzék , érvényesítsék és lekérdezzék .
Áttekintés
Az ACE jelenlegi 6.6 verziójának áttekintéseként ez a szakasz:
- Röviden ismerteti a szókincset
- Beszámol a szintaxisról
- Összefoglalja a kétértelműség kezelését
- Elmagyarázza az anaforikus hivatkozások feldolgozását.
Szójegyzék
Az ACE szókincse a következőket tartalmazza:
- Előre definiált függvényszavak (pl. Meghatározók, kötőszók)
- Előre definiált kifejezések (pl. "Hamis, hogy ...", "lehetséges, hogy ...")
- Tartalmi szavak (pl. Főnevek, igék, melléknevek, határozószók).
Nyelvtan
Az ACE nyelvtana meghatározza és korlátozza az ACE mondatok és szövegek formáját és jelentését. Az ACE nyelvtana építési szabályok összességeként jelenik meg . A mondatok jelentését az értelmezési szabályok kis csoportjaként írják le . A hibaelhárítási útmutató leírja az ACE használatát és a buktatók elkerülését.
ACE szövegek
Az ACE szöveg deklaratív mondatok sorozata, amelyek anaforikusan összekapcsolhatók. Ezenkívül az ACE támogatja a kérdéseket és a parancsokat.
Egyszerű mondatok
Egy egyszerű mondat azt állítja, hogy valami a helyzet - tény, esemény, állapot.
- A hőmérséklet -2 ° C.
- Az ügyfél 2 kártyát helyez be.
- A kártya és a kód érvényes.
Az egyszerű ACE mondatok a következő általános felépítésűek:
- tárgy + ige + kiegészítések + kiegészítések
Minden mondatnak van tárgya és ige. A kiegészítők (közvetlen és közvetett tárgyak) szükségesek a transzitív igékhez ( valamit beilleszteni ) és a ditransitív igékhez ( valamit adnak valakinek ), míg a kiegészítők (határozószók, elöljárószók) nem kötelezőek.
A helyzet részletesebb leírása érdekében egy egyszerű mondat minden eleme kidolgozható. Az ügyfél és a kártya főnevek pontos meghatározásához mellékelhetünk mellékneveket:
- Egy megbízható ügyfél két érvényes kártyát helyez be.
birtokos főnevek és az -prepositional mondatok:
- John ügyfele behelyezi Mary kártyáját.
vagy változók mint állítások:
- John behelyez egy A kártyát.
A főnevek más módosítása relatív mondatokon keresztül lehetséges:
- A megbízható ügyfél behelyez egy saját kártyát.
amelyeket az alábbiakban ismertetünk, mivel összetett mondatot alkotnak. Részletezhetjük a beszúrási eseményt is, pl. Mellékmondat hozzáadásával:
- Az ügyfél néhány kártyát kézzel helyez be.
vagy egyenértékűen:
- Az ügyfél kézzel behelyez néhány kártyát.
vagy ragozó kifejezések hozzáadásával:
- Az ügyfél néhány kártyát behelyez egy nyílásba.
Kombinálhatjuk ezeket a részleteket, hogy elérjük:
- John megbízott vevője behelyez egy érvényes Mary kártyát manuálisan az A nyílásba.
Összetett mondatok
Az összetett mondatokat rekurzívan építjük fel az egyszerűbb mondatokból koordináció , alárendelés , számszerűsítés és tagadás útján . Vegye figyelembe, hogy az ACE összetett mondatok átfedésben vannak azzal, amit a nyelvészek összetett mondatoknak és összetett mondatoknak neveznek.
Koordináció
A koordináció a mondatok és az azonos szintaktikai típusú kifejezések között lehetséges és lehetséges.
- Az ügyfél behelyez egy kártyát, és a gép ellenőrzi a kódot.
- Van olyan ügyfél, aki behelyez egy kártyát és beír egy kódot.
- Az ügyfél behelyez egy kártyát és beír egy kódot.
- Egy régi és megbízható ügyfél beír egy kártyát és egy kódot.
Vegye figyelembe, hogy a főnév koordinációja egy kártya és egy kód többes számú objektumot képvisel.
Mondatok , igei kifejezések és relatív tagmondatok közötti koordináció vagy lehetséges.
- Az ügyfél behelyez egy kártyát, vagy a gép ellenőrzi a kódot.
- Az ügyfél behelyez egy kártyát vagy beír egy kódot.
- Az ügyfél egy érvénytelen vagy sérült kártyával rendelkezik.
Koordináció és és vagy szabályozza a standard kötési sorrendjét logika, vagyis és kötődik erősebb vagy . Vesszőkkel felülbírálható a szokásos kötési sorrend. Így a mondat:
- Az ügyfél behelyez egy VisaCard-ot, vagy MasterCard-ot, és beilleszt egy kódot.
azt jelenti, hogy az ügyfél egy VisaCard-ot és egy kódot, vagy pedig egy MasterCard-ot és egy kódot helyez be.
Alárendeltség
Az alárendeltségnek négy konstrukciója van: relatív mondatok, ha-akkor mondatok, modalitás és mondat-alárendelés.
Relatív mondatokat kezdve , aki , ami , és hogy lehetővé teszik, hogy adjunk részletesen főnév:
- A megbízható ügyfél behelyez egy saját kártyát.
A rendszer segítségével a ha-akkor mondatokat tudjuk meg a feltételes vagy hipotetikus helyzetekben:
- Ha egy kártya érvényes, akkor az ügyfél behelyezi.
Megjegyzés: a anaforikus alapjel a névmás azt a majd -part a főnév kifejezés egy kártyát a ha -part.
A modalitás lehetővé teszi számunkra a lehetőség és a szükségesség kifejezését:
- Egy megbízható ügyfél behelyezhet / be kell helyeznie egy kártyát.
- Lehetséges / szükséges, hogy egy megbízható ügyfél behelyezzen egy kártyát.
A mondat-alárendelés különféle formákban fordul elő:
- Igaz / hamis, hogy az ügyfél behelyez egy kártyát.
- Nem bizonyítható, hogy az ügyfél behelyez egy kártyát.
- Az ügyintéző úgy véli, hogy az ügyfél behelyez egy kártyát.
Számszerűsítés
A kvantálás lehetővé teszi számunkra, hogy egy adott osztály összes objektumáról beszéljünk ( univerzális kvantifikáció ), vagy kifejezetten jelöljük az osztály legalább egy objektumának létezését ( egzisztenciális kvantifikáció ). Az univerzális vagy egzisztenciális kvantor szöveges előfordulása megnyitja annak hatókörét, amely a mondat végéig, vagy koordinációban a megfelelő összehangolt mondat végéig terjed.
Annak kifejezésére, hogy minden érintett ügyfél behelyezhet kártyákat, írhatunk
- Minden ügyfél behelyez egy kártyát.
Ez a mondat azt jelenti, hogy minden ügyfél behelyez egy kártyát, amely azonos lehet, vagy nem, megegyezik egy másik ügyfél által behelyezett kártyával. Annak megadásához, hogy minden ügyfél ugyanazt a kártyát helyezze be - bármennyire is irreálisnak tűnik - írhatunk:
- Minden ügyfél behelyez egy kártyát.
vagy egyenértékűen:
- Van egy kártya, amelyet minden ügyfél behelyez.
Annak megállapítása, hogy minden kártyát egy ügyfél helyez be, amit írunk:
- Minden kártyát egy ügyfél helyez be.
vagy kissé közvetetten:
- Minden kártyához van egy ügyfél, aki behelyezi.
Tagadás
A tagadás lehetővé teszi számunkra, hogy kifejezzük, hogy valami nem a helyzet:
- Az ügyfél nem helyez be kártyát.
- A kártya nem érvényes.
Ha egy bizonyos osztály összes objektumát el akarjuk tagadni, akkor nem használunk :
- Egy ügyfél sem helyezhet be 2-nél többet.
vagy nincs :
- Nincs olyan ügyfél, aki behelyezne egy kártyát.
A teljes állítás tagadásához a mondat tagadását kell használni:
- Hamis, hogy az ügyfél behelyez egy kártyát.
Ezek a tagadásformák logikai negációk, vagyis kijelentik, hogy valami bizonyíthatóan nem így van. A negatívum, mint kudarc, azt állítja, hogy a helyzet nem bizonyítható, azaz nincs információ arról, hogy a helyzet áll-e fenn vagy sem.
- Nem bizonyítható, hogy az ügyfél behelyez egy kártyát.
Lekérdezések
Az ACE kétféle lekérdezést támogat: igen / nem- és wh- lekérdezéseket.
Igen / nem - a lekérdezések egy adott helyzet létezését vagy nem létezését kérik. Ha megadtuk:
- Az ügyfél behelyez egy kártyát.
akkor megkérdezhetjük:
- Az ügyfél behelyez egy kártyát?
hogy pozitív választ kapjon. Vegye figyelembe, hogy a kérdő mondatok mindig kérdőjellel végződnek.
A wh- lekérdezések, azaz lekérdező szavakkal történő lekérdezések segítségével kikérdezhetünk egy szöveget a megadott helyzet részleteiről. Ha megadtuk:
- A megbízható ügyfél reggel behelyez egy érvényes kártyát egy bankba.
kérhetjük a mondat minden elemét az ige kivételével.
- Ki helyez be kártyát?
- Melyik ügyfél helyez be kártyát?
- Mit ír be az ügyfél?
- Hogyan helyezhet be egy ügyfél egy kártyát?
- Mikor ad meg egy ügyfél kártyát?
- Hol ad meg egy ügyfél kártyát?
A lekérdezéseket deklaratív mondatsorozattal is össze lehet építeni, amelyet egy kérdező mondat követ, például:
- Van vevő és van kártya, amelyet az ügyfél beír. Az ügyfél beír egy kártyát?
Parancsok
Az ACE a parancsokat is támogatja. Néhány példa:
- John, menj a bankba!
- John és Mary, várj!
- Minden kutya ugass!
- János testvére, adjon könyvet Máriának!
A parancs mindig főnévi kifejezésből (a címzettből) áll, amelyet vessző követ, majd egy koordinálatlan igei kifejezés következik. Ezenkívül a parancsnak felkiáltójellel kell végződnie.
Kötelező kétértelműség
A teljes természetes nyelv kétértelműségének korlátozása érdekében az ACE három egyszerű módszert alkalmaz:
- Néhány félreérthető konstrukció nem része a nyelvnek; egyértelmű alternatívák állnak rendelkezésre helyettük
- Az összes megmaradt kétértelmű konstrukciót determinisztikusan értelmezzük, kevés értelmezési szabály alapján
- A felhasználók vagy elfogadják a hozzárendelt értelmezést, vagy át kell fogalmazniuk a bemenetet, hogy újabbat kapjanak.
A kétértelműség elkerülése
Természetes nyelven a relatív mondatok és a koordinációk kombinálva kétértelműséget teremthetnek:
- Az ügyfél behelyez egy érvényes kártyát, és megnyit egy számlát.
Az ACE-ben a mondatnak egyértelmű jelentése, hogy az ügyfél számlát nyit, amit a parafrázis is tükröz:
- Egy kártya érvényes. Az ügyfél behelyezi a kártyát. Az ügyfél számlát nyit.
Ahhoz, hogy kifejezze az alternatív - bár nem túl reális - vagyis a kártya nyit egy számlát, a vonatkozó névmás , hogy meg kell ismételni, így egy koordinációs viszonylagos mondat:
- Az ügyfél behelyez egy érvényes kártyát, amely fiókot nyit.
Ez a mondat egyértelműen egyenértékű a parafrázissal:
- Egy kártya érvényes. A kártya megnyit egy számlát. Az ügyfél behelyezi a kártyát.
Értelmezési szabályok
Nem minden bizonytalanság távolítható el biztonságosan az ACE-től anélkül, hogy azt mesterségessé tenné. Az egyébként szintaktikailag helyes ACE-mondatok determinisztikus értelmezéséhez kis értelmezési szabályok halmazát használjuk. Például, ha azt írjuk:
- Az ügyfél behelyez egy kódot tartalmazó kártyát.
majd egy kódot tulajdonít az ige betétek , de nem a kártya . Valószínűleg azonban nem ezt akartuk mondani. Annak kifejezésére, hogy a kód társul a kártyához , alkalmazhatjuk azt az értelmezési szabályt, miszerint egy relatív mondat mindig módosítja a közvetlenül megelőző főnévi kifejezést, és a bemenetet átfogalmazza:
- Az ügyfél behelyez egy kódot tartalmazó kártyát.
így a parafrázis:
- A kártya kódot tartalmaz. Az ügyfél behelyezi a kártyát.
vagy - annak megadása, hogy az ügyfél kártyát és kódot helyezzen be:
- Az ügyfél behelyez egy kártyát és egy kódot.
Anaforikus hivatkozások
Az ACE szövegek általában több mondatból állnak:
- Az ügyfél beír egy kártyát és egy kódot. Ha egy kód érvényes, akkor a SimpleMat elfogad egy kártyát.
Annak kifejezésére, hogy a kártya és a kód minden előfordulásának ugyanazt a kártyát és ugyanazt a kódot kell jelentenie, az ACE anaforikus hivatkozásokat nyújt a meghatározott cikken keresztül:
- Az ügyfél beír egy kártyát és egy kódot. Ha a kód érvényes, akkor a SimpleMat elfogadja a kártyát.
Az ACE szöveg feldolgozása során az összes anaforikus hivatkozást felváltja a legfrissebb és a legkonkrétabban hozzáférhető főnévi kifejezés, amely nemben és számban egyezik. Tegyük fel, hogy a "legfrissebb és legspecifikusabb" példaként egy ACE-elemző megkapja a mondatot:
- Az ügyfél piros és kék kártyát ad meg.
Akkor:
- A kártya helyes.
a második kártyára utal, míg:
- A piros kártya helyes.
az első kártyára utal.
Az if-then mondatokon belüli főnévi kifejezésekre, az általánosan számszerűsített mondatokra, a negációkra, a modalitásra és az alárendelt mondatokra nem lehet anaforikusan hivatkozni a következő mondatokból, vagyis az ilyen főnévi mondatok nem "hozzáférhetők" a következő szövegből. Így mindegyik mondatnál:
- Ha az ügyfél kártyával rendelkezik, akkor beírja azt.
- Minden ügyfél beír egy kártyát.
- Az ügyfél nem ad meg kártyát.
- Az ügyfél beírhat egy kártyát.
- Az ügyintéző úgy véli, hogy az ügyfél beír egy kártyát.
nem hivatkozhatunk olyan kártyára, amely:
- A kártya helyes.
Az anaforikus utalások személyes névmásokon keresztül is lehetségesek:
- Az ügyfél beír egy kártyát és egy kódot. Ha érvényes, akkor a SimpleMat elfogadja a kártyát.
vagy változókon keresztül:
- Az ügyfél beír X kártyát és Y kódot . Ha Y érvényes, akkor a SimpleMat elfogadja az X-et .
A meghatározott cikkeken és változókon keresztüli anaforikus hivatkozások kombinálhatók:
- Az ügyfél beír X kártyát és Y kódot . Ha az Y kód érvényes, akkor a SimpleMat elfogadja az X kártyát .
Ne feledje, hogy a SimpleMat-hoz hasonló tulajdonnevek mindig ugyanarra az objektumra utalnak.
Lásd még
- Gellish
- Természetes nyelv feldolgozása
- Természetes nyelvű programozás
-
Strukturált angol
- ClearTalk , egy másik géppel olvasható tudásreprezentációs nyelv
- Informálja a 7-et , egy angol szintaxissal rendelkező programozási nyelvet