Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Motivation und Überblick test

Um die Arbeit der Redaktionen und Fachredaktionen zu erleichtern, werden Services entwickelt und eingesetzt, die bei der Qualitätsprüfung der aggregierten Materialien helfen sollen. Ziel ist es, die Materialien schneller nutzbar zu machen und das Sucherlebnis für die Nutzer*innen zu verbessern, indem die Metadaten zu den Materialien hinzugefügt und verbessert werden. Einige dieser Qualitätstests können mit Hilfe verschiedener Tools automatisiert werden. Beispielsweise lässt sich leicht überprüfen, ob eingesammelte Materialien auf bekannten "Blocklisten" jugendgefährender Medien liegen, eine Seite Werbung enthält oder grundständige Accessibility-Kriterien erfüllt werden.

Wird bei der Qualitätsprüfung hingegen festgestellt, dass bestimmte Attribute gar nicht vorhanden sind, beispielsweise das Schulfach, müssen andere Services genutzt werden. Hierbei wurden bereits einige KI-Services entwickelt und in die Plattform eingebunden, die das Schließen solcher nicht-vorhandenen Attribute ermöglichen sollen. Besonders herausfordernd ist dabei der Umstand, dass solche Verfahren "angelernt" werden müssen, d.h. die Maschinen müssen anhand vorhandener Daten lernen können, um gute Zuordnungen vorschlagen zu können. Hierbei helfen die bereits von den Fachredaktionen einsortierten Materialien, die als Lerngrundlage dienen können. Die Konzepte, Ideen und Prototypen für eine maschinell gestützte Einordnung von Materialien zu Schulfächern sowie Lehr- und Kompetenzplänen findet sich in 4.5 KI - Interaktion zwischen Mensch und Maschine.

Im folgenden werden nun die Verfahren vorgestellt, die bei der automatischen Qualitätsprüfung eingesetzt werden.

Image Removed

Vorarbeiten / Ist-Stand

In der Redaktionsumgebung von WirLernenOnline landen die
Info

Services für automatische Qualitätsprüfung von Online-Lerninhalten helfen bei der automatisierten Erschließung von Internet-Lerninhalten und -angeboten. Geprüft werden können Aspekte von IT-Sicherheit, Jugendschutz, Barrierfreiheit, Datenschutz. Neuere Prototypen und Konzepte beschäftigen sich mit der automatischen Prüfung der Inhaltequalität. Das meint Sachrichtigkeit, Neutralität, didaktische und mediale Qualität. Prüfergebnisse sind Grundlagen für Metadatengenerierung zu Qualitätseigenschaften. Bisherige Prüfergebnisse werden in der Redaktionsumgebung von WirLernenOnline den Redaktionen als Hinweise für Qualitätsprobleme angezeigt.

Inhalt dieser Seite

Table of Contents

<< Zurück zur Startseite / Gesamtinhaltsverzeichnis

Mitwirkende an dieser Seite:

Contributors Summary

A) Qualitätchecks in Erschließungsabläufen (Beispiel WirLernenOnline)

Bevor wertvolle Zeitressourcen von Redaktionen zum Einsatz kommen, um Lern- und Wissensinhalte zu erschließen und auffindbar zu machen, sollten maschinelle Checks unpassendes aussortieren oder zumindest mit einer Warnmeldung markieren.

Außerdem sollten Prüffunktionen die Prüfergebnisse als generierte Metadaten anbieten.


Qualitätprüfung bezieht sich auf 2 Bereiche:

1. Inhaltliche Qualität

  • Neutralität
    (z.B. gegenüber politischen u.a. Richtungen)

  • Sachrichtigkeit
    (Faktencheck, Prüfung von Aussagen gegenüber aktuellen wissenschaftlichen Erkenntnisständen)

  • didaktische Qualität
    (z.B. angemessene didaktische Reduzierung für das Niveau der Lernzielgruppe oder erfolgversprechender pädagogischer Aufbau, prüfbar auf Basis von pädagogischen Pattern-Datenbanken)

  • mediale Qualität
    (z.B. angemessner Medienmix, zeitgemäße Medien und Gestaltung)

