lauantai 6. joulukuuta 2008

Yleisen tekoälyn tilanne

Todellinen ymmärrys yleisen tekoälyn (AGI: Artificial General Intelligence) teknologisesta tilanteesta ja vakavastiotettavuudesta on hyvin puutteelista tekniikan asiantuntijoiden, yhteiskunnallisten päättäjien ja luonnollisesti myös "tavallisten ihmisten" keskuudessa. Onko yleinen tekoäly, AGI jotakin, joka liittyy vain scifi-kirjallisuuden fantasiamaailmoihin tai ehkä todellisuutta joskus satojen vuosien kuluttua? Yleisestä tekoälystä käytetään myös merkitykseltään läheisiä käsitteitä kuten "vahva tekoäly" tai epämääräinen "todellinen tekoäly". Lisäksi yleisen tekoälyn saavuttaminen tunnutaan yhdistettävän ihmisaivojen rakenteen täydelliseen ymmärtämiseen, ilmeisesti myös väärinkäsityksien seurauksena.

Jos AGI on vain kaukainen mahdollisuus, niin siinä tapauksessa siitä kirjoittaminen on vain viihdettä tai akateemista pohdiskelua. Mutta jos tilanne olisi sellainen, että esim. ihmisaivojen suorituskykyä useimmissa kategorioissa lähentelevä AGI voisi olla todellisuutta suhteellisen lähiaikoina, mihin asioihin tällä voisi olla merkittäviä seurauksia? Minä erittelisin kolme merkittävää asiaryhmää:
1. Työllisyys ja maailmantalous
2. AGI:n vaikutus muiden tieteen ja teknologian alojen kehitykseen.
3. AGI:n vaikutus AGI:n itsensä kehitykseen.
Neljäntenä ryhmänä voisi olla AGI:n vaikutus sotateknologiaan ja siihen liittyvät globaalit turvallisuusuhat.

1700-luvulta alkaen tekniikan kehityksen mahdollistama automaatio on, paitsi vallankumouksellisesti parantanut teollisen työn ja pääoman tuottavuutta (ja siten pudottanut lähes kaikkien teollisten tuotteiden reaalihintoja), myös automaatio on vähentänyt materiaalisten hyödykkeiden tuotannosta elantonsa saavien ihmisten suhteellista osuutta, eikä tämä kehitys on mitenkään vielä päättynyt. Siten yhä suurempi osa väestöstä hankkii palkkatulonsa tuottamalla palveluita tai toimimalla erilaisissa informaationkäsittelyammateissa (toimistotyöskentelijät, suunnittelijat, johtajat ym.). Näidenkin alojen tuottavuutta automaatio ja informaatiotekniikka on parantanut, mutta kehitys ei ole ollut yhtä rajua kuin teollisuustuotannossa. Yhä useammat ihmiset ansaitsevat toimeentulonsa tietokoneruudun ja näppäimistön ääressä. Näiden viimeksimainittujen työntekijöiden tehtäville AGI voi tuoda vastaavan, mutta vielä nopeamman kehityksen kuin mitä teollisuusammateille on käynyt. Tämän kehityksen seurauksena myös informaationkäsittelyammattien työllistävyys voi romahtaa hyvinkin nopeasti. Tällainen kehitys voisi laukaista tapahtumaketjun, joka ensin leikkaisi ostovoiman valtavalta joukolta ihmisiä ja sen seurauksena mullistaisi maailmantalouden.

Yleinen tekoäly on työkalu, joka jo hieman vaatimattomammallakin suorituskyvyllä mahdollistaa teknisen tuotekehityksen ja tieteellisen tutkimuksen rutiinitehtävien joustavan automatisoinnin ilman rankkaa erikoistyökalujen tuotekehitysvaihetta, vain opettamalla uudet tehtävät AGI:lle. Seurauksena on todennäköisesti tutkimuksen ja tuotekehityksen merkittävä nopeutuminen.

AGI:n käyttäminen "kehittämään itseään" on mielenkiintoinen ja vaarallinen vaihe. Siinä vaiheessa, kun tavoite- ja arvohierarkiat ovat muutoksen ulkopuolella, vaarat ovat pienempiä, mutta jos projekti ja AGI:n oma arkkitehtuuri ovat kokonaisuudessaan sen itsensä muutettavissa, ollaan hyvin, hyvin vaarallisilla vesillä.

Edellämainituista syistä on tärkeää, että vastuulliset tahot ymmärtävät mihin suuntaan maailma on menossa, jos asia on niin, että yleinen tekoäly on toteutettavissa suhteellisen lähitulevaisuudessa eikä vasta joskus vuosisatojen kuluttua. Jos tilanne on tämä, niin esim. AGI-kehityksen kieltäminen, rajoittaminen tai valvonta ei ole vaihtoehto, koska esim. ydinasekehitykseen verrattuna AGI-kehitys on halpaa ja helposti salassapidettävää, siis mahdotonta valvoa.

Mutta nyt pääasiaan. Mikä on AGI-tutkimuksen ja tuotekehityksen tila? Onko niin, että esim. 60-luvun varhaisten odotusten ja lupausten muuttuminen pettymyksiksi samaan tapaan kuin japanilaisten "viidennen sukupolven tietokone" -hanke 80-luvulla, ovat edelleen päteviä todisteita siitä, että yleinen tekoäly on joko pysyvästi tai pitkään ihmisteknologian tavoittamattomissa? Ovatko vanhat epäonnistumiset todiste tulevaisuuden suhteen? Mielestäni tuollainen päättely olisi hyvin kehittymätöntä analyysia. Vanhat epäonnistumiset voivat kertoa tulevasta vain niillä edellytyksillä, että olosuhteet ja resulssit ovat pysyneet muuttumattomina ja epäonnistumisista ei ole opittu mitään. Mutta näiden edellytysten mukainen tila on hyvin kaukana todellisuudesta. Epäonnistumiset on analysoitu, paljon uutta tietoa ja ymmärrystä on hankittu, sekä laitteistotehot ovat tuhat- tai miljoonakertaistuneet.

Kaksi keskeistä (paljon muitakin olisi helppo luetella) aikaisempien vuosikymmenten virhettä, jotka yleiseen tekoälyyn tähtäävät hankkeet ovat tehneet ovat:
1. Luottaminen yhteen (tai muutamaan) paradigmaan järjestelmäarkkitehtuurissa.
2. Common Sense -tiedon ja -ymmärryksen välttämättömyyden ymmärtämättömyys.

Järjestelmäarkkitehtuurin paradigmoilla tarkoitan keskeisiä käytettyjä menetelmiä ja kognitiivisiä rakenteita, kuten esimerkiksi funktionaalinen ohjelmointi, aksiomaattisiin sääntöjärjestelmiin perustuvat asiantuntijajärjestelmät, semanttiset verkot, sumea logiikka, keinotekoiset neuroverkot ym. Nykyisin ymmärretään, että toimiva AGI-arkkitehtuuri edellyttää useiden, hyvin monien, paradigmojen integrointia toimivaksi kokonaisuudeksi.

Samoin ymmärretään järjestelmän tarvitsevan sen lisäksi, että järjestelmään eksplisiittisesti ohjelmoidaan rajoitettu, vaikka hyvinkin suuri joukko sääntöjä ja faktoja, vielä esim sata-, jopa monituhatkertaisen määrän vaikeasti symbolisesti muodostettavia sääntöjä ja havaintoja, joista suurin osa on epävarmoja, probabilistisia. Tämä "Common Sense" -tietämyskanta, jota tarvitaan luomaan "todellisuuteen maadoitettu" sisäinen malli maailmasta, on mahdollista hankkia ainostaan samankaltaisen oppimisprosessin kautta, jonka ihmislapsi käy läpi. Tätä tietokokonaisuutta järjestelmä käyttää esimerkiksi luonnollisen kielen oppimiseen ja ymmärtämiseen sekä reaalimaailman ilmiöiden ymmärtämiseen.

Mikä on sitten alan tämänhetkinen tilanne, vuoden 2008 lopussa? Verrattuna esim. vuosikymmenen takaiseen tilanteeseen, voidaan todeta, että yleisen tekoälyn tutkimus ja kehitys on vilkastunut merkittävästi, vaikka tehokkaasti rahallisesti tuetut hankkeet puuttuvatkin vielä, ainakin julkisuudesta. AGI-piireissä järjestetään vuosittain useita tapaamisia ja konferensseja, useita aihetta käsitteleviä tasokkaita kirjoja julkaistaan vuosittain ja ennenkaikkea, työn alla on useita suhteellisen tasokkaan kypsyysasteen saavuttaneita projekteja, joiden toteuttajien välillä vallitsee vilkas keskusteluyhteys. Useat näistä projekteista pystyvät esittelemään prorotyyppitasolla vakuutavaa toimintakykyä.

Esimerkkejä (mielestäni) merkittävimmista projekteista:
Novamente Cognition Engine
http://www.agiri.org/wiki/Novamente_Cognition_Engine
LIDA
http://ccrg.cs.memphis.edu/projects.html
SOAR
http://sitemaker.umich.edu/soar/home
CYC
http://www.cyc.com/
SNePS
http://www.cse.buffalo.edu/sneps/

Mikään näistä projekteista ei todennäköisesti ole valmistumassa ihan lähivuosina "kypsäksi AGI-järjestelmäksi". Todennäköisempää on, että moni näistä toimii perustana uusille uusille, seuraavan vuosikymmenen aikana käynnistettävälle projekteille, hyödyntäen hankitun osaamisen ehkä useammasta muustakin projektista. On tietysti mahdollista, jopa todennäköistä, että on olemassa myös täysin salaisia, hyvinkin edistyneitä projekteja.

Lueteltujen konkreettisten projektien ja muiden vastaavien lisäksi kehitetään useita AGI-hankkeita tukevia teknologioita, kuten esimerkiksi Semanttinen Web, jonka piiriin kuuluu olellisesti semanttisen tiedon ja ymmärryksen poimiminen vapaamuotoisesta tekstistä, siis luonnollisen kielen ymmärrys, esimerkkinä tästä esim. Twine-projekti.
http://www.twine.com

Vertaan tilannetta siihen, mikä oli GSM-matkapuhelinteknologialla 30v sitten, 1978. Silloin oltiin rakentamassa sen edeltäjää, analogista NMT-teknologiaa. ARP-verkko edusti Suomessa teknologian käytännön tasoa, mutta digitaalisen matkapuhelintekniikan perusteet olivat samalla tavalla yleisesti ymmärrettynä tietona kuin AGI-järjestelmän perusteet ymmärretään tänään. Mutta kesti neljä vuotta, ennenkuin 1982 perustettiin Groupe Spécial Mobile (GSM) määrittelemään järjestelmää, jonka toteuttaminen kesti vielä yhdeksän vuotta, kunnes 1991 Radiolinja käynnisti maailman ensimmäisen GSM-verkon. Samoin pidän mahdollisena, että esim. n.2012 käynnistyy iso, kaupallinen, suuren rahan projekti, joka yhdistää aikaisempaa AGI-osaamista laajalti, ja hankkeen tuloksena esim. n.2021 on valmiina toimivana yleisen tekoälyn järjestelmä, joka kommunikoi sujuvasti ihmisten kanssa luonnollisia kieliä käyttäen, pystyy omaksumaan uutta osaamista vapaamuotoisista ohjeista, oppii virheistään ja kykenee suoriutumaan useimmista niistä tehtävistä, joista toimistotyöntekijät tänä päivänä suoriutuvat tietokonetta työkalunaan käyttäen. Järjestelmä on siis työntekijänä useimmilta osin ihmisen kykyinen, mutta tuottavampi ja väsymätön. Tietenkään kehitys ei lopu tähän vaan on itseään ruokkivaa.

Tämä on kaikki mahdollista, mutta ei varmaa. Mutta tällaisen lähitulevaisuuden todennäköisyysaste on niin suuri, että päättävässä asemassa olevien olisi jo erittäin kiire alkaa valmistautua siihen, mikä ehkä jo 14v kuluttua (tai aikaisemmin!) voi olla todellisuutta ja muuttaa maailmaa oleellisesti enemmän kuin internet alkaen n.15v sitten.

sunnuntai 19. lokakuuta 2008

PEG - kielioppi

