Dockerize
This commit is contained in:
parent
3bea55ecea
commit
feb204306f
3
.dockerignore
Normal file
3
.dockerignore
Normal file
@ -0,0 +1,3 @@
|
||||
.gitignore
|
||||
*.md
|
||||
l08/
|
15
Dockerfile
Normal file
15
Dockerfile
Normal file
@ -0,0 +1,15 @@
|
||||
FROM jupyter/scipy-notebook:python-3.8.8
|
||||
USER root
|
||||
|
||||
WORKDIR /usr/systemy
|
||||
|
||||
RUN mkdir -p l08 && cd l08 &&\
|
||||
git clone https://github.com/thu-coai/ConvLab-2.git
|
||||
|
||||
RUN python -m pip install -e /usr/systemy/l08/ConvLab-2/
|
||||
RUN python -m spacy download en_core_web_sm
|
||||
RUN pip install pyjsgf==1.9.0
|
||||
|
||||
COPY . .
|
||||
|
||||
CMD jupyter-lab --allow-root
|
@ -3,6 +3,7 @@ from convlab2.dst.rule.multiwoz.dst_util import normalize_value
|
||||
from collections import defaultdict
|
||||
from convlab2.policy.policy import Policy
|
||||
from convlab2.util.multiwoz.dbquery import Database
|
||||
from convlab2.util.multiwoz.multiwoz_slot_trans import REF_SYS_DA, REF_USR_DA
|
||||
import copy
|
||||
from copy import deepcopy
|
||||
import json
|
||||
@ -123,7 +124,7 @@ class DP(Policy):
|
||||
system_action[(domain, "NoOffer")] = []
|
||||
else:
|
||||
for slot in user_action[user_act]:
|
||||
kb_slot_name = ref[domain].get(slot[0], slot[0])
|
||||
kb_slot_name = REF_USR_DA[domain].get(slot[0], slot[0])
|
||||
|
||||
if kb_slot_name in self.results[0]:
|
||||
system_action[(domain, "Inform")].append(
|
||||
@ -146,6 +147,7 @@ class DP(Policy):
|
||||
)
|
||||
|
||||
|
||||
|
||||
# Dialogue State Tracker
|
||||
class SDST(DST):
|
||||
def __init__(self):
|
||||
|
@ -2,7 +2,7 @@
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@ -11,16 +11,16 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'Dzień dobry'"
|
||||
"'Dzień dobry, witam w interaktywnej bibliotece'"
|
||||
]
|
||||
},
|
||||
"execution_count": 2,
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
@ -56,14 +56,14 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"execution_count": 5,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Dzień fantastyki.\n",
|
||||
"Obecnie nie ma żadnych wydarzeń.\n",
|
||||
"W przypadku zgubienia karty fakt ten można zgłosić w głównej filii biblioteki\n"
|
||||
]
|
||||
}
|
||||
@ -165,16 +165,18 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"execution_count": 6,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "SyntaxError",
|
||||
"evalue": "invalid syntax (<ipython-input-4-dc0d3ec9b748>, line 28)",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[1;36m File \u001b[1;32m\"<ipython-input-4-dc0d3ec9b748>\"\u001b[1;36m, line \u001b[1;32m28\u001b[0m\n\u001b[1;33m elif:\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n"
|
||||
]
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'Czy ta książka to 1?'"
|
||||
]
|
||||
},
|
||||
"execution_count": 6,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
@ -198,14 +200,13 @@
|
||||
" else:\n",
|
||||
" return f'Ksiązka tego autora nie została znaleziona. Proszę podać więcej informacji.'\n",
|
||||
" \n",
|
||||
" # zosia:\n",
|
||||
" if domain == 'reservation' and intent == 'Confirm':\n",
|
||||
" r = random.randint(1, 3)\n",
|
||||
" if r==1:\n",
|
||||
" return 'Książka została zarezerwowana i będzie do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji.'\n",
|
||||
" elif r==2:\n",
|
||||
" return 'Możesz zarezerwować tę pozycję. Będzie czekać na Ciebie w naszej placówce przez następnych 5 dni roboczych.'\n",
|
||||
" elif:\n",
|
||||
" elif r==3:\n",
|
||||
" return 'Książka została wypożyczona'\n",
|
||||
" \n",
|
||||
" if intent == 'Confirm' and domain == '' and slot == '':\n",
|
||||
@ -217,15 +218,15 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Książka została wypożczyona\n",
|
||||
"Po spełnieniu warunków karta zostanie założona\n"
|
||||
"Tak, to będzie wszystko\n",
|
||||
"Tak, to wszystko w zakresie założenia karty\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@ -262,7 +263,6 @@
|
||||
" else:\n",
|
||||
" return 'Tak, to wszystko'\n",
|
||||
" \n",
|
||||
" # zosia:\n",
|
||||
" if intent=='Affirm' and domain=='create_an_account':\n",
|
||||
" return 'Tak, poproszę'\n",
|
||||
" \n",
|
||||
@ -280,7 +280,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"execution_count": 8,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
@ -289,7 +289,7 @@
|
||||
"'Do widzenia'"
|
||||
]
|
||||
},
|
||||
"execution_count": 6,
|
||||
"execution_count": 8,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
@ -317,22 +317,21 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'Dobrze, dziękuję za rozmowę'"
|
||||
"'Bardzo dziękuję za informację. Wszystko już wiem'"
|
||||
]
|
||||
},
|
||||
"execution_count": 7,
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# zosia:\n",
|
||||
"#######################Thankyou#################################\n",
|
||||
"def nlg(system_act):\n",
|
||||
" domain, intent, slot, value = system_act\n",
|
||||
@ -369,22 +368,22 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"execution_count": 11,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'Chciałbym anulować rezerwację książki'"
|
||||
]
|
||||
},
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Chciałbym założyć kartę biblioteczną\n",
|
||||
"Czy książka Owoce wiśni Osamu Dazai, znajduje się w bibliotece w formie ebooka?\n",
|
||||
"Chciałabym zwrócić książkę Kafka Haruki Murakami\n",
|
||||
"Chciałbym zarezerwować książkę Kafka Haruki Murakami\n",
|
||||
"Chciałbym anulować rezerwację książki\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# zosia:\n",
|
||||
"#######################Request#############################\n",
|
||||
"def nlg(system_act):\n",
|
||||
" domain, intent, slot, value = system_act\n",
|
||||
@ -424,16 +423,16 @@
|
||||
" return 'Chciałabym sprawdzić, czy mam jakieś wypożyczone książki'\n",
|
||||
"\n",
|
||||
" if domain == 'books':\n",
|
||||
" return f'Czy książka {slot}, znajduje się w bibliotece w formie ebooka?'\n",
|
||||
" return f'Czy książka {value}, znajduje się w bibliotece w formie ebooka?'\n",
|
||||
"\n",
|
||||
" if domain == 'book':\n",
|
||||
" r = random.randint(1,5)\n",
|
||||
" if r==1:\n",
|
||||
" return f'Chciałabym wypożyczyć książkę {slot}'\n",
|
||||
" return f'Chciałabym wypożyczyć książkę {value}'\n",
|
||||
" elif r==2:\n",
|
||||
" return 'Proszę podać tytuł i autora pozycji'\n",
|
||||
" elif r==3:\n",
|
||||
" return f'Czy posiadacie książke {slot}?'\n",
|
||||
" return f'Czy posiadacie książke {value}?'\n",
|
||||
" elif r==4:\n",
|
||||
" return 'Proszę podać tytuł i autora wybranej pozycji'\n",
|
||||
" elif r==5:\n",
|
||||
@ -452,14 +451,14 @@
|
||||
" return 'Można odebrać ją w innej filli biblioteki?'\n",
|
||||
"\n",
|
||||
" if domain == 'return':\n",
|
||||
" return f'Chciałabym zwrócić książkę {slot}'\n",
|
||||
" return f'Chciałabym zwrócić książkę {value}'\n",
|
||||
"\n",
|
||||
" if domain == 'reservation':\n",
|
||||
" r = random.randint(1,2)\n",
|
||||
" if slot=='cancel':\n",
|
||||
" return 'Chciałbym anulować rezerwację książki'\n",
|
||||
" if r==1:\n",
|
||||
" return f'Chciałbym zarezerwować książkę {slot}'\n",
|
||||
" return f'Chciałbym zarezerwować książkę {value}'\n",
|
||||
" elif r==2:\n",
|
||||
" return 'Chciałbym wypożyczyć książkę'\n",
|
||||
"\n",
|
||||
@ -485,11 +484,11 @@
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"nlg(['card', 'Request', '', ''])\n",
|
||||
"nlg(['books', 'Request', 'Owoce wiśni Osamu Dazai', ''])\n",
|
||||
"nlg(['return', 'Request', 'Kafka Haruki Murakami', ''])\n",
|
||||
"nlg(['reservation', 'Request', 'Kafka Haruki Murakami', ''])\n",
|
||||
"nlg(['reservation', 'Request', 'cancel', ''])"
|
||||
"print(nlg(['card', 'Request', '', '']))\n",
|
||||
"print(nlg(['books', 'Request', '', 'Owoce wiśni Osamu Dazai']))\n",
|
||||
"print(nlg(['return', 'Request', '', 'Kafka Haruki Murakami']))\n",
|
||||
"print(nlg(['reservation', 'Request', '', 'Kafka Haruki Murakami']))\n",
|
||||
"print(nlg(['reservation', 'Request', 'cancel', '']))"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
9
docker-compose.yml
Normal file
9
docker-compose.yml
Normal file
@ -0,0 +1,9 @@
|
||||
version: "3.6"
|
||||
|
||||
services:
|
||||
convlab:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./Dockerfile
|
||||
ports:
|
||||
- 8888:8888
|
1
l08/ConvLab-2
Submodule
1
l08/ConvLab-2
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 3812629e8dde63edd4ca5ba94e93d919d50a5d66
|
Loading…
Reference in New Issue
Block a user