O Twitter (X) tem sido tumultuado nos últimos dois anos. No ano passado, Elon Musk comprou a plataforma por 44 mil milhões de dólares e depois reformulou o pessoal, a moderação de conteúdos, o modelo de negócios e a cultura do website. Estas mudanças podem ter mais a ver com o poder brando de Elon Musk do que com decisões políticas específicas. No entanto, em meio a essas ações controversas, um novo recurso no Twitter rapidamente se tornou importante e parece ser apreciado por pessoas de todo o espectro político: Notas da Comunidade.

Community Notes é uma ferramenta de verificação de fatos que às vezes acrescenta notas contextuais aos tweets, como o tweet de Elon Musk acima, como uma ferramenta de verificação de fatos e contra-desinformação. Foi originalmente chamado de Birdwatch e lançado pela primeira vez como um projeto piloto em janeiro de 2021. Expandiu-se gradualmente desde então, com a sua expansão mais rápida coincidindo com a aquisição do Twitter por Elon Musk no ano passado. As Notas da Comunidade aparecem regularmente entre os tweets que recebem ampla atenção no Twitter atualmente, incluindo aqueles que tratam de temas políticos controversos. Na minha opinião, e na minha conclusão após conversar com muitas pessoas de todo o espectro político, estas Notas são informativas e valiosas tal como parecem.
No entanto, o que mais me interessa são as Notas da Comunidade, que embora não sejam um “projeto criptográfico”, são provavelmente o exemplo mais próximo de “valores criptográficos” que vimos no mundo mainstream. As Notas da Comunidade não são escritas ou curadas por alguns especialistas selecionados centralmente; em vez disso, qualquer pessoa pode escrever e votar, e quais Notas aparecem ou não são determinadas inteiramente por algoritmos de código aberto. O site do Twitter possui um guia detalhado e abrangente que descreve como o algoritmo funciona, e você pode baixar os dados contendo notas e enquetes publicadas, executar o algoritmo localmente e verificar se a saída corresponde ao que está visível no site do Twitter. Embora não seja perfeito, aproxima-se surpreendentemente do ideal de neutralidade confiável em situações bastante controversas e, ao mesmo tempo, é muito útil.
Como funciona o algoritmo das Notas da Comunidade?
Qualquer pessoa com uma conta no Twitter que atenda a determinados critérios (basicamente: ativa há mais de 6 meses, sem violações da política, número de celular verificado) pode se inscrever para participar das Notas da Comunidade. Atualmente, os participantes estão sendo aceitos de forma lenta e aleatória, mas eventualmente o plano é permitir que qualquer pessoa qualificada possa participar. Depois de aceito, você pode primeiro participar da classificação das Notas existentes e, quando suas classificações forem boas o suficiente (medidas ao ver quais classificações correspondem aos resultados finais daquela Nota), você também poderá escrever suas próprias Notas.

Quando você escreve uma Nota, ela recebe uma pontuação com base na revisão de outros membros das Notas da Comunidade. Essas avaliações podem ser consideradas votos nos três níveis de “útil”, “um pouco útil” e “não útil”, mas as avaliações também podem incluir outros rótulos que desempenham uma função no algoritmo. Com base nessas avaliações, o Notes recebe uma pontuação. Caso a nota da nota ultrapasse 0,40, a nota será exibida; caso contrário, a nota não será exibida;
O que há de único no algoritmo é como as pontuações são calculadas. Ao contrário de algoritmos simples, que são projetados apenas para calcular algum tipo de soma ou média das avaliações dos usuários e usá-la como resultado final, o algoritmo de classificação das Notas da Comunidade tenta explicitamente priorizar aqueles que receberam avaliações positivas de pessoas com diferentes perspectivas de Notas. Ou seja, se as pessoas que normalmente discordam nas classificações acabarem concordando com uma determinada Nota, essa Nota terá uma classificação elevada.
Vamos dar uma olhada mais de perto em como isso funciona. Temos um conjunto de usuários e um conjunto de Notas, podemos criar uma matriz M onde a célula Mij representa como o i-ésimo usuário avaliou as j-ésimas Notas.
Para quaisquer Notas, a maioria dos usuários não avaliou essas Notas, então a maioria das entradas na matriz será zero, mas tudo bem. O objetivo do algoritmo é criar um modelo de quatro colunas de usuários e Notas, atribuindo duas estatísticas para cada usuário, que podemos chamar de "simpatia" e "polaridade", e duas estatísticas para cada Nota, que chamamos de "utilidade " e "polaridade". O modelo tenta prever a matriz em função desses valores, utilizando a seguinte fórmula:

Observe que apresento aqui a terminologia usada no artigo Birdwatch, bem como minha própria terminologia para fornecer uma compreensão mais intuitiva do significado das variáveis sem envolver conceitos matemáticos:
μ é um parâmetro de "sentimento público" que mede quão altas são as classificações geralmente dadas pelos usuários.
iu é a “simpatia” do usuário, ou seja, qual a probabilidade de o usuário dar uma avaliação alta.
O que importa é a "utilidade" das Notas, ou seja, a probabilidade de as Notas receberem uma classificação elevada. Esta é a variável com a qual nos preocupamos.
fu ou fn é a "polaridade" do usuário ou Notes, ou seja, sua posição no eixo dominante dos extremos políticos. Na prática, a polaridade negativa significa aproximadamente "inclinação para a esquerda" e a polaridade positiva significa "inclinação para a direita", mas observe que os eixos extremos são derivados da análise dos dados do usuário e do Notes, e os conceitos de esquerda e direita não são codificados.
O algoritmo usa um modelo de aprendizado de máquina bastante básico (descida gradiente padrão) para encontrar os melhores valores de variáveis para prever os valores da matriz. A utilidade atribuída a uma nota específica é a pontuação final dessa nota. Uma Nota será exibida se sua utilidade for pelo menos +0,4.
A principal vantagem aqui é que a “polaridade” absorve as características de uma Nota que fazem com que ela seja apreciada por alguns usuários e rejeitada por outros, enquanto a “utilidade” mede apenas as características de uma Nota. Esses recursos fazem com que ela seja apreciada por todos. Usuários. A seleção da utilidade identifica, portanto, Notas que são endossadas entre tribos e exclui Notas que são aplaudidas por uma tribo, mas ressentidas por outra.
O texto acima descreve apenas a parte central do algoritmo. Na verdade, existem muitas mecânicas adicionais adicionadas a ele. Felizmente, eles estão descritos em documentação pública. Esses mecanismos incluem o seguinte:
O algoritmo é executado várias vezes, cada vez adicionando alguns "votos falsos" extremos gerados aleatoriamente à votação. Isso significa que a verdadeira saída do algoritmo para cada Nota é um intervalo de valores, e o resultado final depende de uma “confiança mais baixa” retirada desse intervalo e comparada a um limite de 0,32.
Se muitos usuários (especialmente aqueles com polaridade de Notas) classificarem uma Nota como "Não Útil" e também atribuirem a mesma "etiqueta" (por exemplo, "linguagem argumentativa ou tendenciosa", "fonte incomum") "Notas de suporte") como o motivo da classificação, então o limite de utilidade exigido para que as Notas sejam publicadas aumentará de 0,4 para 0,5 (isto pode parecer pequeno, mas é muito importante na prática).
Se uma Nota for aceite, a sua utilidade deverá ser reduzida para 0,01 pontos abaixo do limite exigido para aceitar a Nota.
O algoritmo executa mais execuções usando vários modelos, às vezes aumentando o Notes com pontuações de utilidade bruta entre 0,3 e 0,4.
Ao todo, você obtém um código Python bastante complexo, totalizando 6.282 linhas espalhadas por 22 arquivos. Mas está tudo aberto e você pode baixar o Notes e os dados de pontuação e executá-los você mesmo para ver se o resultado corresponde ao que realmente está acontecendo no Twitter.
Então, como é isso na prática?
Provavelmente a maior diferença entre este algoritmo e simplesmente obter uma pontuação média dos votos das pessoas é o conceito do que chamo de valores “polares”. A documentação do algoritmo refere-se a eles como fu e fn, usando f como fator porque os dois termos se multiplicam, a terminologia mais geral se deve em parte ao eventual desejo de tornar fu e fn multidimensionais;
A polaridade é atribuída a usuários e notas. O link entre o ID do usuário e a conta subjacente do Twitter é intencionalmente mantido em segredo, mas o Notes é público. Na verdade, pelo menos para o conjunto de dados inglês, a polaridade gerada pelo algoritmo correlaciona-se muito estreitamente com a esquerda e a direita.
Aqui estão alguns exemplos de notas com polaridade em torno de -0,8:

Observe que não estou escolhendo aqui; na verdade, essas são as três primeiras linhas da planilha score_notes.tsv que gerei ao executar o algoritmo localmente, e suas pontuações de polaridade (chamadas coreNoteFactor1 na planilha) são inferiores a -0,8.
Agora, aqui estão algumas notas com polaridade de cerca de +0,8. Acontece que muitos deles são pessoas falando sobre a política brasileira em português ou fãs de Tesla refutando com raiva as críticas a Tesla, então deixe-me escolher um pouco e encontrar algumas notas que não se enquadram em nenhuma das categorias:

Novamente, como lembrete, a "divisão esquerda versus direita" não é codificada no algoritmo de forma alguma; ela é descoberta computacionalmente. Isto sugere que se aplicarmos este algoritmo a outros contextos culturais, ele poderá detectar automaticamente as suas principais divisões políticas e construir pontes entre essas divisões.
Enquanto isso, o Notes para máxima utilidade se parece com isto. Desta vez, como as notas estão aparecendo no Twitter, posso apenas fazer uma captura de tela:

Tem outro:

Para as segundas Notas, trata mais diretamente de temas políticos altamente partidários, mas é uma Nota clara, de alta qualidade e informativa, por isso obtém uma classificação alta. No geral, o algoritmo parece funcionar e parece viável verificar a saída do algoritmo executando o código.
O que eu penso sobre esse algoritmo?
O que mais me impressionou ao analisar esse algoritmo foi sua complexidade. Há uma "versão acadêmica em papel" que usa gradiente descendente para encontrar o melhor ajuste de equações vetoriais e matriciais de cinco termos, e depois há a versão real, uma série complexa de execuções do algoritmo com muitas execuções diferentes e muita arbitrariedade ao longo o caminho.
Até mesmo a versão do artigo acadêmico esconde a complexidade subjacente. A equação que ela otimiza é de quarta ordem negativa (porque há um termo quadrático fu*fn na fórmula de previsão e a função de custo mede o quadrado do erro). Embora a otimização de uma equação quadrática em qualquer número de variáveis quase sempre tenha uma solução única, que você pode descobrir com álgebra linear bastante básica, a otimização de uma equação quártica em muitas variáveis geralmente tem muitas soluções, daí as múltiplas rodadas de algoritmos de descida de gradiente diferentes. respostas podem ser obtidas. Pequenas alterações de entrada podem fazer com que a queda passe de um mínimo local para outro, alterando significativamente os resultados de saída.
A diferença entre este e os algoritmos que ajudei a desenvolver, como o financiamento secundário, para mim é como a diferença entre o algoritmo de um economista e o algoritmo de um engenheiro. Os algoritmos dos economistas, na melhor das hipóteses, focam na simplicidade, são relativamente fáceis de analisar e possuem propriedades matemáticas claras, indicando que é o melhor (ou o menos ruim) para a tarefa a ser resolvida, e idealmente também pode ser provado Quanto dano alguém pode causar ao tentar explorá-lo. O algoritmo de um engenheiro, por outro lado, é derivado de um processo iterativo de tentativa e erro para ver o que funciona e o que não funciona no ambiente operacional do engenheiro. Os algoritmos dos engenheiros são pragmáticos e realizam o trabalho; os algoritmos dos economistas não perdem completamente o controle quando confrontados com situações inesperadas.
Ou, como o respeitado filósofo da Internet Roon (também conhecido como tszzl) coloca em um tópico relacionado:

Claro, eu diria que o aspecto da “estética teórica” das criptomoedas é necessário para poder diferenciar com precisão entre os protocolos que são verdadeiramente sem confiança e aqueles que parecem bons e funcionam bem na superfície, mas na verdade exigem confiança em algum ator centralizado. Ou pior ainda, pode ser uma farsa completa.
O aprendizado profundo é eficaz em circunstâncias normais, mas apresenta pontos fracos inevitáveis em vários ataques adversários de aprendizado de máquina. Se bem feitas, armadilhas técnicas e escadas de abstração de alto nível podem combater esses ataques. Então, eu tenho uma pergunta: podemos transformar as próprias Notas da Comunidade em algo mais parecido com um algoritmo econômico?
Para ver o que isso significa na prática, vamos explorar um algoritmo que projetei há alguns anos para um propósito semelhante: financiamento quadrático limitado por pares.

O objetivo do financiamento quadrático delimitado por pares é preencher uma lacuna no financiamento quadrático "regular", segundo o qual, mesmo que dois participantes conspirem entre si, eles podem contribuir com quantias muito altas para um projeto falso, devolver-lhes os fundos e receber grandes quantias. subsídios que drenam todo o capital. No financiamento quadrático limitado aos pares, alocamos um orçamento limitado M para cada par de atores. O algoritmo itera por todos os pares possíveis de atores, e se o algoritmo decidir adicionar um subsídio a um determinado projeto P porque tanto o ator A quanto o ator B o apoiam, então esse subsídio é deduzido do orçamento alocado ao par (A, B ). Portanto, mesmo que k participantes conspirem, a quantia que eles podem roubar do mecanismo é no máximo k (k-1) M.
Esta forma de algoritmo não funciona bem no contexto das Notas da Comunidade porque cada usuário dá apenas um pequeno número de votos: em média, o número de votos em comum entre quaisquer dois usuários é zero, simplesmente olhando para cada par individualmente Usuário, o algoritmo não consegue entender a polaridade do usuário. O objetivo de um modelo de aprendizado de máquina é justamente tentar “preencher” uma matriz a partir de dados de origem muito esparsos que não podem ser analisados diretamente dessa forma. Mas o desafio desta abordagem é que é necessário um esforço extra para evitar resultados altamente voláteis face a um pequeno número de votos negativos.
As Notas da Comunidade podem realmente ficar à esquerda e à direita?
Podemos analisar se o algoritmo Community Notes é realmente capaz de resistir a extremos, ou seja, se tem um desempenho melhor do que um algoritmo de votação ingênuo. Esse algoritmo de votação já resiste a extremos até certo ponto: uma postagem com 200 curtidas e 100 descurtidas terá desempenho pior do que uma postagem com apenas 200 curtidas. Mas o Community Notes faz melhor?
Do ponto de vista do algoritmo abstrato, é difícil dizer. Por que uma postagem polarizadora com uma classificação média alta não teria uma polaridade forte e alta utilidade? A ideia é que, se esses votos forem conflitantes, a polaridade deveria “absorver” as características que fizeram com que a postagem recebesse muitos votos, mas isso realmente acontece?
Para verificar isso, executei minha própria implementação simplificada por 100 rodadas. Os resultados médios são os seguintes:

Neste teste, o Notes "bom" recebeu uma classificação de +2 entre os usuários da mesma afiliação política e uma classificação de +0 entre os usuários da afiliação política oposta, e o Notes "bom, mas mais extremo" recebeu uma classificação de +0 entre os usuários do mesma afiliação política Recebeu uma classificação de +4 entre os usuários da facção oposta e uma classificação de -2 entre os usuários da facção oposta. Embora as pontuações médias sejam iguais, a polaridade é diferente. E, de fato, a utilidade média das Notas “boas” parece ser maior do que a das Notas “boas, mas com tendência mais extrema”.
Ter um algoritmo mais próximo do “Algoritmo do Economista” terá uma história mais clara sobre como o algoritmo penaliza os extremos.
Quão útil é tudo isso em situações de alto risco?
Podemos aprender um pouco disso observando uma situação específica. Há cerca de um mês, Ian Bremmer reclamou que uma Nota da Comunidade altamente crítica foi adicionada a um tweet sobre um funcionário do governo chinês, mas as Notas já foram removidas.

