🚀 Um projeto pessoal que une paixĂŁo e IA: ensinando idiomas fictĂcios a uma rede neural
Sou apaixonado por linguĂstica e IA, sempre fui de criar lĂnguas fictĂcias e há cerca de um ano tive a ideia de unir essas duas paixões ao desenvolver um tradutor para uma das minhas conlangs. O projeto começou simples, desenvolvi uma rede neural LSTM básica para autocompletar tokens com base em um treinamento baseado em uma extração do livro do Frankenstein, funcionou mais como um laboratĂłrio inicial para o projeto do que qualquer outra coisa, na verdade.
Poucos meses depois passei a trabalhar na próxima iteração do projeto: o PAST-2 (PT-AN Seq2Seq Transformer), uma rede neural profunda baseada na arquitetura Seq2Seq Transformer, segue a estrutura padrão de encoder-decoder, com foco em aprendizado de pares na estrutura conlang|português
. Serviu bem o propĂłsito, mas tinha um grande problema: a falta de dados. A estrutura do PAST-2 Ă© inspirada nas redes neurais profundas voltadas para tradução de máquina tradicional, onde vocĂŞ tem MILHĂ•ES de exemplos e eventualmente, sua rede neural vai generalizar com base nessa base de dados massiva, mas Ă© claro que nenhuma conlang possui tantos dados assim, já que sĂŁo idiomas construĂdos e nĂŁo orgânicos como lĂnguas reais.
Com isso em mente, decidi estudar a fundo técnicas avançadas de NLP e arquitetura de RNNs e DNNs e com base nos artigos que vou deixar como referência no final do post, desenvolvi uma rede neural profunda com arquitetura baseada em MAML e Few-Shot Learning, que apelidei de CoAL-1 (Conlang Automatic Learner), onde com poucos registros no dataset, ela é capaz de generalizar o suficiente para gerar traduções coerentes. Ainda tenho que fazer várias alterações e melhorias, mas está funcionando!
Caso tenham interesse, deixei meu post original do LinkedIn onde anexei imagens de prints do retorno da IA diretamente do notebook em que foi executado.
Se tudo der certo, pretendo escrever um artigo técnico relatando tudo que foi usado e como consegui atingir esses resultados e claro, manter o projeto open-source!
Muito obrigado por ler até aqui! Abaixo segue os artigos que estudei nos últimos meses:
Tensor2Tensor for Neural Machine Translation Extending the Vocabulary of Fictional Languages using Neural Networks Meta-Learning with Task-Adaptive Loss Function for Few-Shot Learning Learning to Few-Shot Learn Across Diverse Natural Language Classification Tasks Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks A Neural-Symbolic Approach to Natural Language Understanding