Spaces:
Build error
Build error
| from service_dops_api.dops_config import ServiceDopsConfig | |
| import pandas as pd | |
| class DopsClassifier: | |
| def __init__(self,config: ServiceDopsConfig): | |
| self.config = config | |
| def run_regular_search(self,text,dop_name): | |
| result = {} | |
| options_patterns = self.config.option_patterns_dict[dop_name] | |
| result = {key: 1 if value.search(text) else 0 for key, value in options_patterns.items()} | |
| if 1 not in result.values(): | |
| result[self.config.dops_default_values[dop_name]] = 1 | |
| else: | |
| result[self.config.dops_default_values[dop_name]] = 0 | |
| return result | |
| def convert_search_to_human(self,dict_from_search,dop_name): | |
| result = {} | |
| result['dop_name'] = dop_name | |
| result['values'] = [key for key, value in dict_from_search.items() if value == 1] | |
| result['default_values'] = list(dict_from_search.keys()) | |
| return result | |
| def run_all_dops(self,text): | |
| all_dops = self.config.option_patterns_dict.keys() | |
| result_list = [] | |
| for dop in all_dops: | |
| temp_dop = self.run_regular_search(text,dop) | |
| result_list.append(self.convert_search_to_human(temp_dop,dop)) | |
| return result_list | |
| def run_all_dops_1_0(self,text): | |
| all_dops = self.config.option_patterns_dict.keys() | |
| dops = {} | |
| for dop in all_dops: | |
| temp_dop = self.run_regular_search(text,dop) | |
| dops = {**dops,**temp_dop} | |
| return pd.json_normalize(dops) |