inicio mail me! sindicaci;ón

Wpisy z czerwiec 22, 2010

YouTube: algorytm 2010

Rok temu podczas drugiej edycji konkursu filmowego, wprowadziliśmy po raz pierwszy wstępną selekcję filmów na YouTube. Oceniane były: liczba wyświetleń, ilość przyznanych gwiazdek, ilość dokonanych ocen filmu. Obliczenia były dokonywane na podstawie wzoru: C(0,1AB-0,2B+1), gdzie C-ilość wyświetleń, B- ilość dokonanych ocen, A – średnia ocena filmy na YT.
Aktualnie YouTube zmienił schemat ocenia filmów. Istnieją tylko dwie opcje: pozytywny lub negatywny. Dodatkowo można sprawdzić ile osób oceniło w określony sposób dany film. W tej sytuacji zostałem zmuszony do przygotowania nowego wzoru.
Głównym celem jest wyłonieni filmów, które nie tylko mają wysoką oglądalność ale także pozytywne oceny internautów. Dysponujemy trzema zmiennymi: W – ilość wyświetleń, P – ilość pozytywnych ocen, N – ilość negatywnych ocen.
Kluczowy jest oczywiście ułamek P/N. Można by go po prostu przemnożyć przez W i zakończyć sprawę. Ale mamy tu dwa problemy:
a)    możliwość pojawienia się zera w liczniku lub mianowniku.
b)    W przypadku gdy film uzyska 2 pozytywne oceny i jedną negatywną, ułamek ma identyczną wartość jak dla 100 i 50. A bardziej zależ nam na filmach często ocenianych. W niektórych przypadkach filmy na YouTube mogą się intensywnie promować, co zupełnie może nie wiązać się z ich wartością artystyczną.
Dodałem zatem w liczniku i mianowniku wartość 20. To zlikwidowało problem zera, a także podwyższyło znaczenie liczby dokonanych ocen. Teraz aby uzyskać wyższą wartość ułamka, należy mieć odpowiednio więcej ocen. Dla opisywanego wyżej przykładu otrzymujemy: 22/21 i 120/70. Drugi, częściej oceniany film, uzyska zdecydowanie wyższą notę.
Nadal nurtował mnie jednak problem silniejszej pozycji filmów z wysoką oglądalnością względem tych, które miały mniejszą liczbę wyświetleń ale wyższe oceny pozytywne. Aby to zniwelować, pomnożyłem przez 2 ilość pozytywnych ocen a cały ułamek podniosłem do trzeciej potęgi. Powstała wersja, która najbardziej mi odpowiada:

W((2P+20)/(N+20))^3

Poniżej symulacja różnych wariantów jakie mogą się pojawić oraz odpowiadające im wartości wynikające z wzoru.

algorytm