Inspiration

From a real situation in my home country, where there is no digitalization suitable for cinema lovers, I remarked that there is no solution that may provide us with the available movies and offers. Also, in the capital, it is hard to go to the cinema far away to reserve tickets, especially because the cinema administration has the same work hours as many employees. In a nutshell, we have problems in:

  1. Tickets'reservation
  2. Information gathering: available movies, ticket prices, discounts (e.g., Valentine's Day, Mother's Day)
  3. There is no time to go to the cinema in person.To solve this real issue in our society, we propose "Recommandili."

What it does

"Recommandili" is an AI solution that helps the user by responding to his questions. Mainly,This bot could propose a list of available movies depending on the user's watching style. It may reserve tickets for a specific date as well as propose the available offers. Moreover, it may guide the user by providing the route to the cinema.Our solution facilitates communication between the user, whowants to watch a movie, and the cinema administration. It will efficiently reduce the number of people who come just to ask some simple questions. In fact, our receptionist will guarantee thecomforts of both the user and the cinema staff. "Recommandili" will:

  1. Be a virtual bridge between the user and the cinema administration.
  2. Provide an interface where the user can ask his questions and get adequate responses.
  3. Facilitate booking tickets with fewer administrative tasks. This project has been started two years ago while learning and has been completed when it got the chance during GlobalHack week.

How we built it

We built "Recommandili" using IBM Watson Assistant and integrate it with Node-RED, we followed these steps:

  1. Create a Watson Assistant Service: (choose a pricing plan—free in our case.)
  2. Create a new assistant, and start building the chatbot, we name the assistant and select the language.
  3. Add a Dialog Skill (you may also use a pre-built template)
  4. Define intents, entities, and dialog.
  5. Train and test the assistant
  6. Set Up Node-RED: create a Node-RED app by selecting "Node-RED Starter" from the IBM Cloud catalog.
  7. Install Watson Nodes
  8. Create a Flow in Node-RED 
  9. Configure the Watson Assistant Node and add output nodes
  10. Deploy the flow
  11. Iteratively refine the intents and entities based on user interactions.

Challenges we ran into

The most important challenge is that "Recommandili" needs a lot of data, such as a list of movies and their categorization (romance, action, fiction, etc.), and prices, to get enough intents and entities to train the chatbot with. Another challenge is that it needs to be continuously updated to be aligned with the new movies and the discounts offered.

Accomplishments that we're proud of

Our "Recommandili" bot responds efficiently to the user's sentences (greetings, questions, etc.).We tried to implement different ways for the same word (e.g., good morning, hello, bjr,heyy,etc.) so that "Recommandili" could be trained with different sorts of entities for the same data by varying the language.

What we learned

The most important thing is that we learn a new skill or technology within a short time. IBM Watson Assistant is a powerful tool of IBM, which is a huge cloud provider and giant in artificial intelligence. Also, getting on well with entities, intents, and the difference between them and their importance in training the chatbot. Moreover, it was very powerful to follow the flow of the user chatbot and configure the parameters using node-red.

What's next for Recommandili

As next steps, we aim to deploy our solution in a web application to be more user-friendly and concentrate on the monitoring systems for regular updates.Additionally, it will be improved to include more intents. Other enhancements could also be made in the future, such as accepting voice queries.

Share this project:

Updates