add intent classifier

This commit is contained in:
s444417 2022-05-31 00:23:12 +02:00
parent 184bc462e0
commit 4dc305507e
9 changed files with 628 additions and 51 deletions

4
.gitignore vendored
View File

@ -215,4 +215,6 @@ fabric.properties
slot-model
ConvLab-2
ConvLab-2
resources

View File

@ -4,7 +4,7 @@
- uczenie modelu realizowane jest w zmodyfikowanym pliku z zajęć **lab/08-parsing-semantyczny-uczenie(zmodyfikowany).ipynb**
- dane uczące, wygenerowane są automatycznie, na podstawie zebranych wcześniej dialogów, przez regułowy skrypt **tasks/zad8/pl/annotate.py**, a następnie poprawione ręcznie. Dane znajdują sie w dwóch plikach **tasks/zad8/pl/test.conllu** oraz **tasks/zad8/pl/train.conllu**
- dane uczące, generowane są automatycznie, na podstawie zebranych wcześniej dialogów, przez regułowy skrypt **tasks/zad8/pl/annotate.py**, a następnie poprawione ręcznie. Dane znajdują sie w dwóch plikach **tasks/zad8/pl/test.conllu** oraz **tasks/zad8/pl/train.conllu**
- model wykorzystywany jest w klasie z pliku **src/components/NLU.py**
@ -12,6 +12,8 @@
- aby porozmawiać z systemem należy uruchomić wszystkie komórki pliku **lab/08-parsing-semantyczny-uczenie(zmodyfikowany).ipynb**, w celu nauczenia modelu, po ich wykonaniu należy uruchomić pythonowy skrypt **src/dialogue_system.py**
- dodananie modelu służącego do klasyfikacji wypowiedzi użytkownika, rozdzielenie zadań tagowania slotow oraz klasyfikacji wypowiedzi użytkownika do dwóch niezależnych medeli
---
## Zadanie 9/10 DST i DP

View File

