KANDIDAATINTYÖ. Anne Karppinen Juha Nikula Kalle Lyttinen

Koko: px
Aloita esitys sivulta:

Download "KANDIDAATINTYÖ. Anne Karppinen Juha Nikula Kalle Lyttinen"

Transkriptio

1 KANDIDAATINTYÖ Anne Karppinen Juha Nikula Kalle Lyttinen TIETOTEKNIIKAN OSASTO TIETOTEKNIIKKA 2012

2 KANDIDAATINTYÖ Semanttinen tietorakenne sulautetulle järjestelmälle Anne Karppinen Juha Nikula Kalle Lyttinen Ohjaajat: Juha Röning, Teemu Tokola TIETOTEKNIIKAN OSASTO TIETOTEKNIIKKA 2012

3 Karppinen A., Nikula J., Lyttinen K. (2012) Semanttinen tietorakenne sulautetulle järjestelmälle. Oulun yliopisto, Tietotekniikan osasto. Kandidaatintyö, 33 s. TIIVISTELMÄ Semanttisen muistin mallintaminen on varsin haastava tehtävä, ja monet suurellakin budjetilla toteutetut projektit ovat jääneet verrattain vaisuihin tuloksiin. Semanttinen tiedontallennus on tehokasta, ja siksi ihminen muodostaa aivoissaan semanttisia verkkoja. Näiden verkkojen avulla tietojen väliset relaatiot pysyvät hyvin järjestyksessä. Tällainen tiedon tallentaminen on kuitenkin kaukana normaalisti tietokoneissa käytetyistä tallennustavoista. Tässä kandidaatintyössä toteutettiin ohjelma, joka järjestää tietoa semanttiseen puurakenteeseen ja oppii uutta tietoa käyttäjältä luonnollisella kielellä käytettävän rajapinnan kautta. Työssä onnistuttiin ennen kaikkea tietorakenteen ja verkon toteutuksessa. Avainsanat: semanttinen muisti, luonnollinen kieli, oppiminen, tekoäly

4 Karppinen A., Nikula J., Lyttinen K. (2012) A Semantic Data Structure for an Embedded System. Department of Information Engineering, University of Oulu, Oulu, Finland. Bachelor s thesis, 33 p. ABSTRACT Modelling semantic memory is a challenging task and even big budget projects have not been very successful. Gathering semantic information is efficient and that is why human beings form semantic networks in their brain. With the help of these networks, relations between matters stay in clear order. However, semantic data storing is not the most common way of data storing used in computers. In this bachelor s thesis we designed and implemented a program which organizes information to a semantic treemodel and learns new information from natural language user inputs. In this thesis we succeeded especially in data structure and network implementation. Keywords: semantic memory, natural language, learning, artificial intelligence

5 SISÄLLYSLUETTELO TIIVISTELMÄ ABSTRACT SISÄLLYSLUETTELO ALKULAUSE LYHENTEIDEN JA MERKKIEN SELITYKSET 1. JOHDANTO 9 2. TAUSTA Laitteet, jotka ajattelevat kuin ihmiset Laitteet, jotka käyttäytyvät kuin ihmiset Laitteet, jotka ajattelevat rationaalisesti Laitteet, jotka käyttäytyvät rationaalisesti Semanttinen muisti ja sen määritelmä Luonnollisen kielen käsittely Syntaktinen eli lauseopillinen kielenymmärrys Semanttinen eli merkitysopillinen kielenymmärrys Kotus-sanalista Käytetty laitteisto RATKAISUN KUVAUS Johdanto Käyttöliittymä Verkkorajapinta ja puskuri Kyselyihin vastaaminen Kyselyn lähettäminen ja vastauksen vastaanottaminen Tekoäly Yhden ja kahden sanan syöte Kolmen sanan syötteet Tietorakenne SAAVUTUKSET Toiminnallisuus Testaussuunnitelma Käyttöliittymätestaus Verkkotestaus Kielenymmärrystestaus Tietorakennetestaus Testien tulokset Käyttöliittymätestien tulokset Verkkotestien tulokset

6 Kielenymmärrystestien tulokset Tietorakennetestien tulokset Pohdinta PROJEKTIN KUVAUS Työnjako Ajankäyttö TULEVA KEHITYS YHTEENVETO LÄHTEET LIITTEET Käyttöliittymäkyselylomake

7 ALKULAUSE Tämän kandidaatintyön eri vaiheissa olemme saaneet apua useilta henkilöiltä, joita haluamme nyt kiittää. Kiitos kuuluu kaikille ryhmän jäsenille, kandidaatintyön ohjaajille, ystäville ja heille, jotka osallistuivat työhömme laitteen testausvaiheessa ja oikolukivat dokumentaation. Lisäksi haluamme kiittää niitä, jotka ovat jaksaneet tukea meitä projektin aikana. Oulu, 17. kesäkuuta 2012 Anne Karppinen Juha Nikula Kalle Lyttinen

8 LYHENTEIDEN JA MERKKIEN SELITYKSET EIR FIFO GPS Kotus NLP Elektor Internet Radio First In, First Out General Problem Solver Kotimaisten kielten keskus Natural Language Processing

9 9 1. JOHDANTO Ihminen on ajatteleva olento, joka voi oppia uusia asioita. Ihmisen oppimisprosessi tapahtuu aivoissa, jossa uusi tieto jäsennetään järkeväksi kokonaisuudeksi [1]. Aivojen hermoverkot muuttuvat ja voimistuvat sitä mukaa, kun ihminen oppii uusia asioita eli muodostaa uusia muistijälkiä [2]. Muistiliiton mukaan oppimisessa on kyse aktiivisesta tiedon muokkaamisesta, jäsentämisestä ja merkitysten analysoimisesta [3]. Ihminen siis pystyy muokkaamaan ja jäsentelemään oppimiaan asioita aivoissaan. Tämä on hyvä ominaisuus, koska jäsentämällä asiat hahmottuvat paremmin. Siksi esimerkiksi ajatuskartan tekeminen usein auttaa asioiden ymmärtämistä sekä muistamista. Jo opittujen asioiden muokkaamiskyky on myös tarpeellinen taito. Kun vanhoista asioista saadaan uutta ja parempaa tietoa, on hyvä, että asiat voidaan päivittää aivoissa ajantasalle. Entä olisiko kaikki tämä mahdollista myös tietokoneohjelmalle? Voisiko sekin jäsentää ja muokata tietoa tietokannassaan samalla tavalla kuin ihminen? Ihminen ei tiedä maailmasta mitään syntyessään, mutta pikkuhiljaa elämänsä aikana hän kykenee aistien ja muistin avulla kasaamaan itselleen verrattain suuren tietomäärän. Samalla kun ihminen jäsentää oppimansa tiedot, hän ymmärtää myös asioiden välisiä relaatioita. Ohjelman, joka ei tiedä maailmasta mitään, tulisi siis opetella jokainen asia alusta alkaen ilman aisteja. Jotta tietokoneohjelma voisi oppia samalla tavalla kuin ihminen, senkin tulisi ymmärtää asioiden välisiä suhteita. Ihmisen kaltaiseen tiedon tallennukseen ja asioiden välisten relaatioiden ymmärtämiseen tarvitaan semanttista muistia [4]. Semanttinen muisti mahdollistaa ihmisen kaltaisen oppimisen, asioiden säilyttämisen ja niiden mielekkään jäsentämisen jo olemassa olevaan tietoon. Oppimisen yhtenä tärkeänä osana on myös kielen ymmärtäminen. Ohjelmalle luonnollisen kielen ymmärtäminen on vaikeaa, koska etenkin suomen kielessä on monimutkaisia lauserakenteita. Näiden lauserakenteiden sekä sanojen merkitysten ymmärtäminen on tärkeä osa oppivaa tekoälyä. Tässä kandidaatintyössä perehdytään tekoälyyn, semanttiseen muistiin ja luonnollisen kielen käsittelyyn. Dokumentissa käydään läpi tekoälyn erilaisia määritelmiä, joita hyödynnetään laitteen toteutuksessa. Tämän lisäksi esitellään semanttisen muistin rakennetta ja luonnolisen kielen ymmärryksen eri tasoja. Dokumentissa esitellään työssä käytetty ratkaisumenetelmä ja tulokset, joita ratkaisulla saavutettiin. Lopuksi käydään läpi testaustuloksia ja pohditaan, kuinka laitetta voitaisiin kehittää tulevaisuudessa.

10 10 2. TAUSTA Tekoälyn tutkimus on verrattain uusi tieteenala. Tekoälyn tutkiminen ja toteuttaminen alkoivat toisen maailmansodan jälkeen. Tekoälyn englanninkielinen termi artificial intelligence keksittiin vuonna 1956 [5]. Tekoäly sisältää useita eri tutkimusalueita yksinkertaisista tehtävistä vaativiin toteutuksiin. Tekoälyä ei hyödynnetä ainoastaan tietotekniikassa, vaan sitä käytetään myös jokapäiväisissä laitteissa ja suurilla tehdaslinjoilla. Esimerkiksi lasten lelut ovat nykyään hyvin älykkäitä [6] ja tehtaissa tuotantoa voidaan ohjata älykkäillä laitteilla [7]. Tekoälyllä ei ole yhtä täydellistä määritelmää. Stuart Russell ja Peter Norvig esittelevät kirjassaan [5] tekoälyn erilaisia määritelmiä, jotka voidaan luokitella neljään eri kategoriaan: Laitteet, jotka ajattelevat kuin ihmiset Uusi jännittävä pyrkimys saada tietokoneet ajattelemaan... koneita, joilla on järki, sanatarkasti määriteltynä (Haugeland J.,1985) [8] Laitteet, jotka käyttäytyvät kuin ihmiset Taito luoda koneita, jotka kykenevät suorittamaan toimintoja, joihin tarvittaisiin ihmisten älykkyyttä (Kurzweil R., 1990) [9] Laitteet, jotka ajattelevat rationaalisesti Tutkimus mielen kykyjen toteuttamisesta laskennallisten mallien kautta (E. Charniak and C. McDermott, 1985) [10] Laitteet, jotka käyttäytyvät rationaalisesti Tietotekniikan tutkimuksen haarauma, jossa keskitytään automaattisen älykkyyden käyttäytymiseen (G. F. Luger and W. A. Stubblefield, 1993) [11] Mikään näistä kategorioista ei yksinään riitä kuvaamaan tämän työn toteutusta, vaan eri kategorioita sovelletaan työn eri osa-alueissa. Näiden luokitusten lisäksi työssä tärkeitä käsitteitä ja välineitä ovat semanttinen muisti, luonnollisen kielen tulkinta, Kotussanalista sekä käytetty laitteisto Laitteet, jotka ajattelevat kuin ihmiset Ennen kuin voidaan sanoa, että laite ajattelee kuin ihminen, tulee määritellä tarkasti, kuinka ihminen ajattelee. Ihmisen ajattelua voidaan tutkia kahdella tavalla [5]: psykologisten kokemusten kautta tai introspektion kautta eli yrittäen tavoittaa omat ajatuksemme ennen kuin ne unohtuvat. Russel toteaa Kun meillä on riittävän tarkka teoria ajattelusta, on se mahdollista ilmentää tietokoneohjelmana. [5] Ihmisen kaltaista ajattelua on mallinnettu yleisellä ongelman ratkaisijalla.yleinen ongelman ratkaisija on laite, joka ajattelee ja ratkoo loogisia ongelmia samalla tavalla kuin ihminen. Vuonna 1961 A. Newell ja H. A. Simon kehittivät GPS-ohjelman, joka ratkaisee ongelmia, jotka voidaan esittää objektien ja operaattoreiden avulla [12]. Newellin mukaan operaattori on sellainen asia, jota voidaan soveltaa tiettyihin objekteihin tuottamaan erilaisia objekteja [12].

