grammar NLU cd

This commit is contained in:
Łukasz Jędyk 2021-05-16 18:07:23 +02:00
parent 9e83470bb3
commit 79fed3fbdc
3 changed files with 14 additions and 17 deletions

View File

@ -10,8 +10,9 @@ class NLU:
def get_dialog_act(self, rule): def get_dialog_act(self, rule):
slots = [] slots = []
self.get_slots(rule.expansion, slots) self.get_slots(rule.expansion, slots)
print(rule.grammar.name) print(rule)
return UserAct(UserActType.valueOf(rule.grammar.name.upper()), slots) print(slots)
return UserAct(UserActType[rule.name.upper()], slots)
def get_slots(self, expansion, slots): def get_slots(self, expansion, slots):
if expansion.tag != '': if expansion.tag != '':

View File

@ -8,4 +8,6 @@ class UserActType(Enum):
CREATE_MEETING = 2 CREATE_MEETING = 2
CANCEL_MEETING = 3 CANCEL_MEETING = 3
CHANGE_MEETING = 4 CHANGE_MEETING = 4
MEETING_LIST = 5
CONFIRM = 6
INVALID = -1 INVALID = -1

View File

@ -2,26 +2,20 @@
grammar book; grammar book;
public <create_meeting> = (zapisać | wpisać | dodać | utworzyć | umówić) nowe* spotkanie; public <create_meeting> = chciałbym (zapisać | wpisać | dodać | utworzyć | umówić) nowe* spotkanie;
public <cancel_meeting> = (anulować | odwołać | usunąć) spotkanie; public <cancel_meeting> = chciałbym (anulować | odwołać | usunąć) spotkanie;
public <change_meeting> = (przesunąć | zmienić | edytować) spotkanie; public <change_meeting> = chciałbym (przesunąć | zmienić | edytować) spotkanie;
public <rezerwuj> = chciałbym zarezerwować stolik <dzien_rezerwacji> <godzina_rezerwacji> <liczba_osob> ; public <meeting_list> = jakie spotkania mam <meeting_date> {date};
<dzien_rezerwacji> = na <dzien> {day}; <meeting_date> = (<day> <month> | dzisiaj | jutro | pojutrze | <week_day>);
<dzien> = dzisiaj | jutro | poniedziałek | wtorek | środę | czwartek | piątek | sobotę | niedzielę; <day> = 1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31;
<godzina_rezerwacji> = na [godzinę] <godzina_z_minutami> {hour}; <month> = stycznia | lutego | marca | kwietnia | maja | czerwca | lipca | sierpnia | września | października | listopada | grudnia;
<godzina_z_minutami> = <godzina> [<minuty>]; <week_day> = w (poniedziałek | środę | czwartek | piątek | sobotę | niedzielę) | we wtorek;
<godzina> = dziewiątą | dziesiątą | jedenastą | dwunastą; public <confirm> = potwierdzam | tak
<minuty> = pietnaście | trzydzieści;
<liczba_osob> = (na | dla) <liczba> {size} osób;
<liczba> = dwie | dwóch | trzy | trzech | cztery | czterech | pięć | pieciu;