Commit
·
25fd5a7
1
Parent(s):
929330a
feat: Added application file
Browse files- src/SentimentAndIntentionAnalysis.py +4 -3
- src/api.py +1 -6
src/SentimentAndIntentionAnalysis.py
CHANGED
|
@@ -1,11 +1,11 @@
|
|
| 1 |
from transformers import pipeline, BartTokenizer, BartForSequenceClassification
|
| 2 |
class ZeroShotClassifier:
|
| 3 |
|
| 4 |
-
def __init__(self, model_name
|
| 5 |
self.model = self.create_model(model_name)
|
| 6 |
self.model_name = model_name
|
| 7 |
-
self.sentiment_labels =
|
| 8 |
-
self.intention_labels =
|
| 9 |
|
| 10 |
def create_model(self, model_name):
|
| 11 |
# Create Model
|
|
@@ -15,6 +15,7 @@ class ZeroShotClassifier:
|
|
| 15 |
return classifier
|
| 16 |
|
| 17 |
def analyze_text(self, text):
|
|
|
|
| 18 |
# Sentiment analysis
|
| 19 |
sentiment_result = self.model(text, self.sentiment_labels)
|
| 20 |
sentiment = sentiment_result["labels"][0]
|
|
|
|
| 1 |
from transformers import pipeline, BartTokenizer, BartForSequenceClassification
|
| 2 |
class ZeroShotClassifier:
|
| 3 |
|
| 4 |
+
def __init__(self, model_name):
|
| 5 |
self.model = self.create_model(model_name)
|
| 6 |
self.model_name = model_name
|
| 7 |
+
self.sentiment_labels = ["Positive", "Negative", "Neutral"]
|
| 8 |
+
self.intention_labels = ["Inquire", "Inform", "Payment", "Price", "Trade In", "Discount", "Complaint", "Approve", "Selling", "Confusion", "Change Package", "Upgrade", "Purchase", "Help"]
|
| 9 |
|
| 10 |
def create_model(self, model_name):
|
| 11 |
# Create Model
|
|
|
|
| 15 |
return classifier
|
| 16 |
|
| 17 |
def analyze_text(self, text):
|
| 18 |
+
|
| 19 |
# Sentiment analysis
|
| 20 |
sentiment_result = self.model(text, self.sentiment_labels)
|
| 21 |
sentiment = sentiment_result["labels"][0]
|
src/api.py
CHANGED
|
@@ -8,13 +8,8 @@ from .data_loader import *
|
|
| 8 |
# Initialize FastAPI app
|
| 9 |
app = FastAPI()
|
| 10 |
|
| 11 |
-
#Get model_name, data_path and labels_path
|
| 12 |
-
model_name, data_path, labels_path = get_config()
|
| 13 |
-
|
| 14 |
-
# Load sentiment labels and intention labels
|
| 15 |
-
sentiment_labels, intention_labels = load_labels(labels_path)
|
| 16 |
# Create Analzer
|
| 17 |
-
analyzer = ZeroShotClassifier(model_name=
|
| 18 |
|
| 19 |
class AnalysisResult(BaseModel):
|
| 20 |
sentiment: str
|
|
|
|
| 8 |
# Initialize FastAPI app
|
| 9 |
app = FastAPI()
|
| 10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
# Create Analzer
|
| 12 |
+
analyzer = ZeroShotClassifier(model_name='facebook/bart-large-mnli')
|
| 13 |
|
| 14 |
class AnalysisResult(BaseModel):
|
| 15 |
sentiment: str
|