knowledge engineering pitfalls knowledge engineering
play

Knowledge Engineering Pitfalls Knowledge Engineering Pitfalls Which - PowerPoint PPT Presentation

Knowledge Engineering Pitfalls Knowledge Engineering Pitfalls Which one is better to represent Pizza margherita ? (A) Pizza ( x ) Margherita ( x ) (B) Pizza ( x ) y . ( hasType ( x , y ) PizzaMargherita ( y )) Which one is


  1. Knowledge Engineering Pitfalls

  2. Knowledge Engineering Pitfalls Which one is better to represent “Pizza margherita” ? (A) Pizza ( x ) ∧ Margherita ( x ) (B) Pizza ( x ) ∧∃ y . ( hasType ( x , y ) ∧ PizzaMargherita ( y ))

  3. Which one is better? (A) ThinkPad ( TSeries ) (B) ∀ x . TSeries ( x ) → ThinkPadModel ( x ) ∀ x . ThinkPad ( x ) ∧ ∃ y . ( hasModel ( x , y ) ∧ ThinkPadModel ( y ))

  4. Which one is better? (A) ∀ x . DiskDrive ( x ) → ComputerPart ( x ) ∀ x . Memory ( x ) → ComputerPart ( x ) ∀ x . Computer ( x ) ∧ ∃ y . ( hasPart ( x , y ) ∧ ComputerPart ( y )) (B) ∀ x . DiskPart ( x ) → ComputerPart ( x ) ∀ x . MemoryPart ( x ) → ComputerPart ( x ) ∀ x . DiskPart ( x ) → DiskDrive ( x ) ∀ x . MemoryPart ( x ) → Memory ( x ) ∀ x . Computer ( x ) ∧ ∃ y . ( hasPart ( x , y ) ∧ ComputerPart ( y ))

  5. Instantiation Pitfalls ◮ Does this ontology mean that “My ThinkPad is a ThinkPad Model”? T 21 ( mythinkpad 123 ) ∀ x . T 21 ( x ) → ThinkPadModel ( x ) ◮ Question: What ThinkPad models do you sell? ◮ Answer should NOT include My ThinkPad – nor yours. K | = ThinkPadModel ( mythinkpad 123 )

  6. Instantiation Pitfalls (cont.) ◮ Corrected version NotebookComputer ( mythinkpad 123 ) hasModel ( mythinkpad 123 , T 21 ) TSeries ( T 21 ) ∀ x . TSeries ( x ) → ThinkPadModel ( x )

  7. Composition Pitfalls ∀ x . MicroDrive ( x ) → DiskDrive ( x ) ∀ x . DiskDrive ( x ) → Computer ( x ) ∀ x . Memory ( x ) → Computer ( x ) ◮ Question: What Computers do you sell? ◮ Answer should NOT include Disk Drives or Memory

  8. Composition Pitfalls (cont.) ◮ Corrected version ∀ x . MicroDrive ( x ) → DiskDrive ( x ) ∀ x . DiskDrive ( x ) ∧ ∃ y . ( partOf ( x , y ) ∧ Computer ( y )) ∀ x . Memory ( x ) ∧ ∃ y . ( partOf ( x , y ) ∧ Computer ( y ))

  9. Disjunction Pitfalls ◮ Unintended model: flashcard110 is a computer-part hasPart ( camera 15 , flashcard 110 ) Memory ( flashcard 110 ) ∀ x . Computer ( x ) ∧ ∀ y . ( hasPart ( x , y ) → ComputerPart ( y )) ∀ x . Memory ( x ) → ComputerPart ( x ) ∀ x . DiskDrive ( x ) → ComputerPart ( x )

  10. Disjunction Pitfalls (cont.) ◮ Corrected version hasPart ( camera 15 , flashcard 110 ) FlashMemory ( flashcard 110 ) Camera ( camera 15 ) ∀ x . Camera ( x ) → ¬ Computer ( x ) ∀ x . Computer ( x ) ∧ ∀ y . ( hasPart ( x , y ) → ComputerPart ( y )) ∀ x . ComputerPart ( x ) ↔ ( MemoryPart ( x ) ∨ DiskPart ( x ) ∨ . . . )

  11. Polysem Pitfalls ∀ x . Book ( x ) → PhysicalObject ( x ) ∀ x . Book ( x ) → AbstractEntity ( x ) Book ( b 1 ) , . . . , Book ( b 5000 ) ◮ Question: How many books do you have on Hemingway? ◮ Answer: 5,000

  12. Polysem Pitfalls (cont.) ◮ Corrected version ∀ x . BookSense 1 ( x ) → PhysicalObject ( x ) ∀ x . BookSense 2 ( x ) → AbstractEntity ( x ) BookSense 2 ( b 1 ) , . . . , BookSense 2 ( b 5000 )

  13. Constitution Pitfalls (WordNet) ∀ x . Metal ( x ) → AmountOfMatter ( x ) ∀ x . Clay ( x ) → AmountOfMatter ( x ) ∀ x . Computer ( x ) → PhysicalObject ( x ) ∀ x . PhysicalObject ( x ) → AmountOfMatter ( x ) ∀ x . AmountOfMatter ( x ) → Entity ( x ) ◮ Question: What types of matter will conduct electricity? ◮ Answer should NOT include computers.

  14. Constitution Pitfalls (cont.) ◮ Corrected version ∀ x . Metal ( x ) → AmountOfMatter ( x ) ∀ x . Clay ( x ) → AmountOfMatter ( x ) ∀ x . Computer ( x ) → PhysicalObject ( x ) ∀ x . PhysicalObject ( x ) ∧ ∃ y . ( constitutedBy ( x , y ) ∧ AmountOfMatter ( y )) ∀ x . AmountOfMatter ( x ) → Entity ( x ) ∀ x . PhysicalObject ( x ) → Entity ( x )

  15. Temporality Pitfalls 1963 ( chris ) ∀ x . 1963 ( x ) → 1960 s ( x ) ∀ x . 1964 ( x ) → 1960 s ( x )

  16. Temporality Pitfalls (cont.) ◮ Corrected version 1963 Births ( chris ) ∀ x . 1963 Births ( x ) → 1960 sBirths ( x ) ∀ x . 1964 Births ( x ) → 1960 sBirths ( x )

  17. Temporality Pitfalls (cont.) Person ( chris ) , bornIn ( chris , 1963 ) Year ( 1963 ) , Year ( 1964 ) contains ( 1960 s , 1963 ) , contains ( 1960 s , 1964 ) Decade ( 1960 s )

  18. Spatial/Containment Pitfalls ∀ x . AlsaceRegion ( x ) → FrenchRegion ( x ) ∀ x . LoireRegion ( x ) → FrenchRegion ( x ) Corrected . . . Region ( alsace ) , Region ( loire ) contains ( france , alsace ) , contains ( france , loire ) Country ( france )

  19. About Instances ◮ For every class, think about what an instance of it is ◮ What is an instance of “Loire Region”? ◮ Classes do not describe their subclasses ◮ “Regions by Country” is a class of classes ◮ Criteria for individuation must remain constant within a taxonomy ◮ Instance of a class is also an instance of every superclass ◮ Thus “Chris” is not an instance of “1963 births” ◮ Explore the “boundary conditions” ◮ E.g. Changes in existence, distinctions with similar classes ◮ “Leaf Nodes” of a hierarchy have no special significance ◮ Don’t switch to instances ◮ Think of an instance as the keyvalue of a record in a database, while of a class as the schema (signature) of a relational table

  20. Common Pitfalls ◮ Composition (part of) ◮ ∀ x . Arm ( x ) → ) Body ( x ) ◮ Constitution ◮ ∀ x . Statue ( x ) → Marble ( x ) ◮ Disjunction ◮ ∀ x . Car ( x ) → ( ∀ y . hasPart ( x , y ) ∧ CarPart ( y )) ◮ ∀ x . Engine ( x ) → CarPart ( x ) ◮ ∀ x . Tire ( x ) → CarPart ( x ) ◮ Spatial ◮ ∀ x . NewYork ( x ) → US ( x ) ◮ Polysemy ◮ ∀ x . Book ( x ) → PhysicalObject ( x ) ◮ ∀ x . Book ( x ) → ConceptualCreation ( x ) ◮ Arbitrary organisational nodes ◮ ∀ x . FictionalBookbyLatinAmericanAuthor ( x ) → FictionalBook ( x ) ◮ Instance ◮ Grape ( pinotnoir ) ◮ Temporality ◮ Elvis ( YoungElvis )

  21. Linguistic Tests ◮ If P subclass Q , you should be able to say “ P is a kind of Q ” ◮ If a instanceOf P ’, you should be able to say, “a is a P” ◮ If a instanceOf P subClassOf Q , you should be able to say “a is a Q” ◮ For every instance, there should be a class it is (rigidly) an instance of that is its natural label ◮ You should not find it natural to say, if P subclassOf Q , “ P has Q ”, “ P might be Q ”, “ P was Q ”, “ P is in Q ”, “ P is part of Q ”

  22. What’s in a name ◮ Don’t argue about what specific terms mean ◮ Common software architecture argument: “What is a bridge?” ◮ Try and find the distinctions that matter ◮ Assign them labels later ◮ Avoid “ish”, “-thing” & “other-” classes ◮ Find good names that will avoid meaning creep ◮ Other- classes create a maintenance nightmare ◮ Classes describe their instances ◮ Remember the linguistic tests ◮ The superclass is not part of the name ◮ So don’t assume it is (e.g. Best_Practices subClassOf Document)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend