dc.contributor.advisor | Kyppö, Jorma | |
dc.contributor.author | Heikkilä, Arttu | |
dc.date.accessioned | 2020-12-10T06:47:17Z | |
dc.date.available | 2020-12-10T06:47:17Z | |
dc.date.issued | 2020 | |
dc.identifier.uri | https://jyx.jyu.fi/handle/123456789/73084 | |
dc.description.abstract | Chatbotit ovat yleistyvä ratkaisu ihmisen ja tietokoneen väliseen vuorovaikutukseen. Tarve rakentaa ylläpidettäviä ja skaalautuvia keskustelevia ratkaisuja on kasvava, mutta ymmärrys perustavanlaatuisista teknologioista tarpeeseen on vähäistä. Tätä näkökulmaa tukee vähäinen kirjallisuus, yksinkertaistettujen alustaratkaisujen yleisyys, sekä ala-arvioisten chatbottien yleisyys. Tämä luo tarpeen ymmärtää ja kouluttaa, kuinka botit ovat pohjimmiltaan rakennettu. Tämä vie tarvittavan teorian lähemmäksi käytäntöä, joka tukee botin kehittäjää rakentamaan ylläpidettävää ja skaalautuvaa arkkitehtuuria.
Tämä tutkielma tarkastelee niitä perustavanlaatuisia teknologioita ja konsepteja, jotka saavat tietokoneen ymmärtämään ihmistä. Tapaustutkimusta hyödynnetään ymmärtämään yksityiskohtaisesti, kuinka jokseenkin piilotetut tekstiprosessointitekniikat saavat chatbotin ymmärtämään puhetta. Tapaustutkimusta pohjustaa kirjallisuuskatsaus tekstiprosessoinnista ja niiden yhtymisestä moderneihin chatbotteihin.
Yleisestä näkemyksestä tekoälyyn poiketen, chatbotit eivät ole monimutkaisia järjestelmiä. Moderni chatbot käyttää monia eri tekstiprosessointi ja koneälytekniikoita skaalautuvuuden ja suorituskyvyn saavuttamiseksi. Nämä ovat kuitenkin suhteellisen yksinkertaisia, ja tekninen ammattilainen pystyy helposti tekemään korjauksia ja muokkauksia näihin. Chatbot prosessoi käyttäjäsyötteen luonnollisen kielen prosessoinnin tekniikoilla, ja luokittelija luokittelee tuloksen ennalta määriteltyyn ’tarkoitukseen’. Toinen luokittelija antaa jatkotoimenpiteet, oli se sitten vastaus tai jokin muu. Tämänkaltaisin arkkitehtuurin ymmärtäminen tukee bottikehitystyötä, kun ongelmia tai tarpeita uusille ominaisuuksille ilmenee. | fi |
dc.description.abstract | Chatbots are an extremely prominent way to interact with a software system. The need to build maintainable that scalable systems is more present than ever, while the understanding of needed technologies is generally lacking. This is demonstrated by disconnected literature, the popularity of oversimplified building tools, and generally sub-par conversational agents. This provides a need to understand, and educate, how chatbots are built. This narrows down the gap between theory and practice to an applicable format, where a software developer could have a better stance at building maintainable conversational systems.
This thesis studies the underlying techniques and technologies that go in-to chatbot development. A case study is presented with source code to explore, to understand the somewhat hidden structures that go into understanding the user input. A literature review precedes a detailed view of the technologies in a real-life example.
Contrary to popular perception, this type of artificial intelligence is not complicated. A modern chatbot uses multiple different components to achieve bot scalability and performance. However, a lot of these technologies are fairly easy to understand and debug to a professional in the technical field. A chatbot processes the input text through NLP-techniques and assigns it to a predefined intent through a classifier. Another classifier is then used to determine proper actions, be it a response or custom software. Understanding this type of pipe-line can prevent technical overhead when fixing issues built on a black box. | en |
dc.format.extent | 72 | |
dc.format.mimetype | application/pdf | |
dc.language.iso | en | |
dc.rights | In Copyright | en |
dc.subject.other | conversational agent | |
dc.subject.other | natural language processing | |
dc.subject.other | natural language understanding | |
dc.subject.other | Rasa | |
dc.title | Natural language processing In chatbot development : how does a chatbot process language? | |
dc.type | master thesis | |
dc.identifier.urn | URN:NBN:fi:jyu-202012107024 | |
dc.type.ontasot | Pro gradu -tutkielma | fi |
dc.type.ontasot | Master’s thesis | en |
dc.contributor.tiedekunta | Informaatioteknologian tiedekunta | fi |
dc.contributor.tiedekunta | Faculty of Information Technology | en |
dc.contributor.laitos | Informaatioteknologia | fi |
dc.contributor.laitos | Information Technology | en |
dc.contributor.yliopisto | Jyväskylän yliopisto | fi |
dc.contributor.yliopisto | University of Jyväskylä | en |
dc.contributor.oppiaine | Tietojärjestelmätiede | fi |
dc.contributor.oppiaine | Information Systems Science | en |
dc.type.coar | http://purl.org/coar/resource_type/c_bdcc | |
dc.type.publication | masterThesis | |
dc.contributor.oppiainekoodi | 601 | |
dc.subject.yso | chattibotit | |
dc.subject.yso | luonnollinen kieli | |
dc.subject.yso | ohjelmistokehitys | |
dc.subject.yso | lähdekoodit | |
dc.subject.yso | kieli ja kielet | |
dc.subject.yso | koneoppiminen | |
dc.subject.yso | chatbots | |
dc.subject.yso | natural language | |
dc.subject.yso | software development | |
dc.subject.yso | source codes | |
dc.subject.yso | languages | |
dc.subject.yso | machine learning | |
dc.format.content | fulltext | |
dc.rights.url | https://rightsstatements.org/page/InC/1.0/ | |
dc.type.okm | G2 | |