Projekti
Iesaisties
Blogs
Par mums
Kontakti
← ATPAKAĻ

Datu analīze ar ChatGPT canvas

2024-11-10

Autors: Aivis Brutāns, Datu zinātnieks, Datu skolas aktīvists

Šī gada 3.oktobrī OpenAI papildināja ChatGPT rīka funkcionalitāti ar t.s. canvas — saskarni, kurā lietotājam piedāvātas plašākas iespējas rakstīšanas un kodēšanas projektiem. Canvas ir atbildes solis Claude.ai risinājumam ArtifactsCopilot Pages, kā arī tādiem kodēšanas risinājumiem kā Github Copilot un Cursor.

Rakstīšanas ziņā ar canvas var veikt labojumus tekstā (suggest edits), pielāgot raksta garumu (adjust the length), mainīt lasīšanas līmeni atkarībā no mērķauditorijas (reading level) — sākot no “bērnudārza” līmeņa (Kindergarten) līdz augstskolas līmenim (Graduate School). Tāpat ir iespējams uzlabot tekstu (add final polish) un pievienot emocijzīmes (add emojis).

Šajā rakstā aplūkošu cik efektīva šobrīd ir canvas funkcionalitāte datu analīzē. Testēšanai izmantoju datus no atvērto datu portāla — Cēsu novada iedzīvotāju 2021.gada aptaujas rezultātus. Ņemot vērā secinājumus no iepriekš veiktās datu analīzes ChatGPT rīkā, vispirms veicu izmaiņas aptaujas datos. Pārveidotie dati ir pieejami šeit. Visas uzvednes (prompts) rakstīju angļu valodā, bet gala variantu modelim liku pārtulkot latviešu valodā.


Pašlaik ChatGPT canvas ir pieejams maksas lietotājiem (Plus, Team un Enterprise plāniem). Bezmaksas pieeju OpenAI nodrošinās pēc canvas testēšanas pabeigšanas (šobrīd tā ir beta versijā).
Lai strādātu canvas rīkā, es vispirms izvēlos modeli “GPT-4o with canvas”:

ChatGPT rīkā pieejamie modeļi

Tad augšuplādēju aptaujas datus un uzvednē pievienoju kontekstu, paskaidrojot, ko katra kolonna un to vērtības nozīmē. Tāpat sniedzu konkrētus norādījumus datu analīzei un papildu punktus, kurus modelim jāņem vērā. Bez konteksta modelim būtu grūti saprast atsevišķu kolonnu nozīmi. Pilnu uzvednes tekstu skatīt šeit.

Pēc datu un uzvednes ievadīšanas, ChatGPT uzsāk datu analīzi. Taču rīks ir diezgan “slinks”, jo tas ātri vien pārstāj analizēt datus — tas ik pa laikam apstājas un piedāvā nākamos analīzes soļus, tāpēc lietotājam jāizvēlas kādi no piedāvātajiem soļiem vai uzvednē jāieraksta citi analīzes soļi:

ChatGPT piedāvātie varianti turpmākai analīzes veikšanai

OpenAI ir apmācījis modeli atpazīt brīdi, kad lietotājs vēlas izmantot canvas, tāpēc dažkārt rīks automātiski atver šo sadaļu uzreiz pēc datu analīzes. Ja tā nenotiek, tad canvas funkcionalitāti iniciē, čatā ierakstot: “use canvas”. Es izmantoju šādu uzvedni: “Create the analysis report based on the information that you know so far (including plots as well).”.

ChatGPT apkopo analīzi melnraksta formā canvas vidē, kuru lietotājs var rediģēt:

ChatGPT-4o ģenerēts apraksts (1. versija), ņemot vērā iepriekš veikto datu analīzi

Novēroju, ka analīzes apraksta pirmajā versijā ir maz norādes uz to, cik daudz respondentu (skaits un %) atbildēja uz konkrēto jautājumu. Citās analīzes versijās skaitļi netika norādīti vispār, pat ja es biju tos pieprasījis sākotnējā uzvednē. Tāpēc ChatGPT šādos gadījumos ir vēlreiz jāatgādina pievienot mērījumus un pievērsiet uzmanību to pareizībai, jo valodu modelis mēdz skaitļus izdomāt. Te piemērs no vienas analīzes versijām, kur respondentu skaits un procenti ir izdomāti:

Piemērs, kad ChatGPT-4o ir izdomājis respondentu skaitu un procentus

Patiesībā uz jautājumu “Vai esat apmierināts ar dzīvi apvienotajā Cēsu novadā?” ar “jā” (jeb 1) ir atbildējuši 550 respondenti no 1 136 (jeb 48%), ar “nē” (jeb -1) ir atbildējuši 106 respondenti (9%), 453 bija neitrāli (40%) un 27 nebija snieguši atbildi uz šo jautājumu (2%).

Cita lieta, ko canvas noignorē, ir grafisko attēlu pievienošana. Pat ja čatā ir izveidoti grafiki, canvas tos neiekļauj. Šis ir būtisks trūkums, ko rīka izstrādātāji, visticamāk, ieviesīs kādā no turpmākajām canvas versijām.

Viena no canvas funkcijām ļauj mainīt atsevišķus teksta segmentus (Edit or explain…). Piemēram, analīzes sākumā vēlos, lai tajā būtu norāde, cik daudz respondenti tika iekļauti aptaujā un cik no viņiem aizpildīja anketu. Teksta fragmenta labajā pusē ir iespēja uzdot ChatGPT rīkam norādīt šajā tekstā nepieciešamo informāciju:

Edit or explain funkcionalitāte

Taču jāņem vērā, ka rīks var izdomāt skaitļus, tāpēc uzvednē jānorāda, lai skaitu rēķina ar Python palīdzību. Piemēram:

Provide quantity of respondents included in the survey and how many filled it. Use Python to calculate this.

Kā redzams, kreisajā pusē redzama datu apstrāde, bet canvas pusē apraksts tiek atjaunināts ar pareiziem skaitļiem:

Teksta fragments papildināts ar respondentu skaitu

Jāpiebilst, ka diezgan daudzās vietās bija jānorāda, lai aprakstam tiktu pievienotas nepieciešamās skaitliskās vērtības.

Cita canvas funkcionalitāte ir teksta pielāgošana mērķauditorijai (Reading level). Piemēram, ir iespējams norādīt “vidusskolas līmeni” (High School):

Canvas funkcionalitāte — mainīt teksta sarežģītību (Reading level) atkarībā no mērķauditorijas

Šajā gadījumā viss teksts pārveidots atbilstoši “vidusskolas līmenim”. Ar Show changes ir iespējams redzēt, kuras teksta daļas ir izmainītas:

Canvas funkcionalitāte — parādīt izmaiņas (Show changes)

Diemžēl canvas neparedz iespēju atsevišķus teksta segmentus atstāt nemainīgus, ja lietotājs šo teksta daļu nevēlas mainīt.

Teksta “pieslīpēšana” (add final polish) ir vēl viena canvas funkcionalitāte — tā labo pieļautās gramatikas kļūdas un nodrošina konsekventu formatējumu:

Canvas funkcionalitāte — “pieslīpēt” tekstu (Add final polish)

Kopsavilkums

Ar canvas izveidoto datu analīzi ir iespējams iepazīties šeit.

DATU
SKOLA
Datu skola ir daļa no
SCHOOL OF DATA
Pierādījumā ir spēks!

Datu skola ir te, lai žurnālisti, nevalstisko organizāciju aktīvisti, un citi sabiedrības locekļi iegūst spējas efektīvi strādāt ar datiem.