Existe um plugin de nuvem de palavras para o Discourse?
Carl
Existe um plugin de nuvem de palavras para o Discourse?
Carl
Não há… há algum motivo específico para você querer um? Como ele seria usado?
Seria legal de duas maneiras. Primeiro, uma nuvem de palavras clicável que, ao ser clicada, exibiria todos os tópicos correspondentes a uma palavra como “assinante”.
Segundo, você poderia exibir outros tipos de pesquisas assim, como os principais postadores ou o que mais quiser.
Provavelmente poderia ser algo executado em uma tarefa cron uma vez por dia ou com mais frequência.
Achei que fosse uma ideia divertida
… então criei.*
Está em um estágio muito inicial de “apenas funcionando” e precisa de muita refinamento, opções adicionais e, possivelmente, alguma funcionalidade de clique:
Ele adiciona um link no seu Menu Hambúrguer. ![]()
Esteja ciente de que, atualmente, ele gera as estatísticas de palavras a partir de todas as Publicações, independentemente do tipo e da localização. Isso poderia efetivamente atuar como um pequeno vazamento de privacidade indireto (pode ser necessário adicionar algumas salvaguardas para excluir palavras de publicações em áreas privadas). No entanto, é preciso estar logado para vê-lo e acessar os dados … e as palavras são renderizadas como SVGs … e ele mostra apenas as x centenas de palavras mais frequentes, então é improvável que seja motivo de preocupação para a maioria dos sites. Vou trabalhar nisso para torná-lo mais seguro, mas dessa forma a consulta é executada muito rapidamente.
Aproveite. ![]()
*Ele aproveita algumas bibliotecas existentes bastante inteligentes, que foram creditadas no repositório. Um agradecimento especial a @DiscourseMetrics, cuja consulta utilizei.
Muito legal. Acho que você também gostaria de excluir certas palavras da nuvem de palavras, não é?
Claro, é necessário um conjunto completo de exclusões sensatas e as expressões regulares precisam ser ajustadas para remover a formatação Markdown etc., sem torná-las excessivamente complexas. Isso é apenas um começo. Acabei de adicionar um pouco de cor.
Só para deixar claro, é incrível, haha
Adicionada uma lista localizada de palavras a ignorar:
o que deve tornar os resultados um pouco mais interessantes…
Também adicionei muita lógica de sanitização, para que o resultado fique muito melhor.
Legal!
Gosto desse esforço. Bom trabalho. Se eu pudesse solicitar recursos:
/wordcloud/categoryVeja como fica no meu fórum de bairro.
Ótimo feedback, obrigado, e algumas boas ideias!
Sim, isso parece uma boa abordagem. Estou com 3 metros de profundidade em trabalho de cliente no momento, mas vou analisar a seleção de categoria para a próxima atualização.
A seleção de categorias está em:
Se você não selecionar nenhuma categoria (padrão), será feita uma varredura de todas as postagens do fórum (MPs e outras). Se você adicionar apenas uma categoria, as estatísticas de palavras serão restritas a ela, etc.

Também há melhorias enormes nas expressões regulares (
), que agora limpam bem os “raws” e eliminam a maior parte, senão toda, a formatação Markdown.
NB: As estatísticas de palavras são atualizadas a cada hora agora (o que provavelmente ainda é excessivo, mas, por enquanto, facilita a verificação de alterações em Produção, já que estamos passando por muita evolução inicial do código).
NB#2: Ainda não considerei outros idiomas além do inglês aqui (certamente não foi testado). A manipulação atual de palavras pode não funcionar bem em alguns idiomas. Sugestões e PRs são bem-vindas.
Legal! Aqui está um wordle atualizado, incluindo apenas as categorias mais relevantes.
A minha é uma comunidade pequena e ainda bastante nova. Para ser honesto, porém, as informações apresentadas no wordle são bonitas, mas não são especialmente significativas ou úteis. Acho que poderiam ser usadas como uma visualização em um tópico de retrospectiva sobre a comunidade ou algo assim. Seria legal ver mais exemplos de como as pessoas usam isso.
Algumas das palavras incluídas são comuns e sem sentido, por exemplo: youd, off, got, add, etc. Eu me pergunto se a configuração “porção de palavras a ignorar na nuvem de palavras” (que está em 100 para mim, o padrão) está funcionando corretamente? Ou talvez exista outra lista melhor de palavras para ignorar?
Sim, estou feliz em considerar uma lista maior (eu encontrei uma lista de 200 palavras aqui, mas preferi usar a Wikipedia como uma fonte mais “autorizada”).
OK, eu:
NB: se ainda houver palavras que você deseja excluir, basta adicioná-las ao início de:
como fiz aqui (por exemplo, ‘ive’, ‘its’, ‘topic’, ‘post’)
Para ver o impacto de quaisquer alterações mais rapidamente, basta reativar o trabalho no Sidekiq:
Por enquanto, é isso. Sugiro que eu possa criar um Tópico dedicado.
Ok, você pode gostar disso:
Atualização: Agora simplifiquei a configuração da lista de ignorados, de modo que não há mais uma opção para a ‘porção’ da lista de ignorados utilizada. Basta excluir ou adicionar palavras à lista de ignorados usando a configuração nativa localizada:
https://github.com/merefield/discourse-word-cloud/commit/074e0902269e752c11c3c29018f8c68c813327d3
Precisamos desinstalar a versão antiga para obter esta?
Você só deve precisar atualizar o plugin. Está tendo problemas?
Peço desculpas, já resolvemos. ![]()
Sem problema algum ![]()