Mikseri on musiikkiyhteisö,
jossa voit kuunnella, ladata ja arvostella suomalaista musiikkia,
lisätä rajattomasti biisejä, luoda oman artistisivun, kerätä arvosteluja ja faneja

Ladataan

Vastaa Aloita uusi keskustelu

 
Kirjoittaja Tekoäly (Artificial Intelligence)


geeli
3732 viestiä

#1 kirjoitettu 22.01.2020 11:42 Muok:22.01.2020 11:44

Oletko perehtynyt tekoälyyn? Tiedätkö mitä sen avulla voidaan nyt ja tulevaisuudessa toteuttaa? Suoritin viime vuonna Avoimen Yliopiston kurssin (https://www.elementsof...) eli jotain aiheesta tiedän.

On siis suunniteltu, että tekoäly ajaisi itsenäiseti autoja, kirjoittaisi uutisia sekä runoja eli näitä siis muun muassa. Tekoäly on myös usein liitetty peleihin ja pelaamiseen. Monilla on väärää tietoa tai ei lainkaan tietämystä aiheesta niin avataanpa tällainen keskustelu ...

geeli muokkasi viestiä 11:43 22.01.2020

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#2 kirjoitettu 22.01.2020 15:11

Mä oon lukenut aiheesta pari englanninkielistä kirjaa joskus 10-15 vuotta sitten, mutta on kyllä faktat päässy sen jälkeen unohtumaan... Mut tää on mielenkiintoinen aihe...

Otetaan pari esimerkkiä...

Ensinnäkin se, että ihmisaivot tuottavat representaation maailmasta, siis tulkinnan... Maailma on oikeasti väritön ja harmaa, mutta aivot tuottavat väriaistimuksen silmiin osuvan valon aallonpituuden perusteella... Värit siis syntyvät aivoissa... Toisekseen maailma on äänetön: me kuulemme koska luonnossa liikkuu ilmanpaineaaltoja, jotka kuuloaisti ja aivot kääntävät ääniaistimukseksi...

Lisäksi aivot tekevät erilaisia kognitiivisia oletuksia... Kun esimerkiksi pyörität tähtisadetikkua nopeasti ympyrän muotoista rataa, näet sen valoympyrän taikka tikun valohännän sen perässä... Oikeasti sitä häntää ei ole, mutta aivot on rakennettu niin, että ne tuottavat sellaisen harha-aistimuksen...

Aivot osaavat myös tehdä oletuksia ja yhdistellä asioita... Kun vaikkapa näet koiran, jonka edessä on valopylväs, niin ymmärrät että kyseessä on koira, vaikka pylvään takana edessä on sen pää, ja takana toisella puoolella häntä...

Tämä viimeinen on varsinkin tekoälylle vaikeata... Elikkä kysymys siitä, kuinka yhdistää visuaaliset objektit merkityksellisiksi kokonaisuuksiksi ja tulkita ne oikein...

Ja oikeastaan mua kiinnostaa tässä myös semiotiikka, elikkä merkkien merkitys... Voiko tekoälyn oikeasti saada ymmärtämään merkkejä ja varsinkin kieltä samalla tavalla kuin ihminen sen ymmärtää...

Koska merkityksien ymmärtäminenkään ei ole aivan yksinkertaista... Ensinnäkin on kieli, josta voidaan erotella ne sanat (merkit) ja niiden sanojen viite... Sanojen viite on aina joku konsepti, jolla siis viitataan sanojen tarkoittamaan asiaan... Sanoilla kuitenkin usein viitataan useisiin asioihin, joten sanojen merkitys riippuu ainakin:
- Kielestä itsestään (sanan merkityksestä suhteessa muihin sanoihin)
- Kommunikaatiotilanteesta itsestään (tilannetekijät)
- Jostakin kulttuurisesta koodistosta (esim. harrastukseen kuten jääkiekko liittyvä sanasto...)
- Henkilöiden henkilökohtaisesta taustasta ja tietopohjasta

Ajatellaan sanaa "lätkä"... On olemassa poliisin lätkä, henkilö voi olla lätkässä, ja voi myös pelata lätkää... Lisäksi eri henkilöille nämä asiat merkitsevät eri asioita... Jollekin lätkä on harrastus, toisille inhon kohde...

Miten siis saada "softapohjainen järjestelmä" elikkä tekoäly ymmärtämään kaiken tämän päälle? Ei varmasti ole helppoa... Ja vaikka tekoäly onnistuisikin yhdistelemään kielen merkit oikein, ja siis keskustelemaan (näitä chat bottejahan on jo olemassa), niin ymmärtääkö se lopulta sen tekstin merkityksiä samalla tavalla kuin ihminen, siis monivivahteisesti?

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#3 kirjoitettu 22.01.2020 15:36

Ja otetaan saman tein vielä toinen näkökulma tähän asiaan... En itse asiassa usko, että neuroverkot, jotka saadaan "oppimaan" ovat vastaus tekoälyn ongelmaan... Ongelmana on maailman representaatio ja tulkinta...

Ihmisaivot toimivat kahdella periaatteella: toimintojen lokalisaatio ja prosessoinnin hajautus sekä koodauksen hajautus... Eri asiat (värit, aika, tila, jne.) käsitellään paikallisesti eri puolilla aivoja... Nämä toiminnot ovat siis paikallisia ja niiden prosessointi hajautettu... Silti aivot yhdistävät nämä osat yhdeksi tajunnan virraksi...

Koodauksen hajautus puolestaan viittaa siihen, että eri asiat koodataan useiden hermosolujen (neuronien) kesken... Neuronit toimivat kaikki samalla tavalla, siis siten että niiden signaali elikkä aktiopotentiaali on yhtä vahva aina; se missä ne eroavat on aktipotentiaalien tempo taikka rytmi...

Aivojen koodausta voi verrata musiikkistudioon... Aivot on kuin moniraitanauhuri, jonka jokaisella raidalla on eri lyömäsoitin... Näistä jokainen lyömäsoitin tuottaa raidan, joka eroaa toisista raidoista sen musiikin temmon ja yleisen rytmityksen perusteella... Yhdessä nämä erilliset raidat muodostavat musiikkikappaleen, jota voi verrata ihmisen aistimukseen maailmasta...

Ihminen siis aistii kaikki eri puolilla aivoja prosessoitavat asiat yhtenä "aistimisen taikka kokemisen virtana" koska aivot yhdistävät nuo erilliset raidat yhdeksi kappaleeksi...

Ongelmana siis tekoälyn kannalta olisi tuottaa samanlainen representaatio maailmasta kuin aivot tuottavat, ja vielä tulkita tuo representaatio mielekkäällä tavalla...

^ Vastaa Lainaa


geeli
3732 viestiä

#4 kirjoitettu 22.01.2020 15:42

Tuo on oikeastaan sen tietoisuuden luomista koneelle. Ajattelen itse tekoälyä vain eräänlaisena työvälineenä. Mutta hyvää tekstiä ja pohdintaa. Älyhän ei oikeastaan tee vielä elävää ja ajattelevaa ihmistä. Se on vain loogisuutta ja matemaattisuutta erittäin pitkälle vietynä.

Mulla on tähän tällainen tekninen näkökulma, niin ei siellä tietokoneen sisälläkään ihan hirveän ihmeellisiä juttuja toimi. Vaikka nykyään tai lähitulevaisuudessa tekoäly pystyy esimerkiksi ohejelmoimaan itse itsensä, niin ei se vielä millään tavalla ole itsestään tietoinen ja sille pitää hyvin pitkälti opettaa asiat vielä.

Kuitenkin siihen liittyy monenlaista ja varmasti itse sekä aika moni muukin tulee joutumaan opettelemaan tekoälyn kanssa pärjäämistä vähän samalla tavalla kuin nyt joudutaan opettelemaan sosiaalista mediaa.

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#5 kirjoitettu 22.01.2020 15:56

geeli kirjoitti:

Tuo on oikeastaan sen tietoisuuden luomista koneelle.


Tää on oikeastaan hyvä pointti ja kysymys...

Siis mitä on tietoisuus? Mun mielestä ihmisen tietoisuudella on useita tasoja... Ensinnäkin on aistien tuottama reaaliaikainen tietoisuus, siis tuo representaatio maailmasta...

Ja sitten on olemassa semanttinen tietoisuus, siis tietoisuus asioiden merkityksestä...

Robotti pystyy varmaankin toimimaan tiettyyn pisteeseen asti ilman semanttista tietoisuutta pelkän maailman aistirepresentaatiion avulla...

Mutta mua oikeastaan kiinnostaa kysymys: voiko tekoälyn saada ymmärtämään asioiden semanttisia merkityksiä samalla tavalla kuin ihminen ymmärtää?

Ja tähän liittyen, kuinka pitkälle tekoälyyn liittyvät sovellukset voivat kehittyä ilman pitkälle menevää semanttista tietoisuutta?

^ Vastaa Lainaa


geeli
3732 viestiä

#6 kirjoitettu 22.01.2020 16:03

Tulikin luettua, jokin aika sitten, kirja, nimeltä Tietoisuus, tekoäly ja robotit, jonka on kirjoittanut Pentti Haikonen. En tiedä jäikö nyt hirveän paljon mieleen, kun tuon kirjastosta lainasin ja luin ajatuksella läpi. Siinä kuitenkin mainittiin, että paitsi se, että tietoisuus olisi hienoa keinotekoisesti luoda, siitä olisi myös hyötyä, kun kone voisi pohtia tekemiään päätöksiä kuten ihminen tekee. Tuo kirja on hyvä, mutta olihan se aika pitkä luettava, kun oli n. 300 sivua.

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#7 kirjoitettu 22.01.2020 18:29

geeli kirjoitti:

Tulikin luettua, jokin aika sitten, kirja, nimeltä Tietoisuus, tekoäly ja robotit, jonka on kirjoittanut Pentti Haikonen. En tiedä jäikö nyt hirveän paljon mieleen, kun tuon kirjastosta lainasin ja luin ajatuksella läpi. Siinä kuitenkin mainittiin, että paitsi se, että tietoisuus olisi hienoa keinotekoisesti luoda, siitä olisi myös hyötyä, kun kone voisi pohtia tekemiään päätöksiä kuten ihminen tekee. Tuo kirja on hyvä, mutta olihan se aika pitkä luettava, kun oli n. 300 sivua.


Mulla löytyy hyllystä vuodelta 2010 oppikirja nimeltä Consciousness: An Introduction... En ole saanut tuota koskaan loppuun asti luettua, kun siinä on sivujakin lähemmäs 500, mutta pitääpä ottaa työn alle kun kerkiän...

Kirja käsittelee mm. tietoisuutta, minää ja vapaata tahtoa, keinotekoista tietoisuutta, mutta myös muuttuneet tietoisuuden tilat kuten huumeet ja hypnoosi pääsevät käsittelyyn... Keinotekoiselle tietoisuudelle on varattu kokonaista kolme lukua...

Kokonaan toinen ongelmansa on se, että tietoisuuden tutkimuksessa ollaan erimielisiä siitä, mitä tietoisuus loppupeleissä on... Onko tietoisuus mitään muuta kuin aivojen toimintaa, siis hermosolujen toimintaa... Vai onko tietoisuus eri asia kuin sen materiaalinen perusta? Onko tietoisuus eroteltavissa aivojen toiminnasta?

Vastaukset näihin kysymyksiin odottavat edelleen vastaajaansa, mutta vastauksesta riippuu paljolti se, onko tietoista konetta ylipäänsä mahdollista rakentaa? Siis samassa mielessä kuin ihminen on "tietoinen"...

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#8 kirjoitettu 22.01.2020 22:59

geeli kirjoitti:

Siinä kuitenkin mainittiin, että paitsi se, että tietoisuus olisi hienoa keinotekoisesti luoda, siitä olisi myös hyötyä, kun kone voisi pohtia tekemiään päätöksiä kuten ihminen tekee.


Joo... Lukaisinpa tässä illan aikana pari lukua keinotekoisesta tietoisuudesta (AC, Artificial Consciousness) tuosta edellisessä viestissä mainitsemastani kirjasta... Mulle heräsi ajatus, että tietoisuutta suurempi ongelma tekoälyssä (AI) on semantiikka, elikkä merkitysten tajuaminen...

Jos ajatellaan, että tietoisuus on aivojen hermosolujen luoma representaatio taikka kokemuselämys, johon liittyy muutama eri aspekti....

Ensinnäkin osa tietoisuudesta riippuu tyystin aisteista tulevasta informaatiosta... Menepä vaikka sängylle makaamaan, ja sulje silmäsi, ja kuvittele että myös muut aistit kuten kuulo lakkaavat toimimasta... Mitä jää jäljelle?

Jäljelle jää tietoinen kieleen ja intuitioon perustuva tajunnan virta... Tuo tajunnan virta, taikka tietoinen mieli, pitää sisällään käyttömuistisi, joka ohjaa tarkkaavaisuuttasi... Se on tämä osa tajuntaa, joka ohjaa tietoista mieltäsi, ja jonka avulla pystyt "ajattelemaan" elikkä tuomaan mieleen ajatuksia, sanoja, käsitteitä ja pyörittelemäään niitä mielessäsi...

Ja tässä osassa tietoisuuttasi on keskeisessä asemassa semanttinen tietoisuutesi, eli kykysi ymmärtää asioiden, sanojen ja objektien merkitys sekunnin murto-osissa... Sanojen merkityksiä ei voi kuitenkaan johtaa esim. kielioppisäännöistä, joten tekoälyä ei saa ymmärtämään asioiden merkityksiä sääntöpohjaisella ohjelmoinnilla eikä varmaankaan edes neuroverkoilla...

Jotta kone siis voisi pohtia tekemiään päätöksiä kuten ihminen tekee, kuten asian ilmaiset, niin se suurin ongelma on se että kone ylipäätään ymmärtää tekemiensä päätösten sisällön ja merkityksen... Ongelma ei siis sinällään ole luoda ympäristöstään ja aisteistaan tietoista konetta, vaan sellainen kone jolla on myös semanttinen tietoisuus...

Miksi tämä on tärkeää? Siksi, että jos tuosta tekoälystä on tarkoitus tehdä sosiaalinen olento, joka kommunikoi muiden koneiden taikka ihmisten kanssa, sen on ymmärrettävä merkityksiä... Kommunikaatiolla ihmisten välisessä vuorovaikutuksessa tarkoitetaan juuurikin sitä, että kommunikaation osapuolet pyrkivät välittämäään, luomaan ja ymmmärtämään merkityksiä....

Sen sijaan, että kehitetään itseohjautuvia robottiautoja (mä tykkään sitä paitsi ajamisesta), niin huomio tulisi kiinnittyä sosiaalisiin tekoälysovelluksiin, eli sovelluksiin jotka hallitsevat sosiaalisessa elämässä vaadittavat vuorovaikutus- ja kommunikaatiotaidot... Tämä edellyttää merkitysten ymmärtämistä... Itse näkisin jopa että merkitysten ymmärtäminen on edellytys sille, että tuo tietoisuus on tietoinen myös itsestään...

^ Vastaa Lainaa


geeli
3732 viestiä

#9 kirjoitettu 23.01.2020 11:32

Tietoisuuteen liittyen muistan kuulleeni sellaisenkin näkemyksen, että tietoisuutta on senkin takia vaikea luoda, koska aikuisen ihmisen tietoisuus rakentuu pikkuhiljaa alkaen syntymästä ja varhaislapsuudesta. Se ei tavallaan ilmesty mistään vaan kehittyy yksilön kehittyessä.

Tällä hetkellä pystytään toteuttamaan ihmisen kanssa keskustelevia robotteja. Niiden kanssa voi keskustella huomaamatta eroa ihmisen kanssa keskusteluun. Kuitenkaan ne eivät ole olemassa kuten ihminen on. Koneella ei voi olla "sielua" tai psyykettä tai mitään muutakaan vastaavaa.

Vähän lisää tästä aiheesta tekstiä siis...pysyyköhän tämä meidän dialogina vai osallistuisiko joku muukin tähän? No joo...onhan tämä mielenkiintoinen keskustelu ja aihe joka tapauksessa...

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#10 kirjoitettu 23.01.2020 17:20

geeli kirjoitti:

Tällä hetkellä pystytään toteuttamaan ihmisen kanssa keskustelevia robotteja. Niiden kanssa voi keskustella huomaamatta eroa ihmisen kanssa keskusteluun.


Tuo ei nyt ihan täsmälleen pidä paikkaansa... On nimittäin olemassa erilaisia testejä, joista kuuluisin on Turingin testi, jolla voidaan arvioida sitä onko tekoäly yhtä hyvä keskustelemaan kuin ihminen... Läpäistäkseen Turingin testin ihmisen ei pitäisi huomata eroa sen välillä keskusteleeko hän tekoälyn vaiko oikean ihmisen kanssa... Tähän mennessä yksikään tekoälysovellus ei ole läpäissyt testiä...

Loebner Prize on vuosittainen kilpailu, jossa keskustelevat tekoälysovellukset yrittävät vakuuttaa tuomarit ihmisyydestään... Toistaiseksi yksikään ei ole läpäissyt testiä, joten kilpailu jatkuu vuosittain... Viime vuosina sen on voittanut Mitsuku niminen chatbot...

Mitsukun kanssa pääsee keskustelemaan englanniksi tietokoneella tästä: Mitsuku


Turingin testin lisäksi on olemassa John Searlen Kiinalaisen huoneen argumentti jonka mukaan sääntöihin perustuva chatbot taikka mikä tahansa tekoäly ei voi koskaan ymmärtää kielen merkitystä samalla tavalla kuin ihminen, vaikka olisi kuinka hyvä keskustelija...

Kiinalaisen huoneen argumentin pääpointti Wikipedian mukaan on:

Laajemmassa muodossaan argumentti väittää, että syntaksista ei voisi johtaa semantiikkaa. Searlen mukaan semantiikka (symbolien merkitykset) on riippumaton syntaksista (symbolien mekaanisista käsittelysäännöistä). Tietokone kykenee Searlen mukaan ainoastaan syntaksiin eikä lainkaan semantiikkaan, mitä kiinalainen huone kansantajuisesti pyrkii havainnollistamaan.


Kannattaa käydä lukemassa tuo artikkeli ja siihen liittyvä ajatuskoe, jos kiinnostaa se miksi tekoäly ei Searlen mukaan voi ymmärtää sanojen, lauseiden ja asioiden merkityksiä kuten ihminen... Tekoälyä (AI) ja keinotekoista tietoisuutta (AC) suurempi ongelma on "keinotekoinen merkitysten ymmärtäminen"...

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#11 kirjoitettu 23.01.2020 17:59

Noista merkityksistä ja ymmärtämisestä löysin seuraavia Wikipeadia artikkeleita:

Semantic memory
Computational linquistics
Computational semantics

Oli sen verran pitkiä artikkeleita, etten jaksanut kaikkea lukea, mutta tuossa asiaa semantiikasta, merkityksistä ja ymmärtämisestä jos jotakuta kiinnostaa...


Sen verran jäi käteen, että sääntöpohjainen tekoäly ei Searlen mukaan voi koskaan ymmärtää kieltä kuten ihminen...

Selvää on, että sääntöpohjainen ohjelma tarvitsee eri tasoisia ohjelmablokkeja, joita sääntöjen tulkinnan ohella voisivat olla semanttinen taikka assosiatiivinen muisti ja prosessointi...

Koska yksi semiotiikan perusoletuksia on se, että on olemassa sana ja sanaan viittaava käsite. Käsite on se, jolla luodaan merkitysassosiaatiot sen suhteen mikä on varsinainen viite elikkä objekti.

On helpompi luoda sanojen välisiä verkostoja, mutta käsitteiden välisten merkityssisältöjen muuttaminen merkityksiä sisältäviksi assosiatiivisiksi verkoiksi on jo vaikeampaa... Silti, ihmisten välisessä kommunikaatiossa tarvitaan juuri näiden sanojen takana olevien käsitteiden keskinäistä ymmärtämistä...

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#12 kirjoitettu 23.01.2020 18:35

Rupesinpa tässä aikani kuluksi pohtimaan, kuinka tekoälyn olisi ymmärrettävä merkityksiä...


1) Ensiksikin yksittäisten sanojen kohdalla pätee:

