-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsplit_question.py
24 lines (19 loc) · 964 Bytes
/
split_question.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import re
def transform_text(original_text):
# Extract the base question
base_question_match = re.search(r'For which of these two scenarios (.+)? Scenario 1', original_text)
if base_question_match:
base_question = base_question_match.group(1)
else:
return "Could not find base question."
# Remove any trailing 'does' or 'do' from the base question to avoid duplication
base_question = re.sub(r'^(does|do)\s+', '', base_question)
# Split the original text into parts, then extract the scenarios
# Exclude the answer choices and the "Answer:" line at the end
parts = original_text.split("Scenario ")
scenarios = [part.split("|")[1].split("\n")[0].strip() for part in parts[1:]]
# Prepare the transformed text
transformed_text = ""
for scenario in scenarios:
transformed_text += f"Does {base_question}\n{scenario}\nA. No\nB. Yes\nAnswer:\n\n"
return transformed_text