54
LATVIJAS UNIVERSITĀTE DATORIKAS FAKULTĀTE UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI BAKALAURA DARBS Autors: Matīss Rikters Studenta apliecības nr. mr08089 Vadītājs: Dr.dat. Uldis Bojārs RĪGA 2012

UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

Embed Size (px)

Citation preview

Page 1: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

LATVIJAS UNIVERSITĀTE

DATORIKAS FAKULTĀTE

UNIVERSĀLAS METODES

TWITTER DATU ANALĪZEI

BAKALAURA DARBS

Autors: Matīss Rikters

Studenta apliecības nr. mr08089

Vadītājs: Dr.dat. Uldis Bojārs

RĪGA 2012

Page 2: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

2

ANOTĀCIJA

Šī bakalaura darba mērķis ir izpētīt, kā tiek analizēti dati no sociālā tīkla Twitter un

atrast lietderīgākās metodes, kas palīdz šādus datus analizēt. Šajā darbā tiks apskatītas

metodes, risinājumi un rīki, kas varētu būt noderīgi jebkādas tematikas Twitter datu analīzei.

Darba gaitā, pielietojot apskatītās metodes un risinājumus, tiks izveidots un aprakstīts rīks

universālai Twitter datu analīzei.

Atslēgvārdi: sociālais tīmeklis, sociālie tīkli, Twitter, tīmekļa zinātne

Page 3: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

3

ABSTRACT

Universal methods for Twitter data analysis

The objective of this thesis is to explore how data from the Twitter social network can

be analyzed and to find the most useful methods that would help to analyze such data. This

thesis will describe the methods, solutions and tools that could be used for analyzing Twitter

data of any topic. In the course of the work a universal tool for analyzing Twitter data will be

developed using the methods described.

Keywords: social web, social networks, Twitter, web science

Page 4: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

4

ABSTRACT

Universal-Methoden zur Twitter-Datenanalyse

Der ziel dieses Bachelorarbeits ist es zu erforschen wie analysiert man Daten aus dem

sozialen Netzwerk Twitter und zu finden die nützlichsten Methoden die helfen würden diese

Daten zu analysieren. Dieser Bachelorarbeit wird die Methoden, Lösungen und Werkzeuge

beschreiben das könnten für die Analyse von Twitter-Daten von jedem beliebigen Thema

verwendet werden. Im Verlauf der Arbeit wird auch ein universelles Werkzeug für die

Analyse von Twitter-Daten entwickelt mit Hilfe dieser Methoden und beschrieben werden.

Stichwörter: Soziales Web, Soziales Netzwerk, Twitter, Web Wissensacht

Page 5: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

5

SATURS

APZĪMĒJUMU SARAKSTS.....................................................................................................6 IEVADS .....................................................................................................................................7 1. SOCIĀLAIS TĪMEKLIS....................................................................................................8

1.1. Twitter ........................................................................................................................8 2. PROBLĒMAS APRAKSTS.............................................................................................11 3. ESOŠIE TWITTER DATU ANALĪZES RĪKI ................................................................13

3.1. ThinkUp....................................................................................................................13 3.2. IMB BigSheets .........................................................................................................15 3.3. The Archivist ............................................................................................................17 3.4. TweetReach ..............................................................................................................19 3.5. Row Feeder...............................................................................................................21 3.6. Apkopojums .............................................................................................................23

4. PILOTPROJEKTS ...........................................................................................................24 4.1. Twitter datu vākšana.................................................................................................24 4.2. Datu apstrāde ............................................................................................................26 4.3. Rezultāti....................................................................................................................26 4.4. Secinājumi ................................................................................................................28

5. TWITTER ZIŅU APSTRĀDES PROCESS....................................................................29 5.1. Datu vākšana.............................................................................................................29 5.2. Datu priekšapstrāde ..................................................................................................30

5.2.1. Teksta attīrīšana................................................................................................30 5.2.2. Morfoloģiskā analīze ........................................................................................31 5.2.3. Tokenizācija......................................................................................................31 5.2.4. Twitter ziņas temata noteikšana .......................................................................31 5.2.4.1. Ar klasifikatoru.............................................................................................32 5.2.4.2. Pēc atslēgvārdiem.........................................................................................33 5.2.4.3. Tēmas izvēle no saraksta ..............................................................................33

5.3. Twitter ziņas analīze.................................................................................................33 5.3.1. Metadati ............................................................................................................33 5.3.2. Vārdi un Kolokācijas ........................................................................................34 5.3.3. Atslēgvārdu efektivitāte....................................................................................34 5.3.4. Emotikoni .........................................................................................................35

6. UNIVERSĀLS TWITTER DATU ANALĪZES RĪKS....................................................36 6.1. Prasību specifikācija .................................................................................................37

6.1.1. Funkcionālās prasības.......................................................................................37 6.1.2. Ārējās saskarnes prasības .................................................................................40

6.2. Projektējuma apraksts...............................................................................................41 6.2.1. Saskarnes projektējums ....................................................................................41 6.2.2. Algoritmu projektējums....................................................................................45

6.3. Rīka testēšana ...........................................................................................................46 6.4. Salīdzinājums ar esošajiem rīkiem ...........................................................................48

SECINĀJUMI ..........................................................................................................................50 PATEICĪBAS ...........................................................................................................................51 IZMANTOTĀ LITERATŪRA ................................................................................................52

Page 6: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

6

APZĪMĒJUMU SARAKSTS

Apzīmējums Skaidrojums

API Application Programming Interface (angļu val.).

Lietojumprogrammu programmēšanas interfeiss – noteikts

likumu un specifikāciju kopums, ar kuru palīdzību

lietojumprogrammas var komunicēt viena ar otru.

Haštags Hashtag (angļu val.).

Birka jeb vārds vai frāze, kas sākas ar simbolu #. Parasti apzīmē

kādu konkrētu tēmu, kas piemīt tvītam.

NLP Natural Language Processing (angļu val.).

Virziens, kas pēta datora mijiedarbību ar cilvēka dabisko valoda,

dotajā kontekstā, analizēt cilvēku rakstītos tekstus.

Tvīts Tweet (angļu val.).

140 simbolus gara ziņa Twitter sociālajā tīklā.

Twitter Mikroblogošanas sociālais tīkls, kurā cilvēki var rakstīt īsas

ziņas jeb tvītus.

URL Uniform Resource Locator (angļu val.).

Simbolu virkne, kas satur standartizētu resursa adresi Internetā.

Page 7: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

7

IEVADS

Pieaugot sociālo tīklu, kā, piemēram, Twitter, Facebook un Google+, popularitātei,

cilvēki tajos atstāj arvien pieaugošu daudzumu dažādas informācijas. Pavisam nesen Twitter

reģistrēto lietotāju skaits sasniedza 500 miljonus lietotāju un Facebook – 800 miljonus [5],

kamēr Google+ reģistrēto lietotāju skaits ir ap 90 miljoniem [6]. Lai gan daļa šo datu ir nekam

nederīgi jeb tā saucamie trokšņi, tomēr tajos netrūkst arī noderīgas informācijas par

visdažādākajām tēmām, saišu uz citām interesantām lapām, saturīgu birku, atsauču uz citiem

lietotājiem un citas informācijas, kas varbūt no pirmā acu uzmetiena nav tik acīmredzami

lietderīga.

Paņemot pietiekami lielu daudzumu šādas vairāk vai mazāk saturīgas informācijas un to

izanalizējot, var atklāt iepriekš neievērotas pazīmes par konkrēto ziņu tēmu, piemēram, vācot

savu draugu tvītus par ēšanu, spilgti izcēlās, cik daudz kāds tvīto par kūkām, cits par kafiju.

Šādā veidā var arī izpētīt, kā interneta vidē uzvedas kādi konkrēti ziņu autori. Neapšaubāmi,

tas noderētu dažādiem uzņēmumiem, lai pavērotu, ko par tiem runā tauta, kā arī valsts

iestādēm, kam, iespējams, vajadzīgi kādi statistiski dati. Tikpat labi arī vienkāršiem mājas

lietotājiem var sagribēties pasekot līdzi, ko par kādu notikumu vai vietu runā citi, piemēram,

par politiku pirms vēlēšanām.

Šajā darbā plānots izpētīt paņēmienus, ar kādiem līdzīgas iespējas tiek nodrošinātas

pašlaik, un arī atrast vēl citus, iespējams, labākus veidus, kā analizēt Twitter ziņu datus. Galu

galā, liekot lietā apskatītās metodes, izveidot universāli pielietojamu Twitter datu analīzes

rīku.

Page 8: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

8

1. SOCIĀLAIS TĪMEKLIS

Sākotnējā tīmekļa versija jeb tā saucamais WEB 1.0 tika izstrādāta tā, ka tikai augsta

ranga profesionāļi spēja tajā ievietot saturu un viss, uz ko bija spējīgi parastie mājas lietotāji,

bija tikai šo saturu apskatīt. Pie tam, šis saturs pārsvarā bija tikai tekstuāla informācija ar

samērā maz attēliem, video un audio informāciju. Tajā bija vairākas problēmas – ierobežots

satura daudzums, ierobežotas cilvēku radošās izpausmes, arī ierobežotas biznesa izplešanās

iespējas. Tāpēc, lai risinātu šīs problēmas, lēnām sāka rasties WEB 2.0 jeb sociālais tīmeklis,

kas ir balstīts uz lietotāju pašu radītu saturu internetā [1]. Sociālais tīmeklis sastāv no daudzo

interneta lietotāju savstarpējām attiecībām plašajā tīmekļa vidē. Tas ietver visas interneta

mājas lapas un programmatūru, kas atbalsta un veicina sociālās mijiedarbības starp to

lietotājiem. Kā piemērus varētu minēt sociālo tīklu mājas lapas, dažādas interneta spēles,

atsevišķus interneta veikalus. Viens no galvenajiem šādu lapu aspektiem ir sekmēt

mijiedarbību starp cilvēkiem ar līdzīgām interesēm, kā arī palīdzēt tiem atrast lietas, kas viņus

varētu interesēt, būt noderīgas. Lēnām un ne tik uzkrītoši sāk pilnveidoties arī nākamā – trešā

tīmekļa versija (WEB 3.0), kas balstīta uz nozīmes piešķiršanu saražotajiem datiem

(semantisko tīmekli) un personalizāciju [2].

Palielinoties interneta lietotāju skaitam, palielinās arī viņu aktivitātes tīmeklī un līdz ar

to arī šo cilvēku savstarpējās attiecības internetā paliek arvien uzskatāmākas un pieejamas citu

apskatei. Mūsdienās simtiem miljonu interneta lietotāju ir virtuāli saistīti ar saviem draugiem

vai veido jaunas draudzības, veido un dalās ar dažādu internetā izvietojamu saturu –

fotogrāfijām, video, mājas lapām, blogiem. Tas viss pateicoties sociālā tīmekļa sniegtajām

iespējām. Tieši šis lietotāju radītais saturs (user generated content) šobrīd ir viena no straujāk

augošajām satura formām internetā. Labums tajā ir tas, ka lietotāju radītais saturs ir pavisam

neparedzams. Tomēr to var izmantot, lai prognozētu citas lietas, kā, piemēram, analizējot

Twitter lietotāju nosakņojumu bijis iespējams diezgan precīzi prognozēt izmaiņas akciju tirgū

[7].

1.1. Twitter

Viens no mūsdienu sociālā tīmekļa gigantiem ir sociālais tīkls Twitter. Twitter ir

mikroblogošanas platforma, kurā lietotāji var dalīties ar tekstuālām ziņām garumā līdz 140

rakstu zīmēm jeb tā saucamajiem tvītiem. Tas tika izveidots un palaists darbībā 2006. gada

vasarā. Šobrīd tas ir sasniedzis ļoti ietekmīga medija statusu ar vairāk kā 500 miljoniem

reģistrētu lietotāju, no kuriem vairāk kā 140 miljoni ir aktīvi lietotāji, kuri ik dienu saraksta

vairāk kā 340 miljonus tvītu [8]. Twitter ir savas apkārtnes izpratnes līdzeklis, kas ļauj sekot

Page 9: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

9

