The project includes a complete text preprocessing pipeline with tokenization, stop-word handling, POS-aware lemmatization, and negation preservation. I used TF-IDF vectorization with unigram and bigram features and trained and compared four machine learning models: Logistic Regression, SVM, Naive Bayes, and KNN.