Habrastatistics: analysearjen fan opmerkings fan lêzers

Hallo Habr. YN foarige diel De populariteit fan ferskate seksjes fan 'e side waard analysearre, en tagelyk ûntstie de fraach - hokker gegevens kinne wurde helle út opmerkings op artikels. Ik woe ek ien hypoteze hifkje, dy't ik hjirûnder sil beprate.
Habrastatistics: analysearjen fan opmerkings fan lêzers

De gegevens die bliken frij nijsgjirrich te wêzen, en wy koene ek in lytse "mini-rating" fan kommentators gearstalle. Fuortset ûnder de besuniging.

Data kolleksje

Foar analyse sille wy gegevens brûke foar dit jier, 2019, foaral om't ik al in list mei artikels yn csv-foarm krigen haw. Alles wat oerbliuwt is om de opmerkingen út elk artikel te heljen, gelokkich foar ús, se wurde dêr opslein, en gjin ekstra oanfragen hoege te meitsjen;

Om opmerkings út in artikel te markearjen, is de folgjende koade genôch:

r = requests.get("https://habr.com/ru/post/467453/")
data_html = r.text
comments = data_html.split('<div class="comment" id=')

comments_list = []
for comment in comments:
    body = Str(comment).find_between('<div class="comment__message', '<div class="comment__footer"').find_between('>', '</div>')# .replace('n', '-')
    if len(body) < 4: continue

    body = body.translate(str.maketrans(dict.fromkeys("tnrvf")))
    body = body.replace('"', "'").replace(',', " ").replace('<br>', ' ').replace('<p>', '').replace('</p>', '').replace('  ', ' ')

    user = Str(comment).find_between('data-user-login', '>').find_between('"', '"')
    date_str = Str(comment).find_between('<time class="comment__date-time comment__date-time_published', 'time>').find_between('>', '<')
    vote = Str(comment).find_between('<div class="voting-wjt', '</div>').find_between('<span', 'span>').find_between('>', '<')
    date = dateparser.parse(date_str)

    csv_data = "{},{},{},{}".format(user, date, vote, body)
    comments_list.append(csv_data)

Hjirmei kinne wy ​​in list mei opmerkings krije dy't der sa útsjocht (bynammen fuortsmiten om privacyredenen):

xxxxxxx,2019-02-06 11:50:00,0,А можно пример как именно?
xxxxxxx-02-24 16:15:00,+1,Побольше читайте независимые официальные источники чтобы таких вопросов не было.
xxxxxxx,2019-02-23 20:15:00,–5,А не важно главное в итоге в плюсе оказаться

Sa't jo sjen kinne, kinne wy ​​foar elke opmerking de brûkersnamme, datum, wurdearring en de eigentlike tekst krije. Litte wy sjen wat wy hjirfan kinne krije.

Trouwens, ynearsten wie it idee fan it sammeljen fan wurdearrings in bytsje oars - om te sjen hokker wurdearrings brûkers jouwe. Jo kinne bygelyks op YouTube sjen - sels de meast ideale fideo, sels in fideo dy't gjin subjektive ynformaasje befettet, puur foar referinsje as in nijsferzje, krijt noch in bepaald oantal minussen. De hypoteze wie dat der brûkers binne dy't suver klinysk net alles leuk fine, miskien wurdt serotonine net yn 'e harsens produsearre of wat oars. Miskien hoecht in persoan net mear op Habré te sitten, mar om depresje te behanneljen... Mar sa die bliken, ik kin dit hjir net kontrolearje, want... de list fan dyjingen dy't beoardielingen joegen wurdt net bewarre yn 'e opmerking of artikel. No, dat is, wy sille wurkje mei de beskikbere gegevens. It resultaat is in "omkearde" wurdearring - jo kinne sjen hokker wurdearrings _ûntfange_ troch brûkers. Wat yn prinsipe ek nijsgjirrich is.

Ferwurkjen

Om te begjinnen, in tradisjonele disclaimer. Dizze beoardieling, lykas alle eardere, is net-offisjeel. Ik garandearje net dat ik nergens in flater makke haw. Foar dyjingen dy't ynteressearre binne yn technyske details, wurdt mear detaillearre koade jûn yn it foarige diel.

Dus litte wy begjinne. Opmerkings foar dit jier, 2019 (dat noch net foarby is), waarden nommen foar analyse. Op it momint fan skriuwen skreaunen brûkers 448533 reaksje, de grutte fan it csv-bestân is 288 MB. Krêftich, yndrukwekkend.

Tiid fan skriuwen

Litte wy opmerkings groepearje per oere, wykedagen en wykeinen apart te ferdielen.

Habrastatistics: analysearjen fan opmerkings fan lêzers

Hjir binne wy ​​net ynteressearre yn absolute wearden, mar yn relative. As je it mar "sa't it is" sjogge, dan docht bliken datоDe measte opmerkingen binne skreaun yn wurktiden fan 10 oant 18 😉 Oan de oare kant wurdt hjir gjin rekken hâlden mei tiidsônes, dus de fraach is noch iepen.

Litte wy nei de ferdieling fan opmerkingen oer it jier sjen:

Habrastatistics: analysearjen fan opmerkings fan lêzers

En dochs draait it op wurkdagen dúdlik te sjen - de wyklikse periodiciteit is dúdlik te sjen, dus kinne wy ​​mei frij heech fertrouwen sizze dat minsken Habr fan it wurk lêze en kommentearje (mar dit is net wis).

Trouwens, d'r wie in idee om de hypoteze te testen oft it oantal ûntfangen minussen of plussen ferskilt fan 'e dei of tiid fan' e dei, mar it wie net mooglik om in relaasje te finen - de tiid dat de wurdearring waard jûn wurdt net bewarre, en der is gjin direkte ferbân mei de tiid fan it kommentaar.

Brûkers

Fansels wit ik net it krekte oantal brûkers op 'e side. Mar dejingen dy't dit jier op syn minst ien opmerking efterlitten, die bliken sawat te wêzen 25000 minsken.

De grafyk fan it oantal berjochten efterlitten troch brûkers sjocht der aardich ynteressant út:

Habrastatistics: analysearjen fan opmerkings fan lêzers

Earst leaude ik it sels net, mar der like gjin flater te wêzen. 5% fan brûkers litte 60% fan berjochten. 10% - 74% fan alle berjochten (wêrfan, lit my jo herinnerje, dit jier, 450 tûzen). De mearderheid lêze gewoan de side, litte opmerkings heul selden, of litte se hielendal net (dy wiene fansels net opnommen yn myn list).

Ratings

Litte wy trochgean nei it lêste en leukste diel fan 'e statistiken - wurdearrings. Om redenen fan privacy sil ik de folsleine bynammen fan de brûkers net jaan wa't dat wol, tink ik, sil harsels herkenne.

By oantal opmerkings foar dit jier wurde de top 5 beset troch VoXXXX (3377 opmerkings), 0xdXXXXX (3286 opmerkings), strXXXX (3043 opmerkings), AmXXXX (2897 reaksjes) en khXXXX (2748 reaksjes).

By oantal foardielen ûntfongen, top 5 wurde beset troch amXXXX (1395 opmerkingen, wurdearrings +3231/-309), tvXXXX (1544 opmerkings, wurdearrings +3231/-97), WhuXXXX (921 opmerkings, wurdearrings +2288/-13), MTXXXX (1328 opmerkings, +1383 /-7) en amaXXXX (736 opmerkings, wurdearring +1340/-16).

By absolute positive wurdearring (net ien negatyf beoardiele opmerking) de top fan 'e top wurdt beset troch Milfgard и Boomburum. As útsûndering presintearje ik har bynammen folslein, ik tink dat se it fertsjinje.

De neidielen binne ek nijsgjirrich. Top by oantal minussen sammele foar dit jier wurde se beset troch siXX (473 plussen, 699 minussen), khXX (1915 plussen, 573 minussen) en nicXXXXX (456 plussen, 487 minussen). Mar sa't jo sjen kinne, hawwe dizze brûkers genôch positive opmerkings. Mar neffens absolute minus De antitopic omfettet vladXXXX (55 opmerkingen, 84 minussen, 0 plussen), ekoXXXX (77 opmerkingen, 92 minussen, 1 plus) en iMXXXX (225 opmerkingen, 205 minussen, 12 plussen).

konklúzje

Ik wie net by steat om te berekkenjen alles pland, mar ik hoopje dat it wie nijsgjirrich.

Sa't jo sjen kinne, kin sels in dataset mei sa'n lyts oantal fjilden ynteressante gegevens leverje foar analyse. Der is noch in soad te graven, fan it bouwen fan in "wurdwolk" oant tekstanalyse. As der nijsgjirrige resultaten ferskine, wurde se publisearre.

Boarne: www.habr.com

Add a comment