Skip to content

Commit f335b4d

Browse files
committed
Add NLP model testing framework with sentiment validation
0 parents  commit f335b4d

19 files changed

Lines changed: 79 additions & 0 deletions

‎README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

‎nlp_model/__init__.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
202 Bytes
Binary file not shown.
1.09 KB
Binary file not shown.
499 Bytes
Binary file not shown.

‎nlp_model/sentiment_model.py‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
def predict_sentiment(text):
2+
positive_words = ["happy", "good", "great", "excellent", "love"]
3+
negative_words = ["bad", "sad", "hate", "terrible", "poor"]
4+
5+
text = text.lower()
6+
7+
if any(word in text for word in positive_words):
8+
return "positive"
9+
10+
if any(word in text for word in negative_words):
11+
return "negative"
12+
13+
return "neutral"

‎nlp_model/text_preprocessor.py‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import re
2+
3+
4+
def clean_text(text):
5+
text = text.lower()
6+
text = re.sub(r"[^a-z\s]", "", text) # remove special chars
7+
return text

‎requirements.txt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pytest

‎test_data/sentiment_test_data.csv‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
text,expected_sentiment
2+
I love this product,positive
3+
This is bad service,negative
4+
I am walking in park,neutral

‎tests/__init__.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

0 commit comments

Comments
 (0)