Prompting chatGPT med Google Sheets

På 2023 sommerskolen på Bork Havn Efterskole, brugt jeg det meste af tiden på at prompte ChatGPT. Selv om chatbotter bliver nemmere at prompte og kan begynde at gætte på, hvad det er brugeren ønsker, giver en chatbot mest værdi, når man prompter den med konkrete og specifikke oplysninger.

Inspireret af et indlæg i FB-gruppen “ChatGPT for Teachers” af Jason Coale, fik jeg lavet et Google Sheets (regneark), som kan generere en fyldig prompt ud fra indtastede værdier. Det kan f.eks. anvendes til at give eleverne feedback på skriftlige arbejde:

  1. Jeg vurderer elevens skriftlige aflevering med score mellem 0 og 4 i nogle kategorier. F.eks:
Afbildning af data
Typen af diagram er velegnet2
Der er titel på diagrammet og titel samt enheder på akserne0
Skrevet en kommentar til diagrammer3
Argumenter for at data-punkter følger en matematisk model3

2. Hver score-værdi er forbundet med en række stikord:

0mangler i besvarelsen.
1ikke godkendt, utilstrækkeligt.
2mangelfuldt, plads til forbedring.
3fint, godt, tilstrækkeligt, nogen grad af forståelse.
4meget godt, godt arbejde, høj grad af forståelse.

3. Jeg har programmeret Google Sheets til at generere en prompt, som er sammensat af faste vendinger, forklaringer af scorerne i 0 til 4-skalaen og af de scorer, som jeg har givet eleven. En del af programmet ser ud som:

