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

Purchasing cinema tickets with a Chat Bot
 
 

Hi,

I have just found this amazing community of chatbots.org and I’m really impressed about how much useful information I’ve found here so far.

This is my first post here and it’s related to the project I’ve just started working on. However, I’m far from being beginner in programming, NLP, ML or Information Retrieval.

The bot I want to build has a pretty simple task. It has to automatize the process of purchasing movie tickets. This is pretty close domain and the bot has all the required access to the cinema database. Of course it is okay for the bot to answer like “I don’t know” if user message is not related to the process of ordering movie tickets.

I already created a simple demo just to show it to a few people and see if they are interested in such a product. The demo uses simple DFA approach and some easy text matching with stemming. I hacked it in a day and it turned out that users were impressed that they are able to successfully order tickets they want. (The demo uses a connection to the cinema database to provide users all needed information to order tickets they desire).

My current goal is to create the next version, a more advanced one, especially in terms of Natural Language Understanding. For example, the demo version asks users to provide only one information in a single message, and doesn’t recognize if they provided more relevant information (movie title and time for example). I read that an useful technique here is called “Frame and slot semantics”, and it seems to be promising, but I haven’t found any details about how to use this approach.

Moreover, I don’t know which approach is the best for improving Natural Language Understanding. For the most part, I consider:


1. Using “standard” NLP techniques in order to understand user messages better. For example, synonym databases, spelling correction, part of speech tags, train some statistical based classifiers to capture similarities and other relations between words (or between the whole sentences if it’s possible?) etc.

2. Use AIML to model the conversation flow. I’m not sure if it’s a good idea to use AIML in such a closed domain. I’ve never used it, so that’s the reason I’m asking.

3. Use a more “modern” approach and use neural networks to train a classifier for user messages classification. It might, however, require a lot of labeled data

4. Any other method I didn’t think about?


Which approach is the most suitable for my goal?

And the second question, do you know where I can find more resources about how does “Frame and slot semantics” work in details?

 

 
  [ # 1 ]

This depends primarily on the cinema booking API.  A typcial API will have set commands or procedures.  All you really have to do is match and connect the API procedures with natural language triggers.

AIML will be adequate for this task.  However, AIML is not, strictly speaking, compatible with either NLP or neural networks.  (AFAIK, there hasn’t been any research on using AIML tags as metadata for machine learning; however, theoretically it should work.  The more common approach would be to use AIML derived chat logs, in the form of question-answer pairs, for machine learning.)

 

 
  login or register to react