Model/model_data/utils.py
2023-07-20 12:24:34 +01:00

26 lines
800 B
Python

import re
from textblob import TextBlob
# Pre-compile the regular expression
PERCENTAGE_PATTERN = re.compile(r'^\d+%?$')
def is_percentage_or_number(s):
# re.match returns None if the string does not match the pattern
return PERCENTAGE_PATTERN.match(s) is not None
def correct_spelling(text):
words = text.split()
corrected_words = []
for word in words:
if is_percentage_or_number(word):
corrected_words.append(word)
else:
blob = TextBlob(word) # create a TextBlob object
corrected_word = blob.correct() # use the correct method to correct spelling
corrected_words.append(str(corrected_word)) # convert corrected word back to string
corrected_text = ' '.join(corrected_words)
return corrected_text