Merkki (sana) >> Käsite (Merkitykset) >> Kohde (Asia johon viitataan)


2) Lauseiden kohdalla pätee:

- Merkkijono (lause) koostuu:
a) Käsitteistä, joita ovat adjektiivit (semanttinen muisti) ja verbit (proseduraalinen muisti)
b) Kohteista (substantiivit), joita ovat subjektit (tekijät) ja objektit (teon kohteet)


Esimerkki: Petri ajaa punaista autoa.

Petri (Kohde 1, subjekti) ajaa (Käsite, verbi) punaista (Käsite, adjektiivi) autoa (Kohde 2, objekti).


Lauseessa siis sanojen eli merkkien merkitys koostuu:
- Käsitteistä (semanttinen ja proseduraalinen muisti)
- Kohteista (Subjektit ja objektit)

Lauseiden merkitys muodostuu seuraavasti:
- Tekoälyn on osattava yhdistää sanat Petri+ajaa sekä punaista+autoa niiden merkityksiksi.
- Ja lopuksi tekolyn on pystyttävä koko lauseen tasolla ymmärtämään koko lauseen merkitysassosiaatiot.


No niin... Rupeepas geeli ohjelmoimaan ja kerro kuinka kävi...

^ Vastaa Lainaa


geeli
3732 viestiä

#13 kirjoitettu 23.01.2020 21:08

Ihan piruuttain...Raapaisin muutamassa tunnissa tämän...

Tekoäly - Lauseen muodostus

Paljon parannettavaa ja kehitettävää on

Tuolta siis löytyy vihreä painike, jossa lukee "Clone or download" ja sitten pitää purkaa zip ja avata sieltä .html-tiedosto selaimeen.

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#14 kirjoitettu 23.01.2020 21:43

geeli kirjoitti:


Ihan piruuttain...Raapaisin muutamassa tunnissa tämän...


Heh... Kävin sivulla, mutten uskaltanut downloadata mitään, kun olen aika konservatiivinen näissä asioissa... Joten kerropa muutamalla sanalla mistä on kyse? Teitkö homman huumorilla vaiko ihan vakavissasi?

Itsekin tuli tossa innostuttua kirjoittamaan ummet ja lammet asiasta... Pointti oli ehkä kuitenkin lyhyesti se, että tuon tekoälyn saaminen ymmärtämään sanojen ja lauseiden merkitykset on aika monimutkainen homma... Koska nuo sanan eri käsitteelliset merkitykset riippuu tilanteesta (konteksti), kulttuurisista koodeista, ja henkilön omista merkityssisällöistä sanakirjamääritelmien ohella. Tämä kaikki pitäisi analysoida jokaisen sanan kohdalla erikseen plus sitten myös koko lauseen tasolla... Paljon siis prosessoitavaa ja yhteensovitettavaa...

