Download Discussion slides

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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.