ConsequĂŞncias imprevistas
"O sistema de karma Habr e seu impacto sobre os usuários" Ă© um tĂłpico de um curso pelo menosTema sobre karma em "Picaba"Eu poderia começar este artigo com o fato de estar lendo Habr há muito tempo, mas isso nĂŁo será uma afirmação completamente precisa. A tese correta seria: “Eu leio artigos da Habr há muito tempo” - mas nĂŁo estava interessado no que estava acontecendo dentro da comunidade quando decidi finalmente me registrar nesta primavera. Esse Ă© um erro tĂpico de uma pessoa que acessa a Habr a partir de um mecanismo de pesquisa para ler artigos Ăşteis sobre os meandros da programação ou notĂcias interessantes do mundo da tecnologia. Desde que vocĂŞ veja o portal apenas desse lado positivo, vocĂŞ nĂŁo fará perguntas sobre o que está acontecendo sob o capĂ´. É claro que, nos comentários ou artigos, as menções ao karma diminuĂram de tempos em tempos - mas, afinal, o karma está em quase todos os principais portais (pensei ingenuamente), isso Ă© normal para comunidades on-line auto-reguladas.
Eu tive que pensar seriamente sobre isso depois que de repente perdi a capacidade de escrever mais de um comentário em cinco minutos.
Ao mesmo tempo, tudo parecia estar indo bem: meus comentários estavam sempre fortes, minha avaliação estava aumentando - e de repente aconteceu que eu tinha carma negativo. Toda a minha longa experiĂŞncia em comunicação na Internet, todos os hábitos do usuário e o senso comum comum me gritaram que isso era algum tipo de erro: o indicador de aprovação de um usuário do site por outros usuários do site nĂŁo pode subir e cair simultaneamente! Mas decidi nĂŁo cortar o ombro, mas realizar uma pequena pesquisa, tanto analĂtica (na forma de estudar as opiniões dos usuários sobre karma) quanto estatĂstica (na forma de análise dos indicadores de conta).
A histĂłria da guerra dos usuários com o karma acabou sendo muito rica. Com sucesso variável, já dura mais de uma dĂşzia de anos, por conta de dezenas de vĂtimas bloqueadas e de vários artigos excluĂdos. E, estranhamente, meu problema (discrepância entre notas e karma) praticamente nĂŁo Ă© usado na argumentação - mesmo durante a API aberta, esses cálculos nĂŁo foram usados. Mais perto de tudo, apenas um comentarista foi selecionado em uma entrada relativamente recente:
"Na verdade, o que é interessante encontrar: existem pessoas que pensam kármica com grandes vantagens por seus comentários?"
https://habr.com/en/company/habr/blog/437072/#comment_19650144
Na parte estatĂstica, vocĂŞ pode ver que sim, existem essas pessoas. Mas mesmo sem estatĂsticas, os usuários basicamente entenderam tudo sobre o karma por um longo tempo.
Aqui está um registro de uma década atrás:
O grande problema no hub Ă© que existem muitos usuários que colocam menos o karma de acordo com o princĂpio: "Ah, vocĂŞ tem uma opiniĂŁo diferente da minha, aqui está o menos no karma". Embora, para mim, um comentário bem fundamentado, com contra-argumentos e uma posição oposta bem declarada, nĂŁo mereça menos que o prĂłprio comentário, nĂŁo que o autor seja cármico. Infelizmente, em HabrĂ© praticamente nĂŁo existe cultura de disputas fundamentadas e respeito por um oponente forte, muitos tendem a simplesmente jogar o chapĂ©u.
Em geral, tenho uma opinião de que dividir classificações em dois contadores, “classificação” e “carma”, é pouco intuitivo e, portanto, incorreto e ineficiente.
https://habr.com/en/post/92426/#comment_2800908
Aqui está um recorde de cinco anos atrás:
Apenas os casos em que o karma mudou em pelo menos 15 unidades foram analisados, mas isso não muda a imagem como um todo, porque e, neste caso, a proporção de 30% a 70%. Aparentemente, o karma é mesclado em grande parte por causa de comentários, mas gerado para artigos escritos.
https://habr.com/en/post/192376/
Aqui está uma sugestão para melhorar há três anos:
SugestĂŁo:
Permita que os autores dos artigos votem no karma somente em um determinado perĂodo (por exemplo, uma semana) apĂłs a publicação do artigo. Se uma pessoa nĂŁo publicou nada na semana passada, nĂŁo pode haver vazamento de carma para comentar. A regra nĂŁo pode ser estendida para contas apenas de palheta - elas ganham carma com comentários Ăşteis.
Comentário:
Com muita frequência, os usuários do Habr reclamam do dreno do carma por comentários questionáveis ​​nos posts de outras pessoas. Por exemplo, nesta postagem, o problema foi descrito em 2012. Woz e agora lá.
https://github.com/limonte/dear-habr/issues/49
Aqui está outro diálogo há três anos sobre o mesmo tópico:
Drmetallius
Posso dizer por que parei de escrever comentários (vou fazer disso uma exceção): porque Ă© difĂcil ganhar carma, porque Ă© necessário gerar constantemente alguns artigos, mas perdĂŞ-lo Ă© muito fácil. NĂŁo Ă© verdade que, se vocĂŞ escrever corretamente, nĂŁo será desperdiçado. Isso pode ser reduzido por vários motivos: nĂŁo concordei com vocĂŞ na disputa, considerei que algum fato estava incorreto no comentário ou simplesmente que ele estava de mau humor.
maxshopen
Sim, esta Ă© uma doença antiga do habrasystem. Supunha-se que aqueles que tĂŞm carma positivo sĂŁo adequados e simplesmente nĂŁo menos um. Quando tudo era ainda pior - quanto mais karma, maior menos o usuário pode apostar que ele acabou com dois habrausers "estrelados" distribuĂdos Ă esquerda e Ă direita que receberam -6, -8, apĂłs o que as possibilidades foram reduzidas a um. Os criadores da economia cármica inicialmente aparentemente nĂŁo levaram em conta a perversidade do anonimato
Parece-me que por muito tempo esse sistema teve que ser equilibrado um pouco mais pelo fato de que, ao votar em alguém, uma certa quantia é debitada do carma do usuário. Muito não é necessário - 0,2-0,5 é suficiente. Isso aumentaria muito a responsabilidade dos eleitores ao optar por votar em alguém ou não.
https://habr.com/en/post/276383/#comment_8761911
E, finalmente, comentários sobre o post desde o inĂcio deste ano:
O karma nĂŁo Ă© uma ferramenta muito boa para a auto-regulação do sistema. Aqueles que estĂŁo insatisfeitos com uma pessoa (ou mesmo com sua posição) geralmente colocam avaliações no carma. O resultado Ă© que obter karma Ă© muito difĂcil e mesclá-lo Ă© muito fácil. Isso faz as pessoas pensarem novamente - vale a pena expressar sua opiniĂŁo se nĂŁo for muito popular? Afinal, se eu o expressar uma vez, eles irĂŁo torcer e fundir karma, e nĂŁo será mais possĂvel expressar mais. Isso leva ao fato de que apenas uma opiniĂŁo permanece sobre o recurso e todas as outras estĂŁo superlotadas.
https://habr.com/en/company/habr/blog/437072/#comment_19647340
E aqui está um comentário que explica por que "escrever artigos" realmente não salva o sistema de carma:
O artigo traz quase nada em termos de karma e, para um comentário malsucedido, uma pessoa pode ser completamente mesclada.
Aqui, o problema é a separação entre classificação e karma. Na cabeça, as pessoas trabalham assim:
1. Classificação do conteúdo é a minha atitude em relação ao artigo ou comentário.
2. Avaliação do karma é minha atitude em relação a uma pessoa pessoalmente
No final
1. Se você escreveu o melhor artigo do mundo, eles lhe oferecerão muitas vantagens (na classificação) e considerarão sua missão cumprida.
2. Se você escreveu um comentário que "não entra no fluxo", você terá um comentário negativo e até uma pessoa que provavelmente pensa assim, por isso você e seu karma.
https://habr.com/en/company/habr/blog/437072/#comment_19649262
Muitos insatisfeitos com o sistema de karma se expressam no sentido de que essa Ă© uma polĂtica deliberada da administração -
por exemplo, neste comentário ou
neste . Obviamente, existem muitas evidĂŞncias indiretas:
- Removida a API para que nĂŁo fosse possĂvel monitorar a dinâmica;
- Fizemos uma classificação dinâmica, de modo que era impossĂvel examinar as classificações totais diretamente no perfil;
- Eles se referem constantemente ao "karmograph", segundo o qual há mais vantagens do que menos (a proporção de karma e classificações nem sequer é considerada);
- Muito, mas sem razĂŁo, eles dizem que o karma reflete a qualidade das publicações e comentários (o que contradiz as estatĂsticas, como podemos ver nos indicadores de avaliação).
Lembro também que em
nenhum lugar e nunca a lĂłgica da existĂŞncia do karma foi dada na forma em que ele existe.
NĂŁo podemos provar essas teorias da conspiração de forma alguma. Mas parece-me que o problema nĂŁo está neles - existe o mesmo problema com as pessoas que sĂŁo negativas ao carma: uma crença impenetrável em sua justiça, a tal ponto que aqueles que discordam de vocĂŞ sĂŁo percebidos como uma "pessoa má". Aqui os lĂderes da Habr decidiram da mesma maneira - avaliaremos os usuários separadamente de suas mensagens. E eles nĂŁo podem explicar a eles há mais de dez anos que essa Ă© uma abordagem incorreta para classificar os usuários. Eles sĂŁo inteligentes, criaram um portal inteiro. EntĂŁo vocĂŞ cria seu Habr - e depois conversamos (a propĂłsito, Ă© engraçado que,
literalmente, nesses termos eu seja o defensor do carma por reivindicações e tenha respondido - "Primeiro, entenda")
Pessoalmente, presumo que o prĂłprio esquema de karma veio de
Lepra , onde a maioria dos atuais proprietários de grandes portais de Internet costumava sair. Habr começou quando o mesmo Lepra - um clube fechado com convites e classificações mĂştuas, insatisfeitos - saiu do clube. Esses dias se passaram há muito tempo, o clube nĂŁo está fechado há muito tempo, há muito que as classificações sĂŁo concedidas nĂŁo a “outro membro do clube”, mas a um usuário comum para comentários e artigos comuns. Mas o elitismo interno nĂŁo desiste da administração. Todo mundo pensa - de fato, os caras criaram um grande portal lucrativo, escrevem artigos sobre tĂłpicos tĂ©cnicos por muitos anos - eles nĂŁo sabem alguma coisa? EntĂŁo, se tudo está ruim, eles, os vilões, sĂŁo concebidos. Mas, de fato, os administradores estĂŁo simplesmente presos na infância. E quanto maior e mais lucrativo o portal, mais difĂcil Ă© admitir muitos anos de erros por orgulho falsamente entendido.
ConfusĂŁo
Estas são águas profundas, Watson, águas profundas. Eu apenas comecei a mergulhar.Edição especial de Sherlock HolmesAbaixo, usarei o termo "Karma" para karma e o termo "Avaliação" ou "Avaliação total" - para o valor total de todos os prós e contras que foram recebidos pelo usuário, tanto para artigos quanto para comentários.
Depois de descobrir a histĂłria, tentaremos analisar os nĂşmeros. Recentemente, houve todo um ciclo de análise estatĂstica, mas apenas o ano atual - eu precisava entender a classificação total do usuário. Como nĂŁo temos uma API e, em vez de classificações reais no perfil, elas apresentam uma classificação duvidosa - eu sĂł poderia estudar cada comentário e coletar dados sobre o autor e a classificação. Foi o que eu fiz.
Abri todas as publicações desde o inĂcio dos tempos, escolhi o apelido do autor da publicação e a classificação do artigo, depois os apelidos dos comentaristas e as classificações dos seus comentários.
Aqui está o código para o analisador 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.
-, , , (.. ). « » — , : , .
-, , .. « » — - . , , - « ». , ; , — .
-, , « ». . — , — . .
— , . - « , , » - .