Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Conceptual Spaces, a confirmation of the old intuitions from programming languages?

Conceptual Spaces, a confirmation of the old intuitions from programming languages?

Programming languages have been introducing features over 70+ years, and some of them became ubiquitous (suggesting we find them useful). Separately, the theory of conceptual spaces also exhibits features, that match quite well the most ubiquitous PL features. Let's have a brief look at that during this short talk.

Cyrille Martraire

January 14, 2020
Tweet

More Decks by Cyrille Martraire

Other Decks in Programming

Transcript

  1. “At Amazon, what a book is for you?” •Catalog: Picture,

    title, authors, rating, format (ebook or paper), category •Recommandation: List of books often bought together with it •Shipping: Dimensions, weight, international restrictions due to content •Shopping cart: Price, discount eligible •Customer review: List of (rating, review, review rating) •Book Search: title, isbn, authors multiple models, by context (purpose)
  2. Biological Shapes analysis of shapes by Marr and Nishihara (1978)

    cylinder = [length width]T relative angle = [ ]T relative position = [a b]T Meronomic relations (part-whole)
  3. color = [brightness intensity hue]T taste = [sweet bitter saline

    sour]T Basic Domains (grouping dimensions ) Color domain Taste Domains
  4. emotion = [valency arousal]T [] emotion = [valency arousal dominance]T

    Russell's circumplex Lövheim's emotion cube Emotions Basic Domains (grouping dimensions )
  5. Prominence (weighted dimensions by context) ”For a purpose, weights on

    each dimensions to focus the most useful and ignore the other.”
  6. “At Amazon, what a book is for you?” •Catalog: Picture,

    title, authors, rating, format (ebook or paper), category •Recommandation: List of books often bought together with it •Shipping: Dimensions, weight, international restrictions due to content •Shopping cart: Price, discount eligible •Customer review: List of (rating, review, review rating) •Book Search: title, isbn, authors Prominence (weighted dimensions by context)
  7. Programming languages Naming everything with identifiers Basic dimensions: primitives, collections,

    enums Grouping of dimensions: Struct, Tables, Classes, Prototypes, Product types Navigable Relations: Associations, pointers, references, foreign keys) Bounded Contexts: microservices, modular monolith, no more one unified model but one model by context Partitioning, categorizing: IF statements on values, inheritance, ML Conceptual Spaces 1-to-1
  8. Programming languages Naming everything with identifiers Basic dimensions: primitives, collections,

    enums Grouping of dimensions: Struct, Tables, Classes, Prototypes, Product types Navigable Relations: Associations, pointers, references, foreign keys) Bounded Contexts: microservices, modular monolith, no more one unified model but one model by context Partitioning, categorizing: IF statements on values, inheritance, ML Language-driven Quality dimensions: line, bounded line, circle… Grouping of dimensions: Domain, Set of quality dimensions Navigable Relations: kinship relations, meronomic relations (part-whole) Bounded Contexts: Domains in an object category are weighted by their prominence in a [usage/finality] context Partitioning, categorizing: Voronoï tesselation Conceptual Spaces 1-to-1
  9. Programming languages Naming everything with identifiers Basic dimensions: primitives, collections,

    enums Grouping of dimensions: Struct, Tables, Classes, Prototypes, Product types Navigable Relations: Associations, pointers, references, foreign keys) Bounded Contexts: microservices, modular monolith, no more one unified model but one model by context Partitioning, categorizing: IF statements on values, inheritance, ML Language-driven Quality dimensions: line, bounded line, circle… Grouping of dimensions: Domain, Set of quality dimensions Navigable Relations: kinship relations, meronomic relations (part-whole) Bounded Contexts: Domains in an object category are weighted by their prominence in a [usage/finality] context Partitioning, categorizing: Voronoï tesselation Conceptual Spaces 1-to-1 Sounds like our Programming Language inventors got it right after all!
  10. Our capacity to think the world is limited to the

    same set of basic constructs that mathematicians have been inventorying for centuries but perhaps it’s unlikely we discover radically new way to program then.
  11. ★ understand the human language much more directly (native interpretation

    of common metaphors & metonymies) ★ support more built-in basic topologies (bounded numbers, cyclic group, whole-part…), ★ support progressive/incremental refinements of concepts, ★ … all that through much cheaper computations than our current ML. For Programming Languages that would… Potential from Conceptual Spaces