Project Description / Goal
This project is a Post-Call Analytics solution for contact centers that leverages Amazon Language AI services to extract key insights from call recordings. It enables sentiment analysis, entity recognition, and compliance risk detection in an automated, serverless manner.
The application workflow includes:
- Uploading call recordings to Amazon S3.
- Triggering AWS Step Functions to process the recordings.
- Using Amazon Transcribe for speech-to-text conversion.
- Extracting key insights using Amazon Comprehend and Bedrock.
- Storing metadata in Amazon DynamoDB and processed results in S3.
- Displaying analytics via a React-based web interface.
Technology Stack
- AWS Lambda: Handles event-driven processing.
- Amazon Transcribe: Converts speech to text.
- Amazon Comprehend: Performs sentiment and entity detection.
- Amazon Bedrock: Generates AI-powered insights.
- AWS Step Functions: Orchestrates processing workflow.
- Amazon DynamoDB: Stores metadata for call records.
- Amazon S3: Stores raw and processed files.
- React (Amplify): Frontend for analytics visualization.
Project Planning / Architecting
The system was designed as a fully serverless and event-driven architecture.
Workflow for Call Processing:
- Call recordings are uploaded to Amazon S3.
- An S3 event triggers a Lambda function, which starts the Step Functions workflow.
- Amazon Transcribe converts the audio to text.
- Amazon Comprehend analyzes sentiment and entities.
- Amazon Bedrock (optional) generates AI-powered insights.
- Processed results are stored in S3 and metadata in DynamoDB.
- The web app retrieves and visualizes the data.
Project Journal / History
- Initial Setup: Defined architecture and selected AWS services.
- Transcription Integration: Implemented Amazon Transcribe for speech processing.
- AI Analysis: Integrated Comprehend and Bedrock for deeper insights.
- Metadata Storage: Set up DynamoDB for efficient querying.
- Web Application: Developed React frontend for data visualization.
Obstacles
- Large Audio File Handling: Optimized Lambda execution for large input files.
- Data Consistency: Ensured synchronized metadata between S3 and DynamoDB.
- Performance Tuning: Minimized processing latency through Step Functions.
- Frontend API Queries: Optimized queries for faster call log retrieval.