līdzi notikumiem citu cilvēku, zīmolu, slavenību jaunumiem, un uzzināt svaigākās ziņas no

ziņu portāliem vai firmām. Tikpat labi Twitter ir informācijas apraides līdzeklis, lai lietotāji

varētu citiem sniegt informāciju ar tvītu palīdzību, vai saziņas instruments, ļaujot lietotājiem

vienam otram atbildēt, uzsākt dialogus, polilogus. Tā kā tvīti, atšķirībā no ziņām citos

sociālajos tīklos, ir tik īsi, tos bieži vien ir iespējams viennozīmīgi interpretēt un līdz ar to arī

kopumā vienkāršāk analizēt.

Viena liela Twitter atšķirība no citiem tīkliem ir tā, ka tajā starp lietotājiem pastāv viena

virziena saites. Respektīvi – tur nav obligātas abpusējas draudzības, kā, piemēram, Facebook

draudzības, kur Jānis ir Pētera draugs un Pēteris ir Jāņa draugs, bet tā vietā vienpusēja

sekošana citiem lietotājiem, kur, ja Pēteris seko Jānim, tas nenozīmē, ka Jānis obligāti seko arī

Pēterim. Citiem vārdiem sakot, Twitter lietotāju savstarpējās saites ir vienvirziena jeb

asimetriskas. Līdz ar to rodas nevis viens konkrēts skaits ar draugiem, bet gan lietotāji, kuri

seko (followers) un lietotāji, kuriem tiek sekots (following).

1.1. att. Twitter ziņa

Twitter sfērā ir arī savi īpašie jēdzienu apzīmējumi. Līdzās jau iepriekš minētajam

tvītam, par kuru tiek dēvēta katra 140 zīmju garā ziņa, ir arī tādi apzīmējumi kā retvīts,

haštags, DM un reply. Retvīts ir kāda cita autora tvīta pārpublicēšana saviem sekotājiem.

Tvīti tiek pārpublicēti vai nu ar pogas „Retweet” palīdzību, vai arī, pārkopējot oriģinālā autora

tvītu un tam priekšā pierakstot savu komentāru, ja ir vieta, un lielos burtus „RT”, kas apzīmē

„ReTweet”. Par haštagu jeb latviski birku tiek dēvēti vārdi, kas tvītā sākas ar „#” simbolu.

Birkas parasti tvītos lieto, lai identificētu kādu konkrētu tēmu, notikumu vai pasākumu.

Birkas arī atvieglo pārējiem Twitter lietotājiem momentā atrast citus tvītus ar tādu pašu birku,

uz tā uzklikšķinot. DM jeb direct message ir privāta vēstule no viena lietotāja otram, kas arī

drīkst būt maksimāli 140 simbolus gara. DM iespējams sūtīt tikai saviem sekotājiem.

Visbeidzot reply jeb atbilde ir tvīts, kurā tiek atbildēts uz kādu citu tvītu.

Page 10: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

10

Twitter sociālais tīkls tāpat kā daudzi citi piedāvā lietot arī API saviem servisiem.

Twitter piedāvā divus API veidus – REST API un Streaming API [9]. Twitter REST API

piedāvā līdzekļus darbam ar jau esošajiem datiem, turpretim Streaming API palīdz strādāt ar

reālā laikā dabūjamiem tvītiem. Ar REST API var gan meklēt un iegūt jau uzrakstītos tvītus,

gan arī iegūt informāciju par pašiem lietotājiem. Tomēr meklēšanas rezultātus var iegūt tikai

par tvītiem, kas rakstīti pēdējo sešu līdz deviņu dienu periodā. Streaming API ir domāts, lai

pēc atbilstības noteiktiem atslēgvārdiem vai kādam citam kritērijam ievāktu reālajā laikā

uzrakstīto tvītu plūsmu. Tieši šī API, kā arī lielā skaita samērā īso teksta ziņu dēļ Twitter ir

ļoti pateicīgs datu ievākšanai un analizēšanai.

Page 11: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

11

2. PROBLĒMAS APRAKSTS

Ideja radīt universāli izmantojamu Twitter datu analīzes rīku radās 2011. gada rudens

specsemināra Web Science ietvaros. Šī semināra laikā arī tika sākts darbs pie Twitter datu

analīzes pilotprojekta (4. nodaļa) ar nosaukumu „TwitĒdiens”1. TwitĒdiena tēma ir Twitter

dati par ēšanu un ēdieniem. Tas nepārtraukti ievāc tvītus, izmantojot Twitter Streaming API

[9], analizē tos un atspoguļo rezultātus tīmekļa vietnē un Nokia Belle telefoniem paredzētā

lietojumprogrammatūrā. Tas izrādījās ļoti interesants projekts un ļāva apstiprināt vairākus jau

iepriekš nojaušamus faktus – uz ziemu popularitāte pieauga mandarīniem, tā arī uz šo to, kas

nebija uzreiz tik acīmredzams – tējai un šokolādei ir lielāka popularitāte kā kafijai. Praktiski

uzreiz pēc šī servisa palaišanas parādījās pieprasījums no vairākiem lietotājiem par līdzīgu

rīku izveidi par viņiem aktuālām tēmām, kā, piemēram, par politiku, foto, mūziku un citām.

Tas vēl jo vairāk liecināja par universāla Twitter datu analīzes rīka nepieciešamību. Problēma

ir, ka šobrīd nav atrodama universāla lietojumprogrammatūra, kura pilnībā apmierinātu visas

lietotāju, kuri iemēģināja pilotprojektu, prasības. Šīs prasības iekļauj:

1. Informācijas ievākšanu no Twitter

• Ievākšanu reālā laikā no Twitter plūsmas – meklēšanas rezultāti ir vairāk vai mazāk

statiski, taču reālā laika plūsma ir dinamiska. Pie tam Twitter mēdz filtrēt [1017]

meklēšanas rezultātus, turpretim Twitter plūsma netiek filtrēta.

• Par jebkādiem atslēgvārdiem – tā kā Twitter ļauj tvītu ievākšanā norādīt līdz pat 400

dažādiem atslēgvārdiem, būtu noderīgi šo ierobežojumu apzināties un ievākšanu veikt

pēc vairāk kā tikai viena atslēgvārda.

• Iespēju ātri un ērti ievāktos datus eksportēt – daļai lietotāju galvenais ir ērtā veidā tikt

pie strukturētiem datiem, kurus pēc tam paši varētu analizēt vai kā citādi izmantot.

2. Pēc iespējas plašāku un sīkāku ievākto datu analīzi

• Citviet jau bieži pielietotās metodes

o Tvītu skaita izmaiņas kādā laika periodā – ja tvīti tiek vākti ilgāku laiku, vienmēr

ir interesanti paskatīties, kuros brīžos to skaits pieaudzis visvairāk.

o Tvītos biežāk pieminēto vārdu, lietotājvārdu, birku analīze – bieži vien, vācot pēc

konkrēta atslēgvārda, visos ievāktajos tvītos sastopams ne vien šis atslēgvārds bet

arī citi vārdi, birkas, kas apraksta konkrēto tēmu.

• Kā arī varbūt ne tik plaši pielietotās

1 http://www.twitediens.tk

Page 12: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

12

o Tvītu attēlošana uz kartes – ja tiek savākts pietiekams daudzums tvītu, tad var arī

ievērot, ka daļa to autoru ir norādījuši savu atrašanās vietu un tos var attēlot uz

kartes.

o Tvītu metadatu analīze – katram tvītam līdzi nāk arī kaudze dažādu metadatu, kas

to apraksta un kurus ir vērtīgi apskatīt sīkāk.

o Tvītos sastopamo emotikonu analīze – emotikoni apraksta tvīta autora

emocionālo nostāju, līdz ar to pēc tiem var secināt kaut vai, cik priecīgi vai bēdīgi

ir tvītotāji.

o Meklēšanā izmantoto atslēgvārdu analīze – ja tvīti tika ievākti pēc vairākiem

atslēgvārdiem un garā laika periodā, noteikti ir vērts paskatīties, kuri no

atslēgvārdiem bijuši visražīgākie.

3. Ērti iegūstamu un lietojamu rīku

• Bezmaksas – ne visi var atļauties iegādāties dārgas licences.

• Atvērtā pirmkoda – tāpēc, lai citi varētu to uzlabot, papildināt, pielāgot savām

specifiskajām vajadzībām.

• Lietotājam draudzīgu – tādu, lai to varētu izmantot ne vien speciāli apmācīti cilvēki,

bet arī parasti mājas lietotāji, kurus pēkšņi ieinteresējusi kāda tēma.

• Viegli uzstādāmu, pielāgojamu – bez striktām un grūti realizējamām augstām

operētājsistēmu, programmatūras vai aparatūras prasībām.

Par šī darba mērķi tika izvirzīts izzināt dažādus paņēmienus, kā darboties ar Twitter

datiem, tos apstrādāt, analizēt un attēlot lietotājam viegli saprotamā veidā. Darba plānā ietilpst

arī realizēt praktiski izpētītās metodes, uzbūvējot Twitter datu analīzes platformu, kas atbilst

arī visām izteiktajām prasībām.

Page 13: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

13

3. ESOŠIE TWITTER DATU ANALĪZES RĪKI

Šobrīd tīmeklī ir atrodami dažādi tvītu analīzes rīki – katrs gan ar vispārīgām, gan tikai

sev raksturīgām īpašībām. Daži ir bezmaksas, citi maksas, vēl pāris ir ar bezmaksas pamata

iespējām un plašākām maksas iespējām. Taču tādu, kas kaut daļēji atbilst šī darba izvirzītajai

problēmai, ir samērā maz. Šajā nodaļā tiek apskatīti pāris tuvākie atrastie šādu rīku kandidāti.

Salīdzinājumam tika izvēlēti pieci rīki – ThinkUp, IBM BigSheets, The Archivist

TweetReach un Row Feeder. Izvēlēti tieši šie pieci, jo tie spēj iespējami vairāk tuvoties

izvirzītās problēmas risinājumam. Tie tiks salīdzināti pēc šādiem kritērijiem:

• Cena – bezmaksas vai par kādu summu. Lieliem uzņēmumiem varētu arī nebūt

problēma samaksāt, bet parastais mājas lietotājs naudiņu drīzāk pažēlos;

• Vide - Tīmeklis, Windows, Linux, utt. Visērtākā vide neapšaubāmi ir tīmeklis, jo

tīmekļa pārlūks ir pieejams gandrīz katrā ar internetu savienojamā ierīcē (datorā,

telefonā, planšetē);

• Vai ir atvērtā pirmkoda risinājums – iespēja apskatīt pirmkodu liela priekšrocība

tiem, kas vēlas izveidot ko līdzīgu vai arī saprast, kā tieši darbojas konkrētā

programmatūra;

• Vai ievāc reālā laika datus – tā kā meklēšanā esošie dati tiek filtrēti, pilnvērtīgāka

informācija iegūstama no Twitter plūsmas;

• Vai ir iespēja eksportēt datus – lai arī cik bagātas nebūtu katra rīka analīzes

metodes, noderīga būtu spēja eksportēt datus kādā vispāratzītā formātā, lai ar tiem

būtu iespējams strādāt arī citviet;

• Analīzes metodes;

• Tipiskais pielietojums – kādiem lietotājiem un nolūkiem rīks paredzēts;

• Priekšrocības;

• Trūkumi.

3.1. ThinkUp

ThinkUp2 ir bezmaksas atvērtā pirmkoda tīmekļa lietojumprogramma, kas uzkrāj

iepriekš autentificēta lietotāja datus no sociālajiem tīkliem Twitter, Facebook un Google+

lokālā datu bāzē un ik pēc kāda noteikta laika perioda tos atjaunina. ThinkUp šos datus

atspoguļo pārskatāmos grafikos un diagrammās, kas palīdz saskatīt jēgu lietotāju sociālo tīklu

darbībās.

2 http://thinkupapp.com

Page 14: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

14

Thinkup ir paredzēts kā lielām organizācijām, kam ir aktuāli uzzināt par savu biznesu

sociālajos tīklos, tā arī aktīviem sociālo tīklu lietotājiem, kuri vēlas dziļāk izpētīt savas

darbības tīmeklī.

