Habrastatistiikka: lukijoiden kommenttien analysointi

Hei Habr. SISÄÄN edellinen osa Sivuston eri osien suosiota analysoitiin, ja samalla heräsi kysymys - mitä tietoja artikkeleiden kommenteista voidaan poimia. Halusin myös testata yhtä hypoteesia, jota käsittelen alla.
Habrastatistiikka: lukijoiden kommenttien analysointi

Tiedot osoittautuivat varsin mielenkiintoisiksi, onnistuimme myös luomaan pienen "miniarvosanan" kommentoijista. Jatkuu leikkauksen alla.

Tiedonkeruu

Analyysissä käytämme tämän vuoden 2019 tietoja, varsinkin kun olen jo saanut artikkeliluettelon csv-muodossa. Jäljelle jää vain poimia kommentit jokaisesta artikkelista, onneksi ne tallennetaan, eikä lisäpyyntöjä tarvitse tehdä.

Kommenttien korostamiseksi artikkelista riittää seuraava koodi:

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)

Näin voimme saada luettelon kommenteista, jotka näyttävät tältä (lempinimet poistettu tietosuojasyistä):

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

Kuten näet, jokaisesta kommentista saamme käyttäjänimen, päivämäärän, arvosanan ja varsinaisen tekstin. Katsotaan mitä tästä saa.

Muuten, alun perin ajatus arvioiden keräämisestä oli hieman erilainen - nähdäksesi, mitä arvioita käyttäjät antavat. Voit esimerkiksi katsoa YouTubea - jopa ihanteellisin video, jopa video, joka ei sisällä subjektiivista tietoa, puhtaasti viitteeksi tai lehdistötiedotteeksi, saa silti tietyn määrän miinuksia. Hypoteesi oli, että on käyttäjiä, jotka puhtaasti kliinisesti eivät pidä kaikesta, ehkä serotoniinia ei tuoteta aivoissa tai jotain muuta. Ehkä ihmisen ei enää tarvitse istua Habrén päällä, vaan hoitaa masennusta... Mutta kuten kävi ilmi, en voi tarkistaa tätä täältä, koska... Arvosanan antaneiden luetteloa ei tallenneta kommenttiin tai artikkeliin. No, eli työskentelemme käytettävissä olevien tietojen kanssa. Tuloksena on "käänteinen" luokitus - näet, mitä arvioita käyttäjät _saavat_. Mikä on periaatteessa myös mielenkiintoista.

Käsittely

Aluksi perinteinen vastuuvapauslauseke. Tämä luokitus, kuten kaikki aiemmat, on epävirallinen. En takaa, että en ole tehnyt virhettä missään. Teknisistä yksityiskohdista kiinnostuneille tarjotaan tarkempi koodi edellisessä osassa.

Joten aloitetaan. Tämän vuoden 2019 kommentit (joka ei ole vielä ohi) otettiin analysoitavaksi. Kirjoitushetkellä käyttäjät kirjoittivat 448533 комментария, csv-tiedoston koko on 288 Mt. Tehokas, vaikuttava.

Kirjoittamisen aika

Ryhmitetään kommentit tuntien mukaan jakamalla arkipäivät ja viikonloput erikseen.

Habrastatistiikka: lukijoiden kommenttien analysointi

Tässä emme ole kiinnostuneita absoluuttisista arvoista, vaan suhteellisista arvoista. Jos vain näytät "sellaisena kuin on", niin se käyоSuurin osa kommenteista on kirjoitettu työaikana klo 10-18 😉 Toisaalta tässä ei oteta huomioon aikavyöhykkeitä, joten kysymys on edelleen auki.

Katsotaanpa kommenttien jakautumista vuoden aikana:

Habrastatistiikka: lukijoiden kommenttien analysointi

Ja silti se pyörii on selvästi nähtävissä arkipäivisin - viikoittainen jaksotus on selvästi nähtävissä, joten voimme sanoa melko suurella varmuudella, että ihmiset lukevat ja kommentoivat Habria töistä (mutta tämä ei ole varmaa).

Oli muuten idea testata hypoteesia, eroaako saatujen miinusten tai plussien määrä vuorokaudesta tai kellonajasta, mutta yhteyttä ei voitu löytää - arvosanan antoaikaa ei tallenneta, ja ei ole suoraa yhteyttä kommentin aikaan.

Jäsenet

En tietenkään tiedä tarkkaa käyttäjien määrää sivustolla. Mutta ne, jotka jättivät vähintään yhden kommentin tänä vuonna, osoittautuivat suunnilleen 25000 ihmisiä.

Kaavio käyttäjien jättämien viestien määrästä näyttää varsin mielenkiintoiselta:

Habrastatistiikka: lukijoiden kommenttien analysointi

Aluksi en uskonut sitä itse, mutta siinä ei näyttänyt olevan virhettä. 5 % käyttäjistä jättää 60 % viesteistä. 10% - 74% kaikista viesteistä (joista, haluan muistuttaa, tänä vuonna 450 tuhatta). Suurin osa vain lukee sivustoa jättäen kommentteja erittäin harvoin tai jättämättä niitä ollenkaan (näitä ei tietenkään sisällytetty luettelooni).

Arviota

Siirrytään tilastojen viimeiseen ja hauskimpaan osaan - arvioihin. Yksityisyyssyistä en anna käyttäjien täydellisiä lempinimiä, uskoakseni kuka tahansa haluaa, tunnistaa itsensä.

Päälle kommenttien määrä tänä vuonna viiden parhaan joukkoon kuuluvat VoXXXX (5 kommenttia), 3377xdXXXX (0 kommenttia), strXXXX (3286 kommenttia), AmXXXX (3043 kommenttia) ja khXXXX (2897 kommenttia).

Päälle saatujen etujen määrä, top 5:n miehittää amXXXX (1395 kommenttia, arvosanat +3231/-309), tvXXXX (1544 kommenttia, arvosanaa +3231/-97), WhuXXXX (921 kommenttia, arvosanat +2288/-13), MTXXXX (1328 kommenttia, +1383 /-7) ja amaXXXX (736 kommenttia, arvosana +1340/-16).

Päälle ehdoton positiivinen arvosana (kaikki negatiivisesti arvioitu kommentti) topin yläosassa on Milfgard и Boomburum. Poikkeuksena esitän heidän lempinimensä kokonaisuudessaan, mielestäni he ansaitsevat sen.

Huonot puolet ovat myös mielenkiintoisia. Alkuun kerättyjen miinusten määrä tänä vuonna niitä käyttävät siXX (473 plussaa, 699 miinusta), khXX (1915 plussaa, 573 miinusta) ja nicXXXXX (456 plussaa, 487 miinusta). Mutta kuten näet, näillä käyttäjillä on tarpeeksi positiivisia kommentteja. Mutta mukaan ehdoton miinus Antitopic sisältää vladXXXX (55 kommenttia, 84 miinusta, 0 plussaa), ekoXXXX (77 kommenttia, 92 miinusta, 1 plus) ja iMXXXX (225 kommenttia, 205 miinusta, 12 plussaa).

Johtopäätös

En pystynyt laskemaan kaikkea suunniteltua, mutta toivottavasti se oli mielenkiintoista.

Kuten näet, jopa tietojoukko, jossa on niin pieni määrä kenttiä, voi tarjota mielenkiintoisia tietoja analysoitavaksi. Vielä on paljon kaivettavaa "sanapilven" rakentamisesta tekstianalyysiin. Jos mielenkiintoisia tuloksia ilmenee, ne julkaistaan.

Lähde: will.com

Lisää kommentti