11 Laitteet, jotka käyttäytyvät kuin ihmiset Vuonna 1950 Alan Turing suunnitteli Turing-kokeen, jonka avulla oli tarkoitus saavuttaa tyydyttävä älykkyyden määritelmä. Turingin mukaan älykäs käyttäytyminen on kyky saavuttaa ihmisen tasoinen suoritus kaikissa kognitiivisissa tehtävissä, riittävästi huijatakseen kuulustelijaa [5]. Turing-kokeessa ihminen kommunikoi laitteen tai ihmisen kanssa kirjoituskoneen välityksellä. Laite on läpäissyt Turing-kokeen, mikäli testaaja ei osaa erottaa, kommunikoiko hän koneen vai ihmisen kanssa. Kokeessa laitteen täytyy: pystyä kommunikoimaan menestyksekkäästi jollakin ihmiskielellä osata esittää älykkyytensä jakamalla tietoaan käyttää tietoaan vastaamalla kysymyksiin ja tekemällä uusia johtopäätöksiä sopeutua uusiin olosuhteisiin sekä huomata ja yleistää erilaisia malleja 2.3. Laitteet, jotka ajattelevat rationaalisesti Rationaalinen ajattelu johtaa loogiseen ajatteluun, jossa yhdestä asiasta voidaan päätellä ja olettaa isompia kokonaisuuksia. Esimerkiksi voidaan päätellä labradorinnoutajan olevan nisäkäs, koska labradorinnoutaja on koira ja kaikki koirat ovat nisäkkäitä luvun loogikot kehittivät tarkan notaation kaikenlaisille väittämille ja relaatioille. Jo vuonna 1965 oli olemassa ohjelmia, jotka pystyivät periaatteessa ratkaisemaan minkä tahansa ratkaistavissa olevan ongelman kuvattuna loogisella notaatiolla. [5] Lähestymistavassa on myös ongelmia. Ei ole helppoa kääntää vapaamuotoista tietoa tarkkaan loogiseen notaatioon varsinkaan, jos tieto ei ole täysin varmaa. Lisäksi on eri asia ratkaista ongelma teoriassa kuin ratkaista se käytännössä. Nämä ongelmat ovat esillä myös muilla ratkaisutavoilla järkeilevillä järjestelmillä.[5] 2.4. Laitteet, jotka käyttäytyvät rationaalisesti Rationaalisesti käyttäytyvien laitteiden voidaan olettaa esimerkiksi toimivan itsenäisesti, tarkkailevan ympäristöään, säilyttävän toimintakykynsä pitkän aikajakson ajan sekä kykenevän mukautumaan muutoksiin. Niiden toteuttamisessa tarvitaan myös rationaalisesti ajattelevien laitteiden toteutuksia. Oikeiden päätelmien tekeminen on usein osa rationaalisia laitteita. Toisaalta laitteiden täytyy myös pystyä toimimaan tilanteissa, joissa ei ole yhtä täysin varmaa tapaa ratkaista ongelma. [5] 2.5. Semanttinen muisti ja sen määritelmä Ihmisen kaltainen ymmärrys maailmasta olisi mahdotonta ilman semanttista muistia, tiedon järjestelmällistä tallennusta sekä käsitteitä ja ymmärrystä niiden välisistä suhteista. Julian Szymanski määrittelee semanttisen muistin pysyväksi käsitteellisen tiedon varastoksi. Pysyvyys tarkoittaa sitä, että tietoa on kerätty koko systeemin elämän

12 12 ajan, vaikkakin vanha tieto on voitu syrjäyttää tai korjata uudella tiedolla. Käsitteellisyys tarkoittaa sitä, että muisti sisältää semanttisia suhteita sanojen välillä ja käyttää niitä luodessaan uusien käsitteiden määritelmiä [13]. Tietokoneen tai laitteen muistiin liittyy oleellisesti tietorakenne. Semanttisen tietorakenteen voi mallintaa kahdella tavalla: puurakenteella tai verkolla. Collins ja Quillian esittelevät puumallin semanttisen tiedon varastoimiseksi tietokoneen muistiin [14]. Mallissa asiat järjestetään hierarkkisesti puumallin mukaan. Jokaisella puun solmulla on erilaisia ominaisuuksia, ja nämä ominaisuudet ovat myös solmun lapsisolmuilla, mikäli lapsisolmussa ei ominaisuutta erikseen kielletä. Puumalli kuvassa 1 kuvaa hyvin asioiden välistä olla-relaatiota, mutta siinä on vaikea esittää muunlaisia suhteita asioiden välillä. Eläin ihollinen hengittävä Lintu muniva höyhenpeite Kala eväkäs ui kidukset Kanarialintu laulava keltainen Pingviini pienikokoinen lentokyvytön Lohi vaaleanpunainen syötävä Kuva 1. Semanttinen puumalli Toinen tapa rakentaa semanttinen muisti on verkko. Semanttisesti linkittynyt verkko muodostuu solmuista ja semanttisista linkeistä näiden solmujen välillä [15]. Tällä tavoin kootussa verkossa on erilaisia relaatioita solmujen välillä. Solmuilla on myös ominaisuuksia samalla tavalla kuin puurakenteessa. Semanttisen muistin mallintaminen verkkona toimii, kun halutaan, että solmujen välillä on muitakin relaatioita kuin olla-relaatio. Verkkorakenteella voidaan esittää mitä tahansa relaatioita, esimerkiksi lintu syö matoja, koira heiluttaa häntäänsä sekä ihminen ratsastaa hevosella. Semanttisen muistin verkkomallinen kuvaaminen on siis kattava ja toimiva monenlaisissa tilanteissa. Semanttisen muistin mallintamiseen voi siis käyttää kahta edellä mainittua menetelmää. Käytti hyväkseen kumpaa menetelmää vain, tulee huomioida muistin johdonmukainen rakentuminen. Kun muistiin tallennetaan uutta tietoa, täytyy pitää huoli siitä, ettei siellä olevia asioita tallenneta uudestaan. Tällä tavalla vältytään samojen asioiden päällekkäisyyksiltä. Samalla tulee myös tarkistaa, että muistin hierarkkinen rakenne säilyy. Esimerkiksi jos pitää paikkaansa, että leijona on nisäkäs, silloin nisäkäs on leijona ei voi enää pitää paikkaansa. Jos tällaisia virheitä tapahtuu muistiin tallentamisessa, koko muistin rakenne kärsii. Samalla muistiin tulee ristiriitoja, joita voi olla vaikea korjata jälkeenpäin.

13 13 kissaeläin tiikeri kala syödä olla kuulua jääkarhu kissa omistaa seepra raidallinen osata koira turkki ihminen uida Kuva 2. Semanttinen verkkomallinnus 2.6. Luonnollisen kielen käsittely Luonnollisen kielen käsittely (NLP) on tekoälyn tutkimuksen osa-alue, joka tutkii, kuinka tietokone voi ymmärtää luonnollista kieltä [16]. NLP:n tutkimus alkoi jo vuonna 1940 [17]. NLP-tutkimuksessa tähdätään ymmärrykseen siitä, kuinka ihminen käyttää ja ymmärtää kieltä. Tämän tiedon avulla voidaan kehittää erilaisia työkaluja ja tekniikoita, joiden avulla saadaan kone ymmärtämään luonnollista kieltä ja suoriutumaan sen avulla erilaisista tehtävistä kieltä käyttäen [16]. Lähes jokaisella NLP-järjestelmällä on kielioppi ja siihen liittyvä jäsentelijä [18]. Kielioppi on päättyvä määrittely mahdollisesti päättymättömälle määrälle lauseita. Jäsentelijä on algoritmi, joka analysoi lauseen ja muodostaa yhden tai useamman määritelmän lauseelle kieliopin mukaisesti. Kieliopin tulee siis määritellä rakenne, jota syötteen täytyy noudattaa. Tämän hyvin määritellyn rakenteen ansiosta jäsentelijä osaa toimia oikein. Joshin mukaan rakenteelliset määritelmät ovat välttämättömiä jatkokäsittelyn kannalta esimerkiksi semanttisen tulkinnan vuoksi [18]. Paras menetelmä esitellä luonnollisen kielen todellista käsittelyä on lähestyä asiaa kielen eri tasojen näkökulmasta. Kielen ymmärtäminen voidaan jakaa seuraaviin tasoihin [17]: fonologinen eli äänneopillinen morfologinen eli muoto-opillinen leksikaalinen eli sanastollinen

14 14 syntaktinen eli lauseopillinen semanttinen eli merkitysopillinen diskursaalinen eli keskustelunanalyyttinen pragmaattinen eli käytäntövaltainen Tässä työssä kieltä käsiteltiin etenkin syntaktisesta eli lauseopillisesta ja semanttisesta eli merkitysopillisesta näkökulmasta Syntaktinen eli lauseopillinen kielenymmärrys Syntaktinen kielenymmärryksen taso analysoi lauseessa olevia sanoja ja lauseen rakennetta [17]. Syntaktisen ymmärryksen toteuttaminen vaatii sekä kielioppia että jäsentelijää. Kieliopin noudattaminen on tärkeää, koska muussa tapauksessa jäsentelijä ei osaa tulkita lausetta oikein. Haastava tapaus on esimerkiksi se, kun käyttäjä syöttää laitteelle lauseet leijona on eläin ja eläin on leijona. Lauseet eroavat vain syntaksiltaan mutta antavat silti erilaisen merkityksen [17]. Jäsentelijä rakentuu ennalta määrätyn kieliopin perusteella ja sen mukaan tulkitsee lauseen sisällön, vaikka ei tunnistaisikaan yksittäisiä sanoja. Esimerkiksi syötteessä Koira on nisäkäs jäsentelijä ymmärtää, että jokin asia (tässä tapauksessa koira) on jotain (eli nisäkäs), ja tekee tämän perusteella ennalta määrätyt toimenpiteet Semanttinen eli merkitysopillinen kielenymmärrys Semanttinen käsittely määrittelee lauseiden mahdolliset merkitykset keskittymällä lauseen sanojen väliseen vuorovaikutukseen [17]. Tämän tason kielenymmärtämiseen sisältyy sanojen semanttista täsmennystä useilla eri merkityksillä. Semanttinen täsmennys mahdollistaa monimerkityksisille sanoille vain yhden merkityksen, jonka tulee ilmetä lauseesta. Esimerkiksi sana lehti voi tarkoittaa sekä sanomalehteä että puussa olevaa lehteä. Tällaiset sanat voidaan tulkita yksiselitteisesti, kun lauseen loppuun tulee täsmennys siitä, mistä tarkalleen on kyse. Sanan merkitys voi ilmetä myös tekstin yleisestä kontekstista [17], mutta tässä toteutuksessa se ei ollut mahdollista Kotus-sanalista Kotimaisten kielten keskus on tutkimuslaitos, jossa tutkitaan kotimaisia kieliä eli suomea ja ruotsia. Lisäksi tutkimuslaitos koordinoi saamen kielten, romanikielen ja viittomakielten lautakuntien työtä [19]. Kotuksen toimintaan kuuluu esimerkiksi sanakirjojen tekemistä sekä kielen- ja nimistönhuoltoa. Kotus-sanalista on tutkimuskeskuksen julkaisema taivutustiedoin täydennetty nykysuomen sanalista. Sanalistan tarkoitus on toimia apuvälineenä suomen kieltä käsittelevien tietokoneohjelmien ja suomenkielisten käyttöliittymien kehitystyössä [20].

15 Käytetty laitteisto Työn laitteistona käytettiin Ethernut EIR -alustaa [21] yhdistettynä monitoiminnalliseen IO-alustaan, johon kuului näppäimistö, ohjausvipu (joystick), liitin mikrofonille sekä kiihtyvyysmittari. Kuitenkaan työssä ei käytetty kyseistä IO-alustaa, vaan laitetta ohjattiin komentoriviltä, joka toimi PC:llä pyörivässä virtuaalikoneessa.

16 16 3. RATKAISUN KUVAUS 3.1. Johdanto Työ ratkaistiin käyttämällä hyväksi aiempia toteutuksia ja soveltamalla yleisiä menetelmiä. Aluksi etsittiin semanttisesta muistista tehtyjä käytännön sovelluksia. Koska mitään tähän työhön sopivaa ei löydetty, päätettiin suunnitella toteutus itse. Toteutusta suunnitellessa otettiin huomioon erilaiset tekoälyn määritelmät [5]. Mikään näistä määritelmistä ei onnistunut yksin kattamaan koko työtä, vaan niitä sovellettiin enemmän tai vähemmän toteutuksen eri osa-alueissa. Eniten työ vastaa määritelmää laitteesta, joka käyttäytyy kuin ihminen. Työssä laite suorittaa toimintoja, joihin tarvitaan ihmisten älykkyyttä [9]. Näihin toimintoihin kuuluvat oppiminen, tiedon jäsentäminen, kommunikointi muiden laitteiden kanssa sekä ihmisen ja koneen välinen vuorovaikutus käyttöliittymän avulla. Työn ohjelmistoratkaisu päätettiin jakaa neljään osaan: Käyttöliittymä Verkkorajapinta ja puskuri Tekoäly Tietorakenne Syöte Tuloste Käyttöliittymä Verkkorajapinta Puskuri Tekoäly Tietokanta 1. Kysely verkosta ja vastaus verkosta 2. Kysely verkkoon ja vastaus verkkoon 3. Käyttäjän kyselyt ja vastaukset käyttäjälle 4. Tietokantahaut Pääsäie Verkkosäie Käyttöliittymäsäie Kuva 3. Yleinen ohjelmistoratkaisu