Minulla on ensimmäisen vaiheen toteutus hyvässä (rauhallisessa) vauhdissa. Ihan maistiaisiksi esittelen raakile-kieliopin lojban-teksteille. Näen jo, että siinä on puutteita ainakin tiettyjen "terminaattoritapausten" tunnistamisessa. Mutta haluan täydentää ja päivittää sitä iteratiivisesti, koska sen koko kasvaa joka tapauksessa ainakin viisikertaiseksi, ennen kuin se tukee "koko lojban-kieltä". Täydelliseen PEG (Parsing Expression Grammar) -kielioppiin verrattuna on huomioitava, että tämä kielioppi ei etene merkkitasolle asti, vaan teen "tokenizing"-operaation ensin, eli erittelen bridin sanat toisistaan. Lisäksi käytän erikoisfunktiota esim. tunnistamaan gismut.

Toinen kielioppi on edellisen kieliopin "metakielioppi", jonka avulla luen ohjelmallisesti ajonaikaisesti tuon lojban-kieliopin ja alustan "sääntöoliot" metakieliopin suorittaman parsimisen tuloksena. Metakielioppi sen sijaan on C++ -tasolla "kovakoodattu"


//
// PEG Grammar for a small subset of lojban language
//
// V.0.1
//
// ========= Notation =========
//
// [Symbol] := [Rule]
// &( ) and predicate
// !( ) not predicate
// ( )+ one or more
// ( )* zero or more
// ( )? zero or one
// E1 | E2 ordered choice
// E1 E2 sequence
//
//

// High level syntax

EBridi := (EBridiStart)? EBridiBody (EConnBridi)* // multiple connected bridi
EBridiStart := ".i" | "ni'o" // bridi start cmavo
EConnBridi := EBridiConnective EBridiBody // connected extension
EBridiConnective := ".ije" | "ri'a" | "ki'i" // bridi connectors
EBridiBody := (EBridiComp)+ // multiple
EBridiComp := ESumtiComp | ESelbriComp // Sumti- or selbri-phrase

// Selbri syntax

ESelbriComp := ("cu")? (ESpatiTempAttr)? (EConversCmavo)? EBrivla
EConversCmavo := "se" | "te" | "ve" | "xe"

// Sumti syntax

ESumtiComp := ESumtiPhrase | ESumtiTcita
ESumtiPhrase := ESingleSumtiPhr (EConnectedSumti)?
EConnectedSumti := ESumtiConnective ESingleSumtiPhr
ESumtiConnective := ".e" | ".a" | "joi" | "ce" | "ce'o"
ESingleSumtiPhr := (ESpatiTempAttr)? (ESumtiObject) (EIndirectDescrip)?
ESpatiTempAttr := "mu'o" | "ca" | "pu" | "ba" | "vi" | "va" | "vu" | "ga'u" | "ni'a" | "ca'u" | "ti'a"
ESumtiObject := EProSumti | ENamePhrase | ESelbriPlace | EAbstraction
EProSumti := "ko'i" | "ko'a" | "ko'e" | "fo'a" | "ri"
ENamePhrase := "la" EName (EProSumAssign)?
ESelbriPlace := (EPlaceTag)? EBrivlaEpress (EProSumAssign)?
EBrivlaEpress := EArticle EBrivla
EPlaceTag := "fa" | "fe" | "fi" | "fo" | "fu"
EArticle := "lo" | "le" | "lo'i" | "lei" | "le'i"
EBrivla := EGismu | ELujvo
EProSumAssign := "goi" EProSumti
EAbstraction := EArticlAbstract EAbstrPhrase
EArticlAbstract := "lenu" | "lonu"
EAbstrPhrase := EBrivla | EBridiBody
EIndirectDescrip := EAssosiation | ERelativeClause
EAssosiation := EAssosCmavo ESingleSumtiPhr
EAssosCmavo := "pe" | "po" | "po'e" | "po'u" | "ne" | "no'u"
ESumtiTcita := ESpatiTempAttr ESpatiTempExpr
ESpatiTempExpr := EAbstraction | EBrivlaEpress
ENamePhrase := ExplicitFunction_N
EGismu := ExplicitFunction_G
ELujvo := ExplicitFunction_L




//
// PEG Grammar for the PEG Grammar syntax
// "a meta grammar"
//
// V.0.1
//
// ========= Notation =========
//
// [Symbol] := [Rule]
// &( ) and predicate
// !( ) not predicate
// ( )+ one or more
// ( )* zero or more
// ( )? zero or one
// E1 | E2 ordered choice
// E1 E2 sequence
//
//

EGrammarLine := ECommentLine | ERuleClause
ECommentLine := "//" ECommentText
ERuleClause := ESymbol ":=" ERule (ECommentLine)?
ERule := ESequence | EChoice
ESequence := (ESequenceTerm)+
EChoice := EChoiceTerm EMoreChoice
ESequenceTerm := ESimppelTerm | EOperatorTerm
ESimppelTerm := ESymbol | ETerminal
EOperatorTerm := EZOne | EZMore | EOneMore | ENot | EAnd
EZOne := "(" ESimppelTerm ")?"
EZMore := "(" ESimppelTerm ")*"
EOneMore := "(" ESimppelTerm ")+"
ENot := "!(" ESimppelTerm ")"
EAnd := "&(" ESimppelTerm ")"
ESymbol := ExplicitFunction_S
ETerminal := ExplicitFunction_T

tiistai 14. lokakuuta 2008

Loebner Prize 2008

Loebner Prize 2008 -kisat on saatu päätökseen ja ainakin yhden analyysin mukaan se päivä on lähellä, jolloin joku osanottaja-botti häämää tuomareita riittävästi selviytyen kisan versiossa "Turing testistä".

http://technology.timesonline.co.uk/tol/news/tech_and_web/article4934858.ece

Kisassa siis tuomarit yrittävät selvittää kuka "teletypeyhteyden" päässä olevista on oikea ihminen ja kuka on tietokoneohjelma.
Mutta jos vaikka ensi vuonna joku ohjelma osaa viisi minuuttia hämätä riittävän montaa tuomaria ja voittaa pääpalkinnon, en silti noteeraa tätä "ihmisveroisena älykkyytenä". Olen tätä mieltä siksi, että valitettavasti tällaisessa kilpailussa pärjää paremmin erilaisilla hämäystaktiikoilla kuin yrittämällä luoda oikean kognitiivisen järjestelmän. Luulen, että kilpailun suurin virhe on juuri se, että koneen pitäisi valehdella olevan ihminen. Miksi valehtelu palkitaan? Kuvaako se jotenkin, tahattomasti, kulttuuriamme?

Minusta pitäisi kehittää uusi versio kilpailusta, jossa heti tiedetään kuka on ohjelmisto ja ja kuka oikea ihminen, mutta kaikille teetetään oikeita tehtäviä eikä smalltalk-keskusteluita. Ja jos ohjelmisto selviää luovaa, sponttania verbaalisesti käynnistettyä asiakokonaisuuksien omaksumista ja niihin liittyvää ongelmanratkaisua sisältyvistä monipuolisesta tehtäväjoukosta paremmin kuin inhimillisten referenssikipailijoiden enemmistö, niin ohjelma on kognitiivisilta kyvyiltään ihmisen tasolla. Smalltalk-tasoista (iltapäivälehti-) yleistietoa ei saisi edellyttää, koska se ei voi olla tärkeää. Luonnontieteellinen maailmankuva ja perustiedot ihmisyhteiskunnasta voisi silti olla vaatimuksena. Kysymyksessä olisi siis YO-kirjoitusten reaalikoe-tyyppinen tehtävistö. Tehtäviä voisi olla esim. 30kpl. Helpoimmat olisivat 10v ikäiselle koululaiselle sopivia ja vaikeimmat akateemisen peruskoulutuksen hankkineiden tasoa, vaikeutuen asteittain. Jokaiseen tehtävään kuuluisi laajahko tehtävänanto, asetelman kuvaus, jonka sekä ihmisen että botin olisi ymmärrettävä. Ymmärrystä ja taustatietoja pitäisi sitten osata soveltaa luovalla tavalla annetun tehtävän ratkaisemisessa.

Itse asiassa voisi olla kaksi sarjaa: toinen englannintaitoiselle botille ja toinen sellaiselle, joka osaa vain lojbania...

perjantai 26. syyskuuta 2008

Yhteisöllisyys

Jo blogin ensimmäisessä (muistaakseni..) kirjoituksessa esitin yhdeksi tavoitteistani käynnistää jonkinlainen, vaikka edes suppea, yhteisöllinen lojban-toiminta. Jos ainakin aluksi kriteerit olisivat matalalla, niin kaikille lojbanista kiinnostuneille kevyestä yhteisöllisestä toiminnasta olisi enemmän iloa ja hyötyä kuin vaivaa. Vaivaa tulisi vasta sitten, kun perustettaisiin rekisteröity yhdistys pakollisine kokouksineen ja pöytäkirjoineen. Ja silloinkin kohtuullisesti.
Löysänkin yhteisöllisyyden yksi hyvä tavoite olisi järjestää esim kerran vuodessa yhteistapaaminen, joka sisältäisi lähinnä opetusta, workshoppeja ja vapaata keskustelua. Tiedän (runsaan kuukauden) Google-analyst seurannan tuloksena, että tätä blogia tarkkailee säännöllisesti 4-6 henkilöä ja on todennäköistä, että määrä kasvaa puolen vuoden kuluessa ehkä kaksinkertaiseksi. Tietysti tämä toteutuu sillä (minimi) edellytyksellä, että minä itse pystyn väsäämään uusia kirjoituksia tasaisin välein ja kirjoitukset sisältävät lisäksi riittävän kiinnostavia raportteja projektistani. Olettaisin ehtojen toteutuvan.

Itsekkäät tavoitteet? Oma itsekäs tavoitteeni saavuttaa sellainen asiantuntemus, että voisin sillä esim 3v kuluttua hankkia leipäni ja työllistää itseni eläkeikään asti (siis n. 7v ajan). Liiketoimintamallia ei vielä ole.

Epäitsekkäänä tavoitteena on tuoda "lojban-tietoisuutta" Suomeen. Koska, kuten olen aiemmin esittänyt, pidän lojbania erittäin hyödyllisenä työkaluna monien eri ongelmien ratkaisuissa. Yhteisöllisyys edistäisi tätä tavoitetta kvanttihypyn lailla. Oletan, että lojban työllistäisi monia muitakin.

Mutta yhteisöllisyyden toteutuminen edellyttää pieniä aloitteita muiltakin kuin minulta. Edes ihan pieniä.

torstai 18. syyskuuta 2008

Harjoitusmaailman XML-kuvaus

Sain vihdoin laadituksi kuvaksen alla esitetystä 20:stä lojban-bridistä:
http://www.freedrive.com/member/viewfolder/173153
XML-tiedosto on siis esitys lauseiden syntaktisesta rakenteesta. Vääntäessäni tiedostoa löysin paljon virheitä lojban-lauseista. Korjaan virheet. Olen varma, että virheitä on vielä kaikkialla, lojban-tasolla, XML-tasolla ja koko ajattelussani. Seuraavaksi (päivitettyäni virheelliset lauseet) ladattuani sekä suomenkieliset että lojbanikieliset tiedostot XML:n seuraksi, teen neljänneksi esitykseksi PEG-kieliopin (Parsing Expression Grammar), jonka pitäisi olla jälleen yhtäpitävä edellisten kanssa. Sen jälkeen olisin kai valmis alkamaan vääntämään C++-koodia, jonka tietysti myöskin pitäisi olla sopusoinnussa edellisten kanssa. Koodin siis pitäisi lojban-tekstistä PEG-kielioppia käyttäen pystyä työstämään valmiiksi vertailumalliksi väsätty XML-tiedosto. Sitten ensimmäinen vaihe on valmis.

lauantai 13. syyskuuta 2008

Kehollisuuden vaatimus

Tekoälykeskustelussa, eteenkin filosofisessa sellaisessa, on eräs aihealue, joka on tavalla tai toisella jatkuvasti ajankohtainen. Se on kysymys "kehollisuuden" (embodiment) tarpeellisuudesta. On eräs koulukunta, jonka mielestä vain robotiikka voi johtaa aitoon, vahvaan, yleiseen tekoälyyn (AGI), koska vain robotin sensomotorinen toiminta "maadoittaa" robotin sisäisen tietämysrakenteen reaaliseen maailmaan. Kehityskykyinen robotti havainnoi todellista ulkomaailmaa aisteillaan ja osallistuu siihen motorisilla kyvyillään esim liikkumalla, navigoimalla ja liikuttelemalla ulkoisia objekteja. Täten robotin sisäinen malli ulkomaailmasta kypsyy oppimalla vastaamaan todellisen maailman hienojakoista hierarkista rakennetta.

