Gabriel commited on
Commit
c35169a
1 Parent(s): fa9a17e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -14
app.py CHANGED
@@ -7,10 +7,7 @@ from sentence_transformers import SentenceTransformer, util
7
  import numpy as np
8
  from LexRank import *
9
 
10
- nltk.download('punkt')
11
-
12
-
13
- def lex_rank(in_text, threshold=None , model_in = 'KBLab/sentence-bert-swedish-cased', language='swedish' ):
14
  if threshold == 'None':
15
  threshold=None
16
 
@@ -27,7 +24,7 @@ def lex_rank(in_text, threshold=None , model_in = 'KBLab/sentence-bert-swedish-c
27
 
28
  most_central_sentence_indices = np.argsort(-centrality_scores)
29
  sent_list= []
30
- for idx in most_central_sentence_indices[0:4]:
31
  sent_list.append(sentences[idx])
32
  return ' '.join(sent_list)
33
 
@@ -40,7 +37,7 @@ def generate(in_text, num_beams, min_len, max_len, model_in):
40
  return answer[0]["summary_text"]
41
 
42
 
43
- def update_history(df, in_text, gen_text ,model_in, sum_typ ,parameters):
44
  # get rid of first seed phrase
45
  new_row = [{"In_text": in_text,
46
  "Gen_text": gen_text,
@@ -49,16 +46,17 @@ def update_history(df, in_text, gen_text ,model_in, sum_typ ,parameters):
49
  "Parameters": json.dumps(parameters)}]
50
  return pd.concat([df, pd.DataFrame(new_row)])
51
 
52
- def generate_transformer(in_text, num_beams, min_len, max_len, model_in,history):
53
  gen_text= generate(in_text,num_beams, min_len, max_len, model_in)
54
  return gen_text, update_history(history, in_text, gen_text, "Abstractive" ,model_in, {"num_beams": num_beams,
55
- "min_len": min_len,
56
- "max_len": max_len})
57
 
58
- def generate_lexrank(in_text, threshold, model_in, language, history):
59
- gen_text= lex_rank(in_text, threshold, model_in, language)
60
  return gen_text, update_history(history, in_text, gen_text, "Extractive" ,model_in, {"threshold": threshold,
61
- "language": language})
 
62
 
63
 
64
  with gr.Blocks() as demo:
@@ -118,6 +116,7 @@ with gr.Blocks() as demo:
118
  extract_button = gr.Button("Summarize!")
119
  with gr.Column(scale=3):
120
  with gr.Row():
 
121
  ex_threshold = gr.Dropdown(['None',0.1,0.2,0.3,0.4,0.5], value='None', label="Similar Threshold")
122
  ex_language = gr.Dropdown(["swedish","english"], value="swedish", label="Language")
123
  model_in_ex = gr.Dropdown(["KBLab/sentence-bert-swedish-cased","sentence-transformers/all-MiniLM-L6-v2"], value="KBLab/sentence-bert-swedish-cased", label="Model")
@@ -128,7 +127,7 @@ with gr.Blocks() as demo:
128
  gr.Markdown("<h3>Press one of the test examples below.<h3>")
129
  gr.Markdown("NOTE: First time inference for a new model will take time, since a new model has to downloaded before inference.")
130
  gr.Examples([["""Man enades om målet för ett stimulanspaket värt nästan 39 miljoner pund som en del av den walesiska regeringens budgetavtal med liberaldemokraterna. Finansminister Jane Hutt sa att det skulle bidra till att skapa omedelbara fördelar för ekonomin. Men Plaid Cymru sade att det var "helt otillräckligt" och de konservativa sade att det skulle gå till rådet skattebetalare. Labour och Lib Dems tillkännagav ett budgetavtal på fredag kväll och avslutade veckor av förhandlingar mellan ministrar och oppositionspartier. Med 30 av församlingens 60 platser behöver Labour hjälp av minst en annan part för att godkänna sina utgiftsplaner. Den 38,9 miljoner pund stora nedgången - som skulle tillbringas över två år - utgjorde också en del av budgetdiskussionerna. Pengarna kommer från statskassan till följd av ett skattestopp i England. Ett program för att hjälpa företag att anställa unga rekryter finns bland projekt som får finansiering. Regeringen sa att en extra £4.9m skulle skapa 1800 fler lärlingsplatser. Omkring 9 miljoner pund kommer att gå till att uppgradera skolbyggnader, med samma belopp som spenderas på att leverera ytterligare 130 bostäder. Regeringen kommer att spendera £3.5 förbättra vägar på platser där den planerar att skapa företagsområden. Fem delar av Wales har öronmärkts som områden där företag kommer att få hjälp att växa. Förste minister Carwyn Jones har sagt att kopiera den brittiska regeringen genom att använda pengarna för att hålla nere rådets skatt skulle inte i någon större utsträckning gynna ekonomin, tillägger att skatteräkningar för band D hem var lägre i genomsnitt i Wales. Labour har kritiserats av motståndare, särskilt Plaid Cymru, för att inte göra tillräckligt för att reagera på en försämrad ekonomisk situation. Hutt pekade på andra åtaganden från regeringens sida som syftar till att främja tillväxten. Hon sa att hon hade övervägt förslag om att spendera pengarna från hela regeringen. Hon sade: "Detta paket bygger på dessa åtgärder för att stimulera ekonomin och utveckla offentliga tjänster, vilket ger omedelbara fördelar för vår ekonomi samtidigt som det kompletterar våra långsiktiga mål." Konservativ skuggfinansminister Paul Davies sade att han var besviken ministrar använde ytterligare resurser för att "stoppa upp" befintlig politik. Han sade: "Det finns inget nytt i detta paket annat än ett nytt försök av walesiska arbetsmarknadsministrar att agera på ekonomin, samtidigt som man spenderar pengar som skulle användas bättre av skattebetalarna själva." Welsh Lib Dem ledare Kirsty Williams sade att hennes parti kommer också att arbeta med regeringen om hur man ska spendera eventuella pengar som tilldelats Wales som ett resultat av tisdagens höst uttalande av förbundskansler George Osborne. "Wales Liberal Democrats strategi kommer att vara att fortsätta att få vår ekonomi i rörelse och förbättra livskvaliteten för människor i Wales", sade hon. Plaid Cymru ekonomi talesman Alun Ffred Jones sade: " I över sex månader har Labour lutat sig tillbaka och inte gjort någonting - utsätta Wales för den fulla kraften i denna ekonomiska kris. "Nu försöker de desperat att skapa intrycket att denna lilla summa pengar kommer att göra vad som behövs. Helt enkelt kommer det inte att göra det."""
131
- , 'None','swedish', "KBLab/sentence-bert-swedish-cased"]], [text_extract, ex_threshold, ex_language, model_in_ex])
132
 
133
  with gr.Box():
134
  gr.Markdown("<h3> Generation History <h3>")
@@ -136,7 +135,7 @@ with gr.Blocks() as demo:
136
  history = gr.Dataframe(headers=["In_text", "Gen_text","Sum_type" ,"Gen_model", "Parameters"], overflow_row_behaviour="show_ends", wrap=True)
137
 
138
  transformer_button.click(generate_transformer, inputs=[text_baseline_transformer, num_beams, min_len, max_len, model_in ,history], outputs=[output_basline_transformer , history] )
139
- extract_button.click(generate_lexrank, inputs=[text_extract, ex_threshold, model_in_ex, ex_language ,history], outputs=[output_extract , history] )
140
 
141
 
142
  demo.launch()
 
7
  import numpy as np
8
  from LexRank import *
9
 
10
+ def lex_rank(in_text, threshold=None , ex_sent=4 ,model_in = 'KBLab/sentence-bert-swedish-cased', language='swedish' ):
 
 
 
11
  if threshold == 'None':
12
  threshold=None
13
 
 
24
 
25
  most_central_sentence_indices = np.argsort(-centrality_scores)
26
  sent_list= []
27
+ for idx in most_central_sentence_indices[0:ex_sent]:
28
  sent_list.append(sentences[idx])
29
  return ' '.join(sent_list)
30
 
 
37
  return answer[0]["summary_text"]
38
 
39
 
40
+ def update_history(df, in_text, gen_text ,model_in, sum_typ, parameters):
41
  # get rid of first seed phrase
42
  new_row = [{"In_text": in_text,
43
  "Gen_text": gen_text,
 
46
  "Parameters": json.dumps(parameters)}]
47
  return pd.concat([df, pd.DataFrame(new_row)])
48
 
49
+ def generate_transformer(in_text, num_beams, min_len, max_len, model_in, history):
50
  gen_text= generate(in_text,num_beams, min_len, max_len, model_in)
51
  return gen_text, update_history(history, in_text, gen_text, "Abstractive" ,model_in, {"num_beams": num_beams,
52
+ "min_len": min_len,
53
+ "max_len": max_len})
54
 
55
+ def generate_lexrank(in_text, threshold, model_in, ex_sent ,language, history):
56
+ gen_text= lex_rank(in_text, threshold, ex_sent ,model_in, language)
57
  return gen_text, update_history(history, in_text, gen_text, "Extractive" ,model_in, {"threshold": threshold,
58
+ "Nr_sent": ex_sent,
59
+ "language": language})
60
 
61
 
62
  with gr.Blocks() as demo:
 
116
  extract_button = gr.Button("Summarize!")
117
  with gr.Column(scale=3):
118
  with gr.Row():
119
+ ex_sent =gr.Slider(minimum=1, maximum=7, value=4, step=1, label="Sentences to return")
120
  ex_threshold = gr.Dropdown(['None',0.1,0.2,0.3,0.4,0.5], value='None', label="Similar Threshold")
121
  ex_language = gr.Dropdown(["swedish","english"], value="swedish", label="Language")
122
  model_in_ex = gr.Dropdown(["KBLab/sentence-bert-swedish-cased","sentence-transformers/all-MiniLM-L6-v2"], value="KBLab/sentence-bert-swedish-cased", label="Model")
 
127
  gr.Markdown("<h3>Press one of the test examples below.<h3>")
128
  gr.Markdown("NOTE: First time inference for a new model will take time, since a new model has to downloaded before inference.")
129
  gr.Examples([["""Man enades om målet för ett stimulanspaket värt nästan 39 miljoner pund som en del av den walesiska regeringens budgetavtal med liberaldemokraterna. Finansminister Jane Hutt sa att det skulle bidra till att skapa omedelbara fördelar för ekonomin. Men Plaid Cymru sade att det var "helt otillräckligt" och de konservativa sade att det skulle gå till rådet skattebetalare. Labour och Lib Dems tillkännagav ett budgetavtal på fredag kväll och avslutade veckor av förhandlingar mellan ministrar och oppositionspartier. Med 30 av församlingens 60 platser behöver Labour hjälp av minst en annan part för att godkänna sina utgiftsplaner. Den 38,9 miljoner pund stora nedgången - som skulle tillbringas över två år - utgjorde också en del av budgetdiskussionerna. Pengarna kommer från statskassan till följd av ett skattestopp i England. Ett program för att hjälpa företag att anställa unga rekryter finns bland projekt som får finansiering. Regeringen sa att en extra £4.9m skulle skapa 1800 fler lärlingsplatser. Omkring 9 miljoner pund kommer att gå till att uppgradera skolbyggnader, med samma belopp som spenderas på att leverera ytterligare 130 bostäder. Regeringen kommer att spendera £3.5 förbättra vägar på platser där den planerar att skapa företagsområden. Fem delar av Wales har öronmärkts som områden där företag kommer att få hjälp att växa. Förste minister Carwyn Jones har sagt att kopiera den brittiska regeringen genom att använda pengarna för att hålla nere rådets skatt skulle inte i någon större utsträckning gynna ekonomin, tillägger att skatteräkningar för band D hem var lägre i genomsnitt i Wales. Labour har kritiserats av motståndare, särskilt Plaid Cymru, för att inte göra tillräckligt för att reagera på en försämrad ekonomisk situation. Hutt pekade på andra åtaganden från regeringens sida som syftar till att främja tillväxten. Hon sa att hon hade övervägt förslag om att spendera pengarna från hela regeringen. Hon sade: "Detta paket bygger på dessa åtgärder för att stimulera ekonomin och utveckla offentliga tjänster, vilket ger omedelbara fördelar för vår ekonomi samtidigt som det kompletterar våra långsiktiga mål." Konservativ skuggfinansminister Paul Davies sade att han var besviken ministrar använde ytterligare resurser för att "stoppa upp" befintlig politik. Han sade: "Det finns inget nytt i detta paket annat än ett nytt försök av walesiska arbetsmarknadsministrar att agera på ekonomin, samtidigt som man spenderar pengar som skulle användas bättre av skattebetalarna själva." Welsh Lib Dem ledare Kirsty Williams sade att hennes parti kommer också att arbeta med regeringen om hur man ska spendera eventuella pengar som tilldelats Wales som ett resultat av tisdagens höst uttalande av förbundskansler George Osborne. "Wales Liberal Democrats strategi kommer att vara att fortsätta att få vår ekonomi i rörelse och förbättra livskvaliteten för människor i Wales", sade hon. Plaid Cymru ekonomi talesman Alun Ffred Jones sade: " I över sex månader har Labour lutat sig tillbaka och inte gjort någonting - utsätta Wales för den fulla kraften i denna ekonomiska kris. "Nu försöker de desperat att skapa intrycket att denna lilla summa pengar kommer att göra vad som behövs. Helt enkelt kommer det inte att göra det."""
130
+ , 'None', 4,'swedish', "KBLab/sentence-bert-swedish-cased"]], [text_extract, ex_threshold, ex_sent ,ex_language, model_in_ex])
131
 
132
  with gr.Box():
133
  gr.Markdown("<h3> Generation History <h3>")
 
135
  history = gr.Dataframe(headers=["In_text", "Gen_text","Sum_type" ,"Gen_model", "Parameters"], overflow_row_behaviour="show_ends", wrap=True)
136
 
137
  transformer_button.click(generate_transformer, inputs=[text_baseline_transformer, num_beams, min_len, max_len, model_in ,history], outputs=[output_basline_transformer , history] )
138
+ extract_button.click(generate_lexrank, inputs=[text_extract, ex_threshold, model_in_ex, ex_sent ,ex_language ,history], outputs=[output_extract , history] )
139
 
140
 
141
  demo.launch()