Cachoups commited on
Commit
4810f30
·
verified ·
1 Parent(s): 787788a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -11
app.py CHANGED
@@ -325,62 +325,93 @@ with gr.Blocks() as demo:
325
  - For a selected country and topic, describe the adverse growth rate trend over three years using the [**google/flan-t5-base**](https://huggingface.co/google/flan-t5-base).
326
  """)
327
  with gr.Tab("Financial Report Text Analysis"):
328
- gr.Markdown("## Financial Report Paragraph Selection and Analysis on adverse macro-economy scenario")
329
 
330
  with gr.Row():
331
  # Upload PDFs
332
  with gr.Column():
 
333
  pdf1 = gr.Dropdown(choices=get_pdf_files(PDF_FOLDER), label="Select PDF 1")
334
  pdf2 = gr.Dropdown(choices=get_pdf_files(PDF_FOLDER), label="Select PDF 2")
335
-
336
  with gr.Column():
 
337
  b1 = gr.Button("Extract and Display Paragraphs")
338
  paragraph_1_dropdown = gr.Dropdown(label="Select Paragraph from PDF 1")
339
  paragraph_2_dropdown = gr.Dropdown(label="Select Paragraph from PDF 2")
340
-
 
341
  def update_paragraphs(pdf1, pdf2):
342
  global stored_paragraphs_1, stored_paragraphs_2
343
  stored_paragraphs_1, stored_paragraphs_2 = extract_and_paragraph(pdf1, pdf2, True)
344
  updated_dropdown_1 = [f"Paragraph {i+1}: {p[:100]}..." for i, p in enumerate(stored_paragraphs_1)]
345
  updated_dropdown_2 = [f"Paragraph {i+1}: {p[:100]}..." for i, p in enumerate(stored_paragraphs_2)]
346
  return gr.update(choices=updated_dropdown_1), gr.update(choices=updated_dropdown_2)
347
-
348
  b1.click(fn=update_paragraphs, inputs=[pdf1, pdf2], outputs=[paragraph_1_dropdown, paragraph_2_dropdown])
349
-
350
  with gr.Row():
351
  # Process the selected paragraph from PDF 1
352
  with gr.Column():
353
  gr.Markdown("### PDF 1 Analysis")
 
354
  selected_paragraph_1 = gr.Textbox(label="Selected Paragraph 1 Content", lines=4)
 
355
  summarize_btn1 = gr.Button("Summarize Text from PDF 1")
356
  summary_textbox_1 = gr.Textbox(label="Summary for PDF 1", lines=2)
 
 
357
  summarize_btn1.click(fn=lambda p: process_paragraph_1_sum(p), inputs=paragraph_1_dropdown, outputs=summary_textbox_1)
 
358
  sentiment_btn1 = gr.Button("Classify Financial Tone from PDF 1")
359
  sentiment_textbox_1 = gr.Textbox(label="Classification for PDF 1", lines=1)
 
 
360
  sentiment_btn1.click(fn=lambda p: process_paragraph_1_sent(p), inputs=paragraph_1_dropdown, outputs=sentiment_textbox_1)
361
- analyze_btn1 = gr.Button("Analyze Financial Tone on each sentence with yiyanghkust/finbert-tone")
 
362
  fin_spans_1 = gr.HighlightedText(label="Financial Tone Analysis for PDF 1")
 
 
363
  analyze_btn1.click(fn=lambda p: process_paragraph_1_sent_tone(p), inputs=paragraph_1_dropdown, outputs=fin_spans_1)
 
364
  analyze_btn1_ = gr.Button("Analyze Financial Tone on each sentence with ProsusAI/finbert")
365
- fin_spans_1_ = gr.HighlightedText(label="Financial Tone Analysis for PDF 1 bis")
 
 
366
  analyze_btn1_.click(fn=lambda p: process_paragraph_1_sent_tone_bis(p), inputs=paragraph_1_dropdown, outputs=fin_spans_1_)
367
-
368
  # Process the selected paragraph from PDF 2
369
  with gr.Column():
370
  gr.Markdown("### PDF 2 Analysis")
 
371
  selected_paragraph_2 = gr.Textbox(label="Selected Paragraph 2 Content", lines=4)
372
- selected_paragraph_2.change(show, paragraph_2_dropdown, selected_paragraph_2)
 
 
 
373
  summarize_btn2 = gr.Button("Summarize Text from PDF 2")
374
  summary_textbox_2 = gr.Textbox(label="Summary for PDF 2", lines=2)
 
 
375
  summarize_btn2.click(fn=lambda p: process_paragraph_2_sum(p), inputs=paragraph_2_dropdown, outputs=summary_textbox_2)
 
376
  sentiment_btn2 = gr.Button("Classify Financial Tone from PDF 2")
377
  sentiment_textbox_2 = gr.Textbox(label="Classification for PDF 2", lines=1)
 
 
378
  sentiment_btn2.click(fn=lambda p: process_paragraph_2_sent(p), inputs=paragraph_2_dropdown, outputs=sentiment_textbox_2)
379
- analyze_btn2 = gr.Button("Analyze Financial Tone on each sentence with yiyanghkust/finbert-tone")
 
380
  fin_spans_2 = gr.HighlightedText(label="Financial Tone Analysis for PDF 2")
 
 
381
  analyze_btn2.click(fn=lambda p: process_paragraph_2_sent_tone(p), inputs=paragraph_2_dropdown, outputs=fin_spans_2)
 
382
  analyze_btn2_ = gr.Button("Analyze Financial Tone on each sentence with ProsusAI/finbert")
383
- fin_spans_2_ = gr.HighlightedText(label="Financial Tone Analysis for PDF 2 bis")
 
 
384
  analyze_btn2_.click(fn=lambda p: process_paragraph_2_sent_tone_bis(p), inputs=paragraph_2_dropdown, outputs=fin_spans_2_)
385
 
386
  with gr.Tab("Financial Report Table Analysis"):
 
325
  - For a selected country and topic, describe the adverse growth rate trend over three years using the [**google/flan-t5-base**](https://huggingface.co/google/flan-t5-base).
326
  """)
