Mae'r wers hon wedi ei dylunio fel cyflwyniad i raglennu seiliedig ar destun gan ddefnyddio Python ar y Raspberry Pi. Erbyn diwedd y wers, byddwch wedi creu rhaglen sgwrsio ryngweithiol Cymraeg ar gyfer robot.
Bydd y wers yn eich cyflwyno at y cysyniad cyfrifiadurol o ddeallusrwydd artiffisial ('artificial intelligence') a rôl casgliad arbennig o adnoddau technolegau iaith datblygwyd ym Mhrifysgol Bangor.
Yn y wers yma, byddwch yn ystyried y ffordd mae angen i gyfrifiaduron a robotiaid ddilyn cyfres o orchmynion er mwyn cyflawni tasg.
Dewiswch dri neu bedwar myfyriwr i fod yn robotiaid, ac yna rhannwch y myfyrwyr sy'n weddill yn dri neu bedwar tîm. Mae pob tîm yn cystadlu mewn ras i weld pwy all dywys 'robot' o gwmpas y dosbarth, neu 'ddrysfa' (maze). Gallai hyn fod yn dasg awyr agored. Eglurwch i'r 'robotiaid' bod rhaid iddyn nhw esgus bod yn dwp, a dim ond dilyn y cyfarwyddiadau maen nhw'n derbyn gan y myfyrwyr eraill.
Trwy gydol y ras, gwnewch yn sicr fod y myfyrwyr yn defnyddio cyfarwyddiadau fel "cama ymlaen 10 cam" neu "troi 90 gradd i'r dde".
Unwaith mae'r ras wedi'i hennill, trafodwch unrhyw broblemau daethoch ar eu traws wrth drio cael y robot i ddilyn eich cyfarwyddiadau. Sylweddoloch chi na allasai'r robot wneud ei benderfyniadau ei hunain? Roedd yn rhaid i chi fod yn benodol iawn ynglŷn â throeon a chamau oherwydd hynny.
Mae cyfrifiadur yn gweithio drwy gyflawni datganiadau un ar ôl y llall mewn dilyniant penodol. Gelwir dilyniant arbennig o ddatganiadau yn rhaglen. Mae pob rhaglen yn gweithredu gyda llif reolaeth arbennig ; mae hyn yn disgrifio pa ddatganiad y byddwn yn ei gyflawni, a beth fydd y datganiad nesaf. Dyma sut mae pob cyfrifiadur yn gweithio!
Ydych chi wedi clywed sôn am feddalwedd sgwrsio fel Elbot http://www.elbot.com/? Wyddoch chi fod modd siarad gyda ffonau symudol er mwyn holi am wybodaeth, fel yn achos Siri a Cortana ar ddyfeisiau Apple a Google?
Gofynnwch gwestiynau i'r robot sgwrsio, naill ai yn Saesneg neu yn Gymraeg. Nodwch y gwahaniaeth yn yr atebion, a meddyliwch pam nad ydyn nhw'n cyfateb yn union gyda'r cwestiwn. Er enghraifft, cymharwch 'who is the best footballer in the world?' â 'pwy yw'r chwaraewr pêl droed gorau yn y byd?'.
Oes unrhyw resymau pam na fyddai'r robot yn gallu ateb eich cwestiynau fel y byddech chi'n disgwyl? Pam ei bod hi'n mor anodd i raglenni fel y rhain ddeall a rhyngweithio gyda bodau dynol? Pam eu bod nhw'n mor hawdd i'w drysu?
Mae cyfrifiaduron yn gweithredu neu'n rhedeg rhaglenni sy'n dilyn dilyniant o gyfarwyddiadau, ac dim ond y dilyniant yma allen nhw ei ddilyn.
Ydych chi wedi clywed am y Prawf Turing http://en.wikipedia.org/wiki/Turing_test? Nod y prawf yw datblygu cyfrifiadur all rhywun ei gamgymryd am berson.
Edrychwch ar famfwrdd y Raspberry Pi. Beth ydych chi'n meddwl yw hwn?
Cyfrifiadur yw'r Raspberry Pi mewn gwirionedd, a byddwn yn ei ddefnyddio i wneud rhywbeth arbennig iawn. Yn lle rhedeg apiau a gemau mae pobl eraill wedi eu creu ar ein cyfer, byddwn yn dysgu sut i ysgrifennu meddalwedd er mwyn creu robot sy'n gallu sgwrsio â ni.
Byddwch yn rhaglennu Python drwy ysgrifennu rhaglen syml i gymryd mewnbwn defnyddiwr ac yna printio datganiadau at y sgrin.
- Gosodwch eich cyfarpar Raspberry Pi, ac yna trowch y peiriant ymlaen, a mewngofnodwch i'r Pi gan ddefnyddio'r enw defnyddiwr 'pi' a'r cyfrinair 'raspberry'.
Nodwch na fydd y myfyrwyr yn gallu gweld unrhyw destun wrth deipio'r cyfrinair, ond sicrhewch iddyn nhw ei fod yn gweithio. Pam bod hyn yn digwydd? Cliw: beth fyddai yn digwydd petai rhywun yn edrych dros eu hysgwydd?
- Nesaf, dylai'r myfyrwyr lwytho'r amgylchedd graffigol drwy deipio
startx
.
I ddechrau Python, cliciwch dwywaith ar yr eicon IDLE3 ar y bwrdd gwaith neu gliciwch ar y prif ddewislen a dewis rhaglennu , ac yna IDLE3.
- Gellir teipio yn uniongyrchol i mewn i'r ffenest ar ôl y promt, fydd yn edrych fel hyn: '>>>'. Gelwir y ffenest hwn yn ddehonglydd neu gragen (shell). Gallwch deipio llinell o god ar ôl y promt a gwasgu Enter. Bydd hyn yn rhedeg y llinell hwnnw o god. Ceisiwch deipio y gorchymyn canlynol :
print("Helo Pawb!").
Gofynnwch i'r myfyrwyr beth fydden nhw yn rhoi yn lle " Helo Pawb". Gadewch iddyn nhw arbrofi gyda defnyddio y ffenest ddehongli am funud neu ddwy. Cofiwch na all y cyfrifiadur ddilyn mwy nac un cyfarwyddiad ar y tro mewn dilyniant.
- all codio fynd yn fwy ac yn fwy blinedig wrth ddefnyddio'r dehonglydd wrth ysgrifennu lot o linellau o god. Felly, os ydych chi eisiau cadw eich cod, mae'n well defnyddio golygydd testun.
Dangoswch i'r myfyrwyr sut i greu ffeil golygydd testun newydd drwy glicio ar Ffeil>Ffenest Newydd (File>New Window) o'r ddewislen ar frig y ffenest IDLE3. Dangoswch i'r myfyrwyr sut i gadw y ffeil hon, drwy glicio ar Ffeil>Dewisiadau Cadw (File>Save Options) a'i henwi yn enw1.py.
-
Teipiwch y cod canlynol i mewn i ffenest y golygydd testun. Nodwch y gwahaniaeth rhwng sylw a llinell o god. Mae sylwadau yn rhan o'r rhaglen sy'n cael ei anwybyddu gan y cyfrifiadur, fel ein bod ni yn gallu gwneud nodiadau ynglŷn a beth sy'n digwydd yn y rhaglen.
# Fy Rhaglen Python gan .... enw = input(‘beth yw dy enw: '), print("Braf cwrdd â chi ", enw)
Nodwch fod y bylchau cyn " yn y llinyn yn bwysig.
- Cadwch y ffeil fel ffeil Python drwy glicio ar Ffeil ac yna Dewisiadau Cadw, a'i henwi yn robot. Yna rhedwch y ffeil drwy glicio ar Rhedeg ac yna Rhedeg Modiwl.
Gall y myfyrwyr wedyn ychwanegu eu mewnbwn eu hunain a datganiadau 'print', efallai yn gofyn am oedrannau defnyddwyr a'u hoff lliwiau. Er enghraifft, gallent ychwanegu
oedran = input(' pa mor hen wyt ti: ')
print("dwyt ti ddim yn edrych yn ", oedran)
Unwaith bydd gennych raglenni sy'n weithredol, ac yn cynnwys nifer o gwestiynau, bydd modd gosod bylchau rhwng y cwestiynau a ofynnwyd gydag amser. Fel arfer mewn sgwrs, mae saib rhwng ateb cwestiwn a gofyn yr un nesaf. Yr amcan yw creu robot sgwrsio all rywun ei gamgymryd am berson; felly, rydym angen gosod seibiau rhwng y cwestiynau. Gellir cyflawni hyn gan ddefnyddio'r modiwl time
. I ychwanegu'r modiwl, bydd angen i chi ychwanegu import time
o dan y sylw a chyn y cwestiynau. Wedyn rhwng y cwestiynau bydd angen i chi ddefnyddio time.sleep(1)
, lle mae gwerth 1 yn cynrychioli 1 eiliad.
Mae modd i chi greu robot sy'n siarad Cymraeg drwy ddefnyddio adnoddau technolegau iaith Cymraeg dros y we o'r Porth Technolegau Iaith.
Mae'r adnoddau hyn yn gallu :
- Nodi iaith y testun – Cymraeg neu unrhyw iaith arall
- Canfod a chynnig enw'r person neu le o fewn testun
- Cywiro gwallau sillafu ac/neu ramadeg testun Cymraeg
- Llefaru yn Gymraeg
Yn y rhan yma o'r wers bydd modd i chi ddod a'r holl adnoddau yma at ei gilydd er mwyn ffurfio rhaglen sgwrsio 'naturiol' Cymraeg soffistigedig eich hunain.
I ddechrau, ychwanegwch un neu fwy o'r canlynol at frig eich ffeil cod :
from cysill import gwirio_testun
from lleferydd import llefaru, cwestiwn
from canfodiaith import iaith_testun
from rhannauymadrodd import enw_lle, enw_person
Mae enghreifftiau o fewn yr is-ffolder 'ee' ar eich cyfrifiadur.
Bydd modd i chi, gyda help Mr Robertson a Mr Jones, lwytho eich rhaglen i ben y robot Rapiro.
Beth fyddai eich gyrfa delfrydol chi? A oes unrhyw swydd heddiw nad ydyw wedi ei drawsnewid yn llwyr gan dechnoleg a chyfrifiaduron?
Ydy codio yn sgil defnyddiol / hanfodol ?
Wyddoch chi y bydd y byd gwaith wedi newid yn gyfan gwbl mewn 5 neu 10 mlynedd arall, unwaith yn rhagor oherwydd gwelliannau technolegol? Bydd cyfrifiaduron gydag elfennau o ddeallusrwydd artiffisial yn trawsnewid nifer o swyddi.
Ym mha ieithoedd bydd y technolegau newydd hyn?