Des conséquences imprévues
"Le systÚme Habr karma et son impact sur les utilisateurs" est au moins un sujet de coursThÚ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 HolmesCi-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'].
.

. , .
114 343 , - . , :

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

, , , , . , - . , , â 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/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.
-, , , (.. ). « » â , : , .
-, , .. « » â - . , , - « ». , ; , â .
-, , « ». . â , â . .
â , . - « , , » - .