17 Käyttöliittymä Laitteen käyttöliittymä suunniteltiin tavalliseksi konsolisyötteeksi. Laitetta ohjataan Tera Term -konsoli-ikkunan kautta. Ohjaussyötteet ovat yksinkertaisia yksi-, kaksitai kolmesanaisia suomenkielisiä lauseita, joiden avulla käyttäjä voi tallentaa tietoa laitteen tietokantaan tai tehdä kyselyjä tietokannasta. Käyttäjälle laitteesta näkyvät vain käyttäjäsäikeen tulosteet. Käyttäjäsäie ottaa Tera Termista käyttäjän kirjoittamaa syötettä kirjain kerrallaan ja tulostaa niitä sitä mukaa näytölle. Tällä tavalla varmistetaan, että käyttäjä näkee, mitä kirjoittaa, ja voi askelpalauttimella pyyhkiä kirjoittamiaan kirjaimia. Kun käyttäjä lopulta syöttää syötteen painamalla rivinvaihtopainiketta, käyttäjäsäie siirtää syötteen puskuriin. Pääsäie tarkistaa puskurin ja välittää viestin jäsentelijälle, joka jäsentelee syötteen. Jäsentelyn jälkeen tekoäly toimii syötteen mukaan. Se voi joko hakea tietokannasta käyttäjän pyytämää tietoa, lähettää kyselyn verkkoon tai se voi lisätä käyttäjän syöttämän tiedon tietokantaan. Kun jäsentelijä on lähettänyt vastauksen takaisin pääsäikeelle, pääsäie siirtää vastauksen puskuriin. Käyttäjäsäie noutaa vastauksen puskurista ja tulostaa käyttäjälle. Puskurin ansiosta käyttäjä voi kirjoittaa useampia syötteitä kerrallaan eikä vastausta tarvitse jäädä odottamaan. Ei syötettä Syöte Siirrä syöte puskuriin Tarkista, onko käyttäjältä saapunut rivinvaihtoa Hae vastaus puskurista ja tulosta käyttäjälle Vastaus Siirrä vastaus puskuriin Pääsäie hakee syötteen puskurista ja jäsentelijä suorittaa tarpeelliset toimenpiteet. Kuva 4. Käyttöliittymän tietovuokaavio 3.3. Verkkorajapinta ja puskuri Verkon vaatimuksena ohjelmalle oli SNMP-protokollan toteuttaminen. SNMP-viestikehys on toteutettu Douglas Brueyn kirjoittaman esittelyn [22] avulla. Verkkorajapinnan toteutuksessa käytettiin myös hieman hyväksi tekoälyn määritelmää laitteena, joka käyt-

18 18 täytyy rationaalisesti. Laite tarkkailee ympäristöään ja vastaanottaa muilta laitteilta tulevia viestejä ja on valmiina vastaamaan niihin. SNMP-agentilla keskustellaan muiden laitteiden kanssa. Viestitykseen käytetään SNMP-protokollan GetRequest- ja GetResponse-viestejä. GetRequest-viestillä lähetetään tiedustelu sanalle, jota ei ole löytynyt omasta tietokannasta. Tähän kyselyyn saadaan muilta vastaus GetResponse-viestillä. GetResponse-viestillä myös vastataan muiden toteutuksien kyselyihin. Toteutuksessa muita laitteita palvellaan aina, kun on aikaa. Käyttäjää palvellaan ensisijaisesti. Tarkista, onko verkosta saapunut paketteja Ei ole On Ei ole Tarkista, onko paketin muoto validi On Siirrä saapuneen paketin viesti puskuriin Tarkista, onko puskurissa verkkoon lähetettäviä viestejä On Lähetä jonon ensimmäinen viesti verkkoon Ei ole Siirry alkuun Kuva 5. Verkkorajapinnan tietovuokaavio Kyselyihin vastaaminen Kun laite saa verkosta GetRequest-viestin, se tarkistaa, että viesti on SNMP-muotoinen ja jäsentelee sen. Viestistä otetaan talteen yhteisötunnus, pyyntötunniste sekä varsinainen viesti. Näistä tiedoista muodostetaan ohjelman ymmärtämä tietorakenne, joka puskuroidaan FIFO-puskuriin. Tekoäly ottaa puskurista kyselyt ja käsittelee ne. Kysymys annetaan tekoälyssä sijaitsevalle jäsentelijälle, joka jäsentelee kysymyksen ja etsii vastauksen tietokannasta samaan tapaan kuin se etsii vastauksen käyttäjän syötteeseen. Löytynyt vastaus siirretään toiseen FIFO-puskuriin, josta verkkosäie ottaa sen ja lähettää vastauksen sille laitteelle, jolta kysely tuli. Mikäli vastausta ei löydy, laite ei lähetä verkkoon mitään Kyselyn lähettäminen ja vastauksen vastaanottaminen Verkosta tulleiden viestien avulla laite oppii uusia asioita. Kun käyttäjältä tulee kysely asiasta, johon ei ole vastausta laitteen omassa tietokannassa, siirretään käyttäjältä tullut kysely FIFO-puskuriin. Puskurista verkkosäie ottaa kyselyn ja lähettää sen GetRequest-viestinä verkkoon. Kun saadaan vastaus, verkkosäie jäsentelee saamansa

19 19 GetResponse-viestin. Varsinainen viesti siirretään jälleen FIFO-puskuriin, josta tekoäly ottaa sen. Tekoäly jäsentelee viestin ja tallentaa sen sisältämän informaation tietokantaansa sekä välittää käyttäjäsäikeelle vastauksen tulostettavaksi Tekoäly Tekoälyn toteuttaminen aloitettiin tekemällä lauserakenteiden jäsentelyfunktiot. Jäsentelyfunktiot tarkistavat lauseen rakenteen ja tekevät tarvittavat tietokantahaut lauseen sisällön perusteella. Työssä hyödynnettiin Kotus-sanalistaa suomenkielisten sanojen perusmuodon tunnistamisessa. Jos sana löytyy listasta, tiedetään, että se on jo valmiiksi perusmuodossaan eikä sitä enää tarvitse taivuttaa. Mikäli sana ei ole perusmuodossa laite yrittää taivuttaa sen perusmuotoon taivutusfunktioiden avulla. Perusmuotoon tallentaminen helpottaa tietokantahakuja ja tietokantaan tallennusta. Jäsentelyfuntio jaettiin kahteen erilaiseen osaan: yhden ja kahden sanan syötteiden sekä kolmen sanan syötteiden jäsentelyyn. Aina syötteen saadessaan jäsentelyfunktio tarkistaa, löytyvätkö syötteen sanat Kotus-sanalistasta eli ovatko sanat perusmuodossa. Jos sana ei ole perusmuodossa, taivutusfunktio yrittää taivuttaa sanan perusmuotoon. Taivutettu sana tarkistetaan uudelleen Kotus-sanalistasta. Jos sana löytyy sanalistasta, voidaan todeta taivuttamisen onnistuneen ja voidaan jatkaa jäsentelyä. Jos sana ei vieläkään löydy sanalistasta, keskeytetään jäsentely ja pyydetään käyttäjää antamaan syötteet perusmuodossa Yhden ja kahden sanan syöte Yksisanaisen syötteen saadessaan jäsentelyfunktio tarkistaa, onko se tallennettu tietokantaan solmuna tai ominaisuutena. Jos sana löytyy tietokannasta solmuna, funktio hakee tietokannasta kaikki sanaa vastaavan solmun ominaisuudet sekä solmun vanhemman. Jos sana löytyy tietokannasta ominaisuutena, funktio hakee kaikki solmut, joilla on kyseinen ominaisuus. Tietokannasta tehtyjen hakujen tulokset jäsentelyfuntio välittää pääsäikeelle, joka tulostaa ne. Jos sanaa ei löydy tietokannasta, jäsentelyfunktio tekee verkkokyselyn kyseiselle sanalle ja vastaanottaa sekä käsittelee vastauksia kolmen sekunnin ajan. Jos verkkokyselyn saamista vastauksista on opittu uutta informaatiota, tulostetaan uusi opittu tieto käyttäjälle. Kaksisanaiset syötteet ovat muotoa kerro X:stä. Kaksisanaisten syötteiden käsittely ei sinällään siis eroa millään tavalla yksisanaisten syötteiden käsittelystä. Itse syöte on ymmärrettävämpää suomen kieltä, mutta tekoälyn logiikka toimii samalla tavalla Kolmen sanan syötteet Laitteen ymmärtämät kolmen sanan lauseet voidaan jakaa kahteen osaan: kysyviin ja tietoa tallentaviin lauseisiin. Tietoa tallentavan lauseen tulee olla muotoa X on Y eli esimerkiksi kissa on eläin. X on Y:n logiikka on kuvattu kuvassa 6.

20 20 Onko X-sana tietokannassa? Ei Onko Y-sana tietokannassa solmuna? Ei Luo uusi solmu X ja aseta Y-sana sen atribuutiksi. On On Onko X-sanalla vanhempaa? On Ei Onko Y-sana tietokannassa solmuna? On Ei Tee uusi solmu X ja aseta se Y:n lapsisolmuksi. Onko Y-sana tietokannassa solmuna? Lisää Y-solmu X- solmun vanhemmaksi. Lisää X:lle uusi attribuutti Y-sana. On Ei Onko Y-solmu X- solmun yläpuolella puurakenteessa. Lisää Y-sana X- solmun attribuutiksi. On Ei Älä tee mitään. Onko X-solmu Y- solmun yläpuolella puurakenteessa? Ei Lisää Y-sana X- solmun attribuutiksi. On Älä tee mitään. Kuva 6. Olla-relaation tekoälypolku Kysyvät kolmen sanan lauseet voivat olla muotoa onko X Y tai mikä on X. Mikä-sanan tilalle on mahdollista syöttää myös sanat millainen, minkälainen ja mitä. Ensimmäisen lauseen onko X Y tapauksessa jäsentelijä tarkistaa ensin, onko X-sana omassa tietokannassa. Mikäli ei ole, lähetetään kysely verkkoon ja otetaan vastauksia vastaan kolmen sekunnin ajan. Jos X-sana kuitenkin löytyy omasta tietokannasta, tarkistetaan, onko Y-sana sen ominaisuus tai vanhempi. Mikäli Y-sana on jompikumpi näistä, lähetetään pääsäikeelle vastauksena Kyllä on ja tulostetaan se käyttäjälle. Jos X-sana löytyy tietokannasta mutta sillä ei ole Y-sanaa vanhempana eikä ominaisuutena, lähetetään kysely verkkoon. Mikä on X -muotoiset lauseet kelpaavat jäsentelijälle myös muodossa mikä X on. Näiden syötteiden tekoälyn logiikka toimii samoin kuin yhden sanan syötteissä. Syötteen kysyttävälle sanalle suoritetaan siis samanlainen käsittely kuin yhden sanan syötteelle.

21 Tietorakenne Tietorakenteen toteutuksessa käytettiin pohjana puumallia[14]. Toteutukseen valittiin puumalli, koska työ haluttiin rajata vain olla-relaatioon, jolloin verkkomallinen tietorakenne olisi ollut liian kattava. Tietokannan rakentamisessa hyödynnettiin määritelmää laitteista, jotka ajattelevat rationaalisesti. Työn laite ymmärtää asioiden välisiä relaatioita ja osaa yhdistää yksittäisiä asioita suurempaan kokonaisuuteen. Laitteen tietorakenne on rakenteeltaan äärettömästi haarautuva hakupuu. Siihen voidaan lisätä solmuja ja siitä voidaan poistaa solmuja. Jokainen puun solmu on linkitetty lista, joka pitää sisällään solmun ominaisuudet yleiskielisenä tekstinä. Puussa lapsisolmu perii vanhempansa ominaisuudet. Näitä ominaisuuksia voi lisätä tietorakenteeseen ja poistaa siitä. Jokainen puussa oleva solmu tai ominaisuus sisältää tiedon siitä, mistä tämä tieto on hankittu. Hakujen nopeuttamiseksi hakupuusta tehtiin aakkosellinen hakemisto, joka sisältää muistiosoitteet puun solmuihin ja ominaisuuksiin. Aakkoselliseen hakemistoon ladattiin lisäksi Kotus-sanalista, jota käytettiin sanamuotojen jäsentämisessä. Semanttinen tietorakenne tallennettiin ja ladattiin laitteen massamuistista.