Lukaisin tänään myös sen kolmannen luvun tuosta mainitsemastani tietoisuutta käsittelevästä kirjasta, joka paneutui tekoälyyn ja keinotekoiseen tietoisuuteen...

Tämä tietoisuus, sen olemus ja merkitys on kiistanalainen asia tekoälyn tutkijoiden keskuudessa, ja itselleni vain vahvistui tuon lukemani perusteella, että omalla kohdalla, vaikken tekoälyn minkään sortin asiantuntija olekaan, vain tällainen nojatuolimatkaaja ja filosofi, niin se ongelma nimenomaan on semanttinen tietoisuus eli merkitysten ymmärtäminen... Tämä tapahtuu kielen ja käsitteiden avulla...

Jos halutaan luoda keinotekoinen äly (AI) joka oikeasti osaa analysoida asioita ja tehdä päätöksiä, niin sen älyn perusta on nimenomaan semanttinen äly, elikkä se että kone ymmärtää sen tiedon merkityksen... Tietoisuus on sivuseikka... Voisi jopa sanoa, että kone joka pystyy havaitsemaan maailmansa, ymmärtämään sen, tekemään tulkintoja siitä, sekä tekemään päätöksiä oman toimintansa perustaksi kaiken tämän perusteella, on kaiken järjen mukaan ihan tarpeeksi tietoinen toimija...

Mut joo, nää on vaan maallikon ajatuksia ja tulkintoja kuitenkin...

^ Vastaa Lainaa


geeli
3732 viestiä

#15 kirjoitettu 23.01.2020 22:28

IT kirjoitti:

kerropa muutamalla sanalla mistä on kyse?



Eipä tätä nyt niin vakavasti tullut otettua. Viesti inspiroi. Olin itse myös epävarma että olitko tosissasi, mutta joo...leikkiähän tämä on...harrastuneisuutta

Alla kuvankaappaus:

[kuva]

Ideana on, että syötetään tuonne ohjelmaan sanoja, ja sitten muodostetaan satunnaisesti niistä lause. Tämä siis ihan sattumanvaraisesti. Ollaan hemmetin kaukana siitä, että tämä olisi jokin tekoäly. Mutta lauseita saa muodostettua sanoista jotka on syötetty.

Kuvankaappaus tilanteesta, jossa on muodostettu lause:

[kuva]

Sanotaan vielä, että lause on aina muotoa: tekijä, verbi, adjektiivi, lauseen kohde (en tiedä meneekö äidinkielen oppien mukaan ihan, mutta "you get the picture").

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#16 kirjoitettu 23.01.2020 23:07

geeli kirjoitti:

Eipä tätä nyt niin vakavasti tullut otettua. Viesti inspiroi. Olin itse myös epävarma että olitko tosissasi, mutta joo...leikkiähän tämä on...harrastuneisuutta

Alla kuvankaappaus:

Ideana on, että syötetään tuonne ohjelmaan sanoja, ja sitten muodostetaan satunnaisesti niistä lause. Tämä siis ihan sattumanvaraisesti. Ollaan hemmetin kaukana siitä, että tämä olisi jokin tekoäly. Mutta lauseita saa muodostettua sanoista jotka on syötetty.


Heh... Joo, leikillänihän sua kehotin ohjelmoimaan, ja hienoa että otit viestini pilke silmäkulmassa... Ja kiitokset kuvakaappauksista ja selostuksesta...

Hieno idea sulla tuo lauseen sattumanvarainen rakentaminen... Mulle tuli heti mieleen netistä löytyvät erilaiset "generaattorit", joilla voi generoida annettujen adjektiivien sun muiden sanojen pohjalta vaikkapa bändin nimiä taikka ihan melkein mitä vaan...

Tossa oliskin hyvä idea: Biisin nimigeneraattori Mikseriin ladattavalle musiikille...

^ Vastaa Lainaa


geeli
3732 viestiä

#17 kirjoitettu 24.01.2020 04:59

Tuossapa se mitä pystyn 2-3 tunnissa toteuttamaan. En ehkä kehittele tätä sovellusta tämän pitemmälle. Ohjelmistoja tehdään useinmiten tiimeissä ja sanoisin että 3-10 henkilöä per tiimi olisi. Vastuualueet jaettaisiin osaamisen mukaan. Tämä on varmasti tehokkaampaa kuin yksin työskentely.

Mun koodaamiselle on tyypillistä se, että yhdellä istumalla, kun inspiraatio iskee, syntyy paljon. Sitten jään miettimään jatkokehittelyä ja projekti lopulta unohtuu. Näin on käynyt jo muutamalle projektille, jotka olen aloittanut.

Tuossa lauseita muodostavassa ohjelmassakin nään seuraavia askelia, mutta mutta...en tiedä onko järkeä jatkaa...Työvälineenä JavaScript ei ole niin tehokas kuin tällaisten sovellusten toteuttamiseen luodut frameworkit eli suomeksi sovelluskehykset...

Meneekö nyt jo "off-topic", ehkä vähän, mutta sanotaan vielä, että tällaista "älykkyyttä" ei ole siis kovin vaikea ohjelmallisesti tuottaa...

Hoh hoh . Viitisen tuntia nukuin eikä uni tuu. Varhaista huomenta tämän lukijoille!

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#18 kirjoitettu 24.01.2020 07:16

geeli kirjoitti:


Meneekö nyt jo "off-topic", ehkä vähän, mutta sanotaan vielä, että tällaista "älykkyyttä" ei ole siis kovin vaikea ohjelmallisesti tuottaa..


Tossa mun tietoisuutta käsittelevässä kirjassa se osio mikä käsitteli tekoälyä totesi yhdessä kohtaa seuraavaa, että yksinkertaisia sääntöjä noudattamalla voidaan saada aikaiseksi näennäisesti älykästä toimintaaa....

Trermiitit pesiänsä rakentaessaan noudattavat kukin yksinkertaisia sääntöjä, minne rakennusaineita laitetaan, ilman että niillä on mitään käsitystä päämäärästä ja lopputuloksesta... Silti lopputuloksena on toimiva pesä...

Yksinkertaisen robotin saa seuraamaan seinän vierustaa sensorien avulla ilman, että tuo robotti pitää sisällään monimutkaista kolmiulotteista representaatiota maailmasta, taikka ymmärtää että sillä on päämäärä taikka tarkoitus...

Ulkopuolinen tarkkailija ei pelkästäään noiden esimerkkien käyttäytymistä seuraamalla pysty tekemäään eroa sen suhteen onko prosessi älykäs vaiko ei...

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#19 kirjoitettu 24.01.2020 07:42

Jatkanpa vielä hieman tätä merkityksien muodostumisen analyysiäni... Semiotiikka on ala joka tutkii merkkejä ja niistä muodostuvia merkityksiä... Ja kaksi suurta nimeä tällä alalla ovat Ferdinand de Saussure ja Charles Sanders Peirce... Tuossa yhteenvetoa aiheesta:

Sana >> Käsite >> Viite
Peirce: Sign (Sana) >> Interpretant (Käsite) >> Object (Viite)
Saussure: Signifier (Sana) >> Signified (Käsite)


Merkitykset muodostuvat siis tasolla: Käsite >> Interpretant >> Signified... Merkillepantavaa on myös, että Saussuren mallissa ei ole ollenkaan viitettä eli objektia, vaan sanan merkitys on yhteydessä pelkästään sanaan liittyvään käsitteeseen...

Ihminen pystyy siis käsittelemään sekä konkreettisia että abstrakteja asioita ja niihin liittyviä merkityksiä... Viite elikkä viittaus objektiin viittaa aina asiaan jolla on fyysinen muoto... Käsite puolestaan voi viitata viitteeseen, joka liittyy fyysiseen objektiin, taikka se voi viitata pelkästään abstraktiin käsitteeseen, joka liittyy johonkin ei-fyysiseen ideaan...

Abstraktit käsitteet voivat olla esim. tällaisia asioita: vapaus, kulttuuri, matematiikka, tiede, taide, kommunikaatio, totuus, kauneus, rakkaus...

Veikkaan, että tekoälyn on vaikeampi ymmärtää näitä abstrakteja asioita kuin konkreettisiin objekteihin viittaavia käsitteitä... Silti, nuo yllä luetellut abstraktitkin käsitteet viittaavat reaalimaailman ilmiöihin...

---Ja tämä esimerkki myös osoittaa sen, että sanan taikka minkä tahansa symbolisen merkin ymmärtämiseksi oleellista ei ole se viite johon sanalla mahdollisesti viitataan, koska abstraktien asioiden ollessa kyseessä materiaalinen viite puuttuu kokonaan... Oleellista on se, että sana viittaa käsitteeseen, konseptiin, jossa tämä sana saa merkityksensä useiden samanaikaisten muiden sanojen, objektien ja ilmiöiden sekä niihin liittyvien assosiaatioiden kautta...

Ymmärtäminen tapahtuu siis käsitteiden kautta... Ja varsinkin abstrakti ihmiselle tyypillinen ajattelu tapahtuu tyystin käsitteellisellä tasolla...

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#20 kirjoitettu 24.01.2020 11:43

geeli kirjoitti:


Tuossa lauseita muodostavassa ohjelmassakin nään seuraavia askelia, mutta mutta...en tiedä onko järkeä jatkaa...Työvälineenä JavaScript ei ole niin tehokas kuin tällaisten sovellusten toteuttamiseen luodut frameworkit eli suomeksi sovelluskehykset...


Tuli tästä mieleen ihan oikeakin projekti... Itse en osaa ohjelmointia alkuunkaan, mutta ymmärrän joitain perusasioita, kuten sen että on olemassa objektiorientoitunutta ohjelmointia... Joten tässä sulle pähkinä purtavaksi...

Miten ohjelmoisit pienen ohjelman, jonka pitäisi ymmärtää yksinkertainen lause?

¤ Lause: Petri ajaa punaista autoa.
¤ Kysymykset:
- Mitä Petri tekee?
- Minkä värinen auto on?
- Kuka ajaa autoa?

Jos edes saisi sellaisen ohjelman, mikä pystyisi vastaamaan yhteenkin noista kysymyksistä? Ja tuossa mun ajatuksia tällaisesta ohjelmasta:

1) Ensiksikin tarvitaan sanojen tietokanta. Jokainen sana pitäisi tietokannassa luokitella vähintään kahden tekijän mukaan: Semantiikka eli merkitys sekä syntaksi eli kielioppi...

Tällöin esim. sana punainen luokiteltaisiin a) väriksi (semantiikka) ja b) adjektiiviksi (kielioppi).

2) Pitäisi olla ohjelman Pääobjekti, joka kattaisi koko lauseen. Tämän pääobjektin pitäisi:
- Tuottaa vastaus kysymykseen.
- Käsitellä lause kokonaisuutena. Lauseen semanttinen merkitys, joka perustuisi yksittäisten sanojen merkitykseen.
- Yhdistellä merkitykset ja syntaksi.
- Jaotella yksittäiset sanat alaobjektien käsiteltäväksi.

3) Alaobjektit
- Yksittäisten sanojen merkitys. Haku tietokannasta.
- Sanojen semanttinen merkitys.
- Sanojen syntaktinen kieliopillinen merkitys.
>> Sanojen merkityshän oikeastaan muodostuu näiden yhteisvaikutuksesta. Semanttinen merkitys kertoo esim. että punaisen ollessa kyseessä on väri, ja syntaktinen merkitys sen, että kyseessä on adjektiivi, joka kuvailee ominaisuuksia... Tässä tapauksessa siis objektin elikkkä auton ominaisuuksia...


Mut joo... Panehan geeli mietteitäsi tästä? Olenko ihan metsässä ja pihalla tämän kanssa? Ja joo, ei tarvitse oikeasti ruveta tätä ohjelmoimaan, kunhan vaan spekuloidaan että mitähän jos...

^ Vastaa Lainaa


geeli
3732 viestiä

#21 kirjoitettu 24.01.2020 12:07

Kannattaa tutustua olio-ohjelmoinnin käsitteeseen. Osaan sitä hieman ja kun olet muotoillut lauseiden ja niiden ymmärtämisestä asiaa, niin voin vähän kertoa aiheesta ohjelmoijan kannalta eli siitä, miten näen tämän asian. Java on mainio kieli toteuttaa olio-ohjelmointia eli engl. "Object Oriented Programming".

