""" Module to classify text into positive or negative sentiments """ import sys import tensorflow as tf from models.models import load_sentiments_model sentiments_model = load_sentiments_model() MAX_NEG = 0.4 MIN_POS = 0.6 def classify_sentiment(input_text: str) -> str: """ Receives a string and classifies it in positive, negative or none """ result = tf.sigmoid(sentiments_model(tf.constant([input_text]))) if result < MAX_NEG: return "negative" elif result > MIN_POS: return "positive" else: return "-" if __name__ == "__main__": if len(sys.argv) < 2: print( f"Usage: python {sys.argv[0]} ") sys.exit(1) # Get the input string from command line argument input_text = sys.argv[1] sentiment = classify_sentiment(input_text) print("Sentiment of the sentence: ", sentiment)