2. nicht-inhaltliche Qualität, Beispiele

  • Barrierefreiheit

  • auf Lerninhalte-Seite enthaltene Werbung

  • korrekte DSGVO / Datenschutz Angaben

  • unpassende Social-Media-Elemente

  • Abschaltzwang von Ad-Blockern

  • Trackingfunktionen für Datenerfassung

  • Pop-Ups und Modal-Dialoge

  • Paywalls

  • schädliche Dateien

Image Added

Im Zuge des

In der Redaktionsumgebung von WirLernenOnline landen maschinell erschlossene oder von Nutzern vorgeschlagene Materialien auf einem sogenannten "Prüftisch" und können dort von den (Fach-)Redakteur*innen begutachtet werden. Dabei werden sie durch den Prüfprozess geleitet, bei dem die Metadaten entsprechend der definierten Qualitätskriterien abgeprüft werden und ggf. ergänzt werden können. Die erwähnten Services, die eine automatische Prüfung des Materials vornehmen werden hier genutzt und liefern Daten, um die Arbeit und Prüfung der Redaktion zu erleichtern.

Image Removed

Screenshots:

Image Removed

Technische Lösung

Image AddedImage Added

B) Bestehende technische Lösung

B1) MetaLookUp - automatische Qualitätsprüf-Services

Im WirLernenOnline-Projektes sind

bereits einige

nachfolgende Services entwickelt worden

, die bei der Qualitätssicherung unterstützen und die in die Redaktionsumgebung von WirLernenOnline eingebunden wurden

. Hier findet sich eine Liste der

Attribute

Metadaten für Qualitätseigenschaften, welche identifiziert und durch technische Untersuchungen abgleitet werden können:

Qualitätsmetadaten

Auf dieser Github-Seite des MetaLookUP-Projekts ist beschrieben, wie die Qualitätsprüfung funktioniert und welche Herausforderungen es dabei noch gibt.


Barrierefreiheit alias Accessibility

Dieses Merkmal gibt an, ob die Webseite barrierefrei

nach  ist

 ist. Dafür wird eine Punktezahl für mobile Endgeräte und Desktop-PCs berechnet. Deren Mittelwert wird benutzt, um eine Aussage über die Barrierefreiheit zu treffen. Ist der Mittelwert hoch genug, gilt Barrierefreiheit

als 

als true.

Cookies

Dieses Merkmal liest die Cookies ein, die von der Webseite benutzt werden. Wird eines dieser Cookies als unsicher dargestellt, so wird dieses Merkmal als false definiert. Idealerweise sollte eine Webseite so wenig Cookies wie möglich laden, bevor der Verwendung von Cookies (s. DSGVO) zugestimmt wird. Da diese Zustimmung nicht erfolgt, sollten keine oder wenige Cookies geladen werden.


Dateiextrahierbarkeit alias ExtractFromFiles

Dieses Merkmal untersucht die herunterladbaren Dateien einer Webseite darauf, ob diese als Volltext gelesen werden können. Unterstützte Dateiformate sind derzeit .docx und .pdf. Wenn mehr als die Hälfte aller Dateien extrahiert werden können, so gilt dieses Merkmal als true.

DSGVO alias GDPR

  • Dieses Merkmal untersucht die Übereinstimmung der Webseite mit den Anforderungen der DSGVO. Da dieses Merkmal eine juristische Behandlung nicht erfüllen kann, wird dieses Merkmal stets false anzeigen.

  • verschiedene Eigenschaften bzw. Fragestellungen der Webseite werden untersucht und hinterlegt

    • Verlinkt die Seite nur auf sichere HTTPS Webseiten?
      Ist HTTP Strict Transport Security (HSTS) eingeschaltet? Falls ja: Sind sicherheitsrelevante Eigenschaften von HSTS optimal gesetzt?
      Ist die referrer-policy optimal eingestellt?
      Werden keine externen Fonts geladen und falls doch, welche?
      Werden keine kompromittierende Eingaben gefordert und falls doch, welche?
      Befindet sich ein Link auf das Impressum der Webseite. Dies sagt nichts darüber aus, ob das Impressum korrekt ist.


Javascript

Dieses Merkmal untersucht, ob und welche Javaskripte ausgeführt werden. Da Javascript potenziell gefährliche Inhalte laden und ausführen kann werden 0 Sterne zurückgegeben, sobald ein Javascript gefunden wurde welcher mittels src Attribut von einer anderen Quelle geladen wird.

Webseite einbettbar alias IFrameEmbeddable

