systemy_dialogowe/notebooks/06-architektura-systemu-dialogowego.ipynb

100 lines
46 KiB
Plaintext
Raw Normal View History

{
"cells": [
{
"cell_type": "markdown",
"id": "f816a7a1",
"metadata": {},
"source": [
"Architektura systemu dialogowego ukierunkowanego na wykonanie zadania\n",
"=====================================================================\n",
"\n",
"Podstawowe komponenty systemu dialogowego\n",
"-----------------------------------------\n",
"\n",
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAx4AAADxCAYAAABFwGH0AAAG4HRFWHRteGZpbGUAJTNDbXhmaWxlJTIwaG9zdCUzRCUyMkVsZWN0cm9uJTIyJTIwbW9kaWZpZWQlM0QlMjIyMDIxLTA0LTE4VDIwJTNBMTUlM0EyOC44MTNaJTIyJTIwYWdlbnQlM0QlMjI1LjAlMjAoWDExJTNCJTIwTGludXglMjB4ODZfNjQpJTIwQXBwbGVXZWJLaXQlMkY1MzcuMzYlMjAoS0hUTUwlMkMlMjBsaWtlJTIwR2Vja28pJTIwZHJhdy5pbyUyRjE0LjUuMSUyMENocm9tZSUyRjg5LjAuNDM4OS44MiUyMEVsZWN0cm9uJTJGMTIuMC4xJTIwU2FmYXJpJTJGNTM3LjM2JTIyJTIwZXRhZyUzRCUyMkV3TThuUF9tWVFuajF0T0QxOGN5JTIyJTIwdmVyc2lvbiUzRCUyMjE0LjUuMSUyMiUyMHR5cGUlM0QlMjJkZXZpY2UlMjIlM0UlM0NkaWFncmFtJTIwaWQlM0QlMjItNjNaZUpvQktSVHptSGNrai03NyUyMiUyMG5hbWUlM0QlMjJQYWdlLTElMjIlM0UzWmpiZHRvNEZJYWZ4cGZOOGhtNERDYnRUSFBvcktHem1sek5FclpxQkxJMkk4c3g5dE9QQkRMZ3lBUm1sUUtkbTBUYU9sajY5cSUyRmZXSllYWmN0UEhDMm1qNUJnYXJsMnNyUzhrZVc2ZmNlV2YxV2dXZ2Y4WHJBT3BKd2s2NUN6RFl4SmpYVlFqMHNMa3VDODFWRUFVRUVXN1dBTWpPRll0R0tJY3lqYjNiNERiVDkxZ1ZKc0JNWXhvbWIwRzBuRVZHJTJGTHRyZngzekJKcCUyRnJKWHRPUW9hYXZEdVJUbEVDNUUlMkZMdUxDJTJGaUFHSmR5cFlScGdwZGcyVTk3dU9lMXMyNk9HYmltQUZmZ3ZzeWZya2JQZjJUdnVaUFlqUmJ1TTRIUGNzcm9vWGVyMTZzcUJvQUhBcVdZRFdKWTNuRGNrb0VIaTlRckZwTG1YRVptNHFNNm1ZOUhlWUNMJTJGZXUwOW5zWG9vR1E0WUZyMlFYUGNCdmdGVU4wWFcxM05MMyUyQmpvMjNTSHYlMkJqcUlkTWJUemRSYktyS2d3ZXloU3A0bXoxOW01SE4lMkZEdEg5YTFoWDltMEhwTCUyQnNLTENHVVNYbVVESXlONWpKWEM5VXNjam9iU3lBU3pLS0NaR3lla0FUVFAlMkJBbkFnQ1RIYVpnQkNRN1hTNHBTUlZEUUxlc0lWQ1VNSnd0Qkc2dlFGdTBPM0l3VjdnYjNnN2pnbmM3Wm04ZXlmQW5kMW5kWll0SCUyRnJrMmM5JTJCOTV4aSUyQmZYJTJCZ3lsQm5NZ2pxYXZBeFJSU1lJamViYVBEclVnVmxHMmZCMUFVViUyRmhtV0loSyUyQndzcUJIUUp0NE5qRGdXUDhUdnEwTXNWaUtkWXZOTlAyNTdheTd0WjRaZ2lRVjdiOW5OeVRidUdwc2RWTG5CbXVTR1Z1eGhPdUN5bHF2UW4xQXVvR1NvUkk4aHNmb1N5T29WbiUyRkppRXc3YUdBMVBDanR2aEdlSFBzZ3olMkZhTHpqaWdsY1Y3OElXR2R3UnJLZDd1QVlUTTdnRGhJZ3I1NzElMkJGWGxSVlZ1Z3FZNld1NDJqcXBEN256UVZZSWpYYVYzVmE0U0dMSyUyRmxaaEpqZFE3MEZENFp5dnlyY0dncnVZZHZ2S0VSTUVSWlRpRmk1OEMzJTJGY1Ayb3ZubiUyRkVRJTJCTCUyRldLekk4VXN6JTJCVllrNU5NVDhDVFBNJTJGMmRhN25UMHM0bzV2S3lqYjAzOHBlWGhwM2IwM3BHSG9IOVZoNkJuSElKSFlLVHpDSXdGWW9VWkhoRkVJUzB1THZ6dzJrdzh1S2p1SGV0TXYyVDZSJTJCbyUyQnZDcmQ5dzNkZjBWejBlbnUxeXJ3eXp1N1klMkY0ZWpLUXVvOEFhRE5YN3NpJTJGZFJjNGNva3pSWUpOOHNTSmhtNHhuYUw2NlU4dHIlMkJZOGg5ZUNNckYlMkI1bHZmUlFIOEFkbk05a3kxVGRXZDVNMEU1aVc5QUx2UHZHRkVLaGRoJTJGSHdPYzFNQUVPbUhpZ3VDUU1ibjJPVCUyQnhtdSUyQjUxcTNnMjR4OEl3TE5WdW1UJTJCYWlyRW1VcUJVMU9YRnVlaXB1ZmtwZUVjQnpyeTdNUzUlMkZ0VGRZb2oxZjc2M2FSaDkwUU5PbElUJTJGUGZVeU9yMkxualZ0bk9mN3QzOUN3JTNEJTNEJTNDJTJGZGlhZ3JhbSUzRSUzQyUyRm14ZmlsZSUzRfUDVrwAACAASURBVHhe7J0JuF3T+cZXiypBjdGQlJinoBJUUgQxBI0hTYMkZlrEkJIokiCCSkQMMVeQATFGioSqOdQsNU9BDWmoVs2U+j+/z3+lO9c5555hr33WPuddz7Ofm5t7ztprvetbw7u+6XvffPPNN05FCAgBISAEhEATIPDGG2+4xx57zD399NPuxRdfdPw+Z84c989//tN9+umn7quvvmoCFNRFISAEmgWBBRdc0C266KJu6aWXdu3atXMrrbSSW3PNNV2nTp1cly5d7Pcsy/dEPLKEW+8SAkJACAiBrBGYOnWqmz59uvvzn/9s5GLjjTd2G2ywgW2+HTt2tM2YTblNmzaOTVpFCAgBIdAoCHCZ8sknn9jlCpcsr732ml26zJo1yz366KNGSrbZZhvXs2dPt+uuuwbvtohHcIj1AiEgBISAEMgagZkzZ7oJEya4a665xm2yySZup512cj169HDrrbde1k3R+4SAEBAC0SLwzDPPuDvvvNPdeuut7pFHHnF77LGH23vvvV23bt2CtFnEIwisqlQICAEhIATqgcANN9zgxo0bZzd7++23n9trr71chw4d6tEUvVMICAEhkCsE3nzzTXfVVVe5yy+/3DTBAwcOdL179061DyIeqcKpyoSAEBACQqAeCGBKddppp7mvv/7aHXnkka5v3771aIbeKQSEgBBoCASmTJnizjnnHLfAAgu4448/3kyx0igiHmmgqDqEgBAQAkKgLgi89dZb7rjjjjNb5WHDhrl+/frVpR16qRAQAkKgERGYPHmyO+WUU8w37vTTT3ft27evqZsiHjXBpy8LASEgBIRAvRDAHOCoo44yDceIESPq1Qy9VwgIASHQ8AgMHz7cNCBnn322mbFWW0Q8qkVO3xMCQkAICIG6IfDrX//awuKed955rmvXrnVrh14sBISAEGgWBB588EF3+OGHWxjeiy++uKpui3hUBZu+JASEgBAQAvVAgLwb/fv3d2uttZa79NJL69EEvVMICAEh0NQIHHTQQe6FF15wkyZNqjgPiIhHU4uOOi8EhIAQyA8CaDj69OnjfvOb37hjjz02Pw1XS4WAEBACDYbAGWec4S666CJ33XXXmQak3CLiUS5S+pwQEAJCQAjUDQHycvTq1cuNHj3a7b///nVrh14sBISAEBAC3yIwfvx4N3jwYDdt2rSy836IeEh6hIAQEAJCIGoE0HRsv/327txzz1XUqqhHSo0TAkKg2RAg6tURRxzhbr/99rI0HyIezSYh6q8QEAJCIEcI4NPRvXt3C5UrTUeOBk5NFQJCoGkQQPNByN177rmnVZ8PEY+mEQt1VAgIASGQPwQ233xzt/POO8unI39DpxYLASHQRAjg83HLLbe4+++/v2SvRTyaSCjUVSEgBIRAnhAgZO5///tfRa/K06CprUJACDQtAkS7+v73v18y1K6IR9OKhzouBISAEIgXAZIDjhs3zj3++OPxNlItEwJCQAgIgfkQ6Ny5sxs4cGDRJIMiHhIYISAEhIAQiAqBt956y6277rpu+vTpSg4Y1cioMUJACAiB0giQZLBnz57u2Wefde3bt//Oh0U8JEFCQAgIASEQFQIDBgxwHTt2dCNGjIiqXWqMEBACQkAItI7A8OHD3WuvveYmTpwo4
"\n",
"### System rozpoznawania mowy\n",
"\n",
"**Nazwa ang.:** Automatic Speech Recognition (ASR) lub Speech To Text (STT).\n",
"\n",
"**Opis:** Moduł odpowiedzialny za zamianę mowy na tekst.\n",
"\n",
"**Wejście:** Sygnał audio\n",
"\n",
"**Wyjście:** Tekst\n",
"\n",
"### Analizator języka naturalnego\n",
"**Nazwa ang.:** Natural Language Understanding (NLU).\n",
"\n",
"**Opis:** Moduł odpowiedzialny za analizę tekstu.\n",
"W wyniku jego działania tekstowa reprezentacja wypowiedzi użytkownika zostaje zamieniona na jej\n",
"reprezentację semantyczną, najczęściej w postaci *ramy*.\n",
"\n",
"**Wejście:** Tekst\n",
"\n",
"**Wyjście:** Akt użytkownika (rama)\n",
"\n",
"### Monitor Stanu Dialogu\n",
"**Nazwa ang.:** Dialogue State Tracker (DST).\n",
"\n",
"**Opis:** Moduł odpowiedzialny za śledzenie stanu dialogu.\n",
"Przechowuje informacje o tym jakie dane zostały uzyskane od użytkownika w toku prowadzonej\n",
"konwersacji.\n",
"\n",
"**Wejście:** Akt użytkownika (rama)\n",
"\n",
"**Wyjście:** Reprezentacja stanu dialogu (rama)\n",
"\n",
"### Taktyka Dialogu\n",
"**Nazwa ang.:** Dialogue Policy\n",
"\n",
"**Opis:** Moduł decydujący o wyborze kolejnego aktu, który ma podjąć system prowadząc rozmowę.\n",
"\n",
"**Wejście:** Reprezentacja stanu dialogu (rama)\n",
"\n",
"**Wyjście:** Akt systemu (rama)\n",
"\n",
"### Generator języka naturalnego\n",
"**Nazwa ang.:** Natural Language Generation (NLG)\n",
"\n",
"**Opis:** Moduł, który tworzy reprezentację tekstową aktu systemowego wybranego przez taktykę dialogu.\n",
"\n",
"**Wejście:** Akt systemu (rama)\n",
"\n",
"**Wyjście:** Tekst\n",
"\n",
"### System syntezy mowy\n",
"**Nazwa ang.:** Text To Speech (TTS)\n",
"\n",
"**Opis:** Moduł odpowiedzialny za zamianę tekstu na mowę.\n",
"\n",
"**Wejście:** Tekst\n",
"\n",
"**Wyjście:** Sygnał audio\n",
"\n",
"Zadanie\n",
"-------\n",
"Zaimplementować makiety dla analizatora języka naturalnego, monitora stanu dialogu, taktyki\n",
"dialogowej oraz generatora języka naturalnego.\n",
"\n",
"Makiety powinny realizować scenariusz, w którym użytkownik pyta agenta o to jak ma na imię.\n",
"\n",
"### Przykład\n",
"```\n",
"user: Cześć, jak masz na imię?\n",
"system: Witaj, nazywam się Dia.\n",
"```"
]
}
],
"metadata": {
"jupytext": {
"cell_metadata_filter": "-all",
"main_language": "python",
"notebook_metadata_filter": "-all"
}
},
"nbformat": 4,
"nbformat_minor": 5
}