Skip to main content

Guidance for Capturing and Analyzing Unstructured Customer Feedback on AWS

Overview

This Guidance helps you collect and democratize customer feedback provided in unstructured data formats such as forms, reviews, emails, and chatbots. It uses natural language processing (NLP) services such as Amazon Comprehend to extract text and perform entity parsing and sentiment analysis. This Guidance also notifies internal teams of feedback using event-based services, including AWS Lambda, Amazon Simple Notification Service (Amazon SNS), and Amazon Simple Queue Service (Amazon SQS).

How it works

These technical details feature an architecture diagram to illustrate how to effectively use this solution. The architecture diagram shows the key components and their interactions, providing an overview of the architecture's structure and functionality step-by-step.

Well-Architected Pillars

The architecture diagram above is an example of a Solution created with Well-Architected best practices in mind. To be fully Well-Architected, you should follow as many Well-Architected best practices as possible.

The event-driven architecture allows near real-time feedback communication to respective teams. Once customer feedback is received, Amazon S3 invokes a Lambda function that derives inference from feedback. Critical feedback is communicated to users in near real-time using Amazon SNS. Amazon S3 provides reliable, scalable storage and kicks off subsequent processing. Open Search Service captures near real-time updates to the records and feedback in indexes.

Read the Operational Excellence whitepaper 

Enabling encryption by default for the S3 bucket and Open Search Service keeps data protected from unauthorized access in case of a security breach or accidental exposure. This helps maintain the confidentiality and integrity of the stored data. IAM configures granular permissions based on roles, including permissions for accessing resources on other resources, such as S3 buckets and Open Search Service indexes. Configuring the SNS topics to only accept encrypted communication helps ensure secure transmission, reducing the risk of eavesdropping or tampering during communication.

Read the Security whitepaper 

Amazon S3 provides high reliability and fault tolerance while also being cost effective. You can apply custom business logic to determine when to redirect requests to other AWS Regions. QuickSight and Amazon SNS are serverless services that store data, visualize insights, and notify events at scale.

Read the Reliability whitepaper 

Lambda is a serverless compute service that automatically scales depending on demand. The distributed nature of Open Search Service enables it to process large volumes of data in parallel, quickly finding the best matches for your queries. Serverless services help ensure that services can accommodate to demand.

Read the Performance Efficiency whitepaper 

Lambda is an event-driven mechanism used to process the event of new customer feedback and start feedback events and the inference process. This removes the need for a server to be running continuously. By using Lambda functions, you can use compute capacity only when required. Amazon SNS users pay per SNS notification request, and Amazon SNS Free Tier offers the first 100,000 notifications over HTTP for free.

Read the Cost Optimization whitepaper 

Amazon S3, Lambda, and Amazon SNS are all serverless services that work on demand and can accommodate for the compute capacity required. This maximizes the performance and usage of resources. Additionally, the efficient use of serverless resources reduces the overall energy required to operate the workload. SageMaker batch inference jobs are executed using the right instance size for optimal utilization of the resources while being cost-efficient.

Read the Sustainability whitepaper 

Disclaimer

The sample code; software libraries; command line tools; proofs of concept; templates; or other related technology (including any of the foregoing that are provided by our personnel) is provided to you as AWS Content under the AWS Customer Agreement, or the relevant written agreement between you and AWS (whichever applies). You should not use this AWS Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the AWS Content, such as sample code, as appropriate for production grade use based on your specific quality control practices and standards. Deploying AWS Content may incur AWS charges for creating or using AWS chargeable resources, such as running Amazon EC2 instances or using Amazon S3 storage.

References to third-party services or organizations in this Guidance do not imply an endorsement, sponsorship, or affiliation between Amazon or AWS and the third party. Guidance from AWS is a technical starting point, and you can customize your integration with third-party services when you deploy the architecture.