Skip to content

Jiaqicao257/Amazon-Review-Summarizer-Chrome-Extension

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Amazon Review Summarizer Chrome Extension Docummentation

There are summaries about the product reviews on Amazon, but only for the products with more than hundreds of reviews. Also, the product review summaries oftentime contains some inaccuracies, including words that are not desciptions of the product, e.g. "even though", "make sure", or redundant summaries such as “easy to set” and “easy to set up”. This extension serves as a improvement for generating summary tags that solves these problems.

Description

Extension files

Please refer to Chrome extension architecture overview for more details.

  • manifest.json specifies the configuration of the Chrome extension.
  • popup.html and popup.js contains the frontend logic including a popup which will show the user review summaries of a Amazon product.
  • background.js connects the backend to the frontend, makes and receives requests with backend programs.

Backend files

Backend server for the chrome extension that's built with Flask, where the reviews in the product page is analyzed and summary tags are generated.

  • src/app.py hosts the Flask app that listens for http request from the extension sending the url of the product page, calls backend programs that scrape the page, process the review, and extract keywords, and sends the result back to the extension.
  • src/scraper.py scrapes the product reviews in the target Amazon website using the URL sent from Flask, cleans the scraped data using regular expressions, pruning undesired sentences (i.e. "Review with images","123 people found the review helpful"), and then uses keyword extraction module to summarize the reviews and selects the most important keywords or phrases using the text statistical features method from the reviews.
  • src/drivercode.py uses the same data cleaning functions mentioned above to preprocess the scraped data, and summarizes the reviews using TF-IDF weighting.

Installation Guide

Software Requirements

Set up the Repo

  • Clone the repository and run pip install -r src/requirements.txt

  • Run python3 src/app.py

  • Go to Chrome extension management (chrome://extensions/), turn on Developer mode on the top right corner, click Load unpacked on the top left corner, select the folder where the code live in i.e. this folder, now you should be able to see the extension.

  • Next click on the extension button on the top right corner of the Chrome app (looks like a piece of jigsaw puzzle), and then pin the A+ extension.

  • You're good to go! Open an Amazon product page and click on the A+ icon, you should now be able to see a summary of the product. Note that you might need to wait for sometime for the text processing to complete.

Demo Video

https://uofi.box.com/s/toia5s3r0xri31s3hnx7c2c62g531oyj

Authors:

  • Jiaqi Cao: Created the backend server app, built functions in 'popup.js' that sends the page's url to backend and receives tags from background.js, and wrote http requests in background.js and app.py that transfer data between backend and frontend.
  • Naifu Zheng: Modified the scraper function used in MP2 to scrape the target Amazon product pages, built the scraped data cleaning module, abd incorporated TF-IDF weighting in text summarization.
  • Yige Feng: Implemented the frontend of the chrome extension, including setting up the manifest.json, building popup.js and popup.html, and building background.js which provide an interface to connect to the backend.
  • Yuxin Wang: Implemented the backend keywords extraction functions using keyword extraction modules such as SpaCy, YAKE, and Rake-NLTK to summarize the reviews and selects the most important keywords or phrases using the text statistical features method from the reviews.

About

Amazon Review Summarizer Chrome Extension.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 77.8%
  • JavaScript 17.6%
  • HTML 4.6%