Browse Source

add implementation beamer slides

genderequality-alternative
flavis 4 years ago
parent
commit
03f8ca0813
2 changed files with 171 additions and 0 deletions
  1. BIN
      inst/reports/implementierung.pdf
  2. +171
    -0
      inst/reports/implementierung.tex

BIN
inst/reports/implementierung.pdf View File


+ 171
- 0
inst/reports/implementierung.tex View File

@@ -0,0 +1,171 @@
\documentclass{beamer}

\usepackage[utf8]{inputenc}

\usepackage{listings}
\lstdefinestyle{mystyle}{
commentstyle=\color{gray},
keywordstyle=\color{black},
numberstyle=\tiny\color{gray},
stringstyle=\color{black},
basicstyle=\ttfamily\footnotesize,
breakatwhitespace=false,
breaklines=true,
captionpos=b,
keepspaces=true,
numbers=left,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2
}
\lstset{style=mystyle}
\begin{document}

\begin{frame}
\frametitle{Implementierung}
\tableofcontents
\end{frame}

\section{Herunterladen der Protokolle}
\begin{frame}
\frametitle{Herunterladen der Protokolle}

Funktion: \lstinline{fetch_all(download_dir)}

\begin{itemize}[<+->]
\item Protokolle als XML-Dateien von \url{bundestag.de} herunterladen und
in \lstinline{download_dir} speichern.
\item Problem: Maschinenunfreundliche Webseite
\item Lösung: Source Code von \url{bundestag.de} nach Schnittstelle durchsuchen
\end{itemize}
\end{frame}
\section{Konvertierung der XML-Dateien in tibbles}

\begin{frame}
\frametitle{Konvertierung der XML-Dateien in tibbles}
Funktion: \lstinline{read_all(filepath)}
\begin{itemize}[<+->]
\item Liest jede XML-Datei in angegebenem Dateipfad einzeln
\item Extrahiert Sitzungsdatum, Rednerliste und Sitzungsverlauf
\item Konvertiert Rednerliste in eine R Liste.
\item Iteriert durch den Sitzungsverlauf, extrahiert Reden,
Redebeiträge, Kommentare und Beifall
\item Kombiniert alle Redner, Reden, Redebeiträge, Kommentare und Beifall
zu 5 tibbles und gibt benannte Liste zurück.
\end{itemize}
\end{frame}

\begin{frame}[fragile]
\frametitle{Tabellen}
Ergebnis der Konvertierung ist eine benannte Liste \lstinline{res} mit tibbles:
\pause
\begin{lstlisting}[language=R,basicstyle=\tiny\ttfamily]
> res$speaker
# A tibble: 1,025 x 7
id prename lastname fraction title role_short role_long
<chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 110021 Alterspraesident D Otto Solms NA NA Alterspraesi Alterspraesi
2 110032 Carsten Schneider SPD NA NA NA
# with 1,023 more rows
\end{lstlisting}
\pause
\begin{lstlisting}[language=R,basicstyle=\tiny\ttfamily]
> res$speeches
# A tibble: 25,068 x 3
id speaker date
<chr> <chr> <date>
1 ID19100100 11002190 2017-10-24
2 ID19100200 11002190 2017-10-24
# with 25,066 more rows
\end{lstlisting}
\pause
\begin{lstlisting}[language=R,basicstyle=\tiny\ttfamily]
> res$talks
# A tibble: 63,663 x 3
speech_id speaker content
<chr> <chr> <chr>
1 ID19100100 11002190 "Guten Morgen, liebe Kolleginnen und Kollegen! Nehmen Sie
2 ID19100300 11003218 "Sehr geehrter Herr Praesident! Sehr geehrte Kolleginnen u
# with 63,661 more rows
\end{lstlisting}

\end{frame}

\begin{frame}[fragile]
\begin{lstlisting}[language=R,basicstyle=\tiny\ttfamily]
> res$comments
# A tibble: 83,649 x 5
speech_id on_speaker fraction commentator content
<chr> <chr> <chr> <chr> <chr>
1 ID19100300 11003218 BUENDNIS 90/D Katrin Goering Was?
2 ID19100300 11003218 CDU/CSU Volker Kauder Warum habt ihr das bei Ge
# with 83,647 more rows
\end{lstlisting}
\pause
\begin{lstlisting}[language=R,basicstyle=\tiny\ttfamily]
> res$applause
# A tibble: 89,586 x 8
speech_id on_speaker CDU_CSU SPD FDP DIE_LINKE BUENDNIS_90_DIE_GRU AfD
<chr> <chr> <lgl> <lgl> <lgl> <lgl> <lgl> <lgl>
1 ID19100300 11003218 FALSE TRUE FALSE TRUE TRUE FALSE
2 ID19100300 11003218 FALSE TRUE TRUE TRUE FALSE FALSE
# with 89,584 more rows\end{lstlisting}
\end{frame}

\section{Reparieren von Fehlern}
\begin{frame}
\frametitle{Reparieren von Fehlern}

Problem: Uneinheitliche Schreibweisen / Fehler in den Rednerlisten.

\pause
Lösung: Funktion: \lstinline{repair_speaker(speakers)}
\pause
\begin{itemize}[<+->]
\item Erhält \lstinline{tibble} von Rednern
\item Entfernt Redner mit ungültigen, doppelt vergebenen IDs
\item Vereinheitlicht Schreibweisen der Fraktionen, Namen und Titel der Redner
\end{itemize}

\end{frame}

\begin{frame}
\frametitle{Reparieren von Fehlern}
Problem: Namen in Kommentaren Rednern aus Rednertabelle zuordnen

\pause
Lösung: Funktion \lstinline{repair_comments(comments, speakers)}
\begin{itemize}
\item Erstellt für jeden Redner einen Regulären Ausdruck aus dem Namen
\item Sucht für jeden Kommentar nach dem entsprechenden Eintrag in der
Rednertabelle
\end{itemize}
\end{frame}

\begin{frame}
\frametitle{Reparieren von Fehlern}
Beide Reparaturschritte werden in der Funktion \lstinline{repair} zusammengefasst.
\end{frame}

\section{Analyse}

\begin{frame}
\frametitle{Analyse}
Stelle Hilfsfunktionen zur Analyse der Daten zur Verfügung:
\begin{itemize}[<+->]
\item \lstinline{bar_plot_fractions}: Erstellt ein Balkendiagramm aus einer Tabelle
mit Fraktionsdaten
\item \lstinline{find_word}: Fügt in der Redebeiträgetabelle zu jedem Redebeitrag
die Häufigkeit eines Regulären Ausdrucks hinzu.
\item \lstinline{word_usage_by_date}: Zählt an welchen Daten (Tagen) ein regulärer Ausdruck
wie oft verwendet wird.
\item \lstinline{join_speaker}: Fügt einer Tabelle mit Spalte \lstinline{speaker} die
enstprechenden Informationen aus der Rednertabelle hinzu.
\end{itemize}
\end{frame}

\end{document}

Loading…
Cancel
Save