Common Errors in Knowledge Representation
90 likes | 200 Vues
Learn about errors like reliance on natural language, tedious hand-reification, and high-arity predicates in representing knowledge effectively. Avoid pitfalls to ensure clear and consistent definitions. Enhance your understanding of definable collections and the importance of proper structuring.
Common Errors in Knowledge Representation
E N D
Presentation Transcript
Errors in Representing Knowledge • Errors with Constants, Variables, and Reliance on NL • Errors with Specialization, Generalization, and Rules • Other Errors
#$equiv usually isn’t Is it? (#$equiv (#$and (#$parents ?PERSON ?PARENT) (#$brothers ?PARENT ?UNCLE)) (#$uncles ?PERSON ?UNCLE)) Better to use implies twice, and convince yourself that both directions really hold.
Definable Collections • E.g., #$WhiteCat • Completely definable in terms of other constants; nothing new to say. • Anytime one wishes to write • (#$isa ?X #$WhiteCat) • one could write this instead: • (#$and (#$isa ?X #$Cat) • (#$mainColorOfObject ?X #$WhiteColor)
Tedious Hand-Reification E.g., #$Kilometer, #$Kilogram, #$Kiloliter (#$Centimeter, #$Millimeter, #$Nanometer,etc) What must we say about, e.g., Kilogram? (#$isa #$Kilogram #$UnitOfMeasure) (#$resultIsa #$Kilogram #$Mass) (#$unitMultiplicationFactor #$Kilogram #$Gram 1000)
Avoiding Tedious Hand-Reification Better: Constant : MetricUnitPrefix isa : RelationshipType genls : ReifiableFunction UnaryFunction Constant : Kilo isa : MetricUnitPrefix arg1Isa : UnitOfMeasureNoPrefix resultIsa : UnitOfMeasureWithPrefix E.g., 1km =((#$Kilo #$Meter) 1)
Avoiding Tedious Hand-Reification Now rules can enforce consistent definitions: (#$unitMultiplicationFactor (#$Kilo ?UNIT) ?UNIT 1000) (#$implies (#$and (#$isa ?PREFIX #$MetricUnitPrefix) (#$natFunction ?METRIC-UOM ?PREFIX) (#$resultIsa ?UOM ?COL) (#$natArgument ?METRIC-UOM 1 ?UOM)) (#$resultIsa ?METRIC-UOM ?COL)) Therefore,(#$unitMultiplicationFactor (#$Kilo #$Meter) #$Meter 1000) (#$resultIsa (#$Kilo #$Meter) #$Distance)
Gratuitous High-arity Predicates:Lumping independent properties together Bad: (#$inventionInfo #$Telephone #$AlexanderGrahamBell (#$YearFn 1876)) State independently instead: (#$inventors #$Telephone #$AlexanderGrahamBell) (#$inventionDate #$Telephone (#$YearFn 1876))
Gratuitous High-arity Predicates:Hiding concepts inside assertions Bad: (#$teamLineup #$DallasCowboys-1998 #$TroyAikman #$EmmittSmith #$MichaelErvin . . .) Reify the positions: (#$hasPositionIn #$TroyAikman #$DallasCowboys-1998 #$Quarterback) (#$hasPositionIn #$EmmittSmith #$DallasCowboys-1998 #$RunningBack) . . .
Summary • #$equiv usually isn’t • Definable Collections • Tedious Hand-Reification • Gratuitous High-arity Predicates • Lumping independent properties together • Hiding concepts inside assertions