diff --git a/attributes.json b/attributes.json index 83c8a37..7783078 100644 --- a/attributes.json +++ b/attributes.json @@ -17,7 +17,7 @@ "cheese": {}, "tomato": {}, "ham": {}, - "pepper": {}, + "pepper": {} }, "menu": ["capri", "margarita", "hawajska", "barcelona", "tuna"], "pizza": { diff --git a/data/dialog-07-02-01.tsv b/data/dialog-07-02-01.tsv index 487f503..f65e181 100644 --- a/data/dialog-07-02-01.tsv +++ b/data/dialog-07-02-01.tsv @@ -1,9 +1,9 @@ kto treść akt user Dzień dobry, chciałbym zamówić pizzę. welcomemsg() -system Dzień dobry, w ofercie mamy: Pizza romana\nPiadina\nPizza amerkańska\nFritta pizza\npizza siciliana\nPizza wegeteriańska z ananasem\nWszystkie dostępne w rozmiarach mała (18cm), średnia(29cm) lub duża(44cm). welcomemsg()&inform(menu) -user Poproszę pizzę romana w rozmiarze dużym. inform(type=romana,size=duża) -system Rozumiem.\nCałość zamówienia to:\npizza romana duża - 50ł\nPotwierdza Pan zamówienie? affirm()&expl-conf(type=romana,size=duża)&inform(price=50zł) +system Dzień dobry. Oferujemy pizze:\nmargarita\ncapri\nhawajska\nbarcelona\ntuna\nWystępują w rozmiarach m (31cm), l (41cm) , xl (52cm). welcomemsg()&inform(menu) +user Poproszę pizzę hawajską w rozmiarze xl. inform(pizza=hawajska,size=xl) +system Rozumiem.\nCałość zamówienia to:\npizza hawajska w rozmiarze xl - 42zł\nPotwierdza Pan zamówienie? affirm()&expl-conf(pizza=hawajska,size=xl)&inform(price=42) user tak, odbiorę na miejscu affirm()&inform(delivery=toDoor) system Poproszę adres request(address) user Kolorowa 3 inform(address=Kolorowa 3) -system Kurier będzie u Państwa za około godzinę.\nŻyczę smacznego inform(deliveryTime=1h)&bye() \ No newline at end of file +system Kurier będzie u Państwa za około godzinę.\nŻyczę smacznego inform(time=0.5)&bye() \ No newline at end of file diff --git a/data/dialog-07-04-01.tsv b/data/dialog-07-04-01.tsv index 6af7c02..86b9acb 100644 --- a/data/dialog-07-04-01.tsv +++ b/data/dialog-07-04-01.tsv @@ -1,7 +1,7 @@ kto treść akt user Witam, jakie pizze mają pańśtwo w ofercie? welcomemsg()&request(menu) -system Dzień dobry, w ofercie mamy: Pizza romana\nPiadina\nPizza amerykańska\nFritta pizza\npizza siciliana\nPizza wegeteriańska z ananasem\nWszystkie dostępne w rozmiarach mała (18cm), średnia(29cm) lub duża(44cm). welcomemsg()&inform(menu) -user W takim razie chciałbym pizzę amerykańska w rozmiarze średnim. inform(type=amerykańska,size=średnia) -system Rozumiem.\nCałość zamówienia to:\npizza amerykańska średnia - razem 35ł\nZgadza się? affirm()&expl-conf(type=amerykańska,size=średnia)&inform(price=35zł) -user tak, poproszę z dowozem affirm()&inform(delivery=self-pickup) -system Zamówienie będzie gotowe do odbioru za około godzinę.\nŻyczę smacznego inform(deliveryTime=1h)&bye() \ No newline at end of file +system Dzień dobry. Oferujemy pizze:\nmargarita\ncapri\nhawajska\nbarcelona\ntuna\nWystępują w rozmiarach m (31cm), l (41cm) , xl (52cm). welcomemsg()&inform(menu) +user W takim razie chciałbym pizzę margarita w rozmiarze l. inform(pizza=margarita,size=l) +system Rozumiem.\nCałość zamówienia to:\npizza margarita w rozmiarze l - razem 35ł\nZgadza się? affirm()&expl-conf(pizza=margarita,size=l)&inform(price=24) +user tak, odbiorę osobiście affirm()&inform(delivery=self-pickup) +system Zamówienie będzie gotowe do odbioru za około godzinę.\nŻyczę smacznego inform(time=1)&bye() \ No newline at end of file diff --git a/data/dialog-07-06-01.tsv b/data/dialog-07-06-01.tsv index 562b382..f8a083e 100644 --- a/data/dialog-07-06-01.tsv +++ b/data/dialog-07-06-01.tsv @@ -1,16 +1,16 @@ kto treść akt user Dzień dobry. welcomemsg() -system Dzień dobry, witam w naszej pizzeri. W czym mogę pomóc? welcomemsg()&request(order) -user Chciałbym zamówić pizzę z kurczakiem, pieczarkami, i serem. inform(food=pizza,pizza.ingredient=kurczak,pizza.ingredient=pieczarki,pizza.ingredient=ser) -system a jaki rozmiar pizzy?\nMamy do wyboru M, L oraz XL request(size)&inform(menu.size) -user To poproszę L.\nMają Państwo jakieś napoje w ofercie? inform(size=L)&request(menu.drinks) -system tak, mamy soki natrualne oraz lemoniady różnych smakach inform(menu.drinks) -user to poproszę lemoniadę z cytryny arbuzowej inform(drinks=lemoniada z cytryny arbuzowej) -system Niestety, nie posiadamy takiego smaku w ofercie. Mamy do wyboru soki naturalne w smakach: jabłkowy, pomarańczowy, truskawkowy, winogronowy oraz lemioniady: cytrynową, czereśniową oraz truskawkową negate()&inform(menu.drinks) -user to truskawkową lemoniadę poproszę inform(drinks=lemoniada truskawkowa) +system Dzień dobry. Oferujemy pizze:\nmargarita\ncapri\nhawajska\nbarcelona\ntuna\nWystępują w rozmiarach m (31cm), l (41cm) , xl (52cm). welcomemsg()&inform(menu) +user Chciałbym zamówić pizzę barcelona. inform(pizza=barcelona) +system a jaki rozmiar pizzy?\nMamy do wyboru m, l oraz xl request(size)&inform(size) +user To poproszę l.\nMają Państwo jakieś napoje w ofercie? inform(size=l)&request(drink) +system tak, pespi, colę oraz wodę inform(drink) +user to poproszę sprite inform(drink=sprite) +system Niestety, nie posiadamy sprite w ofercie. pespi, colę oraz wodę negate()&inform(drink) +user to poproszę colę inform(drink=cola) system Dobrze, czy zamówienie będzie z dowozem, czy odbiór osobisty? affirm()&request(delivery) user Z dowozem. inform(delivery=toDoor) system Dobrze, proszę podać adres request(address) user Uniwersytetu Poznańskiego 4 inform(address=Uniwersytetu Poznańskiego 4) -system Dobrze, cena końcowa to 36,43zł, kurier będzie u Pana w ciągu 30 minut. Pozdrawiam i zapraszam ponownie affirm()&inform(price=36,43zł)&inform(DeliveryTime=0,5h)&bye() +system Dobrze, cena końcowa to 58zł, kurier będzie u Pana w ciągu 30 minut. Pozdrawiam i zapraszam ponownie affirm()&inform(price=58)&inform(time=0.5)&bye() user Pozdrawiam. bye() diff --git a/data/dialog-07-08-01.tsv b/data/dialog-07-08-01.tsv index 7fc0c96..4584188 100644 --- a/data/dialog-07-08-01.tsv +++ b/data/dialog-07-08-01.tsv @@ -1,16 +1,16 @@ kto treść akt user Witam welcomemsg() system Dzień dobry, witam w naszej restauracji Pizzeria. W czym mogę pomóc? welcomemsg()&request(order) -user Chcę jeść pickę inform(food=pizza) +user Chcę jeść pickę request(pizza) system Jaki rodzaj pizzy sobie Pan życzy, oraz jaki rozmiar? request(type,size) user Jakie są w ofercie? request(offer.type,offer.size) -system Pizzar romana\nPiadina\nPizza amerkańska\nFritta pizza\npizza siciliana\nPizza wegeteriańska z ananasem\nWszystkie dostępne w rozmiarach mała (18cm), średnia(29cm) lub duża(44cm). inform(menu.type)&inform(menu.size) -user Chciałbym pizzę wegetariańską ale bez ananasa inform(type=vegetarian,pizza.ingredient!=pineapple) -system Manualne dostosowywanie pizzy to dodatkowy koszt 10 zł. Czy to Panu odpowiada? inform(additionalCost) -user Nie odpowiada. Sam se ananasa wyjme i wyrzuce negate(additionalCost)&inform(type=vegetarian) -system Czyli Pana zamówienie to duża pizza wegetariańska z ananasem? expl-conf(type=vegetarian) -user Tak poproszę affirm(type=vegetarian) +system Oferujemy pizze:\nmargarita\ncapri\nhawajska\nbarcelona\ntuna\nWystępują w rozmiarach m (31cm), l (41cm) , xl (52cm). inform(menu) +user Chciałbym pizzę hawajska ale bez ananasa inform(pizza=hawajska,pizza.ingredient!=pineapple) +system Manualne dostosowywanie pizzy to dodatkowy koszt 10 zł. Czy to Panu odpowiada? inform(cost=10) +user Nie odpowiada. Sam se ananasa wyjme i wyrzuce negate(cost)&inform(pizza=hawajska) +system Czyli Pana zamówienie to duża pizza wegetariańska z ananasem? expl-conf(pizza=hawajska) +user Tak poproszę affirm(pizza=hawajska) system Będzie dowóz czy osobisty odbiór? request(delivery) user Odbiór osobisty inform(delivery=self-pickup) -system W takim razie zapraszam po odbiór za pół godziny\nPozdrawiam i zapraszam ponownie inform(DeliveryTime=0,5h)&bye() +system W takim razie zapraszam po odbiór za pół godziny\nPozdrawiam i zapraszam ponownie inform(time=0.5h)&bye() user Dziękuję serdecznie bye() diff --git a/src/main.py b/src/main.py index 54cee43..5eadf5b 100644 --- a/src/main.py +++ b/src/main.py @@ -6,7 +6,7 @@ from service.natural_language_generation import NaturalLanguageGeneration print("Natural language understanding, example:") naturalLanguageUnderstanding = NaturalLanguageUnderstanding() -print(naturalLanguageUnderstanding.convertTextToFrame("Cześć, jak masz na imię?")) +print(naturalLanguageUnderstanding.convert_text_to_frame("Cześć, jak masz na imię?")) # Example print("Dialog state monitor, examples:") diff --git a/src/service/natural_languag_understanding.py b/src/service/natural_languag_understanding.py index 8e2672f..628c208 100644 --- a/src/service/natural_languag_understanding.py +++ b/src/service/natural_languag_understanding.py @@ -5,7 +5,7 @@ class NaturalLanguageUnderstanding: "imię?" : "request(name)" } - def convertTextToFrame(self, text: str): + def convert_text_to_frame(self, text: str): frame = "" text = text.split(" ") for word in text: