A Knowledge-Rich Approach to Understanding Text about Aircraft Systems Peter Clark Lisbeth Duncan Heather Holmback Tom Jenkins John Thompson Boeing Engineering and Information Technology Overview • Situation: Using a hand-built, airplane knowledge-base (KB) at Boeing (e.g., for concept-based search) • Goal: Extend this KB by processing text: • from airplane training manuals • directly from an aerospace engineer • Target: airplane parts, connections, and behaviors Challenge • Interpretation of text requires background knowledge – author trying to convey a model to the reader – only some parts of this are explicitly stated in text – rest is assumed to be already known to the reader Airplane Powered-System source “The hydraulic system supplies power to the rudder.” sink behavior Hydraulic System Supply Script Consume Power Rudder Transmit Conduit Approach • Use an aerospace knowledge base (KB): – Taken from an earlier project and extended – Contains general models about what might be said • Contains general knowledge of aircraft and systems • Doesn’t know details of specific aircraft • Text interpretation = specializing and refining this background knowledge Constraints on the Scope 1. Working with restricted sublanguage of English – Simple, declarative sentences – Regular, “boring” style “The hydraulic system supplies power to the rudder.” “A ripple damper smooths the pump pressure output.” “The EDP is on the left side of the engine main gearbox.” “The gearbox turns the EDP when the engine turns.” 2. Constrained domain (aircraft systems) – Reduces vocabulary, background KB 3. Domain of mechanical artifacts – Simple statements about structure and behavior Approach KB User specifies topic (eg. “777-200-Airplane”) Initial (general) representation of airplane built. Text is provided. 777-200-Airplane purpose parts Wing systems Tail Fuselage Vertical Stabilizer Powered System parts “The hydraulic system supplies power to the rudder.” Flap connects parts sink script Rudder source Power Source recipient Supplying agent Approach KB Then: 1. Text NLP structure 777-200-Airplane purpose parts Wing Rudder Hydraulic System “The hydraulic recipient agent system supplies Supplying power to the Stage 1 object rudder.” Power systems Tail Fuselage Vertical Stabilizer Powered System parts Flap connects parts sink script Rudder source Power Source recipient Supplying agent Approach KB Then: 1. Text NLP structure 2. Match NLP structure with airplane repn. 777-200-Airplane purpose parts Wing Rudder systems Tail Fuselage parts Hydraulic System Vertical Flap “The hydraulic Stabilizer recipient agent system supplies connects parts sink Supplying power to the Stage 1 object Stage 2 Rudder rudder.” Power Powered System script Power Source recipient ? source Supplying agent Approach Then: 1. Text NLP structure 2. Match NLP structure with airplane repn. Unify the matching structures. KB 777-200-Airplane purpose parts Wing Rudder Hydraulic System systems Tail Fuselage parts Vertical Flap “The hydraulic Stabilizer recipient agent system supplies connects parts sink Supplying power to the Stage 1 object Stage 2 Rudder rudder.” Powered System script source Hydraulic System Power Supplying Power KB The Knowledge Base 777-200-Airplane purpose parts Wing Rudder Hydraulic System systems Tail parts Vertical Flap “The hydraulic Stabilizer recipient agent system supplies connects parts sink Supplying power to the Stage 1 object Stage 2 Rudder rudder.” Power Fuselage Powered System script source Power Source recipient Supplying agent The Knowledge Base • ~500 concepts, ~1500 axioms • Mainly airplane parts, behaviors, and connections • Axioms converted to prototypes (graph structures) Axiom: “Every airplane has a fuselage, and a tail connected to the fuselage.” Prototype (sketch) (every Airplane has (parts ((a Fuselage) (a Tail with (connected-to (the Fuselage parts of Self)))) Airplane parts Fuselage connected-to Tail Inference: Building the Initial Airplane Representation Axioms in KB: Airplane representation: Airplane 777-200-Airplane behavior parts parts Fuselage Tail Flight Fuselage connected-to behavior Tail Flight parts Vertical Stabilizer Horizontal Stabilizer Flight Takeoff Cruise Land Tail parts Vertical Stabilizer Horizontal Stabilizer subevents Takeoff Cruise Land Stage 1: Text to NLP Structure KB 777-200-Airplane purpose parts Wing systems Tail Fuselage Vertical Stabilizer Powered System parts “The hydraulic system supplies power to the rudder.” Flap connects parts sink script Rudder source Power Source recipient Supplying agent Stage 1: Text to NLP Structure KB 777-200-Airplane purpose parts Wing Rudder Hydraulic System “The hydraulic recipient agent system supplies Supplying power to the Stage 1 object rudder.” Power systems Tail Fuselage Vertical Stabilizer Powered System parts Flap connects parts sink script Rudder source Power Source recipient Supplying agent Stage 1: Text to NLP Structure • Superficial linguistic variations normalized • Add initial semantic interpretation Supply_1 [sing,pres,3S] object recipient “The hydraulic Power_1 causer To_5 [sing,mass] system supplies range Hydraulic Rudder_1 power to the Parse & System_1 Abstract [sing,N] rudder.” [sing,N] semantic & rewrite analysis delim delim The_1 The_1 [det] [det] Hydraulic System Rudder recipient agent Supplying object Power • Commits to: overall parse/syntactic configuration, word senses • May underspecify: some semantic relationships (e.g., modifiers) KB 777-200-Airplane purpose parts Wing Rudder Hydraulic System “The hydraulic recipient agent system supplies Supplying power to the Stage 1 object rudder.” Power systems Tail Fuselage Vertical Stabilizer Powered System parts Flap connects parts sink script Rudder source Power Source recipient Supplying agent Stage 2: Match NLP Structure with Airplane Representation KB 777-200-Airplane purpose parts Wing Rudder systems Tail Fuselage parts Hydraulic System Vertical Flap “The hydraulic Stabilizer recipient agent system supplies connects parts sink Supplying power to the Stage 1 object Stage 2 Rudder rudder.” Power Powered System script Power Source recipient ? source Supplying agent Stage 2: Match with Airplane Representation • Goal: Integrate text into airplane representation • Approach: find matching (subsuming) structure(s) … … Hydraulic System Rudder recipient Rudder agent Supplying object … Power Source recipient agent Supplying Power Text KB (Topic airplane representation) Stage 2: Match with Airplane Representation • Goal: Integrate text into airplane representation • Approach: find matching (subsuming) structure(s) • If match found, unify the two structures together … … … Hydraulic System Rudder recipient Rudder agent Supplying object Power Source recipient agent Supplying Power Text KB (Topic airplane representation) Stage 2: Match with Airplane Representation • Goal: Integrate text into airplane representation • Approach: find matching (subsuming) structure(s) • If match found, unify the two structures together … … … Hydraulic System Rudder recipient Rudder agent recipient Supplying object Power Source … … Power … Hydraulic System Rudder recipient Supplying object Power agent Supplying agent Matching Problem 1:Linguistic Variation KB expects: “The hydraulic system supplies power to the rudder.” Supplying Power Source Power Rudder But text may deviate with: 1. Synonyms “The hydraulic system provides power to the rudder.” Providing Hydraulic System 2. Contractions “The hydraulic system powers the rudder.” 4. … Rudder Powering Hydraulic System 3. Roles “The hydraulic system is the supplier of power for the rudder.” Power Rudder Be Hydraulic System Supplier Power Rudder Matching Problem 1: Linguistic Variation • Use simple transformation rules to modify NLP structure • No match transform and re-search for a match Supplying Hydraulic System Power synonym Hydraulic System Rudder contraction/ expansion Providing Power Rudder role Be Powering Hydraulic System Rudder Hydraulic System Supplier Power Rudder Matching Problem 2: Expression of Implied Facts • Problem: – Not all airplane facts are explicit in the KB structures – If user refers to an implied fact, matcher will not find it Explicit facts: Rudder Control System agent behavior Pilot object Script agent subevents Press object Rudder object Pull Move agent Pedal Cable Matching Problem 2: Expression of Implied Facts • Problem: – Not all airplane facts are explicit in the KB structures – If user refers to an implied fact, matcher will not find it Explicit facts: Rudder Control System agent behavior Pilot object Script agent subevents Press object Rudder object Pull Move agent Pedal “The pilot presses the pedal.” Cable Matching Problem 2: Expression of Implied Facts • Problem: – Not all airplane facts are explicit in the KB structures – If user refers to an implied fact, matcher will not find it Explicit facts: Rudder Control System agent behavior Pilot object Script agent subevents Press object Pull Rudder object Move agent Pedal Cable “The pilot presses the pedal.” “The pedal pulls a cable.” Matching Problem 2: Expression of Implied Facts • Problem: – Not all airplane facts are explicit in the KB structures – If user refers to an implied fact, matcher will not find it Explicit facts: Rudder Control System agent behavior Pilot object Script agent subevents Press object Pull Rudder object Move agent Pedal Cable “The pilot presses the pedal.” “The pedal pulls a cable.” “The cable moves the rudder.” Matching Problem 2: Expression of Implied Facts • Problem: – Not all airplane facts are explicit in the KB structures – If user refers to an implied fact, matcher will not find it Explicit facts: Rudder Control System agent behavior Pilot object Script agent subevents Press object Rudder object Pull Move agent Pedal “The pilot presses the pedal.” “The pedal pulls a cable.” “The cable moves the rudder.” Cable Inference Rule: If A does X, and X causes Y then add A does Y. Matching Problem 2: Expression of Implied Facts • Problem: – Not all airplane facts are explicit in the KB structures – If user refers to an implied fact, matcher will not find it Implied facts: Rudder Control System agent behavior Pilot object Script agent subevents Press object agent Rudder object Pull Move agent Pedal “The pilot presses the pedal.” “The pedal pulls a cable.” “The cable moves the rudder.” object instrument. Cable Move “The pilot moves the rudder using the pedal.” Matching Problem 2: Expression of Implied Facts • Problem: – Not all airplane facts are explicit in the KB structures – If user refers to an implied fact, matcher will not find it Implied facts: Rudder Control System agent behavior Pilot object Script agent subevents Press object agent Rudder object Pull Move agent Pedal “The pilot presses the pedal.” “The pedal pulls a cable.” “The cable moves the rudder.” object instrument. Move Cable instrument agent Move object “The pilot moves the rudder using the pedal.” “The pedal moves the rudder using the cable.” Matching Problem 2: Expression of Implied Facts • Problem: – Not all airplane facts are explicit in the KB structures – If user refers to an implied fact, matcher will not find it • Approach: – Match text against an extended version of the KB – Extensions generated on demand Airplane representation: Explicit facts Implied facts Status and Assumptions • While some components are mature, only complete throughput for a small number of sentences • Relies on strong expectations from the KB – Everything that might be said is encompassed by KB • Assumes stage 1 output is correct • Assumes a single model of the airplane is described Challenges… • Inaccurate knowledge – “The pump supplies a source of power to the rudder.” • Simplifications/multiple models – “There are three hydraulic systems in the 777-200.” – “The flight control surfaces steer the airplane.” • Fluctuating (“fuzzy”) concept boundaries – “hydraulic system” includes controlled devices (eg rudder)? • Ambiguities not locally resolvable – “The EDP is attached to the airplane’s engine.” Summary • Goal: extend an airplane KB from text • Use of background knowledge can help: – constrains possible interpretations – provide the surrounding context • Presented a simple model of how this can be done: – text interpretation = iterative refinement of a representation – use of graph matching and unification