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:
Lege die eingelesenen Daten in einer Struktur
corpus_dictab, aus der vonpd.DataFrame.from_dict(corpus_dict, orient="index")in ein Pandas Dataframe generiert werden kann, gvl. https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.from_dict.htmlLege den Index dabei gleich so an, dass ein Pandas Multi Index entsteht: https://pandas.pydata.org/docs/user_guide/advanced.html
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 | [] |