poprawka wywolania nlu

This commit is contained in:
s478874 2022-06-01 12:55:54 +02:00
parent c95b8f8896
commit 63a7c3707f
2 changed files with 7 additions and 20 deletions

View File

@ -50,23 +50,10 @@ class Nlu:
return new_str return new_str
def parse(self, message):
tokens = self.tokenize(message)
act = None
param = []
for k, v in self.acts.items():
if any(t in v['triggers'] for t in tokens):
act = k
for t in tokens:
if t in v['parameters']:
param.append(t)
# TODO: Refactor # TODO: Refactor
return (act, param) return (act, param)
nlu = Nlu() nlu = Nlu()
print(nlu.parse('chciałbym kupić bilet do Krakow')) print(nlu.tokenize('chciałbym kupić bilet do Krakow'))

View File

@ -2,29 +2,29 @@
grammar rules; grammar rules;
//from & to
public <rezerwuj> = chciałbym kupić bilet [na pociąg] [z <stacja_poczatkowa>] [(do <stacja_koncowa>)]; public <rezerwuj> = chciałbym kupić bilet [na pociąg] [z <stacja_poczatkowa>] [(do <stacja_koncowa>)];
<stacja_poczatkowa> = <stacja> {stacion}; <stacja_poczatkowa> = <stacja> {stacion};
<stacja_koncowa> = <stacja> {stacion}; <stacja_koncowa> = <stacja> {stacion};
<stacja> = Poznan | Warszawa | Wroclaw | Krakow | Gdansk; <stacja> = Poznan | Warszawa | Wroclaw | Krakow | Gdansk;
//time
public <podaj_date> = [w] [najbliższy | najbliższą] {okres} <dzien> {day}; public <podaj_date> = [w] [najbliższy | najbliższą] {okres} <dzien> {day};
<dzien> = dzisiaj | jutro | poniedziałek | wtorek | środę | czwartek | piątek | sobotę | niedzielę; <dzien> = dzisiaj | jutro | poniedziałek | wtorek | środę | czwartek | piątek | sobotę | niedzielę;
//count
public <liczba> = (0|1|2|3|4|5|6|7|8|9); public <liczba> = (0|1|2|3|4|5|6|7|8|9);
public <podaj_liczbe> = (<liczba>+){number}; public <podaj_liczbe> = (<liczba>+){number};
//discount count
public <discount> = [<liczba>] bilet[y] z ulgą <discount_type>{discount_type}; public <discount> = [<liczba>] bilet[y] z ulgą <discount_type>{discount_type};
<discount_type> = studencką | seniorską | uczniowską; <discount_type> = studencką | seniorską | uczniowską;
//seatType
public <seatType> = [poproszę] <seat_window>{seat_window} | <seat_middle>{seat_middle}; public <seatType> = [poproszę] <seat_window>{seat_window} | <seat_middle>{seat_middle};
<seat_window> = [miejsce] pod oknem; <seat_window> = [miejsce] pod oknem;
<seat_middle> = [miejsce] w środku | [miejsce] w przejściu; <seat_middle> = [miejsce] w środku | [miejsce] w przejściu;
//wagonType
public <wagonType> = [klasy | klasa] <class>{wagonType}; public <wagonType> = [klasy | klasa] <class>{wagonType};
<class> = pierwsza | druga | 1 | 2 | I | II; <class> = pierwsza | druga | 1 | 2 | I | II;