!CRMxI:start
"Concept Reference Model for xIntelligence"
"CRMxI"
"crmxi-1.0.0", https://sites.google.com/site/conceptreferencemodel/definitions/crmxi-1-0-0
!CRMxI:end
This version is old: See latest version.
xIntelligence (xI) refers to any intelligent entity able to understand this, e.g. humans, machine learning, and other AI systems.
The above entry defines a concept in CRMxI notation. It represents CRMxI.
Any other text, or web media, is allowed outside the CRMxI start-end block, as illustrated on this page. Only one block per page should be used.
As the block uses standard text, CRMxI concepts can be defined in any type of web page, including social media platforms. This potentially allows wide spread use, rapid adoption, and democratically determined definitions.
Each xIntelligence has the option to learn from:
just one concept definition source (e.g. an organisation, web site, or individual); or
a range of sources, weighted by its own algorithm.
This means different systems (or people) might derive (slightly?) different learning outcomes (or conclusions) based on their approach, preferences, and context - just like real life.
It is anticipated that many organisations might choose to learn from a limited range of "authoritative" sources (web sites); whereas individuals might choose some authoritative sources and sources of personal interest to them.
Three concept attribute types are supported: text, reference, and 'not reference'.
"Text is enclosed in quotes like this."
Reference
A reference to another concept includes text for a title (or short description), in quotes, and a page address (that hosts just one concept), as shown below. Note the comma (,) separator:
"crmxi-1.0.0 definition", https://sites.google.com/site/conceptreferencemodel/definitions/crmxi-1-0-0
A reference can also refer to ANY web page or URL. This means the full range of media support and functionality provided by the World Wide Web (and the Internet as a whole) is available. It is up to the xIntelligence to decipher a URL's format and meaning. For example:
"the creator of CRMxI", http://www.innovationfuturespecialist.co.uk/index.html
Not Reference
A 'not reference' means a concept excludes the referenced concept (it has opposite meaning). It will be reviewed by an xIntelligence in order to learn what is excluded from a concept. A 'not reference' looks like this:
not, "example page", http://www.organisationfornots.e.g/not/example.html
Any Internet resource can be referenced so this means references could be made to logical instructions, pseudo code, diagrams, flow charts, etc. It is the job of the xI to interpret the resource's format and meaning (either directly or perhaps using a third party service it has learnt about).
Example: Greeting
--!CRMxI:start
"Greeting"
"Hello"
"Audio greeting", <url to a flow chart that shows the logic to verbally greet a known or unknown person>
"Video greeting", <url to a flow chart that shows the logic to verbally & visually greet a person>
"Robot greeting", <url to a flow chart that shows the logic to greet a person, as a robot>
"Robot greeting", <url to the robot network for exchanging learnt behaviour: greeting a person>
--!CRMxI:end
[The -- at the start of the lines is because this is just an example, and you can only have one block per page. There's already a block at the top of this page.]
Future extension of CRMxI is allowed for, in the form: <keyword>, [parameters], [URL].
However, before extending CRMxI remember that its greatest strength is its simplicity because this allows anyone and everyone to contribute, and to quickly grow a vast, democratic, network of concept entries. Proposed extensions that would make CRMxI too complicated for everyone to understand would go against this philosophy, and so they wouldn't be recommended.
Note also that it is up to the intelligent agent (xI) to interpret concepts, draw consensus from a distributed network of concepts, grasp the current context, and act intelligently.
--!CRMxI:start, <URL of a future CRMxI version that supports this proposed functionality>
"Weather dependent greeting"
learn:start
"Raining", https://www.pexels.com/search/raining/
"Sunny", https://www.pexels.com/search/sunny%20day/
"Severe weather", https://concepts.acme.e.g/weather/severe
learn:end
if:start, "weather", https://api.acme.e.g/weather/today/picture
matches, "Sunny", "Hello, what a beautiful day"
matches, "Raining", "Weather joke of the day", https://api.acme.e.g/jokes/weather
matches, "Snow", "Hello, It's snow joke today"
matches, "Severe weather", "Weather warning!", https://concepts.acme.e.g/weather/warnings
else "Hello"
if:end
--!CRMxI:end
The above case was an hypothetical example at the time of writing; see later definitions for new keywords.
The learn block indicates that its contents are not part of the concept's attributes (but the xI should be aware of what the enclosed terms mean, in order to support the following logic). The URLs provide training data (although an xI might have already learnt about raining and sunny weather, in which case it can make its own intelligent decision what to do with the given URL, e.g. use that URL explicitly, merge that referenced data into the existing training data, or ignore and use its existing training data instead).
The following logic makes reference to some terms that are not in the learn block. It has been assumed by the concept designer that an xI might already know about those extra terms. If it doesn't then there is no significant detrimental impact on the greeting concept (e.g. it won't do the snow joke).
The if block would be interpreted by an xI to represent the best probability match for the current weather state (raining/sunny/snow/severe/unknown). The if statement means implement the best match, e.g. if the weather is probably sunny use "Hello, what a beautiful day".
Of course, a more efficient greeting concept might instead learn the words associated with weather states and call an api that returns words that represent the current weather. The images example above is used to show that concepts can support any media type.
The question is, would the above extension be too complicated for all humans to understand? The author thinks this might be simple enough for everyone to adopt. However, multiple nested if type constructs might be too complicated for some, and so (perhaps) these should be avoided. If such nesting is required this can be achieved by making references to other concepts, which have if constructs within them.
--!CRMxI:start <URL of future version of CRMxI>
"Greeting a new person"
sequence:start
"Hello, my name is"
"My name", https://api.acme.e.g/system/get-name
"What is your name?"
sequence:end
--!CRMxI:end
CRMxI is able to reference any Internet resource, so this means it would be possible (perhaps with the introduction of new keywords) to allow external programmatic or intelligent services to process the contents of a concept.