Habrastatistika: lasītāju komentāru analīze

Sveiki, Habr. IN iepriekšējā daļa Tika analizēta dažādu vietnes sadaļu popularitāte, un tajā pašā laikā radās jautājums - kādus datus var iegūt no komentāriem par rakstiem. Es arī gribēju pārbaudīt vienu hipotēzi, par kuru es runāšu tālāk.
Habrastatistika: lasītāju komentāru analīze

Dati izrādījās diezgan interesanti, mums izdevās izveidot arī nelielu komentētāju “mini-reitingu”. Turpinājums zem griezuma.

Datu vākšana

Analīzei izmantosim šī, 2019. gada datus, jo īpaši tāpēc, ka esmu jau saņēmis rakstu sarakstu csv formātā. Atliek tikai izvilkt komentārus no katra raksta, mums par laimi, tie tur tiek glabāti, un nekādi papildu pieprasījumi nav jāiesniedz.

Lai izceltu komentārus no raksta, pietiek ar šādu kodu:

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)

Tas ļauj mums iegūt komentāru sarakstu, kas izskatās apmēram šādi (segvārdi ir noņemti privātuma apsvērumu dēļ):

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

Kā redzat, katram komentāram mēs varam iegūt lietotājvārdu, datumu, vērtējumu un faktisko tekstu. Apskatīsim, ko mēs no tā varam iegūt.

Starp citu, sākotnēji ideja par vērtējumu apkopošanu bija nedaudz atšķirīga - lai redzētu, kādus vērtējumus sniedz lietotāji. Piemēram, var paskatīties YouTube – pat ideālākais video, pat video, kas nenes nekādu subjektīvu informāciju, tīri uzziņai vai ziņu izlaidumam, tomēr iegūst zināmu skaitu mīnusu. Hipotēze bija tāda, ka ir lietotāji, kuriem tīri klīniski viss nepatīk, varbūt smadzenēs netiek ražots serotonīns vai kas cits. Varbūt cilvēkam vairs nav jāsēž uz Habrē, bet jāārstē depresija... Bet, kā izrādījās, es to nevaru pārbaudīt šeit, jo... to saraksts, kas deva vērtējumus, netiek saglabāts komentārā vai rakstā. Nu, tas ir, mēs strādāsim ar pieejamajiem datiem. Rezultāts ir “apgriezts” vērtējums — jūs varat redzēt, kādus vērtējumus _saņem_ lietotāji. Kas principā arī ir interesanti.

Pārstrādes

Sākumā tradicionālā atruna. Šis vērtējums, tāpat kā visi iepriekšējie, ir neoficiāls. Negarantēju, ka nekur neesmu kļūdījies. Tiem, kurus interesē tehniskās detaļas, tiek sniegts detalizētāks kods iepriekšējā daļā.

Tātad sāksim. Analīzei tika ņemti komentāri par šo, 2019. gadu (kas vēl nav beidzies). Rakstīšanas laikā lietotāji rakstīja 448533 комментария, csv faila lielums ir 288 MB. Spēcīgs, iespaidīgs.

Rakstīšanas laiks

Grupēsim komentārus pa stundām, darba dienas un nedēļas nogales sadalot atsevišķi.

Habrastatistika: lasītāju komentāru analīze

Šeit mūs neinteresē absolūtās vērtības, bet gan relatīvās. Ja paskatās uz to "kā tas ir", tad izrādās, ka tāоLielākā daļa komentāru tika rakstīti darba laikā no 10 līdz 18 😉 Savukārt laika joslas šeit netiek ņemtas vērā, tāpēc jautājums joprojām ir atklāts.

Apskatīsim komentāru sadalījumu visa gada garumā:

Habrastatistika: lasītāju komentāru analīze

Un tomēr tas rotē ir skaidri redzams darba dienās - nedēļas periodiskums ir skaidri redzams, tāpēc mēs varam ar diezgan lielu pārliecību teikt, ka cilvēki lasa un komentē Habr no darba (bet tas nav droši).

Starp citu, bija doma pārbaudīt hipotēzi, vai saņemto mīnusu vai plusu skaits atšķiras no diennakts vai diennakts laika, taču sakarību atrast neizdevās - vērtējuma došanas laiks netiek saglabāts, un nav tiešas saistības ar komentāra laiku.

Biedri

Protams, es nezinu precīzu vietnes lietotāju skaitu. Bet tie, kas šogad atstāja vismaz vienu komentāru, izrādījās aptuveni 25000 cilvēki.

Lietotāju atstāto ziņojumu skaita grafiks izskatās diezgan interesants:

Habrastatistika: lasītāju komentāru analīze

Sākumā es pati tam neticēju, bet šķita, ka nav nekādas kļūdas. 5% lietotāju atstāj 60% ziņojumu. 10% - 74% no visām ziņām (no kurām, atgādināšu, šogad 450 tūkst.). Lielākā daļa vietni vienkārši lasa, atstājot komentārus ļoti reti vai neatstājot tos vispār (tie, protams, nebija iekļauti manā sarakstā).

Vērtējumi

Pārejam uz pēdējo un jautrāko statistikas daļu – vērtējumiem. Privātuma dēļ pilnus lietotāju segvārdus nedošu, kurš gribēs, domāju, ka atpazīs sevi.

Par komentāru skaits šogad pirmajā piecniekā ir VoXXXX (5 komentāri), 3377xdXXXXX (0 komentāri), strXXXX (3286 komentāri), AmXXXX (3043 komentāri) un khXXXX (2897 komentāri).

Par saņemto pabalstu skaits, top 5 ieņem amXXXX (1395 komentāri, vērtējumi +3231/-309), tvXXXX (1544 komentāri, vērtējumi +3231/-97), WhuXXXX (921 komentāri, vērtējumi +2288/-13), MTXXXX (1328 komentāri, +1383 /-7) un amaXXXX (736 komentāri, vērtējums +1340/-16).

Par absolūti pozitīvs vērtējums (neviens nav negatīvi novērtēts komentārs) topa augšdaļu aizņem Milfgarda и Boomburum. Izņēmuma kārtā viņu nikus izklāstu pilnībā, manuprāt, viņi to ir pelnījuši.

Interesanti ir arī mīnusi. Augšā pēc savākto mīnusu skaits šogad tos aizņem siXX (473 plusi, 699 mīnusi), khXX (1915 plusi, 573 mīnusi) un nicXXXXX (456 plusi, 487 mīnusi). Bet, kā redzat, šiem lietotājiem ir pietiekami daudz pozitīvu komentāru. Bet saskaņā ar absolūts mīnuss Antitopā ietilpst vladXXXX (55 komentāri, 84 mīnusi, 0 plusi), ekoXXXX (77 komentāri, 92 mīnusi, 1 plus) un iMXXXX (225 komentāri, 205 mīnusi, 12 plusi).

Secinājums

Visu plānoto nepaspēju izskaitļot, bet ceru, ka bija interesanti.

Kā redzat, pat datu kopa ar tik mazu lauku skaitu var sniegt interesantus datus analīzei. Joprojām ir daudz kas jāiedziļinās, sākot no “vārdu mākoņa” veidošanas līdz teksta analīzei. Ja parādīsies kādi interesanti rezultāti, tie tiks publicēti.

Avots: www.habr.com

Pievieno komentāru