126 lines
4.6 KiB
Plaintext
126 lines
4.6 KiB
Plaintext
|
{
|
|||
|
"cells": [
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"id": "b2f59df0",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"Rodzaje systemów dialogowych\n",
|
|||
|
"============================\n",
|
|||
|
"\n",
|
|||
|
"Wprowadzenie\n",
|
|||
|
"------------\n",
|
|||
|
"\n",
|
|||
|
"Systemy dialogowe można zgrubnie podzielić na dwie kategorie <cite>(Jurafsky and Martin, 2020)</cite>:\n",
|
|||
|
"\n",
|
|||
|
" 1. chatboty,\n",
|
|||
|
"\n",
|
|||
|
" 2. systemy ukierunkowane na wykonywanie zadań (ang. task-oriented dialogue agents).\n",
|
|||
|
"\n",
|
|||
|
"### Chatboty\n",
|
|||
|
"Przeznaczeniem chatbota\n",
|
|||
|
"jest prowadzenie swobodnej dyskusji z użytkownikiem na dowolny (nienarzucony z góry) temat.\n",
|
|||
|
"Konwersacja z chatbotem nie służy wypełnieniu żadnego z góry określonego zadania.\n",
|
|||
|
"\n",
|
|||
|
"Klasycznym przykładem chatbota jest [ELIZA](https://en.wikipedia.org/wiki/ELIZA) <cite>(Weizenbaum, 1966)</cite>.\n",
|
|||
|
"Program ten,\n",
|
|||
|
"udając psychoanalityka, miał zademonstrować potencjał tkwiący w komunikacji człowieka z komputerem w\n",
|
|||
|
"języku naturalnym. Jego pythonową implementację znajdziemy w pakiecie [nltk](www.nltk.org)."
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": null,
|
|||
|
"id": "e2301a9e",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"from nltk.chat import eliza\n",
|
|||
|
"eliza.demo()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"id": "ae7a5568",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"ELIZA składa się ze zbioru wzorców, które są dopasowywane do wypowiedzi użytkownika.\n",
|
|||
|
"Z każdym wzorcem jest powiązany zestaw szablonów, które są wykorzystywane do przygotowania\n",
|
|||
|
"odpowiedzi dla użytkownika."
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": null,
|
|||
|
"id": "05c53336",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"eliza.pairs[:3]"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"id": "f3622915",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"### Systemy dialogowe ukierunkowane na wykonywanie zadań\n",
|
|||
|
"Systemy ukierunkowane na wykonywanie zadań będą stanowić główny temat tego przedmiotu.\n",
|
|||
|
"Dla uproszenia będziemy je nazywać *agentami dialogowymi*.\n",
|
|||
|
"\n",
|
|||
|
"Pierwotnie agenty dialogowe były ukierunkowywane na jedno, ściśle określone zadanie.\n",
|
|||
|
"Systemem tego typu był GUS <cite>(Bobrow, 1977)</cite> umożliwiający planowanie podróży.\n",
|
|||
|
"\n",
|
|||
|
"Obecnie zarówno w praktyce badawczej jak i w zastosowaniach przemysłowych rozwijane są systemy\n",
|
|||
|
"ukierunkowane na wykonywanie wielu zadań równocześnie, do których należą:\n",
|
|||
|
"\n",
|
|||
|
" 1. inteligentne asystenty osobiste (ang. *IPA*, *Intelligent Personal Assistant*), np.\n",
|
|||
|
"\n",
|
|||
|
" - [Alexa](https://developer.amazon.com/en-US/alexa),\n",
|
|||
|
" - [Bixby](https://www.samsung.com/us/apps/bixby/),\n",
|
|||
|
" - [Google Assistant](https://assistant.google.com/),\n",
|
|||
|
" - [Siri](https://www.apple.com/siri/),\n",
|
|||
|
"\n",
|
|||
|
" które realizują spersonalizowane cele użytkownika (wyszukiwanie kontaktów w książce adresowej, zarządzanie kalendarzem, zakup produktów).\n",
|
|||
|
"\n",
|
|||
|
" 2. modele językowe dostosowane do wykonywania poleceń, np.\n",
|
|||
|
"\n",
|
|||
|
" - [ChatGPT](https://openai.com/blog/chatgpt/),\n",
|
|||
|
" - [InstructGPT](https://openai.com/blog/instruction-following/),\n",
|
|||
|
" - [FLAN-T5](https://arxiv.org/pdf/2210.11416.pdf),\n",
|
|||
|
"\n",
|
|||
|
" które realizują zadania niewymagające pełnej personalizacji.\n",
|
|||
|
"\n",
|
|||
|
"Zadanie\n",
|
|||
|
"-------\n",
|
|||
|
"Zaimplementować program typu ELIZA prowadzący konwersację w języku polskim.\n",
|
|||
|
"Kod źródłowy umieścić w gałęzi `chatbot` repozytorium projektowego.\n",
|
|||
|
"\n",
|
|||
|
"Literatura\n",
|
|||
|
"----------\n",
|
|||
|
" 1. Dan Jurafsky and James H. Martin, *Speech and Language Processing*, 3rd ed. draft,\n",
|
|||
|
"\tch. 15, Chatbots and Dialogue Systems,\n",
|
|||
|
" https://web.stanford.edu/~jurafsky/slp3/15.pdf\n",
|
|||
|
" data dostępu: 10 marca 2023.\n",
|
|||
|
"\n",
|
|||
|
" 2. J. Weizenbaum, ELIZA - A Computer Program For the Study of Natural Language Communication\n",
|
|||
|
" Between Man And Machine Communications of the ACM, Vol 9, No 1, January 1966,\n",
|
|||
|
" https://cse.buffalo.edu/~rapaport/572/S02/weizenbaum.eliza.1966.pdf\n",
|
|||
|
" data dostępu: 10 marca 2023.\n",
|
|||
|
"\n",
|
|||
|
" 3. Bobrow, D. G., Kaplan, R. M., Kay, M., Norman, D. A., Thompson, H., and Winograd, T. (1977).\n",
|
|||
|
" GUS, A frame driven dialog system. Artificial Intelligence 8, 155–173."
|
|||
|
]
|
|||
|
}
|
|||
|
],
|
|||
|
"metadata": {
|
|||
|
"jupytext": {
|
|||
|
"cell_metadata_filter": "-all",
|
|||
|
"main_language": "python",
|
|||
|
"notebook_metadata_filter": "-all"
|
|||
|
}
|
|||
|
},
|
|||
|
"nbformat": 4,
|
|||
|
"nbformat_minor": 5
|
|||
|
}
|