22 22 4. SAAVUTUKSET 4.1. Toiminnallisuus Laitteen parhaimmat osa-alueet olivat tietokannan ja verkon toteutus. Tietokannan hakupuu toimi selkeästi, ja sinne saatiin tallennettua tietoa järkevällä tavalla. Tiedon hakeminen tietokannasta oli nopeaa ja vaivatonta käyttäjälle. Tämän lisäksi tietokannan pystyi ottamaan talteen muistikortille ja valmiin tietokannan pystyi antamaan laitteelle muistikortin avulla. Laitteen verkkoratkaisussa oli otettu hyvin huomioon tulevien viestien käsittely. Laitteen puskuriin sopi vain tietyn verran viestejä. Mikäli puskuri oli täynnä, laite ei enää käsitellyt tulevia viestejä vaan odotti, kunnes puskurissa oli taas tilaa. Puskuroinnilla vältettiin laitteen heikentynyt toiminta silloin, kun verkossa oli paljon liikennettä. Verkko-osion toiminnassa oleellista oli myös tulleen viestin yhteisötunnuksen ja pyyntötunnisteen ottaminen talteen. Tämän ansiosta laite osasi lähettää vastauksen sille laitteelle, joka sitä pyysi. Puskurointia käytettiin hyväksi myös käyttäjä-tekoäly-rajapinnassa. Kaikki käyttäjältä tulevat ja käyttäjälle menevät syötteet ohjattiin kulkemaan puskurin kautta. Tällä pystyttiin varmistamaan, että laite toimii loogisesti. Kun käyttäjän syötteet käsiteltiin tulojärjestyksessä, tulosteissa ei tapahtunut päällekkäisyyksiä. Tekoälyn toteutuksessa hyödynnettiin asioiden välistä olla-relaatioita. Tekoäly osasi tallentaa tietoa tietokantaan kyseisen relaation mukaan. Lisäksi tekoäly osasi hakea tietoa tietokannasta, kun käyttäjä oli sitä pyytänyt. Tekoäly käsitteli jossakin määrin yleistäviä ristiriitoja. Se kertoi käyttäjälle suoraan ei voida yleistää näin, jos käyttäjä oli syöttänyt liian yleistävää tietoa. Näin pyrittiin välttämään virheellisen tiedon tallennusta. Toteutus ymmärsi suomen kieltä hyvin rajoitetusti. Laitteelle pystyi syöttämään yhden, kahden ja kolmen sanan lauseita. Lauseiden tuli noudattaa tiettyä lauserakennetta, jotta tekoäly osaisi käsitellä ne. Laite tarkisti annetusta syötteestä ensin sen, olivatko sanat Kotus-sanalistassa eli perusmuodossaan. Mikäli sanat eivät olleet perusmuotoisia, laite pyrki taivuttamaan ne perusmuotoon ja tarkistamaan uudelleen sanalistan avulla. Taivuttaminen onnistui harvoin, ja esimerkiksi erisnimiä Kotus-sanalistassa ei ollut ollenkaan Testaussuunnitelma Ohjelmistotestaus on kaikessa ohjelmistokehityksessä olennainen osa, jonka merkitystä usein vähätellään. Tässä projektissa ohjelma testattiin verrattain laajasti. Tehdyt testit voidaan jakaa karkeasti seuraaviin luokkiin: Käyttöliittymätestaus Verkkotestaus Tietorakennetestaus Kielenymmärrystestaus

23 Käyttöliittymätestaus Käyttöliittymätestauksessa pyrittiin testaamaan ohjelman toiminta tietokone-ihminenrajapinnassa. Käyttöliittymää testattiin niin oikein kuin väärinkin muodostetuilla syötteillä. Lisäksi ohjelman käytettävyyttä testattiin ihmisillä, jotka eivät olleet käyttäneet ohjelmaa aiemmin eivätkä olleet osallistuneet ohjelman kehittämiseen Verkkotestaus Verkkotesteillä pyrittiin varmistamaan, että ohjelma toimii verkossa spesifikaation mukaan. Ohjelmaa testattiin niin oman kopionsa kanssa kuin muiden vastaavien toteutusten kanssa Kielenymmärrystestaus Tehdyt kielenymmärrystestit koostuivat testeistä, joilla pyrittiin selvittämään ohjelman kyky parsia, eritellä ja ymmärtää kirjoitettua luonnollista kieltä. Testeissä käytettiin sanoja, jotka ohjelman tiedettiin tuntevan, sekä sanoja, jotka olivat ohjelmalle entuudestaan tuntemattomia. Sanoja syötettin niin perusmuodoissa kuin eri taivutusmuodoissakin. Huomiota kiinnitettiin ohjelman kykyyn poimia tekstistä sanojen välisiä riippuvuuksia Tietorakennetestaus Tietorakennetestauksella pyrittiin varmentamaan, että ohjelman sisäisen tietorakenne toimi oikein ja riittävän nopeasti. Tietorakenteelle tehtiin rasitustesti, jossa tietokantaan syötettiin suuri määrä tietoa. Tämä toteutettiin ajamalla tietokantaan Kotus-sanalistan sanoista satunnaisesti generoitu testiaineisto. Testiaineisto sisälsi solmua Testien tulokset Käyttöliittymätestien tulokset Käyttöliittymätestit tehtiin sellaisilla käyttäjillä, jotka eivät olleet osallistuneet laitteen kehittämiseen. Testaajille annettiin hyvin vähän ennakkotietoa laitteen toiminnasta. Heille kerrottiin ainoastaan työn aihe ja tarkoitus. Tällä tavalla varmistettiin, että kaikki käyttöä helpottavat ohjeet tulisivat ainoastaan laitteelta itseltään. Käyttöliittymätestit oli luokiteltu kahteen osa-alueeseen: laitteen arviointiin väittämien avulla ja laitteen arviointiin vapaa sana -periaatteella. Vapaa sana -osion perusteella todettiin, että laitteen antamat käyttöohjeet olivat joidenkin testaajien mielestä hieman epäselvät. Käyttöohjeista saatiin pääasiallisesti seuraavanlaisia kommentteja: Ohjeet olisivat voineet olla selkeämmät ja Käyttöohjeet olivat suurimmilta osin selkeät. Tämän lisäksi saatiin palautetta yleisesti laitteen toi-

24 24 minnasta. Laitteen toimintaa testaajat arvioivat seuraavasti: Yksinkertainen ja selkeälinjainen käyttöliittymä, Syötteet olivat asianmukaisella syntaksilla ja Helppokäyttöinen vaikka sanastossa olikin puutteita. Testaajat arvioivat käyttöliittymää myös heille esitettyjen väittämien perusteella. Testaajien tuli kertoa mielipiteensä jokaisesta väitteestä asteikolla 1 5. Testitulokset osoittavat, että laite oli helppokäyttöinen ja laitteen käyttö oli nopeaa ja vaivatonta. Tuloksista nähtiin myös, että laitteen suomen kielen ymmärtäminen oli heikkoa ja käyttöohjeissa olisi hieman parannuksen varaa. Käyttöliittymäkyselykaavake on liitteenä. Taulukko 1. Käyttöliittymätestien tuloksia Väittämä: Laitetta oli helppo käyttää. 0 % 0 % 33 % 50 % 17 % Laitteen antamat käyttöohjeet olivat selkeät. 17 % 17 % 33 % 33 % 0 % Laitteen käyttö oli nopeaa ja vaivatonta. 0 % 0 % 17 % 50 % 33 % Laite ymmärsi suomen kieltä hyvin. 0 % 83 % 17 % 0 % 0 % 1. Täysin eri mieltä. 5. Täysin samaa mieltä Verkkotestien tulokset Verkkotestien perusteella ohjelman verkkopuoli on onnistunut todella hyvin. Testien aikana todettiin laitteen puskurien toimivan oikein, eikä vilkas verkkoliikenne vaikuttanut laitteen toimintaan. Laite osasi keskustella oman kopionsa kanssa verkon välityksellä ilman ongelmia. Ohjelmaan ei myöskään tarvinnut tehdä paljoa muutoksia, jotta se saatiin toimimaan muiden toteutuksien kanssa. Laite osasi lähettää SNMPmuotoisia verkkoviestejä, jotka muut toteutukset osasivat tulkita oikein. Laite osasi myös vastaanottaa vastauksia omiin kysymyksiinsä. Muiden toteutuksien viestit tulkittiin oikein ja niihin osattiin vastata Kielenymmärrystestien tulokset Laitteelle syötettiin alla oleva teksti lause kerrallaan ja tietokannan sisältö tarkistettiin. Teksti on kirjoitettu itse ja sitä tehdessä on otettu huomioon joitain laitteen rajoituksia. mangusti on petoeläin. mungo on yksi mangusti laji. mangusti on pieni ja pyöreä. elmeri on mangusti. myös simo ja timo ovat mangusteja. mangusti on ruskea. mangusti voi olla myös harmaa. eläin on elollinen. tasalämpöinen on eläin. mangusti on tasalämpöinen. mangusti on nopea. elmeri on ruskeanharmaa. elmeri on myös hoikka. yleisesti tiedetään, että simo on suuri mangusti. mangustilla on korvat, jotka ovat leveät sekä pyöreät. mangusti on lyhytjalkainen. mangustin kuono on terävä. eilen uutisissa kerrottiin, että mangusti on tarkkanäköinen. mangusti on oppivainen. mangustit ovat ketteriä eläimiä sekä hyviä tunnelin kaivajia.

25 25 Tämän syötteen jälkeen ohjelmalle tehtiin kysely mikä on mangusti. Ohjelma vastasi: mangusti on petoeläin, ruskea, nopea, lyhytjalkainen ja oppivainen. mangusti on tasalämpöinen. Ohjelma oli ymmärtänyt tasalämpöisen olevan eläin ja eläimen olevan elollinen. Ohjelma osasi myös vastata oikein kysymykseen onko mangusti eläin. Relaatio osattiin siis tallentaa tietokantaan, ja ohjelma ymmärsi lähes kaikki olla-relaatiot. Lauseet, joissa oli erisnimiä, jäivät tulkitsematta. Syöte jouduttiin myös antamaan ilman isoja alkukirjaimia, sillä ohjelma ei käsitellyt isoja ja pieniä kirjaimia samalla tavalla. Laitteelle syötettiin myös pitkiä tieteellisiä tekstejä, mutta lauserakenteet ja sanojen taivutukset olivat liian monimutkaisia, jotta niistä olisi saatu tuloksia. Syötteiden kopioiminen esimerkiksi Wikipediasta tai muista verkkolähteistä ei myöskään tuottanut tuloksia Tietorakennetestien tulokset Testin aikana tietokannan rakenne pysyi koossa eikä laitteella havaittu suoritusongelmia. Tietorakenne selvisi testeistä hyvin ja osoitti sen toimivansa myös isoilla tietomäärillä Pohdinta Testitulosten perusteella voidaan todeta, että laitteeseen jäi vielä paljon parannettavaa. Laitteen heikko kielenymmärtäminen vaikeutti laitteen käytettävyyttä käyttöliittymätestien perusteella. Sanojen taivuttaminen oli haastava ongelma, ja juuri siksi laite ei hallitse suomen kieltä hyvin. Tällä oli vaikutusta ymmärrystesteissä käytettyjen testiaineistojen ymmärtämiseen. Kielenymmärrystestissä kävi ilmi tekoälyn suurimpia heikkouksia. Testien tulokset olisivat olleet parempia, jos ohjelma olisi ymmärtänyt monimutkaisempia, vaihtelevampia lauserakenteita. Ohjelman rajoittaminen pelkästään käsitteiden opettamiseen kolmisanaisilla lauseilla vaikuttaa valtavasti mahdollisuuteen opettaa ohjelmaa oikeilla teksteillä. Erisnimien ja Kotuksen sanalistasta puuttuvien sanojen osaamattomuus vaikuttivat myös ymmärrykseen. Verkkotesteistä voidaan päätellä, että verkon toteutus oli onnistunut hyvin. Laite osasi hyödyntää verkosta löytyviä muita toteutuksia oppimalla niiden lähettämistä viesteistä. Verkon toteutuksessa päästiin sille tasolle, mitä oli suunniteltu ja ehkä hieman sen ylikin. Yleisesti voidaan todeta, että projekti sujui melko hyvin. Kenelläkään ryhmän jäsenellä ei ollut aiempaa kokemusta näin laajasta projektista, joten projektin aikana opittiin paljon projektinhallinnasta kantapään kautta. Suurimpana ongelmana projektissa oli hieman heikoksi jäänyt suunnittelu. Moni asia jouduttiin toteuttamaan uudelleen, koska suunnitelmat eivät olleet tarpeeksi tarkat. Lopputuloksena voidaan kuitenkin todeta, että jatkokehittelyllä laite toimisi paremmin ja selviytyisi sujuvammin käyttötesteistä.

