← Back to team overview

wintermute-devel team mailing list archive

Re: [info] (part 1 of 3) Wintermute Awareness

 

On 1 September 2011 04:59, Jacky Alcine <jackyalcine@xxxxxxxxx> wrote:

> 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).
>

We can note here that there are really two kinds of sensing: active and
passive.
Data miners are mainly responsible for active sensing, when we explicitly
want an information.
It is like a human opening a book to acquire some knowledge.
Passive sensing needs an intervention from us: computer world is not like
our world and be default there are no
stimuli going to Wintermute. Such thing needs patching. This kind of sensing
is like a human hearing various sound and seeing colours.

Why I say that? One reason is that it is interesting, I think: we create
some kind of artificial world which is not filled by silence and where
Wintermute can really be aware of things happening. The second thing is that
we can gain here some encapsulation: if we implement senses as "pure"
passive ones, we can divide overall implementation of sensing to the part
that just accepts stimuli and external sources which are encapsulated.

I provided some (rather simple) picture of concept here:
http://bit.ly/wintermute-senses


>
> 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>
> _______________________________________________
> Mailing list: https://launchpad.net/~wintermute-devel
> Post to     : wintermute-devel@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~wintermute-devel
> More help   : https://help.launchpad.net/ListHelp
>
>

Follow ups

References