Attempto Controlled English Norbert Fuchs et al. Dept CS, Univ Zurich, Switzerland

advertisement
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 commonsense 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.
Download