Malédiction karmique d'Habra

Le point


Des conséquences imprévues


"Le systĂšme Habr karma et son impact sur les utilisateurs" est au moins un sujet de cours
ThĂšme sur le karma sur "Picaba"

Je pourrais commencer cet article par le fait que je lis Habr depuis longtemps, mais ce ne sera pas une déclaration complÚtement exacte. La thÚse correcte serait: «Je lis des articles de Habr depuis longtemps» - mais je n'étais pas intéressé par ce qui se passait au sein de la communauté quand j'ai décidé de m'inscrire enfin ce printemps. C'est une erreur typique d'une personne qui vient à Habr d'un moteur de recherche pour lire des articles utiles sur les subtilités de la programmation ou des nouvelles intéressantes du monde de la technologie. Tant que vous ne voyez le portail que de ce cÎté positif, vous ne posez pas de questions sur ce qui se passe sous le capot. Bien sûr, dans les commentaires ou articles mentionnant le karma glissé de temps en temps - mais aprÚs tout, le karma est sur presque tous les principaux portails (je pensais naïvement), c'est normal pour les communautés en ligne autoréglementées.

J'ai dû y réfléchir sérieusement aprÚs avoir soudainement perdu la capacité d'écrire plus d'un commentaire en cinq minutes.

En mĂȘme temps, tout semblait aller pour le mieux: mes commentaires frappaient toujours, ma cote augmentait - et tout Ă  coup, il s'est avĂ©rĂ© que j'avais un karma nĂ©gatif. Ma longue expĂ©rience de la communication Internet, de toutes les habitudes des utilisateurs et du bon sens ordinaire m'a criĂ© que c'Ă©tait une sorte d'erreur: l'indicateur d'approbation d'un utilisateur du site par d'autres utilisateurs du site ne peut pas simultanĂ©ment monter et descendre! Mais j'ai dĂ©cidĂ© de ne pas couper l'Ă©paule, mais de faire un peu de recherche, Ă  la fois analytique (sous forme d'Ă©tude des opinions des utilisateurs sur le karma) et statistique (sous forme d'analyse d'indicateurs de compte).

L'histoire de la guerre des utilisateurs avec le karma s'est rĂ©vĂ©lĂ©e trĂšs riche. Avec plus ou moins de succĂšs, elle dure depuis plus d'une dizaine d'annĂ©es, pour son compte des dizaines de victimes bloquĂ©es et plusieurs articles supprimĂ©s. Et, chose Ă©trange, mon problĂšme (diffĂ©rence entre les notes et le karma) n'est pratiquement pas utilisĂ© dans l'argumentation - mĂȘme pendant l'API ouverte, ces calculs n'ont pas Ă©tĂ© utilisĂ©s. Plus prĂšs de tous, un seul commentateur a Ă©tĂ© sĂ©lectionnĂ© dans une entrĂ©e relativement rĂ©cente:
"En fait, qu'est-ce qui est intéressant à trouver: y a-t-il des gens à l'esprit karmique avec de gros avantages pour leurs commentaires?"
https://habr.com/en/company/habr/blog/437072/#comment_19650144

Dans la partie statistique, vous pouvez voir que oui, il y a de telles personnes. Mais mĂȘme sans statistiques, les utilisateurs ont essentiellement tout compris du karma pendant longtemps.

Voici un record d'il y a dix ans:
Le gros problĂšme sur le hub est qu'il y a beaucoup d'utilisateurs qui mettent un moins en karma selon le principe: "Ah, vous avez une opinion diffĂ©rente de la mienne, voici un moins en karma." Bien que, pour moi, un commentaire bien raisonnĂ© avec des contre-arguments et une position opposĂ©e bien dĂ©finie ne mĂ©rite mĂȘme pas un inconvĂ©nient pour le commentaire lui-mĂȘme, pas pour le karma de l'auteur. Malheureusement, sur HabrĂ© il n'y a pratiquement pas de culture de disputes raisonnĂ©es et de respect pour un adversaire fort, beaucoup ont tendance Ă  simplement jeter leur chapeau.
En général, j'ai une opinion selon laquelle la division des notes en deux compteurs «note» et «karma» est peu intuitive et donc incorrecte et inefficace.
https://habr.com/en/post/92426/#comment_2800908

Voici un record il y a cinq ans:
Seuls les cas oĂč le karma a changĂ© d'au moins 15 unitĂ©s ont Ă©tĂ© analysĂ©s, mais cela ne change pas l'image dans son ensemble, car et dans ce cas, le rapport de 30% Ă  70%. Apparemment, le karma est fusionnĂ© en grande partie Ă  cause des commentaires, mais soulevĂ© pour les articles Ă©crits.
https://habr.com/en/post/192376/

Voici une suggestion d'amélioration il y a trois ans:
Suggestion:
Autorisez les auteurs d'articles Ă  voter pour le karma uniquement pendant une certaine pĂ©riode (par exemple, une semaine) aprĂšs avoir publiĂ© l'article. Si une personne n'a rien publiĂ© au cours de la semaine derniĂšre, le karma ne peut pas ĂȘtre divulguĂ© pour commentaire. La rĂšgle ne peut pas ĂȘtre Ă©tendue aux comptes Ă  anche uniquement - ils gagnent du karma avec des commentaires utiles.
Commentaire:
Trop souvent, les utilisateurs de Habr se plaignent de la fuite de karma pour des commentaires répréhensibles dans les messages d'autres personnes. Par exemple, dans ce message, le problÚme a été décrit en 2012. Woz et maintenant là.
https://github.com/limonte/dear-habr/issues/49

Voici un autre dialogue il y a trois ans sur le mĂȘme sujet:
Drmetallius
Je peux dire pourquoi j'ai arrĂȘtĂ© d'Ă©crire des commentaires (je vais en faire une exception): parce qu'il est difficile de gagner du karma, car pour cela, vous devez constamment gĂ©nĂ©rer des articles, mais le perdre est trĂšs facile. Ce n'est pas vrai que si vous Ă©crivez correctement, ce n'est pas gaspillĂ©. Il peut ĂȘtre rĂ©duit pour de nombreuses raisons: je n'Ă©tais pas d'accord avec vous dans le diffĂ©rend, j'ai considĂ©rĂ© que certains faits Ă©taient incorrects dans le commentaire, ou simplement qu'il Ă©tait de mauvaise humeur.

maxshopen
Oui, c'est une ancienne maladie du habrasystem. Il a été supposé que ceux qui ont un karma positif sont adéquats et ne désireront personne. Quand tout était encore pire - plus il y avait de karma, plus l'utilisateur pouvait parier qu'il se terminait avec quelques habrausers «étoilés» distribués à gauche et à droite qui obtenaient -6, -8, aprÚs quoi les possibilités étaient réduites à un. Les créateurs de l'économie karmique n'ont initialement pas tenu compte de la perversité de l'anonymat
Il me semble que pendant longtemps ce systĂšme a dĂ» ĂȘtre un peu plus Ă©quilibrĂ© par le fait que lors du vote Ă  quelqu'un, une certaine quantitĂ© est dĂ©bitĂ©e du karma de l'utilisateur. Beaucoup n'est pas nĂ©cessaire - 0,2-0,5 est suffisant. Cela augmenterait considĂ©rablement la responsabilitĂ© des Ă©lecteurs lorsqu'ils choisiraient de voter pour quelqu'un ou non.
https://habr.com/en/post/276383/#comment_8761911

Et enfin, commentaires sur le post du début de cette année:
Le karma n'est pas un trĂšs bon outil pour l'autorĂ©gulation du systĂšme. Ceux qui sont insatisfaits d'une personne (ou mĂȘme de sa position) mettent souvent des Ă©valuations en karma. Le rĂ©sultat est que gagner du karma est trĂšs difficile, et sa fusion est trĂšs facile. Cela fait rĂ©flĂ©chir Ă  nouveau - cela vaut-il la peine d'exprimer votre opinion si elle n'est pas trĂšs populaire? AprĂšs tout, si je l'exprime une fois, ils se plieront et fusionneront le karma, et il ne sera plus possible d'exprimer plus. Cela conduit au fait qu'il ne reste qu'une seule opinion sur la ressource, et toutes les autres sont Ă©vincĂ©es.
https://habr.com/en/company/habr/blog/437072/#comment_19647340

