Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 14 Next »

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

<< Zurück zur Startseite / Gesamtinhaltsverzeichnis

Mitwirkende an dieser Seite:

UserEditsCommentsLabels
Annett Zobel 1510
Manuel Kummerländer 400

A) Qualitätscheks 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

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.


B) Bestehende technische Lösung

Im WirLernenOnline-Projektes sind nachfolgende Services entwickelt worden. Hier findet sich eine Liste der Metadaten für Qualitätseigenschaften, welche identifiziert und durch technische Untersuchungen abgleitet werden können:

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 Google Lighthouse 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 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.


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 nervig 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 .

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.

Ü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.

 Analyse Ist-Stand und Überarbeitungsnotwendigkeit bestehender Dienste

Einschätzung :

  • 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.


Automatische Prüfung auf Sachrichtigkeit

/wiki/spaces/ITsJOINTLY/pages/375816215

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.


  • No labels