« Dicembre 2005 | Main | Febbraio 2006 »
31.01.06
Chat bots
I've been doing a little survey and a bit of thinking about chat bots to see if anyone's come up with anything startling.
Most of them suck badly despite wild claims of people mistaking them for humans. Here's my conversation with A.L.I.C.E for e.g.
Human: hi Alice
ALICE: Hello there.
Human: what's your email address?
ALICE: Try sending mail to Dr. Wallace at drwallace@alicebot.org.
Human: OK thanks
ALICE: Yikes!
Human: why yikes?
ALICE: How much time do you have?
Human: what?
ALICE: No problem.
Human: you're not making sense.
ALICE: Quite the contrary, it all makes sense to my artificial mind.
The best one I found was the John Lennon Chat Bot
Here's a transcript of one of my chat's with the artificial John Lennon:
Giles: Hi, I'm Giles
John Lennon: What are you doing in my kitchen Giles ?
Giles: Just Hanging
John Lennon: Get rid of the ego, Giles
Giles: how do I do that?
John Lennon: How should I know how you do that .
Giles:OK - how would you do it?
John Lennon: We'll be pretty tired after this event, you know.
But even that one falls down pretty easily:
Giles: What do you think of Paul's music?
John Lennon: It depends.
Giles: On what?
John Lennon: On the remarks?
Giles: What remarks?
John Lennon: Interesting question.
Giles: You're avoiding the question.
John Lennon: Do you have any idea what it's like to answer the same questions over and over again for 30 or 40 thousand years?! Christ, Luv, it's a bloody drag.. Change the subject, man.
I don't think it's easy but people shouldn't make wild claims like they do.
Anyway I've been thinking - there must be a solution to this problem - and it's basically one of the great unsolved problems - how to get computers to understand and react to natural language.
Here are some thoughts:
Important features:
I checked the source code and it seems Alice is lacking:
1. A memory bank + stateful behaviour
2. An apprentice site where people can tell her she's talking crap and how in a way that is meaningful to her.
3. A cognitive model.
4. A goal seeking module.
5. A better, emergent based, rule system that allows her to learn (I'll have to take a look at what she's using).
6. More experience
7. Ability to deal with emoticons and other stylistic aspects of text.
Prior art
An emotional model
The idea is to model abstract properties of the conversation and to use those to determine whether our bot said something good or something bad (towards or away from a goal) and what the goal it is trying to reach might be.
Here are some examples.
+ve "emotions"
Praise,
Satisfaction of the other party (probably an abstraction of some of the other properties below),
Humour on the other side (e.g. Lol),
The counterpart likes me (e.g. length of conversation),
The counterpart respects me,
The counterpart agrees with me (e.g. number of occurences of affirmations)
Consistency with things previously said (contradiction detection),
Consistency with a database of facts (Previous 2 things are like honesty for humans)
-ve "emotions"
Inconsistency,
Dissatisfaction of counterpart,
Aggression of counterpart,
Inconsistency of counterpart
To this, you could also add goal-specific emotions - e.g. erotic excitement, handing over the readies, etc....
Example Goals
erotic excitement
selling things
humour
return chatters (relationship)
Emergent learning algorithm
These paramaters could act as guides in an emergent rule system:
E.g.
Rule 1. Decide best response based on a database of response parameters (perhaps using a Neural Net or Bayesian algorithm - classification)
Rule 2. Alter response parameters based on detected levels of "emotions" in the conversation.
Rule 3. In the presence of negative emotions, try to elicit direct feedback from the counterpart to add specific rules to avoid them in future (e.g. learning new vocabulary etc...).
Another idea is to feedback some learned information to a central server which stores the knowledge so that our bot can learn some general things about all conversations. One would have to be careful to filter out the things that are specific to a given conversation.
Feature detection and learning
The big challenge here is how to set up Rule 2.
If I notice a change in "emotional response", how do I know what caused it?
Let's take an example. If you say the word "Bastard" too often in bastard conversation or a bastard text, then it tends to have a negative effect on the bastard conversation.
Using the rules above, how would our bot learn not to swear too much?
The basic algorithm is - when you notice an emotional feature (+ve or negative abstract property of conversation), look back at the history , and at other conversational histories and try to see what they have in common. This is basically a classification problem.
This is where the real AI comes in:
A classification algorithm classifies individuals according to features. If you want to put X1...XN into classes, you have to differentiate them on the basis of some feature or property.
So a key part of the problem here is which features of text to pick out. By analogy with human language learning there will be
"innate" or hardcoded features
E.g. word boundaries, length, capitalization, lemma (word stem) ID in dictionary, language, phrase boundaries, part of speech, occurrence frequency, frequency vector, etc... There is a lot of open source stuff out there for this.
composite or learned features
It is conceivable and desireable that the algorithm may be able to create new features and test if they have any causal effect E.g. occurrence frequency of the word "go" with the word "away". The way in which the system is able to create new features and test their correlation with key emotional events will be key to its power.
Bayesian or neural algorithms are able to test correlations between features and events. We should investigate the most efficient way of doing this.
Eliciting feedback
A very powerful addition to existing systems would be a smart way in which the bot could ask the human to tell it about its mistakes.
The idea is that when it detects that the counterpart is not happy it can offer an interface to the human which allows it to interact in a user-friendly way with the bot's weighting tables and/or rule system.
For example:
Human says: Hi, do you fancy other robots?
Botty says: Go and dig your own grave
Human says: Pardon me
Botty says: You didn't like what I said?
Human says: No I certainly didn't
Botty says: Would you be willing to spend a couple of minutes educating me?
Human says: If you promise to be more friendly.
Botty says: OK - please click here:
Opens a window with the phrase "Go and dig your own grave"
And various questions like:
Which part of "Go and dig your own grave" did you not like [:)]?
This is the reasoning which led me to say "Go and dig your own grave"
Displays a representation of the rule (simple example):
"x
The human being could then somehow make suggestions (in a user friendly interface e.g. like the outlook mail rule interface) about how the bot could behave better next time.
We could look at how children do this sort of thing for some hints.
Problems with this that would have to be solved:
- Good intentions of the teacher - maybe the suggestions could be vetted by a human, or somehow profiled to give an idea if they are likely to be good suggestions.
- How do deal with conflicting suggestions. Maybe you could have a conflict detection system and ask the human about conflicts.
Example implementations/ Moneymaking schemes
Psychiatrist Bot
What could be easier and more lucrative than sitting there saying yes, yes, yes while someone tells you their problems. Seriously speaking, you'd need a very strong cognitive model and so forth. But it would have great impact value - loads of press articles etc...
Problems here - privacy is a big one. No-one's going to tell you their problems if you can record it - you'd need strong anonymity.
Posted by Giles at 10:10 | Comments (2)
30.01.06
100% pure x
I've noticed some products say things like "pure fruit" when they clearly are not. For example some jams say pure fruit but then they say sugar in the ingredients. What they seem to mean is that what fruit they have in them is pure fruit, which is really silly.
As another example, I recently came across this packet of crackers which says "100% wholewheat"
but then they clearly aren't.
In what sense are they supposed to be 100% wholewheat - it seems only in the sense that whatever wholewheat there is in them is wholewheat, which is kinda obvious...
Posted by Giles at 14:06 | Comments (4)
23.01.06
FAQ FAQ
Have you made some FAQ's
Yes
Where are they?
Just below here:
Is this just a way of stopping people from asking the same questions over and over again - ad nauseam?
Not really - I don't remind repeating things - every interaction is different. It's more for the questions people seem to be most interested in so that they can get the answers even when I'm not around. But I suppose it might leave room for more questions, having answered the main ones...
Posted by Giles at 19:56 | Comments (1)
Baby FAQ
See extended entry for the baby FAQ
Are you having a baby?
I don't know yet but Susan is pregnant and it's something to do with me.
Who is the mother?
Susan Coleman
When is it due?
23 July is the official date so + or - a couple of weeks on that.
Was it planned?
Yes. But who planned the plan?
How long did it take to cook up?
About 2 weeks. Yes that's right.
Is it a boy or a girl?
We were told 90% it is a girl - looked pretty convincing to me on the scan.
Where's the scan
A set of scans is available on request (not made public for privacy reasons). Watch this space for more scan announcements.
How does it feel to be a father?
I'm not yet. Many things can go wrong. It's quite a long time till ETA. It wasn't a shock because it was planned and I tried to make sure I'd feel OK about it before I gave the go-ahead. So far it feels like it might be sort of calming in the same way that a very hot day is calming - it seems the only way of coping with all the uncertainties and responsibility. I've ordered a book called The Developing Child by Helen Bee 11th edition. It's got the latest scientific research on child development (I got it out of the library first). I don't like the idea of these books which are not based on scientific research but on the experience of one doctor.
What's your approach to child rearing?
I think that attention is the main currency in circulation among children. I plan to manage the attention it gets in order to encourage the good things and let the bad things slip away.
I also think that cuddles are probably a good substitute to rational argument. I've seen some parents able to take small kids e.g. to 4 hour business meetings without a dickie bird out of them, but just holding them on their laps. African women I met in Zimbabwe went about their daily tasks with the baby on their back.
I am a strong opponent of hippy parenting. From what I've observed, children are happier if they know what the boundaries are and they will look for boundaries to their behaviour until they find them. So in practice this means that it should be told in no uncertain terms when it's doing something wrong, it should be expected to keep certain standards of behaviour and discipline and if it doesn't, there should be sanctions, which are kept to consistently. I also don't believe in explaining everything - although of course one should not behave arbitrarily, No, or do X should be enough. Otherwise the kids turn into miniature lawyers...
I also don't understandwhy people think :
- that kids prefer strong primary colours
- they only like happy clappy things, especially happy clappy music.
- kids to be shielded from the facts of life (sex, death etc...) before they reach a certain age. OK they might understand it in a limited way, but they might as well get started in understanding it
Perhaps I will find out for myself why this is.
Doesn't he/she look like xyz?
Most probably - he/she is related to xyz, you know.
How does this fit in with your previous anti-child stance?
Many children I've met are little ****'s, but I'm hoping that mine won't be. Also I don't believe in making decisions - it just felt right at the time. I still think that having a child is a fundamentally selfish act but it's one that I've chosen to perform. You're not giving the kid a choice whether it wants to be born and no matter how nice their life is, there's a good chance you've condemned them to a slow and lingering death and a certainty that you've created the conditions of required for their death.
It'll change your life, you know?
Yes, yes. I get up in the night about 5 times usually already so maybe it won't be so bad in terms of lost sleep etc...
What's the most disconcerting thing about it?
The attention it seems to warrant. I mean everyone's been born haven't they? OK - I can sort of understand it.
Where will it be born?
Most likely in the hospital in Cittiglio, Italy.
Have you thought of a name
Discussions are still in progress. We don't want to bias the outcome by revealing the candidates as yet. The main criteria is that it should sound nice. It should also be not shortened or predictably shortened to something we like and not be too wierd that it'd get teased at school. Also it should be good for childhood and adulthood and therefore not too cutesy.
Posted by Giles at 18:39 | Comments (4)
Climate change
Following a number of rather alarming articles in the New Scientist, I'm starting to think practically about where might be a good place to go when the climate goes totally haywire. The UK isn't figuring high on the list. If anyone has any ideas, let me know.
Here is a good selection of tasty climate-alarmist facts.
1. 20% of arctic ice has melted since 1978. This creates a feedback effect because water reflects less sunlight than ice.
2. The permafrost in the west-Sibrian peatlands, covering an area the size of France and Germany combined, are starting to melt. This is a tipping point climate-wise because it will release billions of tonnes of trapped methane into the atmosphere. Methane (CH4) is 20 times more effective a greenhouse gas than CO2.
3. The speed of the global ocean circulation system known as the conveyor belt was found to be faltering in 2005 as evidenced by a 30 percent reduction in the norhtward flow of warm water from the Gulf Stream over the past decade. It switches off completely quite often even without our help (e.g. once for 300 years about 8000 years ago) at this point the UK will become a big sheet of ice instead of a big carpark.
Posted by Giles at 17:58 | Comments (0)
Living on a boat FAQ
Is it cold in the winter?
As long as the heating is on, no.
More to come...
Posted by Giles at 17:55 | Comments (0)
C1 FAQ

