new NLU using ML
This commit is contained in:
parent
f28cbe8a28
commit
70606851a1
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,4 @@
|
|||||||
/venv
|
/venv
|
||||||
__pycache__
|
__pycache__
|
||||||
|
frame-model
|
||||||
|
slot-model
|
@ -1,30 +1,125 @@
|
|||||||
|
from typing import get_args
|
||||||
from UserActType import UserActType
|
from UserActType import UserActType
|
||||||
from UserAct import UserAct
|
from UserAct import UserAct
|
||||||
import jsgf
|
from flair.data import Sentence, Token
|
||||||
|
from flair.datasets import SentenceDataset
|
||||||
|
from flair.models import SequenceTagger
|
||||||
|
|
||||||
|
|
||||||
class NLU:
|
class NLU:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.book_grammar = jsgf.parse_grammar_file('book.jsgf')
|
self.frame_model = SequenceTagger.load('frame-model/final-model.pt')
|
||||||
|
self.slot_model = SequenceTagger.load('slot-model/final-model.pt')
|
||||||
|
|
||||||
def get_dialog_act(self, rule):
|
def conllu2flair(self, sentences, label=None):
|
||||||
slots = []
|
fsentences = []
|
||||||
self.get_slots(rule.expansion, slots)
|
for sentence in sentences:
|
||||||
return UserAct(UserActType[rule.name.upper()], slots)
|
fsentence = Sentence()
|
||||||
|
for token in sentence:
|
||||||
|
ftoken = Token(token['form'])
|
||||||
|
if label:
|
||||||
|
ftoken.add_tag(label, token[label])
|
||||||
|
fsentence.add_token(ftoken)
|
||||||
|
fsentences.append(fsentence)
|
||||||
|
return SentenceDataset(fsentences)
|
||||||
|
|
||||||
def get_slots(self, expansion, slots):
|
def get_act_type_from_intent(self, intent):
|
||||||
if expansion.tag != '':
|
if 'inform' in intent:
|
||||||
slots.append((expansion.tag, expansion.current_match))
|
return UserActType.INFORM
|
||||||
return
|
elif 'meeting' in intent:
|
||||||
|
if 'create' in intent:
|
||||||
|
return UserActType.CREATE_MEETING
|
||||||
|
elif 'update' in intent:
|
||||||
|
return UserActType.UPDATE_MEETING
|
||||||
|
elif 'cancel' in intent:
|
||||||
|
return UserActType.CANCEL_MEETING
|
||||||
|
elif 'list' in intent:
|
||||||
|
return UserActType.MEETING_LIST
|
||||||
|
elif 'free_time' in intent:
|
||||||
|
return UserActType.FREE_TIME
|
||||||
|
elif 'hello' in intent:
|
||||||
|
return UserActType.HELLO
|
||||||
|
elif 'bye' in intent:
|
||||||
|
return UserActType.BYE
|
||||||
|
elif 'confirm' in intent:
|
||||||
|
return UserActType.CONFIRM
|
||||||
|
elif 'negate' in intent:
|
||||||
|
return UserActType.NEGATE
|
||||||
|
elif 'thankyou' in intent:
|
||||||
|
return UserActType.THANKYOU
|
||||||
|
else:
|
||||||
|
return UserActType.INVALID
|
||||||
|
|
||||||
for child in expansion.children:
|
def get_slots(self, slots):
|
||||||
self.get_slots(child, slots)
|
arguments = []
|
||||||
|
candidate = None
|
||||||
|
for slot in slots:
|
||||||
|
if slot[1].startswith("B-"):
|
||||||
|
if(candidate != None):
|
||||||
|
arguments.append(candidate)
|
||||||
|
candidate = [slot[1].replace("B-", ""), slot[0]]
|
||||||
|
if slot[1].startswith("I-") and candidate != None and slot[1].endswith(candidate[0]):
|
||||||
|
candidate[1] += " " + slot[0]
|
||||||
|
if(candidate != None):
|
||||||
|
arguments.append(candidate)
|
||||||
|
temp_slots = [(x[0], x[1]) for x in arguments]
|
||||||
|
final_slots = []
|
||||||
|
description_slot = ''
|
||||||
|
place_slot = ''
|
||||||
|
for slot in temp_slots:
|
||||||
|
if slot[0] == 'description':
|
||||||
|
if description_slot != '':
|
||||||
|
description_slot += ' '
|
||||||
|
description_slot += slot[1]
|
||||||
|
elif slot[0] == 'place':
|
||||||
|
if place_slot != '':
|
||||||
|
place_slot += ' '
|
||||||
|
place_slot += slot[1]
|
||||||
|
elif slot[0] == 'date':
|
||||||
|
slot_value = slot[1].casefold()
|
||||||
|
if len(slot_value) > 3:
|
||||||
|
final_slots.append(('date', slot_value.strip('.')))
|
||||||
|
elif slot[0] == 'time':
|
||||||
|
numeric = False
|
||||||
|
for char in slot[1]:
|
||||||
|
if char.isdigit():
|
||||||
|
numeric = True
|
||||||
|
if numeric:
|
||||||
|
final_slots.append(('time', slot[1].strip('.')))
|
||||||
|
elif slot[0] == 'participant':
|
||||||
|
if len(slot[1]) > 3:
|
||||||
|
final_slots.append(('participant', slot[1].strip('.')))
|
||||||
|
else:
|
||||||
|
final_slots.append(slot)
|
||||||
|
if description_slot != '':
|
||||||
|
final_slots.append(('description', description_slot.strip('.')))
|
||||||
|
if place_slot != '':
|
||||||
|
final_slots.append(('place', place_slot.strip('.')))
|
||||||
|
return final_slots
|
||||||
|
|
||||||
if not expansion.children and isinstance(expansion, jsgf.NamedRuleRef):
|
def analyse_user_input(self, text):
|
||||||
self.get_slots(expansion.referenced_rule.expansion, slots)
|
sentence = text.translate(str.maketrans('', '', '!"#$%&\'()*+,/;<=>?@[\]^_`{|}~'))
|
||||||
|
sentence = sentence.strip('.')
|
||||||
|
csentence = [{'form': word} for word in sentence.split()]
|
||||||
|
fsentence = self.conllu2flair([csentence])[0]
|
||||||
|
self.frame_model.predict(fsentence)
|
||||||
|
self.slot_model.predict(fsentence)
|
||||||
|
possible_intents = {}
|
||||||
|
for token in fsentence:
|
||||||
|
for intent in token.annotation_layers["frame"]:
|
||||||
|
if(intent.value in possible_intents):
|
||||||
|
possible_intents[intent.value] += intent.score
|
||||||
|
else:
|
||||||
|
possible_intents[intent.value] = intent.score
|
||||||
|
return [(token, ftoken.get_tag('slot').value) for token, ftoken in zip(sentence.split(), fsentence) if ftoken.get_tag('slot').value != 'O'], max(possible_intents)
|
||||||
|
|
||||||
|
def get_user_act(self, analysis):
|
||||||
|
slots = analysis[0]
|
||||||
|
intent = analysis[1]
|
||||||
|
act_type = self.get_act_type_from_intent(intent)
|
||||||
|
slots = self.get_slots(slots)
|
||||||
|
return UserAct(act_type, slots)
|
||||||
|
|
||||||
def parse_user_input(self, text: str) -> UserAct:
|
def parse_user_input(self, text: str) -> UserAct:
|
||||||
matched_rules = self.book_grammar.find_matching_rules(text)
|
analysis = self.analyse_user_input(text)
|
||||||
if matched_rules:
|
return self.get_user_act(analysis)
|
||||||
return self.get_dialog_act(matched_rules[0])
|
|
||||||
return UserAct(UserActType.INVALID, [])
|
|
||||||
|
@ -5,11 +5,13 @@ from enum import Enum, unique
|
|||||||
class UserActType(Enum):
|
class UserActType(Enum):
|
||||||
HELLO = 0
|
HELLO = 0
|
||||||
BYE = 1
|
BYE = 1
|
||||||
CREATE_MEETING = 2
|
CONFIRM = 2
|
||||||
CANCEL_MEETING = 3
|
NEGATE = 3
|
||||||
CHANGE_MEETING = 4
|
THANKYOU = 4
|
||||||
MEETING_LIST = 5
|
INFORM = 5
|
||||||
CONFIRM = 6
|
CREATE_MEETING = 6
|
||||||
NEGATE = 7
|
UPDATE_MEETING = 7
|
||||||
THANKYOU = 8
|
CANCEL_MEETING = 8
|
||||||
|
MEETING_LIST = 9
|
||||||
|
FREE_TIME = 10
|
||||||
INVALID = -1
|
INVALID = -1
|
||||||
|
29
book.jsgf
29
book.jsgf
@ -1,29 +0,0 @@
|
|||||||
#JSGF V1.0 UTF-8 pl;
|
|
||||||
|
|
||||||
grammar book;
|
|
||||||
|
|
||||||
public <create_meeting> = chciałbym (zapisać | wpisać | dodać | utworzyć | umówić) (nowe)* spotkanie;
|
|
||||||
|
|
||||||
public <cancel_meeting> = chciałbym (anulować | odwołać | usunąć) spotkanie;
|
|
||||||
|
|
||||||
public <change_meeting> = chciałbym (przesunąć | zmienić | edytować) spotkanie;
|
|
||||||
|
|
||||||
public <meeting_list> = jakie spotkania mam <meeting_date> {date};
|
|
||||||
|
|
||||||
<meeting_date> = (<day> <month> | dzisiaj | jutro | pojutrze | <week_day>);
|
|
||||||
|
|
||||||
<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;
|
|
||||||
|
|
||||||
<month> = stycznia | lutego | marca | kwietnia | maja | czerwca | lipca | sierpnia | września | października | listopada | grudnia;
|
|
||||||
|
|
||||||
<week_day> = w (poniedziałek | środę | czwartek | piątek | sobotę | niedzielę) | we wtorek;
|
|
||||||
|
|
||||||
public <confirm> = potwierdzam | tak | zgadza się;
|
|
||||||
|
|
||||||
public <hello> = witam | dzień dobry | cześć | siemka | dobry wieczór | hej | hejka;
|
|
||||||
|
|
||||||
public <thankyou> = (bardzo)* dziękuję (bardzo)*;
|
|
||||||
|
|
||||||
public <bye> = do widzenia | miłego dnia | to by było wszystko na teraz | <thankyou> to wszystko | to wszystko na tę chwilę;
|
|
||||||
|
|
||||||
public <negate> = nie;
|
|
@ -1,19 +1,19 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
user Chciałbym zapisać spotkanie request(create_meeting)
|
user Chciałbym zapisać spotkanie create_meeting()
|
||||||
system Proszę podać dzień na jaki mam zapisać spotkanie. request(date)
|
system Proszę podać dzień na jaki mam zapisać spotkanie. request(date)
|
||||||
user 05.04.2021 infrom(date='05.04.2021')
|
user 05.04.2021 inform(date='05.04.2021')
|
||||||
system Proszę podać godzinę i długość spotkania. request(time, meeting_length)
|
system Proszę podać godzinę i długość spotkania. request(time, meeting_length)
|
||||||
user 19:00 - 21:00 inform(time='19:00', duration='2 godziny')
|
user 19:00 - 21:00 inform(time='19:00', duration='2 godziny')
|
||||||
system Niestety, godzina ta jest już zajęta przez inne spotkanie, proponuję godzinę 19:30 - 21:30. offer(time='19:30')
|
system Niestety, godzina ta jest już zajęta przez inne spotkanie, proponuję godzinę 19:30 - 21:30. offer(time='19:30')
|
||||||
user ok confirm(time)
|
user ok confirm()
|
||||||
system Czy mam zapisać miejsce spotkania? request(place)
|
system Czy mam zapisać miejsce spotkania? request(place)
|
||||||
user nie negate()
|
user nie negate()
|
||||||
system Czy mam dodać opis do spotkania? request(description)
|
system Czy mam dodać opis do spotkania? request(description)
|
||||||
user nie negate()
|
user nie negate()
|
||||||
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participants)
|
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participant)
|
||||||
user nie negate()
|
user nie negate()
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Poniedziałek 5.04.2021 19:30-21:30 confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Poniedziałek 5.04.2021 19:30-21:30 confirm-domain()
|
||||||
user potwierdzam ack(create_meeting)
|
user potwierdzam confirm()
|
||||||
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
||||||
user Koniec zapisu bye()
|
user Koniec zapisu bye()
|
||||||
system Miłego dnia bye()
|
system Miłego dnia bye()
|
|
@ -3,12 +3,12 @@ user Dzień dobry hello()
|
|||||||
system Dzień dobry, witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
system Dzień dobry, witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
||||||
user Chciałbym anulować spotkanie request(cancel_meeting)
|
user Chciałbym anulować spotkanie request(cancel_meeting)
|
||||||
system Proszę podać datę i godzinę spotkania do odwołania. request(date, time)
|
system Proszę podać datę i godzinę spotkania do odwołania. request(date, time)
|
||||||
user Spotkanie o 19:00 w piątek inform(date='next friday', time='19:00')
|
user Spotkanie o 19:00 w piątek inform(date='piątek', time='19:00')
|
||||||
system Czy jesteś pewien, że chcesz odwołać poniższe spotkanie? Data: Piątek 2.04.2021 19:00-20:00 Miejsce: Gabinet Dentystyczny MegaDent Spotkanie z: doktor Emilia Ząb Opis: Wizyta u dentysty confirm-domain()
|
system Czy jesteś pewien, że chcesz odwołać poniższe spotkanie? Data: Piątek 2.04.2021 19:00-20:00 Miejsce: Gabinet Dentystyczny MegaDent Spotkanie z: doktor Emilia Ząb Opis: Wizyta u dentysty confirm-domain()
|
||||||
user Tak ack(cancel_meeting)
|
user Tak confirm()
|
||||||
system Spotkanie zostało pomyślnie odwołane. inform(cancel_meeting)
|
system Spotkanie zostało pomyślnie odwołane. inform(cancel_meeting)
|
||||||
user Proszę wpisać nowe spotkanie na ten termin: Wyjście do Kina z Tomkiem request(create_meeting)
|
user Proszę wpisać nowe spotkanie na ten termin: Wyjście do Kina z Tomkiem create_meeting()
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Piątek 2.04.2021 19:00-20:00 Miejsce: Kino Spotkanie z: Tomek Opis: Wyjście do Kina confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Piątek 2.04.2021 19:00-20:00 Miejsce: Kino Spotkanie z: Tomek Opis: Wyjście do Kina confirm-domain()
|
||||||
user Tak, zgadza się ack(create_meeting)
|
user Tak, zgadza się confirm()
|
||||||
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
||||||
user Dziękuję bye()
|
user Dziękuję thankyou()
|
||||||
|
|
@ -1,14 +1,14 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
||||||
user Jakie mam wolne terminy w najbliższy piątek request(free_time)
|
user Jakie mam wolne terminy w najbliższy piątek free_time(date='najbliższy piątek')
|
||||||
system Wolne terminy w piątek to: 9:00-12:15 14:00-15:00 18:00-24:00 inform(free_time)
|
system Wolne terminy w piątek to: 9:00-12:15 14:00-15:00 18:00-24:00 inform(free_time)
|
||||||
user Chciałabym, aby moje spotkania mogły być planowane maksymalnie do godziny 17 by mieć spokój poza godzinami pracy request(set_max_meeting_time)
|
user Chciałabym, aby moje spotkania mogły być planowane maksymalnie do godziny 17 by mieć spokój poza godzinami pracy request(set_max_meeting_time)
|
||||||
system Godziny spotkań zostały pomyślnie zmienione. Obecne godziny to 8:00-17:00 inform(time=8:00, duration='9 godzin')
|
system Godziny spotkań zostały pomyślnie zmienione. Obecne godziny to 8:00-17:00 inform(time=8:00, duration='9 godzin')
|
||||||
user Dziękuję. Proszę wpisać spotkanie na piątek godzinę 9:00 "Podsumowanie miesiąca", salka A request(create_meeting)
|
user Dziękuję. Proszę wpisać spotkanie na piątek godzinę 9:00 "Podsumowanie miesiąca", salka A create_meeting(date='piątek',time='9:00',description='Podsumowanie miesiąca',place='Salka A'
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Piątek 2.04.2021 9:00 Miejsce: salka A Spotkanie z: Brak Opis: Podsumowanie miesiąca confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Piątek 2.04.2021 9:00 Miejsce: salka A Spotkanie z: Brak Opis: Podsumowanie miesiąca confirm-domain()
|
||||||
user potwierdzam ack(create_meeting)
|
user potwierdzam ack(create_meeting)
|
||||||
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
system Spotkanie zostało pomyślnie dodane do kalendarza. confirm()
|
||||||
user Chciałabym zobaczyć podsumowanie spotkań z ostatniego miesiąca request(meeting_list)
|
user Chciałabym zobaczyć podsumowanie spotkań z ostatniego miesiąca meeting_list(date='ostatniego miesiąca')
|
||||||
system Na ostatni miesiąc zaplanowano następujące spotkania: inform(meeting_list)
|
system Na ostatni miesiąc zaplanowano następujące spotkania: inform(meeting_list)
|
||||||
system Data: Czwartek 11.02.2021 20:00-21:30 Miejsce: Multikino Spotkanie z: Kasia Opis: Wyjście do kina inform(meeting_list)
|
system Data: Czwartek 11.02.2021 20:00-21:30 Miejsce: Multikino Spotkanie z: Kasia Opis: Wyjście do kina inform(meeting_list)
|
||||||
system Data: Sobota 20.02.2021 12:00-14:00 Miejsce: Cytadela Spotkanie z: Brak Opis: Spacer inform(meeting_list)
|
system Data: Sobota 20.02.2021 12:00-14:00 Miejsce: Cytadela Spotkanie z: Brak Opis: Spacer inform(meeting_list)
|
||||||
|
Can't render this file because it contains an unexpected character in line 7 and column 69.
|
@ -1,16 +1,16 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
user Hej hello()
|
user Hej hello()
|
||||||
system Hej, witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
system Hej, witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
||||||
user Jakie mam spotkania jutro? request(meeting_list)
|
user Jakie mam spotkania jutro? meeting_list(date='jutro')
|
||||||
system Na jutro zaplanowano następujące spotkania: inform(meeting_list)
|
system Na jutro zaplanowano następujące spotkania: inform(meeting_list)
|
||||||
system Data: Wtorek 30.03.2021 10:00-11:30 Miejsce: Platforma MS Teams Spotkanie z: Marek Kubis Opis: Odrabianie zajęć z Systemów Dialogowych inform(meeting_list)
|
system Data: Wtorek 30.03.2021 10:00-11:30 Miejsce: Platforma MS Teams Spotkanie z: Marek Kubis Opis: Odrabianie zajęć z Systemów Dialogowych inform(meeting_list)
|
||||||
user Czy moge przesunąć to spotkanie? request(update_meeting)
|
user Czy moge przesunąć to spotkanie? update_meeting()
|
||||||
system Obecny czas spotkania to: Wtorek 30.03.2021 10:00-11:30, jaki ma być nowy czas spotkania? request(date, time)
|
system Obecny czas spotkania to: Wtorek 30.03.2021 10:00-11:30, jaki ma być nowy czas spotkania? request(date, time)
|
||||||
user Ten sam dzień ale o 13 początek inform(date='ten sam dzień', time='13:00')
|
user Ten sam dzień ale o 13 początek inform(date='ten sam dzień', time='13')
|
||||||
system Czas został pomyślnie zmieniony affirm(update_meeting)
|
system Czas został pomyślnie zmieniony affirm(update_meeting)
|
||||||
user Chciałbym dodać nowe spotkanie request(create_meeting)
|
user Chciałbym dodać nowe spotkanie create_meeting()
|
||||||
system Proszę podać dzień na jaki mam umówić spotkanie. request(date)
|
system Proszę podać dzień na jaki mam umówić spotkanie. request(date)
|
||||||
user pierwszy kwietnia informe(date='01.04.2021')
|
user pierwszy kwietnia inform(date='pierwszy kwietnia')
|
||||||
system Proszę podać godzinę i długość spotkania. request(time)
|
system Proszę podać godzinę i długość spotkania. request(time)
|
||||||
user 18:30 bez ustalonego czasu spotkania inform(time='18:30')
|
user 18:30 bez ustalonego czasu spotkania inform(time='18:30')
|
||||||
system Czy mam zapisać miejsce spotkania? request(place)
|
system Czy mam zapisać miejsce spotkania? request(place)
|
||||||
@ -20,7 +20,7 @@ user nie negate()
|
|||||||
system Czy mam dodać opis do spotkania? request(description)
|
system Czy mam dodać opis do spotkania? request(description)
|
||||||
user Tak. Spotkanie rekreacyjne inform(description='Spotkanie rekreacyjne')
|
user Tak. Spotkanie rekreacyjne inform(description='Spotkanie rekreacyjne')
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Czwartek 1.04.2021 18:30 Miejsce: Brak Spotkanie z: Brak Opis: Spotkanie rekreacyjne confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Czwartek 1.04.2021 18:30 Miejsce: Brak Spotkanie z: Brak Opis: Spotkanie rekreacyjne confirm-domain()
|
||||||
user Tak zgadza się ack(create_meeting)
|
user Tak zgadza się confirm()
|
||||||
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
||||||
user To by było wszystko bye()
|
user To by było wszystko bye()
|
||||||
system Miłego dnia bye()
|
system Miłego dnia bye()
|
|
@ -1,19 +1,19 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
user cześć operatorze hello()
|
user cześć operatorze hello()
|
||||||
system Cześć, witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
system Cześć, witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
||||||
user Chciałbym umówić nowe spotkanie request(create_meeting)
|
user Chciałbym umówić nowe spotkanie create_meeting()
|
||||||
system Proszę podać dzień na jaki mam umówić spotkanie. request(date)
|
system Proszę podać dzień na jaki mam umówić spotkanie. request(date)
|
||||||
user jutro inform(date='jutro')
|
user jutro inform(date='jutro')
|
||||||
system Proszę podać godzinę i długość spotkania. request(time, duration)
|
system Proszę podać godzinę i długość spotkania. request(time, duration)
|
||||||
user Godzina 18:30, czas trwania 2 godziny inform(time='18:30', duration='2 godziny')
|
user Godzina 18:30, czas trwania 2 godziny inform(time='18:30', duration='2 godziny')
|
||||||
system Niestety, godzina ta jest już zajęta przez inne spotkanie, proponuję godzinę 19:00. offer(time='19:00')
|
system Niestety, godzina ta jest już zajęta przez inne spotkanie, proponuję godzinę 19:00. offer(time='19:00')
|
||||||
user Akceptuje i proszę zmienić czas trwania na 1,5h ack() & inform(duration='1,5 godziny')
|
user Akceptuje i proszę zmienić czas trwania na 1,5h confirm() & inform(duration='1,5 godziny')
|
||||||
system Czy mam zapisać miejsce spotkania? request(place)
|
system Czy mam zapisać miejsce spotkania? request(place)
|
||||||
user Tak ack()
|
user Tak confirm()
|
||||||
system Gdzie ma się odbyć spotkanie? request(place)
|
system Gdzie ma się odbyć spotkanie? request(place)
|
||||||
user Restauracja ABC inform(place='Restauracja ABC')
|
user Restauracja ABC inform(place='Restauracja ABC')
|
||||||
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participants)
|
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participant)
|
||||||
user tak, Jan Kowalski inform(participants=['Jan Kowalski'])
|
user tak, Jan Kowalski inform(participant=['Jan Kowalski'])
|
||||||
system Czy mam dodać opis do spotkania? request(description)
|
system Czy mam dodać opis do spotkania? request(description)
|
||||||
user Nie, Dziękuję negate() & thankyou()
|
user Nie, Dziękuję negate() & thankyou()
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Wtorek 30.03.2021 19:00-20:30 Miejsce: Restauracja ABC Spotkanie z: Jan Kowalski confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Wtorek 30.03.2021 19:00-20:30 Miejsce: Restauracja ABC Spotkanie z: Jan Kowalski confirm-domain()
|
||||||
|
|
@ -1,22 +1,22 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
user Dzień dobry! hello()
|
user Dzień dobry! hello()
|
||||||
system Dzień dobry, witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
system Dzień dobry, witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
||||||
user Proszę o rozpiskę spotkań na następny tydzień request(meeting_list)
|
user Proszę o rozpiskę spotkań na następny tydzień meeting_list(date='następny tydzień')
|
||||||
system Na następny tydzień zaplanowano następujące spotkania: inform(meeting_list)
|
system Na następny tydzień zaplanowano następujące spotkania: inform(meeting_list)
|
||||||
system Data: Czwartek 08.03.2021 13:00-13:30 Miejsce: Urząd Miasta Spotkanie z: Brak Opis: Złożenie wniosku w urzędzie inform(meeting_list)
|
system Data: Czwartek 08.03.2021 13:00-13:30 Miejsce: Urząd Miasta Spotkanie z: Brak Opis: Złożenie wniosku w urzędzie inform(meeting_list)
|
||||||
system Data: Czwartek 08.03.2021 18:00-18:30 Miejsce: Sklep spożywczy Spotkanie z: Brak Opis: Zakupy inform(meeting_list)
|
system Data: Czwartek 08.03.2021 18:00-18:30 Miejsce: Sklep spożywczy Spotkanie z: Brak Opis: Zakupy inform(meeting_list)
|
||||||
user Chciałabym dodać spotkanie do kalendarza. request(create_meeting)
|
user Chciałabym dodać spotkanie do kalendarza. create_meeting()
|
||||||
system Proszę podać dzień na jaki mam umówić spotkanie. request(date)
|
system Proszę podać dzień na jaki mam umówić spotkanie. request(date)
|
||||||
user Czwartek inform(date='Czwartek')
|
user Czwartek inform(date='Czwartek')
|
||||||
system Proszę podać godzinę i długość spotkania. request(time, duration)
|
system Proszę podać godzinę i długość spotkania. request(time, duration)
|
||||||
user Spotkanie rozpocznie się o 12:00 i będzie trwało 2 godziny. inform(time=12:00, duration='2 godziny')
|
user Spotkanie rozpocznie się o 12:00 i będzie trwało 2 godziny. inform(time=12:00, duration='2 godziny')
|
||||||
system Czy mam zapisać miejsce spotkania? request(place)
|
system Czy mam zapisać miejsce spotkania? request(place)
|
||||||
user Restauracja w hotelu Anderisa. inform(place='Restauracja w hotelu Anderisa')
|
user Restauracja w hotelu Anderisa. inform(place='Restauracja w hotelu Anderisa')
|
||||||
system Czy mam zapisać nazwisko osoby, której dotyczy to spotkanie? request(participants)
|
system Czy mam zapisać nazwisko osoby, której dotyczy to spotkanie? request(participant)
|
||||||
user Hanna Kowalska. inform(participants=['Hanna Kowalska'])
|
user Hanna Kowalska. inform(participant='Hanna Kowalska')
|
||||||
system Czy mam dodać opis do spotkania? request(description)
|
system Czy mam dodać opis do spotkania? request(description)
|
||||||
user Nie. negate()
|
user Nie. negate()
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Czwartek 1.04.2021 12:00-14:00 Miejsce: Restauracja w hotelu Anderisa Spotkanie z: Hanna Kowalska. confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Czwartek 1.04.2021 12:00-14:00 Miejsce: Restauracja w hotelu Anderisa Spotkanie z: Hanna Kowalska. confirm-domain()
|
||||||
user Potwierdzam. confirm(create_meeting)
|
user Potwierdzam. confirm()
|
||||||
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
||||||
user Dziękuje thankyou()
|
user Dziękuje thankyou()
|
|
@ -1,14 +1,14 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
user Dzień dobry! hello()
|
user Dzień dobry! hello()
|
||||||
system Dzień dobry. Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
system Dzień dobry. Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
||||||
user Podaj mi proszę moje spotkania na najbliższy tydzień request(meeting_list)
|
user Podaj mi proszę moje spotkania na najbliższy tydzień meeting_list(date='najbliższy tydzień')
|
||||||
system Na najbliższy tydzień zaplanowano następujące spotkania: inform(meeting_list)
|
system Na najbliższy tydzień zaplanowano następujące spotkania: inform(meeting_list)
|
||||||
system Data: Wtorek 30.03.2021 10:00-11:30 Miejsce: Platforma MS Teams Spotkanie z: Marek Kubis Opis: Odrabianie zajęć z Systemów Dialogowych inform(meeting_list)
|
system Data: Wtorek 30.03.2021 10:00-11:30 Miejsce: Platforma MS Teams Spotkanie z: Marek Kubis Opis: Odrabianie zajęć z Systemów Dialogowych inform(meeting_list)
|
||||||
system Data: Piątek 02.03.2021 18:00-20:00 Miejsce: Brak Spotkanie z: Jan Nowak Opis: Piątkowe Kręgle inform(meeting_list)
|
system Data: Piątek 02.03.2021 18:00-20:00 Miejsce: Brak Spotkanie z: Jan Nowak Opis: Piątkowe Kręgle inform(meeting_list)
|
||||||
user hmm. myślałam, że miałam umówioną wizytę u lekarza w tym tygodniu. Jakie spotkania mam w przyszłym? request(meeting_list)
|
user hmm. myślałam, że miałam umówioną wizytę u lekarza w tym tygodniu. Jakie spotkania mam w przyszłym tygodniu? meeting_list(date='przyszłym tygodniu')
|
||||||
system Na następny tydzień zaplanowano następujące spotkania: inform(meeting_list)
|
system Na następny tydzień zaplanowano następujące spotkania: inform(meeting_list)
|
||||||
system Data: Środa 7.04.2021 16:15 Miejsce: Przychodnia lekarska SuperMed Spotkanie z: doktor Adam Kowalski Opis: Wizyta u lekarza rodzinnego inform(meeting_list)
|
system Data: Środa 7.04.2021 16:15 Miejsce: Przychodnia lekarska SuperMed Spotkanie z: doktor Adam Kowalski Opis: Wizyta u lekarza rodzinnego inform(meeting_list)
|
||||||
user Ok. czyli w przyszłym. Zmień proszę godzinę tego spotkania na 17:30 request(update_meeting) & inform(time='17:30')
|
user Ok. czyli w przyszłym. Zmień proszę godzinę tego spotkania na 17:30 update_meeting(time='17:30')
|
||||||
system Czas spotkania został pomyślnie zmieniony. affirm(update_meeting)
|
system Czas spotkania został pomyślnie zmieniony. affirm(update_meeting)
|
||||||
user Bardzo dziękuję thankyou()
|
user Bardzo dziękuję thankyou()
|
||||||
user To wszystko na tę chwilę bye()
|
user To wszystko na tę chwilę bye()
|
||||||
|
|
@ -1,16 +1,16 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
user Chciałbym umówić spotkanie dzisiaj o godzinie 17.00 request(create_meeting) & inform(date='dzisiaj', time='17.00')
|
user Chciałbym umówić spotkanie dzisiaj o godzinie 17.00 create_meeting(date='dzisiaj', time='17.00')
|
||||||
system Niestety, godzina ta jest już zajęta przez inne spotkanie, proponuję godzinę 18:00. offer(time='18:00')
|
system Niestety, godzina ta jest już zajęta przez inne spotkanie, proponuję godzinę 18:00. offer(time='18:00')
|
||||||
user Ok, może być godzina 18 confirm(time)
|
user Ok, może być godzina 18 confirm()
|
||||||
system Proszę podać długość spotkania. request(duration)
|
system Proszę podać długość spotkania. request(duration)
|
||||||
user 45 minut inform(duration=45 minut)
|
user 45 minut inform(duration=45 minut)
|
||||||
system Czy mam zapisać miejsce spotkania? request(place)
|
system Czy mam zapisać miejsce spotkania? request(place)
|
||||||
user Tak, proszę dodać restaurację Bankcook w Poznaniu jako miejsce spotkania. inform(place='resturacja Bankcook w Poznaniu')
|
user Tak, proszę dodać restaurację Bankcook w Poznaniu jako miejsce spotkania. inform(place='resturacja Bankcook w Poznaniu')
|
||||||
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participants)
|
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participant)
|
||||||
user Tak, proszę dodać Jan Nowak do spotkania oraz wysłać mu powiadomienie o zaproszeniu. inform(participants=['Jan Nowak'])
|
user Tak, proszę dodać Jan Nowak do spotkania oraz wysłać mu powiadomienie o zaproszeniu. inform(participant='Jan Nowak')
|
||||||
system Czy mam dodać opis do spotkania? request(description)
|
system Czy mam dodać opis do spotkania? request(description)
|
||||||
user Tak, opis to "Omówienie zakupu akcji firmy GameStop". inform(description='Omówienie zakupu akcji firmy GameStop')
|
user Tak, opis to "Omówienie zakupu akcji firmy GameStop". inform(description='Omówienie zakupu akcji firmy GameStop')
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Wtorek 30.03.2021 18:00-18:45 Miejsce: Bankcook w Poznaniu Spotkanie z: Jan Nowak Opis: Omówienie zakupu akcji firmy GameStop confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Wtorek 30.03.2021 18:00-18:45 Miejsce: Bankcook w Poznaniu Spotkanie z: Jan Nowak Opis: Omówienie zakupu akcji firmy GameStop confirm-domain()
|
||||||
user Zgadza się, Proszę również wysłać mi powiadomienie 2 godziny przed spotkaniem. confirm() & request(set_reminder) & inform(reminder='2 godziny przed')
|
user Zgadza się, Proszę również wysłać mi powiadomienie 2 godziny przed spotkaniem. confirm()
|
||||||
system Powiadomienie zostanie wysłane 2 godziny przed spotkaniem. affirm(create_meeting)
|
system Powiadomienie zostanie wysłane 2 godziny przed spotkaniem. affirm(create_meeting)
|
||||||
user Dziękuję! bye()
|
user Dziękuję! bye()
|
Can't render this file because it contains an unexpected character in line 12 and column 19.
|
@ -1,24 +1,24 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
user Dzień dobry hello()
|
user Dzień dobry hello()
|
||||||
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
||||||
user Chcialbym sprawdzic czy mam jakies spotkania w najblizszym tygodniu request(meeting_list) & inform(date='next week')
|
user Chcialbym sprawdzic czy mam jakies spotkania w najblizszym tygodniu meeting_list(date='najblizszym tygodniu')
|
||||||
system Na ten tydzień zaplanowano następujące spotkania: Data: Środa 31.03.2021 14:00-15:00 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC inform(meeting_list)
|
system Na ten tydzień zaplanowano następujące spotkania: Data: Środa 31.03.2021 14:00-15:00 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC inform(meeting_list)
|
||||||
system Oraz: Data: Piątek 02.04.2021 16:00-17:15 Miejsce: Dom Spotkanie z: Kacper (Brat) Opis: Zaplanowanie imprezy urodzinowej dla mamy inform(meeting_list)
|
system Oraz: Data: Piątek 02.04.2021 16:00-17:15 Miejsce: Dom Spotkanie z: Kacper (Brat) Opis: Zaplanowanie imprezy urodzinowej dla mamy inform(meeting_list)
|
||||||
user Chciałbym dodać spotkanie do kalendarza request(create_meeting)
|
user Chciałbym dodać spotkanie do kalendarza create_meeting()
|
||||||
system Proszę podać dzień na jaki mam umówić spotkanie. request(date)
|
system Proszę podać dzień na jaki mam umówić spotkanie. request(date)
|
||||||
user 12.04.2021 inform(date='12.04.2021')
|
user 12.04.2021 inform(date='12.04.2021')
|
||||||
system Proszę podać godzinę i długość spotkania. request(time, duration)
|
system Proszę podać godzinę i długość spotkania. request(time, duration)
|
||||||
user 18:00 - 2 godziny inform(time='18:00', duration='2 godziny')
|
user 18:00 - 2 godziny inform(time='18:00', duration='2 godziny')
|
||||||
system Czy mam zapisać miejsce spotkania? request(place)
|
system Czy mam zapisać miejsce spotkania? request(place)
|
||||||
user Tak ack()
|
user Tak confirm()
|
||||||
user restauracja xyz inform(place='restauracja xyz')
|
user restauracja xyz inform(place='restauracja xyz')
|
||||||
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participants)
|
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participant)
|
||||||
user nie negate()
|
user nie negate()
|
||||||
system Czy mam dodać opis do spotkania? request(description)
|
system Czy mam dodać opis do spotkania? request(description)
|
||||||
user nie negate()
|
user nie negate()
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Poniedziałek 12.04.2021 18:00-20:00 Miejsce: restauracja xyz confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Poniedziałek 12.04.2021 18:00-20:00 Miejsce: restauracja xyz confirm-domain()
|
||||||
user Spotkanie jednak będzie trwało 4 godziny inform(duration='4 godziny')
|
user Spotkanie jednak będzie trwało 4 godziny inform(duration='4 godziny')
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Poniedziałek 12.04.2021 18:00-22:00 Miejsce: restauracja xyz confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Poniedziałek 12.04.2021 18:00-22:00 Miejsce: restauracja xyz confirm-domain()
|
||||||
user Potwierdzam confirm(create_meeting)
|
user Potwierdzam confirm()
|
||||||
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
||||||
user Dziękuję bye()
|
user Dziękuję thankyou()
|
|
@ -1,15 +1,15 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
user Dzień dobry, chciałbym umówić spotkanie hello() & request(create_meeting)
|
user Dzień dobry, chciałbym umówić spotkanie hello() & create_meeting()
|
||||||
system Witam w twoim prywatnym asystencie kalendarza spotkań. Proszę podać dzień na jaki mam umówić spotkanie. wellcomemsg() & request(date)
|
system Witam w twoim prywatnym asystencie kalendarza spotkań. Proszę podać dzień na jaki mam umówić spotkanie. welcomemsg() & request(date)
|
||||||
user 12 kwietnia inform(date='12.04.2021')
|
user 12 kwietnia inform(date='12 kwietnia')
|
||||||
system Proszę podać godzinę i długość spotkania. request(time, duration)
|
system Proszę podać godzinę i długość spotkania. request(time, duration)
|
||||||
user 9:00-12:00 inform(time='9:00', duration='3 godziny')
|
user 9:00-12:00 inform(time='9:00', duration='3 godziny')
|
||||||
system Czy mam zapisać miejsce spotkania? request(place)
|
system Czy mam zapisać miejsce spotkania? request(place)
|
||||||
user nie negate()
|
user nie negate()
|
||||||
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participants)
|
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participant)
|
||||||
user tak, Adam Nowak inform(participants=['Adam Nowak'])
|
user tak, Adam Nowak inform(participant='Adam Nowak')
|
||||||
system Czy mam dodać opis do spotkania? request(description)
|
system Czy mam dodać opis do spotkania? request(description)
|
||||||
user tak, Spotkanie z kierownikiem zespołu w sprawie prac projektowych inform(description='Spotkanie z kierownikiem zespołu w sprawie prac projektowych')
|
user tak, Spotkanie z kierownikiem zespołu w sprawie prac projektowych inform(description='w sprawie prac projektowych')
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Poniedziałek 12.04.2021 9:00-12:00 Spotkanie z: Adam Nowak Opis: Spotkanie z kierownikiem zespołu w sprawie prac projektowych confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Poniedziałek 12.04.2021 9:00-12:00 Spotkanie z: Adam Nowak Opis: Spotkanie z kierownikiem zespołu w sprawie prac projektowych confirm-domain()
|
||||||
user potwierdzam confirm(create_meeting)
|
user potwierdzam confirm()
|
||||||
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
|
@ -1,20 +1,20 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
user Cześć. hello()
|
user Cześć. hello()
|
||||||
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
||||||
user Chciałbym utworzyć nowe spotkanie. request(create_meeting)
|
user Chciałbym utworzyć nowe spotkanie. create_meeting()
|
||||||
system Proszę podać dzień na jaki mam umówić spotkanie. request(date)
|
system Proszę podać dzień na jaki mam umówić spotkanie. request(date)
|
||||||
user Najbliższy poniedziałek. inform(date='najbliższy poniedziałek')
|
user Najbliższy poniedziałek. inform(date='najbliższy poniedziałek')
|
||||||
system Proszę podać godzinę i długość spotkania. request(time, duration)
|
system Proszę podać godzinę i długość spotkania. request(time, duration)
|
||||||
user Spotkanie będzie w godzinach 16:30-19:00 inform(time='16:30', duration='2:30')
|
user Spotkanie będzie w godzinach 16:30-19:00 inform(time='16:30', duration='2:30')
|
||||||
system Czy mam zapisać miejsce spotkania? request(place)
|
system Czy mam zapisać miejsce spotkania? request(place)
|
||||||
user Miejsce spotkania to Kawiarnia JKL inform(place='Kawiarnia JKL')
|
user Miejsce spotkania to Kawiarnia JKL inform(place='Kawiarnia JKL')
|
||||||
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participants)
|
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participant)
|
||||||
user Spotkanie będzie z Janem Nowakiem inform(participants=['Jan Nowak'])
|
user Spotkanie będzie z Janem Nowakiem inform(participant='Janem Nowakiem')
|
||||||
system Czy mam dodać opis do spotkania? request(description)
|
system Czy mam dodać opis do spotkania? request(description)
|
||||||
user Tak. Spotkanie będzie dotyczyło omówienia strategii biznesowej. inform(description='Omówienie strategii biznesowej')
|
user Tak. Spotkanie będzie dotyczyło omówienia strategii biznesowej. inform(description='omówienia strategii biznesowej')
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Poniedziałek 05.04.2021 16:30-19:00 Miejsce: Kawiarnia JKL Spotkanie z: Jan Nowak Opis: Omówienie strategii biznesowej confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Poniedziałek 05.04.2021 16:30-19:00 Miejsce: Kawiarnia JKL Spotkanie z: Jan Nowak Opis: Omówienie strategii biznesowej confirm-domain()
|
||||||
user Potwierdzam. confirm(create_meeting)
|
user Potwierdzam. confirm()
|
||||||
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
||||||
user Czy mam jakieś spotkania w najbliższy piątek? request(meeting_list) & inform(date='najbliższy piątek')
|
user Czy mam jakieś spotkania w najbliższy piątek? meeting_list(date='najbliższy piątek')
|
||||||
system Na piątek zaplanowano następujące spotkania: Data: Poniedziałek 29.03.2021 14:00-15:00 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC inform(meeting_list)
|
system Na piątek zaplanowano następujące spotkania: Data: Poniedziałek 29.03.2021 14:00-15:00 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC inform(meeting_list)
|
||||||
user Dziękuję, to wszystko. thankyou() & bye()
|
user Dziękuję, to wszystko. thankyou() & bye()
|
|
@ -1,11 +1,11 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
user Cześć hello()
|
user Cześć hello()
|
||||||
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
||||||
user Czy mam jakieś zaplanowane spotkania? request(meeting_list)
|
user Czy mam jakieś zaplanowane spotkania? meeting_list()
|
||||||
system Najbliższe spotkanie to: Data: Piątek 02.04.2021 19:00 Miejsce: Brak Spotkanie z: Marek Opis: Spotkanie towarzyskie inform(meeting_list)
|
system Najbliższe spotkanie to: Data: Piątek 02.04.2021 19:00 Miejsce: Brak Spotkanie z: Marek Opis: Spotkanie towarzyskie inform(meeting_list)
|
||||||
system Kolejne spotkanie to: Data: Środa 31.03.2021 14:00-15:00 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC inform(meeting_list)
|
system Kolejne spotkanie to: Data: Środa 31.03.2021 14:00-15:00 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC inform(meeting_list)
|
||||||
user Chciałbym usunać drugie spotkanie. request(cancel_meeting)
|
user Chciałbym usunać drugie spotkanie. cancel_meeting()
|
||||||
system Czy jesteś pewien, że chcesz odwołać poniższe spotkanie? Data: Środa 31.03.2021 14:00-15:00 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC confirm-domain()
|
system Czy jesteś pewien, że chcesz odwołać poniższe spotkanie? Data: Środa 31.03.2021 14:00-15:00 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC confirm-domain()
|
||||||
user Tak. Chciałbym je przesunąć na za tydzień negate() & request(update_meeting) & inform(date='za tydzień')
|
user Tak. Chciałbym je przesunąć na za tydzień negate() & update_meeting() & inform(date='za tydzień')
|
||||||
system Czas został zmieniony, czy to wszystkie edycje? affirm(update_meeting)
|
system Czas został zmieniony, czy to wszystkie edycje? affirm(update_meeting)
|
||||||
user Tak. Dziękuję za pomoc : ) bye()
|
user Tak. Dziękuję za pomoc : ) bye() & thankyou()
|
|
@ -1,15 +1,15 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
user Cześć hello()
|
user Cześć hello()
|
||||||
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
||||||
user Proszę o dodanie spotkania biznesowego na dziś wieczór request(create_meeting) & inform(date='dziś')
|
user Proszę o dodanie spotkania biznesowego na dziś wieczór create_meeting(date='dziś')
|
||||||
system Proszę podać godzinę i długość spotkania. request(time, duration)
|
system Proszę podać godzinę i długość spotkania. request(time, duration)
|
||||||
user na godzinę 19:00 i długość spotkania nieokreślona inform(time=19:00', duration='null')
|
user na godzinę 19:00 i długość spotkania nieokreślona inform(time=19:00', duration='null')
|
||||||
system Czy mam zapisać miejsce spotkania? request(place)
|
system Czy mam zapisać miejsce spotkania? request(place)
|
||||||
user Tak, Cytadela Poznań inform(place='Cytadela Poznań')
|
user Tak, Cytadela Poznań inform(place='Cytadela Poznań')
|
||||||
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participants)
|
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participant)
|
||||||
user tak osoba XXX YYY inform(participants=['XXX YYY'])
|
user tak osoba XXX YYY inform(participant='XXX YYY')
|
||||||
system Czy mam dodać opis do spotkania? request(description)
|
system Czy mam dodać opis do spotkania? request(description)
|
||||||
user Nie, to wszystko. Proszę podać podsumowanie negate()
|
user Nie, to wszystko. Proszę podać podsumowanie negate()
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Wtorek 30.03.2021 19:00- Miejsce: Cytadela Poznań Spotkanie z: XXX YYY confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Wtorek 30.03.2021 19:00- Miejsce: Cytadela Poznań Spotkanie z: XXX YYY confirm-domain()
|
||||||
user Tak wszystko się zgadza. Dziękuję za rozmowę confirm(create_meeting) & bye()
|
user Tak wszystko się zgadza. Dziękuję za rozmowę confirm() & thankyou()
|
||||||
system Spotkanie zostało pomyślnie dodane do kalendarza. inform(create_meeting)
|
system Spotkanie zostało pomyślnie dodane do kalendarza. inform(create_meeting)
|
|
@ -1,8 +1,8 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
system Witam w prywatnym asystencie kalendarza spotkań. W czym mogę pomóc? welcomemsg()
|
system Witam w prywatnym asystencie kalendarza spotkań. W czym mogę pomóc? welcomemsg()
|
||||||
user proszę o wyświetlenie jutrzejszego kalendarza request(meeting_list) & inform(date='30.03.2021')
|
user proszę o wyświetlenie jutrzejszego kalendarza meeting_list(date='jutrzejszego')
|
||||||
system Jutrzejsze spotkania: Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC --- Data: Wtorek 30.03.2021 18:00-19:30 Miejsce: Firma ABC Spotkanie z: Janusz Kowalski inform(meeting_list)
|
system Jutrzejsze spotkania: Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC --- Data: Wtorek 30.03.2021 18:00-19:30 Miejsce: Firma ABC Spotkanie z: Janusz Kowalski inform(meeting_list)
|
||||||
user Dodaj pozycję jutro na 16-17.30: Lunch z księgową w miejscu: Cafe Teria request(create_meeting) & inform(date='30.03.2021', time='16:00', meeting_length='90 minut', participant=['księgowa'], place='Cafe Teria')
|
user Dodaj pozycję jutro na 16-17.30: Lunch z księgową w miejscu: Cafe Teria create_meeting(date='jutro', time='16', meeting_length='90 minut', description='Lunch z księgową', place='Cafe Teria')
|
||||||
system Spotkanie zostało dodane: Data: Wtorek 16:00-17:30 Miejsce: Cafe Teria Spotkanie z: księgowa Opis: lunch affirm(create_meeting)
|
system Spotkanie zostało dodane: Data: Wtorek 16:00-17:30 Miejsce: Cafe Teria Spotkanie z: księgowa Opis: lunch affirm(create_meeting)
|
||||||
user dziękuje to wszystko bye() & thankyou()
|
user dziękuje to wszystko bye() & thankyou()
|
||||||
system Dziękuję. Do widzenia. bye()
|
system Dziękuję. Do widzenia. bye()
|
|
@ -1,14 +1,14 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
system Witam w prywatnym asystencie kalendarza spotkań. W czym mogę pomóc? welcomemsg()
|
system Witam w prywatnym asystencie kalendarza spotkań. W czym mogę pomóc? welcomemsg()
|
||||||
user Chciałbym zapisać spotkanie request(create_meeting)
|
user Chciałbym zapisać spotkanie create_meeting()
|
||||||
system Proszę podać dzień, na jaki mam umówić spotkanie. request(date)
|
system Proszę podać dzień, na jaki mam umówić spotkanie. request(date)
|
||||||
user 08.04.2021 inform(date='08.04.2021')
|
user 08.04.2021 inform(date='08.04.2021')
|
||||||
system Proszę o podanie godziny i czasu trwania spotkania. request(time) & request(meeting_length)
|
system Proszę o podanie godziny i czasu trwania spotkania. request(time) & request(meeting_length)
|
||||||
user 17:00 - 19:00 inform(time='17:00') & inform(meeting_length='2 godziny')
|
user 17:00 - 19:00 inform(time='17:00', meeting_length='2 godziny')
|
||||||
system Jakie będzie miejsce tego spotkania? request(place)
|
system Jakie będzie miejsce tego spotkania? request(place)
|
||||||
user Kawiarnia MCafe przy ulicy Grunwaldzkiej inform(place='Kawiarnia MCafe przy ulicy Grunwaldzkiej')
|
user Kawiarnia MCafe przy ulicy Grunwaldzkiej inform(place='Kawiarnia MCafe przy ulicy Grunwaldzkiej')
|
||||||
system Z jaką osobą będzie to spotkanie? request(participants)
|
system Z jaką osobą będzie to spotkanie? request(participant)
|
||||||
user Sylwia Kowalska inform(participants=['Sylwia Kowalska'])
|
user Sylwia Kowalska inform(participant='Sylwia Kowalska')
|
||||||
system Czy mam dodać opis do spotkania? request(description)
|
system Czy mam dodać opis do spotkania? request(description)
|
||||||
user tak confirm()
|
user tak confirm()
|
||||||
system Jaki ma być opis spotkania? request(description)
|
system Jaki ma być opis spotkania? request(description)
|
||||||
|
|
@ -1,16 +1,16 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
system Witam w prywatnym asystencie kalendarza spotkań. W czym mogę pomóc? welcomemsg()
|
system Witam w prywatnym asystencie kalendarza spotkań. W czym mogę pomóc? welcomemsg()
|
||||||
user Chciałbym sprawdzić moje spotkania w piątek request(meeting_list) & inform(date=02.04.2021)
|
user Chciałbym sprawdzić moje spotkania w piątek meeting_list(date='piątek')
|
||||||
system Na piątek 02.04.2021 nie masz zaplanywanych żadnych spotkań. inform(meeting_list)
|
system Na piątek 02.04.2021 nie masz zaplanywanych żadnych spotkań. inform(meeting_list)
|
||||||
user proszę wpisać na 02.04.2021 o godzinie 19:00: Wyjście do kina ze znajomą request(create_meeting) & inform(date='02.04.2021', time='19:00', participants=['znajoma'], place='kino', description='wyjście do kina')
|
user proszę wpisać na 02.04.2021 o godzinie 19:00: Wyjście do kina ze znajomą create_meeting(date='02.04.2021', time='19:00', description='Wyjście do kina ze znajomą')
|
||||||
system Ile będzie trwało to spotkanie? request(meeting_length)
|
system Ile będzie trwało to spotkanie? request(meeting_length)
|
||||||
user 2 godziny inform(meeting_length='2 godziny')
|
user 2 godziny inform(meeting_length='2 godziny')
|
||||||
system Spotkanie zostało dodane: Data: Piątek 02.04.2021 19:00-21:00 Miejsce: kino Z: znajoma Opis: wyjście do kina affirm(create_meeting)
|
system Spotkanie zostało dodane: Data: Piątek 02.04.2021 19:00-21:00 Miejsce: kino Z: znajoma Opis: wyjście do kina affirm(create_meeting)
|
||||||
user Pomyliłem się podczas podawania godziny. Chciałbym przełożyć to spotkanie na 20:00 do 22:00 request(update_meeting) & inform(time='20:00', meeting_length='2 godziny')
|
user Pomyliłem się podczas podawania godziny. Chciałbym przełożyć to spotkanie na 20:00 do 22:00 update_meeting(time='20:00', meeting_length='2 godziny')
|
||||||
system Spotkanie zostało zmienione: Data: Piątek 02.04.2021 20:00-22:00 Miejsce: kino Z: znajoma Opis: wyjście do kina affirm(update_meeting)
|
system Spotkanie zostało zmienione: Data: Piątek 02.04.2021 20:00-22:00 Miejsce: kino Z: znajoma Opis: wyjście do kina affirm(update_meeting)
|
||||||
user Dziękuję thankyou()
|
user Dziękuję thankyou()
|
||||||
system Czy mogę jeszcze Ci w czymś pomóc? reqmore()
|
system Czy mogę jeszcze Ci w czymś pomóc? reqmore()
|
||||||
user ile będę miał dni bez zaplanowanych spotkań w przyszłym miesiącu request(free_days_count) & inform(time='przyszły miesiąc')
|
user ile będę miał dni bez zaplanowanych spotkań w przyszłym miesiącu free_days_count(time='przyszły miesiąc')
|
||||||
system Dni bez zaplanowanych spotkań w przyszłym miesiącu: 29 welcomemsg()
|
system Dni bez zaplanowanych spotkań w przyszłym miesiącu: 29 welcomemsg()
|
||||||
user Dziękuję za informację thankyou()
|
user Dziękuję za informację thankyou()
|
||||||
system Czy mogę jeszcze w czymś pomóc? reqmore()
|
system Czy mogę jeszcze w czymś pomóc? reqmore()
|
||||||
|
|
@ -1,10 +1,10 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
system Witam w prywatnym asystencie kalendarza spotkań. W czym mogę pomóc? welcomemsg()
|
system Witam w prywatnym asystencie kalendarza spotkań. W czym mogę pomóc? welcomemsg()
|
||||||
user Jakie mam nadchodzące wydarzenia w tym tygodniu? request(meeting_list) & inform(date='ten tydzień')
|
user Jakie mam nadchodzące wydarzenia w tym tygodniu? meeting_list(date='tym tygodniu')
|
||||||
system Wydarzenia w tym tygodniu: Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC --- Data: Czwartek 01.04.2021 12:00-15:30 Miejsce: Firma ABC Spotkanie z: Jan Nowak - Prezes firmy ABC inform(meeting_list)
|
system Wydarzenia w tym tygodniu: Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC --- Data: Czwartek 01.04.2021 12:00-15:30 Miejsce: Firma ABC Spotkanie z: Jan Nowak - Prezes firmy ABC inform(meeting_list)
|
||||||
user Chciałabym przesunąć spotkanie z Jan Nowak na najbliższy wtorek request(update_meeting)
|
user Chciałabym przesunąć spotkanie z Jan Nowak na najbliższy wtorek update_meeting(participant='Jan Nowak', date='najbliższy wtorek')
|
||||||
system Na którą godzinę? request(time)
|
system Na którą godzinę? request(time)
|
||||||
user Jakie mam godziny dostępne w najblizszy wtorek? request(free_time) & inform(date='najbliższy wtorek')
|
user Jakie mam godziny dostępne w najblizszy wtorek? free_time(date='najbliższy wtorek')
|
||||||
system Dostępne godziny w najbliższy wtorek: 00:00-10:00 12:00-14:00 15:30-24:00 inform(free_time)
|
system Dostępne godziny w najbliższy wtorek: 00:00-10:00 12:00-14:00 15:30-24:00 inform(free_time)
|
||||||
user na godzinę 9:30 inform(time='9:30')
|
user na godzinę 9:30 inform(time='9:30')
|
||||||
system Które spotkanie z Jan Nowak chcesz przesunąć? Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC --- Data: Czwartek 01.04.2021 12:00-15:30 Miejsce: Firma ABC Spotkanie z: Jan Nowak - Prezes firmy ABC inform(meeting_list) & request(meeting)
|
system Które spotkanie z Jan Nowak chcesz przesunąć? Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC --- Data: Czwartek 01.04.2021 12:00-15:30 Miejsce: Firma ABC Spotkanie z: Jan Nowak - Prezes firmy ABC inform(meeting_list) & request(meeting)
|
||||||
|
|
@ -1,28 +1,28 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
system Witam w prywatnym asystencie kalendarza spotkań. W czym mogę pomóc? welcomemsg()
|
system Witam w prywatnym asystencie kalendarza spotkań. W czym mogę pomóc? welcomemsg()
|
||||||
user Jakie mam spotkania 31 marca? request(meeting_list) & inform(date='31.03.2021')
|
user Jakie mam spotkania 31 marca? meeting_list(date='31 marca')
|
||||||
system Nie masz żadnych spotkań 31 marca. Czy chciałbyś umówić spotkanie na ten dzień? inform(meeting_list)
|
system Nie masz żadnych spotkań 31 marca. Czy chciałbyś umówić spotkanie na ten dzień? inform(meeting_list)
|
||||||
user Nie. A jakie spotkania mam jutro? request(meeting_list) & inform(date='jutro')
|
user Nie. A jakie spotkania mam jutro? meeting_list(date='jutro')
|
||||||
system Na jutro masz zaplanowane następujące spotkania: Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC inform(meeting_list)
|
system Na jutro masz zaplanowane następujące spotkania: Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC inform(meeting_list)
|
||||||
user Chciałbym odwołać to spotkanie request(cancel_meeting) & inform(spotkanie='to spotkanie')
|
user Chciałbym odwołać to spotkanie cancel_meeting()
|
||||||
system Czy jesteś pewien, że chcesz odwołać to spotkanie? confirm-domain()
|
system Czy jesteś pewien, że chcesz odwołać to spotkanie? confirm-domain()
|
||||||
user Tak ack()
|
user Tak confirm()
|
||||||
system Spotkanie zostało odwołane. Czy mogę w czymś jeszcze pomóc? affirm(cancel_meeting) & reqmore()
|
system Spotkanie zostało odwołane. Czy mogę w czymś jeszcze pomóc? affirm(cancel_meeting) & reqmore()
|
||||||
user Chciałbym zaplanować nowe spotkanie na miejsce tego odwołanego request(create_meeting)
|
user Chciałbym zaplanować nowe spotkanie na miejsce tego odwołanego create_meeting()
|
||||||
system Gdzie będzie to spotkanie? request(place)
|
system Gdzie będzie to spotkanie? request(place)
|
||||||
user bez miejsca negate()
|
user bez miejsca negate()
|
||||||
system Z kim będzie to spotkanie? request(participants)
|
system Z kim będzie to spotkanie? request(participant)
|
||||||
user Jan Kowalski inform(participants=['Jan Kowalski'])
|
user Jan Kowalski inform(participant='Jan Kowalski')
|
||||||
system Spotkanie zostało dodane do kalendarza: Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: brak Z: Jan Kowalski affirm(create_meeting)
|
system Spotkanie zostało dodane do kalendarza: Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: brak Z: Jan Kowalski affirm(create_meeting)
|
||||||
user Chciałbym jeszcze dodać nową osobę do tego spotkania request(update_meeting)
|
user Chciałbym jeszcze dodać nową osobę do tego spotkania update_meeting()
|
||||||
system Kogo dodać do tego spotkania? request(participants)
|
system Kogo dodać do tego spotkania? request(participant)
|
||||||
user Jan Nowak inform(participants=['Jan Nowak'])
|
user Jan Nowak inform(participant='Jan Nowak')
|
||||||
system Uczestnik spotkania został dodany: Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: brak Z: Jan Kowalski i Jan Nowak affirm(update_meeting)
|
system Uczestnik spotkania został dodany: Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: brak Z: Jan Kowalski i Jan Nowak affirm(update_meeting)
|
||||||
user A jakie mam wolne terminy jutro? request(free_time) & inform(date='jutro')
|
user A jakie mam wolne terminy jutro? free_time(date='jutro')
|
||||||
system Dostępne terminy jutro: 00:00-10:00 12:00-14:00 15:30-24:00 inform(free_time)
|
system Dostępne terminy jutro: 00:00-10:00 12:00-14:00 15:30-24:00 inform(free_time)
|
||||||
user Kiedy mam spotkanie z Janem Nowakiem? request(meeting_list) & inform(participants=['Jan Nowak'])
|
user Kiedy mam spotkanie z Janem Nowakiem? meeting_list(participant='Jan Nowak')
|
||||||
system Spotkania z Janem Nowakiem: Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: brak Z: Jan Kowalski i Jan Nowak inform(meeting_list)
|
system Spotkania z Janem Nowakiem: Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: brak Z: Jan Kowalski i Jan Nowak inform(meeting_list)
|
||||||
user Chciałbym usunąć Jana Kowalskiego z tego spotkania request(update_meeting) & inform(meeting='to spotkanie', participants=['Jan Kowalski'])
|
user Chciałbym usunąć Jana Kowalskiego z tego spotkania update_meeting(participant='Jan Kowalski')
|
||||||
system Jan Kowalski został usunięty ze spotkania: Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: brak Z: Jan Nowak affirm(update_meeting)
|
system Jan Kowalski został usunięty ze spotkania: Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: brak Z: Jan Nowak affirm(update_meeting)
|
||||||
user To by było wszystko na teraz bye()
|
user To by było wszystko na teraz bye()
|
||||||
system Do widzenia. Życzę miłego dnia. bye()
|
system Do widzenia. Życzę miłego dnia. bye()
|
|
@ -1,12 +1,12 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
system Witam w prywatnym asystencie kalendarza spotkań. W czym mogę pomóc? welcomemsg()
|
system Witam w prywatnym asystencie kalendarza spotkań. W czym mogę pomóc? welcomemsg()
|
||||||
user Chciałbym przesunąć spotkanie request(update_meeting)
|
user Chciałbym przesunąć spotkanie update_meeting()
|
||||||
system Jakie spotkanie chcesz przesunąć? request(meeting)
|
system Jakie spotkanie chcesz przesunąć? request(meeting)
|
||||||
user Dzisiejsze o godzinie 20:00 inform(meeting='Dzisiejsze o godzinie 20:00')
|
user Dzisiejsze o godzinie 20:00 inform(date='Dzisiejsze', time='20:00')
|
||||||
system Na kiedy chcesz przesunąć to spotkanie? Data: Poniedziałek 29.03.2021 20:00-20:30 Miejsce: Firma ABC Spotkanie z: Jan Nowak - Prezes firmy ABC request(time)
|
system Na kiedy chcesz przesunąć to spotkanie? Data: Poniedziałek 29.03.2021 20:00-20:30 Miejsce: Firma ABC Spotkanie z: Jan Nowak - Prezes firmy ABC request(time)
|
||||||
user na środę o godzinie 19:00, proszę też zmienić miejsce na Restauracja ABC request(update_meeting) & inform(time='19:00', place='Restauracja ABC')
|
user na środę o godzinie 19:00, proszę też zmienić miejsce na Restauracja ABC update_meeting(time='19:00', place='Restauracja ABC')
|
||||||
system Spotkanie zostało zmienione: Data: Środa 31.03.2021 19:00-20:30 Miejsce: Restauracja ABC Spotkanie z: Jan Nowak - Prezes firmy ABC affirm(update_meeting)
|
system Spotkanie zostało zmienione: Data: Środa 31.03.2021 19:00-20:30 Miejsce: Restauracja ABC Spotkanie z: Jan Nowak - Prezes firmy ABC affirm(update_meeting)
|
||||||
user proszę też zmienić czas trwania na 1 godzinę request(update_meeting)
|
user proszę też zmienić czas trwania na 1 godzinę update_meeting()
|
||||||
system Spotkanie zostało zmienione: Data: Środa 31.03.2021 19:00-20:00 Miejsce: Restauracja ABC Spotkanie z: Jan Nowak - Prezes firmy ABC affirm(update_meeting)
|
system Spotkanie zostało zmienione: Data: Środa 31.03.2021 19:00-20:00 Miejsce: Restauracja ABC Spotkanie z: Jan Nowak - Prezes firmy ABC affirm(update_meeting)
|
||||||
user Dziękuje thankyou()
|
user Dziękuje thankyou()
|
||||||
system Czy mogę jeszcze w czymś pomóc? reqmore()
|
system Czy mogę jeszcze w czymś pomóc? reqmore()
|
||||||
|
|
@ -1,12 +1,12 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
system Witam w prywatnym asystencie kalendarza spotkań. W czym mogę pomóc? welcomemsg()
|
system Witam w prywatnym asystencie kalendarza spotkań. W czym mogę pomóc? welcomemsg()
|
||||||
user Proszę o rozpiskę spotkań w tym tygodniu. request(meeting_list) & inform(date='w tym tygodniu')
|
user Proszę o rozpiskę spotkań w tym tygodniu. meeting_list(date='tym tygodniu')
|
||||||
system Spotkania w tym tygodniu: Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC --- Data: Czwartek 01.04.2021 12:00-15:30 Miejsce: Firma ABC Spotkanie z: Jan Nowak - Prezes firmy ABC --- Data: Piątek 02.04.2021 19:00-20:00 Miejsce: Restauracja ABC Spotkanie z: Janusz Kowalski - Prezes firmy XYZ inform(meeting_list)
|
system Spotkania w tym tygodniu: Data: Wtorek 30.03.2021 14:00-15:30 Miejsce: Sala konferencyjna w biurze Spotkanie z: Jan Nowak - Prezes firmy ABC --- Data: Czwartek 01.04.2021 12:00-15:30 Miejsce: Firma ABC Spotkanie z: Jan Nowak - Prezes firmy ABC --- Data: Piątek 02.04.2021 19:00-20:00 Miejsce: Restauracja ABC Spotkanie z: Janusz Kowalski - Prezes firmy XYZ inform(meeting_list)
|
||||||
user Chciałabym odwołać spotkanie request(cancel_meeting)
|
user Chciałabym odwołać spotkanie cancel_meeting()
|
||||||
system Jakie spotkanie chcesz odwołać? request(meeting)
|
system Jakie spotkanie chcesz odwołać? request(meeting)
|
||||||
user Spotkanie z Januszem Kowalskim. inform(meeting='Spotkanie z Januszem Kowalskim')
|
user Spotkanie z Januszem Kowalskim. inform(participant='Januszem Kowalskim')
|
||||||
system Czy na pewno odwołać spotkanie? Data: Piątek 02.04.2021 19:00-20:00 Miejsce: Restauracja ABC Spotkanie z: Janusz Kowalski - Prezes firmy XYZ confirm-domain()
|
system Czy na pewno odwołać spotkanie? Data: Piątek 02.04.2021 19:00-20:00 Miejsce: Restauracja ABC Spotkanie z: Janusz Kowalski - Prezes firmy XYZ confirm-domain()
|
||||||
user Tak confirm(cancel_meeting)
|
user Tak confirm()
|
||||||
system Spotkanie zostało odwołane. Czy mogę jeszcze Ci w czymś pomóc? affirm(cancel_meeting) & reqmore()
|
system Spotkanie zostało odwołane. Czy mogę jeszcze Ci w czymś pomóc? affirm(cancel_meeting) & reqmore()
|
||||||
user Nie, dziękuję. negate() & thankyou()
|
user Nie, dziękuję. negate() & thankyou()
|
||||||
system Dziękuję. Do widzenia. bye()
|
system Dziękuję. Do widzenia. bye()
|
|
@ -1,11 +1,11 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
system Witam w prywatnym asystencie kalendarza spotkań. W czym mogę pomóc? welcomemsg()
|
system Witam w prywatnym asystencie kalendarza spotkań. W czym mogę pomóc? welcomemsg()
|
||||||
user Jakie wolne terminy mam w najbliższym tygodniu? request(free_time) & inform(date='w najbliższym tygodniu')
|
user Jakie wolne terminy mam w najbliższym tygodniu? free_time(date='najbliższym tygodniu')
|
||||||
system Wolne terminy w nadchodzącym tygodniu: 30.03.2021 00:00-24:00 31.03.2021 00:00-24:00 01.04.2021 00:00-24:00 02.04.2021 00:00-08:00 10:00-12:00 16:00-24:00 03.04.2021 00:00-24:00 04.04.2021 00:00-10:00 14:00-24:00 05.04.2021 00:00-24:00 inform(free_time)
|
system Wolne terminy w nadchodzącym tygodniu: 30.03.2021 00:00-24:00 31.03.2021 00:00-24:00 01.04.2021 00:00-24:00 02.04.2021 00:00-08:00 10:00-12:00 16:00-24:00 03.04.2021 00:00-24:00 04.04.2021 00:00-10:00 14:00-24:00 05.04.2021 00:00-24:00 inform(free_time)
|
||||||
user Ooo, ale ja się obijam. Nie mam ustalonych żadnych spotkań! null()
|
user Ooo, ale ja się obijam. Nie mam ustalonych żadnych spotkań! null()
|
||||||
user zapisz mi proszę spotkanie z 3 marca od 17-19, mam wizytę u lekarza request(create_meeting)
|
user zapisz mi proszę spotkanie z 3 marca od 17-19, mam wizytę u lekarza create_meeting(date='3 marca', time='17', description='wizytę u lekarza')
|
||||||
system W jakim miejscu odbędzie się to spotkanie? request(place)
|
system W jakim miejscu odbędzie się to spotkanie? request(place)
|
||||||
user w przychodni przy ulicy dialogowej inform(place='przychodnia przy ulicy dialogowej')
|
user w przychodni przy ulicy dialogowej inform(place='przychodni przy ulicy dialogowej')
|
||||||
user Czy możesz dodać notatkę, żebym pamiętała o poprzednich wynikach? request(create_note)
|
user Czy możesz dodać notatkę, żebym pamiętała o poprzednich wynikach? request(create_note)
|
||||||
system Spotkanie zostało dodane: Data: Sobota 03.03.2022 17:00-19:00 Miejsce: Przychodnia przy ulicy dialogowej Spotkanie z: brak Opis: wizyta u lekarza affirm(create_meeting)
|
system Spotkanie zostało dodane: Data: Sobota 03.03.2022 17:00-19:00 Miejsce: Przychodnia przy ulicy dialogowej Spotkanie z: brak Opis: wizyta u lekarza affirm(create_meeting)
|
||||||
system Niestety asystent kalendarza spotkań nie obsługuje obecnie dodawania notatek. Weźmiemy pod uwagę twoje uwagi przy dalszym jego rozwoju. canthelp()
|
system Niestety asystent kalendarza spotkań nie obsługuje obecnie dodawania notatek. Weźmiemy pod uwagę twoje uwagi przy dalszym jego rozwoju. canthelp()
|
||||||
|
|
@ -1,11 +1,11 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
||||||
user Proszę stworzyć w moim kalendarzu spotkanie online 24.04.2021 o godzinie 17.00. request(create_meeting) & inform(date='24.04.2021', time='17:00', place='online')
|
user Proszę stworzyć w moim kalendarzu spotkanie online 24.04.2021 o godzinie 17.00. create_meeting(date='24.04.2021', time='17:00')
|
||||||
system Czy chcesz dodać uczestników spotkania? request(participants)
|
system Czy chcesz dodać uczestników spotkania? request(participant)
|
||||||
user Tak, proszę zaprosić Jan Nowak, Grażyna Kowalska i Hubert Noga. ack() & inform(participants=['Jan Nowak','Grażyna Kowalska','Hubert Noga'])
|
user Tak, proszę zaprosić Jan Nowak, Grażyna Kowalska i Hubert Noga. confirm() & inform(participant='Jan Nowak',participant='Grażyna Kowalska',participant='Hubert Noga')
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Sobota 24.04.2021 17:00 Miejsce: spotkanie online Spotkanie z: Jan Nowak, Grażyna Kowalska, Hubert Noga confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Sobota 24.04.2021 17:00 Miejsce: spotkanie online Spotkanie z: Jan Nowak, Grażyna Kowalska, Hubert Noga confirm-domain()
|
||||||
user Proszę dodać opis "Omówienie projektu XYZ" oraz dodać powiadomienie 30 min przed spotkaniem. inform(description='Omówienie projektu XYZ', reminder='30 min')
|
user Proszę dodać opis "Omówienie projektu XYZ" oraz dodać powiadomienie 30 min przed spotkaniem. inform(description='Omówienie projektu XYZ')
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Sobota 24.04.2021 17:00 Miejsce: spotkanie online Spotkanie z: Jan Nowak, Grażyna Kowalska, Hubert Noga Opis: Omówienie projektu XYZ Przypomnienie: 30 min confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Sobota 24.04.2021 17:00 Miejsce: spotkanie online Spotkanie z: Jan Nowak, Grażyna Kowalska, Hubert Noga Opis: Omówienie projektu XYZ Przypomnienie: 30 min confirm-domain()
|
||||||
user Tak, potwierdzam, dziękuję. confirm(create_meeting) & thankyou()
|
user Tak, potwierdzam, dziękuję. confirm() & thankyou()
|
||||||
system Spotkanie zostało dodane do kalendarza. Czy mogę pomóc w czymś jeszcze? affirm(create_meeting) && reqmore()
|
system Spotkanie zostało dodane do kalendarza. Czy mogę pomóc w czymś jeszcze? affirm(create_meeting) && reqmore()
|
||||||
user Nie, dziękuję. To wszystko. thankyou() & bye()
|
user Nie, dziękuję. To wszystko. thankyou() & bye()
|
Can't render this file because it contains an unexpected character in line 7 and column 26.
|
@ -1,15 +1,15 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
user Dzień dobry hello()
|
user Dzień dobry hello()
|
||||||
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
||||||
user Chcialbym sprawdzic czy mam jakies spotkania w najblizszym tygodniu request(meeting_list) & inform(date='w najblizszym tygodniu')
|
user Chcialbym sprawdzic czy mam jakies spotkania w najblizszym tygodniu meeting_list(date='najblizszym tygodniu')
|
||||||
system Data: Wtorek 30.03.2021 19:00-20:30 Miejsce: Restauracja ABC Spotkanie z: Jan Kowalski --- Data: Środa 31.03.2021 12:00-15:30 Miejsce: Firma ABC Spotkanie z: Adam Nowak inform(meeting_list)
|
system Data: Wtorek 30.03.2021 19:00-20:30 Miejsce: Restauracja ABC Spotkanie z: Jan Kowalski --- Data: Środa 31.03.2021 12:00-15:30 Miejsce: Firma ABC Spotkanie z: Adam Nowak inform(meeting_list)
|
||||||
user Chciałbym odwołać spotkanie i wjego miejsce wpisać nowe request(cancel_meeting) & request(create_meeting)
|
user Chciałbym odwołać spotkanie i wjego miejsce wpisać nowe cancel_meeting() & create_meeting()
|
||||||
system Jakie spotkanie chcesz odwołać? request(meeting)
|
system Jakie spotkanie chcesz odwołać? request(meeting)
|
||||||
user Spotkanie z Adam Nowak inform(meeting='Spotkanie z Adam Nowak')
|
user Spotkanie z Adam Nowak inform(participant='Adam Nowak')
|
||||||
system Spotkanie zostało odwołane. Proszę podać szczegóły nowego spotkania. affirm(cancel_meeting) & request(meeting)
|
system Spotkanie zostało odwołane. Proszę podać szczegóły nowego spotkania. affirm(cancel_meeting) & request(meeting)
|
||||||
user Spotkanie z Jan Kowalski inform(meeting='Spotkanie z Jan Kowalski')
|
user Spotkanie z Jan Kowalski inform(participant='Jan Kowalski')
|
||||||
user Restauracja xyz inform(place='Restauracja xyz')
|
user Restauracja xyz inform(place='Restauracja xyz')
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Środa 31.03.2021 12:00-15:30 Miejsce: Restauracja xyz Spotkanie z: Jan Kowalski confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Środa 31.03.2021 12:00-15:30 Miejsce: Restauracja xyz Spotkanie z: Jan Kowalski confirm-domain()
|
||||||
user Potwierdzam confirm(create_meeting)
|
user Potwierdzam confirm()
|
||||||
system Spotkanie zostało dodane do kalendarza. Czy mogę pomóc w czymś jeszcze? affirm(create_meeting) & reqmore()
|
system Spotkanie zostało dodane do kalendarza. Czy mogę pomóc w czymś jeszcze? affirm(create_meeting) & reqmore()
|
||||||
user To wszystko, dziękuję bye() & thankyou()
|
user To wszystko, dziękuję bye() & thankyou()
|
|
@ -1,22 +1,22 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
user Dzień dobry, chciałbym sprawdzić dzisiejsze spotkania hello() & request(meeting_list) & inform(date='dzisiaj')
|
user Dzień dobry, chciałbym sprawdzić dzisiejsze spotkania hello() & meeting_list(date='dzisiaj')
|
||||||
system Data: Wtorek 30.03.2021 12:00-15:30 Miejsce: Restauracja ABC Spotkanie z: Jan Kowalski --- Data: Wtorek 30.03.2021 19:00-20:30 Miejsce: Firma ABC Spotkanie z: Adam Nowak inform(meeting_list)
|
system Data: Wtorek 30.03.2021 12:00-15:30 Miejsce: Restauracja ABC Spotkanie z: Jan Kowalski --- Data: Wtorek 30.03.2021 19:00-20:30 Miejsce: Firma ABC Spotkanie z: Adam Nowak inform(meeting_list)
|
||||||
user Chciałbym przełożyć spotkanie z 12:00 request(update_meeting) & inform(date='dzisiaj', time=12:00)
|
user Chciałbym przełożyć spotkanie z 12:00 update_meeting(date='dzisiaj', time=12:00)
|
||||||
system Na jaki dzień chciałbyś przełożyć to spotkanie? request(date)
|
system Na jaki dzień chciałbyś przełożyć to spotkanie? request(date)
|
||||||
user Na środę na 13:00 inform(date='środa', time='13:00')
|
user Na środę na 13:00 inform(date='środa', time='13:00')
|
||||||
system Proszę potwierdzić zmianę spotkania: Data: Środa 31.03.2021 13:00-16:30 Miejsce: Restauracja ABC Spotkanie z: Jan Kowalski confirm-domain()
|
system Proszę potwierdzić zmianę spotkania: Data: Środa 31.03.2021 13:00-16:30 Miejsce: Restauracja ABC Spotkanie z: Jan Kowalski confirm-domain()
|
||||||
user Potwierdzam. confirm(update_meeting)
|
user Potwierdzam. confirm()
|
||||||
system Spotkanie zostało zmienione. Czy mogę pomóc w czymś jeszcze? affirm(update_meeting) && reqmore()
|
system Spotkanie zostało zmienione. Czy mogę pomóc w czymś jeszcze? affirm(update_meeting) && reqmore()
|
||||||
user Tak, chciałbym umówić nowe spotkanie request(create_meeting)
|
user Tak, chciałbym umówić nowe spotkanie create_meeting()
|
||||||
system Na jaki dzień chciałbyś umówić nowe spotkanie? request(date)
|
system Na jaki dzień chciałbyś umówić nowe spotkanie? request(date)
|
||||||
user Na wtorek inform(date='wtorek')
|
user Na wtorek inform(date='wtorek')
|
||||||
system Proszę podać godzinę spotkania. request(time)
|
system Proszę podać godzinę spotkania. request(time)
|
||||||
user 12:45 inform(time='12:45')
|
user 12:45 inform(time='12:45')
|
||||||
system Czy chcesz podać miejsce spotkania? request(place)
|
system Czy chcesz podać miejsce spotkania? request(place)
|
||||||
user tak, gabinet dentystyczny SuperDent inform(place='gabinet dentystyczny SuperDent')
|
user tak, gabinet dentystyczny SuperDent inform(place='gabinet dentystyczny SuperDent')
|
||||||
system Czy chciałbyś dodać uczestników spotkania? request(participants)
|
system Czy chciałbyś dodać uczestników spotkania? request(participant)
|
||||||
user tak, doktor Krzysztof Ząb inform(participants=['doktor Krzysztof Ząb'])
|
user tak, doktor Krzysztof Ząb inform(participant='Krzysztof Ząb')
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Wtorek 30.03.2021 12:45-13:45 Miejsce: gabinet dentystyczny SuperDent Spotkanie z: doktor Krzysztof Ząb confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Wtorek 30.03.2021 12:45-13:45 Miejsce: gabinet dentystyczny SuperDent Spotkanie z: doktor Krzysztof Ząb confirm-domain()
|
||||||
user Zatwierdzam confirm(create_meeting)
|
user Zatwierdzam confirm()
|
||||||
system Spotkanie zostało dodane do kalendarza. Czy mogę pomóc w czymś jeszcze? affirm(create_meeting) && reqmore()
|
system Spotkanie zostało dodane do kalendarza. Czy mogę pomóc w czymś jeszcze? affirm(create_meeting) && reqmore()
|
||||||
user To będzie wszystko bye()
|
user To będzie wszystko bye()
|
|
@ -1,13 +1,13 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
user Cześć hello()
|
user Cześć hello()
|
||||||
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
||||||
user Proszę dodać spotkanie na dziś na godzinę 9 w parku Cytadela request(create_meeting) & inform(date='dzisiaj', time='9:00', place='park Cytadela')
|
user Proszę dodać spotkanie na dziś na godzinę 9 w parku Cytadela create_meeting(date='dziś',time='9',place='park Cytadela')
|
||||||
system Czy chcesz podać czas trwania spotkania? request(duration)
|
system Czy chcesz podać czas trwania spotkania? request(duration)
|
||||||
user Nie, proszę dopisać opis: Opis ..... negate() & inform(description='Opis .....')
|
user Nie, proszę dopisać opis: Opis ..... negate() & inform(description='Opis')
|
||||||
system Czy chcesz dodać z kim ma być spotkanie? request(participants)
|
system Czy chcesz dodać z kim ma być spotkanie? request(participant)
|
||||||
user Nie negate()
|
user Nie negate()
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Wtorek 30.03.2021 09:00 Miejsce: Cytadela Opis: Opis ..... confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Wtorek 30.03.2021 09:00 Miejsce: Cytadela Opis: Opis ..... confirm-domain()
|
||||||
user Tak confirm(create_meeting)
|
user Tak confirm()
|
||||||
user zgadza się confirm(create_meeting)
|
user zgadza się confirm()
|
||||||
system Spotkanie zostało dodane do kalendarza. Czy mogę pomóc w czymś jeszcze? affirm(create_meeting) && reqmore()
|
system Spotkanie zostało dodane do kalendarza. Czy mogę pomóc w czymś jeszcze? affirm(create_meeting) && reqmore()
|
||||||
user Nie, dziękuję za rozmowę bye() & thankyou()
|
user Nie, dziękuję za rozmowę bye() & thankyou()
|
|
@ -1,10 +1,10 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
user Witam. hello()
|
user Witam. hello()
|
||||||
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
||||||
user Czy mam obecnie jakieś zaplanowane spotkania? request(meeting_list)
|
user Czy mam obecnie jakieś zaplanowane spotkania? meeting_list()
|
||||||
system Data: Wtorek 30.03.2021 19:00-20:30 Miejsce: Restauracja ABC Spotkanie z: Jan Kowalski --- Data: Środa 31.03.2021 12:00-15:30 Miejsce: Firma ABC Spotkanie z: Adam Nowak inform(meeting_list)
|
system Data: Wtorek 30.03.2021 19:00-20:30 Miejsce: Restauracja ABC Spotkanie z: Jan Kowalski --- Data: Środa 31.03.2021 12:00-15:30 Miejsce: Firma ABC Spotkanie z: Adam Nowak inform(meeting_list)
|
||||||
user Chciałbym przesunąć pierwsze spotkanie na za tydzień. request(update_meeting) & inform(meeting='pierwsze spotkanie', date_add='tydzień')
|
user Chciałbym przesunąć pierwsze spotkanie na za tydzień. update_meeting()
|
||||||
system Proszę potwierdzić zmianę spotkania:\nData: Wtorek 06.04.2021 19:00-20:30\nMiejsce: Restauracja ABC\nSpotkanie z: Jan Kowalski confirm-domain()
|
system Proszę potwierdzić zmianę spotkania:\nData: Wtorek 06.04.2021 19:00-20:30\nMiejsce: Restauracja ABC\nSpotkanie z: Jan Kowalski confirm-domain()
|
||||||
user Potwierdzam confirm(update_meeting)
|
user Potwierdzam confirm()
|
||||||
system Spotkanie zostało zmienione. Czy mogę pomóc w czymś jeszcze? affirm(update_meeting) && reqmore()
|
system Spotkanie zostało zmienione. Czy mogę pomóc w czymś jeszcze? affirm(update_meeting) && reqmore()
|
||||||
user Nie, dziękuję za pomoc - to wszystko : ). bye() & thankyou()
|
user Nie, dziękuję za pomoc - to wszystko : ). bye() & thankyou()
|
|
@ -1,13 +1,13 @@
|
|||||||
Interlocutor Text Acts
|
Interlocutor Text Acts
|
||||||
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
system Witam w twoim prywatnym asystencie kalendarza spotkań. welcomemsg()
|
||||||
user Jakie spotkania mam zaplanowane w najbliższy czwartek? request(meeting_list) & inform(date='najbliższy czwartek')
|
user Jakie spotkania mam zaplanowane w najbliższy czwartek? meeting_list(date='najbliższy czwartek')
|
||||||
system Brak zaplanowanych spotkań na dzień 01.04.2021 inform(meeting_list)
|
system Brak zaplanowanych spotkań na dzień 01.04.2021 inform(meeting_list)
|
||||||
user To chciałbym zaplanować spotkanie tego dnia o godzinie 17. request(create_meeting) & inform(date='tego dnia', time='17:00')
|
user To chciałbym zaplanować spotkanie tego dnia o godzinie 17. create_meeting(date='tego dnia', time='17')
|
||||||
system Czy mam zapisać miejsce spotkania? request(place)
|
system Czy mam zapisać miejsce spotkania? request(place)
|
||||||
user Tak, Centrum Handlowe ABC inform(place='Centrum Handlowe ABC')
|
user Tak, Centrum Handlowe ABC inform(place='Centrum Handlowe ABC')
|
||||||
system Czy mam z zapisać z kim ma być spotkanie? request(participants)
|
system Czy mam z zapisać z kim ma być spotkanie? request(participant)
|
||||||
user Tak, spotkanie będzie z Januszem Kowalskim inform(participants=['Januszem Kowalskim'])
|
user Tak, spotkanie będzie z Januszem Kowalskim inform(participant='Januszem Kowalskim')
|
||||||
system Proszę potwierdzić utworzenie spotkania: Data: Czwartek 01.01.2021 17:00-18:00 Miejsce: Centrum Handlowe ABC Spotkanie z: Janusz Kowalski confirm-domain()
|
system Proszę potwierdzić utworzenie spotkania: Data: Czwartek 01.01.2021 17:00-18:00 Miejsce: Centrum Handlowe ABC Spotkanie z: Janusz Kowalski confirm-domain()
|
||||||
user Potwierdzam confirm(create_meeting)
|
user Potwierdzam confirm()
|
||||||
system Spotkanie zostało dodane do kalendarza. Czy mogę pomóc w czymś jeszcze? affirm(create_meeting) && reqmore()
|
system Spotkanie zostało dodane do kalendarza. Czy mogę pomóc w czymś jeszcze? affirm(create_meeting) && reqmore()
|
||||||
user Dziękuję, to wszystko. bye() & thankyou()
|
user Dziękuję, to wszystko. bye() & thankyou()
|
|
856
data/train.conllu
Normal file
856
data/train.conllu
Normal file
@ -0,0 +1,856 @@
|
|||||||
|
# text: dzień dobry
|
||||||
|
# intent: hello
|
||||||
|
# slots:
|
||||||
|
1 dzień hello NoLabel
|
||||||
|
2 dobry hello NoLabel
|
||||||
|
|
||||||
|
# text: dobry wieczór
|
||||||
|
# intent: hello
|
||||||
|
# slots:
|
||||||
|
1 dobry hello NoLabel
|
||||||
|
2 wieczór hello NoLabel
|
||||||
|
|
||||||
|
# text: witam
|
||||||
|
# intent: hello
|
||||||
|
# slots:
|
||||||
|
1 witam hello NoLabel
|
||||||
|
|
||||||
|
# text: siema
|
||||||
|
# intent: hello
|
||||||
|
# slots:
|
||||||
|
1 siema hello NoLabel
|
||||||
|
|
||||||
|
# text: cześć
|
||||||
|
# intent: hello
|
||||||
|
# slots:
|
||||||
|
1 siema hello NoLabel
|
||||||
|
|
||||||
|
# text: do widzenia
|
||||||
|
# intent: bye
|
||||||
|
# slots:
|
||||||
|
1 do bye NoLabel
|
||||||
|
2 widzenia bye NoLabel
|
||||||
|
|
||||||
|
# text: miłego dnia
|
||||||
|
# intent: bye
|
||||||
|
# slots:
|
||||||
|
1 miłego bye NoLabel
|
||||||
|
2 dnia bye NoLabel
|
||||||
|
|
||||||
|
# text: to będzie wszystko
|
||||||
|
# intent: bye
|
||||||
|
# slots:
|
||||||
|
1 to bye NoLabel
|
||||||
|
2 będzie bye NoLabel
|
||||||
|
3 wszystko bye NoLabel
|
||||||
|
|
||||||
|
# text: koniec zapisu
|
||||||
|
# intent: bye
|
||||||
|
# slots:
|
||||||
|
1 koniec bye NoLabel
|
||||||
|
2 zapisu bye NoLabel
|
||||||
|
|
||||||
|
# text: w takim razie to wszystko
|
||||||
|
# intent: bye
|
||||||
|
# slots:
|
||||||
|
1 w bye NoLabel
|
||||||
|
2 takim bye NoLabel
|
||||||
|
3 razie bye NoLabel
|
||||||
|
4 to bye NoLabel
|
||||||
|
1 wszystko bye NoLabel
|
||||||
|
|
||||||
|
# text: potwierdzam
|
||||||
|
# intent: confirm
|
||||||
|
# slots:
|
||||||
|
1 potwierdzam confirm NoLabel
|
||||||
|
|
||||||
|
# text: ok może być
|
||||||
|
# intent: confirm
|
||||||
|
# slots:
|
||||||
|
1 ok confirm NoLabel
|
||||||
|
2 może confirm NoLabel
|
||||||
|
3 być confirm NoLabel
|
||||||
|
|
||||||
|
# text: akceptuję
|
||||||
|
# intent: confirm
|
||||||
|
# slots:
|
||||||
|
1 akceptuję confirm NoLabel
|
||||||
|
|
||||||
|
# text: tak
|
||||||
|
# intent: confirm
|
||||||
|
# slots:
|
||||||
|
1 tak confirm NoLabel
|
||||||
|
|
||||||
|
# text: zgadza się
|
||||||
|
# intent: confirm
|
||||||
|
# slots:
|
||||||
|
1 zgadza confirm NoLabel
|
||||||
|
2 się confirm NoLabel
|
||||||
|
|
||||||
|
# text: zatwierdzam
|
||||||
|
# intent: confirm
|
||||||
|
# slots:
|
||||||
|
1 zgadza confirm NoLabel
|
||||||
|
2 się confirm NoLabel
|
||||||
|
|
||||||
|
# text: nie
|
||||||
|
# intent: negate
|
||||||
|
# slots:
|
||||||
|
1 nie negate NoLabel
|
||||||
|
|
||||||
|
# text: bez
|
||||||
|
# intent: negate
|
||||||
|
# slots:
|
||||||
|
1 bez negate NoLabel
|
||||||
|
|
||||||
|
# text: zaprzeczam
|
||||||
|
# intent: negate
|
||||||
|
# slots:
|
||||||
|
1 zaprzeczam negate NoLabel
|
||||||
|
|
||||||
|
# text: bardzo dziękuję
|
||||||
|
# intent: thankyou
|
||||||
|
# slots:
|
||||||
|
1 bardzo thankyou NoLabel
|
||||||
|
2 dziękuję thankyou NoLabel
|
||||||
|
|
||||||
|
# text: dziękuję
|
||||||
|
# intent: thankyou
|
||||||
|
# slots:
|
||||||
|
1 dziękuję thankyou NoLabel
|
||||||
|
|
||||||
|
# text: dziękuję za informację
|
||||||
|
# intent: thankyou
|
||||||
|
# slots:
|
||||||
|
1 dziękuję thankyou NoLabel
|
||||||
|
|
||||||
|
# text: 05.04.2021
|
||||||
|
# intent: inform/date
|
||||||
|
# slots:
|
||||||
|
1 05.04.2021 inform/date B-date
|
||||||
|
|
||||||
|
# text: 01.11.2023
|
||||||
|
# intent: inform/date
|
||||||
|
# slots:
|
||||||
|
1 01.11.2023 inform/date B-date
|
||||||
|
|
||||||
|
# text: 11 grudnia
|
||||||
|
# intent: inform/date
|
||||||
|
# slots:
|
||||||
|
1 11 inform/date B-date
|
||||||
|
2 grudnia inform/date I-date
|
||||||
|
|
||||||
|
# text: 28 lutego
|
||||||
|
# intent: inform/date
|
||||||
|
# slots:
|
||||||
|
1 28 inform/date B-date
|
||||||
|
2 lutego inform/date I-date
|
||||||
|
|
||||||
|
# text: spotkanie odbędzie się 3 maja
|
||||||
|
# intent: inform/date
|
||||||
|
# slots:
|
||||||
|
1 spotkanie inform/date NoLabel
|
||||||
|
2 odbędzie inform/date NoLabel
|
||||||
|
3 się inform/date NoLabel
|
||||||
|
4 3 inform/date B-date
|
||||||
|
5 maja inform/date I-date
|
||||||
|
|
||||||
|
# text: spotkanie w piątek
|
||||||
|
# intent: inform/date
|
||||||
|
# slots:
|
||||||
|
1 spotkanie inform/date NoLabel
|
||||||
|
2 w inform/date NoLabel
|
||||||
|
3 piątek inform/date B-date
|
||||||
|
|
||||||
|
# text: pierwszy kwietnia
|
||||||
|
# intent: inform/date
|
||||||
|
# slots:
|
||||||
|
1 pierwszy inform/date B-date
|
||||||
|
2 kwietnia inform/date I-date
|
||||||
|
|
||||||
|
# text: jutro
|
||||||
|
# intent: inform/date
|
||||||
|
# slots:
|
||||||
|
1 jutro inform/date B-date
|
||||||
|
|
||||||
|
# text: pojutrze
|
||||||
|
# intent: inform/date
|
||||||
|
# slots:
|
||||||
|
1 pojutrze inform/date B-date
|
||||||
|
|
||||||
|
# text: czwartek
|
||||||
|
# intent: inform/date
|
||||||
|
# slots:
|
||||||
|
1 czwartek inform/date B-date
|
||||||
|
|
||||||
|
# text: wtorek
|
||||||
|
# intent: inform/date
|
||||||
|
# slots:
|
||||||
|
1 wtorek inform/date B-date
|
||||||
|
|
||||||
|
# text: data to 11.11.2011
|
||||||
|
# intent: inform/date
|
||||||
|
# slots:
|
||||||
|
1 data inform/date NoLabel
|
||||||
|
1 to inform/date NoLabel
|
||||||
|
1 11.11.2011 inform/date B-date
|
||||||
|
|
||||||
|
# text: spotkanie odbędzie się pojutrze
|
||||||
|
# intent: inform/date
|
||||||
|
# slots:
|
||||||
|
1 spotkanie inform/date NoLabel
|
||||||
|
2 odbędzie inform/date NoLabel
|
||||||
|
3 się inform/date NoLabel
|
||||||
|
4 pojutrze inform/date B-date
|
||||||
|
|
||||||
|
# text: spotkanie będzie w środę
|
||||||
|
# intent: inform/date
|
||||||
|
# slots:
|
||||||
|
1 spotkanie inform/date NoLabel
|
||||||
|
2 będzie inform/date NoLabel
|
||||||
|
3 w inform/date NoLabel
|
||||||
|
4 środę inform/date B-date
|
||||||
|
|
||||||
|
# text: ustaw datę tego spotkania na najbliższy poniedziałek
|
||||||
|
# intent: inform/date
|
||||||
|
# slots:
|
||||||
|
1 ustaw inform/date NoLabel
|
||||||
|
2 datę inform/date NoLabel
|
||||||
|
3 tego inform/date NoLabel
|
||||||
|
3 spotkania inform/date NoLabel
|
||||||
|
3 na inform/date NoLabel
|
||||||
|
3 najbliższy inform/date B-date
|
||||||
|
3 poniedziałek inform/date I-date
|
||||||
|
|
||||||
|
# text: spotkanie będzie o godzinie 19:30
|
||||||
|
# intent: inform/time
|
||||||
|
# slots:
|
||||||
|
1 spotkanie inform/time NoLabel
|
||||||
|
2 będzie inform/time NoLabel
|
||||||
|
3 o inform/time NoLabel
|
||||||
|
4 godzinie inform/time NoLabel
|
||||||
|
5 19:30 inform/time B-time
|
||||||
|
|
||||||
|
# text: spotkanie zacznie się o godzinie 21
|
||||||
|
# intent: inform/time
|
||||||
|
# slots:
|
||||||
|
1 spotkanie inform/time NoLabel
|
||||||
|
2 zacznie inform/time NoLabel
|
||||||
|
3 się inform/time NoLabel
|
||||||
|
4 o inform/time NoLabel
|
||||||
|
5 godzinie inform/time NoLabel
|
||||||
|
6 21 inform/time B-time
|
||||||
|
|
||||||
|
# text: spotkanie będzie o 11
|
||||||
|
# intent: inform/time
|
||||||
|
# slots:
|
||||||
|
1 spotkanie inform/time NoLabel
|
||||||
|
2 będzie inform/time NoLabel
|
||||||
|
3 o inform/time NoLabel
|
||||||
|
4 11 inform/time B-time
|
||||||
|
|
||||||
|
# text: 12:30
|
||||||
|
# intent: inform/time
|
||||||
|
# slots:
|
||||||
|
1 12:30 inform/time B-time
|
||||||
|
|
||||||
|
# text: godzina 18:30
|
||||||
|
# intent: inform/time
|
||||||
|
# slots:
|
||||||
|
1 godzina inform/time NoLabel
|
||||||
|
2 18:30 inform/time B-time
|
||||||
|
|
||||||
|
# text: spotkanie rozpocznie się o 12:00
|
||||||
|
# intent: inform/time
|
||||||
|
# slots:
|
||||||
|
1 spotkanie inform/time NoLabel
|
||||||
|
2 rozpocznie inform/time NoLabel
|
||||||
|
3 się inform/time NoLabel
|
||||||
|
4 o inform/time NoLabel
|
||||||
|
5 12:00 inform/time B-time
|
||||||
|
|
||||||
|
# text: godzina tego spotkania to 7:00
|
||||||
|
# intent: inform/time
|
||||||
|
# slots:
|
||||||
|
1 godzina inform/time NoLabel
|
||||||
|
2 tego inform/time NoLabel
|
||||||
|
3 spotkania inform/time NoLabel
|
||||||
|
4 to inform/time NoLabel
|
||||||
|
5 7:00 inform/time B-time
|
||||||
|
|
||||||
|
# text: Restauracja ABC
|
||||||
|
# intent: inform/place
|
||||||
|
# slots:
|
||||||
|
1 Restauracja inform/place B-place
|
||||||
|
2 ABC inform/place I-place
|
||||||
|
|
||||||
|
# text: Kawiarnia MCafe przy ulicy Grunwaldzkiej
|
||||||
|
# intent: inform/place
|
||||||
|
# slots:
|
||||||
|
1 Kawiarnia inform/place B-place
|
||||||
|
2 MCafe inform/place I-place
|
||||||
|
3 przy inform/place I-place
|
||||||
|
4 ulicy inform/place I-place
|
||||||
|
5 Grunwaldzkiej inform/place I-place
|
||||||
|
|
||||||
|
# text: Restauracja w hotelu Anderisa
|
||||||
|
# intent: inform/place
|
||||||
|
# slots:
|
||||||
|
1 Restauracja inform/place B-place
|
||||||
|
2 w inform/place I-place
|
||||||
|
3 hotelu inform/place I-place
|
||||||
|
4 Anderisa inform/place I-place
|
||||||
|
|
||||||
|
# text: Miejsce spotkania to Kawiarnia JKL
|
||||||
|
# intent: inform/place
|
||||||
|
# slots:
|
||||||
|
1 Miejsce inform/place NoLabel
|
||||||
|
2 spotkania inform/place NoLabel
|
||||||
|
3 to inform/place NoLabel
|
||||||
|
4 Kawiarnia inform/place B-place
|
||||||
|
5 JKL inform/place I-place
|
||||||
|
|
||||||
|
# text: Cytadela Poznań
|
||||||
|
# intent: inform/place
|
||||||
|
# slots:
|
||||||
|
1 Cytadela inform/place B-place
|
||||||
|
2 Poznań inform/place I-place
|
||||||
|
|
||||||
|
# text: spotkanie będzie w Jeżyckich Ogrodach
|
||||||
|
# intent: inform/place
|
||||||
|
# slots:
|
||||||
|
1 spotkanie inform/place NoLabel
|
||||||
|
2 będzie inform/place NoLabel
|
||||||
|
3 w inform/place NoLabel
|
||||||
|
4 Jeżyckich inform/place B-place
|
||||||
|
5 Ogrodach inform/place I-place
|
||||||
|
|
||||||
|
# text: gabinet dentystyczny SuperDent
|
||||||
|
# intent: inform/place
|
||||||
|
# slots:
|
||||||
|
1 gabinet inform/place B-place
|
||||||
|
2 dentystyczny inform/place I-place
|
||||||
|
3 SuperDent inform/place I-place
|
||||||
|
|
||||||
|
# text: proszę dodać restaurację Bankcook w Poznaniu jako miejsce spotkania
|
||||||
|
# intent: inform/place
|
||||||
|
# slots:
|
||||||
|
1 proszę inform/place NoLabel
|
||||||
|
2 dodać inform/place NoLabel
|
||||||
|
3 restaurację inform/place B-place
|
||||||
|
4 Bankcook inform/place I-place
|
||||||
|
5 w inform/place I-place
|
||||||
|
6 Poznaniu inform/place I-place
|
||||||
|
7 jako inform/place NoLabel
|
||||||
|
8 miejsce inform/place NoLabel
|
||||||
|
9 spotkania inform/place NoLabel
|
||||||
|
|
||||||
|
# text: w przychodni przy ulicy dialogowej
|
||||||
|
# intent: inform/place
|
||||||
|
# slots:
|
||||||
|
1 w inform/place NoLabel
|
||||||
|
2 przychodni inform/place B-place
|
||||||
|
3 przy inform/place I-place
|
||||||
|
4 ulicy inform/place I-place
|
||||||
|
5 dialogowej inform/place I-place
|
||||||
|
|
||||||
|
# text: Jan Kowalski
|
||||||
|
# intent: inform/participant
|
||||||
|
# slots:
|
||||||
|
1 Jan inform/participant B-participant
|
||||||
|
2 Kowalski inform/participant I-participant
|
||||||
|
|
||||||
|
# text: proszę dodać Jan Nowak do spotkania
|
||||||
|
# intent: inform/participant
|
||||||
|
# slots:
|
||||||
|
1 proszę inform/participant NoLabel
|
||||||
|
2 dodać inform/participant NoLabel
|
||||||
|
3 Jan inform/participant B-participant
|
||||||
|
4 Nowak inform/participant I-participant
|
||||||
|
5 do inform/participant NoLabel
|
||||||
|
6 spotkania inform/participant NoLabel
|
||||||
|
|
||||||
|
# text: Hanna Kowalska
|
||||||
|
# intent: inform/participant
|
||||||
|
# slots:
|
||||||
|
1 Hanna inform/participant B-participant
|
||||||
|
2 Kowalska inform/participant I-participant
|
||||||
|
|
||||||
|
# text: tak doktor Krzysztof Ząb
|
||||||
|
# intent: inform/participant
|
||||||
|
# slots:
|
||||||
|
1 tak inform/participant NoLabel
|
||||||
|
2 doktor inform/participant NoLabel
|
||||||
|
3 Krzysztof inform/participant B-participant
|
||||||
|
4 Ząb inform/participant I-participant
|
||||||
|
|
||||||
|
# text: Spotkanie będzie z Janem Nowakiem
|
||||||
|
# intent: inform/participant
|
||||||
|
# slots:
|
||||||
|
1 Spotkanie inform/participant NoLabel
|
||||||
|
2 będzie inform/participant NoLabel
|
||||||
|
3 z inform/participant NoLabel
|
||||||
|
4 Janem inform/participant B-participant
|
||||||
|
5 Nowakiem inform/participant I-participant
|
||||||
|
|
||||||
|
# text: proszę zaprosić Jan Nowak Grażyna Kowalska i Hubert Noga
|
||||||
|
# intent: inform/participant
|
||||||
|
# slots:
|
||||||
|
1 proszę inform/participant NoLabel
|
||||||
|
2 zaprosić inform/participant NoLabel
|
||||||
|
3 Jan inform/participant B-participant
|
||||||
|
4 Nowak inform/participant I-participant
|
||||||
|
5 Grażyna inform/participant B-participant
|
||||||
|
6 Kowalska inform/participant I-participant
|
||||||
|
7 i inform/participant NoLabel
|
||||||
|
8 Hubert inform/participant B-participant
|
||||||
|
9 Noga inform/participant I-participant
|
||||||
|
|
||||||
|
# text: spotkanie będzie z Cezarym Pazurą oraz Janem Fryczem
|
||||||
|
# intent: inform/participant
|
||||||
|
# slots:
|
||||||
|
1 spotkanie inform/participant NoLabel
|
||||||
|
2 będzie inform/participant NoLabel
|
||||||
|
3 z inform/participant B-participant
|
||||||
|
4 Cezarym inform/participant B-participant
|
||||||
|
5 Pazurą inform/participant I-participant
|
||||||
|
6 oraz inform/participant NoLabel
|
||||||
|
7 Janem inform/participant B-participant
|
||||||
|
8 Fryczem inform/participant I-participant
|
||||||
|
|
||||||
|
# text: Marian Paździoch i Ferdynand Kiepski
|
||||||
|
# intent: inform/participant
|
||||||
|
# slots:
|
||||||
|
1 Marian inform/participant B-participant
|
||||||
|
2 Paździoch inform/participant I-participant
|
||||||
|
3 i inform/participant NoLabel
|
||||||
|
4 Ferdynand inform/participant B-participant
|
||||||
|
5 Kiepski inform/participant I-participant
|
||||||
|
|
||||||
|
# text: Spotkanie rekreacyjne
|
||||||
|
# intent: inform/description
|
||||||
|
# slots:
|
||||||
|
1 Spotkanie inform/description B-description
|
||||||
|
2 rekreacyjne inform/description I-description
|
||||||
|
|
||||||
|
# text: opis to Omówienie zakupu akcji firmy GameStop
|
||||||
|
# intent: inform/description
|
||||||
|
# slots:
|
||||||
|
1 opis inform/description NoLabel
|
||||||
|
2 to inform/description NoLabel
|
||||||
|
3 Omówienie inform/description B-description
|
||||||
|
4 zakupu inform/description I-description
|
||||||
|
5 akcji inform/description I-description
|
||||||
|
6 firmy inform/description I-description
|
||||||
|
7 GameStop inform/description I-description
|
||||||
|
|
||||||
|
# text: proszę dodać opis Omówienie projektu XYZ
|
||||||
|
# intent: inform/description
|
||||||
|
# slots:
|
||||||
|
1 proszę inform/description NoLabel
|
||||||
|
2 dodać inform/description NoLabel
|
||||||
|
3 opis inform/description NoLabel
|
||||||
|
4 Omówienie inform/description B-description
|
||||||
|
5 projektu inform/description I-description
|
||||||
|
6 XYZ inform/description I-description
|
||||||
|
|
||||||
|
# text: nowoczesna impreza w remizie
|
||||||
|
# intent: inform/description
|
||||||
|
# slots:
|
||||||
|
1 nowoczesna inform/description B-description
|
||||||
|
2 impreza inform/description I-description
|
||||||
|
3 w inform/description I-description
|
||||||
|
4 remizie inform/description I-description
|
||||||
|
|
||||||
|
# text: Intensywne rozmowy o przyrodzie przy Yerbie
|
||||||
|
# intent: inform/description
|
||||||
|
# slots:
|
||||||
|
1 Intensywne inform/description B-description
|
||||||
|
2 rozmowy inform/description I-description
|
||||||
|
3 o inform/description I-description
|
||||||
|
4 przyrodzie inform/description I-description
|
||||||
|
5 przy inform/description I-description
|
||||||
|
6 Yerbie inform/description I-description
|
||||||
|
|
||||||
|
# text: Spotkanie z kierownikiem zespołu w sprawie prac projektowych
|
||||||
|
# intent: inform/description
|
||||||
|
# slots:
|
||||||
|
1 Spotkanie inform/description NoLabel
|
||||||
|
2 z inform/description NoLabel
|
||||||
|
3 kierownikiem inform/description NoLabel
|
||||||
|
4 zespołu inform/description NoLabel
|
||||||
|
5 w inform/description B-description
|
||||||
|
6 sprawie inform/description I-description
|
||||||
|
7 prac inform/description I-description
|
||||||
|
8 projektowych inform/description I-description
|
||||||
|
|
||||||
|
# text: Spotkanie będzie dotyczyło omówienia strategii biznesowej
|
||||||
|
# intent: inform/description
|
||||||
|
# slots:
|
||||||
|
1 Spotkanie inform/description NoLabel
|
||||||
|
2 będzie inform/description NoLabel
|
||||||
|
3 dotyczyło inform/description NoLabel
|
||||||
|
4 omówienia inform/description B-description
|
||||||
|
5 strategii inform/description I-description
|
||||||
|
6 biznesowej inform/description I-description
|
||||||
|
|
||||||
|
# text: proszę dopisać opis Opis spotkania
|
||||||
|
# intent: inform/description
|
||||||
|
# slots:
|
||||||
|
1 proszę inform/description NoLabel
|
||||||
|
2 dopisać inform/description NoLabel
|
||||||
|
3 opis inform/description NoLabel
|
||||||
|
4 Opis inform/description B-description
|
||||||
|
5 spotkania inform/description I-description
|
||||||
|
|
||||||
|
# text: chciałabym anulować spotkanie
|
||||||
|
# intent: meeting/cancel
|
||||||
|
# slots:
|
||||||
|
1 chciałabym meeting/cancel NoLabel
|
||||||
|
2 anulować meeting/cancel NoLabel
|
||||||
|
3 spotkanie meeting/cancel NoLabel
|
||||||
|
|
||||||
|
# text: chciałbym usunać spotkanie
|
||||||
|
# intent: meeting/cancel
|
||||||
|
# slots:
|
||||||
|
1 chciałabym meeting/cancel NoLabel
|
||||||
|
2 usunać meeting/cancel NoLabel
|
||||||
|
3 spotkanie meeting/cancel NoLabel
|
||||||
|
|
||||||
|
# text: proszę odwołać spotkanie
|
||||||
|
# intent: meeting/cancel
|
||||||
|
# slots:
|
||||||
|
1 proszę meeting/cancel NoLabel
|
||||||
|
2 odwołać meeting/cancel NoLabel
|
||||||
|
3 spotkanie meeting/cancel NoLabel
|
||||||
|
|
||||||
|
# text: chciałbym odwołać to spotkanie
|
||||||
|
# intent: meeting/cancel
|
||||||
|
# slots:
|
||||||
|
1 chciałbym meeting/cancel NoLabel
|
||||||
|
2 odwołać meeting/cancel NoLabel
|
||||||
|
3 to meeting/cancel NoLabel
|
||||||
|
4 spotkanie meeting/cancel NoLabel
|
||||||
|
|
||||||
|
# text: chcę wyrzucić spotkanie z mojego kalendarza
|
||||||
|
# intent: meeting/cancel
|
||||||
|
# slots:
|
||||||
|
1 chcę meeting/cancel NoLabel
|
||||||
|
2 wyrzucić meeting/cancel NoLabel
|
||||||
|
3 spotkanie meeting/cancel NoLabel
|
||||||
|
4 z meeting/cancel NoLabel
|
||||||
|
5 mojego meeting/cancel NoLabel
|
||||||
|
6 kalendarza meeting/cancel NoLabel
|
||||||
|
|
||||||
|
# text: chciałbym przesunąć spotkanie
|
||||||
|
# intent: meeting/update
|
||||||
|
# slots:
|
||||||
|
1 chciałbym meeting/update NoLabel
|
||||||
|
2 przesunąć meeting/update NoLabel
|
||||||
|
3 spotkanie meeting/update NoLabel
|
||||||
|
|
||||||
|
# text: chciałbym edytować spotkanie
|
||||||
|
# intent: meeting/update
|
||||||
|
# slots:
|
||||||
|
1 chciałbym meeting/update NoLabel
|
||||||
|
2 edytować meeting/update NoLabel
|
||||||
|
3 spotkanie meeting/update NoLabel
|
||||||
|
|
||||||
|
# text: chciałbym zmienić datę spotkania
|
||||||
|
# intent: meeting/update
|
||||||
|
# slots:
|
||||||
|
1 chciałbym meeting/update NoLabel
|
||||||
|
2 zmienić meeting/update NoLabel
|
||||||
|
3 datę meeting/update NoLabel
|
||||||
|
4 spotkania meeting/update NoLabel
|
||||||
|
|
||||||
|
# text: czy moge przesunąć to spotkanie
|
||||||
|
# intent: meeting/update
|
||||||
|
# slots:
|
||||||
|
1 czy meeting/update NoLabel
|
||||||
|
2 moge meeting/update NoLabel
|
||||||
|
3 przesunąć meeting/update NoLabel
|
||||||
|
4 to meeting/update NoLabel
|
||||||
|
5 spotkanie meeting/update NoLabel
|
||||||
|
|
||||||
|
# text: chciałbym dodać nową osobę do tego spotkania
|
||||||
|
# intent: meeting/update
|
||||||
|
# slots:
|
||||||
|
1 chciałbym meeting/update NoLabel
|
||||||
|
2 dodać meeting/update NoLabel
|
||||||
|
3 nową meeting/update NoLabel
|
||||||
|
4 osobę meeting/update NoLabel
|
||||||
|
5 do meeting/update NoLabel
|
||||||
|
6 tego meeting/update NoLabel
|
||||||
|
7 spotkania meeting/update NoLabel
|
||||||
|
|
||||||
|
# text: zmień proszę godzinę tego spotkania na 17:30
|
||||||
|
# intent: meeting/update
|
||||||
|
# slots:
|
||||||
|
1 zmień meeting/update NoLabel
|
||||||
|
2 proszę meeting/update NoLabel
|
||||||
|
3 godzinę meeting/update NoLabel
|
||||||
|
4 tego meeting/update NoLabel
|
||||||
|
5 spotkania meeting/update NoLabel
|
||||||
|
6 na meeting/update NoLabel
|
||||||
|
7 17:30 meeting/update B-time
|
||||||
|
|
||||||
|
# text: chciałbym zapisać spotkanie
|
||||||
|
# intent: meeting/create
|
||||||
|
# slots:
|
||||||
|
1 chciałbym meeting/create NoLabel
|
||||||
|
2 zapisać meeting/create NoLabel
|
||||||
|
3 spotkanie meeting/create NoLabel
|
||||||
|
|
||||||
|
# text: chciałbym dodać nowe spotkanie
|
||||||
|
# intent: meeting/create
|
||||||
|
# slots:
|
||||||
|
1 chciałbym meeting/create NoLabel
|
||||||
|
2 dodać meeting/create NoLabel
|
||||||
|
3 nowe meeting/create NoLabel
|
||||||
|
4 spotkanie meeting/create NoLabel
|
||||||
|
|
||||||
|
# text: proszę wpisać nowe spotkanie na ten termin: Wyjście do Kina z Tomkiem
|
||||||
|
# intent: meeting/create
|
||||||
|
# slots:
|
||||||
|
1 proszę meeting/create NoLabel
|
||||||
|
2 wpisać meeting/create NoLabel
|
||||||
|
3 nowe meeting/create NoLabel
|
||||||
|
4 spotkanie meeting/create NoLabel
|
||||||
|
5 na meeting/create NoLabel
|
||||||
|
6 ten meeting/create NoLabel
|
||||||
|
7 termin meeting/create NoLabel
|
||||||
|
8 Wyjście meeting/create B-description
|
||||||
|
9 do meeting/create I-description
|
||||||
|
10 Kina meeting/create I-description
|
||||||
|
11 z meeting/create NoLabel
|
||||||
|
12 Tomkiem meeting/create B-participant
|
||||||
|
|
||||||
|
# text: proszę wpisać spotkanie na piątek godzinę 9:00 Podsumowanie miesiąca salka A
|
||||||
|
# intent: meeting/create
|
||||||
|
# slots:
|
||||||
|
1 proszę meeting/create NoLabel
|
||||||
|
2 wpisać meeting/create NoLabel
|
||||||
|
3 spotkanie meeting/create NoLabel
|
||||||
|
4 na meeting/create NoLabel
|
||||||
|
5 piątek meeting/create B-date
|
||||||
|
6 godzinę meeting/create NoLabel
|
||||||
|
7 9:00 meeting/create B-time
|
||||||
|
8 Podsumowanie meeting/create B-description
|
||||||
|
9 miesiąca meeting/create I-description
|
||||||
|
10 salka meeting/create B-place
|
||||||
|
11 A meeting/create I-place
|
||||||
|
|
||||||
|
# text: chciałbym umówić spotkanie dzisiaj o godzinie 17.00
|
||||||
|
# intent: meeting/create
|
||||||
|
# slots:
|
||||||
|
1 chciałbym meeting/create NoLabel
|
||||||
|
2 umówić meeting/create NoLabel
|
||||||
|
3 spotkanie meeting/create NoLabel
|
||||||
|
4 dzisiaj meeting/create B-date
|
||||||
|
5 o meeting/create B-date
|
||||||
|
6 godzinie meeting/create NoLabel
|
||||||
|
7 17:00 meeting/create B-time
|
||||||
|
|
||||||
|
# text: zapisz mi proszę spotkanie z 3 marca o 17 wizyta u lekarza
|
||||||
|
# intent: meeting/create
|
||||||
|
# slots:
|
||||||
|
1 zapisz meeting/create NoLabel
|
||||||
|
2 mi meeting/create NoLabel
|
||||||
|
3 proszę meeting/create NoLabel
|
||||||
|
4 spotkanie meeting/create NoLabel
|
||||||
|
5 z meeting/create NoLabel
|
||||||
|
6 3 meeting/create B-date
|
||||||
|
7 marca meeting/create I-date
|
||||||
|
8 o meeting/create NoLabel
|
||||||
|
9 17 meeting/create B-time
|
||||||
|
10 wizyta meeting/create B-description
|
||||||
|
11 u meeting/create I-description
|
||||||
|
12 lekarza meeting/create I-description
|
||||||
|
|
||||||
|
# text: proszę wpisać na 02.04.2021 o godzinie 19:00 Wyjście do kina ze znajomą
|
||||||
|
# intent: meeting/create
|
||||||
|
# slots:
|
||||||
|
1 proszę meeting/create NoLabel
|
||||||
|
2 wpisać meeting/create NoLabel
|
||||||
|
3 na meeting/create NoLabel
|
||||||
|
4 02.04.2021 meeting/create B-date
|
||||||
|
5 o meeting/create NoLabel
|
||||||
|
6 godzinie meeting/create NoLabel
|
||||||
|
7 19:00 meeting/create B-time
|
||||||
|
8 Wyjście meeting/create B-description
|
||||||
|
9 do meeting/create I-description
|
||||||
|
10 kina meeting/create I-description
|
||||||
|
11 ze meeting/create I-description
|
||||||
|
12 znajomą meeting/create I-description
|
||||||
|
|
||||||
|
# text: chciałabym umówić spotkanie
|
||||||
|
# intent: meeting/create
|
||||||
|
# slots:
|
||||||
|
1 chciałabym meeting/create NoLabel
|
||||||
|
2 umówić meeting/create NoLabel
|
||||||
|
3 spotkanie meeting/create NoLabel
|
||||||
|
|
||||||
|
# text: chciałabym dodać spotkanie do kalendarza
|
||||||
|
# intent: meeting/create
|
||||||
|
# slots:
|
||||||
|
1 chciałabym meeting/create NoLabel
|
||||||
|
2 dodać meeting/create NoLabel
|
||||||
|
3 spotkanie meeting/create NoLabel
|
||||||
|
4 do meeting/create NoLabel
|
||||||
|
5 kalendarza meeting/create NoLabel
|
||||||
|
|
||||||
|
# text: proszę o dodanie spotkania biznesowego na dziś wieczór
|
||||||
|
# intent: meeting/create
|
||||||
|
# slots:
|
||||||
|
1 proszę meeting/create NoLabel
|
||||||
|
2 o meeting/create NoLabel
|
||||||
|
3 dodanie meeting/create NoLabel
|
||||||
|
4 spotkania meeting/create NoLabel
|
||||||
|
5 biznesowego meeting/create NoLabel
|
||||||
|
6 na meeting/create NoLabel
|
||||||
|
7 dziś meeting/create B-date
|
||||||
|
8 wieczór meeting/create NoLabel
|
||||||
|
|
||||||
|
# text: dodaj pozycję jutro na 17.30 Lunch z księgową w miejscu Cafe Teria
|
||||||
|
# intent: meeting/create
|
||||||
|
# slots:
|
||||||
|
1 dodaj meeting/create NoLabel
|
||||||
|
2 pozycję meeting/create NoLabel
|
||||||
|
3 jutro meeting/create B-date
|
||||||
|
4 na meeting/create NoLabel
|
||||||
|
5 17.30 meeting/create B-time
|
||||||
|
6 Lunch meeting/create B-description
|
||||||
|
7 z meeting/create I-description
|
||||||
|
8 księgową meeting/create I-description
|
||||||
|
9 w meeting/create NoLabel
|
||||||
|
10 miejscu meeting/create NoLabel
|
||||||
|
11 Cafe meeting/create B-place
|
||||||
|
12 Teria meeting/create I-place
|
||||||
|
|
||||||
|
# text: chciałabym zobaczyć podsumowanie spotkań z ostatniego miesiąca
|
||||||
|
# intent: meeting/list
|
||||||
|
# slots:
|
||||||
|
1 chciałabym meeting/list NoLabel
|
||||||
|
2 zobaczyć meeting/list NoLabel
|
||||||
|
3 podsumowanie meeting/list NoLabel
|
||||||
|
4 spotkań meeting/list NoLabel
|
||||||
|
5 z meeting/list NoLabel
|
||||||
|
6 ostatniego meeting/list B-date
|
||||||
|
7 miesiąca meeting/list I-date
|
||||||
|
|
||||||
|
# text: jakie mam spotkania jutro
|
||||||
|
# intent: meeting/list
|
||||||
|
# slots:
|
||||||
|
1 jakie meeting/list NoLabel
|
||||||
|
2 mam meeting/list NoLabel
|
||||||
|
3 spotkania meeting/list NoLabel
|
||||||
|
4 jutro meeting/list B-date
|
||||||
|
|
||||||
|
# text: proszę o rozpiskę spotkań na następny tydzień
|
||||||
|
# intent: meeting/list
|
||||||
|
# slots:
|
||||||
|
1 proszę meeting/list NoLabel
|
||||||
|
2 o meeting/list NoLabel
|
||||||
|
3 rozpiskę meeting/list NoLabel
|
||||||
|
4 spotkań meeting/list NoLabel
|
||||||
|
5 na meeting/list NoLabel
|
||||||
|
6 następny meeting/list B-date
|
||||||
|
7 tydzień meeting/list I-date
|
||||||
|
|
||||||
|
# text: podaj mi proszę moje spotkania na najbliższy tydzień
|
||||||
|
# intent: meeting/list
|
||||||
|
# slots:
|
||||||
|
1 podaj meeting/list NoLabel
|
||||||
|
2 mi meeting/list NoLabel
|
||||||
|
3 proszę meeting/list NoLabel
|
||||||
|
4 moje meeting/list NoLabel
|
||||||
|
5 spotkania meeting/list NoLabel
|
||||||
|
6 na meeting/list NoLabel
|
||||||
|
7 najbliższy meeting/list B-date
|
||||||
|
8 tydzień meeting/list I-date
|
||||||
|
|
||||||
|
# text: jakie mam nadchodzące wydarzenia w tym tygodniu
|
||||||
|
# intent: meeting/list
|
||||||
|
# slots:
|
||||||
|
1 jakie meeting/list NoLabel
|
||||||
|
2 mam meeting/list NoLabel
|
||||||
|
3 nadchodzące meeting/list NoLabel
|
||||||
|
4 wydarzenia meeting/list NoLabel
|
||||||
|
5 w meeting/list NoLabel
|
||||||
|
6 tym meeting/list B-date
|
||||||
|
7 tygodniu meeting/list I-date
|
||||||
|
|
||||||
|
# text: jakie spotkania mam w przyszłym tygodniu
|
||||||
|
# intent: meeting/list
|
||||||
|
# slots:
|
||||||
|
1 jakie meeting/list NoLabel
|
||||||
|
2 spotkania meeting/list NoLabel
|
||||||
|
3 mam meeting/list NoLabel
|
||||||
|
4 w meeting/list NoLabel
|
||||||
|
5 przyszłym meeting/list B-date
|
||||||
|
6 tygodniu meeting/list I-date
|
||||||
|
|
||||||
|
# text: Czy mam jakieś spotkania w najbliższy piątek
|
||||||
|
# intent: meeting/list
|
||||||
|
# slots:
|
||||||
|
1 Czy meeting/list NoLabel
|
||||||
|
2 mam meeting/list NoLabel
|
||||||
|
3 jakieś meeting/list NoLabel
|
||||||
|
4 spotkania meeting/list NoLabel
|
||||||
|
5 w meeting/list NoLabel
|
||||||
|
6 najbliższy meeting/list B-date
|
||||||
|
7 piątek meeting/list I-date
|
||||||
|
|
||||||
|
# text: chcialbym sprawdzic czy mam jakies spotkania w najblizszym tygodniu
|
||||||
|
# intent: meeting/list
|
||||||
|
# slots:
|
||||||
|
1 chcialbym meeting/list NoLabel
|
||||||
|
2 sprawdzic meeting/list NoLabel
|
||||||
|
3 czy meeting/list NoLabel
|
||||||
|
4 mam meeting/list NoLabel
|
||||||
|
5 jakies meeting/list NoLabel
|
||||||
|
6 spotkania meeting/list NoLabel
|
||||||
|
7 w meeting/list NoLabel
|
||||||
|
8 najblizszym meeting/list B-date
|
||||||
|
9 tygodniu meeting/list I-date
|
||||||
|
|
||||||
|
# text: proszę o wyświetlenie jutrzejszego kalendarza
|
||||||
|
# intent: meeting/list
|
||||||
|
# slots:
|
||||||
|
1 proszę meeting/list NoLabel
|
||||||
|
2 o meeting/list NoLabel
|
||||||
|
3 wyświetlenie meeting/list NoLabel
|
||||||
|
4 jutrzejszego meeting/list B-date
|
||||||
|
5 kalendarza meeting/list NoLabel
|
||||||
|
|
||||||
|
# text: proszę o rozpiskę spotkań w tym tygodniu
|
||||||
|
# intent: meeting/list
|
||||||
|
# slots:
|
||||||
|
1 proszę meeting/list NoLabel
|
||||||
|
2 o meeting/list NoLabel
|
||||||
|
3 rozpiskę meeting/list NoLabel
|
||||||
|
4 spotkań meeting/list NoLabel
|
||||||
|
5 w meeting/list NoLabel
|
||||||
|
6 tym meeting/list B-date
|
||||||
|
7 tygodniu meeting/list I-date
|
||||||
|
|
||||||
|
# text: jakie mam wolne terminy w najbliższy piątek
|
||||||
|
# intent: meeting/free_time
|
||||||
|
# slots:
|
||||||
|
1 jakie meeting/free_time NoLabel
|
||||||
|
2 mam meeting/free_time NoLabel
|
||||||
|
3 wolne meeting/free_time NoLabel
|
||||||
|
4 terminy meeting/free_time NoLabel
|
||||||
|
5 w meeting/free_time NoLabel
|
||||||
|
6 najbliższy meeting/free_time B-date
|
||||||
|
7 piątek meeting/free_time I-date
|
||||||
|
|
||||||
|
# text: czy mam jutro wolne terminy
|
||||||
|
# intent: meeting/free_time
|
||||||
|
# slots:
|
||||||
|
1 czy meeting/free_time NoLabel
|
||||||
|
2 mam meeting/free_time NoLabel
|
||||||
|
3 jutro meeting/free_time B-date
|
||||||
|
4 wolne meeting/free_time NoLabel
|
||||||
|
5 terminy meeting/free_time B-date
|
34
eval2.py
34
eval2.py
@ -1,34 +0,0 @@
|
|||||||
from datetime import date
|
|
||||||
import jsgf
|
|
||||||
import pandas as pd
|
|
||||||
import numpy as np
|
|
||||||
import os
|
|
||||||
from NaturalLanguageUnderstanding import NLU
|
|
||||||
|
|
||||||
nlu = NLU()
|
|
||||||
|
|
||||||
gramar = jsgf.parse_grammar_file('book.jsgf')
|
|
||||||
print(gramar)
|
|
||||||
|
|
||||||
rows = 0
|
|
||||||
matches = 0
|
|
||||||
|
|
||||||
for f in os.listdir('data'):
|
|
||||||
dialog = pd.read_csv(f'data/{f}', sep='\t')
|
|
||||||
dialog = dialog.loc[dialog['Interlocutor'] == 'user']
|
|
||||||
|
|
||||||
for index, row in dialog.iterrows():
|
|
||||||
rows += 1
|
|
||||||
match = gramar.find_matching_rules(row['Text'])
|
|
||||||
if match:
|
|
||||||
acts = row['Acts'].split('&')
|
|
||||||
for act in acts:
|
|
||||||
|
|
||||||
frame = nlu.parse_user_input(row['Text'])
|
|
||||||
frame_act_name = frame.getActType().name.lower()
|
|
||||||
if frame_act_name in act.strip():
|
|
||||||
matches += 1
|
|
||||||
|
|
||||||
|
|
||||||
print("Rows processed: " + str(rows))
|
|
||||||
print("Accuracy: " + str(matches/rows*100))
|
|
25
evaluate.py
25
evaluate.py
@ -1,6 +1,5 @@
|
|||||||
|
from UserActType import UserActType
|
||||||
import os
|
import os
|
||||||
import re
|
|
||||||
import jsgf
|
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from NaturalLanguageUnderstanding import NLU
|
from NaturalLanguageUnderstanding import NLU
|
||||||
@ -9,6 +8,7 @@ nlu = NLU()
|
|||||||
|
|
||||||
rows = 0
|
rows = 0
|
||||||
hits = 0
|
hits = 0
|
||||||
|
hard_hits = 0
|
||||||
|
|
||||||
for file_name in os.listdir('data'):
|
for file_name in os.listdir('data'):
|
||||||
df = pd.read_csv(f'data/{file_name}', sep='\t', names=['interlocutor', 'sentence', 'acts'])
|
df = pd.read_csv(f'data/{file_name}', sep='\t', names=['interlocutor', 'sentence', 'acts'])
|
||||||
@ -16,15 +16,16 @@ for file_name in os.listdir('data'):
|
|||||||
data = np.array(df)
|
data = np.array(df)
|
||||||
|
|
||||||
for row in data:
|
for row in data:
|
||||||
|
rows += 1
|
||||||
sentence = row[1]
|
sentence = row[1]
|
||||||
sentences = sentence.split(',')
|
acts = row[2].split('&')
|
||||||
for sentence in sentences:
|
user_act = nlu.parse_user_input(sentence)
|
||||||
acts = row[2].split('&')
|
for act in acts:
|
||||||
for act in acts:
|
if str(user_act) == act.strip(' '):
|
||||||
rows += 1
|
hard_hits += 1
|
||||||
frame = nlu.parse_user_input(sentence)
|
for act in acts:
|
||||||
frame_act_name = frame.getActType().name.lower()
|
if act.split('(')[0].strip(' ') == str(user_act).split('(')[0].strip(' '):
|
||||||
if frame_act_name in act.strip():
|
hits += 1
|
||||||
hits += 1
|
|
||||||
|
|
||||||
print(f"Accuracy: {(hits / rows)*100}")
|
print(f"Accuracy (intent only): {(hits / rows)*100} ({hits}/{rows})")
|
||||||
|
print(f"Accuracy (intent with slots): {(hard_hits / rows)*100} ({hard_hits}/{rows})")
|
||||||
|
14
main.py
14
main.py
@ -14,11 +14,11 @@ if __name__ == "__main__":
|
|||||||
user_input = input("Wpisz tekst: ")
|
user_input = input("Wpisz tekst: ")
|
||||||
|
|
||||||
user_frame = nlu.parse_user_input(user_input)
|
user_frame = nlu.parse_user_input(user_input)
|
||||||
print(str(user_frame))
|
print(user_frame)
|
||||||
dst.addFrame(user_frame)
|
#dst.addFrame(user_frame)
|
||||||
system_act = dp.chooseTactic(dst.getFrames())
|
#system_act = dp.chooseTactic(dst.getFrames())
|
||||||
text = nlg.toText(system_act)
|
#text = nlg.toText(system_act)
|
||||||
|
|
||||||
print(text)
|
#print(text)
|
||||||
if system_act.isDialogFinished():
|
#if system_act.isDialogFinished():
|
||||||
break
|
# break
|
||||||
|
43
test_nlu.py
Normal file
43
test_nlu.py
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
import os
|
||||||
|
import pandas as pd
|
||||||
|
import numpy as np
|
||||||
|
from flair.data import Sentence, Token
|
||||||
|
from flair.datasets import SentenceDataset
|
||||||
|
from flair.models import SequenceTagger
|
||||||
|
|
||||||
|
def conllu2flair(sentences, label=None):
|
||||||
|
fsentences = []
|
||||||
|
for sentence in sentences:
|
||||||
|
fsentence = Sentence()
|
||||||
|
for token in sentence:
|
||||||
|
ftoken = Token(token['form'])
|
||||||
|
if label:
|
||||||
|
ftoken.add_tag(label, token[label])
|
||||||
|
fsentence.add_token(ftoken)
|
||||||
|
fsentences.append(fsentence)
|
||||||
|
return SentenceDataset(fsentences)
|
||||||
|
|
||||||
|
def predict(frame_model, sentence):
|
||||||
|
csentence = [{'form': word} for word in sentence.split()]
|
||||||
|
fsentence = conllu2flair([csentence])[0]
|
||||||
|
frame_model.predict(fsentence)
|
||||||
|
possible_intents = {}
|
||||||
|
for token in fsentence:
|
||||||
|
for intent in token.annotation_layers["frame"]:
|
||||||
|
if(intent.value in possible_intents):
|
||||||
|
possible_intents[intent.value] += intent.score
|
||||||
|
else:
|
||||||
|
possible_intents[intent.value] = intent.score
|
||||||
|
return max(possible_intents)
|
||||||
|
|
||||||
|
frame_model = SequenceTagger.load('frame-model/final-model.pt')
|
||||||
|
|
||||||
|
for file_name in os.listdir('data'):
|
||||||
|
df = pd.read_csv(f'data/{file_name}', sep='\t', names=['interlocutor', 'sentence', 'acts'])
|
||||||
|
df = df[df.interlocutor == 'user']
|
||||||
|
data = np.array(df)
|
||||||
|
|
||||||
|
for row in data:
|
||||||
|
sentence = row[1]
|
||||||
|
predicted_intent = predict(frame_model, sentence)
|
||||||
|
print(sentence, predicted_intent)
|
62
train_frame_nlu.py
Normal file
62
train_frame_nlu.py
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
from conllu import parse_incr
|
||||||
|
from tabulate import tabulate
|
||||||
|
from flair.data import Corpus, Sentence, Token
|
||||||
|
from flair.datasets import SentenceDataset
|
||||||
|
from flair.embeddings import StackedEmbeddings
|
||||||
|
from flair.embeddings import WordEmbeddings
|
||||||
|
from flair.embeddings import CharacterEmbeddings
|
||||||
|
from flair.embeddings import FlairEmbeddings
|
||||||
|
from flair.models import SequenceTagger
|
||||||
|
from flair.trainers import ModelTrainer
|
||||||
|
|
||||||
|
# skrypt do trenowania modelu NLU dla intentów
|
||||||
|
|
||||||
|
# determinizacja obliczeń
|
||||||
|
import random
|
||||||
|
import torch
|
||||||
|
random.seed(42)
|
||||||
|
torch.manual_seed(42)
|
||||||
|
|
||||||
|
if torch.cuda.is_available():
|
||||||
|
torch.cuda.manual_seed(0)
|
||||||
|
torch.cuda.manual_seed_all(0)
|
||||||
|
torch.backends.cudnn.enabled = False
|
||||||
|
torch.backends.cudnn.benchmark = False
|
||||||
|
torch.backends.cudnn.deterministic = True
|
||||||
|
|
||||||
|
def nolabel2o(line, i):
|
||||||
|
return 'O' if line[i] == 'NoLabel' else line[i]
|
||||||
|
|
||||||
|
def conllu2flair(sentences, label=None):
|
||||||
|
fsentences = []
|
||||||
|
for sentence in sentences:
|
||||||
|
fsentence = Sentence()
|
||||||
|
for token in sentence:
|
||||||
|
ftoken = Token(token['form'])
|
||||||
|
if label:
|
||||||
|
ftoken.add_tag(label, token[label])
|
||||||
|
fsentence.add_token(ftoken)
|
||||||
|
fsentences.append(fsentence)
|
||||||
|
return SentenceDataset(fsentences)
|
||||||
|
|
||||||
|
fields = ['id', 'form', 'frame', 'slot']
|
||||||
|
|
||||||
|
with open('data/train.conllu', encoding='utf-8') as trainfile:
|
||||||
|
frame_trainset = list(parse_incr(trainfile, fields=fields, field_parsers={'frame': nolabel2o}))
|
||||||
|
|
||||||
|
frame_corpus = Corpus(train=conllu2flair(frame_trainset, 'frame'), test=conllu2flair(frame_trainset, 'frame'))
|
||||||
|
|
||||||
|
frame_tag_dictionary = frame_corpus.make_tag_dictionary(tag_type='frame')
|
||||||
|
|
||||||
|
embedding_types = [
|
||||||
|
WordEmbeddings('pl'),
|
||||||
|
FlairEmbeddings('pl-forward'),
|
||||||
|
FlairEmbeddings('pl-backward'),
|
||||||
|
CharacterEmbeddings(),
|
||||||
|
]
|
||||||
|
|
||||||
|
embeddings = StackedEmbeddings(embeddings=embedding_types)
|
||||||
|
frame_tagger = SequenceTagger(hidden_size=256, embeddings=embeddings, tag_dictionary=frame_tag_dictionary, tag_type='frame', use_crf=True)
|
||||||
|
|
||||||
|
frame_trainer = ModelTrainer(frame_tagger, frame_corpus)
|
||||||
|
frame_trainer.train('frame-model', learning_rate=0.1, mini_batch_size=24, max_epochs=100, train_with_dev=False)
|
62
train_slot_nlu.py
Normal file
62
train_slot_nlu.py
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
from conllu import parse_incr
|
||||||
|
from tabulate import tabulate
|
||||||
|
from flair.data import Corpus, Sentence, Token
|
||||||
|
from flair.datasets import SentenceDataset
|
||||||
|
from flair.embeddings import StackedEmbeddings
|
||||||
|
from flair.embeddings import WordEmbeddings
|
||||||
|
from flair.embeddings import CharacterEmbeddings
|
||||||
|
from flair.embeddings import FlairEmbeddings
|
||||||
|
from flair.models import SequenceTagger
|
||||||
|
from flair.trainers import ModelTrainer
|
||||||
|
|
||||||
|
# skrypt do trenowania modelu NLU dla slotów
|
||||||
|
|
||||||
|
# determinizacja obliczeń
|
||||||
|
import random
|
||||||
|
import torch
|
||||||
|
random.seed(42)
|
||||||
|
torch.manual_seed(42)
|
||||||
|
|
||||||
|
if torch.cuda.is_available():
|
||||||
|
torch.cuda.manual_seed(0)
|
||||||
|
torch.cuda.manual_seed_all(0)
|
||||||
|
torch.backends.cudnn.enabled = False
|
||||||
|
torch.backends.cudnn.benchmark = False
|
||||||
|
torch.backends.cudnn.deterministic = True
|
||||||
|
|
||||||
|
def nolabel2o(line, i):
|
||||||
|
return 'O' if line[i] == 'NoLabel' else line[i]
|
||||||
|
|
||||||
|
def conllu2flair(sentences, label=None):
|
||||||
|
fsentences = []
|
||||||
|
for sentence in sentences:
|
||||||
|
fsentence = Sentence()
|
||||||
|
for token in sentence:
|
||||||
|
ftoken = Token(token['form'])
|
||||||
|
if label:
|
||||||
|
ftoken.add_tag(label, token[label])
|
||||||
|
fsentence.add_token(ftoken)
|
||||||
|
fsentences.append(fsentence)
|
||||||
|
return SentenceDataset(fsentences)
|
||||||
|
|
||||||
|
fields = ['id', 'form', 'frame', 'slot']
|
||||||
|
|
||||||
|
with open('data/train.conllu', encoding='utf-8') as trainfile:
|
||||||
|
slot_trainset = list(parse_incr(trainfile, fields=fields, field_parsers={'slot': nolabel2o}))
|
||||||
|
|
||||||
|
slot_corpus = Corpus(train=conllu2flair(slot_trainset, 'slot'), test=conllu2flair(slot_trainset, 'slot'))
|
||||||
|
|
||||||
|
slot_tag_dictionary = slot_corpus.make_tag_dictionary(tag_type='slot')
|
||||||
|
|
||||||
|
embedding_types = [
|
||||||
|
WordEmbeddings('pl'),
|
||||||
|
FlairEmbeddings('pl-forward'),
|
||||||
|
FlairEmbeddings('pl-backward'),
|
||||||
|
CharacterEmbeddings(),
|
||||||
|
]
|
||||||
|
|
||||||
|
embeddings = StackedEmbeddings(embeddings=embedding_types)
|
||||||
|
slot_tagger = SequenceTagger(hidden_size=256, embeddings=embeddings, tag_dictionary=slot_tag_dictionary, tag_type='slot', use_crf=True)
|
||||||
|
|
||||||
|
slot_trainer = ModelTrainer(slot_tagger, slot_corpus)
|
||||||
|
slot_trainer.train('slot-model', learning_rate=0.1, mini_batch_size=24, max_epochs=100, train_with_dev=False)
|
Loading…
Reference in New Issue
Block a user