diff --git a/trailminator/dp.py b/trailminator/dp.py index a6ae77e..76d19a7 100644 --- a/trailminator/dp.py +++ b/trailminator/dp.py @@ -1,5 +1,14 @@ class Dp: - def __init__(self): - self.actions = { - "name": ['imie', 'imię'] - } \ No newline at end of file + def __init__(self, act, param): + self.act = act + self.param = param + self.answers = { + 'request': {'imie': "welcomemsg"} + } + + def identify(self): + req = self.answers.get(self.act) + response = req.get(self.param[0]) if not req is None else "null" + return response if not response is None else "null" + + diff --git a/trailminator/nlg.py b/trailminator/nlg.py index 078103d..3586721 100644 --- a/trailminator/nlg.py +++ b/trailminator/nlg.py @@ -1,20 +1,14 @@ -from asyncio.constants import SENDFILE_FALLBACK_READBUFFER_SIZE +import random +from urllib import response +from scipy import rand class Nlg: - def __init__(self): - + def __init__(self, response_type: str) -> None: + self._response_type = response_type + self.responses = {"welcomemsg": ["I AM TRAIlMinATor!", "Cześć, jestem TrailMinator"], + "null": "Can't hear you"} - self.reactions = { - "name": "Mam na imie Trailminator." - } - - def detect_action(self, message): - for k, v in self.actions: - if any(m in v for m in message): - return k - - def generate_action(self, action): - return self.reactions[action] - - \ No newline at end of file + def response(self) -> str: + avail_resps = self.responses.get(self._response_type) + return avail_resps[random.randint(0, len(avail_resps)-1)] diff --git a/trailminator/nlu.py b/trailminator/nlu.py index d6ad913..328e020 100644 --- a/trailminator/nlu.py +++ b/trailminator/nlu.py @@ -42,5 +42,3 @@ class Nlu: return (act, param) -nlu = Nlu() -print(nlu.parse('jak masz na imie?')) \ No newline at end of file diff --git a/trailminator/trailminator.py b/trailminator/trailminator.py new file mode 100644 index 0000000..5cc2adc --- /dev/null +++ b/trailminator/trailminator.py @@ -0,0 +1,12 @@ +import dst +import nlu +import dp +import nlg + +if __name__ == "__main__": + msg = "Jak masz na imie?" + dp_params = nlu.Nlu().parse(msg) + # print(dp_params) + nlg_params = dp.Dp(*dp_params).identify() + # print(nlg_params) + print(f"{msg}\n{nlg.Nlg(nlg_params).response()}")