new NLU using ML
This commit is contained in:
parent
f28cbe8a28
commit
70606851a1
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,4 @@
|
||||
/venv
|
||||
__pycache__
|
||||
frame-model
|
||||
slot-model
|
@ -1,30 +1,125 @@
|
||||
from typing import get_args
|
||||
from UserActType import UserActType
|
||||
from UserAct import UserAct
|
||||
import jsgf
|
||||
from flair.data import Sentence, Token
|
||||
from flair.datasets import SentenceDataset
|
||||
from flair.models import SequenceTagger
|
||||
|
||||
|
||||
class NLU:
|
||||
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):
|
||||
slots = []
|
||||
self.get_slots(rule.expansion, slots)
|
||||
return UserAct(UserActType[rule.name.upper()], slots)
|
||||
def conllu2flair(self, 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 get_slots(self, expansion, slots):
|
||||
if expansion.tag != '':
|
||||
slots.append((expansion.tag, expansion.current_match))
|
||||
return
|
||||
def get_act_type_from_intent(self, intent):
|
||||
if 'inform' in intent:
|
||||
return UserActType.INFORM
|
||||
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:
|
||||
self.get_slots(child, slots)
|
||||
def get_slots(self, 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):
|
||||
self.get_slots(expansion.referenced_rule.expansion, slots)
|
||||
def analyse_user_input(self, text):
|
||||
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:
|
||||
matched_rules = self.book_grammar.find_matching_rules(text)
|
||||
if matched_rules:
|
||||
return self.get_dialog_act(matched_rules[0])
|
||||
return UserAct(UserActType.INVALID, [])
|
||||
analysis = self.analyse_user_input(text)
|
||||
return self.get_user_act(analysis)
|
||||
|
@ -5,11 +5,13 @@ from enum import Enum, unique
|
||||
class UserActType(Enum):
|
||||
HELLO = 0
|
||||
BYE = 1
|
||||
CREATE_MEETING = 2
|
||||
CANCEL_MEETING = 3
|
||||
CHANGE_MEETING = 4
|
||||
MEETING_LIST = 5
|
||||
CONFIRM = 6
|
||||
NEGATE = 7
|
||||
THANKYOU = 8
|
||||
CONFIRM = 2
|
||||
NEGATE = 3
|
||||
THANKYOU = 4
|
||||
INFORM = 5
|
||||
CREATE_MEETING = 6
|
||||
UPDATE_MEETING = 7
|
||||
CANCEL_MEETING = 8
|
||||
MEETING_LIST = 9
|
||||
FREE_TIME = 10
|
||||
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
|
||||
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)
|
||||
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)
|
||||
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')
|
||||
user ok confirm(time)
|
||||
user ok confirm()
|
||||
system Czy mam zapisać miejsce spotkania? request(place)
|
||||
user nie negate()
|
||||
system Czy mam dodać opis do spotkania? request(description)
|
||||
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()
|
||||
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)
|
||||
user Koniec zapisu 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()
|
||||
user Chciałbym anulować spotkanie request(cancel_meeting)
|
||||
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()
|
||||
user Tak ack(cancel_meeting)
|
||||
user Tak confirm()
|
||||
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()
|
||||
user Tak, zgadza się ack(create_meeting)
|
||||
user Tak, zgadza się confirm()
|
||||
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
|
||||
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)
|
||||
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')
|
||||
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()
|
||||
user potwierdzam ack(create_meeting)
|
||||
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
||||
user Chciałabym zobaczyć podsumowanie spotkań z ostatniego miesiąca request(meeting_list)
|
||||
system Spotkanie zostało pomyślnie dodane do kalendarza. confirm()
|
||||
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 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)
|
||||
|
Can't render this file because it contains an unexpected character in line 7 and column 69.
|
@ -1,16 +1,16 @@
|
||||
Interlocutor Text Acts
|
||||
user Hej hello()
|
||||
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 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)
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
user 18:30 bez ustalonego czasu spotkania inform(time='18:30')
|
||||
system Czy mam zapisać miejsce spotkania? request(place)
|
||||
@ -20,7 +20,7 @@ user nie negate()
|
||||
system Czy mam dodać opis do spotkania? request(description)
|
||||
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()
|
||||
user Tak zgadza się ack(create_meeting)
|
||||
user Tak zgadza się confirm()
|
||||
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
||||
user To by było wszystko bye()
|
||||
system Miłego dnia bye()
|
|
@ -1,19 +1,19 @@
|
||||
Interlocutor Text Acts
|
||||
user cześć operatorze hello()
|
||||
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)
|
||||
user jutro inform(date='jutro')
|
||||
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')
|
||||
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)
|
||||
user Tak ack()
|
||||
user Tak confirm()
|
||||
system Gdzie ma się odbyć spotkanie? request(place)
|
||||
user Restauracja ABC inform(place='Restauracja ABC')
|
||||
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participants)
|
||||
user tak, Jan Kowalski inform(participants=['Jan Kowalski'])
|
||||
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participant)
|
||||
user tak, Jan Kowalski inform(participant=['Jan Kowalski'])
|
||||
system Czy mam dodać opis do spotkania? request(description)
|
||||
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()
|
||||
|
|
@ -1,22 +1,22 @@
|
||||
Interlocutor Text Acts
|
||||
user Dzień dobry! hello()
|
||||
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 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)
|
||||
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)
|
||||
user Czwartek inform(date='Czwartek')
|
||||
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')
|
||||
system Czy mam zapisać miejsce spotkania? request(place)
|
||||
user Restauracja w hotelu Anderisa. inform(place='Restauracja w hotelu Anderisa')
|
||||
system Czy mam zapisać nazwisko osoby, której dotyczy to spotkanie? request(participants)
|
||||
user Hanna Kowalska. inform(participants=['Hanna Kowalska'])
|
||||
system Czy mam zapisać nazwisko osoby, której dotyczy to spotkanie? request(participant)
|
||||
user Hanna Kowalska. inform(participant='Hanna Kowalska')
|
||||
system Czy mam dodać opis do spotkania? request(description)
|
||||
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()
|
||||
user Potwierdzam. confirm(create_meeting)
|
||||
user Potwierdzam. confirm()
|
||||
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
||||
user Dziękuje thankyou()
|
|
@ -1,14 +1,14 @@
|
||||
Interlocutor Text Acts
|
||||
user Dzień dobry! hello()
|
||||
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 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)
|
||||
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 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)
|
||||
user Bardzo dziękuję thankyou()
|
||||
user To wszystko na tę chwilę bye()
|
||||
|
|
@ -1,16 +1,16 @@
|
||||
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')
|
||||
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)
|
||||
user 45 minut inform(duration=45 minut)
|
||||
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')
|
||||
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participants)
|
||||
user Tak, proszę dodać Jan Nowak do spotkania oraz wysłać mu powiadomienie o zaproszeniu. inform(participants=['Jan Nowak'])
|
||||
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(participant='Jan Nowak')
|
||||
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')
|
||||
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)
|
||||
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
|
||||
user Dzień dobry hello()
|
||||
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 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)
|
||||
user 12.04.2021 inform(date='12.04.2021')
|
||||
system Proszę podać godzinę i długość spotkania. request(time, duration)
|
||||
user 18:00 - 2 godziny inform(time='18:00', duration='2 godziny')
|
||||
system Czy mam zapisać miejsce spotkania? request(place)
|
||||
user Tak ack()
|
||||
user Tak confirm()
|
||||
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()
|
||||
system Czy mam dodać opis do spotkania? request(description)
|
||||
user nie negate()
|
||||
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')
|
||||
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)
|
||||
user Dziękuję bye()
|
||||
user Dziękuję thankyou()
|
|
@ -1,15 +1,15 @@
|
||||
Interlocutor Text Acts
|
||||
user Dzień dobry, chciałbym umówić spotkanie hello() & request(create_meeting)
|
||||
system Witam w twoim prywatnym asystencie kalendarza spotkań. Proszę podać dzień na jaki mam umówić spotkanie. wellcomemsg() & request(date)
|
||||
user 12 kwietnia inform(date='12.04.2021')
|
||||
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. welcomemsg() & request(date)
|
||||
user 12 kwietnia inform(date='12 kwietnia')
|
||||
system Proszę podać godzinę i długość spotkania. request(time, duration)
|
||||
user 9:00-12:00 inform(time='9:00', duration='3 godziny')
|
||||
system Czy mam zapisać miejsce spotkania? request(place)
|
||||
user nie negate()
|
||||
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participants)
|
||||
user tak, Adam Nowak inform(participants=['Adam Nowak'])
|
||||
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participant)
|
||||
user tak, Adam Nowak inform(participant='Adam Nowak')
|
||||
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()
|
||||
user potwierdzam confirm(create_meeting)
|
||||
user potwierdzam confirm()
|
||||
system Spotkanie zostało pomyślnie dodane do kalendarza. affirm(create_meeting)
|
|
@ -1,20 +1,20 @@
|
||||
Interlocutor Text Acts
|
||||
user Cześć. hello()
|
||||
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)
|
||||
user Najbliższy poniedziałek. inform(date='najbliższy poniedziałek')
|
||||
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')
|
||||
system Czy mam zapisać miejsce spotkania? request(place)
|
||||
user Miejsce spotkania to Kawiarnia JKL inform(place='Kawiarnia JKL')
|
||||
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participants)
|
||||
user Spotkanie będzie z Janem Nowakiem inform(participants=['Jan Nowak'])
|
||||
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participant)
|
||||
user Spotkanie będzie z Janem Nowakiem inform(participant='Janem Nowakiem')
|
||||
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()
|
||||
user Potwierdzam. confirm(create_meeting)
|
||||
user Potwierdzam. confirm()
|
||||
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)
|
||||
user Dziękuję, to wszystko. thankyou() & bye()
|
|
@ -1,11 +1,11 @@
|
||||
Interlocutor Text Acts
|
||||
user Cześć hello()
|
||||
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 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()
|
||||
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)
|
||||
user Tak. Dziękuję za pomoc : ) bye()
|
||||
user Tak. Dziękuję za pomoc : ) bye() & thankyou()
|
|
@ -1,15 +1,15 @@
|
||||
Interlocutor Text Acts
|
||||
user Cześć hello()
|
||||
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)
|
||||
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)
|
||||
user Tak, Cytadela Poznań inform(place='Cytadela Poznań')
|
||||
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participants)
|
||||
user tak osoba XXX YYY inform(participants=['XXX YYY'])
|
||||
system Czy mam zapisać naziwsko osoby, której dotyczy to spotkanie? request(participant)
|
||||
user tak osoba XXX YYY inform(participant='XXX YYY')
|
||||
system Czy mam dodać opis do spotkania? request(description)
|
||||
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()
|
||||
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)
|
|
@ -1,8 +1,8 @@
|
||||
Interlocutor Text Acts
|
||||
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)
|
||||
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)
|
||||
user dziękuje to wszystko bye() & thankyou()
|
||||
system Dziękuję. Do widzenia. bye()
|
|
@ -1,14 +1,14 @@
|
||||
Interlocutor Text Acts
|
||||
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)
|
||||
user 08.04.2021 inform(date='08.04.2021')
|
||||
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)
|
||||
user Kawiarnia MCafe przy ulicy Grunwaldzkiej inform(place='Kawiarnia MCafe przy ulicy Grunwaldzkiej')
|
||||
system Z jaką osobą będzie to spotkanie? request(participants)
|
||||
user Sylwia Kowalska inform(participants=['Sylwia Kowalska'])
|
||||
system Z jaką osobą będzie to spotkanie? request(participant)
|
||||
user Sylwia Kowalska inform(participant='Sylwia Kowalska')
|
||||
system Czy mam dodać opis do spotkania? request(description)
|
||||
user tak confirm()
|
||||
system Jaki ma być opis spotkania? request(description)
|
||||
|
|
@ -1,16 +1,16 @@
|
||||
Interlocutor Text Acts
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
user Dziękuję thankyou()
|
||||
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()
|
||||
user Dziękuję za informację thankyou()
|
||||
system Czy mogę jeszcze w czymś pomóc? reqmore()
|
||||
|
|
@ -1,10 +1,10 @@
|
||||
Interlocutor Text Acts
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
|
|
@ -1,28 +1,28 @@
|
||||
Interlocutor Text Acts
|
||||
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)
|
||||
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)
|
||||
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()
|
||||
user Tak ack()
|
||||
user Tak confirm()
|
||||
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)
|
||||
user bez miejsca negate()
|
||||
system Z kim będzie to spotkanie? request(participants)
|
||||
user Jan Kowalski inform(participants=['Jan Kowalski'])
|
||||
system Z kim będzie to spotkanie? request(participant)
|
||||
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)
|
||||
user Chciałbym jeszcze dodać nową osobę do tego spotkania request(update_meeting)
|
||||
system Kogo dodać do tego spotkania? request(participants)
|
||||
user Jan Nowak inform(participants=['Jan Nowak'])
|
||||
user Chciałbym jeszcze dodać nową osobę do tego spotkania update_meeting()
|
||||
system Kogo dodać do tego spotkania? request(participant)
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
user To by było wszystko na teraz bye()
|
||||
system Do widzenia. Życzę miłego dnia. bye()
|
|
@ -1,12 +1,12 @@
|
||||
Interlocutor Text Acts
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
user Dziękuje thankyou()
|
||||
system Czy mogę jeszcze w czymś pomóc? reqmore()
|
||||
|
|
@ -1,12 +1,12 @@
|
||||
Interlocutor Text Acts
|
||||
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)
|
||||
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)
|
||||
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()
|
||||
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()
|
||||
user Nie, dziękuję. negate() & thankyou()
|
||||
system Dziękuję. Do widzenia. bye()
|
|
@ -1,11 +1,11 @@
|
||||
Interlocutor Text Acts
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
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()
|
||||
|
|
@ -1,11 +1,11 @@
|
||||
Interlocutor Text Acts
|
||||
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')
|
||||
system Czy chcesz dodać uczestników spotkania? request(participants)
|
||||
user Tak, proszę zaprosić Jan Nowak, Grażyna Kowalska i Hubert Noga. ack() & inform(participants=['Jan Nowak','Grażyna Kowalska','Hubert Noga'])
|
||||
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(participant)
|
||||
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()
|
||||
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()
|
||||
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()
|
||||
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
|
||||
user Dzień dobry hello()
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
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')
|
||||
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()
|
||||
user To wszystko, dziękuję bye() & thankyou()
|
|
@ -1,22 +1,22 @@
|
||||
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)
|
||||
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)
|
||||
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()
|
||||
user Potwierdzam. confirm(update_meeting)
|
||||
user Potwierdzam. confirm()
|
||||
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)
|
||||
user Na wtorek inform(date='wtorek')
|
||||
system Proszę podać godzinę spotkania. request(time)
|
||||
user 12:45 inform(time='12:45')
|
||||
system Czy chcesz podać miejsce spotkania? request(place)
|
||||
user tak, gabinet dentystyczny SuperDent inform(place='gabinet dentystyczny SuperDent')
|
||||
system Czy chciałbyś dodać uczestników spotkania? request(participants)
|
||||
user tak, doktor Krzysztof Ząb inform(participants=['doktor Krzysztof Ząb'])
|
||||
system Czy chciałbyś dodać uczestników spotkania? request(participant)
|
||||
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()
|
||||
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()
|
||||
user To będzie wszystko bye()
|
|
@ -1,13 +1,13 @@
|
||||
Interlocutor Text Acts
|
||||
user Cześć hello()
|
||||
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)
|
||||
user Nie, proszę dopisać opis: Opis ..... negate() & inform(description='Opis .....')
|
||||
system Czy chcesz dodać z kim ma być spotkanie? request(participants)
|
||||
user Nie, proszę dopisać opis: Opis ..... negate() & inform(description='Opis')
|
||||
system Czy chcesz dodać z kim ma być spotkanie? request(participant)
|
||||
user Nie negate()
|
||||
system Proszę potwierdzić utworzenie spotkania: Data: Wtorek 30.03.2021 09:00 Miejsce: Cytadela Opis: Opis ..... confirm-domain()
|
||||
user Tak confirm(create_meeting)
|
||||
user zgadza się confirm(create_meeting)
|
||||
user Tak confirm()
|
||||
user zgadza się confirm()
|
||||
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()
|
|
@ -1,10 +1,10 @@
|
||||
Interlocutor Text Acts
|
||||
user Witam. hello()
|
||||
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)
|
||||
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()
|
||||
user Potwierdzam confirm(update_meeting)
|
||||
user Potwierdzam confirm()
|
||||
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()
|
|
@ -1,13 +1,13 @@
|
||||
Interlocutor Text Acts
|
||||
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)
|
||||
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)
|
||||
user Tak, Centrum Handlowe ABC inform(place='Centrum Handlowe ABC')
|
||||
system Czy mam z zapisać z kim ma być spotkanie? request(participants)
|
||||
user Tak, spotkanie będzie z Januszem Kowalskim inform(participants=['Januszem Kowalskim'])
|
||||
system Czy mam z zapisać z kim ma być spotkanie? request(participant)
|
||||
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()
|
||||
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()
|
||||
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))
|
23
evaluate.py
23
evaluate.py
@ -1,6 +1,5 @@
|
||||
from UserActType import UserActType
|
||||
import os
|
||||
import re
|
||||
import jsgf
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
from NaturalLanguageUnderstanding import NLU
|
||||
@ -9,6 +8,7 @@ nlu = NLU()
|
||||
|
||||
rows = 0
|
||||
hits = 0
|
||||
hard_hits = 0
|
||||
|
||||
for file_name in os.listdir('data'):
|
||||
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)
|
||||
|
||||
for row in data:
|
||||
sentence = row[1]
|
||||
sentences = sentence.split(',')
|
||||
for sentence in sentences:
|
||||
acts = row[2].split('&')
|
||||
for act in acts:
|
||||
rows += 1
|
||||
frame = nlu.parse_user_input(sentence)
|
||||
frame_act_name = frame.getActType().name.lower()
|
||||
if frame_act_name in act.strip():
|
||||
sentence = row[1]
|
||||
acts = row[2].split('&')
|
||||
user_act = nlu.parse_user_input(sentence)
|
||||
for act in acts:
|
||||
if str(user_act) == act.strip(' '):
|
||||
hard_hits += 1
|
||||
for act in acts:
|
||||
if act.split('(')[0].strip(' ') == str(user_act).split('(')[0].strip(' '):
|
||||
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_frame = nlu.parse_user_input(user_input)
|
||||
print(str(user_frame))
|
||||
dst.addFrame(user_frame)
|
||||
system_act = dp.chooseTactic(dst.getFrames())
|
||||
text = nlg.toText(system_act)
|
||||
print(user_frame)
|
||||
#dst.addFrame(user_frame)
|
||||
#system_act = dp.chooseTactic(dst.getFrames())
|
||||
#text = nlg.toText(system_act)
|
||||
|
||||
print(text)
|
||||
if system_act.isDialogFinished():
|
||||
break
|
||||
#print(text)
|
||||
#if system_act.isDialogFinished():
|
||||
# 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