Esta é uma tarefa difícil. Uma coisa é projetar mecanismos em um ambiente de comunidade Ethereum, onde a maior reclamação pode ser apenas US$ 20.000 indo para um influenciador extremo do Twitter. A situação é completamente diferente quando se trata de questões políticas e geopolíticas que afectam milhões de pessoas, onde todos muitas vezes assumem razoavelmente os piores motivos. No entanto, interagir com esses ambientes de alto risco é essencial se os projetistas mecânicos quiserem ter um impacto significativo no mundo.
No caso do Twitter, há uma razão óbvia para suspeitar de manipulação centralizada como o motivo da remoção do Notes: Elon Musk tem muitos interesses comerciais na China, então é possível que Elon Musk tenha forçado a equipe do Community Notes a interferir na saída do algoritmo e remova-o Estas notas específicas.
Felizmente, o algoritmo é de código aberto e verificável, então podemos realmente investigá-lo! Vamos fazer isso. A URL do tweet original é https://twitter.com/MFA_China/status/1676157337109946369. O número 1676157337109946369 no final é o ID do tweet. Podemos procurar esse ID nos dados para download e identificar a linha específica na planilha que contém as notas acima:

Aqui obtemos o próprio ID do Notes, 1676391378815709184. Em seguida, procuramos esse ID nos arquivos score_notes.tsv e note_status_history.tsv gerados pela execução do algoritmo. Obtivemos os seguintes resultados:

A segunda coluna na primeira saída é a classificação atual dessas Notas. A segunda saída mostra o histórico das Notas: seu status atual está na coluna sete (NEEDS_MORE_RATINGS), e o primeiro status recebido anteriormente que não era NEEDS_MORE_RATINGS está na coluna cinco (CURRENTLY_RATED_HELPFUL). Portanto, podemos ver que o próprio algoritmo primeiro mostrou a nota e depois a removeu depois que sua classificação caiu ligeiramente – não parece haver nenhuma intervenção central envolvida.
Também podemos olhar para esta questão de outra forma, analisando a votação em si. Podemos verificar o arquivo ratings-00000.tsv para isolar todas as classificações dessas notas e ver quantas são classificadas como ÚTEIS e NOT_HELPFUL:

No entanto, se você classificá-los por carimbo de data e hora e observar os primeiros 50 votos, verá que há 40 votos ÚTEIS e 9 votos NÃO_ÚTEIS. Portanto, chegamos à mesma conclusão: o público inicial do Notes avaliou o Notes de forma mais positiva, enquanto o público subsequente do Notes o avaliou de forma menos favorável, de modo que suas classificações começaram mais altas e diminuíram com o tempo.
Infelizmente, é difícil explicar exatamente como o status do Notes mudou: não é uma simples questão de "anteriormente ele era avaliado acima de 0,40, agora está classificado abaixo de 0,40, então foi removido". Em vez disso, um grande número de respostas NOT_HELPFUL aciona uma das condições de exceção, aumentando a pontuação de utilidade que o Notes precisa para permanecer acima do limite.
Esta é outra grande oportunidade de aprendizagem que nos ensina uma lição: tornar um algoritmo neutro e confiável verdadeiramente confiável requer mantê-lo simples. Se uma Nota passar de aceita a não aceita, deve haver uma história simples e clara explicando por que isso acontece.
Claro, existe uma maneira totalmente diferente de manipular esse voto: brigando. Alguém que vê uma Nota que desaprova pode recorrer a uma comunidade altamente engajada (ou pior, uma legião de contas falsas) para avaliá-la como NOT_HELPFUL, e pode não ser necessário muitos votos para mover as Notas de "Útil" para "extremo". Mais análises e trabalho são necessários para reduzir adequadamente a vulnerabilidade do algoritmo a tais ataques coordenados. Uma possível melhoria seria não permitir que nenhum usuário votasse em quaisquer Notas, mas em vez disso atribuir Notas aleatoriamente aos avaliadores da maneira recomendada pelo algoritmo "Para Você" e permitir apenas que os avaliadores classificassem as Notas às quais foram atribuídos.
As Notas da Comunidade não são “corajosas” o suficiente?
A principal crítica que vejo ao Community Notes é basicamente que ele não faz o suficiente. Vi dois artigos recentes mencionando isso. Para citar um dos artigos:
O programa sofre de uma séria limitação: para que as Notas da Comunidade sejam públicas, devem ser universalmente aceites por um consenso de pessoas de todo o espectro político.
“Tem que haver consenso ideológico”, disse ele. “Isso significa que as pessoas de esquerda e de direita têm que concordar que a nota deve ser anexada ao tweet.”
Essencialmente, disse ele, requer “um acordo inter-ideológico sobre a verdade, que é quase impossível de alcançar num ambiente cada vez mais partidário”.
É uma pergunta difícil, mas, em última análise, estou inclinado a pensar que é melhor ter dez tweets de desinformação espalhados livremente do que ter um tweet anotado injustamente. Vimos anos de verificação de fatos, e isso é corajoso, e é feito na perspectiva de "na verdade, sabemos a verdade, sabemos que um lado mente com mais frequência do que o outro". Qual será o resultado?