Se perustuu siihen, että ensin luodaan luokka, jolla on erilaisia muuuttujia tai voidaan sanoa attribuutteja sekä metodeja eli funktioita eli toiminnallisuuksia. Sitten luodaan luokasta ilmentymä, jolla on nämä eli esim. muuttuja väri saa arvoksi "vihreä" tai "sininen" ja sitten voisi olla muuttuja hevosvoimat joka saa arvoksi sitten 120 tai 230 jne. Metodit ovat vain ohjelmoinnissa yleisesti käytettyjä funktioita, mutta ne ovat luokkakohtaisia, kun ne on luokassa määritelty.

Lyhyt esimerkki luokasta:

class Auto {

int hevosVoimat;
String vaeri;
String merkki;
String malli;

}

Oikeasti pitäisi luokalla olla vielä "konstruktori", mutta jätän sen tässä pois.

Luodaan ilmentymä:

Auto autonIlm = new Auto();

Nyt on siis luotu luokan toteuttava ilmentymä, jolla on luokassa määritellyt ominaisuudet.

Täällä selitetään paremmin ja perusteellisemmin tämä asia:

https://www.cs.helsink...

Jos aihetta haluaa opetella suosittelen kirjaa: Silander, Ollikainen - Java, Docendo 2010

^ Vastaa Lainaa


geeli
3732 viestiä

#22 kirjoitettu 24.01.2020 13:06

Eli voitaisiin luoda luokka

Auto

ja sille muuttujat

- ajaja
- väri

ja sitten vain annettaisiin arvot noille muuttujille

Luodaan siis objekti annetuista tiedoita. Tämä on olio-ohjelmoinnin ydin ja tältä pohjalta toteutetaan monia sovelluksi, jollainen tekoälykin on...

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#23 kirjoitettu 24.01.2020 13:31 Muok:24.01.2020 13:57

geeli kirjoitti:

Eli voitaisiin luoda luokka

Auto

ja sille muuttujat

- ajaja
- väri

ja sitten vain annettaisiin arvot noille muuttujille

Luodaan siis objekti annetuista tiedoita. Tämä on olio-ohjelmoinnin ydin ja tältä pohjalta toteutetaan monia sovelluksi, jollainen tekoälykin on...


Joo... Kiitos tiedoista... Olen joskus 10 vuotta sitten lukenut joitakin ihan perusjuttuja ohjelmoinnista netistä ja parista kirjasta, mutta kuten todettu en opetellut ollenkaan koodaamaan...

Huomaan, että meillä on eri lähestymistapa tuon koodausongelman ratkaisuun... Mun tavassa käy näin, että luodaan vähintään kaksi luokkaa:

- Luokka: lause
- Luokka: sana

Ohjelma siis loisi objektin lauseesta, sekä yksittäiset objektit kaikista lauseen sanoista... Nämä yksittäiset objektit hakisivat kyseisen sanan semanttisen ja syntaktisen merkityksen tietokannasta...

Ongelma tuossa sun lähestymistavassa on se, että tuo luokka "auto" tulee määritellyksi liian tiukasti siinä... Värin, merkin, mallin lisäksi autoon voi liittyä tuhat ja yksi muutakin muuttujaa, ja silloin nuo sanaan liitettävät attribuutit pitäisi olla tietokannassa, josta ohjelma osaisi hakea kuhunkin tilanteeseen sopivat attribuutit...

Ohjelma siis loisi luokasta sana useita objekteja, siis niin monta kuin sanojakin on lauseessa... Kunkin sanaobjektin tulisi hakea tietokannasta sanan kuten auto semanttinen ja syntaktinen merkitys...

Pääobjekti taikka muutama muukin luokka/objekti toimisivat sitten siten, että tuosta kysymyslauseesta ohjelma osaisi ratkaista sen, mitä kysymyksessä kysytään...

Kun luokan taikka sanan attribuutit elikkä muuttujat on tietokannassa, niin tuota luokkaa ei ole tarkkaan määritelty vain tiettyjen muuttujien perusteella, vaan luokkaan taikka sanaan voi liittää muitakin attribuutteja... Tämä attribuuttien lista olisi tietokannassa... Lista voisi kasvaa tekoälyn kokemuksen kasvaessa, jotenka tuo tekoäly voisi oppia ja luoda uusia assosiaatioita ja merkityksiä... Mun mielestä tuo, että määritellään tiukasti luokka ja attribuutit ei mahdollista oikeata tekoälyä ja oppimista... Nuo luokat ja niihin liittyvät muuttujat pitäisi määritellä abstraktimmalla tasolla, elikkä sanojen ja lauseiden tasolla...

Miltäs tällainen kuulostaa?


Siis niin, että on vaikkapa:
- luokka: sana
- muuttujat: sanan syntaktinen ja sanan semanttinen merkitys

Ja sitten tuo objekti osaisi hakea tilanteeseen sopivat attribuutit noille muuttujille tietokannasta, elikkä vaikkapa sanan punainen semanttisen merkityksen (väri) ja syntaktisen merkityksen (adjektiivi)...

Luokka lause ja sen perusteella muodostettava objekti osaisi yhdistellä yksittäiset sanaobjektit merkityksellisiksi lauseiksi sanaobjektien muuttujien perusteella...

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#24 kirjoitettu 24.01.2020 17:19

IT kirjoitti:

Siis niin, että on vaikkapa:
- luokka: sana
- muuttujat: sanan syntaktinen ja sanan semanttinen merkitys

Ja sitten tuo objekti osaisi hakea tilanteeseen sopivat attribuutit noille muuttujille tietokannasta, elikkä vaikkapa sanan punainen semanttisen merkityksen (väri) ja syntaktisen merkityksen (adjektiivi)...


Eli jatketaanpa tästä... Millainen luokka/objekti tästä tulisi?

Luokka: sana
Muuttujat: syntaksi ja käsite

Millaisia:
- metodeita?
- konstruktori?
tällä pitäisi olla...

Mitä muuta tällainen luokka/objekti tarvitsee? Jos ajatellaan, että sen tehtävä on hakea objektin (sana) syntaktinen (adjektiivi) ja semanttinen (käsite, väri) merkitys...

Jos sitten ajatellaan, että ohjelman muut luokat/objektit käsittelevät koko lauseita, ja sitä että mitä nuo aiemmat kysymykset, kuten "Mikä on auton väri?" merkitsevät... Tarvitseeko tämän luokan/objektin tuottaa joitain muitakin "palveluksia" muille objekteille?

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#25 kirjoitettu 24.01.2020 17:49

geeli kirjoitti:


Täällä selitetään paremmin ja perusteellisemmin tämä asia:

https://www.cs.helsink...


Joo... Kiitos tästä, kävin vilkuilemassa, ja hieman samanlaisia asioita tutkiskelin silloin 10 vuottakin sitten jonkin verran... Musta tuntuu, että jotenkin ymmärrän loogisesti ohjelmoinnin perusteita edes hieman, mutta nuo ohjelmointikielet ja kun ne ideat pitäisi panna täytäntöön, niin iskee ahdistus ja epätietoisuus.... Kaikkki näyttää ihan sekavalta, enkä pääse alkua pidemmälle... Eikä mulla oikeastaan ole tarvettakaan paneutua tuohon niin syvällisesti, onneksi...

