Skip to content

The app for analyzing Call Quality Rate (CQR) of call transcripts based on audio recordings.

License

Notifications You must be signed in to change notification settings

Bdata0/call_quality_rate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Call Quality Rate

Performing Call Quality Rate (CQR) evaluation on customer call transcripts.

Table of Contents

Description

This project aims to evaluate the Call Quality Rate (CQR) of customer call transcripts based on emotional responsiveness, effectiveness of problem-solving, professionalism, and awareness.

Features

  • Transcribe audio recordings into text using the Vosk model.
  • Perform diarization to distinguish speakers using pyannote.audio.
  • Analyze sentiment of text using the SentenceTransformer model.
  • Export results to Google Sheets using the Google Sheets API.
  • Visualize results using a Streamlit web app.

Getting Started

Prerequisites

  • Docker: Install Docker for containerization.

Installation

  1. Clone the repository:

    git clone https://github.com/Bdata0/call_quality_rate.git
    cd call_quality_rate
  2. Build the Docker container:

    docker build -t call_quality_rate .

Usage

  1. Place your audio file (in MP3 format) in the root directory.

  2. Run the Docker container:

    docker run -it -v $(pwd):/app call_quality_rate
  3. Follow the instructions in the terminal to analyze the call transcript and view the results using the Streamlit web app.

Project Structure

The project follows a structured organization based on Domain-Driven Design (DDD) principles.

# project/
├── app.py
├── data/
│   ├── processed/
│   ├── raw/
│   │   ├── audio.mp3
│   │   └── ...
├── domain/
│   ├── __init__.py
│   ├── transcription/
│   │   ├── __init__.py
│   │   ├── models/
│   │   │   ├── vosk-model-ru-0.42.zip
│   │   │   └── ...
│   │   ├── transcription.py
│   │   └── ...
│   ├── diarization/
│   │   ├── __init__.py
│   │   ├── diarization.py
│   │   └── ...
│   ├── sentiment_analysis/
│   │   ├── __init__.py
│   │   ├── sentiment_analysis.py
│   │   └── ...
│   ├── google_sheets/
│   │   ├── __init__.py
│   │   ├── google_sheets.py
│   │   └── ...
├── tests/
│   ├── __init__.py
│   ├── test_transcription.py
│   ├── test_diarization.py
│   ├── test_sentiment_analysis.py
│   ├── test_google_sheets.py
│   ├── test_integration.py
│   └── ...
├── Dockerfile
├── requirements.txt
└── ...

Contributing

Contributions are welcome! Please follow these guidelines when contributing:

  • Fork the repository.
  • Create a new branch for your feature or bug fix.
  • Make your changes and commit with descriptive messages.
  • Submit a pull request.

License

This project is licensed under the MIT License - see the LICENSE file.

Releases

No releases published

Packages

No packages published