26 26 5. PROJEKTIN KUVAUS Ensimmäinen vaihe projektin alussa oli ryhmän muodostaminen. Ryhmä yritettiin muodostaa henkilöistä, joilla oli samanlaiset tavoitteet ja osaamistaso. Tämä kävi varsin helposti, ja todellinen työ päästiin aloittamaan heti. Projekti oli laaja, joten työn jakaminen oli tärkeää. Lisäksi ajankäyttöä seurattiin ja tuntimäärät laskettiin jokaiselle ryhmänjäsenelle erikseen Työnjako Projektin alussa tutustuttiin aiheeseen etsimällä sopivia lähteitä. Lähteitä lukemalla saatiin taustatietoa aiheesta ja käsitys siitä, mitä lähdetään tekemään. Taustatutkimuksen jälkeen toteutettiin SNMP-protokolla. Tämä tehtiin yhdessä, koska työnjako oli hankalaa. Kun SNMP-protokolla oli saatu toimimaan, voitiin aloittaa laitteen muiden toimintojen toteuttaminen. Työ jaettiin kolmeen osaan: jäsentelijään, tietokantaan ja verkkopuoleen. Jako oli toimiva, ja kun jokainen oli työstänyt omia osa-alueitaan, toteutus yhdistettiin kokonaisuudeksi. Yhdistämisen jälkeen työnjako tehtiin uudelleen. Toteutus jaettiin siten, että kaksi ryhmän jäsentä työskenteli tekoälyn sekä jäsentelijän parissa ja yksi työsti tietokantaa sekä verkkopuolta. Projektin alussa rakennettu verkkopuoli piti toteuttaa kokonaan uudestaan, koska se ei enää kattanut tekoälyn kaikkia tarpeita. Dokumentaation kirjoittamisen työnjako ei ollut tarkka. Jokainen osallistui dokumentaation kirjoittamiseen, mutta se, joka kirjoitti vähemmän, ohjelmoi enemmän ja päinvastoin. Tällä tavalla työnjako on kokonaisuudessaan onnistunut hyvin Ajankäyttö Ajankäyttö on jakautunut ryhmäläisten kesken seuraavalla tavalla: Taulukko 2. Henkilökohtaiset tuntijakaumat Kehitys Tutkimus Yhteensä Karppinen Lyttinen Nikula Yhteensä

27 Tunnit Kehitys Tutkimus Yhteensä Karppinen Lyttinen Nikula Kuva 7. Tuntien jakautuminen eri osa-alueille. Tutkimus (209 tuntia) 33% 67% Kehitys (429 tuntia) Kuva 8. Projektiin kuluneiden tuntien jakautuminen eri tehtäviin

28 28 6. TULEVA KEHITYS Tulevaisuudessa laitetta voitaisiin kehittää monella tapaa. Toteutuksessa suurimpina puutteina havaittiin suomen kielen lauserakenteiden ymmärtäminen, sanojen taivuttaminen, lähteen luotettavuuden arviointi ja ristiriitojen ratkominen. Näihin puutteisiin toivottaisiin tulevaisuudessa löytyvän parannusta. Laitteen luonnollisen kielen ymmärtämistä voisi kehittää sille tasolle, että se ymmärtäisi täysin erilaisia lauserakenteita. Olisi hyvä, jos laite ymmärtäisi monella eri tavalla kirjoitettuja suomenkielisiä lauseita. Laite voisi esimerkiksi tunnistaa verbit ja niiden perusteella kehittää omaa tietämystään. Tällä hetkellä laite ymmärtää vain olla-verbin, mutta sen lisäksi se voisi ymmärtää esimerkiksi osata-, voida-, pitää- sekä omistaaverbit. Näiden verbien avulla laite pystyisi oppimaan monipuolisia virkeyhdistelmiä, kuten Isäntä omistaa koiran. Koira osaa haukkua ja se pitää uimisesta. Lauserakenteiden ymmärtämisen lisäksi hyvä kehityksen kohde olisi kyky taivuttaa sanat perusmuotoon. Suomen kielen sanoille on monenlaisia taivutuksia, ja niille on lukemattomia poikkeuksia. Kaikkien näiden taivutusten ja poikkeusten käsittely olisi hyvä ominaisuus laitteessa. Mikäli laite osaisi taivuttaa kaikki sanat perusmuotoon ja perusmuodosta takaisin tarvittavaan taivutusmuotoon, laitteen tietokanta säilyisi järjestyksessä. Tietokannassa tieto olisi vain perusmuodossa, ja kun laite tulostaisi käyttäjälle tietoa, se osaisi muodostaa kunnollisen suomen kielen lauseen taivuttaen sanat oikeaan muotoonsa. Jokaisella yhteisötunnuksella tulisi olla oma luotettavuusarvo, jota pystyisi laskemaan. Yhteisötunnuksen luotettavuusarvoa laskettaisiin silloin, kun laite huomaisi ristiriidan oman tietokantansa ja kyseisellä yhteisötunnuksella lähetetyn informaation kanssa. Luotettavuusarvoa voitaisiin hyödyntää myös silloin, kun verkosta saapuisi monta erilaista vastausta kysymykseen ja näissä vastauksissa olisi ristiriitaista tietoa. Tällöin laite voisi katsoa lähteen luotettavuuden jokaisen vastauksen yhteisötunnuksen perusteella ja ratkoa ristiriidat siten, ettei epäluotettava tieto päätyisi tietokantaan ollenkaan. Ristiriitoja voitaisiin ratkoa myös tietokannassa. Kun tietokantaan olisi karttunut tarpeeksi tietoa, laite voisi oikeellistaa tietokannan ajon aikana. Oikeellistamisessa laite kävisi tietokannan läpi ja etsisi sieltä samankaltaisuuksia sekä ristiriitoja. Mikäli samankaltaisuutta ja ristiriitoja löytyisi, laite muokkaisi tietokantaa eheämmäksi ja samalla poistaisi sellaista tietoa, joka olisi tullut yhteisötunnukselta, jolla olisi muokkaamishetkellä huono luotettavuusarvo. Tällä tavalla varmennettaisiin se, että tietokannan sisältö pysyisi luotettavana myös silloin, jos jokin yhteisötunnus on aluksi syöttänyt väärää tietoa. Kyseisen yhteisötunnuksen antama tieto poistettaisiin myöhemmin, jos yhteisötunnuksen luotettavuusarvo olisi heikentynyt huomattavasti. Mikäli laite ei itse osaisi ratkaista ristiriitatilannetta, se voisi kysyä käyttäjältä neuvoa. Tällainen tapaus olisi esimerkiksi se, jos kahdella eri lähteellä olisi sama luotettavuusarvo mutta silti niiltä tullut tieto olisi ristiriitaista. Tämänkaltaisissa tilanteissa uskottaisiin aina ensisijaisesti käyttäjää. Näillä muutoksilla laite toimisi paremmin ja samalla tietokanta säilyisi eheämpänä. Laitteen käytettävyys myös paranisi, kun suomen kielen sanasto ja lauserakenteet olisivat paremmin käsiteltävissä. Lisäksi laitteen tekoäly toimisi järkevämmin, kun se osaisi käsitellä monenlaisia lauserakenteita.

29 29 7. YHTEENVETO Tässä työssä tehtiin oppiva tekoäly sulautetulle järjestelmälle. Oppivan tekoälyn toteutukseen käytettiin semanttista muistia. Semanttinen muisti luotiin puumalliseen tietokantaan, joka käsittelee asioiden relaatioita. Tietokannan luomiseen tehtiin luonnollista kieltä tunnistavia funktioita, jotka jäsentelevät tietoa ja tallentavat sen tietokantaan. Puumallimenetelmä valittiin sen yksinkertaisen toteutuksen vuoksi. Työn ratkaisu on verrattain yksinkertainen, mutta siitä huolimatta laite selviytyi tietorakenne- ja verkkotesteistä hyvin. Ratkaisussa käytettiin hyväksi jonkin verran aiempia tutkimuksia, mutta suurimmilta osin laite suunniteltiin kokonaan itse. Työn parhaimpina puolina voidaan ehdottomasti pitää tietorakenteen ja verkon toteutusta. Tietokannan tekeminen alusta alkaen itse oli haastavaa mutta samalla kannattavaa. Tällä tavalla saatiin luotua juuri sellainen tietokanta, jota laite osasi hyödyntää mahdollisimman hyvin. Tietokantatestien perusteella voidaan todeta, että tieto tallentui järkevästi puurakenteeseen. Tietokannan rakenne oli selkeä sen yksinkertaisuuden vuoksi. Tiedot tallentuivat tietokantaan hierarkkisesti olla-relaation mukaan. Tietokantaan pystyi myös syöttämään valtavan määrän tietoa ilman, että tietorakenne olisi mennyt sekaisin. Tietokanta selviytyi siis hyvin rasitustesteistä. Verkon toteutus onnistui myös hyvin. Testien perusteella laite oppi uusia asioita verkosta ja osasi vastata muiden toteutusten verkkokyselyihin. Verkon paras puoli oli puskuroinnin toteutus. Laite ei missään vaiheessa mennyt sekaisin liian vilkkaasta verkkoliikenteestä, vaan se käsitteli viestit kaikessa rauhassa puskurista. Verkon toiminta oli siis varmaa ja luotettavaa. Vaikka laitteeseen jäi vielä parannuksen varaa ennen kaikkea suomenkielisten lauserakenteiden jäsentelyssä ja sanojen taivuttamisessa, voidaan siitä huolimatta todeta, että kokonaisuutena työ on hyvin onnistunut. Työssä saatiin toteutettua lähes alkuperäisen suunnitelman kaltaiset ominaisuudet. Ryhmän jäsenet pääsivät tavoitteeseensa ja saivat projektin valmiiksi aikataulussaan.

30 30 8. LÄHTEET [1] Ayres A.J. Sensory integration and the child. Western Psychological Services, Los Angeles, California, p. [2] Juntunen J. (2000) Aivot työssä. Duodecim 116, p [3] Muistiliitto (accessed ), Alzheimer centralförbundet. URL: [4] Dubuc B. (accessed ), The brain from top to bottom. URL: http: //thebrain.mcgill.ca/flash/index_a.html. [5] Russel S.J. & Norvig P. (2003) Artificial intelligence : a modern approach. Prentice Hall, Upper Saddle River, NJ, second ed. [6] MCF III I. (accessed ), Artificial intelligence embedded toys and dolls. URL: [7] Nilsson N.J. (1982) Principles of artificial intelligence. Springer, Berlin. [8] Haugeland J. (1985) Artificial Intelligence: The Very Idea. MIT Press, Cambridge, Massachusetts. [9] Kurzweil R. (1990) The Age of Intelligent Machines. MIT Press, Cambridge, Massachusetts. [10] Charniak E. & McDermott C. (1985) Introduction to Artificial Intelligence. Addison-Wesley, Reading, Massachusetts. [11] Luger G.F. & Stubblefieldl W.A. (1993) Artificial Intelligence: Structures and Strategies for Complex Problem Solving. Benjamin/Cummings, Redwood City, California. [12] A. Newell H. A. Simon J.C.S. (1959) Snort - lightweight intrusion detection for networks. In: Proceedings of the International Conference on Information Processing, p [13] Szymanski J., Sarnatowicz T. & Duch W. (2007), Towards avatars with artificial minds: Role of semantic memory. URL: [14] Collins A.M. & Quillan M.R. (1969) Retrieval time from semantic memory. Journal of Verbal Learning and Verbal Behavior 8. [15] Zhuge H. (2007) Autonomous semantic link networking model for the knowledge grid. Concurrency and Computation: Practice and Experience 19, pp [16] Chowdhury G.G. (2005) Natural language processing. Annual Review of Information Science and Technology 37, pp [17] Liddy E.D. (2001) Encyclopedia of Library and Information Science. Marcel Decker, Inc., Redwood City, California.

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

SOVELLUSPROJEKTIN ARVIOINTILOMAKE

SOVELLUSPROJEKTIN ARVIOINTILOMAKE SOVELLUSPROJEKTIN ARVIOINTILOMAKE Arviointilomake on tarkoitettu Sovellusprojektin vastaavan ohjaajan arvioinnin tueksi, eikä sillä siten tule korvata erillistä projektilausuntoa. Useaa arviointikohtaa

