1 / 65

From Data to Knowledge through Grailog Visualization

From Data to Knowledge through Grailog Visualization (Long version: http://www.cs.unb.ca/~boley/talks/RuleMLGrailog.pdf ). Harold Boley Faculty of Computer Science University of New Brunswick Fredericton, NB, Canada. Decision CAMP, 4-6 November 2013 eBay Town Hall, San Jose, CA

bell
Download Presentation

From Data to Knowledge through Grailog Visualization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. From Data to Knowledge throughGrailog Visualization (Long version: http://www.cs.unb.ca/~boley/talks/RuleMLGrailog.pdf) Harold BoleyFaculty of Computer ScienceUniversity of New BrunswickFredericton, NB, Canada Decision CAMP, 4-6 November 2013 eBay Town Hall, San Jose, CA Editorial Update: 11 November 2013

  2. Acknowledgements Thanks for feedback on various versions and parts of this presentation(the long version has all parts, hence gapless slide numbers): From Data to Knowledge through Grailog VisualizationOntology,Rules,andLogicProgrammingforReasoningandApplications(RulesReasoningLP)OntologMini-Series,31October2013ISO 15926 and Semantic Technologies 2013 Conference, Sogndal, Norway, 5-6 September 2013 Grailog 1.0: Graph-Logic Visualization of Ontologies and Rules The 7th International Web Rule Symposium (RuleML 2013), University of Washington, Seattle, WA, 11-13 July 2013 The Grailog Systematics for Visual-Logic Knowledge Representation with Generalized Graphs Faculty of Computer Science Seminar Series, University of New Brunswick, Fredericton, Canada, 26 September 2012 High Performance Computing Center Stuttgart (HLRS), Stuttgart, Germany, 14 August 2012 Grailog: Mapping Generalized Graphs to Computational LogicSymposium on Natural/Unconventional Computing and its Philosophical Significance,AISB/IACAP World Congress - Alan Turing 2012, 2-6 July 2012, Birmingham, UK The Grailog User Interface for Knowledge Bases of Ontologies & RulesOMG Technical Meeting, Ontology PSIG, Cambridge, MA, 21 June 2012 Grailog: Knowledge Representation with Extended Graphs for Extended Logics SAP Enterprise Semantics Forum, 24 April 2012 Grailog: Towards a Knowledge Visualization Standard BMIR Research Colloquium, Stanford, CA, 4 April 2012 PARC Research Talk, Palo Alto, CA, 29 March 2012 RuleML/Grailog: The Rule Metalogic Visualized with Generalized GraphsPhiloWeb 2011, Thessaloniki, Greece, 5 October 2011 Grailog: Graph inscribed logic Course about Logical Foundations of Cognitive Science, TU Vienna, Austria, 20 October -10 December 2008

  3. Visualization of Data • Useful in many areas, needed for big data • Gain knowledge insights from data analytics, ideally with the entire pipeline visualized • Statistical visualization  Logical visualization Sample data visualization (http://wordle.net): Word cloud for frequency of words from BMIR abstract of this talk

  4. Visualization of Data & Knowledge: Graphs Make Logic Low-Entry-Cost • From 1-dimensionalsymbol-logicknowledge specification to 2-dimensionalgraph-logicvisualization in a systematic 2D syntax • Supports human in the loop across knowledge elicitation, specification, validation,andreasoning • Combinable with graph transformation, (‘associative’) indexing & parallel processing for efficient implementation of specifications • Move towards model-theoretic semantics • Unique names, as graph nodes, mapped directly/ injectively to elements of semantic interpretation

  5. Grailog Graph inscribed logic provides intuition for logic Advanced cognitively motivated systematicgraph standard for visual-logicdata&knowledge: Features orthogonal  easy to learn,e.g. for (Business) Analytics Generalized-graph framework as one uniform 2D syntax for major(SemanticWeb)logics: Pick subset for each targeted knowledge base,mapto/froRuleML sublanguage, and exchange & validate it, posing queries again in Grailog

  6. Generalized GraphstoRepresentandMapLogicLanguagesAccording to Grailog 1.0 Systematics • We have used generalized graphs for representing various logic languages, where basically: • Graph nodes (vertices)represent individuals, classes, etc. • Graph arcs (edges) represent relationships • Next slides:What are the principles of this representation and what graph generalizations are required? • Later slides:How are these graphsmapped (invertibly) to logic,thus specifying Grailog as a ‘GUI’ for knowledge? • Final slides:What is the systematics ofGrailog features?

  7. Grailog Principles • Graphs should make it easier for humans to read and write logic constructs via 2D state-of-the-art representation with shorthand & normal forms, from Controlled English to logic • Graphs should be natural extensions (e.g. n-ary) of Directed Labeled Graphs (DLGs), often usedto represent simple semantic nets, i.e. of atomic ground formulas in function-free dyadic predicate logic (cf. binaryDatalog ground facts, RDF triples, the Open Graph, and the Knowledge Graph) • Graphs should allow stepwise refinements for all logic constructs: Description Logic constructors,F-logic frames, general PSOA RuleML terms, etc. • Extensions to boxes & links should be orthogonal

  8. Grailog Generalizations • Directedhypergraphs: For n-ary relationships,directed relation-labeled (binary) arcs will be generalized to directed relation-labeled (n-ary) hyperarcs, e.g. representing relational-database tuples • Recursive (hierarchical) graphs: For nested termsand formulas, modal logics, and modularization, ‘flat’ graphs will be generalized to allow other graphs as complex nodes to any level of ‘depth’ • Labelnode graphs: For allowing higher-order logicsdescribing both instances and relations (predicates),arc labelswill also become usable asnodes

  9. Graphical Elements: Names • Written into boxes (nodes):Unique(canonical, distinct) names • Unique Name Assumption (UNA)refined to Unique Name Specification (UNS) • Written onto boxes (node labels):Non-unique(alternate, ‘aka’) names • Non-unique Name Assumption (NNA)refined to Non-unique Name Specification (NNS) • Grailog combines UNSandNNS:xNS, with x = U or N unique non-unique

  10. Instances: Individual Constantswith Unique Name Specifications mapping General: Graph (node) Logic unique unique Examples: Graph Logic Warren Buffett Warren Buffett General Electric General Electric US$ 3 000 000 000 US$ 3 000 000 000

  11. Instances: Individual Constants withNon-uniqueNameSpecifications mapping General: Graph (node) Logic (vertical bar for non-uniqueness) non-unique |non-unique Examples: Graph Logic WB |WB GE |GE US$ 3B |US$ 3B

  12. Graphical Elements: Hatching Patterns • No hatching (boxes): Constant • Hatching (elementary boxes): Variable

  13. Parameters: Individual Variables General: Graph (hatched node) Logic (italics font, POSL uses “?” prefix) variable variable Examples: Graph Logic X X Y Y A A

  14. Predicates: Binary Relations (1) General: Graph (labeled arc) Logic binrel inst1 inst2 binrel(inst1, inst2) Example: Graph Logic Trust Trust(Warren Buffett, General Electric ) Warren Buffett General Electric

  15. Predicates: Binary Relations (2) General: Graph (labeled arc) Logic binrel var1 var2 binrel(var1, var2) Example: Graph Logic Trust Y Trust(X,Y) X

  16. Graphical Elements: Arrows (1) • Labeled arrows (directed links) for arcs and hyperarcs (where hyperarcs ‘cut through’ nodes intermediate between first and last)

  17. Predicates: n-ary Relations (n>1) General: Graph (hyperarc) Logic rel rel(inst1, inst2, ..., instn-1, instn) inst1 inst2 instn-1 instn Example: Graph Logic (n=3) Invest(|WB, |GE, US$ 3·109) WB Invest GE US$ 3·109

  18. Implicit Conjunction of Formula Graphs:Co-Occurrence on Graph Top-Level General: Graph (m hyperarcs) Logic rel1(inst1,1, inst1,2, ..., inst1,n1)  inst1,1 inst1,2 inst1,n1 rel1 ... ...  relm(instm,1, instm,2, ...,instm,nm) instm,1 instm,2 instm,nm relm Example: Graph (2 hyperarcs) Logic WB GE Invest(|WB, |GE, US$ 3·109)  US$ 3·109 Invest JS VW Invest(|JS, |VW, US$ 2·104) US$ 2·104 Invest

  19. Explicit Conjunction of Formula Graphs: Co-Occurrence in (parallel-processing) And Node General: Graph (solid+linear) Logic (rel1(inst1,1, inst1,2, ..., inst1,n1)  inst1,1 inst1,2 inst1,n1 rel1 ... ...  relm(instm,1, instm,2, ...,instm,nm)) instm,1 instm,2 instm,nm relm Example: Graph Logic WB GE (Invest(|WB, |GE, US$ 3·109)  US$ 3·109 Invest JS VW Invest(|JS, |VW, US$ 2·104)) US$ 2·104 Invest

  20. Disjunction of Formula Graphs: Co-Occurrence in Or Node General: Graph (solid+wavy) Logic (rel1(inst1,1, inst1,2, ..., inst1,n1)  inst1,1 inst1,2 inst1,n1 rel1 ... ...  relm(instm,1, instm,2, ...,instm,nm) ) instm,1 instm,2 instm,nm relm Example: Graph Logic WB GE (Invest(|WB, |GE, US$ 3·109)  US$ 3·109 Invest JS VW Invest(|JS, |VW, US$ 2·104)) US$ 2·104 Invest

  21. FromHyperarcCrossingstoNodeCopies as a Normalization Sequence (1) Hypergraph (2 hyperarcs, crossing inside a node) DLG (4arcs,donotspecify to whom Latin is shown or taught) Show Show to Paul Paul John Latin John Latin Kate Kate Mary Mary Teach Teach to Symbolic Controlled English “John shows Latin to Kate. Mary teaches Latin to Paul.”

  22. FromHyperarcCrossingstoNodeCopies as a Normalization Sequence (1*) Hypergraph (2 hyperarcs, crossing outside nodes) DLG (4arcs,donotspecify to whom Latin is shown or taught) Show Show to Paul Paul John Latin John Latin Kate Kate Mary Mary Teach Teach to

  23. FromHyperarcCrossingstoNodeCopies as a Normalization Sequence (1**) Hypergraph (2 hyperarcs, parallel-cutting a node) DLG (4arcs,donotspecify to whom Latin is shown or taught) Show to Kate John Kate John Latin Latin Show Paul Mary Paul Mary Teach Teach to The hyperarc for, e.g., ternary Show(John,Latin,Kate) can be seen as the path composition of 2 arcs for binary Show(John,Latin) and binary to(Latin,Kate)

  24. FromHyperarcCrossingstoNodeCopies  Insert on Correct Binary Reduction Hypergraph (2 hyperarcs, parallel-cutting a node) DLG (8arcs with4 ‘reified’ relation/shipnodesto point to arguments) Show Show1 arg1 arg2 arg3 Kate John Kate John Latin Latin Show Paul Mary Paul Mary Teach arg1 arg2 arg3 Teach1 Teach

  25. FromHyperarcCrossingstoNodeCopies as a Normalization Sequence (1***) Hypergraph (2 hyperarcs, employing a node copy) Logic (2 relations, employing a symbol copy) Show(John, Latin, Kate)  Teach(Mary, Latin, Paul) Kate John Latin Show Paul Mary Latin Teach Both ‘Latin’ occurrences remain one node even when copied for easier layout: Having a unique name, ‘Latin’ copies can be merged again. This “fully node copied” normal form can help to learn the symbolic form, is implemented by Grailog KS Viz, and demoed in the Loan Processor test suite

  26. From Predicate Labels on Hyperarcs to Labelnodes Starting Hyperarcs General: Graph (hyperarc with Logic rect4vex-shaped labelnode) rel(inst1, inst2, ..., instn-1, instn) rel inst1 inst2 instn-1 instn (Shorthand) rel inst1 inst2 instn-1 instn (Normal Form) Example: Graph Logic (n=3) Invest(|WB, |GE, US$ 3·109) WB Invest GE US$ 3·109 WB GE Invest US$ 3·109

  27. Predicates: Unary Relations (Classes, Concepts, Types) General: Graph (class applied Logic to instance node) class class(inst1) HasInstance inst1 Example: Graph Logic Billionaire Billionaire( Warren Buffett) Warren Buffett

  28. Graphical Elements: Arrows (2) • Arrows for special arcs and hyperarcs • HasInstance: Connects class, as labelnode,with instance (hyperarc of length 1) • As in DRLHs and shown earlier, labelnodes can also be used (instead of labels) for hyperarcs of length > 1 • SubClassOf: Connects subclass, unlabeled,with superclass (arc, i.e. of length 2) • Implies: Hyperarc from premise(s) to conclusion • Object-IDentified slots and shelves: Bulleted arcs and hyperarcs

  29. Class Hierarchies (Taxonomies): Subclass Relation General: Graph (two nodes) (Description) Logic class2 SubClassOf class1 class2 class1 Example: Graph (Description) Logic Rich Billionaire Rich Billionaire

  30. Intensional-ClassConstructions(Ontologies):Class Intersection General: Graph (solid+linear node, (Description) as for conjunction) Logic class1 class2 classn class1 class2 classn . . . . . . Example: Graph (Description) Logic Billionaire Benefactor Environmentalist Environmentalist Billionaire Benefactor

  31. Intensional-Class Applications:Class Intersection General: Graph (complex class (xNS-Description) applied to instance node) Logic (class1 class2 classn) (inst1) class1 class2 classn . . . . . . inst1 Example: Graph (xNS-Description) Logic (Billionaire Benefactor Environmentalist) (Warren Buffett) Environmentalist Billionaire Benefactor Warren Buffett

  32. Intensional-ClassConstructions(Ontologies):Class Union General: Graph (solid+wavy node, (Description) as for disjunction) Logic class1 class2 classn class1 class2 classn . . . . . . Example: Graph (Description) Logic Billionaire Benefactor Environmentalist Environmentalist Billionaire Benefactor

  33. Intensional-Class Applications:Class Union General: Graph (complex class (xNS-Description) applied to instance node) Logic (class1 class2 classn) (inst1) class1 class2 classn . . . . . . inst1 Example: Graph (xNS-Description) Logic (Billionaire Benefactor Environmentalist) (Warren Buffett) Environmentalist Billionaire Benefactor Warren Buffett

  34. Class Hierarchies (Taxonomy DAGs):Top and Bottom General: Top (special node) (Description) Logic ┬ ┬ (owl:Thing) General: Bottom (special node) (Description) Logic ┴ ┴(owl:Nothing)

  35. IntensionalClassConstructions(Ontologies):Class-Property RestrictionExistential (1*) General: Graph (normal) (Description) Logic binrel ┬ ┬ binrel.class class Example: Graph (Description) Logic Substance Physical Substance.Physical A kind of schema, where Top class is specialized to have (multi-valued) attribute/property,Substance, with at least one value typed by class Physical

  36. Instance Assertions (Populated Ontologies):Using Restriction for ABoxExistential (1*) General: Graph (normal) (xNS-Description) Logic binrel class binrel.class(inst0)  ┬ ┬ class(inst1)  binrel binrel(inst0, inst1) inst0 inst1 Example: Graph (xNS-Description) Logic Substance Substance.Physical (Socrates)  Physical(P1)  Substance(Socrates,P1) Physical Substance Socrates P1

  37. IntensionalClassConstructions(Ontologies):Class-Property RestrictionUniversal (1*) General: Graph (normal) (Description) Logic binrel ┬ ┬ binrel.class class Example: Graph (Description) Logic Substance Physical Substance.Physical A kind of schema, where Top class is specialized to have (multi-valued) attribute/property,Substance, with each value typed by class Physical

  38. Instance Assertions (Populated Ontologies):Using Restriction for ABoxUniversal (1*) General: Graph (normal) (xNS-Description) Logic binrel class binrel.class(inst0)  class(inst1)  . . . class(instn)  ┬ ┬ . . . binrel inst1 inst0 binrel(inst0, inst1)  . . . instn . . . binrel(inst0, instn) binrel Example: Graph (xNS-Description) Logic Substance Substance.Physical (Socrates)  Physical(P1)  Physical(P2)  Substance(Socrates, P1)  Substance(Socrates, P2) Physical Substance Substance P1 Socrates P2 Substance

  39. Existential vs. Universal Restriction(Physical/Mental Assumed Disjoint: Can Be Explicated via Bottom Intersection) Consistent Example: Graph (xNS-Description) Logic Mental Substance Substance.Physical (Socrates)  Physical(P1)  Mental(P3)  Substance(Socrates, P1)  Substance(Socrates, P3) Physical Substance P1 ┬ ┬ Socrates P3 Substance Inconsistent Example: Graph (xNS-Description) Logic Mental Substance Substance.Physical (Socrates)  Physical(P1)  Mental(P3)  Substance(Socrates, P1)  Substance(Socrates, P3) Physical Substance P1 Socrates P3 Substance

  40. LuckyParent Example (1) LuckyParent ≡ Person Spouse.Person Child.(Poor Child.Doctor) LuckyParent EquivalentClasses ┬ Child Child Person Poor Doctor Spouse

  41. LuckyParent Example (1*) LuckyParent ≡ Person Spouse.Person Child.(Poor Child.Doctor) LuckyParent : ┬ Child Child Person Poor Doctor Spouse Spouse Person

  42. LuckyParent Example (1**) LuckyParent ≡ Person Spouse.Person Child.(Poor Child.Doctor) LuckyParent : ┬ ┬ ┬ Person Child Child Poor Doctor Spouse Person

  43. LuckyParent Example (1**) LuckyParent ≡ Person Spouse.Person Child.(Poor Child.Doctor) LuckyParent : ┬ ┬ ┬ Person Child Child Poor Doctor Spouse Person

  44. Object-Centered Logic:Grouping Binary Relations Around Instance General: Graph (Object-Centered) (inst0-centered) Logic class class(inst0)  binrel1(inst0, inst1)  binrel1 inst1 . . . inst0 . . . binreln(inst0, instn) instn binreln Example: Graph (Object-Centered) (Socrates-centered) Logic Philosopher Philosopher(Socrates)  Substance(Socrates, P1)  Teaching(Socrates, T1) Substance P1 Socrates T1 Teaching

  45. RDF-Triple (‘Subject’-Centered) Logic: Grouping Properties Around Instance General: Graph (Subject-Centered) (inst0-centered) Logic class {(inst0, rdf:type, class), (inst0, property1,inst1), property1 inst1 . . . inst0 . . . (inst0, propertyn,instn)} instn propertyn Example: Graph (Subject-Centered) (Socrates-centered) Logic Philosopher {(Socrates,rdf:type,Philosopher), (Socrates, Substance, P1), (Socrates, Teaching, T1)} Substance P1 Socrates T1 Teaching

  46. Logic of Frames (‘Records’): AssociatingSlots with OID-Distinguished Instance General: Graph (PSOA Frame) (bulleted arcs) Logic class inst0#class( inst0 class, slot1 = inst1, . . . slotn = instn slot1->inst1; slot1 inst1 . . . inst0 . . . slotn->instn) instn slotn Example: Graph (PSOA Frame) Logic Philosopher Socrates#Philosopher( Substance->P1; Teaching->T1) Substance P1 Socrates T1 Teaching

  47. Logic of Shelves (‘Arrays’): AssociatingTuple(s) with OID-Distinguished Instance General: Graph (PSOA Shelf) (bulleted hyperarc) Logic inst’m inst0#class( inst’1 . . . inst’1, …, inst’m) class inst0 Example: Graph (PSOA Shelf) Logic 399 BC c. 469 BC Philosopher Socrates#Philosopher( c. 469 BC, 399 BC) Socrates

  48. Positional-Slotted-Term Logic: Associating Tuple(s)+SlotswithOID-Disting’edInstance General: Graph (PSOA Positional- Slotted-Term) Logic inst’m inst’1 . . . class inst0#class( inst’1, …, inst’m; slot1->inst1; slot1 inst1 inst0 . . . instn . . . slotn slotn->instn) Example: Graph (PSOAPositional- Slotted-Term) Logic 399 BC c. 469 BC Philosopher Socrates#Philosopher( c. 469 BC, 399 BC; Substance->P1; Teaching->T1) Substance P1 Socrates T1 Teaching

  49. Rules: Relations ImplyRelations (1) General: Graph (ground, Logic shorthand) rel1 rel1(inst1,1, inst1,2, ..., inst1,n1)  inst1,1 inst1,2 inst1,n1 rel2(inst2,1, inst2,2, ...,inst2,n2) inst2,1 inst2,2 inst2,n2 rel2 Example: Graph Logic Invest WB GE Invest(|WB, |GE, US$ 3·109) US$ 3·109 JS VW Invest(|JS, |VW, US$ 5·103) US$ 5·103 Invest

  50. Rules: Relations ImplyRelations (3) General: Graph (inst/var terms) Logic rel1 (vari,j) rel1(term1,1, term1,2, ..., term1,n1)  term1,1 term1,2 term1,n1 rel2(term2,1, term2,2, ..., term2,n2) term2,1 term2,2 term2,n2 rel2 Example: Graph Logic Invest WB ( Y,A) Invest(|WB,Y,A) Y A JS Invest(|JS, Y, US$ 5·103) Y US$ 5·103 Invest

More Related