@ -80,7 +80,7 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": 7,
"metadata": {},
"outputs": [
{
@ -249,12 +249,12 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 29,
"metadata": {},
"outputs": [],
"source": [
"from flair.data import Corpus, Sentence, Token\n",
"from flair.datasets import SentenceDataset\n",
"from flair.datasets import SentenceDataset, CSVClassificationCorpus\n",
"from flair.embeddings import StackedEmbeddings\n",
"from flair.embeddings import WordEmbeddings\n",
"from flair.embeddings import CharacterEmbeddings\n",
@ -286,7 +286,7 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": 30,
"metadata": {},
"outputs": [
{
@ -294,7 +294,7 @@
"output_type": "stream",
"text": [
"Corpus: 346 train + 38 dev + 32 test sentences\n",
"Dictionary with 78 tags: <unk>, O, O/reqmore, B-interval/reqmore, I-interval/reqmore, O/inform, B-title/inform, B-date/inform, I-date/inform, B-time/inform, B-quantity/inform, B-area/inform, I-area/inform, B-goal/inform, O/bye, O/hello, O/reqmore inform, B-goal/reqmore inform, I-goal/reqmore inform, B-date/reqmore inform, B-interval/reqmore inform, O/null, O/help, B-goal/reqmore, I-goal/reqmore, B-title/reqmore, B-title/reqmore inform, I-title/reqmore inform, O/ack, O/reqalts\n"
"Dictionary with 20 tags: <unk>, O, B-interval, I-interval, B-title, B-date, I-date, B-time, B-quantity, B-area, I-area, B-goal, I-goal, I-title, I-time, I-quantity, B-seats, I-seats, <START>, <STOP>\n"
]
}
],
@ -320,7 +320,7 @@
"\n",
" return SentenceDataset(fsentences)\n",
"\n",
"corpus = Corpus(train=conllu2flair(trainset, 'slot', \"frame\"), test=conllu2flair(testset, 'slot', \"frame\"))\n",
"corpus = Corpus(train=conllu2flair(trainset, 'slot'), test=conllu2flair(testset, 'slot'))\n",
"print(corpus)\n",
"tag_dictionary = corpus.make_tag_dictionary(tag_type='slot')\n",
"print(tag_dictionary)"
@ -335,7 +335,7 @@
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
@ -418,7 +418,7 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 44,
"metadata": {},
"outputs": [],
"source": [
@ -480,14 +480,14 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 45,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2022-05-22 15:25:19,970 loading file slot-model/final-model.pt\n"
"2022-05-30 22:30:48,788 loading file slot-model/final-model.pt\n"
]
}
],
@ -505,16 +505,16 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 46,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[('co', 'O/reqmore'), ('gracie', 'O/reqmore'), ('obecnie', 'O/reqmore')]"
"[('co', 'O'), ('gracie', 'O'), ('obecnie', 'O')]"
]
},
"execution_count": 11,
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
@ -526,7 +526,7 @@
" model.predict(fsentence)\n",
" return [(token, ftoken.get_tag('slot').value) for token, ftoken in zip(sentence, fsentence)]\n",
"\n",
"predict(model, 'co gracie obecnie'.split())"
"predict(model, 'poprosze bilet na batman'.split())"
]
},
{
@ -569,19 +569,16 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": 43,
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'testset' is not defined",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32mc:\\Develop\\wmi\\AITECH\\sem1\\Systemy dialogowe\\lab\\08-parsing-semantyczny-uczenie(zmodyfikowany).ipynb Cell 25'\u001b[0m in \u001b[0;36m<cell line: 40>\u001b[1;34m()\u001b[0m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Develop/wmi/AITECH/sem1/Systemy%20dialogowe/lab/08-parsing-semantyczny-uczenie%28zmodyfikowany%29.ipynb#ch0000024?line=36'>37</a>\u001b[0m \u001b[39mprint\u001b[39m(\u001b[39m\"\u001b[39m\u001b[39mrecall: \u001b[39m\u001b[39m\"\u001b[39m, recallScore)\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Develop/wmi/AITECH/sem1/Systemy%20dialogowe/lab/08-parsing-semantyczny-uczenie%28zmodyfikowany%29.ipynb#ch0000024?line=37'>38</a>\u001b[0m \u001b[39mprint\u001b[39m(\u001b[39m\"\u001b[39m\u001b[39mf1: \u001b[39m\u001b[39m\"\u001b[39m, f1Score)\n\u001b[1;32m---> <a href='vscode-notebook-cell:/c%3A/Develop/wmi/AITECH/sem1/Systemy%20dialogowe/lab/08-parsing-semantyczny-uczenie%28zmodyfikowany%29.ipynb#ch0000024?line=39'>40</a>\u001b[0m \u001b[39meval\u001b[39;49m()\n",
"\u001b[1;32mc:\\Develop\\wmi\\AITECH\\sem1\\Systemy dialogowe\\lab\\08-parsing-semantyczny-uczenie(zmodyfikowany).ipynb Cell 25'\u001b[0m in \u001b[0;36meval\u001b[1;34m()\u001b[0m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Develop/wmi/AITECH/sem1/Systemy%20dialogowe/lab/08-parsing-semantyczny-uczenie%28zmodyfikowany%29.ipynb#ch0000024?line=13'>14</a>\u001b[0m fp \u001b[39m=\u001b[39m \u001b[39m0\u001b[39m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Develop/wmi/AITECH/sem1/Systemy%20dialogowe/lab/08-parsing-semantyczny-uczenie%28zmodyfikowany%29.ipynb#ch0000024?line=14'>15</a>\u001b[0m fn \u001b[39m=\u001b[39m \u001b[39m0\u001b[39m\n\u001b[1;32m---> <a href='vscode-notebook-cell:/c%3A/Develop/wmi/AITECH/sem1/Systemy%20dialogowe/lab/08-parsing-semantyczny-uczenie%28zmodyfikowany%29.ipynb#ch0000024?line=15'>16</a>\u001b[0m sentences \u001b[39m=\u001b[39m [sentence \u001b[39mfor\u001b[39;00m sentence \u001b[39min\u001b[39;00m testset]\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Develop/wmi/AITECH/sem1/Systemy%20dialogowe/lab/08-parsing-semantyczny-uczenie%28zmodyfikowany%29.ipynb#ch0000024?line=16'>17</a>\u001b[0m \u001b[39mfor\u001b[39;00m sentence \u001b[39min\u001b[39;00m sentences:\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Develop/wmi/AITECH/sem1/Systemy%20dialogowe/lab/08-parsing-semantyczny-uczenie%28zmodyfikowany%29.ipynb#ch0000024?line=17'>18</a>\u001b[0m \u001b[39m# get sentence as terms list\u001b[39;00m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Develop/wmi/AITECH/sem1/Systemy%20dialogowe/lab/08-parsing-semantyczny-uczenie%28zmodyfikowany%29.ipynb#ch0000024?line=18'>19</a>\u001b[0m termsList \u001b[39m=\u001b[39m [w[\u001b[39m\"\u001b[39m\u001b[39mform\u001b[39m\u001b[39m\"\u001b[39m] \u001b[39mfor\u001b[39;00m w \u001b[39min\u001b[39;00m sentence]\n",
"\u001b[1;31mNameError\u001b[0m: name 'testset' is not defined"
"name": "stderr",
"output_type": "stream",
"text": [
"\n",
"KeyboardInterrupt\n",
"\n"
]
}
],
@ -608,7 +605,9 @@
" # predict tags\n",
" predTags = [tag[1] for tag in predict(model, termsList)]\n",
" \n",
" expTags = [token[\"slot\"] + \"/\" + token[\"frame\"] for token in sentence]\n",
" # expTags = [token[\"slot\"] + \"/\" + token[\"frame\"] for token in sentence]\n",
" expTags = [token[\"slot\"] for token in sentence]\n",
"\n",
" for i in range(len(predTags)):\n",
" if (expTags[i][0] == \"O\" and expTags[i] != predTags[i]):\n",
" fp += 1\n",
@ -642,6 +641,191 @@
" 4. Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin, Attention is All you Need, NIPS 2017, pp. 5998-6008, https://arxiv.org/abs/1706.03762\n",
" 5. Alan Akbik, Duncan Blythe, Roland Vollgraf, Contextual String Embeddings for Sequence Labeling, Proceedings of the 27th International Conference on Computational Linguistics, pp. 16381649, https://www.aclweb.org/anthology/C18-1139.pdf\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Predykcja aktów mowy użytkownika"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2022-05-30 22:08:33,633 Reading data from ..\\tasks\\zad8\\pl\\dataSentence\n",
"2022-05-30 22:08:33,633 Train: ..\\tasks\\zad8\\pl\\dataSentence\\train.tsv\n",
"2022-05-30 22:08:33,634 Dev: None\n",
"2022-05-30 22:08:33,635 Test: ..\\tasks\\zad8\\pl\\dataSentence\\test.tsv\n",
"Corpus: 280 train + 31 dev + 32 test sentences\n"
]
}
],
"source": [
"def conllu2flair(sentences, label2=None):\n",
" fsentences = []\n",
"\n",
" for sentence in sentences:\n",
" fsentence = Sentence()\n",
"\n",
" for token in sentence:\n",
" ftoken = Token(token['form'])\n",
"\n",
" \n",
" if label2:\n",
" ftoken.add_tag(label2, token[label2])\n",
" \n",
" fsentence.add_token(ftoken)\n",
"\n",
" fsentences.append(fsentence)\n",
"\n",
" return SentenceDataset(fsentences)\n",
"\n",
"trainPath = \"../tasks/zad8/pl/dataSentence/train.tsv\"\n",
"testPath = \"../tasks/zad8/pl/dataSentence/test.tsv\"\n",
"dataFolder = \"../tasks/zad8/pl/dataSentence\"\n",
"column_name_map = {0: \"text\", 1: \"label_topic\"}\n",
"corpusClassification = CSVClassificationCorpus(dataFolder,\n",
" column_name_map,\n",
" skip_header=False,\n",
" delimiter='\\t',\n",
")\n",
"print(corpusClassification)"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2022-05-30 22:10:19,891 Computing label dictionary. Progress:\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 312/312 [00:04<00:00, 68.32it/s] "
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2022-05-30 22:10:25,276 [b'inform', b'reqmore', b'hello', b'infomrm', b'reqmore inform', b'bye', b'ack', b'reqalts', b'impl-conf inform', b'help', b'request', b'affirm', b'thankyou', b'affirm inform', b'bye thankyou', b'hello inform', b'infrom', b'confirm', b'negate confirm', b'negate', b'negate ', b'deny']\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"from flair.data import Corpus\n",
"from flair.datasets import TREC_6\n",
"from flair.embeddings import WordEmbeddings, FlairEmbeddings, DocumentRNNEmbeddings\n",
"from flair.models import TextClassifier\n",
"from flair.trainers import ModelTrainer\n",
"\n",
"from os.path import exists\n",
"\n",
"\n",
"# 2. create the label dictionary\n",
"label_dict = corpusClassification.make_label_dictionary()\n",
"\n",
"# 3. make a list of word embeddings\n",
"word_embeddings = [\n",
" WordEmbeddings('pl'),\n",
" FlairEmbeddings('polish-forward'),\n",
" FlairEmbeddings('polish-backward'),\n",
" CharacterEmbeddings(),\n",
"]\n",
"\n",
"# 4. initialize document embedding by passing list of word embeddings\n",
"# Can choose between many RNN types (GRU by default, to change use rnn_type parameter)\n",
"document_embeddings = DocumentRNNEmbeddings(word_embeddings, hidden_size=256)\n",
"\n",
"# 5. create the text classifier\n",
"classifier = TextClassifier(document_embeddings, label_dictionary=label_dict)\n",
"\n",
"# 6. initialize the text classifier trainer\n",
"trainer = ModelTrainer(classifier, corpusClassification)\n",
"\n",
"modelPath = 'resources/taggers/trec/final-model.pt'\n",
"\n",
"\n",
"fileExists = exists(modelPath)\n",
"\n",
"if(not fileExists):\n",
" # 7. start the training\n",
" trainer.train('resources/taggers/trec',\n",
" learning_rate=0.1,\n",
" mini_batch_size=32,\n",
" anneal_factor=0.5,\n",
" patience=5,\n",
" max_epochs=10)"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2022-05-30 22:10:47,199 loading file resources/taggers/trec/final-model.pt\n",
"[reqmore (0.5459)]\n"
]
}
],
"source": [
"classifier = TextClassifier.load(modelPath)\n",
"\n",
"# create example sentence\n",
"sentence = Sentence('Jakie filmy gracie jutro?')\n",
"\n",
"# predict class and print\n",
"classifier.predict(sentence)\n",
"\n",
"print(sentence.labels)"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[inform (0.5967)]\n"
]
}
],
"source": [
"# create example sentence\n",
"sentence = Sentence('siedzenia h1 h2')\n",
"\n",
"# predict class and print\n",
"classifier.predict(sentence)\n",
"\n",
"print(sentence.labels)"
]
}
],
"metadata": {
@ -671,7 +855,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.10"
"version": "3.8.3"
},
"subtitle": "8.Parsing semantyczny z wykorzystaniem technik uczenia maszynowego[laboratoria]",
"title": "Systemy Dialogowe",

