Хабрастатистика: анализирање коментара читалаца

Здраво Хабр. ИН претходни део Анализирана је популарност различитих делова сајта, а истовремено се поставило питање – који се подаци могу извући из коментара на чланке. Такође сам желео да тестирам једну хипотезу, о којој ћу говорити у наставку.
Хабрастатистика: анализирање коментара читалаца

Подаци су се показали прилично занимљиви, а успели смо да саставимо и мали „мини рејтинг“ коментатора. Наставак испод реза.

Прикупљање података

За анализу ћемо користити податке за ову, 2019. годину, поготово што сам већ добио списак чланака у цсв облику. Остаје само да извучемо коментаре из сваког чланка, на нашу срећу, они се тамо чувају и не треба да се постављају додатни захтеви.

Да бисте истакли коментаре из чланка, довољан је следећи код:

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)

Ово нам омогућава да добијемо листу коментара која изгледа отприлике овако (надимци су уклоњени из разлога приватности):

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

Као што видите, за сваки коментар можемо добити корисничко име, датум, оцену и стварни текст. Хајде да видимо шта можемо да добијемо од овога.

Иначе, у почетку је идеја о прикупљању оцена била мало другачија - да се види које оцене дају корисници. На пример, можете погледати Јутјуб – чак и најидеалнији видео, чак и видео који не носи никакве субјективне информације, чисто за референцу или саопштење, ипак добија одређени број минуса. Хипотеза је била да постоје корисници којима се, чисто клинички, уопште не свиђа све, можда се серотонин не производи у мозгу или нешто друго. Можда човек више не треба да седи на Хабреу, већ да лечи депресију... Али, испоставило се, не могу да проверим ово овде, јер... списак оних који су дали оцене није сачуван у коментару или чланку. Па, то јест, радићемо са доступним подацима. Резултат је „обрнута“ оцена – можете видети које оцене _примају_ корисници. Што је, у принципу, такође занимљиво.

Прерада

За почетак, традиционално одрицање од одговорности. Ова оцена је, као и сви претходни, незванична. Не гарантујем да нигде нисам погрешио. За оне који су заинтересовани за техничке детаље, обезбеђен је детаљнији код у претходном делу.

Па хајде да почнемо. Коментари за ову, 2019. годину (која још није завршена), узети су на анализу. У време писања, корисници су писали КСНУМКС комментария, величина цсв датотеке је 288МБ. Моћно, импресивно.

Време писања

Хајде да групишемо коментаре по сатима, одвојено поделимо радне дане и викенде.

Хабрастатистика: анализирање коментара читалаца

Овде нас не занимају апсолутне вредности, већ релативне. Ако само погледате „како јесте“, онда се испостави да је тооВећина коментара је написана током радног времена од 10 до 18 😉 С друге стране, временске зоне се овде не узимају у обзир, па је питање и даље отворено.

Погледајмо дистрибуцију коментара током године:

Хабрастатистика: анализирање коментара читалаца

А опет се ротира радним данима - недељна периодичност је јасно видљива, тако да можемо са прилично високим поверењем рећи да људи читају и коментаришу Хабр са посла (али то није сигурно).

Иначе, постојала је идеја да се тестира хипотеза да ли се број примљених минуса или плусева разликује од дана или доба дана, али није било могуће пронаћи везу – време када је оцена дато није сачувано, а нема директне везе са временом коментара.

Чланови

Наравно, не знам тачан број корисника на сајту. Али они који су ове године оставили барем један коментар испоставили су се отприлике КСНУМКС људи.

Графикон броја порука које су корисници оставили изгледа прилично занимљиво:

Хабрастатистика: анализирање коментара читалаца

У почетку нисам веровао у то, али чинило се да није било грешке. 5% корисника оставља 60% порука. 10% - 74% свих порука (од тога, да подсетим, ове године 450 хиљада). Већина једноставно чита сајт, остављајући коментаре веома ретко, или их уопште не оставља (они, наравно, нису били на мојој листи).

Оцене

Пређимо на последњи и најзабавнији део статистике – оцене. Из разлога приватности, нећу давати пуне надимке корисника, мислим да ће се препознати.

На број коментара за ову годину, првих 5 заузимају ВоКСКСКСКС (3377 коментара), 0кдКСКСКСКСКС (3286 коментара), стрКСКСКСКС (3043 коментара), АмКСКСКСКС (2897 коментара) и кхКСКСКСКС (2748 коментара).

На број примљених бенефиција, топ 5 заузимају амКСКСКСКС (1395 коментара, оцене +3231/-309), твКСКСКСКС (1544 коментара, оцене +3231/-97), ВхуКСКСКСКС (921 коментар, оцене +2288/-13), МТКСКСКСКС (1328 коментара, +1383 /-7) и амаКСКСКСКС (736 коментара, оцена +1340/-16).

На апсолутно позитивна оцена (ни један негативно оцењен коментар) врх врха заузима Милфгард и Боомбурум. Изузетно, износим њихове надимке у потпуности, мислим да то заслужују.

Занимљиви су и недостаци. Топ би број наплаћених минуса за ову годину их заузимају сиКСКС (473 плуса, 699 минуса), кхКСКС (1915 плуса, 573 минуса) и ницКСКСКСКСКС (456 плуса, 487 минуса). Али као што видите, ови корисници имају довољно позитивних коментара. Али према апсолутни минус Антитема укључује владКСКСКСКС (55 коментара, 84 минуса, 0 плуса), екоКСКСКСКС (77 коментара, 92 минуса, 1 плус) и иМКСКСКСКС (225 коментара, 205 минуса, 12 плуса).

Закључак

Нисам успео да израчунам све планирано, али надам се да је било занимљиво.

Као што видите, чак и скуп података са тако малим бројем поља може пружити занимљиве податке за анализу. Има још много тога да се копа, од прављења „облака речи“ до анализе текста. Ако се појаве интересантни резултати, биће објављени.

Извор: ввв.хабр.цом

Додај коментар