Habrastatistics: تحليل تعليقات القارئ. الجزء 2 ، إجابات على الأسئلة

مرحباً هبر.

في الجزء السابق ، تم تحليل رسائل مستخدمي هذا الموقع ، مما تسبب في نقاش حيوي حول موضوع المعلمات المختلفة (عدد الرسائل ، التصنيف ، "الكرمة" ، إلخ). لقد تراكمت مثل هذه الأسئلة بما يكفي لجعل الجزء الثاني.



بالنسبة لأولئك المهتمين ، ما هو طول أكبر نقاش في التعليقات لهذا العام ، وما يمكن أن يكون الحد الأقصى والحد الأدنى "كارما" للمستخدمين ، وغيرها من الإحصاءات ، من فضلك ، تحت القط.

جمع البيانات


بادئ ذي بدء ، اضطررت إلى استكمال المحلل اللغوي بحيث يجمع المزيد من البيانات. المعلومات حول تصنيف الرسائل وموضع الرسائل في سلسلة الرسائل موجودة بالفعل في HTML ، ولكن من أجل الحصول على "الكرمة" للمستخدم ، يجب تقديم طلب إضافي. بالطبع ، تم تخزين القيم مؤقتًا بحيث لا يطلب نفس المستخدم عدة مرات.

تبدو مجموعة البيانات المحدّثة الآن هكذا (تمت إزالة الأسماء المستعارة للمستخدم):

https://habr.com/ru/post/322900/,comment_19707920,comment_19706258,UserXXXX,karma:112.2,answers:1,2019-02-04 20:26:00,rating:1,up:1,down:0, ?
https://habr.com/ru/company/mailru/blog/351212/,comment_19794710,comment_19794310,UserXXXX,karma:-10.0,answers:1,2019-02-23 18:16:00,rating:3,up:5,down:-2,
...

من الحقول الإضافية ، تمت إضافة حقل الإجابات (عدد الإجابات) ، وكارما المستخدم ، بالإضافة إلى التصنيفات الإيجابية والسلبية.

وظيفة الحصول على "الكرمة" من قِبل المستخدم ، على سبيل المثال ، تبدو كما يلي:

 def get_karma(user: str): data_html = get_as_str("https://habr.com/ru/users/%s/" % user) karma = data_html.find_between('info/help/karma/', '</a>').find_between('stacked-counter__value', '/div>').find_between('>', '<').replace(",", ".").replace('–', '-') return float(karma) if len(karma) > 0 else 0.0 

كما ترون ، كل شيء بسيط للغاية ، لا علم الصواريخ. كما يجب أن نشكر مبرمجي Habr على كود HTML الواضح والملائم للتحليل.

بلغ حجم ملف CSV الناتج لهذا 2019 334 ميجابايت. يمكنك أن تبدأ التحليل. قبل البدء ، أذكرك بأن جميع البيانات المنشورة مفتوحة وعامة ، كما أنها مفهرسة بواسطة محركات البحث. ليس لدي معلومات داخلية ، كل شيء مأخوذ من صفحات هذا الموقع.

كارما


كما أوضح الجزء السابق ، "الأسئلة الكرمية" هي الأكثر أهمية ، لذلك دعونا نبدأ بها. كما تعلم ، "الكرمة" هي سمة لأي مستخدم نشط لهذا الموقع ، يمكن للمشاركين اختيار زيادتها أو تقليلها. بصراحة ، لم أتطرق مطلقًا إلى أسئلة حول كيفية عملها حقًا وما هي القيود التي تفرضها ، لذلك سأقدم فقط البيانات دون أي تعليقات خاصة.

في المجموع ، على الموقع وقت جمع التصنيف ، هناك 25،109 مستخدمًا هم الذين تركوا مرة واحدة على الأقل تعليقًا واحدًا على الأقل. من هؤلاء ، 9973 مستخدم (39٪) لديهم صفر كارما . 12346 من المستخدمين (49 ٪) لديهم كارما إيجابية ، منها 5384 من المستخدمين (21 ٪) لديهم الكرمة <= 4 و > 40 = الكرمة (هذا المستوى يسمح لك بالمشاركة في "برنامج المكافآت" وتلقي الدفع مقابل المقالات) لديه 1522 مستخدمًا (6 ٪). 2790 من المستخدمين (11 ٪) لديهم كارما سلبية .

بيانياً ، يبدو الجزء الرئيسي من التوزيع كما يلي:



عمودي - عدد المستخدمين مع هذا الكرمة. الرسم البياني هو اقتصاص على القمة ، كما المستخدمين مع صفر كارما كحد أقصى (9973 مقابل 2570 مع "كارما" 1). لا يوجد عدد قليل جدًا من المستخدمين "المتأملين" ، لكن لا يزال يتم تحويل الجدول الزمني إلى ميزة "زائد" ، ويرغب في ذلك. كيف عالية ومنخفضة يمكن أن يكون الكرمة؟

يشغل Zelenyikot (+1509.2) و Milfgard (+1471.0) و m1rko (+1039.5) و PatientZero (+986.0) و Boomburum (+881.9) و ValdikSS (+873.5) و alizikSS (+873.5) و alizikSS (+8737.5) و tangro أعلى 10 تصنيفات للكرمة. (+802.5) ، lozga (+764.7) ، و DIHALT (696.1). أعتقد أنه يمكن تهنئتهم - عمل جيد ، أيها الرجال :) إذا فاتني شخص ما - اكتب رسائل خاصة ، سأضيفها يدويًا.

بالمناسبة ، كما اتضح ، حدث خطأ في وظيفة حسابي في karmareiting - إنه لا يعالج بشكل صحيح قيمًا أكبر من 1000 (يضيف Habr مسافة إلى الرقم ، لم أكن أعرف ذلك) ، لكن الموقف نادر الحدوث ، ولم ألاحظ ذلك على الفور.

يأخذون Antitope-10 بواسطة karma ... لا ، ربما لن أقدم أسماء مستعارة لهم حتى لا تجعل مثل هؤلاء المستخدمين "إعلان" ، مهتمين ، يمكنهم القيادة في بيانات من لقطة شاشة أسفل المفسد. بطبيعة الحال ، فإن الكرمة السلبية على الموقع فقط تقول أن الشخص يعبر عن رأي لا يحظى بشعبية على هذا الموقع ، ولا يقول أي شيء عن صفاته الشخصية ، بحيث يُطلب من أولئك الذين يقعون في "antitope" عدم الإساءة.

Antitope 10 على الكرمة


رسائل


في الرسائل ، يمكنك أيضًا العثور على الكثير من الأشياء المثيرة للاهتمام.

يبلغ طول الرسائل الخمسة الأولى 26 و 17 و 16 و 15 و 14 كيلو بايت على التوالي.

من المثير للاهتمام أن ننظر إلى التوزيع في شكل رسوم بيانية:



كما ترون ، تقع الذروة على الرسائل التي تبلغ حوالي 100 حرف.

تصنيف


أكثر الرسائل تقييمًا بشكل إيجابي : +218 و +144 و +141 و +133 و +124 .

الرسائل الأكثر تصنيفًا سالبًا هي -248 و -170 و -163 و -131 و -114 .

من المثير للاهتمام أن توزيع عدد الرسائل وفقًا لتصنيفها يشبه تقريبًا توزيع "الكرمة" - فهناك تقييمات إيجابية وسلبية للرسائل على حد سواء ، ولكن هناك رسائل "إيجابية" أكثر. الذي مرة أخرى ، لا يمكن إلا أن نفرح.

مناقشة


كان السؤال المثير للاهتمام التالي هو العثور على أطول سلسلة رسائل بين الرسائل. لقد اتضح أن الأمر بسيط للغاية - كل رسالة في HTML لها معرّف فريد ، وهناك أيضًا معلمة أصل-بيانات ، والباقي ، كما يقولون ، مسألة تقنية.

لذلك ، أطول فترة من النقاش في 2019: 619 إجابة ، 618 إجابة ، 614 إجابة ، 556 إجابة و 553 إجابة . ومن المثير للاهتمام ، أن 4 من أصل 5 رسائل تسببت في هذه المواضيع قد كتبها مستخدمون مع karma أقل من -20.

قم بتجميع التعليقات وفقًا لعدد الردود عليها:



عمودي - عدد الوظائف لهذا العام. تم ترك معظم التعليقات (41 ٪ أو 183000) دون أي رد على الإطلاق ، 75000 تعليق لديهم إجابة واحدة ، ويمكن رؤية المزيد من التوزيع في الصورة.

استنتاج


في هذا الصدد ، سأنتهي من موضوع "haabatatistics" حتى يناير - في نهاية العام ، سيتم نشر التصنيف النهائي لأفضل المقالات لعام 2019 ، حسنًا ، قد يكون هناك بعض الأنماط الأخرى المثيرة للاهتمام.

آمل أن تكون مثيرة للاهتمام. إذا نسيت شخص ما - الكتابة ، الصحيح.

Source: https://habr.com/ru/post/ar467951/


All Articles