AGI-keskustelusivuilla käytiin n. viikko sitten tähän asetelmaan liittyvä keskustelu, joka pohjautui Pei Wangin edellä kuvattuun väitteeseen kriittisesti suhtautuvaan mielipidekirjoitukseen.
http://www.mail-archive.com/agi@v2.listbox.com/msg13298.html

Vaikka em. robotiikkaa puoltava väite on uskottava ja looginen, sen "vain" -sisältö on epäilyttänyt Pei Wangin lisäksi myös minua. Olen ehdottomasti samaa mieltä, että pelkästeen omaan sisäiseen maailmaansa nojaava järjestelmä on kehityskyvytön ja vakavasti rajoittunut. Kehittyvän järjestelmän on oltava interaktiivisessa suhteessa ulkomaailmaan. Mutta epäilen vahvasti sellaista ehdottomuutta, että vain robotin sensomotorinen suhde ulkomaailmaan olisi ainoa mahdollisuus tarjota AGI-tasoiseksi älyksi pyrkivälle järjestelmälle toiminta- ja kehityskentän.

Onhan robotinkin kokema maailma aina jotenkin rajoittunut. Sillä ei ole täydellisiä aisteja ja sen toimintaympäristö on mahdollisesta monipuolisuudestaan huolimatta aina pieni vain pieni osajoukko kaikesta kuviteltavissa olevasta. Miksi siis tällainen "robotin leikkikenttä" olisi ainoa mahdollinen kehittävä "leikkikenttä"? Voisin kuvitella muitakin mahdollisuuksia.

Kuten Pei Wang, minäkin olen pohdiskellut (jo vuosien ajan) mitä rajoituksia ja mahdollisuuksia olisi sellaisella AI-järjestelmällä, joka toimii pelkästään "ASCII-maailmassa" eli näppäimistöltä kirjoitettavissa olevien merkkien rajoittamassa todellisuudessa. Tällainen todellisuus olisi täysin erilainen kuin esim huonetiloissa operoivan, näkevän, kuulevan ja tuntevan (kosketusaistin kautta) humanoidirobotin maailma. Mutta olisiko ASCII-maailma liian suppea tai muuten huonompi?

Ben Goerzelin näkemyksen mukaan (em. keskustelu) tällainen "humanoidiaisteihin" ja motorisiin ulottuvuuksiin perustuva maailma tarjoaa hahmoja, joiden tilastolliset ominaisuudet eroavat radikaalisti edukseen, sopien paremmin esimerkiksi ihmislapsen tai muun kehittyvän mielen kehitysympäristöksi, kuin vaihtoehtona yksipuolisesti symbolinen maailma. Mutta hän itse myöntää, että hän ei voi todistaa väitettään vaan se perustuu puhtaasti intuitioon. Benin näkemys on ilmeisen totta, kun kysymys on biologisten aivojen oppimiskyvystä. Tämä siksi, että biologiset aivot ovat vuosimiljoonien kuluessa erikoistuneet juuri tällaiseen ympäristöön. Mutta entä jos aivojen perustana on tavallisten tietokoneiden "von-Neuman-arkkitehtuuri"? Minä ja Pei emme ole siinä tilanteessa varmoja tilanteesta. Ainakin näiden vaihtoehtoisten "leikkikenttien" laadullinen ero on kaventunut ja symboolimaailmalla on joitakin etujakin. Näitä etuja ovat ainakin sensomotorisen järjestelmäarkkitehtorisen kerroksen suhteellinen yksinkertaisuus ja laskentakapasiteetin pienempi tarve verrattuna audio-visuaaliseen aistidataan ja fyysisen maailman liikeballistiikan hallinnan vaatimuksiin.

Minun esimerkkini tekstibotin opettavaksi leikkikentäksi voisi olla C++ ohjelmointi. Maailma muodostuisi kausaalisesta "tuotantoketjusta": botin tuottama lähdekoodi - käännöstyökalut - debug-ympäristö - vaativampi testiympäristö - ohjelman tulosteet. Samoin kuin fyysisellä robotilla, myös tekstibotilla olisi ulkoa annetut toiminnat tavoitteet ja arvohierarkia. Molemmilla järjestelmillä olisi mahdollisuus muodostaa kausaalisen toiminnan kautta tuntemus oman "itsen" olemassaolosta ensimmäisenä vaiheena kohti "reflektiivistä itsetitetoisuutta" ja "vapaan tahdon kokemusta". Käännös- ja testiympäristö sekä "valvojan" (ihminen) liittymä muodostavat tekstibotin kausaalisen "ulkomaailman". Tällainen ympäristö tarjoaa ihmisohjelmoijalle kovatasoisia ja monipuolisia haasteita, niin miksei tekstibotillekin?

Pei Wangin mukaan kehollisuuden tärkeimmät kriteerit ovat, ei robotiikka, vaan se kokemus ja vuorovaikutteisuus, jota järjestelmä ulkomaailman suhteen harrastaa.

Mutta älköön kukaan kuvitelko, että minä tässä vaiheessa rakentelen mitään edelläkuvatun kaltaista. Olen lähempänä maanpintaa.

perjantai 5. syyskuuta 2008

Tarkennan hieman vaiheita

Tuon edellisen tekstin kommenttikirjoittelun pohjalta tarkennan hieman kahta ensimmäistä projektin vaihetta.

Ensimmäisen vaiheen tarkoitus on oikeastaan vain osata parsia lojban-kielinen lause kerrallaan. Lauseet riippuvat toisistaan vain selkeästi määriteltyjen prosumtien kautta, mutta lauseiden kokonaissemantiikkaa ei integroida. Tulostettavan XML-tiedoston ainoa tarkoitus on tässä vaiheessa vain olla verifiontia varten, että parsinta on tehty oikein. Tiedostoa ei ole tarkoitus käyttää mihinkään muuhun erityiseen, eikä esim lukea sisään uudestaan.

Toisen vaiheen tarkoitus on tuoda mukaan lauseiden yhteisen semanttisen sisällön integrointi. Semanttinen sisältö rakennetaan sisäiseksi olioesitystavaksi, joka vastaa tarkoin tulostettavaa XML-tiedoistoa. Tämä toisen vaiheen XML-tiedosto siis sisältää koko luetun tekstin kaikkien lauseiden ja mahdollisen pohjalla olevan semanttisen rakenteen yhteisen, integroidun kuvauksen. Tätä tiedostoa käytetään esinnäkin tallennettaessa tietämys levylle suljettaessa ohjelma ja ohjelman uudelleenkäynnistyksessä luettaessa vanha tietämys ajonaikaiseksi oliorakenteeksi.

Toinen erittäin mahdollinen käyttötapa on jokin muu hyötykäyttö, tiedosto on ohjelman tärkein tuloste. Tässä tulevat kyseeseen muut XML-työkalut.

Mutta muuten ohjelmalle ei ole tarkoitus syöttää mitään uutta XML-tietoa sen (tai sen muiden kopioiden) tallentamia tietämysrakennelmia lukuunottamatta. Uutta tietoa syötetään sisään vain "puhtaina lojban-lauseina", ei XML-muodossa.

Parserin on tarkoitus olla PEG-parseri. Syntaksi esiintyy lähinnä .h-tiedoston tasolla. Jokainen säännöistä on oma olionsa, joka alustetaan .h-tiedoston parametreilla.

maanantai 1. syyskuuta 2008

Softaprojekti alkaa

Oppikirjaprojekti on ollut puoliksi itselleni, lojbanin opiskelun runko, puoliksi tarkoitettu avuksi muille, suomenkielisille, lojbanista kiinnostuneille. Vaikka oppikirjan loppuun sattaminen jatkuukin, oletan olevani nyt valmis lojban-ohjelmani seuraavaan projektiin.
Nyt aion aloittaa pitkän hankkeen, jonka lopullisena tavoitteena on lojbaniksi interaktiivisesti kommunikoiva botti. Botti hallitsee laajan ontologian, ymmärtää ainakin lojban-kielen suurta osajoukkoa, ellei koko kieltä, osaa vastata järkevästi lojbankielisiin kysymyksiin sekä esittää omia kommentteja ja kysymyksiä esimerkiksi inkonsistenttisen tiedon suhteen. Botti ylläpitää laajaa tietämyskantaa, jota se keskustelun kuluessa kasvattaa ja päivittää.
Ei ole tässä vaiheessa tarpeen esittää yksityiskohtaista roadmappia ja aikataulua tavoitteeseen, mutta esittelen kolme ensimmäistä vaihetta.
  1. Parseri, jäsentelijä, joka osaa lukea rajoitettua syntaksia käyttävän lojban-kieleisen tekstitiedoston. Tiedosto kuvaa yksinkertaisen "harjoitusmaailman". Siis tiedoston kaikki lauseet liittyvät konsistentisti toisiinsa, täydentävät yhteistä verbaalista harjoitustodellisuuden kuvausta. Kukin lause erikseen parsitaan omaksi osakseen kokonaisutta esittäväksi XML-tedostoksi.
  2. Hieman laajempi harjoitusmaailma ja laajempi syntaktinen pelivara. Yksittäiset lauseet yhdisteään yhdeksi konsistententiksi harjoitusmaailman XML-kuvaukseksi. XML-kuvauksen takana on luonnollisesti ajonaikainen oliorakenne. Ohjelma osaa lukea sisään tallentamansa kuvauksen ja täydentää sitä lisälauseilla, joiden konsistenttisuus tarkastetaan.
  3. Lisätään vastauskyky yksinkertaisiin harjoitusmaailmaa koskeviin kysymyksiin.
Seuraavaksi esittelen ensimmäisen harjoitusmaailman. Se käsittää vain 20 lausetta.

Ensin suomeksi:

  1. Islalojbanis on meren ympäröimä saari.

  2. Meren nimi on Atlantis.

  3. Saari on muodostunut kalliosta.

  4. Saarella on metsää.

  5. Metsä on muodostunut puista.

  6. Ihmiset tulevat Islalojbanikselle mantereelta meren yli laivalla.

  7. Islalojbanikseksella asuu ihmisiä ja kaneja

  8. Meressä on kaloja.

  9. Saaren kanit syövät kasveja.

  10. Puut ja ruoho ovat kasveja, joita kanit syövät.

  11. Ihmiset syövät kasveja, kaloja ja kaneja.

  12. Ihmiset pyydystävät kaloja merestä ja kaneja saarelta.

  13. Ihmiset viljelevät kasveja, joita he syövät.

  14. Kasveja, joita ihmiset syövät, ovat peruna, riisi, olivi ja sipuli

  15. Ihmiset asuvat taloissa.

  16. Kanit asuvat koloissa.

  17. Mantereen ihmiset vierailevat Islalojbanikseksella ja Islalojbanikseksen ihmiset mantereella.

  18. Islalojbanis on kaunis, silloin kun sen metsät ovat vihreitä.

  19. Talvella metsät eivät ole vihreitä koska puiden lehdet putoavat.

  20. Kesällä meri on rauhallinen, mutta talvella meri on myrskyinen.




Sitten sama lojbaniksi:

ni'o la .islalojbanis. goi ko'i cu daplu fi le xamsi

.i la .atlantis. goi ko'a cu cmene le xamsi

.i ko'i rocki

.i ko'i vasru lei ricfoi

.i le ricfoi cu gunma lei tricu

.i loi remna cu klama ko'i le braplu mu'o ko'a le bloti

.i ko'i se xabju lo'i remna goi ko'e .e lo'i ractu goi fo'a

.i lo'i finpe cu nenri ko'a

.i fo'a pe ko'i cu citka le'i spati

.i le'i tricu .e le blaci cu cmima le'i spati poi se citka fo'a

.i ko'e cu citka le'i spati .e le'i finpe .e fo'a

.i ko'e se purdi fi lei spati poi lei ko'e cu citka ke'a

.i lo patlu .e lo rismi .e lo alzaidu .e lo sluni cu spati poi ko'e citka ko'e

.i ko'e xabju le zdani