What's that funny thing that looks like a microphone?
That's the stand. You just pull down the lever and it sits on its stand.
see extended entry for other FAQ
What's it like in the winter
Very good - it can cope with everything except snow, on which it is very unstable. Rain is fine especially if you're moving because the aerodynamics send it around the safety cage. It's also much warmer than a normal motorbike because you don't have the windchill factor.
Is it safer than a normal moped?
Apparently it performed in safety tests similarly to a small car.
What are the safety features?
- Safety cage
- Seatbelts which you have to wear or it won't go
- Some models have ABS
Think that's about it but there's probably more.
Is it easy to ride?
It's quite top heavy which takes a bit of getting used to but you do get used that quickly. It has good acceleration.
Posted by Giles at 17:53 | Comments (0)
Sudoku why bother
A computer can solve all possible puzzles in no time at all so why waste your time? See a javascript algorithm at http://www.scanraid.com/sudoku.js
Posted by Giles at 17:51 | Comments (4)
General FAQ
Who are you?
I'm not sure.
Where are you from?
I'm not sure - I just had this feeling I was here one day.
Where do you want to be in 5 years?
No idea. If you'd asked me that qn 5 years ago, I'd have got it completely and utterly wrong (if I'd attempted to answer it) so what's the point in a question like that?
Are you crazy?
It is my firm belief that I am. With Douglas Adams, it's a central part of my life philosophy that so called "normal" people, myself included, lead lives of subconscious paranoia and neurosis, without of course being aware of it. I think that becoming conscious of this is the first step to becoming sane.
Do you believe in consistency?
Usually yes but today no.
More to come...
Posted by Giles at 17:48 | Comments (0)
13.01.06
Stop smoking
I'm quite proud of this picture I took this week:

Posted by Giles at 20:01 | Comments (2)
01.01.06
Recursion: The philosophy of boredom
The preface of English language version of The philosophy of boredom (Amazon.co.uk Sales Rank: 74,220) by the Norwegian philosopher, Lars Svendsen has this to say about the author's motivation for writing:
"My reason for writing this book was this: I was deeply bored for a while. What made me reaslise the importance of the topic, however, was the boredom-related death of a close friend."
He does not specify the exact nature of the boredom-related death of his friend, but the following snippet, plus some of the chapter headings perhaps give us some clue:
"I thank [my friends and colleagues] for their contribution, and, not least, for having put up with me at a time when I was virtually unable to talk about anything else other than the subject of this book."
Chapter headings:
Typologies of boredom (p 41)
Boredom and novelty (p 45)
Ontology: the Hermeneutics of Boredom (p.116)
The experience of boredom (P.138)
Posted by Giles at 01:26 | Comments (0)