docs: Meeting notes for 2023-09-28 (#164)

Zum Review
This commit is contained in:
Tristan Nolde 2023-10-03 14:33:08 +02:00 committed by GitHub
commit aa6c0efc87
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 280 additions and 49 deletions

14
.gitignore vendored
View File

@ -1,5 +1,15 @@
# Temporary hosting of Deutschland/Bundesanzeiger library
**/deutschland
# LaTeX temp files
**/*.aux
**/*-blx.bib
**/*.bbl
**/*.blg
**/*.lof
**/*.out
**/*.log
**/*.run.xml
**/*.synctex.gz
**/*.toc
# Credentials
*secrets.json
*secrets_prod.json

View File

@ -0,0 +1,35 @@
---
title: "Automatisierte Daten Extraktion aus Internetquellen als Grundlage für die Analyse von Kapitalgesellschaften"
author: "Nolde, Tristan Norbert"
date: "2023-05-06"
---
# Abstract: Automatisierte Daten Extraktion aus Internetquellen als Grundlage für die Analyse von Kapitalgesellschaften
## Gliederung
1. Einleitung (Zielsetzung/Problemstellung, Vorgehen)
2. Web Scraping/Crawling
1. Definition und Theorie
2. Technologien
3. Umsetzung
3. RSS Feeds
1. Definition und Theorie
2. Technologien
3. Umsetzung
4. APIs
1. Definition und Theorie
2. Technologien
3. Umsetzung
5. Rechtliche Rahmenbedingungen
6. Vergleich der Lösungsansätze
7. Zusammenfassung
## Inhalt
In Zeiten von Big Data und AI stellen Daten und ihre Verfügbarkeit zunehmend eines der wichtigsten Wirtschaftsgüter dar. Als solches können sie auch eingesetzt werden, um Kapitalgesellschaften (eine Subklasse von Unternehmen) anhand verschiedener Kennzahlen wie der Mitarbeiterzahl oder dem Jahresgewinn zu analysieren. Obwohl solche Daten zu Genüge in Zeitungsartikeln, Newslettern oder dedizierten Aktienanalysen zu finden sind, so gestaltet sich eine automatisierte Extraktion dieser Daten aufgrund verschiedener Formate sowie weiterer Restriktionen schwierig.
Daher sollen im Rahmen dieser Seminararbeit verschiedene Wege betrachtet werden, die eben diese Daten erheben und zur Verfügung stellen können. Zu den nennenswerten Quellen gehören: Der Bundesanzeiger, RSS Feeds, Nachrichten APIs. Ziel ist es, aus diesen Quellen wertvolle Informationen bezogen auf den wirtschaftlichen Erfolg einer Kapitalgesellschaft sowie aktueller Nachrichten zu extrahieren und in ein einheitliches Format zu überführen.
Neben des technischen Einsatzes von Web Scraping/Crawling, um Informationen aus Webseiten zu gewinnen, sowie des Abfragens verfügbarer APIs soll auch der rechltiche Aspekt dieser Vorgehens Berücksichtigung finden, um die Rechtmäßigkeit zu bewerten.
Abschließend wird der Einsatz der verschiedenen Technologien an den Faktoren: Flexibilität, Simplizität, Verfügbarkeit und Rechtmäßigkeit, ein Fazit gezogen sowie ein Ausblick des weiteren Einsatzes gegeben.

View File

@ -13,7 +13,7 @@
### Zum Thema Container (Docker Compose)
- Das Projektteam wird einen Portainer-Zugang erhalten und würde gerne Docker Compose verwenden, sodass auf die Verwendung von Kubernetes verzichtet werden kann. 3 Processing-Container und 2 Datenbank-Container sind vorgesehen.
- Das Projektteam wird einen Portainer-Zugang erhalten und würde gerne Docker Compose verwenden, so dass auf die Verwendung von Kubernetes verzichtet werden kann. 3 Processing-Container und 2 Datenbank-Container sind vorgesehen.
- Laut Projektteam wird es sich um ein Web-Frontend handeln, die Quellen sind parallelisiert, es wird einen Lauf für Unternehmensregister und einen Lauf für tagesschau.de benötigt; es geht hier um eine Handvoll Datensätzen mit ca. 1 Kilobyte

View File

@ -0,0 +1,80 @@
# Weekly *11*: 29.09.2023
## Teilnehmer
- Prof. Arinir
- Tristan Nolde
- Tim Ronneburg
- Phillip Horstenkamp
- Kim Mesewinkel-Risse
- Sebastian Zeleny
## Themen
- Status:
- Verflechtungsanalyse und Visualisierung
- Multi-Page Layout ist vorhanden
- Erster Wurf der NetworkX Integration vorhanden
- Laufzeitprobleme bei Auswertung der gesamten Datenbasis
- Daher reduziert auf zunächst zehn Einträge
- Platzierung der Berechnung aktuell im Dash Callback - vermutlich zu viele parallele Aufrufe und daher Leistungseinbusse
- Verflechung wird ebenfalls im "Company-Details-Tab" angeboten
- Nächste Schritte:
- Performance Bottleneck beheben
- Graphen mit Farben versehen
- An echte Daten anschließen
- NER + Sentiment:
- Nun ein Jupyter Notebook mit Aspect-Oriented Sentiment Analys
- Problem der max. Token length im Transfomer durch Batching gelöst
- Gesamtergebniss wird dann aus den Batches aggregiert
- String-Matching, um ähnliche Companies zu finden
- Allgemein:
- Unternehmensnamen:
- Begriff GmbH nicht geschützt, so dass freie Kombinationen möglich sind
- Fragen:
- Besteht der Wunsch nach einer dokumentierten Projekt-Abnahme in der Abschluss-Dokumentation?
- In Ausarbeitungen können gerne Referenzen zum Projektmanagement aufgenommen werden, jedoch nicht in Übermaß.
- Der Fokus liegt mehr auf der Technik als der Organisation
- Ziel ist: Implementierung mit entsprechender Dokumentation
- Der Abschlussbericht ist nicht näher spezifiziert.
- unter anderem wäre es möglich die Zwischenberichte aus Ausgangspunkt zu nehmen und dort weiterzuführen bzw. näher zu spezifizieren
- Abschlussbericht in gleichem Layout z.B. LaTeX Template. Die form soll von der Gruppe festgelegt werden.
- Nächste Woche Donnerstag um 20:00 ist ein Termin mit Prof. Gawron um den Portainer stack zu initalisieren. Eingeladen ist die ganze Gruppe. Es mag kommen wer interesse hat.
## Abgeleitete Action Items
Die abgestimmte Ordner Struktur für die Abgabe ist wie folgt anzulegen:
```js
/Ergebnisse
/Zwischenbericht_und_Praesentation
/KiMe
pptx
pdf
/TrNo
...
/SeZe
...
/TiRo
...
/PhHo
...
/SaZh
...
/Abschlussbericht_und_Praesentation
/KiMe
pptx
pdf
/TrNo
...
/SeZe
...
/TiRo
...
/PhHo
...
/SaZh
...
```

View File

@ -1,46 +0,0 @@
---
title: "Automatisierte Daten Extraktion aus Internetquellen als Grundlage für die Analyse von Kapitalgesellschaften"
author: "Nolde, Tristan Norbert"
date: "2023-05-06"
---
# Abstract: Automatisierte Daten Extraktion aus Internetquellen als Grundlage für die Analyse von Kapitalgesellschaften
## Gliederung
1. Einleitung (Zielsetzung/Problemstellung, Vorgehen)
2. Web Scraping/Crawling
2.1. Definition und Theorie
2.2. Technologien
2.3. Umsetzung
3. RSS-Feeds
3.1. Definition und Theorie
3.2. Technologien
3.3. Umsetzung
4. APIs
4.1. Definition und Theorie
4.2. Technologien
4.3. Umsetzung
5. Rechtliche Rahmenbedingungen
6. Vergleich der Lösungsansätze
7. Zusammenfassung
## Inhalt
In Zeiten von Big Data und AI stellen Daten und ihre Verfügbarkeit zunehmend eines der wichtigsten Wirtschaftsgüter dar.
Als solches können sie auch eingesetzt werden, um Kapitalgesellschaften (eine Subklasse von Unternehmen) anhand
verschiedener Kennzahlen wie der Mitarbeiterzahl oder dem Jahresgewinn zu analysieren. Obwohl solche Daten zu Genüge in
Zeitungsartikeln, Newslettern oder dedizierten Aktienanalysen zu finden sind, so gestaltet sich eine automatisierte
Extraktion dieser Daten aufgrund verschiedener Formate sowie weiterer Restriktionen schwierig.
Daher sollen im Rahmen dieser Seminararbeit verschiedene Wege betrachtet werden, die eben diese Daten erheben und zur
Verfügung stellen können. Zu den nennenswerten Quellen gehören: Der Bundesanzeiger, RSS-Feeds, Nachrichten APIs. Ziel
ist es, aus diesen Quellen wertvolle Informationen bezogen auf den wirtschaftlichen Erfolg einer Kapitalgesellschaft
sowie aktueller Nachrichten zu extrahieren und in ein einheitliches Format zu überführen.
Neben des technischen Einsatzes von Web Scraping/Crawling, um Informationen aus Webseiten zu gewinnen, sowie des
Abfragens verfügbarer APIs soll auch der rechtliche Aspekt dieser Vorgehens Berücksichtigung finden, um die
Rechtmäßigkeit zu bewerten.
Abschließend wird der Einsatz der verschiedenen Technologien an den Faktoren: Flexibilität, Simplizität, Verfügbarkeit
und Rechtmäßigkeit, ein Fazit gezogen sowie ein Ausblick des weiteren Einsatzes gegeben.

View File

@ -0,0 +1,44 @@
\documentclass[a4paper, numbers=withenddot, 11pt]{scrartcl}
% Vorlage fuer Ausarbeitungen
% Getestet mit pdfTeX; Kodierung: UTF8
% Version 2023-08-19
% Hier Daten eintragen:
\newcommand{\name}{Max Mustermann}
\newcommand{\modulname}{Name des Moduls}
\newcommand{\thema}{Titel der Ausarbeitung}
\newcommand{\hochschule}{Fachhochschule Südwestfalen}
\newcommand{\datum}{\today}
% Ende der Daten
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage[style=alphabetic, backend=biber, bibencoding=utf8]{biblatex}
\addbibresource{literatur.bib}\usepackage{csquotes}
\usepackage{booktabs}
\usepackage{microtype}
\usepackage{graphicx}
\usepackage{scrhack}
\usepackage{setspace}\setstretch{1.1}
\parindent0pt\parskip6pt
\clubpenalty=10000
\widowpenalty=10000
\displaywidowpenalty=10000
\usepackage{listings}
\renewcommand{\lstlistingname}{Listing}
\lstset{basicstyle=\small\ttfamily, breaklines=true, numbers=left, keepspaces=true, columns=fixed}
\title{\thema}
\author{\name\\ \hochschule \\[5mm] Schriftliche Ausarbeitung im Modul\\\modulname}
\begin{document}
\maketitle
\tableofcontents
\input{mainmatter}
\printbibliography
\include{erklaerung}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

View File

@ -0,0 +1,12 @@
\section*{Erklärung}
Ich erkläre hiermit, dass ich die vorliegende Arbeit selbstständig verfasst und dabei keine anderen als die angegebenen Hilfsmittel benutzt habe. Sämtliche Stellen der Arbeit, die im Wortlaut oder dem Sinn nach Werken anderer Autoren entnommen sind, habe ich als solche kenntlich gemacht. Die Arbeit wurde bisher weder gesamt noch in Teilen einer anderen Prüfungsbehörde vorgelegt und auch noch nicht veröffentlicht.
\bigskip
\noindent
\datum
\vspace{25mm}
\noindent
\name

View File

@ -0,0 +1,18 @@
@book{knuth,
author = {Knuth, Donald E.},
title = {The Art of Computer Programming},
subtitle = {Fundamental Algorithms},
volume = {1},
publisher = {Addison-Wesley},
location = {Reading, Massachusetts},
edition = {3},
year = {1997}
}
@online{scheme,
author = {Shinn, Alex and Cowan, John and Gleckler, Arthur A.},
title = {Scheme Reports Process},
year = {2013},
urldate = {2020-07-13},
url = {http://www.scheme-reports.org/}
}

View File

@ -0,0 +1,78 @@
\section{Überschrift Ebene eins}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Zitat aus \cite{scheme} und \cite[17]{knuth}. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
Es folgt eine Abbildungen. Abbildung \ref{abb_einstein} kann referenziert werden.
\begin{figure}[htbp]
\centering
\includegraphics[scale=0.5]{einstein}
\caption{Beschreibung der Abbildung.}
\label{abb_einstein}
\end{figure}
\subsection{Überschrift Ebene zwei}
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
\section{Aufzählungen, Tabellen und Programmcode}
Eine Aufzählung:
\begin{itemize}
\item Lorem ipsum
\item dolor sit amet
\item consetetur sadipscing elitr
\item sed diam nonumy
\end{itemize}
Eine nummerierte Aufzählung:
\begin{enumerate}
\item Erster Punkt
\item Zweiter Punkt
\item Dritter Punkt
\end{enumerate}
Es folgt Tabelle \ref{beispieltabelle}.
\begin{table}[htbp]
\centering
\begin{tabular}{lrc}
\toprule
Linksbündig & Rechtsbündig & Zentriert \\
\midrule
Lorem & 13 & amet \\ \addlinespace
ipsum & 104 & consetetur \\ \addlinespace
dolor & 7 & sadipscing \\ \addlinespace
sit & -5 & elitr \\
\bottomrule
\end{tabular}
\caption{Beschreibung der Tabelle.}
\label{beispieltabelle}
\end{table}
Programmcode im Fließtext: \lstinline{printf("Hello, world!\n");}.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Es folgt Programmlisting \ref{beispiellisting}.
\begin{lstlisting}[caption={Beschreibung des Listings.}, label=beispiellisting, frame=tblr]
#include <stdio.h>
int main(void)
{
printf("Hello, world!\n");
}
\end{lstlisting}
Ein Listing ohne Titel, welches nicht im Listingverzeichnis aufgefühert wird:
\begin{lstlisting}[numbers=none]
#include <stdio.h>
int main(void)
{
printf("Hello, world\n");
}
\end{lstlisting}
Text kann \emph{kursiv} oder \textbf{fett} gesetzt werden.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Binary file not shown.