Dokumentation OER Sommercamp 2024 Workshop 5 - Beschreibungen statt Metadaten ?!
Workshopbeschreibung
Hintergrund: Wir entwickeln Dienste zur maschinellen Unterstützung von Communities und Redaktionen bei der Erstellung und Pflege von Metadaten. Ein häufiges Problem dabei ist, dass wichtige Kontextinformationen in den Bildungsinhalten fehlen und sich nicht direkt ableiten lassen. Dies führt dazu, dass Algorithmen und KI-gestützte Systeme die Inhalte nicht optimal verschlagworten oder klassifizieren können.
In diesem Workshop wollen wir neue Prozesse entwickeln, um solche fehlenden Informationen zu erfassen und anzufügen. Wir werden untersuchen, wie wir die Erfassung dieser zusätzlichen Informationen vereinfachen können, welche Informationen überhaupt häufig fehlen und wie diese automatisierte Verschlagwortungsprozesse verbessern können. Zudem werden wir Strategien erarbeiten, um den langfristigen Nutzen und die Notwendigkeit dieser Informationen klar und verständlich darzustellen.
Es gibt voraussichtlich Verbindungen zum Workshop Bildungsdaten als Trainingsbasis für Mensch und KI.
Teilnehmer: Manuel Kummerländer (edu-sharing.net e.V.)
- Katharina Trostorff (IWM - Leibniz-Institut für Wissensmedien / e-teaching.org)
- Manuel Oellers (Uni Münster / ComeIn),
- Canan Eulenberger-Özdamar (WLO - WirLernenOnline)
- Christiane Hadlich (edu-sharing.net e.V.)
- temporär: Markus von der Heyde (semalogic)
Notizen
Diskussion und Schärfung der Aufgabenstellung
- Da nicht jedes Lehrmaterial alle notwendigen Informationen enthält, die es für die maschinelle Suche gut auffindbar machen, ist in absehbarer Zeit nicht davon auszugehen, dass wir ohne Metadaten auskommen werden. Zudem ist die Suche mittels Metadaten ressourcenschonender, als durch reine KI-Verarbeitung.
- Allerdings ist das Ausfüllen des Metadatenformulars (bei WLO aktuell etwa 50 Felder) mühsam und wird selten vollständig erledigt (Zeitknappheit, Motivation, etc.).
- Wie kann KI dabei unterstützen, diesen Prozess besser zu gestalten?
- Ideen:
- Textblob, statt Metadatenformat (ein Begleittext bwz. Beipackzettel für das Lernmaterial)
- Dialog mit einem Chatbot. Die Metadaten werden dann mittels LLM aus dem Interview extrahiert.
- Welche Metadaten braucht man? Muss der Dialog für alle denkbaren Fälle angepasst werden? Gerät man von der Idee der Erfassung der unstrukturierten Daten wieder zu der Problematik, die man bei der Metadaten-Diskussion hat?
- Vorschlag: Use Cases definieren
- Freier Text vs. Begleitung bei der Erstellung
- Freier Text
- könnte per Spracheingabe erstellt werden (somit weniger Angst vor dem weißen Blatt)
- Vermutung: der Autor/ Redakteur erwähnt die Informationen, die die aus seiner Sicht relevant sind, um das Material zu finden -> dadurch würden die hierfür wichtigen Metadaten definiert werden
- da nicht immer die erstellende Person den Text hochlädt und die Metadaten vergibt, scheint dieses Vorgehen eher wenig zielführend
- komplett frei scheint eher mühsam
- Eventuell braucht es eine Art Begleittext, der die erstellende Person in die Reflexion der eigenen Idee/ Material etc. bringt.
- Führung durch eine geleitete Geschichte
- Was sind notwendige Metadaten und was sind nicht notwendige Metadaten?
- Wie kommen die Dinge aus dem Kopf in das Modell / in die Welt?
- frei sprechen vs. eintippen
- frei sprechen: Problem bei Fremdsprachen
- Verarbeitung in Echtzeit durch KI (KI extrahiert aus Freitext oder Gespräch die Metadaten) und dann Prüfung der Ergebnisse durch den Nutzer
- Welche Rollen, welche Zuständigkeiten gibt es?
- Kann das eigentliche Material als Grundlage für Metadaten-Generierung dienen und das Gespräch bzw. der Freitext dient der Abfrage der fehlenden Daten?
- Was kann man alles mit was machen?
- Metadaten extrahieren
- KI trainieren
- Mehrwert für Ersteller: durch die Reflexion mit der KI erfolgt auch eine Qualitätsprüfung des Materials
- Wer erstellt den Begleittext? Für wen? Welche Motivation? Welchen Mehrwert hat der Ersteller?
- Gamification?
- Wenn im Freitext Informationen fehlen, fragt die KI nach. Wenn man alle Infos gleich reinschreibt, ist man schneller, weil weniger/ keine Nachfragen kommen.
- Pool an Motivation-Sprüchen. Zum Beispiel “wenn Du das ausfüllst, könnten 2 Kids bessere Noten bekommen.”.
- Im Detail ausarbeiten:
- Welche Rollen gibt es?
- Was ist der Mehrwert/ Nutzen für den User?
- Die Bezeichnung “Beipackzettel” war als Arbeitstitel gedacht, führt aber zu Assoziationen, die nicht der Grundidee entsprechen. Gibt es einen anderen, passenderen Begriff?
- Was muss drinstehen? Erwartungshaltung?
- Zielgruppenabhängigkeit: Sind die Texte für die KI oder auch für Nutzer gedacht?
- Wie sieht der Prozess aus?
- Um welche Metadaten geht es überhaupt?
- Wie wird entschieden, welche Metadaten für das Material relevant sind?
- Um nicht gleich alle Probleme auf einmal lösen zu müssen, sollten wir erst einmal definieren, mit welchen Metadaten in diesem Workshop arbeiten und dann, in Abhängigkeit davon, den Prozess durchdenken (Fragen wie z.B. strafrechtliche Relevanz würden an dieser Stelle erst einmal überfordern).
- Was sind relevante Informationen über einen Text?
Als Beispiel für die kommenden Tage dient folgenden Perspektive:
Redakteur WLO bekommt Fachtext mit Begleittext und versieht diesen Text mit Metadaten.
Nächste Schritte:
- Usecase ausdefinieren
- Metadaten definieren -> Dazu den Mindestmetadatensatz anschauen.
Wichtige Fragen:
- Wer lädt hoch? Experte, also vom Fach (didaktischer Blick) oder eher "menschlicher Crawler"
- Material
- typische Attribute
- MINT-Fächer werden typischerweise anders beschrieben, als zum Beispiel Sprachen
"Welche Informationen über Dein Lernmaterial ist wichtig, um es finden zu können?"
- Welche Metadaten sind für was relevant?
- Idee: Aus der Praxis kommend wird uns Input gegeben, was aus Praxissicht relevant sein könnte.
- Was ist es? Wofür ist es? Für wen ist es? Was kann man damit machen?
- Reduzierung des Aufwandes.
- Reduzierung der Metadatenfelder auf das Relevante. Aufbrechen des festen Vokabulars.
Tagesziele:
- Prozess einmal durchdenken und formulieren.
- Konkrete Umsetzung eines Beispiels als PoC
An welchen Merkmalen unterscheiden sich die Rollen?
- Fachwissen
- Nähe, implizites Wissen über die Lerngruppe, für die das Material ursprünglich erstellt wurde
- Geschult vs. ungeschult in der Kuratierung/ Ordnungssystemen
Was ist das Ziel des Systems?
2 Varianten:
- das Material möglichst unverfälscht lassen. Keine Zusatzinformationen "erfinden".
- Zusatzinformationen hinzufügen
Da in einem ersten PoC nicht alle 50 Metadatenfelder berücksichtigt werden können, vorerst 3-5 einfache Metadaten, die viel “erschlagen”. (z.B. Schulart, Klassenstufe, …)
Reflex beim Nutzer des Dialogsystems auslösen -> ???
Leitplanken im Dialog - sonst kommen Anworten, wie zum Beispiel "Das Material hat im Feriencamp nicht funktioniert" - damit kann niemand etwas anfangen.
Ziel der Beschreibung muss zu Beginn des Gesprächs kommuniziert werden. Dann können eher freiere Fragen folgen
1. Materialanalyse
2. Intro mit Zielbeschreibung
3. Formulierte Frage, die auf das Ziel hinarbeitet nicht auf ein bestimmtes Metadatum.
4. Antwort
5. Analyse, welche Infos in der Antwort stecken.
Wo gewinne ich die meisten Informationen darüber, die am besten zwischen den Materialen unterscheiden, die unter einem Suchbegriff gefunden werden und dem Material, das ich tatsächlich suche?
- WIr schauen, welche Metadaten im Konkreten Fall die Menge der gefundenen Materialen am besten teilt. Ziel: schrittweise Verkleinerung der Menge der gefundenen Materialien. Am besten mit max. 2 Rückfragen.
Was passiert, wenn der Nutzer ein völlig anderes Mindset hat und man aus dem Text keine "vernünftigen" Metadaten extrahieren kann? Sollte dann ein Mensch darauf schauen?
Wenn statt Text nur wichtige Schlagworte angegeben werden, könnte eine KI daraus einen Begleittext erstellen.
Man könnte Default-Metadaten im Profil hinterlegen. Wenn zum Beispiel ein User iimmer nur Mathe-Materialien hochlädt, kann man das als default-Wert hinterlegen. Oder die für den user relevanten Fächer stehen ganz oben in der Auswahlliste.
Wenn jemand keine Lust hat, einen Text zu schreiben und nur die wichtigsten Schlagworte eingibt, kann man diese an ein LLM geben und das erzeugt einen Beschreibungstext. Oder man könnte die Auflösung von Schreibblockaden damit unterstützen, indem eine KI aus den extrahierten Daten einen Vorschlagstext (Textschnipsel) generiert.
Teilung der Gruppe
Erstellung eines ersten Prototypen
Ragflow
- Da es bei dem Prototypen darauf ankommt, dass er auf WLO Wissen zugreift, wurde mit der RAG-Technologie experimentiert.
- ragflow (https://github.com/infiniflow/ragflow) ist eine Open-source RAG-Engine, die laut Eigenbeschreibung auf einem tiefen Dokumentenverständnis basiert.
- Es ist möglich, ragflow lokal zu installieren (per docker), oder online zu testen (http://demo.ragflow.io/)
Knowledge Base
- OpenEduVocabs - die *.ttl-Dateien wurden heruntergeladen und in *.csv umgewandelt, da ragflow keine ttl akzeptiert
- die verwendeten (umgewandelten) Dateien liegen unter: Knowledge Base
- beim Hinzufügen der Dateien zur Knowledge Base ist es wichtig, die “Chunk Method” auf “Table” zu setzen, sonst kommt es zu Fehlermeldungen beim parsing.
- Als Embedding model wurde das (zu diesem Zeitpunkt) als default eingestellte “BAAI/bge-large-zh-v1.5” verwendet
- es erfolgte aus Zeitgründen kein Retrieval testing
- die Knowledge Base bekam den Namen “OpenEduHubVocab”
Chat Configuration
Assisstant Setting | 
| Opener: “Über welche Ressource möchtest Du mit mir sprechen?”
Knowledge Base: OpenEduHubVocab
|
Chat Configuration | 
| Im Wesentlichen wurde mit den default-Werten gearbeitet. Für den prompt probieren wir verschiedene Formulierungen in Kombination mit verschiedenen Sprachmodellen aus. Aus Zeitgründen versuchten wir lediglich eine Optimierung der Antworten und dokumentierten die Beobachtungen nicht.
Beispielprompt, der mit gpt-4 gute Ergebnisse lieferte: “You are an intelligent, curious, interested and patient assistant. Use german language. The user wants to present their educational resource (OER). First the user gives you a input text. Try to reach the goal by finding as much metadata as possible in the input text. For missing informations guide the user through a Dialog. Ask up to five follow-up questions by responding to the user's answers and asking new questions in regard to the goal. Ask one question then wait for the user input and then ask the next question. Goal: The aim of your questions is to generate metadata from all of the user's answers at the end. Metadata should contain at least the discipline, the learningResourceType, the schoolType, the oehTopics. Your answers should take the previous chat history into account. After five follow up questions, output the metadata as key-value pair list. Use the knowledge base for generating the key-value pairs. The output should contain conceptID URIs as keys and prefLabel.de as values from the Knowledge base. If no exact matching to metadata is possible try to find metadata similar as possible. Here is the knowledge base: {knowledge} The above is the knowledge base. ” |
Model Setting | 
| Hier wurde im Wesentlichen mit verschiedenen Sprachmodellen experimentiert. Dank OpenAI-API-Key von metaventis konnten wir viel mit den gpt-Modellen experimentieren. Standardmäßig kann man auf DeepSeek zugreifen. Es ist auch möglich, im Nutzer-Profil (hier Christiane) weitere Modelle hinzuzufügen (z.B. Allama, Gemini, Mistral …). Hierfür sind entsprechende Keys notwendig. Damit habe ich mich im Rahmen des Workshops nicht weiter befasst. |
- Im Rahmen des Workshops haben wir einen Chatbot lokal gebaut und einen auf der Demoseite.
- Für lokale Erfolge ist eine entsprechende Hardware notwendig.
- Die Online-Demoversion scheint nicht alle Features zu unterstützen. Beispielsweise kann man kein Team bilden und mit verschiedenen Accounts an einem Chatbot arbeiten.
Miro-Board
https://miro.com/app/board/uXjVKnh1C58=/
Beschrieben sind hier Programmflow, MetaDoerte und SOERen.
Fotos
Liegen im gemeinsamen Ordner Fotos
Chatbot-PoC
Kann man ausprobieren unter: http://demo.ragflow.io/chat/share?shared_id=ragflow-E5ZThkMjY4NWZhYTExZWY4ZGIwNDIwMT&from=chat
Präsentation
Ws-5 #sc24 Ergebnis Workshop 5