Я хочу выяснить, присутствует ли в предложении ключевое слово, если его действие также присутствует, поэтому я могу классифицировать условие как выполненное, а может и неполное. For.Ex:
sent1: если a больше, чем B => условие в порядке, если IF, то присутствует конструкция
sent2: если a больше, сделать это, иначе сделать это => условие в порядке, ЕСЛИ остальная конструкция присутствует
sent3: Если a больше => неполное условие, потому что если деталь не завершает свое действие
Я написал код для этого, но я хочу улучшить его с хорошим шаблоном регулярных выражений, чтобы охватить почти все случаи
regex = r"(if|,|then|else|otherwise|})+"
matches = re.finditer(regex, sent, re. VERBOSE | re.IGNORECASE)
#iterate on matching words and make it found as conditional statements
for matchNum, match in enumerate(matches, start=1):
print(matchNum, match)
incomplete_condition_lst.append(match.group())
print("incomplete_condition_lst", incomplete_condition_lst)
if len(incomplete_condition_lst) > 1 :
condition_res_dict['incomplete_condition'] = False
rule_3_result_dict['message'] = "Sentence doesn't have incomplete condition"
rule_3_result_dict['rule_data'] = condition_res_dict
#return rule_3_result_dict
else :
condition_res_dict['incomplete_condition'] = True
rule_3_result_dict['status'] = True
rule_3_result_dict['message'] = "Sentence having incomplete condition"
rule_3_result_dict['rule_data'] = condition_res_dict