A New York Times és a Guardian API-k használata

Ahogy az előző posztokban említettem sokan reménykednek abban hogy a neten összegyűlt hatalmas adat mennyiség betekintést nyújthat abba hogyan is működik a nyelv. Habár sokat segíthet ha rengeteg adattal rendelkezünk, ennek vannak határai – ahogy erre pl Kilgariff is rámutatott. Nem is beszélve a technikai és jogi korlátokról.

A nyílt kormányzás eszméje

Gondoljuk egy kicsit tovább a dolgokat. Nem csak roppan mennyiségű nyelvi adat generálódik ám nap mint nap, hanem mindenféle más is. Minden országnak megvan a maga KSH-ja, nekünk európaiaknak meg még van egy Eurostatunk is, benne vagyunk egy halom nemzetközi szervezetben (pl ENSZ és annak szatellit szervezetei WHO stb) amik szintén szépen gyártják a maguk statisztikáit. Ezekről ki-ki kiadja a maga kis összefoglalóját, vagy éppen pénzt kér a bővebb adatokért. De miért nem nyilvánosan hozzáférhetők ezek az adatok? Miért nem készítheti el maga az adófizető állampolgár az adatok elemzését? Ahogy a nyílt/szabad szoftver megteremtette az “érdek nélküli” együttműködést és tényleg minőségi termékeket képes produkálni, ugyanúgy nagy lehetőségek rejlenek abban ha szabaddá tesszük az adatokhoz való hozzáférést . Ez nem csak afféle hippi ideológia! Az angolszász világban mindenhol születtek már kormányzati kezdeményezések az adatok felszabadítására, összekapcsolva a gov2.0 (kb. webkettes eszközök beemelése a kormányzat eszköztárába). Akit érdekel a sztorinak ez az oldala is, ajánlom a wikipedia open government szócikkét, az O’Reilly Media Gov 2.0 Summit oldalát, illetve a Lathrop és Ruma Open Government könyvét. És már arra is akad példa hogy emberek tényleg kódolnak a közösségükért, megéri megnézni a Code for America oldalát (és elgondolkodni hogy miért nincs ilyen hazánkban és az EU-ban).

Nyílt adatok
Nos nem csak a kormányzati szervek gyűjtenek adatokat. Manapság minden cég elkerülhetetlenül adatokat generál működése során, ezek feldolgozása az üzleti intelligencia területe. De van egy olyan terület ami szintén adatokkal dolgozik; az újságírás. A zsurnaliszták adatokkal dolgoznak (persze itt nem a bulvár médiára gondolok), alapesetben a gazdasági újságíró lételeme a gazdasági statisztika, de a sportújságíró sem lehet meg adatok nélkül, és hát egy társadalmi riport is jó ha adatokkal van megtámogatva. Szerencsére a klasszikus újságírók nem azok a profithajhász, bezárkózó emberek és felismerték hogy a negyedi hatalmi ág is sokat tehet azzal a demokráciáért ha közzéteszi az általa összeszedett anyagokat. Ezt pedig a New York Times és a Guardian lapok profi módon tették meg. Nem csak egyszerűen letölthetők az adatok össze-vissza, hanem jól megtervezett API-kat hoztak létre erre. Ez pedig egy új újságírói módszertan kialakulását hozta magával, az adat újságírást (data journalism/data-driven journalism). Sajnos ennek bemutatása szétfeszítené egy poszt kereteit, az érdeklődő olvasónak ajánlom hogy olvassa el és nézze meg hogyan készült a Guardian API, és egy kis posztot arról hogy hogyan áll a helyzet a kontinentális Európában és megéri az augusztusban lezajlott data driven journalism konferencia anyagait és nézegetni.

