import re def analizator_jezyka_naturalnego(text): hello = ['dzie[ńn] dobry', 'dobry wiecz[oó]r', 'witam', 'witaj', 'siema', 'elo', 'cze[śs][ćc]'] request_name = ['imi[eę]', 'nazywasz'] question = ['\?$'] acts = {'hello': [hello], 'request(name)': [request_name, question]} text = text_preprocess(text) frame = act_check(text) return frame def text_preprocess(text): text = text.lower() return text def act_check(text): frame = [] for act, requirements in acts.items(): req = [check_synonyms(synonyms, text) for synonyms in requirements] if all(req): frame.append(act) return frame def check_synonyms(synonyms, text): for expression in synonyms: match = re.search(expression, text) if match: return True return False