Morgunblaðið - 18.11.1984, Side 56
56
MORGUNBLAÐIÐ, SUNNUDAGUR 18. NÓVEMBER 1984
VÉLAVIT
Tölrur og forritin sem þeim til-
beyra — diskarnir og snsldurnar —
eru meðal þeirra nýjunga er mikinn
svip setja i nútímann. A sviði tölvu-
tskni hefur orðið geysiör þróun síð-
asta áratug og allt bendir til þess að
frekari nýjungar séu í vaendum. Æ
fleiri verkefni eru nú unnin í tölvum
og vélmenni — tölvustýrðar vélar —
annast núorðið störf sem jafnan
hafa verið unnin af mönnum. Rann-
sóknir í nútíma tölvuUekni beinast
mjL að því að gera tölvum fært að
skilja og mynda mannamál, og hefur
verulegur árangur náðst erlendis á
þessu sviði. En hvernig skyldi tölv-
um ganga að skilja íslenzku?
Þegar við fréttum að Friðrík
Skúlason háskólanemi, sem er að
ljúka námi í tölvufræðum, hefði
íslenzkt málfræðiforrit í smíðum
og notaði til þess tölvumálið Pro-
log fórum við á fund hans til að fá
svör við þessari spurningu og
mörgum öðrum. Þar sem Prolog
forritunarmálið er nýtt af nálinni
byrjaði ég á því að spyrja Friðrík
hversu lengi væri verið að læra
það.
Prolog
Hálftíma. Þú gætir notað Pro-
log þér til gagns eftir að hafa lært
það í s.s. hálftíma — þetta er mjög
skýrt og auðlært tölvutungumál,
sagði Friðrík. Að sjálfsögðu tekur
miklu lengri tíma að læra Prolog
til fulls en það er miklu auðveld-
ara að að komast inn í það en t.d.
BASIC. Og ef til vill er bezt að
kunna ekkert annað tölvumál þeg-
ar byrjað er í þessu máli. Prolog
byggir á hreinni rökfræði og hana
þarf maður ekki beinlínis að læra.
Prolog tölvumálið felst f skilgrein-
ingum og venzlum og hefur mik-
inn skyldleika við tölvumálið Lisp.
— Hvernig vinnur Prologmálið?
EJf til vill er bezt að útskýra það
með dæmum. Yrðing í Prolog for-
riti getur litið svona út: ?((Sum 3 4
X)), og tölvan svaran X=7. Slfkar
yrðingar skipta hundruðum í Pro-
log og einnig getur maður búið til
nýjar þar sem maður skilgreinir
venzlin sjálfur.
Allir íslendingar eru vel að sér f
ættfræði og við skulum líta á
hvernig ættfræðiforrit í Prolog
myndi líta út.
Þá byrjum við á aö búa til lítinn
gagnabanka sem gæti verið svona:
((faðir Gunnar Bjarni))
((faðir Páll Gunnar))
((faðir Bjarni Jón))
((móðir Kristín Páll))
Ef við höfum nú þennan litla
gagnabanka í tölvunni getum við
spurt hana þannig: ?((faðir Gunn-
ar X )), og tölvan svarar:
X=Bjarni.
?(( faðir Páll Jón)), og tölvan svar-
ar: NEI!
?((faðir X Jón)), og tölvan svarar:
X=Bjarni.
Að sjálfsögðu leyfir Prolog mál-
ið miklu nákvæmari skráningu
gagna — það mætti hugsa sér að
yrðing hljóðaði þannig: ((faðir
Sigurbjöm kallaður „sleggja" Jón
sem fæddist á Ströndum 1734 en
dó að Leiðarenda 1788)). Gagna-
banki í nothæfu ættfræðiforriti
þyrfti að sjálfsögðu að innihalda
þúsundir svona yrðinga, þannig að
til að spara minnið væri heppi-
legra að hafa yrðingarnar þannig:
((faðir Sigurbjörn(89) Jón(243) )).
Prolog-ættfræðiforrit
Stóra málið í Prolog er að
skilgreina ný venzl með öðrum.
Skilgreining á venzlunum „afi“
gæti t.d. verið þannig:
((afi X Y)
(faðir X Z)
(faðir Z X))
((afi X Y)
(faðir X Z)
(móðir Z Y))
Þá mætti spyrja tölvuna:
? ((afi X Jón)), og hún svarar:
X=Gunnar.
Ættfræðiforrit af þessu tagi
þyrfti að vera til og gæti það
tengst stórum gangnabanka sem
ættfræðingar myndu leggja efni-
við í. Það myndi spara mönnum
margan snúning ef þetta væri allt
á einum stað og ekki þyrfti að fara
um landið þvert og endilangt til að
kanna gamlar kirkjubækur og
ættfræðiheimildir. Ég hef sjálfur
hugsað mér að ráðast í gerð svona
ættfræðiforrits þegar ég hef tíma
ef enginn annar fer í það.
— En hvernig er þessu forriti
háttað sem þú ert að vinna að í
sambandi við íslenzka málfræði?
Það er að sjálfsögðu töluvert
flóknara mál að skilgreina venzlin
I því verkefni, en I heild felur það í
sér að koma íslenzkri málfræði í
tölvuforrit. Dæmi um þær yrð-
ingar sem ég er með hér í tölvunni
gæti verið: ((greinir hinni kvk þgf
et)). Gagnabankinn i svona forriti
þarf að sjálfsögðu að vera stór en
eftir að gögnin eru komin í tölv-
una er hægt að gefa henni skipan-
ir eins og þessa:
((framkvæma—beygingu XYZ xz
XI Yl)
(fallsnúmer Y z Zl)
(NOBEYG Y Z1 xl)
(beygja X Z Z1 xl yl)
(bæta—við—greini Y1 XI x y z
Yl))
— Hvenær verður þetta forrit
tilbúið og hvaða hlutverk er þvi
ætlað?
Ég hef í hyggju að vinna þetta
forrit næsta árið og ef mér tekst
að koma því þokkalega saman ætti
það að gera tölvunni fært að skilja
samfelldan texta, t.d. að fram-
kvæma ákveðna gangnaúrvinnslu
eftir skipunum á mæltu máli. Ef
við höldum okkur við ættfræði-
dæmið þá mætti tengja þetta for-
rit sem ég er að gera við ættfræði-
Rætt við Friðrik
Skúlason háskóla-
nema um tölvumálið
Prolog, íslenzkt
málfræðiforrit sem
hann vinnur að,
„fimmtukynslóðar-
rannsóknir“ o.fl.
gagnaforrit, og væri þá hægt að
spyrja tölvuna almennra spurn-
inga varðandi ættfræði án þess að
fylgja sérstöku forsniði. Þannig
mætti þá spyrja spurninga eins og
„Hvað heitir langamma Hans-
ínu?“, eða „Hvernig er Gunnar
skyldur ólafi?“.
íslenzk ritvinnsla
Þannig er hugsanlegt að tengja
þetta málfræðiforrit við mörg
önnur forrit. Hjá IBM hefur verið
gert íslenzkt gagnabankaforrit
sem inniheldur stóran hluta is-
lenzkra orða. Þetta forrit getur
komið að gagni við að prófarka-
lesa texta, en það er takmörkuð
gagnsemi af því vegna þess hve
föll og beygingar eru fjölbreyttar í
íslenzku. Það gæti að vísu gert at-
hugasemdir við villur eins og orðið
„lækniranna“, vegna þess að þessi
mynd orðsins er ekki til i málinu;
Það myndi hins vegar ekki gera
neina athugasemd við setningar
eins og „Ég fór í skólanum". Það
mætti hugsa sér að þetta forrit
sem ég er að gera endaði sem hluti
af svona forriti, sem þá gæti leið-
rétt beygingarvillur.
Þetta vandamál hefur að sjálf-
sögðu verið leyst fyrir tungumál
erlendis s.s. ensku og þýzku.
Merkingarfræðilegi hlutin vefst
hins vegar fyrir mönnum og virð-
ist það vandamál illleysanlegt. Við
getum tekið þessa setningu sem
dæmi: „Jón stökk yfir ána“. I
fljótu bragði virðist hún aðeins
hafa eina merkingu, en hvernig á
tölvan að geta greint á milli hvort
Jón stekkur yfir læk eða kind? Ef
framhald væri á setningunni t.d.
„.. .án þess að blotna" eða „.. .án
þess að hún vaknaði", væri málið
strax auðveldara viðfangs og
mögulegt að gera forrit sem gerði
merkingarlegan greinarmun. Það
er sægur af svona tvíræðum setn-
ingum í daglegu máli sem við tök-
um venjulegá ekki eftir.
Aftur geta setningar sem virð-
ast ruglingslegar í okkar augum
verið auðveldar fyrir tölvuna. T.d.
er setningin „Á. á Á á á“ ekki erf-
iðari fyrir tölvu en setningin:
„Árni á Hóli á belju“ (sérnafn —
forsetning — sérnafn — sögn —
nafnorð).
— Hvað er mesta vandamálið
B>
B> a: p ro 1 og
.LOAD 1 LJOD
&.
.Error 11: Ðreak!
&. ? (< íjóá))
Bleikir hrafnar
Röndótt skolpræsi dreymir t íguleaa
Hvert flýgur ljóshaeróá qólfteopiá ?
Dökkgrænir draumar læðást virðúlega
En heilagir rauðír tindátar koma
Eru einhverjir kettir Þyrstir ?
&.
Þetta atómljóð orti tölvan á sekúndubroti eftir að skipunin „?((ljóð))“ hafði
verið gefin — það er altjent mikill hraði þó nokkuð skorti á andagiftina.
við að fá tölvu til að skilja manna-
mál?
Erfiðleikarnir við að fá tölvu til
að skilja mælt mál stafa m.a. af
því að tölvan verður alltaf að fara
í gegn um alla hugsanlega mögu-
leika. Þetta veldur miklum erfið-
leikum við gerð forrita sem reyna
á skilning eins og t.d. skákforrita.
Gerfígreind — vélavit
Nýjustu skákforrit fara létt með
að sigra flesta leikmenn I skák, en
þau eru tiltölulega lengi að finna
góða leiki. í hverri tiltekinni stöðu
í tafli hafa menn fyrir sér hríslu
af möguleikum ef þannig má að
orði komast. Reyndir skákmenn
eiga auðvelt með að sníða af þess-
ari hríslu og athuga aðeins þá
leiki sem vænlegir eru — þó þeir
viti ekki sjálfir hvernig þeir fara
að því. Þetta er virðist hins vegar
ómögulegt að forrita, þannig að í
skák verður tölvan alltaf að fara i
gegn um mun fleiri leiki en
skákmenn.
— Hvað um þýðingar tungu-
mála?
Jú, það er hugsanlegt að nota
forrit sem þetta sem hluta forrits
er þýðir eitt mál yfir á annað en
slík forrit eru þegar til erlendis.
Fyrir nokkrum árum óttuðust
Bandaríkjamenn að Sovétmenn
hefðu miklu betri möguleika til að
nálgast þekkingu i vestrænum vis-
indaritum en vestrænir visinda-
menn i timaritum gefnum út aust-
antjalds — mjög margir sovézkir
vísindamenn skilja vel ensku en
það eru tiltölulega fáir bandarisk-
ir visindamenn sem skilja rússn-
esku sér að gagni. Þess vegna var
ráðist í að gera geysimikið þýð-
ingarforrit sem þýddi rússnesku
yfir á ensku, en einnig var hægt að
keyra það í hina áttina og þýða úr
ensku yfir á rússnesku. Þetta gekk
alltsaman vel, en að sjálfsögðu
þurfti að fara yfir textann eftir að
hann kom úr tölvunni og laga
hann til.
Stundum geta svona tölvuþýð-
ingar verið skoplegar. Einhverju
sinni ætluðu þeir að þýða hluta
biblíunnar yfir á rússnesku með
þessu forriti og þar á meðal þessa
kunnu setningu: „Andinn er að
sönnu reiðubúinn en holdið er
veikt." En tölvan þýddi þetta
þannig: „Sprúttið er nothæft en
kjötið er farið að rotna.“
Ýmsar alþjóðastofnanir nota
tungumálaforrit af þessu tagi
töluvert. Efnahagsbandalag Evr-
ópu notar til dæmis mikið tölvur
til að þýða allskonar texta sam-
tímis yfir á mörg tungumál.
Reynslan er sú að um 80 prósent
af textanum er vel nothæft, 10
prósent þarf að leiðrétta og 10
prósent er algert rugl. Samt spar-
ar svona vél mikla vinnu.
— Er hægt að hugsa sér fleiri
not fyrir forritapakka sem þenn-
an?
Já, það má hugsa sér ansi margt
t.a.m. að láta tölvuna yrkja at-
ómljóð en reyndar þarf ekki nærri
svona mikið forrit til þess. Það má
vel takmarka orðaforðann — t.d.
við sprengingar og stríð, eða blóm
og veður — eins og manni dettur
stundum í hug að sumir höfundar
atómljóða geri. Ef þú lætur tölv-
una yrkja svona nokkur hundruð
ljóð, eru nokkrar llkur á að þú fáir
nokkur góð. Ég er hér með lítið
Prolog-forrit sem yrkir atómljóð
— við ættum kannski að láta tölv-
una yrkja nokkur ljóð á eftir.
Kennsluforrit
— Við víkjum talinu aftur að
tölvumálinu Prolog og ég spyr
Friðrík hvort mögulegt sé að
semja tölvuleiki eins og „Pack-
man“ með þessu máli.
Það væri að vísu hægt — en það
yrði hæggengur „Packman". Pro-
log hentar fyrst og fremst þar sem
um rökfræðilega úrvinnslu er að
ræða. Þetta tölvumál skapar
mikla möguleika I gerð kennslu-
forrita og „skynsamra" forrita af
ýmsu tagi.
— Hvað um íslenzk kennslu-
forrit?
Hér á landi hafa ekki verið
skrifuð nein góð kennsluforrit sem
ég veit um. Erlend kennsluforrit