Estou me perguntando se, com os avanços recentes em LLMs, seria possível analisar as postagens e o histórico de leitura de um usuário para fornecer um feed de Recomendações?
Este seria um ótimo recurso para nosso caso de uso focado em Perguntas e Respostas. Temos muitas categorias distintas, usuários muito ativos (colegas) e muitas informações extremamente úteis que eles simplesmente não verão. Uma boa lista de Recomendações ajudaria alguns de nossos usuários a se anteciparem aos problemas que estão tentando resolver.
Acho que o ideal seria uma lista composta por bugs comuns, significativos e em destaque sobre os quais as pessoas estão falando, relacionados às ferramentas e conversas em que o usuário já está demonstrando interesse.
Poderia compartilhar um link para o site, se ele for público?
Como alguém que tem usado os recursos de IA do Discourse, muitos antes de serem tornados públicos, estou ansioso para aprender mais sobre seu site. Entender os detalhes específicos que você observou me permitirá fazer recomendações mais informadas para o Discourse AI, levando em consideração os aspectos únicos de sua plataforma.
Adoraria, mas infelizmente é uma grande instância corporativa interna
Posso talvez te dar uma ideia do que estamos fazendo.
Contexto
Essencialmente, é como um Stackoverflow interno onde compartilhamos problemas específicos da empresa e do setor, como “como diabos eu configuro o proxy para isso?” ou “Não consigo encontrar nenhum resultado para Bug123 no Google, mais alguém resolveu isso?”
Nossas Categorias são específicas de ferramentas, como:
Kubernetes
Gitlab
Coisas problemáticas da IBM com a pior interface que você já viu
Como uma lista de recomendados poderia ser útil?
Atualmente, se eu leio/respondo a um tópico na Categoria Gitlab que fala sobre integração com outras ferramentas, como Kubernetes, não recebo notificações sobre tópicos relacionados. Portanto, se houver uma postagem muito útil na Categoria Kubernetes, posso não vê-la até muito tarde. Tenho que encontrá-la eu mesmo ou assinar as notificações corretas.
A maioria dos nossos usuários não terá boas configurações de notificação:
Eles estão sob pressão para obter resultados
Eles não passam tempo suficiente na plataforma para aproveitar ao máximo suas configurações de notificação.
Uma lista de recomendados forneceria informações potencialmente úteis, sob demanda, com um único clique. Essencialmente, “com base em seus interesses recentes, aqui estão alguns tópicos que podem ser úteis”. Poderia ser construída a partir do histórico de pesquisa do usuário, tópicos populares, palavras-chave comuns em tópicos em que eles participam, etc. Portanto, se eles nunca visitarem a Categoria de Coisas Problemáticas da IBM, nada dessa Categoria será recomendado, a menos que toque em algo em que eles já tenham um forte interesse, por exemplo, Gitlab.
Eu forneço um resumo de IA “daily buzz” no topo deste site, que é atualizado a cada 12 horas e utiliza posts dos últimos 2 dias.
A solução é proprietária e não está em um plugin público, mas demonstra o conceito.
E sim, está sujeita a erros!
Eu estava querendo fazer com que ele linkasse o conteúdo… ATUALIZAÇÃO: feito, só precisei do GPT 4 Turbo e de um pouco de engenharia de prompt. O GPT 3.5 não consegue lidar com esse nível de direção.
Obrigado, eu não tinha visto isso. Pode ser útil se as coisas mudarem para nós, mas infelizmente não parece atender às nossas restrições atuais (que falhei em mencionar anteriormente ).
Restrições
Não pode usar chat
Não pode usar mensagens privadas (PMs)
Não pode depender de IA para gerar respostas e fornecê-las silenciosamente aos nossos desenvolvedores – nós criamos software de segurança crítica
Essas restrições são essencialmente o motivo pelo qual uma lista de tópicos recomendados seria uma boa solução para nós: nenhum conteúdo é gerado, o chat não é usado, as mensagens privadas não são usadas.
Esta seria uma maneira interessante de fornecer um resumo diário. Como você diz, hiperlinks seriam definitivamente um ótimo recurso. Você está pensando em personalizá-lo para o conjunto distinto de interesses do usuário? O que tornou essa abordagem atraente em vez de depender do resumo diário existente?
Suspeito que esta seja a parte verdadeiramente desafiadora desta solicitação, mas também onde reside uma tonelada de valor.
A maioria das plataformas de hospedagem de conteúdo tem alguma forma de sistema de recomendação personalizado, eu ficaria surpreso se o Discourse não seguisse esse caminho em algum momento também. É argumentavelmente mais alcançável do que para plataformas como Spotify/Youtube, pois tudo é baseado em texto, removendo uma camada de erro entre a tradução de imagem/som para objeto/texto/conceito.
Pense mais fora da caixa com a solicitação na primeira postagem. Embora você tenha muitas restrições válidas que precisam ser atendidas, isso não significa que também não existam soluções potencialmente melhores.
Nota lateral sobre Tópicos Relacionados, que, honestamente, posso dizer que vi alguns milhares deles nos últimos dias e notei isto
Algo que vale a pena ficar de olho.
Ao revisar muitas postagens em Tópicos Relacionados para um site em inglês (OpenAI), comecei a notar que tópicos em espanhol tendem a ser agrupados e suspeito que, se fossem primeiro traduzidos para o inglês, cada postagem teria um vetor diferente e, portanto, seria agrupada com outras postagens.
List key stats like top users and counts of posts / topics
List 10 or so interesting new topics with a brief summary of activity that happened during the day
List 10 or so interesting older topics that got significant activity during the day
List a summary of activity by the @team group linking to topics they made inline.
Sourcing: ALWAYS Back statements with links to forum discussions.
Markdown Usage: Enhance readability with bold, italic, and > quotes and links.
Linking: Use https://meta.discourse.org/t/-/TOPIC_ID/POST_NUMBER for direct references.
User Mentions: Reference users with @USERNAME
Add many topic links: strive to link to at least 30 topics in the report. Topic Id is meaningless to end users if you need to throw in a link use ref or better still just embed it into the sentence
Categories and tags: use the format #TAG and #CATEGORY to denote tags and categories
bug topics are super important to me, make sure to prioritize them and also feel free to try to highlight any miscategorized bugs if you find any. DO NOT mention if stuff is correctly categorized.
When providing a topic summary, do so in paragraph form eg:
Experimental Admin Sidebar Navigation - @martin introduced an experimental admin sidebar navigation, sparking discussions about its design and functionality. Users like @packman and @Don provided feedback on missing entries and mobile display issues, which @martin acknowledged and is considering for future updates. Read more.
Recommended Topics List - @Tris20 suggested adding a list of recommended topics to the top menu, leveraging advancements in LLMs to tailor content to users’ interests. The conversation evolved with contributions from @EricGT, @merefield, and others, discussing the potential and challenges of personalized content recommendations. Read more.
Ten Years of Discourse - Users like @Judy_Hawkins and @Quercus shared their gratitude for various Discourse communities that have impacted their lives, celebrating the platform’s ten-year anniversary. Read more.
Locations Plugin - @Don reported an issue with the Locations plugin, which @merefield promptly responded to, indicating a willingness to investigate the problem. Read more.
Restricting Users from Editing Navigation Bar - @Yola sought help to restrict users from editing the navigation bar, and @JammyDodger clarified that the feature is designed for individual customization. @pfaffman and @LOCOSP provided CSS solutions to hide the edit button. Read more.
Upload File Bugs - @Vladimir_P encountered bugs when uploading files, which @JammyDodger and @blake addressed, leading to a fix being implemented. Read more.
Creating and Installing Plugins - @Gaurav_Kumar_Sandan inquired about creating and installing plugins on the home page, with @JammyDodger and @pfaffman providing guidance on theme components and plugin installation. Read more.
DiscoTOC - Automatic Table of Contents - Users like @digitaldominica and @Arkshine discussed issues with the DiscoTOC component, which were resolved following updates to Discourse. Read more.
Custom User Setting in a Plugin - @pirhoo sought advice on creating custom user fields from a plugin, with @merefield providing resources to assist in the process. Read more.
Billing Details Location - @Teresations needed help locating billing details for their Discourse hosted with Communiteq, which @awesomerobot and @RGJ assisted with, pointing to the control panel. Read more.
Interesting Older Topics with Significant Activity
Emoji Line-Height Adjustment Feedback - @sam and @tynaut discussed the impact of emoji line-height adjustments on user status styling, with @tynaut confirming a fix for chat and looking into a solution for posts/messages. Read more.
Using FILTER to Summarize Data - @JammyDodger shared a SQL query using the FILTER function to segment user data based on activity summary preferences, providing a detailed explanation of the query’s components. Read more.
Communication Style as Part of a User’s Profile - @Saif and @simon discussed the potential and concerns of implementing sentiment analysis on user profiles to assess communication style. Read more.
Enter to Newline, Shift+Enter to Submit Message in Chat - @meglio proposed a configuration change for chat input behavior, supported by users like @Jagster and @Moin, to make multi-paragraph messaging more user-friendly. Read more.
Can’t Approve a User’s First Post if It Has a Poll - @Firepup650 reported an issue where a user’s first post containing a poll could not be approved due to a permissions error. Read more.
Error Message When Uploading Logo - @spicerunner reported an error message when uploading a logo, which was resolved after an update. This topic was correctly categorized as a bug. Read more.
Outbound Notification E-mails Failing - @managenet faced issues with outbound notification emails after attempting to change the attachment size limit. Read more.
Can’t Rebuild App Stuck Extracting One Layer - @LOCOSP encountered a problem with a Docker layer extraction during a rebuild, seeking advice on how to force a re-pull of the files. Read more.
Does Discourse Launcher / Docker Use the Local Postgresql and Redis Servers? - @dalu74 inquired about whether Discourse uses the host’s Postgresql and Redis installations, which was clarified by @hello-smile6. Read more.
Specifically you could unleash some of these automation reports to try to surface interesting content.
The fact you control the context size, amount of days the report spans and more lets you have extreme control here.
Warning though, this needs GPT-4 turbo to work well, Anthropic Claude is a large context window llm but the results it has produced failed to impress me.
Você pode saber disso, mas também estou dizendo isso para outros, pois pode não ser tão óbvio.
Se você tiver acesso ao bot Discourse AI, que pode ser encontrado no canto superior direito
então, usando a persona Forum Helper, você também pode experimentar diferentes instruções que poderiam ser usadas com as instruções personalizadas do Relatório Periódico usando IA. Em outras palavras, você pode usar o Forum Helper para prototipar rapidamente o relatório.
Como alguém que teve o privilégio de auxiliar com feedback durante o desenvolvimento, posso dizer que as instruções personalizadas são importantes para obter os resultados desejados. No exemplo dado acima, posso ver claramente que Sam adicionou isso para sua variação de um relatório com base em sua solicitação inicial
Eu adoro a aparência disso, embora não tenha certeza se entendi totalmente a funcionalidade. Parece que isso está produzindo algo semelhante ao Digest. Eu gosto muito desse novo formato para essa informação.
O que eu não consegui ver na resposta é se isso pode fornecer um resumo personalizado. Eu perdi isso em algum lugar? É possível que isso seja gerado por usuário, com base nos interesses individuais do usuário?
Para tornar esses pensamentos mais concretos, é mais ou menos o que eu tinha em mente:
Identificar os principais interesses do usuário: (Executar uma vez) Analisar todos os tópicos e respostas com os quais o usuário interagiu (curtir, responder, criar) em busca de palavras-chave
Identificar interesses recentes do usuário: Analisar tópicos e respostas que o usuário leu este mês em busca de palavras-chave
Identificar conceitos-chave de tópicos recentes: analisar todos os novos tópicos esta semana
A parte que as pessoas mais gostam, que é impulsionada por LLM, é o simples resumo de 1 parágrafo das alterações em um tópico da data X para Y.
Em vez de fazer o LLM ler todo o corpus e criar um relatório como este, poderíamos apenas manter um “cache de fragmentos” onde, por exemplo, armazenamos parágrafos por tópico:
ID do tópico
Intervalo de datas para resumo
Resumo muito curto
2343
12-1 → 12-9
…
Com isso, podemos construir resumos personalizados por usuário. Então, estamos basicamente dividindo isso em vários problemas:
Identificação de tópicos interessantes → programação tradicional (tags/categorias observadas ou talvez observação em “segundo plano” com base na atividade - excluir já lidos)
Resumo de tópicos → recurso impulsionado por LLM
Isso tem várias vantagens. Escala muito bem, os resumos podem ser muito mais precisos porque a quantidade de contexto é muito mais limitada e há menos risco de vazamento de contexto e alucinação.
Tenho refletido sobre uma variação dessa ideia. Em vez de pensar em tópicos relacionados por tags ou categorias, considere-os com base em sua similaridade semântica. Embora nem todos os tópicos semanticamente relacionados se encaixem perfeitamente em uma esfera, é útil pensar neles dessa forma. Imagine uma esfera começando como um único tópico; à medida que mais tópicos são adicionados, a esfera se expande, mas tem um tamanho limitado depois de um tempo. No entanto, mais tópicos podem ser adicionados dentro da esfera à medida que ela cresce e, com o tempo, mesmo depois de atingir o tamanho total. Pense nisso como um show de fogos de artifício no céu, com explosões rápidas representando tópicos com diferentes similaridades semânticas sendo adicionados ao longo do tempo. Essa analogia me ajuda a entender melhor o conceito. Estou particularmente interessado nessas explosões rápidas e naquelas que persistem e cintilam por um longo período. Se alguém também tivesse uma representação visual disso, seria bom escolher centros semânticos e adaptar um parágrafo sobre isso.
Este tópico, ao usar Mostrar Postagem Completa, mostra uma imagem real de tópicos semanticamente relacionados.
EDIT
Aqui está um visual que se aproxima mais do que estou pensando.
Tenho que ser honesto e notar que esta é a primeira vez que ouço falar de “o algoritmo”, mas sim, ele se alinha bastante com o que estou pensando. Terei que investigar mais, mas não espero discordar do que você anota.
O algoritmo do Twitter refere-se ao complexo conjunto de regras e processos matemáticos que a plataforma de mídia social usa para determinar qual conteúdo é exibido aos usuários em suas linhas do tempo e feeds. Este algoritmo é projetado para curar e personalizar o conteúdo que os usuários veem com base em seus interesses, histórico de engajamento e outros fatores. O algoritmo do Twitter evoluiu ao longo dos anos, mas geralmente visa mostrar aos usuários os tweets mais relevantes e envolventes, ao mesmo tempo em que promove o engajamento e a retenção de usuários na plataforma.
Os principais componentes e fatores que podem influenciar o algoritmo do Twitter incluem:
Relevância: O algoritmo considera a relevância de um tweet para os interesses e preferências de um usuário. Ele leva em consideração as contas que um usuário segue, o conteúdo com o qual ele interage (curtidas, retweets, respostas) e as palavras-chave e hashtags que ele usa em seus tweets.
Engajamento: Tweets que recebem mais curtidas, retweets, respostas e compartilhamentos têm maior probabilidade de serem promovidos pelo algoritmo. Maior engajamento indica que um tweet está ressoando com os usuários e é considerado mais valioso.
Recência: O Twitter geralmente prioriza tweets recentes para manter os usuários atualizados com as informações e tendências mais recentes. No entanto, ele também pode mostrar tweets mais antigos que ainda são relevantes e envolventes.
Personalização: O algoritmo cria uma experiência personalizada para cada usuário, adaptando seu feed aos seus interesses e comportamentos específicos. Ele se adapta ao longo do tempo à medida que os usuários interagem com a plataforma.
Contagem de seguidores: O número de seguidores de uma conta também pode influenciar a visibilidade de seus tweets. Contas com mais seguidores geralmente têm maior probabilidade de ter seus tweets mostrados a um público mais amplo.
Tipo de mídia: Tweets com imagens, vídeos ou outras mídias tendem a receber maior engajamento e podem ser promovidos pelo algoritmo.
Qualidade e segurança: O algoritmo do Twitter também visa promover conteúdo de alta qualidade e seguro, ao mesmo tempo em que reduz a visibilidade de spam, notícias falsas e conteúdo prejudicial.
É importante notar que o Twitter atualiza e refina periodicamente seu algoritmo para melhorar a experiência do usuário e abordar preocupações relacionadas à disseminação de desinformação e conteúdo prejudicial. Os usuários também podem ter algum controle sobre sua linha do tempo ajustando suas configurações, silenciando contas ou usando recursos do Twitter como Listas e a opção “Mostrar os melhores Tweets primeiro” para personalizar ainda mais seu feed.
Eu adoro isso. Parece uma versão sem alertas do Watching, que é exatamente o tipo de coisa que estamos procurando. Algo que realmente me impressiona é o pouco esforço cognitivo que sinto ao ler este formato! Honestamente, mal posso esperar para ler mais deles!
Estou certo em pensar que isso só foi tentado no Meta até agora? Estou extremamente curioso sobre como isso lidaria com um fórum técnico com informações potencialmente mais obscuras.