INNER CODE UNIT · Python

build_terms

Zverik/every_door · tools/json_to_sqlite.py:455

        def build_terms(lang: str, data: dict[str, dict]) -> Iterator[tuple]:
            for name in data:
                name_src = references.get(references.presets_name, name, data, 'name')
                terms_src = references.get(references.presets_name, name, data, 'terms')
                aliases = data[name].get('aliases')

                terms = [normalize(s) for s in re.split(r'\W+', terms_src or '') if s]
                nameterms = [normalize(s) for s in re.split(r'\W+', name_src or '') if s]
                aliasterms = [normalize(s) for s in re.split(r'\W+', aliases or '') if s]

                # First words have higher priority
                tfirst = None if not terms else terms[0]
                ntfirst = None if not nameterms else nameterms[0]

                # Convert to sets to deduplicate
                nameterms = set(nameterms)
                terms = (set(terms) | set(aliasterms)) - nameterms
                for term in terms:

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…