Datu analīze ar ChatGPT canvas
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 Artifacts, Copilot 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”:
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:
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:
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:
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:
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:
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):
Š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:
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:
Kopsavilkums
- canvas rīks šobrīd ir beta versijā. Tas nozīmē, ka atsevišķas tā funkcionalitātes ir ierobežotas vai nav vispār. Piemēram, šobrīd nav iespējams pievienot grafikus un attēlus, dalīties ar galarezultātu vai to eksportēt uz .pdf, .docx u.tml. formātu. Pievienotās interneta saites pēc Add final polish izmantošanas pazūd.
- Analīzes aprakstā modelis bieži vien neiekļauj skaitļus (cik daudz respondenti ir atbildējuši uz konkrēto jautājumu u.tml.), bet prasot papildināt analīzi ar skaitļiem, pievērsiet uzmanību to pareizībai. Dažkārt modelis skaitliskās vērtības izdomā, tāpēc jāveic atkārtots pieprasījums, lai tas labotu nepareizās vērtības. Pieprasi lai skaitļus iegūst ar Python palīdzību.
- Jautājumus ieteicams uzdod angļu valodā. Galarezultātu var prasīt pārtulkot latviski vai var izmantot kādu tulkošanas rīku.
- Analīzes rezultātu šobrīd iespējams tikai kopēt, taču tas būs noformēts pēc Markdown sintakses. Tāpēc ir jāizmanto papildrīki, kas Markdown sintaksi pārveido vēlamā formātā.
- Esošās canvas funkcionalitātes nav pietiekamas, lai šobrīd ar to palīdzību uzrakstītu kvalitatīvu datu analīzi.
Ar canvas izveidoto datu analīzi ir iespējams iepazīties šeit.