AI Zone Admin Forum Add your forum

NEWS: Chatbots.org survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

SMS ChatBot
 
 

I would like to build ChatBots that are fed conversations from mobile phone SMS text messages. 

More specifically, I have correspondence data between people A and B, and am interested in seeing what happens if ChatBots A and B can be defined on their data, and then allowed to speak to each other.

I have very little experience, so my initial questions are very basic:

1. has this been done before?

2. if not, is there a platform that would seem most amenable to this?

3. is it possible to estimate how long it would take a neophyte to set up a basic proof-of-concept ChatBot on this principle?

Any leads appreciated!

Thank you,

Colin

 

 
  [ # 1 ]

Is there another forum in which the above post would be more likely to garner replies?

Thank you,

Colin

p.s. other obvious experiments come to mind: Chatbots A and A’ can talk to each other as well, or B and B’, or Person A and Chatbot A, or Person A and Chatbot B…

 

 
  [ # 2 ]

Hi Colin,

You’ve come to the right place for a project like this, sorry you haven’t gotten any replies thus far. Perhaps it would help to clarify what you’re after. Do you want the chatbot to learn replies by checking against a database of chat volleys between people? Or do you want the bot to extract more information—context, grammar rules, etc.—from the human-to-human chat training sets you feed it?

I think AIML or chatscript might make good platforms for a project like this. Maybe someone more familiar with these can chime in?

As far as bot-to-bot chatting is concerned, this has a long history of being inane and unproductive—we need better bots! Though I imagine two bots trained on the same chat logs may (at best) regurgitate a conversation they’ve been fed. Which would have at least the appearance of intelligence (depending on the source of the logs…). smile

Best of luck!

 

 
  [ # 3 ]
Colin Rowat - Jan 21, 2012:

I would like to build ChatBots that are fed conversations from mobile phone SMS text messages. 

More specifically, I have correspondence data between people A and B, and am interested in seeing what happens if ChatBots A and B can be defined on their data, and then allowed to speak to each other.

I have very little experience, so my initial questions are very basic:

1. has this been done before?

2. if not, is there a platform that would seem most amenable to this?

3. is it possible to estimate how long it would take a neophyte to set up a basic proof-of-concept ChatBot on this principle?

Any leads appreciated!

Thank you,

Colin

1. Yes, it has been done. One example is the AIML bot “Fake Kirk”, which is based on the Star Trek transcripts.
2. Most chat platforms can do this, but it is more “programmatic” to do. The ease also depends on the current format.
3. An expert could probably do it in a couple of hours to a couple of days for a proof of concept.  Highly dependent on platform and data.

Bots have been linked up (and many can be set to talk to themselves). If you give more of your background and a snippet of the data format I might be more able to point you in a direction. Hope this helps.

 

 

 
  [ # 4 ]

You say it has to be fed with sms data. Does it need to run on a phone? what os?
Do you want to build it from scratch or are you looking for an already existing system that would be able to do this?

 

 
  [ # 5 ]

@Colin: Welcome to Chatbots.org!
The best way to garner replies, is to be active on the AI Zone forums and contribute to threads of others. The better people know, the more likely to will be assisted. Just a matter of give and getting, like so many things in life grin

 

 
  [ # 6 ]

Dear CR, Merlin, Jan and Erwin - thank you all for your kind replies.

To reply in turn:

@CR: my gold standard would be to have a pair of learning chatbots with rich language processing, and an uncanny resemblance to Person A and B when they ‘speak’.  I suspect that this would take a larger investment of time than I can afford at this point to reach that standard, though, so I’m trying to understand what I could hack up over a week of evenings or so on the basis of these conversation feeds. 

I began to experiment with chatscript, but had the sense that it required a lot of flow-control and structuring effort.  Thus, I wanted to know whether there was a less labour intensive approach to reading in chat text.

@Merlin: FakeKirk sounds perfect: thank you.  I’ve looked through the download files at http://code.google.com/p/aiml-en-us-foundation-fakekirk/. My impression was that they can be divided into three categories:

1. content-independent files that would require minimal modification to reverse engineer (e.g. charname.aiml, dialog history.aiml)

2. marked-up content files that could be generated from the SMS feeds in a fairly mechanical way (e.g. kirk.aiml)

3. flow control files that did would require careful structuring (e.g. kirk-update.aiml, kirk-update1.aiml, update.aiml).

In your second item, what did you mean by “programmatic”?  By “the current format”, you meant of the original text inputs, or the version of AIML used?

In conclusion, though, you’d recommend AIML over chatscript for this sort of task, if only because I could follow FakeKirk? (n.b. following the real Kirk always seemed a fairly perilous task; I’m a bit concerned that following a fake one may be just as dangerous.)

As to background, I have rusty C skills, and basic HTML.  Thus, for a first project, I’ll be limited to fairly simple reverse engineering.  A typical text input file would be a CSV file, with each row representing a text message, and cells for sender, receiver, date, time, and message contents.

@Jan: I can run this under Linux, Windows or Android - my main criterion will be ease of implementation.  Thus, I’d prefer to start with something as off the shelf as possible.

@Erwin: thank you - I’ll try to contribute once I feel that my signal-noise ratio improves.

Thank you all again,

Colin

 

 
  [ # 7 ]

Colin,
Yes, AIML and fake Kirk are probably the best bet for a proof of concept/ease in the time you have. Chatscript is more powerful but requires a bit more work.

By programmatic, I meant you need to convert the current text files into valid AIML. AIML is XML. If you have text messages in a file, each input/response volley could be converted into an AIML file. You would have to program a tool to do that.

 

 
  [ # 8 ]

I’ve written a PHP script to convert a CSV transcript file into AIML, but I was never happy with the results, since using such AIML files makes the resulting conversation seem very “flat” and “scripted”. A person could use something that as a starting point, but should then add variations to the output, through the use of <random> and <condition> tags, to enhance the output, and make the conversation more fluid and dynamic, and I have yet to find a way to automate that process.

 

 
  [ # 9 ]

Thank you Dave and Merlin.

I’ve downloaded Rebecca-AIML to start reverse engineering Fake Kirk, but am looking for material to supplement its userGuide, which - I think - assumes more programming experience than I have right now. 

If anyone could recommend a more basic introduction (or alternative to Rebecca-AIML) I would be grateful.  I have Visual Studio (under Win) and Eclipse (under Linux), but almost no experience with either as yet.

The FakeKirk transcripts seem to have been read in using Pandorabots’ SpellBinder.

Thank you again,

Colin

 

 
  login or register to react