Attēlā 5.1. redzama ThinkUp darbvirsma (Dashboard), kurā tiek grafiski attēlotas

jaunākās darbības, sekotāju izmaiņa pa dienām un pa nedēļām, Twitter klientu pielietojuma

sadalījums un ziņu tipi. Katru no tām sadaļām var apskatīt arī tuvāk. Sīkāk izpētāma ir arī

ziņu sadaļa (Tweets), draugu sadaļa (Who You Follow) un saišu sadaļa (Links). Ja ziņās ir

pieejami dati par atrašanās vietu, tad ThinkUp arī tiem spēj izveidot vizualizāciju un attēlot uz

kartes.

3.1. att. ThinkUp darbībā

Salīdzinājums pēc kritērijiem:

3.1. tabula

ThinkUp novērtējums

Kritērijs Vērtība

Cena Bezmaksas

Vide Tīmekļa programmatūra

Atvērtā pirmkoda risinājums Jā

Spēja vākt reālā laika datus Nē

Page 15: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

15

Iespēja eksportēt datus Jā

Analīzes metodes • Analizē lietotāja aktivitāti sociālajos tīklos un attēlo

to grafikos.

• Spēj attēlot citu lietotāju atbildes uz ziņām kartē.

• Ļauj meklēt tvītos un eksportēt tos kā .csv failu.

Tipiskais pielietojums Personīgā konta pārskats

Priekšrocības • Sākuma skatā jeb darbvirsmā (Dashboard) ērti

pārskatāmas svarīgākās pēdējā laika aktivitātes.

• Spēj analizēt ne vien Twitter, bet arī Facebook un

Google+.

Trūkumi • Analizē tikai autentificētā lietotāja datus.

• Twitter ziņas tekstu sīkāk neanalizē, vienīgi atpazīst,

kuras ziņas bijušas jautājumi.

ThinkUp ir diezgan ērti lietojams, iespējām bagāts un kopumā patīkams rīks, kuru

iespējams lietot dažādiem nolūkiem. Fakts, ka ThinkUp pirmkods ir visiem brīvi apskatāms,

padara to vēl jo patīkamāku citiem programmatūras izstrādātājiem. Taču tā viens lielais

trūkums – spēja vākt tikai autentificētā lietotāja datus - varētu būt pietiekams iemesls

neizvēlēties ThinkUp un tā vietā meklēt citu risinājumu.

3.2. IMB BigSheets

IBM BigSheets [11] tīmekļa lietojumprogrammatūra ar gan bezmaksas, gan arī maksas

versiju. IBM BigSheets izmanto Apache Hadoop [12] ietvaru, lai veiklāk spētu operēt ar

lieliem strukturētu un arī nestrukturētu datu apmēriem. Kā vienu no strukturētu datu

piemēriem IBM BigSheets spēj analizēt arī Twitter datus.

Page 16: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

16

3.2. att. IBM BigSheets darbībā

Salīdzinājums pēc kritērijiem:

3.2. tabula

IBM BigSheets novērtējums

Kritērijs Vērtība

Cena Pamata versija pieejama bez maksas

Vide Tīmekļa programmatūra (nepieciešama vai nu Red Hat

Enterprise Linux vai SUSE Linux Enterprise Server servera

operētājsistēma)

Atvērtā pirmkoda risinājums Nē

Spēja vākt reālā laika datus Jā

Iespēja eksportēt datus Jā

Analīzes metodes • Piedāvā pievienot spraudņus, kas spēj analizēt

valodu, tajā skaitā – sentimentu.

• Kopā ar IBM Many Eyes vai kādu citu spraudni

izveido datiem dažādas vizualizācijas, kā, piemēram,

birku mākoni.

Tipiskais pielietojums Biznesa izpēte

Priekšrocības • Kopā ar spraudņiem ļoti plašas un spēcīgas iespējas.

• Spēj tikt galā ar ļoti lieliem datu daudzumiem.

• Spēj ložņāt arī pa tīmekļa lapām vai ielādēt

Page 17: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

17

analizējamos datus no datora.

Trūkumi • Diezgan sarežģīti uzstādīt.

• Samērā neērta lietošana - ar datiem jādarbojas kā ar

izklājlapām.

Tā kā IBM BigSheets ir nopietns biznesa rīks, tas noteikti nebūs piemērots visiem. Pat

tad, kad tas ir veiksmīgi uzstādīts, lietošana nav ļoti patīkama, it īpaši bez papildus

spraudņiem. Lai gan kopumā spēcīgs, IBM BigSheets tomēr nebūs rīks ko izvēlēsies parastais

mājas lietotājs vai pat neliels uzņēmums, kuram nav darīšanas ar milzīgiem datu apjomiem.

3.3. The Archivist

The Archivist3 ir serviss, kas arhivē Twitter ziņas, kuras tas iegūst, meklējot pēc

atslēgvārdiem, izmantojot Twitter Search API. Savākto ziņu arhīvu tas ļauj saglabāt datorā

dažādos formātos, kā arī izanalizēt un attēlot rezultātus viegli uztveramās vizualizācijas. The

Archivist var lietot kā tīmekļa programmu vai Windows programmu.

3.3. att. The Archivist Windows versija

3 http://archivist.visitmix.com/

Page 18: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

18

3.4. att. The Archivist tīmekļa versija

Salīdzinājums pēc kritērijiem:

3.3. tabula

The Archivist novērtējums

Kritērijs Vērtība

Cena Bezmaksas

Vide Pieejama gan tīmekļa programmas versija, gan Windows

versija.

Atvērtā pirmkoda risinājums Nē

Spēja vākt reālā laika datus Nē

Iespēja eksportēt datus Jā (tikai Windows versijā)

Analīzes metodes • Windows versijā grafiski attēlo ziņu skaitu laika gaitā

un aktīvākos lietotājus.

• Tīmekļa versijā ziņas izanalizē plašāk, tajā skaitā arī

nedaudz no paša ziņas teksta.

• Arhīvu iespējams saglabāt kā XML vai teksta failu.

Tipiskais pielietojums Statistikas izpēte

Priekšrocības • Dažu sekunžu laikā uzkrāj un izanalizē pēdējā laika

tvītus par ievadītajiem atslēgvārdiem.

• Attēlo rezultātus sešos (tīmekļa versijā) vai divos

Page 19: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

19

(Windows versijā) pārskatāmos grafikos.

Trūkumi • Windows versijā attēlo ļoti maz rezultātus.

• Tīmekļa versija analizē samērā maz no ziņas teksta –

tikai populārākos vārdus. Windows versija vispār

neanalizē pašu tekstu.

Ar The Archivist ļoti īsā laika periodā iespējams tikt pie pieklājīga datu apjoma un laika

gaitā to vēl papildināt. Ir viegli darboties gan ar tīmekļa versiju, kura piedāvā vairākus

analīzes skatus savāktajiem datiem, gan ar Windows versiju, kurai analīzes iespēju ir mazāk,

taču, kura piedāvā eksportēt savāktos datus dažādos formātos. Diemžēl šim rīkam trūkst

iespējas vākt reālā laika datus, bet, neskatoties uz to, tas varētu būt lietotājiem pievilcīgāks kā

divi iepriekš apskatītie.

3.4. TweetReach

TweetReach4 ir serviss, kas izanalizē Twitter ziņas un sagatavo par tām atskaites. Tas

spēj uzkrāt ziņas vai nu tās meklējot ar Twitter Search API (bezmaksas) vai arī ievācot reālā

laika ziņas ar Twitter Streaming API (par samaksu). TweetReach galvenokārt ir paredzēts, lai

atspoguļotu ziņu sniegumu (reach) pēc meklējamā atslēgvārda jeb to, cik daudzi lietotāji

varētu būt šīs ziņas izlasījuši. Papildus tam TweetReach arī atspoguļo ietekmīgākos Twitter

kontus un jaunākās ziņas par konkrēto tēmu. Šis rīks ļauj ērti sekot līdzi uzņēmumu

mārketinga kampaņām, sekot līdzi kādam zīmolam vai notikumam, vai vienkārši papētīt kāda

atslēgvārda efektivitāti Twitter sociālajā tīklā.

4 http://tweetreach.com

Page 20: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

20

3.5. att. TweetReach darbībā

Salīdzinājums pēc kritērijiem:

3.4. tabula

TweetReach novērtējums

Kritērijs Vērtība

Cena Pamata versija pieejama bez maksas, PRO versija sākot no

$84 mēnesī

Vide Tīmekļa programmatūra

Atvērtā pirmkoda risinājums Nē

Spēja vākt reālā laika datus Jā (PRO versijā)

Iespēja eksportēt datus Jā

Analīzes metodes • Uzskaita iespējamo ziņas ekspozīciju skaitu, kā arī

lietotājus ar lielāko ietekmi par tēmu, visvairāk

Page 21: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

21

pārpublicētās ziņas

• Attēlo tvītu skaita izmaiņu laika gaitā

Tipiskais pielietojums Statistikas izpēte / Biznesa izpēte

Priekšrocības • Piedāvā atskaites saglabāt kā Excel vai PDF

dokumentus.

• Par nelielu samaksu piedāvā arī bezmaksas (ne PRO)

lietotājiem saglabāt pilna izmēra atskaiti – līdz 1500

ziņām.

Trūkumi • Bezmaksas versijā apskata tikai 50 jaunākās ziņas.

• Lai vāktu reālā laika datus, arī jāmaksā.

TweetReach bezmaksas versija labi ilustrē savāktos datus un ar to ir ērti darboties, bet

tā kā tajā tiek apskatīti tikai 50 jaunākie tvīti, lielas jēgas no tās nav, tāpēc lietotājiem tiešām

lietderīga ir tikai PRO versija. Tā kā par PRO versiju ir jāmaksā, tā noteikti nederēs ikvienam,

tomēr pat nelielie uzņēmumi būtu spējīgi iegādāties lētāko no TweetReach PRO versijām.

3.5. Row Feeder

Row Feeder5 ir serviss, ievāc datus no Twitter plūsmas un uzģenerē par tiem atskaites.

Tam ir Bezmaksas iespēja ievākt līdz 500 tvītiem mēnesī ar vienu atslēgvārdu un par maksu

arī vairāk. Tomēr tā kā 500 tvītu mēneša laikā ir diezgan maz, tas, iespējams, paredzēts tikai

kā maksas produkts. Pie tam ļoti populārus atslēgvārdus šajā servisā bezmaksas versijā nav

iespējams vākt, piemēram, ievadot atslēgvārdu „android” vai „blackberry”, Row Feeder

paziņoja, ka šī vārda vidējais ziņu daudzums stundā ir pārāk liels, lai to vāktu bezmaksas

versijā. Papildus Twitter, šobrīd beta testa versijā Row Feeder piedāvā ievākt datus arī no

Facebook.

5 https://rowfeeder.com

Page 22: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

22

3.6. att. Row Feeder darbībā

Salīdzinājums pēc kritērijiem:

3.5. tabula

Row Feeder novērtējums

Kritērijs Vērtība

Cena Pamata versija pieejama bez maksas, PRO versija - sākot no

$35 mēnesī.

Vide Tīmekļa programmatūra

Atvērtā pirmkoda risinājums Nē

Spēja vākt reālā laika datus Jā

Iespēja eksportēt datus Jā

Analīzes metodes • Tvītu skaita laika gaitā attēlošana.

• Sarunu analīze starp tvītotjiem.

• Atrašanās vietas analīze.

• Vairāku atslēgvārdu salīdzināšana.

• Ietekmes analīze (ar datiem no Klout6)

Tipiskais pielietojums Statistikas izpēte / Biznesa izpēte

Priekšrocības • Piedāvā atskaites saglabāt kā Excel dokumentus.

• Bezmaksas ievācamo tvītu skaitu iespējams

papildināt, piesaistot citus lietotājus.

Trūkumi • Bezmaksas versijā ļauj ievākt tikai 500 ziņas mēnesī

un tikai pēc viena atslēgvārda.

6 http://www.klout.com

Page 23: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

23

• Atskaites pieejamas tikai Excel dokumentu formā un

nekā citādi.

Row Feeder ir diezgan līdzīgs TweetReach, tomēr tas dod vairāk iespējas bezmaksas

