Problem G
Spudcast
Languages
en
sv
Du har bestämt dig för att ge dig in i den lukrativa världen av podcasts genom att skapa en som heter Spudcast tillsammans med dina AI-kompisar, men det är inte utan problem. Du är nämligen otroligt dålig på att skriva podcastmanus med tidsstämplar, vilket dina AI-kompisar behöver för att kunna vara med. För att underlätta denna process kom du på den smarta idéen av att sno podcasts från andra och göra om dem till podcastmanus med tidsstämplar. Just det som sades - alltså texten själv - var inte så svårt för dig att fixa men tidsstämplarna finns ingenstans. Alltså har du fått för dig att skapa en modell som gör detta åt dig för alla podcasts.
För den här uppgiften är träningsdata givet och det är inte tillåtet att hitta egen träningsdata på internet.
Indata
Ladda ner zip-filen med träningsdata och testdata. Denna hittas längst ned vid "attachments". Du kommer få en zip fil som innehåller:
-
train - Mapp som innehåller ljudfiler av en person som talar.
-
test - Mapp som innehåller ljudfiler där en eller flera personer talar, det du ska svara på.
-
test.txt - Textfil som säger hur många talare det finns totalt i varje ljudfil i test-mappen.
-
baseline.ipynb - Hur man kan ta in mp4 filen och göra om till enklare format.
-
baseline.py - Ett exempel på hur en inskickning till Kattis ska se ut.
Utdata
Notera att ni inte ska ha några mellanrum mellan tiderna, det kommer leda till fel. För varje ljudfil i test ska du skicka ut när varje talare talar (separerade med radbryt), det spelar ingen roll i vilken ordning dessa skickas ut. Detta görs på följande format: $[s1-e1,s2-e2,s3-e3] [s1-e1,s2-e2] [s1-e1,s2-e2,s3-e3,s4-e4]$ om ni har 3 personer och $s1, e1$ innebär dess första starttid och sluttid då den pratar på formatet: "mm:ss".
Poängsättning
Notera att vi kommer alltid att ordna era talare på det sätt som ger er så bra poäng som möjligt. Om du anger att någon pratar vid en sekund då den inte pratar får du $-1$ poäng, om du säger anger att någon pratar vid en sekund då den pratar får du $1$ poäng. Du kan ange personerna i vilken ordning du vill och vi kommer att placera ut vilka de är så att du får så bra poäng som möjligt. Om vi säger att $S$ är summan av alla dessa poäng och poängavdrag över alla testfiler, blir din slutpoäng:
\[ \text{Poäng} = \max (0, \min (100, \sqrt{\frac{S}{4000}}\times 100 )) \]