From e5a627f959702beb3e86b3d6f7a8c12e10835d02 Mon Sep 17 00:00:00 2001 From: Jakub Kaczmarek Date: Wed, 13 Apr 2022 11:38:57 +0200 Subject: [PATCH 1/5] Add labeled conversations --- data/dialog-10-03-01.tsv | 40 ++++++++++++++++++++-------------------- data/dialog-10-05-01.tsv | 16 ++++++++-------- data/dialog-10-07-01.tsv | 36 ++++++++++++++++++------------------ 3 files changed, 46 insertions(+), 46 deletions(-) diff --git a/data/dialog-10-03-01.tsv b/data/dialog-10-03-01.tsv index 9931291..d11176b 100644 --- a/data/dialog-10-03-01.tsv +++ b/data/dialog-10-03-01.tsv @@ -1,20 +1,20 @@ -user Dzień dobry -system Dzień dobry, jestem systemem służącym do rezerwacji biletów kolejowych w Polsce.W czym mogę pomóc? -user chcę dowiedzieć się ilę zapłacę za bilet do Warszawy -system W jakim dniu/Kiedy podróż ma się odbyć? -user jutro -system Gdzie podróż miałaby się zacząć? -user Poznań Główny -system W Warszawie dostępne są stacje: Warszawa główny, Warszawa zachodni. Która z tych stacji będzie stacją końcową? -user warszawa główna -system Ile osób będzie podróżować? -user 1 -system Ilu pasażerów będzie podróżować z ulgą? -user 0 -system Jakiej klasy wagon byłby najbardziej odpowiedni? (1/2) -user 2 -system W jakim wagonie ma zostać wykonana rezerwacja? (przedziałowy / bezprzedziałowy) -user bez przedziałowy -system W dniu 24.03.2022 ze stacji Poznań główny do Warszawa główna są dostępne połączenia: 8:10 - 12:24, 10:20 - 14:30, 14:15-18:45 -system Które połączenia pana / panią interesuje? -user 14.15-18.45 \ No newline at end of file +user Dzień dobry hello() +system Dzień dobry, jestem systemem służącym do rezerwacji biletów kolejowych w Polsce.W czym mogę pomóc? wlcomemsg() +user chcę dowiedzieć się ilę zapłacę za bilet do Warszawy "request(price&to=""Warszawa"")" +system W jakim dniu/Kiedy podróż ma się odbyć? request(date) +user jutro inform(date) +system Gdzie podróż miałaby się zacząć? request(from) +user Poznań Główny inform(from) +system W Warszawie dostępne są stacje: Warszawa główny, Warszawa zachodni. Która z tych stacji będzie stacją końcową? request(to) +user warszawa główna inform(to) +system Ile osób będzie podróżować? request(travelers_count) +user 1 inform(travelers_count) +system Ilu pasażerów będzie podróżować z ulgą? request(travelers_discounts) +user 0 inform(travelers_discounts) +system Jakiej klasy wagon byłby najbardziej odpowiedni? (1/2) request(carriage_class) +user 2 inform(carriage_class) +system W jakim wagonie ma zostać wykonana rezerwacja? (przedziałowy / bezprzedziałowy) request(carriage_type) +user bez przedziałowy inform(carriage_class) +system W dniu 24.03.2022 ze stacji Poznań główny do Warszawa główna są dostępne połączenia: 8:10 - 12:24, 10:20 - 14:30, 14:15-18:45 "offer(date=""24.03.2022""&from=""Poznań główny&to=""Warszawa główna"")" +system Które połączenia pana / panią interesuje? request(connection) +user 14.15-18.45 inform(connection) \ No newline at end of file diff --git a/data/dialog-10-05-01.tsv b/data/dialog-10-05-01.tsv index e299649..6fe5b03 100644 --- a/data/dialog-10-05-01.tsv +++ b/data/dialog-10-05-01.tsv @@ -1,8 +1,8 @@ -user Cześć -system Cześć, Jestem jestem systemem służącym do rezerwacji biletów kolejowych w Polsce. -system W czym mogę pomóc? -user Chciałbym kupić bilet -system W jakim dniu miała by się odbyć podróż? -user W najbliższą sobotę -system Gdzie chciał(a)by Pan(i) się udać? -user Z Poznania do Krakowa \ No newline at end of file +user "Cześć " hello() +"system " Cześć, Jestem jestem systemem służącym do rezerwacji biletów kolejowych w Polsce. welcomemsg() +"system " W czym mogę pomóc? welcomemsg() +user Chciałbym kupić bilet request(ticket) +system W jakim dniu miała by się odbyć podróż? request(date) +user W najbliższą sobotę inform(date) +"system " Gdzie chciał(a)by Pan(i) się udać? request(to) +user Z Poznania do Krakowa "inform(from=""Poznań""&to=""Kraków"")" \ No newline at end of file diff --git a/data/dialog-10-07-01.tsv b/data/dialog-10-07-01.tsv index f8b47f1..1b1c095 100644 --- a/data/dialog-10-07-01.tsv +++ b/data/dialog-10-07-01.tsv @@ -1,18 +1,18 @@ -user Dzień dobry -system Cześć, jestem jestem systemem służącym do rezerwacji biletów kolejowych w Polsce. -system W czym mogę pomóc? -user Chciałbym kupić 2 bilety z Poznania do Krakowa. -system W jakim dniu miała by się odbyć podróż? -user W następną środę, najlepiej od rana -system Nie zrozumiałem -user W środę -system W poznaniu dostępne są stacje: Poznań główny, Poznań nie główny. Która z tych stacji będzie stacją początkową? -user Poznań główny -system W Krakowie dostępne są stacje: Kraków główny, Kraków nie główny. Która z tych stacji będzie stacją końcową? -user Kraków nie główny -system Ile osób będzie podróżować? -user 2 -system Ilu pasażerów będzie podróżować z ulgą? -user 0 -system Jakiej klasy wagon byłby najbardziej odpowiedni? (1/2) -user 1 \ No newline at end of file +user Dzień dobry hello() +system Cześć, jestem jestem systemem służącym do rezerwacji biletów kolejowych w Polsce. hellomsg() +system W czym mogę pomóc? hellomsg() +user Chciałbym kupić 2 bilety z Poznania do Krakowa. "request(ticket&travelers_count=2&from=""Poznań""&to=""Warszawa"")" +system W jakim dniu miała by się odbyć podróż? request(date) +user W następną środę, najlepiej od rana inform(date) +system Nie zrozumiałem repeat() +user W środę inform(date) +system W poznaniu dostępne są stacje: Poznań główny, Poznań nie główny. Która z tych stacji będzie stacją początkową? select(from) +user Poznań główny "inform(from=""Poznań główny"")" +system W Krakowie dostępne są stacje: Kraków główny, Kraków nie główny. Która z tych stacji będzie stacją końcową? select(to) +user Kraków nie główny "inform(to=""Kraków nie główny)" +system Ile osób będzie podróżować? request(travelers_count) +user 2 inform(travelers_count=2) +system Ilu pasażerów będzie podróżować z ulgą? request(travelers_discount_count) +user 0 inform(travelers_discount_count=0) +system Jakiej klasy wagon byłby najbardziej odpowiedni? (1/2) request(carriage_class) +user 1 inform(carriage_class=1) \ No newline at end of file -- 2.20.1 From 6700154e860bbe127cd4afdddf0444e04a4bf5bd Mon Sep 17 00:00:00 2001 From: Jakub Kaczmarek Date: Wed, 13 Apr 2022 13:23:47 +0200 Subject: [PATCH 2/5] Add trailminator to the party --- trailminator/dp.py | 2 ++ trailminator/dst.py | 9 +++++++++ trailminator/nlg.py | 2 ++ trailminator/nlu.py | 46 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 59 insertions(+) create mode 100644 trailminator/dp.py create mode 100644 trailminator/dst.py create mode 100644 trailminator/nlg.py create mode 100644 trailminator/nlu.py diff --git a/trailminator/dp.py b/trailminator/dp.py new file mode 100644 index 0000000..475a1aa --- /dev/null +++ b/trailminator/dp.py @@ -0,0 +1,2 @@ +class Dp: + pass \ No newline at end of file diff --git a/trailminator/dst.py b/trailminator/dst.py new file mode 100644 index 0000000..8bbf494 --- /dev/null +++ b/trailminator/dst.py @@ -0,0 +1,9 @@ +class Dst: + def __init__(self): + self.messages = [] + + def store(self, message): + self.messages.append(message) + + def get_messages(self): + return self.messages diff --git a/trailminator/nlg.py b/trailminator/nlg.py new file mode 100644 index 0000000..eba938a --- /dev/null +++ b/trailminator/nlg.py @@ -0,0 +1,2 @@ +class Nlg: + pass \ No newline at end of file diff --git a/trailminator/nlu.py b/trailminator/nlu.py new file mode 100644 index 0000000..d6ad913 --- /dev/null +++ b/trailminator/nlu.py @@ -0,0 +1,46 @@ +import re + +class Nlu: + def __init__(self): + self.acts = { + "request": { + 'triggers': ['jak', 'kiedy'], + 'parameters': ['imie'] + } + } + + + def tokenize(self, string): + clean_string = self.get_str_cleaned(string) + + return clean_string.split() + + + def get_str_cleaned(self, str_dirty): + punctuation = '!"#$%&\'()*+,-./:;<=>?@[\\\\]^_`{|}~' + new_str = str_dirty.lower() + new_str = re.sub(' +', ' ', new_str) + + for char in punctuation: + new_str = new_str.replace(char,'') + + 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) + + + return (act, param) + +nlu = Nlu() +print(nlu.parse('jak masz na imie?')) \ No newline at end of file -- 2.20.1 From 1cc1810886d1977cf05efea8c04646d97b3764ba Mon Sep 17 00:00:00 2001 From: MatOgr Date: Wed, 20 Apr 2022 11:25:16 +0200 Subject: [PATCH 3/5] Prototype implementation --- trailminator/dp.py | 14 +++++++++++++- trailminator/nlg.py | 14 +++++++++++++- trailminator/nlu.py | 2 -- trailminator/trailminator.py | 12 ++++++++++++ 4 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 trailminator/trailminator.py diff --git a/trailminator/dp.py b/trailminator/dp.py index 475a1aa..742f6cc 100644 --- a/trailminator/dp.py +++ b/trailminator/dp.py @@ -1,2 +1,14 @@ class Dp: - pass \ No newline at end of file + def __init__(self, act, param): + self.act = act + self.param = param + self.answers = { + 'request': {'imie': "welcomemsg"} + } + + 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" + + \ No newline at end of file diff --git a/trailminator/nlg.py b/trailminator/nlg.py index eba938a..3c916a0 100644 --- a/trailminator/nlg.py +++ b/trailminator/nlg.py @@ -1,2 +1,14 @@ +import random +from urllib import response + +from scipy import rand + class Nlg: - pass \ No newline at end of file + def __init__(self, response_type: str) -> None: + self._response_type = response_type + self.responses = {"welcomemsg": ["I AM TRAIlMinATor!", "Cześć, jestem TrailMinator"], + "null": "Can't hear you"} + + def response(self) -> str: + avail_resps = self.responses.get(self._response_type) + return avail_resps[random.randint(0, len(avail_resps)-1)] \ No newline at end of file diff --git a/trailminator/nlu.py b/trailminator/nlu.py index d6ad913..328e020 100644 --- a/trailminator/nlu.py +++ b/trailminator/nlu.py @@ -42,5 +42,3 @@ class Nlu: return (act, param) -nlu = Nlu() -print(nlu.parse('jak masz na imie?')) \ No newline at end of file diff --git a/trailminator/trailminator.py b/trailminator/trailminator.py new file mode 100644 index 0000000..5cc2adc --- /dev/null +++ b/trailminator/trailminator.py @@ -0,0 +1,12 @@ +import dst +import nlu +import dp +import nlg + +if __name__ == "__main__": + msg = "Jak masz na imie?" + dp_params = nlu.Nlu().parse(msg) + # print(dp_params) + nlg_params = dp.Dp(*dp_params).identify() + # print(nlg_params) + print(f"{msg}\n{nlg.Nlg(nlg_params).response()}") -- 2.20.1 From 6535d5d752781ffa5df9e31ab2ad5ace833f6051 Mon Sep 17 00:00:00 2001 From: Jakub Kaczmarek Date: Wed, 18 May 2022 12:33:50 +0200 Subject: [PATCH 4/5] Add dp and nlg --- requirements-analysis.pdf | Bin 0 -> 85611 bytes trailminator/dp.py | 5 ++++- trailminator/nlg.py | 20 +++++++++++++++++++- 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 requirements-analysis.pdf diff --git a/requirements-analysis.pdf b/requirements-analysis.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7a6b610ee881992a09de78835485c8a835b886d5 GIT binary patch literal 85611 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 U!RcQMi5mzR05UbTsGQjU2ZX}fq5uE@ literal 0 HcmV?d00001 diff --git a/trailminator/dp.py b/trailminator/dp.py index 475a1aa..a6ae77e 100644 --- a/trailminator/dp.py +++ b/trailminator/dp.py @@ -1,2 +1,5 @@ class Dp: - pass \ No newline at end of file + def __init__(self): + self.actions = { + "name": ['imie', 'imię'] + } \ No newline at end of file diff --git a/trailminator/nlg.py b/trailminator/nlg.py index eba938a..078103d 100644 --- a/trailminator/nlg.py +++ b/trailminator/nlg.py @@ -1,2 +1,20 @@ +from asyncio.constants import SENDFILE_FALLBACK_READBUFFER_SIZE + + class Nlg: - pass \ No newline at end of file + def __init__(self): + + + self.reactions = { + "name": "Mam na imie Trailminator." + } + + def detect_action(self, message): + for k, v in self.actions: + if any(m in v for m in message): + return k + + def generate_action(self, action): + return self.reactions[action] + + \ No newline at end of file -- 2.20.1 From 8c6617cff591d1d863dd567faa4068efa95697c7 Mon Sep 17 00:00:00 2001 From: Jakub Kaczmarek Date: Wed, 18 May 2022 12:38:12 +0200 Subject: [PATCH 5/5] Add gitignore --- trailminator/.gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 trailminator/.gitignore diff --git a/trailminator/.gitignore b/trailminator/.gitignore new file mode 100644 index 0000000..ed8ebf5 --- /dev/null +++ b/trailminator/.gitignore @@ -0,0 +1 @@ +__pycache__ \ No newline at end of file -- 2.20.1