Dieses Merkmal untersucht, ob die Webseite in einen IFrame auf einer externen Webseite einbettbar ist.


Gefährliche Dateierweiterungen alias MaliciousExtensions

Dieses Merkmal untersucht, ob und welche bekannten gefährlichen Dateiendungen in Dateien der Webseite vorkommen. Beispiele enthalten, u. a., .exe, .com und .dll. Dieses Merkmal ist noch recht grob und wird false sobald irgendeine Datei mit solch einer Endung gefunden wird.

Metabeschreibungsentdecker alias MetatagExplorer

Dieses Merkmal sammelt alle meta HTML Elemente der Webseite für zukünftige Auswertung nach Produktivlauf. Da es derzeit rein explorativ ist, wird dieses Merkmal stets unknown als isHappyCase zurückgeben.


Sicherheit alias Security

Dieses Merkmal untersucht verschiedene HTML-Header Eigenschaften, um Aussagen über optimal konfigurierte Sicherheitseinstellungen zu liefern. Sind alle Eigenschaften gesetzt, so gibt dieses Merkmal true zurück, d. h., es ist strikt. Es ist zu erwarten, dass nur die wenigsten Webseiten dieses Merkmal erfüllen.

Werbung alias Advertisement

Dieses Merkmal nutzt Adblock-Listen, um Werbung, ungewollte Frames, Bilder und Objekte zu erkennen. Diese Listen werden für Browser-Plugins zur Werbungsblockierung eingesetzt. Wird ein Werbeelement entdeckt, so wird dieses Merkmal auf false gesetzt.


Privatsphäre alias EasyPrivacy

Dieses Merkmal untersucht ob bspw. Tracker u. ä. auf der Webseite eingesetzt werden um die Privatsphäre des Nutzenden zu kompromittieren. Es nutzt dafür gepflegte open-source Online-Listen. Wird ein entsprechendes Element entdeckt, so wird dieses Merkmal auf false gesetzt.

FanboyAnnoyance

Dieses Merkmal versucht „nervige“ Elemente zu entdecken, bspw. Pop-Ups. Es nutzt dafür gepflegte open-source Online-Listen. Es reduziert signifikant die Ladezeiten. Der Name Fanboy ist der Alias eines Software-Ingenieurs: https://github.com/ryanbr .

Da die Einschätzung, ob ein Element

als 

als nervig

 gilt

 gilt rein subjektiv ist, ermöglicht dieses Merkmal anhand eines großen Fundus an Informationen automatisiert solche Elemente zu erkennen. Es eliminiert aufwändiges Suchen durch Menschen und subjektive Entscheidungen.


Benachrichtigungen alias FanboyNotification

Dieses Merkmal untersucht, ob die Webseite Elemente beinhaltet, die versuchen Benachrichtigungen auf dem Endgerät zu erzeugen. Es nutzt dafür gepflegte open-source Online-Listen. Der Name Fanboy ist der Alias eines Software-Ingenieurs: https://github.com/ryanbr .

Sprachekennung von Materialien

Einige Dokumente enthalten keine Metadaten über die verwendete Sprache. Deshalb wurde ein Service implementiert, der zu gegebenen Texten die im Text vorhandenen Sprachen identifiziert.

Z.B. liefert der Algorithmus für folgenden Text:

"Victor jagt zwölf Boxkämpfer quer über den großen Sylter Deich. The quick brown fox jumps over the lazy dog."

Die Werte:

en 0.5714256620210416
de 0.4285713688317989

Die Implementierung ist im GitHub zu finden unter:

https://github.com/yovisto/wlo-langdetect

Weitere wünschenswerte Funktionen

Zusätzlich zu den bereits genannten Attributen, könnte die automatisierte Erstellung folgender Eigenschaften die Zugänglichkeit zu Lehrinhalten erhöhen und die Barrierearmut verringern:

  • Audiotranskriptionen
  • Videotranskriptionen
  • Bildbeschreibung (Alt Texte)

Für die Erstellung dieser Daten gibt es momentan noch keine frei nutzbaren und eingebundenen Services.

Herausforderungen bei der Einbindung in das Redaktionssystem

  • Wie können wir die Einbindung in das Redaktionssystem verbessern?
    • Umbau der DB-Struktur, um sich mehr KI-Metadaten merken zu können / Performanz
    • Regelmäßige Abfrage der KI-Dienste mit den Datensätzen und Persistierung der Ergebnisse
    • Darstellung der von der KI geschlussfolgerten Daten und Auswahl durch den Redakteur

<< Zurück zur Startseite / Gesamtinhaltsverzeichnis

Inhalt dieser Seite

Table of Contents

Mitwirkende an dieser Seite:

contributors-summary

B2) Prototyp und Studie zur automatischen Prüfung von Inhalten auf Sachrichtigkeit

Dokumentation in Arbeit (siehe Abschnitt D - Aktuelle Projekte)


D) Aktuelle Projekte und Weiterentwicklungen

Im aktuellen F&E-Projekt zur Weiterentwicklung von WirLernenOnline / edu-sharing werden derzeit bis März 2025 die Weiterentwicklungen von Konzepten und Lösungsbausteinen dokumentiert.

D1) Überarbeitung vorhandener MetaLookUp-Dienste - Auftragenehmer gesucht

  • MetaLookUp-Dienste sollen im aktuellen F&E-Projekt überarbeitet / aktualisiert werden. Dazu fand eine Analyse statt, die im nachfolgenden Expander dokumentiert ist. Dafür wird gerade ein Auftragnehmer gesucht.

Expand
titleAnalyse Ist-Stand und Überarbeitungsnotwendigkeit bestehender Dienste

Einschätzung - Überblick

  • das Projekt als Ganzes sollte (best-case scenario) auf Python 3.13 gehoben werden

    • falls einzelne Dependencies dies verhindern, wäre zumindest Python >= 3.12.7 sinnvoll

  • Kernbestandteile des Projekts (insbesondere fastapi und die dazugehörige pydantic Abhängigkeit) sollten auf die aktuellsten Versionen migriert werden

    • bei mehreren Dependencies gab es in den letzten ~2 Jahren Breaking Changes, die größere Aufwände bedeuten

  • CI / CD / GitHub Workflows müssen entsprechend aktualisiert werden

  • die Headless Browser Integration (via browserless/chrome-Container) sollte von v1 (End of Life) auf v2 (= kompletter Rewrite, wird aktiv supported) migriert werden, um stabiler moderne Websites aufrufen / auswerten zu können


Detaillierte Einschätzung / Notizen

Nun folgen meine (etwas detaillierteren) Notizen – Achtung, es wird etwas länger.

Python Version

  • in der pyproject.toml definiert: Python >= v3.9.1

    • Python 3.9 ist bereits im Maintenance Status "Security" angekommen (d.h. es werden nur noch Security Updates geliefert, die aktive Entwicklung für diese Python Version wurde bereits eingestellt)

    • End of Support: 2025-10

  • im dockerfile_api definiert: Python v3.10.8

    • Maintenance Status: "Security"

    • End of Support: 2026-10

  • Empfehlung: Upgrade auf aktuelle Python (stable) Version: 3.13

    • (oder zumindest Python >= v3.12.7 anpeilen)

Dependencies

Frameworks / Dependencies (sortiert nach: wichtigste zuerst):

Dev Dependencies

  • grundsätzliche Empfehlung: Upgrade aller Dependencies auf aktuellste Version

  • pylint

    • in Verwendung: v2.15.2

    • latest Release: v.3.3.1

      • (Unterstützt Python 3.13)

  • httpx

    • in Verwendung: v0.23

    • latest Release: v0.27

      • (seit v0.25 wird Python 3.12 unterstützt)

    • Empfehlung:

      • Upgrade auf aktuellste httpx Version

      • Kompatibilität mit Python 3.13 prüfen

  • pre-commit

  • pytest

    • in Verwendung: v7.1.3

    • latest Release: v8.3.3

      • (seit v8.2.1 wird Python 3.13 (als Beta) supported)

  • pytest-asyncio

    • in Verwendung: v0.19.0

    • latest Release: v0.24.0

      • (setzt pytest >= v8.2.0 voraus)

  • pytest-cov

    • in Verwendung: v3.0.0

    • latest Release: v6.0.0 (siehe: Changelog)

  • pytest-mock

    • in Verwendung: v3.8.2

    • latest Release: v3.14.0

      • (seit pytest-mock v3.12.0 wird Python 3.12 unterstützt)

    • Empfehlung:

      • Upgrade auf aktuellste pytest-mock Version

      • Kompatibilität mit Python 3.13 prüfen

  • mkdocs

  • locust

    • in Verwendung: v2.12.0

    • latest Release: v2.32.2 (siehe: Changelog)

      • (seit locust v2.32.0 wird Python 3.13 unterstützt)

 

