Model Card for Aspect Extraction and Opinion Analysis

This model card serves as a template for new models. It has been generated using this raw template.

Model Details

Model Description

Aspect Extraction and Opinion Analysis is an academic project developed as part of the CSE6242 course offered by Dr. Polo Chau at Georgia Institute of Technology. This model performs aspect-based sentiment analysis on Amazon product reviews, extracting relevant aspects, grouping them, and determining their respective polarities.

  • Developed by: Suraj Mohanrao Hulke
  • Experience: 3.5 years in AI/ML
  • Funded by [optional]: N/A
  • Shared by [optional]: N/A
  • Model type: Aspect-Based Sentiment Analysis
  • Language(s) (NLP): English
  • License: [More Information Needed]
  • Finetuned from model [optional]: N/A

Model Sources [optional]

Uses

Direct Use

This model can be directly used to perform sentiment analysis on product reviews to extract aspects and determine their sentiment.

Downstream Use [optional]

The model can be fine-tuned for specific datasets or integrated into larger systems for enhanced sentiment analysis capabilities.

Out-of-Scope Use

The model should not be used for sentiment analysis in languages other than English or for analyzing non-product-related reviews.

Bias, Risks, and Limitations

The model may exhibit biases present in the training data and may not accurately reflect the sentiment for ambiguous or context-dependent reviews.

Recommendations

Users should be aware of potential biases and validate the sentiment analysis results with additional checks or human reviews.

How to Get Started with the Model

Use the code below to get started with the model.

[More Information Needed]

Training Details

Training Data

The training data consists of Amazon product reviews from 1995-2015, available on S3 buckets. The massive size of the dataset presented its own set of challenges.

Training Procedure

The training involves extracting aspect-modifier pairs using dependency parsing and clustering aspects based on word vectors to determine polarity scores.

Preprocessing [optional]

[More Information Needed]

Training Hyperparameters

  • Training regime: [More Information Needed]

Speeds, Sizes, Times [optional]

Training time is approximately 7-8 hours for 1M reviews.

Evaluation

Testing Data, Factors & Metrics

Testing Data

[More Information Needed]

Factors

[More Information Needed]

Metrics

[More Information Needed]

Results

[More Information Needed]

Summary

The model showed promise in extracting relevant aspects and determining sentiment but requires improvement in handling ambiguous or context-dependent reviews.

Model Examination [optional]

[More Information Needed]

Environmental Impact

Carbon emissions can be estimated using the Machine Learning Impact calculator presented in Lacoste et al. (2019).

  • Hardware Type: [More Information Needed]
  • Hours used: 7-8 hours
  • Cloud Provider: AWS
  • Compute Region: [More Information Needed]
  • Carbon Emitted: [More Information Needed]

Technical Specifications [optional]

Model Architecture and Objective

[More Information Needed]

Compute Infrastructure

[More Information Needed]

Hardware

[More Information Needed]

Software

[More Information Needed]

Citation [optional]

BibTeX:

[More Information Needed]

APA:

[More Information Needed]

Glossary [optional]

[More Information Needed]

More Information [optional]

[More Information Needed]

Model Card Authors [optional]

Suraj Mohanrao Hulke

Model Card Contact

[More Information Needed]

About the Project

Aspect Extraction and Opinion Analysis is an academic project as a part of the CSE6242 course offered by Dr. Polo Chau at Georgia Institute of Technology.

Important Links of the Project

Project Overview

Opinion mining or sentiment analysis is the computational analysis of a person’s emotion towards entities like products and services. It can be done at three levels: document, sentence, and aspect. We have implemented an aspect-based analysis system to extract various aspects of an entity from Amazon product reviews, group them, and determine their respective polarities.

Why this Project?

Consumers and sellers spend a significant amount of time reading through long reviews to find out what is perceived as good and bad about a product. Amazon's current feature that lets users filter reviews by popular keywords is still tedious and time-consuming. This project aims to simplify this process by automatically identifying opinions on different aspects of a product.

Solution Overview

We broke down the process into submodules:

  1. Getting the Data Ready: Amazon has made all product reviews from 1995-2015 available on S3 buckets, facilitating the data collection process but presenting challenges due to the massive size of the dataset.
  2. Identifying Aspects: The objective of this step was to extract instances of product aspects and modifiers expressing opinions about those aspects using dependency parser trees in Python's spaCy package.
  3. Grouping Aspects into Clusters and Giving Polarity Scores: The extracted aspects were grouped into clusters using word vectors, and polarity scores were assigned based on modifiers.
  4. Visualizing the Results: An interactive UI was developed to help users gain insights from reviews.

Our Model

Aspect Extraction

The objective of this step was to extract instances of product aspects and modifiers that express opinions about particular aspects. We used dependency parser trees in Python's spaCy package to extract pairs of words based on specific syntactic dependency paths.

Clustering and Polarity Score

Every product has multiple reviews, resulting in numerous aspect-modifier pairs. Different words may be used for similar aspects of a product. We grouped similar aspects into clusters and averaged the polarity scores of the modifiers for each cluster to provide a quantifiable explanation of the opinions.

  1. Word Vectors and Clustering: We used word vectors to define each word in terms of vectors, enabling us to model relationships intuitively. Clustering was performed using the K-Means algorithm in Scikit-Learn, providing optimal results with four clusters.
  2. Polarity Scores: Polarity scores were determined using the VADER Sentiment Analysis tool from the NLTK library. Although this metric worked well for unambiguous positive or negative words, it struggled with equivocal adjectives requiring context for interpretation.

Database and Visualization

We hosted the model results on a Microsoft SQL Server database to handle the massive amount of data and facilitate updates. The UI, built using Flask, jQuery, HTML, and D3.js, provides a detailed analysis of the aspects and polarity score results from our model.

Conclusions & Future Work

Conclusions

The model effectively groups similar aspects and determines sentiment but needs improvement in extracting aspects and handling context-dependent polarity scores.

Future Work

  1. Improving dependency rules.
  2. Incorporating contextual knowledge for polarity scores.
  3. Developing a web-plugin for the UI.
  4. Optimizing the model to reduce training time.
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for surajmhulke/identify_opinions_aspects