← Back to team overview

wintermute-devel team mailing list archive

[info] (part 1 of 3) Wintermute Awareness

 

Now, this is something that I know will excite a few. Wintermute's ability 
to really mine for data, or in this sense, generate ontological information 
from raw data from its environment and use said data to enhance its own 
abilities. Right now, Wintermute isn't able to remotely aware of anything, 
but awareness is what we're aiming for. It should also be noted that 
another library for Wintermute may be needed in order to tie together the 
linguistics, data and network abilities of Wintermute while exposing them 
to our plug-in API. Before I get ahead of myself, let me address the points 
I'm aiming to cover.

	1) What is awareness for Wintermute?
	2) How can we implement senses for Wintermute?
	3) How do we implement reactors for Wintermute?
	4) Example: Forecaster

1. What is awareness for Wintermute?

Wintermute's term of awareness would involve its abilities to collect 
information from its environment, query it, act upon it and repeat the 
process. Such a process would build a sect of information that would allow 
Wintermute to become "aware" of certain conditions. For this to occur, 
Wintermute would need senses and reactors. Senses are components of 
Wintermute that collect information about its environment. What Wintermute 
does with this information would be determined by its reactors. Reactors 
are scripts (or compiled bits of code) that permit Wintermute to respond to 
a set of data.

2. How can we implement senses for Wintermute?
Senses would be the synonym for a data miner. In that case, a sense (or a 
data mine) plays the role of obtaining information from a (perhaps unknown) 
source and deriving as much ontological information from it as possible 
from that source. Now, the information obtained from a said source would be 
an instance of a previously defined sect of meta-data (see part 3). This 
way, it provides a known set of properties about that bit of data (ie: the 
weather, an e-mail, file information).

3. How do we implement reactors for Wintermute?
Reactors are simple to implement. Hopefully, we wouldn't have to script all 
of them. If reactors are merely scripts, then we can have Wintermute use 
natural language as such a language. If we wanted to have a notification 
reactor, that merely describes information, we could tell Wintermute, 
"Describe the data to me." Without any specifications, Wintermute might dump 
every ounce of information it knows, so we can either hard-core Wintermute 
to be brief, or specify it. Reactors would need a rating scale. It would 
range from 1 to 100, never reaching 0. If a reactor had a rating of 0, its 
action would never be run. Reactions are rated up (let R be the rating 
value) as so: f(R) = R * 1.01, and rated down as so: f(R) = R * 0.99. This 
1% change ensures that it never reaches 0, unless explicitly set.

4. Example: Forecaster
Wintermute collects information about the local weather. It obtains specific 
information about location by first checking on-line to get GeoIP 
information. It then saves this (if it doesn't exist) or checks against the 
local information and fixes errors or fills out extra information. Now, 
Wintermute queries its data mining system to find out ontological 
information about the weather. Back-ends to the data mining system (ie: a 
plug-in to translate Google Weather info into OWL) and reports back 
information. This is Wintermute using its senses. 

Wintermute now checks the information for specific indicators (ie: strong 
winds, heavy rain, extreme heat) and classifies it according to the user's 
concerns.  The highest reactor states that it informs the user. With that 
under way, it attempts to form a sentence in the user's preferred language 
that briefly describes the ontological information obtained. A typical 
sentence (by taking the description of about three properties) would be:
	- "Google Weather has reported that severe weather is coming to
		your area."

	- "There is a report of extreme heat and a possible heat wave in your
	     your area."

	- "The temperature in your area is expected to drop 15 degrees
		below freezing."

If the user needs more information, it'd be easy to query the ontological 
source with information like:

	- "Where did you find this?"
     - "Are the roads safe to drive on?"
	- "Any evacuation centers?" 

Having Wintermute constantly check and examine information emulates one 
attribute of the human brain, its constant parsing and extraction of 
information.
-- 
Jacky Alcine <http://www.jackyalcine.co.cc>

Attachment: signature.asc
Description: This is a digitally signed message part.


Follow ups