Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -312,27 +312,6 @@ def create_filter_controls(df, sort_column):
|
|
| 312 |
elif sort_column == 'Article Title':
|
| 313 |
# Only alphabetical sorting, no filtering
|
| 314 |
pass
|
| 315 |
-
|
| 316 |
-
|
| 317 |
-
elif sort_column == 'Times Cited':
|
| 318 |
-
# Cited count range slider
|
| 319 |
-
cited_min = int(df['Times Cited'].min())
|
| 320 |
-
cited_max = int(df['Times Cited'].max())
|
| 321 |
-
col1, col2 = st.columns(2)
|
| 322 |
-
with col1:
|
| 323 |
-
start_cited = st.number_input('From Cited Count',
|
| 324 |
-
min_value=cited_min,
|
| 325 |
-
max_value=cited_max,
|
| 326 |
-
value=cited_min)
|
| 327 |
-
with col2:
|
| 328 |
-
end_cited = st.number_input('To Cited Count',
|
| 329 |
-
min_value=cited_min,
|
| 330 |
-
max_value=cited_max,
|
| 331 |
-
value=cited_max)
|
| 332 |
-
filtered_df = filtered_df[
|
| 333 |
-
(filtered_df['Times Cited'] >= start_cited) &
|
| 334 |
-
(filtered_df['Times Cited'] <= end_cited)
|
| 335 |
-
]
|
| 336 |
|
| 337 |
return filtered_df
|
| 338 |
|
|
@@ -380,34 +359,12 @@ def main():
|
|
| 380 |
st.header("📝 Individual Paper Summaries")
|
| 381 |
|
| 382 |
# Generate summaries if not already done
|
| 383 |
-
if st.session_state.summaries is None:
|
| 384 |
-
try:
|
| 385 |
-
with st.spinner("Generating individual paper summaries..."):
|
| 386 |
-
model, tokenizer = load_model("summarize")
|
| 387 |
-
summaries = []
|
| 388 |
-
progress_bar = st.progress(0)
|
| 389 |
-
|
| 390 |
-
for idx, abstract in enumerate(df['Abstract']):
|
| 391 |
-
summary = improve_summary_generation(abstract, model, tokenizer)
|
| 392 |
-
summaries.append(summary)
|
| 393 |
-
progress_bar.progress((idx + 1) / len(df))
|
| 394 |
-
|
| 395 |
-
st.session_state.summaries = summaries
|
| 396 |
-
cleanup_model(model, tokenizer)
|
| 397 |
-
progress_bar.empty()
|
| 398 |
-
|
| 399 |
-
except Exception as e:
|
| 400 |
-
st.error(f"Error generating summaries: {str(e)}")
|
| 401 |
-
st.session_state.processing_started = False
|
| 402 |
-
|
| 403 |
-
# Display summaries with improved sorting and filtering
|
| 404 |
if st.session_state.summaries is not None:
|
| 405 |
col1, col2 = st.columns(2)
|
| 406 |
with col1:
|
| 407 |
sort_options = ['Article Title', 'Authors', 'Publication Year', 'Source Title', 'Times Cited']
|
| 408 |
sort_column = st.selectbox("Sort/Filter by:", sort_options)
|
| 409 |
with col2:
|
| 410 |
-
# Only show A-Z/Z-A option for Article Title
|
| 411 |
if sort_column == 'Article Title':
|
| 412 |
ascending = st.radio(
|
| 413 |
"Sort order",
|
|
@@ -417,9 +374,9 @@ def main():
|
|
| 417 |
elif sort_column == 'Times Cited':
|
| 418 |
ascending = st.radio(
|
| 419 |
"Sort order",
|
| 420 |
-
["Most cited", "Least cited"],
|
| 421 |
horizontal=True
|
| 422 |
-
) == "Least cited"
|
| 423 |
else:
|
| 424 |
ascending = True # Default for other columns
|
| 425 |
|
|
@@ -429,10 +386,18 @@ def main():
|
|
| 429 |
display_df['Publication Year'] = display_df['Publication Year'].astype(int)
|
| 430 |
display_df.rename(columns={'Times Cited, All Databases': 'Times Cited'}, inplace=True)
|
| 431 |
display_df['Times Cited'] = display_df['Times Cited'].fillna(0).astype(int)
|
| 432 |
-
|
| 433 |
# Apply filters
|
| 434 |
filtered_df = create_filter_controls(display_df, sort_column)
|
| 435 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 436 |
if sort_column == 'Article Title':
|
| 437 |
# Sort alphabetically
|
| 438 |
sorted_df = filtered_df.sort_values(by=sort_column, ascending=ascending)
|
|
|
|
| 312 |
elif sort_column == 'Article Title':
|
| 313 |
# Only alphabetical sorting, no filtering
|
| 314 |
pass
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 315 |
|
| 316 |
return filtered_df
|
| 317 |
|
|
|
|
| 359 |
st.header("📝 Individual Paper Summaries")
|
| 360 |
|
| 361 |
# Generate summaries if not already done
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 362 |
if st.session_state.summaries is not None:
|
| 363 |
col1, col2 = st.columns(2)
|
| 364 |
with col1:
|
| 365 |
sort_options = ['Article Title', 'Authors', 'Publication Year', 'Source Title', 'Times Cited']
|
| 366 |
sort_column = st.selectbox("Sort/Filter by:", sort_options)
|
| 367 |
with col2:
|
|
|
|
| 368 |
if sort_column == 'Article Title':
|
| 369 |
ascending = st.radio(
|
| 370 |
"Sort order",
|
|
|
|
| 374 |
elif sort_column == 'Times Cited':
|
| 375 |
ascending = st.radio(
|
| 376 |
"Sort order",
|
| 377 |
+
["Most cited first", "Least cited first"],
|
| 378 |
horizontal=True
|
| 379 |
+
) == "Least cited first"
|
| 380 |
else:
|
| 381 |
ascending = True # Default for other columns
|
| 382 |
|
|
|
|
| 386 |
display_df['Publication Year'] = display_df['Publication Year'].astype(int)
|
| 387 |
display_df.rename(columns={'Times Cited, All Databases': 'Times Cited'}, inplace=True)
|
| 388 |
display_df['Times Cited'] = display_df['Times Cited'].fillna(0).astype(int)
|
| 389 |
+
|
| 390 |
# Apply filters
|
| 391 |
filtered_df = create_filter_controls(display_df, sort_column)
|
| 392 |
|
| 393 |
+
# Apply sorting
|
| 394 |
+
if sort_column == 'Times Cited':
|
| 395 |
+
sorted_df = filtered_df.sort_values(by=sort_column, ascending=ascending)
|
| 396 |
+
elif sort_column == 'Article Title':
|
| 397 |
+
sorted_df = filtered_df.sort_values(by=sort_column, ascending=ascending)
|
| 398 |
+
else:
|
| 399 |
+
sorted_df = filtered_df
|
| 400 |
+
|
| 401 |
if sort_column == 'Article Title':
|
| 402 |
# Sort alphabetically
|
| 403 |
sorted_df = filtered_df.sort_values(by=sort_column, ascending=ascending)
|