Korpus einlesen: Wikipedia, Duck. AI, ipynb

Korpus einlesen: Wikipedia, Duck. AI, ipynb#

gegeben:

  • Ein Text, der mit Überschriften gegliedert ist: Wikipedia

  • mehrere Chats, wie sie von duck.ai exportiert werden: Duck .AI

  • Ein ipynb, das in Zellen gegliedert ist: ipynb

gesucht:

  • eine Datenstruktur, die uns diese und ähnlich strukturierte Dateien für das weitere Textmining gut zugänglich bereitstellt.

Idee:

Dieses Notebook: Exploration verschiedener und im Detail leicht unterschiedlicher(!) logischer Strukturierungen (aber alle in einem Pandas DataFrame abgelegt).

Zur Diskussion im FWPF Text Mining: Wo wollen wir hin, was benötigen wir?

import pathlib
import pandas as pd

import os
import glob
import json
import regex as re
from zipfile import ZipFile
global_verbose = 2   # 0: keine Info-Ausgabe; 1: minimale informative Info-Ausgabe; 2: ganz viel Debug-Ouptut
default_ngram = 3

Wikipedia#

#https://pypi.org/project/Wikipedia-API/
import wikipediaapi

class Wikipedia_page():
    def __init__(self, page_title, *, verbose = global_verbose):

        self.count = 0

        # API-Client initialisieren, Sprache auf Deutsch setzen
        wiki_wiki = wikipediaapi.Wikipedia(
            user_agent='J.Busse, HAW Landshut, jbusse@jbusse.de', 
            language='de'
        )
    
        self.page = wiki_wiki.page(page_title)
    
        if not self.page.exists():
            print(f"Die Seite '{self.page_title}' wurde nicht gefunden.")
            return
    
        print(f"Seiten-Titel: {self.page.title}")
        print(f"URL: {self.page.fullurl}")
        print("-" * 30)
               
        # Der Einleitungstext vor der ersten Überschrift ist in page.summary oder page.text
        self.sections = {}
        self.sections[ (self.page.fullurl, "0") ] = { "prompt": "summary", "answer": self.page.summary }
        #self.sections[ (self.page.fullurl, f"{self.page.title}_1") ] = { "prompt": "text", "answer": self.page.text }
    
        # print("* Einleitung")
        # print(f"  Inhalt: {page.summary[:100]}...")
        # Alle Hauptsektionen abrufen und ausgeben

        self.count = 1
        self.collect_sections(self.page.sections)

        # our data structure is fine if the following statement gives a meaningful result
        self.df = pd.DataFrame.from_dict(self.sections, orient="index")


    def collect_sections(self, sections, level=0):
        for section in sections:
            sect_id = (self.page.fullurl, f"{self.count}") # {level}_
            self.sections[sect_id] = { "prompt": section.title, "answer": section.text }
            self.count += 1
            if section.sections:
                self.collect_sections(section.sections, level + 1)
    
