Skip to content

Commit

Permalink
feat/neon_transformers
Browse files Browse the repository at this point in the history
  • Loading branch information
JarbasAl committed May 2, 2023
1 parent 1bfa89d commit 525641b
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 1 deletion.
38 changes: 38 additions & 0 deletions ovos_classifiers/opm.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
from typing import Optional, List

from ovos_plugin_manager.templates.transformers import UtteranceTransformer

from ovos_classifiers.heuristics.normalize import Normalizer, CatalanNormalizer, CzechNormalizer, \
PortugueseNormalizer, AzerbaijaniNormalizer, RussianNormalizer, EnglishNormalizer, UkrainianNormalizer


class UtteranceNormalizer(UtteranceTransformer):

def __init__(self, name="ovos-utterance-normalizer", priority=1):
super().__init__(name, priority)

@staticmethod
def get_normalizer(lang: str):
if lang.startswith("en"):
return EnglishNormalizer()
elif lang.startswith("pt"):
return PortugueseNormalizer()
elif lang.startswith("uk"):
return UkrainianNormalizer()
elif lang.startswith("ca"):
return CatalanNormalizer()
elif lang.startswith("cz"):
return CzechNormalizer()
elif lang.startswith("az"):
return AzerbaijaniNormalizer()
elif lang.startswith("ru"):
return RussianNormalizer()
return Normalizer()

def transform(self, utterances: List[str],
context: Optional[dict] = None) -> (list, dict):
context = context or {}
lang = context.get("lang") or self.config.get("lang", "en-us")
normalizer = self.get_normalizer(lang)
norm = [normalizer.normalize(u) for u in utterances] + utterances
return list(set(norm)), context
5 changes: 4 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,5 +80,8 @@ def required(requirements_file):
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
]
],
entry_points={
'neon.plugin.text': 'ovos-utterance-normalizer=ovos_classifiers.opm:UtteranceNormalizer'
}
)

0 comments on commit 525641b

Please sign in to comment.