Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Językwidziany„oczyma”komputera
13
Językinaturalnemająnastępującecechy:
¾nieregularneb,
¾niebezkontekstowec,
¾niemogąbyćzdefniowanezapomocąjakiejkolwiekformalnejgramatykid.
aPatrzartykułwWikipedii„Chomskyhierarchy”(https://en.wikipedia.org/wiki/Chomsky_hierarchy).
b
ShulyWintner„Englishisnotaregularlanguage”(http://cs.haifa.ac.il/~shuly/teaching/08/nlp/complexity.
pdf#page=20).
cShulyWintnerIsEnglishcontext-free?(http://cs.haifa.ac.il/~shuly/teaching/08/nlp/complexity.
pdf#page=24).
dPatrzpodrozdział1.11,„FormalandNaturalLanguages”,wksiążceHowtoThinkLikeaComputerScien-
tist:InteractiveEdition(https://runestone.academy/runestone/books/published/thinkcspy/GeneralIntro/
FormalandNaturalLanguages.html).
1.4.3.Prostychatbot
Zbudujmyszybkiiprostychatbot.Niebędziemiałdużychzdolnościibędziewymagał
wielemyślenianatematjęzykaangielskiego.Będzieciemusieliteżzakodowaćnastałe
wyrażeniaregularne,takabypasowałydosposobu,wjakiludziepróbującośpowie-
dzieć.Aleniemartwciesię,jeśliwydawamsię,żesaminiedoszlibyściedotakiegokodu
wPythonie.Nietrzebapróbowaćmyślećoróżnychsposobach,najakieludziemogą
cośpowiedzieć,jakrobimytowtymprzykładzie.Niebędziecienawetpisaćwyrażeń
regularnych(regeksów),abyzbudowaćwypasionegochatbota.Pokażemy,jakzbudo-
waćwłasnychatbotwdalszychrozdziałachbezkodowaniaczegokolwieknastałe.Nowo-
czesnychatbotmożeuczyćsię,czytając(przetwarzając)zestawtekstówpoangielsku.
Pokażemywdalszychrozdziałach,jaktorobić.
Tenchatbotdopasowującydowzorcówjestprzykłademchatbotabędącegopodścisłą
kontrolą.Tegotypuchatbotybyłypowszechne,zanimopracowanonowoczesnetech-
nikiuczeniasięchatbotów.Pokazanatuodmianapodejściazwiązanegozdopasowy-
waniemdowzorcówjestużywanawtakichchatbotachjakAlexaAmazonaiwinnych
wirtualnychasystentach.
NarazieutwórzmyFSM,wyrażenieregularne,któremożemówićjęzykiemzamków
cyfrowych(językiemregularnym).Możemyzaprogramowaćjetak,abyrozumiałzdania
wjęzykuzblokadą,jak„01-02-03”.Lepiejbędzie,jeślizrozumiepozdrowieniawrodzaju
„opensesame”(sezamieotwórzsię)lub„helloRosa”(cześćRosa).Istotnącechąprospo-
łecznegochatbotajestzdolnośćdoodpowiedzinapozdrowienie.Wliceumnauczyciele
częstoupominalimnie,żejestemniegrzeczny,ignorująctegorodzajupozdrowienia,
gdyśpieszyłemsięnalekcje.Zpewnościąniechcemy,abytakpostępowałnaszżycz-
liwychatbot.
Wprotokolekomunikowaniasięmaszynzdefiniowalibyśmyprostązasadęuzgad-
nianiazsygnałempotwierdzenia(
ACK
)pokażdymkomunikacieprzekazywanymtam
izpowrotemmiędzydwiemamaszynami.Alenaszemaszynybędąprowadzićinterakcję
zludźmi,którzymówiątakiezdaniajak„Goodmorning,Rosa”.Niechcemywysyłania
kolejnychcyknięć,sygnałówdźwiękowychanikomunikatów
ACK
,jakpodczassynchro-
nizacjimodemulubpołączeniahttpnapoczątkukonwersacji,lubsesjiprzeglądarki