Working nlg i ogólne poprawki

This commit is contained in:
Cezary Gałązkiewicz 2022-06-07 23:11:29 +02:00
parent 2abc5bed1a
commit 887f6249ce
5 changed files with 21 additions and 12 deletions

View File

@ -14,10 +14,8 @@ class Dp:
'wagonType': "carrige_class",
}
}
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"
response = req.get(self.param[0]) if req is not None else "null"
return response if response is not None else "null"

View File

@ -1,5 +1,5 @@
class Dst:
def __init__(self):
class Dst:
self.messages = []
self.checklist = {
"from": None,
@ -25,6 +25,7 @@
def save_answer(self, slots):
for slot in slots:
self.checklist[slot[0]] = slot[1]
if slot[1] is not None:
self.checklist[slot[0]] = slot[1]
self.messages.append(slots)

View File

@ -6,7 +6,16 @@ class Nlg:
def __init__(self) -> None:
self.responses = {
"welcomemsg": ["I AM TRAIlMinATor!", "Cześć, jestem TrailMinator"],
"null": ["Can't hear you"]}
"from": ["Podaj stację poczatkową i końcową",
"Podaj stację początkową i końcową zaczynając zdanie od 'chciałbym kupić bilet'"],
"to": ["Podaj stację kocową"],
"time": ["Podaj w jaki dzień chcesz odbyć podróż"],
"passangerCount": ["Podaj ile biletów chcesz kupić"],
"discountedCount": ["Podaj ile z tych biletów będzie biletami ze zniżką i jaka zniżka będzie przysługiwała"],
"seatType": ["Podaj miejsce jakie chcesz mieć w pociągu: pod oknem/w środku/w przejściu"],
"wagonType": ["Podaj klasę wagonu w jakim chcesz kupić bilety: 1 albo 2 klasa"],
"null": ["Can't hear you"]
}
def response(self, response_type: str) -> str:
avail_resps = self.responses.get(response_type)

View File

@ -20,7 +20,7 @@ public <podaj_liczbe> = (<liczba>+){number};
public <passanger> = [<liczba>]{passangerCount} bilet[y | ów];
//discount count
public <discount> = [<liczba>]{discountedCount} bilet[y] (z ulgą | ze zniżką) <discount_type>{discount_type};
public <discount> = [<liczba>]{discountedCount} bilet[y | ów] (z ulgą | ze zniżką) <discount_type>{discount_type};
<discount_type> = studencką | seniorską | uczniowską;
//seatType

View File

@ -8,13 +8,14 @@ if __name__ == "__main__":
nlu = nlu.Nlu()
dst = dst.Dst()
next_question = dst.get_next_question()
while (next_question):
response_type = dst.get_next_question()
while response_type:
next_question = nlg.response(response_type)
print(next_question)
response = input()
res_tokenized = nlu.tokenize(response)
dst.save_answer(res_tokenized['slots'])
next_question = dst.get_next_question()
response_type = dst.get_next_question()
print(dst.checklist)
# print(dp_params)