Hogy kerül ide a nyelvészet?
Végre! Ideértünk! Nos, a legtöbb szépen megtervezett korpusz részét képezi egy “hírlap” minta. Nos, mindkét API lehetővé teszi a tartalom keresését, méghozzá nem csak egyszerűen kulcsszavakra kereshetünk, hanem a publikálás dátuma, tagek stb szerint. Tehát nem csak a klasszikus adatok (GDP, munkanélküliség, stb) hanem maguk a cikkek is hozzáférhetőek. Így egyaránt használhatjuk az újságok tartalmát klasszikus nyelvészeti kutatáshoz, vagy épp számítógépes nyelvészeti rendszerekben (én eddig ‘sentiment analysis’-ről, tőzsdei hírekkel kapcsolatos szakértői vélemények kinyeréséről és választási hírek elemzéséről hallottam, de tutira van ezer és egy más felhasználásuk is).

Egyszerű tartalom keresés R segítségével
Mi most megnézzük hogyan is indulhatunk el. Nem fogunk itt nagy dolgot véghez vinni. Gyakorlott programozók pedig takarják el a szemüket! Felteszem hogy az olvasó beszerezte már az API kulcsait, ha nem most itt az idő hogy a New York Times és a Guardian oldalain ezt megtedd. Szükséged lesz még az R legújabb verziójára (Ubuntusoknak ajánlom ezt a rövid írást) és installálnod kell a stringr és az RJSONIO csomagokat is.

Ha ez megvan, akkor kezdjük a Guardian-nel. Milyen gyakran említik kis hazánkat a britek? Nézzük!

Mit csináltunk itt? A query változóba tároljuk hogy mire keresnénk a tartalomban, ha más kifejezése akarunk rákeresni, egyszerűen kicseréljük. Az u és az u_end változók közé kerül be a keresett szó, mivel és a paste() függvénnyel tkp összefűzzük egy url címmé. Így nem teszünk mást mint a böngészőnk egy oldal betöltésekor. Érdemes beütni az R konzolba a raw.data kifejezést és egy entert hogy lássuk hogy néz ki amit letöltöttünk. Én úgy gondoltam a legegyszerűbb ha megnézzük mikor is publikálták azokat a cikkeket. Erre az ún “szabályos kifejezéseket” (regular expressions/regex) használjuk, itt a ÉÉÉÉ-HH-NN formátumot keressük segítségükkel. Az str_extract() függvény megkeresi az összes előfordulást, ezt pedig az as.data.frame() függvénnyel tkp egy táblázattá alakítjuk, amiből pedig egyszerűen készíthetünk grafikont a plot() függvénnyel (ahogy a táblázatkezelők is táblákból készítenek ábrát). Én ezt kaptam:

Ha érdekel mi mindent lehet “kibányászni” az API által küldött adatokból, a Wikibooks R könyve sokat segíthet neked (kiváltképp a Text Processing része). A NY Times API használatáról R-ben pedig itt olvashatsz. A poszt sokkal szofisztikáltabb példa programot mutat be, de ez persze azzal jár hogy bonyolultabb a fent bemutatott példánál. Remélem kedvet kaptál a felfedezéshez, és bonyolultabb kereséseket és grafikonokat is fogsz készíteni!

Az API-k és a Processing
Sokan nem szeretik az R grafikáját. Nos ebben van is igazság, annyiban hogy szép és színes-szagos grafikát nehéz R-ben készíteni. Nagyon érteni kell a nyelvhez, és ugye az interakció hiányzik. De ugye ott a Processing, csak valahogy használni kellene! Nos mint mindig itt a legfőbb gond az hogyan kapcsolódjunk az API-hoz. Persze öreg róka programozóknak ez nyilvánvaló, de a kezdőknek bele törik ám a bicskája rendesen!

Nos a lényeg hogy a kapott adatokat valahogy értelmezni kell. Az adatokat vagy xml vagy JSON formátumban kapjuk az API-tól. Szerintem egyszerűbb a JSON (bővebben itt olvashatsz erről) és egy alapos kis útmutató megmutatja neked itt hogyan teheted képessé processing vázlataidat kezelésére.
Nos nézzünk egy nagyon egyszerű példát. Hogyan tudjuk egy-egy keresés összes előfordulását megtalálni és szépen összevetni.

Nos ez valami ilyet produkált nálam:

Az apiKey változóba értelemszerűen írd be a saját api kulcsodat. A start és end date változókkal kijelölheted milyen időintervallumban keressen a tartalomban a programod. Remélem ennyi elég hogy ráérezz a dologra és legalább a példa programokat módosítgatod majd. Itt nincs jó vagy rossz megoldás. A cél itt szentesíti az eszközt! Ha van egy kérdésed amire a Guardian vagy az NY Times korpusza válaszolhat, akkor egy kis barkácsolással megtalálhatod azt!

Via: A New York Times és a Guardian API-k használata

181 Responses to A New York Times és a Guardian API-k használata

  1. Pingback: Buy viagra on line

  2. Pingback: cialis price costco

  3. Pingback: cialis on line

  4. Pingback: cialis 20 mg

  5. Pingback: Low cost canadian viagra

  6. Pingback: when does cialis go generic

  7. Pingback: generic cialis 2019

  8. Pingback: best over the counter ed pills

  9. Pingback: best ed pills at gnc

  10. Pingback: ed pills gnc

  11. Pingback: canada online pharmacy

  12. Pingback: Buy cialis online

  13. Pingback: vardenafil price

  14. Pingback: vardenafil 10mg

  15. Pingback: vardenafil pills

  16. Pingback: best online casinos that payout

  17. Pingback: play online casino real money

  18. Pingback: viagra sample

  19. Pingback: online casino real money us

  20. Pingback: casino slots

  21. Pingback: tadalafil canadian pharmacy

  22. Pingback: instant loans

  23. Pingback: instant loans

  24. Pingback: payday loans online

  25. Pingback: viagra for sale

  26. Pingback: betting sites in the world

  27. Pingback: play for real online casino games

  28. Pingback: best real money casinos

  29. Pingback: cialis 5 mg

  30. Pingback: marilyn

  31. Pingback: casinos online

  32. Pingback: new cialis

  33. Pingback: generic cialis

  34. Pingback: buy cialis

  35. Pingback: cialis internet

  36. Pingback: slots online

  37. Pingback: gambling games

  38. Pingback: best online casino

  39. Pingback: slot machines

  40. Pingback: viagra without a doctor prescription

  41. Pingback: viagra online prescription free

  42. Pingback: generic viagra canada

  43. Pingback: tadalafil cialis

  44. Pingback: cialis online

  45. Pingback: cialis dosage

  46. Pingback: cialis generic date

  47. Pingback: casino online real money

  48. Pingback: viagra online generic

  49. Pingback: play casino

  50. Pingback: how to order cialis online

  51. Pingback: Viagra 120 mg without prescription

  52. Pingback: Viagra 130 mg canada

  53. Pingback: Viagra 100 mg without prescription

  54. Pingback: cheap sildenafil

  55. Pingback: Viagra 150 mg otc

  56. Pingback: Viagra 200 mg online pharmacy

  57. Pingback: cialis coupon

  58. Pingback: where to buy Cialis 10mg

  59. Pingback: cheapest Cialis 40 mg

  60. Pingback: generic viagra

  61. Pingback: order viagra

  62. Pingback: where to buy Cialis 20mg

  63. Pingback: cheap cialis

  64. Pingback: buy cheap sildenafil

  65. Pingback: sildenafil 200 mg without a prescription

  66. Pingback: lasix 100 mg pills

  67. Pingback: how to purchase furosemide 100mg

  68. Pingback: propecia 1mg online

  69. Pingback: viagra generic

  70. Pingback: viagra price

  71. Pingback: lexapro 10mg online pharmacy

  72. Pingback: viagra

  73. Pingback: aldactone 25mg pills

  74. Pingback: cialis 10 mg tablet

  75. Pingback: order allopurinol 300 mg

  76. Pingback: viagra sans ordonnance livraison rapide

  77. Pingback: where can i buy strattera 25mg

  78. Pingback: best viagra alternative

  79. Pingback: cost of aricept 5mg

  80. Pingback: does generic cialis exist

  81. Pingback: atarax 25 mg australia

  82. Pingback: augmentin 875/125 mg online pharmacy

  83. Pingback: where can i buy avapro 150 mg

  84. Pingback: buying generic viagra online

  85. Pingback: avodart 0,5mg pills

  86. Pingback: baclofen 10 mg united states

  87. Pingback: bactrim 400/80mg cheap

  88. Pingback: buy cialis in australia

  89. Pingback: order Premarin 0,625mg

  90. Pingback: order cialis online

  91. Pingback: buy viagra

  92. Pingback: how to purchase cardizem 120 mg

  93. Pingback: viagra professional 100 mg

  94. Pingback: order catapres

  95. Pingback: how to buy ceclor

  96. Pingback: ceftin without prescription

  97. Pingback: how to buy celebrex

  98. Pingback: celexa over the counter

  99. Pingback: order cephalexin 500mg

  100. Pingback: order cipro 750 mg

  101. Pingback: claritin purchase

  102. Pingback: best real casino online

  103. Pingback: slot games

  104. Pingback: canadian pharmacy viagra

  105. Pingback: best online casinos that payout

  106. Pingback: casino world

  107. Pingback: slot games

  108. Pingback: real online casino

  109. Pingback: real online casino

  110. Pingback: real money casino games

  111. Pingback: online casino games real money

  112. Pingback: best slots to play online

  113. Pingback: general car insurance quotes

  114. Pingback: generic cialis

  115. Pingback: amica car insurance

  116. Pingback: order viagra online without prescription

  117. Pingback: aaa car insurance quotes reviews

  118. Pingback: car insurance florida

  119. Pingback: allstate car insurance quotes

  120. Pingback: car insurance specialists

  121. Pingback: best car insurance rates

  122. Pingback: generic cialis

  123. Pingback: car insurance quotes rates

  124. Pingback: car insurance florida

  125. Pingback: good to go car insurance quotes

  126. Pingback: personal loans company

  127. Pingback: midwest payday loans

  128. Pingback: Fda approved viagra

  129. Pingback: payday loans portland or

  130. Pingback: installment loans near me

  131. Pingback: get quick loans

  132. Pingback: bad credit loans no credit check

  133. Pingback: payday loans

  134. Pingback: personal loans for bad credit

  135. Pingback: viagra online reviews

  136. Pingback: cbd oil for cancer

  137. Pingback: the best cbd oil on the market

  138. Pingback: where can i buy amoxocillin

  139. Pingback: cbd oil 300mg

  140. Pingback: viagra pills india pharmacy

  141. Pingback: cheap sildenafil online no prescription

  142. Pingback: cbd oil for pain management

  143. Pingback: viagra online over the counter

  144. Pingback: cbd cannabis oil for sale

  145. Pingback: can you buy viagra in europe

  146. Pingback: cbd oil for sale in colorado springs

  147. Pingback: viagra pill in stores

  148. Pingback: generic viagra cost canada

  149. Pingback: can cbd oil help with pain?

  150. Pingback: cbd oil for cancer

  151. Pingback: cbd cannabis oil

  152. Pingback: personal loans

  153. Pingback: viagra cvs

  154. Pingback: assignments help

  155. Pingback: generic viagra prescription online

  156. Pingback: cheap essays

  157. Pingback: academic essay writing service

  158. Pingback: a manual for writers of term papers

  159. Pingback: homeworks of america

  160. Pingback: online homework

  161. Pingback: order viagra online australia

  162. Pingback: essay writing service australia

  163. Pingback: custom essay writing services reviews

  164. Pingback: free research paper writer

  165. Pingback: does money buy happiness essay

  166. Pingback: how to buy cleocin 300 mg

  167. Pingback: clomid 25 mg purchase

  168. Pingback: cheap viagra pills canada

  169. Pingback: clonidine united states

  170. Pingback: clozaril 100mg no prescription

  171. Pingback: Sale viagra

  172. Pingback: colchicine coupon

  173. Pingback: cost of cialis without insurance

  174. Pingback: symbicort inhaler cheap

  175. Pingback: how to buy combivent 50/20mcg

  176. Pingback: coreg no prescription

  177. Pingback: cialis

  178. Pingback: compazine 5 mg without a prescription

  179. Pingback: Buy viagra overnight delivery

  180. Pingback: cheapest coumadin

  181. Pingback: where to buy viagra locally

Comments are closed.