lietotājiem – ērtā veidā vākt tvītus pēc kāda viena atslēgvārda un sagatavot dažādas analīzes

atskaites. Arī PRO versija, kas sniedz iespēju vākt lielākus datu apjomus, Row Feeder ir

lētāka nekā TweetReach. Tomēr Row Feeder piedāvā tikai vienu faila formātu, kas varētu

traucēt citiem lietotājiem apskatīt analīzes rezultātus.

3.6. Apkopojums

No pieciem apskatītajiem rīkiem visērtākais, lietošanai patīkamākais un iespējām

bagātākais izrādījās ThinkUp. Tas bija arī vienīgais, kuram ir atvērtais pirmkods. Tomēr

ThinkUp ir viens ļoti vērā ņemams ierobežojums – tas vāc tikai konkrētu autentificētu

lietotāju datus un nespēj ievākt datus no Twitter meklēšanas un Twitter plūsmas. Datu

ievākšana no plūsmas tiek realizēta tikai IBM BigSheets, TweetReach (maksas versijā) un

Row Feeder, kuri bezmaksas lietotājiem piedāvā samērā maz iespēju. Visiem apskatītajiem

rīkiem bija iespēja eksportēt datus. Tiem arī bija dažādi izanalizēti skati uz datiem, kas tomēr

kopumā bija vairāk vai mazāk līdzīgi.

Lietotājiem, kuriem pietiek ar meklēšanā atrodamajiem rezultātiem un kuri vēlas

bezmaksas produktu, ieteicams izmantot The Archivist, jo, to lietojot, ļoti ātri var tikt pie

pietiekami liela apjoma datiem un tos arī ērti pārskatīt. Tiem, kuri vēlas bezmaksas datus no

Twitter plūsmas, jālieto Row Feeder ar ierobežojumiem. No maksas produktiem labākie ir

TweetReach un Row Feeder, jo, atšķirībā no trešā maksas rīka – IBM BigSheets, šie divi bija

gan vienkāršāk lietojami, gan iebūvētajām iespējām bagātāki.

Tā kā visiem šiem rīkiem tika konstatēti vai nu trūkumi vai arī neatbilstība kādam no

izvirzītajiem kritērijiem, tomēr ir nepieciešams izveidot spēcīgu, universālu un visaptverošu

Twitter analīzes rīku, kas pārklāj visas prasības.

Page 24: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

24

4. PILOTPROJEKTS

Pirms ķeršanās pie universāla Twitter analīzes rīka izstrādes, lai izmēģinātu minētās

vispārīgās analīzes metodes un saprastu, ko ar tām var iegūt, tika izstrādāts neliels

pilotprojekts ar nosaukumu „TwitĒdiens”. Tas ir balstīts uz tvītu vākšanu par vienu konkrētu

tēmu – ēšanu.

4.1. Twitter datu vākšana

Tvīti tiek vākti pēc atslēgvārdiem, par kuriem galvenokārt tika izvēlēti latviešu valodā

biežāk lietotie darbības vārdi, kas raksturo ēšanas procesu. Tie nav saistīti ar konkrētu ēdienu

un aptver plašāku meklējamo tvītu kopu nekā, ja tvītu vākšanā tiktu izmantots ierobežots

skaits ar atslēgas vārdiem, kas ir ēdienu nosaukumi.

Ziņu vākšana notiek ar php programmu, izmantojot Twitter Streaming API metodi

‘statuses/filter’ [9].

Par katru ziņu tiek ievākti un datubāzē ierakstīti šādi dati:

• ziņas ID;

• atrašanās vietas nosaukums, ja tāds ir;

• ziņas saturs;

• ziņas autora lietotājvārds;

• ziņas datums un laiks;

• ziņas noskaņojums.

Tas nav gluži viss, ko piedāvā Twitter par katru ziņu, bet konkrēti šie dati šķita noderīgākie

tālākai analīzei.

Pievienojot ziņu datubāzei, tam arī tiek noteikta sentimenta (noskaņojuma) klasifikācija

– pozitīvs, negatīvs vai neitrāls – ar uClassify [13] teksta autora noskaņojuma klasifikatoru.

Klasifikators tika izveidots un uztrenēts speciāli šim projektam.

Ievākšanas brīdī katra ziņa tiek sadalīta pa vārdiem un katrs vārds tiek pārbaudīts, vai tāds

vārds jau atrodas vārdu datubāzē un vai tas ir nomarķēts kā ēdiens/dzēriens. Ja tāds vārds

datubāzē ir atrodams (no kāda cita tvīta) un tas ir marķēts kā ēdiens/dzēriens, tad ievāktais

vārds arī tiek pievienots datubāzei kopā ar tvīta ID, kurā tas atrasts, un arī nomarķēts kā

ēdiens / dzēriens. Ja tāds vārds ir datubāzē, bet nav marķēts kā ēdiens/dzēriens, tas netiek

pievienots. Ja šāda vārda vēl nav datubāzē, tad tas kopā ar tvīta ID, kurā vārds atrasts, tiek

pievienots rindā uz manuālu marķēšanu. Vārdi tiek marķēti ar roku, līdz ko parādās divi

vienādi vēl nenomarķēti vārdi. Projekta sākumā tika manuāli nomarķēti apmēram 15000

vārdu, kas aizņēma vairākas stundas, bet kopš tā laika (trīs mēnešos) jauni parādījušies vien

Page 25: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

25

ap desmit jaunu vārdu. Šādā veidā marķējot, ja vārds ir ēdiens vai dzēriens, tam tiek

pievienota gan vārda nominatīva pamatforma, gan vārda angliskais tulkojums, kas

nepieciešams gan saistīto datu, kā, piemēram, ēdiena apraksta angļu valodā, gan uztura

piramīdas grupas, kurai pieskaitāms konkrētais vārds, atrašanai.

Ēdieni tika dalīti sešās grupās, kas ir veselīgas uzturas piramīdas [16] sastāvdaļas:

• Graudaugu produkti, maize, biezputras, makaroni (6);

• Dārzeņi (5);

• Augļi, ogas (4);

• Piena produkti (3);

• Gaļa, olas, zivis (2);

• Tauki, saldumi (1).

Dzērieni tika dalīti divās grupās: alkoholiskie un bezalkoholiskie.

Par katru vārdu datu bāzē tiek ierakstīti šādi dati:

• vārds kāds tas parādās ziņā;

• vārds nominatīva pamatformā, ja tas ir ēdiens/dzēriens;

• vārds angļu valodā, ja tas ir ēdiens/dzēriens;

• grupa uztura piramīdā, ja tas ir ēdiens/dzēriens;

• ziņas ID, kurā vārds ticis pieminēts, ja tas ir ēdiens/dzēriens;

• vai vārds ir, vai nav ēdiens/dzēriens.

Piemērs:

4.1. tabula

Piemērs vārdam datu bāzē

Vārds zupu

Nominatīvs zupa

Vārds angļu valodā Soup

Grupa 6 (Graudaugu produkti, maize,

biezputras, makaroni)

Ziņas ID 122284398044390000

Ir ēdiens? 1 (ir)

Atsevišķā datubāzes tabulā tiek uzglabātas arī visas vietas, no kurām lietotāji rakstījuši

savus Twitter ziņas. Informācija par vietu tiek ņemta no Twitter ziņas, kur tā ir dota teksta

formā – pilsētas nosaukums, novada nosaukums, reizēm pat ielas nosaukums. Ar Google

Maps API [15] palīdzību no šāda teksta tiek noskaidrotas precīzas atrašanās vietas

koordinātas. Šie dati nepieciešami, lai tīmekļa lietojumprogrammai atvieglotu darbu un tai

Page 26: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

26

katru reizi nebūtu jāuzmeklē katras vietas koordinātas. Tā tiek papildināta katru reizi, kad tiek

atvērta ‘Twitter gardēžu karte’7 – lapas sadaļa, kurā atzīmētas visas vietas - tīmekļa

lietojumprogrammā un starp ziņām ir parādījusies kāda jauna vieta, par kuru vēl nav datu šajā

tabulā.

Par katru atrašanās vietu datubāzē tiek ierakstīti sekojoši dati:

• vietas nosaukums;

• garums (longitude) un platums (latitude).

4.2. Datu apstrāde

Katrs tvīts tiek saglabāts datu bāzē gan vesels, gan sadalīts pa vārdiem. Pirms vārdi no

katra tvīta tiek saglabāti datubāzē, no tiem tiek atmestas visas interneta lapu adreses, kas sākas

ar http vai www, visi skaitļi, pieturzīmes un jaunas rindas simboli. Katrs tvīts tiek padots

speciāli uztrenētam uClassify klasifikatoram [13], kurš to iedala pozitīvā, neitrālā vai negatīvā

kategorijā. Šis iedalījums tālāk tiek izmantots, apkopojot ar ēdieniem saistītos tvītus un dalot

tos pēc noskaņojuma. Sākotnēji ar roku tika nomarķēti apmēram 750 tvīti un padoti

klasifikatoram apmācībai. Pēc tam tika automātiski saklasificēti arī pārējie tvīti.

Tomēr šis klasifikators uzrāda pārāk lielu negatīvi noskaņoto tvītu skaitu, kas rada aizdomas,

ka tas darbojas diezgan neprecīzi. Manuāli marķējot, no 750 tvītiem kā negatīvie tika atzīmēti

ļoti maz – apmēram 15 - 20. Tātad tvītus ar negatīvu noskaņojumu varētu sagaidīt mazāk par

5%, bet šobrīd ir ap 12% negatīvo. Ļoti iespējams, ka turpmākā projekta gaitā tvītu

noskaņojuma analizēšana tiks pārtraukta un tā vietā tiks apskatīti tvītos atrodamie emotikoni.

4.3. Rezultāti

Tvīti tiek nepārtraukti vākti un glabāti datubāzē. Projektam ir publiska interneta lapa8,

kurā iespējams apskatīt ievākto informāciju no dažādiem rakursiem :

• autentificēties ar savu Twitter kontu un redzēt savu draugu tvītus par ēšanu;

• apskatīt, par kādiem ēdieniem tiek tvītots;

• apskatīt, kurās nedēļas dienās un kuros laika posmos par ēšanu tvīto visbiežāk;

• apskatīt, no kurām valstīm, pilsētām tvīto un cik daudz;

• apskatīt aktīvāko ēdāju-tvītotāju topu;

• kā arī kopējo statistiku par visu projektu.

Radītais pirmkods, kā arī datubāze un dokumentācija ir brīvi pieejama9.

7 http://twitediens.tk/karte 8 http://www.twitediens.tk

Page 27: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

27

Divarpus mēnešu laikā (06.10.2011 – 17.01.2012) tika savākti 60956 tvīti. 38370

(63%) no tiem ir pieminēts kāds ēdiens vai dzēriens. Tos rakstījuši 17028 dažādi lietotāji, no

kuriem 2091 (12%) bija norādījuši savu atrašanās vietu. No tvītiem, kuros bija norādīta

atrašanās vieta, 1882 ir rakstīti Latvijā, 203 – ārzemēs. No Latvijas tvītiem visvairāk nāk

tieši no Rīgas – 1131 (60%). [4.1. att. Tvītu statistika]

Visā projekta gaitā ikvienam bija pieejama interneta lapa, lai gan tā netika īpaši

reklamēta. To laika posmā no 7. novembra 2011 līdz 16. janvārim 2012 apskatīja 705

apmeklētāji. Aktīvākās dienas bija 14. novembris, 30. novembris un 9. novembris ar 65, 48

un 46 apmeklējumiem. Visvairāk apskatītā lapas sadaļa bija ‘Statistika’ ar 1267 skatījumiem.

32% no šiem apmeklētājiem nāca no Twitter, 20% - pa tiešo ievadot adresi, 17% no

draugiem.lv un pārējie no citām vietām.

Visaktīvākais tvītotājs par ēšanu ir ar 88 tvītiem par ēšanas tēmām. Par ēšanu visvairāk

tiek tvītots svētdienās un visaktīvākās stundas ir no septiņiem līdz deviņiem vakarā, kad

cilvēki parasti ietur vakariņas vai arī ir sarūpējuši sev kādu gardumu, ko izbauda pēc

