Габрастистика: оқырман пікірлерін талдау

Сәлем Хабр. IN алдыңғы бөлім Сайттың әртүрлі бөлімдерінің танымалдылығы талданды және бір уақытта сұрақ туындады - мақалаларға түсініктемелерден қандай деректерді алуға болады. Мен сондай-ақ төменде талқылайтын бір гипотезаны тексергім келді.
Габрастистика: оқырман пікірлерін талдау

Деректер өте қызықты болды, біз сонымен қатар комментаторлардың шағын «шағын рейтингін» жасай алдық. Кесу астында жалғасты.

Деректер жинау

Талдау үшін біз биылғы 2019 жылғы деректерді қолданамыз, әсіресе мен csv форматындағы мақалалар тізімін алғандықтан. Әр мақаладан түсініктемелерді алу ғана қалады, олар біз үшін сол жерде сақталады және қосымша сұраулар қажет емес;

Мақаладағы пікірлерді бөлектеу үшін келесі код жеткілікті:

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,А не важно главное в итоге в плюсе оказаться

Көріп отырғаныңыздай, әрбір түсініктеме үшін біз пайдаланушы атын, күнін, рейтингін және нақты мәтінді ала аламыз. Бұдан не алуға болатынын көрейік.

Айтпақшы, бастапқыда рейтингтерді жинау идеясы сәл басқаша болды - пайдаланушылардың қандай рейтингтер беретінін көру. Мысалы, сіз YouTube-ті көре аласыз - тіпті ең тамаша бейне, тіпті ешқандай субъективті ақпараты жоқ бейне, тек анықтамалық немесе жаңалық шығарылымы үшін әлі де белгілі бір минустарға ие болады. Гипотеза, таза клиникалық түрде барлығын ұнатпайтын пайдаланушылар бар, мүмкін серотонин мида немесе басқа нәрседе өндірілмейді. Мүмкін адамға енді Хабреге отыру керек емес, депрессияны емдеу керек... Бірақ, белгілі болғандай, мен мұны мұнда тексере алмаймын, өйткені... баға бергендердің тізімі түсініктемеде немесе мақалада сақталмайды. Яғни, біз қолда бар деректермен жұмыс істейміз. Нәтиже – «кері» рейтинг – пайдаланушылар қандай рейтингтерді _алатынын көре аласыз. Бұл, негізінен, қызықты.

Өңдеу

Бастау үшін, дәстүрлі жауапкершіліктен бас тарту. Бұл рейтинг, барлық алдыңғылар сияқты, бейресми. Мен еш жерде қателеспегеніме кепілдік бермеймін. Техникалық мәліметтерге қызығушылық танытқандар үшін толығырақ код берілген алдыңғы бөлімде.

Ендеше, бастайық. Биылғы 2019 жылға (ол әлі аяқталмаған) пікірлер талдауға алынды. Жазу кезінде қолданушылар жазды 448533 түсініктеме, csv файлының өлшемі 288 МБ. Күшті, әсерлі.

Жазу уақыты

Пікірлерді жұмыс күндері мен демалыс күндерін бөлек бөліп сағат бойынша топтастырайық.

Габрастистика: оқырман пікірлерін талдау

Бұл жерде бізді абсолютті мәндер емес, салыстырмалы мәндер қызықтырады. Егер сіз оны «сол күйінде» қарасаңыз, онда бұл шығадыоПікірлердің көпшілігі жұмыс уақытында 10-18 аралығында жазылған😉 Екінші жағынан, бұл жерде уақыт белдеуі ескерілмейді, сондықтан сұрақ әлі ашық.

Пікірлердің жыл бойына таралуын қарастырайық:

Габрастистика: оқырман пікірлерін талдау

Дегенмен, ол жұмыс күндерінде көтерілу анық көрінеді - апта сайынғы кезеңділік анық көрінеді, сондықтан адамдар Хабрды жұмыстан оқып, түсініктеме береді деп сенімді түрде айта аламыз (бірақ бұл нақты емес).

Айтпақшы, алынған минустар немесе плюстердің саны күн немесе тәулік уақытынан айырмашылығы бар ма, гипотезаны тексеру идеясы болды, бірақ қатынасты табу мүмкін болмады - рейтинг берілген уақыт сақталмайды және түсініктеме уақытымен тікелей байланысы жоқ.

пайдаланушылар

Әрине, мен сайттағы пайдаланушылардың нақты санын білмеймін. Бірақ биыл кем дегенде бір пікір қалдырғандар шамамен болып шықты 25000 адам.

Пайдаланушылар қалдырған хабарламалар санының графигі өте қызықты көрінеді:

Габрастистика: оқырман пікірлерін талдау

Басында мен өзім сенбедім, бірақ қателік жоқ сияқты. Пайдаланушылардың 5% хабарламалардың 60% қалдырады. Барлық хабарламалардың 10% - 74% (оның ішінде естеріңізге сала кетейін, биыл 450 мың). Көпшілігі жай ғана сайтты оқиды, өте сирек пікір қалдырады немесе мүлде қалдырмайды (бұлар, әрине, менің тізіміме кірмеді).

Рейтингтер

Статистиканың соңғы және ең қызықты бөлігіне - рейтингтерге көшейік. Құпиялылық үшін мен пайдаланушылардың толық лақап атын бермеймін, кім қалайды, менің ойымша, өздерін таниды.

туралы пікірлер саны биылғы жылдың алғашқы бестігін VoXXXX (5 пікір), 3377xdXXXXX (0 пікір), strXXXX (3286 пікір), AmXXXX (3043 пікір) және khXXXX (2897 пікір) иеленді.

туралы алынған жеңілдіктер саны, топ 5-ті amXXXX (1395 пікір, рейтинг +3231/-309), tvXXXX (1544 пікір, рейтинг +3231/-97), WhuXXXX (921 пікір, рейтинг +2288/-13), MTXXXX (1328 пікір, +1383 /-7) және amaXXXX (736 пікір, рейтинг +1340/-16).

туралы абсолютті оң рейтинг (бірде-бір теріс бағаланған пікір) үстіңгі жағын басып тұр Милфгард и Бумбурум. Ерекшелік ретінде олардың лақап атын толық ұсынамын, олар соған лайық деп ойлаймын.

Кемшіліктері де қызық. Бастысы жиналған минустар саны биылғы жылы siXX (473 плюс, 699 минус), khXX (1915 плюс, 573 минус) және nicXXXXX (456 плюс, 487 минус) иеленді. Бірақ көріп отырғаныңыздай, бұл пайдаланушылардың оң пікірлері жеткілікті. Бірақ сәйкес абсолютті минус Антитопка vladXXXX (55 пікір, 84 минус, 0 плюс), ekoXXXX (77 пікір, 92 минус, 1 плюс) және iMXXXX (225 пікір, 205 минус, 12 плюс) кіреді.

қорытынды

Мен жоспарланғанның бәрін есептей алмадым, бірақ бұл қызықты болды деп үміттенемін.

Көріп отырғаныңыздай, мұндай аз өрістер саны бар деректер жиынтығы да талдау үшін қызықты деректерді бере алады. «Сөз бұлтын» құрудан бастап мәтінді талдауға дейін әлі де көп нәрсені қазып алу керек. Қандай да бір қызықты нәтижелер шықса, олар жарияланады.

Ақпарат көзі: www.habr.com

пікір қалдыру