exmplwikipage = Wikipedia_page("Bodensee")
Seiten-Titel: Bodensee
URL: https://de.wikipedia.org/wiki/Bodensee
------------------------------
exmplwikipage.df
prompt answer
https://de.wikipedia.org/wiki/Bodensee 0 summary Der Bodensee ist ein Binnengewässer im südwest...
1 Geschichte Nach dem Ende der letzten Kaltzeit vor circa 1...
2 Namensgeschichte Der römische Geograph Pomponius Mela nennt um ...
3 Eckdaten zur Geschichte Aus der Altsteinzeit sind keine Funde in unmit...
4 Bodensee auf historischen Landkarten Die älteste Darstellung des Bodensees stammt a...
... ... ...
103 Geschichte Karl Heinz Burmeister: Bodensee. In: Historisc...
104 Reiseführer Andreas Balze, Gerhard Fischer: Bodensee (= Du...
105 Natur und Umwelt Annette Bernauer, Harald Jacoby: Bodensee. Nat...
106 Bildbände Franz X. Bogner: Der Bodensee aus der Luft. St...
107 Weblinks \nLiteratur von und über Bodensee im Katalog d...

108 rows × 2 columns

Duck .AI#

class Chat():
    def __init__(self, path, *, verbose = global_verbose):
        self.path = pathlib.Path(path)

        usertag = [ 'Benutzereingabe', 'Підказка користувача' ]
        
        # alle Elemente aus usertag in eine regex umbauen: 
        # 'Benutzereingabe' ODER 'Підказка користувача' ODER ... 
        regex_usertag = '|'.join(fr'\s+{tag}\s+' for tag in usertag)
        # print(f"DEBUG {regex=}")

        models =  [ 'Claude Haiku 3.5', 'GPT-4o mini', 'GPT-5 mini', 
            'GPT-OSS 120B', 'Llama 4 Scout', 'Mistral Small 3' ]
        # aus der Liste der bekannten Modelle eine regex bauen:
        # Claude Haiku 3.5' ODER 'GPT-4o mini' ODER 'GPT-5 mini' ODER ...
        # (die verfügbaren Modelle müssen dazu bekannt sein)
        regex_models = '|'.join(fr'\s+{tag}:\n' for tag in models) 
        # print(f"DEBUG {regex2=}")
        

        if verbose >=2 : print(f"INFO 11: reading {str(self.path)}", end = "")
        with open(self.path, 
                  "r",  # default
                  encoding="utf-8-sig"  # remove Byte Order Mark (BOM) if necessary
                 ) as p:
            self.fulltext = p.read()
        if verbose >= 2: print(f"... got {len(self.fulltext)} bytes")

        # fulltext in einzelne Frage-Antwort-Interaktionen aufsplitten
        self.raw_sections = re.split(regex_usertag, self.fulltext)

        # duck.ai generiert einen (leidlich uninteressanten) Kopf, der mit "======" endet.
        self.head = self.raw_sections.pop(0)

        # body: Darstellung des Chats als Tabelle
        # Jede Interaktion ist eine Zeile in der Tabelle
        # Implementierung wie bei https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.from_dict.html
        # * initial mit den Spalten prompt, answer
        # * leicht erweiterbar durch zusätzliche Spalten wie clean, n-grams etc.

        self.sections = {}

        # für jede Interaktion
        for i in self.raw_sections:
            timestamp, text = i.split(':\n', 1)  # erste Zeile ist timestamp
            
            sect_id = (path,timestamp)
            self.sections[ sect_id ] = {}
            
            # Aufsplitten in Promt, Answer
            splt = re.split(regex_models, text, maxsplit=1)

            self.sections[ sect_id ]["prompt"] = splt[0]
            self.sections[ sect_id ]["answer"] = splt[1]

        # our data structure is fine if the following statement gives a meaningful result
        # generate a local df in order to show the result of our analysis steps. 
        self.df = pd.DataFrame.from_dict(self.sections, orient="index")
        
    def __repr__(self):
        return f"{str(self.path)} ({len(self.sections)})"

Welche Dateien haben wir?

Begriffliche Grundlagen “Datei”, “Pfad” etc.: https://miguendes.me/python-pathlib#the-anatomy-of-a-pathlibpath, gute Abbildung: https://cdn.hashnode.com/res/hashnode/image/upload/v1635494392030/uomUWH2vC.png

import glob
corpus_folder = "../korpus_2025-10-17/"
corpus_glob_pattern = corpus_folder + "**/*"
files_path = glob.glob( corpus_glob_pattern )
if global_verbose >= 1:
    print(f"INFO 19: {corpus_glob_pattern=} found {len(files_path)} files")
    len(files_path), files_path[0:3]
INFO 19: corpus_glob_pattern='../korpus_2025-10-17/**/*' found 33 files

Für jede Datei aus files_path eine Instanz der Klasse Chats anlegen, in der dann alle Infos zusammengefasst sind.

corpus_list = [ Chat(path, verbose=0) for path in files_path ]
corpus_dict = {}

for chat in corpus_list:
    for sect_id, content in chat.sections.items(): 
        corpus_dict[sect_id] = content

corpus_dict.keys()
dict_keys([('../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-48-19-claude.txt', '1 von 2 - 17.10.2025, 10:47:25'), ('../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-48-19-claude.txt', '2 von 2 - 17.10.2025, 10:47:41'), ('../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-50-29_regex_Claude_Haiku_3_5.txt', '1 з 2 - 17.10.2025, 10:49:54'), ('../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-50-29_regex_Claude_Haiku_3_5.txt', '2 з 2 - 17.10.2025, 10:50:08'), ('../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-51-26_Haiku35.txt', '1 von 2 - 17.10.2025, 10:50:30'), ('../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-51-26_Haiku35.txt', '2 von 2 - 17.10.2025, 10:50:58'), ('../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-48-24_claude-haiku.txt', '1 von 2 - 17.10.2025, 10:47:34'), ('../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-48-24_claude-haiku.txt', '2 von 2 - 17.10.2025, 10:47:56'), ('../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-50-24_regex_Korpus_1_Claude_Haiku_3.5.txt', '1 von 2 - 17.10.2025, 10:49:33'), ('../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-50-24_regex_Korpus_1_Claude_Haiku_3.5.txt', '2 von 2 - 17.10.2025, 10:49:52'), ('../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-46-43-lama.txt', '1 von 2 - 17.10.2025, 10:45:19'), ('../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-46-43-lama.txt', '2 von 2 - 17.10.2025, 10:45:44'), ('../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-07_regex_Llama_4_Scout.txt', '1 з 2 - 17.10.2025, 10:48:41'), ('../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-07_regex_Llama_4_Scout.txt', '2 з 2 - 17.10.2025, 10:48:55'), ('../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-47-37_regex_Korpus_1_Llama_4_Scout.txt', '1 von 2 - 17.10.2025, 10:47:03'), ('../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-47-37_regex_Korpus_1_Llama_4_Scout.txt', '2 von 2 - 17.10.2025, 10:47:16'), ('../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-52_llama4-scout.txt', '1 von 2 - 17.10.2025, 10:49:14'), ('../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-52_llama4-scout.txt', '2 von 2 - 17.10.2025, 10:49:34'), ('../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-42_Scout4.txt', '1 von 2 - 17.10.2025, 10:49:01'), ('../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-42_Scout4.txt', '2 von 2 - 17.10.2025, 10:49:14'), ('../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-44-25_regex_gpt4omini.txt', '1 з 1 - 17.10.2025, 10:44:02'), ('../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-43-30_40mini.txt', '1 von 2 - 17.10.2025, 10:42:02'), ('../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-43-30_40mini.txt', '2 von 2 - 17.10.2025, 10:43:14'), ('../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-51-08-4omini.txt', '1 von 2 - 17.10.2025, 10:50:23'), ('../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-51-08-4omini.txt', '2 von 2 - 17.10.2025, 10:50:50'), ('../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-39-55_regex_Korpus_1_GPT-40_mini.txt', '1 von 2 - 17.10.2025, 10:38:53'), ('../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-39-55_regex_Korpus_1_GPT-40_mini.txt', '2 von 2 - 17.10.2025, 10:39:32'), ('../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-40-04_gpt4o-mini.txt', '1 von 2 - 17.10.2025, 10:39:09'), ('../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-40-04_gpt4o-mini.txt', '2 von 2 - 17.10.2025, 10:39:31'), ('../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-48-20_OSS.txt', '1 von 2 - 17.10.2025, 10:47:29'), ('../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-48-20_OSS.txt', '2 von 2 - 17.10.2025, 10:47:44'), ('../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-45-10_regex_Korpus_1_GPT-OSS_120B.txt', '1 von 2 - 17.10.2025, 10:44:29'), ('../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-45-10_regex_Korpus_1_GPT-OSS_120B.txt', '2 von 2 - 17.10.2025, 10:44:41'), ('../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-47-18_regex_gpt_oss_120B.txt', '1 з 1 - 17.10.2025, 10:46:49'), ('../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-45-12_gptoss.txt', '1 von 2 - 17.10.2025, 10:43:53'), ('../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-45-12_gptoss.txt', '2 von 2 - 17.10.2025, 10:44:15'), ('../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-44-40-GPT-OSS.txt', '1 von 2 - 17.10.2025, 10:43:59'), ('../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-44-40-GPT-OSS.txt', '2 von 2 - 17.10.2025, 10:44:19'), ('../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-49-42-mistral.txt', '1 von 2 - 17.10.2025, 10:49:13'), ('../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-49-42-mistral.txt', '2 von 2 - 17.10.2025, 10:49:27'), ('../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-51-51_regex_Mistral_Small_3.txt', '1 з 2 - 17.10.2025, 10:51:22'), ('../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-51-51_regex_Mistral_Small_3.txt', '2 з 2 - 17.10.2025, 10:51:33'), ('../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-53-02_Mistral3.txt', '1 von 2 - 17.10.2025, 10:52:31'), ('../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-53-02_Mistral3.txt', '2 von 2 - 17.10.2025, 10:52:47'), ('../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-46-42_mistral-small.txt', '1 von 2 - 17.10.2025, 10:46:06'), ('../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-46-42_mistral-small.txt', '2 von 2 - 17.10.2025, 10:46:22'), ('../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-52-14_regex_Korpus_1_Mistral_Small_3.txt', '1 von 2 - 17.10.2025, 10:51:27'), ('../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-52-14_regex_Korpus_1_Mistral_Small_3.txt', '2 von 2 - 17.10.2025, 10:51:43'), ('../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-46-39_5mini.txt', '1 von 2 - 17.10.2025, 10:44:45'), ('../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-46-39_5mini.txt', '2 von 2 - 17.10.2025, 10:45:09'), ('../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-43-00_gpt5-mini.txt', '1 von 2 - 17.10.2025, 10:41:55'), ('../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-43-00_gpt5-mini.txt', '2 von 2 - 17.10.2025, 10:42:31'), ('../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-43-12_regex_Korpus_1_GPT-5_mini.txt', '1 von 2 - 17.10.2025, 10:42:22'), ('../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-43-12_regex_Korpus_1_GPT-5_mini.txt', '2 von 2 - 17.10.2025, 10:42:44'), ('../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-52-33-5mini.txt', '1 von 2 - 17.10.2025, 10:51:47'), ('../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-52-33-5mini.txt', '2 von 2 - 17.10.2025, 10:52:08'), ('../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-45-55_regex_gpt5mini.txt', '1 з 2 - 17.10.2025, 10:45:21'), ('../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-45-55_regex_gpt5mini.txt', '2 з 2 - 17.10.2025, 10:45:32')])
corpus_df = pd.DataFrame.from_dict(corpus_dict, orient="index")
corpus_df.head()
prompt answer
../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-48-19-claude.txt 1 von 2 - 17.10.2025, 10:47:25 Erkläre einem Kind in der Grundschule reguläre... ## Reguläre Ausdrücke für Kinder: Eine spieler...
2 von 2 - 17.10.2025, 10:47:41 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Reguläre Ausdrücke: Eine Tiefenanalyse für ...
../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-50-29_regex_Claude_Haiku_3_5.txt 1 з 2 - 17.10.2025, 10:49:54 Erkläre einem Kind in der Grundschule reguläre... ## Reguläre Ausdrücke für Kinder: Eine spieler...
2 з 2 - 17.10.2025, 10:50:08 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Reguläre Ausdrücke: Formale Theorie und Pra...
../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-51-26_Haiku35.txt 1 von 2 - 17.10.2025, 10:50:30 Erkläre einem Kind in der Grundschule reguläre... ## Reguläre Ausdrücke für Kinder: Eine einfach...
corpus_df.index
MultiIndex([(                         '../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-48-19-claude.txt', ...),
            (                         '../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-48-19-claude.txt', ...),
            (         '../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-50-29_regex_Claude_Haiku_3_5.txt', ...),
            (         '../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-50-29_regex_Claude_Haiku_3_5.txt', ...),
            (                        '../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-51-26_Haiku35.txt', ...),
            (                        '../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-51-26_Haiku35.txt', ...),
            (                   '../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-48-24_claude-haiku.txt', ...),
            (                   '../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-48-24_claude-haiku.txt', ...),
            ('../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-50-24_regex_Korpus_1_Claude_Haiku_3.5.txt', ...),
            ('../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-50-24_regex_Korpus_1_Claude_Haiku_3.5.txt', ...),
            (                              '../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-46-43-lama.txt', ...),
            (                              '../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-46-43-lama.txt', ...),
            (               '../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-07_regex_Llama_4_Scout.txt', ...),
            (               '../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-07_regex_Llama_4_Scout.txt', ...),
            (      '../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-47-37_regex_Korpus_1_Llama_4_Scout.txt', ...),
            (      '../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-47-37_regex_Korpus_1_Llama_4_Scout.txt', ...),
            (                      '../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-52_llama4-scout.txt', ...),
            (                      '../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-52_llama4-scout.txt', ...),
            (                            '../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-42_Scout4.txt', ...),
            (                            '../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-42_Scout4.txt', ...),
            (                     '../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-44-25_regex_gpt4omini.txt', ...),
            (                              '../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-43-30_40mini.txt', ...),
            (                              '../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-43-30_40mini.txt', ...),
            (                              '../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-51-08-4omini.txt', ...),
            (                              '../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-51-08-4omini.txt', ...),
            (          '../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-39-55_regex_Korpus_1_GPT-40_mini.txt', ...),
            (          '../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-39-55_regex_Korpus_1_GPT-40_mini.txt', ...),
            (                          '../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-40-04_gpt4o-mini.txt', ...),
            (                          '../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-40-04_gpt4o-mini.txt', ...),
            (                                '../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-48-20_OSS.txt', ...),
            (                                '../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-48-20_OSS.txt', ...),
            (        '../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-45-10_regex_Korpus_1_GPT-OSS_120B.txt', ...),
            (        '../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-45-10_regex_Korpus_1_GPT-OSS_120B.txt', ...),
            (                 '../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-47-18_regex_gpt_oss_120B.txt', ...),
            (                             '../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-45-12_gptoss.txt', ...),
            (                             '../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-45-12_gptoss.txt', ...),
            (                            '../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-44-40-GPT-OSS.txt', ...),
            (                            '../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-44-40-GPT-OSS.txt', ...),
            (                         '../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-49-42-mistral.txt', ...),
            (                         '../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-49-42-mistral.txt', ...),
            (           '../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-51-51_regex_Mistral_Small_3.txt', ...),
            (           '../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-51-51_regex_Mistral_Small_3.txt', ...),
            (                        '../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-53-02_Mistral3.txt', ...),
            (                        '../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-53-02_Mistral3.txt', ...),
            (                   '../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-46-42_mistral-small.txt', ...),
            (                   '../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-46-42_mistral-small.txt', ...),
            (  '../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-52-14_regex_Korpus_1_Mistral_Small_3.txt', ...),
            (  '../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-52-14_regex_Korpus_1_Mistral_Small_3.txt', ...),
            (                                '../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-46-39_5mini.txt', ...),
            (                                '../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-46-39_5mini.txt', ...),
            (                            '../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-43-00_gpt5-mini.txt', ...),
            (                            '../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-43-00_gpt5-mini.txt', ...),
            (            '../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-43-12_regex_Korpus_1_GPT-5_mini.txt', ...),
            (            '../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-43-12_regex_Korpus_1_GPT-5_mini.txt', ...),
            (                                '../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-52-33-5mini.txt', ...),
            (                                '../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-52-33-5mini.txt', ...),
            (                       '../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-45-55_regex_gpt5mini.txt', ...),
            (                       '../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-45-55_regex_gpt5mini.txt', ...)],
           )

Für Debug- und Demo-Zwecke wollen wir uns eine beliebige, aber feste Instanz herauspicken:

example_chat = corpus_list[0]
example_chat.sections
{('../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-48-19-claude.txt',
  '1 von 2 - 17.10.2025, 10:47:25'): {'prompt': 'Erkläre einem Kind in der Grundschule reguläre Ausdrücke',
  'answer': '## Reguläre Ausdrücke für Kinder: Eine spielerische Erklärung\n\n### Was sind reguläre Ausdrücke?\n\nStell dir vor, reguläre Ausdrücke sind wie <b>magische Suchzauber für Buchstaben und Wörter</b>. Sie helfen uns, ganz genau zu suchen und zu finden, was wir möchten - fast wie ein Detektiv, der einen geheimen Code knackt!\n\n### Einfache Erklärung mit einem Beispiel\n\nLass uns das mit einem Spiel erklären:\n\n#### Der Buchstaben-Schatzsuche-Zauber\n\nAngenommen, du möchtest in deinen Lieblingsbüchern nach Wörtern suchen:\n\n- <b>*a*</b> findet alle Wörter mit dem Buchstaben "a"\n- <b>*haus*</b> findet Wörter wie "Haus", "Bauhaus", "Hausaufgabe"\n- <b>*tier*</b> findet "Tier", "Abenteuer", "Viereck"\n\n### Lustige Suchregeln\n\n1. Manche Zeichen sind wie Joker:\n   - <b>*</b> bedeutet: Egal wie viele Buchstaben kommen\n   - <b>?</b> bedeutet: Genau ein Buchstabe kann hier stehen\n\n### Vergleich mit einem Detektivspiel\n\nStell dir vor, du bist ein Detektiv, der Wörter aufspürt:\n- Du suchst nach Wörtern mit genau 5 Buchstaben\n- Du willst nur Wörter finden, die mit "Sch" beginnen\n- Du möchtest alle Wörter finden, die auf "ung" enden\n\n### Praktisches Beispiel\n\nWenn du in deinen Hausaufgaben nach allen Wörtern mit "Schule" suchen möchtest:\n- <b>*Schule*</b> findet: Schule, Grundschule, Schulerfolg\n\n<hr>\n\n### Warum sind reguläre Ausdrücke cool?\n\n- Sie helfen beim <b>schnellen Suchen</b>\n- Sie sind wie ein <b>Zauberstab für Buchstaben</b>\n- Man kann ganz genau festlegen, wonach man sucht\n\nDenk an reguläre Ausdrücke wie an einen Detektiv-Trick, mit dem du Wörter wie ein Superheld finden kannst!\n\n--------------------'},
 ('../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-48-19-claude.txt',
  '2 von 2 - 17.10.2025, 10:47:41'): {'prompt': 'Erkläre auf Hochschulniveau reguläre Ausdrücke',
  'answer': '## Reguläre Ausdrücke: Eine Tiefenanalyse für Informatiker und Softwareentwickler\n\n### Theoretische Grundlagen\n\n<b>Reguläre Ausdrücke (RegEx) sind eine formale Sprache zur Mustererkennung und Textverarbeitung</b>, die direkt aus der Automatentheorie und formalen Sprachen der theoretischen Informatik stammen.\n\n### Mathematische Fundierung\n\n| Konzept | Technische Beschreibung | Formale Notation |\n|---------|-------------------------|-----------------|\n| <b>Alphabet</b> | Endliche Menge von Zeichen | Σ = {a, b, c, ...} |\n| <b>Reguläre Sprache</b> | Durch einen endlichen Automaten erkennbare Sprache | L ⊆ Σ* |\n| <b>Kleene-Stern</b> | Wiederholung eines Musters 0-n-mal | r* |\n| <b>Konkatenation</b> | Verkettung von Mustern | r1 · r2 |\n\n### Theoretische Eigenschaften\n\n1. <b>Äquivalenz zu endlichen Automaten</b>\n   - Jeder reguläre Ausdruck kann in einen deterministischen endlichen Automaten (DFA) transformiert werden\n   - Umgekehrt kann jeder DFA in einen regulären Ausdruck umgewandelt werden\n\n2. <b>Komplexitätsklasse</b>\n   - Reguläre Ausdrücke gehören zur Klasse der regulären Sprachen (Typ-3 in der Chomsky-Hierarchie)\n   - Polynomiale Zeitkomplexität bei der Mustererkennung\n\n### Implementierungsaspekte\n\n#### Syntaktische Konstrukte\n\n```\n. (Punkt)       - Beliebiges einzelnes Zeichen\n* (Stern)       - 0-n Wiederholungen\n+ (Plus)        - 1-n Wiederholungen\n? (Fragezeichen)- 0-1 Vorkommen\n^ (Caret)       - Zeilenanfang\n$ (Dollar)      - Zeilenende\n[ ]             - Zeichenklasse\n( )             - Gruppierung\n| (Pipe)        - Alternation\n```\n\n#### Fortgeschrittene Matching-Techniken\n\n- <b>Greedy Matching</b>: Maximale Übereinstimmung\n- <b>Non-Greedy Matching</b>: Minimale Übereinstimmung\n- <b>Lookbehind und Lookahead</b>: Kontextabhängige Suche ohne Konsumption\n\n### Performanz-Optimierung\n\n<b>Herausforderungen bei komplexen regulären Ausdrücken</b>:\n- Backtracking-Problematik\n- Exponentieller Zeitaufwand bei bestimmten Mustern\n- Verwendung von Compile-Zeit-Optimierungen\n\n### Praxisbeispiel in Python\n\n```python\nimport re\n\n# E-Mail-Validierung\nemail_pattern = r\'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$\'\n\ndef validate_email(email):\n    return re.match(email_pattern, email) is not None\n\n# Komplexe Extraktion\ntext = "Kontakt: user@example.com und admin@system.org"\nemails = re.findall(r\'\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b\', text)\n```\n\n### Theoretische Grenzen\n\n<b>Reguläre Ausdrücke können nicht:</b>\n- Verschachtelte Strukturen parsen\n- Rekursive Muster erkennen\n- Kontextfreie Grammatiken vollständig abbilden\n\n<hr>\n\n### Weiterführende Konz'}}
example_chat.df
prompt answer
../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-48-19-claude.txt 1 von 2 - 17.10.2025, 10:47:25 Erkläre einem Kind in der Grundschule reguläre... ## Reguläre Ausdrücke für Kinder: Eine spieler...
2 von 2 - 17.10.2025, 10:47:41 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Reguläre Ausdrücke: Eine Tiefenanalyse für ...

Weitere Spalten erzeugen#

Typische Aufgabe: In einem (hier natürlichsprachlichen) Text sollen nur noch sinntragende alphanumerische Zeichen enthalten sein. Alle anderen Zeichen – insbesondere Sonderzeichen, aber auch “seltsame” utf8-Zeichen etc. – sollen duech Leerzeichen ersetzt werden.

def clean(text):
    """Remove chars that are not isalnum(); condense subsequent spaces."""
    def alnum(x): return x if x.isalnum() else " "
    cleaned = "".join( alnum(c) for c in text)
    return " ".join(  [ word for word in cleaned.split() if len(word) > 1 ] )
corpus_df['cleaned'] = corpus_df['answer'].apply(clean)
corpus_df
prompt answer cleaned
../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-48-19-claude.txt 1 von 2 - 17.10.2025, 10:47:25 Erkläre einem Kind in der Grundschule reguläre... ## Reguläre Ausdrücke für Kinder: Eine spieler... Reguläre Ausdrücke für Kinder Eine spielerisch...
2 von 2 - 17.10.2025, 10:47:41 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Reguläre Ausdrücke: Eine Tiefenanalyse für ... Reguläre Ausdrücke Eine Tiefenanalyse für Info...
../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-50-29_regex_Claude_Haiku_3_5.txt 1 з 2 - 17.10.2025, 10:49:54 Erkläre einem Kind in der Grundschule reguläre... ## Reguläre Ausdrücke für Kinder: Eine spieler... Reguläre Ausdrücke für Kinder Eine spielerisch...
2 з 2 - 17.10.2025, 10:50:08 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Reguläre Ausdrücke: Formale Theorie und Pra... Reguläre Ausdrücke Formale Theorie und Praktis...
../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-51-26_Haiku35.txt 1 von 2 - 17.10.2025, 10:50:30 Erkläre einem Kind in der Grundschule reguläre... ## Reguläre Ausdrücke für Kinder: Eine einfach... Reguläre Ausdrücke für Kinder Eine einfache Er...
2 von 2 - 17.10.2025, 10:50:58 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Reguläre Ausdrücke: Eine Tiefenanalyse für ... Reguläre Ausdrücke Eine Tiefenanalyse für Info...
../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-48-24_claude-haiku.txt 1 von 2 - 17.10.2025, 10:47:34 Erkläre einem Kind in der Grundschule reguläre... ## Reguläre Ausdrücke für Kinder: Eine spieler... Reguläre Ausdrücke für Kinder Eine spielerisch...
2 von 2 - 17.10.2025, 10:47:56 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Reguläre Ausdrücke: Eine Tiefenanalyse der ... Reguläre Ausdrücke Eine Tiefenanalyse der form...
../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-50-24_regex_Korpus_1_Claude_Haiku_3.5.txt 1 von 2 - 17.10.2025, 10:49:33 Erkläre einem Kind in der Grundschule reguläre... ## Reguläre Ausdrücke für Kinder: Eine spieler... Reguläre Ausdrücke für Kinder Eine spielerisch...
2 von 2 - 17.10.2025, 10:49:52 Erkläre auf Hochschulniveau reguläre Ausdrücke. ## Reguläre Ausdrücke: Eine Formale Analyse\n\... Reguläre Ausdrücke Eine Formale Analyse Theore...
../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-46-43-lama.txt 1 von 2 - 17.10.2025, 10:45:19 Erkläre einem Kind in der Grundschule reguläre... Hallo!\n\nStell dir vor, du hast eine große Sc... Hallo Stell dir vor du hast eine große Schatzk...
2 von 2 - 17.10.2025, 10:45:44 Erkläre auf Hochschulniveau reguläre Ausdrücke **Einführung in reguläre Ausdrücke**\n\nRegulä... Einführung in reguläre Ausdrücke Reguläre Ausd...
../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-07_regex_Llama_4_Scout.txt 1 з 2 - 17.10.2025, 10:48:41 Erkläre einem Kind in der Grundschule reguläre... Hallo!\n\nStell dir vor, du hast eine große Sc... Hallo Stell dir vor du hast eine große Schatzk...
2 з 2 - 17.10.2025, 10:48:55 Erkläre auf Hochschulniveau reguläre Ausdrücke **Einführung in reguläre Ausdrücke**\n\nRegulä... Einführung in reguläre Ausdrücke Reguläre Ausd...
../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-47-37_regex_Korpus_1_Llama_4_Scout.txt 1 von 2 - 17.10.2025, 10:47:03 Erkläre einem Kind in der Grundschule reguläre... Hallo!\n\nStell dir vor, du hast eine große Sc... Hallo Stell dir vor du hast eine große Schatzk...
2 von 2 - 17.10.2025, 10:47:16 Erkläre auf Hochschulniveau reguläre Ausdrücke. **Einführung in reguläre Ausdrücke**\n\nRegulä... Einführung in reguläre Ausdrücke Reguläre Ausd...
../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-52_llama4-scout.txt 1 von 2 - 17.10.2025, 10:49:14 Erkläre einem Kind in der Grundschule reguläre... Hallo!\n\nStell dir vor, du hast eine große Sc... Hallo Stell dir vor du hast eine große Schatzk...
2 von 2 - 17.10.2025, 10:49:34 Erkläre auf Hochschulniveau reguläre Ausdrücke **Einführung in reguläre Ausdrücke**\n\nRegulä... Einführung in reguläre Ausdrücke Reguläre Ausd...
../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-42_Scout4.txt 1 von 2 - 17.10.2025, 10:49:01 Erkläre einem Kind in der Grundschule reguläre... Hallo!\n\nStell dir vor, du hast eine große Sc... Hallo Stell dir vor du hast eine große Schatzk...
2 von 2 - 17.10.2025, 10:49:14 Erkläre auf Hochschulniveau reguläre Ausdrücke **Einführung in reguläre Ausdrücke**\n\nRegulä... Einführung in reguläre Ausdrücke Reguläre Ausd...
../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-44-25_regex_gpt4omini.txt 1 з 1 - 17.10.2025, 10:44:02 Erkläre einem Kind in der Grundschule reguläre... ## Reguläre Ausdrücke erklärt für Grundschulki... Reguläre Ausdrücke erklärt für Grundschulkinde...
../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-43-30_40mini.txt 1 von 2 - 17.10.2025, 10:42:02 Erkläre einem Kind in der Grundschule reguläre... ## Was sind reguläre Ausdrücke?\n\n**Reguläre ... Was sind reguläre Ausdrücke Reguläre Ausdrücke...
2 von 2 - 17.10.2025, 10:43:14 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Definition und Grundlagen von regulären Aus... Definition und Grundlagen von regulären Ausdrü...
../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-51-08-4omini.txt 1 von 2 - 17.10.2025, 10:50:23 Erkläre einem Kind in der Grundschule reguläre... ## Was sind reguläre Ausdrücke?\n\nReguläre Au... Was sind reguläre Ausdrücke Reguläre Ausdrücke...
2 von 2 - 17.10.2025, 10:50:50 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Einführung in reguläre Ausdrücke\n\nRegulär... Einführung in reguläre Ausdrücke Reguläre Ausd...
../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-39-55_regex_Korpus_1_GPT-40_mini.txt 1 von 2 - 17.10.2025, 10:38:53 Erkläre einem Kind in der Grundschule reguläre... Reguläre Ausdrücke sind wie spezielle Geheimbo... Reguläre Ausdrücke sind wie spezielle Geheimbo...
2 von 2 - 17.10.2025, 10:39:32 Erkläre auf Hochschulniveau reguläre Ausdrücke. Reguläre Ausdrücke (Regular Expressions, oft a... Reguläre Ausdrücke Regular Expressions oft abg...
../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-40-04_gpt4o-mini.txt 1 von 2 - 17.10.2025, 10:39:09 Erkläre einem Kind in der Grundschule reguläre... ## Was sind reguläre Ausdrücke?\n\nReguläre Au... Was sind reguläre Ausdrücke Reguläre Ausdrücke...
2 von 2 - 17.10.2025, 10:39:31 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Definition regulärer Ausdrücke\n\nReguläre ... Definition regulärer Ausdrücke Reguläre Ausdrü...
../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-48-20_OSS.txt 1 von 2 - 17.10.2025, 10:47:29 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast einen riesigen Kasten v... Stell dir vor du hast einen riesigen Kasten vo...
2 von 2 - 17.10.2025, 10:47:44 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Grundlagen\n\nEin **regulärer Ausdruck** (R... Grundlagen Ein regulärer Ausdruck Regular Expr...
../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-45-10_regex_Korpus_1_GPT-OSS_120B.txt 1 von 2 - 17.10.2025, 10:44:29 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast einen **Zauberstift**, ... Stell dir vor du hast einen Zauberstift mit de...
2 von 2 - 17.10.2025, 10:44:41 Erkläre auf Hochschulniveau reguläre Ausdrücke. ## Grundlagen\n\nEin **regulärer Ausdruck** (R... Grundlagen Ein regulärer Ausdruck Regular Expr...
../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-47-18_regex_gpt_oss_120B.txt 1 з 1 - 17.10.2025, 10:46:49 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast einen großen Kasten mit... Stell dir vor du hast einen großen Kasten mit ...
../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-45-12_gptoss.txt 1 von 2 - 17.10.2025, 10:43:53 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast einen großen Kasten mit... Stell dir vor du hast einen großen Kasten mit ...
2 von 2 - 17.10.2025, 10:44:15 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Grundlagen\n\nEin **regulärer Ausdruck** (R... Grundlagen Ein regulärer Ausdruck Regular Expr...
../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-44-40-GPT-OSS.txt 1 von 2 - 17.10.2025, 10:43:59 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast ein großes Blatt Papier... Stell dir vor du hast ein großes Blatt Papier ...
2 von 2 - 17.10.2025, 10:44:19 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Grundlagen\n\nEin **regulärer Ausdruck** (e... Grundlagen Ein regulärer Ausdruck engl regular...
../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-49-42-mistral.txt 1 von 2 - 17.10.2025, 10:49:13 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast eine magische Lupe, die... Stell dir vor du hast eine magische Lupe die d...
2 von 2 - 17.10.2025, 10:49:27 Erkläre auf Hochschulniveau reguläre Ausdrücke Reguläre Ausdrücke (RegEx) sind eine mächtige ... Reguläre Ausdrücke RegEx sind eine mächtige un...
../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-51-51_regex_Mistral_Small_3.txt 1 з 2 - 17.10.2025, 10:51:22 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast eine magische Lupe, die... Stell dir vor du hast eine magische Lupe die d...
2 з 2 - 17.10.2025, 10:51:33 Erkläre auf Hochschulniveau reguläre Ausdrücke Reguläre Ausdrücke (RegEx) sind eine mächtige ... Reguläre Ausdrücke RegEx sind eine mächtige un...
../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-53-02_Mistral3.txt 1 von 2 - 17.10.2025, 10:52:31 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast eine magische Lupe, die... Stell dir vor du hast eine magische Lupe die d...
2 von 2 - 17.10.2025, 10:52:47 Erkläre auf Hochschulniveau reguläre Ausdrücke Reguläre Ausdrücke (RegEx) sind eine mächtige ... Reguläre Ausdrücke RegEx sind eine mächtige un...
../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-46-42_mistral-small.txt 1 von 2 - 17.10.2025, 10:46:06 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast eine magische Lupe, die... Stell dir vor du hast eine magische Lupe die d...
2 von 2 - 17.10.2025, 10:46:22 Erkläre auf Hochschulniveau reguläre Ausdrücke Reguläre Ausdrücke (RegEx) sind eine mächtige ... Reguläre Ausdrücke RegEx sind eine mächtige un...
../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-52-14_regex_Korpus_1_Mistral_Small_3.txt 1 von 2 - 17.10.2025, 10:51:27 Erkläre einem Kind in der Grundschule reguläre... Reguläre Ausdrücke sind wie eine Art Geheimspr... Reguläre Ausdrücke sind wie eine Art Geheimspr...
2 von 2 - 17.10.2025, 10:51:43 Erkläre auf Hochschulniveau reguläre Ausdrücke. Reguläre Ausdrücke (RegEx) sind eine mächtige ... Reguläre Ausdrücke RegEx sind eine mächtige un...
../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-46-39_5mini.txt 1 von 2 - 17.10.2025, 10:44:45 Erkläre einem Kind in der Grundschule reguläre... Reguläre Ausdrücke (oder Regex) sind eine kurz... Reguläre Ausdrücke oder Regex sind eine kurze ...
2 von 2 - 17.10.2025, 10:45:09 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Überblick und formale Definition\nEin regul... Überblick und formale Definition Ein regulärer...
../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-43-00_gpt5-mini.txt 1 von 2 - 17.10.2025, 10:41:55 Erkläre einem Kind in der Grundschule reguläre... Reguläre Ausdrücke (oft „Regex“ genannt) sind ... Reguläre Ausdrücke oft Regex genannt sind wie ...
2 von 2 - 17.10.2025, 10:42:31 Erkläre auf Hochschulniveau reguläre Ausdrücke Hier eine präzise, formale Einführung in regul... Hier eine präzise formale Einführung in regulä...
../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-43-12_regex_Korpus_1_GPT-5_mini.txt 1 von 2 - 17.10.2025, 10:42:22 Erkläre einem Kind in der Grundschule reguläre... Reguläre Ausdrücke (Regex) sind wie eine Schat... Reguläre Ausdrücke Regex sind wie eine Schatzk...
2 von 2 - 17.10.2025, 10:42:44 Erkläre auf Hochschulniveau reguläre Ausdrücke. ## Definition und formale Syntax\nEin reguläre... Definition und formale Syntax Ein regulärer Au...
../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-52-33-5mini.txt 1 von 2 - 17.10.2025, 10:51:47 Erkläre einem Kind in der Grundschule reguläre... Reguläre Ausdrücke (oder "Regex") sind wie ein... Reguläre Ausdrücke oder Regex sind wie eine Sc...
2 von 2 - 17.10.2025, 10:52:08 Erkläre auf Hochschulniveau reguläre Ausdrücke Reguläre Ausdrücke — formale Übersicht (Hochsc... Reguläre Ausdrücke formale Übersicht Hochschul...
../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-45-55_regex_gpt5mini.txt 1 з 2 - 17.10.2025, 10:45:21 Erkläre einem Kind in der Grundschule reguläre... Reguläre Ausdrücke (oder „Regex“) sind wie ein... Reguläre Ausdrücke oder Regex sind wie eine Sc...
2 з 2 - 17.10.2025, 10:45:32 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Überblick und Definition\nEin regulärer Aus... Überblick und Definition Ein regulärer Ausdruc...

Füge auf Basis der gesäuberten Antworten die entsprechenden 3-Gramm-Sets hinzu

def n_gram_set(text, n=3):
    """return lowercase n-grams based on text"""
    return { text[i:i+n].lower() for i in range(0, len(text)-n+1) }
#n_gram_set("abcdabc")
corpus_df['3gram'] = corpus_df['cleaned'].apply(n_gram_set)
corpus_df
prompt answer cleaned 3gram
../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-48-19-claude.txt 1 von 2 - 17.10.2025, 10:47:25 Erkläre einem Kind in der Grundschule reguläre... ## Reguläre Ausdrücke für Kinder: Eine spieler... Reguläre Ausdrücke für Kinder Eine spielerisch... {or , us , lls, ige, nde, zei, e a, kt , da, ...
2 von 2 - 17.10.2025, 10:47:41 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Reguläre Ausdrücke: Eine Tiefenanalyse für ... Reguläre Ausdrücke Eine Tiefenanalyse für Info... {us , r1, bar, t u, zen, siv, r t, lls, ige, ...
../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-50-29_regex_Claude_Haiku_3_5.txt 1 з 2 - 17.10.2025, 10:49:54 Erkläre einem Kind in der Grundschule reguläre... ## Reguläre Ausdrücke für Kinder: Eine spieler... Reguläre Ausdrücke für Kinder Eine spielerisch... {or , us , ymb, ese, ige, dan, nde, bol, zei, ...
2 з 2 - 17.10.2025, 10:50:08 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Reguläre Ausdrücke: Formale Theorie und Pra... Reguläre Ausdrücke Formale Theorie und Praktis... {us , log, r1, ymb, bar, zen, siv, r t, ige, ...
../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-51-26_Haiku35.txt 1 von 2 - 17.10.2025, 10:50:30 Erkläre einem Kind in der Grundschule reguläre... ## Reguläre Ausdrücke für Kinder: Eine einfach... Reguläre Ausdrücke für Kinder Eine einfache Er... {or , us , zen, am, ese, ige, nde, erb, zei, ...
2 von 2 - 17.10.2025, 10:50:58 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Reguläre Ausdrücke: Eine Tiefenanalyse für ... Reguläre Ausdrücke Eine Tiefenanalyse für Info... {us , or , ymb, bar, zen, siv, r t, oko, tat, ...
../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-48-24_claude-haiku.txt 1 von 2 - 17.10.2025, 10:47:34 Erkläre einem Kind in der Grundschule reguläre... ## Reguläre Ausdrücke für Kinder: Eine spieler... Reguläre Ausdrücke für Kinder Eine spielerisch... {or , us , ymb, zen, r t, ese, nde, bol, zei, ...
2 von 2 - 17.10.2025, 10:47:56 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Reguläre Ausdrücke: Eine Tiefenanalyse der ... Reguläre Ausdrücke Eine Tiefenanalyse der form... {us , log, ant, lls, r t, ese, tat, gsa, nde, ...
../korpus_2025-10-17/claude-haiku-3.5/duck.ai_2025-10-17_10-50-24_regex_Korpus_1_Claude_Haiku_3.5.txt 1 von 2 - 17.10.2025, 10:49:33 Erkläre einem Kind in der Grundschule reguläre... ## Reguläre Ausdrücke für Kinder: Eine spieler... Reguläre Ausdrücke für Kinder Eine spielerisch... {or , zen, r t, oße, ese, ige, nde, zei, ise, ...
2 von 2 - 17.10.2025, 10:49:52 Erkläre auf Hochschulniveau reguläre Ausdrücke. ## Reguläre Ausdrücke: Eine Formale Analyse\n\... Reguläre Ausdrücke Eine Formale Analyse Theore... {log, ymb, bar, ant, zen, siv, r t, ige, tat, ...
../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-46-43-lama.txt 1 von 2 - 17.10.2025, 10:45:19 Erkläre einem Kind in der Grundschule reguläre... Hallo!\n\nStell dir vor, du hast eine große Sc... Hallo Stell dir vor du hast eine große Schatzk... {or , us , t u, am, oße, ese, ige, l k, nde, ...
2 von 2 - 17.10.2025, 10:45:44 Erkläre auf Hochschulniveau reguläre Ausdrücke **Einführung in reguläre Ausdrücke**\n\nRegulä... Einführung in reguläre Ausdrücke Reguläre Ausd... {us , ner, t u, zen, ese, ige, nde, üfe, jjj, ...
../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-07_regex_Llama_4_Scout.txt 1 з 2 - 17.10.2025, 10:48:41 Erkläre einem Kind in der Grundschule reguläre... Hallo!\n\nStell dir vor, du hast eine große Sc... Hallo Stell dir vor du hast eine große Schatzk... {or , us , t u, am, oße, ese, ige, l k, nde, ...
2 з 2 - 17.10.2025, 10:48:55 Erkläre auf Hochschulniveau reguläre Ausdrücke **Einführung in reguläre Ausdrücke**\n\nRegulä... Einführung in reguläre Ausdrücke Reguläre Ausd... {us , h i, ner, äuf, zen, rfa, t u, ige, nde, ...
../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-47-37_regex_Korpus_1_Llama_4_Scout.txt 1 von 2 - 17.10.2025, 10:47:03 Erkläre einem Kind in der Grundschule reguläre... Hallo!\n\nStell dir vor, du hast eine große Sc... Hallo Stell dir vor du hast eine große Schatzk... {or , us , t u, am, oße, ese, ige, nde, zei, ...
2 von 2 - 17.10.2025, 10:47:16 Erkläre auf Hochschulniveau reguläre Ausdrücke. **Einführung in reguläre Ausdrücke**\n\nRegulä... Einführung in reguläre Ausdrücke Reguläre Ausd... {us , h i, ner, t u, ige, nde, jjj, spr, zei, ...
../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-52_llama4-scout.txt 1 von 2 - 17.10.2025, 10:49:14 Erkläre einem Kind in der Grundschule reguläre... Hallo!\n\nStell dir vor, du hast eine große Sc... Hallo Stell dir vor du hast eine große Schatzk... {or , us , ysi, t u, r t, oße, ese, ige, dan, ...
2 von 2 - 17.10.2025, 10:49:34 Erkläre auf Hochschulniveau reguläre Ausdrücke **Einführung in reguläre Ausdrücke**\n\nRegulä... Einführung in reguläre Ausdrücke Reguläre Ausd... {us , iot, ner, ngr, am, r t, ese, ige, rs , ...
../korpus_2025-10-17/llama-4-scout/duck.ai_2025-10-17_10-49-42_Scout4.txt 1 von 2 - 17.10.2025, 10:49:01 Erkläre einem Kind in der Grundschule reguläre... Hallo!\n\nStell dir vor, du hast eine große Sc... Hallo Stell dir vor du hast eine große Schatzk... {or , us , t u, am, oße, ese, ige, l k, nde, ...
2 von 2 - 17.10.2025, 10:49:14 Erkläre auf Hochschulniveau reguläre Ausdrücke **Einführung in reguläre Ausdrücke**\n\nRegulä... Einführung in reguläre Ausdrücke Reguläre Ausd... {us , dte, iot, ner, äuf, ant, t u, zen, rfa, ...
../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-44-25_regex_gpt4omini.txt 1 з 1 - 17.10.2025, 10:44:02 Erkläre einem Kind in der Grundschule reguläre... ## Reguläre Ausdrücke erklärt für Grundschulki... Reguläre Ausdrücke erklärt für Grundschulkinde... {or , zen, r t, oße, nü, ige, tat, dan, l k, ...
../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-43-30_40mini.txt 1 von 2 - 17.10.2025, 10:42:02 Erkläre einem Kind in der Grundschule reguläre... ## Was sind reguläre Ausdrücke?\n\n**Reguläre ... Was sind reguläre Ausdrücke Reguläre Ausdrücke... {or , us , ner, zen, oße, nü, ige, dan, nde, ...
2 von 2 - 17.10.2025, 10:43:14 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Definition und Grundlagen von regulären Aus... Definition und Grundlagen von regulären Ausdrü... {or , us , h i, ysi, ymb, ner, bar, t u, zen, ...
../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-51-08-4omini.txt 1 von 2 - 17.10.2025, 10:50:23 Erkläre einem Kind in der Grundschule reguläre... ## Was sind reguläre Ausdrücke?\n\nReguläre Au... Was sind reguläre Ausdrücke Reguläre Ausdrücke... {or , us , ysi, t u, oße, ese, nü, dan, nde, ...
2 von 2 - 17.10.2025, 10:50:50 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Einführung in reguläre Ausdrücke\n\nRegulär... Einführung in reguläre Ausdrücke Reguläre Ausd... {us , log, dte, ner, bar, äuf, ant, t u, zen, ...
../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-39-55_regex_Korpus_1_GPT-40_mini.txt 1 von 2 - 17.10.2025, 10:38:53 Erkläre einem Kind in der Grundschule reguläre... Reguläre Ausdrücke sind wie spezielle Geheimbo... Reguläre Ausdrücke sind wie spezielle Geheimbo... {or , ner, zen, ant, oße, nü, ige, ese, oko, ...
2 von 2 - 17.10.2025, 10:39:32 Erkläre auf Hochschulniveau reguläre Ausdrücke. Reguläre Ausdrücke (Regular Expressions, oft a... Reguläre Ausdrücke Regular Expressions oft abg... {log, us , ymb, ner, bar, t u, zen, äuf, rfa, ...
../korpus_2025-10-17/gpt-4o-mini/duck.ai_2025-10-17_10-40-04_gpt4o-mini.txt 1 von 2 - 17.10.2025, 10:39:09 Erkläre einem Kind in der Grundschule reguläre... ## Was sind reguläre Ausdrücke?\n\nReguläre Au... Was sind reguläre Ausdrücke Reguläre Ausdrücke... {us , zen, ant, oße, nü, ige, nde, rne, spr, ...
2 von 2 - 17.10.2025, 10:39:31 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Definition regulärer Ausdrücke\n\nReguläre ... Definition regulärer Ausdrücke Reguläre Ausdrü... {us , dte, bar, äuf, ant, t u, zen, oße, oko, ...
../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-48-20_OSS.txt 1 von 2 - 17.10.2025, 10:47:29 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast einen riesigen Kasten v... Stell dir vor du hast einen riesigen Kasten vo... {or , us , ner, t u, zen, lls, r t, ige, dan, ...
2 von 2 - 17.10.2025, 10:47:44 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Grundlagen\n\nEin **regulärer Ausdruck** (R... Grundlagen Ein regulärer Ausdruck Regular Expr... {us , log, h i, ymb, iot, ner, heb, t u, zen, ...
../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-45-10_regex_Korpus_1_GPT-OSS_120B.txt 1 von 2 - 17.10.2025, 10:44:29 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast einen **Zauberstift**, ... Stell dir vor du hast einen Zauberstift mit de... {or , ner, zen, lls, ese, ige, dan, nde, og , ...
2 von 2 - 17.10.2025, 10:44:41 Erkläre auf Hochschulniveau reguläre Ausdrücke. ## Grundlagen\n\nEin **regulärer Ausdruck** (R... Grundlagen Ein regulärer Ausdruck Regular Expr... {us , or , h i, ymb, ner, bar, äuf, ant, lls, ...
../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-47-18_regex_gpt_oss_120B.txt 1 з 1 - 17.10.2025, 10:46:49 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast einen großen Kasten mit... Stell dir vor du hast einen großen Kasten mit ... {or , us , ner, t u, zen, oße, ese, ige, rla, ...
../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-45-12_gptoss.txt 1 von 2 - 17.10.2025, 10:43:53 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast einen großen Kasten mit... Stell dir vor du hast einen großen Kasten mit ... {or , us , h i, t u, lls, oße, nü, ige, nde, ...
2 von 2 - 17.10.2025, 10:44:15 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Grundlagen\n\nEin **regulärer Ausdruck** (R... Grundlagen Ein regulärer Ausdruck Regular Expr... {us , ive, gul, ier, übe, ner, e d, sch, mal, ...
../korpus_2025-10-17/gpt-oss-120b/duck.ai_2025-10-17_10-44-40-GPT-OSS.txt 1 von 2 - 17.10.2025, 10:43:59 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast ein großes Blatt Papier... Stell dir vor du hast ein großes Blatt Papier ... {or , us , ymb, zen, lls, am, oße, ige, rla, ...
2 von 2 - 17.10.2025, 10:44:19 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Grundlagen\n\nEin **regulärer Ausdruck** (e... Grundlagen Ein regulärer Ausdruck engl regular... {zen, ige, nde, zei, e a, g f, ien, u v, da, ...
../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-49-42-mistral.txt 1 von 2 - 17.10.2025, 10:49:13 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast eine magische Lupe, die... Stell dir vor du hast eine magische Lupe die d... {or , h i, ner, t u, zen, ese, ige, nü, dan, ...
2 von 2 - 17.10.2025, 10:49:27 Erkläre auf Hochschulniveau reguläre Ausdrücke Reguläre Ausdrücke (RegEx) sind eine mächtige ... Reguläre Ausdrücke RegEx sind eine mächtige un... {us , log, ner, t u, äuf, ant, zen, r t, am, ...
../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-51-51_regex_Mistral_Small_3.txt 1 з 2 - 17.10.2025, 10:51:22 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast eine magische Lupe, die... Stell dir vor du hast eine magische Lupe die d... {or , h i, t u, zen, oße, ese, ige, nü, dan, ...
2 з 2 - 17.10.2025, 10:51:33 Erkläre auf Hochschulniveau reguläre Ausdrücke Reguläre Ausdrücke (RegEx) sind eine mächtige ... Reguläre Ausdrücke RegEx sind eine mächtige un... {us , log, h i, ner, äuf, t u, ant, zen, am, ...
../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-53-02_Mistral3.txt 1 von 2 - 17.10.2025, 10:52:31 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast eine magische Lupe, die... Stell dir vor du hast eine magische Lupe die d... {or , wen, gul, h i, ier, nd , nac, e d, sch, ...
2 von 2 - 17.10.2025, 10:52:47 Erkläre auf Hochschulniveau reguläre Ausdrücke Reguläre Ausdrücke (RegEx) sind eine mächtige ... Reguläre Ausdrücke RegEx sind eine mächtige un... {us , log, h i, ner, t u, ant, zen, r t, ige, ...
../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-46-42_mistral-small.txt 1 von 2 - 17.10.2025, 10:46:06 Erkläre einem Kind in der Grundschule reguläre... Stell dir vor, du hast eine magische Lupe, die... Stell dir vor du hast eine magische Lupe die d... {or , us , ese, ige, nde, zei, e a, kt , dr, ...
2 von 2 - 17.10.2025, 10:46:22 Erkläre auf Hochschulniveau reguläre Ausdrücke Reguläre Ausdrücke (RegEx) sind eine mächtige ... Reguläre Ausdrücke RegEx sind eine mächtige un... {us , or , ner, t u, ese, ige, nde, iti, gso, ...
../korpus_2025-10-17/mistral-small-3/duck.ai_2025-10-17_10-52-14_regex_Korpus_1_Mistral_Small_3.txt 1 von 2 - 17.10.2025, 10:51:27 Erkläre einem Kind in der Grundschule reguläre... Reguläre Ausdrücke sind wie eine Art Geheimspr... Reguläre Ausdrücke sind wie eine Art Geheimspr... {or , t u, oße, ese, ige, tat, dan, nü, nde, ...
2 von 2 - 17.10.2025, 10:51:43 Erkläre auf Hochschulniveau reguläre Ausdrücke. Reguläre Ausdrücke (RegEx) sind eine mächtige ... Reguläre Ausdrücke RegEx sind eine mächtige un... {us , log, ner, t u, ant, ese, ige, nde, iti, ...
../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-46-39_5mini.txt 1 von 2 - 17.10.2025, 10:44:45 Erkläre einem Kind in der Grundschule reguläre... Reguläre Ausdrücke (oder Regex) sind eine kurz... Reguläre Ausdrücke oder Regex sind eine kurze ... {or , us , ner, t u, zen, r t, am, ese, ige, ...
2 von 2 - 17.10.2025, 10:45:09 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Überblick und formale Definition\nEin regul... Überblick und formale Definition Ein regulärer... {us , rr, sso, ner, bar, t u, ant, rfa, siv, ...
../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-43-00_gpt5-mini.txt 1 von 2 - 17.10.2025, 10:41:55 Erkläre einem Kind in der Grundschule reguläre... Reguläre Ausdrücke (oft „Regex“ genannt) sind ... Reguläre Ausdrücke oft Regex genannt sind wie ... {or , us , t u, zen, am, ese, ige, l k, nde, ...
2 von 2 - 17.10.2025, 10:42:31 Erkläre auf Hochschulniveau reguläre Ausdrücke Hier eine präzise, formale Einführung in regul... Hier eine präzise formale Einführung in regulä... {log, zen, lls, r t, ige, nde, my, zei, ise, ...
../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-43-12_regex_Korpus_1_GPT-5_mini.txt 1 von 2 - 17.10.2025, 10:42:22 Erkläre einem Kind in der Grundschule reguläre... Reguläre Ausdrücke (Regex) sind wie eine Schat... Reguläre Ausdrücke Regex sind wie eine Schatzk... {us , or , h i, lls, am, oße, nü, ige, tat, ...
2 von 2 - 17.10.2025, 10:42:44 Erkläre auf Hochschulniveau reguläre Ausdrücke. ## Definition und formale Syntax\nEin reguläre... Definition und formale Syntax Ein regulärer Au... {or , us , rr, byt, ner, bar, t u, ant, rfa, ...
../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-52-33-5mini.txt 1 von 2 - 17.10.2025, 10:51:47 Erkläre einem Kind in der Grundschule reguläre... Reguläre Ausdrücke (oder "Regex") sind wie ein... Reguläre Ausdrücke oder Regex sind wie eine Sc... {or , h i, am, ese, ige, nde, rne, zei, spr, ...
2 von 2 - 17.10.2025, 10:52:08 Erkläre auf Hochschulniveau reguläre Ausdrücke Reguläre Ausdrücke — formale Übersicht (Hochsc... Reguläre Ausdrücke formale Übersicht Hochschul... {log, zen, lls, ige, nde, my, zei, ise, z f, ...
../korpus_2025-10-17/gpt-5-mini/duck.ai_2025-10-17_10-45-55_regex_gpt5mini.txt 1 з 2 - 17.10.2025, 10:45:21 Erkläre einem Kind in der Grundschule reguläre... Reguläre Ausdrücke (oder „Regex“) sind wie ein... Reguläre Ausdrücke oder Regex sind wie eine Sc... {or , us , h i, ner, r t, am, ese, ige, oße, ...
2 з 2 - 17.10.2025, 10:45:32 Erkläre auf Hochschulniveau reguläre Ausdrücke ## Überblick und Definition\nEin regulärer Aus... Überblick und Definition Ein regulärer Ausdruc... {us , log, or , ner, bar, t u, ant, zen, siv, ...

StyloMetrix#

ACHTUNG: Erfordert spezielle Installation, läuft hier im BASE-Environment nicht durch

import stylo_metrix as sm

# example texts
example_texts = [ 
    # jbusse
    """Im Rahmen von Forschungs und Lehre müssen Leistungen individuell zuschreibbar sein. 
Aber auch moderne generative KI kann inzwischen Texte generieren. 
Problem: Bei einem einem “gut formulierten” Text ist es sehr schwer zu unterscheiden,
*   ob der Text ein von der KI generierter Text ist, den ein Mensch in Auftrag gegeben hat, oder
*   ob der Text ein vom Menschen selbst formulierter Rohtext ist, der von der KI lektoriert wurde.""",
    """Unser Prüfungsrecht verlangt, dass eine Leistung individuell zugeschrieben werden kann. 
Die KI-Leitlinie Bayern verlangt, dass KI-generierte Inhalte eindeutig gekennzeichnet werden. 
Es stellt sich die Frage, wie man in Studienarbeiten und Bachelorabeiten, 
aber auch Präsentationen etc. die Beiträge von KI auch typografisch kenntlich machen kann. """,
    # ChatGPT
    """In der Forschung und Lehre muss man wissen, wer etwas geschrieben hat. 
Aber heutzutage kann auch KI Texte erstellen.
Das Problem: Wenn ein Text gut geschrieben ist, kann man kaum erkennen, ob
* der Text von einer KI stammt, die jemand beauftragt hat, oder
* der Text zuerst von einem Menschen geschrieben und dann von der KI verbessert wurde.""",
    """Das Prüfungsrecht verlangt, dass man genau erkennen kann, wer eine Leistung erbracht hat.
Die KI-Leitlinie Bayern fordert, dass KI-generierte Inhalte klar gekennzeichnet werden.
Die Frage ist nun, wie man in Studienarbeiten, Bachelorarbeiten oder auch in Präsentationen zeigen kann, 
welche Teile von der KI stammen – auch durch die Gestaltung des Textes."""
    ]

example_stylo = sm.StyloMetrix('de') # define langauge, one of ('de','en', 'pl', 'ru', 'ukr')
example_metrics_df = example_stylo.transform(example_texts)
example_metrics_df

ipynb#

class Ipynb():
    def __init__(self, file_location):
        with open(file_location, 'r') as f:
            self.nb_json = json.load(f)
        print(f"{file_location=}, {len(self.nb_json)=}")
        
        self.file_location = file_location
        self.cell_dict = {}
        self.count = 0
        
        for cell in self.nb_json['cells']:
            print(f"\n{self.count=}, {cell=}") # ist ein dict
            cell_id = (self.file_location, f"{self.count}")
            self.cell_dict[cell_id] = cell
            self.count += 1
            
        # our data structure is fine if the following statement gives a meaningful result
        self.df = pd.DataFrame.from_dict(self.cell_dict, orient="index")
hw = Ipynb("HalloWelt.ipynb")
file_location='HalloWelt.ipynb', len(self.nb_json)=4

self.count=0, cell={'cell_type': 'markdown', 'id': '77a931b0-1ca0-4df3-8c96-b5857278603a', 'metadata': {}, 'source': ['# Hallo Welt!']}

self.count=1, cell={'cell_type': 'code', 'execution_count': 5, 'id': '650b7c22-be13-4481-b425-3482ef578a55', 'metadata': {}, 'outputs': [], 'source': ['# Die Antwort auf alle Fragen\n', 'sechs, sieben = 6, 7\n', 'antwort = sechs * sieben']}

self.count=2, cell={'cell_type': 'code', 'execution_count': 6, 'id': 'b96945c1-2972-4868-af2e-9e1da6e6a556', 'metadata': {}, 'outputs': [{'name': 'stdout', 'output_type': 'stream', 'text': ['antwort=42\n']}], 'source': ['print(f"{antwort=}")']}

self.count=3, cell={'cell_type': 'raw', 'id': '98ca59a1-d389-48c2-8cb0-e72329277864', 'metadata': {}, 'source': ['Wozu benötigt man raw Zellen?']}

self.count=4, cell={'cell_type': 'code', 'execution_count': None, 'id': '5ac153f1-9a60-4eda-8d65-a32f382f9980', 'metadata': {}, 'outputs': [], 'source': []}
hw.df
cell_type id metadata source execution_count outputs
HalloWelt.ipynb 0 markdown 77a931b0-1ca0-4df3-8c96-b5857278603a {} [# Hallo Welt!] NaN NaN
1 code 650b7c22-be13-4481-b425-3482ef578a55 {} [# Die Antwort auf alle Fragen\n, sechs, siebe... 5.0 []
2 code b96945c1-2972-4868-af2e-9e1da6e6a556 {} [print(f"{antwort=}")] 6.0 [{'name': 'stdout', 'output_type': 'stream', '...
3 raw 98ca59a1-d389-48c2-8cb0-e72329277864 {} [Wozu benötigt man raw Zellen?] NaN NaN
4 code 5ac153f1-9a60-4eda-8d65-a32f382f9980 {} [] NaN []