Uppdaterar till "riktiga" chatGPT

02 mars 2023

OpenAI har släppt ett API för "riktiga" chatGPT som jag nu testar på startsidan av nyhetsfilter.se. Tidigare så använde jag API:et för Davinci-003 och nu är det API:et GPT-3.5-turbo, som alltså påstås vara det som de presenterat som "chatGPT" på OpenAIs webbsida tidigare. Anropen för GPT-3.5-turbo är lite annorlunda jämfört med de till Davinci-003, men inte mycket. Sättet som man beskriver vad man vill prata om, eller ha svar på, skiljer sig och den svarar inte lika bra med den tidigare prompten. Prompten jag använder behöver nog justeras lite. GPT-3-5-turbo verkar ha problem med att förstå att jag bara vill ha tre punkter i min punktlista och svarar ibland med fyra punkter, och länkningen till Wikipedia kommer ofta inte med. Men det bör gå att prova fram en bättre formulering på beskrivningen av vad jag vill ha.

Det nya API:et också billigare att använda. Jag har dock inte använt upp anrop för de $18 som de "bjuder på" under de första tre månaderna av användning så priset spelar inte så stor roll just nu. Vi få se om jag har råd att fortsätta använda detta när mina $18 är slut...


Denna bloggpost har skrivits av Clas, 02 mars 2023. Permalänk.


Att identifiera namn och platser i nyhetstexter

25 januari 2023

Varför ska man försöka identifiera namn och platser i nyhetstexter? Vad kan man använda det till?

För en massa år sedan så provade jag att identifiera namn i nyhetstexter och lagra dem som extra-data i samband med att nyhetstexten indexeras. Då hittade jag inte något färdigt bibliotek för detta, så jag försökte få till något bra genom att använda regular expressions. Det fungerade inte speciellt bra; men bättre än inget alls, tänkte jag. För någon månad sedan kom samma tanke upp igen och jag noterade att nu finns bibliotek för detta i Python, bl.a. SpaCy. Till SpaCy finns en färdig modell för svenska. Nu fungerar inte heller SpaCy med den svenska modellen perfekt, men mycket bättre än mina egna försök. Jag provade därför att använda SpaCy för att identifiera namn och platser i de insamlade nyhetstexterna. Det var enkelt programmerat, och vid en sökning som innehåller identifierade namn och platser så visas det nu i samband med sökresultatet för nyheten. Så långt allt väl, men vad ska jag egentligen ha detta till? Om jag vill veta vad som händer t.ex. på platsen Linköping så kan jag ju söka på Linköping på vanligt sätt, det spelar ju ingen roll om jag lagrat en identifierad plats separat i databasen, eller inte. Vill jag veta vila översvämningar det rapporterats om i Linköping så kan jag ju bara söka på orden Linköping och översvämningar. Så vad kan man använda de identifierade namnen och platserna till?

När man indexerar t.ex. platser och namn och lagrar separat så kan man göra så kallade "facets". Oklart vad "facets" heter på svenska - men det kan till exempel användas för att vid en sökning visa hur många artiklar som kommer från varje källa för en sökning. Om jag söker på "Linköping" så kan man visa att det finns 100 artiklar på Aftonbladet.se och 90 på Expressen.se, och så vidare. Om namn och platser är indexerade separat så kan man göra liknande för dessa. Det innebär att om jag t.ex söker på "översvämning" så kan man lista att för vilka platser det rapporterats om sådana, t.ex. att det finns 10 artiklar som nämner översvämning som också nämner Linköping, 8 som också nämner Norrköping, 20 som också nämner Stockholm, och så vidare. Att ta fram denna information utan att indexera platser separat skulle kräva massvis med sökningar, och också kräva att jag skapar en lista med alla de platser där översvämningar skulle kunna ha rapporterats om i förväg.

Ett sätt att använda detta skulle kunna vara att skapa nyhets-kartor med olika teman. Säg att man har en karta med temat översvämningar. Där kan man då visa upp alla orter det rapporteras om översvämningar och indikera hur mycket det skrivits om varje plats. Detta kan enkelt göras genom att göra en enda sökning på ordet översvämningar och dess synonymer, och få en lista med hur många nyhetsartiklar som publicerats som nämnt detta för alla identifierade platser.


Denna bloggpost har skrivits av Clas, 25 januari 2023. Permalänk.


Nyhetsfilter får stöd av ChatGPT

22 januari 2023

För att göra den beskrivande texten lite längre, utan att ta ännu större del av källan nyhetstext, så har jag provat med att använda OpenAIs API för ChatGPT för att skapa en bakgrund till varje nyhet. Eller, det är inte ChatGPT jag använder utan Open AIs API för GPT-3, rättare sagt, det de kallar Davinci-003. Men den fungerar liknande ChatGPT och jag har formulerat instruktionerna till den genom att skriva text på svenska. Jag har helt enkelt skrivit, ordagrant, att den ska "generera en kort historisk bakgrund till denna nyhet som en punktlist med tre punkter". Vidare har jag skrivit "Använd inga meningar från nyhetsinnehållet" och "Ange inga datum". För att göra det enkelt för mig så har jag också skrivit att den ska "generera punktlistan som HTML" och också begärt att den ska göra minst en länk till svenska Wikipedia. Resultatet för en nyhet om ett skidskytteresultat finns i bilden nedan. Jag har ringat in den länk som leder till Wikipedia.

Jag tycker att resultatet ofta blir okej. Ibland är AIn inte riktigt med, och om det är en nyhet om t.ex. Linköping så skriver den när Linköping grundades, vilket kanske är lite väl historiskt. Formuleringarna för att skapa denna bakgrund har jag laborerat med en del. Jag får viss förståelse för de som påstår att "prompt engineering" - att skapa textinstruktioner till en AI - kan bli en av framtidens viktigaste kunskaper. Att slipa på instruktionerna så att GPT-3 kan skapa det jag är ute efter kräver lite tålamod och en hel del provande. Men med tydlig instruktion så är jag imponerad av hur väl den "förstår" vad det är jag är ute efter. Att jag skriver att den ska ha med minst en länk till Wikipedia gör naturligtvis att den kan skapa en länk som känns ganska meningslös, bara för att jag krävt det. Men det är svårt att skriva en instruktion om att den bara ska ta med en länk till Wikipedia om det känns relevant, eller "passar bra", eller "tillför något". Eller hur förmedlar man sånt i en text? Framtiden kanske får utvisa även det.


Denna bloggpost har skrivits av Clas, 22 januari 2023. Permalänk.


Utvecklingsblog igen

21 januari 2023

Nyhetsfilter har fått en utvecklingsblog. Här tänkte jag att jag skulle kunna skriva lite om vad jag försöker programmera. Vissa saker kommer säkert ha direkt koppling till nyhetssökmotorn, men annat kanske rör andra små programmeringsprojekt.


Denna bloggpost har skrivits av Clas, 21 januari 2023. Permalänk.


Nyhetsfilter utvecklingsblog

Det här är utvecklingsbloggen för nyhetsfilter.se. Här skriver jag om lite allt möjligt, men det mesta har en eller annan koppling till utveckling av sajten nyhetsfilter.se.

Aktuella bloggposter

Kontakt

Tyvärr går det inte att kommentera direkt på bloggen, men det går bra att maila på clas@nic-sys.se eller skicka meddelande till @nicclas på Twitter.

RSS-feed för bloggen