{"id":180990,"date":"2023-07-20T16:41:10","date_gmt":"2023-07-20T15:41:10","guid":{"rendered":"https:\/\/liora.io\/de\/?p=180990"},"modified":"2026-02-06T06:32:22","modified_gmt":"2026-02-06T05:32:22","slug":"nlp-twitter-sentimentanalyse","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/nlp-twitter-sentimentanalyse","title":{"rendered":"NLP Twitter &#8211; Sentimentanalyse"},"content":{"rendered":"<h3>NLP Twitter: Heute wird Twitter von Hunderten Millionen Menschen auf der ganzen Welt genutzt. Genauer gesagt, bel\u00e4uft sich die aktuelle Sch\u00e4tzung auf etwa 330 Millionen monatlich aktive Nutzer und 145 Millionen t\u00e4glich aktive Twitterer. Eine weitere interessante Zahl: 63 % der weltweiten Twitter-Nutzer sind zwischen 35 und 65 Jahre alt.<br \/>\nDas Ziel dieses Artikels ist es, eine explorative und visuelle Analyse der in unserem Datensatz vorhandenen Tweets durchzuf\u00fchren. In einem zweiten Schritt soll mithilfe verschiedener Modelle in Python die Stimmung in den Tweets als positiv, neutral oder negativ klassifiziert werden. Mit anderen Worten: Sentiment Analysis und NLP zusammenzubringen.<\/h3>\n<h3>Inhaltsverzeichnis<\/h3>\n<ol>\n<li>Einf\u00fchrung in NLP<\/li>\n<li>Word embedding &#8211; Word2vec<\/li>\n<li>NLP &#8211; Word translation<\/li>\n<li>NLP Twitter &#8211; Analyse von Gef\u00fchlen\n<ol>\n<li><a href=\"\/#visuelleanalyse\">Visuelle Datenanalyse<\/a><\/li>\n<li><a href=\"\/#metadonnes\">Erstellung von Metadaten und Klassifizierung<\/a><\/li>\n<li><a href=\"\/#afinn\">Alternative L\u00f6sungen: AFINN<\/a><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3>NLP Twitter &#8211; ERSTE VISUELLE ANALYSE DER DATEN<\/h3>\n<p>Zun\u00e4chst ein erster Blick auf den Datensatz, der uns zur Verf\u00fcgung steht: Lade den<a href=\"https:\/\/liora.io\/de\/nlp-natural-language-processing-eine-einfuhrung\"> Datensatz<\/a> herunter, den du mit dem Befehl df.head() erhalten hast.<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"512\" height=\"102\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/unnamed-3-1.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/unnamed-3-1.png 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/unnamed-3-1-300x60.png 300w\" sizes=\"(max-width: 512px) 100vw, 512px\"><figcaption><\/figcaption><\/figure>\n<p>Wie wir sehen k\u00f6nnen, enth\u00e4lt dieser Datensatz, der insgesamt 1,6 Millionen Tweets enth\u00e4lt, eine Spalte mit dem Titel Label, die eine 1 f\u00fcr eine positive Stimmung und eine -1 f\u00fcr eine negative Stimmung vergibt.<\/p>\n<p>In einem ersten Schritt werden wir versuchen, den Monat zu bestimmen, in dem die Twittersph\u00e4re am aktivsten ist.<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"512\" height=\"222\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/unnamed-1-1.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/unnamed-1-1.png 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/unnamed-1-1-300x130.png 300w\" sizes=\"(max-width: 512px) 100vw, 512px\"><figcaption><\/figcaption><\/figure>\n<p>Hier l\u00e4sst sich ein erster Trend erkennen:<\/p>\n<p>Die Monate Mai (5) und Juni (6) scheinen die Monate zu sein, in denen am meisten getwittert wird. <strong>Dies k\u00f6nnte verschiedene Gr\u00fcnde<\/strong> haben, z. B. die Tatsache, dass Twitter vor allem f\u00fcr junge Leute gedacht ist und dass die Monate Mai und Juni das Ende ihres Schul- oder Studienjahres darstellen, sodass sie sich auf Twitter mehr ausdr\u00fccken k\u00f6nnen.<br \/>\nEs f\u00e4llt auch auf, dass im Juni die Stimmung in den Tweets eher negativ ist (mit -1 gekennzeichnet), was die vorgefasste Meinung best\u00e4tigt, dass Twitter manchmal ein Ort ist, an dem sich die Gewalt entl\u00e4dt.<\/p>\n<p>Wir k\u00f6nnten uns nun fragen, an welchem Wochentag die meisten Tweets geschrieben werden:<\/p>\n<p><img decoding=\"async\" width=\"512\" height=\"222\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/unnamed-1-1.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/unnamed-1-1.png 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/unnamed-1-1-300x130.png 300w\" sizes=\"(max-width: 512px) 100vw, 512px\"><\/p>\n<p>Hier stellen wir wenig \u00fcberraschend fest, dass Twitterer am Wochenende viel h\u00e4ufiger twittern als unter der Woche.<\/p>\n<p>Wir k\u00f6nnen uns auch ansehen, zu welcher Tageszeit die meisten Tweets abgesetzt werden und stellen ebenfalls wenig \u00fcberraschend fest, dass die Zahl der Tweets vor allem vor und nach Beginn und Ende des Arbeits-\/Schultages explodiert:<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"914\" height=\"311\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/data.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/data.png 914w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/data-300x102.png 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/data-768x261.png 768w\" sizes=\"(max-width: 914px) 100vw, 914px\"><figcaption><\/figcaption><\/figure>\n<p>Hier ist eine Wortwolke, in der du sehen kannst, welche <a href=\"https:\/\/liora.io\/de\/word2vec\">W\u00f6rter in den Tweets der Nutzer am h\u00e4ufigsten<\/a> verwendet werden (je gr\u00f6\u00dfer die Schriftgr\u00f6\u00dfe eines Wortes ist, desto h\u00e4ufiger kommt es vor).<\/p>\n<p>Von nun an beginnen wir mit unserer Arbeit, die Gef\u00fchle von Tweets mithilfe einer logistischen Regression zu klassifizieren.<\/p>\n<p>Dazu teilen wir unseren Datensatz wie \u00fcblich in eine Trainingsstichprobe (80 %), in der wir die Parameter des Modells lernen, und eine Teststichprobe (20 %), in der wir sie testen.<\/p>\n<p>Da die erkl\u00e4renden Variablen jedoch Textdaten (die Tweets) sind, werden wir vorher neue numerische erkl\u00e4rende Variablen in Verbindung mit den Tweets (Metadaten) erstellen, um dann die Labels vorhersagen zu k\u00f6nnen.<\/p>\n<h3>ERSTELLUNG VON METADATEN UND KLASSIFIZIERUNG<\/h3>\n<p>Um die Stimmung eines Tweets zu analysieren, k\u00f6nnen wir dann die Dinge herausfiltern, die uns wichtig erscheinen, wie z. B. :<\/p>\n<ul>\n<li>Die Anzahl der &#8222;http(s)&#8220;- oder &#8222;www.&#8220;-Links.<\/li>\n<li>Die Anzahl der E-Mail-Adressen. (Die Anzahl der E-Mail-Adressen, die im Tweet genannt werden, k\u00f6nnte f\u00fcr die Seriosit\u00e4t des Tweets von Bedeutung sein).<\/li>\n<li>Die Anzahl der Hashtags.<\/li>\n<li>Die Anzahl der Zitate von Nutzern.<\/li>\n<li>Die Anzahl der Gro\u00dfbuchstaben<\/li>\n<li>Die Anzahl der Ausrufezeichen.<\/li>\n<li>Die Anzahl der Ausrufezeichen-Strings.<\/li>\n<li>Die Anzahl der Fragezeichen.<\/li>\n<li>Die Anzahl der Fragezeichen-Strings.<\/li>\n<li>Die Anzahl der Punkte usw. (&#8230;).<\/li>\n<\/ul>\n<p>Hier ist eine neue Vorschau unseres Datensatzes nach der Erstellung der Metadaten :<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"512\" height=\"155\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/methadonnees.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/methadonnees.png 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/methadonnees-300x91.png 300w\" sizes=\"(max-width: 512px) 100vw, 512px\"><figcaption><\/figcaption><\/figure>\n<p>Durch Gruppieren und Summieren jeder Spalte in diesem neuen Datensatz nach dem Label&#8230;<\/p>\n<p>&#8230; Stellen wir fest, dass ein<strong> Tweet, der aus Links oder E-Mail-Adressen<\/strong> besteht, tendenziell viel positiver ist.<\/p>\n<p>Da die erkl\u00e4renden Variablen nun bereit sind, verwendet zu werden, m\u00fcssen wir nur noch unser <a href=\"https:\/\/liora.io\/de\/logistische-regression-was-ist-das-denn\">logistisches Regressionsmodell<\/a> laufen lassen, um die positiven und negativen Gef\u00fchle der Tweets zu klassifizieren.<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"512\" height=\"85\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/jeu-de-fonction.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/jeu-de-fonction.png 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/jeu-de-fonction-300x50.png 300w\" sizes=\"(max-width: 512px) 100vw, 512px\"><figcaption><\/figcaption><\/figure>\n<p>Hier ist der Vorhersagewert, den das Modell erzielt hat:<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"128\" height=\"26\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/unnamed-2-1.png\" alt=\"\" loading=\"lazy\"><figcaption><\/figcaption><\/figure>\n<p>Das Ergebnis ist ein <strong>Vorhersagewert<\/strong> von ca. 60 %, was nicht besonders gut ist. Um diesen Wert zu verbessern, k\u00f6nnte man eine Bag-of-Words-Darstellung jedes Wortes in den Tweets verwenden, die den Text einfach als Vektor darstellt, der von einem Machine-Learning-Algorithmus verarbeitet werden kann.<\/p>\n<h3>ALTERNATIVE L\u00d6SUNG: AFINN<\/h3>\n<p>Eine andere M\u00f6glichkeit, die Stimmung eines Tweets zu klassifizieren, ist die Verwendung von in Python verf\u00fcgbaren Bibliotheken wie Afinn.<\/p>\n<p>Das <strong>AFINN-Lexikon<\/strong> ist eine Liste englischer Begriffe, deren aktuelle Version mehr als <strong>3.300 W\u00f6rter enth\u00e4lt.<\/strong> Jedes Wort ist mit einem Sentiment-Score verkn\u00fcpft, den wir mit der Methode score der Klasse Afinn erhalten k\u00f6nnen.<\/p>\n<p>Der Afinn-Score ist eine kategoriale Variable, f\u00fcr die folgende Interpretationsregel gilt:<\/p>\n<ul>\n<li>Negatives Gef\u00fchl: Afinn-Score &lt; 0<\/li>\n<li>Neutrales Gef\u00fchl: Afinn-Score == 0<\/li>\n<li>Positive Stimmung: Afinn-Score &gt; 0<\/li>\n<\/ul>\n<p>Wenden wir nun die <strong>Afinn-Funktion<\/strong> auf unseren Datensatz an:<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"454\" height=\"199\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/afinn.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/afinn.png 454w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/afinn-300x131.png 300w\" sizes=\"(max-width: 454px) 100vw, 454px\"><figcaption><\/figcaption><\/figure>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"422\" height=\"111\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/afinn-2.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/afinn-2.png 422w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/afinn-2-300x79.png 300w\" sizes=\"(max-width: 422px) 100vw, 422px\"><figcaption><\/figcaption><\/figure>\n<p>Wie du sehen kannst, ist Afinn besonders leistungsstark und hat die beiden oben genannten Tweets kategorisch als negativ eingestuft.<\/p>\n<h3>Fazit:<\/h3>\n<p>Wie du sehen kannst, ist Afinn besonders effizient und hat die beiden oben genannten Tweets kategorisch als negativ eingestuft.<\/p>\n<p>Diese <strong>NLP Twitter-Stimmungsanalyse<\/strong> k\u00f6nnte mehrere Anwendungsbereiche haben, von denen wir hier einige spezifische Beispiele nennen:<\/p>\n<ul>\n<li><strong>\u00dcberwachung der sozialen Medien:<\/strong> Das Aufsp\u00fcren von Tweets mit negativen Gef\u00fchlen k\u00f6nnte dazu beitragen, die Bel\u00e4stigungen und den Gewaltausbruch, die auf Twitter stattfinden, zu reduzieren.<\/li>\n<li><strong>Politische Kampagnen:<\/strong> Die Analyse von Twitter-Stimmungen k\u00f6nnte es erm\u00f6glichen, die Popularit\u00e4t eines politischen Kandidaten zu analysieren und so z. B. den Gewinner einer Pr\u00e4sidentschaftswahl vorherzusagen.<\/li>\n<li><strong>Kundenbindung:<\/strong> Mithilfe der Twitter-Stimmungsanalyse kann man verfolgen, was \u00fcber ein Produkt oder eine Dienstleistung eines Unternehmens gesagt wird, und kann so helfen, ver\u00e4rgerte Kunden zu erkennen.<\/li>\n<\/ul>\n<p>Wenn dir dieser Artikel gefallen hat, melde dich f\u00fcr unseren Newsletter an, um unsere Artikel als Erste zu erhalten!<\/p>\n<p><a href=\"https:\/\/liora.io\/de\/blog-de#formnewsletter\"><br \/>\nNewsletter-Anmeldung<br \/>\n<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>NLP Twitter: Heute wird Twitter von Hunderten Millionen Menschen auf der ganzen Welt genutzt. Genauer gesagt, bel\u00e4uft sich die aktuelle Sch\u00e4tzung auf etwa 330 Millionen monatlich aktive Nutzer und 145 Millionen t\u00e4glich aktive Twitterer. Eine weitere interessante Zahl: 63 % der weltweiten Twitter-Nutzer sind zwischen 35 und 65 Jahre alt. Das Ziel dieses Artikels ist [&hellip;]<\/p>\n","protected":false},"author":76,"featured_media":180991,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2472],"class_list":["post-180990","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ki"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/180990","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/76"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=180990"}],"version-history":[{"count":1,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/180990\/revisions"}],"predecessor-version":[{"id":217360,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/180990\/revisions\/217360"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/180991"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=180990"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=180990"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}