knitr::opts_chunk$set(widgetframe_self_contained = FALSE)
knitr::opts_chunk$set(widgetframe_isolate_widgets = TRUE)
knitr::opts_chunk$set(widgetframe_widgets_dir = 'widgets' ) 
required_packages <- c("vembedr", "htmltools", "devtools", "devtools", "widgetframe")
for (pkg in required_packages)
  if (!pkg %in% rownames(installed.packages())) install.packages(pkg)
if (!"fulltext" %in% rownames(installed.packages())) {
devtools::install_github("PolMine/fulltext")
}

Konkordanzen und KWIC: Grundlagen {.smaller}

Erforderliche Installationen und Initialisierung {.smaller}

Der Foliensatz nutzt das polmineR-Paket und das GermaParl-Korpus. Die Installation wird in einem eigenen Foliensatz ausführlicher erläutert.

Bitte beachten Sie, dass die Funktionalität für den folgenden Workflow erst mit polmineR-Version r as.package_version("0.7.9.9008") zur Verfügung steht. Installieren Sie bei Bedarf die aktuelle Entwicklungsversion des polmineR-Pakets.

if (packageVersion("polmineR") < as.package_version("0.7.9.9008"))
  devtools::install_github("PolMine/polmineR", ref = "dev")

Wir laden nun polmineR, wodurch das GermaParl-Korpus anschließend verfügbar ist.

library(polmineR)

kwic()-Methode: Erste Schritte {.smaller}

options("polmineR.pagelength" = 4L)
kwic("GERMAPARL", query = "Migrationshintergrund")



vembedr::embed_youtube("F4UkFI0aolI", height = 400, width = 600)

Partitionen und Konkordanzen {.smaller}

options("polmineR.pagelength" = 3L)

Wie nahezu alle Basis-Methoden von polmineR, kann auch die kwic()-Methode auf Korpora als Ganzes angewendet werden, sowie auf Partitionen. Wie Sie Partitionen erstellen können, entnehmen Sie dem entsprechenden Foliensatz. Hier führen wir die obige Suche (nach "Migrationshintergrund") für die Bundestagsdebatten des Jahres 2005 durch.

bt2005 <- partition("GERMAPARL", year = 2005)
kwic(bt2005, query = "Migrationshintergrund")

Nutzung der CQP-Syntax {.smaller}

options("polmineR.pagelength" = 5L)

Bei der Formulierung von Suchanfragen können Sie die CQP-Syntax verwenden. Setzen Sie dafür das Argument cqp auf TRUE. (Wenn Sie das nicht explizit angeben, prüft polmineR selbstständig, ob die CQP-Syntax verwendet wird.)

kwic(bt2005, query = '[pos = "NN"] "mit" "Migrationshintergrund"', cqp = TRUE)

KWIC: Anpassung des Wortkontexts {.smaller}

options("polmineR.pagelength" = 4L)

Es kann erforderlich sein, ein größeres Wortumfeld zu analysieren, als nur (wie voreingestellt) fünf Worte links und rechts. Nutzen Sie für die Bestimmung des Wortumfelds die Argumente left und right.

kwic("GERMAPARL", query = "Ausländer", left = 15, right = 15)

KWIC: Anpassung des Wortkontexts (Teil 2) {.smaller}

Wenn die Argumente left und right nicht explizit definiert werden, werden in den globalen Optionen definierte Wortkontexte herangezogen. Welche Werte hier gesetzt sind, können Sie folgendermaßen ermitteln.

getOption("polmineR.left")
getOption("polmineR.right")

Und folgendermaßen können Sie die Werte für die Größe des Wortkontexts dauerhaft für eine Sitzung definieren.

options(polmineR.left = 10)
options(polmineR.right = 10)
options("polmineR.pagelength" = 5L)
options("polmineR.left" = 5L)
options("polmineR.right" = 5L)

KWIC: Anzeige von Metadaten {.smaller}

Merkmale einer Sprecherin wie Fraktions- bzw. Parteizugehörigkeit (Parteiendifferenzthese!), Geschlecht werden oft einen Unterschied machen: Zeigen Sie die Metadaten zu einer Konkordanz mit dem Argument s_attributes an.

kwic(bt2005, query = "Ausländer", s_attributes = "party", verbose = FALSE)

KWIC: Anzeige von Metadaten (Fortsetzung) {.smaller}

options("polmineR.pagelength" = 3L)

Mehrere Attribute werden kombiniert mit c(), das "c" steht hier für "combine".

kwic(bt2005, query = "Ausländer", s_attributes = c("party", "date"), verbose = FALSE)

Wenn Sie nicht sicher sind, welche Metadaten (s-attributes) zur Verfügung stehen, nutzen Sie die s_attributes()-Methode, um diese zu ermitteln:

s_attributes(bt2005)

Markieren von Worten im Wortumfeld {.smaller}

Mit dem Argument positivelist kann die Liste der Ergebnisse auf jene Konkordanzen eingeschränkt werden, bei denen ein bestimmtes Wort, oder eine Liste definierter Worte im Wortumfeld der Treffer zu einem Suchbegriff auftritt. Mit der highlight()-Methode können zudem Worte farblich markiert werden.

K <- kwic(
  "GERMAPARL", query = "Islam", s_attributes = c("party", "date"),
  positivelist = "Terror"
)
K <- highlight(K, yellow = "Terror")
K

Von der Konkordanz zur Volltextanzeige {.smaller}

Das unmittelbare Wortumfeld ist nur der Ausschnitt eines vollständigen Textes. Um den Volltext zu einer Konkordanz zu lesen, fangen Sie das KWIC-Ergebnis mit einer Variable (hier: K) auf. Dann wenden Sie die read()-Methode auf das Objekt K an. Mit dem Argument i geben Sie die Konkordanz an, für die Sie den Volltext lesen möchten.

K <- kwic(bt2005, query = "Ausländer")
read(K, i = 1)

Volltextausgabe {.smaller}

i <- 1L
metadata <- c("speaker", "date", "party")
K <- kwic(bt2005, query = "Ausländer", s_attributes = metadata)
P <- partition(
  K@corpus,
  def = lapply(setNames(metadata, metadata), function(x) K@stat[[x]][i]),
  type = "plpr"
)
f <- fulltext::as.fulltexttable(P, headline = "Cornelie Sonntag-Wolgast (SPD)", display = "block")
annotations <- data.frame(
  text = c("", "", ""),
  color = c("yellow", "lightgreen", "yellow"),
  annotation = c("", "", ""),
  start = c(
    min(K@cpos[match_id == i][direction == -1][["cpos"]]),
    min(K@cpos[match_id == i][direction == 0][["cpos"]]),
    min(K@cpos[match_id == i][direction == 1][["cpos"]])
    ),
  end = c(
    max(K@cpos[match_id == i][direction == -1][["cpos"]]),
    min(K@cpos[match_id == i][direction == 0][["cpos"]]),
    max(K@cpos[match_id == i][direction == 1][["cpos"]])
    )
)
f <- fulltext::highlight(f, annotations = annotations)
fulltext::fulltext(f, box = FALSE)

Ausblick: Konkordanzen im Forschungsprozess {.smaller}

Literatur



PolMine/UCSSR documentation built on June 13, 2022, 10:23 p.m.