saspringtās dienas. Šis laiks nav nemaz tik vēlu, pieņemot, ka cilvēki gulēt iet ap

vienpadsmitiem. Veselīgi ir pēdējo dienas maltīti ieturēt ne vēlāk kā 2 stundas pirms

gulētiešanas [16]. Dotajā vēlā rudens, agrās ziemas laika periodā populārākie produkti bija

mandarīni, šokolāde, tēja, saldējums, pica, zupa un kafija. Projekta sākumposmā un stabili

starp populārākajiem ēdieniem dominēja šokolāde, bet, tuvojoties Ziemassvētkiem, Latvijas

Twitter lietotāji ātri topa augšgalā izvirzīja daudz veselīgākos mandarīnus.

4.1. att. Tvītu statistika

9 https://github.com/saifer/TwitEdiens

Page 28: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

28

4.4. Secinājumi

Šis pilotprojekts radīja labu priekšstatu par Twitter-sfērā pieejamo informāciju - kā to

apkopot, apstrādāt, izanalizēt un attēlot. Tas arī radīja izpratni par to, kādas metodes būs

noderīgas jebkuras tēmas tvītu analīzei, kādas nederēs citām tēmām, kā arī veicināja idejas

par citiem paņēmieniem, kas vēl būtu klāt pieliekami.

Page 29: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

29

5. TWITTER ZIŅU APSTRĀDES PROCESS

Līdzās vispārīgajām Twitter ziņu analīzes metodēm un tām, kuras tika pielietotas

pilotprojektā, universālam tvītu analīzes rīkam varētu būt lietderīgas arī vairākas citas, kas,

iespējams, jau pastāvošajos tvītu analizatoros netiek pielietotas. Šajā nodaļā tiks aprakstīts

viss ziņu process tieši tādā secībā, kādā paredzēta to izpilde. Šis process sākas ar datu

vākšanu, tad datu priekšapstrādi un beidzot ar pašu analīzi [4].

5.1. Datu vākšana

Atšķirībā no pilotprojekta un līdzīgi kā pieminētajos esošajos rīkos, datus vācot, būtu

noderīgāk saglabāt ne vien pašu ziņu, tās ID, datumu, autoru un atrašanās vietu, bet arī citus

metadatus, kā, piemēram, informāciju par to, vai ziņa ir bijusi pārpublicēta, u.c.

Vācot datus no Twitter, būtu jāsaglabā iespējami vairāk informācijas, ko tas piedāvā,

tomēr ne gluži visu. Twitter par katru tvītu sniedz ļoti sīki detalizētus datus10, kuri vietām

atkārtojas, kā, piemēram, tvīta unikālais identifikators ir pieejams gan kā „id” – skaitliska

vērtība, gan kā „id_str” – tekstuāla vērtība. Daļu no šiem liekajiem datiem var atmest, lai lielā

daudzumā glabājot datu bāzē tvītus, tā tomēr tik veikli nepārpildītos un darbotos vēl raitāk.

Kārtīgāk papētot piedāvātos datus, darba autors secina, ka visnoderīgākie turpmākai

analīzei varētu būt šādi:

• Par pašu tvītu

o Tvīta ID

o Tvīta teksts

o Tvīta autora lietotājvārds

o Tvīta izveidošanas datums

o Ģeogrāfiskās atrašanās vietas nosaukums, no kuras rakstīts tvīts

o Autora lietotājvārds, kuram atbild tvīts

o Tvīta rakstīšanas avots

• Par tvīta autoru

o Pilnais autora vārds

o Profila attēla adrese

o Lietotāja ID

o Mājas lapas adrese

o Lietotājvārds

10 https://dev.twitter.com/docs/api/1/get/statuses/show/%3Aid

Page 30: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

30

o Apraksts

• Par birkām

o Teksts

o Tvīta id, kurā birka parādījusies

• Par tvītā pieminētajiem lietotājiem

o Pieminētā lietotāja lietotājvārds

o Tvīta id, kurā lietotājs pieminēts

• Par saitēm tvītos

o Pilnais URL

o Attēlojamais URL

o Tvīta id, kurā saite pieminēta

5.2. Datu priekšapstrāde

Pirms uzsākt tālāku tvītu analizēšanu, jāveic datu priekšapstrāde un normalizācija, lai

analīzes fāzē būtu vieglāk ar šiem datiem apieties. Priekšapstrādes fāzē būtu, pirmkārt, jāattīra

teksts no visādiem liekiem simboliem un vārdiem. Otrkārt, jānosaka, par kādu tēmu būs tvīti

un, treškārt, tvīts jāsadala daļās jeb tokenos.

5.2.1. Teksta attīrīšana

Teksta attīrīšanas jeb normalizācijas posms sadalāms divās daļās – paša tvīta attīrīšanā

un tvītā esošo vārdu jeb tokenu attīrīšanā. Pirms tvīta teksta saglabāšanas datu bāzē no tā būtu

ieteicams izvākt visus pieminētos lietotājvārdus, kas Twitter ir atšķirami ar „@” zīmi priekšā,

un aizstāt tos ar kādu vienu simbolu virkni, kas identificētu, ka tajā vietā tvīta tekstā pieminēts

lietotājs, bet visur būtu vienāda un netraucētu, analizējot tekstu. Līdzīgi ieteicams aizstāt visas

tīmekļa adreses (URL) no tvītiem. Vēl varētu arī attīrīt tvīta tekstu no tajā sastopamajām

birkām, kas Twitter sākas ar simbolu „#”. Tomēr bieži vien šīm birkām ir arī diezgan liela

saturiskā vērtība, tāpēc tas, vai attīrīšanā iekļaut birkas, būtu jāizvērtē pirms katras tvītu

vākšanas konkrēto atslēgvārdu un tēmas kontekstā. Tā kā datu bāzē atsevišķi tiek saglabāti

tvītos pieminētie lietotājvārdi, tīmekļa adreses un birkas, arī pēc to aizstāšanas tvītā ar kādu

citu simbolu virkni, pēc nepieciešamības būs iespējams salikt kopā oriģinālo tvīta saturu.

Pirms teksta sadalīšanas vārdos jeb tokenizācijas būtu jāattīra teksts arī no visādām

pieturzīmēm (. , ! ? ; : ( ) { } [ ] / \ < >), simbolu virknes „RT”, kas Twitter apzīmē ziņas

pārpublicēšanu un citādi nav nozīmīga. Iespējams, vēl būtu jāizvāc no tokeniem simbolu

virknes, kas sastāv tikai no skaitļiem, un simbolu virknes, kas īsākas par 1 simbolu, bet līdzīgi

kā ar birkām, tas būtu jādara atkarībā no ievācamo tvītu konteksta.

Page 31: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

31

5.2.2. Morfoloģiskā analīze

Vēl kā pēdējais solis pirms tvīta sadalīšanas tokenos būtu jāveic tvītā esošo vārdu

morfoloģiskā analīze, un kā tokeni jāsaglabā tikai vārdu pamatformas. Šāda vārdu pārvēršana

to pamatformās palīdzētu analīzes fāzē noskaidrot tieši cik, kur un kā katrs vārds pieminēts,

neatkarīgi no formas, kurā tas pierakstīts.

Pirms var sākt morfoloģisko analīzi, vispirms jānoskaidro, kādā valodā teksts rakstīts.

Šim nolūkam var izmantot dažādus mašīnmācīšanās paņēmienus, taču visērtāk būtu atkal

izmantot kādu jau gatavu teksta valodas noteikšanas servisa. Vienu tādu piedāvā uClassify11.

Kad valoda noskaidrota, jāpielieto kāds konkrētās valodas morfoloģiskais analizators.

Internetā brīvi pieejami daudzu valodu morfoloģiskie analizatori. Viens no tiem ir pat latviešu

valodai – Matemātikas un informātikas institūta mākslīgā intelekta laboratorijas tīmekļa

serviss – morfoloģiskais analizators / sintezators12.

Vienīgie vārdi, kurus varētu izlaist morfoloģiskajā analīzē, varētu būt par tvītu tematu

noskaidrotās frāzes un vārdu salikumi, kas iegūti no saistīto datu resursiem. Tie būtu jāatstāj

tādās formās, kādās tie ir, lai vēlāk, kad tos būs nepieciešams izmantot, vārdu formas

neatšķirtos no tām, kas iegūstamas no saistīto datu resursiem.

5.2.3. Tokenizācija

Tokenizācija jeb teksta sadalīšana pa vārdiem ir pēdējais datu priekšapstrādes solis.

Tajā jāņem vērā gan vārdi un vārdu salikumi, kas iegūti no saistīto datu resursiem, gan vārdu

pamatformas, kas iegūtas morfoloģiskajā analīzē. Visi katra tvīta vārdi, izņemot tos, kas sakrīt

ar no saistīto datu resursiem iegūtajiem, jāsadala vietās, kur ir atstarpes un jāsaglabā datu

bāzē. Ar šādiem tokeniem ir ievērojami vieglāk strādāt un tos analizēt, nekā tas būtu ar visu

tvīta tekstu kopā.

5.2.4. Twitter ziņas temata noteikšana

Twitter ziņas temata noteikšana nav obligāts solis, kurš nav tik būtisks priekšapstrādes

procesā, taču, ja tas tiek izpildīts, tālākā analīzē var veikt citas interesantas darbības. Tā kā šo

soli iespējams izlaist, tas pieminēts kā pēdējais no priekšapstrādes punktiem, bet, ja tas tiek

realizēts, tā vieta secībā būtu pirms tokenizācijas.

11 http://www.uclassify.com/browse/uClassify/Text-Language 12 http://valoda.ailab.lv/ws/morph/

Page 32: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

32

Ja zināms ziņu precīzs vai kaut aptuvens temats, par to var iegūt lietderīgu informāciju

no saistīto datu (linked data) resursiem [3]. Līdz ar semantiskā tīmekļa attīstību parādās arvien

vairāk brīvi pieejamo datu kopu, no kurām lielākās un populārākās ir DBPedia13,

GeoNames14, UMBEL15. Viena no saistīto datu kopām varētu būt kādas kategorijas jēdzienu

uzskaitījums, ko var iegūt no DBPedia. Piemēram, ja zināms, ka tvītu tēma ir par karsto

dzērienu tēmu, tad no saistīto datu avotiem varētu iegūt, ka pie karstajiem dzērieniem pieder

tēja, kakao, kafija u.c. Līdz ar šīs informācijas iegūšanu vēlāk analīzes fāzē to varētu likt lietā,

pārskaitot, cik kuri dzērieni pieminēti utt. Cits veids, kā izmantot šādi iegūtu informāciju –

tokenizācijas posmā neatdalīt vārdu savienojumus, kas pieskaitāmi pie noteiktās kategorijas

jēdzieniem, lai pēcāk ar tiem varētu strādāt kā patstāvīgiem tokeniem.

Tematikas noteikšanai izvēlēti divi veidi, kā automātiski būtu iespējams to noskaidrot,

un viens manuālai tēmas noteikšanai. No automātiskajiem pirmais ir ar iepriekš uztrenētu

klasifikatoru, klasificējot daļu pirmo ievākto tvītu. Otrais - no atslēgvārdiem, pēc kuriem

atlasīti tvīti – vai nu vienīgo atslēgvārdu, ja ievadīts tikai viens, uzskatīt par tematu un

turpmāk darboties ar tādu pieņēmumu, vai ar to pašu klasifikatoru, kas minēts pirmajā veidā,

noteikt vairāku atslēgvārdu tematu. Trešais veids, lai gan būdams visprecīzākais, tomēr

pieprasa lielāku lietotāja piepūli, ir atrast savu izvēlēto tematu plašajā pieejamajā visu tematu

hierarhijā. Tas būtu izmantojams, ja pirmie divi automātiskie vai nu nenostrādātu, vai arī

sniegtu apšaubāmus rezultātus. Viens no avotiem, kur ņemt sarakstu ar iespējamajām tēmām,

ir DBPedia.

5.2.4.1. Ar klasifikatoru

Viens paņēmiens automātiskai tēmas noskaidrošanai būtu to noteikt ar speciāli šim

mērķim uztrenētu teksta klasifikatoru. Klasifikatoram padodot pirmos n tvītus no visa korpusa

