The Semantic DB Project write up.
Knowledge representation and a language to reason with that knowledge.
The central idea is to represent knowledge, and networks, in the form of: "OP KET =>
SUPERPOSITION", combined with a compact language to reason with that knowledge. This is the so called BKO scheme
(Bra-Ket-Operator), and
for the project as a whole I call it the Feynman Knowledge Engine (a minimalist, but extensible, knowledge engine).
Here are some example learn rules in this notation:
the-friends-of |Fred> => |Sam> + |Rob> + |Emma> + |Bella> + |George>
the-age-of |Fred> => |age: 33>
the-list-of |week days> => |Monday> + |Tuesday> + |Wednesday> + |Thursday> + |Friday>
the-parents-of |*> #=> the-mother-of |_self> + the-father-of |_self>
is-a-teenager |person: *> #=> is-in-range[13,19] the-age-of |_self>
links-to |WP: Autism> => 3|WP: Asperger_syndrome> + 3|WP: intellectual_disability> + 2|WP: autism_spectrum> + ...
words-1 |WP: Albedo> => 193|the> + 167|of> + 115|albedo> + 101|and> + 98|ref> + 65|a> + 59|in> + 58|is> + 57|to> + ...
the-plural-of |word: *> #=> merge-labels(|_self> + |s>)
the-plural-of |word: foot> => |word: feet>
the-plural-of |word: mouse> => |word: mice>
the-building-at |grid: 4 40> => |building: cafe>
Some code, now on github, but definitely pre-alpha!:
- the console, where you interact with the BKO/Feynman knowledge engine.
- the console history, which has the full history of me working with BKO in the console. Consider it a big collection of BKO examples.
- the code, where our classes are implemented.
- the functions, where our function-operators are implemented.
- the processor, where our parser is implemented. NB: this contains the worst code, and needs a full rewrite!
The below is extracted from a long series of blog posts trying to explain my ideas.
I also have a big collection of sw (semantic web) files here.
Contents:
- announcing the semantic db project
- defining some terms
- context learn and recall
- tim berners lee flowchart in bko
- some ket label conventions
- personality profile for a bot called bella
- introducing the semantic agent console
- linearity of operators
- exponentiating operators
- learning indirectly
- supported ops and apply
- inverse
- train of thought
- add_learn and stored_rules
- current weather in adelaide in sw format
- label descent
- the self ket
- a fictional george in sw format
- some general people rules
- the methanol molecule in sw format
- the merge labels function
- learning plurals in bko
- introducing pick elt
- random greetings in bko
- arithmetic
- factorial and fibonacci in bko
- diversion the tidy language underneath
- simple network in sw format
- matrices in sw format
- different objects identical network structure
- set union and intersection in bko
- simple finite sets and soft intersection
- set builder in bko
- algebra
- to base
- learning a grid
- walking our grid
- temperature conversion
- context recall vs x apply op
- introducing file recall
- kevin bacon game numbers
- finding common movies and actors
- some bigger sw examples
- the maths rules for the bko scheme
- the first bko claim
- announcing phase 2 function operators
- some built in functions
- introducing sigmoids
- a big collection of function operators
- foaf vs sw
- is teenager and is adult in bko
- new function pretty print a table
- pretty print some data about australian cities
- another pretty print table example
- sorting in the bko scheme
- new function sort by
- is early and is late in bko
- tweaked pretty print table code
- non abelian algebra
- new function int coeffs to word
- african capital cities and population in table format
- sparql vs bko
- another simple one aiming towards natural language
- xml vs bko
- new functions is greater than is greater equal than etc
- brief note on pretty print tables
- this concludes phase 2
- announcing phase 3 similar and find topic operators
- new feature memoizing rules
- a similarity metric
- a list implementation of the simm
- some examples of list simm in action
- a superposition implementation of simm
- the landscape function
- introducing similar op x
- some simple similar op examples
- simple image recognition
- new function such that
- similar movies and similar actors
- how many movies
- top level domains in sw format
- a table of integers and their factors
- mapping webpages to well defined superpositions
- how big are our webpage superpositions
- making the ket count differences clearer
- creating average webpage superpositions
- website similarity matrices
- the main event pattern recognition of websites
- the second bko claim
- supervised pattern recognition
- the general supervised pattern recognition algo
- supervised learning of iris classes
- fixed supervised learning of iris classes
- harder supervised pattern recognition example
- some wage prediction results
- document types to superpositions
- spike fourier transform using simm
- introducing active buffer
- using active buffer
- introducing bridging sets
- an implementation of categorize code
- a bko version of categorize
- some categorize examples
- the normed frequency class equation
- the map to topic and find topic functions
- find topic names
- new function find unique op
- find unique op applied to webpage superpositions
- mapping sw files to frequency lists
- mapping wikipedia pages to frequency lists
- new function intn find topic op
- similarity matrices for wikipedia word frequency lists
- mapping mindpixels to bko rules
- this concludes phase 3
- new function subset
- new function list kets
- new function full exp op n
- new function apply weights n1 n2
- the full wage prediction results
- announcing phase 4 tying it all together
- announcing command line file similarity tool
- an interesting little observation
- new function average categorize
- average categorize h i simple pattern recognition example
- average categorize websites
- comment on ket independence
- announcing command line guess file name tool
- new function find inverse op
- towards processing all of wikipedia
- how many wikipage links
- what do we know about bananas
- more inverse simm results
- even more inverse simm results
- wikipedia fragment to frequency list
- non linear resonance
- some more similar inverse links to results
- she is out of my league
- introducing function matrices
- introducing the matsumsig model
- simple inhibitory signals in the matsumsig model
- simple logic in the matsumsig model
- set union and intersection in the matsumsig model
- simm in the matsumsig model
- difference and smooth in the matsumsig model
- simple prolog vs bko example
- ebook letter frequencies
- on emerging patterns
- brief object orientated vs bko example
- finding the transpose of a table
- working towards natural language
- introducing the ngram stitch
- some rambler examples
- some letter rambler examples
- letter 3 grams that precede a full stop
- start and end chars for 3grams that precede a full stop
- new console feature web load
- representing song lyrics in sw format
- visualizing superpositions
- new function hash
- new function process reaction
- representing nuclear decay
- new functions union op and top k
- shopping with process reacion
- simple particle entanglement example
- new function operator inhibition
- an interpretation of my bko scheme
- revisiting the letter rambler
- revisiting wikipedia inverse links to semantic similarities
- visualizing sw files
- update on visualizing sw files
- a brief look at sum of prime factors
- the easy way to make a big binary tree
- maybe we dont need projections
- one way to handle uris in bko
- semantic networks in bko
- spreading activation in bko
- softmax and log
- edit distance in bko
- visualizing edit distance
- how well do you know x
- is bko related to category theory
- ket arithmetic
- new operators times by divide by plus minus
- new feature list 2 sp
- new operators mod k and is mod k
- introducing the if then machine
- learning a sequence using if then machines
- learning days of the week using if then machines
- learning simple images using if then machines
- new operators guess ket and guess operator
- towards a definition of intelligence
- image histogram similarity
- new tool edge enhance
- introducing network k similarity
- average categorize some mnist digits
- new tool phi transform
- phi transform of lenna
- averaging out noise
- new operator simm add
- introducing a new tool wikivec and wikivec similarity
- new operators append column and random column
- learning sequences htm style using if then machines
- more htm sequence learning
- random encode similarity matrices
- simple if then machine classifier
- naming htm sequences
- visualizing htm sequences
- p pattern similarity metric in latex
- p pattern similarity metric in python
- normalizing mnist digits
- full mnist results
- predicting cat vs dog based on their noises
- identifying a face
- new function operator bar chart
- new operator words to list
- spike wave similarity
- smoothed spike wave similarity
- learning how to spell
- learning and recalling chunked sequences
- learning and recalling a simple sentence
- generating random grammatically correct sentences
- predicting sequences
- learning and recalling a sequence of frames
created: 30/6/2015
updated: 19/12/2016
by Garry Morrison
email: garry -at- semantic-db.org