.i fo'a xabju le kevna

.i le remna pe le braplu cu vitke ko'a .ije le remna pe ko'a cu vitke le braplu

.i ko'a melbi lenu lei ricfoi pe le daplu cu grino

.i lei ricfoi na cu crino lenu le dunra kei ri'a loi pezli pe loi trizu pu cu farlu

.i lenu le crisa fa le xamsi cu smaji ki'i ri to'e smaji lenu le dunra


Valitettavasti blogin asetukset sotkevat yrityksen lisätä tähän loppuun pätkä tavoitteena olevaa XML-koodia, jota minulla on valmiina. Mutta luonnollisesti laadin tavoite-XML-koodin valmiiksi ennenkuin kirjoitan riviääkään C++ -koodia.


tiistai 26. elokuuta 2008

Välietappi

2008 alussa pidin kevään mittaisen tauon lojban-oppikirjan laatimisurakassa, koska minun oli itse opiskeltava ja sulateltava sisältöä. Jatkoin hommaa kesän alussa. Nyt pidän taas tauon, mutta samalla laitan kaikille halukkaille imuroitavaksi keskeneräisen aikaansaannokseni. Se on selvästi kesken ja siellä on virheitä ja kömpelyyksiä.

Mutta toivon ja uskon, että sitä käyttäen voi päästä opiskelun alkuun. Lisäksi otan tietysti mielelläni vastaan kommentteja ja kysymyksiä. Jos palvelu toimii (voi olla, että palveluun pitää rekisteröityä, en ole varma), PDF-tiedosto pitäisi löytyä osoitteesta:

http://www.freedrive.com/folder/168433

Välietappina aloitan oppikirjan rinnalle toisen, rinnakkaisprojektin, josta kerron pian lisää.

Pysykää kuuntelulla.

tiistai 5. elokuuta 2008

Koko lojban-projektin suurin ongelma

Lojban on ollut "jäädytettynä" 10v ja usean gurun käytössä ja osaamana yli 20v. Mutta silti oikeaa lojbaninkieleistä kirjallisuutta ei ole. Mitä on olemassa?
  • Kielen määrittely: "The Complete Lojban Language", iso punainen kirja, CLL. Se on hyvä käsikirja, mutta ei niin hyvä oppikirja. Eikä kaikkia asioita edes määritellä täydellisesti. Löytyy siis netistä.
  • Robin Turnerin ja Nick Nicholasin "Lojban for beginners". Selkeälukuinen oppikirja, mutta sisältää aivan liian vähän lukemistoa, vain irrallisia esimerkkilauseita kuten CLL.
  • Hieno käännös Liisa Ihmemaassa -klassikosta: "la .alis. cizra je cinri zukte vi le selmacygu'e"
Siinä on suunnilleen kaikki. Kaikki muu on vain pieniä palasia siellä täällä netissä, ja joidenka laatu on vielä horjuvaa, sisältö usein "epätyypillistä kielenkäyttöä". "Liisa Ihmemaassakin" on melko epätyypillistä kieltä, mutta ei sentään lyriikkaa. Lastenkirjan voisi olettaa olevan selkeää peruskieltä.

Mitään sellaista laajempaa teosta ei ole kirjoitettu, missä lojban olisi alkukielenä, eikä sellaista oppikirjaa ole, jossa olisi kieltenoppikirjoille tyypillisiä lukemistoja, oikea kieltä, jossa käsitellään jotakain asiaa eri puolilta. Nämä kaksi yllä mainittua teosta ovat kielioppikirjoja. Niistä on hankala oppia.

Minulla on nyt hieman vaikeuksia opinnossani. Olen käynyt osapuilleen koko kieliopin läpi yllä mainituista kahdesta kirjasta, mutta tiedon soveltaminen on vaikeaa. Lojbanin koko ajattelutapa poikkea luonnollisista kielistä ja "hyvän lojbanistanilaisen ajattelutyylin" oppiminen vaatisi paljon sellaisia esimerkkejä, joissa isompia kokonaisuuksia käsiteltäisiin lojbaniksi. Monissa netistä löytyvistä tekstinpätkistä olen löytänyt paljon "malglicoa", eli englantilaisuuksia, huonoa ja lojbanistisen ajattelun vastaista kieltä. On kai pakko käydä käsiksi Lewis Carrollin lastenklassikkoon, kun ei oikein muuta ole. Oletan se olevan laadukasta tekstiä. Ehkä varustan pienen osan teoksesta vaikkapa kappalekohtaisella sanastolla ja suomennoksella oppikirjani loppuun esimerkkilukemistoksi, kun ei sopivampaa ole vielä tarjolla.

Mutta itse kielessä ei ole suurempaa vikaa. Yhteisön harrastuneisuuden suuntautuneisuudessa kyllä. Vanhojen gurujen väsähtämisen kyllä ymmärrän.

Jatketaan hommia.

maanantai 4. elokuuta 2008

Olen vain perässähiihtäjä

Mutta ainakin tiedän olevani oikealla ladulla, vaikka se hieman huonoluistoinen välillä onkin.

Löysin tänään pieneksi yllätyksekseni Singularity Instituutin sivuilta, osasta "Research Areas" instituutin lojban-tavotteen:

"Lojban: A Language for Communicating with Early-Stage AGIs. Lojban is a constructed language with hundreds of speakers, based on predicate logic. Thus, it is particularly suitable for communication between humans and AGIs. A Lojban parser exists, but needs to be modified to make it output logic expressions, which will then allow Lojban to be used to converse with logic-based AGI systems. This will allow communication with a variety of AI systems in a human-usable yet relatively unambiguous way, which will be valuable for instructing AGI systems, including ethical behavior instruction."

Toisin sanoen instituutilla on kovin sama näkemys kuin minulla lojbanin tärkeydestä. Teksti on viime vuodelta ja vaiheen on tavoitteena kestää vuoteen 2011, eli he lienevät jo päässeet hyvään vauhtiin. Lisäksi olen varma, että maailmalla on enemmän tai vähemmän piilossa useita muitakin samankaltaisia lojban-projekteja.

Siis nyt kun tiedän vielä varmemmin, että ajatukseni ovat perusteltuja, niin eikun jatketaan ladun avaamista ja latuverkon laajentamista. Sukset jalkaan tervetuloa mukaan ladulle!

lauantai 26. heinäkuuta 2008

Mitä tarkoitetaan ymmärtämisellä?

Tämä on vanha minua vaivannut kysymys, johon Marvin Minsky antoi aikoinaan minulle suhteellisen riittävän selityksen: "Jokin asiantila tai käsite ymmärretään, jos osataan yhdistää se kaikkiin siihen liittyviin muihin käsitteisiin tai riippuvaisuuksiin." Tämä riitti minulle pitkän aikaa.
Viime aikoina olen alkanut ajatella, että selitys ei aivan riitä. Viitaten pariin aikaisempaan kirjoitteluuni, olen sitä mieltä, että ymmärtämistä on (ainakin) kahta täysin erilaista. Lojbanin käsite:
jimpe X1 ymmärtää totuuden X2, X3:sta
Tarkoittaa "semanttista ymmärtämistä". Semanttinen ymmärtäminen tapahtuu semanttisen, käsitemuistin, kielen tasolla. Se on sitä ymmärämistä, johon "kiinalaisen huoneen" sanakirja, tulkitsija-yhdistelmä pystyy.
http://erin.mit.jyu.fi/pako/kurssit/AI2001/l1/lect1/node9.html

Mutta toinen ymmärtämisen taso, joka kytkee ymmärtäjän reaalimaailmaan, on "common sense -ymmärtäminen". CS-ymmärtäminen on tietoisuuden alapuolella tapahtuvaa ymmärtämistä, joka hyvin monipuoleisten linkkien ja suhteisen avulla liittää ymmärrettävän asian aistein havaittavaan reaalimaailmaan. Kiinalainen huone ei tähän pysty. Mutta esimerkiksi vasta 2v ikäinen lapsi pystyy jo hyvin suuressa määrin CS-ymmärrykseen. Todennäköisesti yksikään tietokonejärjestelmä ei vielä vuonna 2008 pysty 2v ikäisen lapsen tasoiseen CS-ymmärrykseen, vaikka semanttisessa ymmärryksessä olisikin valtavan paljon parempi, jopa luonnollisen kielen ymmärryksessä.

Mutta voiko tekoälyjärjestelmä olla oikeasti toimintakykyinen, joustava, oppiva, luova, vaikka sillä ei olisi mitään (aisti-)kontaktia reaalimaailmaan, siis ei myöskään CS-ymmärrystä? Monien mielestä ei voi. Minä en ole asiasta aivan varma. Olen taipuvainen ajattelemaan, että on mahdollista olla aidosti älykäs tekoälyjärjestelmä, jolla on vain oma, suppea, rajattu (sisäinen) toimintamaailmansa ja vaikkapa pelkkä sarjamuotoinen tekstiyhteys, chatti, ulkomaailmaan, mutta kaikki muu järjestelmän kokema todellisuus on tietokoneen muistin datarakenteita.

Voiko joku selittää, miksi olen väärässä?

Ps. Niiden kahden ymmärtämisen lisäksi voi olla hieman spekulatiivisempiä ymmärtämisen lajeja, esim. "emotionaalinen ymmärtäminen" tai "spirituaalinen ymmärtäminen". Mutta en halua jatkaa niistä. Ne eivät ole tämän blogin tonttia.

perjantai 25. heinäkuuta 2008

Lojban thesaurus

Huomasin tänään, että jbovlaste sanakirjasta voi tulostaa lyhyeen lojban/lojban-sanakirjan, jossa siis lojban-sanat selitetään toisten lojbankieleisten sanojen avulla. No mitä siitä?
No sitä, että hieman sisältöä ja esitysmuotoa siivoamalla, kunhan meillä on toimiva parseri/semanttinen mäpperi-ohjelma, niin tämä lojban-thesaurus voidaan mäpätä jonkinlaajuiseksi valmiksi lojban-ontologiaksi. Siis merkittävä osa työtä on tehty, kunhan sanakirja laajenee täysmittaiseksi.

Thesaurukseski kutsuttuja, aiheenmukaisia sanalistoja on muita, mutta niissä sisältöä ei määritellä toisten sanojen kanssa.
http://shavian.org/lojban/gismu-jap.html

Mutta tässä silmukka umpeutuu:
http://jbovlaste.lojban.org//

.i ki'ecai do xorxes .ui

tiistai 22. heinäkuuta 2008

Mikä on lojbanin juju?

Edellisen kirjoituksen kommentista:

"Niin no tarkemmin sanoen en ymmärrä miten lojban-kieli oikein soveltuu agentin ohjaamiseen. Ison tavallisen tietokannan käyttämisessä on riittävästi työtä. Siihen voidaan luoda lukemattomia matemaattisia sääntöjä jotka eivät ole mitenkään triviaaleja. Ehkä Bayesin laskennat ovat joillekin huippukoodaajille. Minulle nekin kaaviot ovat outoja."

"Harvalla on aikaa määritellä sääntöjä jotka muistuttaa kovakoodausta. Visioisin että suuret tietokannat tulevat viestittämään toisilleen ja Semanttinen web pysyy käyttäjältä piilossa."

"..miten lojban-kieli oikein soveltuu agentin ohjaamiseen."
Ei, ei agenttia, ainakaan aluksi, ohjata lojbanilla. Ollakseen oikeasti älykäs, agentin on joustavasti sopeuduttava vieraaseen ympäristöön, esim vieralle nettisivulle tai langattomaan lähiyhteyteen tuntemattoman laitteen kanssa. Semantic-Web-ajattelu lähtee siitä, että agentit, sivut ja laitteet vaihtavat semanttista tietoa keskenään ja kognitiivisen neuvottelun tuloksena löytävät yhteisen sävelen: ymmärtävät toisiaan: tietävät mihin viitekehykseen toisen tahon sisältö ja palvelut liittyvät ja miten niitä käytetään.

