Git Product home page Git Product logo

2019-aspect-analysis's Introduction

aspect-analysis

Inferential analysis of consumer perception's of product aspects

The objective of this project is to leverage free text product reviews to better understand which aspects contribute most to person likelihood to purchase one product over the other. A summary of our work is as follows:

  • Aspect identification: We utilize linguistic and grammar heuristics to traverse dependency trees to extract aspects independent of text content
  • Clustering and identify a common name: We cluster semantically similar aspects such that we can assign a single representative name for further analysis
  • Compute reviewer sentiment of individual aspects: leveraging an in-house developed sentiment analysis model, we extract the reviewer's opinion of each individual aspect.
  • Ranking product aspect: a regression model and expectation maximization variant are then applied to compute the importance of each aspect such that we can rank them. The two models are compared

Video Presentation and Report

https://www.youtube.com/watch?v=jHlf1E2q7kU

Report is found at Report/Report.docx

Script Details

All code can be found in programs/ folder. Scripts are listed in the order that they should be run.

extractData.py

  • extracts metadata and product reviews

AspectExtraction.py

  • applies linguistic rules to extract product aspects from free text reviews
  • utilizes SpaCy dependency parsers

ClusterAspects.py

  • applies K-Means clustering on averaged GloVe embeddings
  • identifies optimal K through simple grid search
  • assigns representative name to each semantic cluster via TF-IDF weights

TrainSentiment.py

  • Trains and evaluates a sentiment analysis model
  • CNN + BiLSTM network

CreateOpinion.py

  • computes sentiment towards individual aspects
  • Applies trained sentiment model above

GetWeightsLinReg.py

  • applies linear regression to compute importance weights by aspects

ProbabilisticRanking.py

  • applies EM variant to comput importance weights by aspects

Visualization code found in visualizations/ folder Exploratory and draft code found in explore/ folder

[[Complete README to be added once project is complete]]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.