Acessibilidade Parte 4: análise de sentimentos em LIBRAS

Original article was published by Lucasomena on Deep Learning on Medium


Acessibilidade Parte 4: análise de sentimentos em LIBRAS

Este artigo é um preview do quarto de uma série de 4 artigos originados de um hackaton pessoal com o tema de acessibilidade (o projeto se encontra em desenvolvimento esse semestre em meu estágio de docência, e sofrerá constantes atualizações). Ele trada da combinação das técnicas que citamos nos últimos artigos com o objetivo de realizar a análise de sentimentos similar a parte 1, agora adaptado para a linguagem LIBRAS.

Serão mostrados caminhos para abordar o problema. Passaremos pelo passo a passo, e mais detalhes podem ser encontrados no repositório GitHub, e para garantir uma maior acessibilidade inclusive de hardware, todo o código pode ser executado através do Google Collab, através dos respectivos links:

https://github.com/LucaswasTaken/Acessibilidade_Parte_4_Analise_de_Sentimentos_LIBRAS

https://colab.research.google.com/drive/1Hsfo-iZAitGYD6dH4cW3L7J4nM0kBdVl?usp=sharing

As implementações e códigos se encontram nos links, e o artigo tentará tratar tudo de maneira simplificada, sem entrar em detalhes de códigos (pois o caderno Jupyter contém toda a abordagem bem dividida).

Primeiramente, como na parte 1, partimos para a montagem do Corpus de treinamento.

Montagem do Corpus de treino

Similar a o que foi feita na Parte 1 para análise de sentimentos em português, agora precisamos de um conjunto de frases em Libras catalogadas entre 0) Tristeza, 1)Raiva, 2) Alegria.

A tarefa aqui é ainda mais difícil porque dessa vez teríamos que procurar um conjunto de vídeos ou imagens do conjunto de gestos em Libras que corresponderia as frases etiquetadas. Por sorte temos o HUGO!!! Como vimos na Parte 3, nosso algoritmo é capaz de, com alguns pequenos deslizes, detectar e extrair as posições das duas mãos do Hugo. Portanto, podemos reproduzir alguns de nossos textos da Parte 1 através do aplicativo gratuito da Hand Talk (disponível gratuitamente de forma gratuita pra Android e IOS).

O processamento e a obtenção dos textos, dessa forma, são bastante simples, porém bem mais custosa que em português. Reduzimos o tamanho do corpus para 100 textos (aproximadamente 33 para cada sentimento, aproximadamente o que existia no corpus original antes do aumento de texto na Parte 1). Os vídeos com as gravações de todos os textos se encontram no Github e o método para extração das poses e separação das frases se encontra no Colab (um corpus publico ondem podem ser aplicados outras estratégias além da apresentada aqui).

Treinamento da rede classificatória

Utilizando os vetores extraídos do novo corpus e as etiquetas de sentimento, treina-se uma rede classificatória baseada na arquitetura LSTM (a mesma que obteve bons resultados na Parte 1). As configurações dos hiper parâmetros podem ser vistos a seguir:

Essa rede apresenta mais neurônios e uma camada densa extra quando comparada a de mesma arquitetura da Parte 1. Os resultados de acurácia alcançada para o conjunto de treino foram de 73,7%. Como o que importa é a acurácia no conjunto de testes, assim como na Parte 1 as métricas e matriz de confusão para os dados de teste são mostrados a seguir:

Vemos que os resultados são mais próximos aos obtidos pela rede SVM na Parte 1 sem o tratamento de Texto Aumentado, e a acurácia de 50,5% não é tão alta. Isso tem algumas justificativas:

– O detector de mãos não identifica tão bem um personagem como o Hugo, como identificaria uma mão de verdade;

– O conjunto de dados de treino se constitui de cerca de quase 100 expressões, inferior inclusive ao conjunto original da Parte 1 (o que já justificaria uma acurácia inferior).

Diante desses fatos, o resultado é bem promissor visto que, de maneira randômica, a acurácia seria 33.333%, mostrando que a função de treinamento aprendeu a identificar alguns padrões nos sinais (que também é ilustrado pela acurácia de 73,7% de treino).

Conclusão

Este trabalho ainda está em desenvolvimento, e será atualizado no decorrer dos próximos meses durante meu estágio de docência. Vale ressaltar que os resultados iniciais (acurácia de 73,7% para treino e 50,5% para validação/testes) mostram que a estratégia, apesar de promissora, ainda precisa de desenvolvimento. O corpus de expressões em Libras geradas pelo Hugo da Hand Talk pode ser baixada no link do Github citado e o caderno do Colab mostra como tratar para separar as sentenças.