| import json | |
| def get_intersection(a: list, b: list) -> list: | |
| a = [i.lower() for i in a] | |
| b = [i.lower() for i in b] | |
| return sorted(set(a).intersection(set(b))) | |
| def not_in_intersection(a: list, b: list) -> list: | |
| return sorted(set(a).union(set(b)).difference(set(a).intersection(b))) | |
| def get_score(true_values: list, predicted_values: list) -> float: | |
| intersection_list = get_intersection(true_values, predicted_values) | |
| return len(intersection_list) / len(true_values) if len(true_values) else 0 | |
| def match(present_features, not_present_features): | |
| relevant_skills = len(present_features) | |
| total_skills = len(present_features + not_present_features) | |
| match = round(100.0 * (relevant_skills / total_skills), 2) | |
| return match | |
| def get_json_list_from_result(result: dict, key: str) -> list: | |
| try: | |
| return json.loads(result[key].strip()) | |
| except json.decoder.JSONDecodeError: | |
| print(key, result[key]) | |
| return [] | |