CI / CD

GitHub Workflows:

  • main.yml

    • Upgrade auf Python 3.13 (oder zumindest 3.12.7) notwendig

    • Upgrade/Migration auf browserless/chrome v2

    • Überprüfen, ob die GitHub Actions / Docker Actions noch dem aktuellen Standard entsprechen (wahrscheinlich müssen einzelne Actions auf neuere Versionen angepasst werden)

Docker:

 

Code / Features

In den GitHub Issues von MetaLookUp wurden mögliche Verbesserungen / offene Probleme skizziert, die ggf. nochmal betrachtet werden sollten:

  • das "AdBlock"-Extractor-Modul verwendet eine Library (adblockparser), das seit 2016 nicht mehr geupdated wurde und bereits in Issue 165 als problematisch identifiziert wurde
    - im Code wurde bereits vermerkt, dass eine modernere Lösung wünschenswert wäre

  • die JavaScript-Erkennung (für bösartige Inhalte) schlägt bisher nur auf src-Attribute im HTML an, sollte laut Issue 151 und dem Kommentar im Code jedoch auch auf <script>-Embeds erweitert werden

  • das Feature zur Lizenz-Erkennung sollte ggf. aktualisiert werden:

    • ob wirklich alle Lizenzen abgedeckt sind

      • auf den ersten Blick fehlt z.B. die "MIT"-Lizenz in der Liste (wird ggf. noch nicht im edu-sharing unterstützt)

    • ob eine restriktivere Lizenz-Erkennung "sicherere" Ergebnisse liefern würde

  • in Issue 107 wurde der Bedarf, "richtige" End-to-End-Tests zu implementieren, bereits skizziert und sollte bei einem Update von MetaLookUp im Hinterkopf behalten werden

 

Randnotizen

  • das Projekt lässt sich aktuell unter Python 3.12.7 nicht fehlerfrei installieren (Dependency Resolution von poetry schlägt für einzelne Dependencies bereits fehl)

    • (mit Python v3.10.15 lässt sich immerhin ein valider Interpreter in PyCharm konfigurieren)

Aufgaben:

  1. Umsetzung der Empfehlungen aus der Analyse

  2. Sichtung verfügbarer Dienste im Internet, die zusätzlich integrierbar sind

  3. agiler Abstimmung mit den WLO-Redaktionen zu Prioritäten und nötigen Qualitätsanzeigen, um Bildungsinhalte kuratieren zu können.


Die Studie befasst sich mit der Herausforderung, die Sachrichtigkeit von durch Large Language Models (LLMs) generierten Texten zu validieren. Im Mittelpunkt steht ein innovativer Ansatz, der als "LLM as a Judge" bezeichnet wird. Zunächst wurden spezifische Anwendungsfälle für die Wissensbewertung identifiziert und präzise Kriterien für Sachrichtigkeit entwickelt. Nach einer umfassenden Analyse existierender Bewertungsbenchmarks und des aktuellen Forschungsstands entstand ein neuartiges Vorgehensmodell.

Der zentrale methodische Ansatz basiert auf einem multilateralen Bewertungsprozess, bei dem mehrere LLMs in einem iterativen Verfahren wechselseitig ihre generierten Ausgaben überprüfen. Ein Proof of Concept wurde entwickelt und getestet, wobei die KI-basierten Bewertungen mit menschlichen Einschätzungen verglichen wurden. Die Ergebnisse zeigen hohe Übereinstimmungsraten mit menschlichen Bewertungen und lassen sich durch fortschrittliche Prompting-Techniken noch weiter optimieren.

Der entwickelte Ansatz bietet bedeutende Vorteile: Er ermöglicht eine systematische Prüfung generierter Inhalte, erlaubt einen objektiven Vergleich verschiedener KI-Modelle und ist flexibel für unterschiedliche Anwendungsfälle skalierbar. Die Methode zeigt vielversprechende Ergebnisse für die Qualitätssicherung von KI-generierten Texten und eröffnet neue Perspektiven für den gezielten Einsatz von Large Language Models.