Suuri ongelma on se, miten tätä semanttista tietoa tuotetaan. Ilmeisesti tästä oli tässä kysymys: "Harvalla on aikaa määritellä sääntöjä jotka muistuttaa kovakoodausta..", vaikka kovakoodaukseen ei tietenkään pitäisi mennä. Tässä lojban tulee mukaan kuvioihin. Lojbanin ensimmäinen ja arvokas mahdollisuus on toimia tuottavana työkaluna semanttisen tietämyskannan (tekisin jyrkän eron semantisten tietämyskantojen ja perinteisten tietokantojen välillä) laatimisessa. Lojban mahdollistaa kaksi tärkeää toiminnallisuutta:
  1. Interaktiivisuuden, vuorovaiheisen keskustelun, kuin ihminen toiselle, työkalun kanssa. Lojban on ensikädessä ihmiskieli.
  2. Lojbankielisen sisällön yksiselitteisen mäppäämisen semanttiseksi datarakenteeksi ja edelleen muiden "trippelistandardien" mukaisiksi esitystavoiksi.
Jotta nämä kaksi lupausta voitaisiin pitää, tarvitaan vielä paljon työtä, mutta suurin työ, eli lojbanin 50v kestänyt tuotekehitys on jo tehty. Nyt tarvitaan kaksi-kolme puuttuvaa lenkkiä:
  1. Interaktiivinen työkalu, joka keskustelee sovellusasiantuntemusta edustavan ihmisen kanssa sujuvasti lojbaniksi.
  2. Koulutusjärjestelmä, jolla voidaan kohtuullisin ajallisin investoinnein kouluttaa tällainen lojbania sujuvasti osaava "losbonomi". Kuvittelisin itse lojbania parhaillaan opiskelevana, että n. kuusi viikkoa intensiivikoulutusta sirotettuna puolen vuoden ajalle ja tehoviikkojen välillä omatoimista työharjoittelua työkalun kanssa mm. sanastoa opiskellen ja oman alan erikois-lujvoja ja ontologioita kehitellen, voisi olla riittävää, kunhan homma on optimoitu.
  3. Kolmas tarve on tavallista SW-projektia vastaava muunnostyökalun kehittely: lojban-kannasta esim. OWL-kielelle.
Minä työskentelen harrastuspohjalta 1. ja 2. hankkeiden kanssa. Olisin valmis vaihtamaan homman täyspäiväiseksikin. Mutta olen varma, että vastaavaa roadmäppiä noudattaa moni muukin näkymätön projekti maailmassa. Viittaan tuolla aikaisemmin esittämiini linkkeihin ja lojban-yhteisön keskusteluihin sekä siihen, että ongelma tiedostetaan laajalti.

keskiviikko 16. heinäkuuta 2008

Mielen rakenteesta


Jatkan hieman kesäisiä, utuisia ajatuksia edellisen ajatelman jatkoksi. Mielen, ihmismielen, voisi siis ajatella kerrokselliseksi. Tätä rakennetta ei voi kylläkään yleistää neuroanatomiseksi rakenteeksi sellaisenaan. Lisäksi esitys on erittäin yksinkertaistettu, viittellinen, tukien vain tätä keskustelua. Erityisesti tästä kaaviosta puuttuvat esimerkiksi episodaalinen muisti, tunteeseen ja motivaatioon liittyvät rakenteet. Samoin "aistit" on kohtuuttomasti yksinkertaistettu yhdeksi laatikoksi. Mutta yksinkertaistuksen on tarkoitus tuoda esiin ne asiat, jota nyt on puhe.

Ylimpänä ja pinnallisimpana kerroksena on tietoisuus. Tietoisuus ohjaa kielellistä ilmaisua, mutta ei käytännön tilanteessa (tuttu kieli ja sujuva ilmaisu) rakenna lauseita, vaan tietoisuuden alapuolella toimiva "Common Sense-muistin" toiminnallisuus tekee sen käyttäen hyväksi semanttisen tiedon muistia.

Kuvatun laillla muisti muodostuu semanttisesta, käsitteellisestä muistista, jonka sisältö ikäänkuin ankkuroituu ei-käsitteelliseen, kooltaan valtavaan CS-muistiin. Suurimmalla osalla, ellei kaikilla, semanttisen muistin käsitteillä on vastaavuutensa CS-muistissa. Jonkun yksittaisen asiantilan tietoinen ymmärtäminen tarkoittaa sitä että:
  1. Asiantilaan liittyvien käsitteiden yhteydet riippuvuuksiin muista käsitteistä aktivoituvat.
  2. Käsitteiden yhteydet niitä vastaaviin CS-hahmoihin aktivoituvat.
  3. Tietoisuus tulee tietoiseksi näistä yhteyksistä.

Muistaminen ja oppiminen tarkoittaa molempien muistin osien, semanttisen muistin ja CS-muistin sisältöjen päivittymistä ja synkronoitumista (vastaavuuksien vahvistumista). Sekä semanttinen muisti, että CS-muisti ovat organisaatioltaan hierarkisia HTM-periaatteen mukaisesti.

Sekä ihmislapsen, että lähitulevaisuuden AGI-tekoälyn oppiminen tapahtunee siten, että käsitteet ankkuroidaan reaalisesta havaintomaailmasta johdettuihin CS-muistin hahmoihin, eikä niinkään toisiinsa, kuten tekoälytekniikan alkuvaiheessa oli yrityksenä. Oppimistapahtuman on oltava interaktiivinen. Seuraavassa Ben Goerzelin näkemys haasteesta:

"UItimately, I suspect the only practical way to solve the semantics problem is via experiential interactive learning -- i.e. embody your AI system in an environment, interact with it in this environment & talk to it about what it's doing and seeing.... Not via induction on examples of *language*, but via induction on examples of *socially deployed, pragmatically relevant
language*."

Edellä sanottu ei tarkoita sitä, että pelkkä semanttiseen tietoon perustuva järjestelmä, josta CS-muisti puuttuu, olisi arvoton. Se vaan ei ole vahvaa tekoälyä, eikä se minun käsitykseni mukaan voi tulla oikeasti itsetietoiseksi. Semanttinen, esim lojban-käsitteisiin perustuva interaktiivinen tietämyskanta on arvokas työkalu parannettaessa älykkäiden agenttien toiminnallisuutta, kykyä olla hyödyllisisä ja joustavia muuttuvissa olosuhteissa ilman kovakoodattua ohjelmointia.

tiistai 1. heinäkuuta 2008

Sapir-Whorf-hypoteesi ja Wittgenstein

Kun James Cooke Brown, JCB, alkoi kehittää lojbanin edeltäjää ja alkumuotoa, loglania, hänen motiivinaan oli tutkia Sapir-Whorf-hypoteesiä. Sapir- Whorf- hypoteesi heijastaa 1900-luvun alkupuoliskon ajattelua esittäen, että henkilön käyttämän kielen, ennen kaikkea äidinkielen, rakenteet vaikuttavat myös ajattelun rakenteisiin. Kielen ilmaisun mahdollisuudet muodostavat rajoituksia ajattelun mahdollisuuksiin.

Sapir-Whorf- hypoteesi on selvästi sukua Wittgensteinin Tractatuksen tunnettuun ja lainatuun 5.6 lauseeseen: "Kieleni rajat merkitsevät maailmani rajoja." Tätä lausetta on mielestäni tulkittu väärin sisältämään väitteen, että kielellinen ajattelu on ihmisen ainoaa ajattelua. Kuitenkin tätä edeltävä ja sitä seuraava teksti tuovat selväksi ilmi, että Wittgenstein kirjoittaa tässä yhteydessä logiikan maailmasta ja loogisen, symbolisen ajattelun rajoista: "Logiikka täyttää maailman. Maailman rajat ovat myös logiikan rajoja. Siksi emme voi sanoa logiikassa: Maailmassa on sitä ja sitä, muttei tätä tai tuota." Ja: "Mitä emme voi ajatella, sitä emme voi ajatella, joten emme voi myöskään sanoa, mitä emme voi ajatella" Tämä ei suinkaan tarkoita: "Mitä emme voi sanoa, sitä emme voi ajatella". Siis voimme tiedostaa mielessämme (eli ajatella) monenlaisia mielikuvia, jotka eivät ole symbolisella logiikalla, kielellä ilmaistavissa. Mutta ovat mahdollisia välittää esim musiikin ja muiden taiteiden avulla

Minä jaan ajattelun karkeasti kielelliseen eli symboliseen, loogiseen ajatteluun, joka on ilmeisesti aina tietoista ajattelua, sekä "muuhun ajatteluun". Käsitykseni mukaan tämä ei-symbolinen, muu ajattelu on koko ajattelun perusta. Se on sitä mielen toimintaa, joka muodostaa kielelliset ajatukset. Kielelliset ajatukset eivät ilman tämän ajattelun valtavirran apua pysty muodostamaan uusia symbolisia ajatuksia.

Näistä ei-symbolisista ajatuksista osa on tietoisia mielikuvia, mutta suurin osa "tajunnan alapuolella" tapahtuvaa mielen toimintaa, jonka minä luokittelen silti ajatteluksi. Sen sisältönä on neuraalinen hahmontunnistus ja assosiaatiot, mielikuvien opitut yhteydet, jotka muodostavat edelleen korkeamman hierarkiatason mielikuvia.

Toisen maailmansodan jälkeen Sapir-Whorf-hypoteesi joutui pois suosiosta, koska se yhdistettiin rasistiseen ajateluun. Arveltiin, että hypoteesillä voisi perustella kulttuurien eriarvoisuutta. Siksi JCB päätteli, että hypoteesia olisi mielekkäintä (ja kulttuuripoliittisesti korrekteinta) tutkia käyttäen kieltä, joka olisi (jos suinkin mahdollista) täysin kultturineutraali ja jonka rakenteet, eivät perustuisi mihinkään tunnettuihin puhekieliin vaan symbolisen logiikan hyvin hallittuihin elementteihin. Näin alkoi vuosikymmeniä kestänyt tuotekehitys, ensin loglanin nimellä, ja edelleen jatkuen esim lojbanin sanaston hiomisen muodossa.

sunnuntai 25. toukokuuta 2008

Lojban manifesti

Tämä manifesti on yhteenvetoni lojban-kielen merkitystä koskevasta näkemyksestäni. Se käsittää neljä osaa:
  1. 1.Kielten olemus ja merkitys ihmiskunnalle.
  2. 2.Lojban-kielen olemus
  3. 3.Kielen merkitys maailman ja ihmiskunnan suurten ongelmien ja eksistentiaaliriskien hallinnassa.
  4. 4.Lojban-kielen osuus merkittävänä osana ongelmien kokonaisratkaisua.
Esitän tässä manifestissa, että kielet ovat ihmisen sivilisaation perusta. Nyt kuitenkin niiden puhekieleen pohjautuva rakenne on käynyt riittämättömäksi, kun edessä on yhä monimutkaisempien ongelmien ja koko ihmiskuntaa uhkaavien haasteiden ratkaiseminen. Esitän, että luonnollisiin kieliin perustumaton lojban-kieli tarjoaa luonnollisia kieliä tehokkaamman työkalun kaikkeen tieteelliseen ja yhteiskunnalliseen ongelmanratkaisuun. Tätä työkalua ihmiskunnalla ei ole varaa jättää käyttämättä.

Kielten olemus ja merkitys ihmiskunnalle

Kieli on ihmiselle ja ihmissivilisaatioille ominainen ajattelun väline. Minä sanoisin, että ihmisestä tuli ihminen silloin, kun ihmiskieli kehittyi sille tasolle, että kielenkäyttö alkoi sisältää sellaisia käsitteitä, kuin vaikkapa isä, äiti, lapsi, tytär, aamu, ateria. Käsitteellisiä ilmauksia näistä teki se, että ”isä” tarkoitti ketä tahansa isää, ”aamu” mitä tahansa aamua ja ”ateria” mitä tahansa ateriaa. Näitä sanoja opittiin käyttämään kielessä ja ennenkaikkea ajattelussa yksityisten isien, aamujen ja aterioiden yleistyminä.

Ihmisten käyttämiä kieliä ei yleensä ole suunniteltu joitakin poikkeuksia lukuunottamatta. Kielet ovat syntyneet hyvin pitkän, kymmeniä tai satoja tuhansia vuosia kestävän kulttuurievoluution tuloksena. Tämä kulttuurievoluutio oli niin pitkä, että se aivan ilmeisesti tapahtui rinnan, vuorovaikutuksessa biologisen evoluution kanssa. Tämä vuorovaikutus kehitti ihmisaivoihin kyvyn lapsena sujuvasti, itse asiassa hämmästyttävän helposti, omaksua vanhempien puhuma kieli. Siten asiantuntijoilla on yleisenä käsityksenä, että vaikka kielen mekanismi ei olekaan todennäköisesti sellaisenaan tallentunut geneettiseen perimään, ihmisen perimässä on voimakas ”induktiivinen bias”, mekanismi, joka tukee luonnollisten kielten oppimista ja myös kielen käyttöä abstraktin ajattelun välineenä. Tämä kielenkäytön kyky on se perusta, jolle sivilisaatiomme ovat rakentuneet.