Et voici un commentaire qui explique pourquoi «écrire des articles» ne sauve pas vraiment le systÚme de karma:
L'article n'apporte presque rien en termes de karma, et pour un commentaire infructueux, une personne peut ĂȘtre complĂštement fusionnĂ©e.
Ici, le problĂšme est la sĂ©paration du classement et du karma. Dans la tĂȘte, les gens travaillent comme ça:
1. L'Ă©valuation du contenu est mon attitude envers l'article ou le commentaire.
2. L'Ă©valuation du karma est mon attitude envers une personne personnellement
En fin de compte
1. Si vous avez écrit le meilleur article au monde, ils vous apporteront de nombreux avantages (dans la note) et considéreront votre mission accomplie.
2. Si vous avez Ă©crit un commentaire qui "n'entre pas dans le flux", alors vous aurez un commentaire nĂ©gatif, et mĂȘme une personne que vous pensez probablement ainsi Ă  cause de cela vous et le karma.
https://habr.com/en/company/habr/blog/437072/#comment_19649262


Beaucoup de mécontents du systÚme du karma s'expriment en ce sens qu'il s'agit d'une politique délibérée de l'administration - par exemple, dans ce commentaire ou dans celui-ci . Il existe bien sûr de nombreuses preuves indirectes:
  • Suppression de l'API afin qu'il ne soit pas possible de surveiller la dynamique;
  • Nous avons fait une Ă©valuation dynamique de sorte qu'il Ă©tait impossible de regarder les Ă©valuations totales directement dans le profil;
  • Ils se rĂ©fĂšrent constamment au «karmographe», selon lequel il y a plus d'avantages que de inconvĂ©nients (le rapport karma et notes n'est mĂȘme pas mentionnĂ©);
  • Beaucoup, mais sans raison, ils disent que le karma reflĂšte la qualitĂ© des publications et des commentaires (ce qui contredit les statistiques, comme nous pouvons le voir dans les indicateurs d'Ă©valuation).

Je vous rappelle également que nulle part et jamais la justification de l'existence du karma n'a été donnée sous la forme sous laquelle il existe.

Nous ne pouvons en aucun cas prouver ces thĂ©ories du complot. Mais il me semble que la question n'est pas en eux - il y a le mĂȘme problĂšme qu'avec les gens qui sont karma nĂ©gatifs: une croyance impĂ©nĂ©trable en leur droiture, Ă  tel point que ceux qui ne sont pas d'accord avec vous sont perçus comme une «mauvaise personne». Ici, les dirigeants Habr ont dĂ©cidĂ© de la mĂȘme maniĂšre - nous Ă©valuerons les utilisateurs sĂ©parĂ©ment de leurs messages. Et on ne peut pas leur expliquer pendant plus de dix ans qu'il s'agit d'une approche incorrecte pour classer les utilisateurs. Ils sont intelligents, ils ont crĂ©Ă© tout un portail. Donc, vous crĂ©ez votre Habr - et ensuite nous parlerons (au fait, c'est drĂŽle que littĂ©ralement en ces termes le dĂ©fenseur du karma me le dise et me rĂ©ponde : «D'abord, prends-le»)

Personnellement, je suppose que le programme de karma lui-mĂȘme nous est venu de Lepra , oĂč la plupart des propriĂ©taires actuels de grands portails Internet traĂźnaient en mĂȘme temps. Habr a commencĂ© comme le mĂȘme Lepre - un club fermĂ© avec des invitations et des notes mutuelles, insatisfait - s'est Ă©loignĂ© du club. Ces jours sont rĂ©volus depuis longtemps, le club n'a pas Ă©tĂ© fermĂ© depuis longtemps, les notes ont depuis longtemps Ă©tĂ© attribuĂ©es non pas Ă  "un autre membre du club", mais Ă  un utilisateur ordinaire pour des commentaires et des articles ordinaires. Mais l'Ă©litisme interne ne lĂąche pas l'administration. Tout le monde pense - en effet, les gars ont crĂ©Ă© un grand portail rentable, ont Ă©crit des articles sur des sujets techniques pendant de nombreuses annĂ©es - comment peuvent-ils ne pas savoir quelque chose? Donc, si tout va mal, alors, les mĂ©chants, ils sont conçus. Mais en fait, les administrateurs sont simplement coincĂ©s dans l'enfance. Et plus le portail est grand et rentable, plus il est difficile d'admettre de nombreuses annĂ©es d'erreurs d'une fiertĂ© mal comprise.

Confusion



Ce sont des eaux profondes, Watson, des eaux profondes. Je viens de commencer la plongée.
Numéro spécial de Sherlock Holmes

Ci-dessous, j'utiliserai le terme «Karma» pour le karma, et le terme «Évaluation» ou «Évaluation totale» - pour le montant total de tous les avantages et les inconvĂ©nients qui ont Ă©tĂ© reçus par l'utilisateur, Ă  la fois pour les articles et les commentaires.

AprĂšs avoir compris l'histoire, nous allons essayer de regarder les chiffres. RĂ©cemment, il y a eu tout un cycle d'analyse des statistiques, mais cela ne concernait que l'annĂ©e en cours - j'avais besoin de comprendre la note totale de l'utilisateur. Étant donnĂ© que nous n'avons pas d'API, et au lieu de vĂ©ritables notes dans le profil, elles affichent une note douteuse - je ne pouvais qu'Ă©tudier chaque commentaire et collecter des donnĂ©es sur l'auteur et sa note. VoilĂ  ce que j'ai fait.

J'ai ouvert chaque publication dÚs le début des temps, j'ai retiré le surnom de l'auteur de la publication et la note de l'article, puis les surnoms des commentateurs et les notes de leurs commentaires.

Voici le code de l'analyseur principal.
import requests
from bs4 import BeautifulSoup
import csv

def get_doc_by_id(pid):
    fname = r'files/' + 'habrbase' + '.csv'
    with open(fname, "a", newline="") as file:
        try:
            writer = csv.writer(file)
            r = requests.head('https://habr.com/ru/post/' +str(pid) + '/')
            if r.status_code == 404: #   
                pass
            else:
                r = requests.get('https://habr.com/ru/post/' +str(pid) + '/')
                soup = BeautifulSoup(r.text, 'html5lib')
                if not soup.find("span", {"class": "post__title-text"}):
                    pass
                else:
                    doc = []
                    cmt = []
                    doc.append(pid) #
                    doc.append(soup.find("span", {"class": "user-info__nickname"}).text) #
                    doc.append(soup.find("span", {"class": "voting-wjt__counter"}).text) #
                    writer.writerow(doc)
                    comments = soup.find_all("div", {"class": "comment"})
                    for x in comments:
                        if not x.find("div", {"class": "comment__message_banned"}):
                            cmt.append(x['id'][8:]) #
                            cmt.append(x.find("span", {"class": "user-info__nickname"}).text) #
                            cmt.append(x.find("span", {"class": "voting-wjt__counter"}).text) #
                            writer.writerow(cmt)
                            cmt = []
        except requests.exceptions.ConnectionError:
            pass

x = int(input())
y = int(input())

for i in range(x, y):
    get_doc_by_id(i)
    print(i)



habrbase:



« — » habrauthors.csv. . , - , , .

:
import requests
from bs4 import BeautifulSoup
import csv
import pandas as pd

def len_checker():
    fname = r'files/' + 'habrdata' + '.csv'
    with open(fname, "r") as file:
        try:
            authorsList = len(file.readlines())#   
        except:
            authorsList = 0
        return authorsList

def profile_check(nname):
    try:
        r = requests.head('https://m.habr.com/ru/users/' +nname + '/')
        if r.status_code == 404: #   
            pass
        else:
            ValUsers = []
            r = requests.get('https://m.habr.com/ru/users/' +nname + '/')
            soup = BeautifulSoup(r.text, 'html5lib') # instead of html.parser
            if not soup.find("div", {"class": "tm-user-card"}):
                valKarma = 0
                valComments = 0
                valArticles = 0
            else:
                valKarma = soup.find("span", {"class": "tm-votes-score"}).text #
                valKarma = valKarma.replace(',','.').strip()
                valKarma = float(valKarma)
                tempDataBlock = soup.find("div", {"class": "tm-tabs-list__scroll-area"}).text.replace('\n', '') # 
                mainDataBlock = tempDataBlock.split(' ')
                valArticles = mainDataBlock[mainDataBlock.index('')+1]
                if valArticles.isdigit() == True:
                    valArticles = int(valArticles)
                else:
                    valArticles = 0
                valComments = mainDataBlock[mainDataBlock.index('')+1]
                if valComments.isdigit() == True:
                    valComments = int(valComments)
                else:
                    valComments = 0
            ValUsers.append(valKarma)
            ValUsers.append(valComments)
            ValUsers.append(valArticles)
    except requests.exceptions.ConnectionError:
        ValUsers = [0,0,0]
    return ValUsers


def get_author_by_nick(x):
    finalRow = []
    df = pd.DataFrame
    colnames=['nick', 'scores']
    df = pd.read_csv(r'files\habrauthors.csv', encoding="ANSI", names = colnames, header = None)
    df1 = df.loc[x:]

    fname = r'files/' + 'habrdata' + '.csv'

    with open(fname, "a", newline="") as file:
        writer = csv.writer(file)
        for row in df1.itertuples(index=True, name='Pandas'):
            valName = getattr(row, "nick")
            valScore = getattr(row, "scores")
            valAll = profile_check(valName)
            finalRow.append(valName)
            finalRow.append(valScore)
            finalRow.append(valAll[0])
            finalRow.append(valAll[1])
            finalRow.append(valAll[2])
            writer.writerow(finalRow)
            print(valName)
            finalRow = []

n = len_checker()
get_author_by_nick(n)



, , - . , 2001 ? , , , : « (intermediate value).map is not a function». , , 2001 . , — . 250, — .

habrdata : ['nick', 'scores', 'karma', 'comments','articles','regdate']. .



. , .

20062007200820092010201120122013201420152016201720182019
204511668124635028534613686116109614970365948926782559123673


114 343 , - . , :



, , tabloo.

, . , alizar (UPD) 268 ! , - 30 . — Zelenyikot 1509, - 500. , , .



-10



, , , , . , - . , , — CSV R, SPSS. , — , , ( ). 4235 . . 2866 , , .



3-4 114 , . , . 4652. , , .

: 114 343
< 5: 89 447
.. : 67 890
.. : 4 652
>= 5 : 24 896

, «». " ", . , . , « , » — .

:
: 114 343
<5: 57 223
.. : 26 207
.. : 9 737
>=5 : 57 120

, , , , . , , .. ! — , 90.

, , « », . — >=5 24 ( 900 - 5 ; ). 36 — .

, ? , , 90% , , 4 — . , « ». , , « ». . « , » .

, 2016 2018 , « ». 90% , 5 . « » 60-70% .

, :

78205 114 343 0. , .
24 896 114 343 . , , , .

. , , — , . , . , , « ».


     ,       !


, , , .

:
  1. , .
  2. 1/3 , .
  3. , ( 10-20 )

, , ?

, . , :
, , 
 :
— .
—
—
—
, , .
.
, — , .
https://habr.com/ru/post/467875/#comment_20639397

, — , .

,



, ?


, . , ( ).

.

1.
. : . , — : .

: , , , «» . — . . , . .

. , . — — . — . , , , — ; — , , , . , . — . — .

. . . . . , — .



. .

2.
.

— . , . , . , . , : , — , , . 2013 , , . ; , , , .

— , , . « », , , . — , . , , .

, «» «», . , , . — , .

, . , , — ? — , ? . , . , — , , .

— . , « », . , , . -, .

, , : , . .

— . , , . — (), , , . « » — — , .

, . . , — , .
, — . .
https://habr.com/ru/company/habr/blog/437072/#comment_19649328

, , — -, « ». , , .

.

3.
, . — , -, , .. . , .

— , . . — « », . , « »; , — , ( ) .

. , — , , , , . , , , , .

pragmatik,
, ., , - / — .

, , . , +100, -10? ? , , - ? .

. , . , , , . . «», « » , .

, . , . «-25», , . — , « ». , , . , , . ! .
« :
: «, , . , , , . — , . .»
, — . andorro : « ».»
https://habr.com/ru/company/habr/blog/437072/#comment_19822200

, . — (.. ). « ». — , . « », . , , IRC, , « » « ». — , .

Episode Three



— ?
— , ,

« »

?

-, , , , . , , . — , , , , . , , , .

-, . 10 20 , ? 118, - 100, -100 , , , 10.

-, , , (.. ). « » — , : , .

-, , .. « » — - . , , - « ». , ; , — .

-, , « ». . — , — . .

— , . - « , , » - .

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


All Articles