Spaces:
Running
Running
SonFox2920
commited on
Commit
•
6ef7ade
1
Parent(s):
e8ff799
Update predictor.py
Browse files- predictor.py +11 -17
predictor.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
import streamlit as st
|
2 |
import pandas as pd
|
3 |
-
import re
|
4 |
from utilities import predict
|
5 |
|
6 |
st.set_page_config(layout="wide")
|
@@ -67,39 +67,33 @@ def create_expander_with_check_button(label, title, context, predict_func):
|
|
67 |
st.warning(f"The predicted probability for label '{label}' is too high or the predicted label is different. Please modify the claim.")
|
68 |
else:
|
69 |
st.warning("Please enter a claim.")
|
70 |
-
|
71 |
-
|
72 |
if 'annotated_data' not in st.session_state:
|
73 |
-
st.session_state['annotated_data'] = pd.DataFrame(columns=['Context
|
74 |
|
75 |
annotated_data = st.session_state['annotated_data']
|
76 |
|
77 |
-
def save_data(context, default_title, default_link
|
78 |
annotated_data = st.session_state['annotated_data']
|
79 |
error = 'success'
|
80 |
|
81 |
-
for label
|
82 |
claim_key = f"{label}_input"
|
83 |
evidence_key = f"{label}_evidence_selected"
|
84 |
|
85 |
if st.session_state.get(claim_key, ''):
|
86 |
claim = st.session_state[claim_key]
|
87 |
evidence = st.session_state.get(evidence_key, [])
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
if not annotated_data[((annotated_data['Label'] == label) & (annotated_data['Title'] == default_title))].empty:
|
93 |
error = 'duplicate'
|
94 |
else:
|
95 |
-
|
96 |
-
claim_id = f"{context_id}_{label_index}_{evidence_length}"
|
97 |
-
# Save the data including the context_id
|
98 |
-
annotated_data.loc[len(annotated_data)] = [context_id, context, claim, label, evidence, default_title, default_link, claim_id]
|
99 |
|
100 |
st.session_state['annotated_data'] = annotated_data
|
101 |
return error
|
102 |
-
|
103 |
def enough_claims_entered(title):
|
104 |
annotated_data = st.session_state['annotated_data']
|
105 |
nei_claims = annotated_data[(annotated_data['Label'] == 'NEI') & (annotated_data['Title'] == title)].shape[0]
|
@@ -232,7 +226,7 @@ def predictor_app():
|
|
232 |
save_button = st.button("Save")
|
233 |
if save_button:
|
234 |
if all_claims_entered and all_evidence_selected:
|
235 |
-
error = save_data(default_context, default_title, default_link
|
236 |
else:
|
237 |
error = 'save_fail'
|
238 |
|
|
|
1 |
import streamlit as st
|
2 |
import pandas as pd
|
3 |
+
import re
|
4 |
from utilities import predict
|
5 |
|
6 |
st.set_page_config(layout="wide")
|
|
|
67 |
st.warning(f"The predicted probability for label '{label}' is too high or the predicted label is different. Please modify the claim.")
|
68 |
else:
|
69 |
st.warning("Please enter a claim.")
|
70 |
+
|
|
|
71 |
if 'annotated_data' not in st.session_state:
|
72 |
+
st.session_state['annotated_data'] = pd.DataFrame(columns=['Context', 'Claim', 'Label', 'Evidence', 'Title', 'Link'])
|
73 |
|
74 |
annotated_data = st.session_state['annotated_data']
|
75 |
|
76 |
+
def save_data(context, default_title, default_link):
|
77 |
annotated_data = st.session_state['annotated_data']
|
78 |
error = 'success'
|
79 |
|
80 |
+
for label in ['NEI', 'REFUTED', 'SUPPORTED']:
|
81 |
claim_key = f"{label}_input"
|
82 |
evidence_key = f"{label}_evidence_selected"
|
83 |
|
84 |
if st.session_state.get(claim_key, ''):
|
85 |
claim = st.session_state[claim_key]
|
86 |
evidence = st.session_state.get(evidence_key, [])
|
87 |
+
if label == 'NEI':
|
88 |
+
evidence = [] # No evidence required for NEI
|
89 |
+
if not annotated_data[((annotated_data['Claim'] == claim) & (annotated_data['Label'] == label) & (annotated_data['Title'] == default_title))].empty:
|
|
|
|
|
90 |
error = 'duplicate'
|
91 |
else:
|
92 |
+
annotated_data.loc[len(annotated_data)] = [context, claim, label, evidence, default_title, default_link]
|
|
|
|
|
|
|
93 |
|
94 |
st.session_state['annotated_data'] = annotated_data
|
95 |
return error
|
96 |
+
|
97 |
def enough_claims_entered(title):
|
98 |
annotated_data = st.session_state['annotated_data']
|
99 |
nei_claims = annotated_data[(annotated_data['Label'] == 'NEI') & (annotated_data['Title'] == title)].shape[0]
|
|
|
226 |
save_button = st.button("Save")
|
227 |
if save_button:
|
228 |
if all_claims_entered and all_evidence_selected:
|
229 |
+
error = save_data(default_context, default_title, default_link)
|
230 |
else:
|
231 |
error = 'save_fail'
|
232 |
|