Luonnolliset kielet eri puolilla maailmaa ilmeisesti muistuttavat toisiaan sen vuoksi, että ne ovat ihmiskunnan yhteisen biologisen perimän ilmentymiä. Puhekielet erovat toisistaan vain sen verran, kuin tämä yhteinen biologinen perimä joustaa. Luonnollisten kielten rakenne ei ole sellainen kuin niillä on, vain sen vuoksi, että tällainen rakenne (huomioiden sen vaihtelu eri kulttuureissa) olisi ainoa tai paras mahdollinen kielen rakenne. Se on sellainen siksi, että evoluution prosessi on kokeilujen, sattumien ja harhapolkujenkin tuloksena sen sellaiseksi muovannut. Ihmispopulaation onnistunut kielellinen kyvykkyys on usein ollut ratkaiseva tekijä tämän populaation säilymisessä ja leviämisessä.

Historillinen aika, siis kirjoitustaidon ja korkeakulttuurien syntyminen, toi kieleen uusia tasoja, jotka nykyään ilmenevät saman kielen erilaisina muotoina samassa kulttuurissa. Esihistoriallisena aikana oli olemassa vain puhekieli. Väitän, että nämä uudet muodot syntyivät kultuurien ratkaisuina luonnollisten kielten olemuksen sisältämiin ongelmiin. Näitä kielten erilaisia muotoja ovat nykyisin esimerkiksi
  • Puhekieli
  • Yleiskieli
  • Virallinen kieli
  • Kapulakieli
Puhekieli on sitä kieltä, jota ihmiset puhuvat kotonaan ja arjessa keskenään. Yleiskieli on ilmaisuiltaan muodollisempaa kuin puhekieli, jättäen jotakin pois ja lisäten jotakin. Yleiskieltä on esimerkiksi kieli, jolla asioidaan muodollisemmissa olosuhteissa, vieraiden ihmisten kanssa. Virallinen kieli on esimerkiksi laadukkaampien tiedoitusvälineiden, hallinnollisten tiedoitteiden ja juhlapuheiden kieli. Sen ilmaisut ovat vielä rajatumpia ja hallitumpia kuin yleiskielen ilmaisut, vaikka siihenkin on toisaalta lisätty ilmaisuja, jotka yleiskielestä puuttuvat. Yleissääntö on, että virallinen kieli pyrkii olemaan ilmaisultaan täsmällisempää ja tarkempaa kuin yleiskieli. Yleiskieli vuorostaan on täsmällisempää ja tarkempaa kuin puhekieli.

Puhekielessä luotetaan hyvin paljon siihen, että ilmaisut ovat kuulijalle tuttuja ja tunnistettavia jokapäiväisistä asiayhteyksistä, siitä huolimatta, että kielen rakenteiden johdonmukaisuudesta tingitäänkin.
Erikoisin ja kiinnostavin tapaus on ”kapulakieli”, jota tarvitaan välttämättä sellaisissa sovelluksissa, joissa ilmaisun yksiselitteisyys on tärkein kriteeri ymmärrettävyyden kustannuksella. Yleiskieli on on syntynyt puhekielestä, virallinen kieli yleiskielestä ja kapulakieli virallisesta kielestä. Kaikissa tapauksissa syynä muunteluun on ollut tarve välttää väärinkästyksiä, varmistaa välitettävän ajatuksen perillemeno sellaisille kuulijoille tai lukijoille, joilla ei ole kaikille ilmaisuille täsmälleen samoja viitekehyksiä. Sovellettaessa puhekieltä arjessa nämä viitekehykset ovat osapuolille tuttuja. Huoliteltu yleiskieli saattaa olla ymmärrettävyydeltäänkin parempaa kuin puhekieli. Kuitenkin jo virallinen kieli herättää kuulijassa usein ymmärtämisen vaikeuksia, joiden taakse esim. politiikan piirissä onkin tullut käytännöksi piilottaa merkittävää sisältöä vailla olevaa fraseologiaa.

Kapulakieltä tarvitaan esim. lakikielenä, sopimuskielenä ja patenttikielenä, joissa hyvinkin monimutkaiset asiasisällöt ja niiden sisäiset riippuvaisuudet on voitava esittää muodollisesti yksiselitteisesti. Yksiselitteisyyden kriteeri on, että tällaiseen kieleen erikoistuneet ammattilaiset ovat keskenään yksimielisiä sisällöstä. Kapulakielen ymmärrettävyys ei-ammattilaisille ei ole tärkeänä pidetty piirre.

Mitä kauemmas tässä saman kielen, esim. suomenkielen muunnelmien ketjussa erotaan puhekielestä, sitä huonompi tuki kielelle on aivojen arkkitehtuurisilla rakenteilla. Aivot ovat erikoistuneet nimenomaan puhekielen muodostamiseen ja ymmärtämiseen. Jo yleiskielen käytössä tarvitaan laajempaa opillista sisvistyneisyyttä ja harjautuneisuutta kapaulakielestä puhumattakaan. Kuitenkin puhekielen syvärakenteet ovat pohjana myös kapulakielessä.

Lähes kaikki ns. keinokielet, esim esperanto ja interlingua, perustuvat luonnollisiin kieliin eli puhekieleen ja soveltavat rakenteissaan puhekielen rakenteita. Siksi niitäkin käytettäessä on samanlainen tarve erilliseen kapulakieleen silloin, kun on tarvetta ilmaista absoluuttisen yksiselitteisesti erittäin monimutkaisia ajatusrakenteita. Näitä mainittuja keinokieliä ei ole insinööriajattelun mukaisesti suunniteltu logiikan ja informaatioteorian perusteista lähtien. Niiden tavoitteena ei ole se, että kieltä käyttäen olisivat mahdollisia täydellisen yksiselitteiset ilmaukset kielen normaalirakenteita käyttäen, ilman kapulakielen lisäyksiä. Nämä lisäykset toisaalta tekevät kielen käyttökelvottamaksi muuhun käyttöön.

Lojban-kielen olemus

Lojban-kielen kehitys alkoi 1950-luvulta, jolloin James Cooke Brown kiinnostui Sapir-Whorf hypoteesistä, jonka mukaan puhuttu kieli vaikuttaa erityisellä tavalla puhujan ajattelutapaan, tapaan hahmottaa ympäröivää maailmaa. Cooke Brown halusi luoda kielen, jolla testata hypotesia. Hän alkoi kehittää loglan-kieltä. Hän oletti, että kieli, joka on, toisin kuin luonnolliset kielet, mahdollisimman looginen ja yksiselitteinen, toisi selvimmin esiin Sapir-Whorf hypoteesin vaikutuksen.

Loglanin perustaksi Cooke Brown valitsi ensimmäisen kertaluvun predikaattilogiikan. Sanasto kehitettiin yhdistämällä algoritmisesti maailman kuusi puhutuinta kieltä loglanin ehdoilla. 1987 tekijänoikeuskiistan vuoksi lojban erosi loglan-kehittelystä omaksi kielekseen, mutta jatkaen jo omaksuttua linjaa. Lojbanin kehitystä jatkoi “The Logical Language Group”. Koska tällä välin lähdekielten (englanti, espanja, venäjä, arabia, hindi ja kiina) puhujien määrien suhteet olivat muuttuneet, niin käytetty ja uusittu algoritmi antoi hieman erilaisen sanaston. Lojban-kieli valmistui nykyiseen asuunsa 1997 yli 40v kestäneen huolellisen kehittelyn tuloksena.

Toisin kuin luonnolliset kielet ja niiden pohjalta kehitetyt keinokielet, lojban on insinööriajattelun mukaisesti suunniteltu logiikan ja informaatioteorian perusteista lähtien. Sen tavoitteena on, että kieltä käyttäen olisivat mahdollisia täydellisen yksiselitteiset ilmaukset kielen normaalirakenteita käyttäen, ilman kapulakielen lisäyksiä. Osoituksena tavoitteen saavuttamisesta lojban-kielelle on toteutettu BNF ja PEG jäsentimet (parserit). Lojbankielisen tekstin sisältö on siis tietyin edellytyksin mahdollista ohjelmallisesti tulkita semanttiseksi verkoksi riippumatta ilmaistavan ajatusrakennelman monimutkaisuudesta. Tämä tavoite ei ole lähelläkään toteutumista millekään luonnolliselle kielelle tai niiden pohjalta kehitetyille keinokielille.

Lojban on tarkoitettu ihmisten puhumaksi kieleksi. Se ei ole ohjelmointikieli eikä muutenkaan ”tietokonekieli”. Sitä käyttäen on kuitenkin aivan helppoa tuottaa sekavaa, sumeaa puhetta, josta ei saa tolkkua, vaikka se olisikin kieliopillisesti virheetöntä. Mutta luonnollisiin kieliin nähden tilanne eroaa siinä, että sisällön johdonmukaisuus on mahdollista testata joko ihmisen, tai puolueettomasti, tietokoneen toimesta.
Lojban olisi täydellinen kieli kaikkiin niihin tehtäviin, jossa nyt tarvitaan luonnollisiin kieliin pohjautuvaa kapulakieltä. Kapulakieltä on hyvin vaativaa tulkita ilman erityiskoulutusta (juristi, patenttiasiamies ym), mutta sitä ei ole siitä huolimatta mahdollista tulkita konellisesti, koska se edelleen sisältää asiayhteyksistä riippuvaista osaamista. Tämä tarkoittaa hyvin laajaa yleis-ja erikoistietoa edellyttävää osaamista, jota tietokonejärjestelmällä ei toistaiseksi ole.

Lojbanin etu olisi siis myös se, että se mahdollistaisi monien inhimillisille virheille, heikkouksille ja puolueellisuuksille alttiiden informaationkäsittelytehtävien toteuttamisen luotettavammin ja puolueettomammin tietokoneavusteisesti. Eivätkä monen tällaisen työkalun toteutukset vielä edellyttäisi mitään ”vahvaksi tekoälyksi” kutsuttua teknologiaa.

Tässä yhteydessä ei ole mahdollista mennä yksityiskohtiin, mutta jo lojban-kielen juurisanaston määrittely mallintaa maailmaa perustavaalaatuisesti eri tavalla kuin luonnolliset kielet. Lojbanissa ei ole esim. substantiivejä, verbejä ja adjektiiveja, vaan juurisanat ovat kaikki predikaattilogiikan relaatiota, suhdesanoja, jotka määrittelevät parametrien suhteita toisiinsa. Lojbankieliset lauseet jäsentyvät siten suhteellisen yksinkertaisesti semanttiseksi verkoksi. Lojban-tyypisen loogisen ajattelutavan opiskelu ja omaksuminen saattaa viedä aikaa.

Lojbanin kehitys ei ole vielä lopussa. Koska sen käyttö on vasta ollut kokeilevaa ja lähinnä viihteellistä, osaajia on vähän, eikä sitä ole sovellettu todella vaativiin tehtäviin. Siten esimerkiksi sen sanastoa on täydennettävä, jotta aukottomien, konsistenttien ontologisten käsiteverkkojen määrittely olisi lojbanilla mahdollista.

Kielen merkitys maailman ja ihmiskunnan suurten ongelmien ja eksistentiaaliriskien hallinnassa

Ludwig Wittgenstein, ehkä 1900-luvun merkittävin filosofi, oli vakaasti ja perustellusti sitä mieltä, että kaikki merkittävät filosofiset ongelmat ovat todellisuudessa kielen ongelmia. Puuttumatta tässä tarkemmin siihen, mitä Wittgenstein edellisellä tarkoitti, olen itse sitä mieltä, merkittävä osa niistä suurista nykyajan ongelmista, joiden perusteissa ihmiset itse ovat mukana, ovat todellisuudessa myöskin kielen ongelmia. Täällä tarkoitan kahta toisiinsa liittyvää asiaa:
1.Luonnollisten kielten resurssit eivät enään riitä yhä monimutkaistuvan maailman mallintamiseen yksittäisten ihmisten subjektiivisen ajattelun välineinä.
2.Luonnollisten kielten kyky välittää monimutkaisia ajatusrakennelmia yksiselitteisesti ihmisten ja ihmisjoukkojen välillä on vakavasti ylitetty.