vai arī visus tvītus, ja to kopskaits nepārsniedz n, varētu noteikt šo n tvītu tematiku un

turpmāk pieņemt, ka tā atbilst arī visam pārējam korpusam. Skaitlis n būtu jāizvēlas vismaz

10 vai vairāk, jo, tā kā tvīti ir samērā īsi, ar mazāk par 10 tvītiem varētu būt pagrūti noteikt

tematu. Tomēr, izvēloties pārāk lielu n vērtību, var gadīties, ka klasificēšanas process ieilgst,

it īpaši, ja tiek izmantots kāds ārējs teksta klasifikācijas serviss.

Pašu teksta klasifikatoru var veidot ar kādu no mašīnu mācīšanās paņēmieniem, vai arī

izvēlēties kādu jau gatavu teksta klasificēšanas servisu tīmeklī. Tieši šādam nolūkam

13 http://dbpedia.org/ 14 http://www.geonames.org/ 15 http://umbel.org/

Page 33: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

33

paredzēts serviss uClassify16. Tajā ir pat jau gatavs uztrenēts teksta klasifikators, kas nosaka

angļu valodā rakstīta teksta piederību kādam no šādiem tematiem - Arts, Business,

Computers, Games, Health, Home, Recreation, Science, Society, Sports.

5.2.4.2. Pēc atslēgvārdiem

Diezgan drošs un precīzs veids, kā noteikt tvītu tematu ir - pēc atslēgvārdiem. Teiksim,

ja tvītu vākšanai ievadīts tikai viens atslēgvārds, tad ir ļoti liela iespējamība, ka tas ir arī

galvenais savākto ziņu temats. Ja ievadīti vairāki atslēgvārdi, tad tie jāklasificē līdzīgi kā

iepriekš minēts par tvītiem.

5.2.4.3. Tēmas izvēle no saraksta

Tomēr visprecīzākais paņēmiens, kā tikt pie tvītu temata, ir pieprasīt lietotājam to

izvēlēties no kāda plaša, visaptveroša saraksta. Sarakstu ar dažādiem tematiem un arī to

sīkākiem iedalījumiem var iegūt no DBPedia galveno tēmu sadalījuma17. Par katru no

galvenajām tēmām tur var atrast arī sīkākus iedalījumus apakštēmās un arī dažādus ar katru

no kategorijām un apakškategorijām saistītus jēdzienus, kuri tad būs noderīgi turpmākajos

posmos.

5.3. Twitter ziņas analīze

Līdz ko saņemtie dati apstrādāti un normalizēti, var uzsākt analīzi. Analīze sadalīta

vairākās daļās – metadatu, vārdu, kolokāciju, atslēgvārdu un emotikonu analīzē. Šo daļu

secība nav svarīga.

5.3.1. Metadati

Pie tvīta metadatiem pieskaitāmi visi datu vienumi, kas kopā ar pašu tvīta tekstu tiek

padoti no Twitter API tajā skaitā datums, ģeogrāfiskā atrašanās vieta, retvītu (pārpublicējumu)

skaits, publicēšanas avots, lietotājvārds, kuram tiek atbildēts, un citi. Visus šos datus var gan

attēlot patstāvīgos grafikos, gan to izmaiņu laika gaitā. Šo grafiku attēlošanai ļoti parocīgi

izmantot Google Chart Tools18. Turpretim visas ģeogrāfiskās atrašanās vietas var atzīmēt uz

pasaules kartes, izmantojot Google Maps API19.

16 http://www.uclassify.com/browse/uClassify/Topics 17 http://dbpedia.org/page/Category:Main_topic_classifications 18 https://developers.google.com/chart/ 19 https://developers.google.com/maps/

Page 34: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

34

Pie Metadatiem var skaitīt arī haštagus jeb birkas, tvītos pieminētos lietotājus un

WWW saites. Lai gan šie dati parādās arī pašā tvīta tekstā, tie tiek arī atdalīti atsevišķi un līdz

ar katru tvītu no API padoti kā metadati. Gan birkas, gan pieminētos lietotājus, kā arī WWW

saites ļoti pārskatāmi ir attēlot vārdu mākoņu formā (word cloud), kas ir vārdu grafiska

attēlošana pēc to biežuma tekstā – jo biežāk vārds tekstā pieminēts, jo lielāks tas tiek attēlots

un pretēji. Ļoti iespējām bagātu šāda veida vārdu mākoņu attēlošanu piedāvā interneta serviss

Wordle20.

5.3.2. Vārdi un Kolokācijas

Provizoriski interesantu analīzes rezultātu noteikti varētu sniegt tvītu tekstā visbiežāk

pieminētos vārdu izpēte. Ja tvītu ievākšana notiek pēc liela atslēgvārdu skaita, šajos biežāk

pieminētajos vārdos noteikti būs iespējams atrast vārdus, kuri varētu noderēt nākamajā

ievākšanas procesā par to pašu tēmu. Tā kā visi vārdi priekšapstrādes fāzē tiek pārveidoti

pamatformās, to nebūs pārāk daudz dažādu un biežāk pielietotie spilgti izcelsies. Tāpēc arī

atsevišķos visbiežāk pieminētos vārdus vispārskatāmāk būs attēlot vārdu mākonī.

Dabīgās valodas ir pilnas ar kolokācijām jeb cieši saistītiem vārdu savienojumiem, kas

ik pa laikam atkārtojas. Tie varētu būt, piemēram, personvārdi, vietvārdi, organizāciju

nosaukumi, produkti. Līdzīgi kā atsevišķos vārdus, arī kolokācijas var attēlot vārdu mākonī,

lai tās būtu pārskatāmākas.

Vēl cits interesants veids, kā pielietot kolokācijas, ir, izmantojot kādu brīvi pieejamu

nosaukto vienumu atpazīšanas (named entity recognition) servisu, kā, piemēram, The Calais

Web Service21, un ar tā palīdzību iegūt papildus datus par šiem vārdu savienojumiem.

5.3.3. Atslēgvārdu efektivitāte

Tā kā tvīti tiek vākti pēc noteiktiem atslēgvārdiem, ļoti noderīgi būtu vākšanas gaitā vai

beigās izpētīt, kuri atslēgvārdi uzrāda visvairāk rezultātu. Izstrādājot pilotprojektu, šis solis

netika sperts un tikai, kad projekts jau bija galā, izrādījās, ka liela daļa atslēgvārdu pa

vairākiem mēnešiem nebija snieguši nevienu pašu rezultātu. Ja vākšanas periods ir ļoti ilgs un

atslēgvārdu skaits ir tuvu 400, kas ir Twitter noteiktais maksimums, tad tie būtu jāizmanto pēc

iespējas efektīvāk. Līdzīgi kā citus datus, arī atslēgvārdus var pārskatāmi attēlot ar Google

Chart Tools.

20 http://www.wordle.net/create 21 http://viewer.opencalais.com/

Page 35: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

35

5.3.4. Emotikoni

Lai gan tikai 140 simbolus gari, tomēr tvīti bieži vien palīdz to autoram paust savu

attieksmi. Ir daudz veidu kā ar mašīnmācīšanās paņēmieniem noteikt teksta sentimentu jeb

noskaņojumu, tomēr ļoti labi to var novērtēt pēc emotikonu pielietojuma tekstā. Teiksim, lai

sadalītu tvītus pozitīvajos, negatīvajos un neitrālajos, var pieņemt, ka neitrālie ir visi, kuros

nav neviena emotikona, pozitīvie – kur parādās kāds no priecīgajiem emotikoniem, piemēram,

„:)” un negatīvie – kur parādās kāds no bēdīgajiem emotikoniem, piemēram, „):”.

Lai noskaidrotu, kādi ir populārākie Twitter pielietotie emotikoni, tika paņemts

pilotprojekta gaitā savāktais tvītu korpuss un tajā tika meklēti emotikoni no Vikipēdijas visu

emotikonu saraksta22. Tika atlasīti 17 visbiežāk pielietotie emotikoni ar pozitīvu noskaņu un

17 visbiežāk pielietotie ar negatīvu noskaņu. Emotikoni, kas visbiežāk šajos tvītos parādījās,

redzami tabulā [5.1. tabula].

Tā kā teksta priekšapstrādes fāzē attīrīšanas posmā pirms tokenizācijas tiek izvākti

vairāki emotikonos bieži pielietoti simboli, tad emotikonus pie tokeniem nebūs iespējams

atrast un tie būs jāmeklē pašu tvītu tekstos.

5.1. tabula

Populārākie emotikoni

Pozitīvie emotikoni Negatīvie emotikoni

:D :S

:) :(

(: ):

;) :-(

;] :[

:-) ]:

:] ;(

[: );

:D ];

;D ;[

xD :@

^_^ :/

^^ :|

8) :?

:P -_-

:* :O

;* O:

22 http://en.wikipedia.org/wiki/List_of_emoticons

Page 36: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

36

6. UNIVERSĀLS TWITTER DATU ANALĪZES RĪKS

Darba gaitā, izmantojot pēc iespējas vairāk iepriekšējā nodaļā aprakstīto metožu, tika

izstrādāts universāls rīks Twitter datu analīzei – tīmekļa programmatūra, kas paredzēta

uzstādīšanai personālajā datorā vai serverī. Šī rīka mērķis galvenokārt ir apmierināt visas

lietotāju iepriekš izteiktās, kā arī paša autora izvirzītās prasības un sniegt iespējami plašāku

pārskatu par ievāktajiem datiem.

Tāpat kā pilotprojektam, arī šim universālajam rīkam tika piešķirts nosaukums –

TweetTool jeb tvītu rīks. Tomēr, atšķirībā no TwitĒdiena, TweetTool lietotāja saskarne

paredzēta arī starptautiskiem lietotājiem. Tāpēc tajā visi teksti un kļūdu paziņojumi būs angļu

valodā.

Šobrīd TweetTool pirmkoda jaunākā strādājošā versija pieejama GitHub repozitorijā23.

Pašu rīku var arī izmēģināt darbībā tīmekļa vietnē24, tomēr ierobežoto servera resursu dēļ tas

ir paredzēts tikai kā vieta rīka izmēģināšanai. Plašākai lietošanai nepieciešams uzinstalēt

GitHub repozitorijā pieejamo rīku.

Turpmākajās apakšnodaļās aprakstīts rīka izstrādes process. Izstrādes procesā piedalījās

viens cilvēks, kurš bija projekta dokumentācijas autors, lietojumprogrammas arhitekts, kā arī

programmētājs. Konsultācijas sniedza darba vadītājs.

Pirmie veicamie darbi bija prasību analīze, prasību specifikācijas un projektējuma

apraksta izstrāde. Pēc tam notika programmatūras izveide un kodēšana, paralēli pielabojot

programmatūras projektējuma aprakstu. Programmēšanas gaitā tika veikti vienībtesti katram

modulim atsevišķi un programmēšanas beigās arī integrācijas testēšana visam kopā. Prasību

specifikācija

Šī apakšnodaļa ir paredzēta, lai varētu precīzi noformulēt sistēmas nepieciešamās

prasības. Šeit aprakstītas topošās sistēmas prasības, pēc kurām notiks sistēmas izstrāde.

Gatavajā produktā būs realizētas visas dokumentā minētās prasības. Prasību specifikācijas

sastādīšanā tika ņemts vērā pilotprojektā apgūtais, citu lietotāju ieteikumi, kā arī visas paša

autora vēlmes un ieceres.

23 https://github.com/saifer/TweetTool 24 http://www.twitediens.tk/tool/

Page 37: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

37

6.1. Prasību specifikācija

6.1.1. Funkcionālās prasības

6.1.1.1. Datu ievākšana no Twitter plūsmas

Mērķis:

Funkcijas mērķis ir nodrošināt datu ievākšanu no Twitter plūsmas tuvu reālajam laikam pēc

ievadītajiem atslēgvārdiem.

Ievaddati:

Nepieciešams nodrošināt iespēju ievadīt šādu informāciju:

• atslēgvārdi;

• informācijas vākšanas ilgums.

Ja nav vēl vienreiz izdarīts, jāievada uzstādījumos šāda informācija:

• datu bāzes nosaukums;

• datu bāzes adrese;