327
  with gr.Tab("Financial Report Text Analysis"):
328
+ gr.Markdown("## Financial Report Paragraph Selection and Analysis on Adverse Macro-Economy Scenario")
329
 
330
  with gr.Row():
331
  # Upload PDFs
332
  with gr.Column():
333
+ gr.Markdown("### Step 1: Upload PDF Files")
334
  pdf1 = gr.Dropdown(choices=get_pdf_files(PDF_FOLDER), label="Select PDF 1")
335
  pdf2 = gr.Dropdown(choices=get_pdf_files(PDF_FOLDER), label="Select PDF 2")
336
+
337
  with gr.Column():
338
+ gr.Markdown("### Step 2: Extract and Display Paragraphs")
339
  b1 = gr.Button("Extract and Display Paragraphs")
340
  paragraph_1_dropdown = gr.Dropdown(label="Select Paragraph from PDF 1")
341
  paragraph_2_dropdown = gr.Dropdown(label="Select Paragraph from PDF 2")
342
+
343
+ # Extract paragraphs from PDFs and update dropdowns
344
  def update_paragraphs(pdf1, pdf2):
345
  global stored_paragraphs_1, stored_paragraphs_2
346
  stored_paragraphs_1, stored_paragraphs_2 = extract_and_paragraph(pdf1, pdf2, True)
347
  updated_dropdown_1 = [f"Paragraph {i+1}: {p[:100]}..." for i, p in enumerate(stored_paragraphs_1)]
348
  updated_dropdown_2 = [f"Paragraph {i+1}: {p[:100]}..." for i, p in enumerate(stored_paragraphs_2)]
349
  return gr.update(choices=updated_dropdown_1), gr.update(choices=updated_dropdown_2)
350
+
351
  b1.click(fn=update_paragraphs, inputs=[pdf1, pdf2], outputs=[paragraph_1_dropdown, paragraph_2_dropdown])
352
+
353
  with gr.Row():
354
  # Process the selected paragraph from PDF 1
355
  with gr.Column():
356
  gr.Markdown("### PDF 1 Analysis")
357
+
358
  selected_paragraph_1 = gr.Textbox(label="Selected Paragraph 1 Content", lines=4)
359
+
360
  summarize_btn1 = gr.Button("Summarize Text from PDF 1")