View File

@ -1,19 +1,25 @@
import re
from flair.data import Sentence, Token
from flair.datasets import SentenceDataset
from flair.models import SequenceTagger
from flair.models import SequenceTagger, TextClassifier
class NLU:
def __init__(self):
self.nluModel = SequenceTagger.load('./lab/slot-model/final-model.pt')
self.nluModelClassifier = TextClassifier.load('./lab/resources/taggers/trec/final-model.pt')
self.nluModelTagger = SequenceTagger.load('./lab/slot-model/final-model.pt')
def predict(self, sentence):
# user act prediction
sentenceClass = Sentence(sentence)
self.nluModelClassifier.predict(sentenceClass)
# tags prediction
sentence = self.getStrCleaned(sentence)
csentence = [{'form': word} for word in sentence]
fsentence = self.conllu2flair([csentence])[0]
self.nluModel.predict(fsentence)
return self.toDSTInput([(token, ftoken.get_tag('slot').value) for token, ftoken in zip(sentence, fsentence)])
self.nluModelTagger.predict(fsentence)
return self.toDSTInput([(token, ftoken.get_tag('slot').value) for token, ftoken in zip(sentence, fsentence)], str(sentenceClass.labels[0]).split(" ")[0])
def conllu2flair(self, sentences, label=None):
fsentences = []
@ -42,27 +48,25 @@ class NLU:
messageLower = messageLower.replace(char,'')
return messageLower.split()
def toDSTInput(self, taggedSentence):
def toDSTInput(self, taggedSentence, intent):
result = []
intent = None
slotValue = None
slot = None
for tuple in taggedSentence:
value, tagInt = tuple
if intent is None: intent = tagInt.split("/")[1]
if tagInt.split("/")[0] == "O":
value, tag = tuple
if tag == "O":
if slotValue is not None:
result.append([intent, 'Cinema', slot, slotValue])
slot = None
slotValue = None
elif tagInt.split("/")[0].split("-")[0] == "B":
slot = tagInt.split("/")[0].split("-")[1]
elif tag.split("-")[0] == "B":
slot = tag.split("-")[1]
slotValue = value
elif tagInt.split("/")[0].split("-")[0] == "I":
elif tag.split("-")[0] == "I":
try:
slotValue += " " + value
except:
slot = tagInt.split("/")[0].split("-")[1]
slot = tag.split("-")[1]
slotValue = value
if slotValue is not None:

View File

@ -24,7 +24,7 @@ def chatbot():
isActive = False
else:
nluPred = nlu.predict(sentence=userMessage)
# print(nluPred)
print(nluPred)
dst.update(nluPred)
# print(dst.state)
dpAct = dp.getAction(dst.getLastUserAct(), dst.getEmptySlots(), dst.getSystemSlots())

View File

