Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
121 lines (67 sloc) 7.88 KB

Codio Robot Sgwrsio Cymraeg

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.

Rhan 1- Sut mae cyfrifiaduron yn meddwl

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!

Ydy cyfrifiaduron yn gallu meddwl dros eu hunain?

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.

Dechrau ar y codio

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.

Ychwanegu nodweddion ieithyddol Cymraeg

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.

Casgliad

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?