<jupyter_start><jupyter_text>Showcase Preprocessing  Kreiere Testset mit typischen Fehlern<jupyter_code>data_root = Path("../data")
# Lade verlustliste
vl = pd.read_parquet(data_root / const.FILENAME_VL)
testset = pd.concat([vl[vl.location.str.contains("[A-Za-zäöüÄÖÜßẞ]+\.")].sample(n=12, random_state=10),
                    vl[vl.location.str.contains("kr\.")].sample(n=3, random_state=10),
                    vl[vl.location.str.contains("[\[{(]")].sample(n=5, random_state=10),
                    vl[vl.location.str.contains(" verm.")].sample(n=2, random_state=10),
                    vl[vl.location.str.contains(" nicht")].sample(n=3, random_state=10),
                    vl[vl.location.str.contains("[#^]")].sample(n=2, random_state=10)]).drop(['loc_parts_count', 'loc_count'], axis=1).sample(frac=1, random_state=10).reset_index(drop=True)
testset<jupyter_output><empty_output><jupyter_text>*Sonderzeichen*: 1. Entfernen der KorrekturenFunktion um historische Korrekturen '()[]' und moderne Korrekture '{}' zu entfernen1. Klammern (), [], {} und Varianten (z.B. {]), inklusive Inhalt  2. 'nicht' inklusive folgendem Inhalt3. 'korrigiert' und Varianten,  inklusive folgendem Inhalt4. 'vermutlich' und Varianten,  inklusive folgendem Inhalt<jupyter_code>testset['replace_corrs'] = Preprocessing.replace_corrections_vl(testset.location)
testset<jupyter_output><empty_output><jupyter_text>*Sonderzeichen*: 2. Entfernen weiterer SonderzeichenFunktion um Sonderzeichen zu entfernen: 1. entfernt: ?^_"*\:{}()[]!2. ersetzt mit ': ´`<jupyter_code>testset['replace_chars'] = Preprocessing.replace_characters_vl(testset.replace_corrs)
testset<jupyter_output><empty_output><jupyter_text>*Abkürzungen*: 1. Ersetzen allgemeiner WortendungenFlexible Ersetzung von allgemein gültigen Abkürzungen, die Teil eines längeren Wortes mit beliebigem Anfang sind (z.B. Seekr./Gebirgskr. -> kreis -> Seekreis/Gebirgskreis)<jupyter_code>testset['subst_partial'] = Preprocessing.substitute_partial_words(testset['replace_chars'], data_root)
testset<jupyter_output><empty_output><jupyter_text>*Abkürzungen*: 2. Löschen von nicht benötigten TypeninformationenEntfernt nicht benötigte Typeninformationen (Abkürzungen und ganze Worte) (z.B. Kreis, Bezirk, Amtshauptmannschaft, Königreich)<jupyter_code>testset['subst_delete'] = Preprocessing.substitute_delete_words(testset['subst_partial'], data_root)
testset<jupyter_output><empty_output><jupyter_text>*Abkürzungen*: 3. Spezifische ErsetzungenDetails siehe Abkürzungsliste, z.B. Meckl. -> Mecklenburg, Schl. -> Schlesien, M. Gladbach -> Mönchengladbach<jupyter_code>testset['subst_full'] = Preprocessing.substitute_full_words(testset['subst_delete'], data_root)
testset<jupyter_output><empty_output><jupyter_text>Zusätzlich optionale Funktion: " i." (für in) durch Komma ersetzen Häufig ist das " i." nicht Namensbestandteil, sondern es wurde fälschlicherweise statt einem Komma verwendet, z.B. Aachen i. Preußen -> Aachen, PreußenDiese Funktion ist aktuell noch nicht in die Pipeline integriert, da sich die Anzahl der Bestandteile um +1 erhöht.<jupyter_code>testset['subst_i'] = testset.subst_full.replace(to_replace=" i\.", value=",", regex=True)
testset<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.13291925465838508, 'fraction_numerical': 0.010869565217391304, 'mean_word_length': 6.669047619047619, 'pattern_counts': {'":': 0, '<': 29, '<?xml version=': 0, '>': 35, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '7', 'dir': 'jupyter-structured-clean-dedup', 'id': '540785', 'license': 'MIT', 'n_tokens_mistral': 1208, 'n_tokens_neox': 1211, 'n_words': 198, 'path': 'notebooks/showcase_preprocessing.ipynb', 'repo_name': 'CorrelAid/compgen-ii-cgv', 'size': '3220'}