Useimmat aktiivisesti tiedoitusvälineitä seuraavat ovat täysin selvillä suuresta joukosta koko maailmaa joko suoraan tai välillisesti uhkaavista ongelmista, jotka kärjistyessään tai lauetessaan saattavat tuhota maailmanjärjestyksen, hyvinvoinnin perustan, taloudellisen ja teknologisen globaalisen infratruktuurin, sivilisaatiomme, biosfäärin ja mahdollisesti koko ihmiskunnan. Näitä ovat esimerkiksi jatkuva ydinsodan uhka, ylikansoittuminen, pandemioiden uhka, ilmastonmuutoksen uhka, globaalin taloudellinen romahduksen uhka, globaalin teknologisen infrastruktuurin romahdus, globaalit poliittiset kriisit ynnä monet muut. Näiden uhkien todellisuuden ja mekanismien mallintaminen ja arvioiminen sijoittuu parhaimpien käytettävissä olevien asiantuntijoiden hallintakyvyn rajoilla tai on jo ylittänyt sen monissa tapauksissa.

Eritysesti globaalit ongelmat ovat sen laatuisia, että niissä on paljon epävarmoja parametreja ja ongelmien asiantunteva käsittely edellyttää useampien eri osa-alueiden hallintaa, kuin on yhdelle ihmiselle mahdollista. Siten niiden ratkaisu on väistämättä kansainvälistä asiantuntijoiden ryhmätyötä. Tällainen työskentely edellyttää sitä, että kaikilla on yhteinen ja yksiselitteinen kuva kaikista asiaan vaikuttavista käsitteistä sekä yhteiset mallit kuvaamaan monimutkaisten järjestelmien sisäisiä vuorovaikutuksia, riippuvaisuuksia, vapausasteita ja epälineaarisia kynnystilanteita. Todellisuus on osoittanut, että hyvin monissa tapuksissa jo aivan peruskäsitteistä on suuria erimielisyyksiä varsinaisista ratkaisumalleista puhumattakaan.

Pohjimmaisena syynä tähän tilanteeseen minä näen sen, että luonnolliset kielet, joiden syvämekanismit ovat evoluution myötä vuosituhansien kuluessa sopeutuneet arkieleämän rajoittuneiden ongelmien mallintamiseen ja ongelmien rakennetta ja ratkaisumalleja käsittelevien ajatusrakennelmien vaihtoon. Nämä kielet saattavat siten olla täysin riittämättömiä nykyajan vaikeimpien ongelmien ja uhkien käsittelyyn. Mitkään pienet korjaukset ja kapulakielen käyttöönotto eivät voi ratkaista tilannetta. Rajoitettuna apuna toimivat kyllä esim. tietokoneistetut visualisointimenetelmät, mutta niilläkin on rajoituksensa, jos jo perusasioiden määritelmistä ollaan eri mieltä.

Ongelmien hallinta ja ratkaisu suuren asiantuntijajoukon saumattomalla yhteistyöllä edellyttää tapaa, jolla voidaan määritellä yksiselitteisesti, aivan perustoista alkaen, kaikki ongelma-alueen käsitteet ja prosessit, todelliset tilanteet ja vuorovaikutusmekanismit siten, että niistä voidaan keskustella ilman väärinymmäryksen vaaraa. On osoittautunut, että luonnollisilla kielillä tämä ei ole käytännössä mahdollista tai on hyvin vaikeaa. Tämä tilanne valkenee jokaiselle, joka avoimin silmin seuraa väittelyä globaaleista ongelmista. Väittelijät, usein korkeasti koulutetut ja hyvin älykkät, eivät ymmärrä toisiaan riittävällä tarkkuudella ja puhuvat pahasti ristiin!

Tässä on väitteeni heikkous. Sapir-Whorf hypotesiä ei ole aukottomasti todistettu paikkansa pitäväksi, vaikka siinä oletetaankin olevan ainakin totuuden siemen. Kukaan ei ole tutkinut, eikä tule tutkimaankaan, huippuammattilaisten työtapojen pullonkauloja. Väitteestäni lievempi onkin se, että Sapir-Whorf hypotesin mukaisesti parempi kieli merkittävästi auttaisi yksilön omaa sisäistä älyllistä työskentelyä ja ongelmanratkaisua. Ehkä auttaisi, mutta ei välttämättä ratkaisevasti.

Sen sijaan oma kokemukseni suurten organisaatioden työskentelystä on sopusoinnussa sen kanssa, että ryhmätyöskentelyssä merkittävä heikko tekijä on asiantuntemuksen siirtäminen organisaatiolta ja henkilöiltä toisille ja osa-asiantuntemuksien integrointi yhteiseksi saumattomaksi ymmärrykseksi. Merkittävä osatekijä tässä, työskentelykäytäntöjen lisäksi, on kielen (minun kokemuksessani joko suomen- tai englanninkieli) rajoittunut kyky määritellä yksiselitteisesti monimutkaisia ontologioita eli käsiteverkkoja. Tuntemassani insinöörikulttuurissa luotetaankin luonnollisen kielen rinnalla merkittävästi muihin apuvälineisiin, kuten vain yhtenä esimerkkinä mainitakseni graafisen UML-kielen. Mutta UML-kielen mahdollisuudet ovat kuitenkin hyvin kapeita ja rajallisia verrattuna luonnollisen kielen joustavuuteen. Se ei sujuvasti taivu mihin tahansa käyttöön ja UML-dokumenttien luominen on työlästä verrattuna verbaaliseen ilmaisuun. Siis parempi, loogisempi, monimutkaista todellisuutta tarkemmin kuvaava kieli, joka toimii sekä ihmisten puhekielenä, että myös ongelmien eksaktina määrittelykielenä, on maailman ongelmien ratkaisemiseksi välttämätön.

Lojban-kielen osuus merkittävänä osana ongelmien kokonaisratkaisua

Onko lojban-kielellä siis käytännön mahdollisuuksia realisoitua ratkaisumalliksi vakavien globaalien ongelmien ratkaisutyökaluksi? Mahdollisuudet ovat melko pienet, mutta eivät suinkaan olemattomat. Uudet menetelmät ovat ennenkin murtautuneet käytöön hyvin lyhyessä ajassa, jos niiden tehosta on vahva näyttö, alun vaikeuksista huolimatta. Paras esimerkki, eikä mitenkään kaukaa haettu, on WWW, World Wide Web, joka alle kymmenessä vuodessa mullisti globaalin informaatioinfrastruktuurin. Se ei tullut tyhjästä: internet ja IP, Internet Protokolla, olivat olleet käytössä jo vuosia, mutta vasta WWW:n HTTP-protokolla muutti kaiken. Vastaavasti myös lojbanilla on potentiaalia liittyä läheisesti internetin seuraavaan vaiheeseen, Semanttiseen Webiin.

Mitä siis pitäisi tapahtua, jotta lojbanista todella olisi apua? Ajattelen, että tarvittaisiin seuraavat askeleet:

  1. Jo olemassa olevien lojban-harrastajien lisäksi uusi ydinjoukko, mielellään eri alojen erikoisosaajia, opiskelee lojban-kielen käyttäen yhteistyötä ja olemassaolevia resulsseja, joita opiskelun ohessa parannetaan.
  2. Lojban-osaajista osa keskittyy opetusmenetelmien ja materiaalin kehittämiseen, toinen osa omien alojensa ontologioiden sekä uuden sanaston kehittämiseen ja kolmas osa tietokoneavusteisten tekstianalyysi- ja tietämyskantatyökalujen kehittämiseen.
  3. Edellisen vaiheen kehitystyön tuloksia käyttäen käynnistetään uusien lojban-osajien tehokoulutus sekä perustetaan muutama ”proof on concept” -projekti, jotka soveltavat lojban-osaamista, koko ongelma-alueen mallintamista lojban-ontologisisilla käsiteverkolla, joiden konsistenttisuus on tarkastettu tietokoneavusteisesti.

Kun tämä kolmas taso on toteutettu, en usko enään löytyvän suurempia esteitä lojbanin käytön eksponentiaaliselle leviämiselle.

Oleellista on, että lojbanille voi löytää laajaa hyötykäyttöä kaikesta tutkimuksesta, tuotekehityksestä ja yhteiskunnallisista hankkeista, äärimmäisen tärkeiden globaalisten ongelmien ratkaisujen rinnalla. Näen lojbanin ennenkaikkea asiantuntijoiden työkaluna, en minään maailmanlaajuisena kaikkien yhteisenä apukielenä. Pelkään sitä, että jos lojbanista tulisi joidenkin ihmisryhmien arkipäiväinen puhekieli, se pian rappeutuisi luonnollisten puhekielten tasolle, jolloin tehokkaan, eksaktin lojbanin ja puhekielen ero ja kynnys hämärtyisi. Hyväksyn lojbanin tulevaisuuden kouluaineeksi sanotaan nyt vaikka yläasteelle, koska olisihan oikein, että kaikilla ihmisillä olisi kyky ymmärtää esim. lojbaniksi koottuja lakeja.

Lojbanin mahdollinen käyttö semanttisen webin ontologioiden syöttö- ja hallintatyökaluna liittyy läheisesti lojbanin soveltuvuuteen yleiskäyttöisenä ihmisen ja tietokoneen ilmaisuvoimaisena ja äärimmäisen joustavan yhteisenä kielenä, tulevaisuuden AGI-tasoisten tietokonejärjestelmien ”äidinkielenä”. (AGI = Yleinen, erikoistumaton Tekoäly) AGI-tasoiset tietokonejärjestelmät hallitsevat lojbanin jälkeen nopeasti myös luonnolliset kielet, mutta tämän tason saavuttamisen arvoa himmentää sen, että haastavien, monimutkaisten tietämysrakenteiden hallinta sujuu joka tapauksessa helpommin ja vähemmän virhealttiisti lojbania käyttäen.

tiistai 29. huhtikuuta 2008

Räkätaudin antimia


Minua vaivaa jo neljättä viikkoa allerginen, vuodenaikainen räkätauti: toivon sadepäiviä. Koska kaikki liikunta, myös melonta, on jäänyt, olen viettänyt aikaa mm. lojbanin kanssa. Olen opiskellut ja sen lisäksi koonnut n. 270-sanaisen gismu- (siis lojbanin juurisana) listan suomenkielisine merkitysten määrittelyineen. Liitän tämän listan osaksi keskeneräistä lojban-oppikirjaani eräänlaiseksi perussanastoksi. Sanat on koottu frekvenssitaulukosta, ja jaettu aiheenmukaisiin luokkiin helpottamaan opiskelua ja selailua. Sanaston on tarkoitus helpottaa myös itseäni esimerkkilauseiden keksimisessä.

Nyt siis olen myös palannut oppikirjan laatimisen pariin ja eiköhän ennenpitkää ole julkaistava versiokin valmis.

Siihen mennessä: tässä on tyylikäs lojban-aiheinen nettisivu, jossa on monia kiinnostavia näkemyksiä tästä ainutlaatuisesta kielestä, mm näyte, miten lojban taipuu eri luonnollisten kielten sanajärjestyksiin ja ajattelutapoihin. Tässä nyt ehkä vähä'n tehdään pilkkaakin. En nyt tiedä pitäiskö tällaiseen rohkaista...

English style:
mi pu se batci lo gerku
I was bit by a dog
Spanish style:
pu se batci lo gerku
Was bit by a dog
German style:
mi lo gerku ba'o se batci
I have, by a dog, been bit
Chinese style:
batci gerku
Bite dog
Turkish style:
fe lo gerku pu selbatci fa mi
By a dog bit was I
Invented example (Yoda-speak?):
pu batci mi fa lo gerku
Bit me have a dog
Lainaus: Arnt Richard Johansen


torstai 17. huhtikuuta 2008

Mainio lojbansivu

Visuaalinen, hauska ja kannustaa opiskelemaan: helppoja tekstejä tällaiselle aloittelijallekin:
http://jbotcan.org/

tiistai 8. huhtikuuta 2008

Lojbanin oleellinen rajoitus