function generatePrompt() {
   var report = 'Skriv på dansk. Skriv et respons til en biologi opgave på højest 150 ord fra en lærer til en elev på gymnasieniveau. Begynd med "Hej ' + studentName + '". Skriv klart og med få tillægsord. Lad være med at skrive "Kære" og "Med venlig hilsen". Vær opmærksom på følgende scorer: '
  for (var i = 0; i < 5; i++) {
    report += i;
    report += ' = ';
    report += sheet.getRange('E' + (74+i)).getValue();
    report += ' ';
  }
  
 report += 'Vær opmærksom på at score 3 og 4 er gode og tilstrækkelige. Lad være med at vise eller nævne score værdier. Varier sproget. Lad være med at liste kategorierne i rækkefølge. Undgå generelle vendinger.'


  for (var i = 0; i < categories.length; i++) {
    for (var j = subcategoriesStartRow[i]; j <= subcategoriesEndRow[i]; j++) {
      var subcategory = sheet.getRange('C' + j).getValue();
      var rating = '';
      if (sheet.getRange('J' + j).getValue() === false) {
       rating = sheet.getRange('K' + j).getValue();
       report += ' I kategorien ' + categories[i] + subcategory + ', har eleven scoret ' + rating + '.';
      }
    }
  }
  return report;

4. Programmet genererer en prompt. Som det ses nedenfor er denne ret lang, og indeholder bl.a. mine vurderinger af elevens arbejde. Det vil tage en del tid at sætte sådan en prompt sammen for hver elev, hvis jeg ikke havde programmet. Prompten:

Skriv på dansk. Skriv et respons til en biologi opgave på højest 150 ord fra en lærer til en elev på gymnasieniveau. Begynd med “Hej Søren”. Skriv klart og med få tillægsord. Lad være med at skrive “Kære” og “Med venlig hilsen”. Vær opmærksom på følgende scorer: 0 = mangler i besvarelsen. 1 = ikke godkendt, utilstrækkeligt. 2 = mangelfuldt, plads til forbedring. 3 = fint, godt, tilstrækkeligt, nogen grad af forståelse. 4 = meget godt, godt arbejde, høj grad af forståelse. Vær opmærksom på at score 3 og 4 er gode og tilstrækkelige. Lad være med at vise eller nævne score værdier. Varier sproget. Lad være med at liste kategorierne i rækkefølge. Undgå generelle vendinger. I kategorien Afbildning af data: Typen af diagram er velegnet, har eleven scoret 2. I kategorien Afbildning af data: Der er titel på diagrammet og titel samt enheder på akserne, har eleven scoret 0. I kategorien Afbildning af data: Skrevet en kommentar til diagrammer, har eleven scoret 3. I kategorien Afbildning af data: Argumenter for at data-punkter følger en matematisk model , har eleven scoret 3.

5. Prompten gives til chatbot fx ChatGPT. Resultatet bliver et sammenskrevet feedback til eleven og kan blive som følger:

Hej Søren,

Godt arbejde med at anvende velegnede diagramtyper. Dog er det vigtigt at inkludere titel på diagrammet og enheder på akserne næste gang. Din kommentar til diagrammerne viser forståelse. Flot argumentation for, at data-punkter følger en matematisk model.

Når du præsenterer beregninger, sørg for at inkludere forklarende tekst og brug enheder på alle tal. Konklusionen på dine beregninger viser forståelse, og du har fint afrundet resultatet med hensyntagen til betydende cifre.

Godt arbejde med opgaven, Søren! Fortsæt den gode indsats.

Mvh,
Læreren

Nogle gange skriver ChatGPT de tal ind, som jeg har vurderet eleven til, selv om jeg udtrykkeligt har bedt ChatGPT om IKKE at skrive tal i svaret. Tal kunne evt. undgås mere konsekvent ved at bruge en bogstav-skala (E til A) i stedet for tal.

Eksemplet viser metoden i at have en masse præfabrikerede stikord og sætninger, som kan udvælges fra en tabel og skrives sammen til en mere præcis prompt: Chatbotten omskriver mine talvurderinger til almindeligt sprog, som eleven måske bedre forstår.

Flere spørgsmål melder sig:

  • Hvad får eleven ud af den feedback, som ChatGPT har skrevet? Får eleven samme, mere eller mindre ud af ChatGPT-feedbacken sammenlignet med den feedback jeg selv ville have skrevet?
  • Feedback’en er mest summativ og forklarer ikke eleven så klart, hvad vedkommende skal gøre for at forbedre sin præstation -kan forslag til forbedringer eller links tilføjes ud for hver kategori og integreres i feedbacken?
  • Kan der integreres fokuspunkter og progression i metoden?
  • Sparer jeg tid ved at lade ChatGPT skrive feedbacken, eller bruger jeg lige så meget (eller mere) tid ved at nedskrive mine tal-vurderinger, generere prompten, få svaret, læse det igennem og kopiere svaret til eleven?

Selv om metoden måske ikke er velegnet til elev-feedback, kan den måske bruges til andre formål. På sigt kan en chatbot måske læse elevens besvarelse og give vurderingerne i tal, som derefter kan omskrives til en sammenhængende feedback.

Udgivet i Maskinlæring, Programmering, Skriftlighed | Kommentarer lukket til Prompting chatGPT med Google Sheets

Skoleåret 2022-23 og fremtiden..

Året der gik:

Jeg synes, at jeg har succes med at uddele kladdehæfter, og i højere grad lade eleverne tegne og skrive noter i hånden. Det startede i et forløb i en biologi c klasse og er udvidet til en bioA studieretningsklasse i en måneds tid. Det har krævet, at jeg selv øver mig i, hvad jeg vil skrive på tavlen, for eleverne kopierer det ned i deres hæfte. Husk at lave tid til, at eleverne selv kan skrive delkonklusioner, som samler op på en sekvens.

I informatik har jeg lært, at størrelsen af det system, som eleverne udvikler til eksamen, også indgår i vurderingen af deres præstation.

biologi C: Forløbet om sex og kønshormoner skal skæres til, så det kan gøres kort og præcist.

Tor har besluttet at rejse til Grønland 😛

Året der kommer:

Året forsætter med at bruge artefakter til at styrke det neurale aftryk og dermed støtte hukommelsen. Få begreber. Flere tests.

HF: “Salt i havvand” frem for “Adskille salt og sand”. Adskille sand og salt er alt for kompliceret, mens at inddampe vand og veje det tilbageværende salt, vil fungere bedre. Jeg vil nok ikke gentage forsøget med at fremstille biogas, men måske satse mere på CO2-fang.

Videoafleveringer i HF frem for skriftlige afleveringer er værd at afprøve. Det vil kræve en del teknisk support.

Informatik: Jeg ved ikke, om jeg vil gentage forløbet om escape room, da det ikke siger eleverne ret meget. Måske skal de se rummet, som noget af det første, for at give dem noget inspiration. Dertil skal forløbet om kunstig intelligens gøres mere præcist.

Biologi A: Hvordan skal jeg inddrage chatbot i undervisningen? Jeg kan ikke ignorere det, men skal være tydelig i at vise eleverne, hvorfor det er vigtigt at udarbejde egne produkter. F.eks. i en aktivitet med chatbot assisteret forsøgsdesign eller chatbot genereret repons på deres opgaver.

Det bliver spændende at se hvordan eleverne tager imod moduler uden mobiltelefoner.

Udgivet i Biologi, HF, Informatik, Kemi, Skriftlighed | Kommentarer lukket til Skoleåret 2022-23 og fremtiden..

Algoritmer og data-strukturer

I efteråret 2022 har jeg fulgt og bestået kursus i Algoritmer og datastrukturer ved AU. Hvad har jeg lært?

Algoritmer er et forskningsfelt inden for datalogien, hvor man optimerer for tids- og pladsforbrug. En effektiv algoritme er mere besparende end en hurtig computer.

Nogle af de effektive algoritmer kører rekursivt dvs. kalder sig selv med et nyt argument. Rekursive algoritmer benytter en kalde-stak, hvor det sidste, som er lagt på stakken, også afvikles først (LIFO=last in, first out). Kommandoer som står før det rekursive kald, afvikles mens kaldestakken fyldes. Kommandoer som står efter det rekursive kald, afvikles mens kaldestakken tømmes.

Alternativt til en stak, bruges nogle gange en , hvor de sidste som er lagt i køen også afvikles sidst (FIFO = first in, first out). Køen kan udvides til en prioritets-kø, hver elementerne hele tiden skal sorteres efter værdi, så elementet med mindst værdi (minPQ) ligger først i køen.

De fleste event-drevne systemer som f.eks. Micro:bit og MakeCode Arcade bruger en prioritetskø til at afvikle funktioner. Når systemet registrerer en ny event, bliver den tilføjet bagest i køen, og tidligere tilføjede funktioner skal være færdige, før en ny kan afvikles. Der er undtagelser: Forever-funktionen får altid laveste prioritet og den indbyggede Pause-funktion sætter afviklingen af en funktion på pause og lægger den i en stak til pausen er slut. Dette program kan demonstrere det.

Der er mange sorterings-algoritmer, som hver har deres fordele og ulemper (fx selection sort, insertion sort, mergesort, quicksort, heapsort).

Der er mange søge-algoritmer (fx binær søgning, binære søgetræer). Binære søgetræer skal helst være balancerede (samme dybde til alle blade dvs. fra top til bund), hvilket kan opnås med rød-sorte binære søgetræer.

Grafer er samlinger af knuder forbundet af kanter. Om to knuder er forbundet, kan afgøres efter dybde-først-søgning. Korteste vej (sti) mellem to knuder kan kortlægges i en vægtet orienteret graf med Dijkstras algoritme eller i en uorienteret graf med bredde-først søgning (korteste antal kanter).

Den model af et biologisk neuralt netværk, som jeg har skrevet i JavaScript, kunne gemmes som en rettet vægtet graf, dvs. knuden er cellens soma, og linket (kanten) til en anden nervecelle er aksonet, som kan sende signal i een retning (deraf rettet graf). Aksonet kan være vægtet med en værdi, som repræsenterer synapsens følsomhed.

En rettet vægtet graf er ofte gemt i en datastruktur, hvor knuderne gemt i et array (adjacency list), hvor hvert element i arrayet indeholder en hægtet liste (linked list) af naboknuder, som knuden har en kant hen til jvf. kantens retning. Naboknuderne er gemt som objekter med værdier fx type, vægt m.v., og med en pointer til næste naboknude. Dvs. for index 2, kan man iterere over knude 2’s naboknuder ved at følge pointeren ned gennem den hægtede liste.

Et virkelig spændende kursus, og et helt nyt felt, som har åbnet sig på klem for mig, men nok ikke noget jeg kommer til at forfølge i større grad.

Udgivet i Computational thinking, Informatik, Programmering | Kommentarer lukket til Algoritmer og data-strukturer

Skrive en fagtekst

Jeg har læst bogen “Den digitale læsers hjerne” af Kresten Bjerg (Hans Reitzels forlag 3. udgave 2022), som handler om at skrive fagtekster til ikke-fagfæller. Jeg vil ridse de vigtigste pointer op, så jeg måske husker dem senere.

Bogen bygger på mekanismer, som er udledt af forsøg og overvejelser inden for neurovidenskab og psykologi. Mange af mekanismerne forklares ud fra evolutionsteorien. Tesen er, at vi er udviklet til at begrænse det kognitive arbejde, hvilket giver energi til andre formål (fx fouragering) og dermed øger den reproduktive succes.

Vi nedsætter det kognitive arbejde gennem flere mekanismer: Ved at rette vores opmærksomhed mod det genkendelige og ved at genbruge så mange mentale modeller som muligt. Fx husker vi ved hjælp af metaforer og i generelle kategorier, som indgår i associationer eller i fortællinger. Som forfatter kan man hjælpe læseren ved at skrive tekst, der lægger op til at bruge nogle af de nævnte mekanismer.

Ifølge forfatteren er de fleste vant til at læse på en mobilskærm, hvorfor læseren typisk bruger 2-3 sekunder på at læse de første linjer i hvert afsnit og vurdere om det er værd at læse videre. Læseren hopper hurtigere ud ad teksten og er derfor ofte på udkig efter nye steder at hoppe ind i teksten igen. Man kan diskutere om det er en adfærd, som forfattere til undervisningsmateriale skal forsøge at tilpasse sig eller forsøge at bryde med?

Personer med længere uddannelse er villige til at vente på en pointe, mens personer med kortere uddannelse har mindre faglig tålmodighed og skal derfor have pointen serveret tidligere.

Hvert afsnit i en tekst skal omhandle et og kun et emne. Afsnittet skal have en overskrift, som enten er en kategori, der hjælper læseren med at kategorisere ny viden, eller er en forklarende overskrift. Hjælp læseren med at organisere sin viden ved hjælp af kategorier og deres sammenhæng fx i tid (før, nu og efter), modsætninger (lys vs. mørk), placering (over og under).

Et afsnit indledes med en emnesætning, der formulerer emnet kort og overordnet. Det skal helst fortælle læseren, hvad der kan forventes at komme i afsnittet inklusiv evt. konklusioner på undersøgelser og lignende. Konklusioner skal ikke gemmes til slutningen. Afsnittet skal så vidt muligt tage udgangspunkt i noget let og kendt (eller genkendeligt) før det nye eller komplekse.

Derefter kan der komme længere uddybende sætninger med detaljer. Brug forbindere til at kæde sætningerne sammen fx “Det skyldes..”. Til slut evt. en kort opsamlende sætning.

I den enkelte sætning bør grundled være en central aktør og udsagnsled en central handling, da det nemmere tillader læseren at danne en fortælling. Grundled og udsagnsled bør være korte og stå tæt på hinanden. Undgå passiv former, hvor den der agerer er skjult fx “Der gives..”.

Brug navneord frem for stedord, fx undgå det, denne o.l. og brug samme ord for et fænomen frem for at skifte mellem forskellige ord for samme fænomen.

I forklaringer skal let før svært, overordnet før specifikt og kendt før ukendt. Forklaringen bør begynde med et emnefelt, som indeholder noget kendt eller noget som lige er blevet forklaret. Sæt det ukendte ind i den kendte kontekst. Derefter kan komme en forklaring, og forklaringen kan slutte med et fokusfelt, der indeholder et nyt begreb eller specifikke detaljer. Sæt altid et nyt begreb foran et punktum fx “, det kaldes entropi.”, og følg op med uddybende forklaring eller detaljer.

Det kan være en god ide, at bruge metaforer til at forklare begreber. Metaforer kan gøre det komplekse mere simpelt og gøre det abstrakte mere konkret, så det bliver nemmere for læseren at skabe en fortælling.

I øvrigt er det en god ide at tælle for læseren fx “Der er tre grunde til.. for det første..”. Ved punktopstillinger med lange tekster, bør hvert punkt indledes med et emneord.

Alt i alt finder jeg bogen velskrevet og anvendelig. 260 sider er for meget -jeg godt nøjes med 100 sider mindre.

Udgivet i Biologi, Bioteknologi, Informatik, Kemi, Skriftlighed | Kommentarer lukket til Skrive en fagtekst

chatGPT

Selvfølgelig det obligatoriske indlæg skrevet af chatGPT.

Input: “Skriv et bloginlæg, som handler om chatGPT”

Output: “ChatGPT er et spændende værktøj, der bruges til at generere chatbot-svar automatisk. Det er baseret på den kunstige intelligens teknologi kaldet transformativ prædiktion, der gør det muligt for chatGPT at lære og forudsige de mest passende svar på spørgsmål og samtaler.

En af de store fordele ved chatGPT er, at det kan spare virksomheder og organisationer for tid og penge, da det kan håndtere mange samtaler og spørgsmål på én gang. Dette gør det ideelt til at bruges som en del af en kundeservice-platform eller til at besvare spørgsmål fra brugere på en hjemmeside eller i en app.

ChatGPT er også meget nyttigt, når det kommer til at lære af tidligere samtaler og forbedre sin præstation over tid. Det kan for eksempel huske, hvilke spørgsmål der er blevet stillet før, og give mere præcise svar baseret på tidligere samtaler.

Derudover kan chatGPT også bruges til at generere tekst til andre formål, fx at skrive artikler eller nyheder. Dette gør det til et meget alsidigt værktøj, der kan bruges i mange forskellige sammenhænge.

Alt i alt er chatGPT et spændende værktøj, der kan hjælpe med at spare tid og penge, samt forbedre kundeservice og interaktion med brugere. Det er et nyttigt værktøj for alle, der ønsker at automatisere deres kommunikation og forbedre deres samtaler med andre mennesker.”

Udgivet i Computational thinking, Digital Dannelse, Informatik, Maskinlæring, Programmering | Kommentarer lukket til chatGPT

Blooket = Kahoot på steroider

En gang i mellem bruger jeg forskellige digitale tjenester til træning af begreber eller blot et lille break fra de øvrige arbejdsformer. De tjenester jeg bruger mest er Quizlet, LearningApps og Kahoot. Og som noget nyt også Blooket.

Hver tjeneste har sine fordele og ulemper. Quizlet Live er godt til at få eleverne til at tale sammen, mens de quizzer. Kahoot er meget larmende, men læreren kan komme med faglige pointer mellem hvert spørgsmål, og på den måde bruge Kahoot som et interaktivt tavleoplæg. LearningApps er meget grafisk fx placer begreberne korrekt på figuren, sæt figurer i rigtig rækkefølge eller fordel begreber i kategorier.

Hvor Kahoot er en quiz, er Blooket gamificeret begrebstræning. Læreren vælger og hoster et Blooket-spil, og eleverne joiner ligesom i Kahoot.

Læreren vælger hvilket sæt af begreber-definitioner, der skal anvendes, den tid/point man spiller til og spil-genren. Der 14 forskellige og de klassiske spilgenrer er repræsenteret: tower-defense, platform, tycoons, maze, battle royal m.m. Begreber og definition kan importeres fra Quizlet eller fra word/excel.

Fælles for alle spil er, at eleverne jævnligt skal svare rigtigt på spørgsmål (MC med fire svarmuligheder) for at tjene point og klare sig godt. Eleverne spiller individuelt, men deltager i det samme spil.

I modsætning til Kahoot er der meget mere grafisk interaktivitet end blot at trykke på en farve. I nogle spil skal man styre en figur, i andre skal man blot træffe valg fx hvilken af tre kister vil du åbne? I nogle spil er der en høj grad af interaktion mellem spillerne, fx er der flere spil, hvor man kan angribe hinanden -kamp afgøres af hvem der svarer korrekt på spørgsmål. I nogle spil kan man prøve at stjæle point fra hinanden -om det lykkes afgøres af om der bliver svaret korrekt på spørgsmål. I andre spil er tilfældigt hvem man stjæler fra.

De fleste spil indeholder en høj grad af tilfældighed fx det loot man får kan være meget varierende. På tavlen kan man hele tiden følge med i hvem der fører -hvilket ofte skifter ret hurtigt, givet den høje grad af tilfældighed, som er indbygget i de fleste spil.

Blooket anvender mange af de klassiske tricks inden for adfærds-design: gentagne grafiske cues når der kommer en belønning eller en straf, ingen ende på spørgsmålene, super enkel valg-arkitektur (som regel kun 2-3 valgmuligheder), tilfældighed i belønning både mht. hvad man får ud af at svare korrekt og hvornår der pludselig kommer en uventet bonus, ambient kommunikation i form af samme naive grafiske udtryk som Kahoot, så eleverne allerede er sporet ind på spil, top6-leaderboard, der anerkender dem, som klarer sig godt.

Alligevel har jeg valgt at bruge det. Og eleverne elsker det tilsyneladende. De synes, at det er sjovt, men lærer de noget? På sigt får Blooket sikkert sin plads på hylden ligesom Kahoot, og kan tages frem en gang imellem.

Udgivet i Planlægning | Kommentarer lukket til Blooket = Kahoot på steroider

Skylanders i Escape room 2022

Til et Escape room projekt har jeg leget lidt med knægtens Skylanders:

Skylander

De er baseret på et passivt RFID-tag (radiofrekvensidentifikation), som er kendt fra nøglebrikker.

Tagget er støbt ind i figuren og portalen, som figuren skal placeres på, indeholder en RFID-tag reader. Selve tagget består af en kobberspole og en mikro-chip. Elektromagnetisk stråling fra readeren inducerer en svag strøm i tagget, som chippen kører på. Chippen kan gemme få data (8 bytes) og modulere signalet fra readeren, og på den måde sende information til readeren.

I stedet for portalen, har jeg forbundet en RFID reader til en Arduino og aflæst ID fra nogle af figurerne. Linje 51 (nedenfor) gemmer et ID som en string. Fx har jeg aflæst ID for en diamant Skylander til “26 11 100 40”. Dette ID er hardcoded ind i forgreningen linje 54. Hvis denne Skylander placeres på readeren, vil Arduino’en skifte pin 2 fra low til high i en puls på 100 millisekunder (delay(100) linje 56).

Jeg må se, at få refaktoreret koden, så tjekket af ID kører via en for-løkke og ikke en række if sætninger.

Arduinoen bliver forbundet til en Micro:bit, som måler hvor lang tid pulsen varer. Hvis den er ca. 120 ms (der er ca. 20 ms forsinkelse på pulsen), er der tale om diamant Skylanderen.

https://makecode.microbit.org/_57tiWd4MtTsm

Er pulsen derimod længere fx 220 ms er det ninja-skylanderen, som er blevet placeret på readeren.

Jeg ser mange muligheder i RFID tags. Fx kan de nemt gemmes i papkasser, bøger o.l. Disse skal så placeres på readeren i en bestemt rækkefølge for at klare et puzzle.

Teknikken blev brugt at flere grupper til årets escape room. Desuden var der opgaver som inkluderede:

  • Et 1800-tals portrætmaleri, som skulle drejes så portrættet kiggede op i himlen.
  • En drejeskive-telefon, som skulle drejes korrekt.
  • En digital labyrint på micro:bit’ens 5×5 display, som skulle gennemføres med et joystick.
  • en cut-the-wire / keep-talking and nobody explodes opgave. Her skulle de rigtige ledninger klippes over baseret på en skriftlig guide.

Udgivet i Arduino, Elektronik, Informatik, Maker og DIY, Micro:bit, Programmering | Kommentarer lukket til Skylanders i Escape room 2022

Dataanalyse og Machine Learning

Jeg har fulgt og afsluttet kursus i “dataanalyse og Machine Learning” ved KU. Dvs. formelt bliver kurset udbudt af AU, men afholdes på Biocenter i KBH, fordi den kursusansvarlige arbejder der, med analyse af scanningsbilleder af hjernen.

Maskinlæring (ML) har vist lige så mange specifikke tricks og metoder, som bioteknologi. Indholdet viste sig at være med et overraskende stort fokus på de pædagogiske vinkler. Der var få tekniske gennemgange (det var op til den enkelte at læse dem), men fokus på hvordan indholdet kunne formidles til elever.

Arbejdet foregik i studiegrupper. Min gruppe endte med at arbejde med et diabetes datasæt og vi brugte KNN algoritmen til at forudsige hvem der havde diabetes. Vi valgte datasættet fordi det havde forståelige features (egenskaber) fx bmi, blodtryk, alder, køn, og vi valgte KNN, fordi det er en af de nemmeste ML-metoder at konkretisere og forklare. At det så er en non-parametrisk metode (dvs. modellen er blot de træningsdata man bruger) er mindre godt, men noget jeg kan leve med.

Kodningen foregik i Google Colab, som er et fint online begynder-IDE, men man mister hurtigt overblikket over filer og indhold, så en stram indholdsstyring er en god ide.

Kurset var også mit første møde med PeerGrade, hvilket jeg synes var ret positivt. Systemet virkede godt, og sparer sikkert underviseren for meget tid, men en meget struktureret opsamling på vigtigt indhold og pointer ville hjælpe.

Alt i alt et rigtig godt kursus, og målet er at fremstille en opgave, som jeg kan bruge i biologi omkring dataanalyse og ML fx KNN eller et NN på Winsconsin breast cancer datasættet.

Udgivet i Maskinlæring, Programmering | Kommentarer lukket til Dataanalyse og Machine Learning

Biogas!

Vi har arbejdet med bioethanol i undervisningen i mange år. Bioethanol har en række fordele dels er det flydende dvs. let håndterbart og dels kan man rimelig let bestemme koncentrationen, brændværdi, blandbarhed m.m.

Efter Putin har delvist lukket for naturgassen, og Thyra-feltet er under renovation, kan man spørge –Kan DK blive selvforsynende med biogas?

Sammen med en HF-klasse lavede jeg en blanding af hovedsageligt snittet+skyllet tang, 2xkaffegrums og en sjat gødning. Blandingen blev overhældt med pløre fra en nærliggende sump. I alt ca. 20 Liter materiale, som blev anbragt i en lukket beholder (rådne-tanken) i stinkskabet.

De første 20 dage skete der ingenting. Derefter begyndte det at boble en smule.

Rådnetanken var tilkoblet et CO2-fang, idet gassen boblede igennem en koble med afløbsrens/phenolphtalein. Derefter en kolbe til opsamling af gas (biogas-fang), som ved tilstrækkeligt tryk skubbede vand fra biogas-fang over i en tredje kolbe (vandopsamler), som havde fri adgang til luften. Dvs. den producerede biogas kan slippe ud af biogasfang, med mindre der produceres virkelig store mængder. Samtidig kan der ikke komme frisk luft ind i rådne-tanken. Systemet er sikret mod eksplosion og er sikret anaerobe forhold i rådnetanken.

Biogas er lidt mere tricky end bioethanol. Det er svært at måle på. Det kan ikke destilleres. Vi kan se, at der produceres gas, fordi det bobler og vand bliver flyttet fra biogas-fanget til vandsamleren. Det er svært at sige noget om mængden og særligt om sammensætningen af biogas, da der nok er noget CO2 i blandingen trods CO2-fanget. Særligt i starten, hvor systemet indeholder O2, produceres CO2, og phenolphtalein-indikatoren i CO2-fanget skiftede meget hurtigt til farveløs.

Det mest synlige bevis på, at der produceres biogas er at indholdet i biogas-fanget kan brænde nogle sekunder. Og det har jeg gjort ugentligt de sidste 1½ måned. Billedet til højre viser den netop synlige blå flamme.

Jeg har rigget en BMP180 tryk-måler op på en Arduino Wemos, og tænker også at forsyne den med en CO2-måler. Systemet kan sende tryk- og CO2-data til Thingspeak, så jeg kan følge processen lidt nøjere. Men om vi kommer frem til et samlet udbytte er tvivlsomt.

Udgivet i Arduino, Biologi, Bioteknologi, Informatik, Kemi, Maker og DIY | Kommentarer lukket til Biogas!

Hvor god er en AI til at besvare en skriftlig eksamensopgave?

Modellerne i maskinlæring (Machine Learning, ML) kan få noget til at ligne intelligens. Systemer, der bruger ML-modeller, kaldes i daglig tale ofte Artificial Intelligence (AI), selv om en generel AI ikke findes.

mikemacmarketing, CC BY 2.0 https://creativecommons.org/licenses/by/2.0, via Wikimedia Commons

Rune Schmidt gjorde på FB opmærksom på, at openAI har en online tjeneste, som benytter ML modeller og adgang til oplysninger på nettet, til at besvare spørgsmål. Og svarene er ikke bare et copy-paste fra Wikipedia -man kan indstille hvor unikt (kreativt) et svar skal formuleres.

Med forventning om, at model-systemet hurtigt ville fejle på viden eller sætningskonstruktion, fodrede jeg det med nogle spørgsmål fra en tilfældig biologi A eksamensopgave (2013 27. aug, opg 1). Da systemet p.t. kun bruger engelsk, er spørgsmålene oversat efter bedste evne.

1. Angiv nedarvningstypen for NF1. Begrund dit svar.

What kind of heredity does the NF1 gene exhibit?

Svar: “The NF1 gene is transmitted in an autosomal dominant pattern, which means that a person only needs to inherit one copy of the mutated gene in order to be affected by the condition. The gene is passed down from generation to generation in a family, with each successive generation having a 50% chance of inheriting the mutated gene. In some cases, the gene can be passed down from a parent who does not have the condition, but this is rare.”

Selv om ‘Angiv’ fordrer et kort svar, får systemet ikke så mange point, fordi dele af “begrund dit svar” er for generel. Der er nogle oplysninger i opgaven, som skal inddrages. En kvik elev kan dog let lave koblingen, men systemet alene kan ikke -nok fordi det ikke har fået hele teksten.

Jeg var sikker på, at systemet ville fejle på NF1, men det gen “kender” det godt. Ordet “transmitted” ville jeg ikke bruge om et gen, fordi jeg kommer til at tænke på smitsomme sygdomme, men måske er det ok på engelsk.

Der mangler nogle flere fagbegreber fx heterozygot, genotype, fænotype, allel. Så 1-0 til os!

2. Forklar, hvordan et protein som fx neurofibromin kan være med til at kontrollere cellers vækst.

Explain how a protein, i.e. neurofibromine, can regulate cell growth

Svar: “Proteins can regulate cell growth by interacting with other proteins in the cell to either promote or inhibit cell growth. For example, neurofibromine can interact with proteins that promote cell growth, such as growth factor proteins, to increase the rate of cell growth. Alternatively, neurofibromine can interact with proteins that inhibit cell growth, such as tumor suppressor proteins, to reduce the rate of cell growth.”

Svaret er igen lidt kortfattet og en dygtig elev ville nok tilføje noget om genregulering. Men svaret er acceptabelt, så 1-1.

3. Gør rede for, hvorfor et stort gen må forventes at have en høj spontan mutationsrate.

Explain why a large gene is expected to have a high rate of spontaneous mutation.

Svar: “There are several reasons why a large gene is expected to have a high rate of spontaneous mutation. First, a large gene is likely to have more DNA bases than a small gene, so there are more opportunities for mutations to occur. Second, a large gene is likely to be involved in more biochemical processes than a small gene, so it is more likely to be affected by environmental factors that can cause mutations. Finally, a large gene is likely to be more complex than a small gene, so it is more likely to contain mutations that can affect its function.”

Flot at den inddrager flere relevante forklaringer. Svaret er noget generelt, og flere detaljer ville give flere point. 1-2 til systemet.

4. Forklar, hvorfor forskellige mutationer kan medføre NF1 i forskellig sværhedsgrad

Explain why different mutations may cause varying degrees of Neurofibromatosis (navn hentet i opgaveteksten)

Svar: “Different mutations may cause varying degrees of Neurofibromatosis because they can affect different genes that are involved in the development and maintenance of the nervous system. Some mutations may only affect a single gene, while others may affect multiple genes. The severity of the condition can also be affected by the location of the mutation within the gene.”

Måske et ret kort svar fra systemet, omend det mest essentielle er med. Opgaveteksten inddrager deletion og punktmutation, så der skal flere detaljer på (og gerne en figur), hvis svaret skal give max point.

Men svaret er acceptabelt og består i sig selv Turing testen, selv om jeg godt kunne tænke mig flere konkrete detaljer og relevante begreber. 1-3 til systemet.

5. Vurder, om man ved at screene sæddonorer kan undgå at videregive NF1.

Assess wether it is possible to avoid Neurofibromatosis by screening sperm donors?

Svar: “There is no known way to prevent neurofibromatosis, as the cause is unknown. There is no way to screen sperm donors for the condition.”

Her fejler systemet. Ifølge opgaven er genfejlen og arvegangen kendt, og kan dermed findes i en gentest. Enten er modellens viden ikke opdateret (hvilket jeg tvivler på) eller spørgsmålet er ikke stillet på en sådan måde, at den kan give det rigtige svar.

Dertil bør et vurderingsspørgsmål besvares med en forklaring, der kan understøtte og give argumenter for den vurdering, der er foretaget. Her giver systemet ingen forklaring. 2-3.

Endeligt resultat: 2-3 til systemet, og med en grænse på 50% rigtige, er det bestået.

—–

Der er selvfølgelig mange mellemregninger. Måske har jeg lige ramt en opgave med mange spørgsmål på lavt taksonomisk niveau?

Systemet har svært ved at være konkret, nok fordi den mangler kontekst. Alligevel synes jeg, at den er overraskende god. Jeg tror godt, at det kan passere Turing testen (ikke til at skældne fra et menneske).

Det ville være interessant, at undersøge om systemet kan give mere konkrete svar, hvis det fik mere tekst med flere relevante fagudtryk fx ved at hvert spørgsmål blev fordelt på 3-4 underspørgsmål, og det endelige svar blev sat sammen ud fra svarene på underspørgsmålene.

Måske kræver det mere tid og fagligt overskud at formulere de fire underspørgsmål til systemet og sammenskrive svaret, end det kræver, at finde og skrive svaret selv. Men systemet har også en indstilling, hvor systemet kan udfylde et hul i en sætning, hvilket gør det nemmere at koble svarene sammen.

Desværre er det mit indtryk, at mange elever netop arbejder på den måde, at de først plukker inspiration fx på studieportalen (eller nu openAI), og derefter sammenskriver/formulerer deres “eget” svar.

Men det er ikke nyt. Vi har kæmpet mod studieportalen i flere år. Heldigvis kan systemet endnu ikke gemmes lokalt. Og sproglærerne har vist kæmpet mod AI et stykke tid (Google Translate).

  • Vi skal tænke os endnu mere om, når vi stiller faglige spørgsmål: Hvordan kan spørgsmålet stilles så kontekst-afhængigt, at et computer-system med adgang til Wikipedia, ikke kan besvare det?
  • Adskille med og uden hjælpemidler oftere.
  • “Os mod systemet” er en udfordring, der skal blive til “os med systemet”. Vi må prøve at bruge adgangen til IT-systemer, frem for kun at kæmpe imod dem.
Udgivet i Biologi, Maskinlæring, Skriftlighed | Kommentarer lukket til Hvor god er en AI til at besvare en skriftlig eksamensopgave?