Spaces:
Runtime error
Runtime error
File size: 736 Bytes
169aba7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import nltk
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
from nltk.stem import WordNetLemmatizer
nltk.download('punkt', quiet=True)
nltk.download('punkt_tab', quiet=True)
nltk.download('stopwords', quiet=True)
nltk.download('wordnet', quiet=True)
_STOP_WORDS = set(stopwords.words('english'))
_LEMMATIZER = WordNetLemmatizer()
_MATH_CHARS = set("+-=/*^<>{}[]()")
def preprocess_text(text: str) -> list:
if not isinstance(text, str):
return []
tokens = word_tokenize(text.lower())
tokens = [
w for w in tokens
if (w.isalnum() or any(c in _MATH_CHARS for c in w))
and w not in _STOP_WORDS
]
return [_LEMMATIZER.lemmatize(w) for w in tokens] |