SystemyDialogowe-ProjektMag.../lab/01-rodzaje-systemow-dialogowych.ipynb
2022-03-13 13:36:07 +01:00

6.5 KiB
Raw Blame History

Logo 1

Systemy Dialogowe

1. Rodzaje systemów dialogowych [laboratoria]

Marek Kubis (2021)

Logo 2

Rodzaje systemów dialogowych

Wprowadzenie

Systemy dialogowe można zgrubnie podzielić na dwie kategorie (Jurafsky and Martin, 2020):

  1. chatboty,

  2. systemy ukierunkowane na wykonywanie zadań (ang. task-oriented dialogue agents).

Chatboty

Przeznaczeniem chatbota jest prowadzenie swobodnej dyskusji z użytkownikiem na dowolny (nienarzucony z góry) temat. Konwersacja z chatbotem nie służy wypełnieniu żadnego z góry określonego zadania.

Klasycznym przykładem chatbota jest ELIZA (Weizenbaum, 1966). Program ten, udając psychoanalityka, miał zademonstrować potencjał tkwiący w komunikacji człowieka z komputerem w języku naturalnym. Jego pythonową implementację znajdziemy w pakiecie nltk.

from nltk.chat import eliza
eliza.demo()

ELIZA składa się ze zbioru wzorców, które są dopasowywane do wypowiedzi użytkownika. Z każdym wzorcem jest powiązany zestaw szablonów, które są wykorzystywane do przygotowania odpowiedzi dla użytkownika.

eliza.pairs[:3]

Systemy dialogowe ukierunkowane na wykonywanie zadań

Systemy ukierunkowane na wykonywanie zadań będą stanowić główny temat tego przedmiotu. Dla uproszenia będziemy je nazywać _agentami dialogowymi.

Pierwotnie agenty dialogowe były ukierunkowywane na jedno, ściśle określone zadanie. Systemem tego typu był GUS (Bobrow, 1977) umożliwiający planowanie podróży.

Obecnie zarówno w praktyce badawczej jak i w zastosowaniach przemysłowych rozwijane są systemy ukierunkowane na wykonywanie wielu zadań równocześnie. _Inteligentne asystenty osobiste (ang. IPA, Intelligent Personal Assistant) takie, jak:

realizują wiele celów użytkownika, do których należą m.in.:

  • wyszukiwanie kontaktów w książce adresowej,
  • zarządzanie kalendarzem,
  • zmiana ustawień telefonu.

Zadanie

Zaimplementować program typu ELIZA prowadzący konwersację w języku polskim. Kod źródłowy umieścić w gałęzi chatbot repozytorium projektowego.

Literatura

  1. Dan Jurafsky and James H. Martin, _Speech and Language Processing, 3rd ed. draft, ch. 24, Chatbots and Dialogue Systems, https://web.stanford.edu/~jurafsky/slp3/24.pdf data dostępu: 14 marca 2021.

  2. J. Weizenbaum, ELIZA - A Computer Program For the Study of Natural Language Communication Between Man And Machine Communications of the ACM, Vol 9, No 1, January 1966, https://cse.buffalo.edu/~rapaport/572/S02/weizenbaum.eliza.1966.pdf data dostępu: 14 marca 2021.

  3. Bobrow, D. G., Kaplan, R. M., Kay, M., Norman, D. A., Thompson, H., and Winograd, T. (1977). GUS, A frame driven dialog system. Artificial Intelligence 8, 155173.