130 likes | 143 Views
Attempto Controlled English. Norbert Fuchs et al. Dept CS, Univ Zurich, Switzerland as (mis-)interpreted by Peter Clark. Background. Funded continuously from 1989 to 2003 by Swiss NSF.
E N D
Attempto Controlled English Norbert Fuchs et al. Dept CS, Univ Zurich, Switzerland as (mis-)interpreted by Peter Clark
Background • Funded continuously from 1989 to 2003 by Swiss NSF. • Employed in two master theses (robot control and querying an ontological database). Also taught to students of Univ Dresden. • Informal collaborations with hospital (use of controlled language for patient records) • Demand for past tense and passive voice • Now: funding from EC as part of the “Network of Excellence” 2003-2007. • ACE was chosen as (basis of) the controlled English for the EU Network of Excellence REWERSE (2004-8) • Initial requirements include: verbalization of formal languages in ACE, NAF as well as logical negation, decidable ACE subset. • Norbert Fuchs is now senior research fellow with the Univ Zurich heading Zurich’s part of REWERSE for next 4 years. • Not a stepping stone to full NL; rather full NL is considered largely out of reach.
ACE: Overview and Approach • ACE is completely (& deliberately) knowledge poor • (Exception: numbers, groups, equality) • Parsing in ACE is deterministic • “predictability is better than smarts” • users learn the disambiguation rules, e.g., • PPs attach right-to-left • rules for coordination • More like an English-like programming language than a “natural” language • Though: Norbert claims can achieve both • “Only suitable for logic-like domains, not common-sense reasoning”
The ACE System • Three main bits of software: • Language to logic translation • Lexicon editor • Theorem prover
ACE Grammar (overview) • Vocabulary • Words only have one sense (per part of speech) • No ontology (sense taxonomy) • Basic sentence: • subject + verb + complements + adjuncts • e.g., “The driver stops the train at the station” • Composite sentences: • coordination (and, or) • subordination (if, then) • verb phrase negation (does not, is not) • noun phrase negation (no) • quantification (a, there is, for every)
ACE • Words only have one sense (per part of speech) • Compound nouns are not decomposed • enter them explicitly in the lexicon • Anaphora resolution: • simple search of an object stack + recency • No inheritance hierarchy • Coordination
Ambiguity Resolution • Fixed interpretation rules, e.g., • Relative phrases always attach to the immediately preceding noun phrase • PPs always attach to the verb • If there is a misattachment, e.g., in “The driver stops the train with the defective brake”, the user rewrites with a relative phrase, e.g., “the driver stops the train that has a defective brake”. • multiple PPs attach right-to-left • Plurals have a collective interpretation by default • “Three men lift a table” • Use of “cue” phrases to overwrite defaults, e.g., • “Each of three men lifts a table”, to get distributive interpretation
ACE • No semantic roles: • “the person hits the nail” event(E,hit(person,nail)) • “the hammer hits the nail” event(E,hit(hammer,nail)) • User must be careful! • Interpretation is context-free • Verbs with multiple alternations are not allowed • e.g., “X gave Y Z”, “X gave Y” • no guessing of missing object • Ditransitive verbs not allowed • instead use a preposition (e.g., “John gives a book to Mary”, rather than “John gave Mary a book”) • prepositions need to be used consistently by user • e.g., “in the morning” “during the morning” • with one exception: “in the bed” vs. “in the morning” • disambiguated based on object type (physical vs. temporal)
Background Knowledge in ACE • ACE deliberately has little prior, built-in knowledge, e.g.,; • No built-in knowledge that “give”, “give_to” are related • No built-in knowledge of interword relationships (e.g., “has” vs. “owns”) • No built-in knowledge of how verbs and nominalizations relate • Rather, philosophy is to allow user to specify such knowledge using axioms, so user has control, e.g., • “If a person X gives an object Y to a person Z, then the person X gives the object Y.” • “If a person X has an object Y then the person X owns the object Y”; or simply “If a person has an object then the person owns the object”
Multiple ways of saying things… • “The box is red” • box(A) & property(A,red) • “The color of the box is red” • box(A) & color-of(A,B) & property(B,red) • “The red box” • box(A) & property(A,red)
2. The Lexicon Editor • Simple TTY interface; user enters word then: • part of speech • nouns: • singular/plural • mass/count • person/location/time/object • verbs: • 3rd person singular & plural • transitive/intransitive/ditransitive • Is accessible via the Web. more fancy Web-based interface is also under development.
3. Theorem Proving (Reasoning) • ACE translates to first-order logic, not Prolog • wanted non-Horn rules • No temporal reasoning • Use a theorem-prover to spot contradictions • spent 2 yrs wrestling with it (!) • Will help users debug the KB (in theory) • Events are reified.
Also… • Feedback to help user • Feeback on failed parses: ACE will identify the first sentence that failed to parse, and try to give more info. • Paraphrase of successful parses: Helpful, providing that the paraphrase does not itself contain the ambiguity in the original sentence.