Pari pointtia kuitenkin tuosta linkistä, jonka pääotsikko oli "2. Algoritmien laatimisen alkeet"...

Mielenkiintoista oli ensiksikin tuo vika kohta taulukkko-olioista ja matriiseista... Matrsiisilaskentaahan on monenlaista (tiedän tässäkin periaatteen, mutten käytäntöä)... Ja itseä kiinnostaa tässä yllä olevassa tekoälyongelmassa, että kuinka esim. matriiseja voisi käyttää hyväksi sana luokan muuttujien "syntaksi" ja "käsite" manipuloinnissa?

Ajatellaan vaikkapa matriisi (taikka taulukko) jonka sarakkeet ovat kieliopillisia luokkia (adjektiivi, verbi, jne...) ja rivit näihin luokkiin liittyviä muuttujia, kuten aikamuodot taikka sanapäätteisiin liittyvät sijamuodot... Olisiko taulukkomuodosta apua?

Vai pitäisikö sanan aikamuodot ja sijamuodot olla sana luokan muuttujien syntaksin eli kieliopillisen merkityksen määrittelyssä?


Ja toisaalta tosta luvun aiheesta, elikkä algoritmeista, niin tässähän tekooälyn tapauksessa nuo algoritmit pitäisi olla sillä tavalla joustavia, että ne mahdollistavat tuon tekoälysovelluksen oppimisen... Algoritmihan tuottaa määritelmän mukaisesti tiettyjä sääntöjä noudattamalla aina säännönmukaisen vastauksen... Silloin tuon oppimiskyvyn täytyy sisältyä ohjelman logiikkaan ja rakenteeseen, jos ei yksittäisiin algoritmeihin...

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#26 kirjoitettu 24.01.2020 18:01

Mitäs ohjemmointikieliä muuten geeli osaat?


Katselin netistä, että moni on sitä mieltä että Python on paras kieli tekoälyn ohjelmointiin:

Top 5 languages for AI

"Python is considered to be in the first place in the list of all AI development languages due to the simplicity. The syntaxes belonging to python are very simple and can be easily learnt. Therefore, many AI algorithms can be easily implemented in it. Python takes short development time in comparison to other languages like Java, C++ or Ruby. Python supports object oriented, functional as well as procedure oriented styles of programming. There are plenty of libraries in python, which make our tasks easier."

Python - Wiki
List of programming languages for AI - Wiki

^ Vastaa Lainaa


geeli
3732 viestiä

#27 kirjoitettu 24.01.2020 18:10

Luokkia voi olla monia ja ilmentymiä voidaan käyttää "pääluokassa". Luokka tarvitsee konstruktorin jotta siitä voidaan luoda ilmentymä.

Ilmentymälle voidaan alustaa muuttujien arvoja konstruktorissa, mutta se ei ole välttämätöntä...

Esimerkiksi tässä on luokka ja sen konstruktori:

public class Auto {
private String merkki;
private String vaeri;
private int hevosvoimat;

public Auto() {
}

}

Pääluokka koodattaisiin näin:

public static void main(String[] args) {

Auto autonIlmentyma = new Auto();

}

Luokalla voi kyllä olla metodejakin...Laitetaampa jokin metodi koodiin...eli tässä uudestaan tuo luokka siten, että siinä on vielä metodi mukana:

public class Auto {
private String merkki;
private String vaeri;
private int hevosvoimat;

public Auto() {
}

public void testMethod() {

System.out.println("Hello from class method!");

}

}

Ja tuota metodia voidaan kutsua pääluokasta näin:

public static void main(String[] args) {

Auto autonIlmentyma = new Auto();
autonIlmentyma.testMethod();
}

Näillä ja Googlettelemalla pääsee varmasti jo alkuun Javan perusteissa.

^ Vastaa Lainaa


geeli
3732 viestiä

#28 kirjoitettu 24.01.2020 18:18

IT kirjoitti:
Mitäs ohjemmointikieliä muuten geeli osaat?


Vahvimpina on Java ja PHP sekä JavaScript. Aikanaan olen opetellut aika useaan kertaan perusteet useilla ohjelmointikielillä. Python on ihan hyvä kieli aloittaa. Itse aloitin Javalla.

Voi olla alkuun vaikea saada ns. "tuotantoympäristöä" pystyyn eikä sitä välttämättä opeteta missään kirjoissa (paitsi me katsottiin aikanaan AMK:ssa opettajan kanssa, että päästiin alkuun).

Kannattaa olla hyvä editori. Ihan Windowsin Muistiolla ei pärjää.

^ Vastaa Lainaa


geeli
3732 viestiä

#29 kirjoitettu 24.01.2020 18:20

Sitten kun perusteet on hallussa, niin kannattaa ryhtyä tekemään ohjelmoimalla jotain konkreettista ja opetella joitakin käytetyimpiä sovelluskehyksiä. Siten voi kartuttaa osaamista ja kokeilla olisiko koodaus juuri se juttu. Tähän menee siis vuosia. Joku varmasti ihmettelee, miten joku jaksaa käyttää aikaa tähän, mutta se vaan omalla tavallaan kiinnostaa...

^ Vastaa Lainaa


geeli
3732 viestiä

#30 kirjoitettu 24.01.2020 18:22

Tässä vielä yksi hyvä linkki:

https://www.w3schools....

^ Vastaa Lainaa


geeli
3732 viestiä

#31 kirjoitettu 24.01.2020 18:25

Ja lisättäköön vielä että olio-ohjelmoinnissa käytettävillä luokilla voi olla toisiinsa nähden riippuvuuksia ja suhteita joita en osaa tässä kertoa. Tässä onkin kaiken kaikkiaan pähkinää purtavaksi ja ongelmaa mietittäväksi. Mutta hyvä jos kiinnostaa...

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#32 kirjoitettu 24.01.2020 19:21

geeli kirjoitti:


Vahvimpina on Java ja PHP sekä JavaScript. Aikanaan olen opetellut aika useaan kertaan perusteet useilla ohjelmointikielillä. Python on ihan hyvä kieli aloittaa. Itse aloitin Javalla.


Joo... Kiitosta vaan vastauksista... Itsellä vaan tällä hetkellä hieman muitakin projekteja menossa oppimisen suhteen, niin taitaa olla niin että ohjelmointi kun se on jo aiemmin tuntunut vaikealta, saa nyt toistaiseksi odottaa kuitenkin... Periaatteessa kuitenkin kiinnostaa ohjemoinnin ja ohjelmistosuunnittelun perusteet sekä myös tekoäly... Ehkäpä sitä vielä joskus on aikaa ja tarmoa tähän...

Tossa kuitenkin mielenkiintoinen kurssi MIT:stä, josta on siis videoluennot saatavilla:

Introduction to Computer Science and Programming in Python


Tossa kanssa mielenkiintoinen luentosarja, josta videot:

Artificial Intelligence

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#33 kirjoitettu 24.01.2020 20:17

Innostuin tossa vielä hieman googlettelemaan aiheesta Natural language processing, ja tällaista jäi haaviin:

Suomenkielisiä aineistoja:
Kielipankki

Tuolta löytyy WordNet, joka on Princetonin yliopiston ylläpitämä palvelu:
WordNet
WordNet - Related Projects

