ハブラ統計: 読者のコメントの分析

こんにちは、ハブです。 で 前の部分 サイトのさまざまなセクションの人気が分析されましたが、同時に、記事のコメントからどのようなデータを抽出できるのかという疑問も生じました。 また、以下で説明する XNUMX つの仮説を検証したいと思いました。
ハブラ統計: 読者のコメントの分析

データは非常に興味深いものであることが判明し、コメンテーターの小規模な「ミニ評価」を作成することもできました。 カットの下に続きます。

データ収集

分析には、すでに CSV 形式で記事のリストを受け取っているため、今年 (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,А не важно главное в итоге в плюсе оказаться

ご覧のとおり、コメントごとにユーザー名、日付、評価、および実際のテキストを取得できます。 これから何が得られるか見てみましょう。

ちなみに、当初、評価を収集するという考えは少し異なり、ユーザーがどのような評価を与えているかを確認することでした。 たとえば、YouTube を見てみると、たとえ最も理想的なビデオであっても、主観的な情報をまったく含まず、純粋に参考またはニュースリリースを目的としたビデオであっても、依然として一定数のマイナスが発生します。 その仮説は、純粋に臨床的に、何もかも気に入らないユーザーがいるということで、おそらくセロトニンが脳内で生成されないのか、あるいは他の何かであったのではないかというものでした。 もしかしたら、人はうつ病を治療するために、ハブレに座る必要がなくなったのかもしれません...しかし、結局のところ、私はここでこれを確認することができません。なぜなら... 評価をした人のリストはコメントや記事には保存されません。 つまり、利用可能なデータを使用して作業します。 結果は「逆」評価になります。ユーザーがどのような評価を「受け取った」かがわかります。 これも原理的には興味深いことです。

処理

まず、伝統的な免責事項です。 これまでのすべての評価と同様、この評価も非公式です。 どこにも間違いがなかったという保証はありません。 技術的な詳細に興味がある場合は、より詳細なコードが提供されます。 前の部分で.

それでは始めましょう。 今年、2019 年 (まだ終わっていません) のコメントが分析用に収集されました。 この記事の執筆時点では、ユーザーは次のように書いています 448533комментария、csv ファイルのサイズは 288MB。 力強く、印象的です。

執筆時間

平日と週末を分けて、コメントを時間ごとにグループ化しましょう。

ハブラ統計: 読者のコメントの分析

ここでは絶対値ではなく、相対値に興味があります。 「ありのまま」を見てみると、оコメントのほとんどは、10 時から 18 時までの勤務時間中に書かれました 😉 一方、ここではタイムゾーンは考慮されていないため、質問はまだ受付中です。

年間を通してのコメントの分布を見てみましょう。

ハブラ統計: 読者のコメントの分析

それでもそれは回転しており、平日に急増がはっきりと見られ、毎週の周期性がはっきりと見られるため、人々が職場から Habr を読んだりコメントしたりしているとかなり高い自信を持って言えます (ただし、これは確実ではありません)。

ちなみに、受け取ったマイナスまたはプラスの数が日や時刻によって異なるかどうかという仮説を検証するというアイデアがありましたが、関係を見つけることはできませんでした。評価が与えられた時間は保存されず、コメントの時点と直接の関係はありません。

メンバー

もちろん、サイトの正確なユーザー数はわかりません。 しかし、今年少なくとも XNUMX つのコメントを残した人たちは、およそ 25000人.

ユーザーが残したメッセージ数のグラフは非常に興味深いものに見えます。

ハブラ統計: 読者のコメントの分析

最初は自分でも信じられませんでしたが、どうやら間違いではないようです。 ユーザーの 5% がメッセージの 60% を残す。 全メッセージの 10% ~ 74% (念のため言っておきますが、今年はそのうち 450 万件)。 大多数は単にサイトを読むだけで、コメントを残すことはめったにないか、まったく残さないこともあります (当然、それらは私のリストには含まれていませんでした)。

評価

統計の最後で最も興味深い部分である評価に移りましょう。 プライバシー上の理由から、ユーザーの完全なニックネームは教えませんが、希望する人は誰でも自分自身を認識できると思います。

上の コメント数 今年のトップ 5 は、VoXXXX (3377 コメント)、0xdXXXXX (3286 コメント)、strXXXX (3043 コメント)、AmXXXX (2897 コメント)、khXXXX (2748 コメント) で占められています。

上の 受け取った特典の数、トップ 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 件) が含まれます。

まとめ

予定していたすべてを計算することはできませんでしたが、面白かったら幸いです。

ご覧のとおり、フィールドの数が非常に少ないデータセットでも、分析に興味深いデータを提供できます。 「ワード クラウド」の構築からテキスト分析まで、掘り下げることはまだたくさんあります。 興味深い結果が得られれば、公開される予定です。

出所: habr.com

コメントを追加します