Lisätiedot

FI3 Tiedon ja todellisuuden filosofia LOGIIKKA. 1.1 Logiikan ymmärtämiseksi on tärkeää osata erottaa muoto ja sisältö toisistaan:

FI3 Tiedon ja todellisuuden filosofia LOGIIKKA. 1.1 Logiikan ymmärtämiseksi on tärkeää osata erottaa muoto ja sisältö toisistaan: LOGIIKKA 1 Mitä logiikka on? päättelyn tiede o oppi muodollisesti pätevästä päättelystä 1.1 Logiikan ymmärtämiseksi on tärkeää osata erottaa muoto ja sisältö toisistaan: sisältö, merkitys: onko jokin premissi

Lisätiedot

Cover letter and responses to reviewers

Cover letter and responses to reviewers Cover letter and responses to reviewers David E. Laaksonen, MD, PhD, MPH Department of Medicine Kuopio University Hospital Kuopio, Finland Luennon sisältö Peer review Vinkit vastineiden kirjoittamista

Lisätiedot

Tentti erilaiset kysymystyypit

Tentti erilaiset kysymystyypit Tentti erilaiset kysymystyypit Monivalinta Monivalintatehtävässä opiskelija valitsee vastauksen valmiiden vastausvaihtoehtojen joukosta. Tehtävään voi olla yksi tai useampi oikea vastaus. Varmista, että

Lisätiedot

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Sami Hokuni 12 Syyskuuta, 2012 1/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Turun Yliopisto. Gradu tehty 2012 kevään

Lisätiedot

Tavoite Opiskelija osaa käyttää englannin kielen rakenteita, hallitsee kielen perusilmaukset ja ymmärtää opiskelijan arkielämään liittyvää kieltä

Tavoite Opiskelija osaa käyttää englannin kielen rakenteita, hallitsee kielen perusilmaukset ja ymmärtää opiskelijan arkielämään liittyvää kieltä Kuvaukset 1 (6) Englanti, Back to basics, 1 ov (YV3EN1) Tavoite osaa käyttää englannin kielen rakenteita, hallitsee kielen perusilmaukset ja ymmärtää opiskelijan arkielämään liittyvää kieltä Teemat ja

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

Liikehavaintojen estimointi langattomissa lähiverkoissa. Diplomityöseminaari Jukka Ahola

Liikehavaintojen estimointi langattomissa lähiverkoissa. Diplomityöseminaari Jukka Ahola Liikehavaintojen estimointi langattomissa lähiverkoissa Diplomityöseminaari Jukka Ahola ESITYKSEN SISÄLTÖ Työn tausta Tavoitteen asettelu Johdanto Liikehavaintojen jakaminen langattomassa mesh-verkossa

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS LUONNOLLISEN KIELEN KÄSITTELY (NATURAL LANGUAGE PROCESSING, NLP) TEKOÄLYSOVELLUKSET, JOTKA LIITTYVÄT IHMISTEN KANSSA (TAI IHMISTEN VÄLISEEN) KOMMUNIKAATIOON, OVAT TEKEMISISSÄ

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

Osallistavan suunnittelun kyselytyökalu

Osallistavan suunnittelun kyselytyökalu Osallistavan suunnittelun kyselytyökalu Käyttöohje InnoGIS- hankkeen aikana kehitetylle pilottiversiolle Dokumentti sisältää pilottiversiona toimivan kyselyn laatimiseen ja vastaamiseen liittyvän ohjeistuksen.

Lisätiedot

Tentti erilaiset kysymystyypit

Tentti erilaiset kysymystyypit Tentti erilaiset kysymystyypit Kysymystyyppien kanssa kannatta huomioida, että ne ovat yhteydessä tentin asetuksiin ja erityisesti Kysymysten toimintatapa-kohtaan, jossa määritellään arvioidaanko kysymykset

Lisätiedot

Opiskelijoiden HOPSit

Opiskelijoiden HOPSit Opiskelijoiden HOPSit Ohje kommentoijalle ja hyväksyjälle/19.3.2014 Täydennetty ohjetta/2.1.2014: Lisätty tietoa opiskelijoiden lisäämisestä Omiin opiskelijoihin, mikä helpottaa HOPSien käsittelyä. Tarvittavat

Lisätiedot

Osaamispisteet. Vapaasti valittava

Osaamispisteet. Vapaasti valittava Hyväksymismerkinnät 1 (5) Ammattiopiskelun S2 3 osp Osaaminen arvioidaan opiskelijan keräämän oman alan sanaston sekä portfolion avulla. Oman alan sanavaraston Tekstien ymmärtäminen Luku- ja opiskelustrategioiden

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 4 Jatkuvuus Jatkuvan funktion määritelmä Tarkastellaan funktiota f x) jossakin tietyssä pisteessä x 0. Tämä funktio on tässä pisteessä joko jatkuva tai epäjatkuva. Jatkuvuuden

Lisätiedot

E-kirjan kirjoittaminen

E-kirjan kirjoittaminen 1 E-kirjan kirjoittaminen Ohjeet e-kirjan kirjoittamiseen Tämän ohjeistuksen tavoitteena on auttaa sinua luomaan yksinkertainen e-kirja (pdftiedosto) asiakkaallesi. Kirja näyttää hänelle kuinka hyvin ymmärrät

Lisätiedot

Automaattinen semanttinen annotointi

Automaattinen semanttinen annotointi Automaattinen semanttinen annotointi Matias Frosterus, Reetta Sinkkilä, Katariina Nyberg Semantic Computing Research Group (SeCo) School of Science and Technology, Department of Media Technology and University

Lisätiedot

Tutkintojen, oppimäärien ja muiden osaamiskokonaisuuksien sijoittuminen vaativuustasoille

Tutkintojen, oppimäärien ja muiden osaamiskokonaisuuksien sijoittuminen vaativuustasoille Tutkintojen, oppimäärien ja muiden osaamiskokonaisuuksien sijoittuminen vaativuustasoille Liite Kansallinen vaativuustaso / eurooppalaisen tutkintojen viitekehyksen taso Taso1 Tutkinnot, oppimäärät ja

Lisätiedot

Kulttuuritaidot Oppilas oppii tuntemaan Ranskaa ja ranskankielisiä alueita ranskankielisille kulttuureille ominaisia tapoja ja kohteliaisuussääntöjä

Kulttuuritaidot Oppilas oppii tuntemaan Ranskaa ja ranskankielisiä alueita ranskankielisille kulttuureille ominaisia tapoja ja kohteliaisuussääntöjä Ylöjärven opetussuunnitelma 2004 B2 RANSKA VUOSILUOKKA: 8 VUOSIVIIKKOTUNTEJA: 2 Tavoitteet ymmärtämään erittäin selkeästi puhuttuja tai kirjoitettuja lyhyitä viestejä viestintää tavallisimmissa arkielämän

Lisätiedot

Eväitä yhteistoimintaan. Kari Valtanen Lastenpsykiatri, VE-perheterapeutti Lapin Perheklinikka Oy

Eväitä yhteistoimintaan. Kari Valtanen Lastenpsykiatri, VE-perheterapeutti Lapin Perheklinikka Oy Eväitä yhteistoimintaan Kari Valtanen Lastenpsykiatri, VE-perheterapeutti Lapin Perheklinikka Oy 3.10.2008 Modernistinen haave Arvovapaa, objektiivinen tieto - luonnonlaki Tarkkailla,tutkia ja löytää syy-seuraussuhteet

Lisätiedot

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö)

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö) Tiedonlouhinta rakenteisista dokumenteista (seminaarityö) Miika Nurminen (minurmin@jyu.fi) Jyväskylän yliopisto Tietotekniikan laitos Kalvot ja seminaarityö verkossa: http://users.jyu.fi/~minurmin/gradusem/

Lisätiedot

Global Mindedness kysely. Muuttaako vaihto-opiskelu opiskelijan asenteita? Kv päivät Tampere May- 14

Global Mindedness kysely. Muuttaako vaihto-opiskelu opiskelijan asenteita? Kv päivät Tampere May- 14 Global Mindedness kysely Muuttaako vaihto-opiskelu opiskelijan asenteita? Kv päivät Tampere 13.5. May- 14 Mistä olikaan kyse? GM mittaa, kuinka vastaajat suhtautuvat erilaisen kohtaamiseen ja muuttuuko

Lisätiedot

Pauliina Munter/Suvi Junes Tampereen yliopisto / Tietohallinto Valitse muokkaustila päälle kurssialueen etusivun oikean yläkulman painikkeesta.

Pauliina Munter/Suvi Junes Tampereen yliopisto / Tietohallinto Valitse muokkaustila päälle kurssialueen etusivun oikean yläkulman painikkeesta. Sanasto Sanasto -työkalulla voi laatia sanakirjan tapaisen sanaston, jonka hakusanoja (käsitteitä ja niiden määritelmiä) voidaan selata ja opettajan niin halutessa myös kommentoida. Sekä opettaja että

Lisätiedot

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen. Lause: Tyhjyysongelma ei ole osittain ratkeava; ts. kieli ei ole rekursiivisesti lueteltava. L e = { w { 0, 1 } L(M w ) = } Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia,

Lisätiedot

Pisteytysohje loppuraporttien vertaisarviointiin

Pisteytysohje loppuraporttien vertaisarviointiin Pisteytysohje loppuraporttien vertaisarviointiin Pisteytys olettaa kaikkien kuvattujen vaatimusten täyttymistä pistemäärän saavuttamiseksi. Esimerkiksi: Raportti täyttää rakenteen ja kieliasun osalta kaikki

Lisätiedot

2. KESKUSTELUN ALOITTAMINEN

2. KESKUSTELUN ALOITTAMINEN 1. KUUNTELEMINEN 1. Katso henkilöä, joka puhuu 2. Mieti, mitä hän sanoo 3. Odota omaa vuoroasi 4. Sano, mitä haluat sanoa 2. KESKUSTELUN ALOITTAMINEN 1. Tervehdi 2. Jutustele 3. Päättele, kuunteleeko toinen

Lisätiedot

13/20: Kierrätys kannattaa koodaamisessakin

13/20: Kierrätys kannattaa koodaamisessakin Ohjelmointi 1 / syksy 2007 13/20: Kierrätys kannattaa koodaamisessakin Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy

Lisätiedot

ÄIDINKIELEN TEKSTITAIDON KOE

ÄIDINKIELEN TEKSTITAIDON KOE ÄIDINKIELEN TEKSTITAIDON KOE ERITASOISTEN SUORITUSTEN TUNTOMERKKEJÄ o pistettä vastaus ei täytä tehtävänantoa vastaus osoittaa, että kokelas ei ole ymmärtänyt lukemaansa vastauksessa ei ole tehtävän edellyttämiä

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS KURSSIN PERUSTIEDOT VALINNAINEN AINEOPINTOTASOINEN KURSSI, 4 OP PERIODI 1: 6.9.2012-12.10.2012 (6 VIIKKOA) LUENNOT (B123, LINUS TORVALDS -AUDITORIO): TO 10-12, PE 12-14 LASKUHARJOITUKSET

Lisätiedot

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla 2.5. YDIN-HASKELL 19 tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla kirjaimilla. Jos Γ ja ovat tyyppilausekkeita, niin Γ on tyyppilauseke. Nuoli kirjoitetaan koneella

Lisätiedot

Matematiikan peruskurssi 2

Matematiikan peruskurssi 2 Matematiikan peruskurssi Tentti, 9..06 Tentin kesto: h. Sallitut apuvälineet: kaavakokoelma ja laskin, joka ei kykene graaseen/symboliseen laskentaan Vastaa seuraavista viidestä tehtävästä neljään. Saat

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 1 Määrittelyjoukoista Tarkastellaan funktiota, jonka määrittelevä yhtälö on f(x) = x. Jos funktion lähtöjoukoksi määrittelee vaikkapa suljetun välin [0, 1], on funktio

Lisätiedot

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Satunnaisalgoritmit Topi Paavilainen Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Helsinki, 23. helmikuuta 2014 1 Johdanto Satunnaisalgoritmit ovat algoritmeja, joiden

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Suunnitteluvaihe prosessissa

Suunnitteluvaihe prosessissa Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Rekursio Rekursion käyttötapauksia Rekursio määritelmissä Rekursio ongelmanratkaisussa ja ohjelmointitekniikkana Esimerkkejä taulukolla Esimerkkejä linkatulla listalla Hanoin

