{
"event": "UserPromptSubmit",
"prompt": "aber das ist kein echter tf-idf korpus gegen das deutsche www, wie z.b. den wikipedia-corpius"
}
{
"assistant_response": "Du hast recht. Was ich gebaut habe ist **Information-Retrieval-TF-IDF auf dem eigenen Site-Corpus** — misst „wie unterscheidet sich Seite X von anderen Seiten dieser Site\". Das beantwortet intra-site-Fragen (Duplikate, Thematische Cluster, interne Suche).\n\nEchte **linguistische TF-IDF** braucht einen externen Referenz-Corpus (deutsches Web\/Gemeinsprache). Dann misst TF-IDF: „welche Terme auf unserer Seite sind im Vergleich zur deutschen Sprache insgesamt ungewöhnlich häufig\" → echte SEO-Keywords \/ Fachbegriffe.\n\n## Corpus-Optionen\n\n| Corpus | Größe | Register | Lizenz | Aufwand |\n|--------|-------|----------|--------|---------|\n| **Wikipedia-DE (dewiki-dump)** | ~2,8 M Artikel, ~5 GB Text | enzyklopädisch, Bildungssprache | CC-BY-SA | hoch (Dump 25 GB, Preprocessing) |\n| **Leipzig Wortschatz** (Uni Leipzig) | Wortfrequenzlisten aus News\/Web\/Wikipedia, pro Jahr | Web+News | frei für Forschung | niedrig (TSV-Download, ~200 MB) |\n| **SUBTLEX-DE** (Brysbaert) | 25 M Wörter aus Film-Untertiteln | Umgangssprache | CC-BY-NC | niedrig (~10 MB CSV) |\n| **Common Crawl DE** | Web, Milliarden Wörter | Web allgemein | frei | sehr hoch |\n| **hermitdave\/FrequencyWords** (GitHub) | Wortfrequenzen aus OpenSubtitles + dewiki | gemischt | frei | niedrig (fertige Listen) |\n\n## Empfehlung\n\n**Wikipedia-DE** + ergänzend **Leipzig Wortschatz** (deutsches Web-Register): Registerpassung zum Web, seriöse Quelle, etabliert für TF-IDF. Praktikabel als **Leipzig-Wortschatz-Frequenzliste** (z. B. `deu_news_2022_1M` oder `deu_wikipedia_2021_1M`) — liefert Wort + Rang + Frequenz als fertige TSV.\n\n## Umsetzungspfad\n\n1. Leipzig-Liste herunterladen (~50 MB), in neue Tabelle `reference_corpus_de (token, doc_freq, total_freq)` importieren\n2. Tokenizer-Normalisierung auf beiden Seiten identisch halten (lowercase, Umlaut-Behandlung)\n3. Neues Analyse-Skript `tfidf_external.py`: IDF = log(N_ext \/ (df_ext + 1)), TF aus `page_tokens`\n4. Report sortiert nach „echten\" SEO-Schlüsselwörtern (hoch-TF auf Seite, niedrig-DF im Corpus)\n5. Optional: Lemmatisierung (spaCy `de_core_news_sm`) — sonst zählen `coaching`, `coachings`, `coacht` separat\n\nWelche Corpus-Quelle? (Vorschlag: Leipzig-Wortschatz `deu_news_2022_1M` — passt gut zum Registerziel, schnell verfügbar.) Lemmatisierung dazu, ja\/nein?"
}