Update app.py
Browse files
app.py
CHANGED
|
@@ -53,13 +53,13 @@ def is_telugu_text(text):
|
|
| 53 |
cleaned_text = re.sub(r'[\u0C00-\u0C7F0-9\s\.\,\!\?]', '', text)
|
| 54 |
return len(cleaned_text) == 0
|
| 55 |
|
| 56 |
-
# Session state
|
| 57 |
if "text_input" not in st.session_state:
|
| 58 |
st.session_state.text_input = ""
|
| 59 |
-
if "
|
| 60 |
-
st.session_state.
|
| 61 |
|
| 62 |
-
#
|
| 63 |
st.subheader("Try one of the following examples:")
|
| 64 |
examples = [
|
| 65 |
"ఈ ఆహారం చాలా చెడుగా ఉంది",
|
|
@@ -67,7 +67,8 @@ examples = [
|
|
| 67 |
"నేను ఈ వార్తలకు చాలా బాధపడ్డాను",
|
| 68 |
"ఈ చిత్రం నాకు చాలా భయంకరంగా ఉంది",
|
| 69 |
"ఈ సెల్ఫీ చాలా అందంగా ఉంది",
|
| 70 |
-
"ఈ వాతావరణం నాకు చాలా ఉష్ణంగా ఉంది"
|
|
|
|
| 71 |
]
|
| 72 |
|
| 73 |
for i in range(0, len(examples), 2):
|
|
@@ -77,26 +78,30 @@ for i in range(0, len(examples), 2):
|
|
| 77 |
example = examples[i + j]
|
| 78 |
if cols[j].button(example[:30] + "..."):
|
| 79 |
st.session_state.text_input = example
|
| 80 |
-
|
|
|
|
|
|
|
|
|
|
| 81 |
|
| 82 |
-
#
|
| 83 |
-
input_text = st.text_area("Enter text to analyze sentiment:", height=150)
|
| 84 |
|
| 85 |
# Analyze button
|
| 86 |
if st.button("Analyze Sentiment"):
|
|
|
|
| 87 |
if not input_text.strip():
|
| 88 |
st.warning("Please enter some text to analyze!")
|
| 89 |
-
st.session_state.
|
| 90 |
elif not is_telugu_text(input_text):
|
| 91 |
-
st.
|
| 92 |
-
st.session_state.result_shown = False
|
| 93 |
else:
|
| 94 |
-
st.session_state.
|
| 95 |
-
st.session_state.result_shown = True
|
| 96 |
|
| 97 |
-
#
|
| 98 |
-
if st.session_state.
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
|
|
|
|
|
|
|
|
| 53 |
cleaned_text = re.sub(r'[\u0C00-\u0C7F0-9\s\.\,\!\?]', '', text)
|
| 54 |
return len(cleaned_text) == 0
|
| 55 |
|
| 56 |
+
# Session state
|
| 57 |
if "text_input" not in st.session_state:
|
| 58 |
st.session_state.text_input = ""
|
| 59 |
+
if "result" not in st.session_state:
|
| 60 |
+
st.session_state.result = None
|
| 61 |
|
| 62 |
+
# Example inputs
|
| 63 |
st.subheader("Try one of the following examples:")
|
| 64 |
examples = [
|
| 65 |
"ఈ ఆహారం చాలా చెడుగా ఉంది",
|
|
|
|
| 67 |
"నేను ఈ వార్తలకు చాలా బాధపడ్డాను",
|
| 68 |
"ఈ చిత్రం నాకు చాలా భయంకరంగా ఉంది",
|
| 69 |
"ఈ సెల్ఫీ చాలా అందంగా ఉంది",
|
| 70 |
+
"ఈ వాతావరణం నాకు చాలా ఉష్ణంగా ఉంది",
|
| 71 |
+
"ఈ సినిమా కి 5 స్టార్ ఇచ్చాను"
|
| 72 |
]
|
| 73 |
|
| 74 |
for i in range(0, len(examples), 2):
|
|
|
|
| 78 |
example = examples[i + j]
|
| 79 |
if cols[j].button(example[:30] + "..."):
|
| 80 |
st.session_state.text_input = example
|
| 81 |
+
if not is_telugu_text(example):
|
| 82 |
+
st.session_state.result = "error"
|
| 83 |
+
else:
|
| 84 |
+
st.session_state.result = classifier(example)[0]
|
| 85 |
|
| 86 |
+
# Input text area
|
| 87 |
+
input_text = st.text_area("Enter text to analyze sentiment:", value=st.session_state.text_input, height=150)
|
| 88 |
|
| 89 |
# Analyze button
|
| 90 |
if st.button("Analyze Sentiment"):
|
| 91 |
+
st.session_state.text_input = input_text
|
| 92 |
if not input_text.strip():
|
| 93 |
st.warning("Please enter some text to analyze!")
|
| 94 |
+
st.session_state.result = None
|
| 95 |
elif not is_telugu_text(input_text):
|
| 96 |
+
st.session_state.result = "error"
|
|
|
|
| 97 |
else:
|
| 98 |
+
st.session_state.result = classifier(input_text)[0]
|
|
|
|
| 99 |
|
| 100 |
+
# Display result
|
| 101 |
+
if st.session_state.result:
|
| 102 |
+
if st.session_state.result == "error":
|
| 103 |
+
st.error("Please enter valid **Telugu** text only (digits allowed).")
|
| 104 |
+
else:
|
| 105 |
+
label = st.session_state.result['label']
|
| 106 |
+
sentiment, emoji = label_map.get(label, (label, ""))
|
| 107 |
+
st.markdown(f'<div class="radium-label">Sentiment: {sentiment} {emoji}</div>', unsafe_allow_html=True)
|