Tekoälymenetelmä pakettien suodatukseen
Frosti, Markus (2020)
Frosti, Markus
2020
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2020101521348
https://urn.fi/URN:NBN:fi:amk-2020101521348
Tiivistelmä
Tämän työn tavoite oli kaksiosainen. Työssä selvitetään tekoälyn merkitystä yleisellä tasolla sekä halutaan hyödyntää joitakin tekoälyn oletettuja ominaisuuksia. Näistä ominaisuuksista pyritään ohjelmoimaan koodia, joka poistaa tarpeettomaksi katsottua materiaalia verkkoliikenneraporteista.
Ensimmäinen tutkimusongelma oli se, pystyykö verkkoanalysoijien raporteista suodattamaan pois turhaa tekstiä tekoälyn avulla. Tähän kysymykseen vastaus osoittautui myönteiseksi ja sen selvittämiseksi käytettiin NewtonSoft-nimistä ohjelmointikirjastoa, johon soveltuivat erityisesti JSON-muodossa olevat raportit. Toinen tutkimusongelma oli se, mitä kaikkea tekoäly tarkoittaa. Sitä pyrittiin tutkimaan erilaisten demonstraatioiden ja teorioiden avulla, jotka löytyivät valtaosin The Elements of AI -verkkokurssilta saaduista tiedoista ja TensorFlow-tekoälyrakennussovelluksen oppikirjasta.
Tutkimusmenetelmänä käytettiin kehittämistutkimusta, eli tavoitteena oli parantaa aikaisempaa toimintaa laadukkaammaksi matemaattisluonnontieteellisin keinoin. Tässä tapauksessa pyrittiin siis suunnittelemaan aikaisempi pakettien etsintä ja poisto raporteista helpommaksi ohjelmoimalla siihen sopiva koodi. Työ alkoi sopivia ohjelmointikirjastoja etsimällä. Lopulta huomattiin NewtonSoft-nimisen kirjaston hyödyt. Kirjaston toimintojen tutkimisen jälkeen lopputuloksena syntyi heikkoa tekoälyä mukaileva ohjelma, joka pystyy käyttäjän antamien sanojen perusteella poistamaan raporteista pakettien ilmentymiä. Annettavina sanoina toimivat raporttien pakettien tietoja kuvaavat sanat ja näiden tietojen arvot. Siinä on myös käänteistoiminto niin, että ohjelma säilyttää annettuja sanoja sisältävät paketit poistaen kaiken muun.
Johtopäätösten mukaan ohjelma on luotettava ja edelleen kehittämiskelpoinen sovellus, joka täyttää opinnäytetyön teoriaosuudessa kuvaillut ominaisuudet heikosta tekoälystä. Työn kehittämistä odotetaan jatkettavan TensorFlow-sovelluksen avulla. Opittua tekoälyn teoriaa pyritään soveltamaan tuleviin projekteihin. Koska työ oli oletettua haastavampi ja laajempi, siinä opittiin sivuhyötynä myös asiakirjojen muokkaamista erilaisissa formaateissa ohjelmoinnin avulla. The objective of the thesis was divided in two parts. The meaning of AI (artificial intelligence) in general will be examined in the work and some assumed features in AI will be utilized while programming code that erases unnecessary material from network traffic reports.
The first research problem was doing the filtering of unnecessary text from reports made by network traffic analyzers with AI. Another research problem was what AI actually means. The latter problem was to be researched with the help of different demonstrations and theories, which were mostly based on the material of an online course called “The Elements of AI” and the guide to an AI application called “TensorFlow”. The former problem was researched via building the actual program.
The research method was a design-based research. In this case, it meant that earlier invented packet search and removal from reports were made easier by programming the right code for them. The programming library called “NewtonSoft” was the most important factor for the code. After having investigated the documentation of the library, a program simulating weak AI that could remove instances of packets from JSON reports via inputs started to develop.
The conclusion was that the program was reliable with potential for further development, which met the requirements for a weak AI method described in the theory chapter of the thesis. The development of this program might be continued with the help of TensorFlow. The theory of AI studied in the thesis was found applicable to future projects. Due to the thesis having been wider and more challenging than initially assumed, editing documents in different formats with programming was also studied.
Ensimmäinen tutkimusongelma oli se, pystyykö verkkoanalysoijien raporteista suodattamaan pois turhaa tekstiä tekoälyn avulla. Tähän kysymykseen vastaus osoittautui myönteiseksi ja sen selvittämiseksi käytettiin NewtonSoft-nimistä ohjelmointikirjastoa, johon soveltuivat erityisesti JSON-muodossa olevat raportit. Toinen tutkimusongelma oli se, mitä kaikkea tekoäly tarkoittaa. Sitä pyrittiin tutkimaan erilaisten demonstraatioiden ja teorioiden avulla, jotka löytyivät valtaosin The Elements of AI -verkkokurssilta saaduista tiedoista ja TensorFlow-tekoälyrakennussovelluksen oppikirjasta.
Tutkimusmenetelmänä käytettiin kehittämistutkimusta, eli tavoitteena oli parantaa aikaisempaa toimintaa laadukkaammaksi matemaattisluonnontieteellisin keinoin. Tässä tapauksessa pyrittiin siis suunnittelemaan aikaisempi pakettien etsintä ja poisto raporteista helpommaksi ohjelmoimalla siihen sopiva koodi. Työ alkoi sopivia ohjelmointikirjastoja etsimällä. Lopulta huomattiin NewtonSoft-nimisen kirjaston hyödyt. Kirjaston toimintojen tutkimisen jälkeen lopputuloksena syntyi heikkoa tekoälyä mukaileva ohjelma, joka pystyy käyttäjän antamien sanojen perusteella poistamaan raporteista pakettien ilmentymiä. Annettavina sanoina toimivat raporttien pakettien tietoja kuvaavat sanat ja näiden tietojen arvot. Siinä on myös käänteistoiminto niin, että ohjelma säilyttää annettuja sanoja sisältävät paketit poistaen kaiken muun.
Johtopäätösten mukaan ohjelma on luotettava ja edelleen kehittämiskelpoinen sovellus, joka täyttää opinnäytetyön teoriaosuudessa kuvaillut ominaisuudet heikosta tekoälystä. Työn kehittämistä odotetaan jatkettavan TensorFlow-sovelluksen avulla. Opittua tekoälyn teoriaa pyritään soveltamaan tuleviin projekteihin. Koska työ oli oletettua haastavampi ja laajempi, siinä opittiin sivuhyötynä myös asiakirjojen muokkaamista erilaisissa formaateissa ohjelmoinnin avulla.
The first research problem was doing the filtering of unnecessary text from reports made by network traffic analyzers with AI. Another research problem was what AI actually means. The latter problem was to be researched with the help of different demonstrations and theories, which were mostly based on the material of an online course called “The Elements of AI” and the guide to an AI application called “TensorFlow”. The former problem was researched via building the actual program.
The research method was a design-based research. In this case, it meant that earlier invented packet search and removal from reports were made easier by programming the right code for them. The programming library called “NewtonSoft” was the most important factor for the code. After having investigated the documentation of the library, a program simulating weak AI that could remove instances of packets from JSON reports via inputs started to develop.
The conclusion was that the program was reliable with potential for further development, which met the requirements for a weak AI method described in the theory chapter of the thesis. The development of this program might be continued with the help of TensorFlow. The theory of AI studied in the thesis was found applicable to future projects. Due to the thesis having been wider and more challenging than initially assumed, editing documents in different formats with programming was also studied.