Muckraker

I intend to do what little one man can do to awaken the public conscience, and in the meantime I am not frightened by your menaces. – Upton Sinclair

Dagen derpå med Copilot

De siste ukene har jeg testet ut ulike måter å bruke Python-programmering og Copilot på i journalisthverdagen.

Noen ting har vært veldig produktivitetsøkende, mens andre har vært et skjær i sjøen.

Som tidligere forklart benytter jeg Visual Studios kodemiljø med integrert Copilot i alt jeg gjør. Setter du Copilot i agentmodus kan det gå riktig fort for enkle oppgaver. 

Brreg og regnskapsregisteret

Desverre tilbyr ikke Brreg historisk regnskapsdata i APIen som er tilgjengelig fra regnskapsregisteret. Se her: https://data.brreg.no/regnskapsregisteret/regnskap/swagger-ui/swagger-ui/index.html

Det eneste du får er siste tilgjengelige regnskapstall som selskapet har innsendt. Du får heller ikke noteinformasjonen. Dette bør virkelig forbedres i et demokratisk- og kontrollperspektiv.

Jeg har testet ulike fremgangsmetoder, og den letteste måten for meg å få regnskapstallene fra alle selskapene i en bransje har vært å først gjøre en spørring mot enhetsregisteret med bransjekode: https://data.brreg.no/enhetsregisteret/api/dokumentasjon/no/index.html

Deretter bruke datasettet til å be Copilot gjøre en spørring mot regnskapsregisteret. For mindre bransjer går dette relativt fort.

Tjenester som Enin.no gir deg imidlertid API der du kan hente ned historisk informasjon. Så sjekk det ut hvis du trenger mer.

Når du så har datasettet er det lekende lett å be Copilot trekke ut spesifikke variabler og lage grafer som du spesifiserer.  Du kan også kjøre spørringer direkte uten å måtte gå via excel.

Trives du bedre i Excel er det bare å be copilot trekke ut de variablene/enhetene/regionene o.l. du er opptatt av for å lage et nytt datasett i Excel.

Men fremover bruker jeg selv Copilot i hverdagen som Excel-Ninja.

Scraping

Scraping av nettsider kan være veldig nyttig i en kjapp nyhetsløp. For eksempel når Oljefondets Israel-investeringer blåse opp i nyhetene, kastet de fleste større redaksjoner seg rundt.

Et sentralt punkt var å få oversikt over hvilke selskaper som kunne være interessante å analysere videre opp mot Oljefondets investeringer.

For eksempel fører organisasjonen Who Profits en egen liste over svartelistede selskaper. Denne oversikten: https://www.whoprofits.org/companies/all kunne man raskt be Copilot hente ut og legge i et eget Excel-dokument.

Deretter har OHCHR en liste over selskaper de mener er med å bryte folkeretten:https://www.ohchr.org/sites/default/files/documents/hrbodies/hrcouncil/sessions-regular/session31/database-hrc3136/23-06-30-Update-israeli-settlement-opt-database-hrc3136.pdf

Denne PDFen kan man også raskt be Copilot gjennomlese, og be den hente ut selskapsnavenene ved å spesifisere hvilke «headere» de ligger under (i dette tilfelle B: Business enterprises involved in listed activities, etc.).

Deretter slå man de to datasettene man har sammen i en ny Excel-fil, og ber Copilot slette merke hvilke selskaper som er på hvilke lister eller på begge lister. Den må også slette duplikater.

Så laster man ned Oljefondets investeringer her: https://www.nbim.no/no/investeringene/investeringsoversikt/#/ og ber Copilot sammenligne de to, og trekke ut de selskapsnavnene som er på begge, samt oljefondets posisjon (aksjeandel etc).

Oppsummert: For enkle skrapejobber fra nettsider og PDFer med enkel struktur er Copilot effektiv. Arbeidet ovenfor tok mindre enn 20 min!

Men i det PDFene inneholder :

  • Forskjellige headere for samme informasjon,
  • Ikke like linjer o.l., 
  • Noen ganger ett navn, andre ganger to eller flere, på samme linje,

I slike tilfeller vil den ofte slite med å fungere effektivt. Et eksempel vil være å scrape dommer, der jeg ikke har fått det til å fungere effektivt enda.

Til slutt testet jeg ut scraping av Google-søk og bruk av sparringer mot ChatGPTs API:

Noe som ikke fungerte effektivt var å sette opp en scraper av Google-søk. Da må man først skaffe seg en såkalt rotating proxy (mange tilbyr dette) så ikke Google stanser forsøkene. Det betyr at den bruker en mengde forskjellige måter å søke på for ikke å bli stanset. Jeg fikk det til å fungere, men den fungerte ikke effektivt.

Hvorfor ikke? Den fant navnene som allerede var skrevet om, men ikke de som ingen hadde skrevet om enda. Den måtte også søke hvert enkelt navn på Oljefondets investeringer særskilt.

En annen metode som ikke fungerte var å sette opp et søk mot ChatGPTs API (https://platform.openai.com/docs/overview). Det betyr at programmet søker opp hvert av oljefondets investeringer, og ber ChatGPT vurdere om det er koblet til Israels krigføring eller okkupasjon.

Også denne fant bare de opplagte koblingene til Israel (som hvor selskapet hadde hovedkontor). Som kjent baserer den seg på treningsdata, og mesteparten av svarene var resonnement der hallusinasjon også er en fare. 

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *