def fast_score(self, target_place: Loc, result_place: Loc) -> float: # Get a rough, fast score for similarity between target and result. O is best. 100 is worst result_title = result_place.get_five_part_title() target_title = target_place.get_five_part_title() #self.logger.debug(f'F Score Result [{result_title}] targ [{target_title}] ') sc = 100 - fuzz.token_sort_ratio(result_title, target_title) #self.logger.debug(f'F Score={sc:.2f} Result [{result_title}] targ [{target_title}] ') return sc
def full_normalized_title(self, place: Loc) -> str: # Create a full normalized five part title (includes prefix) # Clean up prefix - remove any words that are in city, admin1 or admin2 from Prefix # place.prefix = Loc.Loc.matchscore_prefix(place.prefix, place.get_long_name(None)) title = place.get_five_part_title() title = self.norm.normalize_for_scoring(title) return title