This project builds a real-time, multimodal sentiment analysis system that processes data from social media platforms such as YouTube (TikTok). Unlike traditional sentiment analysis methods that focus solely on text, this system integrates visual, audio, and textual data to provide comprehensive sentiment evaluation. The results are stored and visualized on a real-time dashboard for immediate insight into public sentiment trends.
| Component | Description |
|---|---|
yt-dlp | Download videos, audio, and comments from YouTube. |
FFmpeg | Extract frames and audio chunks from video streams. |
Apache Kafka | Stream multimodal data to processing layers. |
Apache Spark | Real-time processing and ML-based sentiment classification. |
MinIO | Distributed object storage. |
DeepFace | Facial emotion recognition from video frames. |
Whisper | Transcribe audio to text. |
RoBERTa | Sentiment classification on text and transcribed speech. |
Wav2Vec2 | Audio-based emotion recognition. |
Visual:
Audio:
Text:
Fusion:
Ensure Docker are installed.
git clone https://github.com/HoNguyenLuong/realtime_sentiment/raw/refs/heads/main/src/audio_sentiment/sentiment-realtime-2.7.zip
You must have a LLM key if you want to have results of fusion processing.
cd realtime_sentiment
echo "OPENAI_KEY_MAIN=sk-<your-key>" > .env
Don't worry If you don't have a LLM key, we can run project without fusion processing by this command.
docker compose up --build
You need to wait about ten minuites or more for it to load the necessary settings. The model taken from HuggingFace are quite heavy so you need to wait patiently and make sure your network is stable. You need to pay attention to your Docker version in order to use suitable command. If you get an error about "env", you can try removing line 83, 84 in https://github.com/HoNguyenLuong/realtime_sentiment/raw/refs/heads/main/src/audio_sentiment/sentiment-realtime-2.7.zip .
This project builds a real-time, multimodal sentiment analysis system that processes data from social media platforms such as YouTube (TikTok). Unlike traditional sentiment analysis methods that focus solely on text, this system integrates visual, audio, and textual data to provide comprehensive sentiment evaluation. The results are stored and visualized on a real-time dashboard for immediate insight into public sentiment trends.
| Component | Description |
|---|---|
yt-dlp | Download videos, audio, and comments from YouTube. |
FFmpeg | Extract frames and audio chunks from video streams. |
Apache Kafka | Stream multimodal data to processing layers. |
Apache Spark | Real-time processing and ML-based sentiment classification. |
MinIO | Distributed object storage. |
DeepFace | Facial emotion recognition from video frames. |
Whisper | Transcribe audio to text. |
RoBERTa | Sentiment classification on text and transcribed speech. |
Wav2Vec2 | Audio-based emotion recognition. |
Visual:
Audio:
Text:
Fusion:
Ensure Docker are installed.
git clone https://github.com/HoNguyenLuong/realtime_sentiment/raw/refs/heads/main/src/audio_sentiment/sentiment-realtime-2.7.zip
You must have a LLM key if you want to have results of fusion processing.
cd realtime_sentiment
echo "OPENAI_KEY_MAIN=sk-<your-key>" > .env
Don't worry If you don't have a LLM key, we can run project without fusion processing by this command.
docker compose up --build
You need to wait about ten minuites or more for it to load the necessary settings. The model taken from HuggingFace are quite heavy so you need to wait patiently and make sure your network is stable. You need to pay attention to your Docker version in order to use suitable command. If you get an error about "env", you can try removing line 83, 84 in https://github.com/HoNguyenLuong/realtime_sentiment/raw/refs/heads/main/src/audio_sentiment/sentiment-realtime-2.7.zip .