The nitty-gritty details of the WebmindTM software
architecture are proprietary and cannot at this stage be discussed in detail
in a public document. However, some important aspects of the design may
be discussed at a high level of generality, and may help the reader to
grasp the system's essential nature. Essentially, Webmind is a complex
network of nodes, packages of software and data, which interact with
each other in creative and innovative ways. Its organization is analagous
to that of the brain which is a complex network of neuronal groups
which interact with each other to create
thoughts. A node can be thought of as a mini artificial intelligence
program, including both instructions and data. It is similar to a
neuronal group in the brain. Each node interacts with other nodes,
just as neuronal groups in the brain interact with each other, causing
changes in each other. It is this complex process of interaction
which makes the WEBMIND similar to the way the brain functions.
A single WebmindTM system consists of a collection
of nodes called a Psynet, analogous to the brain as a whole, which spans
a collection of one or more WebmindTM servers, each one running on its
own (possibly multiprocessor) machine (just as the brain depends on the
body which supplies it with blood, oxygen, etc.). The intelligent core
of a WebmindTM server is its collection of nodes, which is called a PsynetLobe
(analagous to a large cluster of neuronal groups). Each PsynetLobe, in
turn, consists of multiple pods (analagous to small to moderate sized clusters
of neuronal groups). Each pod containing a number of nodes.
At the present time, the boundaries of a single
Psynet are the boundaries of the intranet or extranet: Ethernet connections
are fast enough that WebmindTM servers thus connected can act as an emergent
whole; whereas Internet connections are too slow. Thus, one can think of
the intranet as the Webmind individual; and the Internet as a population
of Webminds interacting in a manner best described as "social", exchanging
information and questions and answers but not participating in collective
trains of thought on a real-time basis. This of course may change as bandwidth
increases over the next decade; at some point the Internet will become
as fast as today's Ethernet, and a single global Psynet (or "World Wide
Brain") will become achievable.
Every WebmindTM server comes with a standard
collection of pods: pods for standard data types such as text and numerical
data, several pods for natural language understanding, a pod for categorization,
a PsyContext pod for real-time information processing, a pod for query
processing, and other pods devoted to such tasks as creative brainstorming,
self-reflection, socialization, etc. (each of these is analagous
to specific components of the brain, although scientists are not entirely
certain of what each component of the brain does.) Other pods will
be application-specific: e.g., a WebmindTM server aimed at financial applications
would contain a pod of historical financial data; an enterprise application
would contain a pod of transient e-mail data; etc. Additional pods may
be loaded and saved by the user. (This is true of humans as well,
each of us has certain specialized bodies of knowledge, which we obtain
through study and work, brain to brain transfer is not, however, not a
matter of a simple download.)
Now we will move from a discussion of the
organizational structure of Webmind, its "statics," to a discussion of
how the different components interact with each other over time, its "dynamics."
The dynamics of the Psynet is fairly simple, though the emergent structures
that these dynamics give rise to may be quite complex. Each pod carries
its own threads, and these threads cycle through all the agents in the
pod, allowing them to carry out "elemental actions." Each node carries
a "heat" indicating its importance at a particular time, and hot nodes
are given a greater priority. (In the brain, "heat" can be measured
by the amount of oxygen going to a brain component.)
There is one Pod, the PsyContext pod that
bears a special relation to the outside world. This pod is WebmindTM's
short-term memory, containing information regarding what Webmind has recently
experienced, and other things judged to be associated to these recent experiences.
WebmindTM's "lineal awareness" system consists of a loop that takes in
new data, processes it in conjunction with the agents in the PsyContext,
and then places it in the PsyContext, removing some obsolete information.
Specialized pods for dealing with self, social interaction and creativity
are dealt with in a fairly similar way to the PsyContext; they contain
agents which, rather than being relevant to recent experience, are relevant
to particular areas of moderately-recent experience, e.g. experience with
oneself, experience with other intelligent entities, and experience with
difficult problems. There are similar specialized regions of the
human brain for each of these functions.
The starting-point for WebmindTM's intelligence
is a collection of basic node types used to represent data found on current
computer networks. There are TextNodes for representing text documents,
DataNodes for representing numerical data, and several types of CategoryNodes
for representing concepts inferred from text and data. This is where
Webmind is different from the human brain, which gets its information from
visual, auditory and other sensual organs. Webmind might be expanded,
of course, to include graphic inputs of various kinds. As in the
brain, there are also TimeSets, representing collections of data that occur
over time; and TimeNodes, representing collections of information considered
roughly simultaneous. These node types are the basis for WebmindTM's intelligence;
other processes work with these nodes to generate meaningful information
of various forms. Information mined from data warehouses is read into the
system and translated into a collection of TextNodes, DataNodes, CategoryNodes,
TimeSets and TimeNodes; a flexible format which is amenable to sophisticated
intelligent analysis by WebmindTM's various internal agents. We believe
that intelligence in the brain emerges in much the same way.
What is universal to all nodes in WebmindTM
is:
attention (activation), current and cumulative
links representing direct, local relationships to other nodes
links containing information on other "distant" nodes that are
bound up with the node in emergent dynamical reactions (this is the "halo"
of the node)
the process of spreading attention along links
the process of building links to other nodes, by sending out
agents called Wanderers (Current knowledge of the brain does not include
any close analogy to Wanderers, they might be analogous to quantum resonance
between distant brain regions, or some unknown chemical process, or this
may be a case where Webmind's structure is different from that which the
brain uses. Of course, the brain may also have many processes which
Webmind does not currently mimic.).
All WebmindTM nodes follow Peirce's Law of Mind,
which states that attention follows meaning, that each aspect of mind spreads
some of its energy to each other aspect of mind which stands to it in a
"peculiar relation of affectability." Insights which Peirce reached
from his analysis of how the brain works have been incorporated in Webmind's
fundamental logic.
Wanderer agents, resident at each node, travel
through the network of nodes in search of other nodes that stand toward
their home node in a peculiar relation of affectibility. Specifically,
they seek out symmetric (similarity), asymmetric (inheritance) and emergent
relationships. In the case of emergent relationships, they may create new
nodes embodying emergent patterns between their home node and the node
they are currently visiting. Wanderers move through the net in a stochastic
way, following links from one node to another and honing in on those regions
of the net containing the most nodes relevant to their home node.
Beyond this, specific capacities are carried
by specific node types. The assemblage of built-in node types is important
and is considered analogous to the genetic heritage of specialized human
brain modules. Humans are born with some pre-existing ability to process
language, to socialize, to perceive and to integrate perceptions cross-modally,
to form abstract concepts according to certain archetypal templates, etc.
WebmindTM similarly enters the world with these pre-existing abilities,
albeit in somewhat different form.
First of all, WebmindTM starts with two low-level
"perceptual" modules: one containing nodes for text processing, another
containing nodes for numerical data processing. Text and numbers are WebmindTM's
perceptual world, and it deals with both in great profusion. Specialized
preprocessing is necessary and appropriate here, just as our eyes and ears
preprocess sensory data for our brains.
In order to intelligently deal with text information,
WebmindTM starts with a natural language module. The nodes contained herein
carry out both semantic and syntactic analysis. The NL system takes in
text and parses it, and outputs the parsed text into nodes and links, namely
"inheritance links" representing relations of categorial inclusion (e.g.
from "big cat" to "cat") and ternary links representing general triadic
relationships (e.g. joining "big", "cat" and "big cat"; or "to" ,"run"
and "to run"). The parser, whose unique and innovative design is described
in a separate document, is specifically designed to parse sentences into
collections of trilinks.
Note that language processing is not rigidly
separated from thought processing here. WebmindTM does not have a
separate "natural language system" as such. Language processing is carried
out by the Lineal Awareness system, and nodes concerned with categorization,
and mobile agents concerned with recognizing similarity and other relationships,
in a way that is thoroughly integrated with the Psynet. To disentangle
language from thought is to remove most of what is interesting and important
about language.
The first part of WebmindTM's language understanding
is linguistic categorization, which is carried out by category nodes according
to the normal dynamics of the Psynet. WebmindTM's self-organizing categorization
is capable of determining parts of speech for words, and of determining
semantic categories such as "house", "action", etc. as well.
Once straightforward categorization has been
used to create semantic and syntactic categories, attractor neural network
methods are used to refine semantic links between words, based on contextual
information. Words are then joined by relational agents if they are related
closely in the bodies of information that WebmindTM has been exposed to.
The Webmind system takes a sentence, uses
the Psynet to determine syntactic and semantic categories for the words
in the sentence, and then maps the sentence into a collection of nodes
and relational agents, which are placed into the PsyContext and then into
the Psynet. If the sentence represented a query, then the collection of
nodes and agents corresponding to the sentence is activated rather than
merely stored, and a query agent is created which collects the results
of this activation after a period of time.
The ingestion of linguistic as well as numerical
data is mediated via the short term memory module. The most recent items
read in through a given input stream are stored in short-term memory and
the various intercombinations of these items are explicitly represented
in a temporary way. This system is crucial, among other things, for resolving
ambiguities in linguistic terms.
As important as language understanding is,
however, it is not all-powerful. Relations learned through the natural
language system are not intrinsically "understood" by the system -- they
represent purely formal knowledge. WebmindTM's grounding module, on the
other hand, contains nodes that allow the system to derive knowledge directly
from its environment. This module contains GroundedRelationNodes, which
evolve automata that recognize relations among data that WebmindTM has
directly at its disposal (e.g., recognize which DataNodes correspond to
volatile markets, which TextNodes correspond to novels, which ones to long
novels, etc.).
Mobile agents of various types create associative
and hierarchical relationships, creating a powerful "dual network" structure.
But what guarantees that these two structures, heterarchy and hierarchy,
will work effectively together? There are several answers to this question
within the WebmindTM architecture, but one of the keys is the explicit
search for meaning. Each portion of the net, searching for its own meaning,
re-expresses itself in terms of the hierarchical and heterarchical connections
surrounding it, thus causing the hierarchical and heterarchical connections
in its area to function effectively together. This is a close analogy
to how thinking works in the human brain, to make sense of information
we have to give it meaning in some way.
In order for an intelligence to understand
the meaning of a word, concept or other entity, this entity must be "grounded"
in the system's own experience. Consider, for example, the position of
WebmindTM on encountering the word "two." In order to deal with "two" in
an intelligent way, the system must somehow understand that "two" is not
only a pattern in texts, it also refers to the two computer users who are
currently logged onto it, the two kinds of data file that it reads in,
etc. These are all patterns associated with "two" in various situations.
Associating all these patterns with the "two" category node is what fully
integrates the "two" node with the rest of the network, guaranteeing that
the behavior of the "two" node is in harmony with its surroundings.
Through processing of text alone, part of
the fuzzy set (a fuzzy set is a group of things that does not always have
a sharp or consistent boundary with other things) that is the meaning of
"two" can be acquired: that part which is purely linguistic, purely concerned
with the appearance of "two" in linguistic combinations with other words.
But the other part of the meaning of "two" can only be obtained by seeing
"two" used, and using "two," in various situations, and observing the patterns
in these situations that are correlated with correct use of "two." In general,
the fuzzy set of patterns that is the meaning of a symbol X involves not
only patterns emergent among X and other symbols, but also patterns emergent
among X and entities involved in various situations. Recognition of patterns
of this type is called symbol grounding.
Symbol grounding is connected in a fascinating
way with introspection. In WebmindTM, each agent has the ability to look
inside itself and report various aspects of its current state. Symbol grounding
is achieved by special mobile agents attached to individual nodes representing
concepts (e.g. the node for two"). These agents are evolved by the genetic
algorithm; they survey the introspections of other nodes and combine the
results of these introspections to form "groundings" of the node to which
they are attached. Introspection is also an important feature of
human intelligence.
The actual mechanics of symbol grounding is
carried out in within WebmindTM in a unique way: groundings for symbols
are evolved by special nodes that carry out processes similar to the genetic
algorithm. As noted earlier, the relation between the genetic algorithm
and the brain is somewhat uncertain. Gerald Edelman's "Neural Darwinism"
theory argues that the brain can be viewed as a genetic algorithm with
mutation only; however, as I argued in my book The Evolving Mind, a case
can also be made for crossover between "neuronal maps." At very least,
we may view the use of the genetic algorithm in WebmindTM as a more efficient
way of accomplishing, using crossover and mutation, what the brain may
accomplish with mutation only.
Both language based understanding and grounded
understanding are essential to mind. But with just grounding nodes
and natural language nodes, the system would have a divided mind: formal
(social) knowledge on the one hand and experiential (individual) knowledge
on the other. There are people with this problem, too, but they have a
hard time functioning outside of institutions. What bridges the two
is reason. The purpose of the Reason module is quite simple: to derive
new links from existing links. This is useful not only because some links
are derived from the outside, e.g. via the NL system; but also because
some purely internal links in the system, at any given time, were derived
from information that is currently forgotten. WebmindTM contains
node-resident and mobile agents whose specific purpose is to carry out
this dynamic of building new links from old.
Reasoning allows WebmindTM to extend conclusions
from grounded domains to ungrounded domains. For example, if WebmindTM
has learned that "big" means a certain thing in the context of financial
data (where it can ground the symbol "big" in reference to its direct experience),
then it can use reasoning to transfer the relations it has derived about
"bigness" to domains where it has no direct experience, e.g. to understand
a phrase like "a big upheaval in the Japanese government."
Next, the categorization module allows the system
to create new concepts from existing ones via statistical grouping. This
leads to concepts of broader scope than are obtained through the grounding
system. It does not act on perceptual data directly but rather on higher-level
nodes in the system. For instance, applied to TextNodes representing Web
pages, it might arrive at a Yahoo-like categorization of texts.
There is a text-numerical interrelation module
-- WebmindTM's analogue of the parts of the brain performing cross modal
correlation between the different senses, such as sight and hearing. For
example, it evolves special nodes which are linked to both DataNodes and
collections of TextNodes, and which are highly useful for such applications
as using information in newspapers to predict financial markets. These
cross-sensory links allow activation spreading to move between text and
data in an intelligent way.
There are also QueryNodes, for mediating interactions
with human queriers. WebmindTM's query processing is integrated with
the rest of its mental activity, just as for a human being, question-answering
is not so different from purely internal thought processing. When
a query (be it a series of key words, a paragraph of natural language,
or a series of commands requesting particular data operations) is entered
into the system, a node is created for it, the query node sends out mobile
agents, and these agents create new relational agents joining it and other
nodes. Activity related to the query node spreads through the Psynet, and
after a certain period of time, the nodes with the highest activity relevant
to this particular activation process are collected, and returned as the
answers to the query. The distinction between activity due to a particular
query and activity due to general Psynet thought processes or other queries
is carried out via an innovative, proprietary technique of "parallel thought
processes," which allows WebmindTMä to do one thing the human mind
cannot: carry out hundreds or thousands of simultaneous trains of thought,
and keep them all straight!
Finally, WebmindTM contains a social module,
with specialized nodes mediating its interaction with humans and with other
WebmindTMs. UserNodes representing human users are an essential part of
the user-interaction system, allowing WebmindTM to resolve ambiguities
in questions based on its knowledge of the particular user who asked the
question. FriendNodes representing other WebmindTMs are essential in the
task of figuring out, when the answer to a query is not known, which other
WebmindTM to direct the query to. Furthermore, within the same multi-machine
Psynet, FriendNodes are needed to control the exchange of nodes between
machines (each node naturally moving to the machine with whose population
it shares the most meaning).
In short, we have a system whose immediate
perceptual reality is numerical data and linguistic communication, which
perceives this reality using a freely combinatorial short-term memory,
derives its own concepts based on numerical data using evolving automata,
which learns formal ideas from parsing language, and then extends its ideas
from its experiential domain to other domains using reasoning, where the
focus of its reasoning at each time is guided by the spread of attention
in the direction of meaning, and the meaning of each part of the system
is determined by both global dynamic relations and local static relations.