Számítógépes nyelvészet 101: Programozás

Sorozatunk korábbi részeiben áttekintettük hogy milyen matematikai és információtechnológiai alapismeretekkel illene magunkat felvértezni. Most érkeztünk el oda, amit mindenki triviálisnak tart; egy számítógépes nyelvész programozni szokott. Ellenben itt sem olyan egyszerű a helyzet, mint látni fogjuk.

Kimenet Kezdjük ismét a kimenettel! Induljunk ki abból hogy milyen környezetbe kell be illeszkednünk. Nem rég a mathbabe blogon megjelent egy érdekes írás Coding is like being in a band címmel, ami remekül rávilágít arra milyen amikor egy kutató komolyan programozni kezd. A szoftvermérnökség külön szakma, ha olyan szintre szeretnél eljutni mint egy jó programozó, valószínűleg nem sok időd marad másra. Egy számítógépes nyelvész dolga az hogy a programozókat maximálisan ki tudja szolgálni! Ehhez általában prototípusokat ad át, a kollégák rendelkezésére áll és gyakran csodálkozik azon hogy milyen okos emberekkel van körülvéve. Gyakran valamilyen szkript nyelven dolgozunk ki egy prototípust, ezt adjuk át a programozó kollégáknak, akik darabokra szednek minket miközben ötleteinkre alapozva valami nagyot alkotnak.
Mielőtt belebonyolódnánk abba hogy milyen készségeket kell kialakítanunk ahhoz hogy egy team tagjai lehessünk, érdemes elolvasni Peter Naur Programming as Theory Building esszéjét. Ennek alapgondolata az hogy egy szoftver fejlesztése során explicitté tesszük az alkotók tudását (egy adott területre vonatkozóan). Ennél szebben eddig még senki nem írta le ezt a folyamatot. Viszont a mi esetünk speciális!
Tudományos programozás A tudományos kutatás során sincs másról szó mint a tudásunk kódba öntéséről. Ellenben a tudományos programok nem termékek, hanem mankók. Nem általánosítanak, hanem specifikusan adott problémára, vagy problémahalmazra vonatkoznak. Sokszor parancssorból indítjuk a szkripteket és általában ún. batch processing a folyamat. Ez messze van pl. egy Word szövegszerkesztőtől, vagy egy Prezitől. A számítógépes nyelvészeknek azonban itt kell kezdeni!
Kezdő lépések A mai gyerekeknek (és idősebb érdeklődőknek) már nem jelent problémát hogy elinduljanak. Rengeteg jó minőségű, online elérhető, ingyenes tananyag várja a szellemi kalandokra vágyók tömegeit.
  • Codeacademy – érdemes itt kezdeni annak aki még nem programozott. A html és a javascript ismerete alap és egyben hasznos.
  • Udacity – Zseniális kezdeményezés. A bevezető kurzus Python-t használ, hét hét alatt egy saját kereső készítésén keresztül sajátíthatjuk el az alapokat. A haladóbb kurzusok lefedik a programtervezést, az algoritmusokat és még statisztikát is tanulhatunk. Mindezt a Google nagyágyúitól!
  • MIT OpenCoursware – az Introduction to Computer Science and Programming kurzus két verzióban érhető el, Python és Scheme nyelvekre. Habár bevezető, nem ajánlott teljesen kezdőknek.