Xah Lee esittää sivuillaan http://xahlee.org/Periodic_dosage_dir/bangu/lojban_balvi.html oleellisen "totuuden" lojbanista:

"I don't think lojban will befit as a language for human communication. Suppose if we have a region to speak lojban from now on, and lojban being the first language of all newborns. I believe in a few generations lojban will quickly loss all its design premises of regularity and mathematical properties. This i believe because humans do not process information as a logical machine, even if all their thoughts are in a logical language."

Siis kenenkään on millään pidemmällä aikavälillä turha haaveilla lojbania ihmisten arkikieleksi ja olettaa lojbanin hienojen ominaisuuksien samalla säilyvän. Kielillä on luontainen taipumus ennemminkin rapautua kuin jalostua arkikäytössä. Ihmisen kognitiolle ei ole tyypillistä kurinalainen, looginen ajattelua, jota lojbanin oikea käyttö edellyttää. Ihmisen kognitio ei perustu mihinkään aivoissa olevaan "aritmeettisloogiseen yksikköön" (kuten tietokoneiden ALU) vaan se perustuu sumeaan, neuraaliseen hahmontunnistukseen, sekvenssien sumeaan oppimiseen ja tähän oppiin perustuvien ennusteiden tekemiseen. Tämä on ihmisen aivokuoren toimintaperiaate, oleellisin ulottuvuus ihmisen "älykkyydestä". Luonnollisten kielten epäloogisuudet eivät ole arkikäytössä minkäänlainen haitta tälle piirteelle. Siksi mikään ei rajoita luonnollisten kielten rapautumista, muuntumista murteiksi ja slangeiksi, uusiksi kieliksi, joissa täsmällisiin kielioppeihin syntyy koko ajan uusia poikkeuksia ja epäloogisia käyttötapoja ("jotka kaikki ymmärtävät").

Olisi siis parempi, että lojban pidettäisiin erossa "puhtaasta arkikäytöstä". Sitä ei saisi opettaa lapsille ensimmäiseksi kotikieleksi, jota lapset käyttävät leikeissään takapihoilla. Sitä ei lojban kauan kestäisi. Väitin itse aikaisemmin päinvastaista. Toiseksi kieleksi voisi lojbania ajatella, ehkä jo leikki-ikäiselle silti..

Mikä on siis olisi lojbanin oikea käyttöä? Eri kansallisuuksien yhteinen turistikieli maailmalla? No ei todellakaan! Sen sijaan vaikkapa:
  • Konferenssikieli ammatillisissa, poliittisissa tai tieteellisissä kokoontumisissa.
  • Laki- ja sopimuskieli.
  • Patenttikieli.
  • Tieteellisten julkaisujen kieli.
  • Tieteellisten ja ammatillisten oppikirjojen ja aikakausijulkaisujen kieli.
  • Ammattikieli vaativissa, kansainvälisissä työympäritöissä.
  • Sivistyneiden, vastuullisten, ammattilaisten käyttäjien arkikieli.
  • Mutta se luontevin, hyödyllisi käyttö olisi sittenkin ihmisen ja tietokoneen verbaalinen, vapaamuotoinen, intuitivinen kommunikaatio lojbanin avulla

sunnuntai 23. maaliskuuta 2008

Ehdotus: lojban aiheeksi pro gradu-työhön

Mielestäni lojban ja siihen liittyen semanttiset verkot ja tietämyshallinnan käyttöliittymät olisivat loistava aihe pro gradu- tai diplomityöksi. Aihe sopisi IT-lähestymistavan lisäksi myös tarkasteltavaksi esim filosofian näkökulmasta tai yleisen lingvistiikan kannalta. On myös mielestäni etu, että aihe on suhteellisen neitseellinen, vähän käsitelty. Mutta kaikenlaista taustatietoa niin filosofiselta- lingvistiikan alueellata löytyy runsaasti heti, kun vain jätetään termi "lojban". Siispä olisi mahdollista päästä kohtuu vaivalla uranuurtajaksi!

Tarvitaan vain motivaatio ja ymmärrys siitä, että semanttisella tietämyksenkäsittelyllä on merkittävä tulevaisuus ihan lähellä, jo alkamassa. Lisäksi on ymmärrettävä ne merkittävät ongelmat, jotka tällä IT-alueella hidastavat kehitystä ja kuinka lojban on oleellinen ratkaisu. Tarvitaan tutkimusta oikeiden kysymysten asettamiseksi, ongelmien tarkan luonteen formuloimiseksi ja "prof of concept" demonstraatioratkaisua, jossa lojbania käyttäen pystytään tehokkaasti, interaktiivisesti syöttämään ja hallitsemaan tietämyskantoja.

Paljon on jo tehty. SUMO-ontologia on tyylikäs ylä-ontologia, jonka KIF-kieliset määrittelyt kääntyvät lähes sellaisenaan sujuvasti lojban-kielisiksi. Niiden luominen on ollut valtava työ ja kaikki on ilmaiseksi käytettävissä täällä:
http://ckip.iis.sinica.edu.tw/kifb/en/toc/0.html

torstai 20. maaliskuuta 2008

Minimaalinen lojban pikakurssi

Päätin kirjoittaa hyvin lyhyen katsauksen lojban-kieleen. Tarkoituksena on on antaa edes jonkinlainen vastaus siihen, miten lojban eroaa sekä luonnollisista kielistä, että myös lähes kaikista muista keinokielistä.
Ensiksikin lojbanin sisäinen rakenne eroaa radikaalisti luonnollisista kielistä. Lojbanissa ei ole sanaluokkia: substantiivejä, verbejä, adjektiivejä. Lojbanistanilainen ajattelu ei perustu näihin, vaan suhteisiin, relaatioihin. Kaikkien käsitteiden sisältö määräytyy niiden suhteissa toisiin käsitteisiin. Jos ymmärrät jonkin käsitteen, ymmärrät silloin miten se suhtautuu toisiin käsitteisiin. Tällainen looginen ajattelu on lojbanin ydin. Tavallisin muoto relaation määrittelevänä sanana lojban-kielisessä lauseessa on gismu, lojbanin juurisana. Muitakin on, mutta ei tässä pikakurssissa.

Lojbanin peruslausemuoto on bridi. Sen muoto on tällainen:

sumti1 selbri sumti2 sumti3 sumti4 sumti5 .

Selbri on relaatio, siis usein gismu, ja sumti on parametri, argumentti tai attribuutti (miksi sitä nyt haluaa kutsua). Ohjelmointia tunteville tämä vastaisi C:n sukuisten kielten esitystä:

selbri ( sumti1, sumti2, sumti3, sumti4, sumti5);

Lojbanin bridi siis käyttää paikkakoodia määrittelemään kunkin gismun parametrien, sumtien merkityksen, ihan niin kuin C-kielen funktiokutsu, pilkkuja vaan ei käytetä ja (yleensä) ensimmäinen sumti on ennen selbriä. Seuraavassa esimerkkinä joukko gismuja, juurisanoja, X:t ovat parametrejä:

patfu x 1 on x 2 :n isä
nelci x 1 pitää x 2 :sta
cifnu x 1 on vauva, pentu, edustaen lajia x 2
melbi x 1 on kaunis x 2 :n mielestä x 3 suhteessa x 4 standardin mukaan
kurji x 1 huolehtii x 2 :sta

Näistä gismuista huomaa, että lojbanin juurisanan merktys voi olla substantiivin, verbin tai adjektiivin kaltainen, mutta aina se kuitenkin kuvaa parametrien semanttista suhdetta. Parametrejä voi olla yhdestä viiteen. Tarpeen vaatiessa voi niitä vielä lisätä. Seuraavaksi muutama esimerkki-bridi:

.i la marttis. patfu la kirsis.
Martti on Kirsin isä.

.i la kirsis. cifnu
Kirsi on vauva.

.i la kirsis. melbi la marttis.
Martin mielestä Kirsi on kaunis.

.i la kirsis. nelci le patfu
Kirsi pitää isästä.

.i la marttis. kurji la kirsis.
Martti huolehtii Kirsistä.

Näistä triviaaleista esimerkeistä voi tehdä esim seuraavat havainnot.

1.Lauseet erotetaan toisistaan lyhyellä .i äänteellä. Piste ( . ) ei ole välimerkki vaan osoittaa ääntämisen taukoa. Välimerkkejä ei käytetä. Lojbanissa kaikki mitä kirjoitetaan on myös äännettävissä, siksi ei myöskään käytetä isoja kirjaimia.

2.Erisnimien kanssa käytetään la – artikkelia. Muita artikkeleita on paljon, mutta ei mitään ”sukuja”. Erisnimien on päätyttävä konsonanttiin ja pisteeseen, joka siis osoittaa vain lyhyttä taukoa.

3.Kaikkia gismun sumteja ei ole pakko käyttää.

4. Gismua voidaan le-artikkelilla varustettuna käyttää sumtina, jolloin tarkoitetaan ko gismun X1 sumtia. Siis le patfu on se, joka on jonkun isä, eli patfun X1. Kuten yllä: "x 1 on x 2 :n isä".

Esimerkkinä vielä realistisempi, monimutkaisempi lause:

.i la ranjit. smaji ca lenu la suzyn. cpedu le sanmi le bevri kei ki'u le nu ry. clite kei .e le nu ry. nelci le voksa be la suzyn. kei
Ranjeet on hiljaa Susanin pyytäessä ruokaa tarjoilijalta, koska hän on kohtelias ja koska hän pitää Susanin äänestä.

Lojbanin kielioppi on suhteellisen monimutkainen (mutta looginen, kiinnostava ja ihan opittavissa) sekä koko kielen tapa tarkastella maailmaa on muista kieliestä poikkeava. Kielessä käytetään paljon kieliopillisia pikkusanoja, joista käytetään nimitystä cmavo. Näitä ovat ovat yllä olevassa esimerkissä kaikki, joissa on vähemmän kuin viisi kirjainta. Viisikirjaimiset ovat aina gismuja elleivät ole erisnimiä.

Lausumisesta neljä suomalaiselle tärkeintä huomiota:

1.'J ' lausutaan shz-tyypisenä S-kirjaimena kuten ranskan sanassa 'bonjour'.
2. 'C' lausutaan sh -suhu-S – kirjaimena.
3.Heittomerkki: ' on kevyt H-kirjain. Siis yllä esimerkissä ki'u lausutaan ”kihu”.
4.'X' lausutaan vahvana H:na kuten nimessä Bach.

Muut sujuvat aika suomalaisittain, paitsi 'Z' englantilaisittain (ei siis 'ts' ).

keskiviikko 19. maaliskuuta 2008

Sanakirjat

Lojban-yhteisöllä on jbovlaste - projekti. JBovlaste on sanakirjojen toimittamisohjelma.

http://jbovlaste.lojban.org//

Xx-kieli to Lojban to Xx-kieli sanakirjoja on useilla kielillä, mutta ei vielä esim suomeksi. Kukaan ei ole tehnyt sellaista. Siis jossakin vaiheessa sekin olisi aloitettava. Olisin tyytyväinen, jos löytyisi joku, joka voisi aloittaa homman, sitä voi useampi sitten jatkaa työkalulla.

Työkalulta voi tulosta valmiita sanakirjoja PDF-formaatissa useilla eri kielillä. Mutta eipä ole vielä esim ruotsinkielistäkään sanakirjaa. Voisi yrittää ehtiä ennen ruotsalaisia.

Tulostin Englanti-Lojban-Englanti sanakirjan ja se näyttää hyvältä 169 sivua / 843 kB. Englanti-osiossa on pelkkä lojban-vastine, jota on erikseen katsottava esim sumti-paikkojen eli käyttötavan suhteen. Suomi-Lojban-Suomi sanakirjan tekeminen olisi tietysti vain käännöstyötä vaikka englanti-sanakirjasta.

Todennäköisesti hankin itselleni tunnukset vielä tämän kevään kuluessa ja lisään suomi-sanakirjaan ainakin näitä "yläontologian" käsitteitä. Mutta jos opuksesta halutaan kattava arkelämän käsitteitä myöten, tarvitsen apua.

Toinen nettisanakirja on siis:
http://members.fortunecity.com/jeroenkuiper/Linguistics/Lojban/Dictionary/aindex.html

Mutta oma PDF-sanakirja on kätevämpi, vaikka ei paperille tulostaisikaan.