![]() |
my Knowledge Explorer and the mKR language
|
![]() |
![]() |
I'm an Army brat -- my early education came from moving around the country. By the time I finished high school, I had been in all 48 CONUS states, Cananda, Mexico, Panama, England, Germany, France, ... I can still read a little Spanish, German and French but I can't "speak" them. My higher education was in Electrical Engineering, with SB and SM degrees from MIT, and PhD from Polytechnic Institute of NYU I was a Distinguished Member of Technical Staff at Bell Labs in New Jersey and Illinois, and retired from AT&T in California.
I have always been interested in "Artificial Intelligence",
and fascinated by the things one could do with computers.
After I retired, I refocused my attention on "Real Intelligence",
which is my current passion. I invented mKR and mKE in 1996.
Why did I invent mKR?
Features of mKR
In the beginning, there was no "m". But the people I talked to were confused by KR and KE, so I renamed them MKR and MKE, with "M" for McCullough. In the end, I returned to my original concept of a personal knowledge assistant, and "m" stands for "my".
my Knowledge Representation language (mKR) is a user-friendly "Real Intelligence" language -- a language whose purpose is to help humans work smarter. mKR combines Objectivist Epistemology with the best features of English, UNIX shell and Unicon.
mKR propositions have a terse English-like format which helps a human user focus on essential characteristics and avoid floating abstractions. mKR is a very-high-level knowledge representation language with a rigorous epistemological foundation including context, genus-differentia definitions, ECP hierarchies (knits) and action/events (chits). For example, Aristotle defined man as
man is animal with rational;Ayn Rand defined knowledge as
knowledge := man do identify od existent done;
The mKR built-in types include lists, sets, enumerations, relations, hierarchies. The mKR built-in English vocabulary includes the Natural Semantic Metalanguage -- universal concepts which occur in all human natural languages.
Learning the mKR language is facilitated by
a syntax checker and a menu interface.
The syntax checker provides a fast interactive
check of input knowledge.
The syntax error messages are highly-focused,
for fast "debugging" of input knowledge.
The menu interface prompts the user for all necessary information,
and automatically generates the correct input syntax.
my Knowledge Explorer (mKE) is an intelligent knowledge assistant. mKE helps the user to record, change and search knowledge, and provides extensive error checking to ensure the internal consistency of the knowledge.
In a knowledge base, mKE is called ke.
mKE is ke;ke possesses self-knowledge. Just ask ke what commands it can execute:
ke do ? done;Or what options are available:
ke has ?;
mKE command-line options select the language definitions -- RDF or OWL or SUMO or CycL or mKR -- which are automatically loaded on startup. The CycL definitions include the complete Upper Ontology of the OpenCyc knowledge base.
mKE is implemented using the Unicon, KornShell, Java and
REBOL languages.
This implementation provides easy integration with
Unicon procedures, shell scripts, Linux/Windows commands,
web pages and standard databases.
# ECP hierarchy |
begin hierarchy tabula rasa; |
existent; |
/ group; # abstract |
/ entity; # physical |
/ characteristic; # property |
// part; |
// attribute; |
// relation; |
// action; |
// interaction; |
/ proposition; |
end hierarchy tabula rasa; |
What is Knowledge?
|
Knowledge is an identification of the facts of reality. |
Propositional knowledge is knowledge expressed using words and sentences. |
The principal internal knowledge structures of mKR/mKE are |
entity-characteristic-proposition (ECP) hierarchies |
with space-time-dependent events. The "tabula rasa" hierarchy |
is a "blank slate", ready to be filled in with specific knowledge. |
The principal external knowledge structures are RDF/OWL files, GDBM databases and |
mKR text files (containing transliterated English, hierarchies, relations). |
The Address Book.rel file is an external relation. |
# Address Book.rel file |
Address Book is relation with |
format = [person:1, email:2, phone:3], |
meaning = { $1 has email = $2, phone = $3; }; |
begin relation Address Book; |
John Doe, john.doe@PioneerCA.com, 209-555-1212; |
Jane Doe, jane.doe@PioneerCA.com, 209-555-1212; |
Knowledge Explorer, ke@volcano.net, 209-555-6789; |
end relation Address Book; |
An mKR/mKE knowledgebase is like a free-format database that you can "talk" to. (Since mKE doesn't have ears, you "talk" with your keyboard.) For example, if you want to save my email address, you tell mKE
Dick McCullough has email = rhm@PioneerCA.com;When you want to retrieve my email address, you ask mKE
Dick McCullough has email = ?;You can record all kinds of information about me. ("." is the "pronoun" that denotes the "current concept".)
. is Dick McCullough; . isu Linux expert; . can read od Spanish done; . do own od three computer done;
Just one caveat: choose your words carefully.
For example, if my email address will be used in the
context of a large, sophisticated knowledgebase, you
might need to distinguish email (the address) from
email (the message).
An mKR "proposition" has the form
in space=s, time=t, view=v { sentence };Every sentence has a context. space,time are subcontexts which characterize the changes assoicated with actions. view is what Keith Devlin calls "situation", and Ayn Rand calls "context". As implemented in the mKR language
v is the name of the context of the sentence the context is a list of propositions which disambiguates sentence
mKR is a general-purpose knowledge representation language which is applicable to any domain. It is ideally suited for Semantic Web applications. mKE "services" include many consistency checks, knowledge base queries, knowledge base statistics, "pretty-printing" instance-class hierarchies, and commands to dynamically modify instance-class hierarchies.
The mKR language is more powerful and more user-friendly than the OWL language. mKR extensions include context, questions, commands/methods, n-ary relations, iterations, conditionals. The mKR language has the same power as the CycL language, but is much more user-friendly.
mKR/mKE provides no support for the "possible world" semantics of RDF model theory. mKR/mKE uses the "real world" semantics of English. The meaning of an mKR proposition is the meaning of its English paraphrase.
mKE provides a user-friendly mKR interface to the OpenCyc knowledge base, the IEEE SUMO knowledge base, the TAP knowledge base, the Google search engine, and the Amazon.com search engine.
Here is a example of mKE interacting with the latest OpenCyc
Knowledge Browser and Web Services.
The requested URL /2008/06/10/concept/en/population was not found on this server. Additionally, a 406 Not Acceptable
error was encountered while trying to use an ErrorDocument to handle the request.Not Found
Apache/2.2.4 (Linux/SUSE) Server at sw.opencyc.org Port 80
ke$ exit;
$
AynRand.owl viewed by Internet Explorer
AynRand.owl
California.owl viewed by Internet Explorer
California.owl
population.owl viewed by Internet Explorer
population.owl