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 |
##################################################
|