Anmerkung von Sätzen mit Snorkel Markierungsfunktionen (LF) am Beispiel: LF_1: Compound Polaritätsscore vom Python-VADER-Paket; LF_2: Polaritätsscore der TextBlob Bibliothek; LF_3: Vorhergesagte Sentiment Klasse des ProsusAI/finBERT Modelle; LF_4: Phrase Matches mit positiven Phrasen aus einem Custom Financial Sentiment Phrasen Lexikon.
ORG-Entitätserkennung: Im nächsten Schritt wurden nun die Organisationen identifiziert, die in den Nachrichtentexten vorkommen und auf die das jeweilige Sentiment bezogen war – daher wurde eine NER-Komponente in die NLP-Pipeline integriert.
Nach einigen Tests wählen Sie das Python-Paket aus spacig – für die Finanzdomäne wurde vor allem das Transformer-Modell angezeigt spacy/en_core_web_trf eine überzeugende out-of-the-box-Leistung hinsichtlich der Extraktionsqualität von Organisationsentitäten.
Die übergeordnete NER-Qualität wurde mit dem NER-Evaluation-Repository von David Batista geprüft; die Qualität auf NER-Tag-Ebene mit der Python-Bibliothek sklearn_crfsuite. Auf NER-Tag-Ebene wurden so sehr gute F1-Scores gemessen – zwischen 0,84 und 0,99 je nach Tag.
Polaritäts-Phrase-Matching: Nun galt es, die satzweise erkannten Stimmungen einzelner Einrichtungen zuzuordnen. Hierbei zahlt sich der frühe Annotationsansatz mit Schnorchel (siehe Schritt 7) über Labeling-Funktionen aus: Dort war ein Lexikon mit 11.000 Finanznews-Sentimentphrasen gesammelt – somit war es möglich, für Sätze, in denen polaritätsgeladene Phrasen vorkommen, die linguistische Distanz der Organisationsnamen zu diesen Tokens zu bestimmen. Für Sätze mit mehreren Organisationsnamen wurden nur die Entitäten als „sentimentgeladen“ klassifiziert, sterben die kleinsten Distanzen zu den Polaritätsphrasen aufwiesen.
Finden Sie Sentiment-Entitäten: Für Sätze, die vom satzbezogenen Sentiment-Klassifikationsmodell als positiv oder negativ eingeordnet wurden, und die nur den Namen einer einzigen Organisation enthalten, wurde vereinfacht angenommen, dass die Stimmung auf diese Einzelentität bezogen war. Für polaritätsgeladene Sätze, in denen mehr als eine Entität erwähnt wurde, musste nun vorhergesagt werden, auf welche Organisation die Stimmung eines Satzes bezogen war.
Nach einigen Experimenten mit verschiedenen Ansätzen zahlt sich auch hier am Ende das umfangreiche Lexikon von Polaritätsphrasen aus, das während der Annotation von Sentiment-Sätzen als Labeling-Funktion genutzt und erweitert wurde. Die Definition einer Sentiment-Entität ergab sich dabei als die Entität, die die geringste syntaktische Distanz in einem Satz zu Polaritätsphrasen hatte.
Aggregation im Laufe der Zeit: Nach der Aggregation der Sentiment-Scores pro Entität und pro Artikel erfolgte nun eine weitere Aggregation über die Zeit. Dazu wurden die Partituren von mehreren Artikeln für ein vordefiniertes Zeitfenster, zum Beispiel drei Tage, summiert. Um die Validität der Scores zu prüfen, wurden sterben Artikel über den Zeitraum der Finanzkrise 2008 analysiert.
Für die aufgeführten Unternehmen wurde im September 2008 ein minimaler aggregierter Score beobachtet. Viele Nachrichten waren Artikel, die direkt oder indirekt im Zusammenhang mit der Lehmankrise standen. Auf diesen Tiefpunkt des aggregierten Nachrichtensentiments folgte im Lauf des Jahres 2010 eine Umkehr des aggregierten Sentiments hin zu neutralen oder sogar positiven Werten.
Die Minima der aggregierten Sentiment Kurve ließen sich eindeutig auf unternehmensbezogene Ereignisse zurückführen, die auch über externe Nachrichtenquellen validiert wurden. Exemplarisch wurden für die Minima der Zeitreihen folgende Artikel veröffentlicht:
- 20.11.2008: „JP Morgan wird 3000 Jobs streichen“;
- 15.12.2008: „Europäische Banken massiv von Milliarden-Betrug betroffen“ (über die HSBC);
- 19.02.2008 „Credit Suisse tiefer als erwartet in Finanzkrise verstrickt“.
Diese externe Validierung wurde für sämtliche Minima durchgeführt und zeigt klar, dass die Stimmungskurven das Finanzmarkt-Sentiment widerspiegeln. Wenn man ausgewählte Entitäten jeweils über einen bestimmten Zeitraum (anhand der Frequenz der Nennungen) in einer Heatmap visualisiert, lassen Sie sich auf einen Blick das Sentiment von mehreren Unternehmen parallel verfolgen.
Um die Ende-Zu-Ende-Vorhersagequalität abschätzen zu können, wurde Eine Stichprobe von über 500 Nachrichtenartikeln gezogen und jede Entität sowie dessen Sentiment annotiert. Für diese Entitäten ergibt sich eine sehr gute Ende-Zu-Ende-Genauigkeit (Genauigkeit) von über 86 Prozent.
Quelle: www.geldinstitute.de