def en_parsers_speed(self): file_path = os.path.join(lexnlp_test_path, 'long_parsed_text.txt') with codecs.open(file_path, 'r', encoding='utf-8') as fr: text = fr.read() ge_path = os.path.join(lexnlp_test_path, 'lexnlp/extract/en/tests/test_geoentities/') entities_fn = ge_path + 'geoentities.csv' aliases_fn = ge_path + 'geoaliases.csv' geo_config = list(DictionaryEntry.load_entities_from_files(entities_fn, aliases_fn)) times = {} # type: Dict[str, float] self.check_time(text, lambda s: list(get_amounts(s)), 'get_amounts', times) self.check_time(text, lambda s: list(get_acts(s)), 'get_acts', times) self.check_time(text, lambda s: list(get_citations(s)), 'get_citations', times) self.check_time(text, lambda s: list(get_conditions(s)), 'get_conditions', times) self.check_time(text, lambda s: list(get_constraints(s)), 'get_constraints', times) self.check_time(text, lambda s: list(get_copyright(s)), 'get_copyright', times) self.check_time(text, lambda s: list(_get_courts(s)), 'get_courts', times) self.check_time(text, lambda s: list(get_cusip(s)), 'get_cusip', times) self.check_time(text, lambda s: list(get_dates(s)), 'get_dates', times) self.check_time(text, lambda s: list(get_definitions(s)), 'get_definitions', times) self.check_time(text, lambda s: list(get_distances(s)), 'get_distances', times) self.check_time(text, lambda s: list(get_durations(s)), 'get_durations', times) self.check_time(text, lambda s: list(get_geoentities(s, geo_config)), 'get_geoentities', times) self.check_time(text, lambda s: list(get_money(s)), 'get_money', times) self.check_time(text, lambda s: list(get_percents(s)), 'get_percents', times) self.check_time(text, lambda s: list(get_pii(s)), 'get_pii', times) self.check_time(text, lambda s: list(get_ratios(s)), 'get_ratios', times) self.check_time(text, lambda s: list(get_regulations(s)), 'get_regulations', times) self.check_time(text, lambda s: list(get_trademarks(s)), 'get_trademarks', times) self.check_time(text, lambda s: list(get_urls(s)), 'get_urls', times) self.assertTrue('get_amounts' in times)
def getRatios(self): mem = [] ratios = list(get_ratios(self.bill_text)) self.bill.info['ratios'] = ratios for ratio in ratios: mem.append(str(ratio[0]) + " : " + str(ratio[1])) self.bill.info['ratios'] = mem
def test_ratios(self): text = "Ratio of not greater than 3.0:1.5.." ds = list(get_ratios(text)) self.assertEqual(1, len(ds)) ants = list(get_ratio_annotations(text)) self.assertEqual(1, len(ants)) self.assertEqual('en', ants[0].locale) self.assertEqual(3.0, ants[0].left) self.assertEqual(1.5, ants[0].right) self.assertEqual(2.0, ants[0].ratio)
def parse(self, text, text_unit_id, _text_unit_lang, **kwargs) -> ParseResults: found = list(ratios.get_ratios(text, return_sources=True)) if found: unique = set(found) return ParseResults({ RatioUsage: [ RatioUsage(text_unit_id=text_unit_id, amount=item[0], amount2=item[1], amount_str=item[3], total=item[2], count=found.count(item)) for item in unique ] })
def _extract_variants_from_text(self, text: str, **kwargs): ratios = list(get_ratios(text)) if not ratios: return None return [{'numerator': i[0], 'denominator': i[1]} for i in ratios]