@ -0,0 +1,33 @@
Dzień dobry. hello
Jakie filmy są w tym tygodniu w repertuarze? reqmore
O której godzinie w piątej mogę zobaczyć Na noże? reqmore inform
Ok, w takim razie chciałbym zarezerwować 2 miejsca na seans o 19:30. inform
Dwa normalne. inform
Mogą być. ack
Dziękuje bardzo. bye
Witam hello
Chciałbym zarezerować dwa bilety na Batman inform
A kiedy jest najbliższy seans? inform
To poproszę trzy bilety na batmana o 15:30 inform
Na samym tyle sali inform
Dziękuję thankyou
Hej hello
Chciałbym kupić bilety na seans Zorro - jak to było na prawdę inform
Zorro2 inform
Poproszę o listę seansów reqmore
Poproszę o listę filmów granych jutro wieczorem reqmore inform
Chciałbym kupić bilety na film To nie wypanda inform
20:15 inform
11 inform
W środku, pomiedzy górnym i środkowym rzędzie
W środku, pomiedzy górnym i środkowym rzędem inform
<3 thankyou
Dzień dobry hello
Chciał bym zamówić bilet na film Minionki dzisiaj o 18.30 inform
czy jest jakis film o godzinie 18:30? request
niech będzie ack
1 inform
jakie sš dostępne ulgi?
studencka inform
daleko od ekranu inform
tak ack
1 Dzień dobry. hello
2 Jakie filmy są w tym tygodniu w repertuarze? reqmore
3 O której godzinie w piątej mogę zobaczyć Na noże? reqmore inform
4 Ok, w takim razie chciałbym zarezerwować 2 miejsca na seans o 19:30. inform
5 Dwa normalne. inform
6 Mogą być. ack
7 Dziękuje bardzo. bye
8 Witam hello
9 Chciałbym zarezerować dwa bilety na Batman inform
10 A kiedy jest najbliższy seans? inform
11 To poproszę trzy bilety na batmana o 15:30 inform
12 Na samym tyle sali inform
13 Dziękuję thankyou
14 Hej hello
15 Chciałbym kupić bilety na seans Zorro - jak to było na prawdę inform
16 Zorro2 inform
17 Poproszę o listę seansów reqmore
18 Poproszę o listę filmów granych jutro wieczorem reqmore inform
19 Chciałbym kupić bilety na film To nie wypanda inform
20 20:15 inform
21 11 inform
22 W środku, pomiedzy górnym i środkowym rzędzie
23 W środku, pomiedzy górnym i środkowym rzędem inform
24 <3 thankyou
25 Dzień dobry hello
26 Chciał bym zamówić bilet na film Minionki dzisiaj o 18.30 inform
27 czy jest jakis film o godzinie 18:30? request
28 niech będzie ack
29 1 inform
30 jakie sš dostępne ulgi?
31 studencka inform
32 daleko od ekranu inform
33 tak ack

View File

