Inspiration

A lot of the times when we want to watch a new release or an old classic that we haven't watched yet, we get confused as to whether the movie is actually good before watching. To solve this problem, we generally go to the iMDB website to read the reviews about that movie. Some reviews will suggest it's a good movie and others say a conflicting thing which makes it more confusing for us.

What it does

You ask about a movie to Alexa and she replies whether the movie is good or bad based on the average sentiment of all the reviews scraped from the internet. Our model runs on all the reviews and gives a result whether a review is positive and negative. Using all this we then give an output about the general perception of that movie.

How I built it

Using the famous iMDB movie review dataset, we trained a linearSVC model to perform sentimental analysis on 35000 entries in the dataset and tested it on the remaining 15000 entries. spacy was used for data preprocessing. The reason for using spacy and a support vector machine and a non deep learning model was simple: It is a lot faster and there is only a 5% drop in accuracy from the famous BERT model. BERT offered a 95% accuracy and our model gave an accuracy of 90% but it was a lot faster which is quite essential, given we've developed an Alexa skill where quick input and output is required.

Challenges I ran into

  • Finding a model accurate enough to give valid responses and also quick enough to be integrable into Alexa
  • Creation of Flask API through which the model is accessed
  • Integration of Alexa, the Backend and the ML model
  • Data input pipeline and final score calculation

Accomplishments that I'm proud of

  • Creation of a model that was accurate as well as quick enough for Alexa
  • Integrating a custom ML model into an Alexa skill

What I learned

  • Not all models used for a purpose need to be a Deep Learning Model. Sometimes, a simple ML model can accomplish that task easily
  • Integrate ML model and backend using ngrok
  • Creation of an Alexa skill using a custom ML model

What's next for KnowMovie

  • Integrate TV shows as well.
  • Integrate different language reviews.
  • Training the model on new reviews so as to keep up with the changing vernacular

Built With

+ 103 more
Share this project:

Updates