Hogyan tovább? Mindenki ismer valakit aki huszanhat programozási nyelvben jártas és mindegyiket feltétlenül ajánlja. Biztos vannak ilyen poliglott emberek, de nekünk két nyelvet kell jól ismernünk. A Python és az R bőven elég kezdetnek. Az alábbi posztjainkban már szóltunk erről:
És persze ne felejtsük el az NLTK-t és a hozzá tartozó szabadon hozzáférhető könyvet. Ez az anyag önmagában is leköthet minket egy jó időre. Hozzá csapatjuk még a listához
ezeket a könyveket hogy lássuk miképp illeszkedik a sok elméleti okoskodás az ipari felhasználáshoz. Lássuk be, ekkora leterheltség mellett nem marad idő másra.
Ha tisztességesen megtanuljuk a Python-t és végigmegyünk a fent ajánlott köteteken, akkor egész jó képünk lesz arról hogy az elmélettől miképp jutunk el a megvalósításig. Ne feledjük azonban hogy olvasni nem minden, saját projekteken keresztül lehet a legjobban tanulni.
Az R segítségével képbe kerülünk korpusznyelvészet terén, valamennyire a számítógépes statisztikára is rálátásunk lesz. További motiváló tényező hogy sok gépi tanulással foglalkozó könyvhöz találunk R kódot a neten.
További csábító terület lehet a funkcionális és a logikai programozás. Erre külön posztban fogunk kitérni. Most inkább arra buzdítunk mindenkit hogy álljon ellent! Aki csak most vág bele a szakma elsajátításába, az inkább fektessen hangsúlyt a biztos alapok lefektetésére.
És még ez sem minden Az tudományos programozás közben törekednünk kell jó praktikák kialakítására. Használjunk verziókövetőt, ismerkedjünk meg a különféle programozási metodológiákkal (agile, TDD, stb). A Software Carpentry remek kiindulás pont azoknak akik a tudományos programozás felől közelítenek az iparhoz.

Via: Számítógépes nyelvészet 101: Programozás

66 Responses to Számítógépes nyelvészet 101: Programozás

  1. Pingback: Brand viagra for sale

  2. Pingback: cialis coupon walmart

  3. Pingback: how much is cialis

  4. Pingback: cialis professional

  5. Pingback: buy generic cialis

  6. Pingback: Pfizer viagra

  7. Pingback: Buy viagra now online

  8. Pingback: goodrx cialis

  9. Pingback: generic cialis online

  10. Pingback: cialis online

  11. Pingback: generic cialis 2019

  12. Pingback: viagra 100mg

  13. Pingback: viagra generic

  14. Pingback: online pharmacy viagra

  15. Pingback: non prescription ed pills

  16. Pingback: non prescription erection pills

  17. Pingback: ed medications

  18. Pingback: walmart pharmacy

  19. Pingback: canadian pharmacy online

  20. Pingback: Viagra or cialis

  21. Pingback: cialis visa

  22. Pingback: vardenafil 20mg

  23. Pingback: levitra pills

  24. Pingback: cheap vardenafil

  25. Pingback: wind creek casino online play

  26. Pingback: best casino online

  27. Pingback: buy generic viagra online

  28. Pingback: online casino games real money

  29. Pingback: casino slots gambling

  30. Pingback: tadalafil cialis

  31. Pingback: cash advance

  32. Pingback: online loans

  33. Pingback: cash advance

  34. Pingback: viagra 100mg

  35. Pingback: slots online

  36. Pingback: online slots

  37. Pingback: cialis to buy

  38. Pingback: uk top online casino

  39. Pingback: blog

  40. Pingback: wind creek casino online play

  41. Pingback: new cialis

  42. Pingback: buy cialis

  43. Pingback: cialis 5 mg

  44. Pingback: generic for cialis

  45. Pingback: real online casino

  46. Pingback: online slots for real money

  47. Pingback: casino games online

  48. Pingback: online casino usa

  49. Pingback: viagra online prescription free

  50. Pingback: viagra buy

  51. Pingback: viagra connect

  52. Pingback: buying viagra online

  53. Pingback: levitra

  54. Pingback: viagra online usa

  55. Pingback: cialis price

  56. Pingback: viagra no prescription

  57. Pingback: generic for viagra

  58. Pingback: cialis prescription online

  59. Pingback: canadian pharmacy viagra

  60. Pingback: viagra pills for sale

  61. Pingback: generic cialis reviews

  62. Pingback: chumba casino

  63. Pingback: slots online

  64. Pingback: buy cheapest viagra online uk

  65. Pingback: buy viagra online

  66. Pingback: buy viagra plus

Comments are closed.