361
  summary_textbox_1 = gr.Textbox(label="Summary for PDF 1", lines=2)
362
+
363
+ # Summarize the selected paragraph from PDF 1
364
  summarize_btn1.click(fn=lambda p: process_paragraph_1_sum(p), inputs=paragraph_1_dropdown, outputs=summary_textbox_1)
365
+
366
  sentiment_btn1 = gr.Button("Classify Financial Tone from PDF 1")
367
  sentiment_textbox_1 = gr.Textbox(label="Classification for PDF 1", lines=1)
368
+
369
+ # Classify the financial tone of the selected paragraph from PDF 1
370
  sentiment_btn1.click(fn=lambda p: process_paragraph_1_sent(p), inputs=paragraph_1_dropdown, outputs=sentiment_textbox_1)
371
+
372
+ analyze_btn1 = gr.Button("Analyze Financial Tone on each sentence with FinBERT-tone")
373
  fin_spans_1 = gr.HighlightedText(label="Financial Tone Analysis for PDF 1")
374
+
375
+ # Analyze financial tone on each sentence using FinBERT-tone
376
  analyze_btn1.click(fn=lambda p: process_paragraph_1_sent_tone(p), inputs=paragraph_1_dropdown, outputs=fin_spans_1)
377
+
378
  analyze_btn1_ = gr.Button("Analyze Financial Tone on each sentence with ProsusAI/finbert")
379
+ fin_spans_1_ = gr.HighlightedText(label="Financial Tone Analysis for PDF 1 (Bis)")
380
+
381
+ # Analyze financial tone using ProsusAI/finbert
382
  analyze_btn1_.click(fn=lambda p: process_paragraph_1_sent_tone_bis(p), inputs=paragraph_1_dropdown, outputs=fin_spans_1_)
383
+
384
  # Process the selected paragraph from PDF 2
385
  with gr.Column():
386
  gr.Markdown("### PDF 2 Analysis")
387
+
388
  selected_paragraph_2 = gr.Textbox(label="Selected Paragraph 2 Content", lines=4)
389
+
390
+ # Display selected paragraph from PDF 2
391
+ selected_paragraph_2.change(fn=show, inputs=paragraph_2_dropdown, outputs=selected_paragraph_2)
392
+
393
  summarize_btn2 = gr.Button("Summarize Text from PDF 2")
394
  summary_textbox_2 = gr.Textbox(label="Summary for PDF 2", lines=2)
395
+
396
+ # Summarize the selected paragraph from PDF 2
397
  summarize_btn2.click(fn=lambda p: process_paragraph_2_sum(p), inputs=paragraph_2_dropdown, outputs=summary_textbox_2)
398
+
399
  sentiment_btn2 = gr.Button("Classify Financial Tone from PDF 2")
400
  sentiment_textbox_2 = gr.Textbox(label="Classification for PDF 2", lines=1)
401
+
402
+ # Classify the financial tone of the selected paragraph from PDF 2
403
  sentiment_btn2.click(fn=lambda p: process_paragraph_2_sent(p), inputs=paragraph_2_dropdown, outputs=sentiment_textbox_2)
404
+
405
+ analyze_btn2 = gr.Button("Analyze Financial Tone on each sentence with FinBERT-tone")
406
  fin_spans_2 = gr.HighlightedText(label="Financial Tone Analysis for PDF 2")
407
+
408
+ # Analyze financial tone on each sentence using FinBERT-tone for PDF 2
409
  analyze_btn2.click(fn=lambda p: process_paragraph_2_sent_tone(p), inputs=paragraph_2_dropdown, outputs=fin_spans_2)
410
+
411
  analyze_btn2_ = gr.Button("Analyze Financial Tone on each sentence with ProsusAI/finbert")
412
+ fin_spans_2_ = gr.HighlightedText(label="Financial Tone Analysis for PDF 2 (Bis)")
413
+
414
+ # Analyze financial tone using ProsusAI/finbert for PDF 2
415
  analyze_btn2_.click(fn=lambda p: process_paragraph_2_sent_tone_bis(p), inputs=paragraph_2_dropdown, outputs=fin_spans_2_)
416
 
417
  with gr.Tab("Financial Report Table Analysis"):