From 43b80ffa36e598a11e09dcb2f4e2dc912370a7a7 Mon Sep 17 00:00:00 2001 From: s464961 Date: Tue, 7 May 2024 18:19:32 +0200 Subject: [PATCH] grammars --- grammars/affirm.jsgf | 7 +++++++ grammars/bye.jsgf | 7 +++++++ grammars/inform.jsgf | 26 ++++++++++++++++++++++++++ grammars/request.jsgf | 32 ++++++++++++++++++++------------ grammars/welcomemsg.jsgf | 2 +- main.py | 8 +++++++- 6 files changed, 68 insertions(+), 14 deletions(-) create mode 100644 grammars/affirm.jsgf create mode 100644 grammars/bye.jsgf create mode 100644 grammars/inform.jsgf diff --git a/grammars/affirm.jsgf b/grammars/affirm.jsgf new file mode 100644 index 0000000..7109a0b --- /dev/null +++ b/grammars/affirm.jsgf @@ -0,0 +1,7 @@ +#JSGF V1.0 UTF-8 pl; + +grammar affirm; + +public = ; + + = Tak zdecydowanie | Tak | Tak to brzmi świetnie | Potwierdzam; diff --git a/grammars/bye.jsgf b/grammars/bye.jsgf new file mode 100644 index 0000000..c7c88f3 --- /dev/null +++ b/grammars/bye.jsgf @@ -0,0 +1,7 @@ +#JSGF V1.0 UTF-8 pl; + +grammar bye; + +public = ; + + = Do widzenia | (Nie | Tak) to wszystko Dziękuję | Dziękujemy za zakupy Miłego dnia | Dziekujemy za zakupy w sklepie XYZ Milego dnia | Dziękuję Życzę miłego dnia | To wszystko; diff --git a/grammars/inform.jsgf b/grammars/inform.jsgf new file mode 100644 index 0000000..99af9db --- /dev/null +++ b/grammars/inform.jsgf @@ -0,0 +1,26 @@ +#JSGF V1.0 UTF-8 pl; + +grammar inform; + +public = Jaka jest cena produktu {produkt}*; +public = Jaki jest adres dostawy; +public = Jakie są dostępne metody płatności; + +public = dostępne | niedostępne; + +public = Cena produktu {produkt}* wynosi *; +public = Adres dostawy to ; +public = Dostępne metody płatności to *; + +public = zł; +public = jeden | dwie | trzy | cztery | pięć | sześć | siedem | osiem | dziewięć | dziesięć; + +public = ulica miasto kod pocztowy ; +public = ul. ; +public = ; +public = -; + +public = XYZ; +public = XYZ; +public = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0; +public = karta kredytowa | przelew bankowy | płatność przy odbiorze; diff --git a/grammars/request.jsgf b/grammars/request.jsgf index 4e7997d..ba0fac9 100644 --- a/grammars/request.jsgf +++ b/grammars/request.jsgf @@ -2,20 +2,28 @@ grammar request; -public = ; +public = kosmetyki | leżaki ogrodowe | artykuły spożywcze; - = (Cześć, | hej) chciałbym złożyć zamówienie na ( | ) | (chciałbym | chce) kupić ( | ) | ( | ) też mogą być? ; +public = szminka | krem do twarzy | szampon | balsam do ciała | maskara | leżak plażowy | leżak ogrodowy | parasol ogrodowy | grill | owoce | warzywa | mleko | jajka | pieczywo | ryby | mięso | woda mineralna | przekąski; - = narzędzia | meble ogrodowe | artykuły spożywcze | kosmetyki {category}; +public = Czy macie w ofercie {produkt}*; +public = Interesuje mnie zakup {produkt}*; +public = Interesuje mnie zakup {produkt} {kategorie}*; +public = Chciałbym kupić {produkt}*; +public = Chciałbym kupić {produkt} {kategorie}*; +public = Chciałabym kupić {produkt}*; +public = Chciałabym kupić {produkt} {kategorie}*; +public = Czy w sklepie dostępne są {produkt}*; +public = Czy w sklepie dostępne są {produkt} {kategorie}*; - = lakiery do paznokci | perfumy; +public = dostępne | niedostępne; - = młotek | miotła; +public = Tak mamy {produkt}*; +public = Tak mamy {produkt} {kategorie}*; +public = Niestety aktualnie nie mamy {produkt}*; +public = Niestety aktualnie nie mamy {produkt} {kategorie}*; - = leżaki ogrodowe | parasole | donice | tuje; - - = mleko | jajka | cebula | czosnek | szpinak | marchewka; - -public = [] ( | | | ) {items}; - - = jedno | dwie | trzy | cztery | pięć | sześć | siedem | osiem | dziewięć | dziesięć; +public = Tak w sklepie są {produkt}*; +public = Tak w sklepie są {produkt} {kategorie}*; +public = Niestety aktualnie nie ma {produkt}*; +public = Niestety aktualnie nie ma {produkt} {kategorie}*; diff --git a/grammars/welcomemsg.jsgf b/grammars/welcomemsg.jsgf index f7e06e2..e4e326d 100644 --- a/grammars/welcomemsg.jsgf +++ b/grammars/welcomemsg.jsgf @@ -3,4 +3,4 @@ grammar welcomemsg; public = ; - = Witamy w sklepie internetowym XYZ. W czym mogę pomóc? | Witaj! W czym mogę Ci dzisiaj pomóc?| Witamy w sklepie internetowym XYZ. W swojej ofercie mamy artykuły ogrodowe, meblowe oraz kosmetyki. | Witam tutaj sklep wielobranzowy, w czym moge pomoc?; \ No newline at end of file + = Witamy w sklepie internetowym XYZ W czym mogę pomóc | Witaj! W czym mogę Ci dzisiaj pomóc| Witamy w sklepie internetowym XYZ W swojej ofercie mamy artykuły ogrodowe meblowe oraz kosmetyki | Witam tutaj sklep wielobranzowy w czym moge pomoc; \ No newline at end of file diff --git a/main.py b/main.py index a53c62e..912c37d 100644 --- a/main.py +++ b/main.py @@ -1,5 +1,11 @@ +import jsgf + +request_grammar = jsgf.parse_grammar_file('./grammars/request.jsgf') + def main(): - pass + utterance = 'Czy macie w ofercie balsam do ciała' + matched = request_grammar.find_matching_rules(utterance) + print(matched) if __name__ == '__main__':