• datu bāzes lietotājvārds;

• datu bāzes lietotāja parole;

• Twitter lietotājvārds;

• Twitter lietotāja parole.

No Twitter plūsmas tiek ievākti šādi dati:

• Par pašu tvītu

o Tvīta ID

o Tvīta teksts

o Tvīta autora lietotājvārds

o Tvīta izveidošanas datums

o Ģeogrāfiskās atrašanās vietas nosaukums, no kuras rakstīts tvīts

o Autora lietotājvārds, kuram atbild tvīts

o Tvīta rakstīšanas avots

• Par tvīta autoru

o Pilnais autora vārds

o Profila attēla adrese

o Lietotāja ID

o Mājas lapas adrese

o Lietotājvārds

o Apraksts

Page 38: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

38

• Par birkām

o Birkas teksts

o Tvīta id, kurā birka pieminēta

• Par tvītā pieminētajiem lietotājiem

o Pieminētā lietotāja lietotājvārds

o Tvīta id, kurā lietotājs pieminēts

• Par saitēm tvītos

o Pilnais URL

o Attēlojamais URL

o Tvīta id, kurā saite pieminēta

Apstrāde:

Ievadītais laiks tiek pārveidots sekundēs. Ievadītie atslēgvārdi tiek saglabāti atsevišķā failā,

lai tos varētu izmantot vēlāk.

Ievāktie dati no Twitter plūsmas tiek apstrādāti atkarībā no lietotāja izvēlētajiem

normalizācijas iestatījumiem.

Izvaddati:

Pēc sekmīgas ievaddatu ievadīšanas parādās paziņojums par datu vākšanas uzsākšanu:

„Collecting of tweets has begun! Results will start appearing shortly,” un tiek uzsākta datu

vākšana. Pēc tam, līdz ko tiek ievākti pirmie dati, statistikas lapā apskatāmi pirmie analīzes

rezultāti.

Kļūdu paziņojumi:

1. Ja kādā no abiem ievadlaukiem informācija nav ievadīta, pie attiecīgā lauka parādās

kļūdas paziņojums: „Please fill out this field.”

Page 39: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

39

6.1.1.2. Datu normalizācija pēc lietotāja izvēles

Mērķis:

Funkcijas mērķis ir nodrošināt lietotājam iespēju izvēlēties, kādi dati vākšanas laikā tiks

aizstāti lietotājvārdi ar „_@user”, birkas ar „_@hashtag” un tīmekļa adreses ar „_@URL”.

Ievaddati:

Nepieciešams nodrošināt iespēju ievadīt šādu informāciju:

• izvēle, kurus datus normalizēt.

Apstrāde:

Līdz ko sākas datu ievākšana no Twitter plūsmas, ņemot vērā lietotāja izvēlētos parametrus,

ievāktie dati tiks attiecīgi normalizēti.

Izvaddati:

Pēc izvēles saglabāšanas parādās paziņojums: „Settings saved!”. Vācot datus no Twitter

plūsmas, tie tiek normalizēti pēc izvēlētajiem iestatījumiem.

Kļūdu paziņojumi:

Nav paredzēti.

6.1.1.3. Datu eksports uz .csv failu

Mērķis:

Funkcijas mērķis ir nodrošināt ievākto datu pārveidošanu ar komatiem atdalītu vērtību

formā un izvadīšanu .csv failā, kuru lietotājam iespējams saglabāt.

Ievaddati:

Nepieciešams nodrošināt iespēju ievadīt šādu informāciju:

• izvēle, kuru datu bāzes tabulu eksportēt.

Apstrāde:

Kad izvēlēta tabula, tajā esošie dati tiek sarakstīti teksta failā, atdalot vērtības ar komatu.

Izvaddati:

Pēc datu apstrādes lietotājam tiek piedāvāts saglabāt gatavu .csv failu.

Kļūdu paziņojumi:

Nav paredzēti.

Page 40: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

40

6.1.1.4. Ievākto datu grafiska reprezentācija

Mērķis:

Funkcijas mērķis ir ievāktos datus attēlot grafiski lietotājam ērti pārskatāmā un saprotamā

veidā.

Ievaddati:

Nepieciešams nodrošināt iespēju ievadīt šādu informāciju:

• ievāktie dati no Twitter plūsmas.

Apstrāde:

Ievāktie dati tiek sagrupēti un sakārtoti, kā nepieciešams konkrētajai grafiskajai

reprezentācijai.

Izvaddati:

Atkarībā no datiem, kas jāattēlo, tiek uzzīmēts vai nu vārdu mākonis (birkām, pieminētajiem

lietotājiem, tīmekļa adresēm), vai grafiks (kalendāram, emotikoniem, atslēgvārdiem), vai

karte (atrašanās vietām).

Kļūdu paziņojumi:

1. Ja dati vēl nav savākti un datu bāze ir tukša, parādās paziņojums: „The database is

empty!”

6.1.2. Ārējās saskarnes prasības

6.1.2.1. Lietotāja saskarnes prasības

Minimālās lietotāja saskarnes prasības ērtai sistēmas darbībai:

• lietotāja saskarnei jābūt vismaz vienā valodā – angļu, bet vēlams arī citās, kā,

piemēram, latviešu;

• lietotājam ievadot programmā datus, lietotāja ievadīto datu kļūdu vai nepilnību

gadījumā uz ekrāna jāizvada kļūdas paziņojums un lauks, kurā konstatēta kļūda,

jāiekrāso sarkanā krāsā;

• pēc kļūdas izlabošanas, kļūdas paziņojumam jāpazūd un lauka krāsai jāatgriežas

sākotnējā izskatā.

6.1.2.2. Aparatūras saskarnes prasības

Minimālās aparatūras prasības stabilai sistēmas darbībai:

• procesors ar 1.3GHz takts frekvenci (ieteicams 1.5GHz vairāk);

• operatīvā atmiņa 128MB (ieteicams 256MB vai vairāk);

• video adapteris un monitors ar Super VGA (800px * 600px) vai augstāku izšķirtspēju;

Page 41: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

41

• tastatūra un pele;

• stabils pieslēgums internetam.

6.1.2.3. Programmatūras saskarnes prasības

Minimālās programmatūras prasības stabilai sistēmas darbībai:

• jābūt uzstādītai operētājsistēmai ar servera programmatūru, kurā ietilpst

o PHP 5.3.8 vai jaunāka versija;

o MySQL 5.5.16 vai jaunāka versija.

6.1.2.4. Veiktspējas prasības

Statiskās prasības:

• programmai jāatbalsta tikai viens lietotājs vienlaicīgi.

Dinamiskās prasības:

• izmantojot datoru ar minimālajām prasībām, visām lapām jāielādējas ātrāk par piecām

sekundēm.

6.2. Projektējuma apraksts

Šī apakšnodaļa paredzēta, lai aprakstītu, kā tiek realizēta prasību specifikācijā aprakstītā

funkcionalitāte. Tas ir nepieciešams, lai varētu atvieglot darbu, sistēmu programmējot.

6.2.1. Saskarnes projektējums

6.2.1.1. Sākuma lapa

Attēls 6.1 TweetTool sākuma lapa

Page 42: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

42

Sākuma lapas centrā redzama izvēle starp tvītu ievākšanu no Twitter plūsmas un jau

gatavas datu bāzes ielādi analizēšanai. Zem TweetTool logo atrodas izvēlnes ikonas, kas ved

uz pārējām lapām. Lapas apakšdaļā tiek piedāvāts ievāktos datus eksportēt uz .csv failu.

6.2.1.2. TweetTool datu analīzes sadaļas

6.2. att. Kalendārs, Birkas, Pieminētie lietotāji, Tīmekļa saites, Karte, Top lietotāji.

Šajās lapās redzami ievākto datu analīzes rezultāti dažādos griezumos. Kalendāra lapā

redzams ievākto ziņu sadalījums pa dienām un laikiem. Birku, pieminēto lietotāju un tīmekļa

saišu lapās redzami vārdu mākoņi ar birkām, lietotājvārdiem un saitēm. Kartes lapā redzams

ziņu, kurās bijuši atrašanās vietas dati, izvietojums pasaules kartē. Top lietotāju lapā redzami

aktīvākie lietotāji.

Page 43: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

43

Uz katra no laikiem kalendāra lapā, birkām, pieminētajiem lietotājiem, tīmekļa saitēm

un atrašanās vietām kartē var arī uzklikšķināt un apskatīt tvītus, ar kuriem tas saistīts, kā

redzams attēlā [6.3. att.].

6.3. att. Tvīti konkrētajā laika posmā

Līdzīgi var arī detalizētāk apskatīt katru atsevišķo lietotāju, uzklikšķinot uz tā vārda TOP lietotāju lapā vai kādā no lapām, kurās redzami tvīti [6.4. att.].

6.4. att. Detalizēta informācija par lietotāju

Page 44: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

44

6.2.1.3. Statistika

6.5. att. TweetTool statistika

Statistikas lapā redzama detalizēta informācija par ziņu ievākšanas procesa gaitu un par

ievāktajām ziņām. Statistikas lapai ir arī apakšsadaļa, kurā apskatāma sīkāka emotikonu

statistika.

6.2.1.4. Uzstādījumi

6.6. att. TweetTool uzstādījumi

Uzstādījumu lapā redzamas visas konfigurējamās sistēmas vērtības. Tajā iespējams

norādīt informāciju par datu bāzi, kurā tiks saglabāti dati, Twitter lietotāju, ar kuru tiks veikts

pieslēgums pie Twitter plūsmas, un datu normalizāciju.

Page 45: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

45

6.2.2. Algoritmu projektējums

Šajā apakšnodaļā aprakstīts sistēmā pielietoto algoritmu projektējums blokshēmu veidā.

6.2.2.1. TweetTool darbība

Šajā blokshēmā [6.7. att.] ilustrēts, kādā secībā norisinās TweetTool procesi. Rīka

darbība sākas ar datu vākšanu, kas ir vai nu no Twitter plūsmas, vai arī, ielādējot jau iepriekš

savāktu un eksportētu datu bāzi rīkā. Nākamā fāze rīka darbībā ir datu priekšapstrāde, kurā

savāktie dati tiek sagatavoti tālākajiem analīzes procesiem. Visbeidzot notiek datu analīze un

analīzes rezultātu attēlošana lietotājam uz ekrāna.

6.7. att. TweetTool darbība

Page 46: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

46

6.3. Rīka testēšana

Šajā apakšnodaļā aprakstīti pāris testa piemēri, lai nodemonstrētu rīku darbībā. Tika

veikti un dokumentēti tikai testi visas sistēmas kopējai darbībai. Moduļu atsevišķa testēšana

tika veikta izstrādes laikā, bet tā netika atsevišķi dokumentēta.

Testēšanas ievaddati tika sagatavoti tā, lai varētu pārbaudīt, kā TweetTool varētu

noderēt gan lielām firmām (Nikon, Motorola, Nokia), gan individuāliem lietotājiem, kam

interesē, ko tvīto par kādu konkrētu reģionu (Tukums, Rīga, Ventspils).

6.3.1. Tvītu vākšana pēc viena plaši pielietota atslēgvārda

Testa apraksts Šajā testā tiek pārbaudīts, kā notiek tvītu vākšana, ievadot tikai vienu

atslēgvārdu un laiku, cik ilgi vākt datus.

Ievaddati Atslēgvārds – nikon; datu vākšanas laiks – 2 minūtes. Uzstādījumos

norādīts, ka jāaizstāj tīmekļa adreses ar _@URL un lietotājvārdi ar

_@username, bet birkas jāatstāj kā ir.

Attēls

6.8. att. 1. testa statistikas ekrānuzņēmums

Sagaidāmais

rezultāts

Tiks savākts neliels daudzums tvītu. Parādīsies pilnvērtīgi analīzes rezultāti.

Rezultāts Veiksmīgs

Divu minūšu laikā tika savākti 30 tvīti. Visi kā viens atbilstoši ievadītajam

atslēgvārdam – nikon. Birkas netika izmainītas, lietotājvārdi un tīmekļa

saites – aizstāti. Tomēr netika saņemts neviens tvīts, kurā būtu atrašanās

vietas dati.

Page 47: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

47

