How gabriele11231/text_mining_italian_artists_lyrics works
This repository is an Italian music text-mining research workflow. A researcher runs notebooks that collect lyrics, artists, and genre metadata through external APIs; preprocesses and vectorizes the corpus; models topics; classifies genres; and analyzes sentiment for love-themed tracks. The graph preserves both the principal workflow and major alternative models. Source inspection was limited to the tree, README, and requirements, so unsampled notebook-level connections are shown only where the README explicitly documents them.
Components 25
Data Collection
- Dataset Collection
1_dataset_creation.ipynb - Artist Metadata
dataset/artists.csv - Raw Lyrics
dataset/tracks_lyrics.json
Text Preparation
- Text Preprocessing
2_text_preprocessing.ipynb - Processed Lyrics
dataset/tracks_lyrics_preprocessed.json - Language Detection
2_text_preprocessing.ipynb - Lemma Pruning
2_text_preprocessing.ipynb - Corpus Vectorization
2_text_preprocessing.ipynb
Topic Analysis
- Topic Modeling
3_topic_modeling.ipynb - NMF Topics
3_topic_modeling.ipynb - LDA LSA Baselines
3_topic_modeling.ipynb - Neural VAE
3_topic_modeling.ipynb - Love Topic
3_topic_modeling.ipynb
Genre Classification
- Genre Classification
4_text_calssification.ipynb - Genre Mapping
4_text_calssification.ipynb - One-vs-Rest SVM
4_text_calssification.ipynb - Classifier Chains
4_text_calssification.ipynb - XGBoost Models
4_text_calssification.ipynb - UmBERTo Transformer
4_text_calssification.ipynb
Research Outcomes
- FEEL-IT Sentiment
4_text_calssification.ipynb - Research Findings
report/Text_mining_report_Bertolotti_Giorgio.pdf
Other components
- Researcher
- Spotify API
- Last.fm API
- Genius API
Connections 29
- Researcher → Dataset Collection: runs workflow
- Dataset Collection → Spotify API: queries artists
- Dataset Collection → Last.fm API: queries genres
- Dataset Collection → Genius API: fetches lyrics
- Dataset Collection → Artist Metadata: writes metadata
- Dataset Collection → Raw Lyrics: writes lyrics
- Text Preprocessing → Raw Lyrics: reads lyrics
- Text Preprocessing → Language Detection: detects language
- Text Preprocessing → Lemma Pruning: lemmatizes tokens
- Text Preprocessing → Corpus Vectorization: builds vectors
- Text Preprocessing → Processed Lyrics: writes corpus
- Topic Modeling → Processed Lyrics: reads corpus
- Topic Modeling → Corpus Vectorization: uses representations
- Topic Modeling → NMF Topics: evaluates NMF
- Topic Modeling → LDA LSA Baselines: evaluates baselines
- Topic Modeling → Neural VAE: trains VAE
- Topic Modeling → Love Topic: isolates love
- Genre Classification → Processed Lyrics: reads corpus
- Genre Classification → Artist Metadata: reads labels
- Genre Classification → Genre Mapping: maps genres
- Genre Classification → One-vs-Rest SVM: trains SVM
- Genre Classification → Classifier Chains: trains chains
- Genre Classification → XGBoost Models: trains XGBoost
- Genre Classification → UmBERTo Transformer: fine-tunes model
- Genre Classification → FEEL-IT Sentiment: runs sentiment
- Love Topic → FEEL-IT Sentiment: selects tracks
- Topic Modeling → Research Findings: reports themes
- Genre Classification → Research Findings: reports genres
- FEEL-IT Sentiment → Research Findings: reports sentiment