digest programming brief
July 24, 2007 on 9:33 am | In Oribotics |digest.oribotics.net
programmers brief- by matthew gardiner
Description
synopsis
To transform xml feeds into emotional states for the oribots.
Do this by gathering and storing xml data feeds, and subsequently digesting the data according to rules defined by keywords. The conceptual idea is that the oribots are feeding on information from the web. The digest program is actually ‘farming’ the information, and processing (digesting) the data into a suitable form for consumption by the oribot.
emotions
happy, sad, fear, surprise, angry, disgust, aversion, ambivalence +(more)
what is digestion?
Digestion is a process of analysing a body of text, collecting key words, and checking the emotional modifier (emo-mod) assigned to the keyword. The highest emo-mod value takes precedence and becomes the emotion for the article. To allow for a large peak in a single emo-mod value, there is a peak emotional response followed by an average response.
how often does digestion occur?
Digestion occurs at the soonest possible time after the collection of a new article for digestion from a feed. All feeds are periodically checked for new elements. The feed rate can be calculated over a period of time.
how are the emo-mods defined?
All keywords are assigned an emotion and a value modifier. Here is a comma separated list of examples: terrorist = fear + 10, baby = happy + 20, technology = envy + 3.
can emo-mods be changed?
Yes, the user interface on oribotics.net allows users to modify the emotion and modifier value for any keyword.
DATABASE TABLES AND SCHEMAS
SCHEMAS
feeds - keep track of feeds: urls of feed, access times.
articles- table to download article into
words- dictionary of words assigned to emotions
emotions - emotions and values
bots - links bots to a SINGLE feed, and its emotion
FEEDS SCHEMA feedID(int) title (text) feedtype(text) - flavor of feed, atom, rss, rss2 etc… url (text) last access(date) frequency to access (in minutes) (int)
ARTICLES SCHEMA articleID (int) - system id for article feedID(int) title (text) url (text) shortbody(text) fullbody(text) keywords (text) peak-emo(emoID) average-emo (emoID) datetime (date)
WORDS SCHEMA wordID(int) word(text) emoID(text) modifier (int)
EMOTION SCHEMA emoID(int) emotion(text) modifiervalue(int)
BOTS SCHEMA botID(int) feedID(int) emoID(int)
LOG feedID(int) emoID(int) emoValue articleID(int) timestamp (date time YYYY-MM-DD HH:MM:SS)
PROGRAM FUNCTIONS
Automated functions (php code)
1. harvester (called by cron job)
Read all feeds periodically, check for, and collect new articles, then pass new articles to digester. The shortbody is collected directly from the feed, and fullbody is collected from the article url in the feed.
2. digester (called by harvester or cron job)
Deals with new articles.
Read article body. Extract keywords, run emotional scan on keywords, and determine peak emotional state, and average emotional state. Add record of the state in the log.
User interactive functions (php & flash code)
user interaction
users can do the following:
0. view current emo-state for each robot
1. view the most recent digest that created the emo-state
2. see the list of keywords and emo-mods
3. click on a keyword to alter the emo-mod for words
4. add new words - make words keywords
5. add new feeds + including their personal blogs
6. alter the emotional associations for words and
user functions:
edit pages for the following:
sources -> feeds
words -> emotional associations > modifer values
outputs
when queried by a bot request, outputs an xml file of current states
outputs
history of emotional output states
ADDITIONAL STUFF.
interesting reading
http://www.vepsy.com/communication/book4/4_21BOUCOU.PDF
good ideas
first taste peak - followed by deviation average tone of article
power - synchronisation - non chaotic - rms - as a measure of information
biorhythm - emotional physical intellectual
No Comments yet
Sorry, the comment form is closed at this time.