Habrastatistics: anàlisi dels comentaris dels lectors

Hola Habr. EN part anterior Es va analitzar la popularitat de diverses seccions del lloc i, al mateix temps, va sorgir la pregunta: quines dades es poden extreure dels comentaris dels articles. També volia provar una hipòtesi, que comentaré a continuació.
Habrastatistics: anàlisi dels comentaris dels lectors

Les dades van resultar ser força interessants i també vam poder recopilar una petita "mini-valoració" dels comentaristes. Continua sota el tall.

Recopilació de dades

Per a l'anàlisi, utilitzarem les dades d'aquest any, 2019, sobretot perquè ja he rebut una llista d'articles en format csv. Només queda extreure els comentaris de cada article, afortunadament per a nosaltres, s'emmagatzemen allà i no cal fer cap petició addicional.

Per destacar els comentaris d'un article, n'hi ha prou amb el codi següent:

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)

Això ens permet obtenir una llista de comentaris semblant a això (els sobrenoms s'han eliminat per motius de privadesa):

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

Com podeu veure, per a cada comentari podem obtenir el nom d'usuari, la data, la valoració i el text real. A veure què en podem treure d'això.

Per cert, inicialment, la idea de recollir puntuacions era una mica diferent: per veure quines valoracions donen els usuaris. Per exemple, podeu mirar a YouTube: fins i tot el vídeo més ideal, fins i tot un vídeo que no conté cap informació subjectiva, només com a referència o un comunicat de premsa, encara té un cert nombre d'inconvenients. La hipòtesi era que hi ha usuaris que, purament clínicament, no els agrada gens, potser no es produeix serotonina al cervell o alguna altra cosa. Potser una persona ja no necessita seure a Habré, sinó per tractar la depressió... Però com va resultar, no ho puc comprovar aquí, perquè... la llista dels que han donat puntuacions no es guarda al comentari o article. Bé, és a dir, treballarem amb les dades disponibles. El resultat és una qualificació "inversa": podeu veure quines valoracions _reben_ els usuaris. La qual cosa, en principi, també és interessant.

Tractament

Per començar, una exempció de responsabilitat tradicional. Aquesta qualificació, com totes les anteriors, no és oficial. No garanteixo que no m'he equivocat enlloc. Per als interessats en detalls tècnics, es proporciona un codi més detallat a la part anterior.

Així que comencem. Els comentaris d'aquest any, 2019 (que encara no s'han acabat), es van prendre per analitzar. En el moment d'escriure, els usuaris van escriure 448533 комментария, la mida del fitxer csv és 288 MB. Potent, impressionant.

Moment d'escriure

Agrupem els comentaris per hores, dividint els dies laborables i els caps de setmana per separat.

Habrastatistics: anàlisi dels comentaris dels lectors

Aquí no ens interessen els valors absoluts, sinó els relatius. Si només ho mireu "tal com és", resulta que aixòоLa majoria dels comentaris s'han escrit en horari laboral de 10 a 18 😉 D'altra banda, aquí no es tenen en compte les zones horàries, per la qual cosa la pregunta continua oberta.

Vegem la distribució dels comentaris al llarg de l'any:

Habrastatistics: anàlisi dels comentaris dels lectors

I tanmateix gira; un augment és clarament visible els dies laborables: la periodicitat setmanal és clarament visible, de manera que podem dir amb força confiança que la gent està llegint i comentant Habr des de la feina (però això no és segur).

Per cert, hi va haver una idea per provar la hipòtesi si el nombre de desavantatges o avantatges rebuts difereix del dia o l'hora del dia, però no va ser possible trobar una relació: l'hora en què es va donar la qualificació no es guarda i no hi ha cap connexió directa amb el moment del comentari.

Membres

Per descomptat, no sé el nombre exacte d'usuaris del lloc. Però els que van deixar almenys un comentari aquest any van resultar ser aproximadament Persones 25000.

El gràfic del nombre de missatges deixats pels usuaris sembla força interessant:

Habrastatistics: anàlisi dels comentaris dels lectors

Al principi no m'ho vaig creure, però semblava que no hi havia cap error. El 5% dels usuaris deixen el 60% dels missatges. 10% - 74% de tots els missatges (dels quals, us recordo, aquest any, 450 mil). La majoria simplement llegia el lloc, deixant comentaris molt poques vegades, o no deixant-los gens (aquells, naturalment, no estaven inclosos a la meva llista).

Valoracions

Passem a l'última i més divertida part de les estadístiques: les valoracions. Per motius de privacitat, no donaré els sobrenoms complets dels usuaris, qui ho vulgui, crec, es reconeixerà.

En nombre de comentaris per a aquest any, els 5 primers estan ocupats per VoXXXX (3377 comentaris), 0xdXXXX (3286 comentaris), strXXXX (3043 comentaris), AmXXXX (2897 comentaris) i khXXXX (2748 comentaris).

En nombre de beneficis rebuts, els 5 primers estan ocupats per amXXXX (1395 comentaris, puntuacions +3231/-309), tvXXXX (1544 comentaris, puntuacions +3231/-97), WhuXXXX (921 comentaris, puntuacions +2288/-13), MTXXXX (1328 comentaris, +1383 /-7) i amaXXXX (736 comentaris, valoració +1340/-16).

En valoració positiva absoluta (Ningú comentari amb valoració negativa) la part superior de la part superior està ocupada per Milfgard и Boomburum. Com a excepció, presento els seus sobrenoms íntegrament, crec que s'ho mereixen.

Els inconvenients també són interessants. Arriba per nombre de desavantatges recollits per a aquest any els ocupen siXX (473 plus, 699 menys), khXX (1915 plus, 573 menys) i nicXXXXX (456 plus, 487 menys). Però com podeu veure, aquests usuaris tenen prou comentaris positius. Però segons menys absolut L'antitòpic inclou vladXXXX (55 comentaris, 84 menys, 0 avantatges), ekoXXXX (77 comentaris, 92 menys, 1 més) i iMXXXX (225 comentaris, 205 menys, 12 avantatges).

Conclusió

No he pogut calcular tot el previst, però espero que hagi estat interessant.

Com podeu veure, fins i tot un conjunt de dades amb un nombre tan petit de camps pot proporcionar dades interessants per a l'anàlisi. Encara hi ha molt per aprofundir, des de la construcció d'un "núvol de paraules" fins a l'anàlisi de textos. Si apareixen resultats interessants, es publicaran.

Font: www.habr.com

Afegeix comentari