Jogo Contexto
Aplicação com processamento de linguagem a partir do modelo Sentence-BERT.
Escrito por Adriano Moala.
Para iniciar o jogo, o sistema elege uma palavra e o jogador começa escrevendo um palpite. O jogo diz se ele está próximo ou longe a partir de uma medida em pontos. Quanto menos pontos, menor é a distância. E, a partir do contexto daquela palavra e a distância fornecida pelo sistema, o jogador vai refinando seus palpites. Essa mecânica me lembrou um artigo que já publicamos aqui sobre processamento de linguagem que pode ser lido no link a seguir:
No artigo, criei um gráfico para mostrar como o treinamento de um algoritmo de processamento de linguagem natural trabalha as palavras e como elas se relacionam. Agora, vamos utilizar dois novos modelos para medir a similaridade entre a palavra “porto” e outras apresentadas no gráfico para simular o jogo.
E como essa medida é feita? Para o jogo #1 foi utilizado o modelo Sentence-BERT que codifica cada palavra em um vetor de 384 posições. No jogo #2 foi utilizada uma variação do mesmo modelo que codifica cada palavra em 768 posições. Se aplicarmos um modelo em duas palavras, teremos dois vetores e aí conseguiremos calcular a distância entre eles. Como é usual utilizar a distância angular com o cosseno, então palavras em contexto similar ficam próximas de 1, enquanto as mais distantes ficam próximas de -1.
Entre os modelos (ou jogos), houve preservação da ordem nas primeiras palavras, com exceção para cachorro e gato que foram invertidas. Esse campo de pesquisa publica novos modelos com muita frequência a fim de gerar maior compreensão das palavras em um contexto e tem muitas aplicações nas empresas para jogar luz no que milhões de clientes querem comunicar.
E aí, já conseguiu visualizar como isso se relaciona com o jogo Contexto?
Referência:
[1] Reimers, Nils and Gurevych, Iryna. 2019. Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks. http://arxiv.org/abs/1908.10084