Die bisher über 200.000 gesammelten Nachrichten umfassen ein großes Spektrum an Themen (Siehe Data Mining, Teil 1). Aber was waren von Februar 2017 bis Februar 2018 die Hauptthemen? In dieser Analyse beschäftigen wir uns für den Anfang mit den Nachrichten von CNN (Sprache Englisch) und analysieren welche 25 Begriffe am häufigsten in den Nachrichten genannt wurden. Hierzu generieren wir uns eine Matrix, die wir anschließend sortieren:
# die 25 häufigsten Wörter inklusive Anzahl ausgeben dtm <- TermDocumentMatrix(docs) m <- as.matrix(dtm) v <- sort(rowSums(m),decreasing=TRUE) d <- data.frame(word = names(v),freq=v) head(d, 25)
Wir bekommen folgende Liste:
word freq the the 10311 trump trump 5879 for for 5058 and and 3426 with with 2446 trumps trumps 1814 new new 1769 fast fast 1717 facts facts 1698 after after 1669 from from 1573 how how 1542 says says 1428 what what 1379 are are 1250 house house 1219 why why 1166 about about 1137 over over 1114 will will 1091 north north 1072 you you 1067 this this 1039 not not 964 russia russia 898
Die Liste enthält viele Stoppwörter. Stoppwörter nennt man in der Informationsrückgewinnung Wörter, die bei einer Indexierung nicht beachtet werden, da sie sehr häufig auftreten und in dem zu analysierenden Kontext keine Relevanz für die Auswertung besitzen (z.B. „the“ auf Platz 1). Diese können mit der TM-Library eliminiert werden. Dies geschieht wie folgt.
# Remove english common stopwords docs <- tm_map(docs, removeWords, stopwords("english"))
Nach dem Entfernen erhalten wir folgende Liste.
word freq trump trump 5879 trumps trumps 1814 new new 1770 fast fast 1717 facts facts 1698 says says 1428 house house 1219 will will 1091 north north 1072 russia russia 898 korea korea 897 white white 893 health health 869 bill bill 866 first first 800 care care 731 president president 678 can can 670 gop gop 653 donald donald 634 tax tax 624 world world 611 police police 603 may may 569 things things 557
Einige Wörter liegen nicht in ihrer Grundform vor (z.B. trump und trumps) und tauchen somit auch doppelt oder dreifach in der Liste auf. Mit der „stemming“ Methode können die Wörter in ihre Grundform gebracht werden. Als Stemming (Stammformreduktion, Normalformenreduktion) bezeichnet man im ein Verfahren, mit dem verschiedene morphologische Varianten eines Wortes auf ihren gemeinsamen Wortstamm zurückgeführt werden.
Zusätzlich wurden einige unwichtige Verben eliminiert.
# Steeming docs <- tm_map(docs, stemDocument, language = "english")
Die Top 25 Themen innerhalb der betrachteten 12 Monate lauten wie folgt:
word freq trump trump 7693 fact fact 1714 house house 1268 will will 1114 north north 1074 korea korea 1047 world world 1005 day day 952 russia russia 940 bill bill 903 white white 900 health health 869 senat senat 846 year year 820 president president 817 first first 802 kill kill 727 gop gop 702 attack attack 683 tax tax 679 fire fire 651 want want 635 donald donald 634 plan plan 629
Bevor wir uns dem Thema Wort-Beziehungen widmen bzw. deren Darstellung als Graph müssen wir einige Namen in den Nachrichten zusammenführen. Beispielsweise taucht „white“ und „house“ auf, gemeint ist aber das „Weiße Haus“ in Washington D.C. . Hierzu aber mehr im kommenden Artikel.