Um “chatbot” em Língua Portuguesa é um programa que pode entender e analisar uma conversa em Português. Hoje, esses chatbots podem manter de maneira muito fluida um diálogo entre humanos e computadores.
Avanços recentes em Processamento de Linguagem Natural (NLP, em inglês - nesse texto referido como PLN) possibilitam a criação de chatbots em Português, levando em conta as peculiaridades da linguagem. Esses avanços usam Aprendizado de Máquina (ou ML - machine learning) para entender não só a estrutura da linguagem, mas também o significado das palavras e seus contextos.
O português é a sexta língua mais falada do mundo, metade deles no Brasil, e apesar de sua proximidade com todas as línguas latinas, tem duas peculiaridades marcantes:
Além disso, existem expressões idiomáticas completamente diferentes entre falantes de diferentes países, o que pode dificultar muito a compreensão, às vezes de frases inteiras.
Essas peculiaridades tornam o trabalho de um chat em português difícil? Sem surpresa, a resposta é sim.
O exposto acima impõe desafios para PLN em chatbots em português. O primeiro passo para qualquer algoritmo de Processamento de Linguagem Natural é entender a linguagem, ou seja, analisar as frases em pequenas unidades de significado, ou "tokens". Essa tarefa é chamada de "tokenização" (aliás, uma característica do português brasileiro é usar palavras estrangeiras e "abrasileirá-las"). Assim, quanto mais sistemática e ordenada for a linguagem, mais fácil é a tokenização.
Antes de entendermos o que significam os avanços recentes do PLN, precisamos entender como os modelos de compreensão de PLN foram criados.
De certa forma, entender como um chatbot em português (ou em qualquer idioma) é feito é como uma viagem no tempo.
As primeiras pesquisas para lidar com a imprevisibilidade da linguagem surgiram nos anos 40, com artigos do neuroanatomista e psiquiatra Warren McCulloch, do MIT, e do matemático Walter Pitts, da Universidade de Illinois. Eles lançaram as bases teóricas que permitiram a John von Neumann escrever “The General and Logical Theory of Automata”, no final da década de 1940.
Os avanços que deram aos computadores cada vez mais poder de processamento formaram o outro pilar que levou a pesquisa de PLN dos laboratórios científicos para empresas e órgãos públicos dedicados a explorar o uso cotidiano das novas tecnologias.
A história do PLN, especificamente, começa mesmo nos anos 1950, quando Alan Turing publicou o artigo “Computing Machinery and Intelligence”, propondo o que hoje chamamos de Teste de Turing como critério de inteligência.
A partir do final dos anos 1980, porém, houve uma revolução no PLN com a introdução de algoritmos de aprendizado de máquina para o processamento de linguagem. Isso aconteceu tanto pelo aumento do poder computacional quanto pela diminuição da influência das teorias linguísticas “chomskyanas”, cujos fundamentos teóricos desestimulavam o tipo de corpus linguístico necessário para a abordagem de aprendizado de máquina no processamento de linguagem. Essa automação era feita dividindo as sentenças em blocos menores e aplicando regras estatísticas para catalogar e identificar as relações entre esses blocos. Esse processo é chamado de “tokenização”, já detalhado acima.
No entanto, o trabalho de tokenizar uma linguagem exigia muita intervenção manual dos pesquisadores de PLN. Cada idioma precisava ser tokenizado de forma independente e, basicamente, manual.
Esse trabalho era especialmente difícil para robôs que lidam com línguas altamente contextuais, como você pode imaginar.
Depois que o idioma era tokenizado, os algoritmos de IA podiam ser aplicados para entender o idioma, ou seja, construir um mapa de significado de como as palavras se relacionam.
Essa etapa de compreensão do idioma poderia ser automatizada se a tokenização fosse confiável. O problema, porém, era que a tokenização era complicada e, por isso, até mesmo os algoritmos de compreensão precisavam ser configurados manualmente junto com a tokenização.
E o resultado final não era bom. Por exemplo, o nível de compreensão do português em comparação ao inglês era mediano. É claro que sempre houve muito mais foco em pesquisas em inglês do que em português, mas a dificuldade de lidar com os cenários de contextualização do português tornava difícil alcançar bons resultados.
Como é natural entre pesquisadores de IA, eles começaram a se perguntar se a própria tokenização não poderia ser feita por aprendizado de máquina. Isso permitiria que os algoritmos de tokenização e compreensão fossem indiferentes ao idioma (ou seja, agnósticos ao idioma), tornando o treinamento da IA em qualquer idioma muito mais rápido e eficiente.
E foi nesse ponto que a inovação aconteceu no final de 2018: a IA pôde ser treinada em português sem intervenção manual e, como resultado, o desempenho do PNL melhorou muito.
As plataformas de IA para chatbot em português puderam se tornar instantaneamente muito melhores e o entendimento resultante em português ficou semelhante ao nível alcançado em outros idiomas.
O fato desse avanço ter ocorrido não significa que a qualidade geral dos chatbots em português melhorou de imediato. Para que esses benefícios fossem sentidos pelos clientes, o primeiro passo das plataformas de chatbot que usam IA foi atualizar seus algoritmos para as tecnologias mais recentes.
Dado o investimento na tecnologia anterior, isso não é algo que essas plataformas fizeram rapidamente.
Além disso, há recursos que precisam ser implementados para garantir que os chatbots em português ofereçam uma boa experiência aos usuários finais. Por exemplo, a construção de blocos de sinônimos e seus usos em diferentes contextos para mapear significados e evitar que o chatbot entenda uma palavra com sentido diferente do contexto em que está sendo usada.
Trabalhar com vários idiomas em diferentes plataformas de marketplace pode ser complicado. Algumas plataformas exigem que chatbots em idiomas diferentes sejam criados como bots separados, o que obviamente é ineficiente em termos de escalabilidade e manutenção.
Por isso, uma boa plataforma deve ser realmente multilíngue e permitir várias traduções do mesmo conteúdo na interface do usuário.
Além disso, o idioma precisa ser definido como uma variável da conversa, para que a IA possa detectar o idioma corretamente e os designers de conversação possam criar lógicas baseadas nesse idioma.
Além da funcionalidade específica de idioma, para criar um ótimo chatbot em qualquer língua, a funcionalidade geral da plataforma de chatbot precisa ser excelente. Existem duas categorias de funcionalidades importantes.
Por fim, a qualidade da experiência do chatbot criada para o usuário final está diretamente relacionada ao poder da ferramenta utilizada para criá-la, desde o entendimento do idioma até a abordagem da interface gráfica/textual.
Mesmo com uma boa plataforma, ainda existem desafios na criação de um chatbot em português. Há poucos estudos em português no universo da IA, então conseguir os recursos certos para um projeto pode ser trabalhoso.
Embora não seja necessário buscar recursos para escrever os algoritmos de PLN, pois eles já são fornecidos, pode ser difícil encontrar designers competentes que entendam as diferenças idiomáticas entre os diversos grupos que o chatbot em português deve atender. Isso é especialmente verdadeiro no caso da Língua Portuguesa, devido ao uso extensivo de expressões idiomáticas baseadas em contexto.
Por isso, é importante que a plataforma de chatbot permita que o conteúdo e as traduções sejam facilmente atualizados e mantidos por pessoas não técnicas, já que é provável que designers e desenvolvedores não dominem os aspectos culturais das várias manifestações da Língua Portuguesa.
Obviamente, o fato de os chatbots em português de alta qualidade estarem se tornando mais precisos significa que a adoção dessa tecnologia vai aumentar nos próximos anos. Esse crescimento vai resolver os problemas de restrição de recursos e permitir que os potenciais compradores da tecnologia tenham uma visão clara das melhores práticas para alcançar os melhores resultados.
As inovações em tecnologia de PLN se aplicam não só aos chatbots em português, mas também a outros aplicativos de IA. Agora vemos sistemas multifacetados que usam IA em português de diferentes formas, desde análise de sentimentos em notícias e comentários até resumo ou geração de textos que antes só podiam ser feitos por humanos. Geralmente, um chatbot em português é usado como interface do usuário não só para diferentes tecnologias de IA, mas também para ajudar usuários finais a utilizar outros sistemas, como sites ou aplicativos web, ou ainda servindo como conselheiro de compras e/ou tomada de decisão.
É claro que, apesar do grande avanço no poder do PLN em português, os resultados sempre podem melhorar. Pesquisas continuam aprimorando os motores de PLN e, sem dúvida, novos avanços virão. Até que o PLN atinja níveis humanos, sempre haverá trabalho a ser feito.
O próximo passo para todos os mecanismos de PLN, independentemente do idioma, é melhorar o desempenho em diálogos de múltiplas voltas. Isso significa permitir que um humano tenha uma conversa em várias etapas com o bot dentro de um domínio restrito, em vez de apenas emitir comandos ou perguntas. E o próximo passo para as plataformas de chatbot é facilitar a criação desses diálogos de múltiplas voltas.
O diálogo de múltiplas voltas é especialmente importante para interfaces de voz como Alexa ou dispositivos como o Google Home.
Embora tenhamos discutido avanços em tokenização orientada por aprendizado de máquina e suas implicações para o PLN em português, um tema relacionado é a transcrição de fala para texto em português. A transcrição de fala para texto em português ainda está evoluindo em relação a outros idiomas — embora as diferenças de desempenho estejam diminuindo rapidamente. Esperamos que o progresso do PLN descrito aqui e em andamento no mundo ajude a reduzir ainda mais essa diferença em breve.
Crie experiências incríveis com agentes de IA.