Spaces:
Sleeping
A newer version of the Streamlit SDK is available:
1.40.1
title: ImBesideYou
emoji: 🏢
colorFrom: blue
colorTo: pink
sdk: streamlit
sdk_version: 1.38.0
app_file: app.py
pinned: false
Project Overview
This project provides a comprehensive tool for analyzing and comparing multiple candidates based on various data points extracted from their introduction videos. It uses emotion scores, transcript scores, and the actual transcript text to generate insights about each candidate's communication skills, emotional expressions, and overall suitability for recruitment.
Features
- Multi-candidate comparison
- Analysis of emotion data
- Evaluation of transcript scores
- Gaze data analysis
- Overall comparison across all data types
- Interactive visualizations
- AI-powered insights generation
How to Use
- Clone this repository to your local machine.
- Install the required dependencies:
pip install -r requirements.txt
- Run the Streamlit app:
streamlit run app.py
- Upload the required CSV and TXT files for each candidate when prompted.
- Select the type of analysis you want to perform.
- Use the chat interface to ask questions about the candidates and receive AI-generated insights.
Interface Usage Guide
Uploading Data: Upload the required files for each candidate when prompted.
Selecting Candidates: If you've uploaded data for multiple candidates, you can select which ones to include in your analysis using the multiselect dropdown.
Choosing Analysis Type: Select the type of analysis you want to perform from the dropdown menu.
Formulating Queries: Use the chat input to ask questions about the candidates. Here are some guidelines for effective queries:
- For visualizations, include words like "compare", "graph", or "show" in your query.
- To analyze specific features, mention them by name (e.g., "happy" for emotion, "speech_speed" for transcript score).
- Available parameters for each analysis type are always shown on the screen.
- To compare all features, use queries like "Please compare all emotions of the selected candidates" or "Show all transcript scores for the candidates".
- For an overall comparison of candidates, choose the "overall comparison" option from the analysis type dropdown.
- If you've uploaded data for 10 candidates but only want to compare 5, select those 5 from the multiselect dropdown before asking your query.
Examples:
- "Graph the 'happy' emotion for all selected candidates"
- "Compare the speech speed and confidence scores of Candidate 1 and Candidate 3"
- "Show the distribution of all emotions for the selected candidates"
- "Analyze the gaze patterns of all candidates"
Remember, the more specific your query, the more targeted the analysis will be!
File Structure
app.py
: Main application fileemotion.py
: Functions for emotion data analysistranscrip_score.py
: Functions for transcript score analysisgaze.py
: Functions for gaze data analysistranscrip.py
: Functions for transcript text analysis
Data Requirements
For each candidate, you need to provide:
emotion.csv
: Contains emotion scores throughout the videotranscript_score.csv
: Contains scores extracted from the transcriptgaze.csv
: Contains gaze data from the videotranscript.txt
: Contains the full transcript text
Dependencies
- streamlit
- pandas
- seaborn
- matplotlib
- google-generativeai
- numpy
Note on API Key
This project uses the Gemini API. Make sure to replace the placeholder API key in the code with your actual Gemini API key before running the application.
Contributing
Contributions to improve the project are welcome. Please fork the repository and create a pull request with your changes.