"WordNet® is a large lexical database of English. Nouns, verbs, adjectives and adverbs are grouped into sets of cognitive synonyms (synsets), each expressing a distinct concept. Synsets are interlinked by means of conceptual-semantic and lexical relations."

Tuo yllä oleva on itse asiassa se, mitä hain noilla omilla aikaisemmilla esimerkeilläni tässä ketjussa... Eli sanoja, jotka on linkitetty semanttisten ja syntaktisten ominaisuuksien perusteella... Vähän ounastelinkin, että ammattilaiset ovat olleet 10 askelta mua edellä...

Ja tossa on mielenkiintoinen sovellus Python ympäristöön:
Natural Language Toolkit
Kirja aiheeseen liittyen

"NLTK is a leading platform for building Python programs to work with human language data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as WordNet, along with a suite of text processing libraries for classification, tokenization, stemming, tagging, parsing, and semantic reasoning, wrappers for industrial-strength NLP libraries, and an active discussion forum."

Tuolla Natural Language Toolkit sivustolla on ohjelmointi esimerkkejä, ja se kohta "Identify named entities" on aikas lähellä tuota mun ideaa kanssa...


Hitto, jos olisin vielä nuori, ja lahjakas matematiikassa ja äidinkielessä plus englannissa ja ohjelmoinnissa, niin olishan tossa todella mielenkiintoinen aihe mihinkä paneutua...

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#34 kirjoitettu 25.01.2020 09:21

Katselinpa, että tuo edellisessä viestissä mainitsemani kirja, joka liittyy Natural Language Toolkitiin Python ympäristössä on saatavilla myös ilmaiseksi online... Hieman selailin tuota... Vaikean tuntuista asiaa näin maallikolle, mutta mielenkiintoista, ja kirja mm. toteaa:

"On a more philosophical level, a long-standing challenge within artificial intelligence has been to build intelligent machines, and a major part of intelligent behaviour is understanding language. For many years this goal has been seen as too difficult. However, as NLP technologies become more mature, and robust methods for analyzing unrestricted text become more widespread, the prospect of natural language understanding has re-emerged as a plausible goal."

Natural Language Processing with Python - Online kirja


Jos kyky ymmärtää kieltä on yksi komponentti älykkäässä käyttäytymisessä, jonka mikä tahansa tekoäly tarvitsee, niin päätöksenteko ja toiminnan ohjaus elikkä motivaatio on toinen osa-alue, joka on oltava kunnossa... Itse näkisin, että tekoäly tarvitsee päätöksentekoon ainakin seuraavia komponentteja:

- Egoismi
- Motivaatio
- Emootiot elikkä tunnnetilat
- Rationaalisuus

Ihminen on kombinaatio kaikkia näitä, ja jos halutaan luoda ihmistä muistuttava tekoäly, joka pystyy tekemään päätöksiä ja asettamaan itselleen päämääriä, sekä oppimaan menneistä tulevien päätösten pohjaksi, niin kaikkia näitä tarvitaan....

^ Vastaa Lainaa


geeli
3732 viestiä

#35 kirjoitettu 25.01.2020 11:38

Yksi ohjelmistotuotannon alue on mallintaminen. Sitä käytetään ohjelmistojen suunnittelussa vaikka se ei ole varsinaisesti ohjelmointia. Siihen kuuluvat erilaiset kaaviot, joista mielenkiintoisimmat ovat varmasti tähän liittyen luokkakaaviot ja käyttötapauskaaviot. Luokkakaavio kuvaa luokan rakennetta ja sen riippuvuuksia muihin luokkiin. Käyttötapauskaavio taas kertoo paljon siitä, miten ohjelmaa käytetään eli mitä kaikkea sillä voidaan tehdä. Liittyvät molemmat läheisesti olio-ohjelmointiin ja ohjelmiston toiminnallisuuteen, niin mainitsen ne tässä.

Polku ohjelmoinnin osaajaksi oli aika kivinen. Suurinpiirtein puolivälissä, olisiko ollut toinen tai kolmas opiskeluvuosi, tutustuin mallintamiseen. Tuolloin en osannut vielä kaikkea mitä nyt osaan.

Opintoihin kuului myös tilastotiedettä, tietokantoja ja jopa Big Data:aa...Vähän ehkä pirstaloitui tuo osaamiseni. Opiskelin kaikkea vähän sieltä täältä ja sitten en syventynyt mihinkään sellaiseen, mitä olisin työkseni voinut tehdä...Mutta se on hyvä lähtökohta, että opiskelee sitä, mikä eniten kiinnostaa...

^ Vastaa Lainaa


geeli
3732 viestiä

#36 kirjoitettu 25.01.2020 11:45

Tulipa tästä hieno poikkitieteellinen keskusteluaihe...tekniikkaa ja ihmistieteitä...

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#37 kirjoitettu 25.01.2020 12:56

geeli kirjoitti:

Tulipa tästä hieno poikkitieteellinen keskusteluaihe...tekniikkaa ja ihmistieteitä...


Heh, kyllä... Tietotekniikan ja tekoälyn ollessa kyseessä pelkkä ohjelmoinnin osaaminen ei riitä, koska sovellukset liittyvät reaalimaailman ilmiöiden tarkasteluun ja niihin liittyvään ongelmanratkaisuun... Tarvitaan siis myös eri alojen käytännön osaamista...

Ja tässä oli juuri tänään YLEn nettiuutissivustolla mielenkiintoinen uutinen tekoälyyn liittyen... YLE on antanut potkut juttujen keskusteluita moderoivalle tekoälysovellukselle, ja palauttanut ihmisen moderoimaan kommentointia:

Tekoäly sai potkut Yleltä, mikä on konejournalismin tulevaisuus?

"Ulkopuolelta ostettu moderointiohjelma oli osoittautunut liian epävarmaksi, ja se myös teki aika ajoin vääriä päätöksiä."


Ei ymmärrä kone, ei...

^ Vastaa Lainaa


IT
IT Resurrected
13564 viestiä

#38 kirjoitettu 26.01.2020 21:56

Heh... Ei pitänyt ei, mutta asensinpa tällaisen nyt koneelle kuitenkin:


Anaconda Distribution


Tuo on siis ilmainen versio tästä paketista, jonka mukana tulee jos jonkinmoista softaa, (tilaa meni vajaat 3 gigaa) kuten nyt vaikkapa Python 3.7 ohjelmointikieli plus Spyder IDE... Katselin noita MIT:n ilmaisia ohjelmoinnin alkeet Python kielellä -luentoja, ja heillä oli siis Pythonin kanssa myös tämä Spyder IDE käytössä...

Heh... Onpahan nyt pelit ja vehkeet, ja varmaankin aika paljon menee aikaa ihan perusasioiden opetteluun... Katsotaan pääsenkö edes alkua pidemmälle tämän harrastuksen parissa, koska mulla olisi muitakin projekteja elämässä meneillään... Mutta sen verran kerkesin kokeilemaan tuota Spyderia ja Pythonia, että sain printatuksi sen kuuluisan "Hello World" lauseen... Siihen muun ohjelmointitaidot tällä hetkellä päättyykin...

^ Vastaa Lainaa

Vastaa Aloita uusi keskustelu