@ -0,0 +1,330 @@
Tak. inform
Normalny. reqmore
Super, poproszę by miejsca były obok siebie. inform
Super, czy można płacić z góry? reqmore
Ok, czy bilety mam już zarezerwowane? reqmore
Super, dziękuję. bye
Dzień dobry. hello
Chcę zarezerwować bilety. inform
Dzisiaj. inform
16:30:00 infomrm
Cześć. hello
Chciałbym anulować rezerwację biletu. inform
Numer 42069. inform
Numer 42068. inform
Numer 42067. inform
Chciałbym anulować rezerwację biletu dla imienia i nazwiska Jan Kowalski inform
Nie pamiętam. Czy mogę podać e-mail? reqmore
elo. hello
Chciałbym kupić bilety na seans Zorro - jak to było na prawdę. inform
Poproszę listę filmów granych jutro wieczorem reqmore inform
Chciałbym kupić bilety na Transformers. inform
Tak, chcę dwa bilety za 2 dni. inform
Normalne. inform
Przy oknie, w przedziale.
Wagon z przedziałami, miejsce przy oknie.
Tak, ale bardziej z góry. inform
Exit. bye
Kim jesteś? help
Co gracie? reqmore
Jaki Zorro? reqmore
W jakich godzinach gracie Zorro? reqmore
Chciałbym zarezerwować bilety na Batmana. inform
21.03.2022. inform
23.03.2022. inform
Super. ack
13:00 inform
1 normalny. inform
Blisko ekranu. inform
Dziękuję, do usłyszenia. bye
Dzień dobry. hello
chciałbym się dowiedzieć jaki jest cennik. reqmore
A jest zniżka studencka? reqmore
a co leci dzisiaj w kinie? reqmore inform
o której jest na noże? reqmore inform
poproszę dwa bilety na 12 inform
a jakie są? reqmore
2 ulgowe poprosze. inform
jakie są wolne miejsca? reqmore
Tak. ack
Chciałbym 3 bilety na batmana na jtro. inform
coś koło południa. reqmore
nic później? reqalts
To ten o 19. inform
2 ulgowe. inform
z przodu. inform
ale jakie miejsca?? reqmore
Dzień dobry. hello
Chciałabym zarezerwować bilet do kina. inform
Dziś. inform
Proszę na batmana. inform
Proszę o godzine 20:19. inform
ulogwy. inform
1. impl-conf inform
z tyłu, na środku (aby ekran był centralnie widoczny). inform
dobrze, dziekuję. bye
Witam hello
Co potrafisz? help
Jakie są najbliższe seanse? inform
A jakie są dostępne? reqmore
A w jakim to kinie? request
A gdzie jest to kino? reqmore
O której grają Uncharted? reqmore inform
Ile kosztują bilety na ten film? request
A w jaki dzień bielty są tańsze? reqmore
w takim razie chciałbym zarezerwować dwa bilety normalne i jeden ulgowy na środę 20:00 inform
Na środku sali inform
ok ack
Witam hello
Jaki jest repertuar na piątek? reqmore inform
O jakich godzinach grają te filmy? reqmore
Wszystkie ack
Czy obgługujecie rezerwację biletów grupowych? request
Rozumiem, a jak mogę dokonać rezerwacji dla 20 osób? reqmore
Tak affirm
dziękuję ack
Witam hello
Czy w kinie Rialto grają jakieś stare filmy? reqmore
to dziękuję thankyou
Witam hello
Czy tylko można u was rezerwować Nachos ?
Chciałbym zapytać co u pana hello
Poproszę bilet na batmana o 19:00 inform
bez ludzi w okolicy inform
Czy to wszystko affirm
Dzień dobry! hello
Chciałbym zarezerwować film
Bilet na film inform
Jakie filmy są teraz w kinach? request
poproszę 3x bilet na ambulans inform
niech będzie ten ostatni inform
Przedostatnim inform
Spoko ack
Chciałbym jeszcze kupon na jedzenie
Poproszę słony popcorn
Duży
Nara bye
Dzień dobry hello
Chciał bym zamówić bilet na film Minionki dzisiaj o 18.30 inform
to poprosze ups 2 inform
na dzisiaj inform
najlepiej 18.30 inform
poprosze 18 inform
jakie są dostępne miejsca? request
które miejsca są daleko od ekranu? reqmore
w takim razie poproszę M5 inform
dziekuje thankyou
Cześć hello
Co mogę zarezerwować? reqmore
Gdzie znajduje się kino? request
Tak, chciałbym iść do multikina na Malcie inform
Super, teraz chciałbym zarezerwować bilet na film inform
Uncharted inform
wybieram godzine 12:00 inform
1 miejsce, gdzieś na środku sali inform
Pasuje ack
Elo help
Chciałabym zarezerwować bilet inform
Co gracie request
Ja bym chciała na Fantsaczne zwierzta inform
29.03.2022 inform
Jakoś wieczorkiem inform
To na 21 prosze inform
To na 18 proszę inform
Najlepsze inform
Moment no ile tych miejsc i czemu nie są w tym samym rzędzie reqmore
proszę z managerem
Jeden dla mnie i dla kotka proszę inform
Dobra, to blikiem proszę
Halo halo
nie skończyłam
Ehhh
DZIEŃ DOBRY hello
No właśnie. W czym możesz pomóc? help
A jedzonko macie? reqmore
Nachosy proszę reqmore
A jakie sosy do Nachosów? reqmore
Chciałabym anulować rezerwację inform
123123 inform
Dzięki <3 thankyou
Dzień dobry hello
Chciałabym zmienić rezerwację inform
123123 inform
Upewniam się ack
Dzień dobry hello
Chciałbym zarezerwować bilety inform
batman inform
dzisiaj inform
podaj więcej informacji o seansach reqmore
podaj więcej informacji o seansie o 15.20 reqmore
czy film jest 2D czy 3D? reqmore
podaj informacje o napisach/dubbingu reqmore
Cześć hello
Chciałbym zarezwsfsgf bilet
Chciałbym zarezerwować bilet inform
Jakie są wyświetlane w najbliższą sobotę? reqmore
W których godzinach grany jest film To nie wypanda? reqmore inform
W takim razie chciałbym kupić 3 bilety, jeśli możliwe miejsca koło siebie inform
Najbliższa sobota inform
Godzina 19:30 inform
Najlepiej w ostatnim rzędzie inform
Chciałbym zapłacić przy odbiorze reqmore
Czy moja rezerwacja została potwierdzona? reqmore
84372 inform
Nie negate
Dzień dobry hello
Chciałbym dowiedzieć się jakie filmy są wyświetlane w tym tygodniu. reqmore
W jakich godzinach mogę zobaczyć Batmana w piątek? reqmore inform
Chciałbym zarezerwować 3 miejsca na seans o 17:45 inform
Czy są dostępne miejsca w tylnych rzędach? reqmore inform
Ok affirm inform
Dziękuję, do widzenia bye thankyou
Dzień dobry, chciałbym anulować rezerwację hello inform
87574 inform
Potwierdzam affirm
Cześć hello
Nie możesz thankyou
Dzień dobry, Systemie hello
Chciałbym kupić nachos reqmore
Jak mogę się do takiej strefy dostać? reqmore
W jakim mieście? reqmore
Czy można zarezerwować u was bilety na seans? reqmore
Jakie polecasz? reqmore
Jaką ocenę posiada Batman? reqmore
Dobrze. Chciałbym zatem zarezerwować bilet na Innych Ludzi inform
22.03.2022 inform
Jutro, po godzinie 16:00 inform
Jaki jutro jest dzień tygodnia? request
To poproszę o rezerwację na 17:45 inform
17:45 inform
Z tyłu sali, nie na samym końcu inform
W jakiej części rzędu znajduje się to miejsce? request
Dziękuję thankyou
Dzień dobry hello
chciałbym kupić dwa bilety na batmana inform
jutro inform
poproszę na 20:30 inform
z tyłu inform
w jakiej cenie są bilety? help
są zniżki studenckie? help
mógłbym kupić bilety? reqmore
batman - chciałbym kupić zarezerwowane miejsca reqmore inform
dobrze czy wystarczy zachować numer rezerwacji? reqmore
dobrze ack
witam hello
jakie są jutro filmy? reqmore inform
o ktorej jest nasze magiczne encanto? reqmore inform
poproszę 3 bilety na 18:20 inform
na środku inform
poproszę jeszcze jedno miejsce obok inform
dziekuje thankyou
do widzenia bye
Co dziś leci reqmore inform
Co jest dobre dla dzieci reqmore
"Poproszę 2 na ""to nie wypanda""" inform
a z przodu gdzieś inform
eee a o której?? request
Dzień dobry hello
Chciałabym zarezerwować bilet do kina inform
Wyjdż za mnie inform
The batman inform
Dziś wieczorem inform
Proszę o godzinie 20:15 inform
z tyłu, na środku (aby ekran był centralnie widoczny) inform
Dobrze, dziękuję thankyou
cześć hello
chciałbym sprawdzić repertuar kin reqmore
na dzisiaj inform
Witam hello
Jakie sš najbliższe seanse? reqmore
W jakim to kinie? reqmore
A gdzie jest to kino? reqmore
Ile kosztujš bilety na Inni ludzie? reqmore
oba inform
A w jaki dzień bilety sš tańsze? reqmore
W takim razie chciałbym zarezerwować dwa bilety na czwartek na film Inni Ludzie inform
Jeden normalny i ulgowy inform
Na środku Sali inform
Chciałem zarezerwować dwa miejsca reqmore
Zgadzam się infrom
Tak inform
Jaki jest koszt tej rezerwacji? reqmore
A ile kosztuje bilety łącznie? reqmore
ok. Dziękuję ack
Witam hello
Chciałbym zarezerwować bilet ale nie wiem na co. inform
Czy film Historia mojej żony jest ciekawy ? reqmore
Dobrze to poproszę inform
Ulgowy inform
czy jest jakaś maksymalna liczba ? reqmore
to poproszę 100 inform
tak jak powiedziałem ulgowe inform
środek Sali inform
tak confirm
Nie dziękuje negate confirm
Dzień dobry! hello
Chciałbym zarezerwować seans. Bilet na seans inform
Jakie filmy są obecnie na ekranach? reqmore
Sobota inform
Poproszę 2 bilety na innych ludzi inform
jeden ulgowy i jeden zwykły inform infrom
Na środku Sali infrom
Pewnie ack
czy te miejsca sš obok siebie? reqmore
Dzień dobry hello
Chciałabym zarezerwować bilety inform
Jaki film jest grany jutro w godzinach popołudniowych? request
Czy sš wcześniejsze seanse? reqmore
W takim razie chcę zarezerwować bilety na Psie Pazury inform
Komu przysługuje ulga?
Kim jest senior?
W takim razie chcę zarezerwować normalne bilety na Psie Pazury inform
Na środku inform
3 inform
Tak ack
Ale chciałam 3 bilety negate
zgadzam się ack
tak ack
nier negate
tak ack
nie
Dzień dobry hello
Chciałbym dowiedzieć się jaki jest aktualnie repertuar request
Jutro jest w repertuarze film inni ludzie? request
Ile kosztuje bilet na ten film? request
ulogwy
W górnej części sali inform
Gdzie znajduje się to miejsce względem ekranu? reqmore
Chciałbym na środku inform
zgadzam ack
jaka jest cena? reqmore
Dobrze, rezerwuje ack
Chciałbym anulować rezerwację deny
Dziekuje bye
Cześć hello
Co można u was zjeść? request
Co można obejrzeć w kwietniu request
kiedy gracie DKF zamek? request
poproszę dwa bilety ulgowe na 25/04/2022 12:15 15:50 inform
pierwszy rzšd po lewej stronie inform
Tak ack
zgadzam się ack
Jaki jest numer mojej rezerwacji reqmore
Dziękuję systemie thankyou
Siema hello
Chcę iść do kina inform
Co gracie request
To na fdantastyczne zwierznera prosze inform
A co macie request
A na za tydzień? request
To na za tydzień na cud guadalupe proszę inform
To na coś innego request
Dzisiaj inform
Zaskocz mnie
No to jakoś niech będzie jakoś to będzie inform
Jeden dla mnie, drugi dla kota
To jeden będzie infrom
normalny
na środku gdzieś inform
Niech będzie ack
jakieś potwierdzenie rezerwacji dostanę czy mogę po prostu wejść i usišść? request
1 Tak. inform
2 Normalny. reqmore
3 Super, poproszę by miejsca były obok siebie. inform
4 Super, czy można płacić z góry? reqmore
5 Ok, czy bilety mam już zarezerwowane? reqmore
6 Super, dziękuję. bye
7 Dzień dobry. hello
8 Chcę zarezerwować bilety. inform
9 Dzisiaj. inform
10 16:30:00 infomrm
11 Cześć. hello
12 Chciałbym anulować rezerwację biletu. inform
13 Numer 42069. inform
14 Numer 42068. inform
15 Numer 42067. inform
16 Chciałbym anulować rezerwację biletu dla imienia i nazwiska Jan Kowalski inform
17 Nie pamiętam. Czy mogę podać e-mail? reqmore
18 elo. hello
19 Chciałbym kupić bilety na seans Zorro - jak to było na prawdę. inform
20 Poproszę listę filmów granych jutro wieczorem reqmore inform
21 Chciałbym kupić bilety na Transformers. inform
22 Tak, chcę dwa bilety za 2 dni. inform
23 Normalne. inform
24 Przy oknie, w przedziale.
25 Wagon z przedziałami, miejsce przy oknie.
26 Tak, ale bardziej z góry. inform
27 Exit. bye
28 Kim jesteś? help
29 Co gracie? reqmore
30 Jaki Zorro? reqmore
31 W jakich godzinach gracie Zorro? reqmore
32 Chciałbym zarezerwować bilety na Batmana. inform
33 21.03.2022. inform
34 23.03.2022. inform
35 Super. ack
36 13:00 inform
37 1 normalny. inform
38 Blisko ekranu. inform
39 Dziękuję, do usłyszenia. bye
40 Dzień dobry. hello
41 chciałbym się dowiedzieć jaki jest cennik. reqmore
42 A jest zniżka studencka? reqmore
43 a co leci dzisiaj w kinie? reqmore inform
44 o której jest na noże? reqmore inform
45 poproszę dwa bilety na 12 inform
46 a jakie są? reqmore
47 2 ulgowe poprosze. inform
48 jakie są wolne miejsca? reqmore
49 Tak. ack
50 Chciałbym 3 bilety na batmana na jtro. inform
51 coś koło południa. reqmore
52 nic później? reqalts
53 To ten o 19. inform
54 2 ulgowe. inform
55 z przodu. inform
56 ale jakie miejsca?? reqmore
57 Dzień dobry. hello
58 Chciałabym zarezerwować bilet do kina. inform
59 Dziś. inform
60 Proszę na batmana. inform
61 Proszę o godzine 20:19. inform
62 ulogwy. inform
63 1. impl-conf inform
64 z tyłu, na środku (aby ekran był centralnie widoczny). inform
65 dobrze, dziekuję. bye
66 Witam hello
67 Co potrafisz? help
68 Jakie są najbliższe seanse? inform
69 A jakie są dostępne? reqmore
70 A w jakim to kinie? request
71 A gdzie jest to kino? reqmore
72 O której grają Uncharted? reqmore inform
73 Ile kosztują bilety na ten film? request
74 A w jaki dzień bielty są tańsze? reqmore
75 w takim razie chciałbym zarezerwować dwa bilety normalne i jeden ulgowy na środę 20:00 inform
76 Na środku sali inform
77 ok ack
78 Witam hello
79 Jaki jest repertuar na piątek? reqmore inform
80 O jakich godzinach grają te filmy? reqmore
81 Wszystkie ack
82 Czy obgługujecie rezerwację biletów grupowych? request
83 Rozumiem, a jak mogę dokonać rezerwacji dla 20 osób? reqmore
84 Tak affirm
85 dziękuję ack
86 Witam hello
87 Czy w kinie Rialto grają jakieś stare filmy? reqmore
88 to dziękuję thankyou
89 Witam hello
90 Czy tylko można u was rezerwować Nachos ?
91 Chciałbym zapytać co u pana hello
92 Poproszę bilet na batmana o 19:00 inform
93 bez ludzi w okolicy inform
94 Czy to wszystko affirm
95 Dzień dobry! hello
96 Chciałbym zarezerwować film
97 Bilet na film inform
98 Jakie filmy są teraz w kinach? request
99 poproszę 3x bilet na ambulans inform
100 niech będzie ten ostatni inform
101 Przedostatnim inform
102 Spoko ack
103 Chciałbym jeszcze kupon na jedzenie
104 Poproszę słony popcorn
105 Duży
106 Nara bye
107 Dzień dobry hello
108 Chciał bym zamówić bilet na film Minionki dzisiaj o 18.30 inform
109 to poprosze ups 2 inform
110 na dzisiaj inform
111 najlepiej 18.30 inform
112 poprosze 18 inform
113 jakie są dostępne miejsca? request
114 które miejsca są daleko od ekranu? reqmore
115 w takim razie poproszę M5 inform
116 dziekuje thankyou
117 Cześć hello
118 Co mogę zarezerwować? reqmore
119 Gdzie znajduje się kino? request
120 Tak, chciałbym iść do multikina na Malcie inform
121 Super, teraz chciałbym zarezerwować bilet na film inform
122 Uncharted inform
123 wybieram godzine 12:00 inform
124 1 miejsce, gdzieś na środku sali inform
125 Pasuje ack
126 Elo help
127 Chciałabym zarezerwować bilet inform
128 Co gracie request
129 Ja bym chciała na Fantsaczne zwierzta inform
130 29.03.2022 inform
131 Jakoś wieczorkiem inform
132 To na 21 prosze inform
133 To na 18 proszę inform
134 Najlepsze inform
135 Moment no ile tych miejsc i czemu nie są w tym samym rzędzie reqmore
136 proszę z managerem
137 Jeden dla mnie i dla kotka proszę inform
138 Dobra, to blikiem proszę
139 Halo halo
140 nie skończyłam
141 Ehhh
142 DZIEŃ DOBRY hello
143 No właśnie. W czym możesz pomóc? help
144 A jedzonko macie? reqmore
145 Nachosy proszę reqmore
146 A jakie sosy do Nachosów? reqmore
147 Chciałabym anulować rezerwację inform
148 123123 inform
149 Dzięki <3 thankyou
150 Dzień dobry hello
151 Chciałabym zmienić rezerwację inform
152 123123 inform
153 Upewniam się ack
154 Dzień dobry hello
155 Chciałbym zarezerwować bilety inform
156 batman inform
157 dzisiaj inform
158 podaj więcej informacji o seansach reqmore
159 podaj więcej informacji o seansie o 15.20 reqmore
160 czy film jest 2D czy 3D? reqmore
161 podaj informacje o napisach/dubbingu reqmore
162 Cześć hello
163 Chciałbym zarezwsfsgf bilet
164 Chciałbym zarezerwować bilet inform
165 Jakie są wyświetlane w najbliższą sobotę? reqmore
166 W których godzinach grany jest film To nie wypanda? reqmore inform
167 W takim razie chciałbym kupić 3 bilety, jeśli możliwe miejsca koło siebie inform
168 Najbliższa sobota inform
169 Godzina 19:30 inform
170 Najlepiej w ostatnim rzędzie inform
171 Chciałbym zapłacić przy odbiorze reqmore
172 Czy moja rezerwacja została potwierdzona? reqmore
173 84372 inform
174 Nie negate
175 Dzień dobry hello
176 Chciałbym dowiedzieć się jakie filmy są wyświetlane w tym tygodniu. reqmore
177 W jakich godzinach mogę zobaczyć Batmana w piątek? reqmore inform
178 Chciałbym zarezerwować 3 miejsca na seans o 17:45 inform
179 Czy są dostępne miejsca w tylnych rzędach? reqmore inform
180 Ok affirm inform
181 Dziękuję, do widzenia bye thankyou
182 Dzień dobry, chciałbym anulować rezerwację hello inform
183 87574 inform
184 Potwierdzam affirm
185 Cześć hello
186 Nie możesz thankyou
187 Dzień dobry, Systemie hello
188 Chciałbym kupić nachos reqmore
189 Jak mogę się do takiej strefy dostać? reqmore
190 W jakim mieście? reqmore
191 Czy można zarezerwować u was bilety na seans? reqmore
192 Jakie polecasz? reqmore
193 Jaką ocenę posiada Batman? reqmore
194 Dobrze. Chciałbym zatem zarezerwować bilet na Innych Ludzi inform
195 22.03.2022 inform
196 Jutro, po godzinie 16:00 inform
197 Jaki jutro jest dzień tygodnia? request
198 To poproszę o rezerwację na 17:45 inform
199 17:45 inform
200 Z tyłu sali, nie na samym końcu inform
201 W jakiej części rzędu znajduje się to miejsce? request
202 Dziękuję thankyou
203 Dzień dobry hello
204 chciałbym kupić dwa bilety na batmana inform
205 jutro inform
206 poproszę na 20:30 inform
207 z tyłu inform
208 w jakiej cenie są bilety? help
209 są zniżki studenckie? help
210 mógłbym kupić bilety? reqmore
211 batman - chciałbym kupić zarezerwowane miejsca reqmore inform
212 dobrze czy wystarczy zachować numer rezerwacji? reqmore
213 dobrze ack
214 witam hello
215 jakie są jutro filmy? reqmore inform
216 o ktorej jest nasze magiczne encanto? reqmore inform
217 poproszę 3 bilety na 18:20 inform
218 na środku inform
219 poproszę jeszcze jedno miejsce obok inform
220 dziekuje thankyou
221 do widzenia bye
222 Co dziś leci reqmore inform
223 Co jest dobre dla dzieci reqmore
224 Poproszę 2 na "to nie wypanda" inform
225 a z przodu gdzieś inform
226 eee a o której?? request
227 Dzień dobry hello
228 Chciałabym zarezerwować bilet do kina inform
229 Wyjdż za mnie inform
230 The batman inform
231 Dziś wieczorem inform
232 Proszę o godzinie 20:15 inform
233 z tyłu, na środku (aby ekran był centralnie widoczny) inform
234 Dobrze, dziękuję thankyou
235 cześć hello
236 chciałbym sprawdzić repertuar kin reqmore
237 na dzisiaj inform
238 Witam hello
239 Jakie sš najbliższe seanse? reqmore
240 W jakim to kinie? reqmore
241 A gdzie jest to kino? reqmore
242 Ile kosztujš bilety na Inni ludzie? reqmore
243 oba inform
244 A w jaki dzień bilety sš tańsze? reqmore
245 W takim razie chciałbym zarezerwować dwa bilety na czwartek na film Inni Ludzie inform
246 Jeden normalny i ulgowy inform
247 Na środku Sali inform
248 Chciałem zarezerwować dwa miejsca reqmore
249 Zgadzam się infrom
250 Tak inform
251 Jaki jest koszt tej rezerwacji? reqmore
252 A ile kosztuje bilety łącznie? reqmore
253 ok. Dziękuję ack
254 Witam hello
255 Chciałbym zarezerwować bilet ale nie wiem na co. inform
256 Czy film Historia mojej żony jest ciekawy ? reqmore
257 Dobrze to poproszę inform
258 Ulgowy inform
259 czy jest jakaś maksymalna liczba ? reqmore
260 to poproszę 100 inform
261 tak jak powiedziałem ulgowe inform
262 środek Sali inform
263 tak confirm
264 Nie dziękuje negate confirm
265 Dzień dobry! hello
266 Chciałbym zarezerwować seans. Bilet na seans inform
267 Jakie filmy są obecnie na ekranach? reqmore
268 Sobota inform
269 Poproszę 2 bilety na innych ludzi inform
270 jeden ulgowy i jeden zwykły inform infrom
271 Na środku Sali infrom
272 Pewnie ack
273 czy te miejsca sš obok siebie? reqmore
274 Dzień dobry hello
275 Chciałabym zarezerwować bilety inform
276 Jaki film jest grany jutro w godzinach popołudniowych? request
277 Czy sš wcześniejsze seanse? reqmore
278 W takim razie chcę zarezerwować bilety na Psie Pazury inform
279 Komu przysługuje ulga?
280 Kim jest senior?
281 W takim razie chcę zarezerwować normalne bilety na Psie Pazury inform
282 Na środku inform
283 3 inform
284 Tak ack
285 Ale chciałam 3 bilety negate
286 zgadzam się ack
287 tak ack
288 nier negate
289 tak ack
290 nie
291 Dzień dobry hello
292 Chciałbym dowiedzieć się jaki jest aktualnie repertuar request
293 Jutro jest w repertuarze film inni ludzie? request
294 Ile kosztuje bilet na ten film? request
295 ulogwy
296 W górnej części sali inform
297 Gdzie znajduje się to miejsce względem ekranu? reqmore
298 Chciałbym na środku inform
299 zgadzam ack
300 jaka jest cena? reqmore
301 Dobrze, rezerwuje ack
302 Chciałbym anulować rezerwację deny
303 Dziekuje bye
304 Cześć hello
305 Co można u was zjeść? request
306 Co można obejrzeć w kwietniu request
307 kiedy gracie DKF zamek? request
308 poproszę dwa bilety ulgowe na 25/04/2022 12:15 15:50 inform
309 pierwszy rzšd po lewej stronie inform
310 Tak ack
311 zgadzam się ack
312 Jaki jest numer mojej rezerwacji reqmore
313 Dziękuję systemie thankyou
314 Siema hello
315 Chcę iść do kina inform
316 Co gracie request
317 To na fdantastyczne zwierznera prosze inform
318 A co macie request
319 A na za tydzień? request
320 To na za tydzień na cud guadalupe proszę inform
321 To na coś innego request
322 Dzisiaj inform
323 Zaskocz mnie
324 No to jakoś niech będzie jakoś to będzie inform
325 Jeden dla mnie, drugi dla kota
326 To jeden będzie infrom
327 normalny
328 na środku gdzieś inform
329 Niech będzie ack
330 jakieś potwierdzenie rezerwacji dostanę czy mogę po prostu wejść i usišść? request

