Habrastatistics: pag-analisar sa mga komento sa magbabasa

Hello Habr. SA miaging bahin Ang pagkapopular sa lainlaing mga seksyon sa site gisusi, ug sa samang higayon mitungha ang pangutana - unsa nga datos ang makuha gikan sa mga komento sa mga artikulo. Gusto usab nako nga sulayan ang usa ka hypothesis, nga akong hisgutan sa ubos.
Habrastatistics: pag-analisar sa mga komento sa magbabasa

Ang datos nahimo nga makapaikag kaayo; nakahimo usab kami paghimo usa ka gamay nga "mini-rating" sa mga komentarista. Nagpadayon ubos sa pagputol.

Pagkolekta sa datos

Para sa pagtuki, atong gamiton ang datos para karong tuiga, 2019, ilabina kay nakadawat na kog listahan sa mga artikulo sa pormang csv. Ang nahabilin mao ang pagkuha sa mga komento gikan sa matag artikulo; maayo na lang alang kanamo, kini gitipigan didto, ug wala’y kinahanglan nga dugang nga mga hangyo.

Aron ma-highlight ang mga komento gikan sa usa ka artikulo, ang mosunod nga code igo na:

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)

Gitugotan kami niini nga makakuha usa ka lista sa mga komento nga ingon niini (gitangtang ang mga angga tungod sa mga hinungdan sa pagkapribado):

xxxxxxx,2019-02-06 11:50:00,0,А ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ?
xxxxxxx-02-24 16:15:00,+1,ПобольшС Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ нСзависимыС ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ источники Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°ΠΊΠΈΡ… вопросов Π½Π΅ Π±Ρ‹Π»ΠΎ.
xxxxxxx,2019-02-23 20:15:00,–5,А Π½Π΅ Π²Π°ΠΆΠ½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ Π² ΠΈΡ‚ΠΎΠ³Π΅ Π² плюсС ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ

Sama sa imong nakita, alang sa matag komento makuha namon ang ngalan sa gumagamit, petsa, rating, ug ang tinuud nga teksto. Atong tan-awon kon unsay atong makuha gikan niini.

Pinaagi sa dalan, sa sinugdan, ang ideya sa pagkolekta sa mga rating medyo lahi - aron makita kung unsang mga rating ang gihatag sa mga tiggamit. Pananglitan, mahimo nimong tan-awon ang YouTube - bisan ang labing maayo nga video, bisan ang usa ka video nga wala magdala bisan unsang suhetibong impormasyon, alang lamang sa pakisayran o pagpagawas sa balita, nakakuha gihapon usa ka piho nga gidaghanon sa mga minus. Ang pangagpas mao nga adunay mga tiggamit nga, puro klinikal, dili ganahan sa tanan, tingali ang serotonin wala gihimo sa utok o uban pa. Tingali ang usa ka tawo dili na kinahanglan nga molingkod sa HabrΓ©, apan sa pagtratar sa depresyon ... Apan ingon nga kini nahimo, dili nako masusi kini dinhi, tungod kay ... ang lista sa mga naghatag ug rating wala ma-save sa komento o artikulo. Aw, kana mao, magtrabaho kami sa magamit nga datos. Ang resulta usa ka "reverse" nga rating - makita nimo kung unsa nga mga rating ang _madawat_ sa mga tiggamit. Nga, sa prinsipyo, makapaikag usab.

Pagproseso

Sa pagsugod, usa ka tradisyonal nga disclaimer. Kini nga rating, sama sa tanan nga nauna, dili opisyal. Dili ko garantiya nga wala ko masayop bisan asa. Para sa mga interesado sa teknikal nga mga detalye, mas detalyado nga code ang gihatag sa miaging bahin.

So sugdan na nato. Ang mga komento para karong tuiga, 2019 (nga wala pa matapos), gikuha alang sa pagtuki. Sa panahon sa pagsulat, ang mga tiggamit nagsulat Mga komento sa 448533, ang gidak-on sa csv file kay 288MB. Gamhanan, impresibo.

Panahon sa pagsulat

Atong grupoon ang mga komento sa oras, bahinon ang mga adlaw sa semana ug mga hinapos sa semana.

Habrastatistics: pag-analisar sa mga komento sa magbabasa

Dinhi dili kami interesado sa hingpit nga mga kantidad, apan sa mga paryente. Kung imong tan-awon lang kini "ingon nga kini", nan kini nahimo nga kanaΠΎKadaghanan sa mga komento gisulat sa oras sa pagtrabaho gikan sa 10 hangtod 18 πŸ˜‰ Sa laing bahin, ang mga time zone wala gikonsiderar dinhi, mao nga bukas gihapon ang pangutana.

