Update utils.py
Browse files
utils.py
CHANGED
|
@@ -130,6 +130,29 @@ def normalise_prompt (prompt):
|
|
| 130 |
return normalized_prompt
|
| 131 |
|
| 132 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 133 |
##################################################
|
| 134 |
#RAG Hilfsfunktionen - Dokumenten bearbeiten für Vektorstore
|
| 135 |
##################################################
|
|
|
|
| 130 |
return normalized_prompt
|
| 131 |
|
| 132 |
|
| 133 |
+
#um ähnliche Wörter anhand ihres Wortstammes zu erkennen
|
| 134 |
+
# Funktion zur Stemmatisierung des Textes
|
| 135 |
+
def preprocess_text(text):
|
| 136 |
+
if not text:
|
| 137 |
+
return ""
|
| 138 |
+
|
| 139 |
+
text = text.lower()
|
| 140 |
+
tokenizer = RegexpTokenizer(r'\w+')
|
| 141 |
+
word_tokens = tokenizer.tokenize(text)
|
| 142 |
+
filtered_words = [word for word in word_tokens if word not in german_stopwords]
|
| 143 |
+
stemmer = SnowballStemmer("german")
|
| 144 |
+
stemmed_words = [stemmer.stem(word) for word in filtered_words]
|
| 145 |
+
return " ".join(stemmed_words)
|
| 146 |
+
|
| 147 |
+
# Funktion zur Bereinigung des Textes aus den Pdfs und Word Dokuemtne, um den Tokenizer nicht zu überfordern
|
| 148 |
+
def clean_text(text):
|
| 149 |
+
# Entfernen nicht druckbarer Zeichen
|
| 150 |
+
text = re.sub(r'[^\x00-\x7F]+', ' ', text)
|
| 151 |
+
# Ersetzen ungewöhnlicher Leerzeichen durch normale Leerzeichen
|
| 152 |
+
text = re.sub(r'\s+', ' ', text)
|
| 153 |
+
return text.strip()
|
| 154 |
+
|
| 155 |
+
|
| 156 |
##################################################
|
| 157 |
#RAG Hilfsfunktionen - Dokumenten bearbeiten für Vektorstore
|
| 158 |
##################################################
|