Skip to content

news-document-pipeline-htw-berlin/wiki

 
 

Repository files navigation

iNews-Pipeline

Implementierung einer Dokumenten-Pipeline für Nachrichtenartikel

alt text

Zur grafischen Einführung bitte unsere Präsentation anschauen.

=> Hier ein Überblick über die Virtuelle Maschine und die laufenden Dienste.

1. Crawler

Aufgaben:

  • Regelmäßig ausgewählte News-Seiten nach neuen Artikeln durchsuchen (crawling)
  • Ausgewählte Metadaten und Inhalte der Artikel extrahieren und in eine Datenbank schreiben (scraping)

Für die folgenden News-Seiten wurden sog. Spiders umgesetzt:

Technologien:

geschrieben in Python.

2. Analyse

Technologien:

Aufgaben:

  • gescrapte Artikel analysieren hinsichtlich:

    • Sentiment Analysis
    • Named Entity Recognition (details siehe Readme)
    • Generierte Textzusammenfassung basierend auf extrahierten Keywords
    • Lesezeit
    • relevanteste Wörter bzw. Objekte (Yake)
    • Lemmas
    • Zuordnung eines oder mehrerer Departments

geschrieben in Scala

Mögliche Verbesserungen

  • Performanceverbesserung hinsichtlich des Preprocessings
  • Textzusammenfassung komplexer gestalten
  • Vergleich verschiedener Textzusammenfassungsalgorithmen (Yake vs. TF-IDF)
  • Kategorien der Named-Entity-Recognition im FrontEnd visualisieren
  • Speicherkonzept in der Datenbank überdenken

3. mongoDB

  • Dokumentenbasierte NoSQL Datenbank
  • Basiert quasi auf JSON-Dokumenten
  • unser zentraler Datenspeicher, hält die Daten der Scraper und der UIMA-Pipeline

4. ElasticSearch

  • Auf JSON basierende Suchmaschine
  • nutzt JSON für Anfragen und Antworten
  • Teil des Elastic Stacks
  • Stellt die Suchfunktion bereit

5. HTTP-API

Aufgaben:

  • Zeitungsartikel nach außen sichtbar machen
  • Userverwaltung
  • Artikelvorschläge für User generieren
  • Autorendaten nach außen sichtbar machen
  • Analytics aggregieren
  • Elasticsearch-Abfragen (suchen, filtern und aggregieren)
  • HTTP-Anfragen (GET, POST, PUT, DELETE) bearbeiten
  • Antwort mit JSON-Daten

geschrieben in Scala mit der Akka-Library

Mögliche Verbesserungen

  • Autorendaten aggregieren (ebenfalls mittels Elasticsearch)
  • Artikelvorschläge basierend auf dem Leseverhalten des Users optimieren
  • Artikel (und Autoren) bezüglich Sentiments filtern

6. Frontend

mit ReactJS geschrieben

  • 2011 innerhalb von Facebook entwickelt
  • Komponenten
  • State und Props
  • Virtual DOM

und folgenden Libraries:

Mögliche Verbesserungen

  • HTTPS einrichten
  • Vereinheitlichung der HTTP-Anfragen (fetch / axios)

7. Autoren

Technologien:

Aufgaben:

  • die Autoren der verarbeiteten Artikel aus der NLP Pipeline analysieren

aktuell:

  • anzahl der Artikel pro Tag je Autor

  • anzahl der Artikel pro Kategorie je Autor

  • anzahl der Artikel pro Website je Autor

  • durchschnittliches Sentiment pro Tag

  • durchschnittliches Sentiment pro Kategorie

  • anzahl der Wörter für die letzten fünf Artikel

  • trust score

geschrieben in Scala

Mögliche Verbesserungen

  • komplexere Berechnung des Trust Scores

  • komplexere Analysen:

    • Welche Autoren schreiben häufig zusammen?
    • Schreiben die Autorenpaare gewöhnlicherweise in der gleichen Kategorie?
    • Haben die Paare ähnliche Lücken in der nichts geschrieben wurde?
    • Hebt sich Sentiment oder Wortanzahl wenn die Autoren zusammen schreiben, oder senkt sie sich sogar?
    • Wann schreibt der Autor (Veröffentlichungsdatum != Verfassungsdatum)

Bei weiteren Anreizen empfiehlt es sich das Video zum SpiegelMining anzusehen

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published