Atong tan-awon ang pag-apod-apod sa mga komento sa tibuok tuig:

Habrastatistics: pag-analisar sa mga komento sa magbabasa

Ug bisan pa kini nagtuyok; ang usa ka pagdagsang klaro nga makita sa mga adlaw sa semana - ang matag semana nga periodicity tin-aw nga makita, aron makaingon kita nga adunay taas nga pagsalig nga ang mga tawo nagbasa ug nagkomento sa Habr gikan sa trabaho (apan dili kini sigurado).

Pinaagi sa dalan, adunay usa ka ideya nga sulayan ang pangagpas kung ang gidaghanon sa mga minus o plus nga nadawat lahi gikan sa adlaw o oras sa adlaw, apan dili posible nga makit-an ang usa ka relasyon - ang oras nga gihatag ang rating wala maluwas, ug walay direktang koneksyon sa oras sa komento.

Mga tiggamit

Siyempre, wala ko mahibal-an ang eksaktong gidaghanon sa mga tiggamit sa site. Apan kadtong nagbilin bisan usa ka komento karong tuiga nahimo nga gibanabana 25000 nga mga tawo.

Ang graph sa gidaghanon sa mga mensahe nga gibilin sa mga tiggamit tan-awon nga makapaikag:

Habrastatistics: pag-analisar sa mga komento sa magbabasa

Sa sinugdan dili ko motuo niini, apan morag walay sayop. Ang 5% sa mga tiggamit nagbilin sa 60% sa mga mensahe. 10% - 74% sa tanan nga mga mensahe (nga, pahinumdoman ko ikaw, karong tuiga, 450 ka libo). Ang kadaghanan yano nga nagbasa sa site, nagbilin ug mga komento nga panagsa ra, o wala gyud kini gibiyaan (kana, natural, wala giapil sa akong lista).

Ratings

Mopadayon kita sa katapusan ug labing makalingaw nga bahin sa estadistika - mga rating. Alang sa mga hinungdan sa pagkapribado, dili nako ihatag ang tibuuk nga mga angga sa mga tiggamit, bisan kinsa nga gusto, sa akong hunahuna, makaila sa ilang kaugalingon.

Pinaagi sa gidaghanon sa mga komento para karong tuiga, ang top 5 giokupahan sa VoXXXX (3377 comments), 0xdXXXXX (3286 comments), strXXXX (3043 comments), AmXXXX (2897 comments) ug khXXXX (2748 comments).

Pinaagi sa gidaghanon sa mga benepisyo nga nadawat, top 5 kay giokupahan sa amXXXX (1395 comments, ratings +3231/-309), tvXXXX (1544 comments, ratings +3231/-97), WhuXXXX (921 comments, ratings +2288/-13), MTXXXX (1328 comments, +1383 /-7) ug amaXXXX (736 komento, rating +1340/-16).

Pinaagi sa hingpit nga positibo nga rating (wala negatibo nga gihatagan og komentaryo) ang tumoy sa ibabaw giokupahan sa Milfgard ΠΈ Boomburum. Isip usa ka eksepsiyon, akong gipresentar ang ilang mga angga sa hingpit, sa akong hunahuna sila angayan niini.

Makapainteres usab ang mga kakulangan. Ibabaw sa gidaghanon sa mga minus nga nakolekta alang niining tuiga sila giokupar sa siXX (473 plus, 699 minus), khXX (1915 plus, 573 minus) ug nicXXXX (456 plus, 487 minus). Apan sama sa imong nakita, kini nga mga tiggamit adunay igo nga positibo nga mga komento. Apan sumala sa hingpit nga minus Ang antitopic naglakip sa vladXXXX (55 comments, 84 minuses, 0 pluses), ekoXXXX (77 comments, 92 minuses, 1 plus) ug iMXXXX (225 comments, 205 minuses, 12 pluses).

konklusyon

Dili nako makalkula ang tanan nga giplano, apan nanghinaut ko nga kini makapaikag.

Sama sa imong makita, bisan ang usa ka dataset nga adunay ingon ka gamay nga gidaghanon sa mga natad makahatag makapaikag nga datos alang sa pagtuki. Daghan pa ang kinahanglan pangitaon, gikan sa paghimo og "pulong nga panganod" hangtod sa pagtuki sa teksto. Kung adunay bisan unsang makapaikag nga mga resulta nga motumaw, kini i-publish.

Source: www.habr.com

Idugang sa usa ka comment