6.3.2. Tvītu vākšana pēc vairākiem plaši pielietotiem atslēgvārdiem

Testa apraksts Šajā testā tiek pārbaudīts, kā notiek tvītu vākšana, ievadot vairāk par vienu

atslēgvārdu un laiku, cik ilgi vākt datus.

Ievaddati Atslēgvārdi – nokia, iphone, motorola; datu vākšanas laiks – 2 minūtes.

Uzstādījumos norādīts, lai netiktu aizstāti ne lietotājvārdi, ne birkas, ne

tīmekļa adreses.

Attēls

6.9. att. 2. testa statistikas ekrānuzņēmums

Sagaidāmais

rezultāts

Savākto tvītu skaits būs lielāks nekā iepriekšējā testā. Parādīsies pilnvērtīgi

analīzes rezultāti.

Rezultāts Veiksmīgs

Divu minūšu laikā tika savākti 858 tvīti, no kuriem lielākā daļa atbilstoši

atslēgvārdam iphone, tad nokia un vismazāk – motorola. Lietotājvārdi,

birkas un tīmekļa adreses palikušas oriģinālformā.

6.3.3. Tvītu vākšana pēc vairākiem maz pielietotiem atslēgvārdiem

Testa apraksts Šajā testā tiek pārbaudīts, kā notiek tvītu vākšana, ievadot vairāk par vienu

atslēgvārdu, kuri visi nav plaši pielietoti Twitter ziņās un laiku, cik ilgi vākt

datus.

Ievaddati Atslēgvārdi – Tukums, Rīga, Jūrmala, Ventspils; datu vākšanas laiks – 2

stundas. Uzstādījumos norādīts, lai netiktu aizstāti ne lietotājvārdi, ne

birkas, ne tīmekļa adreses.

Page 48: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

48

Attēls

6.10. att. 3. testa statistikas ekrānuzņēmums

Sagaidāmais

rezultāts

Savākto tvītu skaits būs samērā mazs, tomēr saturīgs un pilnvērtīgi

izanalizējams.

Rezultāts Veiksmīgs

Divu stundu laikā tika savākti 13 tvīti – pārsvarā par Ventspili un Rīgu,

mazāk par Jūrmalu un neviens par Tukumu. Lietotājvārdi, birkas un tīmekļa

adreses palikušas oriģinālformā.

Visi testi pārsvarā noritēja veiksmīgi. Vienīgi pirmajā testā izvēlētajā laika periodā

netika ievākti nekādi dati par atrašanās vietām un līdz ar to nebija iespējams nevienu tvītu

attēlot uz kartes.

6.4. Salīdzinājums ar esošajiem rīkiem

Līdzīgi kā septītajā nodaļā tika salīdzināti esošie rīki, pēc tiem pašiem kritērijiem tika

izvērtēts arī šis darba autora izveidotais universālais rīks.

TweetTool ir bezmaksas atvērtā pirmkoda tīmekļa lietojumprogramma, kas uzkrāj pēc

lietotāja ievadītiem atslēgvārdiem (jebkurā valodā) atrastus datus no sociālā tīkla Twitter un

saglabā tos lokālā datu bāzē. Šis process notiek tuvu reālajam laikam jeb tādā laikā, kā Twitter

tos spēj padot. Ievāktos datus TweetTool atspoguļo pārskatāmos grafikos un diagrammās, kas

palīdz pārskatīt visu, kas atrasts par meklētajiem atslēgvārdiem. Neskaitot to, TweetTool arī

piedāvā reālā laika datu vākšanas vietā vienkārši ielādēt jau gatavu iepriekš noformētu datu

bāzi un izanalizēt to.

Page 49: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

49

TweetTool var savā ikdienā pielietot kā lielās organizācijas, kam ir aktuāli izpētīt kādu

biznesa nozari Twitter tīklā, tā arī vienkārši cilvēki, kuriem varētu pēkšņi interesēt kāda

konkrēta tēma un ko par to citi raksta.

Salīdzinājums pēc kritērijiem:

6.1. tabula

TweetTool novērtējums

Kritērijs Vērtība

Cena Bezmaksas

Vide Tīmekļa programmatūra

Atvērtā pirmkoda risinājums Jā

Spēja vākt reālā laika datus Jā

Analīzes metodes • Attēlo tvītu skaita izmaiņu laika gaitā

Tipiskais pielietojums Statistikas izpēte / Biznesa izpēte

Priekšrocības • Piedāvā eksportēt ievāktos datus uz .csv dokumentu.

• Piedāvā diezgan plašu skatījumu uz datiem.

Trūkumi • Pie milzīgiem datu apjomiem patērē daudz servera

resursu.

Page 50: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

50

SECINĀJUMI

Bakalaura darba problēmas aprakstā izvirzītie mērķi izpētīt Twitter datu analīzi un

izstrādāt universāli pielietojamu Twitter datu analīzes rīku tika īstenoti.

Darba sākumā tika apskatīts sociālais tīmeklis un noskaidrots, kāpēc no visiem

sociālajiem tīkliem tieši Twitter ir pateicīgs liela daudzuma līdzīga veida tekstuālu datu

iegūšanai. Tika izpētīti un salīdzināti vairāki šobrīd apritē esošie sociālo tīklu analīzes rīki un

izzinātas metodes, kas tajos pielietotas. Darba gaitā kā pilotprojekts tika izveidots rīks šaura

loka Twitter datu analīzei, lai precīzāk saprastu, kā šis process notiek un uzzinātu, kas vēl

būtu nepieciešams universālā analīzes rīkā. Tika arī izgudroti un aprakstīti vairāki citi analīzei

noderīgi paņēmieni, kas nebija sastopami salīdzinātajos rīkos un visi kopā apvienoti un

aprakstīti Twitter ziņu apstrādes procesā.

Darba beigu daļā, izmantojot pilotprojekta gaitā uzzināto un vairumu aprakstīto metožu,

tika izveidots universāli pielietojams atvērtā pirmkoda Twitter datu analīzes rīks. Tomēr

izstrādātais rīks vēl var tikt tālāk papildināts, pirmkārt, ar visām Twitter ziņu apstrādes nodaļā

aprakstītajām funkcijām, otrkārt, ar citām, pēc plašākas lietotāju iesaistīšanās noskaidrotām,

noderīgām funkcijām, un, treškārt, ar iespējām to lietot no mobilajām iekārtām – mobilajiem

telefoniem un planšetdatoriem.

Šis bakalaura darbs varētu atvieglot citiem darbu ar sociālo tīklu analīzi, kā arī kalpot

par pamatu turpmākiem pētījumiem šajā virzienā.

Page 51: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

51

PATEICĪBAS

Darba autors vēlas izteikt pateicību Latvijas Universitātes Datorikas fakultātes 2012.

gada pavasara specsemināra Web Science dalībniekiem un vadītājiem, kas palīdzēja Twitter

analīzes rīka TweetTool izstrādē. Pateicība Normundam Grūzītim, Renāram Liepiņam,

Kārlim Gediņam un Jānim Bečam – par palīdzību informācijas savākšanā, metodiskiem

ieteikumiem darba izstrādē, un ieteikumiem, kā uzlabot topošo rīku.

Atsevišķu pateicību autors izsaka Uldim Bojāram, kas vadīja un motivēja TweetTool

izstrādi, kā arī vadīja autora bakalaura darba izstrādi.

Page 52: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

52

IZMANTOTĀ LITERATŪRA

1. Zinātniskie raksti

1. O'Reilly T. What is web 2.0: Design patterns and business models for the next generation

of software, Communications & Strategies, No. 1, p. 17, First Quarter 2007

2. Gruber, T. Collective knowledge systems: Where the Social Web meets the Semantic

Web, Web Semantics: Science, Services and Agents on the World Wide Web 6, 2008,

p. 4–13

3. Bizer, C., Heath, T., Berners-Lee, T. Linked Data - The Story So Far. International

Journal of Semantic Web and Information Systems, Special Issue on Linked Data, 2009a

4. Bojārs U. Sociālā tīmekļa satura apkopošana un analīze, Latviešu valoda digitālajā vidē:

datorlingvistika, Informatīvi izglītojošu semināru cikla materiāli, Rīga, 2012. 44-52. lpp.

2. Elektroniskie informācijas avoti

5. Twitter 'to hit 500 million registered users [tiešsaiste] - [atsauce 15.03.2012.]. Pieejams:

http://www.telegraph.co.uk/technology/twitter/9098557/Twitter-to-hit-500-million-

registered-users.html

6. Google says social network has 90M users [tiešsaiste] - [atsauce 15.03.2012.]. Pieejams:

http://articles.cnn.com/2012-01-19/tech/tech_social-media_google-plus-users_1_search-

engine-social-network-results-pages?_s=PM:TECH

7. Twitter mood predicts the stock market [tiešsaiste] - [atsauce 26.05.2012.]. Pieejams:

http://www.relevantdata.com/pdfs/IUStudy.pdf

8. Twitter turns six [tiešsaiste] - [atsauce 15.03.2012.]. Pieejams:

http://blog.twitter.com/2012/03/twitter-turns-six.html

9. Streaming API Methods [tiešsaiste] - [atsauce 12.04.2012.]. Pieejams:

https://dev.twitter.com/docs/streaming-api/methods

10. Streaming API Concepts [tiešsaiste] - [atsauce 17.05.2012.]. Pieejams:

https://dev.twitter.com/docs/streaming-api/concepts#result-quality

11. BigSheets: extend business intelligence with big data [tiešsaiste] - [atsauce 20.04.2012.].

Pieejams: http://www-01.ibm.com/software/ebusiness/jstart/bigsheets/

12. Welcome to Apache™ Hadoop™! [tiešsaiste] - [atsauce 20.04.2012.]. Pieejams:

http://hadoop.apache.org/

13. uClassify teksta autora noskaņojuma klasifikators [tiešsaiste] - [atsauce 25.04.2012.].

Pieejams: http://uclassify.com/browse/saifer/emo

Page 53: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

53

14. Veselīga uztura ieteikumi [tiešsaiste] - [atsauce 15.01.2012.]. Pieejams:

http://www.apollo.lv/portal/ipasums/articles/154909/galery/

15. Google Maps API [tiešsaiste] - [atsauce 25.04.2012.]. Pieejams:

http://code.google.com/apis/maps/index.html

16. 7 jautājumi par veselīgu uzturu [tiešsaiste] - [atsauce 15.01.2012.]. Pieejams:

www.mansmazais.lv/article/227290/

17. Paikens P. Lexicon-based morphological analysis of Latvian language [tiešsaiste] -

[atsauce 27.05.2012.]. Pieejams: www.semti-kamols.lv/doc_upl/Kamols-Kaunas-paper-

3.pdf

Page 54: UNIVERSĀLAS METODES TWITTER DATU ANALĪZEI

54

Bakalaura darbs „Universālas metodes Twitter datu analīzei” izstrādāts LU Datorikas fakultātē.

Ar savu parakstu apliecinu, ka pētījums veikts patstāvīgi, izmantoti tikai tajā norādītie

informācijas avoti un iesniegtā darba elektroniskā kopija atbilst izdrukai. Piekrītu sava darba

publicēšanai internetā.

Autors: _____________________________

(Autora paraksts)

Ar savu parakstu apliecinu, ka esmu lasījis augšminēto bakalaura darbu un atzīstu to par

piemērotu/nepiemērotu (nevajadzīgo svītrot) aizstāvēšanai Latvijas Universitātes datorzinātņu

bakalaura studiju programmas gala pārbaudījuma komisijas sēdē.

Darba vadītājs(-ja): ______________________________

(Vadītāja paraksts)

Darbs iesniegts Datorikas fakultātē __________________________________.

(Iesniegšanas datums)

Ar šo es apliecinu, ka darba elektroniskā versija ir augšupielādēta LU informatīvajā sistēmā.

Metodiķe: _____________________________.

(Metodiķes paraksts)

Recenzents: ______________________________

Darbs aizstāvēts bakalaura darbu gala pārbaudījuma komisijas sēdē

_________________________ prot. Nr. ______, vērtējums _____________________

(Darba aizstāvēšanas datums)

Komisijas sekretārs: _______________________________

(Sekretāra paraksts)