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 no 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 os falantes dos diferentes países, dificultando muitíssimo a compreensão, às vezes de frases inteiras.
Essas peculiaridades tornam o trabalho de um chat em Português difícil? Sem nenhuma surpresa, a resposta é sim.
O exposto acima impõe desafios para PNL nos 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 significados, ou "tokens". Essa tarefa é chamada de "tokenização" (aliás, uma característica do Português brasileiro é usar palavras estrangeiras e "abrasileirá-las"). Logo, quanto mais sistemática e ordenada é a linguagem, mais fácil fica sua tokenização.
Antes que possamos entender o que significam os últimos avanços do PLN, nós precisamos entender como os modelos de entendimento de PLN foram criados.
De certo forma, entender como um chatbot em Português (ou em qualquer idioma) é feito implica uma viagem no tempo.
As primeiras pesquisas para lidar com a imprevisibilidade da linguagem podem ser achadas na década de 40, com os artigos do neuroanatomista e psiquiatra Warren McCulloch, do Instituto Tecnológico de Massachusetts, 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 permitiram aos computadores terem poder de processamento cada vez maior formaram o outro pilar que levou a pesquisa do PLN dos laboratórios científicos aos laboratórios das empresas e órgãos de governo dedicados à pesquisas de uso cotidiano das novas tecnologias.
A história do PLN, especificamente, começa mesmo na década de 1950, quando Alan Turing publicou o artigo “Computing Machinery and Intelligence”, que propunha o que agora é chamado de Teste de Turing como critério de inteligência.
A partir do final dos anos 1980, no entanto, houve uma revolução no PLN com a introdução de algoritmos de aprendizagem automática para o processamento de linguagem. Isto foi devido tanto ao aumento constante do poder computacional quanto à diminuição gradual da dominância das teorias da linguística “chomskyanas”, cujos fundamentos teóricos desestimularam o tipo de corpus linguístico que está subjacente à abordagem da aprendizagem automática ao processamento da linguagem. Essa automatização era alcançada dividindo-se as sentenças em blocos menores e aplicando-se regras estatísticas para catalogar e identificar as relações entre esses blocos. Esse processo se chama “tokenização”, já detalhado acima..
Porém, o trabalho de tokenizar uma linguagem exigia muita intervenção manual por parte do pesquisador de PNL. Cada idioma tinha que ser tokenizado de forma independente e essencialmente manual.
Esse trabalho de tokenizar o idioma foi particularmente difícil para os robôs que lidam com linguagens altamente contextuais, como você pode imaginar.
Uma vez que o idioma foi tokenizado, os algoritmos de IA podem ser aplicados para entender o idioma, ou seja, construir um mapa de significado de como as palavras no idioma se relacionam.
Esta etapa de entendimento do idioma poderia ser automatizada se a tokenização fosse confiável. O problema, porém, era que a tokenização era complicada e, portanto, mesmo os algoritmos de entendimento precisavam ser configurados manualmente junto com a tokenização.
E o resultado final não foi bom. Por exemplo, o nível de compreensão do Português em comparação com o Inglês era mediano. É claro que sempre houve muito mais foco na pesquisa em Inglês do que em Português, mas a dificuldade de lidar com os cenários de contextualização do Português tornou difícil se alcançar um bom resultado.
Como os pesquisadores de IA naturalmente fazem, eles se perguntavam se a própria tokenização poderia ser feita pelo aprendizado de máquina. Isso permitiria que os algoritmos de tokenização e compreensão se tornassem indiferentes ao idioma subjacente (chamado de agnóstico em relação ao idioma) e, portanto, tornaria o treinamento da IA um idioma muito mais rápido e melhor.
E foi nesse ponto que a inovação foi realizada no final de 2018: a IA poderia ser treinada em Português sem nenhuma intervenção manual e, como resultado, o desempenho do PNL se tornou muito melhor.
As plataformas de IA para chatbot em português puderam se tornar instantaneamente muito melhores e o entendimento resultante em Português foi semelhante ao nível alcançado com outros idiomas.
O fato de esse avanço ter ocorrido não significa que a qualidade geral dos chatbots em português melhorou instantaneamente. Para que esses benefícios fossem sentidos pelos clientes, o primeiro passo para as plataformas de chatbot que usam IA foi atualizarem seus algoritmos para usarem as tecnologias mais recentes.
Dado o investimento na tecnologia anterior, isso não é algo que estas plataformas fizeram rapidamente.
Além disso, existem alguns recursos que precisam ser implementados pelas plataformas 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 os significados e, assim, evitar que o chatbot entenda uma palavra com um significado diferente do contexto em que está sendo usada.
Trabalhar com vários idiomas nas diferentes plataformas de mercado pode ser difícil. Algumas plataformas exigem que chatbots com idiomas diferentes sejam construídos como bots separados, que são obviamente ineficientes do ponto de vista da escalabilidade e manutenção.
Logo, uma boa plataforma será verdadeiramente multilíngue e, portanto, permitirá várias traduções do mesmo conteúdo na interface com o usuário.
Além disso, o idioma precisa ser definido como uma variável da conversa, para que a IA possa detectar o idioma a partir dela com precisão e os designers de conversação possam projetar a lógica ao redor desse idioma.
Além da funcionalidade específica do idioma, para criar um ótimo chatbot em qualquer linguagem, a funcionalidade geral da plataforma de chatbot precisa ser excelente. Existem duas categorias de funcionalidade que são importantes.
Por fim, a qualidade da experiência de chatbot criada para o usuário final está diretamente relacionada ao poder da ferramenta usada para criá-la, desde o entendimento do idioma até a abordagem para a interface gráfica/textual.
Mesmo com uma boa plataforma, ainda existem desafios na criação de um chatbot em Português. Há um número limitado de estudos em Português no mundo da IA e, portanto, conseguir os recursos certos para se trabalhar num projeto pode ser bastante trabalhoso.
Embora não seja necessário encontrar recursos para escrever os algoritmos subjacentes do PLN, pois estes são fornecidos imediatamente, pode ser um desafio encontrar designers competentes que entendam as diferenças idiomáticas entre os diversos grupos que o chatbot em Português deverá atender. Isso é particularmente verdadeiro no caso da Língua Portuguesa, dado o uso extensivo de expressões idiomáticas baseadas em contexto.
Portanto, é importante que a plataforma de chatbot permita que o conteúdo e as traduções sejam facilmente atualizados e mantidos por não técnicos, pois é provável que os designers e os 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 ficando mais precisos significa que a adoção dessa tecnologia aumentará nos próximos anos. Essa adoção crescente resolverá os problemas de restrição de recursos e permitirá que os possíveis compradores da tecnologia tenham uma ideia clara de qual é a melhor prática para se alcançar os melhores resultados.
As inovações na tecnologia de PLN se aplicam não apenas aos chatbots em Português, mas também a outros aplicativos de IA. Agora estamos vendo sistemas multifacetados que usam a IA em Língua Portuguesa de maneiras diferentes, desde a análise de sentimentos em notícias e comentários, até o resumo ou a 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 apenas para diferentes tecnologias de IA, mas também para ajudar os usuários finais a usar outros sistemas, como sites ou aplicativos da web, ou ainda servindo como conselheiro de compras e/ou tomadas de decisão.
É claro que, embora tenha havido um salto significativo no poder do PLN em Português, os resultados sempre podem ser melhores. As pesquisas continuam a melhorar os motores de PLN e sem dúvida novos avanços virão. Até o PLN atingir os níveis humanos, sempre haverá trabalho a ser feito.
O próximo passo para todos os mecanismos PLN, independentemente do idioma, é fazer um trabalho melhor nas caixas de diálogo com várias voltas. Isso significa permitir que um ser humano tenha uma conversa em várias etapas com o bot em um domínio de tópico restrito, em vez de apenas emitir comandos ou perguntas. E o próximo passo relacionado às plataformas de chatbot é facilitar a criação de diálogos com várias voltas.
O diálogo com várias voltas é particularmente importante para interfaces de voz como a Alexa ou devices como Google Home.
Embora tenhamos discutido avanços na tokenização orientada ao aprendizado de máquina e nas implicações para o PNL em Português, um tópico relacionado é a transcrição da fala para texto em Português. A transcrição de fala em texto para o Português ainda está em evolução em relação a outros idiomas - apesar das diferenças de desempenho estarem diminuindo rapidamente. Esperamos que o progresso do PLN descrito aqui e que está sendo feito ao redor do mundo ajude a reduzir ainda mais essa lacuna no futuro próximo.
Craft amazing conversational experiences.