Data Mining, Teil 3 – Welche Themen bewegt die Welt? (Feb 2017 – Feb 2018)

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 (StammformreduktionNormalformenreduktion) 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.

Schreibe einen Kommentar