Como Reduzir os Enviesamentos dos Modelos de PLN para uma Melhor Análise de Texto (com Dan Erickson, da Viable)
Michael Luchen
O processamento de linguagem natural pode ser uma ferramenta incrivelmente poderosa. Pode ser utilizado para analisar milhares de pontos de dados e fornecer informações rápidas e fiáveis. No entanto, haverá o risco de surgir enviesamento nestes resultados? Como podemos ter a certeza de que os resultados são tão objetivos quanto possível? Continue a ouvir, pois hoje vamos explorar em profundidade o tema do processamento de linguagem natural, uma ferramenta poderosa que contribuirá para o futuro da gestão de produtos.
Este é o podcast Product Manager, as vozes da comunidade que está a escrever o manual da gestão, do desenvolvimento e da estratégia de produtos. Somos patrocinados pela Crema, uma agência de produtos digitais que ajuda pessoas e empresas a prosperar através da criatividade, da tecnologia e da cultura. Saiba mais em crema.us.
Continue a ouvir para obter informações práticas e autênticas que o ajudarão a ter sucesso no mundo da gestão de produtos.
Muito bem. Hoje temos connosco Dan Erickson, CEO e fundador da Viable, para falar sobre o nosso tema: o enviesamento no processamento de linguagem natural, ou PLN. A Viable ajuda as empresas a aprender com os seus clientes, agregando feedback dos clientes através de vários canais, identificando temas e analisando o feedback para produzir informações e recomendações concretas.
A Viable suporta muitos canais: tickets de trabalho, chat em direto, redes sociais, inquéritos, avaliações de produtos e aplicações e transcrições de chamadas. Dan e a sua equipa angariaram também um total de 9 milhões de dólares junto da Craft Ventures, Javelin Venture Partners, Streamlined Ventures, Meyers Capital, de muitos investidores-anjo extraordinários e de vários GPs individuais.
Olá, Dan! Bem-vindo ao programa.
Dan Erickson
Obrigado pelo convite, Michael. É ótimo estar aqui.
Michael Luchen
É ótimo ter-te connosco.
E, para a nossa audiência, estou curioso: para começar e abrir a conversa, podes partilhar um pouco da tua experiência e explicar como chegaste ao ponto em que estás hoje?
Dan Erickson
Claro. A minha experiência é, na realidade, na área da engenharia.
Trabalho em empresas emergentes na vertente de engenharia há cerca de 15 anos. Tenho-me concentrado sobretudo nas fases iniciais e, posteriormente, também no crescimento. No início da minha carreira, estava muito focado em ajudar empresas em fase inicial a criar o seu primeiro produto e a compreender verdadeiramente essa primeira fase de adequação produto-mercado.
Depois passei para empresas em maior crescimento, como a Yammer e a Eaze. Fui vice-presidente de Engenharia na Eaze. Fui CTO de uma empresa chamada Getable, que atuava no setor do aluguer de equipamento de construção. E, há apenas alguns anos, fundei a Viable para ajudar as empresas a compreenderem realmente os seus clientes e a estabelecerem ligação com eles.
Michael Luchen
E como surgiu a ideia e a necessidade da Viable?
Dan Erickson
A Viable chegou ao estado atual através de um percurso um pouco sinuoso. Na realidade, seguimos o mercado. Quando começámos a empresa, chamávamo-nos Viable Fit. Estávamos focados em ajudar empresas em fase inicial a encontrar a adequação produto-mercado utilizando o modelo de adequação produto-mercado da Superhuman.
Tínhamos um protótipo que utilizava PLN para as ajudar a compreender as respostas obtidas no inquérito criado pela Superhuman. Rapidamente percebemos, contudo, que o grande valor que fornecíamos estava na camada de análise, não necessariamente na recolha de feedback ou na medição da adequação produto-mercado.
Por isso, subimos no mercado. Afastámo-nos das empresas emergentes em fase inicial e aproximámo-nos das empresas de elevado crescimento e das empresas de grande dimensão, que recebem uma enorme quantidade de dados e não têm atualmente forma de os analisar.
Michael Luchen
Muito interessante, sobretudo tendo em conta onde começaram e para onde fizeram a mudança em termos de segmentos de mercado.
Dan Erickson
Tudo se resumiu a ouvir o mercado.
Michael Luchen
Antes de aprofundarmos a Viable, estou curioso, sobretudo para a nossa audiência. Todos estão a ouvir: podes explicar, em termos gerais, o que é o processamento de linguagem natural, ou PLN?
Dan Erickson
Claro. O processamento de linguagem natural é, basicamente, uma forma de ajudar um computador a compreender a linguagem humana.
No início, encontrava-se numa fase muito embrionária e era utilizado para tarefas relativamente simples, como extrair palavras-chave de textos ou fazer análise de sentimentos sobre temas específicos dentro de um texto. O PLN existe há décadas, mas nos últimos anos assistimos a um enorme renascimento nesta área, sobretudo em torno dos modelos transformadores e dos grandes modelos de linguagem. Estes modelos permitiram uma compreensão muito mais profunda da linguagem humana no seu contexto.
Em vez de apenas conseguirem extrair expressões-chave ou dizerem que algo exprime um sentimento positivo ou negativo, começam a compreender efetivamente o que queremos dizer. Conseguem também começar a compreender as semelhanças entre diferentes temas.
Por exemplo, em vez de extraírem “atalhos de teclado”, “comandos de teclado” e “teclas de atalho” como três ideias separadas, os novos modelos de PLN começam a conseguir compreender que as três expressões significam, na realidade, a mesma coisa. Isso deve-se à profundidade de compreensão que estes novos modelos de PLN possuem.
Em termos gerais, o PLN consiste em compreender a linguagem humana de uma forma que os computadores possam utilizar para extrair a informação correta.
Michael Luchen
E como é que a Viable utiliza o PLN?
Dan Erickson
No centro do nosso produto está o nosso motor de análise qualitativa, que combina modelos internos e de terceiros, incluindo o GPT-3.
O GPT-3 fornece, de certa forma, a base do que estamos a construir. No entanto, criámos muitos modelos personalizados sobre essa base, bem como alguns modelos GPT-3 aperfeiçoados. Trabalhámos em estreita colaboração com a OpenAI e com as suas equipas para o fazer. Utilizamos PLN e geração de linguagem natural, ou GLN, numa vasta gama das nossas funcionalidades.
Uma delas é a análise de temas. Basicamente, recebemos um grande conjunto de dados de várias fontes e agrupamos os elementos em temas. Assim, podemos identificar coisas como as principais reclamações, os principais elogios ou as perguntas mais frequentes.
Cada um desses elementos acaba por constituir um agrupamento a que chamamos tema. Fazemos a análise dos temas e, além de agruparmos os elementos, analisamos o agrupamento e resumimo-lo para que compreenda exatamente aquilo de que as pessoas estão a falar.
Um bom exemplo seria imaginar que está a criar um comando para uma consola de videojogos e que as pessoas publicam no Reddit que o joystick esquerdo não funciona muito bem. Tem milhares de comentários nesse fórum, mas apenas cerca de cem mencionam o joystick esquerdo.
Levaria horas a analisar manualmente tudo isso e a organizar os comentários em diferentes grupos. Nós conseguimos fazê-lo em minutos e resumir todos os cem comentários sobre o joystick esquerdo, para que possa enviar a informação à sua equipa de hardware e esta saiba exatamente por onde começar.
Também utilizamos o PLN para a extração de tópicos, identificando especificamente as funcionalidades ou os produtos mencionados. Depois fazemos o resumo da análise de temas, que é onde entra a geração de linguagem natural. É aí que geramos um texto efetivamente legível por seres humanos.
Na verdade, o nosso relatório médio tem mais de 30 parágrafos de análise escrita, produzida pelo nosso sistema informático, sem intervenção humana. Também utilizamos o PLN nas nossas perguntas e respostas abertas: pode escrever uma pergunta em inglês corrente, nós consultamos os seus dados, encontramos tudo o que possa responder à pergunta e, depois, submetemos a informação a vários modelos de análise para responder efetivamente à questão.
Michael Luchen
Muito interessante.
E, ao ouvir-te falar sobre isto e conhecendo um pouco da história da Viable enquanto empresa, percebe-se que se trata de uma solução de produto bastante tecnológica.
Quando estavam a construir isto e a tentar encontrar a adequação produto-mercado, foi uma situação em que viram a tecnologia e pensaram que existia uma oportunidade de a aplicar a um produto para resolver um problema?
Ou começaram por identificar um problema e decidiram procurar uma tecnologia, tendo o PLN surgido numa fase suficientemente desenvolvida para resolver esse problema?
Dan Erickson
Começou, na verdade, pela segunda opção. Queríamos resolver um problema real. Inicialmente, o problema consistia em ajudar as empresas a encontrar a adequação produto-mercado através do processo da Superhuman. Esse processo consiste, basicamente, em enviar um inquérito, recolher as respostas, ler cada resposta, agrupá-la por funcionalidade ou dificuldade e utilizar essa informação para orientar o seu roteiro.
A dificuldade que as pessoas tinham nesse processo era encontrar tempo para ler todas as respostas e categorizá-las corretamente. Rapidamente percebemos, contudo, que o PLN poderia ajudar-nos e competir com os seres humanos nessa tarefa específica. Começámos com um sistema de PLN bastante simples, sobretudo dedicado à extração de tópicos, com alguma análise de sentimentos, para ajudar a compreender o que era necessário criar e onde.
Mas percebemos rapidamente que as pessoas gostavam muito da vertente de análise. Por isso, decidimos concentrar-nos nela e afastámo-nos do problema original que estávamos a tentar resolver.
Aproximámo-nos, contudo, de outro problema que descobrimos durante o processo. Começámos a trabalhar com empresas que já tinham encontrado a adequação produto-mercado. Essas empresas queriam introduzir outros tipos de dados, além do inquérito que estávamos a enviar. Começámos, por isso, a criar um sistema mais generalizado e tivemos acesso ao GPT-3 em junho de 2020.
Isso ajudou-nos a perceber que era possível automatizar o processo, não apenas para um único inquérito, mas para literalmente todos os elementos de texto que uma empresa recolhe.
Michael Luchen
Portanto, também recolhiam esse texto. Poderia surgir aí uma oportunidade para o enviesamento aparecer.
O nosso tema é o enviesamento no PLN e a sua gestão. Antes de aprofundarmos a questão, de que forma pode o enviesamento ser introduzido no PLN quando este é utilizado num produto?
Dan Erickson
Por defeito, todos os modelos de linguagem têm algum enviesamento incorporado, porque são treinados com textos que foram escritos por seres humanos.
Os seres humanos são inerentemente enviesados. Não somos seres completamente racionais. Como estes sistemas são treinados com um corpus de dados muito humano, acabamos por introduzir esses enviesamentos humanos nos modelos de PLN.
As empresas que fornecem estes modelos trabalham intensamente para reduzir esse enviesamento tanto quanto possível. Penso, na verdade, que a OpenAI está na liderança nesse aspeto. Tem equipas inteiras dedicadas especificamente ao problema do enviesamento.
Se utilizar algo como o GPT-3 tal como é fornecido, pode obter resultados questionáveis. No entanto, pode tentar resolver parte do problema através de técnicas como o aperfeiçoamento e o treino para um caso de utilização específico. Quanto mais específico for o caso de utilização, melhores serão os resultados.
Mas, como referi, todos os modelos de PLN têm enviesamentos inerentes. É necessário concentrar-se realmente no treino, de forma a reduzi-los tanto quanto possível.
Michael Luchen
Na Viable, como trabalham para reduzir esse enviesamento? É sequer possível fazê-lo?
Dan Erickson
Como mencionei, a principal coisa que fazemos é treinar muitos modelos internamente com conjuntos de dados que nós próprios selecionámos. Isso ajuda-nos a chegar a um caso de utilização muito específico. Em vez de utilizarmos a versão genérica e de grande dimensão do modelo, usamos algo treinado para executar uma tarefa muito concreta.
Quando a tarefa é mais específica, torna-se mais fácil evitar o enviesamento. Fazemos isso tanto com o próprio GPT-3, utilizando o respetivo ponto de acesso de aperfeiçoamento, como com todos os modelos internos que desenvolvemos.
Depois, submetemos todos esses modelos a testes de referência baseados também na nossa própria perceção do enviesamento. Incluímos pessoas no processo de treino para compreender, por exemplo, se o sistema parece estar a favorecer X ou a desfavorecer Y. A partir daí, podemos acrescentar mais dados de treino para compensar os enviesamentos.
Michael Luchen
Há alguma consideração especial relativamente aos conjuntos de dados dos clientes que analisam?
Dan Erickson
Os conjuntos de dados que analisamos não são utilizados para treinar os modelos. Normalmente, temos os nossos próprios conjuntos de dados, que fomos criando.
Por vezes utilizamos versões anonimizadas, com autorização, mas, na maioria dos casos, não utilizamos dados dos clientes para treino. Analisamos esses dados com modelos pré-treinados que foram avaliados para garantir que o enviesamento foi reduzido.
Por isso, na maior parte dos casos, não treinamos com os próprios dados dos clientes. Limitamo-nos a analisá-los com modelos que já começámos a verificar quanto a problemas de enviesamento.
Michael Luchen
Um dos temas que está a surgir para mim é o investimento contínuo no aperfeiçoamento dos modelos, sobretudo a partir dos modelos-base fornecidos pelo GPT-3 ou pela OpenAI.
Quando se trata do roteiro do vosso produto, existem períodos específicos de aperfeiçoamento? Como abordam esse trabalho ao definir prioridades no vosso roteiro de produto?
Dan Erickson
O aperfeiçoamento existe no nosso roteiro quase como uma linha de trabalho própria. Temos funcionalidades empresariais a adicionar, integrações a criar e, depois, o aperfeiçoamento dos modelos, além de várias outras atividades.
O aperfeiçoamento dos modelos é, sem dúvida, um processo contínuo que fazemos constantemente. Na verdade, não me lembro de uma semana em que não tenhamos feito algum tipo de novo treino.
Temos atualmente mais de uma dúzia de modelos internos com os quais trabalhamos. Não estou a dizer que voltamos a treinar todos esses modelos o tempo todo, mas, em qualquer semana, pelo menos um deles é atualizado ou novamente treinado.
Michael Luchen
Que percentagem do tempo da vossa equipa é dedicada a isso?
Dan Erickson
Diria que cerca de 20% do tempo da equipa de PLN é dedicado a este aperfeiçoamento e treino contínuos.
Michael Luchen
Muito interessante. Considerando o potencial de enviesamento no PLN, de que forma é que a utilização do PLN reduz o enviesamento potencial nos processos tradicionalmente manuais?
Dan Erickson
Ao falar de enviesamento no PLN, é importante pensar também no enviesamento presente em qualquer processo atual que o PLN venha substituir.
Por exemplo, os gestores de produto que tentam compreender as reclamações dos clientes baseiam-se muitas vezes em relatos de representantes de suporte, vendedores ou outras pessoas com quem tenham falado. Tenho a certeza de que, enquanto gestor de produto, já perguntou a alguém do suporte ou das vendas quais eram os principais problemas que deveriam resolver naquele momento.
Essa pessoa irá responder de imediato, o que normalmente será correto, mas não necessariamente completo. Poderá ter um enviesamento de recência ou favorecer os clientes mais ruidosos em vez da maioria.
É fácil os seres humanos se desviarem para uma questão específica que acaba por se transformar no seu projeto pessoal. O PLN não sofre dessa forma específica de enviesamento. Assim, em vez de ficarmos limitados pelo enviesamento presente nesses relatos, podemos utilizar o PLN para alargar a perspetiva e observar uma maior quantidade de dados.
Por exemplo, como referi, produzimos em média mais de 30 temas. Esse número está, aliás, a aumentar à medida que fazemos o novo treino. O último relatório que elaborámos identificou mais de 300 temas. Os seres humanos não conseguem atingir esse nível de granularidade ou essa completude de análise.
Quando analiso manualmente os elementos de feedback, provavelmente classifico cada um em apenas um ou dois temas. No entanto, normalmente verificamos que existem três a cinco temas na maioria dos elementos de feedback.
As pessoas registam apenas o tema que consideram ser o problema central. Assim, a visão obtida através do processamento manual é muito menos completa do que a obtida com algo como o PLN.
Michael Luchen
Interessante. É realmente interessante. A revisão ou intervenção humana será sempre necessária, pelo menos até certo ponto, para reduzir o potencial enviesamento?
Dan Erickson
Sim. Embora devamos esforçar-nos sempre por reduzir o enviesamento nestes sistemas, sobretudo nos grandes modelos de linguagem treinados com terabytes de linguagem humana, não devemos perder de vista as melhorias concretas que estes sistemas podem proporcionar atualmente.
Isto significa que os modelos podem fazer grande parte do trabalho inicial, mas será sempre necessário alguém rever os resultados e garantir que estão corretos.
Tentamos fazer o máximo possível do lado do treino dos modelos e da nossa revisão interna. Também disponibilizamos formas para os nossos clientes nos enviarem feedback, ajudando no processo de novo treino. Quase todas as análises têm opções de aprovação e reprovação, o que permite aos clientes indicar-nos se os resultados são bons, maus, funcionam ou não.
Michael Luchen
Interessante. Com base nisso, conseguem obter mais detalhes do feedback dos clientes para além de uma aprovação ou reprovação, de forma a perceberem como ajustar os modelos?
Dan Erickson
Ainda não implementámos essa funcionalidade. Em breve, porém, a opção de reprovação irá apresentar uma caixa de texto imediatamente depois de o utilizador a selecionar. Enviaremos todo esse texto diretamente para a Viable, para a nossa própria instância.
Assim, poderemos identificar todos os temas presentes nesse feedback e tentar resolvê-los.
Michael Luchen
Excelente. Estou muito curioso. Penso sempre no futuro dos produtos. Na tua opinião, como será o futuro do PLN e de que forma poderá moldar o futuro da gestão de produtos? Falaste inicialmente de como tudo isto nasceu da tua experiência em encontrar a adequação produto-mercado.
Como se cruzam estes mundos?
Dan Erickson
Como referi, estamos a viver uma espécie de renascimento do PLN. As coisas estão realmente a avançar. Podemos ver isso nos modelos multimodais, como o DALL-E 2, em que escrevemos uma descrição da imagem que queremos gerar e o sistema produz essa imagem.
Podemos escrever algo como “um pato numa chávena de chá” e o sistema cria efetivamente essa imagem. É extraordinário, mas o avanço mais significativo no PLN está a acontecer através de modelos maiores, com uma compreensão mais profunda.
É provável que o GPT-4 surja nos próximos meses ou no próximo ano, ou quando quer que seja lançado, e deverá apresentar melhorias significativas relativamente ao GPT-3. Também estamos a ver modelos como o PaLM, da Google, e vários outros modelos da Microsoft, do Facebook e de outras empresas.
Estes modelos estão a tornar-se maiores e permitem incluir mais contexto. Atualmente, estamos limitados pela quantidade de texto que o GPT-3 consegue analisar de uma só vez: cerca de 2 000 a 4 000 tokens, o que corresponde aproximadamente a 4 000 palavras.
No futuro, penso que teremos janelas de contexto muito maiores. Conseguiremos trabalhar com dezenas de milhares de palavras, em vez de apenas alguns milhares, o que aumentará significativamente a capacidade dos modelos para relacionarem conceitos cada vez mais distantes.
Michael Luchen
Se eu for gestor de produto e identificar uma oportunidade para integrar um modelo de PLN, como o GPT-3 ou talvez o GPT-4, por onde devo começar? Devo falar com os programadores? Trata-se de uma implementação enorme e complexa? Devemos esperar alguns anos antes de a considerar?
Que abordagem recomendas aos gestores de produto que nos estão a ouvir?
Dan Erickson
Penso que o primeiro ponto de partida são as interfaces de linguagem natural. Existem interfaces de linha de comandos e interfaces gráficas.
São todas formas diferentes de interagir com um sistema. As interfaces de linguagem natural, como o nosso sistema de perguntas e respostas, o GPT-3, o GitHub Copilot e outras ferramentas semelhantes, permitem escrever comandos para executar uma ação e obter o resultado.
É provavelmente aí que veremos mais inovação e é também uma das funcionalidades mais fáceis de adicionar a praticamente qualquer produto. Permitirá formas mais naturais de interagir com o produto. Em vez de obrigar os utilizadores a percorrer um assistente ou a abrir uma janela específica, podemos permitir que façam perguntas e interajam com o sistema através de linguagem corrente, sem terem de adivinhar onde clicar.
Esta vertente é relativamente fácil de implementar, desde logo, com algo como o GPT-3. Recomendo experimentarem. Entrem no ambiente de testes do GPT-3 da OpenAI e vejam o que a ferramenta consegue fazer e como poderá ajudar o vosso produto.
Michael Luchen
Excelente. Antes de terminarmos, gostava de fazer algumas perguntas pessoais rápidas, se estiver tudo bem.
Dan Erickson
Claro, parece-me ótimo.
Michael Luchen
Primeiro: qual dos teus hábitos pessoais contribuiu mais para o teu sucesso?
Dan Erickson
Para mim, é dormir oito horas. Como fundador, é muito difícil fazê-lo, mas considero que o sono é o hábito fundamental para todas as outras coisas. Quando não dormimos o suficiente, não temos o mesmo desempenho.
Começamos a saltar refeições e podemos não fazer exercício nesse dia. Para mim, o sono é o hábito que não pode ser sacrificado em benefício de outras coisas.
Isso não significa que não tenha ocasionalmente períodos de trabalho intenso ou que não trabalhe até tarde, mas, na maior parte do tempo, tento manter uma rotina consistente.
Michael Luchen
Qual é a tua ferramenta preferida, que utilizas regularmente?
Dan Erickson
Atualmente, é sem dúvida o GitHub Copilot. Utilizo o Visual Studio Code para todo o meu trabalho de desenvolvimento. Somos uma equipa pequena, com cerca de dez pessoas na Viable, por isso ainda escrevo algum código.
Tem sido extraordinário trabalhar com o Copilot. É, basicamente, PLN aplicado a código em vez de inglês. Começamos a escrever código no editor e a ferramenta tenta perceber o que estamos a fazer, escrevendo mais código por nós.
É como ter um programador de apoio baseado em inteligência artificial. Chegou ao ponto de cerca de 50% do código que escrevo ser agora produzido pelo GitHub Copilot.
Michael Luchen
Isso é incrível.
Por fim, para alguém que está no início do seu percurso em produtos, qual é o conselho que darias?
Dan Erickson
Não fiquem presos a uma rotina. O que quero dizer é que terão uma ideia e essa ideia será muito interessante, mas poderá não ser aquilo que irá realmente conduzir a empresa ao sucesso. Normalmente, a ideia inicial é diferente do ponto onde acabamos por chegar.
É essencial continuar a ouvir os utilizadores e permitir que eles nos conduzam na direção certa, em vez de nos concentrarmos apenas na nossa própria intuição.
Michael Luchen
Está muito bem dito e é uma excelente forma de terminar.
Muito obrigado por participares hoje, Dan. Aprendi certamente muito sobre PLN e levo comigo algumas ideias para os produtos em que trabalhei.
Dan Erickson
Obrigado pelo convite. Foi ótimo estar aqui.
Michael Luchen
Pode saber mais sobre o Dan no LinkedIn e descobrir mais sobre a empresa dele, a Viable, em askviable.com.
E muito obrigado, Dan, por teres participado.
Obrigado a todos por ouvirem. Não se esqueçam de deixar uma avaliação do podcast e de nos dizerem o que pensam. Se ainda não o fizeram, sigam-nos e juntem-se à nossa comunidade em theproductmanager.com
Mais uma vez, obrigado e até à próxima!




