Habrastatistiko: analizante komentojn de legantoj

Saluton Habr. EN antaŭa parto La populareco de diversaj sekcioj de la retejo estis analizita, kaj samtempe leviĝis la demando - kiaj datumoj povas esti ĉerpitaj el komentoj pri artikoloj. Mi ankaŭ volis testi unu hipotezon, kiun mi diskutos ĉi-sube.
Habrastatistiko: analizante komentojn de legantoj

La datumoj montriĝis sufiĉe interesaj, ni ankaŭ sukcesis krei malgrandan "mini-taksadon" de komentistoj. Daŭrigis sub la tranĉo.

Kolekto de datumoj

Por analizo ni uzos datumojn por ĉi tiu jaro, 2019, precipe ĉar mi jam ricevis liston de artikoloj en csv-formo. Restas nur ĉerpi la komentojn el ĉiu artikolo feliĉe por ni, ili estas konservitaj tie, kaj ne necesas fari pliajn petojn;

Por reliefigi komentojn de artikolo, la sekva kodo sufiĉas:

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)

Ĉi tio ebligas al ni ricevi liston de komentoj, kiu aspektas kiel ĉi tio (moknomoj forigitaj pro privatecaj kialoj):

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

Kiel vi povas vidi, por ĉiu komento ni povas ricevi la uzantnomon, daton, takson kaj la realan tekston. Ni vidu, kion ni povas akiri de ĉi tio.

Cetere, komence, la ideo kolekti taksojn estis iomete malsama - por vidi, kiajn taksojn donas uzantoj. Ekzemple, vi povas rigardi Jutubo - eĉ la plej ideala video, eĉ video kiu ne portas ajnan subjektivan informon, pure por referenco aŭ novaĵeldonaĵo, ankoraŭ gajnas certan nombron da minusoj. La hipotezo estis, ke ekzistas uzantoj kiuj, pure klinike, tute ne ŝatas ĉion, eble serotonino ne estas produktita en la cerbo aŭ io alia. Eble homo ne plu bezonas sidi sur Habré, sed trakti deprimon... Sed kiel montriĝis, mi ne povas kontroli ĉi tion ĉi tie, ĉar... la listo de tiuj, kiuj donis taksojn, ne estas konservita en la komento aŭ artikolo. Nu, tio estas, ni laboros kun la disponeblaj datumoj. La rezulto estas "inversa" takso - vi povas vidi kiajn taksojn _ricevas_ de uzantoj. Kio, principe, ankaŭ estas interesa.

Procezo

Komence, tradicia malgarantio. Ĉi tiu takso, kiel ĉiuj antaŭaj, estas neoficiala. Mi ne garantias, ke mi nenie faris eraron. Por tiuj, kiuj interesiĝas pri teknikaj detaloj, pli detala kodo estas provizita en la antaŭa parto.

Do ni komencu. Komentoj por ĉi tiu jaro, 2019 (kiu ankoraŭ ne finiĝis), estis prenitaj por analizo. En la momento de la skribado, uzantoj skribis 448533 komentoj, la grandeco de la csv-dosiero estas 288 MB. Potenca, impona.

Tempo de skribado

Ni grupigu komentojn laŭhoro, dividante labortagojn kaj semajnfinojn aparte.

Habrastatistiko: analizante komentojn de legantoj

Ĉi tie ni ne interesiĝas pri absolutaj valoroj, sed pri relativaj. Se vi nur rigardas ĝin "kiel ĝi estas", tiam tio rezultasоPlejparto de la komentoj estis skribitaj dum laborhoroj de 10 ĝis 18 😉 Aliflanke, horzonoj ne estas konsiderataj ĉi tie, do la demando daŭre estas malfermita.

Ni rigardu la distribuadon de komentoj tra la jaro:

Habrastatistiko: analizante komentojn de legantoj

Kaj tamen ĝi turniĝas; a surge is clearly visible on weekdays - la semajna periodeco estas klare videbla, do ni povas diri kun sufiĉe alta fido, ke homoj legas kaj komentas pri Habr (sed tio ne estas certa).

Cetere, estis ideo testi la hipotezon, ĉu la nombro da minusoj aŭ plusoj ricevitaj diferencas de la tago aŭ horo de la tago, sed ne eblis trovi rilaton - la tempo, kiun la takso estis donita, ne estas konservita, kaj ne estas rekta rilato kun la tempo de la komento.

Uzantoj

Kompreneble, mi ne scias la ĝustan nombron da uzantoj en la retejo. Sed tiuj, kiuj lasis almenaŭ unu komenton ĉi-jare, montriĝis proksimume 25000 homoj.

La grafikaĵo de la nombro da mesaĝoj lasitaj de uzantoj aspektas sufiĉe interesa:

Habrastatistiko: analizante komentojn de legantoj

Komence mi mem ne kredis ĝin, sed ŝajnis nenia eraro. 5% de uzantoj lasas 60% de mesaĝoj. 10% - 74% de ĉiuj mesaĝoj (pri kiuj, mi memorigu vin, ĉi-jare, 450 mil). La plimulto simple legis la retejon, lasante komentojn tre malofte, aŭ tute ne lasante ilin (tiuj, nature, ne estis inkluditaj en mia listo).

Ratings

Ni transiru al la lasta kaj plej amuza parto de la statistiko - taksoj. Pro privateco, mi ne donos la plenajn kromnomojn de la uzantoj, kiu volas, mi pensas, rekonos sin;

Por nombro da komentoj por ĉi tiu jaro, la supraj 5 estas okupataj de VoXXXX (3377 komentoj), 0xdXXXX (3286 komentoj), strXXXX (3043 komentoj), AmXXXX (2897 komentoj) kaj khXXXX (2748 komentoj).

Por nombro da profitoj ricevitaj, la supraj 5 estas okupataj de amXXXX (1395 komentoj, rangigoj +3231/-309), tvXXXX (1544 komentoj, rangigoj +3231/-97), WhuXXXX (921 komentoj, rangigoj +2288/-13), MTXXXX (1328 komentoj, +1383 /-7) kaj amaXXXX (736 komentoj, taksado +1340/-16).

Por absoluta pozitiva takso (neniu negative taksita komento) la supro de la supro estas okupata de Milfgard и Boomburum. Kiel escepton, mi prezentas iliajn kromnomojn plene, mi opinias, ke ili meritas.

Ankaŭ la malavantaĝoj estas interesaj. Supro de nombro da minusoj kolektitaj por ĉi tiu jaro estas okupataj de siXX (473 plusoj, 699 minusoj), khXX (1915 plusoj, 573 minusoj) kaj nicXXXXX (456 plusoj, 487 minusoj). Sed kiel vi povas vidi, ĉi tiuj uzantoj havas sufiĉe da pozitivaj komentoj. Sed laŭ absoluta minuso La kontraŭtemo inkluzivas vladXXXX (55 komentoj, 84 minusoj, 0 plusoj), ekoXXXX (77 komentoj, 92 minusoj, 1 pluso) kaj iMXXXX (225 komentoj, 205 minusoj, 12 plusoj).

konkludo

Mi ne povis kalkuli ĉion planitan, sed mi esperas, ke ĝi estis interesa.

Kiel vi povas vidi, eĉ datumaro kun tiel malgranda nombro da kampoj povas provizi interesajn datumojn por analizo. Estas ankoraŭ multe por fosi, de konstruado de "vortnubo" ĝis teksta analizo. Se aperas interesaj rezultoj, ili estos publikigitaj.

fonto: www.habr.com

Aldoni komenton