Lisätiedot

Luku 8. Aluekyselyt. 8.1 Summataulukko

Luku 8. Aluekyselyt. 8.1 Summataulukko Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa

Lisätiedot

10 teesiä verkko-opetuksen suunnittelusta. Leena Hiltunen Tutkijatohtori Tietotekniikan Aineenopettajankoulutus

10 teesiä verkko-opetuksen suunnittelusta. Leena Hiltunen Tutkijatohtori Tietotekniikan Aineenopettajankoulutus 10 teesiä verkko-opetuksen suunnittelusta Leena Hiltunen Tutkijatohtori Tietotekniikan Aineenopettajankoulutus Leena.r.k.Hiltunen@jyu.fi Teesi 1: Suunnittele! Aloita pienillä parannuksilla Mieti mikä on

Lisätiedot

Luonnollisella kielellä keskustelevat järjestelmät

Luonnollisella kielellä keskustelevat järjestelmät Luonnollisella kielellä keskustelevat järjestelmät Jussi Lepistö (jussi.lepisto@cs.helsinki.fi) Helsingin Yliopisto Tieteellisen kirjoittamisen kurssi Johdanto Esittelen luonnollisella kielellä keskustelevien

Lisätiedot

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014 Yhtälönratkaisusta Johanna Rämö, Helsingin yliopisto 22. syyskuuta 2014 Yhtälönratkaisu on koulusta tuttua, mutta usein sitä tehdään mekaanisesti sen kummempia ajattelematta. Jotta pystytään ratkaisemaan

Lisätiedot

Kuva: Ilpo Okkonen

Kuva: Ilpo Okkonen OodiHOPS OHJAAJAN OHJE 14.2.2017 Kuva: Ilpo Okkonen OodiHOPS Oulun yliopistossa Oulun yliopiston koulutusneuvosto on päättänyt, että OodiHOPS-toiminto otetaan käyttöön vähintään aloittavilla opiskelijoilla

Lisätiedot

Ohjelmointi 1 / syksy /20: IDE

Ohjelmointi 1 / syksy /20: IDE Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne

Lisätiedot

Avaa sovellus (PERUSAURORA)

Avaa sovellus (PERUSAURORA) 23.12.2010. Päivitetty 12.01.2011. Täydennetty 01.02.2011 Kaarina Karjalainen 1 Tehdyn numeron kopioiminen omalle osastolle Tämä on ohje numeroiden kopioimista varattaville/lainattaville lehdille. Pääsääntönä

Lisätiedot

Kurssitusten tarve kipuaa

Kurssitusten tarve kipuaa Kurssitusten tarve kipuaa 9.11.2000 08:02 Muinoin tietotekniikkakurssilla opeteltiin ohjelmat läpikotaisin. Nyt niistä opetellaan vain työssä tarvittavat toiminnot. Niissäkin on työntekijälle tekemistä,

Lisätiedot

2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti.

2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti. Tietorakenteet, laskuharjoitus 11, ratkaisuja 1. Leveyssuuntaisen läpikäynnin voi toteuttaa rekursiivisesti käsittelemällä jokaisella rekursiivisella kutsulla kaikki tietyllä tasolla olevat solmut. Rekursiivinen

Lisätiedot

Suvi Junes/Pauliina Munter Tampereen yliopisto / tietohallinto 2014

Suvi Junes/Pauliina Munter Tampereen yliopisto / tietohallinto 2014 Keskustelualue Keskustelualue soveltuu eriaikaisen viestinnän välineeksi. Keskustelualueelle voidaan lähettää viestejä toisten luettavaksi, ja sitä voidaan käyttää alueena myös ryhmätöiden tekemiseen,

Lisätiedot

Kontrollipolkujen määrä

Kontrollipolkujen määrä Testaus Yleistä Testaus on suunnitelmallista virheiden etsimistä Tuotantoprosessissa ohjelmaan jää aina virheitä, käytettävistä menetelmistä huolimatta Hyvät menetelmät, kuten katselmoinnit pienentävät

Lisätiedot

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 (opetusmoniste, lauselogiikka )

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 (opetusmoniste, lauselogiikka ) T-79.144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 opetusmoniste, lauselogiikka 2.1-3.5) 21 24.9.2004 1. Määrittele lauselogiikan konnektiivit a) aina epätoden lauseen ja implikaation

Lisätiedot

OPPIMISKYVYKKYYS DIGITALISOITUVASSA MAAILMASSA

OPPIMISKYVYKKYYS DIGITALISOITUVASSA MAAILMASSA OPPIMISKYVYKKYYS DIGITALISOITUVASSA MAAILMASSA Sisältö Ihmisen oppiminen ja ohjautuvuus Ihminen digitalisoituvassa elinympäristössä Oleellisen oppimiskyvykkyys, mikä meitä vie? Yhteistyötä yrityksissä

Lisätiedot

Suvi Junes Tampereen yliopisto / tietohallinto 2013

Suvi Junes Tampereen yliopisto / tietohallinto 2013 Keskustelualue Keskustelualue soveltuu eriaikaisen viestinnän välineeksi. Keskustelualueelle voidaan lähettää viestejä toisten luettavaksi, ja sitä voidaan käyttää alueena myös ryhmätöiden tekemiseen,

Lisätiedot

Eväspussi. Onko lähipiirissä esiintynyt hitautta tai vaikeutta lukemaan ja kirjoittamaan oppimisessa? Millaista?

Eväspussi. Onko lähipiirissä esiintynyt hitautta tai vaikeutta lukemaan ja kirjoittamaan oppimisessa? Millaista? Liite Pienten Kielireppuun. Eväspussi Oman äidinkielen vahva hallinta tukee kaikkea oppimista. Tämän vuoksi keskustelemme kielten kehityksestä aina varhaiskasvatuskeskustelun yhteydessä. Kopio Kielirepusta

Lisätiedot

Tieto- ja viestintätekniikka. Internetistä toimiva työväline 1,5 osp (YV10TV2) (HUOM! Ei datanomeille)

Tieto- ja viestintätekniikka. Internetistä toimiva työväline 1,5 osp (YV10TV2) (HUOM! Ei datanomeille) Kuvaukset 1 (5) Tieto- ja viestintätekniikka Internetistä toimiva työväline 1,5 osp (YV10TV2) (HUOM! Ei datanomeille) Tavoitteet omaksuu verkko-oppimisympäristön ja sähköpostin keskeiset toiminnot tutustuu

Lisätiedot

response letter Jouko Miettunen

response letter Jouko Miettunen response letter Jouko Miettunen 4.11.2013 Miten kannattaa vastata kommentteihin jotta lopputulos olisi paras mahdollinen? Tieteellisen lehden arviointijärjestelmä päätoimittaja(t) lehtien toimituskunta

Lisätiedot

Osallisuuden taitojen harjoittelua yhteisöllisesti kirjoittamalla. Anne Jyrkiäinen ja Kirsi-Liisa Koskinen-Sinisalo Tampereen yliopisto

Osallisuuden taitojen harjoittelua yhteisöllisesti kirjoittamalla. Anne Jyrkiäinen ja Kirsi-Liisa Koskinen-Sinisalo Tampereen yliopisto Osallisuuden taitojen harjoittelua yhteisöllisesti kirjoittamalla Anne Jyrkiäinen ja Kirsi-Liisa Koskinen-Sinisalo Tampereen yliopisto Havaintoja työtavan kehittämisen taustaksi yksin kirjoittamisen perinne

Lisätiedot

Välineestä valtauttavaksi mediaattoriksi Seppo Tella University of Helsinki. Seppo Tella, 1

Välineestä valtauttavaksi mediaattoriksi Seppo Tella University of Helsinki. Seppo Tella, 1 Välineestä valtauttavaksi mediaattoriksi Seppo Tella University of Helsinki Seppo Tella, 1 Vieras kieli työvälineenä n Vieraiden kielten asemaa voidaan kuvata monilla eri metaforilla. n Työväline-metafora

Lisätiedot

Matematiikan tukikurssi, kurssikerta 2

Matematiikan tukikurssi, kurssikerta 2 Matematiikan tukikurssi kurssikerta 1 Relaatioista Oletetaan kaksi alkiota a ja b. Näistä kumpikin kuuluu johonkin tiettyyn joukkoon mahdollisesti ne kuuluvat eri joukkoihin; merkitään a A ja b B. Voidaan

Lisätiedot

(d) 29 4 (mod 7) (e) ( ) 49 (mod 10) (f) (mod 9)

(d) 29 4 (mod 7) (e) ( ) 49 (mod 10) (f) (mod 9) 1. Pätevätkö seuraavat kongruenssiyhtälöt? (a) 40 13 (mod 9) (b) 211 12 (mod 2) (c) 126 46 (mod 3) Ratkaisu. (a) Kyllä, sillä 40 = 4 9+4 ja 13 = 9+4. (b) Ei, sillä 211 on pariton ja 12 parillinen. (c)

Lisätiedot

Suomen virtuaaliammattikorkeakoulu The XML Dokuments > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)

Suomen virtuaaliammattikorkeakoulu The XML Dokuments > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%) Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu The XML Dokuments > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien

Lisätiedot

Täydentäviä muistiinpanoja laskennan rajoista

Täydentäviä muistiinpanoja laskennan rajoista Täydentäviä muistiinpanoja laskennan rajoista Antti-Juhani Kaijanaho 10. joulukuuta 2015 1 Diagonaalikieli Diagonaalikieli on D = { k {0, 1} k L(M k ) }. Lause 1. Päätösongelma Onko k {0, 1} sellaisen

Lisätiedot

AS-0.3200 Automaatio- ja systeemitekniikan projektityöt

AS-0.3200 Automaatio- ja systeemitekniikan projektityöt AS-0.3200 Automaatio- ja systeemitekniikan projektityöt A11-17 Ikäihmisten kotona asumista tukevien järjestelmien kehittäminen AikatauluValpas Salla Ojala Paula Laitio 1. Projektin tavoite 1.1 Alkuperäiset

Lisätiedot

ISOverstaan virtuaaliluokka hanke, arviointitutkimus

