HakshaySundar commited on
Commit
a687f05
1 Parent(s): ab72374

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +5 -8
  2. text_converter.py +6 -6
app.py CHANGED
@@ -8,13 +8,10 @@ MIN_ENTAILMENT = 0.5
8
  MAX_ITER = 5
9
  SYSTEM_PROMPT = "You are a writing assistant. You help convert complex texts to simpler texts while maintaining the core meaning of the text."
10
 
11
- def convert_text(input_text, grade_level, input_reading_score, model_type):
12
- if model_type == "FRE":
13
- reading_levels = fre_levels
14
- else:
15
- reading_levels = sbert_levels
16
  min_level, max_level = reading_levels[grade_level]
17
- output_text, similarity, reading_level, message = generate_similar_sentence(input_text, min_level, max_level, MIN_ENTAILMENT, SYSTEM_PROMPT, MAX_ITER, float(input_reading_score), model_type)
18
  return output_text, similarity, reading_level, message
19
 
20
  with gr.Blocks(css='styles.css') as app:
@@ -40,7 +37,7 @@ with gr.Blocks(css='styles.css') as app:
40
 
41
  fetch_score_and_lvl_btn.click(
42
  fn=user_input_readability_level,
43
- inputs=[input_text, "FRE"],
44
  outputs=[output_input_reading_score, output_input_reading_level]
45
  )
46
 
@@ -59,7 +56,7 @@ with gr.Blocks(css='styles.css') as app:
59
 
60
  convert_button.click(
61
  fn=convert_text,
62
- inputs=[input_text, grade_level_fre, output_input_reading_score, "FRE"],
63
  outputs=[output_converted_text, output_similarity, output_reading_level, output_message]
64
  )
65
  #with gr.Tab("SBERT"):
 
8
  MAX_ITER = 5
9
  SYSTEM_PROMPT = "You are a writing assistant. You help convert complex texts to simpler texts while maintaining the core meaning of the text."
10
 
11
+ def convert_text(input_text, grade_level, input_reading_score, is_fre):
12
+ reading_levels = fre_levels if is_fre else sbert_levels
 
 
 
13
  min_level, max_level = reading_levels[grade_level]
14
+ output_text, similarity, reading_level, message = generate_similar_sentence(input_text, min_level, max_level, MIN_ENTAILMENT, SYSTEM_PROMPT, MAX_ITER, float(input_reading_score), is_fre)
15
  return output_text, similarity, reading_level, message
16
 
17
  with gr.Blocks(css='styles.css') as app:
 
37
 
38
  fetch_score_and_lvl_btn.click(
39
  fn=user_input_readability_level,
40
+ inputs=[input_text, True],
41
  outputs=[output_input_reading_score, output_input_reading_level]
42
  )
43
 
 
56
 
57
  convert_button.click(
58
  fn=convert_text,
59
+ inputs=[input_text, grade_level_fre, output_input_reading_score, True],
60
  outputs=[output_converted_text, output_similarity, output_reading_level, output_message]
61
  )
62
  #with gr.Tab("SBERT"):
text_converter.py CHANGED
@@ -61,9 +61,9 @@ def set_reading_levels(level_type):
61
  inverse_reading_levels = {v: k for k, v in reading_levels.items()}
62
  return level_type
63
 
64
- def user_input_readability_level(input_text, model_type):
65
- current_score = ping_api(input_text, model_type)
66
- print(f'Reading score for user input is: {current_score} for model type: {model_type}')
67
  current_level = ''
68
  for (min, max), level in inverse_reading_levels.items():
69
  if min <= current_score <= max:
@@ -72,7 +72,7 @@ def user_input_readability_level(input_text, model_type):
72
  break
73
  return current_score, current_level
74
 
75
- def generate_similar_sentence(input_text, min_reading_level, max_reading_level, min_entailment, system_prompt, max_iter, curr_reading_level, model_type):
76
  i = 0
77
  completed = False
78
  user_prompt = ""
@@ -109,7 +109,7 @@ def generate_similar_sentence(input_text, min_reading_level, max_reading_level,
109
  generated_texts.append(response)
110
 
111
  similarity = get_similarity(response, input_text)
112
- reading_level = ping_api(response, model_type) #flesch_reading_ease(response)
113
 
114
  # We add the generated text's reading level to the list.
115
  generated_text_scores.append((similarity, reading_level))
@@ -132,7 +132,7 @@ def generate_similar_sentence(input_text, min_reading_level, max_reading_level,
132
  i += 1
133
 
134
  # Printing all generated texts to the console.
135
- print(f"=============== Model Type: {model_type} ===============\n")
136
  for index, text in enumerate(generated_texts):
137
  print(f"=============== Iteration {index} ===============")
138
  print(f"Generated text: {text}\nSimilarity: {generated_text_scores[index][0]}\nReadability Score: {generated_text_scores[index][1]}\n")
 
61
  inverse_reading_levels = {v: k for k, v in reading_levels.items()}
62
  return level_type
63
 
64
+ def user_input_readability_level(input_text, is_fre):
65
+ current_score = ping_api(input_text, model_types[0] if is_fre else model_types[1])
66
+ print(f'Reading score for user input is: {current_score} for model type: {model_types[0] if is_fre else model_types[1]}')
67
  current_level = ''
68
  for (min, max), level in inverse_reading_levels.items():
69
  if min <= current_score <= max:
 
72
  break
73
  return current_score, current_level
74
 
75
+ def generate_similar_sentence(input_text, min_reading_level, max_reading_level, min_entailment, system_prompt, max_iter, curr_reading_level, is_fre):
76
  i = 0
77
  completed = False
78
  user_prompt = ""
 
109
  generated_texts.append(response)
110
 
111
  similarity = get_similarity(response, input_text)
112
+ reading_level = ping_api(response, model_types[0] if is_fre else model_types[1]) #flesch_reading_ease(response)
113
 
114
  # We add the generated text's reading level to the list.
115
  generated_text_scores.append((similarity, reading_level))
 
132
  i += 1
133
 
134
  # Printing all generated texts to the console.
135
+ print(f"=============== Model Type: {model_types[0] if is_fre else model_types[1]} ===============\n")
136
  for index, text in enumerate(generated_texts):
137
  print(f"=============== Iteration {index} ===============")
138
  print(f"Generated text: {text}\nSimilarity: {generated_text_scores[index][0]}\nReadability Score: {generated_text_scores[index][1]}\n")