View File

@ -1,9 +1,19 @@
import pandas as pd
from sympy import true
def flatten(t):
return [item for sublist in t for item in sublist]
def getData():
# def getStrCleaned(rawMessage):
# # / and : is needed for date and time recognition
# punctuation = '!"#$%&\'()*+,-.;<=>?@[\\\\]^_`{|}~'
# messageLower = rawMessage.lower()
# # new_str = re.sub(' +', ' ', new_str)
# for char in punctuation:
# messageLower = messageLower.replace(char,'')
# return messageLower.split()
def getData(testData):
Xdata = []
Ydata = []
pathOut = './tasks/zad8/pl/'
@ -14,15 +24,27 @@ def getData():
for i in range(16,20):
for j in range(20):
for nr in range(1,5):
fileName = pathIn + "dialog-" + str(i).zfill(2) + "-" + str(j).zfill(2) + "-" + str(nr).zfill(2) + ".tsv"
fileName = pathIn + "dialog-" + str(i).zfill(2) + "-" + str(j).zfill(2) + "-" + str(nr).zfill(2)
if testData: fileName += "(test)"
fileName += ".tsv"
try:
df = pd.read_csv(fileName, sep='\t', header=None, encoding="utf-8")
Xdata.append(df[1].tolist())
Ydata.append(df[2].tolist())
dfSys = df[df[0] == "user"]
dfSys.dropna()
Xdata.append(dfSys[1].tolist())
Ydata.append(dfSys[2].tolist())
# Xdata = [getStrCleaned(x) for x in Xdata]
except:
pass
return flatten(Xdata), flatten(Ydata)
x,y = getData()
x, y = getData(False)
xTest, yTest = getData(True)
dataTuples = list(zip(x, y))
testDataTuples = list(zip(xTest, yTest))
print(y)
df = pd.DataFrame(dataTuples)
dfTest = pd.DataFrame(testDataTuples)
df.to_csv('tasks/zad8/pl/dataSentence/train.tsv', sep="\t", index=False, header=None)
dfTest.to_csv('tasks/zad8/pl/dataSentence/test.tsv', sep="\t", index=False, header=None)

View File

@ -2369,11 +2369,11 @@
7 12:15 inform B-time
8 15:50 inform B-time
# text: pierwszy rzšd po lewej stronie
# text: pierwszy rząd po lewej stronie
# intent: inform
# slots: pierwszyrzšdpopolewej:area
# slots: pierwszyrządpopolewej:area
1 pierwszy inform B-area
2 rzšd inform I-area
2 rząd inform I-area
3 po inform I-area
4 lewej inform I-area
5 stronie inform NoLabel