ISOverstaan virtuaaliluokka hanke, arviointitutkimus ISOverstaan virtuaaliluokka hanke, arviointitutkimus Raportti kyselystä Kuopion klassillisen lukion oppituntitallenteita lukuvuonna 2007 2008 käyttäneille opiskelijoille (huhtikuu 2008) (Diat liitteenä

Lisätiedot

Pro gradu -tutkielmien arvostelu maantieteessä

Pro gradu -tutkielmien arvostelu maantieteessä Pro gradu -tutkielmien arvostelu maantieteessä Tutkielman arvostelussa on käytössä viisiportainen asteikko (1-5): o Ykkönen (1) merkitsee, että työ on hyväksyttävissä, mutta siinä on huomattavia puutteita.

Lisätiedot

TIEDONHAKU INTERNETISTÄ

TIEDONHAKU INTERNETISTÄ TIEDONHAKU INTERNETISTÄ Internetistä löytyy hyvin paljon tietoa. Tietoa ei ole mitenkään järjestetty, joten tiedonhaku voi olla hankalaa. Tieto myös muuttuu jatkuvasti. Tänään tehty tiedonhaku ei anna

Lisätiedot

Tietoteoria. Tiedon käsite ja logiikan perusteita. Monday, January 12, 15

Tietoteoria. Tiedon käsite ja logiikan perusteita. Monday, January 12, 15 Tietoteoria Tiedon käsite ja logiikan perusteita Tietoteoria etsii vastauksia kysymyksiin Mitä tieto on? Miten tietoa hankitaan? Mitä on totuus? Minkälaiseen tietoon voi luottaa? Mitä voi tietää? Tieto?

Lisätiedot

Tutkimusyksikön johtajan/tutkinto-ohjelman vastuunhenkilön hyväksyntä

Tutkimusyksikön johtajan/tutkinto-ohjelman vastuunhenkilön hyväksyntä Oulun yliopisto Hoitotieteen ja terveyshallintotieteen tutkimusyksikkö PRO GRADU-TUTKIELMAN ARVIOINTILOMAKE Tutkielman tekijä(t): Tutkielman nimi: Pääaine: Tutkielman ohjaaja(t): Tutkielman arviointi Tutkielman

Lisätiedot

Käytettävyys ja käyttäjätutkimus. Yhteisöt ja kommunikaatiosuunnittelu 2012 / Tero Köpsi

Käytettävyys ja käyttäjätutkimus. Yhteisöt ja kommunikaatiosuunnittelu 2012 / Tero Köpsi Käytettävyys ja käyttäjätutkimus Yhteisöt ja kommunikaatiosuunnittelu 2012 / Tero Köpsi Teron luennot Ke 15.2 miniluento Ti 28.2 viikkotehtävän anto (T,M) To 1.3 Tero paikalla (tehtävien tekoa) Ti 6.3

Lisätiedot

Osallistavan suunnittelun kyselytyökalu

Osallistavan suunnittelun kyselytyökalu Osallistavan suunnittelun kyselytyökalu Käyttöohje ARFM- hankkeessa jatkokehitetylle SoftGIS-työkalulle Dokumentti sisältää ohjeistuksen osallistavan suunnittelun työkalun käyttöön. Työkalu on käytettävissä

Lisätiedot

Harjoitus Morphing. Ilmeiden luonti

Harjoitus Morphing. Ilmeiden luonti LIITE 1 1(5) Harjoitus Morphing Harjoituksessa käsiteltävät asiat: Objektien kopioiminen Editoitavan polygonin muokkaaminen Morph-modifier käyttö ilmeiden luomiseen Lyhyen animaation luonti set key- toimintoa

Lisätiedot

A* Reitinhaku Aloittelijoille

A* Reitinhaku Aloittelijoille A* Reitinhaku Aloittelijoille Alkuperäisen artikkelin kirjoittanut Patrick Lester, suomentanut Antti Veräjänkorva. Suom. huom. Tätä kääntäessäni olen pyrkinyt pitämään saman alkuperäisen tyylin ja kerronnan.

Lisätiedot

Tehtävä 2: Säännölliset lausekkeet

Tehtävä 2: Säännölliset lausekkeet Tehtävä 2: Säännölliset lausekkeet Kun tietokoneohjelmalla luetaan käyttäjän syötettä, olisi syöte aina syytä tarkistaa. Syötteessä voi olla vääriä merkkejä tai merkkejä väärillä paikoilla (syntaktinen

Lisätiedot

Koodaamme uutta todellisuutta FM Maarit Savolainen https://blog.edu.turku.fi/matikkaajakoodausta/

Koodaamme uutta todellisuutta FM Maarit Savolainen https://blog.edu.turku.fi/matikkaajakoodausta/ Koodaamme uutta todellisuutta FM Maarit Savolainen 19.1.2017 https://blog.edu.turku.fi/matikkaajakoodausta/ Mitä on koodaaminen? Koodaus on puhetta tietokoneille. Koodaus on käskyjen antamista tietokoneelle.

Lisätiedot

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k 1 Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa ko. toiminnallisuuden hyödyntämisen Web-palveluna.

Lisätiedot

LAADULLISEN TUTKIMUKSEN OMINAISLAATU

LAADULLISEN TUTKIMUKSEN OMINAISLAATU LAADULLINEN TUTKIMUS Hanna Vilkka 1 LAADULLISEN TUTKIMUKSEN OMINAISLAATU Hermeneuttinen tieteenihanne: intentionaaliset selitykset, subjektiivisuus, sanallinen/käsitteellinen tarkastelutapa, metodien moneus.

Lisätiedot

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3

Lisätiedot

teknologia kielenopetuksessa Teknologia on monimuotoista

teknologia kielenopetuksessa Teknologia on monimuotoista teknologia kielenopetuksessa Teknologia on monimuotoista kirjapainotaito piirtoheitin, monistuskone, nauhurit, kielistudio, televisio tietokone, internet, sosiaalinen media, mobiililaitteet Ari Huhta,

Lisätiedot

Hajautettu versionhallinta Gitillä

Hajautettu versionhallinta Gitillä Ohjelmistotekniikka Henrik Hedberg Tietojenkäsittelytieteiden laitos Versionhallintajärjestelmä Hallitsee tiedostot ja niiden eri versiot ts. muutokset Mahdollisuus rinnakkaisiin historioihin ts. haaroihin

Lisätiedot

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet ) T-79144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet 11-22) 26 29102004 1 Ilmaise seuraavat lauseet predikaattilogiikalla: a) Jokin porteista on viallinen

Lisätiedot

Ti LÄHIVERKOT -erikoistyökurssi. X Window System. Jukka Lankinen

Ti LÄHIVERKOT -erikoistyökurssi. X Window System. Jukka Lankinen Ti5316800 LÄHIVERKOT -erikoistyökurssi X Window System Jukka Lankinen 2007-2008 Sisällys Esitys vastaa seuraaviin kysymyksiin: Mikä on X Window System? Minkälainen X on? Mistä sen saa? Miten X:ää käytetään?

Lisätiedot

Ryhmäläisten nimet:

Ryhmäläisten nimet: 1 TJT10, kevät 2017 VERTAISARVIOINTILOMAKE Ryhmäläisten nimet: 1. 2. 3. Heuristinen arviointi käyttäen ohjeistuksessa olevaa heuristiikkalistaa. Tehdään vertaisarviointi käyttöliittymästä. Testi suoritetaan

Lisätiedot

Integrointialgoritmit molekyylidynamiikassa

Integrointialgoritmit molekyylidynamiikassa Integrointialgoritmit molekyylidynamiikassa Markus Ovaska 28.11.2008 Esitelmän kulku MD-simulaatiot yleisesti Integrointialgoritmit: mitä integroidaan ja miten? Esimerkkejä eri algoritmeista Hyvän algoritmin

Lisätiedot

Lukutaidon kehitykseen yhteydessä olevia tekijöitä luokalla

Lukutaidon kehitykseen yhteydessä olevia tekijöitä luokalla Lukutaidon kehitykseen yhteydessä olevia tekijöitä 1.-2. luokalla Jyväskylän yliopisto Kielellisen kehityksen yhteys lukutaitoon Esikielelliset Sanavarasto Lauseet ja taivutukset Kielellinen tietoisuus

Lisätiedot

Heikosta vastauksesta puuttuvat konkreettiset faktat, mikä näkyy esimerkiksi

Heikosta vastauksesta puuttuvat konkreettiset faktat, mikä näkyy esimerkiksi Heikosta vastauksesta puuttuvat konkreettiset faktat, mikä näkyy esimerkiksi asioiden esittämisenä ympäripyöreästi esimerkkien puuttumisena siten, ettei tehtävässä annettuja tai vastauksen kannalta olennaisia

Lisätiedot

Kandityön kirjoittaminen. Opinnäyteseminaari

Kandityön kirjoittaminen. Opinnäyteseminaari Kandityön kirjoittaminen Opinnäyteseminaari Lue ja kirjoita Ajatukset eivät kasva tyhjästä. Ruoki niitä lukemalla ja kirjoittamalla lukemastasi. Älä luota muistiisi Merkitse alusta asti muistiinpanoihin

Lisätiedot

Nuoret, sosiaalinen media/internet ja luotettavuus Kvalitatiivinen tutkimus Hanna Vesa ja Matias Kuosmanen

Nuoret, sosiaalinen media/internet ja luotettavuus Kvalitatiivinen tutkimus Hanna Vesa ja Matias Kuosmanen Nuoret, sosiaalinen media/internet ja luotettavuus Kvalitatiivinen tutkimus Hanna Vesa ja Matias Kuosmanen Nuorten internetissä ja somessa kuluttamat sisällöt Nuorten netin käytössä korostuvat erilaiset

Lisätiedot

TTY:n kirjaston kuulumiset 2008

TTY:n kirjaston kuulumiset 2008 1 TTY:n kirjaston kuulumiset 2008 Tenttiakvaario TUT Portfolio Periodilainat 2 Tenttiakvaario Kirjaston järjestämä palvelu, ollut toiminnassa vuoden ajan Sijaitsee oppimiskeskuksessa Käytettävissä normaalisti

Lisätiedot

Fakta- ja näytenäkökulmat. Pertti Alasuutari Tampereen yliopisto

Fakta- ja näytenäkökulmat. Pertti Alasuutari Tampereen yliopisto Fakta- ja näytenäkökulmat Pertti Alasuutari Tampereen yliopisto Mikä on faktanäkökulma? sosiaalitutkimuksen historia: väestötilastot, kuolleisuus- ja syntyvyystaulut. Myöhemmin kysyttiin ihmisiltä tietoa

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Kevään 2009 valtakunnallinen 5-6 luokan FyKe koe tilanne FyKe kevät 2009

Kevään 2009 valtakunnallinen 5-6 luokan FyKe koe tilanne FyKe kevät 2009 Kevään 2009 5-6 FyKe koe Oppilasmäärä 14 12 10 8 6 4 2 0 5 6 FyKe kevät 2009 10 10 9,5 9, + 9 9 8,5 8 + 8 8 7,5 7 + 7 7 6,5 6 + 6 6 5,5 5 + 5 5 4,5 4 + 4 Arvosana 122 oppilasta, keskiarvo 7,56 Tehtäväkohtaiset

Lisätiedot

Jyväskylän yliopiston kauppakorkeakoulu Syventävien opintojen tutkielman arviointi

Jyväskylän yliopiston kauppakorkeakoulu Syventävien opintojen tutkielman arviointi Jyväskylän yliopiston kauppakorkeakoulu Syventävien opintojen tutkielman arviointi Syventävien opintojen tutkielmat arvioidaan 5-portaisella asteikolla arvosanoilla (1) välttävä, (2) tyydyttävä, (3) hyvä,

Lisätiedot

Heilurin heilahdusaika (yläkoulun fysiikka) suunnitelma

Heilurin heilahdusaika (yläkoulun fysiikka) suunnitelma Pasi Nieminen, Markus Hähkiöniemi, Jouni Viiri sekä toteutukseen osallistuneet opettajat Heilurin heilahdusaika (yläkoulun fysiikka) suunnitelma Tässä perinteistä työtä lähestytään rohkaisten oppilaita

Lisätiedot

klo 14:15 salissa FYS2

klo 14:15 salissa FYS2 Kandi info 2016: Orientaatio LuK työn ja tutkielman tekemiseen keväällä 2017 28.11.2016 klo 14:15 salissa FYS2 28.11.2016 Jussi Maunuksela 1 Infon tarkoituksena on perehdyttää LuK tutkielman suorittamiseen

Lisätiedot

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää

Lisätiedot

OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa

OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa Wilman hakemukset ja muut lomakkeet EIVÄT NÄY mobiililaitteisiin asennettavissa Wilma-sovelluksissa. Huoltajan tulee siis käyttää

Lisätiedot

Matematiikan tukikurssi, kurssikerta 3

Matematiikan tukikurssi, kurssikerta 3 Matematiikan tukikurssi, kurssikerta 3 1 Epäyhtälöitä Aivan aluksi lienee syytä esittää luvun itseisarvon määritelmä: { x kun x 0 x = x kun x < 0 Siispä esimerkiksi 10 = 10 ja 10 = 10. Seuraavaksi listaus

Lisätiedot

Algoritmit 1. Luento 4 Ke Timo Männikkö

Algoritmit 1. Luento 4 Ke Timo Männikkö Algoritmit 1 Luento 4 Ke 18.1.2017 Timo Männikkö Luento 4 Tietorakenteet Pino Pinon toteutus Jono Jonon toteutus Lista Listaoperaatiot Algoritmit 1 Kevät 2017 Luento 4 Ke 18.1.2017 2/29 Pino Pino, stack,

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

4 Matemaattinen induktio

4 Matemaattinen induktio 4 Matemaattinen induktio Joidenkin väitteiden todistamiseksi pitää näyttää, että kaikilla luonnollisilla luvuilla on jokin ominaisuus P. Esimerkkejä tällaisista väitteistä ovat vaikkapa seuraavat: kaikilla

Lisätiedot

Lahjakkuutta ja erityisvahvuuksia tukeva opetus äidinkielen näkökulma

Lahjakkuutta ja erityisvahvuuksia tukeva opetus äidinkielen näkökulma Lahjakkuutta ja erityisvahvuuksia tukeva opetus äidinkielen näkökulma Ulkomailla toimivien peruskoulujen ja Suomi-koulujen opettajat 4.8.2011 Pirjo Sinko, opetusneuvos Millainen on kielellisesti lahjakas

Lisätiedot

TYÖNTEKIJÄN KÄYTTÖOHJEET - SOKU

TYÖNTEKIJÄN KÄYTTÖOHJEET - SOKU TYÖNTEKIJÄN KÄYTTÖOHJEET - SOKU ETUSIVU Kun tulet SOKU-järjestelmän (SOKU) etusivulle, näet listan avoimista työpaikoista. Yläpalkissa mustalla ympyröitynä on Kirjaudu-nappi Kun klikkaat sitä, pääset kirjautumissivulle.

Lisätiedot