Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -40,16 +40,38 @@ def predict_aspects(sentence, threshold):
|
|
40 |
results[label] = precentage
|
41 |
return results
|
42 |
|
|
|
43 |
# Load tokenizer and model
|
44 |
-
BERT_MODEL_NAME_FOR_ASPECTS_CLASSIFICATION = 'roberta-
|
45 |
tokenizer = RobertaTokenizer.from_pretrained(BERT_MODEL_NAME_FOR_ASPECTS_CLASSIFICATION, do_lower_case=True)
|
46 |
|
47 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
-
|
50 |
aspects_model.load_state_dict(torch.load('./Aspects_Extraction_Model_updated.pth', map_location=torch.device('cpu')), strict=False)
|
|
|
|
|
51 |
aspects_model.eval()
|
52 |
|
|
|
|
|
53 |
# Streamlit App
|
54 |
st.title("Implicit and Explicit Aspect Extraction")
|
55 |
|
|
|
40 |
results[label] = precentage
|
41 |
return results
|
42 |
|
43 |
+
|
44 |
# Load tokenizer and model
|
45 |
+
BERT_MODEL_NAME_FOR_ASPECTS_CLASSIFICATION = 'roberta-base'
|
46 |
tokenizer = RobertaTokenizer.from_pretrained(BERT_MODEL_NAME_FOR_ASPECTS_CLASSIFICATION, do_lower_case=True)
|
47 |
|
48 |
+
# Define the aspect labels
|
49 |
+
LABEL_COLUMNS_ASPECTS = [
|
50 |
+
'FOOD-CUISINE', 'FOOD-DEALS', 'FOOD-DIET_OPTION', 'FOOD-EXPERIENCE', 'FOOD-FLAVOR',
|
51 |
+
'FOOD-GENERAL', 'FOOD-INGREDIENT', 'FOOD-KITCHEN', 'FOOD-MEAL', 'FOOD-MENU',
|
52 |
+
'FOOD-PORTION', 'FOOD-PRESENTATION', 'FOOD-PRICE', 'FOOD-QUALITY', 'FOOD-RECOMMENDATION',
|
53 |
+
'FOOD-TASTE', 'GENERAL-GENERAL', 'RESTAURANT-ATMOSPHERE', 'RESTAURANT-BUILDING',
|
54 |
+
'RESTAURANT-DECORATION', 'RESTAURANT-EXPERIENCE', 'RESTAURANT-FEATURES',
|
55 |
+
'RESTAURANT-GENERAL', 'RESTAURANT-HYGIENE', 'RESTAURANT-KITCHEN', 'RESTAURANT-LOCATION',
|
56 |
+
'RESTAURANT-OPTIONS', 'RESTAURANT-RECOMMENDATION', 'RESTAURANT-SEATING_PLAN',
|
57 |
+
'RESTAURANT-VIEW', 'SERVICE-BEHAVIOUR', 'SERVICE-EXPERIENCE', 'SERVICE-GENERAL',
|
58 |
+
'SERVICE-WAIT_TIME'
|
59 |
+
]
|
60 |
+
|
61 |
+
# Load the model with the specified number of labels
|
62 |
+
aspects_model = RobertaForSequenceClassification.from_pretrained(
|
63 |
+
BERT_MODEL_NAME_FOR_ASPECTS_CLASSIFICATION,
|
64 |
+
num_labels=len(LABEL_COLUMNS_ASPECTS)
|
65 |
+
)
|
66 |
|
67 |
+
# Load the state dictionary
|
68 |
aspects_model.load_state_dict(torch.load('./Aspects_Extraction_Model_updated.pth', map_location=torch.device('cpu')), strict=False)
|
69 |
+
|
70 |
+
# Set the model to evaluation mode
|
71 |
aspects_model.eval()
|
72 |
|
73 |
+
|
74 |
+
|
75 |
# Streamlit App
|
76 |
st.title("Implicit and Explicit Aspect Extraction")
|
77 |
|