Guten Morgen und guten Tag. Ich präsentiere Ihnen heute auf dem JMP Discovery Summit das Forschungsprojekt „Analyse musikalischer Trends des 21. Jahrhunderts mittels Stimmungs- und Textanalyse“. Mein Name ist Srichandrika Gadde, und ich bin hier zusammen mit meiner Forschungspartnerin Delaney Carroll. Wir sind Masterstudentinnen der Oklahoma State University und belegen den Studiengang Business Analytics und Data Science.
Hier ein kurzer Überblick zu diesem Projekt. Es entstand im Rahmen eines Masterkurses an der Oklahoma State University. Ziel des Projekts ist die Analyse von Stimmungs- und Textmerkmalen in Songtexten, um Veränderungen in musikalischen Trends im Zeitverlauf zu identifizieren und die Faktoren zu untersuchen, die den kommerziellen Erfolg von Songs beeinflussen. Für die Durchführung des Projekts verwendeten wir die Studentenversion von JMP Pro 18. Der Workflow folgte einem gängigen Verfahren: Zunächst wurden die Daten vorverarbeitet, um sie für die Analyse vorzubereiten. Dazu gehörten die Bereinigung einiger Spalten und die Durchführung von Imputationen (darauf gehe ich später noch ein). Anschließend analysierten wir die Songtexte, wobei wir Stimmungs- und Textanalysen durchführten. Darauf folgte die explorative Datenanalyse (EDA), in der wir diese Merkmale untersuchten, um Veränderungen und Trends zu identifizieren. Abschließend erstellten wir einige Vorhersagemodelle, um Merkmale des kommerziellen Erfolgs wie Popularität und Chartplatzierung vorherzusagen. Zum Schluss erfolgte die Validierung.
Hier ein kurzer Überblick zu den Daten: Wir beziehen unsere Datensätze von Kaggle und analysieren die Billboard Hot 100 Charts, die als Branchenstandard für den Erfolg von Songs in den USA gelten. Wir verwenden drei Datensätze: die Billboard Weekly Charts, Spotify-Audio-Features sowie die Songtexte der Billboard Hot 100-Songs aus den Jahren 2020 bis 2022. Diese drei Datensätze haben wir zusammengeführt und anschließend Veränderungen und Trends identifiziert. Sie bilden die Grundlage unserer Analyse der musikalischen Trends der beliebtesten Songs.
Bei der Datenvorverarbeitung haben wir zunächst einige Textspalten, Song- und Künstlernamen mit Python bereinigt, um sie zu vereinheitlichen und so das Zusammenführen unserer Datensätze zu vereinfachen. Anschließend identifizierten wir fehlende Merkmale und fehlende Datensätze in einigen Audio-Features, die wir mithilfe von Mittelwertimputation und JMP ersetzten. Abschließend erstellten wir Feature-Engineering für einige Variablen wie die Gesamtzahl der Wochen in den Charts, die Spitzenpositionen und die Top Ten. Wir werden diese Variablen später genauer erläutern. Das war die Datenvorverarbeitung.
Nun beginnen wir mit der Liedtextanalyse. In dieser Phase versuchen wir, Fragen wie die folgenden zu beantworten: Wie haben sich Stimmung und lyrische Komplexität im Zeitraum von 2000 bis 2022 verändert? Oder wir untersuchen, wie sich Genres und Genretrends über die Jahre entwickelt haben. Für diese Analyse haben wir Python-Skripte in JMP verwendet, um sowohl die Stimmungsanalyse als auch die Textanalyse durchzuführen. In der Stimmungsanalyse nutzten wir Vader, ein Tool, das Stimmungsbewertungen (positiv und negativ) berechnet. Es handelt sich um ein Lexikon, ein regelbasiertes Tool zur Stimmungsanalyse, das uns hilft, die Gesamtstimmung eines Textes zu ermitteln. Wir verwenden Vader, um die Stimmung der Liedtexte zu bestimmen. Wir haben vier Merkmale erstellt: Vader positiv, Vader negativ, Vader neutral und Vader zusammengesetzt.
Der nächste Schritt ist die Textanalyse. Hierfür haben wir vier Merkmale erstellt: TTR (Time to Read), Hapax Legomena, Lexikalische Dichte und Lyrische Komplexität. TTR gibt das Verhältnis von eindeutigen Wörtern zur Gesamtwortzahl an. Hapax zählt, wie viele Wörter im Text nur einmal vorkommen. Die lexikalische Dichte beschreibt das Verhältnis von Wörtern wie Substantiven, Verben, Adjektiven usw. im Text. Dadurch werden eingängige Phrasen und Füllwörter herausgefiltert, die nicht zur lyrischen Komplexität beitragen. Die lyrische Komplexität ergibt sich aus der Summe der drei wichtigsten Merkmale. Dasselbe gilt für den Vader-Compound, der die Gesamtstimmung (positiv bis negativ-positiv) angibt. Dies sind die acht von uns erstellten Merkmale. In JMP können wir nun beobachten, wie sich diese Merkmale im Laufe der Zeit verändern.
Zunächst zu den Vader-Features: Der positive Anteil blieb relativ konstant. Zwar gab es zwischen 2005 und 2015 einige Schwankungen, doch Ende 2022 entsprach er weitgehend dem Wert von 2000. Nun zum neutralen Anteil von Vader: Dieser Wert beschreibt den Anteil neutraler Inhalte im Text. Hier ist zunächst ein leichter Rückgang und dann ein leichter Anstieg im Jahr 2021 zu beobachten, insgesamt ist der Anteil neutraler Inhalte in den Texten von 2000 bis 2020 jedoch leicht gesunken. Der negative Anteil von Vader hingegen hat deutlich zugenommen. Er stieg zwischen 2000 und 2020 signifikant an, fiel dann aber wieder ab, insgesamt hat der negative Anteil jedoch zugenommen. Die Gesamtstimmung von Vader, die sich im Wesentlichen ausdrückt, ist leicht rückläufig.
Der Wert schwankte zwischen 2006 und 2015 erneut, ging dann aber bis Ende 2022 leicht zurück. Auch bei den Textmerkmalen ist der TTR-Wert über die Jahre hinweg deutlich gestiegen, insbesondere nach und um 2020. Hapax folgt einem ähnlichen Trend wie der TTR-Wert. Dies liegt hauptsächlich daran, dass beide eine ähnliche Vokabelvielfalt messen. Hapax ist nahezu direkt proportional zum TTR-Wert, daher ist die Entwicklung sehr ähnlich. Die lexikalische Dichte, also der Wortschatzanteil, hat von 2000 bis 2022 deutlich zugenommen, was bedeutet, dass in den Liedtexten mehr und vielfältigeres Vokabular verwendet wurde. Der Wert für die lyrische Komplexität, der sich aus den drei wichtigsten Faktoren zusammensetzt, ist bis Ende 2020 ebenfalls gestiegen. Wir betrachten nun den Mittelwert des Vader-Kompositums über verschiedene Genres hinweg. Dies spiegelt die allgemeine Stimmung in den verschiedenen Genres wider. Wir sehen, dass Genres wie Adult Standards, Comedy, K-Pop, Soul und Worship eine recht hohe Stimmung aufweisen, die mit ihrem Genre-Thema übereinstimmt. Die Musikrichtungen Rap, Punk und Latin weisen den geringsten Vader-Einfluss auf. Daraus lässt sich schließen, dass das Genre die Gesamtstimmung der Texte beeinflusst. Genres wie Punk und Rock weisen tendenziell eine weniger positive Gesamtstimmung auf, da sie eher negativ geprägt sind.
Kommen wir zum nächsten Punkt. Hier visualisieren wir den Mittelwert von Vader (negativ und positiv) über verschiedene Genres hinweg. Visuell lässt sich sofort erkennen, dass der Anteil positiver Vader-Elemente in allen Genres höher ist als der negative. Das bedeutet, dass die Genres zwar überwiegend negativ sind, aber auch positive Aspekte und positive Texte enthalten. Punk und Rap weisen den höchsten Anteil negativer Elemente auf, während Kindermusik und Mainstream-Musik am wenigsten negative Musik enthalten. Das ist nachvollziehbar, da Punk und Rap viele Texte über Wut, Rebellion und Kämpfe beinhalten und daher im Vergleich zu Kindermusik, die erwartungsgemäß positiver ist, negativer sind. Diese Tabelle fasst die Mittelwerte aller von uns erstellten Merkmale über Jahre und Genres hinweg zusammen, um die Veränderungen der musikalischen Trends zu untersuchen.
Damit haben wir diese Heatmap erstellt, deren Größe auf der Anzahl der Songs basiert. Man sieht sofort, dass Pop aufgrund der vielen Songs in den Billboard Hot 100 ein ziemlich dominantes Genre ist. Es ist, würde ich sagen, ziemlich konstant positiv. Es hat über alle Jahre einen hohen Vader-Wert und wahrscheinlich auch eine größere Reichweite, was sich in den Billboard Hot 100 niederschlägt. Rap zeigt einige Schwankungen. Ende 2020 hat sich die Stimmung eher negativ entwickelt, während Hip-Hop und Country-Musik ebenfalls eine ziemlich konstant positive Stimmung aufweisen. Das sind einige der Erkenntnisse, die wir mithilfe dieser Daten gewinnen können. Hier ist eine weitere Heatmap, in der wir die TTR (Time to Get) nach Genre und Jahr vergleichen. In dieser TTR-Analyse sehen wir, dass Pop, Rap, R&B, Hip-Hop und Country-Musik relativ hohe TTR-Werte aufweisen, die sich von 2000 bis 2022 als recht konstant erwiesen haben. Lobpreislieder, Standards für Erwachsene und Kindermusik hingegen haben die niedrigsten TTR-Werte, und auch diese schwanken nicht. Das deutet darauf hin, dass ihre Texte weniger komplex oder eher einfach gehalten sind, da sie keine tieferen Emotionen ausdrücken wollen. Diese Erkenntnis lässt sich daraus gewinnen.
Eine weitere Frage, die wir zu beantworten versuchen, ist: Gab es vor und nach 2010, basierend auf den kulturellen Veränderungen, auch signifikante Veränderungen in der Musik? Wir haben eine separate Spalte erstellt, die alle Jahre und Lieder vor und nach 2010 gruppiert und in unserer ANOVA-Analyse verwendet. In dieser einfaktoriellen Analyse haben wir die lexikalische Dichte vor und nach 2010 verglichen, um festzustellen, ob es wesentliche Veränderungen gab. Der Signifikanzwert liegt unter 0,001, was bedeutet, dass eine signifikante Veränderung vorlag. Wie bereits in den ersten Visualisierungen zu sehen war, hat die lexikalische Dichte bis Ende 2020 deutlich zugenommen. Diese Veränderung war signifikant, und die lexikalische Dichte der Liedtexte war vor 2010 geringer als danach. Wir haben versucht, die gleiche Analyse mit Vader Compound durchzuführen, um zu prüfen, ob es vor und nach 2010 eine wesentliche Veränderung der allgemeinen Stimmung gab. Der p-Wert betrug 0,09, was bedeutet, dass sich die allgemeine Stimmung trotz Schwankungen nicht wesentlich verändert hat; im Vergleich zu vorher und nachher war also keine große Veränderung festzustellen.
Die gleiche Analyse, die wir mit TTR durchgeführt haben, um festzustellen, ob es eine signifikante Veränderung gab (p-Wert: 0,033), ergab auch hier keinen sehr großen Unterschied zwischen den TTR-Werten vor und nach 2010. Wir haben außerdem geprüft, ob die drei Merkmale zusammen eine signifikante Veränderung aufwiesen. Dazu verwendeten wir eine MANOVA-Analyse. Diese zeigte, dass die Verwendung des Wortes „Vader“ nach 2010 tatsächlich abgenommen hat, was auf eine insgesamt negativere Stimmung hindeutet, während die lexikalische Dichte zugenommen hat. Der TTR-Wert blieb hingegen nahezu unverändert. Visuell sind Veränderungen erkennbar, aber die Frage ist nun, ob die Veränderungen als kombinierte, definierte Gruppe signifikant waren. Der F-Test ergab für die Vorher-Nachher-Vergleiche einen Wert unter 0,001, was bedeutet, dass sich die drei Merkmale vor und nach 2010 zusammen verändert haben. Damit ist die erste Phase, die lyrische Analyse, abgeschlossen. Die Gesamtergebnisse lassen den Schluss zu, dass Genre und Gesamtstimmung zusammenwirken, dass die Gesamtstimmung je nach Genre zu- oder abnimmt, und dass wir außerdem feststellen, dass die lyrische Komplexität bis Ende 2020 zugenommen hat.
Nun übergebe ich das Wort an Delaney, der uns durch die zweite Hälfte des Projekts führen wird, in der wir Modelle bauen.
Vielen Dank, Srichandrika, für die Demo zur Liedtextanalyse. Jetzt sehen wir uns an, wie wir die Textanalyse in prädiktiven Modellen einsetzen können. Für diese Analyse haben wir uns für das Bootstrap-Forest-Modell entschieden, da es komplexe Daten verarbeiten kann. Musikalische Merkmale wie Stimmung, Textkomplexität, Genre und Erscheinungsjahr können auf nichtlineare Weise interagieren, die einfache Modelle wie die lineare Regression nicht erfassen können. JMP erstellt außerdem eine Rangfolge der Variablenwichtigkeit, die uns zeigt, welche Faktoren die Popularität oder die Langlebigkeit von Retargeting-Kampagnen am stärksten beeinflussen. Bootstrap-Forest-Modelle verhindern zudem Overfitting, indem sie Ergebnisse verschiedener Entscheidungsbäume kombinieren. Ich lege gleich los und beginne mit einer Live-Demo.
Neben unseren wöchentlichen Billboard-Chartdaten und Musik-Audio-Features verfügen wir über Variablen zur Textstimmung und zur Analyse der Songtexte. Der Datensatz, mit dem ich arbeite, umfasst die wöchentlichen Billboard-Chartdaten. Es handelt sich um eine beträchtliche Anzahl von Einträgen, etwa 130.000.
Zuerst beginnen wir mit einer explorativen Datenanalyse, um Trends und Muster in den Daten zu untersuchen. Wir beginnen mit der Betrachtung der Verteilungen unserer Variablen, um zu sehen, wo die Daten liegen. Dazu wählen wir einfach „Analysieren“ und dann „Verteilung“. Ich habe bereits alle meine Variablen eingefügt, aber ich klicke einfach auf „OK“ und schaue mir die gestapelte Ansicht an – die ist viel übersichtlicher. Hier sehen wir die Verteilung unserer Variablen. Hier sind unsere Genres. Wir haben ungefähr 25 Genres und können sie sogar nach Häufigkeit sortieren. Pop ist mit Abstand das beliebteste Genre, gefolgt von Country und Rap. Als Nächstes erstellen wir eine Zeitreihenvisualisierung mit dem Graph Builder. Ich möchte sehen, wie sich die Anzahl der Genres im Laufe der Zeit verändert. Das können wir im Graph Builder erstellen, aber ich habe bereits alle meine Daten eingefügt. Wir verwenden die Wochen-ID für die X-Achse, färben sie nach Genre ein und fügen dann eine Genre-Überlagerung hinzu, sodass wir alle Genres gleichzeitig sehen können. Dann klicken wir auf OK. Hier sind viele Genres vertreten, aber das zeigt die Entwicklung über die Jahre. Das hier ist Pop. Das hier ist Wrap. Man sieht hier, dass Pop und Wrap seit 2015 um den Spitzenplatz in den Charts kämpfen.
In unserer explorativen Datenanalyse (EDA) erstelle ich gerne eine Korrelationsmatrix mit allen numerischen Variablen, um zu prüfen, ob es Prädiktorvariablen gibt, die stark miteinander korreliert sind. Dies lässt sich mithilfe des multivariaten Tools und der entsprechenden Methoden realisieren – ich starte die Analyse kurz neu – und wir geben alle numerischen Variablen ein und klicken auf „Start“. Dadurch werden stark korrelierte Beziehungen hervorgehoben. Hier sehen wir beispielsweise eine starke Korrelation zwischen Energie und Lautstärke. Um Multikollinearität zu vermeiden, sollten wir nur eine dieser beiden Variablen in unser Modell aufnehmen. Ein statistischer Test, den ich gerne zur Untersuchung der Beziehungen zwischen verschiedenen Variablen verwende, ist die einfaktorielle Varianzanalyse (ANOVA).
Wir haben bereits gesehen, dass der Datensatz etwa 25 Hauptgenres enthält. Ich möchte nun prüfen, ob es signifikante Unterschiede zwischen den Mittelwerten der verschiedenen Genres gibt. Zunächst habe ich untersucht, wie sich die Langlebigkeit bzw. die Gesamtzahl der Wochen in den Charts zwischen den Genres unterscheidet. Dazu öffnen wir eine Funktion „Y x X anpassen“, geben „Genre“ für X ein und wählen dann „Gesamtwochen in den Charts“ aus. Klicken Sie anschließend auf „OK“, führen Sie eine ANOVA für die Mittelwerte durch und vergleichen Sie die Mittelwerte sowie jedes einzelne Paar. Der p-Wert zeigt hier an, dass der Unterschied signifikant ist.
Zurück zum Bericht „Connecting Letters“: Dieser zeigt uns die Unterschiede zwischen den verschiedenen Gruppen bzw. Genres. Hier sehen wir, dass [Genrename] die höchste durchschnittliche Chart-Langlebigkeit aufweist und sich statistisch von allen anderen Genres unterscheidet. Dasselbe gilt für die folgenden Genres: Indie-Pop, Pop und Post-Grunge. Sie teilen keine Buchstaben mit anderen Genres und sind daher statistisch signifikant höher. Wir können das gleiche Verfahren anwenden, um die Spitzenposition nach Genre zu betrachten. Wir könnten es also genauso erstellen, nur dass wir die Variable für die Spitzenposition als Y verwenden. Bei den verbindenden Buchstaben könnten wir [Genrename] betrachten oder nach dem kleineren Mittelwert suchen, da dies darauf hindeutet, dass diese Genres eine höhere Chart-Platzierung erreichen. Interessanterweise hat K-Pop den kleinsten Mittelwert und zeigt damit eine höhere Wahrscheinlichkeit für eine höhere Chartplatzierung. Dies ist auch deshalb interessant, weil K-Pop im ANOVA-Test zur Langlebigkeit nicht sehr weit oben in der Liste liegt. Dies könnte darauf hindeuten, dass K-Pop zwar ein hohes Potenzial hat, viral zu gehen und anfänglich einen Höhepunkt zu erreichen, aber keine sehr starke Langzeitwirkung besitzt und schnell in den Charts abrutscht.
Wir könnten, wie Srichandrika es mit den Text- und Stimmungsvariablen getan hat, auch eine ANOVA durchführen, um die Unterschiede zwischen Genres und anderen Gruppen zu untersuchen. Nach Abschluss unserer explorativen Datenanalyse (EDA) können wir mit der prädiktiven Modellierung fortfahren. Zunächst müssen wir jedoch für jede Zielvariable eine Validierungsspalte erstellen. JMP Pro ermöglicht dies problemlos. Gehen Sie dazu in die prädiktive Modellierung und anschließend zu den Validierungsspalten. Wir erstellen für jede Zielvariable eine eigene Spalte. Wir entwickeln zwei Modelle: eines für die Langlebigkeit und ein Klassifizierungsmodell, das vorhersagt, ob ein Song in die Top 10 gelangen könnte. Wir stratifizieren nach der Gesamtzahl der Wochen in den Charts, einer unserer Zielvariablen. Die Aufteilung erfolgt im Verhältnis 60:20:20. Da wir mehrere Spalten erstellen, benennen wir diese, um sie unterscheiden zu können. Wir verwenden dafür einen Zufallswert von 1 bis 5.
Ich habe bereits eine Liste für die Top 10 erstellt, daher gehe ich das nicht noch einmal durch. Jetzt, da wir unsere Validierungsspalten haben, können wir mit dem Erstellen unserer Vorhersagemodelle beginnen. JMP bietet eine Bootstrap-Forest-Option, die Sie problemlos verwenden können. Ich starte meine Analyse einfach neu. Ich trage unsere Zielvariable in die Y-Achse ein, gefolgt von allen Prädiktorvariablen und der zuvor erstellten Validierungsspalte. Um die Laufzeit des Programms zu verkürzen, lasse ich einige kategoriale Variablen mit vielen verschiedenen Ausprägungen aus dem Modell aus. Beispielsweise möchte ich untersuchen, wie ein Künstler die Chartplatzierung beeinflusst, aber der Datensatz enthält einfach zu viele Einträge für ein effizientes Modell. Bei der Auswahl der Eingabevariablen berücksichtigen wir auch die Variablen, die wir aufgrund von Multikollinearität nicht einbeziehen möchten. Hier habe ich Energie anstelle von Lautstärke verwendet, um dies zu vermeiden. Stellen Sie sicher, dass unsere Validierung abgeschlossen ist. Wir klicken auf OK.
Es öffnet sich ein Fenster mit den Bootstrap-Wald-Spezifikationen. Hier werden Sie gefragt, wie viele Bäume das Modell enthält und wie viele Prädiktorvariablen bei jeder Aufteilung zufällig berücksichtigt werden. Sie können festlegen, wie viele Bäume erstellt werden, wie tief sie gehen können, wie viele Daten jeder Baum sieht und wie zufällig die Aufteilungen erfolgen. Das Experimentieren mit diesen Einstellungen kann das Verhältnis zwischen Genauigkeit, Laufzeit und Überanpassung beeinflussen. Zunächst verwenden wir jedoch die vorgeschlagenen Werte und klicken auf „OK“, um die Ergebnisse zu sehen. Ich klicke auf „OK“. Dieser Schritt dauert normalerweise ein paar Sekunden, da JMP im Hintergrund mehrere Entscheidungsbäume erstellt. Wir warten kurz. Da es sich um einen recht großen Datensatz handelt, trägt dies ebenfalls zur Laufzeit bei. Hier sehen wir das Ergebnis. Unser R² beträgt 0,89, was bereits recht gut ist. Falls wir die Ergebnisse verbessern möchten, können wir das Modell mit anderen Spezifikationen erneut ausführen und die weiteren Verbesserungen überprüfen. Hier können wir auf das rote Dreieck klicken, die Spaltenbeiträge anzeigen lassen und sehen dann, wie unsere Variablen die Chart-Verweildauer beeinflussen. Die Spitzenposition ist hier die einflussreichste Variable, was Sinn ergibt, da Songs mit einer höheren Spitzenposition in der Regel länger in den Charts bleiben.
Jetzt gehen wir genauso für unser zweites Modell vor. Wo befindet es sich? Wir verwenden unsere binäre Variable als Y und fügen die Validierung für diese Zielvariable hinzu. Die Peak-Position habe ich hier weggelassen, da ich diese Variable bereits für die Top-10-Variable verwendet habe. Wir lassen alles unverändert und schauen, was passiert. Die Ausgabe des Klassifizierungsmodells liefert eine Korrelationsmatrix für die verschiedenen Validierungsdaten bzw. Spalten. Wir können uns hier auch die ROC-Kurve und die Lift-Kurve für dieses Modell ansehen, um die Modellleistung und die Unterscheidungsfähigkeit zwischen den Klassen zu beurteilen. 0,98 ist in dieser Hinsicht ein sehr gutes Ergebnis. Damit ist unser Überblick über den JMP-Workflow in unserem Projekt abgeschlossen. In der Praxis kann diese Modellierung Künstlern, Produzenten oder Plattenfirmen helfen zu verstehen, welche Merkmale von Songs den Erfolg am stärksten beeinflussen und möglicherweise Trends in der Branche vorherzusagen. Unser Projekt ist nur ein Beispiel dafür, wie JMP auf Text- und Stimmungsdaten in der prädiktiven Modellierung und in kreativen Bereichen angewendet werden kann.
Wir möchten Dr. Chakraborty und Dr. McGaugh ganz herzlich für ihre Mentorschaft und Unterstützung während unseres gesamten Bandprogramms danken. Ihre Ermutigung und ihre wertvollen Einblicke haben unsere Erfahrungen geprägt und uns sowohl fachlich als auch beruflich weitergebracht. Wir sind ihnen für ihre Zeit und Unterstützung sehr dankbar und wissen die Möglichkeit, unter ihrer Anleitung zu lernen, sehr zu schätzen. Vielen Dank für Ihre Aufmerksamkeit. Damit ist unsere Präsentation beendet.