systemy_dialogowe/notebooks/03-04-czarnoksieznik-z-oz.ipynb

127 lines
4.3 KiB
Plaintext
Raw Normal View History

{
"cells": [
{
"cell_type": "markdown",
"id": "885e01f8",
"metadata": {},
"source": [
"Eksperymenty typu „Czarnoksiężnik z Oz”\n",
"=======================================\n",
"\n",
"W eksperymencie typu „Czarnoksiężnik z Oz” rolę agenta dialogowego odgrywa operator,\n",
"który symuluje działanie systemu udzielając zamiast niego odpowiedzi w reakcji na komunikaty przekazywane przez użytkownika.\n",
"\n",
"Komunikacja odbywa się za pośrednictwem interfejsu użytkownika zbliżonego do docelowego interfejsu\n",
"agenta dialogowego.\n",
"\n",
"Użytkownik wchodząc w interakcje z czarnoksiężnikiem nie zdaje sobie sprawy z tego, że rozmawia z\n",
"człowiekiem a nie z maszyną.\n",
"\n",
"Instrukcje dla użytkowników\n",
"---------------------------\n",
"Na potrzeby eksperymentów typu „Czarnoksiężnik z Oz”\n",
"warto przygotować zestaw instrukcji opisujących zadania, jakie użytkownik może wykonać za\n",
"pośrednictwem rozwijanego systemu.\n",
"\n",
"Instrukcje takie wręcza się użytkownikom przed przystąpieniem do eksperymentu.\n",
"\n",
"### Przykład\n",
"Przyjrzyjmy się instrukcjom, które zostały przygotowane na potrzeby *Dialog State Tracking Challenge 2* (Henderson i in., 2014).\n",
"\n",
"Dane wykorzystane w tym konkursie pobierzemy z GitHuba https://github.com/matthen/dstc."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "47d5e497",
"metadata": {},
"outputs": [],
"source": [
"!mkdir -p l03\n",
"%cd l03\n",
"!wget https://github.com/matthen/dstc/releases/download/v1/dstc2_test.tar.gz\n",
"!tar xzvf dstc2_test.tar.gz\n",
"%cd .."
]
},
{
"cell_type": "markdown",
"id": "80e57282",
"metadata": {},
"source": [
"Wyświetlmy kilka przykładowych instrukcji."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "352cee76",
"metadata": {},
"outputs": [],
"source": [
"import json\n",
"\n",
"samples = ['voip-00d76b791d-20130327_005342',\n",
" 'voip-00d76b791d-20130327_012544',\n",
" 'voip-0f41c16f2f-20130402_004710']\n",
"\n",
"for sample in samples:\n",
" with open(f'l03/data/Mar13_S2A0/{sample}/label.json') as f:\n",
" print(json.load(f)['task-information']['goal']['text'])"
]
},
{
"cell_type": "markdown",
"id": "57a6ca00",
"metadata": {},
"source": [
"Zachęcam również do zapoznania się z opisem samego konkursu https://github.com/matthen/dstc/blob/master/handbook.pdf.\n",
"\n",
"Zadanie\n",
"-------\n",
"Korzystając z MS Teams przeprowadzić rozmowy, w których jedna z osób pełni rolę systemu (operatora eksperymentu) a druga użytkownika.\n",
"\n",
" - W pierwszej serii eksperymentów role użytkowników przyjmują osoby o nieparzystych numerach (kolumna `Lp` tabeli `operatorzy.pdf`).\n",
"\n",
" - W drugiej serii eksperymentów role użytkowników przyjmują osoby o parzystych numerach (kolumna `Lp` tabeli `operatorzy.pdf`).\n",
"\n",
"Każdy użytkownik powinien przeprowadzić przynajmniej jedną rozmowę z każdym operatorem.\n",
"\n",
"Operator eksperymentu zachowuje zapis rozmowy w katalogu `data` gałęzi master\n",
"repozytorium projektowego w pliku o nazwie `dialog-XX-YY-NN.tsv`, gdzie:\n",
"\n",
" - `XX` numer operatora\n",
"\n",
" - `YY` numer użytkownika\n",
"\n",
" - `NN` numer rozmowy (`01` dla pierwszej rozmowy miedzy `XX` i `YY`)"
]
},
{
"cell_type": "markdown",
"id": "e23b38d3",
"metadata": {},
"source": [
"Zapisy rozmów proszę zachować w postaci plików o rozszerzeniu `tsv`.\n",
"Pierwsza kolumna pliku powinna zawierać oznaczenie roli interlokutora (ciąg znaków `system` lub `user`) druga jego wypowiedź.\n",
"\n",
"Czy przeprowadzone testy można uznać za realizację techniki \"Czarnoksiężnik z Oz\"?\n",
"\n",
"Literatura\n",
"----------\n",
" 1. Matthew Henderson, Blaise Thomson, Jason D. Williams, The Second Dialog State Tracking Challenge, SIGDIAL 2014, 263-272."
]
}
],
"metadata": {
"jupytext": {
"cell_metadata_filter": "-all",
"main_language": "python",
"notebook_metadata_filter": "-all"
}
},
"nbformat": 4,
"nbformat_minor": 5
}