Para ser honesto, existe uma desconfiança bastante generalizada no conceito de verificação de factos. Aqui está uma estratégia que diz: Ignore os críticos, lembre-se de que os especialistas em verificação de factos realmente conhecem os factos melhor do que qualquer sistema de votação, e persista nele. Mas apostar tudo nesta abordagem parece arriscado. Há valor na construção de instituições intertribais que sejam respeitadas por todos, pelo menos até certo ponto. Tal como a máxima de William Blackstone e os tribunais, sinto que manter esse respeito requer um sistema que cometa erros por omissão e não de forma proactiva. Portanto, parece-me que há valor em pelo menos uma grande organização seguir este caminho diferente e tratar o seu raro respeito intertribal como um recurso precioso.
Outra razão pela qual acho que não há problema em as Notas da Comunidade serem conservadoras é que não acho que todo tweet de desinformação, ou mesmo a maioria dos tweets de desinformação, deva receber uma nota corretiva. Embora menos de um por cento dos tweets de desinformação recebam anotações que fornecem contexto ou correção, o Community Notes ainda fornece um serviço extremamente valioso como ferramenta educacional. O objetivo não é corrigir tudo; em vez disso, o objetivo é lembrar às pessoas que existem vários pontos de vista, que algumas postagens que parecem convincentes e envolventes isoladamente estão na verdade bastante erradas e que você, sim, geralmente pode fazer pesquisas básicas na Internet. para verificar se está errado.
As Notas Comunitárias não podem ser, nem pretendem ser, uma panaceia para todos os problemas da epistemologia pública. Quaisquer que sejam os problemas que não resolva, há muito espaço para outros mecanismos preenchê-lo, seja um dispositivo inovador como um mercado de previsão ou uma organização estabelecida que emprega funcionários a tempo inteiro com experiência no domínio que pode tentar preencher as lacunas.
para concluir
Community Notes não é apenas um experimento fascinante de mídia social, mas também um exemplo de um fascinante tipo emergente de design de mecanismo: mecanismos que buscam conscientemente identificar extremos e tendem a promover a passagem de fronteiras em vez de perpetuar divisões.
Dois outros exemplos nesta categoria que conheço são: (i) o mecanismo de financiamento secundário emparelhado usado em Gitcoin Grants e (ii) Polis, uma ferramenta de discussão que usa algoritmos de agrupamento para ajudar a comunidade a identificar declarações populares comuns que abrangem pessoas que muitas vezes têm opiniões diferentes. Esta área de design de mecanismos é valiosa e espero que vejamos mais trabalhos acadêmicos nesta área.
A transparência algorítmica fornecida pelas Community Notes não é exatamente a mesma que a mídia social totalmente descentralizada – se você não concorda com a forma como as Community Notes funcionam, não há como visualizar o mesmo conteúdo por meio de um algoritmo diferente. Mas isto é o mais próximo que as aplicações de hiperescala chegarão nos próximos anos, e podemos ver que já proporciona muito valor, tanto na prevenção da manipulação centralizada como na garantia de que as plataformas que não se envolvem em tal manipulação sejam reconhecidas. .
Estou ansioso para ver as Notas da Comunidade e muitos algoritmos com espírito semelhante se desenvolverem e crescerem na próxima década.
