{"id":26795929,"url":"https://github.com/pragativerma18/call-analysis","last_synced_at":"2026-04-21T22:35:52.689Z","repository":{"id":284981240,"uuid":"956694404","full_name":"PragatiVerma18/call-analysis","owner":"PragatiVerma18","description":"This project analyzes call data to measure overtalk and silence metrics while also detecting profanity and sensitive information using regex-based and LLM-based approaches.","archived":false,"fork":false,"pushed_at":"2025-03-29T07:51:27.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T08:22:01.300Z","etag":null,"topics":["chatgpt","conversational-agents","llm","python","regex","streamlit","streamlit-webapp"],"latest_commit_sha":null,"homepage":"https://convo-insight.streamlit.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PragatiVerma18.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-28T17:37:36.000Z","updated_at":"2025-03-29T07:51:31.000Z","dependencies_parsed_at":"2025-03-28T18:45:24.454Z","dependency_job_id":"e70d77a7-2a0b-4cad-8ad9-d9aae89ac137","html_url":"https://github.com/PragatiVerma18/call-analysis","commit_stats":null,"previous_names":["pragativerma18/convoinsight","pragativerma18/call-analysis"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PragatiVerma18/call-analysis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PragatiVerma18%2Fcall-analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PragatiVerma18%2Fcall-analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PragatiVerma18%2Fcall-analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PragatiVerma18%2Fcall-analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PragatiVerma18","download_url":"https://codeload.github.com/PragatiVerma18/call-analysis/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PragatiVerma18%2Fcall-analysis/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263264641,"owners_count":23439246,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatgpt","conversational-agents","llm","python","regex","streamlit","streamlit-webapp"],"created_at":"2025-03-29T18:16:31.801Z","updated_at":"2026-04-21T22:35:52.640Z","avatar_url":"https://github.com/PragatiVerma18.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Call Analysis and Profanity Detection\n\n\u003e This project analyzes call data to measure overtalk and silence metrics while also detecting profanity and sensitive information using regex-based and LLM-based approaches.\n\n## Features\n\n- **Call Analysis**: Computes silence and overtalk percentages.\n- **Visualization**: Generates charts for call metrics.\n- **Profanity Detection**: Uses regex and ChatGPT API for comparison.\n- **Sensitive Data Detection**: Identifies sensitive information like account numbers and SSNs.\n- **Streamlit App**: Provides an interactive UI for users to analyze call data.\n\n\u003e Find detailed technical report [here](./technical-report.md)\n\n## Setup Instructions\n\n### Prerequisites\n\nEnsure that the following dependencies are installed:\n\n- Python 3.8+\n- Virtual environment\n\n### Installation\n\n1. Clone the repository:\n\n```shell\nhttps://github.com/PragatiVerma18/call-analysis.git\ncd call-analysis\n```\n\n2. Create and activate a virtual environment:\n\n```shell\npython -m venv venv\nsource venv/bin/activate\n```\n\n3. Install dependencies:\n\n```shell\npip install -r requirements.txt\n```\n\n4. Set up environment variables in `.env`:\n\n```shell\nOPENAI_API_KEY=\"your-api-key\"\n```\n\n5. Run the Streamlit App:\n\n```shell\nstreamlit run app.py\n```\n\n\u003e This will launch a local server where users can upload call data and visualize metrics.\n\n## Streamlit App Overview\n\nOnce the app is running, you can interact with the following features:\n\n### 1. File Upload:\n\n- Upload a `.json` or `.yaml` file containing call conversation data. Find example file here - [example-conversation.json](./example-conversation.json).\n- The app will parse the file and extract relevant information such as speaker activity, timestamps, and text.\n\n### 2. Tabs for Analysis and Visualization:\n\n- The app is divided into two main tabs:\n\n- **Analysis Results**:\n\n  - Select an analysis method (`Regex` or `LLM`) to detect profanity or privacy violations.\n  - View flagged utterances in the conversation.\n  - Get feedback on whether any issues were detected.\n\n- **Call Quality Metrics**:\n  - Choose from multiple visualization options to analyze call quality:\n  - **Pie Chart**: Displays the proportions of silence, overtalk, and normal conversation.\n  - **Bar Chart**: A horizontal bar chart (Gantt Chart style) for comparing silence, overtalk, and normal conversation percentages.\n  - **Dual Line Chart**: Plots the speaking activity of both the agent and the customer over time, highlighting overtalk segments.\n\n### 3. Analysis Features:\n\n- **Profanity Detection**:\n  - Detects offensive language in the conversation using either regex-based or LLM-based methods.\n- **Privacy Violation Detection**:\n  - Identifies sensitive information such as account numbers, SSNs, and other personal identifiers.\n\n### 4. Call Quality Metrics:\n\n- **Silence Percentage**:\n\n  - Measures the proportion of the call where neither party is speaking.\n\n- **Overtalk Percentage**:\n\n  - Measures the proportion of the call where both parties are speaking simultaneously.\n\n- **Normal Conversation**:\n  - Represents the remaining portion of the call where only one party is speaking at a time.\n\n### 5. Interactive Visualizations:\n\n- The app provides intuitive visualizations to help users understand call dynamics:\n  - **Pie Chart**: For an overall breakdown of silence, overtalk, and normal conversation.\n  - **Bar Chart**: For comparing metrics side by side.\n  - **Dual Line Chart**: For analyzing speaker activity over time.\n\n### 6. Insights:\n\n- Based on the analysis, the app provides insights into call quality and compliance.\n\n## Demo\n\n![Demo](https://github.com/user-attachments/assets/fb04cfaa-f2fc-43b1-b05a-542abf810aa3)\n\n\u003e Find detailed technical report [here](./technical-report.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpragativerma18%2Fcall-analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpragativerma18%2Fcall-analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpragativerma18%2Fcall-analysis/lists"}