A Product Review Analysis App to Determine the Sentiment of Reviews, using AWS.
The application processes user/customer reviews, taken from a .csv file and categorises the review sentiment as- 'Positive', 'Negative' or 'Neutral', based on certain keywords, that can be found in the review, using AWS Comprehend, which is a service that uses machine learning to find insights and relationships in text and returns the sentiment accordingly.
Further, an email notification is triggered using AWS SNS, to a specified mail id, when the sentiment happens to be 'Negative' and all the sentiment data is stored in AWS DynamoDB, for reference.
The entire process is managed by an AWS Step Function, which consists of Lambda functions, that trigger various other AWS Services like- Comprehend, SNS, DynamoDB. The State Function is in turn triggered by a Lambda function, which occurs when an S3 PUT Event takes place, i.e., when a .csv file, consisting of customer sentiment data is uploaded to S3.
Once the file is uploaded to S3, the Step Function runs and generates the sentiment of the review, which then carries out the task depending on the sentiment result.
Step Function depicting the Process
CSV file uploaded in S3